:root{--bg:#f6f7fb;--card:#fff;--tx:#1d2433;--mu:#5b6579;--pr:#2f5bea;--ok:#168a4a;--bad:#c93030;--bd:#e1e5ee;--soft:#eef2ff}
@media(prefers-color-scheme:dark){:root{--bg:#10131a;--card:#181d28;--tx:#e8ebf3;--mu:#9aa5bb;--pr:#7b9bff;--ok:#4cd081;--bad:#ff7a7a;--bd:#2a3244;--soft:#1e2740}}
*{box-sizing:border-box}body{margin:0;font:17px/1.7 system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--tx)}
a{color:var(--pr)}header.top{background:var(--pr);color:#fff;padding:28px 20px;text-align:center}
header.top h1{margin:0;font-size:1.9rem}header.top p{margin:6px 0 0;opacity:.9}
.wrap{max-width:900px;margin:0 auto;padding:20px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:18px 22px;margin:16px 0}
h2{border-left:5px solid var(--pr);padding-left:12px;margin-top:34px}h3{color:var(--pr)}
.note,.tip,.warn{border-radius:10px;padding:12px 16px;margin:14px 0}.note{background:var(--soft)}
.tip{background:#e8f8ef;color:#0f5132}.warn{background:#fff3e0;color:#7a4300}
@media(prefers-color-scheme:dark){.tip{background:#12301f;color:#a6e9c2}.warn{background:#3a2a10;color:#ffd699}}
table{border-collapse:collapse;width:100%;margin:12px 0;display:block;overflow-x:auto}th,td{border:1px solid var(--bd);padding:8px 12px;text-align:left}th{background:var(--soft)}
code,kbd{background:var(--soft);padding:2px 7px;border-radius:5px;font-size:.92em}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.day{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px 16px}
.day b{color:var(--pr)}.day small{color:var(--mu);display:block}.day.live{border-color:var(--pr);box-shadow:0 2px 10px rgba(47,91,234,.15)}
.day.soon{opacity:.75}.badge{font-size:.72rem;background:var(--ok);color:#fff;border-radius:20px;padding:1px 9px;margin-left:6px}
.day.done{border-color:var(--ok)}input#q{width:100%;padding:12px 14px;font-size:1rem;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--tx)}
.bar{height:10px;background:var(--bd);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--ok);width:0}
.mcq{margin:18px 0}.mcq button{display:block;width:100%;text-align:left;margin:6px 0;padding:10px 14px;border:1px solid var(--bd);border-radius:9px;background:var(--card);color:var(--tx);font:inherit;cursor:pointer}
.mcq button.right{background:var(--ok);color:#fff}.mcq button.wrong{background:var(--bad);color:#fff}
.mcq .ex{display:none;color:var(--mu);font-size:.95rem}.nav{display:flex;justify-content:space-between;gap:10px;margin:30px 0;flex-wrap:wrap}
.btn{display:inline-block;background:var(--pr);color:#fff;border:0;border-radius:9px;padding:10px 18px;text-decoration:none;font:inherit;cursor:pointer}
.btn.ok{background:var(--ok)}.task{background:var(--card);border:1px dashed var(--pr);border-radius:10px;padding:12px 16px;margin:12px 0}
ol li,ul li{margin:5px 0}footer{text-align:center;color:var(--mu);padding:30px}
