:root {
  --bg: #fdfcfa; --fg: #222; --muted: #6b6b6b; --accent: #b4462b; --line: #e6e2dc;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #161616; --fg: #e8e6e3; --muted: #9a9a9a; --accent: #e07a5f; --line: #2c2c2c; }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 18px/1.7 Georgia, "Times New Roman", serif;
}
.wrap { max-width: 680px; margin: 0 auto; padding: 0 16px; }
header { padding-top: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.brand { font: 700 1.1rem system-ui, sans-serif; color: var(--fg); text-decoration: none; }
main { padding-top: 32px; padding-bottom: 48px; }
footer { padding-bottom: 40px; color: var(--muted); font: .85rem system-ui, sans-serif; }
a { color: var(--accent); }
h1, h2, h3 { font-family: system-ui, sans-serif; line-height: 1.25; }
h1 { font-size: 2rem; margin-bottom: .2em; }
.meta, time, .intro { color: var(--muted); font: .9rem system-ui, sans-serif; }
.posts { list-style: none; padding: 0; }
.posts li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.posts a { text-decoration: none; font-weight: 600; }
pre, code { font-family: ui-monospace, monospace; font-size: .9em; }
pre { background: var(--line); padding: 12px 16px; overflow-x: auto; border-radius: 6px; }
img { max-width: 100%; height: auto; }
