:root{--ink:#172536;--muted:#607184;--line:#d7e0e8;--page:#f3f7fa;--panel:#fff;--navy:#163f5f;--blue:#246b9e;--focus:#ffd166;--dp:#315c9b;--dm:#4d8b57;--dt:#d97816;--mp:#2687a7;--mm:#168577;--mt:#c63f38;--tr:#705d9f;--xx:#687580;font-family:"Open Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);line-height:1.58}main{width:min(1180px,calc(100% - 30px));margin:0 auto 60px}.hero{background:linear-gradient(125deg,#123a59,#2774a7);color:#fff;padding:46px max(18px,calc((100vw - 1180px)/2))}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.76rem;opacity:.8}.hero h1{font-size:clamp(2rem,5vw,3.35rem);line-height:1.08;margin:.3rem 0 .65rem}.hero p{max-width:780px;margin:0;font-size:1.08rem;color:#eaf4fa}.toc{position:sticky;top:0;z-index:5;background:#fffffff5;border-bottom:1px solid var(--line);box-shadow:0 3px 16px #132f4512}.toc>div{width:min(1180px,calc(100% - 30px));margin:auto;display:flex;gap:7px;overflow:auto;padding:9px 0}.toc a{white-space:nowrap;color:var(--navy);text-decoration:none;font-weight:700;padding:7px 11px;border-radius:999px}.toc a:hover,.toc a:focus{background:#e6f0f7}.intro,.two{display:grid;grid-template-columns:1.4fr .8fr;gap:20px;margin-top:30px}.panel,.callout,.map-shell{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;box-shadow:0 7px 24px #163f5f0b}.callout{border-left:6px solid var(--focus)}.panel h2,.panel h3,.callout h3{margin-top:0}h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2;margin:42px 0 13px}h3{line-height:1.25}.lede{font-size:1.1rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.table-wrap th,.table-wrap td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap th{background:#eaf2f7;color:var(--navy)}.table-wrap tr:last-child td{border-bottom:0}.code,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;color:var(--navy)}.key{white-space:nowrap}.key::first-letter{font-size:1.25rem}.dp{--c:var(--dp);color:var(--dp)}.dm{--c:var(--dm);color:var(--dm)}.dt{--c:var(--dt);color:var(--dt)}.mp{--c:var(--mp);color:var(--mp)}.mm{--c:var(--mm);color:var(--mm)}.mt{--c:var(--mt);color:var(--mt)}.tr{--c:var(--tr);color:var(--tr)}.xx{color:var(--xx)}.family{color:var(--navy);margin:28px 0 12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards.one{grid-template-columns:minmax(280px,380px);justify-content:center}.card{position:relative;background:#fff;border:1px solid var(--line);border-top:7px solid var(--c);border-radius:14px;padding:18px;box-shadow:0 5px 18px #163f5f0a;color:var(--ink)}.card h3{display:flex;justify-content:space-between;gap:12px;margin:0 0 8px}.card h3 span{color:var(--c)}.card details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.card summary{cursor:pointer;color:var(--blue);font-weight:750}.codes{list-style:none;margin:0;padding:0}.codes li{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.controls{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:12px}.controls label{font-weight:750}.controls select{display:block;width:100%;font:inherit;border:1px solid #aebdca;border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink);margin-top:4px}.map-shell h3{margin:19px 0 0}.map-shell [role=status]{min-height:1.5em;color:var(--muted)}#map{height:min(66vw,650px);min-height:430px}.small{font-size:.91rem;color:var(--muted)}pre{background:#102838;color:#eaf7ff;border-radius:12px;padding:17px;overflow:auto;font:1rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}pre b{color:#ffd166}.button{display:inline-block;background:var(--blue);color:#fff!important;text-decoration:none;padding:9px 13px;border-radius:9px;font-weight:800;margin:3px}.button.secondary{background:#e5eff6;color:var(--navy)!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:850px){.intro,.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cards,.controls{grid-template-columns:1fr}.hero{padding-top:32px;padding-bottom:32px}#map{height:520px}}
