.auth-gate-shell{position:relative;height:100vh;overflow:hidden}.auth-gate-shell__content{height:100%}.auth-gate-shell__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#f7f8fab8;backdrop-filter:blur(6px);z-index:100}.auth-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,"Apple Color Emoji","Segoe UI Emoji",sans-serif;background-color:#f5f3f8;color:#333;text-align:center;padding:1.5rem}.auth-gate--loading p{font-size:1rem;color:#666}.auth-gate--error p{font-size:1rem;color:#c00}.auth-gate__title{font-size:1.75rem;font-weight:700;color:#333;margin:0}.auth-gate__desc{font-size:.95rem;color:#666;margin:0}.auth-gate__btn{padding:.6rem 1.5rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.auth-gate__btn:hover{opacity:.9;transform:translateY(-1px)}.auth-gate-shell__overlay .auth-gate{height:auto;min-height:0;width:min(100%,420px);padding:2rem;border:1px solid rgba(255,255,255,.75);border-radius:1rem;background:#ffffffeb;box-shadow:0 16px 40px #2d37481f}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.confirm-dialog-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;width:90%;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog-body{padding:32px 24px}.confirm-dialog-message{margin:0;font-size:16px;color:#333;line-height:1.6;text-align:center;word-break:break-word;white-space:pre-wrap}.confirm-dialog-actions{padding:0 24px 24px;display:flex;flex-direction:column-reverse;gap:12px}.confirm-dialog-button{padding:11px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;width:100%}.confirm-dialog-button:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-button-cancel{background:#f5f5f5;color:#666}.confirm-dialog-button-cancel:hover{background:#e0e0e0}.confirm-dialog-button-primary{background:linear-gradient(135deg,#8b7bb8,#6b5b98);color:#fff}.confirm-dialog-button-primary:hover{background:linear-gradient(135deg,#7a6aa7,#5a4a87)}.confirm-dialog-button-danger{background:#dc3545;color:#fff}.confirm-dialog-button-danger:hover{background:#c82333}.confirm-dialog-button-delete-older{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;font-weight:600}.confirm-dialog-button-delete-older:hover{background:linear-gradient(135deg,#ff5252,#e53935);transform:translateY(-1px);box-shadow:0 4px 12px #ee5a524d}.bcm-folder-management{flex:1;min-height:0;overflow:auto;padding:56px 72px;background:var(--surface-card)}.bcm-folder-management-header-row{display:flex;align-items:center;justify-content:flex-start}.bcm-folder-management-title{margin:0;font-family:var(--font-ui);font-size:28px;line-height:1.25;letter-spacing:-.01em;font-weight:600;color:var(--text-primary)}.bcm-folder-management-table{margin-top:24px;border-top:1px solid var(--border-subtle)}.bcm-folder-management-table-head{height:42px;display:grid;grid-template-columns:1fr 180px;align-items:center;color:var(--text-tertiary);font:var(--type-caption);font-weight:600;border-bottom:1px solid var(--border-subtle)}.bcm-folder-management-empty{padding:24px 0;color:var(--text-tertiary);font:var(--type-body-lg)}.bcm-folder-management-chat-row{width:100%;display:grid;grid-template-columns:1fr 140px;align-items:center;min-height:52px;border:none;background:transparent;color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-subtle);border-radius:0;padding:0 8px 0 0;cursor:pointer}.bcm-folder-management-chat-row:hover{background:var(--gray-25);color:var(--text-primary)}.bcm-folder-management-chat-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--type-label)}.bcm-folder-management-chat-date{justify-self:start;color:var(--text-tertiary);font:var(--type-caption)}.pptx-modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.pptx-modal{width:min(820px,100%);background:#1a1a2e;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column}.pptx-modal-topbar{padding:12px 16px;background:#16213e;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.pptx-modal-icon{font-size:18px}.pptx-modal-title{flex:1;color:#e0e7ff;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pptx-modal-close{width:28px;height:28px;background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.pptx-modal-close:hover{background:#fff3}.pptx-modal-viewer{padding:20px 20px 12px;display:flex;justify-content:center;overflow:hidden}.pptx-canvas{width:640px;height:360px;border-radius:8px;box-shadow:0 4px 20px #0006;overflow:hidden;flex-shrink:0}.pptx-canvas--title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 60px;gap:8px}.pptx-canvas-eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase}.pptx-canvas-title{font-size:36px;font-weight:800;line-height:1.2}.pptx-canvas-accent{width:48px;height:4px;border-radius:2px;margin:4px 0}.pptx-canvas-subtitle{font-size:16px;opacity:.8}.pptx-canvas--content{padding:28px 36px;display:flex;flex-direction:column}.pptx-canvas-slide-title{font-size:24px;font-weight:700;line-height:1.3}.pptx-canvas-line{height:3px;border-radius:2px;margin:8px 0 14px;width:100%}.pptx-canvas-bullets{display:flex;flex-direction:column;gap:8px;flex:1;overflow:hidden}.pptx-canvas-bullet{font-size:15px;display:flex;gap:8px;align-items:flex-start;line-height:1.5}.pptx-elements-wrap{margin-top:12px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.pptx-element-card{border:1px solid rgba(99,102,241,.35);border-radius:8px;padding:8px;background:#6366f10f}.pptx-element-label{font-size:11px;font-weight:700;margin-bottom:6px}.pptx-table-wrap{overflow:auto;max-height:130px;border-radius:6px}.pptx-table-preview{width:100%;border-collapse:collapse;font-size:11px;background:#ffffffe6}.pptx-table-preview th,.pptx-table-preview td{border:1px solid #cbd5e1;padding:4px 6px;text-align:left;line-height:1.3}.pptx-table-preview th{background:#e2e8f0;font-weight:700}.pptx-flow-wrap{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:2px}.pptx-flow-node-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.pptx-flow-node{border:1.5px solid;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:600;min-width:86px;text-align:center}.pptx-flow-arrow-wrap{display:flex;align-items:center;gap:4px}.pptx-flow-arrow{font-size:14px;font-weight:700}.pptx-flow-edge-label{font-size:10px;white-space:nowrap}.pptx-bullet-dot{flex-shrink:0;font-size:18px;line-height:1.2}.pptx-canvas-two-col{display:flex;gap:0;flex:1;overflow:hidden}.pptx-canvas-col{flex:1;display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:0 8px}.pptx-canvas-col-divider{width:1px;opacity:.4;margin:4px 0;flex-shrink:0}.pptx-modal-nav{padding:0 20px 8px;display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0}.pptx-nav-btn{width:36px;height:36px;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1}.pptx-nav-btn:hover:not(:disabled){background:#fff3}.pptx-nav-btn:disabled{opacity:.25;cursor:default}.pptx-slide-counter{color:#9ca3af;font-size:13px;min-width:50px;text-align:center}.pptx-modal-thumbstrip{padding:0 20px 12px;display:flex;gap:6px;overflow-x:auto;justify-content:center;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;flex-shrink:0}.pptx-modal-thumb{width:72px;height:42px;border-radius:4px;background:#ffffff14;border:2px solid transparent;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#ffffff80;padding:4px;transition:all .15s;text-align:center;line-height:1.3;overflow:hidden}.pptx-modal-thumb:hover{border-color:#6366f180;background:#ffffff1f}.pptx-modal-thumb--active{border-color:#6366f1;background:#6366f126;color:#c7d2fe}.pptx-modal-thumb-label{word-break:break-all;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pptx-modal-footer{padding:10px 16px 12px;background:#16213e;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.pptx-modal-error{padding:6px 10px;border-radius:6px;background:#f8717126;color:#fca5a5;font-size:12px;line-height:1.4}.pptx-modal-dl-btn{padding:8px 18px;background:#6366f1;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s}.pptx-modal-dl-btn:hover{background:#4f46e5}@media(max-width:700px){.pptx-canvas{width:100%;height:auto;aspect-ratio:16 / 9}.pptx-canvas--title{padding:20px 24px}.pptx-canvas-title{font-size:22px}.pptx-canvas--content{padding:16px 20px}.pptx-canvas-slide-title{font-size:16px}.pptx-canvas-bullet{font-size:12px}}.pptx-card{width:340px;border:1.5px solid #e0e7ff;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 8px #6366f114;margin-top:4px}.pptx-card-header{background:linear-gradient(135deg,#6366f1,#818cf8);padding:12px 14px;display:flex;align-items:center;gap:10px}.pptx-card-icon{font-size:22px;flex-shrink:0}.pptx-card-header-text{flex:1;min-width:0}.pptx-card-filename{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pptx-card-meta{font-size:11px;color:#ffffffbf;margin-top:2px}.pptx-card-thumbs{padding:10px;display:flex;gap:6px;background:#f8f8ff;border-bottom:1px solid #e0e7ff;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c7d2fe #f8f8ff}.pptx-thumb{position:relative;width:76px;height:43px;flex-shrink:0;border:1.5px solid #c7d2fe;border-radius:5px;overflow:hidden;cursor:pointer;background:#fff;padding:0;transition:border-color .15s,box-shadow .15s}.pptx-thumb:hover{border-color:#6366f1;box-shadow:0 0 0 2px #c7d2fe}.pptx-thumb:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.pptx-thumb-num{position:absolute;bottom:2px;right:4px;font-size:8px;color:#9ca3af;pointer-events:none}.pptx-mini{position:relative;width:100%;height:100%;background:#fff;padding:4px 5px;display:flex;flex-direction:column;gap:1px}.pptx-mini--dark{background:#1e1b4b}.pptx-mini--title{align-items:center;justify-content:center;text-align:center;padding:4px}.pptx-mini-accent{width:20px;height:2px;background:#6366f1;border-radius:1px;flex-shrink:0;margin-bottom:1px}.pptx-mini--dark .pptx-mini-accent{background:#818cf8}.pptx-mini-title{font-size:7px;font-weight:700;color:#1e1b4b;line-height:1.2;overflow:hidden;max-height:18px}.pptx-mini--dark .pptx-mini-title{color:#fff}.pptx-mini-subtitle{font-size:6px;color:#818cf8;margin-top:1px}.pptx-mini-bullets{display:flex;flex-direction:column;gap:1px}.pptx-mini-bullet{font-size:6px;color:#374151;line-height:1.3;white-space:nowrap;overflow:hidden}.pptx-mini--dark .pptx-mini-bullet{color:#c7d2fe}.pptx-mini-index{position:absolute;bottom:2px;right:3px;font-size:6px;color:#9ca3af}.pptx-card-footer{padding:8px 10px;display:flex;gap:6px}.pptx-card-error{margin:0 10px 8px;padding:6px 8px;border-radius:6px;background:#fef2f2;color:#b91c1c;font-size:11px;line-height:1.4}.pptx-btn{flex:1;padding:6px 0;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:background .15s,opacity .15s}.pptx-btn--outline{border:1.5px solid #6366f1;background:#fff;color:#6366f1}.pptx-btn--outline:hover{background:#eef2ff}.pptx-btn--primary{border:none;background:#6366f1;color:#fff}.pptx-btn--primary:hover{background:#4f46e5}.bcm-root{--gray-0: #FFFFFF;--gray-25: #FBFCFD;--gray-50: #F7F8FA;--gray-100: #EFF1F5;--gray-200: #DADEE6;--gray-300: #C3C9D4;--gray-400: #9BA3B2;--gray-500: #6C7484;--gray-600: #4E5564;--brand-gradient: linear-gradient(120deg, #5B4DE3 0%, #8A4FEC 100%);--brand-gradient-hover: linear-gradient(120deg, #4C3ECF 0%, #7D45E5 100%);--brand-gradient-strong: linear-gradient(120deg, #5342D7 0%, #8247E6 100%);--brand-gradient-strong-hover: linear-gradient(120deg, #4635C4 0%, #743DD8 100%);--bg-app: #F7F8FA;--bg-subtle: #F1F2F6;--surface-card: #FFFFFF;--surface-raised: #FFFFFF;--surface-sunken: #EFF1F5;--text-primary: #1B2027;--text-secondary: #4E5564;--text-tertiary: #6C7484;--text-disabled: #9BA3B2;--border-subtle: #EFF1F5;--border-default: #E2E6ED;--border-strong: #C3C9D4;--border-accent: #ADA1F7;--accent: #5B4DE3;--accent-hover: #4C3ECF;--accent-soft: #8B7BB8;--accent-soft-hover: #6B5B98;--accent-subtle: #F1F0FE;--success: #1D9D5B;--focus-ring-shadow: 0 0 0 3px rgba(91, 77, 227, .3);--font-display: "Schibsted Grotesk", "Hanken Grotesk", system-ui, sans-serif;--font-ui: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-display: 800;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-wide: .02em;--type-title: 600 15px/1.3 var(--font-ui);--type-body-lg: 400 15px/1.65 var(--font-ui);--type-label: 500 13px/1.3 var(--font-ui);--type-caption: 400 12px/1.3 var(--font-ui);--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-16: 64px;--sidebar-width: 268px;--composer-max-width: 760px;--header-height: 56px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-2xl: 24px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(20, 26, 31, .05);--shadow-sm: 0 1px 2px rgba(20, 26, 31, .06), 0 1px 3px rgba(20, 26, 31, .05);--shadow-md: 0 2px 4px rgba(20, 26, 31, .05), 0 4px 12px rgba(20, 26, 31, .07);--shadow-xl: 0 8px 16px rgba(20, 26, 31, .06), 0 24px 56px rgba(20, 26, 31, .14);--shadow-accent: 0 4px 16px rgba(58, 102, 240, .28);--ease-standard: cubic-bezier(.2, 0, 0, 1);--duration-fast: .12s;--duration-base: .18s;height:100vh;overflow:hidden;font-family:var(--font-ui);color:var(--text-primary);background:var(--surface-card);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.bcm-root *{box-sizing:border-box}.bcm-root .app{display:flex;height:100%;overflow:hidden}.bcm-root .sidebar{width:var(--sidebar-width);flex:none;background:var(--gray-25);border-right:1px solid var(--border-default);display:flex;flex-direction:column;min-height:0}.bcm-root .app.app--sidebar-collapsed .sidebar{width:52px;flex:0 0 52px;overflow:hidden}.bcm-root .app.app--sidebar-collapsed .sidebar .logo,.bcm-root .app.app--sidebar-collapsed .sidebar .brand-name,.bcm-root .app.app--sidebar-collapsed .sidebar .sb-scroll{display:none}.bcm-root .app.app--sidebar-collapsed .sidebar .sb-head{justify-content:center;padding:0}.bcm-root .sb-head{height:var(--header-height);display:flex;align-items:center;gap:var(--space-2-5);padding:0 var(--space-3) 0 var(--space-4)}.bcm-root .logo{height:26px;width:auto;flex:none;display:block}.bcm-root .brand-name{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);letter-spacing:var(--tracking-snug);flex:1}.bcm-root .icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.bcm-root .icon-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.bcm-root .icon-btn svg{width:18px;height:18px}.bcm-root .sb-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-4)}.bcm-root .new-chat{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2-5) var(--space-3);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);font:var(--type-title);color:var(--text-primary);cursor:pointer;text-align:left;transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.bcm-root .new-chat:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.bcm-root .nc-mark{width:24px;height:24px;flex:none;border-radius:var(--radius-sm);background:var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-accent)}.bcm-root .nc-mark svg{width:14px;height:14px}.bcm-root .sb-section-label{font:var(--type-caption);font-weight:var(--weight-semibold);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);padding:var(--space-2) var(--space-2) var(--space-1-5);display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}.bcm-root .sb-time{font:var(--type-caption);font-weight:var(--weight-semibold);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);padding:var(--space-3) var(--space-2) var(--space-1)}.bcm-root .chat-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-2);border:none;background:transparent;border-radius:var(--radius-md);font:var(--type-label);color:var(--text-secondary);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard)}.bcm-root .chat-row--folder{justify-content:flex-start;gap:6px}.bcm-root .chat-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.bcm-root .chat-row-title-wrap{display:inline-flex;align-items:center;gap:var(--space-1-5);min-width:0;flex:1}.bcm-root .bcm-streaming-indicator{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none}.bcm-root .bcm-streaming-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--accent);animation:bcm-blink 1.4s infinite ease-in-out}.bcm-root .bcm-streaming-error-indicator{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--text-tertiary);font-size:11px;line-height:1;flex:none}@keyframes bcm-blink{0%,to{opacity:.35}50%{opacity:1}}.bcm-root .chat-row-folder-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-tertiary);flex:none}.bcm-root .chat-row-folder-icon svg{width:14px;height:14px}.bcm-root .chat-more-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;flex:none}.bcm-root .chat-more-btn:hover{background:var(--gray-100);color:var(--text-primary)}.bcm-root .chat-more-btn svg{width:14px;height:14px}.bcm-root .chat-row-edit-wrap{width:100%;display:flex;flex-direction:column;gap:6px}.bcm-root .chat-row-edit-input{width:100%;border:1px solid var(--border-default);border-radius:6px;padding:6px 8px;font:var(--type-label);color:var(--text-primary);background:var(--surface-card)}.bcm-root .chat-row-edit-input:focus{outline:none;border-color:var(--border-accent)}.bcm-root .chat-row-edit-actions{display:flex;justify-content:flex-end;gap:6px}.bcm-root .chat-row-edit-btn{border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card);color:var(--text-primary);font:var(--type-caption);padding:4px 8px;cursor:pointer}.bcm-root .chat-row-edit-btn--ghost{color:var(--text-secondary)}.bcm-root .bcm-chat-action-menu{position:fixed;z-index:40;min-width:168px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-card);box-shadow:var(--shadow-md);padding:6px}.bcm-root .bcm-chat-action-item{width:100%;text-align:left;border:none;background:transparent;border-radius:8px;padding:8px 10px;font:var(--type-label);color:var(--text-primary);cursor:pointer}.bcm-root .bcm-chat-action-item:hover{background:var(--bg-subtle)}.bcm-root .bcm-chat-action-item--danger{color:#c42b1c}.bcm-root .bcm-chat-action-divider{height:1px;margin:4px 0;background:var(--border-subtle)}.bcm-root .bcm-folder-dropdown{position:fixed;z-index:41;min-width:180px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-card);box-shadow:var(--shadow-md);padding:6px}.bcm-root .bcm-folder-dropdown-title{font:var(--type-caption);color:var(--text-tertiary);padding:6px 8px}.bcm-root .bcm-folder-dropdown-item{width:100%;text-align:left;border:none;background:transparent;border-radius:8px;padding:8px 10px;font:var(--type-label);color:var(--text-primary);cursor:pointer}.bcm-root .bcm-folder-dropdown-item:hover{background:var(--bg-subtle)}.bcm-root .bcm-folder-dropdown-empty{padding:8px;font:var(--type-caption);color:var(--text-tertiary)}.bcm-root .chat-row:hover{background:var(--bg-subtle);color:var(--text-primary)}.bcm-root .chat-row.active{background:var(--accent-subtle);color:var(--text-primary);font-weight:var(--weight-semibold)}.bcm-root .main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--surface-card)}.bcm-root .topbar{height:var(--header-height);flex:none;display:flex;align-items:center;padding:0 var(--space-5);border-bottom:1px solid var(--border-subtle)}.bcm-root .topbar .left{flex:1}.bcm-root .topbar .center{flex:none}.bcm-root .topbar .right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.bcm-root .segmented{display:inline-flex;padding:3px;background:var(--surface-sunken);border-radius:var(--radius-md);border:1px solid var(--border-default)}.bcm-root .seg{border:none;background:transparent;padding:var(--space-1-5) var(--space-4);border-radius:var(--radius-sm);font:var(--type-label);font-weight:var(--weight-semibold);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.bcm-root .seg.active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-xs)}.bcm-root .model-wrap{position:relative}.bcm-root .model-pill{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-2-5) var(--space-1-5) var(--space-3);border:1px solid var(--border-default);background:var(--surface-card);border-radius:var(--radius-md);font:var(--type-label);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer}.bcm-root .model-pill:hover{background:var(--bg-subtle)}.bcm-root .model-pill svg{width:15px;height:15px;color:var(--text-tertiary)}.bcm-root .model-menu{position:absolute;top:calc(100% + 8px);right:0;width:304px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-2);z-index:60}.bcm-root .mm-item{display:flex;align-items:flex-start;gap:var(--space-2-5);width:100%;padding:var(--space-2-5) var(--space-3);border:1px solid transparent;background:transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-standard)}.bcm-root .mm-item:hover{background:var(--bg-subtle)}.bcm-root .mm-item.selected{background:var(--bg-subtle);border-color:var(--border-strong)}.bcm-root .mm-check{width:18px;flex:none;color:var(--text-primary);padding-top:2px;visibility:hidden}.bcm-root .mm-item.selected .mm-check{visibility:visible}.bcm-root .mm-check svg{width:16px;height:16px}.bcm-root .mm-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bcm-root .mm-body .t{font:var(--type-title);color:var(--text-primary);white-space:nowrap}.bcm-root .mm-body .s{font:var(--type-label);color:var(--text-tertiary)}.bcm-root .mm-divider{height:1px;background:var(--border-subtle);margin:var(--space-2) var(--space-1)}.bcm-root .compose-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--accent-soft);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-accent);transition:background var(--duration-fast) var(--ease-standard)}.bcm-root .compose-btn:hover{background:var(--accent-soft-hover)}.bcm-root .compose-btn svg{width:17px;height:17px}.bcm-root .shield{color:var(--success)}.bcm-root .shield svg{width:19px;height:19px}.bcm-root .canvas{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:36px var(--space-6) var(--space-16)}.bcm-root .canvas:not(.canvas--empty){overflow-y:auto;justify-content:stretch;padding:var(--space-6) var(--space-6) var(--space-6)}.bcm-root .canvas.canvas--empty{justify-content:center;padding-top:var(--space-6);padding-bottom:var(--space-8)}.bcm-root .bcm-messages{width:100%;max-width:860px;margin:0 auto 30px;display:flex;flex-direction:column;gap:18px}.bcm-root .canvas:not(.canvas--empty) .bcm-messages{margin:0 auto var(--space-4);padding-bottom:120px}.bcm-root .bcm-message{width:100%;display:flex;font:var(--type-body-lg);word-break:break-word}.bcm-root .bcm-message--user{justify-content:flex-end}.bcm-root .bcm-message--ai{justify-content:flex-start;color:var(--text-primary)}.bcm-root .bcm-message-bubble{max-width:min(690px,82%);padding:16px 20px;border-radius:28px;background:#ececec;color:#23262d;font-size:15px;line-height:1.6;white-space:pre-wrap;box-shadow:inset 0 0 0 1px #00000005}.bcm-root .bcm-message-status-log{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);margin-bottom:6px;font-style:italic}.bcm-root .bcm-status-dot{display:inline-block;font-size:8px;animation:bcm-pulse 1.2s ease-in-out infinite}@keyframes bcm-pulse{0%,to{opacity:1}50%{opacity:.3}}.bcm-root .bcm-message-attachments{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-bottom:6px;max-width:min(690px,82%)}.bcm-root .bcm-attachment-image-wrap{border-radius:14px;overflow:hidden;cursor:pointer;max-width:280px}.bcm-root .bcm-attachment-image{display:block;max-width:100%;max-height:280px;object-fit:cover;border-radius:14px;transition:opacity .15s}.bcm-root .bcm-attachment-image:hover{opacity:.88}.bcm-root .bcm-attachment-link{max-width:280px}.bcm-root .bcm-attachment-download-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:background .15s;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bcm-root .bcm-attachment-download-btn:hover{background:var(--bg-subtle)}.bcm-root .bcm-attachment-error,.bcm-root .bcm-attachment-loading{font-size:13px;color:var(--text-tertiary);padding:4px 0}.bcm-root .bcm-message-copy-wrap{max-width:min(820px,100%)}.bcm-root .bcm-message-meta{display:inline-flex;align-items:center;margin-bottom:10px;padding:4px 8px;border-radius:999px;background:#f3f4f6;color:#6d7482;font-size:12px;font-weight:500;line-height:1}.bcm-root .bcm-message-copy{color:#2a2f36;font-size:16px;line-height:1.68;white-space:normal;letter-spacing:-.01em}.bcm-root .bcm-message-copy>:first-child{margin-top:0}.bcm-root .bcm-message-copy>:last-child{margin-bottom:0}.bcm-root .bcm-message-copy p{margin:0 0 10px}.bcm-root .bcm-message-copy ul,.bcm-root .bcm-message-copy ol{margin:0 0 10px;padding-left:1.5em}.bcm-root .bcm-message-copy li{margin:0 0 4px}.bcm-root .bcm-message-copy li:last-child{margin-bottom:0}.bcm-root .bcm-message-copy h1,.bcm-root .bcm-message-copy h2,.bcm-root .bcm-message-copy h3,.bcm-root .bcm-message-copy h4,.bcm-root .bcm-message-copy h5,.bcm-root .bcm-message-copy h6{margin:0 0 10px;line-height:1.45}.bcm-root .bcm-message-actions{display:flex;align-items:center;gap:4px;margin-top:8px}.bcm-root .bcm-message-actions--user{justify-content:flex-end}.bcm-root .bcm-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:var(--text-tertiary);font-size:var(--text-xs);font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.bcm-root .bcm-copy-btn:hover{background:var(--gray-100);color:var(--text-primary)}.bcm-root .bcm-edit-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:var(--text-tertiary);font-size:var(--text-xs);font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.bcm-root .bcm-edit-btn:hover{background:var(--gray-100);color:var(--text-primary)}.bcm-root .bcm-message-user-wrap{display:flex;flex-direction:column;align-items:flex-end;width:100%}.bcm-root .bcm-message-edit-wrap{width:min(690px,82%);display:flex;flex-direction:column;gap:8px}.bcm-root .bcm-message-edit-textarea{width:100%;min-height:96px;border:1px solid var(--border-default);border-radius:14px;padding:12px;font:var(--type-body-lg);line-height:1.6;resize:vertical;background:var(--surface-card);color:var(--text-primary)}.bcm-root .bcm-message-edit-textarea:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring-shadow)}.bcm-root .bcm-message-edit-actions{display:flex;justify-content:flex-end;gap:8px}.bcm-root .bcm-edit-action-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px 12px;background:var(--surface-card);color:var(--text-primary);cursor:pointer;font:var(--type-label)}.bcm-root .bcm-edit-action-btn:disabled{opacity:.6;cursor:not-allowed}.bcm-root .bcm-edit-action-btn--cancel:hover:not(:disabled){background:var(--gray-100)}.bcm-root .bcm-edit-action-btn--submit{border-color:var(--accent);background:var(--accent);color:#fff}.bcm-root .bcm-edit-action-btn--submit:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.bcm-root .bcm-copy-label{font-size:var(--text-xs)}.bcm-root .bcm-citation-link{color:var(--accent);text-decoration:none;font-weight:700;font-size:.8em;vertical-align:super;margin-left:2px}.bcm-root .bcm-citation-link:hover{text-decoration:underline}.bcm-root .bcm-citation-footer{margin-top:12px;font-size:.9em;border-top:1px solid var(--border-subtle);padding-top:8px}.bcm-root .bcm-citation-footer-label{font-weight:var(--weight-semibold);margin-bottom:4px;font-size:.9em;color:var(--text-tertiary)}.bcm-root .bcm-citation-footer-item{margin-bottom:4px}.bcm-root .bcm-citation-footer-link{display:flex;align-items:flex-start;text-decoration:none;color:var(--accent)}.bcm-root .bcm-citation-footer-link:hover{text-decoration:underline}.bcm-root .bcm-citation-footer-num{margin-right:4px;min-width:20px}.bcm-root .stage{width:100%;max-width:860px;display:flex;flex-direction:column;align-items:flex-start}.bcm-root .canvas:not(.canvas--empty) .stage{height:100%;min-height:100%}.bcm-root .greeting-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.bcm-root .greeting-logo{height:46px;width:auto;flex:none;display:block;.bcm-root .bcm-history-loading{width:100%;max-width:860px;margin:0 auto;padding:24px 0;color:var(--text-tertiary);font:var(--type-body-lg)}}.bcm-root .greeting{font-family:var(--font-display);font-weight:var(--weight-display);font-size:clamp(22px,2.6vw,32px);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0;white-space:nowrap}.bcm-root .greeting .accent{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.bcm-root .composer{width:100%;background:var(--surface-card);border:1px solid var(--border-default);border-radius:30px;box-shadow:0 12px 28px #141a1f14;padding:16px 18px 10px;transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.bcm-root .composer.composer--sticky{position:sticky;bottom:0;z-index:5}.bcm-root .canvas:not(.canvas--empty) .composer{margin-top:auto}.bcm-root .composer:focus-within{border-color:var(--border-accent);box-shadow:var(--shadow-md),var(--focus-ring-shadow)}.bcm-root .composer textarea{width:100%;border:none;outline:none;resize:none;background:transparent;font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-primary);min-height:28px;max-height:200px;padding:0;margin-bottom:var(--space-3)}.bcm-root .composer textarea::placeholder{color:var(--text-tertiary)}.bcm-root .composer-bar{display:flex;align-items:center;gap:var(--space-1)}.bcm-root .composer-bar .spacer{flex:1}.bcm-root .round-btn{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);background:var(--surface-card);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.bcm-root .round-btn:hover{background:var(--bg-subtle)}.bcm-root .round-btn svg{width:18px;height:18px}.bcm-root .ghost-btn{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);border-radius:50%;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.bcm-root .ghost-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.bcm-root .ghost-btn svg{width:18px;height:18px}.bcm-root .send-btn{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;background:var(--surface-sunken);color:var(--text-disabled);transition:all var(--duration-base) var(--ease-standard)}.bcm-root .send-btn.ready{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.bcm-root .send-btn.ready:hover{background:var(--accent-hover)}.bcm-root .send-btn svg{width:18px;height:18px}.bcm-root .chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5);width:100%;justify-content:flex-start}.bcm-root .chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);background:var(--surface-card);border-radius:var(--radius-full);font:var(--type-label);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);transition:all var(--duration-fast) var(--ease-standard)}.bcm-root .chip:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text-primary)}.bcm-root .chip svg{width:15px;height:15px;color:var(--text-tertiary)}.bcm-root .chip.more{padding:var(--space-2);width:36px;justify-content:center}.bcm-root .hint{margin-top:var(--space-5);text-align:center;font:var(--type-caption);color:var(--text-tertiary)}.bcm-root .bcm-stop-btn{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;background:var(--text-primary);color:var(--surface-card);transition:all var(--duration-base) var(--ease-standard)}.bcm-root .bcm-stop-btn:hover{opacity:.8}.bcm-root .bcm-files-preview{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-3)}.bcm-root .bcm-preview-wrapper{position:relative;display:inline-flex;align-items:flex-start}.bcm-root .bcm-preview-wrapper img:not(.bcm-document-chip-icon){width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-default)}.bcm-root .bcm-document-chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-full);cursor:pointer;max-width:200px;transition:background var(--duration-fast) var(--ease-standard)}.bcm-root .bcm-document-chip:hover{background:var(--surface-sunken)}.bcm-root .bcm-document-chip-icon{width:18px;height:18px;flex-shrink:0}.bcm-root .bcm-document-chip-name{font:var(--type-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.bcm-root .bcm-remove-file{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--text-secondary);color:var(--surface-card);border:none;cursor:pointer;font-size:12px;line-height:18px;text-align:center;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--duration-fast) var(--ease-standard)}.bcm-root .bcm-remove-file:hover{background:var(--text-primary)}.bcm-root .bcm-drag-overlay{position:fixed;inset:0;background:#0050c814;border:3px dashed var(--accent);z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:var(--radius-xl)}.bcm-root .bcm-drag-message{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--accent);font:var(--type-label);font-weight:var(--weight-medium)}.image-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.image-modal-content{position:relative;background:#fff;border-radius:12px;padding:16px;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.image-modal-content.file-preview-pdf{width:80vw;height:90vh}.close-modal-button{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:#555;z-index:1}.image-preview-full{max-width:100%;max-height:80vh;border-radius:8px}.file-preview-iframe{width:100%;height:100%;border:none}.file-preview-info{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px}.file-preview-info-name{font-size:14px;font-weight:600;color:#333;word-break:break-all;text-align:center}.file-preview-info-size{font-size:12px;color:#777}.bcm-root .bcm-thread-toast{position:fixed;right:var(--space-5);top:var(--space-5);max-width:min(420px,calc(100vw - 2 * var(--space-5)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-md);font:var(--type-label);z-index:1200}.bcm-root .bcm-thread-toast--success{border-color:#1d9d5b59}.bcm-root .bcm-thread-toast--error{border-color:#ef444459}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,"Apple Color Emoji","Segoe UI Emoji",sans-serif}*{box-sizing:border-box}.App{display:flex;flex-direction:column;height:100vh;background-color:#f5f3f8;color:#333}.chat-toolbar{background:#fff;border-bottom:1px solid #e0e0e0;padding:.75rem 1.5rem;display:flex;gap:.75rem;align-items:center;flex-shrink:0}.chat-title-display{flex:1;min-width:0;display:flex;align-items:center;padding:0 .75rem}.chat-title-text{font-size:18px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-chat-button-right{margin-left:auto}.new-chat-button,.delete-chat-button{padding:.5rem .75rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;height:36px}.new-chat-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.new-chat-button:hover{opacity:.9;transform:translateY(-1px)}.delete-chat-button{background:#fff;color:#ff4d4d;border:1px solid #ff4d4d;margin-left:auto;display:grid;padding-top:4px}.delete-chat-button:hover{background:#ff4d4d;color:#fff}.new-chat-button svg,.delete-chat-button svg{width:26px;height:26px}.new-chat-button-label{margin-left:.35rem}.rag-toggle-container{display:flex;align-items:center;margin-left:auto}.rag-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.rag-toggle-text{font-size:.875rem;font-weight:600;color:#666;user-select:none}.rag-toggle-switch{position:relative;width:44px;height:24px;background:#ccc;border:none;border-radius:12px;cursor:pointer;transition:background-color .3s ease;padding:0}.rag-toggle-switch.active{background:linear-gradient(135deg,#10b981,#059669)}.rag-toggle-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.rag-toggle-switch.active .rag-toggle-slider{transform:translate(20px)}.rag-toggle-switch:hover{opacity:.9}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;animation:slideIn .3s ease-out;scroll-margin-top:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.ai{justify-content:flex-start}.message-content{max-width:70%;padding:.75rem 1rem;border-radius:1rem;box-shadow:0 1px 2px #0000001a}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:.25rem}.message.ai .message-content{background:#fff;color:#333;border-bottom-left-radius:.25rem}.message-text{word-wrap:break-word;line-height:1.5;white-space:pre-wrap}.message-text-content{white-space:normal}.message-text p,.message-text-content p{margin:0 0 .3em}.message-text p:last-child,.message-text-content p:last-child{margin-bottom:0}.message-text ul,.message-text ol,.message-text-content ul,.message-text-content ol{margin:0 0 .3em;padding-left:1.2em}.message-text li,.message-text-content li{margin:0;padding:0}.message-text li>ul,.message-text li>ol,.message-text-content li>ul,.message-text-content li>ol{margin:0}.message-text h1,.message-text-content h1{font-size:1.2em;margin:.5em 0 .25em;line-height:1.3}.message-text h2,.message-text-content h2{font-size:1.1em;margin:.4em 0 .2em;line-height:1.3}.message-text h3,.message-text h4,.message-text h5,.message-text h6,.message-text-content h3,.message-text-content h4,.message-text-content h5,.message-text-content h6{font-size:1em;margin:.3em 0 .15em;line-height:1.3}.message-text pre,.message-text-content pre{margin:.5em 0;padding:.5em;background:#f5f5f5;border-radius:4px;overflow-x:auto}.message-text code,.message-text-content code{background:#f0f0f0;padding:.1em .3em;border-radius:3px;font-size:.9em}.message-text pre code,.message-text-content pre code{background:none;padding:0}.message-text blockquote,.message-text-content blockquote{margin:.5em 0;padding-left:1em;border-left:3px solid #ddd;color:#666}.message-footer{display:flex;align-items:baseline;justify-content:space-between;margin-top:.5rem;gap:4px}.message-footer-actions{display:flex;align-items:center;gap:6px}.message-time{font-size:.75rem;opacity:.7}.input-container{padding:1rem 1.5rem 1rem 1rem;background:#fff;border-top:1px solid #e0e0e0;display:flex;align-items:flex-end;gap:.75rem;flex-shrink:0;position:relative;transition:all .2s}.drag-overlay-global{position:fixed;inset:0;background-color:#667eead9;z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.drag-message-global{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff;font-size:1.5rem;font-weight:600;padding:2rem;border:3px dashed rgba(255,255,255,.5);border-radius:1rem;background:#ffffff1a}.drag-message-global svg{width:64px;height:64px}.message-input{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:1.5rem;font-size:1rem;font-family:inherit;outline:none;transition:border-color .2s,height .1s ease;resize:none;overflow-y:auto;min-height:2.5rem;max-height:150px;line-height:1.4}.message-input::-webkit-scrollbar{display:none}.message-input:focus{border-color:#8b7bb8}.send-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b7bb8,#6b5b98);color:#fff;border:none;border-radius:1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;white-space:nowrap}.send-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed}.stop-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#e05252,#c03030);color:#fff;border:none;border-radius:1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;white-space:nowrap;display:flex;align-items:center;justify-content:center}.stop-button:hover{opacity:.9;transform:translateY(-1px)}.stop-button:active{transform:translateY(0)}.attach-button{background:none;border:none;cursor:pointer;color:#666;padding:0;display:flex;align-items:center;flex-shrink:0;align-self:center}.attach-button:hover{color:#8b7bb8}.app-content{display:flex;flex:1;overflow:hidden;position:relative}.sidebar-desktop{display:none;background:linear-gradient(135deg,#8b7bb8,#6b5b98);overflow-y:auto}.sidebar-mobile-wrapper{position:absolute;inset:0;z-index:100}.sidebar-mobile-panel{position:absolute;top:0;left:0;width:80%;height:100%;background:linear-gradient(135deg,#8b7bb8,#6b5b98);overflow-x:hidden;overflow-y:auto;box-sizing:border-box;animation:slideInFromLeft .2s ease-out}.sidebar-mobile-close-area{position:absolute;top:0;right:0;width:20%;height:100%;z-index:10;background:#0000004d;cursor:pointer;border:none;padding:0;margin:0;outline:none;-webkit-appearance:none;appearance:none}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.history-toggle-icon{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f0f0f0;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;color:#666}.history-toggle-icon:hover{background:#e0e0e0}.history-toggle-icon svg{width:20px;height:20px}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}@media(min-width:768px){.sidebar-desktop{display:block;width:300px;flex-shrink:0}.sidebar-mobile-wrapper,.history-toggle-icon{display:none}}@media(max-width:768px){.history-toggle-icon{width:28px;height:28px;margin:4px 0}.history-toggle-icon:before{content:"";position:absolute;inset:-16px -6px -16px -12px}.history-toggle-icon svg{width:16px;height:16px}.chat-toolbar{padding:.25rem .5rem;gap:.4rem;overflow:visible}.new-chat-button{padding:.3rem .5rem;height:28px}.new-chat-button svg{width:16px;height:16px}.new-chat-button-label{font-size:.7rem;margin-left:.2rem}.chat-title-display{padding:0 .2rem;min-width:50px}.chat-title-text{font-size:13px}.rag-toggle-label{gap:.2rem}.rag-toggle-text{font-size:.65rem}.rag-toggle-switch{width:32px;height:18px}.rag-toggle-slider{width:14px;height:14px}.rag-toggle-switch.active .rag-toggle-slider{transform:translate(14px)}.messages-container{padding:.35rem}.message.ai .message-content{max-width:98%}.message-content{padding:.4rem .6rem}.message-text ul,.message-text ol{padding-left:1em}.input-container{padding:.35rem .5rem;gap:.4rem}.message-input{padding:.4rem .6rem;font-size:.9rem}.send-button{padding:.4rem .8rem;font-size:.85rem}}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:#aaa}.loading-dots{display:inline-block;min-width:1.5em}.loading-dots:after{content:".";animation:dots-animation 1.5s infinite}@keyframes dots-animation{0%,32%{content:"."}33%,65%{content:".."}66%,to{content:"..."}}.document-references-inline{display:inline}.message-image-container{margin-bottom:8px}.message-image{max-width:100%;max-height:150px;height:auto;border-radius:8px;border:1px solid #ddd;cursor:pointer;transition:opacity .2s;object-fit:contain}.message-image:hover{opacity:.9}.image-loading{padding:10px;background:#f0f0f0;border-radius:8px;font-size:.8em;color:#666}.image-error{padding:10px;background:#fee;border-radius:8px;font-size:.8em;color:#c00}.input-files-preview,.input-image-preview,.input-documents-preview{position:absolute;left:20px;z-index:10;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.preview-wrapper{position:relative;display:inline-block}.preview-wrapper>img{max-height:100px;border-radius:8px;border:2px solid #0078d4;background:#fff}.remove-image{position:absolute;top:-8px;right:-8px;background:red;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.document-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;min-height:100px;box-sizing:border-box;background:#e0e0e0;border:2px solid #0078d4;border-radius:8px;font-size:.8em;max-width:200px}.document-chip-icon{flex-shrink:0;width:32px;height:32px;object-fit:contain;border:none}.document-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment-link{margin:4px 0}.attachment-download-btn{background:none;border:none;color:#0078d4;cursor:pointer;font-size:.9em;padding:2px 0;text-align:left;text-decoration:underline}.attachment-download-btn:hover:not(:disabled){color:#106ebe}.attachment-download-btn:disabled{cursor:wait;opacity:.8}.message.user .attachment-download-btn{color:#fffffff2}.message.user .attachment-download-btn:hover:not(:disabled){color:#fff}.message-attachment-error{font-size:.85em;color:#c00;margin:4px 0}.message-copy-btn{background:none;border:none;border-radius:6px;padding:0;cursor:pointer;color:#aaa;display:flex;align-items:baseline;gap:3px;transition:color .15s;line-height:1;font-size:.75rem}.message-copy-label{font-size:inherit}.message.user .message-copy-btn{color:#ffffff80}.message-copy-btn:hover{color:#555}.message.user .message-copy-btn:hover{color:#ffffffe6}.message-edit-btn{background:none;border:none;border-radius:6px;padding:0;cursor:pointer;color:#aaa;display:inline-flex;align-items:center;gap:3px;transition:color .15s,opacity .15s;line-height:1;font-size:.75rem;opacity:.82}.message-edit-btn:hover,.message-edit-btn:focus-visible{opacity:1}.message.user .message-edit-btn{color:#fff9}.message-edit-btn:hover{color:#555}.message.user .message-edit-btn:hover,.message.user .message-edit-btn:focus-visible{color:#fffffff2}.message-edit-label{font-size:inherit}.message.editing .message-content{width:min(980px,calc(100% - 48px));max-width:min(980px,calc(100% - 48px))}.edit-message-form{display:flex;flex-direction:column;gap:8px;width:100%}.edit-message-form-textarea{width:100%;min-height:160px;resize:vertical;border-radius:10px;border:1px solid #c8ccd0;padding:10px 12px;font:inherit;line-height:1.5;color:#222;background:#fff}.message.ai .edit-message-form-textarea{border-color:#d0d7de;background:#fff;color:#333}.edit-message-form-textarea:focus{outline:2px solid rgba(255,255,255,.4);outline-offset:1px}.message.ai .edit-message-form-textarea:focus{outline-color:#0078d459}.edit-message-form-actions{display:flex;justify-content:flex-end;gap:8px}.edit-message-form-submit,.edit-message-form-cancel{border-radius:999px;border:none;padding:6px 12px;font-size:.8rem;cursor:pointer}.edit-message-form-submit{background:#fffffff2;color:#4a3fa2}.message.ai .edit-message-form-submit{background:#0078d4;color:#fff}.edit-message-form-cancel{background:#ffffff29;color:inherit;border:1px solid rgba(255,255,255,.25)}.message.ai .edit-message-form-cancel{background:#f3f2f1;border-color:#d1d1d1;color:#333}.edit-message-form-submit:disabled,.edit-message-form-cancel:disabled,.edit-message-form-textarea:disabled{opacity:.7;cursor:not-allowed}.edit-message-form-error{font-size:.8rem;color:#ffd7d7}.message.ai .edit-message-form-error{color:#d13438}.image-modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;justify-content:center;align-items:center}.image-preview-full{max-width:100%;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 12px #00000080}.close-modal-button{position:absolute;top:-40px;right:-40px;background:#fff3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-modal-button:hover{background:#fff6}.file-preview-pdf{width:80vw;height:85vh;max-width:80vw;max-height:85vh}.file-preview-iframe{width:100%;height:100%;border:none;border-radius:4px}.file-preview-info{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 48px;background:#fff;border-radius:12px;min-width:280px}.file-preview-info-icon{width:64px;height:64px}.file-preview-info-name{font-size:16px;font-weight:600;color:#333;word-break:break-all;text-align:center;margin:0}.file-preview-info-size{font-size:13px;color:#888;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-menu-wrapper{position:relative;margin-left:.75rem;flex-shrink:0}.settings-menu-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#374151;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.settings-menu-trigger:hover{background:#e5e7eb;color:#374151}.settings-menu-trigger[aria-expanded=true]{background:#e5e7eb;color:#111827}.settings-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:100;padding:.25rem 0;animation:fadeIn .1s ease}.settings-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;color:#374151;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.settings-menu-item:hover{background:#f3f4f6}.settings-menu-item svg{color:#6b7280;flex-shrink:0}.settings-menu-toggle-group{border-top:1px solid #e5e7eb;margin-top:2px}.settings-menu-toggle-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px}.settings-menu-toggle-item+.settings-menu-toggle-item{border-top:1px solid #f3f4f6}.settings-menu-toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151;white-space:nowrap}.settings-menu-toggle-label svg{color:#6b7280;flex-shrink:0}.memory-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.memory-modal{position:relative;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;width:520px;max-width:calc(100vw - 2rem);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.memory-modal-header{display:flex;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;gap:.75rem}.memory-modal-title{font-size:1rem;font-weight:700;color:#111;margin:0;flex:1}.memory-modal-header-right{display:flex;align-items:center;gap:.75rem}.memory-modal-count{font-size:.85rem;color:#6b7280;font-weight:500}.memory-modal-close{background:none;border:none;cursor:pointer;font-size:1rem;color:#6b7280;padding:.25rem;border-radius:4px;line-height:1;transition:background .15s,color .15s}.memory-modal-close:hover{background:#f3f4f6;color:#111}.memory-modal-body{flex:1;overflow-y:auto;padding:.75rem 1.25rem;min-height:120px}.memory-modal-loading,.memory-modal-error{text-align:center;padding:2rem;color:#6b7280;font-size:.9rem}.memory-modal-error{color:#ef4444}.memory-modal-empty{text-align:center;padding:2.5rem 1rem;color:#6b7280}.memory-modal-empty p{margin:.25rem 0}.memory-modal-empty-sub{font-size:.85rem;color:#9ca3af}.memory-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.memory-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;transition:background .15s}.memory-item:hover{background:#f3f4f6}.memory-item-content{flex:1;font-size:.875rem;color:#1f2937;word-break:break-word}.memory-item-date{font-size:.8rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}.memory-item-delete{background:none;border:none;cursor:pointer;font-size:1rem;color:#9ca3af;padding:.2rem;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.memory-item-delete:hover{color:#ef4444;background:#fee2e2}.memory-item-delete:disabled{opacity:.5;cursor:not-allowed}.memory-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.875rem 1.25rem;border-top:1px solid #e5e7eb}.memory-delete-all-button{padding:.45rem 1rem;font-size:.875rem;font-weight:500;color:#ef4444;background:transparent;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s;margin-right:auto}.memory-delete-all-button:hover{background:#fee2e2;border-color:#ef4444}.memory-delete-all-button:disabled{opacity:.5;cursor:not-allowed}.memory-modal-close-button{padding:.45rem 1.1rem;font-size:.875rem;font-weight:500;color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:background .2s}.memory-modal-close-button:hover{background:#e5e7eb}.memory-toast{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.6rem 1.2rem;border-radius:8px;font-size:.875rem;font-weight:500;animation:fadeIn .2s ease;white-space:nowrap;pointer-events:none}.memory-toast-success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.memory-toast-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.memory-tabs{display:flex;border-bottom:1px solid var(--border-color, #e5e7eb);padding:0 1rem;gap:0}.memory-tab{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.875rem;color:var(--text-secondary, #6b7280);margin-bottom:-1px;transition:color .15s,border-color .15s}.memory-tab:hover{color:var(--text-primary, #111827)}.memory-tab.active{color:var(--primary-color, #2563eb);border-bottom-color:var(--primary-color, #2563eb);font-weight:500}.memory-tab-count{font-size:.75rem;padding:.1rem .4rem;border-radius:999px;background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #6b7280)}.memory-tab.active .memory-tab-count{background:#dbeafe;color:#1d4ed8}.memory-tab.memory-tab-full .memory-tab-count{background:#fee2e2;color:#991b1b}.personal-settings-section{margin-bottom:1.25rem}.personal-settings-section-title{font-size:.875rem;font-weight:600;color:#111;margin:0 0 .25rem}.personal-settings-section-desc{font-size:.75rem;color:#6b7280;margin:0 0 .75rem}.personal-settings-style-list{display:flex;flex-direction:column;gap:.5rem}.personal-settings-style-item{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;border:1.5px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.personal-settings-style-item:hover{border-color:#93c5fd;background:#f0f7ff}.personal-settings-style-item.active{border-color:#3b82f6;background:#eff6ff}.personal-settings-style-radio{margin-top:.125rem;accent-color:#3b82f6}.personal-settings-style-content{display:flex;flex-direction:column;gap:.125rem}.personal-settings-style-label{font-size:.8125rem;font-weight:600;color:#111}.personal-settings-style-desc{font-size:.75rem;color:#6b7280}.personal-settings-custom-textarea{width:100%;min-height:4rem;padding:.5rem .625rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.8125rem;font-family:inherit;resize:vertical;outline:none;transition:border-color .15s;box-sizing:border-box}.personal-settings-custom-textarea:focus{border-color:#3b82f6}.personal-settings-custom-count{text-align:right;font-size:.6875rem;color:#9ca3af;margin-top:.25rem}
