:root{--ink:#13203A;--muted:#56647E;--bg:#F3F6FA;--card:#FFFFFF;--line:#D9E2EC;--brand:#0B7C70;--brand-ink:#fff;--soft:#DDF3EF;--gold:#F2B705;--key-ink:#075F56}
@media (prefers-color-scheme: dark){:root{--ink:#E8EEF7;--muted:#9AA8BE;--bg:#0E1626;--card:#16213A;--line:#2A3854;--brand:#33C5B1;--brand-ink:#062521;--soft:#123A39;--key-ink:#5FD6C5}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--brand)}a:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}
.top{background:var(--card);border-bottom:1px solid var(--line)}.top-in{max-width:820px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;text-decoration:none;color:var(--ink)}
.mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#0B7C70;color:#fff;font-weight:800}.mark i{color:var(--gold);font-style:normal}
main{max-width:820px;margin:0 auto;padding:20px 16px 64px}
.crumbs{font-size:.88rem;color:var(--muted);margin:0 0 10px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px}.crumbs li+li::before{content:"›";margin:0 6px 0 2px}.crumbs a{color:inherit}
h1{font-size:1.9rem;line-height:1.2;margin:0 0 8px}h2{font-size:1.25rem;margin:0 0 8px}h3{font-size:1.05rem;margin:0 0 6px}
.lede{font-size:1.08rem;color:var(--muted);margin:0 0 16px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}.tags li{background:var(--soft);border-radius:20px;padding:2px 12px;font-size:.85rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin:0 0 14px}
.key .eyebrow{color:var(--key-ink)}.key{background:var(--soft);border-radius:16px;padding:16px 18px;margin:0 0 14px}.eyebrow{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin-bottom:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:var(--brand-ink);font-weight:700;text-decoration:none;border-radius:14px;padding:13px 22px;min-height:48px;border:0;font-size:1rem}
.btn.sm{padding:8px 16px;min-height:40px}.btn.ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}.cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;margin:0 0 16px}.video button{all:unset;cursor:pointer;position:absolute;inset:0;display:block}.video img{width:100%;height:100%;object-fit:cover;display:block}
.video span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.72);color:#fff;font-weight:700;border-radius:30px;padding:10px 20px;white-space:nowrap}.video iframe{width:100%;height:100%;border:0;display:block}
.soon{border:2px dashed var(--line);border-radius:14px;padding:14px 16px;color:var(--muted);margin:0 0 16px;font-size:.95rem}
ol.worked{padding-left:22px;margin:8px 0}.answer{font-weight:700}
.frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;font-size:.85em;line-height:1.1}.frac span:first-child{border-bottom:1.5px solid currentColor;padding:0 2px}.rad{border-top:1.5px solid currentColor;padding:0 2px}
ul.lessons{list-style:none;padding:0;margin:0;display:grid;gap:6px}ul.lessons a{display:block;padding:8px 12px;border-radius:10px;background:var(--bg);text-decoration:none;color:var(--ink)}ul.lessons a:hover{background:var(--soft)}
ul.lessons small{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;list-style:none;padding:0;margin:0 0 20px}
.grid a{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--ink);font-weight:700}.grid small{display:block;font-weight:400;color:var(--muted)}
.pn{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:20px 0}.pn a{max-width:48%}
footer{max-width:820px;margin:0 auto;padding:0 16px 40px;font-size:.88rem;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}footer a{color:inherit}
@media (max-width:520px){h1{font-size:1.55rem}.pn a{max-width:100%}}