:root { --bg:#fbfaf7; --fg:#26282c; --muted:#6c7078; --line:#e3e0d8; --accent:#8a4b2a; --code:#f1eee7; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#17181b; --fg:#e4e2dc; --muted:#9a9ca3; --line:#2d2f34; --accent:#d9a074; --code:#202226; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:18px/1.65 Georgia, "Times New Roman", serif; }
.wrap { max-width:42rem; margin:0 auto; padding:0 1.25rem; }
header { border-bottom:1px solid var(--line); padding:1.4rem 0; }
header .wrap { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap; }
header a.brand { font-size:1.2rem; font-weight:700; color:var(--fg); text-decoration:none; }
nav a { margin-left:1.2rem; color:var(--muted); text-decoration:none; font:0.9rem system-ui, sans-serif; }
nav a:hover { color:var(--accent); }
main { padding:2rem 0 3rem; }
h1 { font-size:1.9rem; line-height:1.25; margin:0 0 0.6rem; }
h2 { font-size:1.3rem; margin:2rem 0 0.4rem; }
p { margin:0 0 1rem; }
a { color:var(--accent); }
.meta { color:var(--muted); font:0.85rem system-ui, sans-serif; margin-bottom:1.5rem; }
.posts { list-style:none; padding:0; margin:1.5rem 0 0; }
.posts li { padding:1rem 0; border-top:1px solid var(--line); }
.posts li:first-child { border-top:0; }
.posts a { font-size:1.2rem; font-weight:700; text-decoration:none; }
.posts p { margin:0.2rem 0 0; color:var(--muted); font-size:0.95rem; }
pre, code { font:0.88rem/1.5 ui-monospace, Consolas, monospace; background:var(--code); border-radius:4px; }
code { padding:0.1rem 0.3rem; }
pre { padding:0.8rem 1rem; overflow-x:auto; margin:0 0 1rem; }
pre code { padding:0; }
footer { border-top:1px solid var(--line); padding:1.2rem 0 2rem; color:var(--muted); font:0.85rem system-ui, sans-serif; }
@media (max-width: 520px) { body { font-size:17px; } nav a { margin-left:0.8rem; } }
