:root { --bg: #fbfaf7; --fg: #222; --muted: #6b6b6b; --accent: #2f7d6d; --line: #e6e2da; }
@media (prefers-color-scheme: dark) { :root { --bg: #171a19; --fg: #e8e6e1; --muted: #9a9a95; --accent: #6cc3ae; --line: #2b2f2d; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 17px/1.65 Georgia, "Times New Roman", serif; }
header, main, footer { max-width: 42rem; margin: 0 auto; padding: 0 1rem; }
header { padding-top: 2.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
header a.brand { color: var(--fg); text-decoration: none; font-size: 1.5rem; font-weight: bold; }
header nav a { color: var(--muted); margin-right: 1rem; font-size: .95rem; }
a { color: var(--accent); }
h1 { font-size: 1.8rem; line-height: 1.25; margin: 2rem 0 .5rem; }
h2 { font-size: 1.25rem; margin-top: 2rem; }
.meta { color: var(--muted); font-size: .9rem; }
ul.posts { list-style: none; padding: 0; }
ul.posts li { padding: .9rem 0; border-bottom: 1px solid var(--line); }
ul.posts .date { color: var(--muted); font-size: .85rem; display: block; }
.note { border-left: 3px solid var(--accent); padding: .3rem 1rem; color: var(--muted); }
footer { color: var(--muted); font-size: .85rem; padding-top: 3rem; padding-bottom: 2rem; }
