:root { --bg: #fafaf9; --fg: #1f2933; --muted: #6b7280; --link: #2563eb; --rule: #e5e7eb; --code: #f3f4f6; }
@media (prefers-color-scheme: dark) { :root { --bg: #111827; --fg: #e5e7eb; --muted: #9ca3af; --link: #93c5fd; --rule: #374151; --code: #1f2937; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 17px/1.65 Georgia, "Times New Roman", serif; }
main { max-width: 42rem; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
header { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--rule); padding-bottom: 1rem; margin-bottom: 2rem; }
header a { color: var(--fg); text-decoration: none; }
header .brand { font-weight: bold; font-size: 1.25rem; }
header nav a { margin-left: 1rem; color: var(--muted); }
a { color: var(--link); }
h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 .25rem; }
h2 { font-size: 1.3rem; margin-top: 2rem; }
.meta { color: var(--muted); font-size: .9rem; margin-bottom: 1.5rem; }
ul.posts { list-style: none; padding: 0; }
ul.posts li { display: flex; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--rule); }
ul.posts time { color: var(--muted); flex: 0 0 6.5rem; font-size: .9rem; }
pre, code { font: .9em/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; background: var(--code); border-radius: 4px; }
code { padding: .1em .35em; }
pre { padding: .9rem 1rem; overflow-x: auto; }
pre code { padding: 0; background: none; }
blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 3px solid var(--rule); color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: .85rem; }
