*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);font-size:var(--text-base);background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}img,svg{max-width:100%;display:block}code,pre,kbd,.mono{font-family:var(--font-mono)}p,h1,h2,h3{margin:0}::selection{background:var(--accent-glow)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-blue:#5b9ef7;--brand-navy:#050f1a;--brand-teal:#4dd9ac;--background:#050f1a;--surface-sidebar:#081420;--surface-primary:#0b1826;--surface-secondary:#102133;--surface-muted:#152a40;--surface-elevated:#0e1e2f;--surface-hover:#0f1f31;--surface-active:#142940;--border-subtle:#12243a;--border-primary:#1b3149;--border-strong:#2a4663;--text-primary:#e8f1f9;--text-secondary:#a9bfd3;--text-muted:#8aa2b8;--accent-primary:#5b9ef7;--accent-text:#6faaf8;--accent-strong:#5b9ef7;--accent-strong-hover:#79b0f9;--on-accent:#050f1a;--accent-soft:#0f2a4a;--accent-glow:#5b9ef738;--metric-accent:#4dd9ac;--metric-soft:#0a2e24;--success:#4dd9ac;--warning:#f5b14a;--danger:#f28b82;--danger-soft:#f28b821a;--danger-border:#f28b8259;--focus-ring:#8ab9fa;--chart-negative:#ef8a62;--chart-neutral:#3c4654;--tooltip-background:#e8f1f9;--tooltip-text:#050f1a;--backdrop:#01060c9e;--shadow-soft:0 8px 32px #0006;--shadow-card:0 1px 2px #0000004d, 0 4px 16px #00000038;--shadow-pop:0 16px 48px #00000080, 0 2px 8px #0000004d;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--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;--font-ui:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:15px;--text-lg:17px;--sidebar-width:272px;--rail-width:60px;--content-width:760px;--topbar-height:56px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.12s;--duration:.2s}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f8fafc;--surface-sidebar:#f1f5f9;--surface-primary:#fff;--surface-secondary:#eef3f8;--surface-muted:#e6edf4;--surface-elevated:#fff;--surface-hover:#e9eff5;--surface-active:#e3eaf2;--border-subtle:#e6ecf2;--border-primary:#d8e1ea;--border-strong:#b9c7d5;--text-primary:#0d1e2e;--text-secondary:#3a5166;--text-muted:#51677c;--accent-primary:#2b7fe0;--accent-text:#1a62c6;--accent-strong:#1d6ad4;--accent-strong-hover:#185dbd;--on-accent:#fff;--accent-soft:#e6f0fc;--accent-glow:#2b7fe033;--metric-accent:#09735a;--metric-soft:#e3f5ef;--success:#09735a;--warning:#8f5400;--danger:#b42f2f;--danger-soft:#b42f2f12;--danger-border:#b42f2f4d;--focus-ring:#1d6ad4;--chart-negative:#d4602f;--chart-neutral:#e9edf1;--tooltip-background:#0d1e2e;--tooltip-text:#fff;--backdrop:#0d1e2e66;--shadow-soft:0 8px 32px #0f172a1a;--shadow-card:0 1px 2px #0f172a0d, 0 4px 16px #0f172a0f;--shadow-pop:0 16px 48px #0f172a29, 0 2px 8px #0f172a14}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.icon{flex:none}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}.spinner--on-accent{border-color:color-mix(in srgb, var(--on-accent) 30%, transparent);border-top-color:var(--on-accent)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-md);transition:background-color var(--duration-fast) ease-out, border-color var(--duration-fast) ease-out, color var(--duration-fast) ease-out;border:1px solid #0000;font-weight:600;line-height:1;display:inline-flex}.button--primary{background:var(--accent-strong);color:var(--on-accent)}.button--primary:hover:not(:disabled){background:var(--accent-strong-hover)}.button--quiet{border-color:var(--border-primary);color:var(--text-primary)}.button--quiet:hover:not(:disabled){background:var(--surface-hover)}.button--danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.button:disabled{opacity:.5}.link-button{color:var(--accent-text);text-underline-offset:2px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;display:inline}.link-button:hover{text-decoration-thickness:2px}.icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);transition:background-color var(--duration-fast) ease-out, color var(--duration-fast) ease-out;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.icon-button:disabled{opacity:.45}.chip{min-width:0;max-width:100%;padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;align-items:center;line-height:1.5;display:inline-flex;overflow:hidden}.tip-anchor{display:inline-flex;position:relative}.tip{z-index:70;padding:5px var(--space-2);border-radius:var(--radius-xs);background:var(--tooltip-background);color:var(--tooltip-text);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) ease-out;align-items:center;gap:6px;font-weight:600;line-height:1.3;display:flex;position:absolute}.tip-anchor:hover .tip{opacity:1;transition-delay:.35s}.tip-anchor:has(:focus-visible) .tip{opacity:1}.tip-anchor:has(:disabled) .tip{display:none}.tip-anchor--right .tip{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.tip-anchor--bottom .tip{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-anchor--bottom-start .tip{top:calc(100% + 6px);left:0}.tip-anchor--bottom-end .tip{top:calc(100% + 6px);right:0}.tip-anchor--top .tip{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip__kbd{background:color-mix(in srgb, var(--tooltip-text) 16%, transparent);font-family:var(--font-ui);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600}.logo{width:auto;height:22px}.logo--large{height:30px}.app-shell{background:var(--background);height:100dvh;display:flex;overflow:clip}.main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative;overflow:clip}.sidebar{z-index:20;width:var(--sidebar-width);background:var(--surface-sidebar);border-right:1px solid var(--border-subtle);height:100%;transition:width var(--duration) var(--ease-out);flex:none;position:relative}.sidebar:focus{outline:none}.sidebar[data-mode=rail]{width:var(--rail-width)}.sidebar__panel{width:var(--sidebar-width);gap:var(--space-3);padding:var(--space-3);clip-path:inset(0);transition:opacity var(--duration) var(--ease-out), clip-path var(--duration) var(--ease-out), visibility 0s linear 0s;flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0}.sidebar[data-mode=rail] .sidebar__panel{opacity:0;visibility:hidden;clip-path:inset(0 calc(var(--sidebar-width) - var(--rail-width)) 0 0);transition:opacity var(--duration) var(--ease-out), clip-path var(--duration) var(--ease-out), visibility 0s linear var(--duration)}.sidebar__rail{width:var(--rail-width);align-items:center;gap:var(--space-2);padding:var(--space-3) 0;opacity:0;visibility:hidden;transition:opacity var(--duration-fast) ease-out, visibility 0s linear var(--duration-fast);flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0}.sidebar[data-mode=rail] .sidebar__rail{opacity:1;visibility:visible;transition:opacity var(--duration) var(--ease-out) 60ms, visibility 0s linear 0s}.sidebar__panel.is-entering{animation:panelReveal var(--duration) var(--ease-out)}.sidebar__rail.is-entering{animation:fadeIn var(--duration) var(--ease-out)}@keyframes panelReveal{0%{opacity:0;clip-path:inset(0 calc(var(--sidebar-width) - var(--rail-width)) 0 0)}}.sidebar__rail-mark{width:28px;height:28px;margin:var(--space-1) 0 var(--space-2)}.sidebar__rail-spacer{flex:1}.sidebar__top{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:40px;padding-left:var(--space-2);display:flex}.sidebar__new-chat{width:100%;min-height:40px;padding:0 var(--space-3);justify-content:flex-start}.sidebar__scroll{min-height:0;margin:0 calc(-1 * var(--space-3));padding:0 var(--space-3);overscroll-behavior:contain;scrollbar-width:thin;flex:1;overflow-y:auto}.sidebar__bottom{padding-top:var(--space-2);border-top:1px solid var(--border-subtle);flex-direction:column;gap:2px;display:flex}.sidebar-item{align-items:center;gap:var(--space-3);width:100%;min-height:36px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-md);text-align:left;display:flex}.sidebar-item:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-notice{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.sidebar-alert{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--text-xs);line-height:1.5}.sidebar[data-mode=drawer]{z-index:50;width:min(calc(var(--sidebar-width) + 24px), 88vw);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-right:1px solid var(--border-primary);visibility:hidden;transition:transform var(--duration) var(--ease-out), visibility 0s linear var(--duration);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar[data-mode=drawer][data-open=true]{visibility:visible;box-shadow:var(--shadow-pop);transition:transform var(--duration) var(--ease-out), visibility 0s linear 0s;transform:translate(0)}.sidebar[data-mode=drawer] .sidebar__panel{width:100%;height:100%;position:relative;inset:auto}.sidebar-backdrop{z-index:40;background:var(--backdrop);animation:fadeIn var(--duration) var(--ease-out);position:fixed;inset:0}.topbar{align-items:center;gap:var(--space-2);min-height:var(--topbar-height);padding:env(safe-area-inset-top) var(--space-3) 0;border-bottom:1px solid var(--border-subtle);background:var(--background);flex:none;display:flex}.topbar__mark{width:24px;height:24px}.topbar__title{min-width:0;font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.dataset-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-primary);flex-direction:column;display:flex}.dataset-card__head{align-items:center;gap:var(--space-3);display:flex}.dataset-card__icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);flex:none;place-items:center;display:grid}.dataset-card__text{flex:1;min-width:0}.dataset-card__name{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dataset-card__meta{font-size:var(--text-xs);color:var(--text-muted)}.dataset-card__replace,.dataset-card__remove{width:30px;height:30px;margin-right:calc(-1 * var(--space-1))}.dataset-card__head+.inline-confirm{margin-top:var(--space-3)}.dataset-card__chips{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.dataset-card__chips .chip{max-width:120px}.chip--muted{color:var(--text-muted);background:0 0}.dataset-card--empty{border-style:dashed;border-color:var(--border-strong);width:100%;color:var(--text-secondary);font-size:var(--text-md);background:0 0;flex-direction:row;align-items:center;font-weight:600}.dataset-card--empty:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.dataset-card--empty:disabled{opacity:.6}.chat-history{padding-bottom:var(--space-3)}.chat-history:focus-visible{outline-offset:-2px}.chat-history__group+.chat-history__group{margin-top:var(--space-4)}.chat-history__heading{margin:var(--space-2) 0 var(--space-1);padding:0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.chat-history__empty{padding:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);line-height:1.6}.chat-history__list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.chat-history__item{border-radius:var(--radius-sm);align-items:center;display:flex;position:relative}.chat-history__item:hover{background:var(--surface-hover)}.chat-history__item.is-active{background:var(--surface-active)}.chat-history__open{min-width:0;min-height:34px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-md);text-align:left;flex:1}.chat-history__item:hover .chat-history__open,.chat-history__item.is-active .chat-history__open{color:var(--text-primary)}.chat-history__title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-history__delete{border-radius:var(--radius-xs);width:28px;height:28px;color:var(--text-muted);opacity:0;transition:opacity var(--duration-fast) ease-out;flex:none;place-items:center;margin-right:3px;display:grid}.chat-history__item:hover .chat-history__delete,.chat-history__item.is-active .chat-history__delete,.chat-history__delete:focus-visible{opacity:1}.chat-history__delete:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}@media (hover:none){.chat-history__delete{opacity:1}}.chat-history button:disabled{opacity:.5}.chat-history__clear{margin-top:var(--space-4);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);color:var(--text-muted);font-size:var(--text-xs)}.chat-history__clear:hover:not(:disabled){color:var(--danger)}.inline-confirm{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);font-size:var(--text-xs);color:var(--text-primary);line-height:1.5}.chat-history__item.is-confirming{background:0 0;display:block}.chat-history__item.is-confirming .inline-confirm{margin:var(--space-1) 0}.inline-confirm__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.inline-confirm .button{min-height:30px;padding:0 var(--space-3);font-size:var(--text-xs)}.theme-toggle .icon{color:inherit}.conversation-scroll{min-height:0;padding:var(--space-8) var(--space-6) var(--space-6);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.conversation-thread,.workspace-loading,.composer-dock__inner{width:100%;max-width:var(--content-width);margin:0 auto}.workspace-loading{justify-content:center;align-items:center;gap:var(--space-2);min-height:40vh;font-size:var(--text-md);color:var(--text-secondary);display:flex}.start,.welcome{max-width:var(--content-width);text-align:center;animation:riseIn .32s var(--ease-out);flex-direction:column;align-items:center;margin:0 auto;display:flex}.start{gap:var(--space-6);padding-top:clamp(8px,8vh,88px)}.start__mark{width:56px;height:56px}.start__title{letter-spacing:-.025em;text-wrap:balance;max-width:22ch;font-size:clamp(28px,4.4vw,40px);font-weight:700;line-height:1.15}.start__title-accent{color:var(--text-secondary)}.drop-zone{align-items:center;gap:var(--space-3);width:100%;max-width:520px;padding:var(--space-8) var(--space-6);border:1.5px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-primary);transition:border-color var(--duration-fast) ease-out, background-color var(--duration-fast) ease-out;flex-direction:column;display:flex}.drop-zone.is-dragging{border-color:var(--accent-primary);background:var(--accent-soft)}.drop-zone__icon{border-radius:var(--radius-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);place-items:center;display:grid}.drop-zone__text{font-size:var(--text-base);color:var(--text-primary)}.drop-zone__hint{font-size:var(--text-xs);color:var(--text-muted)}.start__error{max-width:520px;padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm);text-align:left}.samples{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.samples__label{font-size:var(--text-sm);color:var(--text-muted)}.samples__list{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sample-button{min-height:36px;padding:0 var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-pill);background:var(--surface-primary);color:var(--text-primary);font-size:var(--text-md);transition:border-color var(--duration-fast) ease-out, background-color var(--duration-fast) ease-out;font-weight:500}.sample-button:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-soft)}.sample-button:disabled{opacity:.5}.welcome{gap:var(--space-2);padding-top:clamp(8px,10vh,112px)}.welcome__mark{width:44px;height:44px;margin-bottom:var(--space-2)}.welcome__title{letter-spacing:-.02em;font-size:clamp(24px,3.4vw,32px);font-weight:700;line-height:1.2}.welcome__dataset{max-width:100%;font-size:var(--text-md);color:var(--text-secondary);overflow-wrap:anywhere}.welcome__file{color:var(--text-primary);font-weight:600}.suggestions{width:100%;margin-top:var(--space-8);text-align:left}.suggestions__label{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.suggestion-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));display:grid}.suggestion-chip{min-height:72px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--surface-primary);color:var(--text-secondary);font-size:var(--text-md);text-align:left;transition:border-color var(--duration-fast) ease-out, background-color var(--duration-fast) ease-out, color var(--duration-fast) ease-out;line-height:1.45}.suggestion-chip:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-soft);color:var(--text-primary)}.suggestion-chip:disabled{opacity:.5}.suggestion-chip-skeleton{border-radius:var(--radius-lg);background:var(--surface-muted);min-height:72px;animation:1.5s infinite shimmer}.conversation-turn{margin-bottom:var(--space-10);animation:riseIn .28s var(--ease-out)}.conversation-turn:focus{outline:none}.conversation-turn{scroll-margin-top:var(--space-4)}.conversation-turn__question{width:fit-content;max-width:min(85%,620px);padding:10px var(--space-4);background:var(--surface-secondary);color:var(--text-primary);font-size:var(--text-base);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 6px;margin-left:auto;line-height:1.55}.conversation-turn__question--overview{align-items:center;gap:var(--space-2);padding:6px var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-sm);background:0 0;margin-left:0;font-weight:600;display:inline-flex}.conversation-turn__answer{margin-top:var(--space-5)}.conversation-turn__notice{margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.conversation-turn__actions{margin-top:var(--space-3)}.turn-progress{margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.turn-progress__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.turn-progress[data-state=done] .turn-progress__list,.turn-progress[data-state=stopped] .turn-progress__list{margin-top:var(--space-3);padding-left:var(--space-2);border-left:2px solid var(--border-subtle)}.turn-progress__step{color:var(--text-muted);animation:fadeIn var(--duration) var(--ease-out);align-items:center;gap:10px;display:flex}.turn-progress__step.is-active{color:var(--text-primary)}.turn-progress__marker{width:18px;height:18px;color:var(--success);place-items:center;display:grid}.turn-progress__starting{color:var(--text-primary);align-items:center;gap:10px;display:flex}.turn-progress__summary{min-height:28px;padding:0 10px 0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-sm);transition:background-color var(--duration-fast) ease-out;align-items:center;gap:6px;display:inline-flex}.turn-progress__summary:hover{background:var(--surface-hover);color:var(--text-primary)}.turn-progress__summary-icon{color:var(--success)}.turn-progress[data-state=stopped] .turn-progress__summary-icon{color:var(--text-muted)}.turn-progress__chevron{transition:transform var(--duration) var(--ease-out)}.turn-progress__summary[aria-expanded=true] .turn-progress__chevron{transform:rotate(180deg)}.analysis-error{padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--text-md)}.technical-details{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary)}.technical-details summary{cursor:pointer;width:fit-content}.technical-details pre{max-height:240px;margin:var(--space-2) 0 0;padding:10px var(--space-3);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;overflow:auto}.composer-dock{padding:var(--space-2) calc(var(--space-6) + var(--scrollbar-gap,0px)) max(var(--space-3), env(safe-area-inset-bottom)) var(--space-6);background:var(--background);flex:none}.composer-notice{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);text-align:center}.composer-notice--alert{padding:var(--space-2) var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);text-align:left}.composer{gap:var(--space-2);padding:var(--space-3) var(--space-3) 10px var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-xl);background:var(--surface-primary);box-shadow:var(--shadow-card);transition:border-color var(--duration-fast) ease-out, box-shadow var(--duration-fast) ease-out;flex-direction:column;display:flex}.composer:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-card)}.composer__input{field-sizing:content;resize:none;width:100%;min-height:26px;max-height:200px;color:var(--text-primary);font-size:var(--text-base);background:0 0;border:0;outline:none;padding:2px 0;line-height:1.55}.composer__input:focus-visible{outline:none}.composer__input::placeholder{color:var(--text-muted)}.composer__input:disabled{cursor:not-allowed}.composer__row{align-items:center;gap:var(--space-2);display:flex}.composer__tools{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;flex:1;min-width:0;display:flex}.composer__send{background:var(--accent-strong);width:36px;height:36px;color:var(--on-accent);transition:background-color var(--duration-fast) ease-out, transform var(--duration-fast) ease-out;border-radius:50%;flex:none;place-items:center;display:grid}.composer__send:hover:not(:disabled){background:var(--accent-strong-hover)}.composer__send:active:not(:disabled){transform:scale(.94)}.composer__send:disabled{background:var(--surface-muted);color:var(--text-muted)}.composer__send.is-loading:disabled{background:var(--accent-strong);color:var(--on-accent)}.privacy-line{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);text-align:center;line-height:1.5}.mode-picker{margin-left:auto;position:relative}.mode-picker__trigger{align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;display:flex}.mode-picker__trigger:hover{background:var(--surface-hover);color:var(--text-primary)}.mode-picker__chevron{font-size:10px}.mode-picker__menu{z-index:100;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--surface-elevated);width:max-content;min-width:220px;max-width:min(280px,100vw - 24px);max-height:min(280px,100vh - 32px);box-shadow:var(--shadow-pop);flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed;overflow-y:auto;transform:translate(-50%)}.mode-picker__option{width:100%;padding:var(--space-2) 10px;border-radius:var(--radius-sm);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.mode-picker__option:hover{background:var(--surface-hover)}.mode-picker__option-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.mode-picker__option.is-selected .mode-picker__option-label{color:var(--accent-text)}.mode-picker__option-description{font-size:var(--text-xs);color:var(--text-secondary)}.auto-eda{align-items:center;gap:6px;display:flex;position:relative}.auto-eda__switch{align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;display:flex}.auto-eda__switch:hover:not(:disabled){color:var(--text-primary)}.auto-eda__switch:disabled{cursor:not-allowed;opacity:.55}.auto-eda__track{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-muted);width:28px;height:16px;transition:background-color var(--duration-fast) ease-out, border-color var(--duration-fast) ease-out;position:relative}.auto-eda__thumb{background:var(--text-muted);width:10px;height:10px;transition:transform var(--duration-fast) ease-out, background-color var(--duration-fast) ease-out;border-radius:50%;position:absolute;top:2px;left:2px}.auto-eda__switch[aria-checked=true] .auto-eda__track{border-color:var(--accent-primary);background:var(--accent-soft)}.auto-eda__switch[aria-checked=true] .auto-eda__thumb{background:var(--accent-primary);transform:translate(12px)}.auto-eda__switch[aria-checked=true] .auto-eda__label{color:var(--text-primary)}.auto-eda__info{border:1px solid var(--border-strong);width:20px;height:20px;color:var(--text-secondary);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:11px;font-style:italic;font-weight:600;display:inline-grid}.auto-eda__info:hover,.auto-eda__info[aria-expanded=true]{border-color:var(--accent-primary);color:var(--text-primary)}.auto-eda__tip{z-index:100;width:max-content;max-width:min(320px,100vw - 40px);padding:10px var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-pop);color:var(--text-secondary);font-size:var(--text-xs);text-align:left;line-height:1.5;position:absolute;bottom:calc(100% + 14px);left:-8px}.auto-eda__tip[hidden]{display:none}.about{border:1px solid var(--border-primary);border-radius:var(--radius-xl);background:var(--surface-elevated);width:min(560px,100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);color:var(--text-primary);box-shadow:var(--shadow-pop);padding:0;overflow-y:auto}.about[open]{animation:dialogIn var(--duration) var(--ease-out)}.about::backdrop{background:var(--backdrop)}.about__body{gap:var(--space-5);padding:var(--space-5) var(--space-6) var(--space-6);display:grid}.about__header{margin-right:calc(-1 * var(--space-2));justify-content:space-between;align-items:center;display:flex}.about__tagline{font-size:var(--text-lg);font-weight:600;line-height:1.35}.about__section h3{margin-bottom:var(--space-2);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.about__steps,.about__list{margin:0;padding:0;list-style:none}.about__steps{gap:var(--space-2);display:grid}.about__steps li{align-items:flex-start;gap:var(--space-3);font-size:var(--text-md);color:var(--text-secondary);line-height:1.5;display:flex}.about__step-number{background:var(--accent-soft);width:22px;height:22px;color:var(--accent-text);font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.about__list{gap:var(--space-2);display:grid}.about__list li{padding-left:var(--space-4);font-size:var(--text-md);color:var(--text-secondary);line-height:1.5;position:relative}.about__list li:before{content:"";background:var(--brand-teal);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:2px}.about__footer{gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted);display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}}@keyframes dialogIn{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes shimmer{0%,to{opacity:.45}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}@media (width<=1023.98px){.conversation-scroll{padding:var(--space-6) var(--space-4) var(--space-4)}.composer-dock{padding-left:var(--space-3);padding-right:calc(var(--space-3) + var(--scrollbar-gap,0px))}}@media (width<=480px){.composer{padding-left:var(--space-3)}.drop-zone{padding:var(--space-6) var(--space-4)}.conversation-turn__question{max-width:92%}}.chart-panel{margin:var(--space-4) 0 var(--space-5);min-width:0}.chart-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.chart-panel__title{min-width:0;font-size:var(--text-base);color:var(--text-primary);font-weight:600;line-height:1.4}.chart-panel__toolbar{flex:none;align-items:center;gap:2px;display:flex}.chart-panel__action{min-height:28px;padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-xs);transition:background-color var(--duration-fast) ease-out, color var(--duration-fast) ease-out;font-weight:600}.chart-panel__action:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.chart-panel__action.is-active{background:var(--accent-soft);color:var(--accent-text)}.chart-panel__action:disabled{opacity:.45}.chart-canvas-wrapper{width:100%;position:relative}.chart-canvas{width:100%}.chart-canvas-placeholder{padding:var(--space-6) var(--space-1) var(--space-1);pointer-events:none;align-items:flex-end;gap:10px;display:flex;position:absolute;inset:0}.chart-canvas-placeholder__shimmer{border-radius:var(--radius-sm);background:var(--surface-muted);flex:1;height:60%;animation:1.5s infinite shimmer}.chart-data-table{max-height:340px;overflow-y:auto}.chart-panel__caption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.chart-unchartable{margin:var(--space-4) 0 var(--space-5);font-size:var(--text-sm);color:var(--text-secondary)}.chart-modal{z-index:200;padding:var(--space-4);background:var(--backdrop);animation:fadeIn var(--duration) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chart-modal__content{width:min(1100px,100%);max-height:100%;padding:var(--space-5) var(--space-6);border:1px solid var(--border-primary);border-radius:var(--radius-xl);background:var(--surface-elevated);box-shadow:var(--shadow-pop);overflow-y:auto}.chart-tooltip__head{opacity:.75;margin-bottom:var(--space-1)}.chart-tooltip__marker{margin-right:var(--space-1);display:inline-block}.result-renderer{min-width:0}.result-narrative{margin-bottom:var(--space-5);font-size:var(--text-base);color:var(--text-primary);overflow-wrap:anywhere;line-height:1.7}.result-narrative p+p{margin-top:var(--space-3)}.result-scalar-number{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.result-scalar-text{font-size:var(--text-base);line-height:1.6}.result-empty-text{font-size:var(--text-md);color:var(--text-secondary)}.result-table-wrapper{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--surface-primary);max-width:100%;overflow-x:auto}.result-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.result-table th{padding:10px var(--space-3);border-bottom:1px solid var(--border-primary);font-size:var(--text-xs);color:var(--text-secondary);text-align:left;white-space:nowrap;font-weight:600}.result-table td,.result-table tbody th{padding:9px var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-primary);text-align:left;overflow-wrap:anywhere;font-weight:400}.result-table tbody tr:last-child td,.result-table tbody tr:last-child th{border-bottom:0}.result-table-note{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.result-data{margin-top:var(--space-2)}.result-data>summary{width:fit-content;padding:var(--space-1) 0;cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.result-data>summary:hover{color:var(--text-primary)}.result-data[open]>summary{margin-bottom:var(--space-2)}.metric-table td.metric-table__key{width:1%;padding-right:var(--space-6);color:var(--text-secondary);white-space:nowrap;font-weight:500}.metric-grid__nested{gap:var(--space-1);flex-direction:column;display:flex}.metric-grid__nested-row{font-size:var(--text-xs);justify-content:space-between;gap:10px;display:flex}.metric-grid__nested-key{color:var(--text-secondary)}.metric-grid__nested-table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.metric-grid__nested-table th,.metric-grid__nested-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border-subtle);text-align:left}.metric-grid__nested-table th{color:var(--text-secondary);font-weight:600}.result-list{margin:0;padding:0;list-style:none}.result-list__row{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);display:flex}.result-list__index{min-width:28px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-sm)}.result-list__value{font-size:var(--text-md);overflow-wrap:anywhere}.result-unknown{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.result-actions{gap:var(--space-1);margin-top:var(--space-4);margin-left:calc(-1 * var(--space-2));flex-wrap:wrap;display:flex}.result-action{min-height:30px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);transition:background-color var(--duration-fast) ease-out, color var(--duration-fast) ease-out;font-weight:600}.result-action:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.result-action:disabled{opacity:.5}.result-code-panel{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-primary)}.result-interpretation{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.result-cache-note{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-muted)}.result-engine-badge{margin-bottom:var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);padding:2px 10px;font-weight:700;display:inline-block}.result-engine-badge--sql{background:var(--accent-soft);color:var(--accent-text)}.result-engine-badge--python{background:var(--metric-soft);color:var(--metric-accent)}.result-code-panel pre{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-primary);font-size:var(--text-xs);margin:0;line-height:1.6;overflow-x:auto}.overview-summary{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.overview-note{margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.overview-profile{margin-top:var(--space-2)}.overview-profile td,.overview-profile th{white-space:nowrap}.overview-profile thead th:first-child,.overview-profile tbody th{z-index:1;background:var(--surface-primary);box-shadow:1px 0 0 var(--border-subtle);position:sticky;left:0}.overview-profile .overview-profile__name{font-weight:600}
