:root { --fg:#15140f; --muted:#5d5b53; --line:#d9d4c7; --go:#2f6b45; --bg:#f4f3ef; --card:#fff; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
       font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif; }
main { max-width:44rem; margin:0 auto; padding:1.5rem 16px 3rem; }
header { border-bottom:3px solid var(--go); padding-bottom:.8rem; margin-bottom:1.2rem; }
h1 { font-size:1.55rem; line-height:1.25; margin:0 0 .3rem; text-wrap:balance; }
h2 { font-size:1.1rem; margin:1.6rem 0 .4rem; color:var(--go); }
p, li { overflow-wrap:anywhere; }
.sub, .small { color:var(--muted); font-size:.92rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:1rem 1.1rem; }
blockquote { margin:.6rem 0; padding:.7rem 1rem; background:var(--card);
             border-left:4px solid var(--go); border-radius:0 6px 6px 0; }
a { color:var(--go); font-weight:600; }
@media (prefers-color-scheme: dark) {
  :root { --fg:#ecebe6; --muted:#b1aea3; --line:#3a3932; --go:#7fc79a; --bg:#17170f; --card:#22221a; }
}
nav { margin:0 0 1.2rem; font-size:.95rem; }
nav a { margin-right:1rem; }
nav a[aria-current] { color:var(--fg); text-decoration:none; }
ol li { margin:.35rem 0; }
figure { margin:1rem 0; }
figure img { max-width:100%; height:auto; border:1px solid var(--line); border-radius:6px; background:#fff; }
figcaption { color:var(--muted); font-size:.9rem; margin-top:.3rem; }
