/* Elyssa weather portal (WX2) — mobile first. Sky accent on the website only (ac-wx: --accent #2D8BC9 / --accent-2 #1D6596). */
.portal-wx{--sky:#2D8BC9;--sky-2:#1D6596;--sky-s:rgba(45,139,201,.1)}
.wx{padding-bottom:40px}
.wx .n{unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.wx .wi{width:26px;height:26px;flex:none}
.wx .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wxph{box-shadow:inset 0 -3px 0 var(--red)}
.wxph .eyebrow,.wxph .eyebrow a{color:#7CC4F2}
.wxph p{color:var(--dk-m)}
.wxsec{margin:0 0 32px;min-width:0}
.wx .note{font-size:13px;color:var(--mute);margin:8px 0 0;line-height:1.7}
.wx .src{font-size:12.5px;color:var(--mute);margin-top:8px}
.wx h3.h3{display:flex;align-items:center;gap:8px;font-size:16px;margin:20px 0 10px}.wx h3.h3 .wi{width:22px;height:22px;color:var(--sky)}
.wx .tw{overflow-x:auto;max-width:100%}
.wbtn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:19px;border:0;background:rgba(255,255,255,.16);color:inherit;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.wbtn .wi{width:18px;height:18px}.wbtn:hover{background:rgba(255,255,255,.26)}.wbtn.on{background:#fff;color:var(--sky-2)}.wbtn.busy{opacity:.6}
/* alerts */
.wxal{margin:0 0 20px}.wxal ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.wxal .al{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-2);background:var(--surf);box-shadow:0 0 0 1px var(--line);border-inline-start:5px solid #C98A00}
.wxal .al.l2{border-inline-start-color:#D9590F}.wxal .al.l3{border-inline-start-color:#C8102E;background:rgba(200,16,46,.06)}
.wxal .ai{width:26px;height:26px;flex:none;color:#C98A00}.wxal .l2 .ai{color:#D9590F}.wxal .l3 .ai{color:#C8102E}
.wxal b{display:block;font-size:14.5px}.wxal span{font-size:14px;color:var(--ink-2);line-height:1.6}
/* hero / now */
.wxhero{position:relative;padding:18px 16px 16px;border-radius:var(--r-3);background:linear-gradient(160deg,#2D8BC9 0%,#1D6596 70%,#164E75 100%);color:#fff;margin:0 0 32px;overflow:hidden}
.wxhero .mh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.eyebrow2{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:17px}.eyebrow2 .wi{width:20px;height:20px}
.mact{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wsel select{height:38px;border-radius:19px;border:0;padding:0 12px;font:inherit;font-size:14px;background:#fff;color:#123;max-width:170px}
.nowc{display:grid;gap:16px}
.nowmain{display:flex;align-items:center;gap:14px}
.nowmain .wbig{width:84px;height:84px;flex:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.nowmain .deg{display:block;font-size:64px;line-height:1;font-weight:800;letter-spacing:-1px}
.nowmain .cond{display:block;font-size:19px;font-weight:700;margin-top:6px}
.nowmain .hl{display:block;font-size:13.5px;opacity:.9;margin-top:4px;line-height:1.6}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.facts li{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:8px;align-items:center;padding:9px 10px;border-radius:var(--r-2);background:rgba(255,255,255,.13);min-width:0}
.facts li>svg{grid-row:span 2;width:20px;height:20px}
.facts small{font-size:12px;opacity:.85;line-height:1.4;overflow-wrap:anywhere}.facts b{font-size:14.5px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.facts .arr{color:#fff}
.wxhero .more{display:inline-flex;margin-top:14px;font-weight:700;font-size:14.5px;color:#fff;text-decoration:underline;text-underline-offset:4px}
.arr{width:15px;height:15px;flex:none;color:var(--sky);vertical-align:-2px;display:inline-block}
/* sun & moon */
.sunmoon{display:grid;gap:12px;margin-top:14px}.sunmoon:empty{display:none}
.sunarc{position:relative;background:rgba(255,255,255,.1);border-radius:var(--r-2);padding:10px 12px 8px}
.sunarc svg{display:block;width:100%;max-width:260px;height:auto;margin:0 auto}.sunarc .arc{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-dasharray:4 5}.sunarc .hz{stroke:rgba(255,255,255,.5)}
.sunarc .sr,.sunarc .ss{position:absolute;bottom:30px;display:grid;justify-items:center;font-size:12px}.sunarc .sr{right:12px}.sunarc .ss{left:12px}
.sunarc .sr .wi,.sunarc .ss .wi{width:20px;height:20px}.sunarc b{font-size:15px}.sunarc p{text-align:center;font-size:13px;margin:4px 0 0;opacity:.9}
.moonb{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border-radius:var(--r-2);padding:12px}
.moonv{width:52px;height:52px;flex:none}.moonb small{display:block;font-size:12px;opacity:.85}.moonb b{display:block;font-size:16px}.moonb span{font-size:13px;opacity:.9}
/* layer tabs + map */
.lyr{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px;padding:2px}.lyr::-webkit-scrollbar{display:none}
.lyr button{flex:none;height:36px;padding:0 16px;border-radius:18px;border:0;background:var(--surf);box-shadow:0 0 0 1px var(--line);font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.lyr button[aria-selected=true]{background:var(--sky);color:#fff;box-shadow:none}
.mapgrid{display:grid;gap:12px}
.mapc{background:var(--surf);border-radius:var(--r-3);box-shadow:0 0 0 1px var(--line);padding:8px 8px 12px;min-width:0}
.mapc .mapfig{margin:0}.wx .wxmap{width:100%;height:auto;display:block;max-height:78vh}
.wx .wxmap path{stroke:rgba(255,255,255,.9);stroke-width:1;transition:fill .35s}
.wx .wxmap a:hover path{stroke:#123;stroke-width:1.6}
.wx .wxmap .caps rect{fill:rgba(14,28,40,.88);stroke:#fff;stroke-width:1.8}
.wx .wxmap .caps text{font-size:24px;font-weight:800;fill:#fff;text-anchor:middle;font-family:Alexandria,sans-serif;direction:ltr;unicode-bidi:plaintext}
.wx .wxmap .caps a:hover rect{fill:#1D6596}.wx .wxmap .lead{stroke:#0E1C28;stroke-width:1.3}.wx .wxmap .leadd{fill:#0E1C28}
.wx .wxmap .inset rect{fill:var(--surf-2);stroke:var(--line)}.wx .wxmap .inset>text{font-size:12px;fill:var(--mute);text-anchor:middle}
.warrows path{fill:none;stroke:#0B3B5C;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.warrows .wa{animation:wflow 1.8s linear infinite}
@keyframes wflow{0%{transform:translateY(-5px);opacity:0}25%{opacity:1}75%{opacity:1}100%{transform:translateY(6px);opacity:0}}
@media (prefers-reduced-motion:reduce){.warrows .wa{animation:none}}
.leg{padding:10px 8px 0}.leg b{font-size:12.5px;color:var(--mute);font-weight:600}
.lbar{height:10px;border-radius:5px;margin-top:6px}.lt{position:relative;height:18px;font-size:11.5px;color:var(--mute)}.lt span{position:absolute;top:2px;transform:translateX(50%)}
.tctl{display:flex;align-items:center;gap:12px;background:var(--surf);border-radius:var(--r-3);box-shadow:0 0 0 1px var(--line);padding:12px}
.tctl .play{background:var(--sky);color:#fff;width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
.tsl{flex:1;min-width:0}.tsl b{display:block;font-size:15px;margin-bottom:4px}.tsl input{width:100%;accent-color:var(--sky)}
.mside{display:grid;gap:12px;align-content:start;min-width:0}
.rank{background:var(--surf);border-radius:var(--r-3);box-shadow:0 0 0 1px var(--line);padding:12px}.rank:empty{display:none}
.rkt{display:block;font-size:14px;margin-bottom:8px}.rank ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}
.rank li a{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13.5px;border-bottom:1px solid var(--line);min-width:0}
.rank li i{width:12px;height:12px;border-radius:3px;flex:none}.rank li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank li b{font-weight:700}
@media (max-width:899px){.rank li:nth-child(n+11){display:none}}
/* list of places */
.wxlist{display:grid;grid-template-columns:minmax(0,1fr);gap:0;background:var(--surf);border-radius:var(--r-3);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.wxc{display:grid;grid-template-columns:minmax(0,1fr) 28px 48px 72px 52px;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14.5px;min-width:0}
.wxc:hover{background:var(--sky-s)}
.wxc .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wxc .tn{font-size:17px;font-weight:800;text-align:center}
.wxc .hilo{font-size:13.5px;color:var(--ink-2);white-space:nowrap;text-align:center}.wxc .hilo i{font-style:normal;color:var(--mute)}
.wxc .pp{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;color:var(--sky-2);white-space:nowrap}.wxc .pp .wi{width:13px;height:13px}
:root[data-theme=dark] .wxc .pp{color:#7CC4F2}
/* sea */
.seas{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.seac{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:var(--r-3);background:var(--surf);box-shadow:0 0 0 1px var(--line);font-size:14px;min-width:0;border-top:4px solid var(--sky)}
.seac b{font-size:16px;color:var(--sky-2)}:root[data-theme=dark] .seac b{color:#7CC4F2}
.seac .st{display:flex;align-items:center;gap:6px;font-weight:700}.seac .st .wi{width:20px;height:20px;color:var(--sky)}
.seac .fi{display:inline-flex;align-items:center;gap:6px;font-weight:700;margin-top:4px}.seac .fi .wi{width:20px;height:20px}
.seac.f2 .fi{color:#2E8B4E}.seac.f1 .fi{color:#C98A00}.seac.f0 .fi{color:#C8102E}.seac.f0{border-top-color:#C8102E}.seac.f1{border-top-color:#E0A21B}
.seac .ports{color:var(--mute);font-size:12.5px}
.sspark{width:100%;height:40px;margin-top:6px}.sspark polyline{fill:none;stroke:var(--sky);stroke-width:2;vector-effect:non-scaling-stroke}
.sl{display:flex;justify-content:space-between;color:var(--mute);font-size:11.5px}
/* two columns, air, agri, climate */
.wx2c{display:grid;grid-template-columns:minmax(0,1fr);gap:0 28px}
.airg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.aq{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-2);background:var(--surf);box-shadow:0 0 0 1px var(--line);min-width:0}
.aq>i{display:grid;place-items:center;min-width:40px;height:40px;border-radius:10px;color:#fff;font-style:normal;font-weight:800;font-size:15px;flex:none}
.aq span{min-width:0}.aq b{display:block;font-size:14px}.aq small{display:block;font-size:12px;color:var(--mute);line-height:1.5}
.aqbig{display:flex;align-items:center;gap:12px;margin-bottom:10px}.aqbig>i{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;color:#fff;font-style:normal;font-weight:800;font-size:20px}
.aqbig b{display:block;font-size:17px}.aqbig small{color:var(--mute)}
.facts.sm li{background:var(--surf);box-shadow:0 0 0 1px var(--line);grid-template-columns:minmax(0,1fr)}.facts.sm b{font-size:15px}.facts.sm em{font-style:normal;font-size:11.5px;color:var(--mute);font-weight:400}
.wx .warn{display:flex;align-items:center;gap:8px;color:#B5520B;font-size:14px;font-weight:600}.wx .warn .wi{width:20px;height:20px}
.agt{width:100%;border-collapse:collapse;font-size:14px;background:var(--surf);border-radius:var(--r-2);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.agt th,.agt td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}.agt thead th{font-size:12.5px;color:var(--mute);font-weight:600;background:var(--surf-2)}
.agt tbody th{font-weight:700;white-space:nowrap}.agt small{color:var(--mute);font-size:12px}.agt .up{color:#C8102E;font-weight:700}.agt .dn{color:var(--sky-2);font-weight:700}
.fisht td{white-space:nowrap;font-size:13px}.fisht td i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:6px;vertical-align:0}
.f2 i{background:#2E8B4E}.f1 i{background:#E0A21B}.f0 i{background:#C8102E}
.agl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.agl li{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--r-2);background:var(--surf);box-shadow:0 0 0 1px var(--line)}
.agl li>.wi{width:24px;height:24px;color:#4E8B2E;flex:none}.agl b{display:block;font-size:14.5px;margin-bottom:6px}.agl small{display:block;color:var(--mute);font-size:12.5px;margin-bottom:6px}
.agl li.warn{color:inherit}.agl li.warn>.wi{color:var(--sky)}
.dchip{display:inline-flex;height:26px;align-items:center;padding:0 10px;border-radius:13px;background:var(--sky-s);color:var(--sky-2);font-size:12.5px;font-weight:600;margin:0 0 4px 6px}.dchip.no{background:var(--surf-2);color:var(--mute)}
:root[data-theme=dark] .dchip{color:#9DD3F5}
.climc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.climc>div{padding:12px;border-radius:var(--r-2);background:var(--surf);box-shadow:0 0 0 1px var(--line)}.climc small{display:block;font-size:12px;color:var(--mute)}.climc b{font-size:22px;font-weight:800}
.climc .dif.up b{color:#C8102E}.climc .dif.dn b{color:var(--sky)}
/* compare */
.cmpsel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.cmpsel select{height:38px;border-radius:10px;border:0;box-shadow:0 0 0 1px var(--line);background:var(--surf);color:var(--ink);font:inherit;font-size:14px;padding:0 10px;flex:1;min-width:0}
.cleg{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:700}.cleg small{color:var(--mute);font-weight:400}
.cleg span::before{content:"";display:inline-block;width:14px;height:4px;border-radius:2px;margin-inline-end:6px;vertical-align:middle}
.cleg .ka::before{background:var(--sky)}.cleg .kb::before{background:var(--red)}
.cmpsvg{width:100%;height:auto;display:block;margin:6px 0 10px}
.cmpsvg path{fill:none;stroke-width:2.6;stroke-linejoin:round}.cmpsvg path.lo{stroke-width:1.4;stroke-dasharray:4 4}
.cmpsvg .ca{stroke:var(--sky);fill:var(--sky)}.cmpsvg .cb{stroke:var(--red);fill:var(--red)}.cmpsvg path.ca,.cmpsvg path.cb{fill:none}
.cmpsvg text{font-size:12px;text-anchor:middle;stroke:none}.cmpsvg .cx{fill:var(--mute)}.cmpsvg .cv{font-weight:700}
/* windy embed */
.wyw{position:relative;border-radius:var(--r-3);overflow:hidden;background:linear-gradient(160deg,#1D6596,#0E3552);aspect-ratio:4/5;max-height:720px;width:100%}
.wyw iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wyload{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;border:0;background:transparent;color:#fff;font:inherit;cursor:pointer;text-align:center;padding:16px}
.wyload .wi{width:64px;height:64px;padding:18px;border-radius:50%;background:rgba(255,255,255,.18)}.wyload span{font-size:18px;font-weight:700}.wyload small{font-size:13.5px;opacity:.85}
/* hourly chart */
.hleg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--mute);margin-bottom:8px}.hleg span{display:inline-flex;align-items:center;gap:5px}.hleg .wi{width:15px;height:15px}
.hleg i{display:inline-block;width:14px;height:8px;border-radius:2px}.hleg .k1{background:#F2932F}.hleg .k2{background:rgba(45,139,201,.25)}.hleg .k3{background:#2D8BC9}
.hscroll{overflow-x:auto;overscroll-behavior-x:contain;background:var(--surf);border-radius:var(--r-3);box-shadow:0 0 0 1px var(--line);padding:6px 0 4px}
.hin{position:relative}.hsvg{display:block}
.hsvg .tl{fill:none;stroke:#F2932F;stroke-width:2.6;stroke-linejoin:round}
.hsvg .tv{font-size:12.5px;font-weight:700;fill:var(--ink);text-anchor:middle}
.hsvg .ppb{fill:rgba(45,139,201,.18)}.hsvg .prb{fill:#2D8BC9}.hsvg .ppt{font-size:11px;fill:var(--sky-2);text-anchor:middle;font-weight:600}
:root[data-theme=dark] .hsvg .ppt{fill:#7CC4F2}
.hsvg .dayl{stroke:var(--line);stroke-width:1.5}.hsvg .dayt{font-size:12px;font-weight:700;fill:var(--mute);text-anchor:end}
.hrow{display:grid;direction:rtl}
.hc{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;padding:4px 0;border-top:1px solid var(--line)}
.hc b{font-size:12px;font-weight:700;color:var(--ink-2)}.hc .wi{width:24px;height:24px}.hc .hw{display:inline-flex;align-items:center;gap:2px;font-weight:600}
.hc small{color:var(--mute);font-size:11px}.hc .hu{color:var(--sky-2)}
/* 14 days */
.days{list-style:none;margin:0;padding:0;background:var(--surf);border-radius:var(--r-3);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.dr{display:grid;grid-template-columns:30px 106px minmax(0,1fr) 58px;grid-template-areas:"i n t p" "i c w w";align-items:center;gap:2px 10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}
.dr>.wi{grid-area:i;width:30px;height:30px}.dr .dn{grid-area:n;display:flex;gap:6px;align-items:baseline;min-width:0;overflow:hidden}.dr .dn b{font-weight:700;white-space:nowrap}.dr .dn small{color:var(--mute);font-size:12px}
.dr .dc{grid-area:c;font-size:12.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr .dt{grid-area:t;display:flex;align-items:center;gap:6px;min-width:0}.dr .dt b{font-weight:800}.dr .dt i{font-style:normal;color:var(--mute)}
.rng{position:relative;flex:1;height:6px;border-radius:3px;background:var(--surf-2);min-width:30px}.rng span{position:absolute;top:0;bottom:0;border-radius:3px;background:linear-gradient(to left,#F2932F,#3FB6D9)}
.dr .dp{grid-area:p;display:inline-flex;align-items:center;gap:3px;color:var(--sky-2);font-size:13px;white-space:nowrap;justify-content:flex-end}.dr .dp .wi{width:13px;height:13px}.dr .dp small{display:none}
:root[data-theme=dark] .dr .dp{color:#7CC4F2}
.dr .dw{grid-area:w;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink-2);justify-content:flex-end}.dr .dw .wi{width:14px;height:14px}.dr .dw small{color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
/* marine page */
.seab .ports{font-size:14px;color:var(--ink-2);margin:0 0 10px}
.seat{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--surf);box-shadow:0 0 0 1px var(--line);border-radius:var(--r-2);overflow:hidden;min-width:560px}
.seat th,.seat td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.seat thead th{background:var(--surf-2);font-size:12.5px;color:var(--mute)}
.seat td.f2{color:#2E8B4E;font-weight:700}.seat td.f1{color:#B07A00;font-weight:700}.seat td.f0{color:#C8102E;font-weight:700}
/* larger screens */
@media (min-width:600px){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}.airg{grid-template-columns:repeat(3,minmax(0,1fr))}.climc{grid-template-columns:repeat(4,minmax(0,1fr))}
.seas{grid-template-columns:repeat(2,minmax(0,1fr))}.dr{grid-template-columns:34px 130px minmax(0,1fr) minmax(0,1.6fr) 90px 92px;grid-template-areas:"i n c t p w"}.dr .dp small{display:inline}
.sunmoon{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media (min-width:900px){.wxhero{padding:24px 28px}.nowc{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:center}.nowmain .deg{font-size:84px}.nowmain .wbig{width:110px;height:110px}
.mapgrid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.wxlist{grid-template-columns:repeat(2,minmax(0,1fr))}.wxlist .wxc:nth-child(odd){border-inline-end:1px solid var(--line)}
.wx2c{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.seas{grid-template-columns:repeat(3,minmax(0,1fr))}.seas.one{grid-template-columns:minmax(0,1fr)}.wyw{aspect-ratio:16/9}
.mapc{padding:16px}.wx .wxmap{max-height:820px}}
@media (min-width:1200px){.wxlist{grid-template-columns:repeat(3,minmax(0,1fr))}.wxlist .wxc{border-inline-end:1px solid var(--line)}.seas{grid-template-columns:repeat(4,minmax(0,1fr))}.airg{grid-template-columns:repeat(4,minmax(0,1fr))}}
