/* Shared review corrections; semantic colors and responsive record layout. */
html[data-theme] body{--review-green:#167647;--review-yellow:#8a5a00;--review-red:#b72b3a}
html[data-theme=dark] body{--review-green:#52d994;--review-yellow:#ffd166;--review-red:#ff7b87}
html[data-theme] body .record-status-badge[data-tone=good],html[data-theme] body [data-tone=safe]{color:var(--review-green)!important;background:color-mix(in srgb,var(--review-green) 12%,transparent)!important;border-color:var(--review-green)!important}
html[data-theme] body .record-status-badge[data-tone=attention]{color:var(--review-yellow)!important;background:color-mix(in srgb,var(--review-yellow) 12%,transparent)!important}
html[data-theme] body .record-status-badge[data-tone=critical]{color:var(--review-red)!important;background:color-mix(in srgb,var(--review-red) 12%,transparent)!important}
html[data-theme] body .conversation-label strong{font-weight:600!important;text-shadow:none!important;-webkit-text-stroke:0!important;letter-spacing:normal;line-height:1.4}
html[data-theme] body .table-tools{display:flex!important;flex-wrap:wrap;align-items:end;gap:12px!important;padding:12px 0!important;background:none!important;border:0!important;box-shadow:none!important}
html[data-theme] body .table-tools>.ops-fields{display:block!important;flex:1 1 320px;margin:0!important;padding:0!important}
html[data-theme] body .table-tools>select{flex:0 1 190px;width:auto!important;min-width:160px}
html[data-theme] body .table-tools :is(button,select,input,summary),html[data-theme] body .ops-actions :is(button,summary){min-height:44px!important;height:auto!important;padding:10px 14px!important;font-size:14px!important}
html[data-theme] body .record-view-menu{position:relative;flex:0 0 auto;border:1px solid var(--stroke);border-radius:8px;padding:0!important}
html[data-theme] body .record-view-menu[open]{display:flex;flex-wrap:wrap;gap:8px;padding:10px!important;flex-basis:100%}
html[data-theme] body .record-view-menu>summary{cursor:pointer;font-weight:600}
html[data-theme] body .record-view-menu :is(select,button,.column-picker){width:auto!important;max-width:100%;flex:0 1 auto}
html[data-theme] body .ops-actions{gap:8px!important;align-items:center!important;margin-bottom:12px!important}
html[data-theme] body .records-table th button{border:0!important;background:transparent!important;box-shadow:none!important;padding:6px 0!important;min-height:44px;color:var(--text)!important;text-align:left}
html[data-theme] body .records-table td{padding:14px 16px!important;vertical-align:top;line-height:1.45}
html[data-theme] body .record-title button{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:left;font-weight:600!important;line-height:1.5}
html[data-theme] body .record-title small{display:block;color:var(--text-muted);font-size:12px;margin-top:4px}
html[data-theme] body .records-table .record-title{width:24%}html[data-theme] body .records-table .record-date{min-width:130px}
html[data-theme] body .record-actions-cell{white-space:nowrap}html[data-theme] body .record-row-actions{display:inline-block;margin-left:8px}
html[data-theme] body .records-empty{padding:24px 16px!important;border:0!important;background:transparent!important;border-radius:0!important}
html[data-theme] body .records-empty h3{font-size:17px!important;margin:0 0 6px}
html[data-theme] body .table-footer{padding:12px 0!important;margin:0!important;font-size:13px;min-height:0!important}
html[data-theme] body .table-scroll{border-radius:8px!important}
html[data-theme] body #ops-readiness{margin:0;padding:0;background:none;border:0;font-size:13px;line-height:1.5}
html[data-theme] body .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
html[data-theme] body .metric-grid .metric{padding:16px!important;min-height:0!important}
html[data-theme] body .metric[data-tone=good]{border-color:var(--review-green);color:var(--review-green)}
html[data-theme] body .metric[data-tone=attention]{border-color:var(--review-yellow);color:var(--review-yellow)}
html[data-theme] body .metric[data-tone=critical]{border-color:var(--review-red);color:var(--review-red)}
html[data-theme] body :is(.wind-compass,.map-wind-dial){border:3px solid var(--wind-edge);box-shadow:inset 0 0 0 2px var(--wind-face),inset 0 0 5px #0005,0 1px 2px #0003;background:radial-gradient(circle,var(--wind-face) 60%,transparent 61%),repeating-conic-gradient(from 0deg,var(--wind-edge) 0deg 1deg,var(--wind-face) 1deg 15deg)}
html[data-theme] body .wx-summary{align-items:stretch!important}
html[data-theme] body .wx-summary>.wx-status-stack{display:contents!important}
html[data-theme] body .wx-status-stack>:is(section,div){margin:0!important;min-height:0!important;border:1px solid var(--stroke);border-radius:12px;padding:16px!important;background:var(--surface)}
html[data-theme] body .flight-weather-banner{display:flex!important;flex-direction:column;align-items:start!important;justify-content:start!important;gap:8px!important;min-height:0!important;height:auto!important;padding:16px!important}
html[data-theme] body .flight-weather-banner strong{font-size:21px!important;line-height:1.2}
html[data-theme] body .flight-weather-banner :is(span,small,details){grid-column:auto!important;white-space:normal}
html[data-theme] body .flight-weather-banner.safe{border-color:var(--review-green);box-shadow:inset 0 0 18px #23ad621a!important}
html[data-theme] body .flight-weather-banner.caution,html[data-theme] body .flight-weather-banner.unknown{border-color:var(--review-yellow);box-shadow:inset 0 0 18px #c3891f1a!important}
html[data-theme] body .flight-weather-banner.unsafe{border-color:var(--review-red);box-shadow:inset 0 0 18px #db304e1a!important}
html[data-theme] body .next-four{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html[data-theme] body .forecast-slot{padding:10px!important;min-width:0;font-size:13px}
html[data-theme] body .weather-condition-icon{width:32px;height:32px;object-fit:contain;vertical-align:middle}
html[data-theme] body .current-connection{font-size:12px;display:grid;gap:4px;margin-top:12px}
html[data-theme] body .wx-alerts h3{font-size:16px;margin:0 0 6px}
html[data-theme] body .wx-alerts p{font-size:13px;margin:6px 0}
@media(max-width:1000px){html[data-theme] body .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){html[data-theme] body .metric-grid{grid-template-columns:minmax(0,1fr)!important}html[data-theme] body .table-tools>.ops-fields{flex-basis:100%}html[data-theme] body .records-table{min-width:620px}html[data-theme] body .table-scroll{overflow:auto}html[data-theme] body .ops-actions{flex-wrap:wrap}html[data-theme] body .record-export-menu{margin-left:auto}}

.weather-condition-icon{width:40px;height:40px;object-fit:contain;vertical-align:middle}.current-weather-art .weather-condition-icon{width:64px;height:64px}.readiness-metric p{font-size:.85rem;line-height:1.4;margin:.4rem 0;max-height:6em;overflow:auto}.readiness-metric[data-state=within] strong{color:var(--status-good,#4ade80)}.readiness-metric[data-state=advisory] strong{color:var(--status-attention,#facc15)}.readiness-metric[data-state=exceeded] strong{color:var(--status-critical,#f87171)}

.traffic-heading img{width:26px;height:26px;filter:invert(72%) sepia(90%) saturate(900%) hue-rotate(2deg);filter:drop-shadow(0 0 1px #fff)}.traffic-trail-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.5rem 0}.traffic-trail-controls select{width:auto;min-height:40px}.traffic-trail-controls small,.traffic-trail-controls a{font-size:.75rem}.traffic-trail-controls a{margin-left:auto}

html[data-theme] body [data-semantic-tone=good]{color:var(--review-green)!important;background:color-mix(in srgb,var(--review-green) 12%,transparent)!important;border-color:var(--review-green)!important}html[data-theme] body [data-semantic-tone=attention]{color:var(--review-yellow)!important;background:color-mix(in srgb,var(--review-yellow) 12%,transparent)!important;border-color:var(--review-yellow)!important}html[data-theme] body [data-semantic-tone=critical]{color:var(--review-red)!important;background:color-mix(in srgb,var(--review-red) 12%,transparent)!important;border-color:var(--review-red)!important}#notification-settings>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}#notification-settings input[type=checkbox]{width:auto;min-height:20px;margin-right:8px}#notification-settings input[type=time]{width:auto;margin:5px}#notification-settings button{margin:6px 6px 6px 0}

html[data-theme] body #ops-list table.records-table thead th button{border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;outline-offset:3px!important;padding:5px 0!important;font-size:13px!important;min-height:36px!important}html[data-theme] body .wx-summary{align-items:stretch!important}html[data-theme] body #weather-gnss{align-self:stretch!important;height:auto!important;min-height:0!important}html[data-theme] body #wx-next-four .forecast-slot{padding:10px!important;gap:4px!important;min-height:0!important}html[data-theme] body #wx-next-four .forecast-slot>strong{font-size:21px!important;margin:0!important}html[data-theme] body #wx-next-four .weather-condition-icon{width:28px;height:28px}html[data-theme] body #wx-next-four .forecast-slot>span{font-size:12px!important}html[data-theme] body #wx-flight-banner.caution{border-color:var(--review-yellow)!important;box-shadow:inset 0 0 18px color-mix(in srgb,var(--review-yellow) 24%,transparent)!important}html[data-theme] body #wx-flight-banner.caution .weather-verdict-heading>strong{color:var(--review-yellow)!important}html[data-theme] body .conversation-row strong{font-weight:600!important;text-shadow:none!important;-webkit-text-stroke:0!important}html[data-theme] body #workspace-sidebar summary{white-space:normal!important;line-height:1.35}html[data-theme] body #workspace-sidebar summary>span{overflow:visible!important;text-overflow:clip!important;white-space:normal!important}

.weather-verdict-heading{display:grid!important;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:center}.weather-verdict-heading small{grid-column:2}.weather-status-icon{display:inline-flex;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;align-items:center;justify-content:center;font-size:14px;font-weight:700}.flight-weather-banner.safe .weather-status-icon{color:var(--review-green)}.flight-weather-banner.caution .weather-status-icon{color:var(--review-yellow)}.flight-weather-banner.unsafe .weather-status-icon{color:var(--review-red)}html[data-theme] body .flight-weather-banner.unknown{background-image:repeating-linear-gradient(-45deg,transparent,transparent 12px,#88888809 12px,#88888809 14px)!important}#wx-official-alerts[data-alert-state=within] .official-alert-status{color:var(--review-green)}#wx-official-alerts[data-alert-state=exceeded] summary{color:var(--review-red)}#wx-official-alerts[data-alert-state=advisory] summary{color:var(--review-yellow)}html[data-theme=dark] body .traffic-heading img{filter:invert(1) drop-shadow(0 0 1px #000)}html[data-theme=light] body .traffic-heading img{filter:drop-shadow(0 0 1px #fff)}

html[data-theme] body #workspace-sidebar .nav-group > summary{white-space:normal!important;line-height:1.35!important;min-width:0!important}html[data-theme] body #workspace-sidebar .nav-group > summary>[data-nav-label]{min-width:0;flex:1;white-space:normal!important;overflow-wrap:normal}html[data-theme] body #workspace-sidebar .nav-group > summary:after{flex:none;margin-left:0}html[data-theme] body .flight-weather-banner .weather-verdict-heading{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:2px 8px!important}html[data-theme] body .flight-weather-banner .weather-verdict-heading .weather-status-icon{grid-column:1!important;grid-row:1!important}html[data-theme] body .flight-weather-banner .weather-verdict-heading strong{grid-column:2!important;grid-row:1!important}html[data-theme] body .flight-weather-banner .weather-verdict-heading small{grid-column:2!important;grid-row:2!important}
html[data-theme=dark] body img.weather-condition-icon[src$="/not-available.svg"]{filter:brightness(0) invert(.7)}

/* Recovery refinement: shared tokens from the supplied design reference. */
html[data-theme],html[data-theme] body{--page:#f3f4f1;--surface:#fff;--surface-soft:#eceeea;--surface-raised:#eceeea;--stroke:#cbd0d2;--text:#13181d;--text-muted:#454f5b;--meta:#606b77;--accent:#f0b43a;--accent-text:#855700;--accent-soft:#f9efd5;--good-text:#11734f;--good-bg:#e5f3ec;--warn-text:#8a5a00;--warn-bg:#fff3d3;--bad-text:#bf2929;--bad-bg:#fbeaea;--review-green:#11734f;--review-yellow:#8a5a00;--review-red:#bf2929;--data-text:#0b6d9b;--unknown:#606b77}
html[data-theme=dark],html[data-theme=dark] body{--page:#0a0c0f;--surface:#171c22;--surface-soft:#1e242c;--surface-raised:#1e242c;--stroke:#39424c;--text:#ecf1f6;--text-muted:#b0bac6;--meta:#909dab;--accent:#f8bd40;--accent-text:#f8bd40;--accent-soft:#3b321f;--good-text:#39d493;--good-bg:#17382d;--warn-text:#ffd166;--warn-bg:#39311e;--bad-text:#ff666b;--bad-bg:#40252a;--review-green:#39d493;--review-yellow:#ffd166;--review-red:#ff666b;--data-text:#58c9fa;--unknown:#9ba8b5}
html[data-theme] body{font-size:14px;line-height:1.5}
html[data-theme] body :is(h2,#page-title){font-size:24px;line-height:1.25;letter-spacing:-.02em}
html[data-theme] body :is(.card h3,.card h4){font-size:16px;line-height:1.35;font-weight:650}
html[data-theme] body :is(.card,.operation-metric,.readiness-card){border-radius:12px;box-shadow:none}
html[data-theme] body :is(.card:not(#ops-editor),.operation-metric){align-self:start}
html[data-theme] body :is(button,.button,input,select){min-height:36px}
html[data-theme] body :is(button,.button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--accent-text)!important;outline-offset:3px!important;box-shadow:0 0 0 5px var(--surface)!important}
html[data-theme] body :is(button.primary,.button.primary){background:var(--accent)!important;color:#171c22!important;border-color:var(--accent)!important}
html[data-theme] body .flight-weather-banner.unknown{border-color:var(--unknown)!important;color:var(--text);box-shadow:none!important}
html[data-theme] body .flight-weather-banner.unknown .weather-status-icon{color:var(--unknown)}
html[data-theme] body .flight-weather-banner{box-shadow:none!important;border-width:1px!important}
html[data-theme] body .flight-weather-banner.safe{box-shadow:inset 0 0 25px #39d49312!important}
html[data-theme] body .flight-weather-banner.caution{box-shadow:inset 0 0 25px #ffd16612!important}
html[data-theme] body .flight-weather-banner.unsafe{box-shadow:inset 0 0 25px #ff666b12!important}
html[data-theme] body #wx-conditions[hidden],html[data-theme] body [data-wx-view][hidden]{display:none!important}
html[data-theme] body .wx-forecast-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
html[data-theme] body .wx-forecast-layout>.card{margin:0!important;height:auto!important;align-self:stretch!important;min-width:0!important}
html[data-theme] body .wx-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
html[data-theme] body #weather-gnss{grid-column:2!important;grid-row:3!important;margin-top:0!important}
html[data-theme] body .wx-status-stack #wx-flight-banner{grid-column:1/-1!important;grid-row:1!important;margin:0!important}html[data-theme] body .wx-status-stack .wx-upcoming{grid-column:2!important;grid-row:2!important}html[data-theme] body .wx-status-stack #wx-official-alerts{grid-column:1!important;grid-row:3!important}
html[data-theme] body #wx-observation{grid-column:1!important;grid-row:2!important}
html[data-theme] body .wx-summary .current-weather-top{grid-template-columns:minmax(0,1fr) 96px!important}
html[data-theme] body .traffic-trail-controls{position:static!important;display:flex!important;flex-wrap:wrap;gap:8px;padding:12px;margin:0;min-height:0;height:auto}
html[data-theme] body .traffic-trail-controls small{flex:1 1 220px;font-size:12px}
html[data-theme] body #planning-map-card .map-selection-row{height:auto!important;flex-wrap:wrap;gap:8px}
html[data-theme] body :is(.current-connection,.wx-sources,.wx-data-note){font-size:12px;line-height:1.5}
html[data-theme] body .wind-compass[data-state=stale]{opacity:.7}
@media(max-width:1100px){html[data-theme] body .wx-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}html[data-theme] body #weather-gnss{grid-column:2!important}}
@media(max-width:640px){html[data-theme] body .wx-summary{grid-template-columns:minmax(0,1fr)!important}html[data-theme] body .wx-status-stack,html[data-theme] body #wx-observation,html[data-theme] body #weather-gnss{grid-column:1!important;grid-row:auto!important}html[data-theme] body :is(button,.button,input,select,summary){min-height:44px!important}html[data-theme] body #planning-map-card .map-selection-row button{min-height:44px!important}html[data-theme] body :is(h2,#page-title){font-size:22px}html[data-theme] body .wx-summary>*{padding:12px!important}}
@media(pointer:coarse){html[data-theme] body :is(button,.button,input,select,summary){min-height:44px!important}}
@media(prefers-reduced-motion:reduce){html[data-theme] body *,html[data-theme] body *::before,html[data-theme] body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html[data-theme] body .wx-forecast-layout>.wx-forecast-visual{grid-column:1!important;grid-row:1!important}
html[data-theme] body .wx-forecast-layout>.wx-seven-day{grid-column:2!important;grid-row:1!important}
html[data-theme] body #wx-flight-banner.safe{box-shadow:inset 0 0 25px #39d49316!important}
html[data-theme] body #wx-flight-banner.caution{box-shadow:inset 0 0 25px #ffd16616!important}
html[data-theme] body #wx-flight-banner.unsafe{box-shadow:inset 0 0 25px #ff666b16!important}
html[data-theme] body .wx-workspace:not([data-weather-tab=conditions]) .wx-summary :is(#wx-observation,#weather-gnss,.wx-upcoming,.wx-alerts){display:none!important}
html[data-theme] body .wx-workspace:not([data-weather-tab=conditions]) .wx-summary{display:block!important}
html[data-theme] body .wx-workspace:not([data-weather-tab=conditions]) .wx-status-stack{display:block!important}
html[data-theme] body .wx-workspace:not([data-weather-tab=conditions]) #wx-flight-banner{gap:4px!important;padding:12px 16px!important}
html[data-theme] body .wx-workspace:not([data-weather-tab=conditions]) #wx-flight-banner strong{font-size:18px!important}
@media(max-width:800px){html[data-theme] body .wx-forecast-layout>.wx-seven-day{grid-column:1!important;grid-row:2!important}}

/* Permission and lifecycle visibility must win over component display rules. */
html[data-theme] body #workspace [hidden],html[data-theme] body #workspace-sidebar [data-view][hidden],html[data-theme] body #workspace [data-panel][hidden]{display:none!important}

html[data-theme] body #ops-editor:not([hidden]){align-self:stretch!important;height:100dvh!important;max-height:100dvh!important;overflow:auto!important}

html[data-theme] body.dji-pilot main{background:var(--surface);color:var(--text);border:1px solid var(--stroke);border-radius:12px;padding:24px}
html[data-theme] body.dji-pilot :is(input,button){background:var(--surface-soft);color:var(--text);border-color:var(--stroke)}
@media(max-width:640px),(pointer:coarse){html[data-theme] body #ops-list table.records-table thead th button,html[data-theme] body .record-row-actions>summary,html[data-theme] body #wx-tabs button{min-height:44px!important}html[data-theme] body .leaflet-bar a{min-width:44px;min-height:44px;line-height:44px}}

/* Matched weather rows. Expanded daily details always remain in document flow. */
html[data-theme] body .wx-summary :is(#wx-flight-banner,#wx-observation,.wx-upcoming,#wx-official-alerts,#weather-gnss){align-self:stretch!important;min-width:0!important;height:auto!important;margin:0!important;box-sizing:border-box}
html[data-theme] body .wx-status-stack .wx-upcoming{display:flex!important;flex-direction:column}
html[data-theme] body .wx-status-stack .wx-upcoming .next-four{flex:1;grid-template-columns:repeat(2,minmax(0,1fr))!important}
html[data-theme] body .wx-forecast-layout .wx-forecast-visual{display:flex!important;flex-direction:column}
html[data-theme] body .wx-forecast-layout #wx-chart{min-height:240px}
@media(max-width:800px){
 html[data-theme] body .wx-summary,html[data-theme] body #wx-conditions>.wx-forecast-layout{grid-template-columns:minmax(0,1fr)!important}
 html[data-theme] body .wx-summary :is(#wx-flight-banner,#wx-observation,.wx-upcoming,#wx-official-alerts,#weather-gnss),html[data-theme] body .wx-forecast-layout>:is(.wx-forecast-visual,.wx-seven-day){grid-column:1!important;grid-row:auto!important}
}

/* Type/category sizes stay centered inside a consistent accessible hit target. */
.slfd-traffic-icon .traffic-heading{width:44px;height:44px;display:flex;align-items:center;justify-content:center;transform-origin:50% 50%}
.traffic-uas .traffic-heading svg{width:26px;height:26px}
.traffic-silhouette{display:block;flex:none;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}
.traffic-aircraft{color:var(--text-secondary,#a0a6af)}
.traffic-aircraft.traffic-alt-low{color:#ff6675}.traffic-aircraft.traffic-alt-medium{color:#f8c443}.traffic-aircraft.traffic-alt-high,.traffic-aircraft.traffic-alt-unknown{color:#aeb9c5}
html[data-theme=light] .traffic-aircraft.traffic-alt-low{color:#ba2637}html[data-theme=light] .traffic-aircraft.traffic-alt-medium{color:#8b6100}html[data-theme=light] .traffic-aircraft.traffic-alt-high,html[data-theme=light] .traffic-aircraft.traffic-alt-unknown{color:#485565}

.map-selection-row{align-items:center;gap:12px}.map-selection-row #map-selection-summary{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5;flex:1}.map-selection-row button{flex:none}

/* Short-term forecast tiles use the existing space for named hourly values. */
html[data-theme] body .forecast-slot{display:flex;flex-direction:column;gap:8px;padding:12px!important;min-width:0}
html[data-theme] body #wx-next-four .forecast-slot{padding:12px!important;gap:8px!important}
.forecast-hour-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.forecast-hour-heading>small{font-size:13px;font-weight:650}.forecast-hour-heading .weather-condition-icon{width:28px;height:28px;flex:none}
.forecast-temperature{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.forecast-temperature>strong{font-size:24px;line-height:1.2}.forecast-temperature>small{font-size:12px;color:var(--text-secondary,var(--text-muted))}
.forecast-conditions{margin:0;line-height:1.4;font-size:13px;min-height:2.8em;overflow-wrap:anywhere}
.forecast-hour-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;margin:0;min-width:0}.forecast-hour-facts>div{min-width:0}.forecast-hour-facts dt{font-size:11px;line-height:1.4;color:var(--text-secondary,var(--text-muted))}.forecast-hour-facts dd{margin:3px 0 0;font-size:14px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.forecast-hour-facts .forecast-wind-from{display:block;margin-top:3px;min-height:2.7em;font-size:11px;font-weight:400;color:var(--text-secondary,var(--text-muted))}
html[data-theme] body .forecast-slot>.weather-rain-meter{margin-top:auto!important}.forecast-stale{font-size:12px;color:var(--review-yellow)}

/* A reserved, responsive current-condition illustration; motion never affects layout. */
html[data-theme] body #workspace .current-weather-top{container-name:current-condition;container-type:inline-size}
html[data-theme] body #workspace .current-weather-reading{grid-template-columns:minmax(0,1fr) minmax(64px,36%);column-gap:8px;row-gap:4px}
html[data-theme] body #workspace .current-weather-reading .current-weather-art{width:100%!important;max-width:128px!important;height:auto!important;aspect-ratio:1;justify-self:center;pointer-events:none}
.weather-hero-icon{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.weather-hero-sun circle{fill:#fbbf24;stroke:#f59e0b;stroke-width:2}.weather-hero-rays{stroke:#fbbf24;stroke-width:4}.weather-hero-sun{filter:drop-shadow(0 0 5px #fbbf2433)}
.weather-hero-cloud>path:first-child{fill:#e6edf3;stroke:#9aabb9;stroke-width:2}.weather-hero-cloud-shine{stroke:#fff;stroke-width:4;opacity:.8}.weather-hero-back-cloud{transform:translate(9px,-15px) scale(.85);opacity:.6}
.weather-hero-rain{stroke:#58b9f7;stroke-width:4;stroke-dasharray:6 11}.weather-hero-snow{stroke:#9ad9ff;stroke-width:2}.weather-hero-fog{stroke:#9aabb9;stroke-width:5;opacity:.8}.weather-hero-bolt{fill:#fbbf24;stroke:#f59e0b;stroke-width:1.5}
.weather-hero-moon>path{fill:#c6d9f1;stroke:#9fb6d0;stroke-width:2}.weather-hero-stars{fill:#d7e6f8}.weather-hero-unknown{stroke:#94a3b8;stroke-width:3;stroke-dasharray:4 6}.weather-hero-question{font:600 54px system-ui,sans-serif;fill:#94a3b8}
@container current-condition (min-width:300px){html[data-theme] body #workspace .current-weather-reading .weather-temp{grid-column:1;grid-row:1}html[data-theme] body #workspace .current-weather-reading .weather-description{grid-column:1;grid-row:2}html[data-theme] body #workspace .current-weather-reading .current-weather-art{grid-column:2;grid-row:1/span 2}}
@media(prefers-reduced-motion:no-preference){.weather-hero-rays{animation:slfd-weather-rays 32s linear infinite;transform-box:view-box}.weather-hero-cloud{animation:slfd-weather-cloud 6s ease-in-out infinite alternate}.weather-hero-rain{animation:slfd-weather-rain 1.8s linear infinite}.weather-hero-snow{animation:slfd-weather-snow 3.8s ease-in-out infinite alternate}.weather-hero-fog{animation:slfd-weather-fog 5s ease-in-out infinite alternate}.weather-hero-bolt,.weather-hero-stars{animation:slfd-weather-glow 4.5s ease-in-out infinite alternate}}
@keyframes slfd-weather-rays{to{transform:rotate(360deg)}}@keyframes slfd-weather-cloud{to{transform:translateX(3px)}}@keyframes slfd-weather-rain{to{stroke-dashoffset:-17}}@keyframes slfd-weather-snow{to{transform:translateY(6px);opacity:.55}}@keyframes slfd-weather-fog{to{transform:translateX(4px);opacity:.5}}@keyframes slfd-weather-glow{to{opacity:.55}}
@media(prefers-reduced-motion:reduce){.weather-hero-icon *{animation:none!important;transition:none!important}}
