:root { color-scheme: light dark; --fg:#1b1b1b; --bg:#fbfbfa; --muted:#6b6b6b; --accent:#2b6cb0; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.65 ui-serif, Georgia, Cambria, serif; color:var(--fg); background:var(--bg); }
@media (prefers-color-scheme: dark) { :root { --fg:#e8e8e6; --bg:#16181b; --muted:#9aa0a6; --accent:#79b8f3; } }
a { color:var(--accent); }
header.site { display:flex; align-items:baseline; gap:1.5rem; justify-content:space-between;
  padding:1.25rem max(1.25rem, 8vw); border-bottom:1px solid rgba(127,127,127,.25); }
header.site .brand { font-weight:700; font-size:1.15rem; text-decoration:none; color:var(--fg); letter-spacing:.01em; }
header.site nav a { margin-left:1.1rem; text-decoration:none; color:var(--muted); }
header.site nav a:hover { color:var(--accent); }
main { max-width:44rem; margin:0 auto; padding:2.5rem max(1.25rem, 6vw) 4rem; }
h1 { font-size:1.75rem; margin:0 0 1.75rem; }
article.card { padding:1.25rem 0; border-bottom:1px solid rgba(127,127,127,.18); }
article.card h2 { font-size:1.2rem; margin:.15rem 0 .4rem; }
article.card h2 a { text-decoration:none; }
article.card p { margin:.15rem 0; }
p.meta { color:var(--muted); font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; }
footer { border-top:1px solid rgba(127,127,127,.25); padding:1.5rem max(1.25rem, 8vw); color:var(--muted); font-size:.9rem; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.92em; }
ul.tight li { margin:.25rem 0; }
