:root { --ink: #1f2428; --muted: #6b7280; --paper: #fbfaf7; --line: #e5e1d8; --accent: #3f6b4f; }
@media (prefers-color-scheme: dark) {
  :root { --ink: #e6e3dc; --muted: #9aa0a6; --paper: #16181a; --line: #2a2d30; --accent: #8fc3a0; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.65 Georgia, "Times New Roman", serif; }
header, main, footer { max-width: 40rem; margin: 0 auto; padding: 0 1.25rem; }
header { display: flex; justify-content: space-between; align-items: baseline; padding-top: 2.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.brand { font-weight: bold; font-size: 1.25rem; color: var(--ink); text-decoration: none; }
nav a { margin-left: 1.25rem; color: var(--muted); text-decoration: none; font-size: 0.95rem; }
nav a:hover, a:hover { color: var(--accent); }
a { color: var(--accent); }
article { padding: 2rem 0; border-bottom: 1px solid var(--line); }
article:last-child { border-bottom: 0; }
h1, h2 { line-height: 1.25; margin: 0 0 0.25rem; }
h1 { font-size: 1.7rem; }
h2 { font-size: 1.3rem; }
.meta { color: var(--muted); font-size: 0.9rem; margin: 0 0 1rem; font-style: italic; }
footer { color: var(--muted); font-size: 0.85rem; padding-top: 1rem; padding-bottom: 3rem; border-top: 1px solid var(--line); }
