:root{color-scheme:light dark;--bg:#0f1115;--fg:#e8eaf0;--mut:#8b93a7;--card:#181b22;--acc:#3b82f6;--ok:#22c55e;--bad:#ef4444;--warn:#f59e0b}
@media (prefers-color-scheme:light){:root{--bg:#f5f6f8;--fg:#14161b;--mut:#5f6675;--card:#fff}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
main{max-width:720px;margin:0 auto;padding:16px 14px calc(24px + env(safe-area-inset-bottom))}
header{display:flex;align-items:center;justify-content:space-between;gap:8px}h1{font-size:20px;margin:6px 0}h2{font-size:15px;color:var(--mut);margin:18px 0 8px;font-weight:600}
.pill{font-size:13px;padding:4px 10px;border-radius:999px;background:var(--card);color:var(--mut)}
.pill.live{color:#fff;background:var(--ok)}.pill.talk{color:#fff;background:var(--acc)}.pill.think{color:#111;background:var(--warn)}
button{font:inherit;border:0;border-radius:12px;padding:12px 14px;background:var(--card);color:var(--fg);cursor:pointer}
button:disabled{opacity:.45}.big{width:100%;font-size:19px;padding:18px;background:var(--ok);color:#fff}.big.end{background:var(--bad)}
.danger{background:var(--bad);color:#fff}.row{display:flex;gap:8px;margin-top:8px}.row button{flex:1}
.opt{display:block;margin-top:10px;color:var(--mut);font-size:14px}
.log{background:var(--card);border-radius:12px;padding:10px;max-height:40vh;overflow:auto;font-size:15px}
.log p{margin:4px 0}.log .u{color:var(--acc)}.log .a{color:var(--fg)}.log .s{color:var(--mut);font-size:13px}
.tasks .t{background:var(--card);border-radius:12px;padding:10px;margin-bottom:8px}
.tasks .t b{font-weight:600}.tasks .st{font-size:13px;color:var(--mut)}.tasks .ans{white-space:pre-wrap;margin-top:6px;font-size:14px;max-height:30vh;overflow:auto}
.muted{color:var(--mut)}form{display:flex;gap:8px;margin-top:8px}form input{flex:1;font:inherit;padding:12px;border-radius:12px;border:1px solid #3334;background:var(--card);color:var(--fg)}
.login{max-width:340px;margin-top:20vh}.login form{flex-direction:column}.err{color:var(--bad)}
.tasks .files{display:flex;flex-direction:column;gap:8px;margin-top:8px}.tasks .files img{max-width:100%;border-radius:8px;display:block}.tasks .files .doc{color:var(--acc);text-decoration:none}
