:root { --bg:#fafaf8; --fg:#1d1d1b; --muted:#6b6b66; --line:#dddcd6; --card:#fff; --accent:#1f6f5c; }
@media (prefers-color-scheme: dark) { :root { --bg:#161615; --fg:#ecebe6; --muted:#a3a29b; --line:#34332f; --card:#1f1f1d; --accent:#5fc2a6; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.75 system-ui, "Hiragino Sans", "Noto Sans JP", sans-serif; }
main { max-width: 760px; margin: 0 auto; padding: 24px 16px 64px; }
nav { font-size: 14px; margin-bottom: 24px; display:flex; gap:16px; flex-wrap:wrap; }
nav a, a { color: var(--accent); }
h1 { font-size: 22px; margin: 0 0 8px; }
h2 { font-size: 17px; margin: 28px 0 8px; }
.lead { color: var(--muted); margin: 0 0 20px; }
section { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 16px; margin-bottom: 16px; }
.note { font-size: 13px; color: var(--muted); }
table { width:100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align:left; padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
footer { margin-top: 40px; font-size: 12px; color: var(--muted); }
