.weather-page{padding-bottom:48px}.weather-intro{display:flex;justify-content:space-between;align-items:flex-end;padding:36px 0 29px;gap:24px}.weather-intro h1{font:700 clamp(30px,3.4vw,49px)/1.1 var(--title);letter-spacing:-.035em;color:#153d33;margin:10px 0 14px}.weather-intro h1 span{color:#77a34b}.weather-intro p{color:#6b7874;font-size:14px}.weather-editorial-link{color:#305e49;font-size:12px;white-space:nowrap}.weather-editorial-link span{padding-left:16px}.weather-dashboard{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(325px,1fr);gap:0;border:1px solid #dbe4df;border-radius:8px;overflow:hidden;box-shadow:0 13px 35px #183d2c06}.weather-atlas{background:#0a252c;color:#e6f2e9;position:relative;padding:25px 28px 19px;overflow:hidden}.atlas-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#b5cec8}.atlas-heading i{display:inline-block;height:5px;width:5px;background:#c0e48a;border-radius:50%;margin-right:7px;box-shadow:0 0 12px #b6f18b80}.weather-map-stage{position:relative;max-width:690px;margin:10px auto -5px;background-image:linear-gradient(#a9d1c008 1px,transparent 1px),linear-gradient(90deg,#a9d1c008 1px,transparent 1px);background-size:45px 45px;border-radius:50%}.weather-map-stage svg{width:100%;height:auto;max-height:500px;display:block;overflow:visible}.weather-state{fill:#2c605f;stroke:#10383d;stroke-width:1.6;stroke-linejoin:round;cursor:pointer;transition:fill .2s,filter .2s;vector-effect:non-scaling-stroke}.weather-state[data-heat="0"]{fill:#75b5ad}.weather-state[data-heat="1"]{fill:#68a998}.weather-state[data-heat="2"]{fill:#a9c48a}.weather-state[data-heat="3"]{fill:#dbc781}.weather-state[data-heat="4"]{fill:#db9f68}.weather-state:hover,.weather-state:focus-visible{fill:#deedaf;stroke:#f1ffc9;stroke-width:2;outline:none;filter:drop-shadow(0 0 7px #c8f08a66)}.weather-state.is-selected{stroke:#e7f7b0;stroke-width:2.7;filter:drop-shadow(0 0 5px #dbf48e60)}.weather-uf{fill:#082e31;font-family:var(--font);font-weight:700;font-size:10px;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#bfddbd70;stroke-width:.5}.weather-map-temp{fill:#173d39;font:700 17px var(--font);text-anchor:middle;pointer-events:none}.map-tooltip{position:absolute;top:4%;right:1%;min-width:150px;max-width:200px;background:#f5faef;color:#214638;box-shadow:0 8px 30px #0004;border:1px solid #d5e6c8;border-radius:6px;padding:13px 16px;z-index:2;pointer-events:none}.map-tooltip>span{display:block;font-size:11px}.map-tooltip strong{display:block;font-size:31px;font-weight:500;letter-spacing:-.04em;margin:5px 0}.map-tooltip small{display:block;color:#657c70;font-size:9px;line-height:1.5}.atlas-ocean{position:absolute;right:5%;bottom:22%;font-size:8px;letter-spacing:.19em;color:#7fa7a2;writing-mode:vertical-rl;pointer-events:none}.atlas-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #8bbeb31c;padding-top:16px}.atlas-bottom p{font-size:10px;line-height:1.7;color:#b2cac1}.atlas-bottom strong{font-weight:400;color:#e1ecd9}.heat-legend{display:flex;gap:7px;align-items:center;font-size:8px;white-space:nowrap;color:#c2d5cc}.heat-legend i{width:66px;height:5px;border-radius:4px;background:linear-gradient(90deg,#75b5ad,#a9c48a,#db9f68)}.map-load-status{min-height:14px;font-size:9px;color:#8eafa8;margin:8px 0 0}.weather-detail{background:#fff;padding:27px 30px 22px;min-width:0}.weather-location label{display:block;color:#708478;font-size:9px;letter-spacing:.13em;font-weight:600;margin-bottom:8px}.weather-location select{width:100%;border:1px solid #dce5dd;border-radius:4px;background:#f8faf6;color:#365e49;font:500 12px var(--font);padding:12px;min-height:42px}.weather-location select:focus-visible{outline:2px solid #78a95b;outline-offset:2px}.weather-city-heading{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.weather-eyebrow{font-size:10px;color:#82927f}.weather-city-heading h2{font:700 clamp(26px,2.4vw,37px)/1.15 var(--title);color:#1e4835;margin:7px 0;letter-spacing:-.025em}.weather-condition-icon{font-size:50px;color:#9db558;line-height:1}.weather-status{color:#778a7e;font-size:10px;min-height:14px;margin:5px 0 0}.weather-status.is-warning{color:#9b6232}.weather-current{display:flex;align-items:center;gap:5px;margin:12px 0 25px;color:#1f4936}.weather-current>#currentTemperature{font:500 76px/1 var(--font);letter-spacing:-.075em}.weather-current-unit{align-self:flex-start;padding-top:9px;font:400 24px var(--font)}.weather-current>div{margin-left:auto;display:flex;flex-direction:column;gap:6px;padding-left:10px}.weather-current strong{font-size:11px;font-weight:500}.weather-current small{font-size:9px;color:#7d8d7b;line-height:1.5}.weather-period-heading{border-top:1px solid #e0e8de;padding-top:17px;display:flex;flex-direction:column;gap:6px}.weather-period-heading>span{font-size:9px;font-weight:600;letter-spacing:.1em;color:#547257}.weather-period-heading small{font-size:9px;color:#7b8b77}.weather-metrics{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:8px 0 13px}.weather-metrics>div{padding:13px 0;border-bottom:1px solid #e7ece3}.weather-metrics dt{font-size:10px;color:#70836c;display:flex;justify-content:space-between;gap:6px}.weather-metrics dt span{color:#93aa80}.weather-metrics dd{margin:9px 0 0;font:500 26px/1 var(--font);letter-spacing:-.03em;color:#244e36}.weather-metrics dd small{font:400 12px var(--font);color:#819175;margin-left:5px;letter-spacing:0}.weather-wind{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:10px;color:#7c8c73}.weather-wind strong{display:block;color:#3d5f3e;font-size:12px;margin-top:6px;font-weight:500}.weather-wind button{border:1px solid #dbe6d2;border-radius:3px;background:#f8faf5;color:#52724a;font-size:10px;padding:9px 11px;cursor:pointer}.weather-updated{font-size:9px;line-height:1.7;color:#8c9982;padding-top:13px}.weather-timeline{border:1px solid #e0e7dd;border-radius:7px;padding:24px 28px 18px;margin-top:27px}.weather-timeline>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.weather-timeline h2,.weather-outlook h2{font:700 28px/1.2 var(--title);color:#284c31;margin:8px 0}.chart-legend{display:flex;gap:18px;font-size:9px;color:#7a8973}.chart-legend i{display:inline-block;width:8px;height:8px;background:#578f62;border-radius:50%;margin-right:4px}.chart-legend span+span i{background:#9dc9d2;border-radius:1px}.weather-chart{width:100%;margin-top:15px;min-height:155px}.weather-chart>p{padding:40px 0;color:#7d8b76;font-size:12px}.weather-chart svg{width:100%;height:auto;max-height:210px;overflow:visible}.weather-chart text{fill:#8b9982;font:10px var(--font)}.weather-chart .temp-line{stroke:#4f8c5b;stroke-width:2.5;fill:none;stroke-linejoin:round}.weather-chart .temp-area{fill:#91b87610}.weather-chart .rain-bar{fill:#b4d4dc}.weather-chart .chart-rule{stroke:#e8ede3;stroke-dasharray:3 5;stroke-width:1}.weather-hourly{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;border-top:1px solid #e4eadf;padding-top:16px}.weather-hourly>div{text-align:center;border-right:1px solid #ecf0e6;font-size:9px;color:#89947c}.weather-hourly>div:last-child{border:0}.weather-hourly strong{display:block;font-weight:500;font-size:19px;color:#43603c;margin:8px 0}.weather-hourly small{display:block;font-size:9px;color:#7d98a1}.weather-outlook{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin:34px 0}.weather-outlook>div>p{font-size:12px;line-height:1.7;color:#7e8d76;max-width:240px}.weather-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weather-period-card{border:1px solid #e0e8d9;background:#f8faf5;border-radius:5px;padding:18px}.weather-period-card>span{font-size:10px;font-weight:600;color:#637b56}.weather-period-card>strong{display:block;font-size:24px;font-weight:500;color:#345936;letter-spacing:-.03em;margin:12px 0}.weather-period-card>strong small{font-size:17px;color:#93a182;margin-left:9px}.weather-period-card>p{font-size:10px;color:#6e9ca5;line-height:1.6}.weather-period-card>small{display:block;font-size:9px;color:#8c9981;line-height:1.6;margin-top:9px}.weather-method{border-top:1px solid #e2e8dc;border-bottom:1px solid #e2e8dc;padding:20px 0;max-width:1050px}.weather-method summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;color:#5e7553;font-size:12px}.weather-method p{font-size:12px;line-height:1.9;color:#7b8973;margin:15px 0 0;max-width:880px}.weather-method a,.weather-attribution a{color:#406d4f;text-decoration:underline;text-underline-offset:2px}.weather-attribution{font-size:9px;color:#8d9983;line-height:1.8;margin:20px 0 0}
@media(max-width:1050px){.weather-detail{padding:23px}.weather-atlas{padding:25px 20px 19px}.atlas-bottom{align-items:flex-start;flex-direction:column}.weather-dashboard{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}.weather-current>#currentTemperature{font-size:65px}.weather-current>div{max-width:140px}.weather-outlook{gap:24px}.weather-period-card{padding:13px}.weather-period-card>strong{font-size:22px}}
@media(max-width:760px){.weather-dashboard{grid-template-columns:1fr}.weather-map-stage{max-width:560px}.weather-map-stage svg{max-height:480px}.weather-detail{padding:25px}.weather-location{max-width:100%}.weather-city-heading{margin-top:20px}.weather-current{max-width:480px}.weather-current>#currentTemperature{font-size:76px}.weather-current>div{max-width:none;margin-left:30px}.weather-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.weather-metrics dd{font-size:25px}.weather-wind strong{display:inline;margin-left:7px}.weather-intro{display:block;padding-top:28px}.weather-intro h1{font-size:36px}.weather-intro p{font-size:13px}.weather-editorial-link{display:inline-block;margin-top:20px}.atlas-bottom{flex-direction:row;align-items:center}.weather-outlook{grid-template-columns:1fr;gap:15px}.weather-outlook>div>p{max-width:100%}.weather-timeline{padding:20px}.chart-legend{flex-direction:column;gap:7px}.weather-hourly{gap:6px;overflow:auto}.weather-hourly>div{min-width:44px}.weather-timeline h2{font-size:26px}.weather-chart{overflow:hidden}}
@media(max-width:430px){.weather-atlas{padding:22px 14px 16px}.weather-map-temp{font-size:18px}.weather-uf{font-size:11px}.weather-intro h1{font-size:32px}.weather-detail{padding:24px 19px}.weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.weather-periods{gap:8px}.weather-period-card{padding:12px 9px}.weather-period-card>strong{font-size:21px}.weather-period-card>strong small{font-size:15px;margin-left:4px}.weather-period-card>span{font-size:9px}.heat-legend{font-size:7px;gap:4px}.heat-legend i{width:38px}.atlas-bottom p{font-size:9px}.weather-current>div{margin-left:auto}.weather-hourly{grid-template-columns:repeat(8,58px);padding-bottom:8px}.weather-timeline>header{align-items:flex-start}.weather-timeline{padding:18px 14px}.chart-legend{font-size:8px}.weather-timeline h2{font-size:23px}.weather-status{line-height:1.6}.map-tooltip{min-width:124px;padding:10px 12px;top:0;right:0}.map-tooltip strong{font-size:26px}}
.weather-city-search{position:relative;margin-bottom:18px}.weather-city-search>label{display:block;color:#527653;font-size:9px;letter-spacing:.13em;font-weight:600;margin-bottom:8px}.weather-search-field{position:relative}.weather-search-field input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #bdcdb7;border-radius:4px;background:#fff;color:#264c35;font:400 12px var(--font);padding:12px 34px 12px 12px;min-height:43px}.weather-search-field input:focus{outline:2px solid #7aa366;outline-offset:1px}.weather-search-field>span{position:absolute;right:13px;top:9px;font-size:22px;color:#719566;pointer-events:none}.weather-city-search>p{font-size:9px;color:#819077;line-height:1.6;margin:7px 0 0;min-height:15px}.weather-city-search>ul{position:absolute;top:68px;left:0;right:0;z-index:5;list-style:none;padding:5px;margin:0;max-height:290px;overflow:auto;background:#fff;border:1px solid #d2dfc9;border-radius:5px;box-shadow:0 12px 28px #102e2726}.weather-city-search li{list-style:none}.weather-city-search li button{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left;border:0;background:#fff;border-radius:3px;padding:11px 10px;color:#355336;cursor:pointer;min-height:50px}.weather-city-search li button:hover,.weather-city-search li button[aria-selected="true"]{background:#edf4e6}.weather-city-search li strong{font-size:12px;font-weight:500}.weather-city-search li span{font-size:10px;color:#7b8d72}.weather-selected-point{fill:#fff;stroke:#153d35;stroke-width:2;pointer-events:none;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #fff8)}
@media(prefers-reduced-motion:reduce){.weather-state{transition:none}}
