:root { color-scheme: light dark; --bg:#f7f5ef; --ink:#1d232b; --muted:#55606e; --card:#fff; --accent:#805100; --line:#d9d4c9; }
@media (prefers-color-scheme:dark) { :root { --bg:#14181e; --ink:#e9edf2; --muted:#a7b0bc; --card:#1d232b; --accent:#ffd23f; --line:#39424e; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
main { max-width:800px; margin:auto; padding:28px 20px 64px; }
nav { display:flex; flex-wrap:wrap; gap:8px 22px; margin-bottom:32px; font-size:.95rem; }
h1 { font-size:clamp(1.8rem,5vw,2.5rem); line-height:1.15; margin:0 0 12px; }
h2 { font-size:1.25rem; line-height:1.35; margin:2em 0 .5em; }
h3 { font-size:1.05rem; }
p,li { max-width:68ch; }
a { color:var(--accent); overflow-wrap:anywhere; text-underline-offset:3px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; border-radius:2px; }
.meta { color:var(--muted); margin-top:0; font-size:.95rem; }
.notice,.short { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:8px 20px; margin:24px 0; }
.notice { border-left:5px solid var(--accent); }
.short h2 { margin-top:14px; }
li+li { margin-top:8px; }
table { border-collapse:collapse; width:100%; font-size:.95rem; }
th,td { text-align:left; vertical-align:top; padding:10px 8px; border-bottom:1px solid var(--line); }
th { color:var(--muted); }
.scroll { overflow-x:auto; }
footer { border-top:1px solid var(--line); margin-top:38px; padding-top:18px; color:var(--muted); font-size:.95rem; }
@media (max-width:480px) { main { padding-inline:16px; } .notice,.short { padding-inline:14px; } }
