:root{--navy:#1F3A5F;--teal:#2A9D8F;--gray:#E9EEF2;--orange:#F4A261;--ink:#1b1b1b;--muted:#4b5563;--bg:#fff;--card:#F7F9FB;--good:#1f7a5a;--bad:#a33a2a}
@media (prefers-color-scheme:dark){:root{--ink:#eef2f6;--muted:#b6c0cc;--bg:#0f1720;--card:#16212d;--gray:#26384a;--good:#4fc39a;--bad:#ff8a7a}}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
a{color:var(--teal)}
.wrap{max-width:960px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;color:#000;padding:8px;z-index:9}
header.top{background:var(--navy);color:#fff}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 18px}
.brand{color:#fff;font-weight:700;text-decoration:none}
header nav a{color:#fff;margin-left:16px;font-size:15px;text-decoration:none}
.who{margin-left:16px;font-size:14px;color:#cfdbe7}
main{padding:26px 18px 60px;min-height:70vh}
h1{color:var(--navy);font-size:28px;line-height:1.2}
@media (prefers-color-scheme:dark){h1,h2{color:#9ec5e8}}
.muted{color:var(--muted)}
.bar{height:10px;background:var(--gray);border-radius:6px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--teal)}
.mods{list-style:none;padding:0;display:grid;gap:12px}
.mod{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border:1px solid var(--gray);border-radius:12px;padding:14px 16px}
.mod a{font-weight:600;text-decoration:none}
.tag{font-size:13px;padding:3px 9px;border-radius:20px;background:var(--gray);white-space:nowrap}
.tag.done{background:var(--good);color:#fff}.tag.lock{opacity:.7}
.lessons{padding-left:20px}.lessons li{margin:6px 0}
.btn{display:inline-block;background:var(--orange);color:#1b1b1b;font-weight:700;padding:11px 18px;border-radius:10px;text-decoration:none;border:0;font-size:16px;cursor:pointer}
.btn.sec{background:var(--gray);color:var(--ink)}
.btn:disabled{opacity:.5;cursor:default}
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:30px;flex-wrap:wrap}
.lesson img{max-width:100%;height:auto;background:#fff;border-radius:8px}
.lesson table,.q table{border-collapse:collapse;width:100%;font-size:15px;margin:10px 0;display:block;overflow-x:auto}
.lesson th,.lesson td,.q th,.q td{border:1px solid var(--gray);padding:6px 8px;vertical-align:top;text-align:left}
.lesson th,.q th{background:var(--card)}
.lesson blockquote{margin:12px 0;padding:10px 14px;background:var(--card);border-left:5px solid var(--orange);border-radius:6px}
figure{margin:16px 0}figcaption{font-size:14px;color:var(--muted)}
.q{background:var(--card);border:1px solid var(--gray);border-radius:12px;padding:18px;margin-top:14px}
.opt{display:block;width:100%;text-align:left;margin:8px 0;padding:12px 14px;border-radius:10px;border:2px solid var(--gray);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer}
.opt:hover:not(:disabled){border-color:var(--teal)}
.opt.right{border-color:var(--good)}.opt.wrong{border-color:var(--bad)}
.fb{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--gray)}
.fb b.ok{color:var(--good)}.fb b.no{color:var(--bad)}
.foot{background:var(--navy);color:#cfdbe7;padding:18px 0;font-size:14px}.foot a{color:#fff}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
