/* A single fixed national view: every layer uses the same geographic extent. */
.weather-home{background:#edf2e8}
.home-weather-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}
.home-weather-heading h2{line-height:1.04}
.home-weather-heading>p{font-size:14px;line-height:1.8;padding-bottom:5px}
.national-weather{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.75fr);background:#fcfdf8;border:1px solid #dce5d4;border-radius:24px;overflow:hidden;box-shadow:0 12px 50px #214e2a08}
.today-weather{padding:38px 32px;display:flex;flex-direction:column;align-items:start;border-right:1px solid #dce5d4;min-width:0}
.today-weather .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:25px}
.weather-location-label{font-size:10px;color:#687a61;margin-bottom:5px}
.today-weather select{width:100%;background:transparent;border:0;border-bottom:1px solid #d9e1d2;border-radius:0;font-size:27px;font-weight:550;letter-spacing:-.04em;color:#183e2c;padding:0 22px 11px 0}
.today-temperature{display:flex;gap:15px;align-items:center;margin-top:28px;min-height:100px}
.today-temperature>strong{font-size:clamp(50px,4.8vw,68px);font-weight:450;letter-spacing:-.065em;line-height:1}
.today-temperature small{font-size:26px;font-weight:400;letter-spacing:-.04em;vertical-align:top;display:inline-block;margin:6px 0 0 4px}
.today-icon{display:inline-flex;width:48px;height:48px;flex:none;color:#426a48}
.today-icon svg{display:block;width:100%;height:100%}
.today-icon .weather-icon-accent{stroke:#b7791f}
.today-description{font-size:15px;line-height:1.5;color:#254b34;margin-top:5px}
.today-time{font-size:11px;color:#72816b;margin-top:8px}
.today-details{padding:0;margin:30px 0 25px;width:100%;font-size:12px}
.today-details>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e5eade}
.today-details dt{color:#6a7c61}.today-details dd{margin:0;font-weight:560;white-space:nowrap}
.today-source{font-size:10px;line-height:1.8;margin-top:auto;color:#6c7c64}.today-source a,.radar-caption a{text-decoration:underline;text-underline-offset:2px}
.weather-retry{border:0;background:transparent;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:10px 0;color:#285a38}
.national-radar{min-width:0;background:#edf1e7;display:flex;flex-direction:column}
.national-radar-header{display:flex;justify-content:space-between;gap:15px;padding:22px 24px 0;font-size:10px;position:relative;z-index:3}
.national-radar-header>span:first-child{font-weight:650;font-size:12px;display:flex;align-items:center;gap:7px}
.national-radar-header>span:last-child{color:#5e7558}
.radar-status-dot{height:6px;width:6px;border-radius:50%;background:#7c8f71}.national-radar[data-status=ready] .radar-status-dot{background:#4e8950}
.poland-map{position:relative;width:100%;aspect-ratio:720/680;isolation:isolate;margin-top:-16px;overflow:hidden}
.poland-basemap,.poland-radar-overlay,.poland-weather-pins{position:absolute;inset:0;width:100%;height:100%;display:block}
.poland-basemap{object-fit:contain}.poland-radar-overlay{pointer-events:none;opacity:.78}.poland-weather-pins{pointer-events:none}
.weather-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px;min-width:44px;min-height:44px;pointer-events:auto;z-index:2;color:#233e2b;border-radius:9px;line-height:1.3}
.weather-pin>strong{padding:3px 8px;border-radius:7px;background:#fcfdf2df;border:1px solid #d2ddcbb3;font-size:13px;box-shadow:0 2px 8px #30472b08}
.weather-pin>span{font-size:9px;font-weight:550;text-shadow:0 1px 2px #fff,0 -1px 2px #fff,1px 0 2px #fff}
.weather-pin[aria-pressed=true]>strong{background:#204d33;color:#fff;border-color:#204d33;box-shadow:0 0 0 3px #ffffffb3}
.weather-pin:hover>strong{border-color:#3e7545}.weather-pin:focus-visible{outline:2px solid #184932;outline-offset:2px}
.radar-map-state{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:max-content;max-width:80%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;background:#fcfdf5f2;box-shadow:0 10px 40px #23412b12;padding:23px 28px;border:1px solid #d9e3d1;border-radius:15px;font-size:12px;z-index:4;line-height:1.6}
.radar-map-state[hidden]{display:none}.radar-map-state[data-state=error] .radar-loading-ring{display:none}
.radar-loading-ring{width:22px;height:22px;border:2px solid #d4dfcc;border-top-color:#537b45;border-radius:50%;animation:weather-spin .8s linear infinite}
@keyframes weather-spin{to{transform:rotate(360deg)}}
.radar-scale{position:absolute;bottom:7px;left:24px;display:flex;align-items:center;gap:7px;font-size:8px;color:#536b4b;background:#f7faf0db;padding:6px 8px;border-radius:7px}
.radar-scale i{height:5px;width:74px;border-radius:4px;background:linear-gradient(90deg,#65a9cb,#5ebaab,#cbd658,#f4ad48,#d35e55,#a661a7)}
.radar-transport{display:flex;align-items:center;gap:16px;padding:14px 24px 8px;background:#f7f9f1;border-top:1px solid #dce5d5}
.radar-play{flex:0 0 40px;width:40px;height:40px;border:0;border-radius:50%;background:#214d34;color:#fff;display:grid;place-items:center;font-size:14px}.radar-play:disabled{background:#c0ccba;color:#f5f8ee}
.radar-track{flex:1;min-width:0}.radar-track>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#7b8973}.radar-track time{color:#244c33;font-weight:600;font-variant-numeric:tabular-nums}
.radar-track input{width:100%;height:22px;accent-color:#496f41;display:block;margin:3px 0 0;cursor:pointer}
.radar-speed{border:1px solid #d3ddcb;border-radius:8px;padding:8px 10px;min-height:40px;font-size:10px;background:#eef3e5;color:#35542e;width:72px}.radar-speed:disabled{opacity:.5}
.radar-caption{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:8px;padding:5px 24px 14px;color:#75826e;background:#f7f9f1;line-height:1.6}
.plonika-forecast-story{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:32px;padding:30px 32px;background:#e3ecd9;border:1px solid #d7e2cd;border-radius:17px}
.forecast-story-icon{width:60px;height:68px;border-radius:15px;display:grid;place-items:center;background:#f6f8ed;border:1px solid #d7e2c9}
.plonika-forecast-story .eyebrow{font-size:8px;margin-bottom:8px;letter-spacing:.11em}
.plonika-forecast-story h3{font-size:25px;line-height:1.18;letter-spacing:-.04em}.plonika-forecast-story p{font-size:12px;line-height:1.7;max-width:580px;margin-top:10px}
.forecast-scope{font-size:9px;color:#62755b;display:block;margin-top:10px;line-height:1.6}.plonika-forecast-story>.text-link{white-space:nowrap;font-size:11px}
.weather-noscript{font-size:12px;margin-top:15px}
@media(min-width:1300px){.today-weather{padding:42px 38px}.today-temperature{margin-top:40px}.today-details{margin-top:42px}}
@media(max-width:860px){.home-weather-heading{align-items:start;flex-direction:column;gap:20px}.national-weather{grid-template-columns:240px minmax(0,1fr)}.today-weather{padding:26px 22px}.today-temperature{gap:10px}.today-temperature>strong{font-size:50px}.today-icon{width:36px;height:36px}.today-details{font-size:10px}.today-details>div{gap:8px}.national-radar-header{padding-inline:15px}.national-radar-header>span:last-child{max-width:145px;text-align:right;font-size:8px}.national-radar{justify-content:space-between}.poland-map{margin-top:0}.radar-transport{padding-inline:14px;gap:10px}.radar-caption{padding-inline:14px}.plonika-forecast-story{grid-template-columns:48px 1fr;gap:20px;padding:25px}.forecast-story-icon{width:48px;height:58px}.plonika-forecast-story>.text-link{grid-column:2}}
@media(max-width:640px){.national-weather{grid-template-columns:1fr;border-radius:18px}.today-weather{padding:24px;border-right:0;border-bottom:1px solid #dce5d4;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.today-weather .eyebrow{grid-column:1/-1;margin-bottom:14px}.weather-location-label{grid-column:1}.today-weather select{grid-column:1;font-size:25px}.today-temperature{grid-column:2;grid-row:2/5;align-self:center;justify-self:end;margin:0;gap:8px;min-height:70px}.today-temperature>strong{font-size:46px}.today-temperature small{font-size:20px}.today-icon{width:32px;height:32px}.today-description{grid-column:1;font-size:12px;margin-top:13px}.today-time{grid-column:1/-1;margin-top:7px}.today-details{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1.3fr;margin:19px 0 16px;font-size:9px;gap:12px}.today-details>div{display:flex;flex-direction:column;gap:5px;padding:0;border:0}.today-details dd{font-size:14px}.today-source{grid-column:1/-1;font-size:9px}.today-source br{display:none}.today-source span{margin-left:4px}.today-weather>.weather-retry{grid-column:1/-1;text-align:left}.national-radar-header{padding:20px 18px 0}.poland-map{margin-top:0}.radar-scale{left:14px;bottom:4px}.radar-caption{font-size:7px}.plonika-forecast-story{grid-template-columns:1fr;padding:24px;gap:14px}.forecast-story-icon{display:none}.plonika-forecast-story>.text-link{grid-column:1}.plonika-forecast-story h3{font-size:26px}.plonika-forecast-story p{font-size:12px}.forecast-scope{font-size:9px}.weather-pin>strong{font-size:11px;padding:2px 6px}.weather-pin>span{font-size:8px}.radar-map-state{font-size:11px;padding:18px;max-width:88%}.radar-transport{gap:9px}.radar-speed{width:64px;padding:7px;font-size:9px}.radar-play{flex-basis:36px;width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.radar-loading-ring{animation:none}}
.today-temperature>strong{white-space:nowrap}.radar-scale i{background:linear-gradient(90deg,#3ea7ef,#39c7e0,#35cb8e,#9fd952,#ffd14f,#fb8741,#dd4f65,#b849aa)}
@media(min-width:861px){.poland-map{width:min(100%,620px);align-self:center}}
@media(max-width:380px){.today-weather{display:block}.today-temperature{justify-content:flex-start;margin:15px 0 8px}.today-weather .eyebrow{display:block}.today-weather select{font-size:24px}.today-temperature>strong{font-size:49px}.today-temperature small{font-size:23px}.today-icon{width:36px;height:36px}.today-details{font-size:8px;gap:8px}.today-details dd{font-size:12px}.today-description{font-size:13px}.today-time{font-size:10px}.today-source br{display:block}.today-source span{margin-left:0}}
