:root {
  --paper: #f6f3ec;
  --ink: #23211d;
  --muted: #6f6a60;
  --line: #ddd6c8;
  --accent: #8a4b2a;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #1c1b18; --ink: #ebe6db; --muted: #a39d90; --line: #36332d; --accent: #d99567; }
}
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body {
  margin: 0 auto;
  max-width: 42rem;
  padding: 1.5rem 1.25rem 3rem;
  font: 17px/1.65 Georgia, "Times New Roman", serif;
}
a { color: var(--accent); text-underline-offset: 0.2em; }
.top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.mark {
  display: inline-grid; place-items: center;
  width: 2.25rem; height: 2.25rem; border-radius: 50%;
  background: var(--accent); color: var(--paper);
  font: 600 0.95rem/1 system-ui, sans-serif; text-decoration: none; letter-spacing: 0.02em;
}
nav { display: flex; gap: 1.25rem; font: 0.95rem system-ui, sans-serif; }
nav a { color: var(--muted); text-decoration: none; }
nav a:hover, nav a[aria-current="page"] { color: var(--ink); }
h1 { font-size: 2.1rem; line-height: 1.2; margin: 2.5rem 0 0.75rem; font-weight: normal; }
.lead { color: var(--muted); font-size: 1.1rem; margin-top: 0; }
article { padding: 1.75rem 0; border-bottom: 1px solid var(--line); }
article:last-child { border-bottom: 0; }
time { font: 0.85rem system-ui, sans-serif; color: var(--muted); }
h2 { font-size: 1.3rem; line-height: 1.3; margin: 0.25rem 0 0.5rem; font-weight: normal; }
code { font: 0.88em ui-monospace, "SF Mono", Menlo, monospace; background: var(--line); padding: 0.05em 0.3em; border-radius: 3px; }
footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font: 0.85rem system-ui, sans-serif; }
