:root { --paper:#f6f7f4; --ink:#1d2421; --soft:#5c6763; --line:#d5dad6; --mark:#2f6f5e; }
@media (prefers-color-scheme: dark) { :root { --paper:#141917; --ink:#e7ebe8; --soft:#9aa5a0; --line:#2b3330; --mark:#7fc4b0; } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 38rem; margin: 0 auto; padding: 4.5rem 1.25rem 3rem; }
h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 .5rem; letter-spacing: -.01em; }
h2 { font-size: 1.1rem; margin: 2.2rem 0 .4rem; }
p, li { margin: 0 0 .8rem; }
ul { padding-left: 1.2rem; margin: 0 0 .8rem; }
.lede { color: var(--soft); font-size: 1.1rem; margin-bottom: 2rem; }
.date { color: var(--soft); font-size: .9rem; }
a { color: var(--mark); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--mark); outline-offset: 3px; border-radius: 2px; }
nav { border-top: 1px solid var(--line); margin-top: 3rem; padding-top: 1rem; display:flex; gap:1.25rem; flex-wrap:wrap; font-size:.95rem; }
