:root{--bg:#f7f8fa;--fg:#1d2330;--muted:#5d6675;--card:#fff;--line:#dfe3ea;--accent:#2f6fde;--ok:#1f8a4c;--okbg:#e6f5ec;--bad:#c23b3b;--badbg:#fbeaea}
@media (prefers-color-scheme:dark){:root{--bg:#14171d;--fg:#e8ebf0;--muted:#9aa3b2;--card:#1d222b;--line:#2f3642;--accent:#6aa0ff;--ok:#5fd08e;--okbg:#18382a;--bad:#ff8a8a;--badbg:#3d1d1f}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
main{max-width:720px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:1.7rem;margin:.2em 0}
h2{font-size:1.25rem;margin:1.6em 0 .5em;border-bottom:1px solid var(--line);padding-bottom:.25em}
h3{font-size:1.05rem;margin:1.2em 0 .3em}
a{color:var(--accent)}
.lead{color:var(--muted)}
.muted{color:var(--muted);font-size:.9rem}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:10px 0;text-decoration:none;color:var(--fg)}
.card span{display:block;color:var(--muted);font-size:.9rem}
.box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
th{background:var(--bg)}
code,.mono{font-family:ui-monospace,Menlo,monospace;font-size:.95em}
.q{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:14px 0}
.q p{margin:.2em 0 .6em}
.q button{display:block;width:100%;text-align:left;margin:6px 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}
.q button.right{border-color:var(--ok);background:var(--okbg)}
.q button.wrong{border-color:var(--bad);background:var(--badbg)}
.why{display:none;margin-top:8px;font-size:.93rem;color:var(--muted)}
.q.done .why{display:block}
#score{position:sticky;bottom:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-top:20px;font-weight:600}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:10px 0}
summary{cursor:pointer;font-weight:600}
ul{padding-left:1.2em}
li{margin:.25em 0}
