:root,[data-theme=dark]{--bg: #0f1117;--surface: #181a22;--surface-2: #1f2230;--border: #2a2d3a;--border-hover: #3d4155;--text: #e2e4ed;--text-dim: #8b8fa3;--accent: #5ce0b8;--accent-dim: #5ce0b822;--accent-hover: #4cc9a3;--red: #f06868;--red-bg: #f0686815;--red-border: #f0686840;--orange: #e8a855;--shadow-card: 0 12px 32px -16px rgba(0, 0, 0, .45), 0 2px 6px -2px rgba(0, 0, 0, .18);--shadow-card-inset: inset 0 1px 0 rgba(255, 255, 255, .04);--radius: 10px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 34px;--lh-tight: 1.15;--lh-snug: 1.35;--lh-normal: 1.5;--lh-relaxed: 1.65;--tracking-tight: -.012em;--tracking-eyebrow: .16em;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-spring: cubic-bezier(.32, .72, 0, 1);--t-fast: .12s;--t-base: .18s;--t-slow: .32s;--font-display: "Quicksand", sans-serif;--font-body: "Helvetica Neue", Arial, sans-serif}[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef0f4;--border: #d6d9e0;--border-hover: #b9bdc7;--text: #1a1d29;--text-dim: #5d6273;--accent: #00b5a5;--accent-dim: #00b5a522;--accent-hover: #009688;--red: #c53030;--red-bg: #c5303012;--red-border: #c5303040;--orange: #b97916;--shadow-card: 0 16px 40px -22px rgba(15, 23, 42, .18), 0 2px 6px -2px rgba(15, 23, 42, .06);--shadow-card-inset: inset 0 1px 0 rgba(255, 255, 255, .6)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--t-fast) var(--ease-out-expo)}a:hover{color:var(--accent-hover)}button{font-family:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-rows:1fr auto;background:var(--bg);background-image:radial-gradient(circle at 50% 0%,rgba(92,224,184,.05),transparent 60%)}.auth-shell-main{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card),var(--shadow-card-inset);display:flex;flex-direction:column;gap:var(--space-5)}.auth-card-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2)}.auth-card-logo{height:88px;width:auto;max-width:80%;object-fit:contain;display:block}.auth-card-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);letter-spacing:var(--tracking-tight);color:var(--text);text-align:center}.auth-card-subtitle{font-size:var(--fs-md);color:var(--text-dim);text-align:center;line-height:var(--lh-snug)}.auth-card-footer{text-align:center;font-size:var(--fs-sm);color:var(--text-dim);margin-top:var(--space-2);line-height:var(--lh-normal)}.auth-card-footer p+p{margin-top:var(--space-2)}.auth-form{display:flex;flex-direction:column;gap:var(--space-3)}.auth-input{width:100%;padding:12px 14px;font-family:var(--font-body);font-size:var(--fs-md);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--t-fast) var(--ease-out-expo),background-color var(--t-fast) var(--ease-out-expo)}.auth-input::placeholder{color:var(--text-dim)}.auth-input:hover{border-color:var(--border-hover)}.auth-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-dim)}.auth-checkbox-row input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.auth-checkbox-row label{cursor:pointer;-webkit-user-select:none;user-select:none}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:12px 16px;font-family:var(--font-body);font-weight:600;font-size:var(--fs-md);color:var(--bg);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo),transform var(--t-fast) var(--ease-out-spring)}.auth-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn-secondary{color:var(--text);background:var(--surface-2);border-color:var(--border)}.auth-btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--border-hover)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-dim);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-oauth-stack{display:flex;flex-direction:column;gap:var(--space-2)}.auth-oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:11px 14px;font-family:var(--font-body);font-weight:500;font-size:var(--fs-md);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo)}.auth-oauth-btn:hover{background:var(--surface);border-color:var(--border-hover);color:var(--text)}.auth-oauth-btn svg{width:18px;height:18px;flex-shrink:0}.auth-alert{padding:10px 14px;border-radius:var(--radius-md);font-size:var(--fs-sm);line-height:var(--lh-snug);border:1px solid transparent}.auth-alert-danger{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.auth-alert-warning{background:#e8a8551a;border-color:#e8a85566;color:var(--orange)}.auth-alert-success{background:var(--accent-dim);border-color:#5ce0b866;color:var(--accent)}.org-chooser{display:flex;flex-direction:column;gap:var(--space-2)}.org-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo)}.org-option:hover{background:var(--surface);border-color:var(--border-hover)}.org-option.is-selected{background:var(--accent-dim);border-color:var(--accent)}.org-option-radio{position:absolute;opacity:0;pointer-events:none}.org-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}.org-option-logo{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:contain;background:var(--bg);padding:2px;flex-shrink:0}.org-option-placeholder{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent);color:var(--bg);font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.org-option-info{flex:1;min-width:0}.org-option-name{font-size:var(--fs-md);font-weight:600;color:var(--text);line-height:var(--lh-tight);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-option-role{font-size:var(--fs-sm);color:var(--text-dim);text-transform:capitalize}.org-option-role.is-admin{color:var(--accent)}.auth-shell-footer{text-align:center;padding:var(--space-4);color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.02em}.dashboard-shell{display:grid;grid-template-columns:280px 1fr;height:100vh;background:var(--bg);color:var(--text);transition:background-color var(--t-base) var(--ease-out-expo),color var(--t-base) var(--ease-out-expo)}@media (max-width: 720px){.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{display:none}}.dashboard-sidebar{display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);padding:var(--space-4);gap:var(--space-3);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2)}.sidebar-brand-mark{width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.sidebar-brand-mark-img{width:100%;height:100%;object-fit:contain;padding:4px}.sidebar-brand-text{flex:1;min-width:0}.sidebar-brand-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);color:var(--text);line-height:var(--lh-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand-sub{font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px}.sidebar-client-switcher{width:100%;margin-top:4px;padding:4px 6px;font-family:var(--font-body);font-size:var(--fs-xs);color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out-expo)}.sidebar-client-switcher:hover{border-color:var(--border-hover)}.sidebar-primary-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 14px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;font-size:var(--fs-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo)}.sidebar-primary-btn:hover:not(:disabled){background:var(--accent-hover)}.sidebar-primary-btn:disabled{opacity:.55;cursor:not-allowed}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:8px 12px;background:transparent;color:var(--text-dim);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.sidebar-nav-item:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.sidebar-nav-item.is-active{background:var(--accent-dim);color:var(--accent)}.sidebar-nav-item:disabled{opacity:.5;cursor:not-allowed}.sidebar-divider{height:1px;background:var(--border);margin:var(--space-2) 0}.sidebar-section-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);padding:0 12px}.sidebar-recent{flex:1;overflow-y:auto;padding:0 12px}.sidebar-recent-empty{font-size:var(--fs-sm);color:var(--text-dim);padding:var(--space-3) 0;line-height:var(--lh-snug)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-md);position:relative;margin-top:var(--space-2)}.sidebar-user-avatar{width:32px;height:32px;border-radius:var(--radius-pill);background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);flex-shrink:0}.sidebar-user-meta{flex:1;min-width:0}.sidebar-user-name{font-size:var(--fs-sm);font-weight:600;color:var(--text);line-height:var(--lh-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-wrap{position:relative}.user-menu-trigger{background:transparent;border:none;color:var(--text-dim);padding:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.user-menu-trigger:hover{background:var(--surface);color:var(--text)}.user-menu-dropdown{position:absolute;bottom:calc(100% + 6px);right:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:4px;display:flex;flex-direction:column;z-index:50}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);padding:8px 10px;background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-sm);text-align:left;cursor:pointer;text-decoration:none;transition:background-color var(--t-fast) var(--ease-out-expo)}.user-menu-item:hover:not(:disabled){background:var(--surface-2)}.user-menu-item:disabled{opacity:.45;cursor:not-allowed}.user-menu-item-danger{color:var(--red)}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.dashboard-main{display:flex;flex-direction:column;overflow:hidden}.dashboard-rail{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;min-height:64px;gap:var(--space-4)}.dashboard-rail-title{flex:1;min-width:0}.dashboard-rail-title-main{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);color:var(--text);line-height:var(--lh-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-rail-title-sub{font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px}.dashboard-rail-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.dashboard-rail-cross-link{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-sm);text-decoration:none;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo)}.dashboard-rail-cross-link:hover{background:var(--accent);color:var(--bg)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.theme-toggle:hover{background:var(--surface-2);border-color:var(--border-hover);color:var(--text)}.dashboard-content{flex:1;overflow-y:auto;padding:var(--space-8) var(--space-6)}.message-stream{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:var(--space-8)}.message-stream-loading,.message-stream-error{max-width:480px;margin:80px auto 0;text-align:center;color:var(--text-dim);font-size:var(--fs-md)}.message-row{display:flex;align-items:flex-start;gap:var(--space-3)}.message-row.is-user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);flex-shrink:0;margin-top:2px}.message-avatar-assistant{background:var(--accent-dim);color:var(--accent)}.message-avatar-user{background:var(--accent);color:var(--bg)}.message-bubble{max-width:82%;padding:12px 16px;border-radius:var(--radius-lg);line-height:var(--lh-relaxed);font-size:var(--fs-md);box-shadow:var(--shadow-card-inset)}.is-assistant .message-bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);border-top-left-radius:var(--radius-sm)}.is-user .message-bubble{background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-top-right-radius:var(--radius-sm)}.message-content{margin:0;white-space:pre-wrap;word-wrap:break-word}.message-content-assistant{white-space:normal}.message-content-assistant>*+*{margin-top:var(--space-2)}.message-content-assistant p{margin:0}.message-content-assistant ul,.message-content-assistant ol{padding-left:var(--space-5)}.message-content-assistant li+li{margin-top:4px}.message-content-assistant code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;padding:1px 5px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.message-content-assistant pre{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);overflow-x:auto}.message-content-assistant pre code{border:none;background:transparent;padding:0}.message-content-assistant blockquote{border-left:3px solid var(--border);padding-left:var(--space-3);color:var(--text-dim)}.message-content-assistant table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.message-content-assistant th,.message-content-assistant td{border:1px solid var(--border);padding:6px 10px;text-align:left}.message-content-assistant th{background:var(--surface-2);font-weight:600}.message-content-assistant a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.is-user .message-content-assistant a{color:var(--bg)}.message-sources{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:var(--fs-xs);color:var(--text-dim);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.message-sources-icon{color:var(--accent);flex-shrink:0}.message-sources-label{font-weight:600;margin-right:4px}.message-sources-item{display:inline-flex;align-items:center}.message-sources-link{background:transparent;border:none;padding:0;color:var(--accent);font-size:var(--fs-xs);font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color var(--t-fast) var(--ease-out-expo)}.message-sources-link:hover{color:var(--accent-hover)}.message-sources-text{color:var(--text-dim);font-size:var(--fs-xs)}.message-sources-sep{color:var(--text-dim)}.message-sources-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--fs-xs);line-height:1.4;cursor:pointer;transition:background var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.message-sources-pill svg{color:var(--text-dim);flex-shrink:0}.message-sources-pill:hover{background:var(--surface-2);border-color:var(--accent)}.message-sources-pill:hover svg{color:var(--accent)}.message-sources-pill.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast, #fff)}.message-sources-pill.is-active svg{color:var(--accent-contrast, #fff)}.message-sources-pill.is-inert{cursor:default;background:transparent;border-style:dashed}.message-sources-pill.is-inert:hover{background:transparent;border-color:var(--border)}.message-sources-pill.is-inert:hover svg{color:var(--text-dim)}.message-sources-wrap,.message-video-citations{display:flex;flex-direction:column;gap:var(--space-3)}.video-citation-tile{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s ease}.video-citation-tile:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.video-citation-tile.is-expanded{flex-direction:column;gap:var(--space-3)}.video-citation-tile-cover{position:relative;flex:0 0 auto;width:160px;height:90px;border:none;background:var(--surface);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;padding:0}.video-citation-tile-cover:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-citation-tile-thumb{width:100%;height:100%;object-fit:cover;display:block}.video-citation-tile-thumb-empty{display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-dim)}.video-citation-tile-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000040;color:#fff;transition:background-color .15s ease;pointer-events:none}.video-citation-tile-cover:hover .video-citation-tile-play-overlay{background:#00000073}.video-citation-tile-badge{position:absolute;bottom:6px;right:6px;padding:2px 6px;border-radius:3px;background:#000000b3;color:#fff;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;pointer-events:none}.video-citation-tile-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center}.video-citation-tile.is-expanded .video-citation-tile-meta{justify-content:flex-start}.video-citation-tile-title{font-weight:600;color:var(--text);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.video-citation-tile-course{color:var(--text-dim);font-size:var(--fs-xs)}.video-citation-tile-snippet{color:var(--text-dim);font-size:var(--fs-xs);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.video-citation-tile-player{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.video-citation-tile-player video{width:100%;max-height:60vh;border-radius:var(--radius-sm);background:#000}.video-citation-tile-player-actions{display:flex;gap:var(--space-2)}.video-citation-tile-action{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-xs)}.video-citation-tile-action:hover{border-color:var(--accent);color:var(--accent)}.video-citation-tile-action-secondary{background:transparent}.video-citation-tile-error{padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--red, #c0392b) 8%,var(--surface));border:1px solid var(--red, #c0392b);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm)}.source-panel-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100;animation:scrim-fade-in var(--t-base) var(--ease-out-expo)}@keyframes scrim-fade-in{0%{opacity:0}to{opacity:1}}.source-panel{position:fixed;top:0;right:0;bottom:0;width:min(560px,90vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-card);z-index:101;display:flex;flex-direction:column;animation:panel-slide-in var(--t-base) var(--ease-out-expo)}@keyframes panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.source-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.source-panel-header-text{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.source-panel-header-icon{color:var(--accent);flex-shrink:0}.source-panel-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);color:var(--text);line-height:var(--lh-tight);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-panel-close{background:transparent;border:none;color:var(--text-dim);padding:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.source-panel-close:hover{background:var(--surface-2);color:var(--text)}.source-panel-body{flex:1;overflow-y:auto;padding:var(--space-5)}.source-panel-status{text-align:center;color:var(--text-dim);padding:var(--space-8) 0}.source-panel-toc{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.source-panel-toc-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--accent);margin-bottom:var(--space-2)}.source-panel-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.source-panel-toc-list li{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-snug)}.source-panel-toc-list li:before{content:"•";color:var(--accent);margin-right:var(--space-2)}.source-panel-content{font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text);word-wrap:break-word}.source-panel-content>*+*{margin-top:var(--space-3)}.source-panel-content p{margin:0}.source-panel-content h1,.source-panel-content h2,.source-panel-content h3,.source-panel-content h4{font-family:var(--font-display);font-weight:600;color:var(--text);line-height:var(--lh-snug);margin-top:var(--space-5);margin-bottom:var(--space-2)}.source-panel-content h1{font-size:var(--fs-xl)}.source-panel-content h2{font-size:var(--fs-lg)}.source-panel-content h3{font-size:var(--fs-md);color:var(--accent)}.source-panel-content h4{font-size:var(--fs-md);color:var(--text-dim)}.source-panel-content ul,.source-panel-content ol{padding-left:var(--space-5)}.source-panel-content li+li{margin-top:4px}.source-panel-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;padding:1px 5px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.source-panel-content pre{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);overflow-x:auto;white-space:pre;word-wrap:normal}.source-panel-content pre code{border:none;background:transparent;padding:0;font-size:var(--fs-sm)}.source-panel-content blockquote{border-left:3px solid var(--accent);padding-left:var(--space-3);color:var(--text-dim);margin:0}.source-panel-content table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.source-panel-content th,.source-panel-content td{border:1px solid var(--border);padding:6px 10px;text-align:left}.source-panel-content th{background:var(--surface-2);font-weight:600}.source-panel-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.source-panel-content a:hover{color:var(--accent-hover)}.source-panel-content hr{border:none;border-top:1px solid var(--border);margin:var(--space-5) 0}.source-panel-meta{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-dim)}.source-panel-meta-label{font-weight:600}.source-panel-meta-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}@media (max-width: 600px){.source-panel{width:100%}}.message-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.message-attachment-thumb{max-width:220px;max-height:220px;border-radius:var(--radius-sm);object-fit:cover;cursor:pointer;border:1px solid rgba(255,255,255,.2)}.dashboard-chat-placeholder{max-width:480px;margin:80px auto 0;text-align:center;color:var(--text-dim)}.dashboard-chat-placeholder-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--accent);margin-bottom:var(--space-4)}.dashboard-chat-placeholder-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);color:var(--text);margin-bottom:var(--space-2)}.dashboard-chat-placeholder-sub{font-size:var(--fs-md);line-height:var(--lh-relaxed)}.composer{border-top:1px solid var(--border);background:var(--surface);padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.composer-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0}.composer-error-dismiss{background:transparent;border:none;color:var(--red);font-size:var(--fs-xl);line-height:1;padding:0 var(--space-2);cursor:pointer}.composer-box{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2);transition:border-color var(--t-fast) var(--ease-out-expo)}.composer-box:focus-within{border-color:var(--accent)}.composer-input{flex:1;background:transparent;border:none;outline:none;resize:none;color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-snug);padding:8px 10px;min-height:36px;max-height:240px;overflow-y:auto}.composer-input::placeholder{color:var(--text-dim)}.composer-input.composer-input-partial{color:var(--text-dim);font-style:italic}.composer-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),opacity var(--t-fast) var(--ease-out-expo);flex-shrink:0}.composer-send:hover:not(:disabled){background:var(--accent-hover)}.composer-send:disabled{opacity:.4;cursor:not-allowed}.composer-meta{font-size:var(--fs-xs);color:var(--text-dim);text-align:center;padding:0 var(--space-3);line-height:var(--lh-normal)}.response-length-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-2)}.response-length-toggle-btn{background:transparent;color:var(--text-dim);border:none;padding:7px 12px;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.response-length-toggle-btn:hover:not(.is-active){color:var(--text)}.response-length-toggle-btn.is-active{background:var(--accent);color:var(--bg)}.fallback-decision{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.fallback-decision-btn{flex:1;padding:8px 14px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),opacity var(--t-fast) var(--ease-out-expo)}.fallback-decision-btn:disabled{opacity:.5;cursor:not-allowed}.fallback-decision-btn-yes{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.fallback-decision-btn-yes:hover:not(:disabled){background:var(--accent-hover)}.fallback-decision-btn-no{background:transparent;color:var(--text);border:1px solid var(--border)}.fallback-decision-btn-no:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-hover)}.message-stop-audio-btn{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-3);padding:5px 10px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:500;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo);animation:stop-audio-breathe 1.6s ease-in-out infinite}.message-stop-audio-btn:hover{background:var(--accent);color:var(--bg);animation:none}@keyframes stop-audio-breathe{0%,to{box-shadow:0 0 #5ce0b800}50%{box-shadow:0 0 0 6px #5ce0b826}}.message-bubble-thinking{display:inline-flex;align-items:center;gap:6px;padding:14px 18px}.message-bubble-thinking-rich{display:block;padding:12px 16px;max-width:82%}.thinking-rich{display:flex;flex-direction:column;gap:var(--space-2)}.thinking-rich-line{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--text)}.thinking-rich-icon{color:var(--accent);flex-shrink:0}.thinking-rich-line strong{font-weight:600}.thinking-rich-sep{color:var(--text-dim)}.thinking-rich-status{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-dim)}.thinking-dot{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--text-dim);opacity:.4;animation:thinking-pulse 1.2s ease-in-out infinite}.thinking-dot:nth-child(2){animation-delay:.15s}.thinking-dot:nth-child(3){animation-delay:.3s}@keyframes thinking-pulse{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.25)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.composer-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo);flex-shrink:0}.composer-icon-btn:hover:not(:disabled){background:var(--surface);color:var(--text)}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.composer-icon-btn.is-recording{background:var(--red-bg);color:var(--red);border-color:var(--red-border);animation:mic-pulse 1.6s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #f0686880}60%{box-shadow:0 0 0 8px #f0686800}}.composer-icon-btn.is-busy{color:var(--accent)}.composer-footer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.audio-reply-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.audio-reply-toggle:hover{background:var(--surface-2)}.audio-reply-toggle:has(.audio-reply-toggle-input:checked){background:var(--accent-dim);color:var(--accent)}.audio-reply-toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.audio-reply-toggle:has(.audio-reply-toggle-input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.audio-reply-toggle-icon{flex-shrink:0}.attachment-staging{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.attachment-staging-error{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.attachment-staging-thumb{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--bg)}.attachment-staging-thumb-loading{display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.attachment-staging-spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attachment-staging-meta{flex:1;min-width:0}.attachment-staging-name{font-size:var(--fs-sm);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-staging-status{font-size:var(--fs-xs);color:var(--text-dim)}.attachment-staging-error .attachment-staging-status{color:var(--red)}.attachment-staging-remove{background:transparent;border:none;color:var(--text-dim);padding:4px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.attachment-staging-remove:hover{background:var(--surface);color:var(--text)}.message-attachment-btn{background:transparent;border:none;padding:0;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;transition:transform var(--t-fast) var(--ease-out-spring)}.message-attachment-btn:hover{transform:scale(1.02)}.message-attachment-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-6);cursor:zoom-out;animation:scrim-fade-in var(--t-base) var(--ease-out-expo)}.image-lightbox-img{max-width:100%;max-height:100%;border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080;cursor:default}.image-lightbox-close{position:fixed;top:var(--space-4);right:var(--space-4);width:40px;height:40px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--t-fast) var(--ease-out-expo)}.image-lightbox-close:hover{background:#fff3}.rail-filter{position:relative}.rail-filter-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-sm);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo);max-width:220px}.rail-filter-trigger:hover:not(:disabled){border-color:var(--border-hover);color:var(--text)}.rail-filter-trigger:disabled{opacity:.5;cursor:not-allowed}.rail-filter-trigger.is-active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.rail-filter-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.rail-filter-panel{position:absolute;top:calc(100% + 6px);right:0;width:320px;max-height:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);z-index:60;display:flex;flex-direction:column;overflow:hidden;animation:filter-pop var(--t-fast) var(--ease-out-spring)}@keyframes filter-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rail-filter-search{padding:var(--space-3);border-bottom:1px solid var(--border)}.rail-filter-search input{width:100%;padding:8px 10px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-sm)}.rail-filter-search input:focus{outline:none;border-color:var(--accent)}.rail-filter-section{padding:var(--space-2) 0;overflow-y:auto}.rail-filter-section:not(:last-child){border-bottom:1px solid var(--border)}.rail-filter-section-label{padding:6px 14px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-dim)}.rail-filter-row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:8px 14px;background:transparent;border:none;color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo)}.rail-filter-row:hover{background:var(--surface-2)}.rail-filter-row.is-selected{background:var(--accent-dim);color:var(--accent)}.rail-filter-row input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.rail-filter-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-filter-row-count{flex:none!important;background:var(--surface-2);border-radius:var(--radius-pill);padding:1px 8px;font-size:var(--fs-xs);color:var(--text-dim)}.rail-filter-row.is-selected .rail-filter-row-count{background:var(--accent);color:var(--bg)}.rail-filter-empty{padding:var(--space-3) var(--space-4);text-align:center;color:var(--text-dim);font-size:var(--fs-sm)}.rail-filter-footer{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border)}.rail-filter-clear{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--red);font-family:var(--font-body);font-size:var(--fs-xs);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background-color var(--t-fast) var(--ease-out-expo)}.rail-filter-clear:hover{background:var(--red-bg)}.rail-language-picker{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-md);padding:7px 10px;font-family:var(--font-body);font-size:var(--fs-sm);cursor:pointer;max-width:130px;transition:border-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.rail-language-picker:hover{border-color:var(--border-hover);color:var(--text)}.rail-language-picker:focus{outline:none;border-color:var(--accent)}.history-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:150;display:flex;align-items:center;justify-content:center;padding:var(--space-6);animation:scrim-fade-in var(--t-base) var(--ease-out-expo)}.history-modal{width:min(640px,100%);max-height:80vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;animation:history-modal-pop var(--t-base) var(--ease-out-spring)}@keyframes history-modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.history-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.history-modal-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);color:var(--text);margin:0}.history-modal-close{background:transparent;border:none;color:var(--text-dim);padding:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.history-modal-close:hover{background:var(--surface-2);color:var(--text)}.history-modal-body{overflow-y:auto;padding:var(--space-3)}.history-modal-status,.history-modal-empty{text-align:center;color:var(--text-dim);padding:var(--space-8) var(--space-4)}.history-modal-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.history-modal-empty svg{color:var(--accent);margin-bottom:var(--space-2)}.history-modal-empty-sub{font-size:var(--fs-sm)}.history-thread-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.history-thread-row{display:flex;align-items:center;width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text);font-family:var(--font-body);text-align:left;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo)}.history-thread-row:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.history-thread-row:disabled{opacity:.5;cursor:not-allowed}.history-thread-row-text{flex:1;min-width:0}.history-thread-row-title{font-size:var(--fs-md);color:var(--text);margin:0;line-height:var(--lh-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.history-thread-row-meta{font-size:var(--fs-xs);color:var(--text-dim);margin:4px 0 0;display:flex;align-items:center;gap:6px}.history-thread-row-sep{opacity:.5}.settings-section{padding:var(--space-3) 0}.settings-section-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-dim);margin:0 0 var(--space-3) 0;padding:0 var(--space-2)}.settings-option-list{display:flex;flex-direction:column;gap:var(--space-2)}.settings-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo)}.settings-option:hover{background:var(--surface);border-color:var(--border-hover)}.settings-option.is-selected{background:var(--accent-dim);border-color:var(--accent)}.settings-option-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}.settings-option-icon{color:var(--text-dim);flex-shrink:0;margin-top:2px}.settings-option.is-selected .settings-option-icon{color:var(--accent)}.settings-option-text{flex:1;min-width:0}.settings-option-label{font-size:var(--fs-md);font-weight:600;color:var(--text);line-height:var(--lh-tight);margin-bottom:2px}.settings-option-hint{font-size:var(--fs-xs);color:var(--text-dim);line-height:var(--lh-snug)}.help-modal-lede{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--text);margin:0 0 var(--space-4) 0}.help-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text)}.help-modal-list li{padding-left:var(--space-4);position:relative}.help-modal-list li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--accent)}.help-modal-list strong{color:var(--text);font-weight:600}.plan-modal-header{padding:var(--space-3) 0;text-align:left}.plan-modal-tier-name{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;color:var(--text)}.plan-modal-tier-price{font-size:var(--fs-md);color:var(--text-dim);margin-top:2px}.plan-modal-tier-desc{margin:var(--space-2) 0 0;color:var(--text-dim);font-size:var(--fs-sm);line-height:var(--lh-tight, 1.4)}.plan-modal-tier-status{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text)}.plan-modal-tier-status.warn{border:1px solid var(--orange, #c97a1d);background:color-mix(in srgb,var(--orange, #c97a1d) 8%,var(--surface))}.plan-modal-tier-status.danger{border:1px solid var(--red, #c0392b);background:color-mix(in srgb,var(--red, #c0392b) 8%,var(--surface))}.plan-modal-usage{padding:var(--space-3) 0;border-top:1px solid var(--border)}.plan-modal-section-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-dim);margin:0 0 var(--space-3) 0;padding:0 var(--space-2)}.plan-modal-usage-row{margin-bottom:var(--space-3);padding:0 var(--space-2)}.plan-modal-usage-row:last-child{margin-bottom:0}.plan-modal-usage-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm);color:var(--text);margin-bottom:6px}.plan-modal-usage-label{color:var(--text)}.plan-modal-usage-counts{font-variant-numeric:tabular-nums;color:var(--text)}.plan-modal-usage-counts strong{font-weight:600}.plan-modal-usage-dim{color:var(--text-dim)}.plan-modal-usage-track{width:100%;height:6px;border-radius:var(--radius-pill, 9999px);background:var(--surface-2);overflow:hidden}.plan-modal-usage-fill{height:100%;background:var(--accent);transition:width .2s ease}.plan-modal-usage-fill.warn{background:var(--orange, #c97a1d)}.plan-modal-usage-fill.danger{background:var(--red, #c0392b)}.plan-modal-manage{padding:var(--space-3) var(--space-2);border-top:1px solid var(--border)}.plan-modal-manage-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;text-decoration:none;font-size:var(--fs-md)}.plan-modal-manage-link:hover{text-decoration:underline}.plan-modal-manage-hint{margin:var(--space-2) 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.prev-conv-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.prev-conv-row{display:flex;align-items:stretch;gap:2px;border-radius:var(--radius-sm);transition:background-color var(--t-fast) var(--ease-out-expo)}.prev-conv-row:hover,.prev-conv-row:has(:focus-visible){background:var(--surface-2)}.prev-conv-row.is-busy{opacity:.6}.prev-conv-row-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:8px;padding:6px 8px;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius-sm)}.prev-conv-row-main:disabled{cursor:not-allowed}.prev-conv-row-icon{color:var(--text-dim);flex-shrink:0;margin-top:4px}.prev-conv-row-text{flex:1;min-width:0}.prev-conv-row-title{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-snug);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prev-conv-row-meta{font-size:var(--fs-xs);color:var(--text-dim);margin:2px 0 0;display:flex;align-items:center;gap:4px}.prev-conv-row-sep{opacity:.5}.prev-conv-row-actions{display:flex;align-items:center;gap:0;padding-right:4px;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out-expo)}.prev-conv-row:hover .prev-conv-row-actions,.prev-conv-row:has(:focus-visible) .prev-conv-row-actions{opacity:1;pointer-events:auto}.prev-conv-row-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;color:var(--text-dim);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),color var(--t-fast) var(--ease-out-expo)}.prev-conv-row-action:hover:not(:disabled){background:var(--surface);color:var(--text)}.prev-conv-row-action:disabled{cursor:not-allowed;opacity:.5}.prev-conv-row-action-delete:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.sidebar-recent-empty-error{color:var(--red)}.confirm-dialog{width:min(380px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);animation:history-modal-pop var(--t-base) var(--ease-out-spring)}.confirm-dialog-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--text);margin:0}.confirm-dialog-message{font-size:var(--fs-sm);color:var(--text-dim);line-height:var(--lh-relaxed);margin:0}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.confirm-dialog-btn{padding:8px 14px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out-expo),border-color var(--t-fast) var(--ease-out-expo)}.confirm-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-btn-cancel{background:transparent;color:var(--text);border:1px solid var(--border)}.confirm-dialog-btn-cancel:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-hover)}.confirm-dialog-btn-confirm{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.confirm-dialog-btn-confirm:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.confirm-dialog-btn-destructive{background:var(--red);color:#fff;border:1px solid var(--red)}.confirm-dialog-btn-destructive:hover:not(:disabled){background:#d65a5a;border-color:#d65a5a}
