/* Storm Mode's operational chrome. Scientific imagery, geometry and ramps are independent. */
body[data-st-page]{--ops-danger:#a51431;--ops-emergency:#720719;--ops-watch:#f2bf47;--ops-soft:#fff0f3;--ops-shadow:0 3px 16px #12324d10}
:root[data-theme=dark] body[data-st-page]{--ops-danger:#ff8099;--ops-soft:#381c2c;--ops-shadow:0 3px 18px #0003}
.st-mode-identity{display:flex;align-items:center;gap:9px;color:var(--st-text,var(--ink));padding:8px 0;font-size:var(--fs-small)}
.st-mode-identity strong{font-size:var(--fs-lead);letter-spacing:.1em}.st-mode-identity>span:last-child{font-size:var(--fs-micro);color:var(--st-secondary,var(--ink-2))}.st-mode-mark{font-size:var(--fs-section);color:var(--st-info,var(--enamel))}
@media(min-width:768px){body[data-st-page]:not(.sm-wall)>.masthead{background:var(--intro)}}
.st-area-more{font-size:var(--fs-micro);font-weight:600;white-space:nowrap}.st-warning-list [title]{overflow-wrap:anywhere}.st-alert-kind{font-size:var(--fs-micro);font-weight:800}
.st-warning-list a,.st-ticker-items a{position:relative}
.st-warning-list>li[data-level=warning]{border-left:3px solid #ca3655}.st-warning-list>li[data-level=emergency]{border-left:5px solid #b5092e;background:var(--ops-soft)}.st-warning-list>li[data-level=watch],.st-warning-list>li[data-level=upcoming]{border-left:3px solid #bc7b05}
.st-tropical-alerts{list-style:none;margin:0;padding:0}.st-tropical-alerts>li{border-top:1px solid var(--st-line);padding:8px}.st-tropical-alerts>li>a{display:grid;gap:5px;text-decoration:none;color:var(--st-text)}.st-tropical-alert-detail summary{font-size:var(--fs-micro);min-height:32px}.st-tropical-alert-detail p{padding:8px!important}.st-tropical-alert-detail{scroll-margin:8px}
/* The ticker as a broadcast crawl (review of 2026-10-27, R5): a still bug with the count first,
   coloured by the highest level in force; emergencies in a still slot of their own; one crawl
   speed set by the script from the lane's width; the reader's clock and the feed's state at the
   right. A feed that cannot be read is amber and still. */
/* No coloured top edge (critique of 2026-11-02, fourth run): the lane's colour, its glyphs and its words carry the level.
   A lane fades at its end rather than stopping mid-word against the clock: it continues, scrolled or crawling. */
.st-alert-ticker{--ticker-bg:#94132e;--ticker-label:#bd193a;--ticker-ink:#fff;--ticker-glyph:#ffc2cd;display:flex;align-items:stretch;min-height:40px;max-width:100%;overflow:hidden;border-radius:6px;border:1px solid #7f142b;background:linear-gradient(110deg,var(--ticker-bg),#661322);color:var(--ticker-ink);font-size:var(--fs-small);line-height:1.3;box-shadow:var(--ops-shadow);isolation:isolate}
.st-alert-ticker[data-level=emergency]{--ticker-bg:#650516;--ticker-label:#a10729}
.st-alert-ticker[data-level=watch]{--ticker-bg:#f4c653;--ticker-label:#e6b338;--ticker-ink:#34220a;--ticker-glyph:#6b3d00;background:#f4c653;border-color:#b48619}
.st-alert-ticker[data-level=context]{--ticker-bg:#183a53;--ticker-label:#244e6b;--ticker-glyph:#9fd3ff;background:#183a53;border-color:#7ca6bc}
.st-alert-ticker[data-state=unconfirmed]{--ticker-bg:#f4c653;--ticker-label:#e0a92a;--ticker-ink:#34220a;--ticker-glyph:#6b3d00;background:#f4c653;border-color:#b48619}
.st-alert-ticker a{color:inherit!important;text-decoration:none}
.st-ticker-label{display:flex;align-items:center;gap:8px;padding:3px 12px;flex:none;max-width:260px;background:var(--ticker-label);position:relative;z-index:1;box-shadow:4px 0 12px #28010b30}
.st-ticker-count{font-family:var(--font-mono);font-size:var(--fs-subhead);font-weight:700;line-height:1}
.st-ticker-words{display:grid;line-height:1.15;min-width:0}.st-ticker-words b{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase}.st-ticker-words>span{font-size:var(--fs-micro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-ticker-slot{flex:0 1 auto;max-width:45%;min-width:0;display:flex;align-items:center;background:#4a0410;color:#fff;border-right:2px solid #ffbdc7;position:relative;z-index:1}
.st-ticker-slot>a{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 12px;white-space:nowrap;min-height:38px}
.st-ticker-slot>a[hidden]{display:none}.st-ticker-slot strong{font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase}.st-ticker-slot>a>span{overflow:hidden;text-overflow:ellipsis}.st-ticker-of{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:var(--fs-micro);opacity:.85;white-space:nowrap}
.st-ticker-lane{flex:1;min-width:0;overflow:hidden;align-content:center;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}.st-ticker-track{display:flex;width:max-content;animation:none}.st-ticker-items{display:flex;align-items:center;gap:28px;padding-inline:18px;flex:none}
.st-ticker-items>:is(a,.st-ticker-update){display:flex;align-items:center;gap:7px;white-space:nowrap;min-height:38px}
.st-ticker-items strong{font-size:var(--fs-micro);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.st-ticker-glyph{color:var(--ticker-glyph);font-size:var(--fs-micro)}.st-ticker-items [data-level=emergency] .st-ticker-glyph{color:#fff}
/* "until 7:10 PM EDT" reads in one face: the word had been Plex Mono beside a Manrope time (critique of 2026-11-03,
   ninth run). A UTC clock inside keeps its own mono face. */
.st-ticker-time{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:var(--fs-small)}
.st-ticker-new{padding:0 5px;border:1px solid currentColor;border-radius:3px;font-size:var(--fs-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.st-ticker-update{opacity:.9}.st-ticker-empty{max-width:100%;padding:8px 14px;white-space:nowrap}
.st-ticker-check{display:flex;align-items:center;gap:6px;padding:0 10px;font-family:var(--font-mono);font-size:var(--fs-small);flex:none;position:relative;z-index:1;background:var(--ticker-bg)}
.st-feed-dot{width:8px;height:8px;border-radius:50%;background:#43d17c;box-shadow:0 0 0 2px #0003}.st-alert-ticker[data-state=unconfirmed] .st-feed-dot{background:#8a5a00}
.st-ticker-pause{font:inherit;font-size:var(--fs-micro);color:var(--ticker-ink);background:var(--ticker-label);border:0;border-left:1px solid currentColor;padding:0 12px;cursor:pointer;min-width:40px;min-height:40px;flex:none;position:relative;z-index:1}.st-alert-ticker :focus-visible{outline:3px solid currentColor;outline-offset:-3px}
.st-ticker-lane{position:relative;isolation:isolate;overflow-x:auto}.st-alert-ticker[data-st-ticker-ready=yes] .st-ticker-lane{overflow:hidden}.st-alert-ticker[data-st-ticker-ready=yes][data-crawl=yes] .st-ticker-track{animation:st-alert-crawl var(--st-ticker-duration,65s) linear infinite}.st-alert-ticker[data-crawl=no] .st-ticker-lane{overflow-x:auto}
.st-alert-ticker:is(:hover,:focus-within,[data-paused=true]) .st-ticker-track,:root[data-st-hidden=yes] .st-ticker-track{animation-play-state:paused}.st-alert-ticker[data-st-ticker-ready=yes][data-paused=true] .st-ticker-lane{overflow-x:auto}.st-alert-ticker[data-paused=true] [data-st-ticker-copy]{display:none}
@keyframes st-alert-crawl{to{transform:translateX(-50%)}}
/* While unconfirmed the lane holds still and nothing in it reads "New": a wall had kept crawling its "New" marks through
   an outage (critique of 2026-11-03, thirteenth run). */
.st-alert-ticker[data-st-ticker-ready][data-crawl][data-state=unconfirmed] .st-ticker-track{animation:none}.st-alert-ticker[data-state=unconfirmed] .st-ticker-new{display:none}
/* A workspace's lane holds still, as a wall's does not, unless this device's reader pressed Play (critique of 2026-11-02). */
.st-alert-ticker[data-quiet][data-st-ticker-ready=yes]:not([data-motion=crawl]) .st-ticker-track{animation:none}.st-alert-ticker[data-quiet][data-st-ticker-ready=yes]:not([data-motion=crawl]) .st-ticker-lane{overflow-x:auto}.st-alert-ticker[data-quiet]:not([data-motion=crawl]) [data-st-ticker-copy]{display:none!important}
/* An ordinary warning's lane is navy, its glyph and edge the warning's: red is the emergency's alone. */
.st-alert-ticker[data-level=warning]{--ticker-bg:#14304a;--ticker-label:#1d4466;--ticker-glyph:#ff8099;background:#14304a;border-color:#6d93b3}
/* Reduced motion holds the crawl still, unless this device's reader pressed Play ([data-motion=crawl]). */
@media(prefers-reduced-motion:reduce){.st-alert-ticker[data-st-ticker-ready=yes]:not([data-motion=crawl]) .st-ticker-track{animation:none}.st-alert-ticker[data-st-ticker-ready=yes]:not([data-motion=crawl]) .st-ticker-lane{overflow-x:auto}.st-alert-ticker:not([data-motion=crawl]) [data-st-ticker-copy]{display:none!important}}
@media(max-width:767px){.st-ticker-check{display:none}.st-ticker-label{max-width:125px;padding:4px 8px}.st-ticker-count{font-size:var(--fs-remarks)}.st-ticker-words b{font-size:var(--fs-micro)}.st-ticker-words>span{font-size:var(--fs-micro)}.st-ticker-pause{padding:6px;font-size:var(--fs-micro)}.st-ticker-slot{max-width:60%}}
/* A short landscape (480px tall or less) pins the ticker too (review F7), so it is one line there: the count and its
   word, the area named by the page's title (critique of 2026-11-02, fourth run). */
@media(max-height:480px){body:not(.sm-wall) .st-alert-ticker{min-height:32px}body:not(.sm-wall) .st-ticker-pause{min-height:32px}body:not(.sm-wall) :is(.st-ticker-slot>a,.st-ticker-items>a,.st-ticker-items>.st-ticker-update){min-height:30px}body:not(.sm-wall) .st-ticker-label{padding:2px 10px}body:not(.sm-wall) .st-ticker-count{font-size:var(--fs-remarks)}body:not(.sm-wall) .st-ticker-words>span{display:none}}
body[data-st-mobile=yes] :is(.st-alert-ticker,.st-mode-identity){display:none}
/* Enhancement is reversible. Small/short/large-text and no-script views retain reflow. */
body[data-st-workbench=yes]{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--st-bg)}
body[data-st-workbench=yes]>.masthead{flex:none;background:var(--intro);border-color:var(--line)}
body[data-st-workbench=yes]>.site-footer,body[data-st-workbench=yes]>footer,body[data-st-workbench=yes]>.sm-pagehead{display:none}
body[data-st-workbench=yes] main.st[data-st-workbench=yes]{width:100%;max-width:none;min-height:0;flex:1;margin:0;padding:10px 16px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;overflow:hidden}
/* The app bar (review of 2026-10-27, R2): one light bar in the workspace's own panel colours, in place
   of the navy banner and the ten-button toolbar. The mark, the area and its alert summary read left to
   right; time, Share, Operations Mode and More sit at the end. */
body[data-st-workbench=yes] .st-workbench-heading{display:flex;align-items:center;gap:14px;min-height:48px;min-width:0;padding:4px 8px 4px 14px;background:var(--st-panel);color:var(--st-text);border:1px solid var(--st-line);border-radius:9px;box-shadow:var(--ops-shadow)}
body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity{display:flex;align-items:center;gap:7px;padding:0 14px 0 0;border-right:1px solid var(--st-line);flex:none;color:var(--st-text)}
body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity .st-mode-mark{font-size:var(--fs-lead);line-height:1;color:var(--st-action)}
body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity strong{font-size:var(--fs-micro);letter-spacing:.12em}
body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity>span:last-child{display:none}
body[data-st-workbench=yes] .st-workbench-heading :is(.sm-pagehead,.st-selected-head){margin:0;padding:0;width:auto;flex:1;min-width:0;border:0;background:transparent;box-shadow:none;color:var(--st-text)}
body[data-st-workbench=yes] .st-workbench-heading .pagehead.sm-pagehead .shell-inner{padding:0;width:100%;max-width:none;gap:14px;flex-wrap:nowrap;align-items:center}
body[data-st-workbench=yes] .st-workbench-heading .pagehead-titles{min-width:0;flex:0 1 auto}
body[data-st-workbench=yes] .st-workbench-heading .sm-pagehead .pagehead-kicker{display:none}
body[data-st-workbench=yes] .st-workbench-heading :is(h1,.pagehead-title){color:var(--st-text)!important;font-size:var(--fs-lead);line-height:1.2;margin:0;overflow-wrap:anywhere}
body[data-st-workbench=yes] .st-workbench-heading :is(p,.st-status,.st-advisory-clock){color:var(--st-secondary);font-size:var(--fs-micro);margin:0}
body[data-st-workbench=yes] .st-workbench-heading a:not(.st-button){color:var(--st-info)}
body[data-st-workbench=yes] .st-workbench-heading .st-weather-glyph{display:none}
body[data-st-workbench=yes] .st-workbench-heading :is(.pagehead-aux,.st-actions){display:flex;align-items:center;gap:6px;margin-left:auto;flex:none;flex-wrap:nowrap}
/* The workspace's controls at the small role with 36px targets, micro kept for clocks and credits (critique of 2026-11-03,
   fourteenth run: every view, panel, picture, tool and app-bar button had been 12px). */
body[data-st-workbench=yes] .st-workbench-heading .st-button{font-size:var(--fs-small);padding:5px 10px;min-height:36px}

body[data-st-workbench=yes] .st-workbench-heading .seg-opt>span{font-size:var(--fs-small);min-height:36px}
body[data-st-workbench=yes] .st-workbench-heading .st-advisory-clock{border-left:1px solid var(--st-line);padding-left:10px}
/* The alert summary: one total and its check time. Emergencies sit behind a red pill that opens their list. */
body[data-st-workbench=yes] .st-workbench-heading .st-severe-summary{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto;margin:0}
body[data-st-workbench=yes] .st-workbench-heading .st-severe-summary>p{display:block;margin:0;font-size:var(--fs-micro);line-height:1.3;white-space:nowrap}
body[data-st-workbench=yes] .st-workbench-heading .st-severe-summary>p:first-of-type{color:var(--st-text)}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent{position:relative;display:block;flex:none;margin:0;padding:0;border:0;background:none;max-height:none;overflow:visible}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent>:is(strong,h2,p){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.st-urgent-toggle{font:inherit;font-size:var(--fs-micro);font-weight:800;letter-spacing:.02em;color:#fff;background:var(--ops-emergency,#720719);border:0;border-radius:999px;padding:6px 12px;min-height:32px;cursor:pointer;white-space:nowrap}
.st-urgent-toggle:focus-visible{outline:3px solid var(--st-info);outline-offset:2px}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent[data-wb-open=no] ul{display:none}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent ul{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:grid;width:min(440px,80vw);margin:0;padding:6px 0;list-style:none;background:var(--st-panel);color:var(--st-text);border:1px solid var(--st-line);border-left:4px solid var(--ops-danger);border-radius:8px;box-shadow:0 10px 30px #0003}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent li{padding:0;min-width:0}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent li a{display:block;padding:8px 12px;font-size:var(--fs-small);color:var(--st-text);text-decoration:none}
body[data-st-workbench=yes] .st-workbench-heading .st-urgent li a:is(:hover,:focus-visible){background:var(--ops-soft)}
/* More: the rarer area actions. */
.st-more{position:relative;display:flex}.st-more>summary{list-style:none;cursor:pointer}.st-more>summary::-webkit-details-marker{display:none}
.st-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:grid;min-width:230px;padding:6px 0;background:var(--st-panel);color:var(--st-text);border:1px solid var(--st-line);border-radius:8px;box-shadow:0 10px 30px #0003}
.st-more-menu>:is(a,button){display:block;text-align:left;font:inherit;font-size:var(--fs-small);padding:9px 14px;color:var(--st-text)!important;background:none;border:0;text-decoration:none;cursor:pointer}
.st-more-menu>:is(a,button):is(:hover,:focus-visible){background:var(--st-raised)}
.st-more-time{padding:6px 14px}.st-more-time .svb-tz{display:flex}.st-more-time .svb-tz[hidden]{display:none}
/* Share and Weather Operations Mode are in More at every width (critique of 2026-11-02, fourth run): the app bar keeps the
   area's state, its time and Change area; a phone's More also holds those two. */
body[data-st-workbench=yes] main:not([data-st-mobile=yes]) .st-workbench-heading :is(.pagehead-aux,.st-actions)>:is([data-st-share],.sm-wall-link){display:none!important}
body[data-st-workbench=yes] main:not([data-st-mobile=yes]) .st-more-phone{display:grid;margin-top:6px;padding-top:6px;border-top:1px solid var(--st-line)}
/* The app bar holds Change area and the clock off a phone, so More does not repeat them. A later rule of equal weight
   had shown them again (critique of 2026-11-03, ninth run: "Change area" twice). */
body[data-st-workbench=yes] main:not([data-st-mobile=yes]) .st-more-phone>:is(a[href*="edit=1"],[data-sv-tz]):not([hidden]){display:none}
body[data-st-workbench=yes] main:not([data-st-mobile=yes]) .st-more-phone>:is(a,button):not([hidden]){display:block;text-align:left;font:inherit;font-size:var(--fs-small);padding:9px 14px;color:var(--st-text)!important;background:none;border:0;text-decoration:none;cursor:pointer}
body[data-st-workbench=yes] main:not([data-st-mobile=yes]) .st-more-phone>:is(a,button):is(:hover,:focus-visible){background:var(--st-raised)}
/* The canvas header: the main views as one segmented control, the panels as toggles beside it. */
:where(main[data-st-workbench=yes]) .st-workbench-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:5px 6px;border-bottom:1px solid var(--st-line);background:var(--st-panel);flex:none}
:where(main[data-st-workbench=yes]) .st-workbench-nav>[role=group]{display:flex;align-items:center;gap:4px;min-width:0}
:where(main[data-st-workbench=yes]) .st-workbench-nav .st-primary-views{gap:0;border:1px solid var(--st-border);border-radius:8px;overflow:hidden}
body[data-st-workbench=yes] .st-workbench-nav .st-primary-views>.st-button{border:0;border-radius:0;min-height:36px;padding:4px 12px;font-size:var(--fs-small)}
:where(main[data-st-workbench=yes]) .st-workbench-nav .st-primary-views>.st-button+.st-button{border-left:1px solid var(--st-border)}
body[data-st-workbench=yes] .st-workbench-nav .st-workspace-tools>.st-button{min-height:36px;padding:4px 10px;font-size:var(--fs-small)}
/* The panels (Details, Changes, Sources) are second to the map's own controls: they keep their words, their pressed fill and the open panel's outline,
   and lose the outline every control had shared (critique of 2026-11-03, tenth run: one weight for 22 controls). */
body[data-st-workbench=yes] .st-workbench-nav .st-workspace-tools>.st-button:not([aria-pressed=true]):not([aria-expanded=true]):not(:hover):not(:focus-visible){border-color:transparent;background:transparent}
/* A storm map's Retry is a button, not a band across the map's width (622px). */
.st-satellite-retry{width:auto;align-self:flex-start}
body[data-st-workbench=yes] .st-workbench-nav [aria-pressed=true]{background:var(--st-action);color:var(--st-action-text)!important;border-color:var(--st-action)}
/* The rail's and the panel's own small controls, in their corners. */
:where(main[data-st-workbench=yes]) .st-workbench-rail,:where(main[data-st-workbench=yes]) .st-workbench-inspector{position:relative}
body[data-st-workbench=yes] :is(.st-rail-collapse,.st-panel-close){position:absolute;top:7px;right:7px;z-index:3;width:30px;min-height:30px;padding:0;font-size:var(--fs-lead);line-height:1;display:grid;place-items:center}
:where(main[data-st-workbench=yes]) .st-workbench-rail .st-wb-alerts .st-pane-heading,:where(main[data-st-workbench=yes]) .st-workbench-inspector .st-wb-pane>section>.st-pane-heading,:where(main[data-st-workbench=yes]) .st-workbench-inspector .st-wb-pane>.st-pane-heading{padding-right:46px}
:where(main[data-st-workbench=yes]) .st-workbench-frame{display:grid;grid-template-columns:clamp(300px,21vw,360px) minmax(0,1fr) clamp(300px,23vw,380px);gap:12px;min-height:0;min-width:0}
main[data-wb-side=none] .st-workbench-frame{grid-template-columns:clamp(300px,21vw,360px) minmax(0,1fr)}
main[data-wb-side=none] .st-workbench-inspector{display:none}
/* The area page's workspace read as a document (R1, step 1): with scripting off, on a phone, under
   480px tall or with enlarged text. The server's panes keep their reading order, laid out as the area
   page always was: the alert list beside the map and products, the alert's details beside them or
   under them, and on a phone the map first, or the list first on its Alerts tab. */
main:not([data-st-workbench=yes])>.st-workbench-frame{display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(280px,310px);gap:12px;align-items:start;margin-top:12px}
main:not([data-st-workbench=yes])>.st-workbench-frame>*{min-width:0}
main:not([data-st-workbench=yes]) .st-wb-pane:empty{display:none}
main:not([data-st-workbench=yes]) .st-wb-pane+.st-wb-pane,main:not([data-st-workbench=yes]) [data-st-product-result],main:not([data-st-workbench=yes]) [data-st-product-archive]>*{margin-top:12px}
main:not([data-st-workbench=yes]) .st-product-toolbar{flex-wrap:wrap;border:1px solid var(--st-line);border-radius:7px}
main:not([data-st-workbench=yes]) .st-product-picker[open]{flex-basis:100%}
main:not([data-st-workbench=yes]) .st-product-catalog{margin-top:8px}
main:not([data-st-workbench=yes]) .st-wb-details .sm-pinned-cols{display:block}
main:not([data-st-workbench=yes]) .st-selected-head>.st-urgent{flex-basis:100%}
main[data-st-workbench=yes]>[data-st-workspace-tabs]{display:none}
main:not([data-st-workbench=yes])>[data-st-workspace-tabs]{margin:12px 0 0}
@media(max-width:1279px){main:not([data-st-workbench=yes])>.st-workbench-frame{grid-template-columns:minmax(210px,240px) minmax(0,1fr)}main:not([data-st-workbench=yes]) .st-workbench-rail{grid-row:1 / span 2}main:not([data-st-workbench=yes]) .st-workbench-inspector{grid-column:2}}
@media(max-width:767px){main:not([data-st-workbench=yes])>.st-workbench-frame{grid-template-columns:minmax(0,1fr)}main:not([data-st-workbench=yes]) .st-workbench-center{grid-row:1}main:not([data-st-workbench=yes]) .st-workbench-rail{grid-row:2}main:not([data-st-workbench=yes]) .st-workbench-inspector{grid-column:1;grid-row:3}main:not([data-st-workbench=yes])>.st-workbench-frame[data-st-tab=alerts]>.st-workbench-rail{grid-row:1}main:not([data-st-workbench=yes])>.st-workbench-frame[data-st-tab=alerts]>.st-workbench-center{grid-row:2}}
:where(main[data-st-workbench=yes]) .st-workbench-rail,:where(main[data-st-workbench=yes]) .st-workbench-center,:where(main[data-st-workbench=yes]) .st-workbench-inspector{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--st-line);border-radius:9px;background:var(--st-panel);box-shadow:var(--ops-shadow);overflow:hidden}
:where(main[data-st-workbench=yes]) .st-wb-pane{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scroll-padding:12px;flex:1}.st-wb-pane[hidden]{display:none!important}
:where(main[data-st-workbench=yes]) .st-wb-map{display:flex;flex-direction:column;overflow:hidden}:where(main[data-st-workbench=yes]) .st-workbench .st-wb-pane>section{margin:0}
body[data-st-workbench=yes] .st-wb-map>:is([data-st-map-persist],.storm-detail-map-panel){flex:1;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;position:relative}
body[data-st-workbench=yes] .st-wb-map .st-map-canvas{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}
body[data-st-workbench=yes] .st-wb-map :is(.st-severe-stage,.st-map-stage){flex:1;height:auto;min-height:180px;aspect-ratio:auto}
body[data-st-workbench=yes] .st-wb-map .st-map-toolbar{flex:none;gap:5px;padding:6px}:where(main[data-st-workbench=yes]) .st-wb-map .st-map-toolbar .st-button{min-height:36px;font-size:var(--fs-small);padding:6px 8px}
body[data-st-workbench=yes] .st-wb-map .st-map-toolbar details{font-size:var(--fs-micro)}
body[data-st-workbench=yes] .st-wb-map>.st-map-timeline{flex:none;display:flex;flex-direction:column;min-height:0}
body[data-st-workbench=yes] .st-wb-map .st-replay-controls{flex:none;max-height:30vh;overflow:auto;margin:0;border:0;border-top:1px solid var(--st-line);border-radius:0;padding:5px 8px;font-size:var(--fs-micro)}
body[data-st-workbench=yes] .st-replay-controls .st-button{min-height:34px;padding:5px 9px;font-size:var(--fs-micro)}
body[data-st-workbench=yes] .st-wb-map .st-current-imagery{flex:none;max-height:130px;overflow:auto;margin:0;padding:0;border:0;font-size:var(--fs-micro)}
:where(main[data-st-workbench=yes]) .st-wb-map .st-current-imagery>.st-pane-note{display:none}
body[data-st-workbench=yes] .st-wb-map .st-map-note{flex:none;padding:4px 9px!important;font-size:var(--fs-micro);max-height:70px;overflow:auto}
body[data-st-workbench=yes] .st-wb-map .st-map-legend{flex:none;font-size:var(--fs-micro);padding:3px 8px}
:where(main[data-st-workbench=yes]) .st-workbench-map-notes{flex:none;font-size:var(--fs-micro);border-top:1px solid var(--st-line);max-height:28vh;overflow:auto}:where(main[data-st-workbench=yes]) .st-workbench-map-notes>summary{min-height:28px;padding:5px 9px!important}:where(main[data-st-workbench=yes]) .st-workbench-map-notes p{padding:6px 9px!important}
.st .st-workbench-map-notes[open]>summary{margin-bottom:0}
main:not([data-st-workbench=yes]) .st-workbench-map-notes>summary{min-height:32px;padding:6px 12px!important;font-size:var(--fs-micro);color:var(--st-secondary);cursor:pointer}
/* The area map's controls in four zones (review R3): the picture and its clock top-left, the tools
   under MapLibre's zoom top-right, the key and its ⓘ bottom-left above the scale, Live/Replay/
   Forecast below the map. Each zone takes pointer events only on its own controls. The server
   renders the zones around the stage (R1, step 3); the workspace lays them on it. */
body[data-st-workbench=yes] .st-map-zone{position:absolute;z-index:3;display:flex;gap:6px;pointer-events:none;min-width:0}
body[data-st-workbench=yes] .st-map-zone>*{pointer-events:auto}
body[data-st-workbench=yes] .st-map-zone-picture{top:8px;left:8px;right:72px;flex-direction:column;align-items:flex-start}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;padding:0!important;margin:0;border:0;background:none}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-toolbar>[data-st-imagery]{margin:0;border-radius:0;box-shadow:0 1px 4px #0003}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-toolbar>[data-st-imagery]+[data-st-imagery]{margin-left:-6px;border-left-width:0}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-toolbar>[data-st-imagery]:first-child{border-radius:7px 0 0 7px}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-toolbar>[data-st-imagery=none]{border-radius:0 7px 7px 0}
body[data-st-workbench=yes] .st-map-zone :is(.st-button,summary.st-button){background:var(--st-panel);min-height:34px;font-size:var(--fs-micro);padding:6px 10px}
body[data-st-workbench=yes] .st-map-zone .st-button[aria-pressed=true]{background:var(--st-action);color:var(--st-action-text)!important;border-color:var(--st-action)}
/* A chosen picture that is not on the map: still chosen, never drawn as on. A dashed outline and a hollow ring, with the
   status chip as its description (critique of 2026-11-02, fourth run). */
body[data-st-workbench=yes] .st-map-zone .st-button[aria-pressed=true][data-st-unavailable]{background:var(--st-panel);color:var(--st-muted)!important;border:1px dashed var(--st-border)}
body[data-st-workbench=yes] .st-map-clock-row .st-imagery-retry{flex:none;box-shadow:0 1px 4px #0003}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-clocks{position:static;display:grid;gap:4px;max-width:min(520px,100%)}
body[data-st-workbench=yes] .st-map-zone-picture .st-map-clock{position:static;font-size:var(--fs-micro);padding:3px 8px;border-radius:999px;box-shadow:0 1px 4px #0003;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-st-workbench=yes] .st-map-zone-picture .st-velocity-controls{position:relative}
body[data-st-workbench=yes] .st-map-zone-picture .st-velocity-controls[open]{display:block}
body[data-st-workbench=yes] .st-map-zone-picture .st-velocity-body{position:absolute;left:0;top:calc(100% + 6px);z-index:5;display:grid;gap:6px;width:260px;padding:10px;background:var(--st-panel);color:var(--st-text);border:1px solid var(--st-line);border-radius:8px;box-shadow:var(--ops-shadow);font-size:var(--fs-micro)}
body[data-st-workbench=yes] .st-map-zone-picture .st-velocity-body :is(input,select){max-width:100%;width:100%}
body[data-st-workbench=yes] .st-map-zone-tools{top:8px;right:8px;flex-direction:column;align-items:flex-end}
body[data-st-workbench=yes] .st-map-canvas:has(.maplibregl-ctrl-zoom-in) .st-map-zone-tools{top:108px}
body[data-st-workbench=yes] .st-map-zone-tools .st-button{box-shadow:0 1px 4px #0003}
body[data-st-workbench=yes] .st-map-zone-key{left:8px;bottom:36px;right:56px;align-items:flex-end}
body[data-st-workbench=yes] .st-map-zone-key .st-map-legend{flex:0 1 auto;min-width:0;padding:4px 8px;font-size:var(--fs-micro);background:var(--st-panel);border:1px solid var(--st-line);border-radius:7px;box-shadow:0 1px 4px #0003}
body[data-st-workbench=yes] .st-map-zone-key .st-map-legend:empty{display:none}
body[data-st-workbench=yes] .st-map-zone-key .st-workbench-map-notes{position:static;flex:none;border:0;max-height:none;overflow:visible}
body[data-st-workbench=yes] .st-map-zone-key .st-workbench-map-notes>summary{display:grid;place-items:center;width:34px;height:34px;min-height:0;padding:0!important;border:1px solid var(--st-line);border-radius:50%;background:var(--st-panel);font-size:var(--fs-remarks);line-height:1;list-style:none;cursor:pointer;box-shadow:0 1px 4px #0003}
body[data-st-workbench=yes] .st-map-zone-key .st-workbench-map-notes>summary::-webkit-details-marker{display:none}
body[data-st-workbench=yes] .st-map-zone-key .st-map-notes-word{display:none}
body[data-st-workbench=yes] .st-map-zone-key .st-map-notes-body{position:absolute;left:0;bottom:calc(100% + 6px);z-index:5;width:min(420px,60vw);max-height:40vh;overflow:auto;background:var(--st-panel);color:var(--st-text);border:1px solid var(--st-line);border-radius:8px;box-shadow:var(--ops-shadow)}
body[data-st-workbench=yes] .st-severe-map.is-live .st-map-north{display:none}
.st[data-st-temporal]:not([data-st-temporal=live]) .st-map-zone-tools{display:none}
/* Read as a document, the same zones sit around the map: the picture and the tools in a bar above
   it, the clocks on it, the key and its notes below. Layers is the workspace's and the phone's. */
main:not([data-st-workbench=yes]) .st-map-canvas{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;background:var(--st-panel)}
main:not([data-st-workbench=yes]) .st-map-zone-picture{display:contents}
main:not([data-st-workbench=yes]) .st-map-zone-picture>.st-map-toolbar{grid-row:1;grid-column:1;align-self:stretch}
main:not([data-st-workbench=yes]) .st-map-zone-tools{grid-row:1;grid-column:2;align-self:stretch;display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--st-line)}
main:not([data-st-workbench=yes]) .st-map-canvas>.st-severe-stage{grid-row:2;grid-column:1 / -1}
main:not([data-st-workbench=yes]) .st-map-zone-picture>.st-map-clocks{grid-row:2;grid-column:1 / -1;position:relative;z-index:3;inset:auto;margin:8px 76px 0 8px}
main:not([data-st-workbench=yes]) .st-map-zone-key{grid-row:3;grid-column:1 / -1}
main:not([data-st-workbench=yes]):not([data-st-mobile=yes]) .st-map-zone-tools>[data-st-workbench-view]{display:none}
@media(max-width:767px){main:not([data-st-workbench=yes]) .st-map-zone-tools{gap:4px;padding:6px 6px 6px 0}}
:where(main[data-st-workbench=yes]) .st-wb-pane :is(.st-surface,.sm-card){border:0;border-radius:0;box-shadow:none}:where(main[data-st-workbench=yes]) .st-wb-pane .st-pane-heading{padding:10px 12px;background:var(--st-raised);position:relative}:where(main[data-st-workbench=yes]) .st-wb-pane .st-pane-heading h2{font-size:var(--fs-bulletin)}:where(main[data-st-workbench=yes]) .st-wb-pane .st-pane-heading>span{font-size:var(--fs-micro)}
body[data-st-workbench=yes] .st-wb-alerts .st-warning-rail{max-height:none;overflow:visible;border:0}
body[data-st-workbench=yes] .st-wb-alerts .st-warning-list{max-height:none;overflow:visible;margin:0;padding:0}
:where(main[data-st-workbench=yes]) .st-wb-alerts .st-warning-list>li{padding:0;border-top:1px solid var(--st-line)}
:where(main[data-st-workbench=yes]) .st-wb-alerts .st-warning-list a{border-radius:0}
:where(main[data-st-workbench=yes]) .st-wb-alerts .st-warning-list [aria-current=true]{background:var(--ops-soft);box-shadow:inset 3px 0 var(--ops-danger)}
:where(main[data-st-workbench=yes]) .st-wb-alerts .st-alert-filters{display:flex;flex-wrap:wrap;gap:5px;padding:8px}:where(main[data-st-workbench=yes]) .st-wb-alerts .st-alert-filters label{font-size:var(--fs-micro);flex:1;min-width:90px}:where(main[data-st-workbench=yes]) .st-wb-alerts .st-alert-filters select{font-size:var(--fs-micro);padding:6px;max-width:100%}:where(main[data-st-workbench=yes]) .st-wb-alerts .st-alert-filters .st-button{font-size:var(--fs-micro);min-height:32px;padding:4px 7px}
:where(main[data-st-workbench=yes]) .st-wb-alerts #st-monitoring>.sm-board{margin:0;border:0;border-bottom:1px solid var(--st-line);padding:10px;font-size:var(--fs-micro)}:where(main[data-st-workbench=yes]) .st-wb-alerts #st-monitoring>.st-pane-note{padding:8px;font-size:var(--fs-micro)}:where(main[data-st-workbench=yes]) .st-wb-alerts .sm-board-rows li{padding:3px 0}
:where(main[data-st-workbench=yes]) .st-wb-details :is(.st-severe-inspector,.st-inspector-body){max-height:none;overflow:visible}:where(main[data-st-workbench=yes]) .st-wb-details .st-inspector-body{padding:12px}:where(main[data-st-workbench=yes]) .st-wb-details .st-inspector-body h3{font-size:var(--fs-lead)}:where(main[data-st-workbench=yes]) .st-wb-details .st-instruction{border-left:3px solid var(--ops-danger);background:var(--ops-soft);padding:10px;font-size:var(--fs-remarks);margin:12px 0}:where(main[data-st-workbench=yes]) .st-wb-details .st-inspector-facts{font-size:var(--fs-micro)}
:where(main[data-st-workbench=yes]) .st-wb-details .st-facts :is(dt,dd){padding:7px 10px;font-size:var(--fs-micro)}:where(main[data-st-workbench=yes]) .st-wb-details .st-rail-action{margin:8px;min-height:36px;font-size:var(--fs-micro)}
main[data-wb-alert=yes] .st-wb-details>#st-details{display:none}

:where(main[data-st-workbench=yes]) .st-wb-details>.sm-spot--pinned{margin:0;padding:10px;border:0}:where(main[data-st-workbench=yes]) .st-wb-details>.sm-spot--pinned .sm-tabs{display:none}:where(main[data-st-workbench=yes]) .st-wb-details .sm-panel--pinned .sm-figure{display:none}:where(main[data-st-workbench=yes]) .st-wb-details .sm-pinned-cols{display:block}:where(main[data-st-workbench=yes]) .st-wb-details .sm-panel--pinned .sm-panel-h{font-size:var(--fs-lead)}:where(main[data-st-workbench=yes]) .st-wb-details .sm-panel--pinned .sm-quote{font-size:var(--fs-remarks)}
:where(main[data-st-workbench=yes]) .st-wb-details>.st-tropical-alert-detail{padding:12px}:where(main[data-st-workbench=yes]) .st-wb-details>[data-st-clear-alert]{margin:8px;font-size:var(--fs-micro)}:where(main[data-st-workbench=yes]) .st-wb-details>.st-tropical-alert-detail>summary{font-size:var(--fs-small);font-weight:800;color:var(--ops-danger)}
:where(main[data-st-workbench=yes]) .st-wb-alerts .st-tropical-alert-detail>summary{display:none}:where(main[data-st-workbench=yes]) .st-wb-alerts .st-tropical-alert-detail{height:0;overflow:hidden}
:where(main[data-st-workbench=yes]) .st-wb-pane>:is(p,details){padding:10px}:where(main[data-st-workbench=yes]) .st-wb-pane summary{cursor:pointer;min-height:36px;align-content:center}:where(main[data-st-workbench=yes]) .st-wb-pane p{overflow-wrap:anywhere}
:where(main[data-st-workbench=yes]) .st-wb-layers>[data-st-lightning],:where(main[data-st-workbench=yes]) .st-wb-layers>[data-st-snow]{padding:10px}:where(main[data-st-workbench=yes]) .st-wb-layers .st-map-layers{display:block;padding:12px}:where(main[data-st-workbench=yes]) .st-wb-layers .st-map-layers label{display:flex;align-items:center;gap:8px;padding:8px 0}:where(main[data-st-workbench=yes]) .st-wb-layers .st-map-layers label>select{max-width:100%}
:where(main[data-st-workbench=yes]) .st-wb-products>.st-tabs{display:flex;flex-wrap:wrap;margin:0;border:0;border-bottom:1px solid var(--st-line);border-radius:0}:where(main[data-st-workbench=yes]) .st-wb-products>.st-tabs a{font-size:var(--fs-micro);padding:8px;white-space:normal}
:where(main[data-st-workbench=yes]) .st-wb-products>.st-selected-product{margin:0}:where(main[data-st-workbench=yes]) .st-wb-products .st-product{margin:0;padding:12px}:where(main[data-st-workbench=yes]) .st-wb-products .st-local-context{margin:0}:where(main[data-st-workbench=yes]) .st-wb-products .sm-spot{margin:0!important;border:0;padding:12px}:where(main[data-st-workbench=yes]) .st-wb-products .sm-tabs{display:flex;flex-wrap:wrap}:where(main[data-st-workbench=yes]) .st-wb-products .sm-tabs a{font-size:var(--fs-micro)}
:where(main[data-st-workbench=yes]) .st-wb-products .sm-graphic img{max-height:52vh}:where(main[data-st-workbench=yes]) .st-wb-products .st-analysis{padding:12px}:where(main[data-st-workbench=yes]) .st-wb-products [data-state]{min-width:0}
:where(main[data-st-workbench=yes]) .st-wb-sources .sm-sources ul{display:grid;gap:6px}:where(main[data-st-workbench=yes]) .st-wb-sources .sm-sources{margin:0;padding:12px}:where(main[data-st-workbench=yes]) .st-wb-sources [data-wb-empty]{display:none}
:where(main[data-st-workbench=yes]) .st-wb-changes .st-comparison{padding:8px}:where(main[data-st-workbench=yes]) .st-wb-changes .st-recent-changes{padding:10px}
/* In the Changes pane the recorded messages run down the pane, each whole: a sideways strip had cut them at "Flash
   F… contin…" (critique of 2026-11-03, ninth run). */
:where(main[data-st-workbench=yes]) .st-wb-changes .st-recent-changes>ul{display:grid;gap:0;padding:0 0 6px;overflow:visible}
/* A change is its time, then what happened, then where, the time in its own column: it had wrapped out of the link. */
.st-recent-changes>ul>li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:baseline}
.st-recent-changes>ul>li>:is(.st-change-what,.st-change-where,small){grid-column:2}
.st-change-where{font-size:var(--fs-micro);color:var(--st-secondary)}
:where(main[data-st-workbench=yes]) .st-wb-changes .st-recent-changes>ul>li{padding:6px 0;border-right:0;border-bottom:1px solid var(--st-line);font-size:var(--fs-small)}:where(main[data-st-workbench=yes]) .st-wb-changes small{display:block}:where(main[data-st-workbench=yes]) .st-wb-changes select{max-width:100%}
.st-workbench-heading .st-button,:where(main[data-st-workbench=yes]) .st-workbench-nav .st-button{transition:box-shadow .16s ease}:where(main[data-st-workbench=yes]) .st-workbench-nav .st-button:hover{box-shadow:0 2px 8px #102a4320}:where(main[data-st-workbench=yes]) .st-wb-products:not([hidden]),:where(main[data-st-workbench=yes]) .st-wb-details:not([hidden]){animation:st-pane-in .18s ease-out}
@keyframes st-pane-in{from{transform:translateX(6px)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){:where(main[data-st-workbench=yes]) .st-wb-pane{animation:none!important}.st-workbench-heading .st-button,:where(main[data-st-workbench=yes]) .st-workbench-nav .st-button{transition:none}}
@media(max-width:1279px){:where(main[data-st-workbench=yes]) .st-workbench-frame{grid-template-columns:240px minmax(0,1fr)}:where(main[data-st-workbench=yes]) .st-workbench-inspector{position:absolute;right:16px;top:185px;bottom:70px;width:min(360px,48vw);z-index:15;box-shadow:0 8px 28px #0004}:where(main[data-st-workbench=yes]) .st-workbench-heading .st-advisory-clock{display:none}:where(main[data-st-workbench=yes]) .st-workbench-heading .st-mode-identity>span:last-child{display:none}}
/* The existing Operations map/rotation and timer ownership remain unchanged. */
.sm-wall .smw{display:flex;flex-direction:column;height:100dvh;gap:8px;min-height:0}.sm-wall .smw>.smw-grid{flex:1;min-height:0}.sm-wall .smw>.smw-bar,.sm-wall .smw>.smw-foot,.sm-wall .smw>.st-operations-ticker{flex:none}
/* Weather Operations Mode (review of 2026-10-27, R7). A wall's rem is 1.042% of its width (event.css),
   so these sizes hold their proportion from 1080 to 4K. */
/* Its footer is one line; the sources open over the wall from ⓘ, so nothing under it moves. */
.sm-wall .smw-foot{display:flex;align-items:center;gap:1rem;font-size:var(--fs-micro);padding:0;position:relative}.sm-wall .smw-foot>p{margin:0}.sm-wall .smw-foot .sm-sources{padding:0}
.smw-info>summary{display:inline-flex;align-items:center;gap:.35rem;min-height:1.6rem;min-width:44px;cursor:pointer;list-style:none;font-weight:700}.smw-info>summary::-webkit-details-marker{display:none}
.smw-info-i{display:inline-grid;place-items:center;width:1.15em;height:1.15em;border:.12em solid currentColor;border-radius:50%;font:italic 800 .85em/1 Georgia,serif}
.smw-info[open]>.smw-info-body{position:absolute;left:0;bottom:calc(100% + .3rem);z-index:30;width:min(64rem,100%);max-height:45vh;overflow:auto;display:grid;gap:.4rem;padding:.6rem .8rem;background:var(--st-panel,var(--paper));color:var(--st-text,var(--ink));border:1px solid var(--st-border,var(--line));border-radius:.4rem;box-shadow:0 .4rem 1.4rem #0006}
/* Its ticker reads across the room: 64–72 px with 26–28 px type at 1080 (R5), double that at 4K. */
.sm-wall .st-alert-ticker{font-size:var(--fs-subhead);min-height:3.4rem;border-radius:.3rem}
.sm-wall .st-ticker-label{max-width:14rem;padding:.2rem .7rem;gap:.5rem}.sm-wall .st-ticker-count{font-size:var(--fs-section)}.sm-wall .st-ticker-words b{font-size:var(--fs-small)}.sm-wall .st-ticker-words>span{font-size:var(--fs-micro)}
.sm-wall :is(.st-ticker-slot>a,.st-ticker-items>:is(a,.st-ticker-update)){min-height:3.2rem;gap:.5rem}.sm-wall .st-ticker-items{gap:1.6rem;padding-inline:1rem}.sm-wall .st-ticker-slot>a{padding:.2rem .8rem}
.sm-wall :is(.st-ticker-slot strong,.st-ticker-items strong){font-size:var(--fs-subhead)}.sm-wall .st-ticker-time{font-size:var(--fs-lead)}.sm-wall :is(.st-ticker-new,.st-ticker-of){font-size:var(--fs-small)}.sm-wall .st-ticker-glyph{font-size:var(--fs-remarks)}
.sm-wall .st-ticker-check{font-size:var(--fs-remarks);gap:.4rem;padding:0 .7rem}.sm-wall .st-feed-dot{width:.6rem;height:.6rem}.sm-wall .st-ticker-pause{font-size:var(--fs-remarks);min-width:3.4rem;min-height:3.2rem;padding:0 .8rem}
/* Its controls: icons with short visible labels, the rest of each name read, not shown. */
.sm-wall .smw-tools{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.sm-wall .smw-title .smw-kicker{color:var(--st-info);font-weight:800;letter-spacing:.08em}.sm-wall .smw-area{font-size:var(--fs-micro)}
.sm-wall :is(.smw-tool,.smw-tool>.btn){display:inline-flex;align-items:center;gap:.35rem;min-height:2.2rem;font-size:var(--fs-micro);font-weight:700;white-space:nowrap}.sm-wall .smw-tool[hidden]{display:none}
.sm-wall :is(button.smw-tool,a.smw-tool,.smw-tool--sound [data-sm-chime-arm],.smw-tool--sound.is-armed)::before{content:"";flex:none;width:1.1em;height:1.1em;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.sm-wall .smw-tool--sound{max-width:none;margin:0}.sm-wall .smw-tool--sound.is-armed{padding:.15rem .15rem .15rem .5rem;border-width:.1rem}.sm-wall .smw-tool--sound .btn{font:inherit}
.smw-tool--sound{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 6v4h2.6L8 13V3L4.6 6z' fill='black'/%3E%3Cpath d='M10.5 5.5l3.5 5M14 5.5l-3.5 5' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.smw-tool--sound.is-armed{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 6v4h2.6L8 13V3L4.6 6z' fill='black'/%3E%3Cpath d='M10.5 5.5a3.5 3.5 0 0 1 0 5M12.3 3.4a6.4 6.4 0 0 1 0 9.2' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.smw-tool--rotation{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.2 8.6A5.3 5.3 0 1 1 11.6 4M13.4 1.8v3.6H9.8' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.smw-tool--full{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.smw-tool--exit{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2.5h-4v11h4M10 5l3 3-3 3M13 8H6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media(forced-colors:active){.st-alert-ticker{background:Canvas;color:CanvasText;border:2px solid CanvasText}.st-ticker-label,.st-ticker-pause{background:Canvas;color:CanvasText}.st-workbench-heading{background:Canvas;color:CanvasText}.st-workbench-heading :is(h1,p,strong,span){color:CanvasText!important}.st-warning-list [aria-current=true]{outline:2px solid Highlight}}
/* Task workspace: one result and persistent controls; long reference text stays reachable. */
:where(main[data-st-workbench=yes]) .st-primary-views,:where(main[data-st-workbench=yes]) .st-workspace-tools{display:flex;align-items:center;gap:5px;flex:none}
:where(main[data-st-workbench=yes]) .st-workspace-tools{border-left:1px solid var(--st-line);padding-left:10px}
:where(main[data-st-workbench=yes]) .st-workbench-nav .st-button{font-size:var(--fs-micro);min-height:34px;padding:5px 9px}
.st-wb-pane:focus-visible{outline:3px solid var(--st-action);outline-offset:-3px}
:where(main[data-st-workbench=yes]) .st-wb-products{display:flex;flex-direction:column;overflow:hidden;position:relative}
.st-product-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:8px 12px;border-bottom:1px solid var(--st-line);background:var(--st-raised);z-index:5;min-height:52px}
.st-product-toolbar h2{font-size:var(--fs-remarks);margin:0;overflow-wrap:anywhere}
/* Choose product beside the title it changes, the view's actions at the end: between them it had floated mid-bar
   (critique of 2026-11-04, sixteenth run). */
.st-product-toolbar>.st-product-picker{margin-right:auto}
.st-product-group-more{flex-basis:100%}.st-product-group-more>summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;color:var(--st-info);font-weight:700}.st-product-group-more>div{display:flex;flex-wrap:wrap;gap:7px;padding-top:7px}
.st-product-picker{position:static;font-size:var(--fs-micro);flex:none}
.st-product-picker>summary{list-style:none;white-space:nowrap}
.st-product-catalog{background:var(--st-panel);border:1px solid var(--st-line);border-radius:8px;padding:12px}
:where(main[data-st-workbench=yes]) .st-product-catalog{position:absolute;top:55px;right:8px;left:8px;max-height:calc(100% - 65px);overflow:auto;overscroll-behavior:contain;box-shadow:0 8px 30px #07172744;z-index:20}
.st-product-catalog label{display:flex;align-items:center;gap:12px;font-weight:700}.st-product-catalog input{font:inherit;flex:1;min-width:100px;min-height:36px}
.st-product-catalog section{display:flex;flex-wrap:wrap;gap:7px;padding:10px 0;border-bottom:1px solid var(--st-line)}
.st-product-catalog h3{font-size:var(--fs-micro);flex:0 0 100%;margin:0;color:var(--st-secondary)}
.st-product-catalog .st-button{font-size:var(--fs-micro);min-height:34px;padding:7px 10px}
.st-product-catalog [hidden]{display:none!important}
.st-product-more>summary{min-height:44px;padding:10px 0;font-size:var(--fs-small);font-weight:700;color:var(--st-action);cursor:pointer}.st .st-product-more[open]>summary{margin:0}
:where(main[data-st-workbench=yes]) .st-product-result{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:12px;padding:12px}
/* A list already in the page (cells, observations) is shown where it is rendered, in the archive. */
:where(main[data-st-workbench=yes]) [data-st-product-archive]:not([hidden]){flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px}
:where(main[data-st-workbench=yes]) .st-product-result>.st-surface{margin:0;border:0;box-shadow:none}
:where(main[data-st-workbench=yes]) .st-product-result>.st-product,:where(main[data-st-workbench=yes]) .st-product-result>.sm-spot{margin:0!important;padding:0!important;border:0}
:where(main[data-st-workbench=yes]) .st-product-result .sm-spot>.sm-spot-head,:where(main[data-st-workbench=yes]) .st-product-result .sm-spot>.sm-tabs{display:none}
:where(main[data-st-workbench=yes]) .st-product-result .sm-panel.is-current{display:block}
.st-product-recommended{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
:where(main[data-st-workbench=yes]) .st-product-result :is(.sm-graphic img,.sm-graphic svg){max-height:56vh;object-fit:contain}
/* A product's map leaves its key and valid time in view under it: at 1280×800 the SPC outlook's had begun at the pane's
   foot (critique of 2026-11-04, sixteenth run). The pane is the screen less about 310px of chrome above and the ticker. */
:where(main[data-st-workbench=yes]) .st-product-result .sm-panel.is-current>.svb-mapframe>.sv-map{display:block;width:100%;max-height:max(220px,calc(100dvh - 480px))}
:where(main[data-st-workbench=yes]) .st-product-result [data-st-said]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:where(main[data-st-workbench=yes]) .st-product-result .st-analysis>p:first-of-type{font-size:var(--fs-micro);color:var(--st-secondary);margin:6px 0}
:where(main[data-st-workbench=yes]) .st-product-result pre{white-space:pre-wrap;overflow-wrap:anywhere}
.st-navigation-status{display:flex;align-items:center;gap:8px;flex:none;padding:8px 12px;font-size:var(--fs-micro);background:var(--st-raised);border-bottom:1px solid var(--st-line)}.st-navigation-status>span{flex:1}.st-navigation-status .st-button{font-size:var(--fs-micro);min-height:30px;padding:4px 8px}
/* A failed selection's last-known card under its notice, on the outage's amber edge (critique of 2026-11-03, twelfth run). */
.st-navigation-status:has(.st-lk-card){flex-wrap:wrap}
.st-lk-card{flex:1 1 100%;order:1;display:grid;gap:4px;margin:2px 0 0;padding:8px 10px;border:1px solid var(--st-line);border-left:4px solid #e0a92a;border-radius:6px;background:var(--st-panel);font-size:var(--fs-small)}
.st-lk-card p{margin:0}
.st-lk-card .st-lk-do{font-size:var(--fs-remarks)}
.st-lk-card .st-lk-not{font-size:var(--fs-micro);color:var(--st-secondary)}
:where(main[data-st-workbench=yes]) .st-workbench-center[aria-busy=true] .st-product-result{opacity:.72}
.st-ops-queue{display:inline-flex}.st-ops-queue-open{cursor:pointer;min-height:32px;padding:4px 8px;border:1px solid var(--st-line);border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:var(--fs-micro)}.st-ops-queue-open:hover{border-color:var(--st-border)}.st-ops-queue-menu{position:fixed;inset:auto 1rem 5rem auto;width:min(44rem,calc(100vw - 2rem));max-height:calc(100dvh - 9rem);margin:0;overflow:auto;background:var(--st-panel);color:var(--st-text);box-shadow:0 .6rem 2rem #0008;border:1px solid var(--st-border);border-radius:8px;padding:16px;font-size:var(--fs-small)}.st-ops-queue-menu::backdrop{background:#0006}.st-ops-queue-head{display:flex;align-items:center;gap:8px}.st-ops-queue-head h2{flex:1}.st-ops-queue-head .st-button{min-height:44px}.st-ops-queue-menu h2{font-size:var(--fs-lead);margin:0}.st-ops-queue-menu>p{font-size:var(--fs-micro)}.st-ops-queue-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--st-line)}.st-ops-queue-row>label{display:flex;align-items:center;gap:8px;flex:1}.st-ops-queue-row :is(button,select,input){font-size:var(--fs-micro);min-height:32px}.st-ops-queue-row>button{min-width:32px}
body[data-st-workbench=yes] .st-workbench-heading{min-height:58px;padding:5px 12px}
body[data-st-workbench=yes] .st-workbench-heading .pagehead-sub{display:none}
body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity>span:last-child{display:none}
body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity{padding-block:4px}
body[data-st-workbench=yes] .st-wb-map .st-map-note{font-size:var(--fs-micro);max-height:none}
body[data-st-workbench=yes] .st-wb-map .st-map-legend{font-size:var(--fs-micro)}
:where(main[data-st-workbench=yes]) .st-wb-layers>details{border-bottom:1px solid var(--st-line)}
:where(main[data-st-workbench=yes]) .st-wb-layers>details>summary{font-size:var(--fs-micro);font-weight:700;min-height:40px}
:where(main[data-st-workbench=yes]) .st-rail-collapse,:where(main[data-st-workbench=yes]) .st-panel-close{font-size:var(--fs-micro);min-height:32px!important;min-width:32px;border:0;border-radius:0;flex:none;background:var(--st-raised)}
main[data-wb-rail-hidden=yes] .st-workbench-rail{display:none}
main[data-wb-rail-hidden=yes] .st-workbench-frame{grid-template-columns:minmax(0,1fr) clamp(300px,23vw,380px)}
main[data-wb-rail-hidden=yes][data-wb-side=none] .st-workbench-frame{grid-template-columns:minmax(0,1fr)}
main[data-wb-focus=map] .st-workbench-frame,main[data-wb-focus=products] .st-workbench-frame{grid-template-columns:minmax(0,1fr)}
main:is([data-wb-focus=map],[data-wb-focus=products]) :is(.st-workbench-rail,.st-workbench-inspector){display:none}
@media(max-width:1450px){body[data-st-workbench=yes] .st-workbench-nav .st-button{font-size:var(--fs-micro);padding-inline:8px}}
@media(max-height:820px) and (min-width:1024px){body[data-st-workbench=yes] .st-workbench-heading{min-height:52px}body[data-st-workbench=yes] .st-workbench-heading .sm-pagehead .pagehead-kicker{display:none}body[data-st-workbench=yes] .st-workbench-heading h1{font-size:var(--fs-lead)}body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity strong{font-size:var(--fs-small)}body[data-st-workbench=yes] .st-workbench-map-notes>summary{min-height:25px;padding:3px 9px!important}}
.st-place-manager li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}
.st-place-manager li>strong{flex-basis:100%}.st-place-manager form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.st-place-manager input{max-width:100%;min-width:0}
.st-velocity-controls{position:relative}.st-velocity-controls[open]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.st-velocity-controls input{max-width:180px}
.st-workspace-time{display:flex;gap:2px}.st-workspace-time button{font-size:var(--fs-micro);padding:5px;min-height:32px}
.st-product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.st-product-actions [role=status]{font-size:var(--fs-micro)}
.st-model-controls{position:sticky;top:0;z-index:3;background:var(--surface,#101e2c);padding:8px;border-bottom:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.st-model-controls .wx-model-identity{margin:0;flex-basis:100%}.st-model-controls .wx-guidance-settings{margin:0}.st-model-controls .wx-guidance-settings[open]{flex-basis:100%}.st-model-controls [data-st-model-status]{margin:0}.st-model-controls .wx-playback{margin:0;flex:1}
.st-model-controls .sva-hours{max-height:110px;overflow:auto}.st-graphic-dialog{width:min(95vw,1400px);max-height:95dvh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border)}.st-graphic-dialog>button{position:sticky;top:0;z-index:2}.st-graphic-dialog figure{margin:0}.st-graphic-dialog img,.st-graphic-dialog>.sm-figure>svg,.st-graphic-dialog figure>svg{width:100%;height:auto}
[data-st-workbench=yes] .wx-guidance-panes--compare .sva-picture-frame{max-height:45dvh;object-fit:contain}
.st-orientation{max-width:330px;min-width:0;line-height:1.4}
/* Workspace overlays are bounded by the frame, never by an assumed header height. */
:where(main[data-st-workbench=yes]) .st-workbench-frame{position:relative}
@media(max-width:1279px){:where(main[data-st-workbench=yes]) .st-workbench-inspector{top:0;bottom:0;right:0}}
.st-model-controls{background:var(--st-panel,#fff);color:var(--st-text,#102a43);border-color:var(--st-line,#96aabc)}
.st-graphic-dialog{background:var(--paper,#fff);color:var(--ink,#102a43)}
/* Keep the selected scientific picture above the fold with compact, persistent controls. */
[data-st-workbench=yes] .st-product-toolbar{min-height:48px;padding:7px 10px;gap:8px}
[data-st-workbench=yes] .st-product-toolbar .st-button,[data-st-workbench=yes] .st-model-controls .btn,[data-st-workbench=yes] .st-model-controls .st-button{min-height:32px;font-size:var(--fs-micro);padding:5px 8px}
[data-st-workbench=yes] #st-analysis>h2,[data-st-workbench=yes] [data-wx-guidance]>h2{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:where(main[data-st-workbench=yes]) .st-analysis-options{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;gap:6px;background:var(--st-panel);padding:4px 0;border-bottom:1px solid var(--st-line)}
:where(main[data-st-workbench=yes]) .st-analysis-options>nav{display:inline-flex;flex-wrap:wrap;gap:4px;margin:0!important;position:static!important}
:where(main[data-st-workbench=yes]) .st-analysis-options .st-button{min-height:32px;padding:5px 8px;font-size:var(--fs-micro)}
[data-st-workbench=yes] .st-context-meaning{margin:6px 0;font-size:var(--fs-micro)}
[data-st-workbench=yes] .st-model-controls{top:44px;padding:6px;gap:6px;align-items:center}
[data-st-workbench=yes] .st-model-controls .wx-playback{display:flex;flex:2 1 400px;flex-wrap:nowrap;gap:5px;align-items:center}
[data-st-workbench=yes] .st-model-controls .wx-playback label{display:flex;flex-direction:column;flex:1;min-width:110px;font-size:var(--fs-micro);gap:2px}
[data-st-workbench=yes] .st-model-controls .wx-guidance-settings>summary{min-height:32px;padding:5px 3px;font-size:var(--fs-micro)}
[data-st-workbench=yes] [data-st-model-status]:empty,[data-st-workbench=yes] [data-wx-frame-status]:empty{display:none}
[data-st-workbench=yes] [data-wx-guidance]{margin-top:4px}
[data-st-workbench=yes] .wx-guidance-panes{gap:10px}
/* The workspace from 768 × 480 (review of 2026-10-27, R1 first step): a short or narrow window gets
   the map, the alert list and the ticker on one screen instead of a 3,000–8,000px document, so its
   chrome tightens where height or width runs short. Nothing here hides an alert or a source state. */
@media(max-width:1023px){body[data-st-workbench=yes] main.st[data-st-workbench=yes]{grid-template-columns:minmax(0,1fr)}body[data-st-workbench=yes] .st-workbench-frame{grid-template-columns:200px minmax(0,1fr)}body[data-st-workbench=yes] main[data-wb-rail-hidden=yes] .st-workbench-frame{grid-template-columns:minmax(0,1fr)}body[data-st-workbench=yes] .st-workbench-heading{gap:10px}body[data-st-workbench=yes] .st-workbench-nav{flex-wrap:wrap;row-gap:4px}}
@media(max-height:760px){body[data-st-workbench=yes] main.st[data-st-workbench=yes]{padding:6px 12px;gap:6px}body[data-st-workbench=yes] .st-workbench-heading{min-height:44px;padding:4px 12px}body[data-st-workbench=yes] .st-workbench-heading :is(h1,.pagehead-title){font-size:var(--fs-lead)}body[data-st-workbench=yes] .st-workbench-heading .sm-pagehead .pagehead-kicker{display:none}body[data-st-workbench=yes] .st-workbench-heading .st-button,body[data-st-workbench=yes] .st-workbench-heading .seg-opt>span{min-height:30px;padding-block:4px}body[data-st-workbench=yes] .st-workbench-nav .st-button{min-height:30px;padding-block:4px}body[data-st-workbench=yes] .st-wb-map .st-map-toolbar{padding:4px}body[data-st-workbench=yes] .st-wb-map .st-map-toolbar .st-button{min-height:30px;padding-block:4px}body[data-st-workbench=yes] .st-wb-map :is(.st-severe-stage,.st-map-stage){min-height:140px}body[data-st-workbench=yes] .st-wb-map .st-replay-controls{padding:3px 8px}body[data-st-workbench=yes] .st-replay-controls .st-button{min-height:30px;padding-block:3px}body[data-st-workbench=yes] .st-workbench-map-notes>summary{min-height:24px;padding:3px 9px!important}body[data-st-workbench=yes] .st-alert-ticker{min-height:38px}body[data-st-workbench=yes] .st-ticker-items>a{min-height:32px}body[data-st-workbench=yes] .st-ticker-pause{min-height:36px;padding-block:4px}body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity{display:flex;align-items:center;gap:8px;padding-block:0}body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity .st-mode-mark{font-size:var(--fs-subhead);line-height:1}body[data-st-workbench=yes] .st-workbench-heading .st-mode-identity strong{font-size:var(--fs-small)}}
/* Where the workspace still does not apply (under 480px tall, or enlarged text), the ticker stays
   at the window's foot instead of after the sources at the end of the page (review F7). */
@media(min-width:768px){body:not([data-st-workbench=yes]):not([data-st-mobile=yes]) main>.st-alert-ticker{position:sticky;bottom:0;z-index:20}}
/* Narrower than the app bar's content, its actions take a second row rather than squeezing the area's name to nothing. */
@media(max-width:1099px){body[data-st-workbench=yes] .st-workbench-heading .pagehead.sm-pagehead .shell-inner{flex-wrap:wrap;row-gap:6px}body[data-st-workbench=yes] .st-workbench-heading .st-selected-head{flex-wrap:wrap;row-gap:6px}body[data-st-workbench=yes] .st-workbench-heading .st-severe-summary>p:nth-of-type(2){display:none}}
@media(forced-colors:active){.st-ticker-slot,.st-ticker-check{background:Canvas;color:CanvasText;border-color:CanvasText}.st-feed-dot{background:CanvasText}}
.st-ticker-slot>a>span:not(.st-ticker-time):not(.st-ticker-of){min-width:0;flex:1 1 auto}.st-ticker-slot :is(.st-ticker-time,.st-ticker-of),.st-ticker-slot strong{flex:none}
/* Fewer equal controls (critique of 2026-11-02): Weather Operations Mode is an ordinary button, the Alerts toggle is
   offered only to bring a hidden rail back, and Maximize is an icon at the end of the panel toggles. */
body[data-st-workbench=yes] main[data-st-workbench=yes]:not([data-wb-rail-hidden=yes]) .st-workspace-tools [data-st-workbench-view=alerts]{display:none}
body[data-st-workbench=yes] .st-workbench-nav .st-maximize{min-width:40px;padding:6px 9px;display:inline-flex;align-items:center;justify-content:center}

/* A failed refresh's one banner, under the app bar (critique of 2026-11-02, seventh run). The workspace's grid gives it
   its own row; the document view reads it in order. Amber, not crimson: it is about this page, not a hazard. */
.st-outage{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:8px 12px;border:1px solid var(--st-line);border-left:6px solid #e0a92a;border-radius:8px;background:var(--st-panel);color:var(--st-text);font-size:var(--fs-small);line-height:1.4}
/* Last known, not confirmed: what counted or named an emergency keeps its words and loses its crimson for the
   outage's amber edge (critique of 2026-11-03, eighth run). */
main[data-st-connection=unconfirmed] .st-urgent-toggle{background:var(--st-panel);color:var(--st-text);box-shadow:inset 0 0 0 2px var(--st-border),inset 6px 0 0 #e0a92a;max-width:100%;white-space:normal;text-align:left}
.st-last-known{font-weight:600}
/* An emergency's chip keeps NWS's own fill, framed in crimson with a gap, so a Tornado Emergency differs from a Tornado
   Warning at 5 m (critique of 2026-11-03, tenth run; the owner's choice). */
.sm-chip[data-sm-chip-emergency],.sm-wall .sm-pin-word{outline:.2em solid var(--st-attention,#b31930);outline-offset:.12em}
/* A place's verdict and the emergency rows are the last known in an outage, on the outage's amber edge, never crimson
   (critique of 2026-11-03, tenth run). Two selectors for the head: the app bar's own rule (event-tracking.css) is heavier. */
main[data-st-connection=unconfirmed] p.st-head-verdict[data-level],body[data-st-workbench=yes] main[data-st-connection=unconfirmed] .st-workbench-heading p.st-head-verdict[data-level],main[data-st-connection=unconfirmed] .st-inspector-body p.st-place-verdict[data-level]{background:var(--st-panel);color:var(--st-text);border-color:var(--st-line);border-left-color:#e0a92a}
.st-last-known-tag{font-weight:800}
main[data-st-connection=unconfirmed] .st-warning-list>li[data-level=emergency]{background:var(--st-panel);border-left-color:#e0a92a}
.st-alert-ticker[data-state=unconfirmed] .st-ticker-slot{background:#fff6dc;color:#34220a;border-right-color:#b48619;box-shadow:inset 6px 0 0 #b48619}
.st-outage>strong{font-weight:750}.st-outage-note{flex:1 1 24rem;min-width:0;color:var(--st-secondary)}.st-outage .st-button{margin-left:auto}
/* A phone keeps why an outage is not an all-clear (critique of 2026-11-03, ninth run); it had been hidden there. */
body[data-st-mobile=yes] .st-outage-note{flex-basis:100%}
/* On a phone the banner is three short lines with Retry beside the first, so the map is not pushed under the sheet: its
   unobstructed share had fallen from 21.5% to 1.2% (critique of 2026-11-03, tenth run). */
body[data-st-mobile=yes] .st-outage{gap:2px 8px;padding:6px 10px;line-height:1.3}
body[data-st-mobile=yes] .st-outage>strong{flex:1 1 60%}
body[data-st-mobile=yes] .st-outage .st-button{order:1;margin-left:auto;min-height:36px;padding:4px 12px}
body[data-st-mobile=yes] .st-outage-known{order:2;flex-basis:100%}
body[data-st-mobile=yes] .st-outage-note{order:3}
/* A phone's banner is one line and Retry; what it says in full is folded under that line (thirteenth run). */
.st-outage-more{display:none}
body[data-st-mobile=yes] .st-outage>:is(strong,.st-outage-known,.st-outage-note){display:none}
body[data-st-mobile=yes] .st-outage-more{display:block;flex:1 1 0;min-width:0}
body[data-st-mobile=yes] .st-outage-more>summary{font-weight:750;cursor:pointer;min-height:36px;display:flex;align-items:center;gap:4px}
body[data-st-mobile=yes] .st-outage-more>summary::-webkit-details-marker{display:none}
body[data-st-mobile=yes] .st-outage-more>summary::after{content:"";flex:none;width:.45em;height:.45em;margin:0 0 .25em .35em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
body[data-st-mobile=yes] .st-outage-more[open]>summary::after{margin:.25em 0 0 .35em;transform:rotate(-135deg)}
body[data-st-mobile=yes] .st-outage-more>p{margin:4px 0 0;color:var(--st-secondary)}
body[data-st-mobile=yes] .st-outage .st-button{order:0}.st-outage .st-button{min-height:36px;padding:6px 14px;font-size:var(--fs-small)}
body[data-st-workbench=yes] main.st[data-st-workbench=yes]:has(>.st-outage){grid-template-rows:auto auto minmax(0,1fr) auto}
.st-spot-unconfirmed{font-weight:600;color:var(--st-secondary)}

/* The wall's Sources mark keeps the 12px floor (critique of 2026-11-02, seventh run). */
.smw-info-i{font-size:var(--fs-micro)}
/* A wall opened on a narrow screen wraps its tools rather than widening the page. */
.smw-tools{flex-wrap:wrap}
/* Under 768px (Operations Mode on a phone) the header is a column: the title takes the width, and the clocks and the
   controls each take a row under it (critique of 2026-11-03, eighth run: the title column had been 0px wide and the
   page 489/650px wide at 390). */
@media (max-width:767px){
  .sm-wall .smw-bar{grid-template-columns:auto minmax(0,1fr);row-gap:.4rem}
  .sm-wall .smw-bar>:is(.smw-clocks,.smw-tools){grid-column:1 / -1}
  .sm-wall .smw-clocks{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1rem;text-align:left}
  .sm-wall .smw-tools{flex-wrap:wrap}
  .sm-wall .st-wall-map-head .st-wall-chips{flex-basis:100%}
  .sm-wall .st-wall-chip{max-width:100%;white-space:normal}
  /* A wall opened on a phone scrolls, one card under another, rather than fitting one screen: its spotlight had been
     squeezed to 18px and its pinned emergencies to 12px (critique of 2026-11-03, tenth run). */
  body.sm-wall{height:auto;overflow:auto}
  .sm-wall .smw{height:auto;min-height:100dvh}
  .sm-wall .smw>.smw-grid{flex:none}
  .sm-wall .st-wall-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
  .sm-wall .st-wall-grid>.st-wall-map{grid-column:1;grid-row:1;height:60vh}
  .sm-wall .st-wall-grid>.st-wall-side{grid-column:1;grid-row:2;overflow:visible}
  .sm-wall .st-wall-side>*{flex:none!important;min-height:0;max-height:none}
}
