:root{--background:#f4f1eb;--foreground:#151515;--muted:#68645f;--card:#fff;--card-border:#1515151a;--accent:#111;--accent-foreground:#fff;--success:#197a4f;--warning:#a15c00;--danger:#b42318;--ring:#1111112e;--page-glow:#ffffffe6;--page-gradient-start:#f7f3eb;--page-gradient-end:#ddd8d0;--panel-bg:#101010;--panel-fg:#fff;--panel-muted:#ffffffb8;--panel-border:#ffffff1f;--transcript-bg:#ffffffb8;--message-bg:#fff;--message-user-bg:#f1f7ff;--message-agent-bg:#f4fff9;--message-text:#2f2b27;--orb-agent:#65ffd6;--orb-user:#ffcf5a;--orb-blue:#2b7cff;--orb-purple:#8f5bff}:root[data-theme=dark]{--background:#07090d;--foreground:#f6f7fb;--muted:#a9b0bd;--card:#111722;--card-border:#ffffff1a;--accent:#fff;--accent-foreground:#090b10;--success:#76e1b7;--warning:#ffd166;--danger:#ff6b6b;--ring:#76e1b73d;--page-glow:#35577c6b;--page-gradient-start:#080b12;--page-gradient-end:#141926;--panel-bg:#070a10;--panel-fg:#fff;--panel-muted:#ffffffad;--panel-border:#ffffff24;--transcript-bg:#0d121cd6;--message-bg:#111827;--message-user-bg:#10213a;--message-agent-bg:#0e2b24;--message-text:#e8edf7}*{box-sizing:border-box}html{background:radial-gradient(circle at top left, var(--page-glow), transparent 32rem), linear-gradient(135deg, var(--page-gradient-start) 0%, var(--page-gradient-end) 100%);overscroll-behavior:none;min-height:100%}body{min-height:100%;color:var(--foreground);background:0 0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:color .18s}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.page-shell{width:min(680px,100vw - 32px);min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(0px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(0px, env(safe-area-inset-left));place-items:center;margin:0 auto;display:grid}.voice-widget{width:min(100%,560px);max-height:calc(100dvh - max(32px, env(safe-area-inset-top)) - max(32px, env(safe-area-inset-bottom)));flex-direction:column;gap:14px;min-height:0;margin:0 auto;display:flex}.voice-widget__panel{border:1px solid var(--panel-border);background:radial-gradient(circle at top, #76e1b729, transparent 18rem), var(--panel-bg);color:var(--panel-fg);border-radius:28px;overflow:hidden;box-shadow:0 24px 80px #00000029,inset 0 1px #ffffff1a}.voice-widget__topbar{text-align:left;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 0;display:flex}.voice-widget__topbar>div:first-child{flex:1}.voice-widget__topbar h2{letter-spacing:-.045em;margin:6px 0 0;font-size:clamp(1.35rem,4vw,2rem)}.voice-widget__topbar p{color:var(--panel-muted);margin:8px auto 0;line-height:1.5}.voice-widget__status{color:var(--panel-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.status-dot{background:#858585;border-radius:999px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 0 5px #ffffff0f}.status-dot[data-state=connected],.status-dot[data-state=listening],.status-dot[data-state=speaking]{background:var(--success)}.status-dot[data-state=thinking],.status-dot[data-state=connecting],.status-dot[data-state=reconnecting],.status-dot[data-state=recovering]{background:var(--warning)}.status-dot[data-state=error],.status-dot[data-state=disconnected]{background:var(--danger)}.theme-toggle{border:1px solid var(--panel-border);background:#ffffff14;border-radius:999px;gap:4px;padding:4px;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.theme-toggle__button{width:34px;height:34px;color:var(--panel-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:1rem;line-height:1;transition:color .16s,background .16s,transform .16s;display:grid}.theme-toggle__button:hover{color:var(--panel-fg);transform:translateY(-1px)}:root[data-theme-mode=light] .theme-toggle__button[data-mode=light],:root[data-theme-mode=system] .theme-toggle__button[data-mode=system],:root[data-theme-mode=dark] .theme-toggle__button[data-mode=dark]{color:var(--panel-fg);background:color-mix(in srgb, var(--panel-fg) 14%, transparent);box-shadow:0 0 18px #22f4d229}.voice-widget__orb-wrap{place-items:center;padding:clamp(12px,3.5dvh,28px) 18px clamp(10px,2.5dvh,20px);display:grid;overflow:visible}.voice-orb{--voice-level:0;isolation:isolate;appearance:none;color:#fff;cursor:pointer;transform-origin:50%;width:min(220px,44dvh,74vw);height:min(220px,44dvh,74vw);box-shadow:0 0 0 calc(2px + (var(--voice-level) * 12px)) rgba(34, 244, 210, calc(.04 + (var(--voice-level) * .1))), 0 0 80px #22f4d233, 0 0 130px #7870ff29;background:radial-gradient(circle,#22f4d221,#0000 64%),radial-gradient(circle,#7870ff1f,#0000 72%);border:0;border-radius:999px;place-items:center;margin:0 auto;padding:0;transition:transform .18s,box-shadow .18s,filter .18s;display:grid;position:relative;overflow:visible}.voice-orb:before,.voice-orb:after{border-radius:inherit;content:"";pointer-events:none;position:absolute}.voice-orb:before{z-index:-1;background:conic-gradient(from 0deg, transparent 0 18%, #62ffdb70 24%, transparent 31% 58%, #7870ff6b 66%, transparent 74% 100%);filter:blur(12px);opacity:.78;border:1px solid #98ffe82e;animation:6s linear infinite orb-rotate;inset:8px}.voice-orb:after{z-index:1;mix-blend-mode:screen;background:radial-gradient(circle,#0000 54%,#ffffff0f 56%,#0000 68%);border:1px solid #ffffff1f;inset:26px}.voice-orb:hover:not(:disabled){transform:translateY(-2px)scale(1.025)}.voice-orb[data-active=true]{box-shadow:0 0 0 10px #22f4d20f,0 0 54px #22f4d252,0 0 140px #7870ff47}.voice-orb[data-speaking=true],.voice-orb[data-user-speaking=true]{animation:.9s ease-in-out infinite alternate speaking-breathe}.voice-orb[data-user-speaking=true]{box-shadow:0 0 0 calc(8px + (var(--voice-level) * 18px)) rgba(255, 207, 90, calc(.08 + (var(--voice-level) * .14))), 0 0 64px #ffcf5a57, 0 0 140px #ff7a593d}.voice-orb__canvas{z-index:2;pointer-events:none;position:absolute;inset:0}.voice-orb__canvas canvas{width:100%;height:100%;display:block}.voice-widget__controls{flex-wrap:wrap;justify-content:center;gap:10px;padding:0 18px 18px;display:flex}.control-button{border:1px solid var(--panel-border);color:var(--panel-fg);background:#ffffff1a;border-radius:999px;padding:12px 16px;font-weight:800}.control-button--primary{color:#111;background:#fff;border-color:#0000}.control-button--danger{color:#ffd4d4;border-color:#ff6b6b66}.voice-widget__error,.voice-widget__notice{border-radius:16px;margin:0 18px 20px;padding:12px 14px;font-size:.92rem}.voice-widget__error{color:#ffe2e0;background:#b4231838}.voice-widget__notice{color:#fff3cd;background:#a15c003d}.transcript-shell{flex-direction:column;flex:auto;gap:10px;width:100%;min-height:0;display:flex}.transcript-shell__topbar{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;font-weight:800;display:flex}.text-button{border:1px solid var(--card-border);color:var(--foreground);background:color-mix(in srgb, var(--card) 74%, transparent);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800}.transcript{overscroll-behavior:contain;scroll-behavior:smooth;border:1px solid var(--card-border);background:var(--transcript-bg);text-align:left;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;flex:auto;gap:10px;width:100%;min-height:112px;max-height:min(30dvh,300px);margin:0 auto;padding:14px;display:grid;overflow:auto}.transcript__empty{color:var(--muted);text-align:center;margin:0;font-size:.92rem}.transcript-message{background:var(--message-bg);border-radius:16px;gap:4px;padding:12px;display:grid}.transcript-message[data-role=user]{background:var(--message-user-bg);margin-left:28px}.transcript-message[data-role=assistant]{background:var(--message-agent-bg);margin-right:28px}.transcript-message strong{color:var(--foreground);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.transcript-message span{color:var(--message-text);line-height:1.45}.transcript-message__entity{color:var(--accent);overflow-wrap:anywhere;text-underline-offset:.18em;font-weight:800;text-decoration:underline;text-decoration-thickness:.08em}.transcript-message__entity:hover{color:var(--foreground)}@keyframes orb-rotate{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{opacity:.85;transform:scale(.82)}to{opacity:0;transform:scale(1.28)}}@keyframes speaking-breathe{0%{filter:saturate();transform:scale(1)}to{filter:saturate(1.18);transform:scale(1.045)}}@keyframes equalize{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (max-width:520px){.page-shell{width:min(100vw - 18px,1180px);padding:max(10px, env(safe-area-inset-top)) max(0px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(0px, env(safe-area-inset-left))}.voice-widget{max-height:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)));gap:10px}.voice-widget__topbar{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 16px 0}.voice-widget__topbar p{line-height:1.35}.theme-toggle{align-self:center}.voice-widget__orb-wrap{padding:10px 14px 8px}.voice-orb{width:min(168px,32dvh,62vw);height:min(168px,32dvh,62vw)}.voice-widget__controls{gap:8px;padding:0 14px 14px}.control-button{padding:10px 14px}.transcript-shell__topbar{flex-direction:column;align-items:stretch;gap:8px}.transcript{min-height:96px;max-height:24dvh;padding:12px}.transcript-message{padding:10px}}@media (max-height:720px){.voice-widget__topbar p{display:none}.voice-orb{width:min(180px,34dvh,68vw);height:min(180px,34dvh,68vw)}.transcript{max-height:22dvh}}
