:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--teal-950:#04262a;--teal-900:#08262a;--teal-800:#0b373f;--teal-700:#17353b;--purple:#b25aff;--purple-hover:#c27dff;--amber:#f9b53a;--cream:#fffdef;--bg:var(--teal-900);--card:var(--teal-950);--surface:var(--teal-800);--border:var(--teal-700);--text:#e9ece4;--heading:var(--cream);--muted:#9fb0ad;--accent:var(--purple);--listening:var(--amber);--danger:#ff6b6b;--agent-bubble:var(--teal-700);--user-bubble:var(--purple);--skin:#f2c6a0;--skin-shade:#e3ad84;--hair:#2a1d17;--shirt:var(--purple);--headset:#0d1213;--stage:radial-gradient(circle at 50% 38%, #b25aff29 0%, #08262a00 58%);--radius:16px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2{color:var(--heading);margin:0}.muted{color:var(--muted);margin:0;font-size:.95rem}.topbar{justify-content:space-between;align-items:center;gap:12px;max-width:1180px;margin:0 auto;padding:20px 16px 0;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.logo-plate{font-family:"Poppins", var(--font);letter-spacing:-.02em;color:#0d1213;background:var(--cream);border-radius:4px;padding:4px 10px;font-size:1.15rem;font-weight:800;box-shadow:0 0 0 2px #0d1213,0 0 0 3px #fffdef99}.brand-sub{color:var(--cream);opacity:.85;font-weight:500}.layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;max-width:1180px;margin:0 auto;padding:20px 16px 32px;display:grid}@media (width<=860px){.layout{grid-template-columns:minmax(0,1fr)}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;padding:28px 24px;display:flex}.stage{background:var(--stage), var(--card)}.stage-head{flex-direction:column;gap:10px;display:flex}.eyebrow{color:var(--cream);opacity:.9;margin:0;font-size:.95rem}.stage-head h1{letter-spacing:-.03em;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:500;line-height:1.08}.accent{color:var(--amber)}.pill{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:500}.pill.listening{color:var(--listening);border-color:var(--listening)}.pill.speaking{color:var(--purple);border-color:var(--purple)}.pill.connecting{color:var(--cream);border-color:var(--cream)}.avatar{--level:0;aspect-ratio:1;border-radius:50%;width:min(280px,68vw);margin:24px auto 20px;transition:filter .4s;position:relative}.avatar:before{content:"";border:3px solid var(--listening);opacity:calc(.15 + var(--level) * .85);transform:scale(calc(1 + var(--level) * .06));border-radius:50%;transition:opacity 80ms,transform 80ms;display:none;position:absolute;inset:-10px}.avatar.connected.listening:before{display:block}.avatar.disconnected{filter:saturate(.75)opacity(.85)}.avatar svg{width:100%;height:100%;animation:5s ease-in-out infinite breathe;display:block}.avatar.speaking svg{animation-duration:3s}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.avatar svg{animation:none}}.skin{fill:var(--skin)}.skin-shade{fill:var(--skin-shade)}.hair{fill:var(--hair)}.shirt{fill:var(--shirt)}.headset{fill:var(--headset)}.headset-band,.headset-mic{fill:none;stroke:var(--headset);stroke-width:5px;stroke-linecap:round}.brow{fill:none;stroke:var(--hair);stroke-width:3.5px;stroke-linecap:round}.eye{fill:#2b2420}.eye-shine{fill:#fff}.eyes{transform-origin:100px 100px;transition:transform 70ms}.eyes.blink{transform:scaleY(.1)}.cheek{fill:#e88f8f;opacity:.35}.nose{fill:none;stroke:var(--skin-shade);stroke-width:2.5px;stroke-linecap:round}.mouth{fill:#7a2f35;stroke:#5c2328;stroke-width:1.5px}.teeth{fill:#fff}.controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--cream);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:11px 22px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--purple);border-color:var(--purple);color:#fff}.btn.primary:hover:not(:disabled){background:var(--purple-hover)}.btn.primary:after{content:"→"}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger:hover{background:#ff6b6b1f}.btn:focus-visible,.text-form input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.error{color:var(--danger);text-align:center;margin:12px 0 0;font-size:.9rem}.chat{max-height:calc(100vh - 110px)}@media (width<=860px){.chat{max-height:70vh}}.chat h2{margin-bottom:12px;font-size:1.05rem;font-weight:600}.transcript{flex-direction:column;flex:1;gap:8px;min-height:200px;margin:0 0 12px;padding:0;list-style:none;display:flex;overflow-y:auto}.transcript li{overflow-wrap:anywhere;border-radius:14px;max-width:85%;padding:9px 13px}.transcript .agent{background:var(--agent-bubble);color:var(--cream);border-bottom-left-radius:4px;align-self:flex-start}.transcript .user{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.transcript .system{color:var(--muted);align-self:center;padding:2px;font-size:.82rem}.text-form{gap:8px;display:flex}.text-form input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex:1;padding:11px 14px}.text-form input::placeholder{color:var(--muted)}.text-form .btn:after{content:none}.audio-unlock{font:inherit;white-space:nowrap;background:var(--amber);color:#0d1213;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:.9rem;font-weight:600;animation:1.6s ease-in-out infinite nudge;position:absolute;bottom:8%;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}@keyframes nudge{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.05)}}@media (prefers-reduced-motion:reduce){.audio-unlock{animation:none}}
