@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--paper:#f5f2e9;--panel:#faf8f2;--ink:#172c32;--muted:#68716e;--line:#d8d9cc;--orange:#ba522f;--gold:#d6b065;--maplow:#e4e7d7;--maphigh:#163e39;--bar:#274b44;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,svg path:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{color:inherit}button:disabled{opacity:.5}.masthead{background:#172b2e;color:#f5f2e9;border-bottom:3px solid var(--gold)}.nav-inner{max-width:1320px;margin:auto;padding:18px 40px;display:flex;align-items:center;gap:32px}.brand{font-size:22px;font-weight:700;letter-spacing:-1px;text-decoration:none;display:flex;align-items:center;gap:5px}.brand svg{color:var(--gold);margin-right:7px}.brand span{font-weight:400;color:var(--gold)}.nav-label,.nav-actions,.eyebrow,.map-label,.map-heading,.legend,.hint,.list-tools,.list-footer,.chart-top,.scale,footer>span{font-family:'IBM Plex Mono',monospace}.nav-label{font-size:10px;letter-spacing:1.7px;color:#b2bdb4;padding-left:28px;border-left:1px solid #425454}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:11px}.nav-actions a{text-decoration:none}.nav-actions button{border:1px solid #5c6b65;background:none;color:inherit;border-radius:50%;width:30px;height:30px;font-size:22px;line-height:1}main{max-width:1320px;margin:auto;padding:0 40px}.hero{padding:48px 0 35px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:8px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif}h1{font-size:clamp(72px,8.6vw,120px);font-weight:700;letter-spacing:-1.4px;line-height:.9;margin:25px 0 25px}h1 em{color:var(--orange);font-style:normal}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.intro p{max-width:620px;font-size:17px;color:var(--muted);line-height:1.65;margin:0}.method-link{display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:11px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:8px}.method-link>span:last-child{margin-left:15px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--orange)}.stats{display:grid;grid-template-columns:1fr 1fr 1.12fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:25px 0 27px}.stats>div{display:flex;flex-direction:column;padding-left:35px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:64px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;margin:8px 0}.stats>div:first-child strong{color:var(--orange)}.stats strong span{font-size:36px}.stats .smaller{font-size:53px;padding-top:10px}.stats>div>span:last-child{color:var(--muted);font-size:12px}.explore{padding:48px 0 35px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:23px}h2{font-size:36px;line-height:1.08;margin:9px 0 0;font-weight:600}.text-button{background:none;border:none;padding:8px 0;color:var(--muted);font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 18px}.tabs{display:flex;gap:3px;padding:4px;background:#e8e8dd;border-radius:3px}.tabs button{border:0;background:none;padding:9px 16px;font-size:12px;border-radius:2px}.tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.map-label{font-size:9px;letter-spacing:1px;color:var(--muted)}.map-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,1fr);gap:40px;padding-top:24px}.map-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:var(--muted)}.map-heading span:last-child{font-size:8px}.map-wrap{position:relative;isolation:isolate}#map{display:block;width:100%;height:auto;overflow:visible}#map path{stroke:var(--paper);stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s,opacity .16s}#map path:hover,#map path:focus-visible{stroke:var(--orange);stroke-width:2;filter:brightness(1.1)}#map path.selected{stroke:var(--orange);stroke-width:2.5}#map text{font:500 10px 'IBM Plex Mono',monospace;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:2.6px;fill:var(--ink)}.map-key{position:absolute;left:4%;top:13%;font:12px 'IBM Plex Mono',monospace;text-align:center;color:var(--muted)}.ocean{position:absolute;right:6%;bottom:24%;font:10px/1.9 'IBM Plex Mono',monospace;letter-spacing:3px;color:#929e97;pointer-events:none;transform:rotate(-24deg)}.map-tip{position:absolute;z-index:5;background:var(--ink);color:var(--paper);padding:10px 13px;box-shadow:0 4px 20px #0002;font-size:12px;pointer-events:none;max-width:220px}.map-tip strong{display:block;font-size:14px}.legend{width:220px;margin:0 0 12px 20px;font-size:9px;color:var(--muted)}.gradient{height:8px;margin:7px 0 4px;background:linear-gradient(90deg,var(--maplow),var(--maphigh))}.legend-ticks{display:flex;justify-content:space-between}.hint{font-size:10px;color:var(--muted);margin:0 0 0 20px}.index{background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;max-height:680px;min-height:510px}.index-head{padding:20px 22px 0}.index-head h3{font-size:29px;margin:0;line-height:1.1}.index-head>div>span{display:block;color:var(--muted);font-size:11px;margin:6px 0 18px}.search{display:flex;gap:8px;align-items:center;padding:10px 11px;border:1px solid var(--line);background:var(--paper)}.search svg{flex-shrink:0;color:var(--muted)}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.search:focus-within{outline:2px solid var(--orange)}.list-tools{display:flex;justify-content:space-between;padding:17px 0 9px;border-bottom:2px solid var(--ink);font-size:8px;letter-spacing:.6px}.list-tools button{background:none;border:0;font:inherit;padding:0}.list{overflow:auto;padding:0 22px;flex:1;min-height:170px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.row{width:100%;display:flex;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 0;gap:9px;position:relative}.row:hover,.row.active{background:color-mix(in srgb,var(--gold) 13%,transparent)}.row .swatch{width:7px;height:7px;flex-shrink:0;border-radius:1px}.row .name{font-size:13px;flex:1}.row .name small{font-size:10px;color:var(--muted);margin-left:5px}.row .value{text-align:right;font:500 12px 'IBM Plex Mono',monospace}.row .value small{display:block;font:10px 'DM Sans',sans-serif;color:var(--muted);margin-top:2px}.row .arrow{color:var(--muted);font-size:11px}.empty{font-size:13px;color:var(--muted);padding:24px 0}.list-footer{padding:13px 22px;border-top:1px solid var(--line);font-size:9px;line-height:1.6;color:var(--muted)}.selection{margin-top:25px;border-left:3px solid var(--orange);background:var(--panel);padding:22px;display:flex;align-items:center;gap:30px;position:relative}.selection[hidden]{display:none}.selection>div:first-child{margin-right:auto}.selection h3{font-size:28px;margin:3px 0}.selection strong{display:block;font-size:24px}.selection>div>span:last-child{font-size:11px;color:var(--muted)}.selection button{background:none;border:0;font-size:24px;align-self:flex-start}.proportion{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding:40px 0 48px;border-top:2px solid var(--ink)}.proportion h2,.method h2{font-size:42px}.proportion p,.method>div>p{font-size:14px;color:var(--muted);max-width:390px;line-height:1.7}.chart-box{background:var(--panel);border:1px solid var(--line);padding:27px;align-self:center}.chart-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.7px}.chart-top strong{font-size:30px;color:var(--orange);font-weight:500}.whole-bar{height:21px;background:var(--bar);position:relative;margin:20px 0 7px}.whole-bar>span{position:absolute;right:0;top:0;height:100%;width:.0269%;background:var(--orange)}.scale{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.chart-legend{display:flex;gap:25px;margin-top:25px;font-size:11px}.chart-legend i{display:inline-block;width:8px;height:8px;background:var(--bar);margin-right:7px}.chart-legend .orange{background:var(--orange)}.chart-box p{font-size:10px;line-height:1.7;margin-bottom:0}.method{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;border-top:1px solid var(--line);padding:46px 0 60px}.download{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;border:1px solid var(--ink);padding:12px 14px;margin-top:12px}.download:hover{background:var(--ink);color:var(--paper)}.download small{font:9px 'IBM Plex Mono',monospace;border-left:1px solid var(--line);padding-left:12px}.method-body details{border-bottom:1px solid var(--line)}summary{padding:16px 0;cursor:pointer;list-style:none;font-size:13px;font-weight:600;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary>span{font-size:19px;color:var(--muted)}details[open] summary>span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 19px}details a{text-underline-offset:3px}footer{border-top:2px solid var(--ink);padding:24px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:20px}footer .brand span{color:var(--orange)}footer>span{font-size:8px;color:var(--muted);letter-spacing:1.3px}footer>a:last-child{font-size:11px;text-decoration:none}#error{position:fixed;bottom:20px;left:20px;right:20px;background:var(--ink);color:var(--paper);padding:20px;z-index:10}:root[data-theme=dark]{--paper:#182323;--panel:#202e2d;--ink:#eeeadd;--muted:#a8b4ac;--line:#3b4b45;--orange:#e78b61;--maplow:#354942;--maphigh:#bfd4a1;--bar:#7b9c8a;color-scheme:dark}:root[data-theme=dark] .tabs{background:#2c3c37}@media(min-width:1400px){.map-layout{gap:60px}}@media(max-width:850px){main{padding:0 24px}.nav-inner{padding:16px 24px}.nav-label{display:none}.hero{padding-top:35px}.intro{display:block}.method-link{margin-top:20px;width:fit-content}.stats>div{padding-left:20px}.stats strong{font-size:48px}.stats .smaller{font-size:40px;padding-top:6px}.stats .eyebrow{font-size:8px}.stats>div>span:last-child{font-size:10px}.map-layout{gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr)}.index{max-height:550px}.map-heading span:last-child{display:none}.proportion,.method{gap:35px}.selection{flex-wrap:wrap;gap:20px}.selection>div:first-child{width:100%}.selection button{position:absolute;right:15px;top:15px}.ocean{font-size:8px}.map-label{font-size:8px}}@media(max-width:620px){main{padding:0 20px}.nav-inner{padding:14px 20px}.nav-actions{gap:15px}.nav-actions a{font-size:9px}.brand{font-size:20px}.hero{padding-top:30px}h1{font-size:76px}.intro p{font-size:15px}.stats{grid-template-columns:1fr 1fr;padding-bottom:20px;row-gap:20px}.stats>div:nth-child(3){grid-column:1/-1;border:0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.stats>div:nth-child(3) .eyebrow{grid-column:1/-1}.stats .smaller{font-size:35px;margin-bottom:0;padding-top:0}.stats>div:nth-child(3)>span:last-child{align-self:center;max-width:150px;justify-self:end}.stats strong{font-size:52px}.stats strong span{font-size:27px}.section-top{align-items:flex-start;gap:15px}h2{font-size:30px}.text-button{font-size:10px}.explore{padding-top:32px}.toolbar{display:block}.tabs{display:flex;width:100%}.tabs button{flex:1;padding:9px 10px;font-size:11px}.map-label{display:block;margin-top:10px}.map-layout{grid-template-columns:1fr}.map-heading{padding-top:7px}.index{min-height:420px;max-height:520px;margin-top:15px}.legend{margin-left:0}.hint{margin-left:0;font-size:9px}.ocean{font-size:10px}.proportion,.method{grid-template-columns:1fr;gap:25px;padding:32px 0}.proportion h2,.method h2{font-size:36px}.chart-box{padding:22px}footer{flex-wrap:wrap}footer>span{order:3;width:100%;font-size:8px}.selection strong{font-size:20px}.selection{padding:18px;gap:15px}.selection>div>span:last-child{font-size:10px}.selection>div:nth-child(4){width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#map path{transition:none}}

.time-filter{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:20px 0}.time-filter p{margin:5px 0 0;font-size:12px;color:var(--muted)}.time-tabs{border:1px solid var(--line);background:var(--panel)}.time-tabs button{min-width:130px}.time-tabs button[aria-pressed=true]{background:var(--orange);color:#fff}@media(max-width:620px){.time-filter{display:block}.time-tabs{margin-top:14px}.time-tabs button{min-width:0}}

.filter-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.filter-summary strong{font-family:'IBM Plex Mono',monospace;font-size:16px;color:var(--orange)}#filter-place{font-weight:600;color:var(--ink);margin-right:10px}.filter-divider{margin:0 7px}.technical-method{padding:40px 0;border-top:2px solid var(--ink)}.technical-method h2{font-size:42px}.method-lead{max-width:700px;color:var(--muted);font-size:14px;line-height:1.8}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.technical-method h3{font-size:25px;margin:25px 0 10px}.technical-method p,.technical-method li{font-size:12px;line-height:1.8;color:var(--muted)}.technical-method a{font-size:12px;text-underline-offset:3px}.technical-method pre{font:11px/1.8 'IBM Plex Mono',monospace;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:var(--panel);border:1px solid var(--line);color:var(--ink)}.technical-method code{font-size:11px}.technical-method .caption{font-size:10px}.coverage-note{margin-top:30px;padding-top:5px;border-top:1px solid var(--line)}@media(max-width:620px){.method-grid{grid-template-columns:1fr;gap:0}.technical-method h2{font-size:34px}.filter-summary{font-size:10px}.filter-summary strong{font-size:13px}}
