:root{color-scheme:light;--ink:#4f3e55;--muted:#715e79;--line:#dfd3e4;--accent:#755383}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 15% 38%,#fcecee 0,transparent 52%),radial-gradient(ellipse at 90% 20%,#eee7f8 0,transparent 54%),#fcfafb;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[hidden]{display:none!important}.halo-shell{max-width:480px;width:100%;min-height:100svh;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(20px,env(safe-area-inset-left))}
header{display:flex;align-items:center;gap:10px;padding:24px 0}.brand{display:flex;align-items:center;gap:10px;min-height:44px;color:#342c35;font-size:18px;font-weight:650;letter-spacing:-.6px;text-decoration:none}.brand img{width:32px;height:32px;border-radius:9px}#logout{margin-left:auto}
main{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px 0}h1{font-size:26px;line-height:1.25;font-weight:500;letter-spacing:-.7px;margin:0;text-wrap:balance}p{overflow-wrap:anywhere}#auth-view{text-align:center;padding:50px 0}#auth-help{font-size:14px;color:var(--muted);margin:14px 0 28px}#auth-form{text-align:left;max-width:330px;margin:0 auto 16px}label{display:block;font-size:14px;margin:12px 0 5px}input,textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fcfafb;color:var(--ink)}#auth-submit{margin-top:18px;width:100%}
button,summary{min-width:44px;min-height:44px;font:500 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}button{padding:12px 18px;border:1px solid #c9b5d3;border-radius:24px;background:#eee3f2;color:var(--ink);-webkit-tap-highlight-color:transparent}button.secondary{background:transparent;border-color:var(--line)}button:disabled{opacity:.5;cursor:default}button[aria-pressed="true"]{background:#755383;color:#fff;border-color:#755383}button:hover:not(:disabled){border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}summary{display:flex;align-items:center;justify-content:center;padding:10px 0;color:var(--muted)}summary::before{content:'+';margin-right:8px}details[open]>summary::before{content:'−'}
.session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;font-size:12px;color:var(--muted)}#live-panel{text-align:center}.wave-stage{width:100%;height:200px;display:grid;place-items:center;margin:16px 0 0}#voice-wave{width:100%;max-width:340px;height:170px;overflow:visible}#voice-wave polyline{fill:none;stroke:url(#wave-ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#voice-wave polyline:nth-of-type(2){opacity:.4;stroke-width:1.5}#voice-wave polyline:nth-of-type(3){opacity:.2;stroke-width:1.3}#live-status{min-height:24px;font-size:14px;color:var(--muted);margin:0 0 16px}.voice-actions{display:flex;align-items:center;flex-direction:column;gap:12px}.call-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}#live-start{min-width:190px}#live-resume{border-color:var(--accent)}.quiet{font-size:12px;color:var(--muted);line-height:1.6}#live-quota{margin:20px 0 8px}.reduced-note{display:none}#history-panel{margin:18px 0 0;text-align:center}#messages{text-align:left;max-height:40svh;overflow:auto;overflow-wrap:anywhere}.message{white-space:pre-wrap;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.message strong{display:block;font-size:12px;margin-bottom:4px}#empty{font-size:14px}#reset{margin-top:12px}#status{font-size:14px;text-align:center;margin:12px 0 0}#status:empty{display:none}
footer{text-align:center;padding:12px 0 20px;color:var(--muted)}footer p{font-size:11px;line-height:1.6;margin:8px 0}footer summary{font-size:12px}footer details p{text-align:left;font-size:12px}
@media(max-height:720px){header{padding:14px 0}main{padding:10px 0}.session-header{margin-bottom:18px}.wave-stage{height:145px;margin-top:8px}#voice-wave{height:140px}#auth-view{padding:30px 0}}
@media(prefers-reduced-motion:reduce){.reduced-note{display:block}*,*::before,*::after{animation:none!important;transition:none!important}}
