/* Home and Map share the same brand, LIVE and language header. */
#map-navigation,#map-header-status { display:none; }
#map-nav-brand { display:inline; border:0; background:transparent; cursor:pointer; padding:0; margin:0; font:inherit; letter-spacing:inherit; color:inherit; }
#v3-scroll[data-surface="map"]>#landing-header { opacity:1; transition:none; background:transparent; pointer-events:none; }
#v3-scroll[data-surface="map"]>#landing-header :is(.landing-title,.landing-header-right) { pointer-events:auto; }
#v3-scroll[data-surface="map"]>#landing-header :is(#v3-home-link,#v3-map-link) { visibility:hidden; }
#v3-scroll[data-surface="map"]>#landing-header #v3-home-link { display:block; }
#app[data-view="map"] #top-bar { display:block; height:0; padding:0; background:transparent; border:0; pointer-events:none; }
#app[data-view="map"] #map-navigation { display:flex; pointer-events:auto; }
#app[data-view="map"] #top-location { display:none; }
#app[data-view="map"] #top-right { display:none; }
#map-navigation { position:fixed; top:var(--map-nav-top,22px); left:var(--map-nav-left,3vw); min-width:0; width:var(--map-nav-width,40vw); max-width:none; flex-direction:row; align-items:flex-start; gap:20px; white-space:nowrap; }
#map-navigation .map-primary-links { display:grid; grid-template-columns:var(--map-home-width,32px) auto; align-items:center; gap:var(--map-primary-gap,20px); flex:none; min-height:32px; }
#map-navigation .map-primary-links button { text-align:left; }
#map-navigation .map-navigation-row { display:flex; flex:1; min-width:0; flex-wrap:wrap; align-items:center; gap:var(--map-reset-row-gap,4px) 20px; min-height:32px; }
#map-navigation .map-golden-tools { position:relative; display:inline-flex; align-items:center; }
#map-navigation #map-nav-golden { position:relative; isolation:isolate; text-decoration:none; }
#map-navigation #map-nav-golden[aria-pressed="true"] { color:#f1cc80; }
#app[data-view="map"] #map-nav-golden.has-golden-invitation[aria-pressed="false"] { animation:map-golden-invitation 2.8s ease-in-out infinite; }
#app[data-view="map"] #map-nav-golden.has-golden-invitation[aria-pressed="false"]::before { content:''; position:absolute; inset:4px -6px; z-index:-1; border-radius:999px; pointer-events:none; animation:map-golden-invitation-halo 2.8s ease-in-out infinite; }
@keyframes map-golden-invitation {
 0%,100% { color:#ddbb7b; text-shadow:none; }
 50% { color:#f0d7a5; text-shadow:0 0 8px #edd39dcc,0 0 16px #edd39d66; }
}
@keyframes map-golden-invitation-halo {
 0%,100% { background:#e5c99000; box-shadow:0 0 0 0 #edd39d00; }
 50% { background:#e5c99024; box-shadow:0 0 22px 5px #edd39d55; }
}
#map-navigation #map-clear-filters { position:absolute; top:100%; left:0; min-height:28px; padding:0!important; color:#b4bcc0; font:500 9px/1.4 var(--font); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; white-space:nowrap; background:transparent; box-shadow:none; text-shadow:none; transition:color .2s ease; animation:map-clear-filter-pulse 3.4s ease-in-out infinite; }
#map-navigation #map-clear-filters[hidden] { display:none; }
/* A simple reset label sits under Golden Hour without shifting search. */
#map-navigation #map-clear-filters::before { content:'×'; margin-right:5px; font-size:12px; line-height:1; vertical-align:-1px; pointer-events:none; }
@keyframes map-clear-filter-pulse {
 0%,100% { color:#b4bcc0; text-shadow:0 0 5px #ffffff00,0 0 11px #ffffff00; }
 50% { color:#fff; text-shadow:0 0 5px #ffffffa6,0 0 11px #ffffff4d; }
}
#map-navigation #map-clear-filters:is(:hover,:focus-visible) { animation:none; color:#fff; text-shadow:0 0 5px #ffffff66; }
#map-navigation #map-nav-golden[aria-pressed="true"]:is(:hover,:focus-visible) { color:#ffe8b5; text-shadow:0 0 10px #f1cc8066; }
@media(prefers-reduced-motion:reduce) {
 #map-navigation #map-clear-filters { animation:none; transition:none; text-shadow:none; }
 #app[data-view="map"] #map-nav-golden.has-golden-invitation[aria-pressed="false"] { animation:none; transition:none; color:#f0d7a5; text-shadow:0 0 8px #edd39d88; }
 #app[data-view="map"] #map-nav-golden.has-golden-invitation[aria-pressed="false"]::before { animation:none; background:#e5c99018; box-shadow:0 0 12px 2px #edd39d33; }
}
#app[data-view="map"] #explore-menu { top:var(--explore-top,62px); max-height:calc(100dvh - var(--explore-top,62px) - 24px); }
#top-bar :is(.landing-nav-link,#map-nav-brand,#explore-toggle):focus-visible { outline:1px solid #e4e8e5; outline-offset:4px; border-radius:3px; }
#landing-header #map-nav-brand:focus-visible { outline:1px solid #e4e8e5; outline-offset:4px; border-radius:3px; }
#top-bar #explore-toggle:focus-visible { outline:none; border-radius:0; text-decoration:underline; text-underline-offset:5px; }
/* Search follows Golden Hour; the reset is tucked beneath without taking row width. */
#app[data-view="map"] { --map-tools-top:64px; --map-tools-left:32px; --map-header-height:64px; }
#app[data-view="map"] .map-toolbar { position:relative; top:auto; left:auto; right:auto; display:flex; flex:0 0 140px; flex-direction:row; align-items:center; gap:0; width:140px; max-width:100%; flex-wrap:nowrap; }
#map-search-panel { flex:0 1 140px; width:140px; min-width:100px; max-width:none; }
.map-toolbar [hidden] { display:none!important; }
#app #map-search { height:28px; padding:0 12px; border-radius:16px; border-color:#ffffff26; font-size:.65rem; transition:border-color .2s ease,background-color .2s ease; }
#app #map-search:hover { border-color:#ffffff55; background:#181c1d; }
#app #map-search:focus { border-color:#b7d8e2; }
#map-search-panel:has(#map-clear-search:not([hidden])) #map-search { padding-right:28px; }
#map-search-panel #map-clear-search { right:2px; top:0; width:28px; height:28px; font-size:16px; }
#app[data-view="map"] #map-filter-panel { top:48px; width:100%; max-width:100%; }
#map-results { top:var(--map-results-top,110px); left:var(--map-results-left,32px); width:min(350px,calc(100vw - 36px)); max-height:calc(100% - var(--map-results-top,110px) - 110px); }
/* Natural geographic silhouettes on a black sea, with grey land and twilight. */
#app[data-view="map"] .map-view { background:#000; --coast-point:#98c8d7; }
#app[data-view="map"] .map-view { inset:0; }
/* Geography reaches the top; a short fade keeps the unchanged header readable. */
#app[data-view="map"] .map-canvas { top:0; }
#app[data-view="map"] .map-canvas::after { content:''; position:absolute; inset:0 0 auto; height:calc(var(--map-header-height) + 10px); background:linear-gradient(to bottom,#000 0,#000 calc(100% - 26px),transparent); z-index:600; pointer-events:none; }
#map-drawing .map-land-fill { fill:#303030; stroke:none; }
#map-drawing .map-night path { fill:#000; fill-opacity:.14; stroke:none; }
#map-drawing .map-land { fill:#303030; stroke:none; filter:none; }
#map-drawing .map-dot:not(.is-golden):not(.is-city-lights) .map-dot-other { fill:#adc4cd; }
#map-drawing .map-dot:not(.is-golden) .map-point-halo { display:block; opacity:.12; }
/* Keep zoom controls accessible above a floating preview on short screens. */
#app[data-view="map"] .map-zoom { z-index:25; }
#app[data-view="map"] #map-reset.needs-attention { animation:world-return-invitation 3.2s ease-in-out infinite; }
@keyframes world-return-invitation {
 0%,100% { color:#d4dadd; border-color:#ffffff40; background:#ffffff03; box-shadow:0 0 0 0 #d6efff00; }
 50% { color:#fff; border-color:#d6efffbb; background:#d6efff18; box-shadow:0 0 12px 2px #d6efff25; }
}
#app[data-view="map"] #map-reset.needs-attention:is(:hover,:focus-visible) { animation:none; color:#fff; border-color:#d6efffbb; }
#app[data-view="map"] #map-reset.is-signalling { animation:world-return-signal 1.6s ease-in-out; }
#app[data-view="map"] #preview-next.needs-attention { animation:world-return-signal 2.2s ease-in-out infinite; }
@keyframes world-return-signal {
 0%,100% { color:#d4dadd; border-color:#ffffff40; background:#ffffff03; box-shadow:0 0 0 0 #d6efff00; text-shadow:none; }
 24%,38% { color:#fff; border-color:#fff; background:#d6efff45; box-shadow:0 0 26px 8px #d6efff66; text-shadow:0 0 8px #fff; }
}
@media(prefers-reduced-motion:reduce) { #app[data-view="map"] #map-reset.needs-attention { animation:none; color:#fff; border-color:#d6efffbb; background:#d6efff18; } }
@media(prefers-reduced-motion:reduce) { #app[data-view="map"] #map-reset.is-signalling { animation:none; } }
@media(prefers-reduced-motion:reduce) { #app[data-view="map"] #preview-next.needs-attention { animation:none; color:#fff; border-color:#fff; background:#d6efff18; box-shadow:0 0 12px 2px #d6efff25; } }
@media(max-height:600px) and (min-width:681px) {
 #app[data-view="map"] .map-zoom { top:70px; bottom:auto; }
}
@media(max-width:900px) {
 #map-navigation .map-navigation-row { position:absolute; top:44px; left:0; width:var(--map-tools-width,calc(100vw - 40px)); }
 #app[data-view="map"] { --map-header-height:112px; }
}
