:root{color-scheme:dark;font:14px system-ui,-apple-system,sans-serif;color:#e7eef7;background:#080c12;--line:#ffffff18;--muted:#96a5b7;--accent:#6adac9}*{box-sizing:border-box}body{margin:0}#map{position:fixed;inset:0}button,input,select{font:inherit}button,select,input:not([type=range]):not([type=checkbox]){background:#1a2431;color:#e7eef7;border:1px solid #ffffff20;border-radius:8px;padding:9px 11px}button{cursor:pointer;min-height:40px}button:hover{background:#2b3c4e}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select{max-width:100%}label{color:#c0ccda}input[type=range]{accent-color:var(--accent)}.panel{background:#101720ed;border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 26px #0005;backdrop-filter:blur(12px)}header{position:fixed;top:max(14px,env(safe-area-inset-top));left:16px;right:16px;display:flex;align-items:center;padding:12px 16px;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:2px;white-space:nowrap;font-size:14px}.brand small{display:block;font-size:9px;letter-spacing:2.3px;color:var(--muted);margin-top:4px}.selectors{display:flex;gap:14px;flex:1}.selectors label{display:flex;align-items:center;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.selectors select{font-size:13px;text-transform:none;max-width:260px}.status{position:fixed;left:16px;top:98px;padding:9px 13px;display:flex;align-items:center;gap:9px;font-size:12px;max-width:calc(100vw - 90px)}.dot{width:7px;height:7px;background:var(--accent);border-radius:50%;flex-shrink:0}.status.warn .dot{background:#ffb65e}.status.warn{color:#ffd193}.tools{position:fixed;right:16px;top:98px;display:grid;padding:5px;gap:5px}.tools button{background:transparent;border:0;font-size:23px;width:40px}.drawer{position:fixed;right:76px;top:98px;width:340px;max-height:calc(100dvh - 290px);overflow:auto;padding:18px;z-index:3}.drawerHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}h2{font-size:17px;margin:0}.drawerHead button{font-size:22px;background:none;border:0}.drawer>label{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.muted{font-size:12px;line-height:1.6;color:var(--muted)}a{color:var(--accent)}.search{display:flex;gap:8px;margin-top:8px}.search input{min-width:0;width:100%}.result,.saved{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center}.result button:first-child,.saved button:first-child{flex:1;text-align:left;font-size:12px}.saved .delete{background:transparent;color:#ec9e9e}.legend{position:fixed;bottom:155px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 36px));padding:10px 13px}.legend>span{display:block;font-size:9px;font-weight:650;letter-spacing:1.7px;margin-bottom:7px;color:#b3c2d1}#colors{height:8px;border-radius:3px}#legendTicks{display:flex;justify-content:space-between;font-size:10px;color:#b3c2d1;margin-top:4px}footer{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(660px,calc(100vw - 32px));padding:12px 16px}.scanline{display:flex;align-items:center;gap:8px}.scanline>div{flex:1}.scanline strong{display:block;font-size:14px}.scanline span{display:block;font-size:11px;margin-top:4px;color:var(--muted)}#live{font-size:11px;font-weight:bold;letter-spacing:1px;color:var(--accent)}#live.active{background:#16413e}.playline{display:flex;gap:14px;align-items:center;margin-top:10px}.playline input{flex:1;min-width:0}.playline button{border:0;background:#223c42;width:44px}.playline span{font:11px ui-monospace,monospace;color:var(--muted);width:49px;text-align:right}.maplibregl-ctrl-bottom-right{bottom:225px!important}.maplibregl-ctrl-bottom-left{bottom:225px!important}.maplibregl-popup-content{background:#182330;color:white;border:1px solid #536477;border-radius:8px;padding:12px 25px 12px 12px}.maplibregl-popup-tip{border-top-color:#182330!important}.pin{font-size:23px;text-shadow:0 1px 4px #000;cursor:pointer}.station{height:10px;width:10px;border:1px solid #a1b6c8;border-radius:50%;background:#1c3a48;cursor:pointer}dialog{background:#111c28;color:#e7eef7;border:1px solid #445367;border-radius:16px;width:min(380px,90vw);padding:24px}dialog::backdrop{background:#0009}dialog label{display:block;margin:20px 0 8px}dialog input{display:block;width:100%;margin-top:8px}dialog input[type=color]{height:42px;padding:3px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.primary{background:#205a53;color:white}[hidden]{display:none!important}@media(max-width:760px){header{gap:8px;padding:10px;flex-wrap:wrap;left:8px;right:8px;top:max(8px,env(safe-area-inset-top))}.brand{flex:1;font-size:12px}.brand img{width:27px;height:27px}.brand small{font-size:8px}.selectors{order:3;width:100%;gap:6px}.selectors label{display:block;flex:1;min-width:0;font-size:8px}.selectors select{width:100%;font-size:11px;padding:8px 3px;margin-top:4px}.selectors label:first-child{flex:1.4}.selectors label:nth-child(2){flex:1.5}.selectors label:last-child{flex:.7}.status{top:142px;left:8px;font-size:11px;max-width:calc(100vw - 70px)}.tools{right:8px;top:142px}.drawer{right:8px;left:8px;top:195px;width:auto;max-height:calc(100dvh - 355px)}footer{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px);padding:10px 12px}.legend{bottom:144px}.maplibregl-ctrl-bottom-right{bottom:210px!important}.maplibregl-ctrl-bottom-left{bottom:210px!important}}

#loopForm label{display:flex;flex-direction:column;gap:7px;margin:14px 0}#loopForm input,#loopForm select{width:100%;min-width:0}#rangeError{font-size:12px;color:#ffb49e}.cacheHead{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:10px}.cacheHead h3{font-size:14px}.cacheHead button{background:transparent;border:0}.cacheRow{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.cacheRow strong{color:#d9e8f2;font-weight:500;text-align:right}#storageSummary .cacheNote{padding-top:8px;border-top:1px solid var(--line);margin-top:8px}.cacheBar{height:5px;background:#233344;border-radius:3px;margin:4px 0 12px;overflow:hidden}.cacheBar span{display:block;height:100%;background:var(--accent)}#loopButton{font-size:11px}#frameCount{width:64px;flex-shrink:0}

.compat-map{background:#080c12}.compat-dark-tiles{filter:invert(1) hue-rotate(180deg) saturate(.15) brightness(.68)}.compat-radar-canvas{position:absolute;pointer-events:none;image-rendering:pixelated}.compat-marker{background:transparent;border:0}.compat-location{width:16px;height:16px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 10px #0009}.leaflet-bottom.leaflet-right,.leaflet-bottom.leaflet-left{bottom:225px}.leaflet-control-zoom a{background:#15222e;color:#dce9f1;border-color:#304251}.leaflet-control-attribution{background:#101720dd!important;color:#b1c4d5!important}.leaflet-control-attribution a{color:#8bd8ce!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#15222e;color:#e1eef6}.leaflet-container{font:inherit}.leaflet-control-scale-line{background:#15222ebb;color:#c3d1df;border-color:#9eafbf}#weatherButton{position:relative}#weatherBadge{position:absolute;right:0;top:0;font:9px system-ui;color:#17222c;background:#ffce72;border-radius:7px;padding:1px 4px}#weatherBadge:empty{display:none}@media(max-width:760px){.leaflet-bottom.leaflet-right,.leaflet-bottom.leaflet-left{bottom:210px}}

#weatherPanel{width:390px}#weatherPanel>label{font-size:12px}.weather-toggles{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.weather-toggles label{display:flex;align-items:center;gap:5px}.weather-timeline-note{font-size:11px;line-height:1.5;color:#e2bd80;padding:9px;border:1px solid #80673e44;border-radius:7px}.weather-row{display:flex;gap:5px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.weather-read{flex:1;min-width:0;text-align:left;background:transparent;border:0;padding:5px}.weather-read strong{display:block;border-left:3px solid #a4b6cc;padding-left:9px;font-size:12px;font-weight:600}.weather-read span{display:block;color:var(--muted);font-size:10px;margin:6px 0 0 12px}.weather-zoom{background:transparent;border:0;font-size:20px}.product-button{display:block;width:100%;text-align:left;margin:10px 0;font-size:13px}#weatherDialog{width:min(860px,94vw);max-height:88dvh;padding:22px}#weatherDialog .weather-reader-head{display:flex;justify-content:space-between;gap:15px}#weatherDialog .weather-reader-head button{font-size:23px;align-self:flex-start}#weatherDialog #weatherText{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:58dvh;overflow:auto;border-top:1px solid var(--line);padding-top:15px}#weatherChoices{display:flex;gap:6px;flex-wrap:wrap}#weatherChoices button{font-size:10px;min-height:32px}#weatherSource{display:inline-block;font-size:12px;margin-top:8px}@media(max-width:760px){#weatherPanel{width:auto}#weatherDialog{padding:16px}#weatherDialog #weatherText{font-size:11px;max-height:57dvh}}

.compat-place{pointer-events:none;text-align:center}.compat-place-label{font:11px/18px system-ui;color:#aab9c8;text-shadow:-1px -1px 2px #06111a,1px 1px 2px #06111a,0 0 5px #06111a;white-space:nowrap}.compat-map .leaflet-pane.compat-places-pane{pointer-events:none}

/* Compact map chrome. Credits remain one tap away in every display mode. */
header,.tools,footer,.legend,.status{z-index:700}.drawer{z-index:800}
#selectionToggle{display:none}#fullscreenButton{position:fixed;right:16px;top:326px;z-index:720;width:50px;height:46px;font-size:25px;padding:0}
#mapInfoButton{position:fixed;right:8px;bottom:max(9px,env(safe-area-inset-bottom));z-index:730;width:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:#101720dd;color:#c5d4df;font-size:19px}
#dismissStatus{min-height:24px;width:24px;padding:0;background:none;border:0;color:inherit;font-size:19px;flex-shrink:0}.status{padding:6px 8px;max-width:calc(100vw - 100px);font-size:11px}
footer{padding:7px 12px;width:min(600px,calc(100vw - 88px));bottom:max(18px,env(safe-area-inset-bottom))}
#playbackToggle{position:absolute;right:-1px;top:-24px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:#101720ed;min-height:24px;height:24px;width:38px;padding:0;color:#a8bdcc}
#playbackDetails{display:none}.playback-open #playbackDetails{display:block;padding:3px 0 10px}.playback-open #playbackToggle{transform:rotate(180deg);border-radius:0 0 8px 8px}
.playline{margin:0;gap:9px}.playline button{min-height:38px;width:38px;padding:0;flex-shrink:0}.playline #compactTime{width:auto;white-space:nowrap;font:11px system-ui;color:#dae5ee}.playline #frameCount{display:none}.playback-open #frameCount{display:block}
.legend{bottom:86px}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.leaflet-bottom.leaflet-right,.leaflet-bottom.leaflet-left{bottom:100px!important}
body[data-legend=thin] .legend{bottom:max(0px,env(safe-area-inset-bottom));left:0;transform:none;width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none}
body[data-legend=thin] .legend #colors{height:4px;border-radius:0}body[data-legend=thin] .legend>span,body[data-legend=thin] #legendTicks{display:none}body[data-legend=off] .legend{display:none}
body.playback-open .legend:not(:last-child){bottom:153px}body.playback-open[data-legend=thin] .legend{bottom:max(0px,env(safe-area-inset-bottom))}
.lightning-links{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:15px}.lightning-links summary{cursor:pointer;color:#ffda8a;font-size:13px}.lightning-links a{display:block;padding:9px 0;font-size:13px}
.drawer{max-height:calc(100dvh - 210px)}
@media(max-width:760px){
 header{height:50px;flex-wrap:nowrap;padding:5px 6px;gap:5px;border-radius:12px;right:62px;left:8px;top:max(8px,env(safe-area-inset-top))}
 .brand{display:none}#selectionToggle{display:flex;flex:1;min-width:0;gap:10px;align-items:center;justify-content:space-between;background:transparent;border:0;text-align:left;font-size:12px;padding:8px 7px;min-height:38px}#selectionSummary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #settingsButton{font-size:19px;min-height:38px;width:36px;padding:0;background:transparent;border:0}
 .selectors{display:none;position:absolute;top:57px;left:0;right:-54px;width:auto;padding:15px;background:#101720f5;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0008;z-index:810;gap:12px}
 .selection-open .selectors{display:flex;flex-direction:column}.selectors label{display:flex;flex-direction:column;gap:5px;font-size:11px}.selectors select{font-size:14px;padding:11px;margin:0;max-width:100%}
 .status{top:67px;left:8px;max-width:calc(100vw - 73px);border-radius:8px;font-size:10px;background:#101720dd}.selection-open .status{display:none}
 .tools{right:8px;top:68px;padding:3px;gap:1px;border-radius:12px}.tools button{width:38px;height:42px;min-height:42px;font-size:22px}
 #fullscreenButton{right:8px;top:max(8px,env(safe-area-inset-top));width:46px;height:50px;min-height:44px;border-radius:12px}
 .drawer,#weatherPanel{top:67px;left:8px;right:62px;width:auto;max-height:calc(100dvh - 160px);padding:15px;border-radius:12px;overscroll-behavior:contain}
 footer{width:calc(100vw - 66px);left:8px;transform:none;padding:5px 8px;bottom:max(18px,env(safe-area-inset-bottom));border-radius:12px}.playline{gap:7px}.playline button{width:36px;min-height:38px}.playline input{width:45px}.playline #compactTime{font-size:10px}.scanline strong{font-size:12px}.scanline span{font-size:10px}.scanline{flex-wrap:wrap}.scanline>div{flex-basis:100%}.scanline button{flex:1;min-height:35px}.legend{bottom:100px;padding:7px 10px}
 .playback-open #frameCount{display:none}.playback-open .legend{bottom:200px}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.leaflet-bottom.leaflet-right,.leaflet-bottom.leaflet-left{bottom:85px!important}
 .maplibregl-ctrl-bottom-left,.leaflet-bottom.leaflet-left{left:8px}.leaflet-control-scale{margin-left:0}.leaflet-control-zoom a{width:32px;height:32px;line-height:32px}
}
.map-focus header,.map-focus .tools,.map-focus .drawer,.map-focus .legend,.map-focus #playbackToggle,.map-focus #playbackDetails,.map-focus .maplibregl-control-container,.map-focus .leaflet-control-container{display:none!important}
.map-focus footer{opacity:.8;width:min(330px,calc(100vw - 76px));left:12px;transform:none}.map-focus .status{top:12px;max-width:calc(100vw - 82px)}.map-focus #fullscreenButton{top:max(8px,env(safe-area-inset-top));right:8px}.map-focus #mapInfoButton{bottom:max(18px,env(safe-area-inset-bottom))}
@media(max-height:450px){.tools{display:flex;top:67px}.tools button{height:36px;min-height:36px}.drawer,#weatherPanel{max-height:calc(100dvh - 145px)}.map-focus .tools{display:none}}

/* Places, storm inspection and export remain inside compact drawers. */
#selectionFeedback{position:fixed;top:98px;left:50%;transform:translateX(-50%);padding:10px 14px;z-index:850;font-size:12px;border-color:#6adac9}
.station{min-width:40px;width:auto;height:32px;min-height:32px;padding:0 4px;border-radius:16px;background:#142b39e8;border:1px solid #82a4b7;color:#d9e8ef;font:9px system-ui;box-shadow:0 2px 6px #0008;touch-action:manipulation}
.station.selected{background:#18574f;border:2px solid #8bffdf;color:#fff;box-shadow:0 0 0 4px #60e8c52b;transform:scale(1.12)}
.compat-marker:has(.station){width:auto!important;height:auto!important}.saved{flex-wrap:wrap;gap:6px}.saved input{accent-color:var(--accent)}.saved button{font-size:11px;min-height:36px}.saved button:first-of-type{flex:1;min-width:95px;text-align:left;background:transparent;border:0}.pinVisibility{display:flex;align-items:center;gap:8px;margin:12px 0 20px;font-size:12px}
#stormControls{border-bottom:1px solid var(--line);margin:12px 0;padding:12px 0}#stormControls summary{cursor:pointer;color:#b9ddff}#stormControls label{display:flex;align-items:center;gap:7px;font-size:12px;margin:14px 0}#stormOverlay{position:fixed;inset:0;width:100%;height:100%;z-index:620;pointer-events:none;overflow:hidden}.storm-time{paint-order:stroke;stroke:#101720;stroke-width:3px}#stormDialog{width:min(760px,94vw);max-height:85dvh}#stormText{font:12px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:65dvh;overflow:auto}
.exportActions{display:grid;gap:8px}.exportActions button{width:100%}#downloadExport{display:block;padding:12px 0}#exportPanel label{font-size:12px}#exportPanel input[type=checkbox]{margin-right:8px}#exportPanel{max-height:calc(100dvh - 160px)}
@media(max-width:760px){#selectionFeedback{top:67px;left:8px;right:62px;transform:none}.station{min-height:34px;height:34px;min-width:42px}.tools button{height:40px;min-height:40px}#exportPanel{left:8px;right:62px;top:67px}.map-focus #selectionFeedback{display:none}}

#exportPreview{display:block;width:100%;max-height:360px;object-fit:contain;background:#080e17;border-radius:8px;margin-top:12px}

/* Fixed screen-size markers; zooming never enlarges their touch targets. */
.station{width:42px!important;min-width:42px!important;height:32px!important;min-height:32px!important;padding:2px!important;font-size:10px!important;line-height:1!important;white-space:nowrap;transform:none!important}
#selectRadar[aria-pressed="true"]{background:#276c83;color:white;outline:2px solid #68dfdc}
#cloudTiming{display:block;font-size:11px;color:#b5d2e5;max-width:90vw;white-space:normal}#cloudTiming:empty{display:none}#cloudTiming.gap{color:#ffca75}
#serverHealth{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:45vh;overflow:auto}.drawer details{margin:12px 0}.drawer summary{cursor:pointer;padding:10px 0;color:#c8dbe9}#savedViews .saved{grid-template-columns:1fr auto}#scheduleList .saved{display:flex;align-items:center;gap:8px}#scheduleList a{overflow-wrap:anywhere}

#radarAge{display:block;font-size:10px;color:#a9bfce;margin-top:3px}.drawer details label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.drawer details input:not([type=checkbox]):not([type=range]){max-width:180px}.drawer details input[type=range]{max-width:150px}

#compareMap{display:none;position:fixed;top:0;bottom:0;right:0;width:50%;border-left:2px solid #547382}body.comparison-on #compareMap{display:block}body.comparison-on #map{right:auto;width:50%}body.comparison-on header{right:calc(50% + 8px);gap:8px;padding:8px}body.comparison-on header .brand{display:none}body.comparison-on header .selectors{flex-wrap:wrap;gap:6px}body.comparison-on .tools{right:calc(50% + 8px)}body.comparison-on #fullscreenButton{right:calc(50% + 8px)}
#comparePanel{position:fixed;top:12px;left:calc(50% + 12px);right:12px;z-index:710;padding:8px;max-height:34vh;overflow:auto;font-size:11px}#comparePanel .compareSelectors{display:flex;gap:6px;align-items:end}#comparePanel label{font-size:10px;flex:1;min-width:0}#comparePanel select{display:block;width:100%;font-size:11px;padding:6px 3px;max-width:220px}#comparePanel p{margin:5px 0;font-size:10px}#compareColors{height:4px}#compareLegend{font-size:9px}#comparePanel details{margin:4px 0}#comparePanel details label{display:inline-flex;align-items:center;gap:6px;margin-right:12px}#comparePanel input[type=range]{width:90px}#advancedOverlay{position:fixed;z-index:610;pointer-events:none;overflow:hidden}.obs-label{paint-order:stroke;stroke:#071019;stroke-width:3px;stroke-linejoin:round}#layerDetailText{white-space:pre-wrap;font-size:12px;line-height:1.6}#safeBanner{position:fixed;left:8px;bottom:100px;padding:8px;z-index:850;font-size:12px}
@media(max-width:760px){body.comparison-on #map{width:100%;height:50%;bottom:auto}body.comparison-on #compareMap{top:50%;width:100%;height:50%;border-left:0;border-top:2px solid #547382}body.comparison-on header{right:64px}body.comparison-on .tools{right:8px;top:68px}body.comparison-on #fullscreenButton{right:8px}#comparePanel{top:calc(50% + 6px);left:8px;right:8px;max-height:25vh}#comparePanel .compareSelectors{gap:4px}#comparePanel select{max-width:none}#comparePanel details{font-size:10px}body.comparison-on #map .leaflet-control-container .leaflet-bottom{bottom:6px!important}}
.map-focus #comparePanel{display:none!important}body.comparison-on.map-focus header{display:none}body.comparison-on footer{z-index:720}
