:root { color-scheme: light dark;
  --fg:#1a1a1a; --muted:#5a5a5a; --bg:#fff; --card:#f7f8fa; --line:#e2e2e2; --accent:#208AEF; }
@media (prefers-color-scheme: dark) {
  :root { --fg:#e8e8e8; --muted:#a0a0a0; --bg:#161616; --card:#1e1e1e; --line:#333; --accent:#5aa9f5; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
  font-family:-apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height:1.85; font-size:16px; -webkit-text-size-adjust:100%; }
main { max-width:720px; margin:0 auto; padding:40px 20px 80px; }
h1 { font-size:1.7rem; margin:0 0 8px; line-height:1.4; }
h2 { font-size:1.15rem; margin:2.5em 0 .6em; padding-top:.8em; border-top:1px solid var(--line); }
h3 { font-size:1rem; margin:1.8em 0 .4em; }
.updated, .tagline { color:var(--muted); font-size:.95rem; margin:0 0 2em; }
table { border-collapse:collapse; width:100%; margin:1em 0; font-size:.95rem; display:block; overflow-x:auto; }
th,td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; }
th { background:color-mix(in srgb, var(--fg) 6%, transparent); font-weight:600; white-space:nowrap; }
.note { background:color-mix(in srgb, var(--accent) 9%, transparent);
  border-left:3px solid var(--accent); padding:14px 16px; margin:1.4em 0; border-radius:0 6px 6px 0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px 20px; margin:1.2em 0; }
nav.top { border-bottom:1px solid var(--line); }
nav.top div { max-width:720px; margin:0 auto; padding:14px 20px; display:flex; gap:20px; align-items:center; }
nav.top a { color:var(--muted); text-decoration:none; font-size:.9rem; }
nav.top a.brand { color:var(--fg); font-weight:700; font-size:1.05rem; margin-right:auto; }
nav.top a:hover { color:var(--accent); }
footer { margin-top:3em; padding-top:1.4em; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
footer a { color:var(--muted); }
a { color:var(--accent); }
ul { padding-left:1.3em; }
li { margin:.3em 0; }
