/* The city is geography; crime remains a translucent layer on its surface. */
#atlas-map.atlas-urban > :not(.city-host):not(.city-loader) {visibility:hidden!important;pointer-events:none!important;}
.city-host {position:absolute;inset:0;width:100%;height:100%;background:#eeede5;overflow:hidden;}
.city-host[hidden],.city-loader[hidden],.city-tooltip[hidden] {display:none!important;}
.city-flight-guide,.city-guide-canvas{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;}
.city-flight-guide[hidden]{display:none;}
.city-flight-guide[data-kind=route] .city-guide-attraction,
.city-flight-guide[data-kind=orbit] .city-guide-end{display:none;}
.city-guide-waypoint{fill:#38291f;stroke:#fff3ce;stroke-width:1.6;stroke-linejoin:round;}
.city-guide-center{fill:#f4a45e;}
.city-guide-attraction{fill:none;}
.city-attraction-halo{stroke:#213d39;stroke-opacity:.8;stroke-width:3.5;}
.city-attraction-ring{stroke:#fff7d5;stroke-width:1.7;}
.city-host .maplibregl-canvas {outline:none;}
.city-ground-lettering{pointer-events:none!important;user-select:none;text-align:center;width:min(540px,70vw);height:160px;z-index:1;color:#f5f3eb;}
.city-ground-lettering[hidden]{display:none!important;}
.city-overflight-reading{position:absolute;z-index:3;left:55%;top:35%;transform:translate(-50%,-50%);width:min(36vw,410px);display:grid;justify-items:center;gap:4px;text-align:center;pointer-events:none;color:#fcfaf2;text-shadow:0 1px 3px #182023,0 2px 10px #182023;}
.city-overflight-reading[hidden]{display:none!important;}
.city-overflight-caption{font:700 10px/1.3 var(--font);text-transform:uppercase;letter-spacing:.12em;}
.city-overflight-name{font:800 clamp(21px,2.4vw,38px)/1.03 var(--font);letter-spacing:-.04em;text-wrap:balance;}
.city-overflight-count{font:700 clamp(14px,1.45vw,21px)/1.18 var(--font);font-variant-numeric:tabular-nums;text-wrap:balance;}
body[data-flight-view=passenger] .city-overflight-reading{left:46%;}
@media(max-width:760px){.city-overflight-reading{left:auto;right:3%;top:47%;width:37%;transform:translateY(-50%);align-items:end;text-align:right;justify-items:end;}.city-overflight-name{font-size:19px;}.city-overflight-count{font-size:13px;}.city-overflight-caption{font-size:8px;}body[data-flight-view=passenger] .city-overflight-reading{left:5%;right:auto;text-align:left;justify-items:start;}}
.city-ground-ink{height:100%;display:flex;flex-direction:column;justify-content:flex-end;transform:scaleY(1.9);transform-origin:50% 100%;text-shadow:0 2px 2px #202622b3,0 4px 12px #20262266;}
.city-ground-name{display:block;font:900 clamp(30px,4vw,52px)/1.03 var(--font);letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance;}
.city-ground-count{display:block;font:750 clamp(22px,2.6vw,34px)/1.15 var(--font);font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin-top:8px;}
.city-ground-period{display:block;font:600 clamp(12px,1.3vw,17px)/1.3 Arial,sans-serif;margin-top:8px;}
.city-ground-period[hidden]{display:none;}
body[data-flight-view=passenger] .city-ground-lettering{width:min(24vw,300px);height:78px;transform-origin:center bottom;}
body[data-flight-view=passenger] .city-ground-ink{transform:scaleY(1.8);text-shadow:0 1px 2px #172018,0 2px 5px #172018aa;}
body[data-flight-view=passenger] .city-ground-name{font-size:clamp(18px,2vw,30px);line-height:1.04;}
body[data-flight-view=passenger] .city-ground-count{font-size:clamp(13px,1.4vw,20px);line-height:1.16;margin-top:4px;text-wrap:balance;}
.map-card:has(.city-ground-lettering:not([hidden])) .flight-hint{visibility:hidden;}
.city-host .maplibregl-canvas:focus-visible {outline:2px solid #ed553b;outline-offset:-3px;}
.city-host .maplibregl-ctrl-attrib {background:#f5f3ebdc;color:#687067;font:8px/1.5 var(--font);max-width:650px;}
.city-host .maplibregl-ctrl-attrib a {color:#202622;}
.city-host .maplibregl-ctrl-bottom-right {right:13px;bottom:4px;}
.city-host .maplibregl-ctrl-bottom-left {left:16px;bottom:4px;}
.city-host .maplibregl-ctrl-scale {background:#f5f3ebbf;border-color:#687067;color:#202622;font:9px/1.4 var(--font);padding:1px 5px;}
.city-host .maplibregl-ctrl-logo {display:none;}
.city-loader {position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:5;width:min(330px,70%);padding:23px 26px;background:#f5f3ebf5;border:1px solid #d8d9d0;border-radius:0;box-shadow:0 9px 36px #20262224;color:#bc3523;text-align:left;}
.city-loader strong {font:750 23px/1.2 var(--font);}
.city-loader p {font:12px/1.65 var(--font);color:#687067;margin:10px 0 0;}
.city-loader button {font:11px var(--font);color:#f5f3eb;background:#bc3523;border:0;border-radius:0;padding:9px 12px;margin-top:14px;}
.city-status {position:absolute;right:72px;top:95px;max-width:260px;padding:8px 11px;background:#f5f3ebeb;border:1px solid #d8d9d0;border-radius:0;pointer-events:none;font:9px/1.45 var(--font);color:#687067;box-shadow:0 2px 10px #20262206;}
.city-status-label {display:block;font-weight:600;color:#202622;}
.city-status-detail {display:block;margin-top:2px;}
.city-status[data-state=ready] {opacity:.88;}
.city-status[data-state=error] {border-color:#ed553b;}
.city-legend {position:absolute;right:72px;top:143px;bottom:auto;max-height:calc(100% - 385px);overflow:auto;scrollbar-width:thin;width:193px;padding:16px;background:#f5f3ebf5;border:1px solid #d8d9d0;border-radius:0;box-shadow:none;color:#202622;}
.city-legend strong {display:block;font:600 12px/1.45 var(--font);letter-spacing:-.01em;margin-bottom:12px;text-wrap:balance;}
.city-imagery-label {display:block;font:8px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#687067;margin-bottom:8px;}
.city-provider-note {font:9px/1.5 var(--font);color:#687067;border-top:1px solid #d8d9d0;padding-top:9px;margin:9px 0 0;}
/* Reserve the native Google logo and provider attribution strip. */
.map-card:has(.city-host[data-engine="google-3d"]:not([hidden])) #map-explorer {bottom:48px;}
.map-card:has(.city-host[data-engine="google-3d"]:not([hidden])) .side-panel {bottom:48px;}
.city-ramp {display:flex;height:8px;overflow:hidden;border:1px solid #2026221a;border-radius:1px;}
.city-ramp span {flex:1;border-right:1px solid #f5f3eb33;}
.city-ramp span:last-child {border-right:0;}
.city-limits {display:flex;justify-content:space-between;font:10px/1.5 var(--mono);font-variant-numeric:tabular-nums;margin-top:6px;}
.city-legend-note {font:10px/1.55 var(--font);color:#687067;margin:9px 0 0;}
.city-layer-options {border-top:1px solid #d8d9d0;padding-top:8px;margin-top:9px;font:10px/1.4 var(--font);}
.city-layer-options summary {cursor:pointer;color:#bc3523;font-weight:550;line-height:1.5;padding-block:2px;}
.city-check {display:flex;align-items:center;gap:8px;min-height:24px;font-size:10px;margin:2px 0;cursor:pointer;}
.city-check input {margin:0;width:13px;height:13px;accent-color:#bc3523;}
.city-compass {position:absolute;right:26px;top:348px;width:32px;text-align:center;color:#bc3523;pointer-events:none;}
.city-compass b {display:block;font:8px var(--mono);margin-bottom:3px;}
.city-compass svg {width:26px;height:32px;fill:#bc3523;transform-origin:50% 50%;}
.city-tooltip {position:absolute;z-index:4;pointer-events:none;padding:11px 14px;max-width:240px;border-radius:0;background:#202622f2;color:#f5f3eb;box-shadow:0 3px 15px #20262228;}
.city-tooltip strong {display:block;font:600 12px var(--font);}
.city-tooltip span {display:block;font:10px/1.5 var(--font);color:#d8d9d0;margin-top:5px;}
body[data-flight=active] .city-legend {top:94px;bottom:auto;right:72px;width:218px;background:#f5f3ebf7;border-color:#d8d9d0;color:#202622;}
body[data-flight=active] .city-imagery-label {color:#687067;}
body[data-flight=active] .city-limits {color:#202622;}
body[data-flight=active] .city-layer-options {border-top-color:#d8d9d0;}
body[data-flight=active] .city-layer-options summary {color:#bc3523;}
body[data-flight=active] .city-check {color:#202622;}
body[data-flight=active] .city-check input {accent-color:#bc3523;}
body[data-flight=active] .city-status {top:auto;bottom:204px;right:24px;max-width:225px;font-size:8px;padding:6px 10px;}
body[data-flight=active] .city-compass {top:290px;}
.city-legend .city-status,body[data-flight=active] .city-legend .city-status {position:static;padding:8px 0 0;margin-top:9px;border:0;border-top:1px solid #d8d9d0;background:none;box-shadow:none;max-width:none;font-size:8px;}
body[data-flight=active] .city-legend-note {display:none;}
@media(max-width:1100px){.city-status{max-width:220px;right:66px;}.city-legend{width:176px;right:66px;}body[data-flight=active] .city-legend{right:62px;width:170px;}.city-host .maplibregl-ctrl-attrib{max-width:480px;}}
@media(max-width:760px){.city-status{top:145px;right:53px;max-width:190px;}.city-legend{right:12px;bottom:230px;width:155px;padding:11px;}.city-compass{right:16px;top:285px;}.city-host .maplibregl-ctrl-attrib{max-width:260px;font-size:7px;}.city-host .maplibregl-ctrl-scale{font-size:8px;}body[data-flight=active] .city-legend{display:none;}body[data-flight=active] .city-status{display:none;}}
