/* Opt-in mobile layout. No desktop geometry or provider content overrides. */
.atlas-mobile-ui{display:none!important}
html[data-atlas-mobile] .atlas-mobile-ui{display:flex!important}
html[data-atlas-mobile] #atlasTopbar{top:max(6px,env(safe-area-inset-top));left:8px;right:8px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px 60px;align-items:center;gap:4px;padding:4px;min-height:54px;border-radius:13px;box-shadow:0 3px 12px #0003;backdrop-filter:none}
html[data-atlas-mobile] #atlasTopbar #catalogToggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:9px;background:transparent}
html[data-atlas-mobile] #atlasTopbar #catalogToggle span,html[data-atlas-mobile] #catalogToggle:after{display:none}
html[data-atlas-mobile] #atlasTopbar #catalogToggle svg{width:20px;height:20px}
html[data-atlas-mobile] #atlasTopbar button.atlas-mobile-ui{margin:0;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 4px;border:0;background:transparent;border-radius:9px;color:#e9f6fc;cursor:pointer;font:600 12px/1.25 system-ui;box-sizing:border-box}
html[data-atlas-mobile] #atlasTopbar #atlasMobileBrand{display:flex;position:relative;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
html[data-atlas-mobile] #atlasMobileBrand strong{font:700 13px/1.2 system-ui;letter-spacing:.3px}
html[data-atlas-mobile] #atlasMobileSummary{font:500 10.5px/1.25 system-ui;color:#b4cedd;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
html[data-atlas-mobile] #atlasMobileBrand[data-review=true] strong:after{content:'';display:inline-block;width:5px;height:5px;margin:0 0 2px 5px;border-radius:50%;background:#e9c77c}
html[data-atlas-mobile] #atlasTopbar button.atlas-mobile-ui:active{background:#234452}
html[data-atlas-mobile] #atlasMobileSearch svg{width:21px;height:21px}
html[data-atlas-mobile] #atlasTopbar #atlasMobileFilter{flex-direction:column;gap:1px;font-size:10.5px}
html[data-atlas-mobile] #atlasMobileFilter svg{width:21px;height:21px}
html[data-atlas-mobile] #atlasMobileFilter[data-filtered=true]{background:#19475c!important;box-shadow:inset 0 0 0 1px #70bacb!important}
html[data-atlas-mobile] .atlas-address-control{display:none!important}
html[data-atlas-mobile] #fallback .leaflet-top{top:calc(var(--atlas-top-edge) + 2px)}
html[data-atlas-mobile] #fallback .leaflet-control{margin-left:8px;margin-top:8px}
html[data-atlas-mobile] .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:23px}
html[data-atlas-mobile] .atlas-sv-control #atlasStreetViewPick{width:44px;height:44px;min-height:44px;min-width:44px}
html[data-atlas-mobile] #worldControls[data-dock]{left:8px;right:8px;bottom:max(22px,env(safe-area-inset-bottom));width:auto;max-width:450px;margin:0 auto;display:grid;grid-template-columns:minmax(0,4fr) minmax(44px,1fr);gap:4px;padding:4px;min-height:54px;border-radius:13px;overflow:visible;box-shadow:0 4px 14px #0003;backdrop-filter:none}
html[data-atlas-mobile] #worldControls[data-dock] .atlas-dock-extras{display:block;width:100%;min-width:0;padding:0;margin:0}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));width:100%;min-width:0;gap:4px;padding:0;border:0}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles button,
html[data-atlas-mobile] #worldControls[data-dock] #atlasMobileBasemap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 1px;width:100%;min-width:44px;height:44px;min-height:44px;border:1px solid #42607388;border-radius:9px;background:#142a37;color:#dcebf3;font:600 10.5px/1.15 system-ui;letter-spacing:0;cursor:pointer}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles button[aria-pressed=true]{border-color:#75c1d6;background:#244c5c;color:#f0fbff;box-shadow:none}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles svg,
html[data-atlas-mobile] #atlasMobileBasemap svg{display:block;width:19px;height:19px;flex:0 0 19px}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles .direct-short{display:none}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles .direct-full{display:block}
html[data-atlas-mobile] #worldControls[data-dock] #atlasOverlayToggles .atlas-mobile-air-label{display:block!important}
html[data-atlas-mobile] .mobile-sheet:not([open]){display:none!important}
html[data-atlas-mobile] .mobile-sheet[open]{display:flex!important;flex-direction:column;box-sizing:border-box;position:fixed;inset:auto 8px max(8px,env(safe-area-inset-bottom));margin:0 auto;width:calc(100% - 16px);max-width:460px;max-height:calc(100dvh - 16px);padding:0;overflow:hidden;background:#0f2431;color:#eaf5fb;border:1px solid #4b697c;border-radius:18px;box-shadow:0 15px 50px #0006;font:14px/1.45 system-ui}
html[data-atlas-mobile] .mobile-sheet::backdrop{background:#03101aaa}
html[data-atlas-mobile] .mobile-sheet-head{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;min-height:60px;border-bottom:1px solid #37536355;flex:0 0 auto}
html[data-atlas-mobile] .mobile-sheet-head h2{flex:1;min-width:0;margin:0;font:650 16px/1.3 system-ui}
html[data-atlas-mobile] .mobile-sheet button{min-width:44px;min-height:44px;cursor:pointer;font-family:inherit}
html[data-atlas-mobile] .mobile-sheet-close{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:10px;background:#18394b;color:#e5f6ff;font-size:25px}
html[data-atlas-mobile] .mobile-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 16px}
html[data-atlas-mobile] .mobile-sheet-body h3{margin:8px 0 8px;font:650 12px/1.3 system-ui;color:#a6c7d7;letter-spacing:.2px}
html[data-atlas-mobile] .mobile-sheet-body h3:not(:first-child){margin-top:18px}
html[data-atlas-mobile] #atlasMobileFilters #atlasFormats,
html[data-atlas-mobile] #atlasMobileFilters #categoryControls .category-control-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;min-width:0;padding:0;background:none;border:0;box-shadow:none;overflow:visible}
html[data-atlas-mobile] #atlasMobileFilters #categoryControls{display:block;position:static;transform:none;width:100%;min-width:0;min-height:0;margin:0;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
html[data-atlas-mobile] #atlasMobileFilters .category-control-intro,
html[data-atlas-mobile] #atlasMobileFilters #categoryControls:before{display:none}
html[data-atlas-mobile] #atlasMobileFilters .world-filter{width:100%;min-width:0;height:44px;min-height:44px;padding:6px 9px;display:flex;align-items:center;justify-content:space-between;gap:6px;font:600 13px/1.2 system-ui;letter-spacing:0;white-space:nowrap;text-transform:none;border:1px solid #526e7c88;border-radius:9px;transform:none}
html[data-atlas-mobile] #atlasMobileFilters .world-filter[aria-pressed=false]{opacity:.65;background:#081b26;border-style:dashed;filter:none}
html[data-atlas-mobile] #atlasMobileFilters .world-filter[aria-pressed=true]{background:#264758;border-color:#8fb4c499;opacity:1}
html[data-atlas-mobile] #atlasMobileFilters .world-filter:after,
html[data-atlas-mobile] #atlasMobileFilters .dock-icon,
html[data-atlas-mobile] #atlasMobileFilters .dock-mobile-label,
html[data-atlas-mobile] #atlasMobileFilters .cat-icon{display:none}
html[data-atlas-mobile] #atlasMobileFilters .dock-label{display:inline}
html[data-atlas-mobile] #atlasMobileFilters .world-filter b{display:inline-block;position:static;font:650 11px/18px system-ui;color:#bceaff;background:#071b28;border:0;border-radius:5px;padding:0 4px;min-width:20px;height:18px;margin:0}
html[data-atlas-mobile] .mobile-sheet-foot{padding:10px 14px 14px;border-top:1px solid #37536355;flex:0 0 auto}
html[data-atlas-mobile] #atlasMobileFiltersDone{width:100%;min-height:44px;border:1px solid #65abc1;border-radius:10px;background:#265d71;color:#fff;font:600 14px system-ui}
html[data-atlas-mobile] #atlasMobileStatus .atlas-brand{position:static;display:block;transform:none;width:100%;min-width:0;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}
html[data-atlas-mobile] #atlasMobileStatus .atlas-brand:after{display:none}
html[data-atlas-mobile] #atlasMobileStatus .atlas-brand strong{font:650 13px/1.4 system-ui;letter-spacing:0}
html[data-atlas-mobile] #atlasMobileStatus .atlas-brand span{font:500 13px/1.5 system-ui;letter-spacing:0;display:block;margin-top:7px}
html[data-atlas-mobile] #atlasMobileStatus #atlasCameraNotice{color:#c4dce7}
html[data-atlas-mobile] #atlasMobileStatus #atlasCameraNotice.evidence-stale{color:#edca86}
html[data-atlas-mobile] #atlasMobileStatus #atlasAstroLive{position:static;max-width:100%;width:100%;margin:0}
html[data-atlas-mobile] #atlasMobileStatus #astroLiveToggle{justify-content:space-between;width:100%;min-height:44px;padding:8px;font-size:13px}
html[data-atlas-mobile] #atlasMobileStatus #astroFeedBadge{font-size:12px}
html[data-atlas-mobile] #atlasMobileMap .world-map-modes{position:static;transform:none;display:grid;grid-template-columns:1fr;width:100%;max-width:none;gap:6px;padding:0;border:0;box-shadow:none;background:none}
html[data-atlas-mobile] #atlasMobileMap [data-layer]{display:flex;align-items:center;gap:12px;padding:9px 14px;min-height:48px;background:#173647;border:1px solid #446779;color:#ebf6fc;border-radius:9px;font:600 14px system-ui}
html[data-atlas-mobile] #atlasMobileMap [data-layer].active{background:#24556b;border-color:#90cce0}
html[data-atlas-mobile] #atlasMobileMap .dock-icon{width:20px;height:20px}
html[data-atlas-mobile] #atlasMobileMap .dock-sr-label{display:inline;position:static;width:auto;height:auto;clip:auto;overflow:visible}
html[data-atlas-mobile] :is(#atlasAddressPanel,#atlasAstroPanel,#atlasFocusHint){top:calc(var(--atlas-top-edge) + 8px);left:8px;right:8px;bottom:auto;width:auto;max-width:460px;margin:0 auto;max-height:calc(100dvh - var(--atlas-top-edge) - var(--atlas-bottom-edge) - 18px);font-size:14px}
html[data-atlas-mobile] :is(#atlasSvPointCard,#atlasLayerInfo,#atlasLabPanel){left:8px;right:8px;width:auto;max-width:380px;margin:0 auto;bottom:calc(var(--atlas-bottom-edge) + 8px);top:auto;max-height:calc(100dvh - var(--atlas-top-edge) - var(--atlas-bottom-edge) - 18px)}
html[data-atlas-mobile] :is(#atlasAddressPanel,#atlasAstroPanel,#atlasSvPointCard,#atlasLayerInfo,#atlasLabPanel) button{min-height:44px;min-width:44px}
html[data-atlas-mobile] :is(#atlasAddressPanel,#atlasAstroPanel,#atlasSvPointCard) p{font-size:12px;line-height:1.4}
html[data-atlas-mobile] #atlasAddressTitle{font-size:16px}
html[data-atlas-mobile] #atlasAddressWidget{font-size:16px}
html[data-atlas-mobile] #catalogDrawer .drawer-search{font-size:16px}
html[data-atlas-mobile] #atlasTopbar :is(button,a):focus-visible,
html[data-atlas-mobile] .mobile-sheet :is(button,a):focus-visible{outline:2px solid #b8eaff;outline-offset:-3px}
html[data-atlas-mobile][data-atlas-mobile-busy] #worldControls{visibility:hidden}
html[data-atlas-mobile][data-atlas-keyboard] #worldControls{visibility:hidden}
html[data-atlas-mobile][data-atlas-keyboard] #atlasAddressPanel{max-height:calc(var(--mobile-visual-height,100dvh) - var(--atlas-top-edge) - 16px)}
@media(prefers-reduced-motion:reduce){html[data-atlas-mobile] *,html[data-atlas-mobile] *:before,html[data-atlas-mobile] *:after{transition:none!important;scroll-behavior:auto!important}}
