:root { --bg:#f6f8f5; --card:#ffffff; --text:#1c2b22; --muted:#55645b; --accent:#2e7d4f; --line:#dde5df; }
@media (prefers-color-scheme: dark) { :root { --bg:#101612; --card:#18211b; --text:#e8efe9; --muted:#9db0a3; --accent:#6fcf97; --line:#27342b; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:17px/1.6 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif; }
main { max-width: 720px; margin: 0 auto; padding: 32px 20px 64px; }
header.site { max-width:720px; margin:0 auto; padding:20px 20px 0; display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
header.site a.brand { font-weight:800; font-size:1.2rem; color:var(--text); text-decoration:none; margin-right:auto; }
header.site a { color:var(--accent); text-decoration:none; font-weight:600; }
h1 { font-size:2rem; line-height:1.2; margin:.4em 0 .2em; }
h2 { font-size:1.25rem; margin:2em 0 .4em; }
p, li { color:var(--text); }
.meta, .note { color:var(--muted); font-size:.95rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:16px 20px; margin:20px 0; }
a { color:var(--accent); }
ul { padding-left: 1.2em; }
footer { max-width:720px; margin:0 auto; padding:0 20px 40px; color:var(--muted); font-size:.9rem; }
