:root{--bg:#f7f8fa;--card:#fff;--ink:#16202a;--muted:#5a6672;--line:#d9dee4;--accent:#0b5cad;--ok:#146c2e;--okbg:#e6f4ea;--bad:#a4262c;--badbg:#fbe9ea}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10151a;--card:#182027;--ink:#e8edf2;--muted:#9aa7b3;--line:#2a3541;--accent:#6fb3ff;--ok:#7fd69a;--okbg:#14301f;--bad:#ff9a9f;--badbg:#3a1a1c}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
main,header.top,footer{max-width:720px;margin:0 auto;padding:0 16px}
header.top{padding-top:18px;padding-bottom:4px;display:flex;justify-content:space-between;align-items:center;gap:8px}
header.top a{color:var(--ink);text-decoration:none;font-weight:700}
h1{font-size:1.65rem;line-height:1.25;margin:.6em 0 .3em}
h2{font-size:1.2rem;margin:1.4em 0 .4em}
a{color:var(--accent)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.states{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;list-style:none;padding:0;margin:12px 0}
.states li a,.states li span{display:block;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink);font-weight:600}
.states li a{border-color:var(--accent)}
.states li span{color:var(--muted);font-weight:500}
.states small{display:block;font-weight:400;color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;min-height:44px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn{color:#0a1118}}
.btn.alt{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.opt{display:block;width:100%;text-align:left;margin:8px 0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;cursor:pointer;min-height:44px}
.opt:hover:not(:disabled){border-color:var(--accent)}
.opt.right{background:var(--okbg);border-color:var(--ok)}
.opt.wrong{background:var(--badbg);border-color:var(--bad)}
.opt:disabled{cursor:default}
.explain{border-left:4px solid var(--accent);padding:8px 12px;margin:12px 0;background:var(--card)}
.meta{color:var(--muted);font-size:.9rem}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:6px 0 12px}
.bar i{display:block;height:100%;background:var(--accent)}
.notice{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 12px;font-size:.92rem;color:var(--muted)}
.row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
footer{padding-top:20px;padding-bottom:40px;color:var(--muted);font-size:.88rem;border-top:1px solid var(--line);margin-top:28px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
