:root{--color-sidebar-mist:#f9f9f9;--color-pure-white:#fff;--color-graphite-ink:#0d0d0d;--color-mid-ash:#5d5d5d;--color-hollow:#8f8f8f;--color-hairline:rgba(0,0,0,.1);--color-hover-veil:rgba(0,0,0,.05);--color-ink-press:#000;--color-deep-charcoal:rgba(0,0,0,.5);--color-edge-gray:#e6e6e6;--color-elevated-surface:#fff;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--text-caption:14px;--leading-caption:1.43;--text-body:16px;--leading-body:1.5;--text-heading:24px;--leading-heading:1.33;--spacing-6:6px;--spacing-8:8px;--spacing-10:10px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--radius-10:10px;--radius-pill:9999px;--sidebar-width:270px;--chat-max-width:768px}[data-theme=dark]{--color-sidebar-mist:#171717;--color-pure-white:#212121;--color-graphite-ink:#ececec;--color-mid-ash:#b4b4b4;--color-hollow:#757575;--color-hairline:hsla(0,0%,100%,.12);--color-hover-veil:hsla(0,0%,100%,.08);--color-ink-press:#fff;--color-deep-charcoal:rgba(0,0,0,.7);--color-edge-gray:#2d2d2d;--color-elevated-surface:#262626}*{box-sizing:border-box;padding:0;margin:0}body,html{height:100%;width:100%;font-family:var(--font-system);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-graphite-ink);background-color:var(--color-pure-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-hairline);border-radius:var(--radius-10)}::-webkit-scrollbar-thumb:hover{background:var(--color-hollow)}.app-shell{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background-color:var(--color-sidebar-mist);border-right:1px solid var(--color-hairline);display:flex;flex-direction:column;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s ease,border-color .2s ease}.sidebar-header{padding:12px 14px;justify-content:space-between}.sidebar-action-btn,.sidebar-header{display:flex;align-items:center;gap:8px}.sidebar-action-btn{padding:8px 12px;border-radius:var(--radius-10);background:transparent;border:1px solid var(--color-hairline);color:var(--color-graphite-ink);cursor:pointer;font-size:var(--text-caption);font-weight:500;transition:background .15s ease,border-color .15s ease;width:100%}.sidebar-action-btn:hover{background-color:var(--color-hover-veil);border-color:var(--color-hollow)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;background:transparent;border:none;border-radius:var(--radius-10);color:var(--color-graphite-ink);cursor:pointer;transition:background .15s ease}.icon-btn:hover{background-color:var(--color-hover-veil)}.sidebar-scroll-area{flex:1 1;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:16px}.sidebar-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-hollow);padding:6px 8px 4px}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-10);color:var(--color-graphite-ink);cursor:pointer;font-size:var(--text-caption);background:transparent;border:none;width:100%;text-align:left;transition:background .12s ease;position:relative}.nav-item.active,.nav-item:hover{background-color:var(--color-hover-veil)}.nav-item.active{font-weight:500}.nav-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1}.hairline-divider{height:1px;background-color:var(--color-hairline);margin:8px 0;width:100%}.sidebar-footer{padding:8px 10px;border-top:1px solid var(--color-hairline);display:flex;flex-direction:column;gap:8px;width:100%}.main-canvas{flex:1 1;display:flex;flex-direction:column;height:100%;background-color:var(--color-pure-white);position:relative;overflow:hidden}.canvas-header{height:52px;padding:0 20px;justify-content:space-between;border-bottom:1px solid var(--color-hairline)}.canvas-header,.canvas-title{display:flex;align-items:center}.canvas-title{font-size:15px;font-weight:600;color:var(--color-graphite-ink);gap:8px}.messages-container{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:24px 16px 120px}.messages-inner{width:100%;max-width:var(--chat-max-width);display:flex;flex-direction:column;gap:24px}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:16px;margin-top:80px}.welcome-heading{font-size:var(--text-heading);line-height:var(--leading-heading);font-weight:600;color:var(--color-graphite-ink)}.welcome-subtitle{font-size:var(--text-body);color:var(--color-mid-ash);max-width:480px}.welcome-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.suggestion-chip{padding:10px 14px;border-radius:var(--radius-10);border:1px solid var(--color-hairline);background-color:transparent;color:var(--color-mid-ash);font-size:var(--text-caption);cursor:pointer;transition:all .15s ease}.suggestion-chip:hover{background-color:var(--color-hover-veil);color:var(--color-graphite-ink);border-color:var(--color-hollow)}.message-row{display:flex;gap:16px;width:100%}.message-row.user{justify-content:flex-end}.message-bubble{max-width:85%;line-height:1.6}.message-row.user .message-bubble{background-color:var(--color-hover-veil);border:1px solid var(--color-hairline);padding:10px 16px;border-radius:var(--radius-10)}.message-row.assistant .message-bubble{width:100%;max-width:100%;color:var(--color-graphite-ink)}.message-meta{font-size:12px;font-weight:600;color:var(--color-hollow);margin-bottom:6px}.citation-tag{display:inline-flex;align-items:center;gap:4px;background-color:var(--color-sidebar-mist);border:1px solid var(--color-hairline);color:var(--color-graphite-ink);font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;cursor:pointer;margin:0 3px;vertical-align:baseline;transition:all .12s ease}.citation-tag:hover{background-color:var(--color-hover-veil);border-color:var(--color-hollow);transform:translateY(-1px)}.chat-input-wrapper{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent,var(--color-pure-white) 40%);padding:20px 20px 24px;display:flex;justify-content:center}.chat-input-box{width:100%;max-width:var(--chat-max-width);border:1px solid var(--color-hairline);border-radius:var(--radius-10);background-color:var(--color-elevated-surface);display:flex;flex-direction:column;padding:8px 12px;gap:8px;box-shadow:none;transition:border-color .15s ease}.chat-input-box:focus-within{border-color:var(--color-hollow)}.chat-textarea{width:100%;border:none;background:transparent;outline:none;resize:none;font-size:var(--text-body);line-height:var(--leading-body);max-height:180px;min-height:24px}.chat-input-toolbar{display:flex;align-items:center;justify-content:space-between}.target-doc-chip{font-size:12px;color:var(--color-mid-ash);display:flex;align-items:center;gap:6px}.chat-send-btn{width:32px;height:32px;border-radius:var(--radius-10);background-color:var(--color-graphite-ink);color:var(--color-pure-white);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s ease}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.modal-scrim{position:fixed;inset:0;background-color:var(--color-deep-charcoal);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-surface{background-color:var(--color-elevated-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-10);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:18px;font-weight:600}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:var(--text-caption);font-weight:500;color:var(--color-graphite-ink)}.form-hint{font-size:12px;color:var(--color-hollow)}.form-input,.form-select,.form-textarea{width:100%;border:1px solid var(--color-hairline);border-radius:var(--radius-10);background-color:var(--color-sidebar-mist);padding:8px 12px;font-size:var(--text-caption);color:var(--color-graphite-ink);outline:none;transition:border-color .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-hollow);background-color:var(--color-pure-white)}.content-type-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.content-type-card{border:1px solid var(--color-hairline);border-radius:var(--radius-10);padding:10px 12px;cursor:pointer;background-color:var(--color-sidebar-mist);transition:all .12s ease;display:flex;flex-direction:column;gap:4px}.content-type-card:hover{background-color:var(--color-hover-veil);border-color:var(--color-hollow)}.content-type-card.selected{border-color:var(--color-graphite-ink);background-color:var(--color-hover-veil)}.content-type-title{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.content-type-desc{font-size:11px;color:var(--color-mid-ash);line-height:1.35}.citation-drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:95vw;background-color:var(--color-elevated-surface);border-left:1px solid var(--color-hairline);box-shadow:-8px 0 24px rgba(0,0,0,.08);z-index:90;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1),width .24s ease}.citation-drawer.open{transform:translateX(0)}.citation-drawer.citation-drawer-wide{width:860px}.citation-drawer.citation-drawer-fullscreen{width:100vw;max-width:100vw}.drawer-header{padding:12px 16px;border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;background-color:var(--color-pure-white);flex-shrink:0}.drawer-title-icon{width:30px;height:30px;border-radius:8px;background-color:var(--color-hover-veil);align-items:center;justify-content:center;color:var(--color-graphite-ink)}.drawer-title-icon,.view-mode-toggle{border:1px solid var(--color-hairline);display:flex}.view-mode-toggle{background-color:var(--color-sidebar-mist);border-radius:8px;padding:2px;gap:2px}.toggle-tab-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;border:none;background:transparent;color:var(--color-mid-ash);cursor:pointer;transition:all .15s ease}.toggle-tab-btn.active,.toggle-tab-btn:hover{color:var(--color-graphite-ink)}.toggle-tab-btn.active{background-color:var(--color-pure-white);box-shadow:0 1px 3px rgba(0,0,0,.06);font-weight:600}.sources-quick-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--color-hairline);background-color:var(--color-sidebar-mist);overflow-x:auto;flex-shrink:0}.sources-bar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-hollow);white-space:nowrap}.sources-pills-list{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:2px}.source-pill-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;border:1px solid var(--color-hairline);background-color:var(--color-pure-white);font-size:12px;font-weight:500;color:var(--color-graphite-ink);cursor:pointer;white-space:nowrap;transition:all .12s ease}.source-pill-btn:hover{border-color:var(--color-hollow);background-color:var(--color-hover-veil)}.source-pill-btn.active{border-color:#f59e0b;background-color:rgba(245,158,11,.12);color:#b45309;font-weight:600}[data-theme=dark] .source-pill-btn.active{background-color:rgba(245,158,11,.2);color:#fbbf24}.pill-dot{width:6px;height:6px;border-radius:50%;background-color:#f59e0b}.pill-page{font-size:10px;opacity:.7}.drawer-content-container{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.drawer-empty-state{margin:auto;text-align:center;padding:40px 20px;color:var(--color-mid-ash);font-size:14px}.pdf-proof-container{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.active-cite-banner{padding:10px 16px;border-bottom:1px solid var(--color-hairline);background-color:var(--color-pure-white);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.active-cite-header{display:flex;justify-content:space-between;align-items:center}.active-cite-source-tag{padding:2px 7px;border-radius:5px;background-color:#f59e0b;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}.active-cite-page-badge,.active-cite-type{font-size:11px;color:var(--color-mid-ash);font-weight:600}.active-cite-page-badge{background-color:var(--color-sidebar-mist);border:1px solid var(--color-hairline);padding:2px 6px;border-radius:4px}.active-cite-breadcrumbs{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--color-graphite-ink)}.breadcrumbs-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-cite-excerpt{font-size:12px;line-height:1.45;color:var(--color-mid-ash);background-color:var(--color-sidebar-mist);border:1px solid var(--color-hairline);border-radius:6px;padding:6px 10px;max-height:64px;overflow-y:auto;font-style:italic}.pdf-viewer-slot{flex:1 1;display:flex;flex-direction:column;overflow:hidden;background-color:#2b2b2b}[data-theme=light] .pdf-viewer-slot{background-color:#eaeaea}.pdf-proof-viewer{flex:1 1;display:flex;flex-direction:column;height:100%;overflow:hidden}.pdf-toolbar{padding:8px 14px;background-color:var(--color-pure-white);border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px}.pdf-toolbar-group{display:flex;align-items:center;gap:6px}.pdf-tool-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;height:28px;border-radius:6px;border:1px solid var(--color-hairline);background-color:var(--color-pure-white);color:var(--color-graphite-ink);font-size:12px;cursor:pointer;transition:all .12s ease}.pdf-tool-btn:hover:not(:disabled){background-color:var(--color-hover-veil);border-color:var(--color-hollow)}.pdf-tool-btn:disabled{opacity:.4;cursor:not-allowed}.citation-return-btn{background-color:rgba(245,158,11,.1);border-color:#f59e0b;color:#b45309;font-weight:600;gap:5px}[data-theme=dark] .citation-return-btn{background-color:rgba(245,158,11,.2);color:#fbbf24}.pdf-page-indicator{font-size:12px;font-weight:500;color:var(--color-graphite-ink);padding:0 4px;white-space:nowrap}.pdf-zoom-text{font-size:11px;font-weight:600;color:var(--color-mid-ash);min-width:36px;text-align:center}.pdf-viewport-scroll{flex:1 1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:20px}.pdf-error-state,.pdf-loading-state{margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px;color:var(--color-mid-ash);font-size:13px;text-align:center;background-color:var(--color-pure-white);border-radius:10px;border:1px solid var(--color-hairline);max-width:360px}.pdf-excerpt-fallback{margin-top:10px;padding:10px;border-radius:6px;background-color:var(--color-sidebar-mist);text-align:left;font-size:12px;line-height:1.4}.pdf-canvas-wrapper{position:relative;box-shadow:0 8px 30px rgba(0,0,0,.25);border-radius:2px;line-height:0;background-color:#fff}.pdf-canvas{display:block}.pdf-highlight-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}@keyframes highlight-pulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.7);border-color:#f59e0b}50%{box-shadow:0 0 0 8px rgba(245,158,11,0);border-color:#d97706}to{box-shadow:0 0 0 0 rgba(245,158,11,.7);border-color:#f59e0b}}.pdf-highlight-box{position:absolute;border:2px solid #f59e0b;background-color:rgba(245,158,11,.24);border-radius:4px;pointer-events:auto;animation:highlight-pulse 2s ease-in-out infinite;transition:all .2s ease;z-index:5}.pdf-highlight-badge{position:absolute;top:-22px;left:-2px;padding:2px 6px;font-size:10px;font-weight:700;background-color:#f59e0b;color:#fff;border-radius:3px 3px 3px 0;box-shadow:0 2px 6px rgba(0,0,0,.2);white-space:nowrap;pointer-events:none}.evidence-cards-list{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.evidence-card{border:1px solid var(--color-hairline);border-radius:var(--radius-10);padding:14px;background-color:var(--color-sidebar-mist);display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:all .15s ease}.evidence-card:hover{border-color:var(--color-hollow);background-color:var(--color-hover-veil);transform:translateY(-1px)}.evidence-card.active{border-color:#f59e0b;background-color:rgba(245,158,11,.05);box-shadow:0 2px 8px rgba(245,158,11,.12)}.source-number-badge{padding:2px 6px;border-radius:4px;background-color:var(--color-graphite-ink);color:var(--color-pure-white);font-size:11px}.evidence-page-tag{font-size:12px;font-weight:600;color:var(--color-mid-ash)}.evidence-card-footer{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--color-hairline)}.evidence-action-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#b45309}[data-theme=dark] .evidence-action-label{color:#fbbf24}.pill-login-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:38px;background-color:var(--color-pure-white);color:var(--color-graphite-ink);border:1px solid var(--color-hairline);border-radius:var(--radius-pill);padding:0 16px;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.pill-login-btn:hover{border-color:rgba(0,0,0,.25)}[data-theme=dark] .pill-login-btn:hover{border-color:hsla(0,0%,100%,.25)}.sidebar-auth-block{display:flex;flex-direction:column;gap:8px;width:100%}.helper-text-block{font-size:12px;line-height:1.43;color:var(--color-hollow);padding:0 8px}.sidebar-footer-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 8px 2px;border-top:1px solid var(--color-hairline)}.sidebar-footer-brand{font-size:12px;color:var(--color-hollow);font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-left:2px}.sidebar-footer-actions{display:flex;align-items:center;gap:6px}.user-menu-container{position:relative;width:100%}.user-menu-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius-10);cursor:pointer;transition:background-color .15s ease;text-align:left}.user-menu-trigger:hover{background-color:var(--color-hover-veil)}.user-avatar-circle{width:30px;height:30px;border-radius:50%;background-color:var(--color-graphite-ink);color:var(--color-pure-white);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;overflow:hidden}.user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.user-trigger-info{flex:1 1;min-width:0}.user-trigger-name{display:block;font-size:13.5px;font-weight:500;color:var(--color-graphite-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-trigger-badge{font-size:11px;color:var(--color-hollow);padding:2px 6px;border-radius:4px;border:1px solid var(--color-hairline);flex-shrink:0}.user-popover-card{position:absolute;bottom:calc(100% + 8px);left:0;right:0;width:100%;background-color:var(--color-pure-white);border:1px solid var(--color-hairline);border-radius:var(--radius-10);padding:12px;z-index:50;box-shadow:0 4px 16px rgba(0,0,0,.08)}[data-theme=dark] .user-popover-card{background-color:var(--color-elevated-surface);box-shadow:0 4px 16px rgba(0,0,0,.4)}.user-popover-header{display:flex;align-items:center;gap:10px;padding-bottom:6px}.user-popover-info{flex:1 1;min-width:0}.user-popover-name{font-size:14px;font-weight:600;color:var(--color-graphite-ink)}.user-popover-email,.user-popover-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popover-email{font-size:12px;color:var(--color-mid-ash)}.user-popover-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-10);font-size:13px;color:var(--color-graphite-ink);cursor:pointer;transition:background-color .15s ease}.user-popover-item:hover{background-color:var(--color-hover-veil)}.auth-modal-card{background-color:var(--color-pure-white);border:1px solid var(--color-hairline);border-radius:var(--radius-10);width:100%;max-width:400px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:none}.auth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.auth-modal-title{font-size:var(--text-heading);line-height:var(--leading-heading);font-weight:600;color:var(--color-graphite-ink)}.auth-modal-subtitle{font-size:14px;color:var(--color-mid-ash);margin-top:4px;line-height:1.43}.auth-error-banner{padding:8px 12px;background-color:var(--color-hover-veil);font-size:13px;line-height:1.4}.auth-error-banner,.auth-social-btn{border:1px solid var(--color-hairline);border-radius:var(--radius-10);color:var(--color-graphite-ink)}.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:42px;background-color:var(--color-pure-white);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.auth-social-btn:hover:not(:disabled){background-color:var(--color-hover-veil);border-color:rgba(0,0,0,.2)}[data-theme=dark] .auth-social-btn:hover:not(:disabled){border-color:hsla(0,0%,100%,.2)}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.auth-divider-line{flex:1 1;height:1px;background-color:var(--color-hairline)}.auth-divider-text{font-size:12px;font-weight:500;color:var(--color-hollow);letter-spacing:.5px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-submit-btn{display:flex;align-items:center;justify-content:center;height:42px;background-color:var(--color-ink-press);color:var(--color-pure-white);border:none;border-radius:var(--radius-10);font-size:14px;font-weight:500;cursor:pointer;margin-top:4px;transition:opacity .15s ease}.auth-submit-btn:hover:not(:disabled){opacity:.88}.auth-social-btn:disabled,.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer-toggle{text-align:center;font-size:13px;color:var(--color-mid-ash);padding-top:8px;border-top:1px solid var(--color-hairline)}.auth-link-btn{background:none;border:none;color:var(--color-graphite-ink);font-weight:600;text-decoration:underline;cursor:pointer;padding:0 4px}