:root{--bg: #16181a;--bg-raised: #1d2023;--bg-sunken: #101214;--border: #2c3034;--text: #e8e6e1;--text-dim: #9b9890;--text-faint: #6b6962;--accent: #7da87b;--accent-dim: #45543f;--danger: #c4756b;--warn: #c9a86a;--ok: #7da87b;--radius: 10px;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}[data-persona=arden]{--accent: #8fa3b8;--accent-dim: #3e4a56}[data-persona=kai]{--accent: #d9985f;--accent-dim: #6b4a2c}[data-persona=wren]{--accent: #7da87b;--accent-dim: #45543f}[data-persona=sela]{--accent: #a89bc4;--accent-dim: #4d4761}[data-persona=quinn]{--accent: #9fae9a;--accent-dim: #4a5347}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;cursor:pointer}button:hover{border-color:var(--accent-dim)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#14161a;font-weight:600}button.primary:hover{filter:brightness(1.08)}button.danger{border-color:var(--danger);color:var(--danger);background:transparent}button.ghost{background:transparent}button.small{padding:4px 10px;font-size:13px;border-radius:7px}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;width:100%}textarea{resize:vertical;min-height:70px}label{display:block;font-size:13px;color:var(--text-dim);margin:14px 0 6px}.layout{display:flex;height:100%}.sidebar{width:220px;flex-shrink:0;background:var(--bg-sunken);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px;gap:2px}.sidebar .brand{font-size:19px;font-weight:700;letter-spacing:.04em;padding:0 10px 14px;color:var(--text)}.sidebar .brand span{color:var(--accent)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{padding:8px 10px;border-radius:8px;color:var(--text-dim)}.sidebar nav a.active{background:var(--bg-raised);color:var(--text)}.sidebar nav a:hover{color:var(--text);text-decoration:none}.sidebar .foot{margin-top:auto;font-size:12px;color:var(--text-faint);padding:0 10px}.main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.statusstrip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 22px;border-bottom:1px solid var(--border);background:var(--bg-sunken);font-size:12.5px;position:sticky;top:0;z-index:5}.content{padding:24px 26px 60px;max-width:960px;width:100%;margin:0 auto}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.badge.on{border-color:var(--accent-dim);color:var(--text)}.badge.on .dot{background:var(--ok)}.badge.alert{border-color:var(--warn);color:var(--warn)}.badge.alert .dot{background:var(--warn)}.badge.live .dot{background:var(--danger);animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}h1{font-size:24px;font-weight:650;margin:0 0 6px}h2{font-size:17px;font-weight:600;margin:26px 0 10px}p.dim,span.dim,div.dim{color:var(--text-dim)}p.faint{color:var(--text-faint);font-size:13px}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin:10px 0}.card h3{margin:0 0 6px;font-size:15px;font-weight:600}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:760px){.grid2{grid-template-columns:1fr}.sidebar{width:64px}.sidebar .brand,.sidebar nav a span.txt,.sidebar .foot{display:none}}.presence-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 0 10px}.presence{width:168px;height:168px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center}.presence .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--accent-dim);transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}.presence .core{width:64%;height:64%;border-radius:50%;background:radial-gradient(circle at 38% 32%,var(--accent-dim),var(--bg-sunken) 78%);transition:transform .3s ease}.presence[data-state=listening] .ring{animation:breathe 4.2s ease-in-out infinite;border-color:var(--accent-dim)}.presence[data-state=user_speaking] .ring{border-color:var(--accent);box-shadow:0 0 28px -6px var(--accent)}.presence[data-state=thinking] .ring{animation:orbit 2.4s linear infinite;border-style:dashed}.presence[data-state=coach_speaking] .ring{animation:speakpulse .9s ease-in-out infinite;border-color:var(--accent)}.presence[data-state=coach_speaking] .core{transform:scale(1.05)}.presence[data-state=interrupted] .ring{transform:scale(.92);border-color:var(--warn)}.presence[data-state=muted] .ring,.presence[data-state=paused] .ring{opacity:.35}.presence[data-state=idle] .ring{opacity:.55}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes speakpulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.presence-state{font-size:13px;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}.presence.minimal{width:0;height:0;overflow:hidden;padding:0}.presence.tile-style{width:132px;height:96px;border-radius:var(--radius)}.presence.tile-style .ring{border-radius:var(--radius)}.presence.tile-style .core{border-radius:8px;width:78%;height:64%}.session-grid{display:grid;grid-template-columns:1fr 290px;gap:18px}@media(max-width:900px){.session-grid{grid-template-columns:1fr}}.transcript{display:flex;flex-direction:column;gap:10px;padding:8px 0;min-height:180px}.turn{max-width:85%;padding:10px 14px;border-radius:12px;white-space:pre-wrap}.turn.user{align-self:flex-end;background:var(--accent-dim)}.turn.coach{align-self:flex-start;background:var(--bg-raised);border:1px solid var(--border)}.turn.coach.interrupted{opacity:.65}.turn .meta{font-size:11px;color:var(--text-faint);margin-top:4px}.captions{min-height:26px;font-size:14px;color:var(--text-dim);font-style:italic;padding:4px 2px}.voicebar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 0;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--bg)}.composer{display:flex;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.composer textarea{flex:1;min-height:46px}.cue-chip{display:inline-flex;gap:8px;align-items:center;border:1px dashed var(--warn);border-radius:999px;padding:4px 10px;font-size:12.5px;color:var(--warn)}.cue-chip button{padding:1px 8px;font-size:11.5px;border-radius:999px}.cue-chip.confirmed{border-color:var(--ok);color:var(--ok)}.cue-chip.denied{border-color:var(--text-faint);color:var(--text-faint);text-decoration:line-through}.selfview{width:100%;border-radius:var(--radius);border:1px solid var(--border);background:#000}.onboard{max-width:620px;margin:40px auto;padding:0 20px}.persona-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.persona-pick .card{cursor:pointer;margin:0}.persona-pick .card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.steps{display:flex;gap:6px;margin-bottom:26px}.steps .step{height:4px;flex:1;border-radius:2px;background:var(--border)}.steps .step.done{background:var(--accent)}.banner{border:1px solid var(--warn);border-radius:var(--radius);background:color-mix(in srgb,var(--warn) 8%,transparent);padding:12px 16px;margin:12px 0;font-size:14px}.banner.info{border-color:var(--accent-dim);background:color-mix(in srgb,var(--accent) 7%,transparent)}.banner.danger{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-dim);font-weight:500}dialog{background:var(--bg-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);max-width:480px;padding:22px}dialog::backdrop{background:#0000008c}.kbd{font-size:12px;border:1px solid var(--border);border-radius:5px;padding:1px 6px;color:var(--text-dim)}.mic-meter{display:inline-block;width:70px;height:8px;border-radius:4px;background:var(--bg-sunken);border:1px solid var(--border);overflow:hidden}.mic-meter-fill{display:block;height:100%;background:var(--accent);transition:width 80ms linear}.voice-card{position:relative}.voice-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.voice-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
