.nav{display:flex;gap:18px;margin:2px 0 14px}
.nav a{color:var(--acc);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent}
.nav a[aria-current]{border-color:var(--acc);font-weight:600}
[hidden]{display:none!important}
.loginform{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.bar input[type=text]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);min-width:200px}
:root{--bg:#f6f7f9;--card:#fff;--ink:#1c2330;--mute:#5d6778;--line:#dde1e8;--acc:#1f5fd6;--ok:#157347;--warn:#a15c00}
@media (prefers-color-scheme:dark){:root{--bg:#10141b;--card:#181e28;--ink:#e8ecf3;--mute:#9aa5b8;--line:#2a3342;--acc:#6ea0ff;--ok:#4cc38a;--warn:#e8b04b}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:0 16px 40px}
header,.bar,main{max-width:1100px;margin:0 auto}
h1{font-size:1.4rem;margin:24px 0 4px}.sub{margin:0 0 16px;color:var(--mute)}
.bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-bottom:16px}
.bar input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);min-width:240px}
button{background:var(--acc);color:#fff;border:0;border-radius:8px;padding:10px 20px;font:inherit;font-weight:600;cursor:pointer}
button.ghost{background:transparent;color:var(--acc);border:1px solid var(--acc)}
button:disabled{opacity:.55;cursor:wait}
#status{color:var(--mute)}
main{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:820px){main{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.wide{grid-column:1/-1}
h2{font-size:1rem;margin:0 0 10px;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.big{font-size:1.5rem;font-weight:700;margin:0 0 10px}
.row{display:grid;grid-template-columns:9rem 1fr 7rem;gap:10px;align-items:center;margin:6px 0}
.row .count{text-align:right;font-variant-numeric:tabular-nums}
progress{width:100%;height:14px;accent-color:var(--acc)}
progress.open{accent-color:var(--warn)}progress.answered,progress.done{accent-color:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}
.num{text-align:right;font-variant-numeric:tabular-nums}
.note{color:var(--mute);font-size:.9rem}
.plain{margin:0 0 10px;padding-left:20px}
