.weather-scene{isolation:isolate;background:#4e8eb9;transition:background-color 2.5s,background-image 2.5s;position:absolute;inset:0;overflow:hidden}.weather-scene-day{background:linear-gradient(#3d84b1 0%,#6fa9c7 55%,#9cc4d1 100%)}.weather-scene-night{background:linear-gradient(#030814 0%,#061126 52%,#08183a 100%)}.weather-scene-transition{background-image:linear-gradient(#181c3b57,#bf715a14 62%,#0000)}.weather-scene-atmosphere,.weather-scene-horizon,.weather-scene-vignette,.weather-scene-mist{pointer-events:none;position:absolute;inset:0}.weather-scene-atmosphere{z-index:1;background:radial-gradient(at 48% 96%,#dae6df2b,#0000 46%),linear-gradient(#0000 40%,#05132224)}.weather-scene-horizon{z-index:2;opacity:.7;background:linear-gradient(#0000,#cddfdc24);height:43%;top:auto}.weather-scene-night .weather-scene-atmosphere{background:radial-gradient(at 46% 100%,#20477533,#0000 55%),linear-gradient(#0000 36%,#01061140)}.weather-scene-night .weather-scene-horizon{opacity:.28}.weather-scene-day.weather-scene-cloudy .weather-scene-atmosphere{background:linear-gradient(#1e3b4f1a,#394f592e)}.weather-scene-night.weather-scene-cloudy .weather-scene-atmosphere{background:linear-gradient(#00030a1f,#01071366)}.weather-scene-stars{z-index:3;opacity:calc(1 - var(--cloud-cover) / 120);position:absolute;inset:0}.weather-scene-stars i{background:#dce8f4b3;border-radius:50%;width:1.5px;height:1.5px;animation:6s ease-in-out infinite weather-star;position:absolute}.weather-scene-stars i:nth-child(3n){opacity:.45;transform:scale(.7)}.weather-scene-moon{z-index:4;opacity:.6;background:#d8e2efb8;border-radius:50%;width:20px;height:20px;position:absolute;top:13%;right:18%;box-shadow:0 0 13px 3px #b8cde41f}.weather-scene-sunlight{z-index:2;background:#ffe0a375;border-radius:50%;width:22px;height:22px;position:absolute;top:14%;right:20%;box-shadow:0 0 38px 12px #ffd28f24}.weather-scene-cloud{z-index:5;background:rgba(16, 32, 47, var(--cloud-opacity));filter:blur(19px);opacity:0;width:75%;height:29%;animation:weather-cloud var(--cloud-duration) linear infinite;border-radius:50%;position:absolute;transform:translate(-120%)}.weather-scene-cloud-a{top:20%;left:-10%}.weather-scene-cloud-b{width:92%;height:24%;animation-duration:calc(var(--cloud-duration) * 1.35);animation-direction:reverse;top:42%;left:23%}.weather-scene-cloud-c{opacity:0;width:82%;height:19%;animation-duration:calc(var(--cloud-duration) * 1.8);top:63%;left:-20%}.weather-scene-day .weather-scene-cloud{background:rgba(58, 77, 91, var(--cloud-opacity))}.weather-scene-cloudy .weather-scene-cloud{opacity:.65}.weather-scene-night .weather-scene-cloud{background:rgba(2, 9, 20, var(--cloud-opacity))}.weather-scene-rain{z-index:7;transform:rotate(var(--wind-angle));transform-origin:50%;opacity:.72;position:absolute;inset:-35% -10% 0}.weather-scene-rain i{width:1px;height:31px;animation:weather-rain var(--rain-duration) linear infinite;animation-delay:var(--rain-delay);background:linear-gradient(#0000,#c9e0ee9e);position:absolute;top:0}.weather-scene-heavy-rain .weather-scene-rain{opacity:.95}.weather-scene-heavy-rain .weather-scene-rain i{height:43px}.weather-scene-mist{z-index:8;filter:blur(12px);background:linear-gradient(105deg,#0000 10%,#dde8e824 42%,#0000 78%);animation:28s ease-in-out infinite alternate weather-mist}.weather-scene-vignette{z-index:9;background:linear-gradient(105deg,#0108113d,#0000 48%,#01081133),linear-gradient(#0000 58%,#01081133)}.weather-scene-storm:after{content:"";z-index:8;opacity:0;background:#c0d7e729;animation:13s step-end infinite weather-lightning;position:absolute;inset:0}@keyframes weather-star{0%,to{opacity:.25}50%{opacity:.72}}@keyframes weather-cloud{0%{transform:translate(-120%)}to{transform:translate(155%)}}@keyframes weather-rain{0%{transform:translateY(-24vh)}to{transform:translateY(148vh)}}@keyframes weather-mist{0%{transform:translate(-18%)}to{transform:translate(18%)}}@keyframes weather-lightning{0%,94%,to{opacity:0}95%{opacity:.45}95.5%{opacity:0}96%{opacity:.2}96.3%{opacity:0}}@media (prefers-reduced-motion:reduce){.weather-scene *,.weather-scene:after{animation:none!important}}
