:root { --page:#101010; --panel:#1a1a1a; --line:rgba(255,255,255,.16); --text:#e6e6e3; --grey:#9a9a9a; --accent:#5b9df0; }
* { box-sizing: border-box; }
html { color-scheme: dark; }
body { margin:0; background:var(--page); color:var(--text); font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); text-underline-offset:3px; }
header, main, footer { max-width:44rem; margin:0 auto; padding:0 1.25rem; }
header { display:flex; align-items:center; gap:.75rem; padding-top:1.5rem; padding-bottom:1.5rem; }
header img { height:2.25rem; }
header a.brand { color:var(--text); text-decoration:none; font-weight:600; font-size:1.25rem; letter-spacing:.02em; }
header nav { margin-left:auto; display:flex; gap:1.25rem; font-size:.95rem; }
h1 { font-size:2.1rem; line-height:1.2; margin:2.5rem 0 1rem; font-weight:650; }
h2 { font-size:1.25rem; margin:2.25rem 0 .5rem; }
p, li { color:#d4d4d1; }
ul { padding-left:1.25rem; }
.lead { font-size:1.2rem; color:var(--text); }
.card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1rem 1.25rem; margin:1.25rem 0; }
.meta { color:var(--grey); font-size:.9rem; }
footer { padding-top:2.5rem; padding-bottom:3rem; color:var(--grey); font-size:.9rem; border-top:1px solid var(--line); margin-top:3rem; }
footer a { color:var(--grey); }
@media (max-width:30rem) { h1 { font-size:1.7rem; } body { font-size:16px; } }
.first { margin-top:0; }
