:root{--bg:#0c1017;--panel:#141b26;--raised:#1b2433;--top:#242f42;--field:#0f151f;--ink:#e6ebf5;--muted:#8a97ad;--accent:#2dd4bf;--on-accent:#04221e;--ok:#39c07a;--on-ok:#06210f;--warn:#e6a23c;--line:rgba(255,255,255,.08);--topbar-bg:rgba(12,16,23,.92);--backdrop:rgba(5,8,13,.6);--hover:rgba(255,255,255,.02);--me-bg:#1d3b45;--me-line:rgba(45,212,191,.18)}[data-theme=light]{--bg:#f6f8fb;--panel:#ffffff;--raised:#eef1f6;--top:#e2e8f0;--field:#ffffff;--ink:#16202e;--muted:#5c6b82;--accent:#0f766e;--on-accent:#ffffff;--ok:#1a7f4e;--on-ok:#ffffff;--warn:#b45309;--line:rgba(15,23,42,.12);--topbar-bg:rgba(246,248,251,.92);--backdrop:rgba(15,23,42,.4);--hover:rgba(15,23,42,.05);--me-bg:#e0f2f1;--me-line:rgba(13,148,136,.28)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink)}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{flex:1;min-width:0}.brand h1{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.brand p{margin:3px 0 0;color:var(--muted);font-size:12.5px}.topbar-actions{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto}.chip{display:flex;align-items:center;gap:8px;min-width:0;max-width:420px;padding:7px 12px;background:var(--raised);color:var(--ink);border:1px solid var(--line);border-radius:999px;font-size:12.5px}.chip:hover{background:var(--top)}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--muted)}.chip-dot.nova{background:var(--accent)}.icon-btn{flex:none;width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:18px;line-height:1;background:var(--raised);color:var(--ink);border:1px solid var(--line);border-radius:8px}.icon-btn:hover{background:var(--top)}.stage{max-width:1280px;margin:0 auto;padding:20px 24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.card h3{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}#chat{height:clamp(380px,58vh,720px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.msg{padding:10px 13px;border-radius:12px;max-width:75%;font-size:14px;line-height:1.45}.me{align-self:flex-end;background:var(--me-bg);border:1px solid var(--me-line)}.them{align-self:flex-start;background:var(--raised);border:1px solid var(--line)}.them b{color:var(--accent)}#status{margin-top:10px;font-size:13px;color:var(--muted);min-height:20px}#status.live{color:var(--ok)}#status.think{color:var(--warn)}button{background:var(--accent);color:var(--on-accent);font-weight:600;border:0;border-radius:8px;padding:10px 14px;font-size:14px;cursor:pointer;font-family:inherit}button:hover:not(:disabled){filter:brightness(1.08)}button.secondary{background:var(--top);color:var(--ink);font-weight:500;border:1px solid var(--line)}button:disabled{opacity:.5;cursor:default}button.rec{background:var(--ok);color:var(--on-ok)}button.rec.on{background:#d9534f;color:#fff}button:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select,input[type=text],input[type=password],textarea{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit}select,input[type=text],input[type=password]{padding:8px 10px}select:focus,input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:var(--accent)}select:disabled{cursor:default}select,input[type=range]{width:100%;margin-top:6px}input[type=checkbox],input[type=range]{accent-color:var(--accent)}input[type=file]{color:var(--muted)}label{font-size:13px;color:var(--muted);display:block;margin-top:10px}.row{display:flex;gap:8px;align-items:center;margin-top:10px}textarea{width:100%;padding:9px 10px;resize:vertical}.meter{height:6px;background:var(--field);border-radius:3px;overflow:hidden;margin-top:8px}.meter>div{height:100%;width:0%;background:var(--accent);transition:width .08s}.val{color:var(--ink);font-weight:600}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--backdrop);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}.drawer-backdrop.open{opacity:1;visibility:visible;transition:opacity .2s}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(400px,100vw);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line);box-shadow:-12px 0 32px #0006;transform:translate(100%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s}.drawer.open{transform:none;visibility:visible;transition:transform .25s ease}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:15px;font-weight:600}.drawer-body{flex:1;overflow-y:auto;padding:14px 16px 24px}@media(prefers-reduced-motion:reduce){.drawer,.drawer.open,.drawer-backdrop,.drawer-backdrop.open{transition:none}}.section{padding:0;background:var(--panel)}.section>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;border-radius:12px}.section>summary::-webkit-details-marker{display:none}.section>summary:before{content:"▸";color:var(--muted);font-size:11px;transition:transform .15s}.section[open]>summary:before{transform:rotate(90deg);color:var(--accent)}.section>summary:hover{background:var(--hover)}.section>summary:hover h3,.section>summary:focus-visible h3{color:var(--ink)}.section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.section>summary h3{margin:0;flex:none}.section>summary .meta{flex:1;min-width:0;text-align:right;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section[open]>summary .meta{visibility:hidden}.section-body{padding:0 14px 14px}.persona{display:flex;align-items:center;gap:6px;font-size:13px;margin-top:4px}@media(max-width:640px){.topbar{padding:10px 14px}.brand p{display:none}.chip{max-width:52vw}.stage{padding:14px}.msg{max-width:88%}}
