/* Sheridan Media Weather — scoped to .smw so it can't fight the theme. */

/* Break out of narrow theme content columns: up to 1200px, centered on the parent.
   Block themes force max-width + margin:auto !important on content children, hence the overrides. */
#smw-root.smw {
	width: min(1200px, calc(100vw - 32px));
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
#smw-root.smw.smw-contained { width: auto; left: 0; transform: none; }

.smw {
	--smw-navy: #262d66;
	--smw-navy-2: #1a1f4a;
	--smw-gold: #ffca41;
	--smw-ink: #1d2233;
	--smw-muted: #636a80;
	--smw-line: #e3e6ef;
	--smw-card: #ffffff;
	--smw-bg: #f4f6fb;
	--smw-warm: #e2602f;
	--smw-cold: #2f7de2;
	--smw-rain: #2b8fd6;
	--smw-radius: 14px;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--smw-ink);
	line-height: 1.4;
	display: grid;
	gap: 18px;
	font-variant-numeric: tabular-nums;
}
.smw *, .smw *::before, .smw *::after { box-sizing: border-box; }
.smw h2, .smw h3 { margin: 0; padding: 0; border: 0; text-transform: none; letter-spacing: 0; }
.smw button { font: inherit; }
.smw [hidden] { display: none !important; }
.smw a { color: inherit; }

/* ---------- Area weather alerts (top of page) ---------- */
.smw-alerts { display: grid; gap: 10px; }
.smw-al-clear {
	display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 12px;
	background: #e9f7ee; color: #1b6e37; font-weight: 600; font-size: .95rem;
}
.smw-al-clear svg { width: 22px; height: 22px; flex: none; color: #24a148; }
.smw-al-head {
	display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: .82rem;
	text-transform: uppercase; letter-spacing: .08em; color: #8c1118;
}
.smw-al-pulse { width: 10px; height: 10px; border-radius: 50%; background: #e0352b; box-shadow: 0 0 0 0 rgba(224, 53, 43, .6); animation: smw-pulse 1.8s infinite; flex: none; }
@keyframes smw-pulse { 70% { box-shadow: 0 0 0 10px rgba(224, 53, 43, 0); } 100% { box-shadow: 0 0 0 0 rgba(224, 53, 43, 0); } }
.smw-al-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 12px; }
.smw-al {
	position: relative; border-radius: 16px; padding: 18px 20px; color: #fff; overflow: hidden;
	box-shadow: 0 8px 24px rgba(20, 20, 40, .18); --smw-al-ink: #b3141c;
}
.smw-al::after { content: ""; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255, 255, 255, .08); pointer-events: none; }
.smw-al-warning   { background: linear-gradient(135deg, #a3121a 0%, #e0352b 100%); --smw-al-ink: #b3141c; }
.smw-al-watch     { background: linear-gradient(135deg, #a84300 0%, #ef7d1a 100%); --smw-al-ink: #c25400; }
.smw-al-advisory  { background: linear-gradient(135deg, #ffd84d 0%, #f5b301 100%); color: #3a2600; --smw-al-ink: #a46f00; }
.smw-al-statement { background: linear-gradient(135deg, #1b4a8a 0%, #2f74c0 100%); --smw-al-ink: #1d58a4; }
.smw-al-top { display: flex; align-items: center; gap: 14px; position: relative; z-index: 1; }
.smw-al-ico {
	width: 60px; height: 60px; flex: none; border-radius: 50%; background: #fff; color: var(--smw-al-ink);
	display: grid; place-items: center; box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.smw-al-ico svg { width: 36px; height: 36px; }
.smw-al-title { min-width: 0; }
.smw-al-type {
	display: inline-block; font-size: .7rem; font-weight: 800; letter-spacing: .14em; padding: 2px 9px;
	border-radius: 999px; background: rgba(255, 255, 255, .22);
}
.smw-al-advisory .smw-al-type { background: rgba(0, 0, 0, .1); }
.smw .smw-al h3 { color: inherit; font-size: 1.55rem; font-weight: 800; line-height: 1.15; margin: 4px 0 2px; }
.smw-al-when { font-size: 1.05rem; font-weight: 600; opacity: .95; }
.smw-al-towns { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; position: relative; z-index: 1; }
.smw-al-towns span {
	display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px;
	background: rgba(255, 255, 255, .2); font-weight: 700; font-size: .88rem;
}
.smw-al-towns span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .8; }
.smw-al-advisory .smw-al-towns span { background: rgba(0, 0, 0, .09); }
.smw-al-sum { margin: 12px 0 0; font-size: 1rem; line-height: 1.45; position: relative; z-index: 1; }
.smw-al-more { margin-top: 12px; position: relative; z-index: 1; }
.smw-al-more summary {
	list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .92rem;
	padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .2);
}
.smw-al-advisory .smw-al-more summary { background: rgba(0, 0, 0, .1); }
.smw-al-more summary::-webkit-details-marker { display: none; }
.smw-al-more summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); margin-left: 2px; transition: transform .15s; }
.smw-al-more[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.smw-al-more dl { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, .14); font-size: .93rem; line-height: 1.45; }
.smw-al-advisory .smw-al-more dl { background: rgba(255, 255, 255, .45); }
.smw-al-row { margin: 0 0 8px; }
.smw-al-row:last-child { margin-bottom: 0; }
.smw-al-more dt { font-weight: 800; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; opacity: .85; margin: 0; }
.smw-al-more dd { margin: 1px 0 0; }
.smw-al-more dl p { margin: 0 0 8px; }
.smw-al-todo { margin-top: 10px; }
.smw .smw-al-todo h4 { color: inherit; margin: 0 0 2px; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.smw-al-todo p { margin: 0; font-size: .93rem; line-height: 1.45; }
.smw-al-src { margin: 10px 0 0; font-size: .78rem; opacity: .8; }

/* readable wind */
.smw-wind small { display: block; font-size: .78em; opacity: .85; }
.smw-wind-m { display: none; font-size: .75rem; color: var(--smw-muted); margin-top: 1px; }

/* ---------- Hero / current ---------- */
.smw-hero {
	background: linear-gradient(135deg, var(--smw-navy) 0%, var(--smw-navy-2) 100%);
	color: #fff;
	border-radius: var(--smw-radius);
	padding: 22px 24px;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}
.smw-hero-title { font-size: 1.05rem; font-weight: 700; color: var(--smw-gold); }
.smw-hero-updated { font-size: .82rem; opacity: .75; margin-top: 2px; }
.smw-hero-now { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
.smw-hero-now .smw-ico { width: 96px; height: 96px; flex: none; }
.smw-now-temp { font-size: 4.6rem; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.smw-now-temp sup { font-size: .4em; vertical-align: top; position: relative; top: .35em; font-weight: 600; }
.smw-now-text { font-size: 1.25rem; font-weight: 600; }
.smw-now-sub { font-size: .92rem; opacity: .85; margin-top: 2px; }
.smw-now-hilo { margin-top: 6px; font-size: .95rem; }
.smw-now-hilo b { color: var(--smw-gold); }
.smw-hero-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-content: center; }
.smw-stat { background: rgba(255, 255, 255, .08); border-radius: 10px; padding: 10px 12px; }
.smw-stat-k { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.smw-stat-v { font-size: 1.15rem; font-weight: 700; margin-top: 2px; }
.smw-stat-v small { font-size: .75em; font-weight: 500; opacity: .8; }

/* ---------- Cards ---------- */
.smw-card { background: var(--smw-card); border: 1px solid var(--smw-line); border-radius: var(--smw-radius); padding: 16px 18px; min-width: 0; }
.smw-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.smw-card-head h3, .smw-afd summary h3 { font-size: 1.1rem; font-weight: 800; color: var(--smw-navy); }
.smw-sub { font-size: .8rem; color: var(--smw-muted); }
.smw-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }

/* ---------- Segmented control ---------- */
.smw-seg { display: inline-flex; background: var(--smw-bg); border-radius: 999px; padding: 3px; }
.smw-seg button { border: 0; background: none; color: var(--smw-muted); padding: 6px 14px; border-radius: 999px; cursor: pointer; font-size: .85rem; font-weight: 600; line-height: 1.2; }
.smw-seg button.is-on { background: var(--smw-navy); color: #fff; }

/* ---------- Radar ---------- */
.smw-map-wrap { position: relative; border-radius: 10px; overflow: hidden; }
.smw-map { height: 520px; background: #1b1f2a; }
.smw-map-bar {
	position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 500;
	display: flex; align-items: center; gap: 10px;
	background: rgba(20, 24, 40, .82); color: #fff; padding: 6px 12px; border-radius: 999px;
	max-width: 520px; margin: 0 auto;
}
.smw-play { border: 0; background: var(--smw-gold); color: var(--smw-navy); width: 30px; height: 30px; border-radius: 50%; cursor: pointer; font-size: 11px; font-weight: 900; flex: none; padding: 0; }
.smw-map-bar input[type=range] { flex: 1; accent-color: var(--smw-gold); min-width: 0; }
.smw-map-time { font-size: .82rem; min-width: 74px; text-align: right; white-space: nowrap; }
.smw-map-layers {
	position: absolute; top: 10px; right: 10px; z-index: 500;
	background: rgba(20, 24, 40, .82); color: #fff; border-radius: 10px; padding: 8px 10px;
	display: grid; gap: 4px; font-size: .82rem;
}
.smw-map-layers label { display: flex; align-items: center; gap: 6px; cursor: pointer; margin: 0; color: #fff; }
.smw-map-layers input { accent-color: var(--smw-gold); margin: 0; }
.smw-legend {
	position: absolute; top: 10px; left: 54px; z-index: 500; display: flex; align-items: center; gap: 6px;
	background: rgba(20, 24, 40, .82); color: #fff; font-size: .7rem; padding: 4px 8px; border-radius: 6px;
}
.smw-legend-bar { display: inline-block; width: 110px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #04e9e7, #019ff4, #02fd02, #01c501, #fdf802, #fd9500, #fd0000, #bc0000, #f800fd); }
.smw-tempmark { background: none; border: 0; }
.smw-tempmark span {
	display: inline-block; transform: translate(-50%, -50%); white-space: nowrap;
	background: rgba(255, 255, 255, .92); color: #111; font: 700 12px/1 system-ui, sans-serif;
	padding: 4px 6px; border-radius: 6px; box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
.smw-z-lo .smw-tempmark span em { display: none; }
.smw-tempmark span em { font-style: normal; font-weight: 500; color: #555; margin-left: 4px; }
.smw .leaflet-container { font: inherit; }
.smw .leaflet-control-attribution { font-size: 10px; max-width: 70%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.smw .leaflet-control-attribution:hover { white-space: normal; }
.smw .leaflet-container img { max-width: none !important; }

/* ---------- Hourly ---------- */
.smw-hourly { overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.smw-hourly svg { display: block; }
.smw-hourly text { font-family: inherit; }

/* ---------- WYDOT road maps ---------- */
.smw-road { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 14px; align-items: start; }
.smw-road-map { display: block; position: relative; border-radius: 10px; overflow: hidden; background: #eef0e4; border: 1px solid var(--smw-line); line-height: 0; }
.smw-road-map img { display: block; width: 100%; height: auto; aspect-ratio: 975 / 774; max-width: none; }
.smw-road-map.is-broken img { visibility: hidden; }
.smw-road-map.is-broken::after {
	content: attr(data-msg); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	padding: 20px; text-align: center; line-height: 1.4; font-size: .95rem; color: var(--smw-muted);
}
.smw-road-legend { background: var(--smw-bg); border-radius: 10px; padding: 10px 12px; font-size: .82rem; }
.smw-rl-group + .smw-rl-group { margin-top: 10px; }
.smw-rl-group h4 { margin: 0 0 4px; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--smw-muted); }
.smw-rl-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.smw-rl-group li { display: flex; align-items: center; gap: 8px; min-height: 24px; margin: 0; line-height: 1.2; }
.smw-rl-group li img, .smw-rl-group li svg { flex: none; width: auto; }
.smw-rl-group li img { height: 22px; }
.smw-road-foot { margin: 10px 0 0; font-size: .8rem; color: var(--smw-muted); }
.smw-road-foot a { text-decoration: underline; }

/* ---------- Hourly list (phones) ---------- */
.smw-hl { list-style: none; margin: 0; padding: 0; }
.smw-hl-day { margin: 0; padding: 12px 2px 6px; font-weight: 800; font-size: .85rem; color: var(--smw-navy); text-transform: uppercase; letter-spacing: .04em; }
.smw-hl-day:first-child { padding-top: 0; }
.smw-hl-day { display: flex; justify-content: space-between; align-items: baseline; }
.smw-hl-day small { font-size: .68rem; font-weight: 700; color: var(--smw-muted); width: 64px; text-align: center; letter-spacing: .02em; }
.smw-stat-v .smw-gust { display: block; font-size: .72em; font-weight: 600; opacity: .85; margin-top: 1px; }
.smw-hl-row {
	margin: 0; display: grid; grid-template-columns: 52px 34px 46px minmax(0, 1fr) 64px; align-items: center; gap: 8px;
	padding: 8px 2px; border-bottom: 1px solid var(--smw-line);
}
.smw-hl-time { font-weight: 700; font-size: .95rem; }
.smw-hl-row .smw-ico { width: 34px; height: 34px; }
.smw-hl-temp { font-weight: 800; font-size: 1.3rem; text-align: right; }
.smw-hl-desc { font-size: .9rem; line-height: 1.25; overflow: hidden; }
.smw-hl-desc small { display: block; color: var(--smw-muted); font-size: .78rem; margin-top: 2px; }
.smw-hl-pop { position: relative; height: 24px; border-radius: 6px; background: #eef2f8; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.smw-hl-pop i { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(43, 143, 214, .25); }
.smw-hl-pop b { position: relative; font-size: .85rem; color: #8a91a6; }
.smw-hl-pop.is-wet i { background: rgba(43, 143, 214, .55); }
.smw-hl-pop.is-wet b { color: #0f5d96; }
.smw button.smw-more {
	display: block; width: 100%; margin-top: 12px; padding: 10px; border: 1px solid var(--smw-line); border-radius: 10px;
	background: #fff; color: var(--smw-navy); font-weight: 700; font-size: .9rem; line-height: 1.3; cursor: pointer; text-transform: none; letter-spacing: 0; font-family: inherit;
}
.smw button.smw-more:hover { background: var(--smw-bg); }

/* ---------- 7-day ---------- */
.smw-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.smw-day {
	border: 1px solid var(--smw-line); background: #fff; border-radius: 12px; padding: 10px 6px; text-align: center; cursor: pointer;
	display: grid; justify-items: center; gap: 4px; color: inherit; transition: border-color .15s, box-shadow .15s;
}
.smw-day:hover { border-color: #c7cce0; }
.smw-day.is-on { border-color: var(--smw-navy); box-shadow: 0 0 0 2px var(--smw-navy) inset; }
.smw-day-name { font-weight: 800; font-size: .9rem; color: var(--smw-navy); }
.smw-day-date { font-size: .72rem; color: var(--smw-muted); margin-top: -4px; }
.smw-day .smw-ico { width: 48px; height: 48px; }
.smw-day-short { font-size: .74rem; color: var(--smw-muted); min-height: 2.6em; line-height: 1.3; }
.smw-day-temps { font-size: 1.05rem; }
.smw-day-temps b { color: var(--smw-warm); }
.smw-day-temps span { color: var(--smw-cold); margin-left: 6px; }
.smw-pop { font-size: .74rem; color: var(--smw-rain); font-weight: 700; min-height: 1.2em; }
.smw-day-detail { margin-top: 12px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.smw-day-detail > div { background: var(--smw-bg); border-radius: 10px; padding: 12px 14px; font-size: .92rem; }
.smw-day-detail h4 { margin: 0 0 4px; font-size: .95rem; color: var(--smw-navy); }

/* ---------- Region list ---------- */
.smw-region-tabs { margin-bottom: 10px; }
.smw-region table, .smw-almanac table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 0; border: 0; }
.smw-region th, .smw-region td, .smw-almanac th, .smw-almanac td { padding: 7px 6px; border: 0; border-bottom: 1px solid var(--smw-line); text-align: left; background: none; vertical-align: middle; }
.smw-region th, .smw-almanac th { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--smw-muted); font-weight: 700; }
.smw-region td.t { font-weight: 800; font-size: 1.05rem; text-align: right; white-space: nowrap; }
.smw-region td.c { color: var(--smw-muted); }
.smw-cnd { display: flex; align-items: center; gap: 6px; }
.smw-region td.c .smw-ico { width: 24px; height: 24px; flex: none; }
.smw-region td.w { white-space: nowrap; color: var(--smw-muted); }
.smw-region .d { font-size: .75rem; color: var(--smw-muted); display: block; }
.smw-region tr.is-home td { background: #fffaf0; }
.smw-extremes { display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.smw-extremes div { flex: 1; min-width: 140px; background: var(--smw-bg); border-radius: 10px; padding: 8px 12px; font-size: .85rem; }
.smw-extremes b { font-size: 1.2rem; display: block; }

/* ---------- Almanac ---------- */
.smw-almanac td:last-child { text-align: right; font-weight: 700; white-space: nowrap; }
.smw-almanac td small { font-weight: 500; color: var(--smw-muted); }
.smw-almanac tr.sep td { padding-top: 14px; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--smw-muted); font-weight: 700; border-bottom-color: transparent; }
.smw-up { color: var(--smw-warm); }
.smw-down { color: var(--smw-cold); }
.smw-history { overflow-x: auto; }
.smw-history svg { display: block; width: 100%; height: auto; }
.smw-chart-note { margin: 6px 0 0; font-size: .78rem; color: var(--smw-muted); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.smw-key { display: inline-block; width: 18px; border-top: 2px dashed; vertical-align: middle; margin-right: 4px; }
.smw-key-hi { border-color: var(--smw-warm); }
.smw-key-lo { border-color: var(--smw-cold); }
.smw-key-rain { color: var(--smw-rain); font-weight: 700; margin-right: 2px; }
.smw-history text { font-family: inherit; }

/* ---------- Sun & Moon ---------- */
.smw-sun, .smw-moon { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; }
.smw-sun svg, .smw-moon svg { display: block; }
.smw-kv { display: grid; grid-template-columns: auto auto; gap: 6px 16px; font-size: .92rem; }
.smw-kv dt { color: var(--smw-muted); margin: 0; }
.smw-kv dd { margin: 0; font-weight: 700; text-align: right; }
.smw-moon-phase { font-size: 1.1rem; font-weight: 800; color: var(--smw-navy); grid-column: 1 / -1; margin-bottom: 2px; }
.smw-phases { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; text-align: center; font-size: .78rem; }
.smw-phases div { background: var(--smw-bg); border-radius: 10px; padding: 8px 4px; }
.smw-phases svg { margin: 0 auto 4px; }
.smw-phases b { display: block; font-size: .85rem; color: var(--smw-ink); }

/* ---------- AFD ---------- */
.smw-afd summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.smw-afd summary::-webkit-details-marker { display: none; }
.smw-afd summary::after { content: "Show ▾"; margin-left: auto; font-size: .82rem; color: var(--smw-navy); font-weight: 700; }
.smw-afd[open] summary::after { content: "Hide ▴"; }
.smw-afd pre { white-space: pre-wrap; font: .86rem/1.5 ui-monospace, Consolas, monospace; background: var(--smw-bg); border-radius: 10px; padding: 14px; margin: 12px 0 0; max-height: 600px; overflow: auto; border: 0; color: var(--smw-ink); }

.smw-foot { font-size: .75rem; color: var(--smw-muted); text-align: center; padding: 4px 0 10px; }
.smw-foot a { text-decoration: underline; }
.smw-empty { color: var(--smw-muted); font-size: .9rem; padding: 10px 0; }

/* ---------- Skeletons ---------- */
.smw-skel { background: linear-gradient(90deg, rgba(128, 128, 128, .12), rgba(128, 128, 128, .22), rgba(128, 128, 128, .12)); background-size: 200% 100%; animation: smw-shimmer 1.4s infinite; border-radius: 10px; }
.smw-skel-now { width: 260px; height: 96px; }
.smw-skel-strip { height: 150px; }
.smw-skel-list { height: 260px; }
@keyframes smw-shimmer { to { background-position: -200% 0; } }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.smw-road { grid-template-columns: 1fr; }
	.smw-road-legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 16px; }
	.smw-rl-group + .smw-rl-group { margin-top: 0; }
	.smw-hero { grid-template-columns: 1fr; }
	.smw-grid2 { grid-template-columns: 1fr; }
	.smw-days { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 110px; overflow-x: auto; padding-bottom: 4px; }
}
@media (max-width: 600px) {
	.smw-al { padding: 16px; border-radius: 14px; }
	.smw-al-ico { width: 50px; height: 50px; }
	.smw-al-ico svg { width: 30px; height: 30px; }
	.smw .smw-al h3 { font-size: 1.3rem; }
	.smw-al-when { font-size: .98rem; }
	.smw-wind-m { display: block; }
	.smw-card-head { margin-bottom: 10px; }
	.smw-card-head .smw-seg { width: 100%; }
	.smw-card-head .smw-seg button { flex: 1; padding: 8px 6px; }
	.smw-road-legend { grid-template-columns: 1fr 1fr; padding: 10px; font-size: .78rem; }
	.smw-road-legend .smw-rl-group:nth-child(3) { grid-column: 1 / -1; }
	.smw-road-legend .smw-rl-group:nth-child(3) ul { grid-template-columns: 1fr 1fr; column-gap: 12px; }
	.smw { gap: 12px; }
	.smw-hero { padding: 16px; }
	.smw-now-temp { font-size: 3.6rem; }
	.smw-hero-now .smw-ico { width: 72px; height: 72px; }
	.smw-hero-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.smw-card { padding: 14px 12px; }
	.smw-map { height: 420px; }
	.smw-legend { display: none; }
	.smw-day-detail { grid-template-columns: 1fr; }
	.smw-region td.w, .smw-region th.w { display: none; }
	.smw-sun, .smw-moon { grid-template-columns: 1fr; justify-items: center; }
	.smw-kv { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.smw-skel, .smw-al-pulse { animation: none; }
}
