:root { --bg: #fbfaf7; --fg: #22201c; --muted: #77716a; --accent: #8a4b2a; --line: #e6e1d8; }
@media (prefers-color-scheme: dark) { :root { --bg: #1b1a18; --fg: #e9e5de; --muted: #9b958c; --accent: #d39066; --line: #34312c; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 17px/1.65 Georgia, "Times New Roman", serif; }
.wrap { max-width: 680px; margin: 0 auto; padding: 0 16px; }
header { display: flex; justify-content: space-between; align-items: baseline; padding-top: 32px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.logo { color: var(--fg); text-decoration: none; font-size: 22px; font-weight: bold; }
nav a { color: var(--muted); text-decoration: none; margin-left: 16px; font-family: system-ui, sans-serif; font-size: 15px; }
nav a:hover, a:hover { color: var(--accent); }
article { padding: 28px 0; border-bottom: 1px solid var(--line); }
time { color: var(--muted); font-family: system-ui, sans-serif; font-size: 14px; }
h2 { margin: 6px 0 12px; font-size: 24px; line-height: 1.3; }
footer { color: var(--muted); font-family: system-ui, sans-serif; font-size: 14px; padding-top: 24px; padding-bottom: 40px; }
