:root { color-scheme: dark; --bg:#0b1220; --fg:#e8eefc; --muted:#8ea0c4; --go:#16a34a; --stop:#dc2626; --card:#141d31; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.4 system-ui, -apple-system, sans-serif; }
main { max-width:560px; margin:0 auto; padding:max(16px, env(safe-area-inset-top)) 16px 32px; display:flex; flex-direction:column; gap:16px; align-items:stretch; }
header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
h1 { font-size:22px; margin:0; }
select { background:var(--card); color:var(--fg); border:1px solid #2a3756; border-radius:10px; padding:8px 10px; font-size:16px; }
#status { text-align:center; color:var(--muted); min-height:1.4em; margin:8px 0 0; font-size:20px; }
.call { align-self:center; width:220px; height:220px; border-radius:50%; border:0; font-size:34px; font-weight:700; color:#fff; background:var(--go); box-shadow:0 0 0 0 rgba(22,163,74,.5); }
.call.live { background:var(--stop); }
.call.listening { animation:pulse 1.4s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(220,38,38,.55);} 100%{box-shadow:0 0 0 28px rgba(220,38,38,0);} }
.row { display:flex; gap:12px; }
.row button { flex:1; padding:16px; font-size:18px; border-radius:12px; border:1px solid #2a3756; background:var(--card); color:var(--fg); }
.row button:disabled { opacity:.4; }
.row button.on { background:#7c2d12; }
#threadLink { text-align:center; color:#93c5fd; }
#log { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
#log li { background:var(--card); border-radius:10px; padding:10px 12px; white-space:pre-wrap; }
#log li.you { border-left:4px solid #3b82f6; }
#log li.agent { border-left:4px solid var(--go); }
#log li.note { color:var(--muted); font-size:14px; }
.resume { align-self:center; width:min(100%, 360px); padding:18px; font-size:20px; font-weight:600; border-radius:14px; border:1px solid #2f6f4a; background:#123222; color:var(--fg); }
.login { display:flex; flex-direction:column; gap:12px; }
.login input { padding:16px; font-size:18px; border-radius:12px; border:1px solid #2a3756; background:var(--card); color:var(--fg); }
[role=alert] { color:#fca5a5; }
