:root {
  color-scheme: light dark;
  --bg: #fafaf9; --fg: #1c1917; --muted: #57534e; --line: #e7e5e4;
  --head-bg: #1c1917; --head-fg: #fbbf24; --link: #b45309; --accent: #f59e0b;
}
/* OSのダークモード設定に合わせる */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1c1917; --fg: #f5f5f4; --muted: #a8a29e; --line: #44403c;
    --head-bg: #0c0a09; --head-fg: #fbbf24; --link: #fbbf24; --accent: #f59e0b;
  }
}
body { margin: 0; font-family: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif; color: var(--fg); background: var(--bg); line-height: 1.8; }
header { background: var(--head-bg); padding: 12px 16px; }
header a { color: var(--head-fg); font-weight: 700; text-decoration: none; }
main { max-width: 760px; margin: 0 auto; padding: 24px 16px 40px; }
h1 { font-size: 1.5rem; line-height: 1.4; }
h2 { font-size: 1.1rem; margin-top: 2em; border-left: 4px solid var(--accent); padding-left: 8px; }
p, li { overflow-wrap: anywhere; }
a { color: var(--link); }
table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
th, td { border: 1px solid var(--line); padding: 6px 8px; text-align: left; vertical-align: top; }
footer { border-top: 1px solid var(--line); max-width: 760px; margin: 0 auto; padding: 16px; font-size: 0.85rem; color: var(--muted); }
footer ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }
footer li[aria-current] { font-weight: 700; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
