:root { --bg:#fbfaf7; --fg:#2b2a27; --muted:#6b6862; --line:#e3ded3; --accent:#5d6b4a; }
* { box-sizing:border-box; }
body { margin:0; padding:2.5rem 1.25rem; background:var(--bg); color:var(--fg);
  font:16px/1.65 Georgia, "Times New Roman", serif; }
header, main, footer { max-width:44rem; margin:0 auto; }
h1 { font-size:1.9rem; margin:0 0 .35rem; letter-spacing:-.01em; }
.sub { color:var(--muted); margin:0 0 2rem; font-style:italic; }
article { border-top:1px solid var(--line); padding:1.5rem 0; }
h2 { font-size:1.15rem; margin:0 0 .6rem; color:var(--accent); }
p { margin:0 0 .9rem; }
footer { border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1rem;
  color:var(--muted); font-size:.9rem; }
a { color:var(--accent); }
@media (prefers-color-scheme: dark) {
  :root { --bg:#1c1b19; --fg:#e6e2da; --muted:#9a958c; --line:#333029; --accent:#a3b283; }
}
