@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.p.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_4b3c6c6a-module__t86y_G__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_4b3c6c6a-module__t86y_G__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/5e60c3e60a629e0e-s.p.185vq78hrw2dq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/d2d62b05021c6286-s.p.2d9e_tvweuz-y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono Fallback;src:local(Arial);ascent-override:71.59%;descent-override:17.57%;line-gap-override:0.0%;size-adjust:134.59%}.spline_sans_mono_cc4216aa-module__FnpYGa__className{font-family:Spline Sans Mono,Spline Sans Mono Fallback;font-style:normal}.spline_sans_mono_cc4216aa-module__FnpYGa__variable{--font-spline-mono:"Spline Sans Mono", "Spline Sans Mono Fallback"}
:root{--ink-950:#0d0b08;--ink-900:#131009;--ink-800:#1d1810;--ink-700:#2a231a;--line:#3a3226;--cream:#f4ead8;--cream-dim:#b3a892;--cream-faint:#756c5b;--amber:#e8a33d;--amber-soft:#e8a33d24;--state-listening:#4ecfa4;--state-thinking:#e8a33d;--state-speaking:#ff8d5c;--state-warn:#e8cf3d;--state-danger:#f0564f;--state-neutral:#8b8272;--font-display:var(--font-bricolage), "Avenir Next", sans-serif;--font-mono:var(--font-spline-mono), "SF Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--radius:14px;--radius-lg:22px;--touch-target:44px}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-display);-webkit-text-size-adjust:100%}body{background:radial-gradient(120% 80% at 50% -10%, #241c10 0%, transparent 60%), var(--ink-950);color:var(--cream);min-height:100dvh;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:700}button{font:inherit;min-width:var(--touch-target);min-height:var(--touch-target);cursor:pointer;border-radius:var(--radius);background:var(--ink-700);color:var(--cream);border:none}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.shell{max-width:480px;min-height:100dvh;padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-3) max(var(--space-4), env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim);font-size:.8rem}.card{background:linear-gradient(180deg, var(--ink-800), var(--ink-900));border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4)}.btn-primary{background:var(--amber);color:var(--ink-950);border-radius:var(--radius-lg);width:100%;min-height:64px;font-size:1.15rem;font-weight:700;transition:transform .12s,filter .12s}.btn-primary:active{filter:brightness(1.08);transform:scale(.985)}.btn-primary:disabled{background:var(--ink-700);color:var(--cream-faint)}.btn-danger{background:var(--state-danger);color:#fff;border-radius:var(--radius-lg);width:100%;min-height:64px;font-size:1.15rem;font-weight:700}.btn-ghost{border:1px solid var(--line);color:var(--cream-dim);background:0 0}.lang-switch{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.lang-switch button{min-height:52px;font-family:var(--font-mono);letter-spacing:.12em;border:1px solid var(--line);color:var(--cream-dim);background:0 0;font-size:.95rem}.lang-switch button[aria-pressed=true]{background:var(--amber-soft);border-color:var(--amber);color:var(--amber);font-weight:700}.orb-wrap{align-items:center;gap:var(--space-4);flex-direction:column;flex:1;justify-content:center;display:flex}.orb{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--orb-color,var(--state-neutral)) 55%, white 10%), color-mix(in srgb, var(--orb-color,var(--state-neutral)) 70%, black 40%) 70%);width:min(58vw,240px);height:min(58vw,240px);box-shadow:0 0 60px 6px color-mix(in srgb, var(--orb-color,var(--state-neutral)) 45%, transparent), inset 0 -18px 40px #00000059;border-radius:50%;transition:background .4s,box-shadow .4s;animation:4.5s ease-in-out infinite breathe}.orb[data-state=thinking]{animation-duration:2.2s}.orb[data-state=mic-blocked],.orb[data-state=disconnected],.orb[data-state=error]{animation:none}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@media (prefers-reduced-motion:reduce){.orb{animation:none}}.state-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cream);text-align:center;font-size:1.35rem}.state-help{color:var(--cream-dim);text-align:center;max-width:32ch}details.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-900)}details.panel>summary{padding:var(--space-3);min-height:var(--touch-target);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;justify-content:space-between;align-items:center;font-size:.8rem;list-style:none;display:flex}details.panel>summary:after{content:"+";font-size:1.1rem}details.panel[open]>summary:after{content:"-"}.panel-body{padding:0 var(--space-3) var(--space-3);gap:var(--space-2);flex-direction:column;max-height:40dvh;display:flex;overflow-y:auto}.bubble{padding:var(--space-2) var(--space-3);border-radius:var(--radius);max-width:92%;font-size:.95rem}.bubble[data-role=user]{background:var(--ink-700);align-self:flex-end}.bubble[data-role=assistant]{background:var(--amber-soft);align-self:flex-start}.bubble[data-status=partial]{opacity:.65}.bubble[data-status=interrupted]{opacity:.5;text-decoration:line-through;text-decoration-thickness:1px}.citation{border-left:3px solid var(--amber);padding:var(--space-2) var(--space-3);background:var(--ink-800);border-radius:0 var(--radius) var(--radius) 0;font-size:.9rem}.citation .mono{font-size:.7rem}.markdown-preview{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);max-height:48dvh;font-size:.85rem;line-height:1.6;overflow-y:auto}textarea.markdown-editor{font-family:var(--font-mono);background:var(--ink-900);border:1px solid var(--amber);border-radius:var(--radius);width:100%;min-height:40dvh;color:var(--cream);padding:var(--space-3);font-size:.85rem;line-height:1.6}.path-chip{font-family:var(--font-mono);color:var(--amber);background:var(--amber-soft);padding:var(--space-1) var(--space-3);overflow-wrap:anywhere;border-radius:999px;font-size:.75rem;display:inline-block}.stack{gap:var(--space-3);flex-direction:column;display:flex}.row{gap:var(--space-2);display:flex}.row>*{flex:1}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a{color:var(--amber)}
