:root { color-scheme: light dark; --fg:#12203f; --muted:#5b6780; --line:#e3e7ef; --bg:#fff; --accent:#2e5cb8; }
@media (prefers-color-scheme: dark) { :root { --fg:#e8ecf5; --muted:#a3adc2; --line:#2a3348; --bg:#111624; --accent:#8ec2ff; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif; line-height:1.9; }
.wrap { max-width:760px; margin:0 auto; padding:48px 20px 96px; }
header { border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:32px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:700; font-size:20px; letter-spacing:.04em; }
.brand span { color:var(--muted); font-weight:400; font-size:14px; letter-spacing:0; }
h1 { font-size:28px; margin:0 0 8px; }
h2 { font-size:19px; margin:40px 0 10px; padding-top:8px; border-top:1px solid var(--line); }
p, li { color:var(--fg); }
.lead { color:var(--muted); }
.box { border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin:20px 0; }
.box strong { color:var(--accent); }
table { width:100%; border-collapse:collapse; margin:16px 0; font-size:15px; }
th, td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:600; white-space:nowrap; }
a { color:var(--accent); }
footer { margin-top:56px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.updated { color:var(--muted); font-size:14px; }
