/* Storm Mode chrome. Agency geometry, imagery and scientific palettes keep their own colours. */
body[data-st-page]{--st-bg:#f3f8fc;--st-panel:#fff;--st-raised:#eaf3fa;--st-text:#102a43;--st-secondary:#36546c;--st-muted:#456079;--st-line:#d2e0eb;--st-border:#54738c;--st-action:#006f91;--st-action-text:#fff;--st-info:#0759c7;--st-attention:#b31930;background:var(--st-bg);color:var(--st-text)}
:root[data-theme="dark"] body[data-st-page]{--st-bg:#091726;--st-panel:#0c1f30;--st-raised:#102a40;--st-text:#f1f7fc;--st-secondary:#c4d6e5;--st-muted:#a7bed1;--st-line:#29485e;--st-border:#5a819d;--st-action:#12bee9;--st-action-text:#071727;--st-info:#8bcbff;--st-attention:#ff6472}
body[data-st-page] .masthead{background:var(--st-bg);border-bottom:1px solid var(--st-line)}
.st{width:min(100% - 40px,1560px);margin:0 auto;padding:22px 0 28px;font-size:var(--fs-small);line-height:1.5;color:var(--st-text)}
.st a{color:var(--st-info)}.st h1,.st h2,.st h3,.st p{margin:0}.st h1{font-size:var(--fs-title);line-height:1.2;letter-spacing:-.03em}.st h2{font-size:var(--fs-lead);line-height:1.4}.st h3{font-size:var(--fs-bulletin)}.st .svb-ic{vertical-align:middle;flex-shrink:0}.st-muted,.st .sm-caption,.st .sm-sub{color:var(--st-muted);font-size:var(--fs-small)}.st-surface,.st .sm-card{background:var(--st-panel);border:1px solid var(--st-line);border-radius:9px;overflow:hidden}.st-surface>p,.st-surface>[data-st-saved-places],.st-surface>[data-st-recent]{padding:14px}.st-pane-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 14px;border-bottom:1px solid var(--st-line)}
.st-button,.st-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 14px;border:1px solid var(--st-border);border-radius:6px;background:var(--st-raised);color:var(--st-text)!important;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.st-primary{background:var(--st-action);color:var(--st-action-text)!important;border-color:var(--st-action)}.st :is(a,button,input,summary):focus-visible{outline:3px solid var(--st-action);outline-offset:3px}.st :is(button,a)[hidden]{display:none}.st button:disabled{cursor:default;opacity:.65}
.st-chooser-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:22px}.st-chooser-head>div>p{font-size:var(--fs-lead);color:var(--st-secondary);margin-top:6px}.st-search{display:flex;flex-wrap:wrap;gap:10px;flex:1;max-width:820px}.st-search input{min-width:180px;flex:1;padding:10px 14px;border:1px solid var(--st-border);border-radius:6px;background:var(--st-panel);color:var(--st-text);font:inherit;min-height:44px}.st-search input::placeholder{color:var(--st-muted)}.st-chooser-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr);gap:16px;align-items:start}.st-overview>.st-pane-heading{display:block}.st-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.st-filters a,.st-tabs a{padding:10px 16px;min-height:44px;text-decoration:none;color:var(--st-secondary);border-bottom:3px solid transparent}.st-filters a[aria-current],.st-tabs a[aria-current]{background:var(--st-raised);color:var(--st-info);border-bottom-color:var(--st-action);border-radius:5px 5px 0 0}.st-context-map{background:var(--st-bg);min-height:200px}.st-context-map svg{width:100%;display:block}.st-map-land{fill:var(--st-raised);stroke:var(--st-border);stroke-width:1.3}.st-map-borders{fill:none;stroke:var(--st-border);stroke-width:1}.st-alert-area{fill-opacity:.7;stroke-width:1.8}.st-map-marker{fill:var(--st-action);stroke:var(--st-action-text);stroke-width:2}.st-map-number{fill:var(--st-action-text);font-size:var(--fs-section);font-weight:800}.st-map-caption{padding:12px 14px;border-top:1px solid var(--st-line)}.st-map-caption p+p{margin-top:7px}.st-region-list{padding:14px;border-top:1px solid var(--st-line)}.st-region-list ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 24px;padding-left:22px;max-height:170px;overflow:auto}.st-region-list li{padding:4px}.st-region-list li span{display:block;color:var(--st-muted);font-size:var(--fs-micro)}.st-active-list .sm-card{padding:12px 14px;margin-bottom:12px}.st-active-list .sm-h{font-size:var(--fs-remarks);margin-bottom:10px}.st .sm-front-rows{list-style:none;padding:0;margin:0}.st-weather-card{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--st-line)}.st-weather-card:last-child{border-bottom:0}.st-weather-glyph{background:var(--st-raised);color:var(--st-info);width:50px;height:50px;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.st-weather-glyph svg{width:30px;height:30px}.st-weather-card .sv-go{font-size:var(--fs-lead);font-weight:750;text-decoration:none}.st-weather-card .sm-sub{margin:5px 0 6px}.st-active-list .sm-caption{margin-top:12px}.st-device-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.st-device-grid ul{list-style:none;padding:0;margin:0}.st-device-grid li{padding:10px 0;border-bottom:1px solid var(--st-line)}.st-device-grid li a{display:block;min-height:44px;padding:10px 0}.st-advanced,.st-help{margin-top:16px;padding:14px;border:1px solid var(--st-line);border-radius:8px;background:var(--st-panel)}.st summary{cursor:pointer;min-height:32px;font-weight:650}.st details[open]>summary{margin-bottom:14px}.st-footer-links{display:flex;gap:24px;padding:18px 0;flex-wrap:wrap}.st-results{margin:0 0 18px;padding:16px}.st-results ul{padding:0;list-style:none}.st-results li{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--st-line);padding:10px 0}.st-results li>a{font-weight:700;min-height:44px;padding:10px 0}.st-results li>span{color:var(--st-muted);flex:1}.st-results>p{padding:10px 0}.st[data-st-filter="severe"] [data-st-kind]:not([data-st-kind="severe"]),.st[data-st-filter="tropical"] [data-st-kind]:not([data-st-kind="tropical"]),.st[data-st-filter="flood"] [data-st-kind]:not([data-st-kind="flood"]),.st[data-st-filter="winter"] [data-st-kind]:not([data-st-kind="winter"]){display:none}
/* A selected event keeps identity and source time outside the map. */
.st-selected-head{display:flex;align-items:center;gap:18px;margin-bottom:14px;flex-wrap:wrap}.st-selected-head h1{font-size:var(--fs-section)}.st-selected-head .st-weather-glyph{width:54px;height:54px}.st-identity{flex:1;min-width:240px}.st-identity>p{color:var(--st-secondary);margin-top:4px}.st-advisory-clock{border-left:1px solid var(--st-line);padding-left:18px;color:var(--st-secondary);font-size:var(--fs-small)}.st-actions{display:flex;gap:8px;flex-wrap:wrap}.st-tabs{display:flex;gap:4px;overflow:auto;border:1px solid var(--st-line);background:var(--st-panel);border-radius:7px;margin-bottom:12px}.st-tabs a{white-space:nowrap}.st-workspace-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(360px,1fr);gap:14px;align-items:start}.st-map-column{min-width:0}.st-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;background:var(--st-panel);border-bottom:1px solid var(--st-line)}.st-map-toolbar button[aria-pressed=true]{color:var(--st-info)!important;border-color:var(--st-action);background:var(--st-raised)}.st-map-stage{position:relative;min-height:510px;aspect-ratio:1.42;overflow:hidden;background:var(--st-bg)}.st-map-stage .st-map-host{position:absolute;inset:0;min-height:0}.st-map-fallback{width:100%;height:100%;display:grid;place-items:center;position:absolute;inset:0;overflow:auto}.st-map-fallback .sm-graphic{height:100%;width:100%;display:grid;place-items:center}.st-map-fallback img{object-fit:contain;max-height:100%;width:100%;height:100%}.storm-detail-map-panel.is-live .st-map-fallback{display:none}.st-map-label{position:absolute;top:10px;left:10px;right:10px;pointer-events:none;z-index:2;display:flex;justify-content:flex-start}.st-map-label span{padding:5px 9px;border-radius:5px;background:var(--st-bg);font-size:var(--fs-micro);border:1px solid var(--st-line)}.st-map-note{padding:9px 12px!important;color:var(--st-secondary);font-size:var(--fs-small)}.st-cone-note{padding:7px 10px!important;color:var(--st-attention);font-size:var(--fs-small)}.st-rail{display:grid;gap:12px}.st-facts{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1.2fr);margin:0}.st-facts dt,.st-facts dd{margin:0;padding:11px 13px;border-bottom:1px solid var(--st-line);font-size:var(--fs-small)}.st-facts dt{color:var(--st-secondary);border-right:1px solid var(--st-line)}.st-facts dd{font-variant-numeric:tabular-nums}.st-rail-action{margin:12px;display:flex}.st-coverage p{padding:12px 14px}.st-coverage p+p{padding-top:0}.st-layer-controls{padding:10px}.st-layer-controls>details>summary{min-height:44px}.st-transport:empty{display:none}.st-transport{border:1px solid var(--st-line);border-radius:8px;margin-top:10px;background:var(--st-panel);padding:10px}.st-transport .tropics-satellite-edge{position:static!important;width:auto!important;transform:none!important;max-width:none!important}.st-impact-strip{margin-top:14px}.st-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}.st-impact-grid>a{padding:12px;display:block;border:1px solid var(--st-line);border-radius:7px;background:var(--st-raised);text-decoration:none;min-height:90px}.st-impact-grid strong{display:block;font-size:var(--fs-remarks);margin-bottom:6px;color:var(--st-text)}.st-impact-grid span{font-size:var(--fs-small);color:var(--st-secondary)}.st-product{padding:14px;margin-top:14px}.st-product>.sm-panel-h{font-size:var(--fs-lead);margin-bottom:10px}.st-product .sm-figure{max-width:100%}.st-product .sm-graphic img{max-height:660px;object-fit:contain}.st-product .sm-caption{margin-top:12px}.st-local-context{margin-top:14px}.st-local-context>summary{padding:14px}.st-local-context[open]>summary{margin-bottom:0}.st-local-context .sm-card{margin:12px;border:1px solid var(--st-line)}.st .sm-sources{margin-top:18px}.st .sm-sources ul{flex-wrap:wrap}.st .sm-noscript-note{margin:12px 0}.st-mobile-nav{display:none}.st-status{color:var(--st-muted);font-size:var(--fs-small)}.st-follow[aria-pressed=true]{border-color:var(--st-action);color:var(--st-info)!important}
@media(min-width:1800px){.st{width:min(100% - 64px,1800px)}.st-map-stage{min-height:650px}}
@media(max-width:1100px){.st-chooser-head{align-items:flex-start;flex-direction:column;gap:16px}.st-search{width:100%;max-width:none}.st-workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr)}.st-map-stage{min-height:430px}.st-advisory-clock{border:0;padding:0}.st-region-list ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.st{width:calc(100% - 36px);padding-top:16px}.st h1{font-size:var(--fs-section)}.st-selected-head{gap:10px}.st-selected-head h1{font-size:var(--fs-subhead)}.st-selected-head .st-weather-glyph{display:none}.st-identity{min-width:180px}.st-actions{width:100%}.st-actions .st-button{flex:1;font-size:var(--fs-small);padding:7px 10px}.st-chooser-grid,.st-workspace-grid,.st-device-grid{grid-template-columns:1fr}.st-active-list{margin-top:2px}.st-chooser-head{margin-bottom:16px}.st-search input{width:100%;flex-basis:100%;font-size:var(--fs-remarks)}.st-search .st-primary,.st-search .st-button{flex:1;font-size:var(--fs-small)}.st-filters{gap:0}.st-filters a{padding:10px 12px}.st-map-stage{min-height:360px;aspect-ratio:1.12}.st-map-toolbar{gap:5px}.st-map-toolbar .st-button{font-size:var(--fs-micro);padding:7px 9px}.st-tabs a{padding:10px 14px}.st-impact-grid{grid-template-columns:1fr}.st-mobile-nav{display:flex;position:sticky;bottom:0;z-index:4;background:var(--st-panel);border-top:1px solid var(--st-border);justify-content:space-around;gap:5px;padding:5px}.st-mobile-nav a{padding:12px 16px;text-decoration:none;min-height:44px}.st-rail{margin-top:0}.st-product{padding:12px}.st-results li>span{flex-basis:100%}.st .sm-table{font-size:var(--fs-small)}.st .sm-table th,.st .sm-table td{padding:8px}.st-device-grid{gap:12px}}
/* Reduced motion stills the page, except a ticker this device's reader set crawling with Play (event-operations.mjs). */
@media(prefers-reduced-motion:reduce){.st *:not(.st-alert-ticker[data-motion=crawl] .st-ticker-track){scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.st-context-map svg{height:clamp(300px,42vw,510px)}.st-region-list{padding:10px 14px}.st-region-list summary{min-height:32px}.st-tracking .sm-panel{display:block}.st-table-scroll{overflow:auto}.st-tracking .st-selected-head .pagehead-title{margin:0;font-size:var(--fs-section);color:var(--st-text)}.st-tracking .pagehead-kicker{font:inherit;letter-spacing:normal;text-transform:none;color:var(--st-secondary)}
@media(max-width:767px){.st-context-map svg{height:auto}.st-tracking .st-selected-head .pagehead-title{font-size:var(--fs-subhead)}}
body[data-st-page="area"] .sm-pagehead{padding:18px 20px 12px;margin:0 auto;width:min(100%,1600px);background:var(--st-bg);border:0}body[data-st-page="area"] .sm-pagehead .pagehead-title{font-size:var(--fs-section);line-height:1.25}body[data-st-page="area"] .sm-pagehead .pagehead-sub{font-size:var(--fs-small);color:var(--st-secondary);max-width:90ch}body[data-st-page="area"] .sm-pagehead .pagehead-kicker{font-size:var(--fs-micro);color:var(--st-muted)}.st-area{padding-top:8px;max-width:1560px}.st-area .sm-card{margin:0;padding:14px}.st-area .sm-mapcard .sm-h{font-size:var(--fs-lead)}.st-area .sm-mapframe{max-height:none;aspect-ratio:1.5;min-height:350px}.st-area .sm-mapframe>svg{height:100%;max-height:none}.st-area .sm-mapcard .sm-map-key{margin:10px 0 0}.st-area .sm-board{align-self:start}.st-area #sm-spot,.st-area .sm-changed{margin-top:14px}.st-area .sm-spot .sm-tabs{background:var(--st-panel)}.st-area .sm-panel{color:var(--st-text)}.st-area .sm-panel-h{font-size:var(--fs-lead)}.st-area .sm-map-note{margin-top:8px}.st-area .st-rail .sm-card{overflow:auto;max-height:720px}.st-area .sm-caption{margin-top:10px}
@media(max-width:767px){body[data-st-page="area"] .sm-pagehead{padding:14px 12px 8px}body[data-st-page="area"] .sm-pagehead .pagehead-title{font-size:var(--fs-subhead)}.st-area .sm-mapframe{min-height:300px}.st-area .st-rail .sm-card{max-height:none}.st-area .sm-spot .sm-tabs{overflow:auto}}
/* Legacy cards carry named grid areas for the wall. Public frames own their layout. */
.st-area{display:block}.st-area :is(.sm-mapcard,.sm-board,.sm-changed,.sm-spot){grid-area:auto}
@media(max-width:767px){.st-tracking{padding-top:12px}.st-selected-head{margin-bottom:10px;gap:8px}.st-map-toolbar{flex-wrap:nowrap;overflow-x:auto}.st-map-toolbar>*{flex-shrink:0}.st-identity>p{margin-top:2px}}
/* Keep the advisory clock visible even where the shared shell hides page kickers. */
.st-tracking .st-selected-head .pagehead-kicker{display:block;margin:0}
@media(max-width:767px){.st-selected-head .st-identity{flex-basis:100%}.st-advisory-clock{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 10px}}
.st-selected-head .pagehead-title{color:var(--st-text)}.st-region-list li>a{display:inline-flex;align-items:center;min-height:44px}
.st-urgent{padding:12px 14px;border:1px solid var(--st-line);border-left:4px solid var(--st-attention);background:var(--st-panel);border-radius:7px;margin:12px 0}.st-urgent li{margin-top:8px}.st-urgent li>strong{color:var(--st-attention)}
/* SM-T4: complete warning rail, one persistent geographic map, selected detail. */
.st-severe-summary{display:flex;gap:8px 24px;flex-wrap:wrap;align-items:center;margin:0 0 10px;color:var(--st-secondary)}.st-severe-summary>p{font-size:var(--fs-small)}.st-severe-summary .st-urgent{flex-basis:100%;margin:0}.st-severe-summary .st-urgent ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.st-severe-summary .st-urgent li{margin:0}.st-severe-grid{display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(280px,310px);gap:12px;align-items:start}.st-warning-rail,.st-severe-inspector{min-width:0;max-height:760px;overflow:auto}.st-warning-rail .st-pane-heading h2,.st-severe-inspector h2{font-size:var(--fs-remarks)}.st-pane-heading>span{font-size:var(--fs-micro);color:var(--st-muted)}.st-alert-filters{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-bottom:1px solid var(--st-line)}.st-alert-filters label{flex:1;min-width:100px;font-size:var(--fs-micro);color:var(--st-secondary)}.st-alert-filters select{display:block;width:100%;min-height:44px;background:var(--st-panel);color:var(--st-text);border:1px solid var(--st-border);border-radius:5px;font:inherit;padding:6px}.st-alert-filters button{font-size:var(--fs-micro);width:100%}.st-warning-list{list-style:none;padding:0;margin:0}.st-warning-list li{padding:6px 8px;border-bottom:1px solid var(--st-line)}.st-warning-list li[data-unconfirmed]{border-left:3px dashed var(--st-border)}.st-warning-list a{display:flex;flex-direction:column;gap:5px;padding:10px 8px;min-height:44px;color:var(--st-text);text-decoration:none;border:1px solid transparent;border-radius:6px}.st-warning-list a[aria-current]{border-color:var(--st-action);background:var(--st-raised)}.st-warning-list .sm-chip{align-self:start}.st-watched{padding:12px;border-top:1px solid var(--st-line)}.st-watched h3{margin-bottom:8px}.st-watched :is(a,button){min-height:44px;display:flex;align-items:center}.st-watched ul{padding:0;list-style:none}.st-watched li{padding:5px 0}.st-watched li small{display:block;font-size:var(--fs-micro);color:var(--st-muted)}.st-severe-stage{height:clamp(440px,54vh,640px);min-height:440px;position:relative;background:var(--st-bg)}.st-severe-map-host{position:absolute;inset:0}.st-severe-map-host canvas{outline-offset:-4px}.st-severe-map.is-live [data-st-svg-fallback]{display:none}.st-severe-map [data-st-svg-fallback]{position:absolute;inset:0;overflow:hidden}.st-severe-map .sm-mapcard{height:100%;padding:8px;border:0;border-radius:0}.st-severe-map .sm-mapframe{height:calc(100% - 85px);min-height:0;aspect-ratio:auto}.st-severe-map .sm-mapcard .sm-map-key{font-size:var(--fs-micro);margin-top:5px}.st-severe-map .sm-mapcard .sm-h{font-size:var(--fs-small)}.st-map-clock{position:absolute;left:8px;right:8px;bottom:8px;background:var(--st-bg);border:1px solid var(--st-line);border-radius:5px;padding:5px 8px;font-size:var(--fs-micro);pointer-events:none}.st-map-layers{position:relative;flex-shrink:0}.st-map-layers summary{min-height:44px;display:flex;align-items:center;padding:8px;cursor:pointer}.st-map-layers[open]{flex-basis:100%;background:var(--st-panel)}.st-map-layers label{display:inline-flex;align-items:center;min-height:44px;padding:6px;gap:6px}.st-map-layers select{max-width:210px;color:var(--st-text);background:var(--st-panel);min-height:44px}.st-map-layers input{width:20px;height:20px}.st-map-legend{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:var(--fs-micro);padding:0 10px}.st-map-legend svg{width:18px;height:12px;display:inline-block}.st-cell-list{margin-top:10px;padding:12px}.st-cell-list summary{min-height:44px;cursor:pointer}.st-cell-list ol{max-height:240px;overflow:auto;padding-left:18px}.st-cell-list .st-button{font-size:var(--fs-micro);text-align:left}.st-pane-note{padding:12px!important;color:var(--st-secondary);font-size:var(--fs-small)}.st-inspector-body{padding:14px;overflow-wrap:anywhere}.st-inspector-body>h3{font-size:var(--fs-subhead);line-height:1.25;margin:10px 0}.st-inspector-body>p{margin:10px 0}.st-inspector-body details{border-top:1px solid var(--st-line);margin-top:12px;padding-top:6px}.st-inspector-body summary{min-height:44px;padding:10px 0;cursor:pointer}.st-inspector-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:var(--fs-small)}.st-inspector-body :is(.st-button,button){width:100%;font-size:var(--fs-small)}.st-inspector-body ul{padding-left:20px}.st-tags{padding:0!important;list-style:none;display:flex;gap:5px;flex-wrap:wrap}.st-tags li{border:1px solid var(--st-border);border-radius:4px;padding:4px 6px;font-size:var(--fs-micro)}.st-inspector-facts{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,1.5fr);gap:8px;font-size:var(--fs-small);margin:14px 0}.st-inspector-facts :is(dt,dd){margin:0;min-width:0}.st-inspector-facts dt{color:var(--st-muted)}.st-instruction{margin:12px 0;padding:12px;border:1px solid var(--st-attention);border-radius:6px;font-size:var(--fs-remarks);line-height:1.5;white-space:pre-wrap}.st-inspector-actions{display:flex;flex-wrap:wrap;gap:7px}.st-recent-changes{margin-top:12px}.st-recent-changes>ul{display:flex;gap:10px;list-style:none;padding:10px;margin:0;overflow:auto}.st-recent-changes>ul>li{flex:0 0 260px;padding-right:10px;border-right:1px solid var(--st-line);font-size:var(--fs-micro)}.st-recent-changes .st-button{font-size:var(--fs-micro);text-align:left}.st-recent-changes small{display:block;color:var(--st-muted);margin-top:4px}.st-recent-changes details{padding:10px}.st-recent-changes summary{min-height:44px;padding:8px;cursor:pointer}.st-severe-inspector [data-st-pick-stack]:not(:empty){padding:12px;border-top:1px solid var(--st-line)}.st-pick-choice{display:block;margin:5px 0;width:100%;text-align:left}.st-area [data-st-refresh-status]{padding:10px 0}.st-pin-note{font-size:var(--fs-micro);color:var(--st-info)}.st-severe-map .maplibregl-ctrl-attrib{color:#102a43}.st-severe-map .maplibregl-ctrl-attrib a{color:#0759c7}.st-area :is(select,input):focus-visible{outline:3px solid var(--st-action);outline-offset:2px}
@media(min-width:1600px){.st-area:has([data-st-severe]){max-width:1800px}.st-severe-grid{grid-template-columns:250px minmax(0,1fr) 310px}}
@media(max-width:1279px){.st-severe-grid{grid-template-columns:minmax(210px,240px) minmax(0,1fr)}.st-severe-inspector{grid-column:2;max-height:none}.st-warning-rail{grid-row:1 / span 2}.st-severe-stage{height:500px}.st-severe-grid[data-st-tab="alerts"] .st-warning-rail{max-height:none}}
@media(max-width:767px){.st-severe-grid{grid-template-columns:minmax(0,1fr)}.st-severe-grid>.st-map-column{grid-column:1;grid-row:1}.st-warning-rail{grid-row:2;max-height:none}.st-severe-inspector{grid-column:1;grid-row:3;max-height:none}.st-severe-grid[data-st-tab="alerts"] .st-warning-rail{grid-row:1}.st-severe-grid[data-st-tab="alerts"]>.st-map-column{grid-row:2}.st-severe-stage{height:420px;min-height:340px}.st-severe-summary{display:block}.st-severe-summary>p+p{margin-top:4px}.st-inspector-body :is(h3,p){max-width:65ch}.st-severe-map .st-map-toolbar{flex-wrap:wrap;overflow:visible}.st-severe-map .st-map-toolbar>.st-button{flex:1;min-width:65px}.st-map-layers{flex-basis:100%}.st-map-layers label{display:flex}.st-recent-changes>ul{display:block}.st-recent-changes>ul>li{padding:8px;border-right:0;border-bottom:1px solid var(--st-line)}.st-alert-filters button{width:auto}.st-warning-list{max-height:540px;overflow:auto}}
.st-town-label{color:#f1f7fc;font:600 var(--fs-micro)/1.2 Manrope,sans-serif;white-space:nowrap;text-shadow:0 0 2px #0b1520,0 0 2px #0b1520,0 0 4px #0b1520;pointer-events:none}.st-town-label.is-chosen{font-weight:800;font-size:var(--fs-small)}.st-town-label.is-chosen::before{display:none}.st-town-label::before{content:"";position:absolute;left:-7px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:#f1f7fc;box-shadow:0 0 0 1.5px #0b1520}html[data-theme=light] .st-town-label{color:#102a43;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 4px #fff}html[data-theme=light] .st-town-label::before{background:#102a43;box-shadow:0 0 0 1.5px #fff}.st-town-label[hidden]{display:none}.st-area[data-st-connection="unconfirmed"] .st-warning-list li{border-left:3px dashed var(--st-border)}
.st-severe-map .maplibregl-ctrl-attrib a{text-decoration:underline}.st-severe-summary .st-urgent{padding:8px 12px;display:flex;align-items:center;gap:8px 16px}.st-severe-summary .st-urgent>strong{font-size:var(--fs-small);flex:0 0 170px}.st-severe-summary .st-urgent ul{flex:1;gap:4px 14px}.st-severe-summary .st-urgent li{flex:1;min-width:260px}.st-severe-summary .st-urgent a{display:flex;align-items:center;min-height:44px;font-size:var(--fs-micro);text-decoration:underline}body[data-st-page="area"] .sm-pagehead .shell-inner{width:100%;padding:0}body[data-st-page="area"] .sm-pagehead .pagehead-title{color:var(--st-text);font-size:var(--fs-subhead)}body[data-st-page="area"] .sm-pagehead .pagehead-kicker a{color:var(--st-info)}
@media(max-width:767px){body[data-st-page="area"] .sm-pagehead .pagehead-title{font-size:var(--fs-subhead)}}
@media(max-width:767px){body[data-st-page="area"] .sm-pagehead{padding:10px 12px 6px}.st-severe-summary>p{font-size:var(--fs-micro)}.st-severe-summary .st-urgent{display:block;padding:7px 10px}.st-severe-summary .st-urgent ul{gap:2px;margin:3px 0 0}.st-severe-summary .st-urgent li{min-width:0;flex-basis:100%}.st-severe-summary .st-urgent a{font-size:var(--fs-micro);padding:3px 0}.st-severe-map .st-map-toolbar{flex-wrap:nowrap;overflow:auto;gap:4px;padding:6px}.st-severe-map :is(.st-map-toolbar,.st-map-zone-tools)>.st-button{font-size:var(--fs-micro);padding:7px;min-width:0;flex:0 0 auto;white-space:nowrap}.st-severe-map .st-map-layers{flex-basis:auto;font-size:var(--fs-micro)}.st-severe-map .st-map-toolbar:has(details[open]){flex-wrap:wrap}.st-severe-map .st-map-layers[open]{flex-basis:100%}}
/* Observation clocks stay above credits and zoom controls, in every viewport. */
.st-map-clock{top:8px;bottom:auto}.st-map-north{position:absolute;right:10px;top:52px;padding:4px 7px;background:var(--st-bg);border:1px solid var(--st-line);border-radius:4px;font-weight:700;font-size:var(--fs-small);pointer-events:none}
.st-severe-map .maplibregl-ctrl-group button{width:44px;height:44px}

/* GLM has an independent source clock and scientific density scale. */
.st-lightning{padding:14px;border-top:1px solid var(--st-line);overflow-wrap:anywhere}.st-lightning>p,.st-lightning section>p,.st-lightning .st-layer-explanation>p{margin:10px 0;color:var(--st-secondary)}.st-lightning-controls{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0}.st-lightning-controls label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}.st-lightning select{font:inherit;max-width:100%;min-height:44px;color:var(--st-text);background:var(--st-panel);border:1px solid var(--st-border);border-radius:4px;padding:6px}.st-glm-key{display:flex;list-style:none;padding:0;margin:8px 0;gap:12px;flex-wrap:wrap}.st-glm-key li{display:flex;align-items:center;gap:6px}.st-glm-key li span{width:24px;height:16px;border:1px solid var(--st-muted)}.st-lightning table{border-collapse:collapse;width:100%}.st-lightning th,.st-lightning td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--st-border)}.st-lightning code{overflow-wrap:anywhere}.st-lightning .st-table-scroll{max-width:100%;overflow:auto}.st-lightning:only-child{margin:auto;max-width:1100px}

/* Source-rendered snow pictures keep their scientific colors in both themes. */
.st-snow{border-top:1px solid var(--st-line);padding:12px;min-width:0}
.st-snow summary{font-weight:700;cursor:pointer;min-height:44px;display:list-item;align-content:center}
.st-snow-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.st-snow-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%;min-width:0}
.st-snow-controls select{min-height:44px;max-width:100%;width:100%;color:var(--st-text);background:var(--st-raised);border:1px solid var(--st-border);border-radius:6px;padding:8px;font:inherit}
.st-snow-controls label:has(input){flex-direction:row;align-items:center;min-height:44px}
.st-snow-controls input{min-width:20px;min-height:20px}
.st-snow-preview{margin:12px 0;min-width:0}
.st-snow-preview>img{display:block;width:100%;height:auto;background:#e4edf2;border:1px solid #54738c}
.st-snow-preview>img[hidden]{display:none}
.st-snow-preview figcaption{margin-top:8px}
.st-snow-key{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0;list-style:none;font-family:var(--font-mono,monospace);font-size:var(--fs-small)}
.st-snow-key li{display:flex;gap:5px;align-items:center}
.st-snow-key img{border:1px solid #54738c;flex:none}
.st-snow-page{padding:20px;overflow-wrap:anywhere}
.st-snow-page nav{display:flex;gap:8px;flex-wrap:wrap}
.st-snow-page>ul li{margin-block:8px}
@media(max-width:767px){.st-snow-controls>label{width:100%}.st-snow-page{padding:12px}}

.st-map-clocks{position:absolute;top:8px;left:8px;right:76px;display:grid;gap:4px;pointer-events:none}
.st-map-clocks .st-map-clock{position:static}
/* Retry sits on the chip's line, which names what failed: the failure had been said three times, by the chip, the note
   under the map and a Retry in the key (critique of 2026-11-04, sixteenth run). */
.st-map-clock-row{display:flex;align-items:center;gap:6px;min-width:0}.st-map-clock-row>.st-map-clock{min-width:0}.st-map-clocks .st-imagery-retry{flex:none;pointer-events:auto}
.st-snow-map-clock{padding:6px 8px;border:1px solid var(--st-border);border-radius:3px;background:var(--st-bg);color:var(--st-text);font-size:var(--fs-micro);line-height:1.4}
.st-snow-map-clock[hidden]{display:none}
.st-tool-icon{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.st-severe-map .st-button[data-st-unavailable]{background:var(--st-panel);color:var(--st-muted)!important;border-style:dashed}
.st-severe-map .st-button[data-st-unavailable]::before,.storm-detail-map-panel .st-button[data-st-unavailable]::before{content:"";flex:none;width:.6em;height:.6em;border:2px solid currentColor;border-radius:50%}
.st-snow input{accent-color:var(--st-action)}

/* A no-script reference map in the NOAA raster's exact EPSG:3857 frame. */
.st-snow-map-scroll{overflow:auto;max-width:100%;border:1px solid var(--st-border)}
.st-snow-map{position:relative;aspect-ratio:1180/664;min-width:860px;isolation:isolate;overflow:hidden}
.st-snow-map>img,.st-snow-map>svg{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.st-snow-map>img{background:transparent}
.st-snow-geography-under{z-index:-1}
.st-snow-geography-over{pointer-events:none}
.st-snow-ocean{fill:var(--graphic-water,#dceaf4)}
.st-snow-land{fill:var(--graphic-land,#f6f8fa)}
.st-snow-borders{fill:none;stroke:#36546c;stroke-width:1.1}
.st-snow-cities{fill:#102a43}
.st-snow-cities text{font:var(--fs-remarks) var(--font-body,Manrope,sans-serif);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.st-snow-cities circle{stroke:#fff;stroke-width:1px}
.st-observations-page,.st-observations-panel{padding:16px;min-width:0;overflow-wrap:anywhere}
.st-observations-page>nav{display:flex;flex-wrap:wrap;gap:8px}
.st-observation-directory{padding-left:20px}
.st-observation-directory li,.st-observations-panel li{margin-block:8px}
[data-st-observation-detail]{min-width:0;overflow-wrap:anywhere}
[data-st-observation-detail] details{margin-block:12px}
[data-st-observation-detail] summary{cursor:pointer;min-height:44px;align-content:center;font-weight:700}
[data-st-observation-detail] .st-table-scroll{max-height:420px;overflow:auto}
[data-st-observation-detail] table{width:100%;border-collapse:collapse}
[data-st-observation-detail] th,[data-st-observation-detail] td{padding:8px;text-align:left;border-bottom:1px solid var(--st-line);vertical-align:top}
[data-st-observation-detail] .st-table-scroll table{min-width:560px}
.st-observation-chart{margin:12px 0}
.st-observation-chart-scroll{overflow:auto;max-width:100%}
.st-observation-chart svg{display:block;width:100%;min-width:560px;color:var(--st-text);font:var(--fs-small) var(--font-body,Manrope,sans-serif)}
.st-observation-chart text{fill:currentColor}
.st-observation-axis{stroke:var(--st-border)}
.st-observation-line{fill:none;stroke:var(--st-action);stroke-width:2}
.st-observation-dots{fill:var(--st-action)}
.st-observation-forecast{fill:none;stroke:var(--st-text);stroke-width:2;stroke-dasharray:6 4}
.st-observation-error{color:var(--st-attention,var(--st-text))}

/* SM-T8: source-qualified reports, analysis and coastal inspectors. */
.st-analysis nav, .st-coastal nav, #st-reports nav { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-block:var(--sp-2); }
.st-analysis { min-width:0; }
.st-analysis .sva-stage { min-width:0; }
.st-analysis img { max-width:100%; height:auto; }
.st-report, .st-coastal-station { border-top:1px solid var(--line); padding:var(--sp-3); min-width:0; }
.st-report summary, .st-coastal-station summary { min-height:44px; align-content:center; cursor:pointer; font-weight:700; overflow-wrap:anywhere; }
.st-report code, .st-coastal p, .st-coastal dd, .st-report dd { overflow-wrap:anywhere; }
.st-coastal-station .st-facts { padding:var(--sp-3) 0; }
.st-analysis .sva { min-width:0; }
.st-analysis .sva-sources { overflow-wrap:anywhere; }
.st-analysis .sva-kind { white-space:normal; }

.st-coastal>section { padding:var(--sp-3); }
.st-coastal-meaning { padding:var(--sp-3); }
.st-coastal-meaning>summary { min-height:44px; align-content:center; cursor:pointer; }
/* The area brief (review of 2026-10-27, R6): the inspector's first screen when nothing is chosen. */
.st-brief{display:grid;gap:16px}
.st-inspector-body .st-brief>section{display:grid;gap:6px;margin:0}
.st-inspector-body .st-brief>section>h3{margin:0;font-size:var(--fs-small);font-weight:700;color:var(--st-text)}
.st-brief p{margin:0;font-size:var(--fs-small)}
.st-inspector-body :is(.st-brief-counts,.st-brief-next,.st-brief-tiles,.st-brief-changes){list-style:none;margin:0;padding:0;display:grid;gap:4px}
.st-brief-counts li{display:flex;align-items:center;gap:8px;min-height:30px;padding-left:8px;border-left:1px solid var(--st-line)}

.st-brief-counts .sm-chip{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-brief-counts strong{font-family:var(--font-mono,ui-monospace,monospace);font-size:var(--fs-bulletin)}
.st-brief-counts small,.st-brief-tiles small{color:var(--st-secondary);font-size:var(--fs-micro)}
.st-brief-next li,.st-brief-changes li{font-size:var(--fs-small);line-height:1.4}
.st-inspector-body .st-brief-tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.st-brief li a.st-brief-tile{display:grid;gap:2px;height:100%;padding:8px 10px;border:1px solid var(--st-line);border-radius:7px;background:var(--st-raised);color:var(--st-text)!important;text-decoration:none}
.st-brief-tile:is(:hover,:focus-visible){border-color:var(--st-action)}
.st-brief-tile span{font-size:var(--fs-micro);color:var(--st-secondary)}.st-brief-tile strong{font-size:var(--fs-small)}
.st-brief-changes .sv-clock{font-family:var(--font-mono,ui-monospace,monospace);font-size:var(--fs-micro);color:var(--st-secondary)}
.st-map-note:empty{display:none}
.st-pane-count,.st-rail-known{font-weight:500;color:var(--st-secondary)}
.st-about>summary{font-size:var(--fs-micro);color:var(--st-secondary)}
/* The alert list (review of 2026-10-27, R4): two lines an alert and bold only for the event, the
   level a bar down the left edge, NWS's colour a swatch. Identical events sit under one head. */
.st-warning-list li,.st-warning-list .st-group-rows>li{padding:0}
.st-warning-list a{display:grid;gap:3px;padding:7px 10px 7px 12px;min-height:44px;border-radius:0}
.st-warning-list a[aria-current]{background:var(--st-raised)}
.st-row-line{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-micro);line-height:1.35;color:var(--st-secondary)}
.st-row-swatch{flex:none;width:10px;height:10px}
/* A row's event and time left read above its places and the workspace's small print: 89% of the area page's characters
   had been 12–13px, the event 15px and its time left 12px (critique of 2026-11-03, fourteenth run). */
.st-row-event{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-remarks);font-weight:700;color:var(--st-text)}
.st-row-flag{flex:none;padding:1px 5px;border-radius:3px;background:var(--ops-emergency,#720719);color:#fff;font-size:var(--fs-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.st-row-left{flex:none;margin-left:auto;font-family:var(--font-body,inherit);font-variant-numeric:tabular-nums;font-size:var(--fs-bulletin);font-weight:600;color:var(--st-text)}
.st-row-bar{display:block;width:100%;height:2px}.st-row-bar-track{fill:var(--st-line)}.st-row-bar-done{fill:var(--st-secondary)}
.st-row-threat{flex:none;padding:0 4px;border:1px solid var(--st-border,var(--st-line));border-radius:3px;color:var(--st-text);font-size:var(--fs-micro);font-weight:600}
.st-row-towns{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--st-text)}
.st-row-zones{flex:1 1 0;min-width:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-row-when{flex:none;margin-left:auto;font-size:var(--fs-micro)}
/* A group's head lets its time go under the event's name rather than squeeze the name to a word a line: "Tropical /
   Storm / Warning" at 1280 (critique of 2026-11-03, twelfth run). */
.st-group-head:has(.st-row-when){flex-wrap:wrap}
.st-row-known{font-size:var(--fs-micro);color:var(--st-secondary)}
.st-group-head{display:flex;align-items:center;gap:6px;margin:0;padding:7px 10px 1px 12px;font-size:var(--fs-micro);color:var(--st-secondary)}
.st-group-count{font-family:var(--font-mono);font-weight:700;color:var(--st-text)}
.st-group-rows{list-style:none;margin:0;padding:0 0 4px}
.st-warning-list .st-group-rows>li{border:0}
.st-warning-list .st-group-rows a{gap:2px;padding:5px 10px 5px 28px;min-height:32px}
.st-alert-chips{display:flex;flex-wrap:wrap;gap:4px;padding:8px 10px 2px}
.st-alert-chip{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:2px 9px;border:1px solid var(--st-line);border-radius:999px;background:var(--st-panel);color:var(--st-text)!important;font-size:var(--fs-micro);text-decoration:none}
.st-alert-chip>span{font-family:var(--font-mono);color:var(--st-secondary)}
.st-alert-chip[aria-current=page]{border-color:var(--st-action);background:var(--st-action);color:var(--st-action-text)!important}.st-alert-chip[aria-current=page]>span{color:inherit}
.st-filter-more{padding:2px 10px 6px;font-size:var(--fs-micro)}.st-filter-more>summary{min-height:28px;display:flex;align-items:center;color:var(--st-secondary);cursor:pointer}
body .st-warning-list li>a:not(.btn){text-decoration:none}
.st-group-count,.st-row-when,.st-row-left{white-space:nowrap}
/* A selected warning, as the Weather Center's card draws it (review of 2026-10-27, R4). */
.st-wc-map{margin:0 0 10px;border:1px solid var(--st-line);border-radius:8px;overflow:hidden;aspect-ratio:3/2;background:var(--graphic-wash,var(--st-bg))}
.st-wc-map .sv-map{width:100%;height:100%}
.st-wc-expires{margin:0 0 4px;font-size:var(--fs-remarks);font-weight:600;line-height:1.35;color:var(--st-text)}.st-wc-expires strong{display:block;font-size:var(--fs-subhead);font-weight:800;line-height:1.2;color:var(--st-text)}
.st-wc-meta{margin:4px 0 8px;font-size:var(--fs-micro);color:var(--st-secondary)}
.st-inspector-body .st-tags{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:6px 0;padding:0}
.st-inspector-body .st-tags li{padding:1px 7px;border:1px solid var(--st-line);border-radius:4px;font-size:var(--fs-micro)}
.st-inspector-body .st-tags li.is-strong{border-color:var(--st-text);font-weight:700}
.st-zones{margin:8px 0;display:grid;gap:4px}
.st-zone-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;font-size:var(--fs-micro)}
.st-zone-group strong{margin-right:2px;font-size:var(--fs-micro);letter-spacing:.05em;color:var(--st-secondary)}
.st-zone{padding:1px 7px;border-radius:999px;background:var(--st-raised);border:1px solid var(--st-line)}
.st-zones details>summary{font-size:var(--fs-micro);color:var(--st-secondary);cursor:pointer;min-height:24px}
.st-warning-list li.is-pointed>a{background:var(--st-raised);box-shadow:inset 0 0 0 1px var(--st-action)}
.st-instruction>p{margin:0 0 6px;white-space:normal}.st-instruction>p:last-child{margin:0}
.st-pane-heading [data-st-close]{min-height:30px;padding:3px 10px;font-size:var(--fs-micro)}
/* The close-up map in the inspector: the homepage's rules, the same declarations (home.css; worker/test/event/event-closer-parity.test.ts holds them equal). */
.sv-map--closer .svc-land { fill: var(--sv-land, var(--graphic-paper)); }
.sv-map--closer .svc-county { stroke: var(--graphic-line); stroke-width: .75; vector-effect: non-scaling-stroke; }
.sv-map--closer .svc-states { stroke: var(--sv-border, var(--graphic-line-strong)); stroke-width: 1.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.sv-map--closer .sv-warning { fill-opacity: .45; }
.sv-map--closer .svc-lead { fill-opacity: .8; stroke: var(--graphic-ink); stroke-width: 2; }
.sv-map--closer :is(.svc-county-label, .svc-state, .svc-town, .svc-scale text) { stroke: var(--graphic-paper); stroke-width: 3px; stroke-linejoin: round;
  paint-order: stroke; font-family: var(--font-body); }
.sv-map--closer .svc-county-label { fill: var(--graphic-ink); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.sv-map--closer .svc-state { fill: var(--graphic-muted); font-weight: 800; letter-spacing: .08em; }
.sv-map--closer .svc-town { fill: var(--graphic-ink); font-weight: 700; }
.sv-map--closer .svc-town-dot { fill: var(--graphic-ink); stroke: var(--graphic-paper); stroke-width: 1; vector-effect: non-scaling-stroke; }
.sv-map--closer .svc-motion :is(line, .svc-motion-line) { stroke: var(--graphic-ink); stroke-width: 2; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.sv-map--closer .svc-motion-head { fill: var(--graphic-ink); }
.sv-map--closer .svc-storm { fill: var(--graphic-paper); stroke: var(--graphic-ink); stroke-width: 2; vector-effect: non-scaling-stroke; }
.sv-map--closer .svc-scale path { stroke: var(--graphic-ink); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.sv-map--closer .svc-scale text { fill: var(--graphic-ink); font-weight: 700; }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer .sv-map-sea { fill: var(--graphic-ocean-base); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer .svc-county { stroke: color-mix(in srgb, var(--graphic-ocean-base) 62%, var(--graphic-paper)); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer :is(.sv-warning, .sv-lead-county, .svc-lead) { stroke: var(--graphic-paper); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer :is(.svc-county-label, .svc-town, .svc-scale text) { fill: var(--graphic-paper); stroke: var(--graphic-ocean-base); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer .svc-state { fill: color-mix(in srgb, var(--graphic-ocean-base) 30%, var(--graphic-paper)); stroke: var(--graphic-ocean-base); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer .svc-town-dot { fill: var(--graphic-paper); stroke: var(--graphic-ocean-base); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer :is(.svc-motion line, .svc-motion-line, .svc-scale path) { stroke: var(--graphic-paper); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer .svc-motion-head { fill: var(--graphic-paper); }
:root:is([data-theme="dark"], [data-dark]:not([data-theme="light"])) .sv-map--closer .svc-storm { fill: var(--graphic-ocean-base); stroke: var(--graphic-paper); }

/* The front page's triage (critique of 2026-11-01). "In force now" leads: emergencies, then warnings, then
   watches, each a link to its state with the alert chosen. Each row keeps NWS's own colour as its swatch and
   says its level in words; an emergency's row is the one loud surface. The state badges take their most urgent
   level, the ticker's palette, and an emergency adds a ring, so the map is read before it is decoded. */
.st-in-force{margin:0 0 16px;padding:14px 16px}.st-in-force-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:10px}.st-in-force-head h2{margin:0;font-size:var(--fs-lead)}.st-in-force-head p{margin:0;color:var(--st-secondary);font-variant-numeric:tabular-nums}
.st-in-force-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(280px,calc((100% - 16px)/3))),1fr));gap:8px}
.st .st-in-force-list a:any-link,.st-context-map a{text-decoration:none}.st .st-in-force-list a:hover strong{text-decoration:underline}
.st-in-force-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"sw event until" ". where where";align-items:center;gap:2px 8px;min-height:44px;height:100%;padding:9px 12px;border:1px solid var(--st-line);border-radius:6px;background:var(--st-raised);color:var(--st-text);text-decoration:none}
.st-in-force-list a:hover{border-color:var(--st-border)}.st-in-force-list .st-row-swatch{grid-area:sw}.st-in-force-list strong{grid-area:event;min-width:0;white-space:normal}
.st-in-force-where{grid-area:where;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--st-secondary);font-size:var(--fs-small)}.st-in-force-count{margin-left:6px;font-weight:600;font-variant-numeric:tabular-nums}.st-in-force-until{grid-area:until;color:var(--st-secondary);font-size:var(--fs-small);font-variant-numeric:tabular-nums;white-space:nowrap}
.st-in-force-list [data-level=emergency] a{background:#650516;border-color:#ffbdc7;color:#fff}.st-in-force-list [data-level=emergency] :is(.st-in-force-where,.st-in-force-until){color:#ffe3e8}.st-in-force-list [data-level=emergency] a:hover{border-color:#fff}
.st-in-force-note,.st-in-force-more{margin:8px 0 0;color:var(--st-secondary)}.st-in-force-none{margin:0}
.st-map-ring{fill:none;stroke:#650516;stroke-width:6}:root[data-theme="dark"] .st-map-ring{stroke:#ff8099}.st-in-force-list [data-level=emergency] .st-row-swatch rect{stroke:#fff;stroke-width:2}
.st-context-map [data-level=emergency] .st-map-marker{fill:#650516;stroke:#fff}.st-context-map [data-level=warning] .st-map-marker{fill:#94132e;stroke:#fff}.st-context-map :is([data-level=emergency],[data-level=warning]) .st-map-number{fill:#fff}.st-context-map [data-level=watch] .st-map-marker{fill:#f4c653;stroke:#34220a}.st-context-map [data-level=watch] .st-map-number{fill:#34220a}
.st-region-list li strong{color:var(--st-attention)}
.st-card-alerts{margin:0 0 6px;color:var(--st-secondary);font-variant-numeric:tabular-nums}.st-card-alerts strong{color:var(--st-attention)}
@media (forced-colors:active){.st-in-force-list [data-level=emergency] a{border:3px solid CanvasText}.st-context-map .st-map-marker{fill:Canvas;stroke:CanvasText}.st-context-map .st-map-number{fill:CanvasText}.st-map-ring{stroke:CanvasText}}
/* A <small> takes the browser's "smaller" step under its parent, 10px under a 12px line, and MapLibre sets its scale at 10px: both hold the scale's floor (critique of 2026-11-02). */
.st small,.st .maplibregl-ctrl-scale{font-size:var(--fs-micro)}
/* Where an alert is, on two lines rather than cut (critique of 2026-11-02): the event wraps, and the
   tag, the towns and NWS's places run on as one text clamped at two lines, the towns first. */
.st-row-line:has(>.st-row-places){align-items:flex-start}
.st-row-event{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.st-row-places{display:flex;align-items:flex-end;gap:0 5px;min-width:0;font-size:var(--fs-small);line-height:1.4;color:var(--st-secondary)}.st-row-places>.st-row-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-width:0;flex:1 1 auto}.st-row-places>.st-area-more{flex:none;white-space:nowrap}
.st-row-line>.st-row-places{flex:1 1 auto}
.st-row-clamp>*{display:inline;white-space:normal;overflow:visible}
.st-row-places .st-row-threat{display:inline-block;margin-right:5px;line-height:1.3}
.st-row-places .st-row-product{color:var(--st-text);font-weight:600}
.st-row-places .st-row-towns{color:var(--st-text);font-weight:600}
.st-row-places :is(.st-row-product,.st-row-towns)+:is(.st-row-towns,.st-row-zones)::before{content:" · ";font-weight:400;color:var(--st-secondary)}
.st-row-places .st-row-product+.st-row-threat{margin-left:5px}
/* The front page's lines held to a reading measure, the map's badge key, and a zone's space kept in a flex row (critique of 2026-11-02). */
.st-chooser :is(.st-in-force-more,.st-map-caption p,.st-help>p,.sv-safety,#st-advanced p.sm-sub){max-width:62ch}
.st-badge-key{white-space:nowrap;font-weight:700}.st-badge-key::before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.3em;border-radius:50%;vertical-align:-.05em;background:var(--st-action)}
.st-badge-key[data-level=emergency]::before{margin:0 .45em 0 .3em;background:#650516;box-shadow:0 0 0 2px var(--st-panel),0 0 0 4px #650516}.st-badge-key[data-level=warning]::before{background:#94132e}.st-badge-key[data-level=watch]::before{background:#f4c653;box-shadow:inset 0 0 0 1px #34220a}
:root[data-theme="dark"] .st-badge-key[data-level=emergency]::before{box-shadow:0 0 0 2px var(--st-panel),0 0 0 4px #ff8099}
.st .svb-tz-zone{white-space:pre}
/* An area's name is never cut: the app bar's title takes the subhead role and wraps if it must; and an emergency's
   places are never clamped, since they are the answer to "am I in it?" (critique of 2026-11-02, third run). */
.st-warning-list>li[data-level=emergency] .st-row-clamp{display:block;-webkit-line-clamp:none;overflow:visible}
/* A town's answer first (critique of 2026-11-02, sixth run): the page is titled by the town, its monitoring area said
   beside it; the verdict names what the town is inside and until when, at reading size, an emergency on its own colour.
   The words carry the level; the colour only repeats it. */
.st .st-title-area{display:block;margin-top:2px;font-size:var(--fs-remarks);font-weight:600;color:var(--st-secondary)}
.st-inspector-body .st-place-verdict{margin:8px 0;padding:10px 12px;border:1px solid var(--st-line);border-left:6px solid var(--st-border);border-radius:6px;background:var(--st-panel);font-size:var(--fs-bulletin);font-weight:750;line-height:1.35}
.st-inspector-body .st-place-verdict[data-level=emergency]{background:#650516;border-color:#650516;color:#fff}
.st-inspector-body .st-place-verdict[data-level=warning]{border-left-color:#94132e}
.st-inspector-body .st-place-verdict[data-level=watch]{border-left-color:#c99a1c}
:root[data-theme="dark"] .st-inspector-body .st-place-verdict[data-level=emergency]{border-color:#ff8099}
:root[data-theme="dark"] .st-inspector-body .st-place-verdict[data-level=warning]{border-left-color:#ff6472}
.st-inspector-body .st-place-do{margin:6px 0;font-size:var(--fs-bulletin);line-height:1.45}
/* The point's small print, one disclosure under the answer (critique of 2026-11-03, ninth run). */
.st-inspector-body .st-place-about{margin:6px 0;font-size:var(--fs-small);color:var(--st-secondary)}
.st-inspector-body .st-place-about>summary{cursor:pointer;min-height:24px;display:flex;align-items:center}
/* A place's verdict in its page's head, in place of the zone's name and the panning sentence: on a phone from the
   eighth run, and at every width since the ninth (critique of 2026-11-03), so a place page's head is its name and
   its answer. The inspector keeps the whole verdict, NWS's words and the not-the-NWS line. */
.st-head-verdict{display:block;max-width:62ch;margin:6px 0 0;padding:6px 10px;border:1px solid var(--st-line);border-left:6px solid var(--st-border);border-radius:6px;background:var(--st-panel);color:var(--st-text);font-size:var(--fs-remarks);line-height:1.35}
.st-head-verdict[data-level=emergency]:not([data-near]){background:#650516;border-color:#650516;color:#fff}
.st-head-verdict[data-level=emergency][data-near]{border-left-color:#650516}
.st-head-verdict[data-level=warning]{border-left-color:#94132e}
.st-head-verdict[data-level=watch]{border-left-color:#c99a1c}
:root[data-theme="dark"] .st-head-verdict[data-level=emergency]:not([data-near]){border-color:#ff8099}
:root[data-theme="dark"] .st-head-verdict[data-level=emergency][data-near]{border-left-color:#ff8099}
:root[data-theme="dark"] .st-head-verdict[data-level=warning]{border-left-color:#ff6472}
.st-head-verdict strong{font-weight:800}
/* The verdict leads to its alert (critique of 2026-11-04, sixteenth run). */
/* The verdict's own colour, over the workbench heading's link blue, which read 3:1 on its crimson. */
.st-head-verdict a.st-head-go,body[data-st-workbench=yes] .st-workbench-heading .st-head-verdict a.st-head-go{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.st-head-verdict a.st-head-go:hover{text-decoration-thickness:2px}
/* A place's map names its two rings: an emergency's (the map's #071727 ring with its white line) and the place's (#12bee9 on
   the same dark halo), as event-warning-map.mjs and event-severe.mjs draw them (sixteenth run). */
.st-place-key{display:flex;flex-wrap:wrap;gap:2px 12px;margin:0;padding:3px 8px;border:1px solid var(--st-line);border-radius:6px;background:var(--st-panel);color:var(--st-text);font-size:var(--fs-micro);line-height:1.4}
.st-place-key>span{display:inline-flex;align-items:center;gap:6px}
.st-key-ring{flex:none;width:14px;height:14px;box-sizing:border-box;border-radius:50%;border:3px solid #071727;box-shadow:inset 0 0 0 1.5px #ffffff}
.st-key-ring--place{border-color:#12bee9;box-shadow:0 0 0 1.5px #071727}
.st-head-do{display:block;margin-top:2px;font-weight:750}
.sm-pagehead:has(.st-head-verdict) :is(.st-title-area,.st-orientation){display:none}
@media (min-width:768px){.st-head-verdict{font-size:var(--fs-bulletin);padding:4px 10px}}
/* In the workspace's app bar the heading's small-print rule (event-operations.css, 0,3,2) had painted the verdict's words
   secondary grey at 12px: 1.66:1 on an emergency's crimson (critique of 2026-11-03, tenth run). The verdict keeps its own
   colours and size there. */
body[data-st-workbench=yes] .st-workbench-heading p.st-head-verdict{color:var(--st-text);font-size:var(--fs-bulletin);margin:6px 0 0}
body[data-st-workbench=yes] .st-workbench-heading p.st-head-verdict[data-level=emergency]:not([data-near]){color:#fff}
@media (forced-colors:active){.st-head-verdict{border:2px solid CanvasText;forced-color-adjust:auto}}
.st .st-act-on-nws{margin:6px 0 10px;font-size:var(--fs-small);color:var(--st-secondary)}.st .st-act-on-nws a{color:inherit}
.st-results li>a{font-size:var(--fs-remarks)}
.st-result-alert{flex:none;padding:2px 8px;border:1px solid var(--st-border);border-radius:4px;background:var(--st-raised);color:var(--st-text);font-size:var(--fs-small);font-weight:750}
.st-result-alert[data-level=emergency]{background:#650516;border-color:#650516;color:#fff}
.st-result-alert[data-level=warning]{background:#94132e;border-color:#94132e;color:#fff}
.st-result-alert[data-level=watch]{background:#f4c653;border-color:#34220a;color:#34220a}
:root[data-theme="dark"] .st-result-alert[data-level=emergency]{border-color:#ff8099}
@media (forced-colors:active){.st-inspector-body .st-place-verdict,.st-result-alert{border:2px solid CanvasText;forced-color-adjust:auto}}
.st-inspector-body .st-place-matches{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.st-inspector-body .st-place-matches a{display:block;width:100%;text-align:left;line-height:1.4}.st-place-matches .sv-clock{display:inline}
/* The card reads at reading size (critique of 2026-11-02, sixth run): the event and when it ends are its headline, NWS's
   instruction is body copy, and the place under it reads at 15px; the rail's event 15px and its places 13px. */
.st-inspector-body>h3.st-wc-where,.st-wb-details .st-inspector-body h3.st-wc-where{margin:10px 0 4px;font-size:var(--fs-bulletin);font-weight:700;line-height:1.35}
/* One look for a map picture or layer that cannot be used now, loading or unavailable, pressed or not: dashed and
   muted on the panel. A disabled pressed button had shown as faded teal and an unpressed one as grey, which read as two
   more kinds of pressed (critique of 2026-11-02, sixth run). The words and aria-pressed carry the state. */
body[data-st-page] :is(.st-severe-map,.storm-detail-map-panel) .st-map-toolbar .st-button:disabled{opacity:1;background:var(--st-panel);color:var(--st-muted)!important;border:1px dashed var(--st-border)}
/* A storm alert's card reads as the area's (critique of 2026-11-02, seventh run): its where after what NWS says to do,
   eight areas named and the rest one press away. */
.st-tropical-alert-detail .st-wc-where-list{margin:8px 0 4px;font-size:var(--fs-bulletin);font-weight:600;line-height:1.4}
.st-tropical-alert-detail .st-wc-more-areas{margin:0 0 8px;font-size:var(--fs-small)}.st-tropical-alert-detail .st-wc-more-areas>summary{min-height:32px;padding:6px 0;color:var(--st-action);cursor:pointer}
.st-tropical-alert-detail>.st-alert-detail-h{margin:6px 0 2px;font-size:var(--fs-subhead);font-weight:800;line-height:1.2}.st-alert-detail-h>.st-alert-detail-where{display:block;margin-top:2px;font-size:var(--fs-bulletin);font-weight:600;color:var(--st-secondary)}
[data-wb-pane=details] .st-tropical-alert-detail[open]>summary{display:none}
/* Storm Mode's clocks: the reader's time first, UTC after (the owner's decision of 2026-11-03), where a time is read in a
   sentence or a card. The Severe pages keep their own rule (severe.css). Dense rows keep the reader's time alone, so
   they stay one line; a reader who chose UTC sees UTC alone everywhere. */
html[data-sv-time="local"] body[data-page="severe"]:is([data-sm-page="event"],[data-sm-page="front"]) :is(.sv-local-sep,.sv-clock--second){display:inline}
/* A town's one-line verdict in its head reads in the reader's time alone, as Peek does, by the owner's decision of
   2026-11-03 (eleventh run): "until 7:10 PM EDT · 23:10Z" had put UTC inside a public emergency line. Its card keeps both. */
html[data-sv-time="local"] body[data-page="severe"]:is([data-sm-page="event"],[data-sm-page="front"]) :is(.st-warning-list,.st-alert-ticker,.st-in-force-list,.st-map-toolbar,.st-sheet-emergency,.st-head-verdict,.st-kicker-check,.sv-utc-once,.st-recent-changes>ul,.st-outage-more>summary) :is(.sv-local-sep,.sv-clock--second){display:none}
/* The block's one UTC reference is shown only where its clocks read local (a reader who chose UTC has them already). */
html:not([data-sv-time="local"]) .sv-utc-line{display:none}
.sv-utc-line{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
/* A place page's check in its kicker line is a phone's (critique of 2026-11-04, fifteenth run); elsewhere the head's own
   line says it. */
.st-kicker-check{display:none;font-weight:500;color:var(--st-secondary)}
body[data-sm-page] .sv-clock--second{color:inherit}
/* A UTC clock is one value and never breaks inside itself: "· 9 / Oct 05:15Z" had wrapped on a storm alert's expiry
   (critique of 2026-11-04, fifteenth run). The local time before it still wraps between its words. A storm's page is
   main.st, which the rule had missed (sixteenth run). */
main:is(.sm,.st) time.sv-clock{white-space:nowrap}
body[data-sm-page] .sv-local{font-family:var(--font-body,inherit);font-variant-numeric:tabular-nums}
/* MapLibre's attribution toggle is a <summary>: Storm Mode's own summary rules had stretched it to 32–44px inside its
   24px control, so it overflowed the map's foot and read as a second button under the ⓘ (critique of 2026-11-02,
   seventh run). It keeps its own 24px square, the size WCAG 2.5.8 asks of it. */
.st .maplibregl-ctrl-attrib>summary.maplibregl-ctrl-attrib-button{min-height:24px;height:24px;width:24px;padding:0;margin:0}
/* Minor items of the critique of 2026-11-02, seventh run: the emergencies' count reads as a count, not part of the phrase;
   the results' note keeps a readable measure; the context map's state counts, 6px on a phone, leave the counts to the
   list beside it. */
#sm-spot-h .sm-n{display:inline-grid;place-items:center;min-width:1.6em;margin-left:.25em;padding:0 .4em;border-radius:1em;background:#650516;color:#fff;font-size:var(--fs-small);line-height:1.5}
.st-results>p.st-muted{max-width:75ch}
@media(max-width:767px){.st-context-map .st-map-number{display:none}}
/* A place beside a warning, not inside it (critique of 2026-11-03, eighth run): the alert's level on the verdict's and
   the badge's edge, never its fill, so it does not read as "inside"; the words say outside, how far, and what it covers. */
.st-inspector-body .st-place-verdict[data-near]{background:var(--st-panel);color:var(--st-text);border-color:var(--st-line);font-weight:650}
.st-inspector-body .st-place-verdict[data-near][data-level=emergency]{border-left-color:#650516}
.st-inspector-body .st-place-verdict[data-near][data-level=warning]{border-left-color:#94132e}
:root[data-theme="dark"] .st-inspector-body .st-place-verdict[data-near][data-level=emergency]{border-color:var(--st-line);border-left-color:#ff8099}
.st-result-alert[data-near]{background:var(--st-panel);color:var(--st-text);border-width:1px 1px 1px 5px}
.st-result-alert[data-near][data-level=emergency]{border-color:#650516}
.st-result-alert[data-near][data-level=warning]{border-color:#94132e}
:root[data-theme="dark"] .st-result-alert[data-near][data-level=emergency]{border-color:#ff8099}
/* A place page's velocity picture, in Layers (critique of 2026-11-03, ninth run). */
.st-layers-velocity{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 8px;font-size:var(--fs-small);color:var(--st-secondary)}
.st-layers-velocity .st-button[aria-pressed=true]{background:var(--st-action);color:var(--st-action-text);border-color:var(--st-action)}
