:root {
	--bg: #fbfaf7;
	--fg: #1d1c1a;
	--muted: #77736b;
	--accent: #c2410c;
	--line: #e7e3da;
	color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
	:root { --bg: #141412; --fg: #ece9e2; --muted: #9a958b; --accent: #fb923c; --line: #2a2926; }
}
* { box-sizing: border-box; }
html { background: var(--bg); color: var(--fg); }
body {
	margin: 0 auto; max-width: 42rem; padding: 2rem 1.25rem 4rem;
	font: 18px/1.65 ui-serif, Georgia, "Iowan Old Style", serif;
}
a { color: var(--accent); }
.site-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.site-title { font: 600 1rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .02em; color: var(--fg); text-decoration: none; }
.intro h1 { font-size: clamp(2.5rem, 8vw, 4rem); line-height: 1.05; margin: 3rem 0 .5rem; letter-spacing: -.02em; }
.tagline { color: var(--muted); margin: 0 0 3rem; }
h2 { font: 600 .8rem/1 ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.post-list { list-style: none; padding: 0; margin: 0; }
.post-list li { padding: .9rem 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1rem; }
.post-list li.empty { color: var(--muted); font-style: italic; }
.post-list a { color: var(--fg); text-decoration: none; }
.post-list a:hover { color: var(--accent); }
.post-list time { color: var(--muted); font: .85rem ui-sans-serif, system-ui, sans-serif; white-space: nowrap; }
article h1 { font-size: 2.4rem; line-height: 1.15; margin: 2.5rem 0 .25rem; }
article .meta { color: var(--muted); font: .9rem ui-sans-serif, system-ui, sans-serif; margin-bottom: 2rem; }
article img { max-width: 100%; height: auto; }
.site-footer { margin-top: 4rem; color: var(--muted); font: .8rem ui-sans-serif, system-ui, sans-serif; }
