:root{--bg:#08080c;--bg-subtle:#0c0c12;--surface:#101017;--surface-1:#15151e;--surface-2:#1c1c28;--overlay:rgba(8,8,12,.72);--fg:#f5f5f7;--fg-secondary:#a1a1aa;--fg-tertiary:#6b6b78;--fg-disabled:#3f3f4a;--border:hsla(0,0%,100%,.06);--border-strong:hsla(0,0%,100%,.1);--border-focus:#818cf8;--accent:#818cf8;--accent-hover:#6366f1;--accent-press:#4f46e5;--accent-soft:rgba(129,140,248,.12);--accent-soft-border:rgba(129,140,248,.28);--accent-fg:#fff;--accent-gradient:linear-gradient(135deg,#818cf8,#a78bfa);--success:#34d399;--success-soft:rgba(52,211,153,.12);--warning:#f59e0b;--warning-soft:rgba(245,158,11,.12);--danger:#f87171;--danger-soft:hsla(0,91%,71%,.12);--bubble-user-bg:var(--accent);--bubble-user-fg:var(--accent-fg);--bubble-assistant-bg:transparent;--bubble-assistant-fg:var(--fg);--bubble-stroke:var(--border);--caret:var(--accent);--input-bg:#15151e;--input-border:hsla(0,0%,100%,.08);--input-border-focus:var(--accent);--placeholder:#55556a;--scrollbar:hsla(0,0%,100%,.08);--scrollbar-hover:hsla(0,0%,100%,.16);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.28);--shadow-sm:0 2px 6px -2px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.22);--shadow-md:0 8px 24px -6px rgba(0,0,0,.4),0 2px 6px -2px rgba(0,0,0,.25);--shadow-lg:0 16px 48px -12px rgba(0,0,0,.5),0 4px 12px -4px rgba(0,0,0,.3);--shadow-accent:0 0 0 1px rgba(129,140,248,.22),0 6px 24px -6px rgba(99,102,241,.35);--font-sans:"InterVariable","Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.55;--leading-relaxed:1.7;--tracking-tight:-0.015em;--tracking-normal:0;--ease-standard:cubic-bezier(0.2,0.0,0.2,1);--ease-emphasis:cubic-bezier(0.2,0.8,0.2,1);--ease-exit:cubic-bezier(0.4,0.0,1,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:120ms;--dur-normal:200ms;--dur-slow:320ms;--transition-fast:var(--dur-fast) var(--ease-standard);--transition-normal:var(--dur-normal) var(--ease-standard);--transition-slow:var(--dur-slow) var(--ease-emphasis);--content-max:780px;--header-height:64px;--color-background:var(--bg);--color-foreground:var(--fg);--color-surface:var(--surface);--color-surface-elevated:var(--surface-2);--color-muted:var(--surface-1);--color-muted-foreground:var(--fg-secondary);--color-border:var(--border);--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-ring:var(--border-focus);--color-warning:var(--warning);--color-destructive:var(--danger);--color-on-primary:var(--accent-fg);--color-primary:var(--accent);--color-secondary:var(--fg-secondary);--color-user-bubble:var(--bubble-user-bg);--color-user-bubble-text:var(--bubble-user-fg);--color-assistant-bubble:var(--surface-1);--color-assistant-bubble-text:var(--fg);--color-input-bg:var(--input-bg);--color-input-border:var(--input-border);--color-input-focus:var(--input-border-focus);--color-placeholder:var(--placeholder);--color-scrollbar:var(--scrollbar);--color-scrollbar-hover:var(--scrollbar-hover)}@media (prefers-color-scheme:light){:root{--bg:#fafafb;--bg-subtle:#f4f4f7;--surface:#fff;--surface-1:#f7f7f9;--surface-2:#ededf2;--overlay:rgba(20,20,30,.55);--fg:#0a0a12;--fg-secondary:#52525b;--fg-tertiary:#7c7c8a;--fg-disabled:#c4c4cc;--border:rgba(16,16,28,.08);--border-strong:rgba(16,16,28,.14);--border-focus:#4f46e5;--accent:#4f46e5;--accent-hover:#4338ca;--accent-press:#3730a3;--accent-soft:rgba(79,70,229,.1);--accent-soft-border:rgba(79,70,229,.3);--accent-fg:#fff;--accent-gradient:linear-gradient(135deg,#4f46e5,#7c3aed);--success:#059669;--success-soft:rgba(5,150,105,.1);--warning:#b45309;--warning-soft:rgba(180,83,9,.1);--danger:#dc2626;--danger-soft:rgba(220,38,38,.1);--bubble-user-bg:var(--accent);--bubble-user-fg:#fff;--bubble-assistant-bg:transparent;--bubble-assistant-fg:var(--fg);--bubble-stroke:var(--border);--input-bg:#fff;--input-border:rgba(16,16,28,.1);--placeholder:#a1a1aa;--scrollbar:rgba(16,16,28,.12);--scrollbar-hover:rgba(16,16,28,.24);--shadow-xs:0 1px 2px rgba(16,16,28,.05);--shadow-sm:0 2px 6px -2px rgba(16,16,28,.08),0 1px 2px rgba(16,16,28,.04);--shadow-md:0 8px 24px -6px rgba(16,16,28,.1),0 2px 6px -2px rgba(16,16,28,.06);--shadow-lg:0 16px 48px -12px rgba(16,16,28,.16),0 4px 12px -4px rgba(16,16,28,.08);--shadow-accent:0 0 0 1px rgba(79,70,229,.18),0 6px 24px -6px rgba(79,70,229,.22);--color-assistant-bubble:var(--surface-1)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-gutter:stable}body{font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";font-variation-settings:"opsz" 20;background:var(--bg);color:var(--fg);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);min-height:100dvh}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle at 25% 10%,rgba(129,140,248,.06),transparent 55%),radial-gradient(circle at 85% 90%,rgba(167,139,250,.05),transparent 55%);-webkit-mask-image:linear-gradient(180deg,#000,#000 70%,transparent);mask-image:linear-gradient(180deg,#000,#000 70%,transparent)}@media (prefers-color-scheme:light){body:before{background-image:radial-gradient(circle at 25% 10%,rgba(79,70,229,.05),transparent 55%),radial-gradient(circle at 85% 90%,rgba(124,58,237,.04),transparent 55%)}}body>*{position:relative;z-index:1}::selection{background:var(--accent);color:var(--accent-fg)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:4px}button{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border:2px solid transparent;background-clip:content-box;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:content-box}.glass{background:color-mix(in oklab,var(--surface) 72%,transparent);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px)}.text-mono-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","tnum"}.hairline{border:1px solid var(--border)}.stream-caret:after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--caret);animation:caret-blink 1s steps(2,start) infinite}.shimmer{background:linear-gradient(90deg,var(--surface-1) 0,var(--surface-2) 50%,var(--surface-1) 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite;border-radius:var(--radius-sm)}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes messageEnter{0%{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes caret-blink{0%,45%{opacity:1}50%,to{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translate3d(0,12px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes scoreMaterialize{0%{opacity:0;transform:scale(.92);filter:blur(2px)}60%{opacity:1;filter:blur(0)}to{transform:scale(1)}}@keyframes progressFill{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes livePulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab,var(--success) 50%,transparent)}50%{box-shadow:0 0 0 6px transparent}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.stream-caret:after{animation:none;opacity:1}}