:root { --bg:#f7f6f2; --fg:#1d2327; --muted:#5b6770; --line:#dcd9d0; --accent:#2f6f73; --card:#ffffff; }
@media (prefers-color-scheme: dark) { :root { --bg:#14181b; --fg:#e8eaec; --muted:#9aa5ad; --line:#2a3036; --accent:#6fb3b7; --card:#1b2024; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
       font:16px/1.8 system-ui,-apple-system,"Segoe UI","Hiragino Sans","Noto Sans JP",sans-serif; }
main { max-width:720px; margin:0 auto; padding:56px 20px 48px; }
nav { font-size:.9rem; margin-bottom:2rem; }
nav a { color:var(--muted); text-decoration:none; margin-right:1em; }
a { color:var(--accent); }
h1 { font-size:1.9rem; line-height:1.3; margin:0 0 .3em; }
h2 { font-size:1.15rem; margin:2.2rem 0 .5rem; padding-top:.6rem; border-top:1px solid var(--line); }
h3 { font-size:1rem; margin:1.4rem 0 .3rem; }
.tag, .meta { color:var(--muted); }
.meta { font-size:.9rem; }
ul, ol { padding-left:1.3em; }
li { margin:.25em 0; }
table { border-collapse:collapse; width:100%; font-size:.93rem; margin:.6rem 0; }
th, td { border:1px solid var(--line); padding:.45em .6em; text-align:left; vertical-align:top; }
th { background:var(--card); }
.wrap { overflow-x:auto; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem 1.2rem; margin:1rem 0; }
.card h3 { margin-top:0; }
footer { border-top:1px solid var(--line); margin-top:3rem; padding-top:1rem; color:var(--muted); font-size:.85rem; }
