:root {
  --bg: #fdfcf9;
  --fg: #222;
  --muted: #777;
  --line: #e6e2d9;
  --link: #8a4b1c;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #1b1a18; --fg: #e4e1da; --muted: #9a958b; --line: #34312c; --link: #e0a46f; }
}
* { box-sizing: border-box; }
html { font-size: 18px; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif; line-height: 1.65;
}
a { color: var(--link); text-underline-offset: 2px; }
header.site, main, footer.site { max-width: 680px; margin: 0 auto; padding: 0 22px; }
header.site { display: flex; align-items: baseline; justify-content: space-between; padding-top: 36px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
header.site .brand { font-size: 1.3rem; color: var(--fg); text-decoration: none; letter-spacing: .02em; }
header.site nav a { margin-left: 18px; font-size: .9rem; color: var(--muted); text-decoration: none; }
header.site nav a:hover { color: var(--link); }
main { padding-top: 28px; padding-bottom: 40px; }
h1 { font-weight: normal; font-size: 1.9rem; line-height: 1.25; margin: .4em 0 .2em; }
h2 { font-weight: normal; font-size: 1.3rem; margin-top: 1.8em; }
.meta { color: var(--muted); font-size: .85rem; margin-top: 0; }
.intro { color: var(--muted); }
ul.posts { list-style: none; padding: 0; }
ul.posts li { padding: 18px 0; border-bottom: 1px solid var(--line); }
ul.posts li a.title { font-size: 1.15rem; text-decoration: none; }
ul.posts li p { margin: 6px 0 0; }
blockquote { margin: 1.2em 0; padding-left: 16px; border-left: 3px solid var(--line); color: var(--muted); }
code { font-size: .85em; background: var(--line); padding: 1px 5px; border-radius: 3px; }
.back { margin-top: 36px; font-size: .9rem; }
footer.site { color: var(--muted); font-size: .8rem; padding-top: 16px; padding-bottom: 40px; border-top: 1px solid var(--line); }
