:root {
  --text: #1f1f1f;
  --muted: #6e6e6e;
  --link: #1d4ed8;
  --rule: #e4e4e4;
  --bg: #fdfdfc;
  --code: #f3f3f1;
}
@media (prefers-color-scheme: dark) {
  :root {
    --text: #e4e4e4;
    --muted: #9a9a9a;
    --link: #8fb4ff;
    --rule: #2e2e2e;
    --bg: #161616;
    --code: #222;
  }
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 17px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-text-size-adjust: 100%;
}
main { max-width: 40rem; margin: 0 auto; padding: 3rem 1.25rem 4rem; }
nav { margin-bottom: 2.5rem; color: var(--muted); }
h1 { font-size: 1.6rem; line-height: 1.25; margin: 0 0 0.5rem; }
h2 { font-size: 1.1rem; margin: 2.5rem 0 0.75rem; }
h3 { font-size: 1rem; margin: 2rem 0 0.5rem; }
a { color: var(--link); text-underline-offset: 0.15em; }
a:hover { text-decoration-thickness: 2px; }
.tagline, .meta, .dated time, .dated .year { color: var(--muted); }
.dated { list-style: none; padding: 0; }
.dated li { display: flex; gap: 1rem; margin: 0.45rem 0; }
.dated .year { flex: 0 0 2.75rem; font-variant-numeric: tabular-nums; }
.dated time { flex: 0 0 6.75rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
hr { border: 0; border-top: 1px solid var(--rule); margin: 2.5rem 0 1.5rem; }
code, pre { font: 0.88em/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
code { background: var(--code); padding: 0.1em 0.3em; border-radius: 3px; }
pre { background: var(--code); padding: 1rem; overflow-x: auto; }
pre code { padding: 0; }
img { max-width: 100%; height: auto; }
