.world-weather{padding-top:32px;padding-bottom:38px;border:1px solid #dbe4f1;border-radius:18px;margin-bottom:28px;background:linear-gradient(135deg,#f5f8ff,#fff 65%);scroll-margin-top:16px}.weather-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.weather-heading .eyebrow{color:#315cba}.weather-heading h2{font-size:clamp(25px,3vw,38px);margin:10px 0;line-height:1.12}.weather-heading p,.weather-storms>p{font-size:12px;color:#5f7089;line-height:1.7}.weather-clock{font-variant-numeric:tabular-nums;background:#172c48;color:white;border-radius:8px;padding:12px;font-size:13px;white-space:nowrap}.weather-toolbar{display:flex;gap:12px;align-items:end;margin:20px 0 10px}.weather-toolbar label{font-size:11px;color:#53647e}.weather-toolbar select{display:block;font:inherit;font-size:13px;color:#162d4c;background:white;border:1px solid #bfcde4;border-radius:7px;padding:11px;min-width:210px;margin-top:6px}.weather-toolbar button,.weather-more{border:0;border-radius:7px;background:#3157bf;color:white;padding:12px 18px;font:inherit;font-size:12px;cursor:pointer}.weather-toolbar button:disabled{opacity:.55}.weather-status{font-size:10px;color:#61728d;min-height:16px;line-height:1.6}.weather-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weather-card{background:white;border:1px solid #dce4f1;border-top:3px solid #375bc0;border-radius:12px;padding:20px;min-width:0;box-shadow:0 6px 20px #16345607}.weather-card:nth-child(2){border-top-color:#7d43b5}.weather-card:nth-child(3){border-top-color:#ca8a18}.weather-city-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.weather-city-heading h3{font-size:18px;margin:0}.weather-icon{font-size:28px}.weather-country{font-size:11px;color:#697891;margin:3px 0 9px}.weather-local{font-size:10px;color:#50647e;min-height:27px;font-variant-numeric:tabular-nums}.weather-label{display:block;text-transform:uppercase;letter-spacing:1px;font-size:9px;color:#596d88;margin-top:14px}.weather-temperature{display:block;font-size:46px;letter-spacing:-2px;line-height:1.3;color:#172c48}.weather-stats{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:11px;margin:15px 0}.weather-stats dt{color:#64758b}.weather-stats dd{margin:0;font-weight:600}.weather-date{font-size:9px!important;line-height:1.6;color:#63748c}.weather-card a,.weather-credit a,.weather-storm-card a{font-size:11px;color:#254bb0;display:inline-block;margin-top:10px}.weather-note,.weather-credit{font-size:10px;color:#64728a;line-height:1.8;margin-top:16px}.weather-storms{border-top:1px solid #dce4f1;margin-top:22px;padding-top:20px}.weather-storm-heading{display:flex;gap:10px;align-items:center}.weather-storm-heading h3{font-size:20px;margin:0}.weather-storm-dot{color:#ca2e4a}.weather-storm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.weather-storm-card{border:1px solid #e3dce2;border-top:3px solid #bd263e;border-radius:9px;background:#fff8fa;padding:17px;min-width:0}.weather-level-green{border-top-color:#398353;background:#f5fbf5}.weather-level-orange{border-top-color:#c28215;background:#fffbf1}.weather-alert-level{font-size:9px;text-transform:uppercase;letter-spacing:.5px}.weather-storm-card h4{font-size:14px;line-height:1.6;margin:10px 0}.weather-storm-card p{font-size:11px;line-height:1.7;color:#56657b}.weather-storm-card small{display:block;font-size:9px;color:#64728a}.weather-more{margin-top:16px}.weather-more[hidden]{display:none}.weather-delayed{font-size:10px;color:#915c00}.weather-empty{grid-column:1/-1;font-size:12px;color:#61728d;line-height:1.8}.weather-toolbar button:focus-visible,.weather-toolbar select:focus-visible,.weather-more:focus-visible{outline:3px solid #a8baff;outline-offset:3px}@media(max-width:950px){.weather-grid,.weather-storm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-card{padding:18px}.weather-temperature{font-size:40px}}@media(max-width:650px){.weather-grid,.weather-storm-grid{grid-template-columns:1fr}.weather-heading{flex-direction:column;gap:8px}.weather-toolbar{flex-wrap:wrap}.weather-toolbar select{min-width:180px}.weather-clock{font-size:12px}.weather-heading h2{font-size:28px}}

.world-weather{background:radial-gradient(ellipse at 100% 0,#dfe7ff85,transparent 45%),linear-gradient(135deg,#f8faff,#fff);border-color:#dae3f6;box-shadow:0 18px 50px #243e7208}.weather-heading h2{letter-spacing:-1.4px;color:#172d4b}.weather-clock{background:linear-gradient(135deg,#203f79,#58399b);box-shadow:0 7px 18px #304f8520;border:1px solid #ffffff55}.weather-toolbar{background:#fff9;border:1px solid #dfe6f4;border-radius:12px;padding:13px 15px}.weather-toolbar button,.weather-more{background:linear-gradient(110deg,#315dc3,#7140b4);box-shadow:0 5px 13px #315dc321}.weather-card{--weather-ink:#fff;--weather-muted:#e1e9ff;position:relative;isolation:isolate;overflow:hidden;border:1px solid #ffffff55!important;border-radius:17px;background:linear-gradient(145deg,#264e95,#50348a);color:var(--weather-ink);padding:23px;box-shadow:0 12px 26px #243b6b1c}.weather-card[data-sky=rain],.weather-card[data-sky=storm]{background:linear-gradient(150deg,#174c74,#226e91 50%,#445da4)}.weather-card[data-sky=night]{background:linear-gradient(145deg,#172844,#303c7a 55%,#614894)}.weather-card[data-sky=sun]{--weather-ink:#422c17;--weather-muted:#61492b;background:linear-gradient(145deg,#fff0c1,#ffd698 65%,#f9bdb4)}.weather-card[data-sky=snow],.weather-card[data-sky=cloud]{--weather-ink:#17395c;--weather-muted:#355d81;background:linear-gradient(145deg,#d8eeff,#c4ddf9 55%,#e0d9f5)}.weather-city-heading,.weather-country,.weather-local,.weather-label,.weather-temperature,.weather-stats,.weather-date,.weather-card>a,.weather-delayed{position:relative;z-index:1}.weather-city-heading h3{font-size:19px;color:var(--weather-ink)}.weather-icon{font-size:25px;background:#ffffff22;border:1px solid #ffffff42;width:43px;height:43px;display:grid;place-items:center;border-radius:13px}.weather-country,.weather-local,.weather-label,.weather-stats dt,.weather-date{color:var(--weather-muted)!important}.weather-country{margin-top:0}.weather-local{font-size:9px}.weather-label{letter-spacing:1.3px;font-size:8px;margin-top:24px}.weather-temperature{font-size:57px;color:var(--weather-ink);font-weight:650;letter-spacing:-3px}.weather-stats{padding:14px 12px;background:#ffffff15;border:1px solid #ffffff35;border-radius:11px;gap:10px}.weather-stats dd{color:var(--weather-ink)}.weather-card>a{color:var(--weather-ink);border-top:1px solid #ffffff35;display:block;padding-top:12px;margin-top:13px;font-size:10px}.weather-date{font-size:8px!important}.weather-delayed{color:var(--weather-ink);font-weight:650}.weather-sky-art{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.weather-orb{position:absolute;right:-28px;top:94px;width:145px;height:145px;background:radial-gradient(circle at 32% 25%,#ffe5a3,#edb54b 65%,#ef9367);border-radius:50%;opacity:.35;box-shadow:0 0 0 16px #ffffff08,0 0 0 36px #ffffff06}.weather-card[data-sky=night] .weather-orb{width:115px;height:115px;background:radial-gradient(circle at 35% 30%,#f9f3d0,#a9b9dc);box-shadow:20px -10px 0 1px #303c7a;opacity:.3}.weather-cloud{position:absolute;right:-30px;top:197px;width:140px;height:38px;background:#ffffff25;border-radius:30px;box-shadow:-40px -15px 0 5px #ffffff18,-15px -30px 0 8px #ffffff12}.weather-card[data-sky=sun] .weather-cloud,.weather-card[data-sky=night] .weather-cloud{opacity:.35}.weather-rain{display:none}.weather-card[data-sky=rain] .weather-rain,.weather-card[data-sky=storm] .weather-rain{display:block;position:absolute;right:5px;top:240px;width:94px;height:70px;background:repeating-linear-gradient(110deg,transparent 0 14px,#d9f3ff33 15px 17px,transparent 18px 28px);transform:skewY(-15deg);opacity:.5}.weather-storms{margin-top:30px;border-top:1px solid #dce4f1;padding-top:25px}.weather-storm-heading h3{letter-spacing:-.5px;color:#172d4b;font-size:23px}.weather-storm-dot{width:25px;height:25px;border-radius:50%;background:#ffe5eb;display:grid;place-items:center;font-size:12px;color:#cc2a4a}.weather-storm-card{padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:14px;border-top:4px solid #cc2d4e;box-shadow:0 7px 20px #243b6b09;background:#fff}.weather-level-green{border-top-color:#25866b;background:#fff}.weather-level-orange{border-top-color:#db971a;background:#fff}.weather-storm-visual{position:relative;height:150px;background:linear-gradient(135deg,#fce5ec,#e8def9);overflow:hidden;display:grid;place-items:center}.weather-level-green .weather-storm-visual{background:linear-gradient(135deg,#d8f1e8,#ddedf5)}.weather-level-orange .weather-storm-visual{background:linear-gradient(135deg,#fff0c8,#f9ddcb)}.weather-storm-visual>a{display:block;width:100%;height:100%;margin:0}.weather-storm-visual img{width:100%;height:100%;object-fit:contain;background:#edf2f8;display:block;transition:transform .3s}.weather-storm-visual>a:hover img{transform:scale(1.035)}.weather-map-credit{position:absolute;bottom:7px;left:8px;font-size:8px;color:#fff;background:#172d4bde;padding:4px 7px;border-radius:5px;pointer-events:none}.weather-hazard-icon{font-size:58px;opacity:.45;color:#33577c}.weather-storm-body{padding:17px;display:flex;flex-direction:column;flex:1}.weather-alert-level{color:#aa2142;background:#fff0f4;border:1px solid #f6d4df;border-radius:5px;padding:6px 7px;align-self:flex-start;font-size:8px;letter-spacing:.4px}.weather-level-green .weather-alert-level{color:#176950;background:#eaf7f0;border-color:#cce9dc}.weather-level-orange .weather-alert-level{color:#81520c;background:#fff4db;border-color:#f0dfb8}.weather-storm-body h4{font-size:17px;line-height:1.4;color:#172d4b;overflow-wrap:anywhere}.weather-storm-country{font-size:10px;color:#556b85;font-weight:650}.weather-storm-body p{font-size:11px;line-height:1.8}.weather-storm-body small{margin-top:auto;padding-top:8px}.weather-storm-body>a{display:block;border-top:1px solid #e7edf4;padding-top:11px;font-weight:600;font-size:10px}.weather-credit{border-top:1px solid #e1e8f3;padding-top:15px}@media(max-width:650px){.weather-card{padding:23px}.weather-temperature{font-size:60px}.weather-storm-visual{height:190px}.weather-toolbar{align-items:stretch}.weather-toolbar label{flex:1}.weather-toolbar select{width:100%;min-width:0}.weather-toolbar button{align-self:end}.weather-heading h2{letter-spacing:-1px}}

.weather-map-unavailable{align-content:center;gap:9px}.weather-map-fallback{font-size:8px;color:#49647f;text-align:center;padding:0 12px}.weather-hazard-icon{font-family:system-ui,sans-serif}.weather-storm-body h4{margin:12px 0 8px}
/* Forecast-driven scenes: decorative motion, never a live camera claim. */
.weather-condition{position:relative;z-index:1;display:inline-block;font-size:9px;color:var(--weather-ink);padding:5px 8px;margin-top:5px;border:1px solid #ffffff36;border-radius:20px;background:#ffffff16}.weather-label{margin-top:15px}.weather-toolbar .weather-motion{margin-left:auto;background:#fff;border:1px solid #d6dff0;box-shadow:none;color:#435e85;font-size:10px}.weather-sky-art{contain:paint}.weather-orb{animation:weather-glow 9s ease-in-out infinite alternate;transform-origin:center}.weather-cloud{animation:weather-drift 14s ease-in-out infinite alternate}.weather-card:nth-child(2) .weather-cloud{animation-delay:-5s}.weather-card:nth-child(3) .weather-cloud{animation-delay:-9s}.weather-card[data-sky=sun] .weather-orb{opacity:.65}.weather-card[data-sky=night] .weather-orb,.weather-card[data-night=true] .weather-orb{width:115px;height:115px;background:radial-gradient(circle at 35% 30%,#fff9d8,#a9b9dc);box-shadow:20px -10px 0 1px #303c7a;opacity:.4}.weather-card[data-night=true]{--weather-ink:#fff;--weather-muted:#e1e9ff;background:linear-gradient(145deg,#172844,#303c7a 55%,#614894)}.weather-card[data-sky=rain]{background:linear-gradient(145deg,#153b61,#176d8e 55%,#446c9e)}.weather-card[data-sky=storm]{background:linear-gradient(145deg,#172c45,#3b3b68 60%,#65455e)}.weather-card[data-sky=rain] .weather-orb,.weather-card[data-sky=storm] .weather-orb,.weather-card[data-sky=snow] .weather-orb,.weather-card[data-sky=fog] .weather-orb{opacity:.09;box-shadow:none}.weather-card[data-sky=rain] .weather-cloud,.weather-card[data-sky=storm] .weather-cloud{width:190px;height:58px;top:115px;right:-25px;background:#b5d7ed35;box-shadow:-30px -14px 0 7px #cce7fb22,-5px -33px 0 12px #cce7fb19}.weather-card[data-sky=rain] .weather-rain,.weather-card[data-sky=storm] .weather-rain{inset:170px 0 auto auto;width:125px;height:145px;transform:none;opacity:.7;background:none}.weather-rain:before,.weather-rain:after{content:'';position:absolute;inset:-40px 0 0;background:repeating-linear-gradient(110deg,transparent 0 15px,#d9f3ff66 16px 18px,transparent 19px 31px);mask-image:repeating-linear-gradient(0deg,transparent 0 14px,#000 15px 26px,transparent 27px 45px);animation:weather-fall 1.1s linear infinite}.weather-rain:after{opacity:.4;animation-delay:-.5s;left:16px}.weather-card[data-sky=snow] .weather-rain{display:block;position:absolute;inset:100px 0 0 auto;width:135px;height:200px}.weather-card[data-sky=snow] .weather-rain:before,.weather-card[data-sky=snow] .weather-rain:after{background:radial-gradient(circle,#fff 2px,transparent 3px) 0 0/29px 36px;mask-image:none;animation:weather-snow 6s linear infinite;opacity:.8}.weather-card[data-sky=snow] .weather-rain:after{background-size:41px 52px;animation-duration:9s;opacity:.45}.weather-card[data-sky=fog]{--weather-ink:#203b51;--weather-muted:#405e73;background:linear-gradient(145deg,#d1e0e6,#b6c9d7,#dbdbe8)}.weather-card[data-sky=fog] .weather-cloud{top:160px;width:210px;height:70px;filter:blur(10px);opacity:.8;animation-duration:19s}.weather-card[data-sky=night] .weather-sky-art:after,.weather-card[data-night=true] .weather-sky-art:after{content:'';position:absolute;inset:70px 10px 30% 20%;background:radial-gradient(circle at 12% 12%,#fff 1px,transparent 2px),radial-gradient(circle at 72% 7%,#fff 1px,transparent 2px),radial-gradient(circle at 43% 37%,#fff 1px,transparent 2px),radial-gradient(circle at 86% 65%,#fff 1px,transparent 2px);opacity:.35;animation:weather-stars 5s ease-in-out infinite alternate}.weather-card[data-sky=unavailable] .weather-sky-art{display:none}@keyframes weather-drift{from{transform:translateX(-10px)}to{transform:translateX(22px)}}@keyframes weather-glow{from{transform:translateY(0) scale(.97)}to{transform:translateY(-6px) scale(1.04)}}@keyframes weather-fall{from{transform:translateY(-18px)}to{transform:translateY(27px)}}@keyframes weather-snow{from{transform:translate(0,-36px)}to{transform:translate(8px,0)}}@keyframes weather-stars{from{opacity:.2}to{opacity:.55}}.weather-motion-paused .weather-sky-art *,.weather-motion-paused .weather-sky-art:after,.weather-motion-paused .weather-rain:before,.weather-motion-paused .weather-rain:after{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.weather-sky-art *,.weather-sky-art:after,.weather-rain:before,.weather-rain:after{animation:none!important}}@media(max-width:650px){.weather-toolbar .weather-motion{margin-left:0}}
/* Compact forecast cards retain all forecast values and decorative motion. */
.world-weather .weather-grid{gap:12px}.world-weather .weather-card{padding:16px;border-radius:13px}.world-weather .weather-city-heading h3{font-size:16px}.world-weather .weather-icon{width:32px;height:32px;font-size:21px;border-radius:10px}.world-weather .weather-country{font-size:10px;margin:0 0 5px}.world-weather .weather-local{min-height:17px;font-size:9px}.world-weather .weather-condition{font-size:8px;padding:3px 7px;margin-top:3px}.world-weather .weather-label{font-size:7px;margin-top:10px}.world-weather .weather-temperature{font-size:42px;line-height:1.2;letter-spacing:-2px}.world-weather .weather-stats{padding:10px;margin:10px 0;gap:6px;font-size:10px;border-radius:9px}.world-weather .weather-date{margin:3px 0;font-size:8px!important;line-height:1.5}.world-weather .weather-card>a{padding-top:8px;margin-top:8px;font-size:9px}.world-weather .weather-orb{top:65px;width:105px;height:105px}.world-weather .weather-card[data-sky=night] .weather-orb,.world-weather .weather-card[data-night=true] .weather-orb{width:82px;height:82px}.world-weather .weather-cloud{top:135px;width:110px;height:28px}.world-weather .weather-card[data-sky=rain] .weather-cloud,.world-weather .weather-card[data-sky=storm] .weather-cloud{top:85px;width:140px;height:40px}.world-weather .weather-card[data-sky=rain] .weather-rain,.world-weather .weather-card[data-sky=storm] .weather-rain{top:125px;height:95px}.world-weather .weather-card[data-sky=fog] .weather-cloud{top:110px}.world-weather .weather-card[data-sky=snow] .weather-rain{top:80px;height:130px}@media(max-width:650px){.world-weather .weather-card{padding:17px}.world-weather .weather-temperature{font-size:44px}.world-weather .weather-city-heading h3{font-size:17px}}
