:root{--bg:#0f1115;--panel:#171a21;--ink:#e8eaed;--muted:#9aa3b2;--line:#242832;
--accent:#5b9dff;--accent2:#7ee0c0;--max:72ch}
@media (prefers-color-scheme:light){:root{--bg:#fbfbfd;--panel:#fff;--ink:#15181d;
--muted:#5b6472;--line:#e3e6ec;--accent:#1a5fd0;--accent2:#0f8a70}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
font:16px/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
header.top{border-bottom:1px solid var(--line);background:var(--panel);
position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;gap:16px;height:60px}
.brand{font-weight:700;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.tag{font-size:12px;color:var(--muted);margin-left:auto}
main{padding:32px 0 64px}
h1{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.2;letter-spacing:-.02em;margin:.2em 0}
h2{font-size:1.25rem;margin:2em 0 .5em;letter-spacing:-.01em}
h3{font-size:1.05rem;margin:1.6em 0 .4em}
p,li{max-width:var(--max)}
.muted{color:var(--muted)}
.card{border:1px solid var(--line);background:var(--panel);border-radius:12px;
padding:18px 20px;margin:14px 0}
.card h3{margin:0 0 6px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
margin:20px 0}
.pill{display:inline-block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;
padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.pill.video{color:var(--accent2);border-color:var(--accent2)}
video{width:100%;max-width:420px;border-radius:12px;border:1px solid var(--line);
background:#000;display:block;margin:16px 0}
figure{margin:16px 0}
figcaption{font-size:13px;color:var(--muted);margin-top:8px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:600}
footer{border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:13px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}