:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #ffffff;--surface: #f7faf9;--surface-strong: #eef6f4;--text: #111827;--muted: #5b6875;--border: #d8e4e1;--accent: #0f766e;--accent-strong: #0b5f59;--amber: #b45309;--amber-bg: #fff7ed;--red: #b91c1c;--red-bg: #fff1f2;--shadow: 0 18px 42px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100%;margin:0;color:var(--text);background:linear-gradient(180deg,rgba(15,118,110,.07),transparent 280px),var(--bg)}button{font:inherit;-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,520px);min-height:100svh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 8px}.brand{display:flex;align-items:center;min-width:0;gap:10px}.brand-mark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:var(--accent);font-size:13px;font-weight:800}.brand h1,.brand p,.panel-copy h2,.panel-copy p,.section-heading h2{margin:0}.brand h1{font-size:18px;line-height:1.15;letter-spacing:0}.brand p{margin-top:2px;color:var(--muted);font-size:13px;line-height:1.2}.state-pill{min-height:36px;padding:0 11px;border:1px solid var(--border);border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:#ffffffd1;color:#25313d;font-size:13px;font-weight:700;white-space:nowrap}.status-dot{width:9px;height:9px;border-radius:999px;background:#94a3b8}.status-connected,.status-speaking{background:#16a34a;box-shadow:0 0 0 5px #16a34a21}.status-connecting,.status-requestingMic{background:var(--amber);box-shadow:0 0 0 5px #b453091f}.status-error{background:var(--red);box-shadow:0 0 0 5px #b91c1c1f}.voice-panel,.transcript-panel,.settings-panel,.diagnostics{border:1px solid var(--border);border-radius:8px;background:#ffffffe6;box-shadow:var(--shadow)}.voice-panel{padding:22px 18px 18px;display:grid;gap:18px;justify-items:center}.panel-copy{width:100%;text-align:left}.panel-copy h2{font-size:clamp(26px,8vw,38px);line-height:.98;letter-spacing:0;max-width:340px}.panel-copy p{margin-top:10px;max-width:380px;color:var(--muted);font-size:15px;line-height:1.45}.mic-button{width:min(54vw,190px);aspect-ratio:1;border:0;border-radius:999px;display:grid;place-items:center;align-content:center;gap:12px;color:#fff;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.3),transparent 32%),linear-gradient(160deg,#0f766e,#064e49);box-shadow:0 20px 48px #0f766e52,inset 0 -12px 24px #00000029;cursor:pointer;touch-action:manipulation}.mic-button:disabled{cursor:wait;opacity:.68}.mic-button-live{background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.35),transparent 32%),linear-gradient(160deg,#0f766e,#0b5f59);animation:livePulse 1.9s ease-in-out infinite}.mic-button span:last-child{font-size:16px;font-weight:800}.mic-icon{position:relative;width:34px;height:42px;border:4px solid currentColor;border-radius:18px}.mic-icon:before{content:"";position:absolute;left:50%;bottom:-19px;width:4px;height:15px;border-radius:999px;background:currentColor;transform:translate(-50%)}.mic-icon:after{content:"";position:absolute;left:50%;bottom:-22px;width:30px;height:16px;border:4px solid currentColor;border-top:0;border-radius:0 0 22px 22px;transform:translate(-50%)}.waveform{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:5px}.waveform span{width:5px;height:12px;border-radius:999px;background:#94a3b8;transform:scaleY(.65)}.waveform-active span{background:var(--accent);animation:bars .98s ease-in-out infinite;animation-delay:calc(var(--i) * 48ms)}.control-row{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-button,.notice button{min-height:48px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:15px;font-weight:800;cursor:pointer}.secondary-button:disabled{color:#9ca3af;cursor:not-allowed}.settings-panel{padding:15px;display:grid;gap:14px}.profile-control{display:grid;gap:8px}.profile-control>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.segmented-control{min-width:0;padding:3px;border:1px solid var(--border);border-radius:8px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;background:var(--surface)}.segmented-control button{min-height:42px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;overflow-wrap:anywhere}.segmented-control button.selected{color:#fff;background:var(--accent);box-shadow:0 8px 18px #0f766e2e}.toggle-row{min-height:58px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface)}.toggle-row span,.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:14px}.toggle-row small{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.3}.toggle-row input{width:24px;height:24px;accent-color:var(--accent);flex:0 0 auto}.wide-button{min-height:48px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:800;cursor:pointer}.wide-button:disabled{background:#9ca3af;cursor:not-allowed}.notice{border-radius:8px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid}.notice strong{display:block;margin-bottom:3px;font-size:14px}.notice p{margin:0;font-size:13px;line-height:1.35}.notice button{flex:0 0 auto;min-height:40px;padding:0 14px}.notice-recovery{color:#7c2d12;border-color:#fed7aa;background:var(--amber-bg)}.notice-error{color:#7f1d1d;border-color:#fecdd3;background:var(--red-bg)}.transcript-panel{min-height:230px;padding:15px;flex:1}.section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.section-heading h2{font-size:16px}.section-heading span{color:var(--muted);font-size:12px;font-weight:800}.empty-state{min-height:160px;border:1px dashed var(--border);border-radius:8px;display:grid;align-content:center;gap:6px;padding:18px;color:var(--muted);background:var(--surface)}.empty-state strong{color:var(--text);font-size:17px}.empty-state span{font-size:14px;line-height:1.4}.transcript-list{display:grid;gap:10px}.message{width:min(92%,390px);padding:12px;border-radius:8px;border:1px solid var(--border)}.message-user{justify-self:end;color:#fff;background:var(--accent);border-color:var(--accent)}.message-assistant{justify-self:start;background:var(--surface)}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:12px;font-weight:800;opacity:.78}.message-flag{padding:2px 6px;border-radius:999px;background:#ffffff2e}.message p{margin:0;font-size:15px;line-height:1.38;overflow-wrap:anywhere}.diagnostics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;box-shadow:none}.diagnostics div{padding:10px;background:var(--surface)}.diagnostics span,.diagnostics strong{display:block}.diagnostics span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.diagnostics strong{margin-top:3px;font-size:12px;overflow:hidden;text-overflow:ellipsis}@keyframes livePulse{0%,to{box-shadow:0 20px 48px #0f766e52,0 0 #0f766e29,inset 0 -12px 24px #00000029}50%{box-shadow:0 22px 54px #0f766e5c,0 0 0 15px #0f766e00,inset 0 -12px 24px #00000029}}@keyframes bars{0%,to{transform:scaleY(.55)}50%{transform:scaleY(2.45)}}@media(min-width:720px){.app-shell{width:min(100%,980px);display:grid;grid-template-columns:1fr 1fr;align-content:start;padding:28px}.topbar,.diagnostics{grid-column:1 / -1}.settings-panel{grid-column:1 / -1;grid-template-columns:repeat(2,1fr);align-items:start}.settings-panel .section-heading,.settings-panel .toggle-row,.settings-panel .control-row,.settings-panel .wide-button{grid-column:1 / -1}.voice-panel,.transcript-panel{min-height:620px}.panel-copy h2{font-size:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
