
.rh-home .rain-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;display:none;background:linear-gradient(180deg,#87939c25,transparent 55%,#111e2b20)}
.rh-home .rain-atmosphere::before,.rh-home .rain-atmosphere::after{content:"";position:absolute;inset:-100px;background-repeat:repeat;will-change:background-position;}
.rh-home .rain-atmosphere::before{background-image:url('weather/rain-fine.svg');background-size:600px 600px;animation:rainFine 1.3s linear infinite;opacity:.8}
.rh-home .rain-atmosphere::after{background-image:url('weather/rain-near.svg');background-size:800px 800px;animation:rainNear .85s linear infinite;opacity:.65;filter:blur(.35px)}
html.is-rain .rain-atmosphere{display:block}
@keyframes rainFine{from{background-position:0 0}to{background-position:-150px 600px}}
@keyframes rainNear{from{background-position:0 0}to{background-position:-200px 800px}}
@media(prefers-reduced-motion:reduce){.rh-home .rain-atmosphere::before,.rh-home .rain-atmosphere::after{animation:none}}
.rh-home .rh-main,.rh-home .rh-footer{position:relative;z-index:2}


.rh-home .snow-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;display:none;background:linear-gradient(180deg,#d4dde911,transparent 65%,#d4dde910)}
.rh-home .snow-atmosphere::before,.rh-home .snow-atmosphere::after{content:"";position:absolute;inset:-100px;background-repeat:repeat;will-change:background-position}
.rh-home .snow-atmosphere::before{background-image:url('weather/snow-fine.svg');background-size:600px 600px;animation:snowFine 24s linear infinite;opacity:.85}
.rh-home .snow-atmosphere::after{background-image:url('weather/snow-near.svg');background-size:720px 720px;animation:snowNear 15s linear infinite;filter:blur(.6px);opacity:.75}
html.is-snow .snow-atmosphere{display:block}
@keyframes snowFine{from{background-position:0 0}to{background-position:120px 600px}}
@keyframes snowNear{from{background-position:0 0}to{background-position:-90px 720px}}
@media(prefers-reduced-motion:reduce){.rh-home .snow-atmosphere::before,.rh-home .snow-atmosphere::after{animation:none}}


.rh-home .lightning-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 22% 0%,#dce4ed99 0%,#bdcbdc44 22%,transparent 68%);mix-blend-mode:screen}
html.is-storm .lightning-atmosphere{animation:distantLightning 5s ease-in-out infinite}
@keyframes distantLightning{0%,18%,100%{opacity:0}6%{opacity:.78}11%{opacity:.3}}
@media(prefers-reduced-motion:reduce){html.is-storm .lightning-atmosphere{animation:none;opacity:0}}


.rh-home .weather-extra{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;display:none}
html[data-weather="mist"] .weather-extra,html[data-weather="sunshine"] .weather-extra,html[data-weather="autumn"] .weather-extra,html[data-weather="wind"] .weather-extra,html[data-weather="frost"] .weather-extra,html[data-weather="clouds"] .weather-extra{display:block}
.weather-haze{position:absolute;inset:-20%;opacity:0}
html[data-weather="mist"] .weather-haze{opacity:.8;background:radial-gradient(ellipse at 20% 65%,#e1e9ed99,transparent 48%),radial-gradient(ellipse at 80% 80%,#d5e0e6aa,transparent 55%),linear-gradient(0deg,#d2dce780,transparent 75%);filter:blur(25px);animation:mistDrift 28s ease-in-out infinite alternate}
html[data-weather="sunshine"] .weather-haze{opacity:.65;background:radial-gradient(ellipse at 15% 3%,#fff1b8aa,transparent 48%),conic-gradient(from 140deg at 12% 0%,transparent 0deg,#fff5cf30 8deg,transparent 15deg,#fff3c530 23deg,transparent 34deg);mix-blend-mode:screen;animation:sunBreathe 14s ease-in-out infinite alternate}
html[data-weather="autumn"] .weather-haze{opacity:.18;background:linear-gradient(120deg,#d99842,transparent 65%)}
.weather-leaves{display:none;position:absolute;inset:0}
html[data-weather="autumn"] .weather-leaves,html[data-weather="wind"] .weather-leaves{display:block}
.weather-leaves i{position:absolute;left:var(--x);top:-30px;width:var(--size);height:calc(var(--size)*.55);border-radius:0 80% 0 80%;background:linear-gradient(135deg,#c58b39,#9f4f21);box-shadow:inset 1px 0 #f1c67777;opacity:.7;animation:leafFall var(--time) linear infinite;animation-delay:var(--delay)}
html[data-weather="wind"] .weather-leaves i{background:linear-gradient(135deg,#c1c2a0,#6c7951);width:calc(var(--size)*.6);height:calc(var(--size)*.3);animation-name:windSweep;animation-duration:calc(var(--time)*.6);opacity:.55}
html[data-weather="frost"] .weather-extra{box-shadow:inset 0 0 90px 24px #e8f4ffa0,inset 0 0 12px 3px #effaffc0;background:radial-gradient(ellipse at 0% 100%,#e3f2ff60,transparent 35%),radial-gradient(ellipse at 100% 0%,#e3f2ff50,transparent 30%)}
html[data-weather="clouds"] .weather-haze{opacity:1;background:radial-gradient(ellipse at 10% 15%,#18232e60,transparent 48%),radial-gradient(ellipse at 75% 65%,#19263350,transparent 40%);filter:blur(45px);animation:cloudDrift 35s ease-in-out infinite alternate}
@keyframes mistDrift{from{transform:translateX(-6%)}to{transform:translateX(6%) translateY(-2%)}}
@keyframes sunBreathe{from{opacity:.4;transform:rotate(-2deg)}to{opacity:.7;transform:rotate(2deg)}}
@keyframes leafFall{0%{transform:translate(0,-30px) rotate(0)}50%{transform:translate(var(--drift),55vh) rotate(200deg)}100%{transform:translate(0,115vh) rotate(440deg)}}
@keyframes windSweep{0%{transform:translate(-40vw,10vh) rotate(0)}100%{transform:translate(110vw,80vh) rotate(400deg)}}
@keyframes cloudDrift{from{transform:translateX(-12%)}to{transform:translateX(12%)}}
@media(prefers-reduced-motion:reduce){.weather-haze,.weather-leaves i{animation:none!important}.weather-leaves{display:none!important}}



html[data-weather="sunshine"] .weather-extra::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 8%,#fffbe4bb 0%,#ffe6a155 5%,#ffca7b22 12%,transparent 25%);mix-blend-mode:screen;filter:blur(7px);opacity:.8}
html[data-weather="sunshine"] .weather-extra::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 29% 28%,transparent 0 2.7%,#ffe7a52b 2.9%,transparent 3.5%),radial-gradient(circle at 44% 44%,#9acbcf20 0 3%,transparent 4%),radial-gradient(circle at 66% 65%,transparent 0 5.8%,#e7b58622 6%,transparent 6.8%),radial-gradient(ellipse at 79% 79%,#f8cda91d,transparent 10%);mix-blend-mode:screen;opacity:.9;animation:lensBreathe 14s ease-in-out infinite alternate}
html[data-weather="wind"] .weather-leaves i{width:calc(var(--size)*.9);height:calc(var(--size)*.48);opacity:.85;animation-duration:calc(var(--time)*.4)}
html[data-weather="wind"] .weather-haze{display:none;background:none;animation:none}
@keyframes windSweep{0%{transform:translate(-35vw,6vh) rotate(0)}40%{transform:translate(20vw,30vh) rotate(160deg)}70%{transform:translate(65vw,20vh) rotate(280deg)}100%{transform:translate(120vw,65vh) rotate(430deg)}}

@keyframes lensBreathe{from{opacity:.55}to{opacity:.95}}
@media(prefers-reduced-motion:reduce){html[data-weather="sunshine"] .weather-extra::after{animation:none}}


html[data-weather="sunshine"] .weather-extra::after{display:none!important}
html[data-weather="sunshine"] .weather-extra::before{background:radial-gradient(ellipse at 12% 4%,#fff8d4cc 0%,#ffe8a96b 12%,#ffd39222 38%,transparent 70%);filter:blur(14px);opacity:.9}
html[data-weather="sunshine"] .weather-haze{background:radial-gradient(ellipse at 12% 0%,#fff4c599,transparent 58%),linear-gradient(130deg,#ffe9ae33,transparent 65%);opacity:.8;animation:none}
html[data-weather="sunshine"] .rh-home .rh-background{filter:brightness(1.12) saturate(1.13)!important}

/* Keep the approved image framing, text positions and day/night gradient. */
.rh-home[data-light=night] .rh-background{filter:none;transition:filter 1s ease}
html[data-weather=sunshine] .rh-home .rh-background{filter:brightness(1.12) saturate(1.13)!important}
@media(prefers-reduced-motion:reduce){.rh-home .weather-extra *,.rh-home .weather-extra::before,.rh-home .weather-extra::after{animation:none!important}.rh-home .weather-leaves{display:none!important}}

/* Decorative weather elements must not inherit theme borders or generated rules. */
.rh-home .weather-extra,.rh-home .weather-haze,.rh-home .weather-leaves,.rh-home .weather-leaves i{border:0;outline:0;text-decoration:none}
.rh-home .weather-leaves i::before,.rh-home .weather-leaves i::after{content:none!important}
