@font-face{font-family:Inter;src:url('/fonts/inter/Inter-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/fonts/inter/Inter-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--accent:#ffcc00;--accent-glow:rgba(255,204,0,.24);--on-accent:#101820;--bg-dark:#07131d;--bg-panel:rgba(8,25,37,.96)}
html,body,button,input,select,textarea{font-family:Inter,Arial,sans-serif}h1,h2,h3,h4,.modal-title{font-family:Inter,Arial,sans-serif;font-weight:800}.fishacat-home img{width:118px;height:auto;display:block}.header-left>svg{display:none}.header-left h1{font-size:19px}.fishacat-note{font-size:12px;line-height:1.5;margin:8px 0;color:var(--text-dim)}.fishacat-credit{position:fixed;left:8px;bottom:5px;z-index:900;font-size:10px;background:var(--bg-panel);padding:3px 6px;border-radius:5px;color:var(--text-dim)}@media(max-width:600px){.fishacat-home img{width:85px}.header-left h1{font-size:14px}}

.cache-panel,.install-panel{display:none!important}.toggle-row input[type=checkbox]{appearance:none;width:34px;height:19px;background:#536273;border-radius:12px;position:relative;flex-shrink:0;cursor:pointer;border:1px solid var(--border-hover)}.toggle-row input[type=checkbox]:after{content:'';position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff}.toggle-row input[type=checkbox]:checked{background:var(--accent)}.toggle-row input[type=checkbox]:checked:after{left:17px;background:var(--on-accent)}.toggle-row input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Radar product controls retain room for the map at desktop and phone widths. */
.fishacat-product-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding-bottom:9px;border-bottom:1px solid #354858;margin-bottom:8px}
.fishacat-product-toolbar label{display:grid;gap:3px;font-size:11px;color:#b6c7d4;flex:1;min-width:145px}
.fishacat-product-toolbar select{width:100%;min-width:0;max-width:300px}
.fishacat-product-toolbar select,.fishacat-product-toolbar button,.fishacat-product-buttons button{border:1px solid #607180;border-radius:7px;background:#122738;color:#fff;min-height:34px;padding:5px 8px;font:inherit}
.fishacat-product-toolbar button[aria-pressed="true"]{background:#ffc300;color:#07131d}
.fishacat-custom-radar>.radar-controls-header,.fishacat-custom-radar>.radar-controls-body{display:none}
.fishacat-product-playback[hidden],.fishacat-radar-probe[hidden],.fishacat-product-toolbar [hidden]{display:none!important}
.fishacat-product-status{font-weight:700;font-size:12px;line-height:1.5;color:#ffc300}
.fishacat-product-legend,.fishacat-product-playback small{font-size:11px;line-height:1.4;color:#b6c7d4;display:block}
.fishacat-product-buttons{display:flex;gap:7px;align-items:center;margin:8px 0}
.fishacat-product-buttons input{flex:1;min-width:70px;accent-color:#ffc300}
.fishacat-radar-probe{position:absolute;z-index:450;left:50%;top:50%;transform:translate(-50%,-21px);pointer-events:none;text-align:center;color:#fff;max-width:230px;width:max-content}
.fishacat-crosshair{font:42px/42px Arial;color:#ffc300;text-shadow:0 1px 4px #000}
.fishacat-radar-probe>div+div{background:transparent;border:0;padding:0;margin-top:2px;box-shadow:none}
.fishacat-radar-probe strong{display:block}.fishacat-radar-probe span,.fishacat-radar-probe small{display:none}
.fishacat-radar-probe strong{font-size:17px;line-height:1.2;color:#ffc300;text-shadow:-1px -1px 2px #000,1px -1px 2px #000,-1px 1px 2px #000,1px 1px 2px #000}.fishacat-radar-probe small{font-size:11px}
@media(max-width:600px){.fishacat-product-toolbar{gap:5px}.fishacat-product-toolbar label{min-width:120px}.fishacat-product-playback>small{display:none}.fishacat-product-legend{font-size:10px}}
/* Every GL layer occupies the same Leaflet map plane; a second canvas must not flow below the basemap. */
.leaflet-pane .leaflet-gl-layer{position:absolute;top:0;left:0}

/* Compact scan row, with station selection directly on the map. */
#radar-controls{padding:8px 12px}
#radar-controls>.radar-controls-header{display:none}
.fishacat-product-toolbar{align-items:center;flex-wrap:nowrap;gap:7px;padding:0;border:0;margin:0 0 5px}
.fishacat-scan-meta{flex:1;min-width:130px}
.fishacat-scan-meta .radar-controls-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:3px 6px;font-size:11px}
.fishacat-scan-meta [hidden]{display:none!important}
.fishacat-product-toolbar select{width:165px;flex:0 1 165px;font-size:11px}
.fishacat-product-toolbar button{font-size:11px;white-space:nowrap;padding:4px 8px;min-height:30px}
.fishacat-product-toolbar select{min-height:30px;padding:4px}
.fishacat-product-status{font-size:11px;line-height:1.3}
.fishacat-product-playback>small{display:none}
.fishacat-product-buttons{margin:5px 0 0}
.fishacat-product-buttons button{min-height:28px;font-size:12px;padding:3px 7px}
.fishacat-product-legend{font-size:10px}
#radar-controls .radar-controls-body{padding-top:2px;border:0}
.fishacat-station-marker{display:flex;align-items:center;justify-content:center;gap:3px;color:#ffcf00;font:800 10px/1 Inter,Arial,sans-serif;text-shadow:0 1px 3px #000,1px 0 3px #000;background:#0a2539d9;border:1px solid #ffcf00;border-radius:12px;cursor:pointer}
.fishacat-station-marker span{font-size:15px}.fishacat-station-marker.is-selected{background:#ffcf00;color:#07131d;text-shadow:none;border-color:#fff}
.fishacat-station-marker:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:720px){.fishacat-product-toolbar{flex-wrap:wrap;gap:5px}.fishacat-scan-meta{flex-basis:100%}.fishacat-product-toolbar select{flex:1;min-width:120px}.fishacat-product-toolbar button{font-size:10px}}


/* Keep status in flow so it cannot cover playback at any zoom or text size. */
#radar-controls{display:flex;flex-direction:column;bottom:calc(36px + env(safe-area-inset-bottom))}
#radar-controls .camera-count{position:static;order:10;align-self:stretch;margin-top:7px;padding:6px 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:right;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.fishacat-credit{left:96px;bottom:5px;max-width:calc(100% - 112px)}
.leaflet-control-attribution{max-width:calc(100vw - 300px);white-space:normal}
@media(max-width:600px){
  #radar-controls{bottom:calc(110px + env(safe-area-inset-bottom))}
  #radar-controls .camera-count{text-align:left}
  .fishacat-credit{left:8px;bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100% - 16px)}
  .leaflet-bottom{bottom:calc(64px + env(safe-area-inset-bottom))}
  .leaflet-control-attribution{max-width:calc(100vw - 16px);font-size:9px!important}
}

.warning-color-legend{display:flex;flex-wrap:wrap;gap:5px 12px;margin:9px 0;color:#f1f5f9;font-size:11px;line-height:1.4}
.warning-color-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--warning-color);margin-right:5px}
.warning-color-legend small{flex-basis:100%;color:var(--text-dim)}
.alert-list-button{border-left:4px solid var(--warning-color)!important}
.alert-list-button[aria-pressed="true"]{outline:2px solid #fff;outline-offset:-2px;background:var(--bg-panel-hover)}
.selected-warning-outline{animation:selected-warning-pulse 2s ease-in-out infinite;stroke-linejoin:round}
@keyframes selected-warning-pulse{0%,100%{stroke:var(--warning-color);stroke-opacity:1}50%{stroke:#fff;stroke-opacity:1}}
@media(prefers-reduced-motion:reduce){.selected-warning-outline{animation:none;stroke:#fff}}
/* Shared popup brand hierarchy, independent of basemap theme. */
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#091725;color:#fff}
.leaflet-popup-content-wrapper{border:1px solid #52788e;border-radius:14px}
.leaflet-popup-content{font-family:Inter,Arial,sans-serif;color:#fff}
.leaflet-popup-content h1,.leaflet-popup-content h2,.leaflet-popup-content h3,.leaflet-popup-content strong{font-family:Inter,Arial,sans-serif;font-weight:800;color:#fff}
.leaflet-popup-content h4,.leaflet-popup-content dt{font-family:Inter,Arial,sans-serif;font-weight:800;color:#fa1318}
.leaflet-popup-content h5,.leaflet-popup-content a{color:#ffc300}.leaflet-container a.leaflet-popup-close-button{color:#fff}
.stream-selection-status{color:#ffc300;font-size:12px;line-height:1.4}
.leaflet-popup-content .context-popup{color:#fff;font-family:Inter,Arial,sans-serif}
.leaflet-popup-content .context-popup>strong+span{color:#fa1318;font-weight:800}
.leaflet-popup-content .context-popup>strong+span+span{color:#ffc300}
.leaflet-popup-content .context-popup .earthquake-intensity-message,.leaflet-popup-content .context-popup .incident-camera-status,.leaflet-popup-content .context-popup .incident-cameras li>span{color:#fff}
/* Station IDs retain their full width alongside a small radar glyph. */
.fishacat-station-marker{box-sizing:border-box;padding:2px 5px;gap:4px;overflow:visible;white-space:nowrap;justify-content:flex-start}
.fishacat-station-marker svg{width:14px;height:14px;flex:0 0 14px;display:block}
.fishacat-station-marker b{font:800 10px/1 Inter,Arial,sans-serif;white-space:nowrap;flex:0 0 auto;overflow:visible}
/* Two compact control rows; camera details expand without covering playback. */
#radar-controls{padding:5px 10px}
#radar-controls .fishacat-product-toolbar{margin-bottom:3px;gap:6px}
#radar-controls .fishacat-product-toolbar button,#radar-controls .fishacat-product-toolbar select{min-height:24px;height:24px;padding:2px 6px}
#radar-controls .radar-controls-body{padding-top:0;padding-right:108px;gap:8px}
#radar-controls .radar-btn{width:26px;height:26px}
#radar-controls .radar-playback-row{gap:4px}
#radar-controls .radar-scrubber-row{display:block}
#radar-controls .radar-range-label{display:none}
#radar-controls #radar-frame-position{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#radar-controls .fishacat-product-buttons{margin:2px 108px 0 0;gap:4px}
#radar-controls .fishacat-product-buttons button{min-height:24px;height:24px;padding:2px 6px}
.radar-camera-details{position:absolute;right:10px;bottom:10px;font-size:10px}
.radar-camera-details summary{cursor:pointer;color:var(--text-dim)}
#radar-controls .radar-camera-details .camera-count{position:absolute;bottom:24px;right:0;min-width:250px;max-width:340px;margin:0;padding:10px;background:#091725;border:1px solid #52788e;border-radius:8px;color:white;text-align:left;box-shadow:0 6px 20px #0006}
@media(max-width:720px){#radar-controls .fishacat-product-toolbar{flex-wrap:wrap}#radar-controls .radar-controls-body{padding-right:95px}.radar-camera-details{font-size:9px}#radar-controls .fishacat-product-buttons{margin-right:95px}}

/* Compact quick annotation tools, shared by national and station radar. */
#radar-drawing-tools{display:flex;gap:3px;flex-shrink:0;align-items:center}
#radar-controls #radar-drawing-tools button{display:grid;place-items:center;width:26px;height:26px;min-height:26px;padding:4px;color:#94a3b8;background:#091725;border:1px solid #354858;border-radius:5px}
#radar-controls #radar-drawing-tools button[aria-pressed="true"],#radar-controls #radar-drawing-tools button:active{color:#091725;background:#FFC300;border-color:#FFC300}
#radar-drawing-tools button:focus-visible{outline:2px solid #FFC300;outline-offset:2px}
#radar-drawing-tools svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.radar-drawing-surface{position:absolute;inset:0;z-index:800;cursor:crosshair;touch-action:none}
.radar-drawing-surface[hidden]{display:none}
.radar-drawing-hint{position:absolute;top:85px;left:50%;transform:translateX(-50%);padding:7px 12px;border:1px solid #FFC300;border-radius:7px;background:#091725;color:white;font:12px/1.4 Inter,sans-serif;pointer-events:none;max-width:80%;text-align:center}
.leaflet-tooltip.radar-distance-label{background:#091725;color:#FFC300;border:1px solid #FFC300;font-weight:800;box-shadow:0 2px 5px #0006}
@media(max-width:900px){#radar-controls .fishacat-product-toolbar{flex-wrap:wrap}#radar-controls .fishacat-scan-meta{flex-basis:100%}}

.radar-drawing-settings{margin:12px 0;padding:10px;border:1px solid var(--border);border-radius:8px;min-width:0}
.radar-drawing-settings legend{color:#fff;font-weight:800;font-size:12px}
.radar-drawing-settings p{font-size:11px;color:#b6c7d4;line-height:1.4;margin:0 0 8px}
.radar-drawing-settings input[type="color"]{width:52px;height:30px;padding:2px;border:1px solid #607180;border-radius:5px;background:#091725;cursor:pointer}
.radar-drawing-flash{animation:radar-drawing-pulse 1.6s ease-in-out infinite}
.radar-drawing-animated-dash{animation:radar-drawing-dash 1s linear infinite}
.radar-drawing-flash.radar-drawing-animated-dash{animation:radar-drawing-pulse 1.6s ease-in-out infinite,radar-drawing-dash 1s linear infinite}
@keyframes radar-drawing-dash{from{stroke-dashoffset:0}to{stroke-dashoffset:-18}}
@keyframes radar-drawing-pulse{0%,100%{stroke-opacity:1;fill-opacity:.12}50%{stroke-opacity:.2;fill-opacity:.02}}
.leaflet-tooltip.radar-distance-label{color:var(--drawing-color,#FFC300);border-color:var(--drawing-color,#FFC300)}
@media(prefers-reduced-motion:reduce){.radar-drawing-flash,.radar-drawing-animated-dash,.radar-drawing-flash.radar-drawing-animated-dash{animation:none}}

/* Optional stream-style alert cards; independent of map-layer visibility. */
.explorer-alert-actions{display:flex;gap:8px;margin:8px 0}
.explorer-alert-actions button{border:1px solid #607180;border-radius:6px;padding:6px;background:#122738;color:white;font:inherit;font-size:12px;cursor:pointer}
.explorer-stream-alert{position:fixed;right:18px;top:82px;width:min(430px,calc(100vw - 115px));max-height:calc(100dvh - 225px);overflow:auto;z-index:1100;background:#091725;color:white;border:1px solid #52788e;border-top:4px solid #FFC300;border-radius:12px;padding:14px;box-shadow:0 8px 25px #0008;font:13px/1.4 Inter,Arial,sans-serif}
.explorer-stream-alert[hidden]{display:none}
.explorer-stream-alert[data-type="pds"]{border-top-color:#ff00dc}
.explorer-stream-alert header{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#FA1318;font-weight:800;font-size:11px}
.explorer-stream-alert header button{font-size:24px;color:white;background:none;border:0;cursor:pointer;padding:0 4px}
.explorer-stream-alert h2{color:white;font-weight:800;font-size:clamp(20px,2vw,28px);line-height:1.15;margin:12px 0}
.explorer-stream-alert h3{color:#FA1318;font-weight:800;font-size:15px;margin:10px 0}
.explorer-stream-alert p{color:white;margin:8px 0}
.explorer-stream-alert dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.explorer-stream-alert dl>div:first-child{grid-column:1/-1}
.explorer-stream-alert dt{color:#FFC300;font-weight:800;font-size:11px;text-transform:uppercase}
.explorer-stream-alert dd{margin:2px 0 0;color:white}
.explorer-stream-alert footer{font-size:10px;border-top:1px solid #354858;padding-top:8px}
@media(max-width:600px){.explorer-stream-alert{right:10px;top:72px;padding:10px;max-height:calc(100dvh - 235px)}}

/* Identify warnings without opening each detail panel. */
.alert-list-button .alert-list-location{color:#fff;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.alert-list-button .alert-list-threat{color:#FFC300;font-size:11px;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:anywhere}

/* Overlay shortcuts centered between scan time and product selection. */
.fishacat-overlay-shortcuts{display:flex;flex:1;align-items:center;justify-content:center;gap:5px}
.fishacat-product-toolbar button.fishacat-radar-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;padding:3px;color:#94a3b8;background:#091725;border:1px solid #34495b}
.fishacat-product-toolbar button.fishacat-radar-icon[aria-pressed="true"]{color:#FFC300;border-color:#FFC300;background:#263022}
.fishacat-radar-icon svg{flex-shrink:0}

.fishacat-station-marker.is-offline{color:#fff;background:#a5080d;border-color:#fa1318;text-shadow:none}
.fishacat-station-marker.is-offline.is-selected{background:#fa1318;border-color:#fff;outline:2px solid #fff;outline-offset:2px}
#explorer-nearest.is-offline,#explorer-second-nearest.is-offline{background:#a5080d;color:#fff;border-color:#fa1318}
#explorer-nearest.is-offline[aria-pressed="true"],#explorer-second-nearest.is-offline[aria-pressed="true"]{background:#fa1318;outline:2px solid white;outline-offset:1px}

.leaflet-tooltip.tropical-intensity-tag{background:transparent;color:#ffe891;border:1px solid #ffe891;border-radius:9px;padding:3px 6px;font:800 11px/1.2 Inter,Arial,sans-serif;box-shadow:none;text-shadow:0 1px 2px #091725;white-space:nowrap;pointer-events:none}.leaflet-tooltip.tropical-intensity-tag:before{display:none}

.tropical-point-icon{background:transparent;border:0}.tropical-point-symbol{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:22px;height:22px;border:2px solid #000;border-radius:50%;color:#fff;font:800 13px/1 Inter,Arial,sans-serif;text-shadow:0 1px 2px #0009;box-shadow:0 1px 3px #0005}

.recon-map-panel{position:absolute;right:12px;top:142px;z-index:1000;width:260px;max-height:48vh;overflow:auto;box-sizing:border-box;padding:12px;border:1px solid #ffc300;border-radius:12px;background:#091725f2;color:#fff;font:12px/1.4 Inter,Arial,sans-serif}.recon-map-panel strong{display:block;color:#ffc300;font-size:15px}.recon-map-panel select{width:100%;margin:8px 0;background:#142a3b;color:#fff;border:1px solid #506473;border-radius:5px;padding:5px}.recon-map-panel small,.recon-map-panel a{display:block;margin-top:5px;color:#c8d5df}.recon-mission{border-left:3px solid;padding-left:8px;margin:8px 0}.recon-map-panel button{background:#142a3b;color:#ffc300;border:1px solid #526474;border-radius:5px;margin-top:5px;cursor:pointer}.recon-aircraft{background:none;border:0;text-align:center;font-size:27px;line-height:28px;text-shadow:1px 1px 2px #000,-1px -1px 2px #000}@media(max-width:600px){.recon-map-panel{width:210px;top:170px;max-height:32vh}}
.weather-briefing{box-sizing:border-box;width:min(1100px,92vw);max-height:88vh;overflow:auto;background:#091725;color:#fff;border:2px solid #ffc300;border-radius:18px;padding:24px;font:14px/1.5 Inter,Arial,sans-serif;box-shadow:0 18px 80px #0009}.weather-briefing::backdrop{background:#020c17b8}.weather-briefing-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.weather-briefing h2{font:800 clamp(25px,4vw,42px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.02em;margin:8px 0;color:white}.briefing-kicker{color:#fa1318;font-weight:800;letter-spacing:.1em}.briefing-close{flex-shrink:0;border:1px solid #667788;border-radius:8px;color:#fff;background:#152b3b;width:36px;height:36px;font-size:26px;cursor:pointer}.briefing-category{font:800 clamp(32px,6vw,64px)/1.1 Inter,Arial,sans-serif;color:#ffc300;margin:12px 0}.briefing-time,.briefing-note{color:#becdda;font-size:12px}.briefing-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}.briefing-metric{border:1px solid #526675;border-radius:12px;padding:12px}.briefing-metric small{display:block;color:#c6d2dc}.briefing-metric strong{display:block;font-size:21px;color:#ffc300;font-weight:800}.briefing-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.briefing-chart{border:1px solid #ffc300;border-radius:12px;padding:12px;min-width:0}.briefing-chart h3{font-size:15px;font-weight:800;margin:0 0 8px}.briefing-chart svg{width:100%;display:block}.briefing-map{height:420px;border:1px solid #ffc300;border-radius:12px;overflow:hidden;background:#152b3b}.briefing-source{color:#ffc300}.recon-data-popup .leaflet-popup-content-wrapper,.recon-data-popup .leaflet-popup-tip{background:#091725;color:white}.recon-data-popup .leaflet-popup-content-wrapper{border:1px solid #ffc300;font-family:Inter,Arial,sans-serif}.recon-data-popup .context-popup>div:first-child{font-weight:800;color:#ffc300}@media(max-width:650px){.weather-briefing{padding:16px;width:96vw;max-height:92vh}.briefing-charts{grid-template-columns:1fr}.briefing-map{height:340px}.briefing-metrics{grid-template-columns:1fr 1fr}.briefing-metric strong{font-size:17px}}

.nhc-briefing h2{font-size:30px}.nhc-briefing .briefing-category{font-size:clamp(30px,4vw,48px);margin:6px 0}.nhc-briefing .briefing-metrics{margin:10px 0}.nhc-briefing .briefing-map{height:40vh;min-height:230px}.nhc-briefing .briefing-metric{padding:8px 12px}

@media(min-width:800px){.nhc-briefing[open]{display:grid;grid-template-columns:280px minmax(0,1fr);gap:8px 20px;max-height:94vh}.nhc-briefing .weather-briefing-header{grid-column:1/-1}.nhc-briefing .briefing-category{grid-column:1;grid-row:2;font-size:42px}.nhc-briefing .briefing-time{grid-column:1;grid-row:3}.nhc-briefing .briefing-metrics{grid-column:1;grid-row:4;grid-template-columns:1fr;margin:0}.nhc-briefing .briefing-map{grid-column:2;grid-row:2/5;height:390px}.nhc-briefing .briefing-note,.nhc-briefing .briefing-source{grid-column:1/-1;margin:4px 0}}
.weather-briefing{position:fixed;inset:0;margin:auto;height:fit-content}.weather-briefing a.briefing-source{color:#ffc300}

/* Branded, responsive NOAA river hydrograph popup. */
.fishacat-gauge-popup .leaflet-popup-content-wrapper,.fishacat-gauge-popup .leaflet-popup-tip{background:#091725;color:#fff}
.fishacat-gauge-popup .leaflet-popup-content{width:min(580px,calc(100vw - 80px))!important;max-width:calc(100vw - 80px)!important;margin:16px;font-family:Inter,Arial,sans-serif}
.fishacat-gauge-popup .river-gauge-popup>strong{display:block;color:#fff;font-size:20px;font-weight:800;line-height:1.15;margin-bottom:6px}
.fishacat-river-chart{margin:12px 0;color:#c2d0dc}.fishacat-river-chart svg{display:block;width:100%;height:auto;border:1px solid #ffc300;border-radius:12px;background:#091725}
.fishacat-gauge-popup summary,.fishacat-gauge-popup a{color:#ffc300}.fishacat-gauge-popup details{font-size:12px;line-height:1.5}.fishacat-gauge-popup details span{display:block}.fishacat-gauge-popup .leaflet-popup-close-button{color:#fff}

/* Alert category tints; keep text readable on the navy operations background. */
.alert-list-button[data-card-type]{border:0!important;outline:none;box-shadow:none!important;background:var(--alert-card-bg)!important}
.alert-list-button[data-card-type="extreme"]{--alert-card-bg:#f2b8e2}
.alert-list-button[data-card-type="warning"]{--alert-card-bg:#f5b5b8}
.alert-list-button[data-card-type="watch"]{--alert-card-bg:#f6cfaa}
.alert-list-button[data-card-type="advisory"]{--alert-card-bg:#b9def6}
.alert-list-button[data-card-type="statement"]{--alert-card-bg:#ffffff}
.alert-list-button[data-card-type]:hover,.alert-list-button[data-card-type][aria-pressed="true"]{filter:brightness(1.18)}
.alert-list-button[data-card-type]:focus-visible{outline:2px solid white;outline-offset:2px}
.alert-list-button .alert-list-threat .alert-impact-label{display:inline;color:#fff;font-weight:400}
.alert-impact-value.gold{color:#ffc300!important;font-weight:800}.alert-impact-value.danger{color:#ff6565!important;font-weight:800}
.alert-impact-details dt{color:white!important;font-weight:400!important}.alert-impact-details dd{font-weight:800}

.alert-list-button[data-card-type]>strong,.alert-list-button[data-card-type]>.alert-list-location{color:#091725!important}
.alert-list-button[data-card-type]>span:last-child,.alert-list-button[data-card-type]::after{color:#344957}
.alert-list-button[data-card-type] .alert-list-threat{background:#142738;padding:3px 6px;margin-top:0;margin-bottom:0}
.alert-list-button[data-card-type]:hover,.alert-list-button[data-card-type][aria-pressed="true"]{filter:brightness(.94)}

/* Keep the entire alert card in its severity color, including impact rows. */
.alert-list-button[data-card-type] .alert-list-threat{background:transparent!important;padding-left:0;padding-right:0}
.alert-list-button[data-card-type] .alert-impact-label{color:#fff!important;text-shadow:0 1px 2px #263846,0 0 2px #263846;font-weight:400}
.alert-list-button[data-card-type] .alert-impact-value{text-shadow:0 1px 2px #263846,0 0 2px #263846}

.tropical-cyclone-symbol{display:block;width:22px;height:22px;filter:drop-shadow(0 1px 2px #0008)}

.measured-wind-icon{background:transparent;border:0}.measured-wind-reading{display:flex;align-items:center;justify-content:center;gap:3px;padding:3px 4px;border:0;border-radius:0;background:transparent;font:800 12px/1.2 Inter,Arial,sans-serif;white-space:nowrap;-webkit-text-stroke:.65px #000;paint-order:stroke fill;text-shadow:0 1px 1px #000}.measured-wind-arrow{display:inline-block;font-size:19px;line-height:20px}.measured-wind-reading small{font-size:10px}.measured-wind-old{opacity:.8}

/* Rotate the hurricane rainbands counterclockwise; the eye/category stays fixed. */
.tropical-cyclone-swirl{transform-box:view-box;transform-origin:16px 16px;animation:tropical-cyclone-spin 5s linear infinite}
@keyframes tropical-cyclone-spin{to{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.tropical-cyclone-swirl{animation:none}}

.imagery-mode-options{margin:8px 0;padding:8px 10px;border:1px solid #34495b;border-radius:8px}.imagery-mode-options legend{color:#ffc300;font-weight:800}.imagery-mode-options input{accent-color:#ffc300}#radar-controls select#explorer-satellite{width:72px;min-width:72px;max-width:72px;flex:0 0 72px;font-weight:800}#radar-controls button#explorer-satellite{width:28px;min-width:28px;max-width:28px;flex:0 0 28px}

/* Tornado warnings use a soft red even when severity is Extreme. */
.alert-list-button[data-card-type][data-event="Tornado Warning"]{--alert-card-bg:#f28c91}
.alert-list-button[data-card-type][data-event="Tornado Warning"]>span:last-child,.alert-list-button[data-card-type][data-event="Tornado Warning"]::after{color:#263846}

/* Shared warning popup layout: reference card, scaled for broadcast and map. */
.warning-popup-card.warning-popup-card{background:#061b2e;border:1px solid #299fff;border-radius:16px;color:#fff;padding:14px;box-sizing:border-box;overflow:auto}
.warning-popup-card.warning-popup-card :is(h1,h2){color:#fff;text-shadow:none;font-size:1.1em;font-weight:800;line-height:1.25;margin:8px 0 16px;padding:0}
.warning-popup-card.warning-popup-card header{padding:0;margin:0;background:none;font-size:.65em;color:#bdcddd}
.warning-popup-card.warning-popup-card .warning-popup-fields{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0}
.warning-popup-card.warning-popup-card .warning-popup-row{display:grid;grid-template-columns:24px 64px minmax(0,1fr);align-items:center;gap:9px;background:none;border:0;padding:0;margin:0}
.warning-popup-card.warning-popup-card .warning-popup-row svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#abbdd0}
.warning-popup-card.warning-popup-card [data-label=AREA] svg{color:#29a7ff}.warning-popup-card.warning-popup-card [data-label=HAZARD] svg{color:#ffe000}.warning-popup-card.warning-popup-card [data-label=SEVERITY] svg{color:#ff343c}
.warning-popup-card.warning-popup-card .warning-popup-row dt{font-size:.7em;font-weight:800;color:#e8f0fa;margin:0}
.warning-popup-card.warning-popup-card .warning-popup-row dd{min-width:0;margin:0;padding:9px;border-radius:5px;background:#203e59;color:white;font-size:.84em;line-height:1.35;overflow-wrap:anywhere;text-transform:none}
.warning-popup-card.warning-popup-card dd[data-tone=radar]{color:#ffe000;font-weight:800}.warning-popup-card.warning-popup-card dd[data-tone=observed]{color:#ff777d;font-weight:800}
.warning-popup-card.warning-popup-card footer{border:0;padding:0;margin:14px 0 0;font-size:.72em;color:#dce9f7;background:none}.warning-popup-card footer small{display:block;margin-top:5px}
.ecamm-serious-alert.warning-popup-card{width:min(560px,45vw);font-size:20px;padding:22px}.ecamm-serious-alert.warning-popup-card .warning-popup-row{grid-template-columns:30px 82px minmax(0,1fr);gap:12px}
.explorer-stream-alert.warning-popup-card{width:min(370px,calc(100vw - 110px));font-size:14px;top:calc(var(--responsive-header-height,64px) + 12px)}


/* Ending notices must not resemble a newly issued severe warning. */
.warning-popup-card[data-lifecycle="cancelled"],.warning-popup-card[data-lifecycle="expired"],.warning-popup-card[data-lifecycle="expiring"]{border-color:#83b9db!important;box-shadow:0 5px 22px #0008!important;animation:none!important}
.warning-popup-card[data-lifecycle="cancelled"] header,.warning-popup-card[data-lifecycle="expired"] header,.warning-popup-card[data-lifecycle="expiring"] header{color:#bcdef4!important;background:#18364d!important}
.warning-lifecycle-summary{background:#203e58;padding:10px;border-radius:6px;font-weight:800}

/* Keep long aircraft briefings scrollable outside Leaflet wheel handling. */
dialog.weather-briefing{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.weather-briefing-header{position:sticky;top:-24px;background:#091725;z-index:2;padding:8px 0}
.briefing-reading-time{margin-top:6px}
@media(max-width:650px){.weather-briefing-header{top:-16px}}

/* Transparent map tags retain contrast over both radar colors and basemaps. */
.fishacat-station-marker,.fishacat-station-marker.is-selected,.fishacat-station-marker.is-offline,.fishacat-station-marker.is-offline.is-selected{background:transparent;border-color:transparent;box-shadow:none;outline:none;color:#ffcf00;text-shadow:-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000,1px 1px 1px #000}
.fishacat-station-marker svg{filter:drop-shadow(0 1px 1px #000)}
.fishacat-station-marker.is-offline{color:#ff7378}
.fishacat-station-marker.is-selected b{text-decoration:underline;text-underline-offset:3px}
.fishacat-station-marker:focus-visible{outline:3px solid #fff;outline-offset:2px}
