.wx-tabs{display:flex;gap:6px;margin:26px 0 18px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}
.wx-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:10px 4px 12px;margin-right:18px;font:inherit;font-size:15.5px;font-weight:700;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.wx-tab.on{color:var(--color-text);border-bottom-color:var(--color-primary)}
.wx-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.wx-tab .sv-badge{background:#D7263D;color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:1px 7px;line-height:1.5}
.wx-tab.alert::before{content:"";width:8px;height:8px;border-radius:50%;background:#D7263D;animation:svpulse 1.6s ease-in-out infinite}
@keyframes svpulse{0%,100%{opacity:1}50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.wx-tab.alert::before{animation:none}}
#sv-panel{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:20px;align-items:start}
#sv-panel[hidden]{display:none}
.sv-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.sv-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sv-seg{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;padding:3px;background:var(--color-surface)}
.sv-seg button{appearance:none;border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--color-text-muted);padding:6px 12px;border-radius:999px;cursor:pointer}
.sv-seg button.on{background:var(--color-bg);color:var(--color-text);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.sv-all{font-size:13px;font-weight:600;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
#sv-kinds{display:flex;flex-wrap:wrap;gap:6px}
#sv-kinds button{appearance:none;border:1px solid var(--color-border);background:var(--color-bg);font:inherit;font-size:12.5px;font-weight:700;color:var(--color-text);padding:5px 10px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
#sv-kinds button.on{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}
#sv-kinds i,.sv-row i,.sv-models i{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}
#sv-kinds span{color:var(--color-text-muted);font-weight:600}
#sv-list{max-height:430px;overflow:auto;border:1px solid var(--color-border);border-radius:14px;background:var(--color-bg)}
.sv-row{appearance:none;display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--color-border);padding:11px 14px;font:inherit;color:var(--color-text);cursor:pointer}
.sv-row:last-child{border-bottom:0}
.sv-row:hover,.sv-row.on{background:var(--color-surface)}
.sv-row i{margin-top:5px}
.sv-row span{min-width:0}
.sv-row b{display:block;font-size:14.5px;line-height:1.3}
.sv-row small{display:block;font-size:12.5px;color:var(--color-text-muted);line-height:1.4;overflow-wrap:anywhere}
.sv-row .sv-when{font-size:11.5px}
.sv-small{font-size:13px;color:var(--color-text-muted);line-height:1.5;margin:8px 14px}
.sv-mapwrap{min-width:0}
#sv-map{height:520px;border-radius:16px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}
#sv-map .maplibregl-popup-content{font-family:inherit;font-size:13px;line-height:1.45;color:#21281E;padding:12px 14px}
#sv-map .maplibregl-popup-content a{color:#3E4830;font-weight:700}
#sv-storm{margin-top:14px;border:1px solid var(--color-border);border-radius:14px;padding:14px 16px;background:var(--color-bg)}
#sv-storm h4{margin:0 0 4px;font-size:17px}
#sv-storm .sv-small{margin:6px 0}
#sv-storm .sv-small a{color:var(--color-primary);font-weight:700}
.sv-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 14px;margin:8px 0}
.sv-models label{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}
.sv-models label i{width:16px;height:3px;border-radius:2px}
.sv-cmp{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0 4px}
.sv-cmp caption{text-align:left;font-weight:800;font-size:13.5px;padding-bottom:4px;color:var(--color-text)}
.sv-cmp th{text-align:left;font-weight:700;color:var(--color-text-muted);padding:5px 6px 5px 0;border-bottom:1px solid var(--color-border);font-size:12px}
.sv-cmp td{padding:6px 6px 6px 0;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums}
.sv-cmp td:nth-child(3){color:#6A3FB5;font-weight:700}
[data-theme=dark] .sv-cmp td:nth-child(3){color:#B79CF0}
.sv-foot{font-size:12px;color:var(--color-text-muted);line-height:1.5;margin:10px 0 0}
.sv-foot a{color:inherit}
@media(max-width:900px){#sv-panel{grid-template-columns:minmax(0,1fr)}.sv-mapwrap{order:-1}#sv-map{height:360px}#sv-list{max-height:360px}}
@media(max-width:480px){.wx-tab{margin-right:10px;font-size:14.5px}.sv-models{grid-template-columns:minmax(0,1fr)}}
.sv-area{margin:0;font-size:13.5px;font-weight:700;color:var(--color-text)}.sv-toggles{display:inline-flex;gap:14px}
#sv-radar-time:not(:empty)::before{content:"· "}

/* map legend for storm tracks */
#sv-map{position:relative}
.sv-legend{position:absolute;left:10px;bottom:10px;z-index:2;display:flex;flex-wrap:wrap;gap:6px 14px;max-width:calc(100% - 70px);padding:8px 12px;border-radius:12px;background:rgba(18,24,18,.78);color:#F1F4EC;font-size:12px;font-weight:700;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}
.sv-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.sv-legend i{width:18px;height:3px;border-radius:2px;display:inline-block}
.sv-legend i.d{height:0;border-top:2px dashed;background:none}
.sv-legend i.r{width:12px;height:12px;border-radius:3px;background:linear-gradient(135deg,#3ddc84,#f5d000 55%,#ff3b30)}
[data-theme=dark] .sv-legend i[style*="#FFFFFF"]{box-shadow:0 0 0 1px rgba(255,255,255,.4)}

/* ===== Named-storm pop-up: storm center ===== */
#sv-modal{--svm-cat:#FFF795;width:min(1280px,calc(100vw - 72px));max-width:none;height:min(860px,calc(100vh - 128px));max-height:none;margin:104px auto 24px;padding:0;border:1px solid var(--color-border);border-radius:22px;background:var(--color-bg);color:var(--color-text);box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04);overflow:hidden}
#sv-modal[open]{animation:svmIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes svmIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
#sv-modal::backdrop{background:rgba(6,10,8,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
html.svm-lock{overflow:hidden}
.svm-in{display:flex;flex-direction:column;height:100%}
.svm-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;padding:22px 36px 16px;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,color-mix(in srgb,var(--svm-cat) 9%,transparent),transparent 85%)}
.svm-head::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--svm-cat),color-mix(in srgb,var(--svm-cat) 30%,transparent))}
.svm-kick{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#E5484D}
.svm-kick i{width:8px;height:8px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 0 rgba(229,72,77,.6);animation:svmPing 1.8s ease-out infinite}
@keyframes svmPing{0%{box-shadow:0 0 0 0 rgba(229,72,77,.55)}80%,100%{box-shadow:0 0 0 9px rgba(229,72,77,0)}}
.svm-name{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.svm-name h2{margin:0;font-size:clamp(26px,3.2vw,40px);line-height:1.02;letter-spacing:-.03em;font-weight:800}
.svm-sub{margin:6px 0 0;font-size:14px;font-weight:600;color:var(--color-text-muted)}.svm-sub:empty{display:none}
.svm-cat{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:var(--svm-cat);color:#14180F;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 0 0 4px color-mix(in srgb,var(--svm-cat) 22%,transparent)}
.svm-x{align-self:start;appearance:none;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:border-color .15s,background .15s}
.svm-x span{font-size:17px;line-height:1}
.svm-x:hover{border-color:var(--color-text)}
.svm-x:focus-visible,.svm-go:focus-visible,.svm-switch button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.svm-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:stretch;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;background:var(--color-surface)}
.svm-stat{padding:10px 16px;border-right:1px solid var(--color-border);min-width:0}
.svm-stat span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}
.svm-stat b{display:flex;align-items:baseline;gap:4px;margin-top:3px;font-size:21px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svm-stat b small{font-size:12px;font-weight:700;color:var(--color-text-muted);letter-spacing:0}
.svm-adv{display:flex;align-items:center;gap:6px;padding:0 18px;font-size:13px;font-weight:800;color:var(--color-primary);white-space:nowrap;text-decoration:none}
.svm-adv:hover{text-decoration:underline}
.svm-switch{grid-column:1/-1;display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;padding:2px 2px 4px;margin:0 -2px}
.svm-switch[hidden]{display:none}
.svm-switch button{appearance:none;flex:0 0 auto;display:flex;align-items:center;gap:12px;min-width:220px;min-height:58px;padding:9px 16px 9px 10px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;position:relative;transition:border-color .15s,background .15s,transform .15s}
.svm-switch button:hover{border-color:var(--c);transform:translateY(-1px)}
.svm-switch button.on{background:var(--color-surface);border-color:var(--c);box-shadow:inset 0 -3px 0 var(--c),0 0 0 1px var(--c)}
.svm-tb{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:30px;padding:0 8px;border-radius:8px;background:var(--c);color:#14180F;font-size:12px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.svm-tt b{display:block;font-size:14.5px;font-weight:800;line-height:1.2;white-space:nowrap}
.svm-tt small{display:block;margin-top:2px;font-size:12px;font-weight:600;color:var(--color-text-muted);white-space:nowrap}
.svm-body{flex:1;min-height:0;overflow:auto;padding:18px 36px}
.svm-body #sv-panel{display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-areas:"map storm" "side side" "foot foot";gap:16px 18px;align-items:start}
.svm-body .sv-mapwrap{display:contents}
.svm-body #sv-map{grid-area:map;height:min(600px,max(320px,calc(100vh - 470px)));border-radius:18px}
.svm-body #sv-storm{grid-area:storm;margin:0;border-radius:16px;background:var(--color-surface);padding:16px 18px;max-height:min(600px,max(340px,calc(100vh - 470px)));overflow:auto}
.svm-body #sv-storm h4{display:none}
.svm-body #sv-storm>.sv-small:first-of-type{margin-top:0}
.svm-body .sv-models{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.svm-body .sv-models label{font-size:12.5px;font-weight:600}
.svm-body .sv-cmp{background:var(--color-bg);border-radius:10px;overflow:hidden}
.svm-body .sv-cmp th,.svm-body .sv-cmp td{padding-left:10px}
.svm-body .sv-side{grid-area:side;border:1px solid var(--color-border);border-radius:16px;padding:16px;gap:10px}
.svm-body .sv-side::before{content:"Other severe weather";font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}
.svm-body #sv-list{max-height:300px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.svm-body .sv-row{border-right:1px solid var(--color-border)}
.svm-body .sv-foot{grid-area:foot;margin:0}
.svm-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 36px;border-top:1px solid var(--color-border);background:var(--color-surface)}
.svm-foot p{margin:0;font-size:13.5px;color:var(--color-text-muted)}
.svm-foot p b{color:var(--color-text)}
.svm-go{flex:none;appearance:none;min-height:46px;padding:0 24px;border-radius:999px;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-bg);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:filter .15s}
.svm-go:hover{filter:brightness(1.08)}
@media(max-width:1100px){.svm-body #sv-panel{grid-template-columns:minmax(0,1fr) 330px}.svm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.svm-stat:nth-child(3n){border-right:0}.svm-stat:nth-child(-n+3){border-bottom:1px solid var(--color-border)}.svm-adv{padding:10px 16px}}
@media(max-width:820px){
 #sv-modal{width:calc(100vw - 28px);height:calc(100dvh - 92px);margin:80px auto 12px;border-radius:18px}
 .svm-head{padding:16px 22px 12px;gap:12px}
 .svm-name{gap:10px}.svm-name h2{font-size:26px}.svm-cat{height:26px;font-size:12px}
 .svm-x{min-height:42px;padding:0 14px;font-size:14px}
 .svm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .svm-switch{margin:0 -22px;padding:2px 22px 4px;gap:8px}.svm-switch button{min-width:0;min-height:52px;padding:8px 12px 8px 8px;gap:9px}.svm-tb{min-width:40px;height:26px;font-size:11px}.svm-tt b{font-size:13.5px}
 .svm-stat{padding:9px 12px;border-bottom:1px solid var(--color-border)}
 .svm-stat:nth-child(n){border-right:1px solid var(--color-border)}.svm-stat:nth-child(odd){border-right:0}
 .svm-stat b{font-size:18px}
 .svm-adv{grid-column:1/-1;padding:11px 12px;justify-content:center}
 .svm-body{padding:14px 22px}
 .svm-body #sv-panel{display:flex;flex-direction:column;align-items:stretch;height:auto;gap:12px}
 .svm-in{overflow:auto}.svm-body{flex:none;overflow:visible}.svm-foot{position:sticky;bottom:0;z-index:3}
 .svm-stat:first-child{display:none}.svm-stat span{font-size:10px}.svm-stat b{font-size:17px}
 .svm-body #sv-map{height:52vh;min-height:300px;order:-2}.svm-body #sv-storm{order:-1}
 .svm-body #sv-list{max-height:320px;display:block}
 .svm-body #sv-storm{max-height:none}
 .svm-foot{padding:10px 22px;flex-direction:column;align-items:stretch;gap:8px}.svm-foot p{display:none}.svm-go{width:100%;min-height:44px}
 .svm-body .sv-foot::before{content:"Stay safe. Follow the National Hurricane Center and your local officials. If you are told to leave, go.";display:block;font-weight:700;color:var(--color-text);margin-bottom:8px}
 .sv-legend{font-size:11px;gap:4px 10px;padding:6px 9px}
}
@media(max-width:820px){.svm-head{grid-template-columns:minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){.svm-kick i,#sv-modal[open]{animation:none}}

/* pop-up: storm data only */
.svm-body .sv-side,.svm-body .sv-foot{display:none}
@media(max-width:820px){.svm-foot p{display:block;font-size:12px;line-height:1.35}}

.svm-acts{display:flex;gap:10px;flex:none;align-items:center}
.svm-map{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--color-text);color:var(--color-text);background:transparent;font-size:15px;font-weight:800;text-decoration:none;white-space:nowrap}
.svm-map:hover{background:var(--color-bg)}
.svm-map:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
@media(max-width:820px){.svm-acts{flex-direction:column;align-items:stretch;gap:8px}.svm-map{min-height:44px;width:100%}}
