:root{--paper:#f6f8fc;--grid:rgba(46,88,160,.07);--sheet:#fff;--sheet-2:#f1f4fa;--ink:#141d35;--ink-2:#4a556e;--ink-3:#7c869c;--rule:#dfe5ef;--red:#d0263a;--red-soft:#fce8ea;--hl:#ffe27a}
@media (prefers-color-scheme:dark){:root{--paper:#0d131f;--grid:rgba(140,172,235,.055);--sheet:#141c2c;--sheet-2:#1a2336;--ink:#e8edf6;--ink-2:#a4afc5;--ink-3:#76819b;--rule:#263149;--red:#ff6272;--red-soft:rgba(255,98,114,.14)}}
*{box-sizing:border-box}body{margin:0;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px;color:var(--ink);font:16px/1.55 "Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.wrap{max-width:980px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:18px}
.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none}.word{font-family:Archivo,"Arial Narrow",sans-serif;font-weight:900;font-stretch:125%;font-size:26px;letter-spacing:-.02em;line-height:1}
.grade{font-family:Kalam,cursive;color:var(--red);font-weight:700;font-size:18px;line-height:1;border:2px solid var(--red);border-radius:50% 46% 52% 44%;padding:5px 6px 2px;transform:rotate(-8deg);display:inline-block}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;font-weight:700;text-decoration:none;background:var(--ink);color:var(--paper)}.btn.ghost{background:var(--sheet);color:var(--ink);border:1px solid var(--rule)}
.crumbs{font-size:14px;color:var(--ink-3);margin:8px 0 0}.crumbs a{color:var(--ink-2)}
h1{font-family:Archivo,"Arial Narrow",sans-serif;font-weight:900;font-stretch:90%;font-size:clamp(30px,5vw,46px);line-height:1.03;letter-spacing:-.02em;margin:10px 0 12px}
h2{font-family:Archivo,"Arial Narrow",sans-serif;font-weight:900;font-size:28px;margin:30px 0 10px}
.lede{font-size:18px;color:var(--ink-2);max-width:62ch;margin:0 0 18px}
.cta{display:grid;gap:10px;background:var(--sheet);border:2px solid var(--ink);border-radius:16px;padding:18px 20px;margin:22px 0}.cta b{font-family:Archivo,sans-serif;font-size:20px}.cta p{margin:0;color:var(--ink-2)}.cta .row{display:flex;gap:10px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.card{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:14px 16px;display:grid;gap:6px}
.card h3{margin:0;font-family:Archivo,sans-serif;font-size:18px}.code{font-family:Archivo,sans-serif;font-stretch:75%;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;color:var(--red)}
.links{display:flex;flex-wrap:wrap;gap:6px 14px;font-weight:700;font-size:15px}.links a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule)}
.note{font-size:13px;color:var(--ink-3)}.pill{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--sheet-2);color:var(--ink-2);justify-self:start}
.subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;list-style:none;padding:0;margin:0}
.subjects a{display:grid;gap:2px;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:14px 16px;text-decoration:none}.subjects a:hover,.card:hover{border-color:var(--ink-3)}
.subjects b{font-size:17px}.subjects span{font-size:14px;color:var(--ink-2)}
footer{margin-top:40px;padding-block:28px;border-top:1px solid var(--rule);color:var(--ink-3);font-size:14px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}