:root { --bg: #fbfaf6; --fg: #26302a; --muted: #66716a; --accent: #2f6b4f; --line: #e3e1d8; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #171b18; --fg: #e6e9e4; --muted: #9aa49d; --accent: #7cc5a0; --line: #2d332e; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 18px/1.65 Georgia, "Times New Roman", serif; }
header.site, main, footer.site { max-width: 42rem; margin: 0 auto; padding: 1rem; }
header.site { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--line); }
header.site nav a { margin-right: .75rem; font-size: .9em; }
.brand { font-size: 1.25rem; font-weight: 700; color: var(--fg); text-decoration: none; }
a { color: var(--accent); }
h1 { line-height: 1.2; margin-top: 1.5rem; }
.lead { color: var(--muted); }
.card { border-top: 1px solid var(--line); padding-top: .5rem; margin-top: 1.5rem; }
.card h2 { margin: .5rem 0; font-size: 1.25rem; }
footer.site { color: var(--muted); font-size: .85em; margin-top: 2rem; border-top: 1px solid var(--line); }
