:root{color-scheme:dark;--bg:#071f2b;--panel:rgba(8,29,40,.95);--muted:#aec2ca;--text:#f5fbfa;--accent:#76ebc5;--line:rgba(197,226,233,.14);font-family:Inter,'Segoe UI',sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:inherit}button{border:0}button,select{min-height:44px}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}#map{position:fixed;inset:0;background:#082534}.map-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,16,25,.8) 0,transparent 180px,transparent 70%,rgba(3,16,25,.3) 100%)}.topbar{position:fixed;top:0;left:0;right:0;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:3;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--accent);border-radius:50%;font-size:25px;font-weight:800;color:var(--accent)}.brand b{font-size:19px;letter-spacing:.17em;display:block;line-height:1.3}.brand small{font-size:13px;color:#d0e0e5;display:block;letter-spacing:.04em;margin-top:3px}.top-actions{display:flex;align-items:center;gap:12px}.soft-button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:0 15px;font-size:14px}.soft-button>span:first-child{font-size:23px;color:var(--accent)}.language{background:var(--panel);border:1px solid var(--line);padding:3px;border-radius:9px;display:flex}.language button{min-height:36px;padding:0 12px;font-size:13px;font-weight:700;background:transparent;border-radius:5px;color:var(--muted)}.language button[aria-pressed=true]{background:var(--accent);color:#092c2c}.icon-button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;background:transparent;border-radius:8px;font-size:25px;line-height:1}.top-actions>.icon-button{border:1px solid var(--line);background:var(--panel);font-size:19px;font-family:Georgia,serif}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 40px rgba(0,0,0,.2);backdrop-filter:blur(16px)}.directory{position:fixed;left:24px;top:104px;bottom:32px;width:328px;border-radius:16px;display:flex;flex-direction:column;z-index:4;overflow:hidden}.directory-head{padding:26px 22px 20px}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:650;color:var(--accent);line-height:1.6}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:8px 0 10px}.directory-head p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.search-wrap{margin:0 18px 16px;display:flex;gap:9px;align-items:center;border:1px solid rgba(197,226,233,.26);border-radius:9px;padding:0 10px;background:rgba(255,255,255,.035);min-height:46px}.search-wrap>span{font-size:28px;color:var(--accent)}.search-wrap input{width:100%;min-width:0;background:transparent;border:0;color:white;outline:0;font-size:14px;padding:12px 0}.search-wrap:focus-within{border-color:var(--accent)}input::placeholder{color:#9cb5bf;opacity:1}kbd{font:12px sans-serif;color:#abc0ca;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:3px;padding:2px 5px}.filters{display:flex;gap:5px;margin:0 18px 10px;flex-wrap:wrap}.filters button{background:transparent;border-radius:7px;color:var(--muted);font-size:14px;padding:0 11px;min-height:36px}.filters button[aria-pressed=true]{background:rgba(118,235,197,.13);color:var(--accent)}.filter-row{display:flex;align-items:center;justify-content:space-between;margin:0 20px;padding:5px 0 9px;border-bottom:1px solid var(--line);gap:10px}.filter-row select{font-size:14px;border:0;background:var(--bg);color:var(--muted);max-width:190px;padding:0 3px;min-height:36px;cursor:pointer}.filter-row>span{font-size:13px;color:#9db8c4;white-space:nowrap}.place-list{min-height:0;overflow-y:auto;flex:1;padding:7px 9px 14px;scrollbar-width:thin;scrollbar-color:#37505d transparent}.place-row{width:100%;display:flex;align-items:center;text-align:left;gap:12px;min-height:72px;padding:13px 12px;background:transparent;border-radius:10px;border:1px solid transparent;position:relative}.place-row+.place-row{margin-top:3px}.place-row:hover{background:rgba(255,255,255,.055)}.place-row.selected{background:rgba(118,235,197,.09);border-color:rgba(118,235,197,.3)}.place-icon{width:39px;height:39px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:20px;color:#91cabd;background:#122f3a}.place-row.selected .place-icon{color:var(--accent);border-color:rgba(118,235,197,.4)}.place-text{min-width:0;flex:1}.place-text strong{display:block;font-size:16px;font-weight:550;line-height:1.35;overflow-wrap:anywhere}.place-text small{display:block;margin-top:5px;font-size:13px;line-height:1.3;color:var(--muted)}.place-arrow{color:var(--accent);font-size:22px}.directory-foot{border-top:1px solid var(--line);padding:13px 18px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px;flex-wrap:wrap}.directory-foot>span:first-child{color:#e8f7f2;font-weight:600}.directory-foot button{margin-left:auto;padding:4px 0;background:transparent;font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;min-height:24px}.map-interface{position:fixed;top:104px;left:376px;right:24px;bottom:32px;pointer-events:none}.map-interface>*{pointer-events:auto}.map-heading{position:absolute;top:13px;left:12px;text-shadow:0 2px 12px #00151f;display:flex;flex-direction:column;pointer-events:none}.view-title{font-family:Georgia,serif;font-size:36px;font-weight:400;margin-top:4px;max-width:calc(100vw - 520px);overflow-wrap:anywhere}.map-controls{position:absolute;right:0;top:0;display:flex;flex-direction:column;padding:4px;border-radius:12px}.control-divider{height:1px;background:var(--line);margin:4px 5px}.compass{position:relative;height:54px;padding-bottom:10px}.compass span{display:block;font-size:31px;color:var(--accent)}.compass small{position:absolute;bottom:2px;left:18px;font-size:10px;line-height:1}.mode-button{width:44px;height:44px;background:rgba(118,235,197,.15);color:var(--accent);font-size:14px;font-weight:700;border-radius:7px}.mode-button[aria-pressed=false]{background:transparent;color:white}.basemaps{position:absolute;right:0;top:325px;display:flex;padding:4px;border-radius:9px;gap:4px}.basemaps button{background:transparent;border-radius:5px;font-size:13px;padding:0 11px;min-height:34px}.basemaps button[aria-pressed=true]{color:#07262b;background:var(--accent)}.detail{position:absolute;left:8px;bottom:100px;width:350px;border-radius:14px;padding:16px 20px 19px}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-5px -8px 0 0}.detail-top .eyebrow{font-size:11px}.detail-top button{width:36px;min-width:36px;height:36px;min-height:36px;color:var(--muted)}h2{font-family:Georgia,serif;font-size:31px;line-height:1.15;letter-spacing:-.015em;font-weight:400;margin:2px 0 12px;overflow-wrap:anywhere}.detail p{font-size:15px;line-height:1.6;color:#d3e1e6;margin:0 0 14px}.coordinates{color:#a8c1cc;font-family:'Courier New',monospace;font-size:12px;letter-spacing:.02em}.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.primary-button{padding:11px 18px;background:var(--accent);color:#082b29;border-radius:7px;font-size:14px;font-weight:650}.detail-actions a{font-size:13px;color:#ccdddF;text-underline-offset:3px}.source-note{font-size:12px;color:#91abb6;line-height:1.5;margin-top:13px}.island-hop{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);min-width:400px;max-width:100%;display:flex;gap:10px;align-items:center;padding:10px 15px;border-radius:12px}.hop-caption{padding-right:18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.hop-caption .eyebrow{font-size:11px;white-space:nowrap}.hop-caption small{font:12px 'Courier New',monospace;color:var(--muted)}.hop-current{flex:1;text-align:center;min-width:120px;background:transparent;max-width:210px;padding:3px}.hop-current span{display:block;font-size:17px;font-weight:550}.hop-current small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.island-hop .icon-button{font-size:30px;border:1px solid var(--line);min-width:36px;width:36px;height:36px;min-height:36px}.map-hint{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;color:#d1e0e8;text-shadow:0 1px 3px #001;pointer-events:none}.notice{position:absolute;top:92px;left:8px;max-width:350px;background:#182e37;border:1px solid #aac5c6;border-radius:9px;padding:13px 16px;font-size:14px;line-height:1.5;z-index:6}.loading-text,.empty{padding:25px 16px;color:var(--muted);font-size:15px;line-height:1.6}.load-more{margin:8px 12px 0;width:calc(100% - 24px);background:#173c47;color:var(--accent);border-radius:8px;font-size:14px}.island-label{border:none;background:transparent;display:flex;align-items:center;gap:7px;color:white;font:600 14px 'Segoe UI',sans-serif;text-shadow:0 1px 5px #000,0 1px 10px #000;padding:8px;min-height:36px;white-space:nowrap}.island-label::before{content:'';width:6px;height:6px;border:1px solid white;border-radius:50%;background:#6ce0bb;box-shadow:0 0 0 4px #0b2a3780}.island-label.active{color:var(--accent)}.selected-pin{width:22px;height:22px;border-radius:50%;background:#88fbd0;border:4px solid #f4fff9;box-shadow:0 0 0 8px #82ffce35,0 2px 14px #002b38;pointer-events:none}.maplibregl-ctrl-attrib{font-size:11px!important;background:rgba(8,29,40,.93)!important;color:#adc4ce!important}.maplibregl-ctrl-attrib a{color:#dbe6ed!important}.maplibregl-ctrl-attrib-button{filter:invert(1)}.maplibregl-ctrl-scale{background:#092a39bb!important;color:#dbe7e8!important;border-color:#92b4bf!important;font-size:11px!important;margin-bottom:1px!important}.maplibregl-ctrl-bottom-left{left:372px}.mobile-directory{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:#75ebc5;color:#07252b;padding:12px}.skip-link:focus{top:10px}dialog{border:1px solid #426271;border-radius:18px;background:#0a2532;color:#e6f0f2;max-width:650px;width:calc(100% - 32px);max-height:calc(100% - 60px);padding:25px 30px;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#001521a8;backdrop-filter:blur(6px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px}dialog h2{font-size:34px;margin:15px 0 20px}dialog h3{font-size:16px;margin:25px 0 10px;color:var(--accent)}dialog p,dialog li{font-size:15px;line-height:1.65;color:#c6d9e0}dialog ul{padding-left:20px}dialog li{margin:12px 0}dialog a{color:#88edd0;text-underline-offset:3px}.small-text{font-size:13px!important;color:#a7c0c9!important}.no-script{position:fixed;inset:120px 25%;background:var(--panel);padding:30px;z-index:20}
@media(min-width:1550px){.directory{width:352px}.map-interface{left:400px}.maplibregl-ctrl-bottom-left{left:397px}.detail{width:370px}}
@media(max-height:760px) and (min-width:821px){.topbar{height:78px}.directory,.map-interface{top:84px}.directory-head{padding-top:18px;padding-bottom:15px}h1{font-size:28px}.directory{bottom:28px}.detail{bottom:100px;padding:12px 16px;width:320px}.detail p{font-size:14px;line-height:1.5}.detail h2{font-size:27px}.source-note{margin-top:7px}.detail-actions{margin-top:12px}.basemaps{top:325px}}
@media(max-width:1100px) and (min-width:821px){.directory{width:300px;left:18px}.map-interface{left:334px;right:18px}.detail{width:290px;bottom:104px}.island-hop{min-width:350px}.hop-caption{padding-right:10px}.maplibregl-ctrl-bottom-left{left:334px}}
@media(max-width:820px){.topbar{height:80px;padding:0 16px}.brand-mark{width:35px;height:35px;font-size:21px}.brand{gap:8px}.brand b{font-size:15px}.brand small{font-size:11px}.top-actions{gap:7px}.soft-button{padding:0 10px}.soft-button span:last-child{display:none}.language button{padding:0 9px}.top-actions>.icon-button{width:36px;min-width:36px}.map-interface{top:87px;left:16px;right:16px;bottom:50px}.map-heading{top:2px;left:1px}.map-heading .eyebrow{font-size:10px}.view-title{font-size:29px;max-width:calc(100vw - 115px)}.map-controls{right:0;top:0}.map-controls .icon-button{width:38px;min-width:38px;height:38px}.map-controls .compass{height:48px}.map-controls .mode-button{width:38px;height:38px}.compass small{left:15px}.basemaps{top:292px;right:0;flex-direction:column}.basemaps button{font-size:12px;min-height:32px;padding:0 9px}.detail{left:0;bottom:100px;width:min(340px,calc(100% - 67px));padding:14px 16px;max-height:40vh;overflow:auto}.detail h2{font-size:26px}.detail p{font-size:14px;line-height:1.5}.source-note{font-size:11px}.detail-actions{gap:8px;margin-top:12px}.detail-actions .primary-button{padding:10px 12px}.detail-actions a{font-size:12px}.island-hop{bottom:26px;left:0;transform:none;width:100%;min-width:0;gap:6px;padding:9px}.hop-caption{padding-right:8px}.hop-caption .eyebrow{font-size:10px}.hop-current{min-width:70px}.hop-current span{font-size:15px}.map-hint{display:none}.maplibregl-ctrl-bottom-left{left:5px;bottom:30px}.maplibregl-ctrl-attrib{max-width:95vw}.directory{top:80px;bottom:107px;left:12px;width:calc(100% - 24px);display:none;z-index:10}.directory.open{display:flex}.directory-head{padding:19px 20px 16px}.mobile-directory{display:block;position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:11;min-width:175px;box-shadow:0 4px 25px #001c;white-space:nowrap}.notice{top:76px;left:0;max-width:calc(100% - 65px)}dialog{padding:18px 22px}dialog h2{font-size:30px}.no-script{inset:110px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Census figures always carry the geographic scope of the source table. */
.detail{max-height:calc(100% - 195px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#37505d transparent;overscroll-behavior:contain}.census-panel{margin:15px 0 18px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.census-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--accent);font-size:12px;font-weight:650;letter-spacing:.1em;margin-bottom:12px}.census-year{font-size:12px;letter-spacing:0;padding:3px 7px;background:#76ebc518;border:1px solid #76ebc53b;border-radius:4px}.census-scope{font-size:14px;color:#d1e5e9;line-height:1.5;font-weight:550}.census-total{font-size:36px;font-weight:600;letter-spacing:-.04em;margin:5px 0 14px;line-height:1.2;color:#95f0cf;font-variant-numeric:tabular-nums}.census-total>span{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400;margin-left:4px}.census-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.census-breakdown dt{font-size:12px;color:var(--muted);line-height:1.5}.census-breakdown dd{font-size:18px;color:#e7f2f3;margin:4px 0 0;font-weight:550;font-variant-numeric:tabular-nums}.detail .census-note,.detail .census-caution{font-size:13px;line-height:1.55;margin:9px 0 0;color:#b8cdd5}.detail .census-caution{padding-left:10px;border-left:2px solid #a6c3cc}.detail .census-context-label{font-size:12px;color:#a6c2cd;margin:0 0 6px}.census-unavailable{display:block;font-size:16px;font-weight:550;line-height:1.4;color:#d9e6e9}.census-source{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#a7c1cb;line-height:1.45}.census-source a{color:#8cddc5;text-underline-offset:3px}.census-components,.census-context{margin:12px 0;color:#c4dce0;font-size:13px;line-height:1.5}.census-components summary,.census-context summary{cursor:pointer;color:#9fe4d0;font-size:13px;min-height:34px;display:list-item;padding:6px 0}.detail .census-components p{font-size:12px;margin:4px 0 9px;color:#afc7cf}.census-components ul{padding-left:20px;margin:7px 0 13px;font-size:13px}.census-context>.census-caution{margin:3px 0 15px}.census-components summary:focus-visible,.census-context summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.census-context .census-total{font-size:30px}.census-context .census-breakdown dd{font-size:16px}
@media(max-width:820px){.detail{max-height:43vh}.census-panel{padding:12px 0;margin:12px 0}.census-total{font-size:31px}.census-breakdown{gap:7px}.census-breakdown dd{font-size:16px}.census-total>span{display:inline-block}.census-scope{font-size:13px}}
/* Population lens and the current council register. */
.shefa-villages ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.shefa-villages li{min-width:0}.shefa-villages button{display:block;min-height:36px;background:transparent;color:#a4f5d8;text-decoration:underline;text-underline-offset:3px;font-size:13px;padding:4px 0;text-align:left;overflow-wrap:anywhere}.shefa-census-context+.shefa-census-context{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.council-missing-key:before{content:'';display:inline-block;width:12px;height:9px;background:#7a8896;margin-right:7px;border:1px solid #b7daca44}.population-sex button:disabled{opacity:.55;cursor:not-allowed}
.population-basis-label{display:block;font-size:12px;color:var(--muted);margin:0 0 5px}.sanma-filter-note{font-size:11px;line-height:1.45;color:#b5ccd4;margin:8px 0}.population-age select:disabled{opacity:.55}.sanma-distribution{display:block;width:100%;margin:13px 0 8px;padding:9px 12px;border:1px solid #76ebc548;border-radius:7px;color:#a4f5d8;background:#76ebc510;font-size:13px;text-align:left}.sanma-communities table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px;font-variant-numeric:tabular-nums}.sanma-communities th,.sanma-communities td{border-bottom:1px solid var(--line);padding:8px 3px;text-align:right;vertical-align:top}.sanma-communities th:first-child{text-align:left;font-weight:400;overflow-wrap:anywhere;max-width:155px}.sanma-communities thead th{color:#9fc7c7;font-size:11px}.sanma-communities button{font:inherit;color:#a4f5d8;background:transparent;text-decoration:underline;text-underline-offset:3px;min-height:28px;padding:0;text-align:left;overflow-wrap:anywhere}.sanma-communities>a{color:#a4f5d8;font-size:12px}
.population-toggle{gap:8px}.population-toggle>span:first-child{font-size:20px}.toggle-track{display:block;width:27px;height:16px;border-radius:20px;background:#56717b;position:relative;flex-shrink:0}.toggle-track:after{content:'';position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#e5efee;transition:transform .15s}.population-toggle[aria-pressed=true]{border-color:#76ebc5;color:#a4f5d8}.population-toggle[aria-pressed=true] .toggle-track{background:#76ebc5}.population-toggle[aria-pressed=true] .toggle-track:after{background:#103d37;transform:translateX(11px)}
.population-controls{padding:17px 18px 13px;border-bottom:1px solid var(--line);margin-bottom:13px;flex-shrink:0}.population-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.population-title h2{font:600 18px/1.25 'Segoe UI',sans-serif;margin:4px 0 12px;letter-spacing:0}.population-title .eyebrow{font-size:11px}.population-title button{background:transparent;color:var(--accent);font-size:12px;padding:2px;min-height:30px;text-decoration:underline;text-underline-offset:3px}.population-sex{margin:0;padding:0;border:0}.population-sex legend{font-size:13px;color:var(--muted);margin-bottom:5px}.population-sex>div{display:flex;border:1px solid var(--line);padding:3px;border-radius:8px;gap:3px}.population-sex button{flex:1;min-height:34px;background:transparent;border-radius:5px;font-size:14px;color:#c0d3d9}.population-sex button[aria-pressed=true]{background:var(--accent);color:#082b29;font-weight:600}.population-age{display:flex;align-items:center;justify-content:space-between;margin:10px 0;gap:10px}.population-age label{font-size:13px;color:var(--muted)}.population-age select{min-width:140px;max-width:180px;min-height:36px;background:#163744;border:1px solid #47616b;color:#e8f4f0;padding:5px 8px;border-radius:6px;font-size:14px}.population-summary{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:5px}.population-summary>span{font-size:12px;color:#b0c7cf;line-height:1.35}.population-summary>strong{font-size:23px;font-weight:600;line-height:1.3;color:#b1f6db;font-variant-numeric:tabular-nums}.population-legend{margin-top:12px}.population-legend>span{font-size:12px;color:#bfd5dc}.legend-bins{display:flex;gap:3px;margin:7px 0 6px}.legend-bins>span{flex:1;font-size:12px;white-space:nowrap;text-align:center;letter-spacing:-.02em;color:#c1d3d9}.legend-bins i{display:block;height:8px;border-radius:2px;margin-bottom:5px;border:1px solid #b7daca44}.population-basis{display:flex;align-items:center;gap:6px;justify-content:space-between;margin:8px 0 0;color:#91afb9;font-size:11px;line-height:1.4}.population-basis button{border:1px solid #476570;border-radius:50%;background:transparent;min-height:25px;min-width:25px;height:25px;font:16px Georgia,serif}.population-controls #population-status{font-size:13px;line-height:1.5;color:#ffcda2;margin:10px 0 0}.council-coverage{padding:2px 21px 9px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#9fbbc4;line-height:1.45}.council-coverage strong{font-size:13px;color:#d3e8e4;font-weight:500}.place-text .council-badge{color:#a2dfcb;font-size:12px}.place-text .council-badge.unmapped{color:#dec79e}.filtered-population{display:flex;flex-direction:column;gap:6px;padding:14px;margin:2px 0 17px;background:#76ebc510;border:1px solid #76ebc548;border-radius:9px;color:#b4d4d9;font-size:13px}.filtered-population>span:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#9aebd0}.filtered-population>strong{font-size:30px;font-weight:600;line-height:1.2;color:#b6fae0;font-variant-numeric:tabular-nums}.filtered-population>strong small{font-size:12px;font-weight:400;white-space:nowrap}.filtered-population .filtered-scope{border-top:1px solid var(--line);padding-top:7px;margin-top:3px}.filtered-population a{color:#94dec9;font-size:12px;line-height:1.5}.census-total>span{display:block;margin:6px 0 0;line-height:1.5}.population-on .directory .search-wrap{margin-bottom:8px}.population-on .directory .filters{margin-bottom:3px}.population-on .directory .filter-row{padding-bottom:3px}.population-on .place-row{min-height:65px;padding-top:10px;padding-bottom:10px}.population-on .directory-foot{padding-top:9px;padding-bottom:9px}.population-on .map-heading .eyebrow{color:#adffe0}.population-on .notice{z-index:6}
@media(max-height:760px) and (min-width:821px){.population-controls{padding-top:12px;padding-bottom:9px;margin-bottom:10px}.population-title h2{font-size:17px;margin-bottom:8px}.population-sex legend{display:none}.population-age{margin:7px 0}.population-summary{padding-top:7px}.population-summary>strong{font-size:21px}.population-legend{margin-top:8px}.population-basis{margin-top:5px}.population-on .filters button{font-size:13px;padding:0 9px;min-height:30px}.population-on .search-wrap{min-height:40px}.population-on .search-wrap input{padding:8px 0}.population-on .council-coverage{padding-bottom:5px;font-size:11px}.population-on .council-coverage strong{font-size:12px}}
@media(max-width:1100px) and (min-width:821px){.population-toggle{padding:0 10px;gap:6px}.top-actions{gap:8px}.legend-bins>span{font-size:12px}.population-controls{padding-left:16px;padding-right:16px}}
@media(max-width:820px){.population-toggle{padding:0 8px;gap:5px}.population-toggle>span:nth-child(2){display:none}.population-toggle .toggle-track{display:block;width:24px;height:14px}.population-toggle .toggle-track:after{width:8px;height:8px}.population-toggle[aria-pressed=true] .toggle-track:after{transform:translateX(10px)}.population-controls{padding:14px 18px 10px;margin-bottom:10px}.population-title h2{font-size:20px}.population-legend{margin-top:8px}.population-sex legend{display:none}.population-on .directory{bottom:94px}.population-on .directory-head{display:none}.population-summary{flex-direction:row;align-items:center;justify-content:space-between;gap:15px}.population-summary>span{max-width:55%}.population-summary>strong{font-size:20px;text-align:right}.legend-bins>span{font-size:12px}.population-on .filters button{min-height:34px}.population-on .council-coverage{padding-bottom:6px}.population-on .directory-foot{padding:8px 18px}.population-basis{font-size:12px}.population-on .detail{max-height:49vh}.filtered-population>strong{font-size:26px}}
@media(max-width:480px){.brand-mark{display:none}.topbar{padding:0 12px}.brand b{font-size:14px}.brand small{font-size:10px}.top-actions{gap:4px}.top-actions>.icon-button{width:32px;min-width:32px}.language button{padding:0 7px}.soft-button{padding:0 7px}.population-toggle{gap:4px}.toggle-track{display:none!important}.population-toggle[aria-pressed=true]{background:#184e47}.population-on .directory{top:76px}.population-on .search-wrap{min-height:39px}.population-on .search-wrap input{padding:8px 0}}

/* The full active sidebar can scroll at short heights and enlarged text sizes. */
.population-on .directory{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#37505d transparent}.population-on .place-list{overflow:visible;min-height:100px}.population-on .population-title h2{font-size:17px;line-height:1.3}.population-on .population-title .eyebrow{font-size:12px}.population-on .population-sex legend{display:none}.population-on .population-age{margin:7px 0}.population-on .population-summary{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding-top:8px}.population-on .population-summary>span{max-width:51%;font-size:12px}.population-on .population-summary>strong{max-width:49%;font-size:19px;text-align:right}.population-on .population-controls{padding-top:12px;padding-bottom:9px}.population-on .population-title h2{margin-bottom:9px}.population-on .population-legend{margin-top:8px}.population-on .filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.population-on .filters button{flex-shrink:0;white-space:nowrap}.population-on .council-coverage{padding-top:5px;padding-bottom:5px}.population-on .council-coverage span{font-size:12px}.population-on .population-basis{font-size:12px}.population-on .population-basis button{min-width:28px;min-height:28px}.population-on .population-title button{font-size:13px}.population-on .directory-foot{min-height:42px}.population-on .filter-row>span{font-size:12px}.population-on .directory-foot button{min-height:32px}

.population-area{display:block;width:100%;background:#163744;border:1px solid #47616b;color:#d5e6e7;border-radius:6px;font-size:13px;min-height:36px;padding:5px 8px;margin:0 0 9px}.population-on .population-summary>span{line-height:1.4}.population-on .population-title{gap:6px}

/* Police facilities remain readable above the population shading. */
.police-coverage{padding:3px 20px 11px;color:#adc7d5;font-size:12px;line-height:1.5;display:flex;flex-direction:column;gap:5px}.police-coverage strong{display:flex;align-items:center;gap:8px;color:#c6e9ff;font-size:13px;font-weight:550}.police-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#75bfff;border:1px solid #c6e9ff;flex-shrink:0}.place-icon.police-icon{color:#a5d9ff;border-color:#75bfff55;background:#1a3b50}.place-text .police-badge{font-size:12px;color:#a5d9ff}.place-text .police-badge.unmapped,.police-location-status.unmapped{color:#f0ce9e}.police-location-status.unmapped .police-dot{background:transparent;border-color:#f0ce9e}.filters button[data-category=police][aria-pressed=true]{background:#75bfff20;color:#b0deff}.police-details{margin:0 0 15px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.police-location-status{display:flex;gap:8px;align-items:center;font-size:13px;line-height:1.5;color:#a5d9ff}.police-island{color:#c9dee7;font-size:13px;margin:7px 0 14px}.police-phone-label{display:block;color:var(--muted);font-size:12px}.police-phone{display:inline-flex;min-height:44px;align-items:center;font-size:24px;color:#b4e2ff;text-decoration:underline;text-underline-offset:5px;letter-spacing:.02em}.detail .police-note{font-size:13px;line-height:1.5;color:#b9ccd6;margin:5px 0 10px}.police-sources{font-size:12px;line-height:1.5;margin-top:8px;color:#adc5d0}.police-sources summary{cursor:pointer;min-height:34px;padding:6px 0;color:#a5d9ff}.police-sources>div{margin:8px 0}.police-sources>div span{display:block;color:#93aeba}.police-sources a{display:inline-block;color:#c6e9ff;text-underline-offset:3px;overflow-wrap:anywhere}.police-sources small{font-size:12px}.police-view .directory{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#37505d transparent}.police-view .place-list{overflow:visible;min-height:90px}.police-view .directory-head{padding-bottom:13px}.police-view .filters{margin-bottom:5px}.police-view .search-wrap{margin-bottom:9px}
@media(max-width:820px){.police-view .directory:not(.open){display:none}.police-view .directory.open{display:block}}

/* Distinguish image-derived council outlines from reference geography. */
.place-text .council-badge.approximate{color:#ffd28a}.council-layer-key{font-size:12px;color:#d8d8c0;border-top:1px solid var(--line);padding-top:5px;margin-top:2px}.council-data-warning{color:#ffd28a}.council-view .directory{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#37505d transparent}.council-view .place-list{overflow:visible;min-height:90px}.council-view .directory-head{padding-bottom:13px}.council-view .search-wrap{margin-bottom:9px}.council-view .council-coverage{font-size:13px}.council-view .filters{margin-bottom:5px}
@media(max-width:820px){.council-view .directory:not(.open){display:none}.council-view .directory.open{display:block}}

.tafea-table-scroll{overflow-x:auto;max-width:100%;margin:12px 0}.tafea-table-scroll table{min-width:460px;font-size:14px}.tafea-table-scroll thead th{font-size:13px}.tafea-table-scroll:focus-visible{outline:2px solid #76ebc5;outline-offset:2px}

/* Public service layer, extending the Explorer's dark map controls. */
.services-toggle>span:first-child{font-size:23px;color:#b7daf5}.services-toggle[aria-pressed=true]{border-color:#b7daf5;color:#dcedfa}.services-toggle[aria-pressed=true] .toggle-track{background:#b7daf5}.services-toggle[aria-pressed=true] .toggle-track:after{background:#16334a;transform:translateX(11px)}
.services-controls{padding:16px 16px 12px;border-bottom:1px solid var(--line);margin-bottom:13px;position:relative}.services-heading .eyebrow{color:#b7daf5;letter-spacing:.09em}.services-heading h2{font:600 21px/1.3 'Segoe UI',sans-serif;margin:5px 0 8px}.service-tip{font-size:14px;line-height:1.45;color:var(--muted);margin:0 0 10px}.service-type-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:3px;margin-bottom:6px}.service-type-heading>span{font-size:14px;color:#c8dae5}.service-type-heading>div{display:flex;gap:8px}.service-type-heading button{background:transparent;color:#b7daf5;font-size:14px;padding:2px;min-height:36px;text-decoration:underline;text-underline-offset:3px}.service-types{display:grid;grid-template-columns:1fr 1fr;gap:6px}.service-types button{background:#102d3d;border:1px solid #375362;border-radius:8px;color:#b5c8d1;display:flex;gap:6px;align-items:center;text-align:left;font-size:14px;min-height:44px;padding:7px 8px;line-height:1.25}.service-types button[aria-pressed=true]{background:color-mix(in srgb,var(--service-color) 12%,#102d3d);border-color:var(--service-color);color:#f4f9fc}.service-filter-icon{width:17px;text-align:center;color:var(--service-color);font-size:17px;flex-shrink:0}.service-types button>span:nth-child(2){flex:1;overflow-wrap:anywhere}.service-types b{font-size:12px;font-weight:500;color:var(--service-color);font-variant-numeric:tabular-nums}.services-summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.services-summary-row strong{font-size:14px;font-weight:500;color:#dbeaf4;line-height:1.4}.services-summary-row button{font-size:14px;color:#c8e5fc;background:transparent;padding:3px;min-height:40px;text-decoration:underline;text-underline-offset:3px;flex-shrink:0}.service-legend{font-size:13px;color:#d7dfeb;margin:3px 0 6px;padding-left:17px;position:relative}.service-legend:before{content:'';width:10px;height:10px;border:2px solid #ffd28a;border-radius:50%;position:absolute;left:0;top:2px}.service-coverage-note{font-size:13px;line-height:1.45;color:var(--muted);margin:0 22px 0 0}.services-about{position:absolute;bottom:14px;right:13px;min-height:28px;width:28px;border:1px solid #688597;background:transparent;border-radius:50%;font:16px Georgia,serif}.services-controls [role=status]{font-size:14px;line-height:1.5;color:#ffdaa8}.services-on .directory{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#37505d transparent}.services-on .directory-head,.services-on .filters,.services-on #council-coverage,.services-on #police-coverage{display:none!important}.services-on .place-list{overflow:visible;min-height:90px}.services-on .search-wrap{margin-bottom:8px}.services-on .directory-foot{position:static}.place-text .service-badge{color:#bdd3e2;font-size:12px;line-height:1.4}.service-details{border-top:1px solid var(--line);padding:14px 0;margin-bottom:14px;font-size:14px;line-height:1.5}.service-location-status{display:flex;align-items:center;gap:8px;color:var(--service-color);font-size:14px}.service-dot{display:inline-block;background:var(--service-color);border:2px solid var(--service-color);width:12px;height:12px;border-radius:50%;flex-shrink:0}.service-dot.approximate{background:transparent}.service-facts{margin:13px 0}.service-facts dt{font-size:13px;color:var(--muted)}.service-facts dd{margin:3px 0 0;color:#e6f0f5;font-size:15px}.service-codes{color:#cbbcff;margin-top:12px;font-size:14px}.detail .service-note,.service-notes p{font-size:14px;line-height:1.55;color:#b9ced9}.service-notes summary,.service-sources summary{cursor:pointer;min-height:40px;padding:8px 0;color:#c7e3f6;font-size:14px}.service-sources a{color:#c7e3f6;text-underline-offset:3px;overflow-wrap:anywhere}.service-sources p{font-size:14px;line-height:1.5;margin:8px 0}.service-details small{display:block;font-size:12px;color:var(--muted);line-height:1.5}.service-council-link,.service-colocated button{display:block;width:100%;text-align:left;background:#b7daf512;color:#c7e3f6;border:1px solid #b7daf53d;border-radius:7px;font-size:14px;padding:10px;margin:10px 0;min-height:44px}.service-colocated h3{font-size:15px;font-weight:600;margin-top:16px}.service-colocated button{margin:5px 0}.services-on.population-on .population-controls{border-bottom:2px solid #76ebc570}
@media(min-width:821px) and (max-width:1100px){.topbar{padding:0 24px}.top-actions{gap:7px}.services-toggle{padding:0 10px;gap:6px}.services-toggle>span:nth-child(2){max-width:115px;font-size:14px;line-height:1.2}.brand small{font-size:12px}.brand{gap:8px}.brand b{font-size:17px}}
@media(max-width:820px){.services-toggle{padding:0 9px;gap:5px}.services-toggle>span:nth-child(2){display:none}.services-toggle>span:first-child{font-size:23px}.services-toggle .toggle-track{width:24px;height:14px}.services-toggle .toggle-track:after{width:8px;height:8px}.services-toggle[aria-pressed=true] .toggle-track:after{transform:translateX(10px)}.services-on .directory:not(.open){display:none}.services-on .directory.open{display:block}.services-controls{padding:15px 18px 12px}.service-types button{min-height:46px}.services-on .directory .place-list{padding-bottom:20px}}
@media(max-width:430px){.topbar{padding-left:12px;padding-right:12px}.top-actions{gap:5px}.brand-mark{width:34px;height:34px;font-size:20px}.brand{gap:6px}.brand b{font-size:14px;letter-spacing:.1em}.brand small{font-size:11px}.soft-button{min-height:40px}.population-toggle,.services-toggle{padding:0 7px}.population-toggle .toggle-track,.services-toggle .toggle-track{display:none}.language button{padding:0 8px}.top-actions>.icon-button{width:34px;min-width:34px;height:40px}.services-heading h2{font-size:20px}}
@media(max-width:360px){.brand b{font-size:12px;letter-spacing:.08em}.brand small{display:none}.language{padding:2px}.language button{padding:0 5px}.top-actions{gap:3px}.top-actions>.icon-button{width:30px;min-width:30px}.services-toggle[aria-pressed=true]{background:#22445c}}
