:root { --fg:#2b2d26; --bg:#fdfdfa; --sub:#5d6150; --accent:#4a6741; --border:#e2e3da; }
@media (prefers-color-scheme: dark) { :root { --fg:#e8e8e2; --bg:#1c1d19; --sub:#a5a898; --accent:#9dbb8f; --border:#3a3c33; } }
* { box-sizing:border-box; }
body { margin:0; padding:2rem 1.25rem 4rem; background:var(--bg); color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif; line-height:1.8; }
main { max-width:42rem; margin:0 auto; }
h1 { font-size:1.6rem; line-height:1.4; }
h2 { font-size:1.15rem; margin-top:2.2em; border-bottom:1px solid var(--border); padding-bottom:.3em; }
a { color:var(--accent); }
.meta { color:var(--sub); font-size:.85rem; }
.lang { text-align:right; font-size:.85rem; }
table { border-collapse:collapse; width:100%; font-size:.9rem; }
th,td { border:1px solid var(--border); padding:.5em .7em; text-align:left; vertical-align:top; }
footer { margin-top:3rem; color:var(--sub); font-size:.8rem; }
