:root{color-scheme:light;--page:#f6f3ec;--surface:#fffdf8;--text:#203b39;--muted:#536762;--strong:#284e49;--line:#d4ddd5;--soft:#edf1e9;--selected-line:#9ab7a6;--map:#e8eeea;--link:#246b60;--focus:#357b70;--radio:#829b91;--action:#27645e;--action-text:#fffdf8}
:root[data-theme="dark"]{color-scheme:dark;--page:#182523;--surface:#20302d;--text:#eef2ea;--muted:#b6c6bd;--strong:#d3e5d8;--line:#435952;--soft:#2b4039;--selected-line:#7c9f89;--map:#15201e;--link:#a8d9c2;--focus:#a8c9b2;--radio:#9bb1a4;--action:#a8c9b2;--action-text:#182523}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--page);color:var(--text);font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--link);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}header{display:flex;justify-content:space-between;align-items:center;padding:20px max(20px,calc((100vw - 1080px)/2));gap:20px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:750;text-decoration:none;color:var(--text);white-space:nowrap}.brand span{font-weight:400}button{font:inherit;color:var(--text);background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:8px 14px;cursor:pointer}nav{display:flex;flex-wrap:wrap;gap:10px 22px;max-width:1120px;margin:0 auto;padding:16px 20px;font-size:14px}main{max-width:1040px;margin:30px auto 70px;padding:0 22px}h1{font-size:clamp(28px,4vw,44px);line-height:1.16;letter-spacing:-1px;margin:12px 0 20px}h2{font-size:26px;line-height:1.3;margin:30px 0 15px}h3{font-size:20px;line-height:1.4;margin:26px 0 12px}.intro{font-size:19px;color:var(--muted);max-width:780px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--muted)}section{border-top:1px solid var(--line);margin-top:35px;padding-top:8px}p{max-width:850px}.map-link a{display:inline-block;padding:10px 16px;background:var(--action);color:var(--action-text);border-radius:8px;text-decoration:none}main nav{padding:10px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:20px 0}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px}caption{text-align:left;font-weight:700;padding:15px;background:var(--soft)}th,td{text-align:right;padding:12px 15px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left;white-space:normal}thead{background:var(--soft)}tbody tr:last-child>*{border-bottom:0}.source-note{padding:12px 18px;border-left:3px solid var(--selected-line);background:var(--soft);font-size:14px}.source-note p{margin:6px 0}.source-note a{margin-right:15px}details{border:1px solid var(--line);border-radius:8px;background:var(--surface);margin:12px 0}summary{cursor:pointer;padding:14px 18px;font-weight:650}ul.records{padding:0 20px 10px;list-style:none;max-height:520px;overflow:auto}.records li{padding:16px 0;border-top:1px solid var(--line)}.records p{margin:4px 0;color:var(--muted);font-size:14px}.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 25px;list-style:none;padding:0}.area-grid a{display:block;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.topic-grid article{padding:10px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.topic-grid h2{margin-top:10px}footer{max-width:1080px;margin:0 auto;padding:25px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:var(--surface);padding:12px;z-index:10}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:600px){header{padding:16px}.brand{font-size:21px}button{font-size:13px;padding:8px}main{padding:0 16px;margin-top:20px}.topic-grid{grid-template-columns:1fr}.intro{font-size:17px}.table-wrap{max-width:100%}th,td{padding:10px}.records{max-height:380px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,body>nav,.map-link,footer,button{display:none}body{color:#000;background:white}main{max-width:none;margin:0}.table-wrap{overflow:visible}details{break-inside:avoid}}
