:root {
  --text: #1f1f1f;
  --muted: #5c5c5c;
  --bg: #fdfcf9;
  --line: #e2ded6;
  --accent: #8a3b12;
}
@media (prefers-color-scheme: dark) {
  :root { --text: #ece9e4; --muted: #a9a49b; --bg: #161514; --line: #34312d; --accent: #e59a6b; }
}
* { box-sizing: border-box; }
html { font-size: 18px; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: Georgia, "Times New Roman", serif; line-height: 1.6;
}
a { color: var(--accent); }
.site-header, main, .site-footer { max-width: 42rem; margin: 0 auto; padding: 0 1rem; }
.site-header { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: baseline; padding-top: 1.25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line); }
.brand { font-weight: bold; font-size: 1.25rem; text-decoration: none; color: var(--text); }
.site-header nav { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-family: system-ui, sans-serif; font-size: .85rem; }
main { padding-top: 1.5rem; padding-bottom: 2rem; }
h1 { line-height: 1.2; }
.byline, time, .transparency, figcaption, .site-footer { font-family: system-ui, sans-serif; color: var(--muted); font-size: .8rem; }
figure { margin: 1.5rem 0; }
figure img { max-width: 100%; height: auto; display: block; }
.sources { margin-top: 2rem; border-top: 1px solid var(--line); padding-top: 1rem; font-size: .85rem; }
.sources summary { cursor: pointer; font-family: system-ui, sans-serif; font-weight: 600; }
.post-list { padding-left: 1.1rem; }
.site-footer { border-top: 1px solid var(--line); padding-top: 1rem; padding-bottom: 2rem; }
