/* Compact, consistent outline icons. Keep a single scrollable row above map panels. */
html[data-airs-ui="map"] .ovl-bar{left:12px;right:12px;top:10px;justify-content:flex-start;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:4px 4px 8px;scrollbar-width:thin;scrollbar-color:#7f9c9080 transparent}
html[data-airs-ui="map"] .map-menu-icon{display:block;flex:none;width:18px;height:18px;pointer-events:none}
html[data-airs-ui="map"] .map-menu-label{pointer-events:none}
html[data-airs-ui="map"] .ovl-bar .globe-mode{position:relative;inset:auto;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 11px;border-radius:10px;background:light-dark(#fffef9,#22362e);color:light-dark(#25443d,#e9f1e8);border:1px solid light-dark(#d0ddd4,#536e62);box-shadow:0 2px 6px #071d1926;font-size:12px;font-weight:600;letter-spacing:0;line-height:20px;white-space:nowrap;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
html[data-airs-ui="map"] .ovl-bar .globe-mode.on{background:#176d60;color:#fff;border-color:light-dark(#176d60,#72bba5);box-shadow:0 2px 7px #08282055}
html[data-airs-ui="map"] .ovl-bar .globe-mode.on::before{content:none}
html[data-airs-ui="map"] .ovl-bar .globe-mode.on::after{content:"";position:absolute;right:4px;top:3px;width:5px;height:3px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
@media(hover:hover){
html[data-airs-ui="map"] .ovl-bar .globe-mode:hover{border-color:light-dark(#176d60,#93d7bf);background:light-dark(#eaf3ed,#314b3f);transform:translateY(-1px);box-shadow:0 4px 9px #071d1933}
html[data-airs-ui="map"] .ovl-bar .globe-mode.on:hover{background:#105446;color:#fff}
}
html[data-airs-ui="map"] .ovl-bar .globe-mode:active{transform:translateY(1px);box-shadow:0 1px 3px #071d1926}
html[data-airs-ui="map"] .ovl-bar .globe-mode:focus-visible,html[data-airs-ui="map"] #searchSubmit:focus-visible,html[data-airs-ui="map"] #rkPanel button:focus-visible{outline:3px solid #57afdf;outline-offset:2px}
html[data-airs-ui="map"] #rkPanel{max-height:min(64vh,580px,calc(100% - 76px))!important;box-shadow:0 8px 26px #071d1926}
html[data-airs-ui="map"] .rk-heading{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:13px}
html[data-airs-ui="map"] .rk-heading .map-menu-icon{color:var(--acc)}
html[data-airs-ui="map"] #rkPanel .rk-close{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:6px;border:0;border-radius:8px;background:transparent;color:var(--mut);cursor:pointer}
html[data-airs-ui="map"] #rkPanel .rk-close:hover{background:var(--panel2);color:var(--ink)}
html[data-airs-ui="map"] .rk-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:10px}
html[data-airs-ui="map"] #rkPanel .rk-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--mut);font-family:inherit;font-size:11px;font-weight:600;line-height:1.4;cursor:pointer;white-space:nowrap}
html[data-airs-ui="map"] #rkPanel .rk-tab .map-menu-icon{width:15px;height:15px}
html[data-airs-ui="map"] #rkPanel .rk-tab:hover{border-color:var(--acc);color:var(--ink)}
html[data-airs-ui="map"] #rkPanel .rk-tab[aria-pressed="true"]{background:#176d60;border-color:light-dark(#176d60,#72bba5);color:#fff}
@media(prefers-reduced-motion:reduce){html[data-airs-ui="map"] .ovl-bar .globe-mode{transition:none}html[data-airs-ui="map"] .ovl-bar .globe-mode:hover,html[data-airs-ui="map"] .ovl-bar .globe-mode:active{transform:none}}
html[data-airs-ui="map"] header .search{margin:0;min-width:180px;max-width:420px}
html[data-airs-ui="map"] header .search input{height:40px;padding-right:70px}
html[data-airs-ui="map"] header .search .mag{top:10px}
html[data-airs-ui="map"] header .search-submit{position:absolute;right:4px;top:4px;min-height:32px;padding:5px 13px;border:0;border-radius:6px;background:#176d60;color:#fff;font-size:12px;font-weight:600;cursor:pointer;line-height:22px}
html[data-airs-ui="map"] header .search-submit:hover{background:#105446}
html[data-airs-ui="map"] header .search-list{top:46px;z-index:100}
html[data-airs-ui="map"] body>header:has(.search-list.open){z-index:90}
@media(max-width:860px){html[data-airs-ui="map"] .ovl-bar{left:6px;right:6px}html[data-airs-ui="map"] .ovl-bar .globe-mode{min-height:42px}html[data-airs-ui="map"] #rkPanel{top:64px!important}html[data-airs-ui="map"] #rkPanel .rk-tab{min-height:40px}html[data-airs-ui="map"] header .search{min-width:0;max-width:none}html[data-airs-ui="map"] .search-submit{min-width:52px}}

@media(max-width:820px){html[data-airs-ui="map"] header .search{flex:1 0 100%;width:100%;order:2}html[data-airs-ui="map"] header .cache-hud{order:3}}

/* Measure the available map area, not a fixed phone model or footer height. */
html[data-airs-ui="map"] #globeWrap[data-map-layout]{touch-action:auto;--map-bottom-size:110px;--map-tools-space:300px}
html[data-airs-ui="map"] [data-map-layout] .ovl-bar{overflow:visible;z-index:45;touch-action:pan-x;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top))}
html[data-airs-ui="map"] .map-tools{display:flex;flex:1;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:0 2px 4px;touch-action:pan-x}
html[data-airs-ui="map"] .ovl-bar .map-tools-toggle{display:none}
html[data-airs-ui="map"] [data-map-compact] .ovl-bar{padding:0;justify-content:space-between}
html[data-airs-ui="map"] [data-map-compact] .ovl-bar .map-tools-toggle{display:inline-flex}
html[data-airs-ui="map"] .map-tools-count{font-size:10px;opacity:.85}
html[data-airs-ui="map"] .map-tools-count:empty{display:none}
html[data-airs-ui="map"] [data-map-compact] .map-tools{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;max-height:var(--map-tools-space);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 26px #071d1940}
html[data-airs-ui="map"] [data-map-compact] .tools-open .map-tools{display:grid}
html[data-airs-ui="map"] [data-map-compact] .map-tools .globe-mode{width:100%;min-width:0;min-height:44px;white-space:normal;justify-content:flex-start;text-align:left;padding:9px 10px}
html[data-airs-ui="map"] [data-map-compact] .map-menu-label{overflow-wrap:anywhere}
html[data-airs-ui="map"] [data-map-layout] .hint{display:none}
html[data-airs-ui="map"] #mapBottom{position:absolute;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));display:grid;gap:6px;z-index:31;cursor:auto;max-height:48%;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}
html[data-airs-ui="map"] .map-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
html[data-airs-ui="map"] #mapBottom #mapClock{position:static!important;flex:1 1 220px;min-width:0;z-index:auto!important;margin:0;overflow-wrap:anywhere;pointer-events:auto!important;background:var(--panel)!important;padding:6px 9px!important;font-size:11px!important}
html[data-airs-ui="map"] #mapActions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-left:auto}
html[data-airs-ui="map"] #mapBottom #mapHelp{position:static!important;min-height:40px;padding:8px 10px!important;cursor:pointer;background:var(--panel)!important;white-space:normal}
html[data-airs-ui="map"] .map-credits{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:9px;font-size:10px;line-height:1.6;min-width:0;overflow-wrap:anywhere}
html[data-airs-ui="map"] .map-credits summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;min-height:36px;cursor:pointer;list-style:none}
html[data-airs-ui="map"] .map-credits summary::-webkit-details-marker{display:none}
html[data-airs-ui="map"] .map-sources{flex:1;min-width:0;color:var(--mut)}
html[data-airs-ui="map"] .map-sources a{color:inherit;text-decoration:underline dotted}
html[data-airs-ui="map"] .map-credits-label{flex:none;font-size:11px;color:var(--acc)}
html[data-airs-ui="map"] .map-credits-label::after{content:' ⌄'}
html[data-airs-ui="map"] .map-credits[open] .map-credits-label::after{content:' ⌃'}
html[data-airs-ui="map"] #mapBottom .attrib{position:static!important;max-width:none;margin:0;padding:9px;line-height:1.9;background:var(--panel);color:var(--mut);border-top:1px solid var(--line);border-radius:0}
html[data-airs-ui="map"] #mapBottom .attrib a{color:var(--ink)}
html[data-airs-ui="map"] [data-map-layout] .maplibregl-ctrl-bottom-right{bottom:calc(var(--map-bottom-size) + 4px);right:max(8px,env(safe-area-inset-right));z-index:32}
html[data-airs-ui="map"] [data-map-layout] .maplibregl-ctrl-bottom-right .maplibregl-ctrl{margin:0 0 6px}
html[data-airs-ui="map"] [data-map-layout] .maplibregl-ctrl-geolocate{width:40px;height:40px}
html[data-airs-ui="map"] #mapBottomPanels{display:grid;gap:6px}
html[data-airs-ui="map"] #mapBottomPanels:empty{display:none}
html[data-airs-ui="map"] #mapBottomPanels .map-bottom-panel{position:static!important;width:100%;min-width:0;max-width:100%;margin:0;overflow-wrap:anywhere}
html[data-airs-ui="map"] [data-map-layout] #windPanel{bottom:calc(var(--map-bottom-size) + 52px)!important;max-width:calc(100% - 72px)!important}
html[data-airs-ui="map"] :is(#mapToolsToggle,.map-credits summary,#mapHelp):focus-visible{outline:3px solid #57afdf;outline-offset:2px}
html[data-airs-ui="map"]:fullscreen body>header,html[data-airs-ui="map"]:fullscreen main>aside{display:none!important}
html[data-airs-ui="map"]:fullscreen body,html[data-airs-ui="map"]:fullscreen body>main{height:100%!important;min-height:0!important;overflow:hidden!important}
html[data-airs-ui="map"]:fullscreen #globeWrap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important}
html[data-airs-ui="map"]:fullscreen #globe{height:100%!important}
/* The installed 0.1.4 app keeps a native exit button below the first toolbar row. */
html[data-airs-native-fullscreen] [data-map-compact] .map-tools{top:calc(100% + 92px + env(safe-area-inset-top));max-height:max(44px,calc(var(--map-tools-space) - 92px - env(safe-area-inset-top)))}

/* City selection owns visibility. Fullscreen must not hide a newly selected city. */
html[data-airs-ui="map"][data-city-panel-open] main>#cityPanel{display:block!important}
html[data-airs-ui="map"]:where(:fullscreen,[data-airs-native-fullscreen])[data-city-panel-open] main>#cityPanel{position:fixed;z-index:80;top:max(64px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:min(380px,calc(100% - 16px));max-height:calc(100% - 72px);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #071d1940;overscroll-behavior:contain;touch-action:pan-y}
@media(max-width:820px){
  html[data-airs-ui="map"] body>main{height:auto}
  html[data-airs-ui="map"][data-city-panel-open] main>#cityPanel{position:fixed;z-index:80;top:auto;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:72vh;max-height:72dvh;padding:16px;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #071d1940;overscroll-behavior:contain;touch-action:pan-y}
  html[data-airs-ui="map"] #cityPanel .p-head{position:sticky;top:-16px;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;margin:-16px -16px 12px;padding:14px 14px 10px;background:var(--panel);border-bottom:1px solid var(--line)}
  html[data-airs-ui="map"] #cityPanel .p-head>div{min-width:0}
  html[data-airs-ui="map"] #cityPanel :is(.p-city,.p-sub){overflow-wrap:anywhere}
  html[data-airs-ui="map"] #cityPanel .p-badge{grid-column:1/-1;justify-self:start;margin:0}
  html[data-airs-ui="map"] #cityPanel :is(#btnFav,#btnClose){width:44px;height:44px;min-height:44px;padding:0;font-size:20px;align-self:start}
}
