.weather-veil{position:absolute;inset:-84px 0 0;pointer-events:none;z-index:-1;opacity:0;transition:opacity 1s,background 1s}.home-hero-art{transition:filter 1s}.home-mode[data-weather=sun] .home-hero-art{filter:brightness(1.4) saturate(.9) sepia(.15)}[data-weather=sun] .weather-veil{opacity:.5;background:radial-gradient(ellipse at 75% 20%,#ffe3aa88,transparent 65%)}[data-weather=dry] .home-hero-art{filter:sepia(.55) saturate(.65) brightness(1.2)}[data-weather=dry] .weather-veil{opacity:.4;background:linear-gradient(#c9a17511,#c9a17544)}[data-weather=fog] .home-hero-art{filter:saturate(.3) contrast(.65) brightness(1.2)}[data-weather=fog] .weather-veil{opacity:.8;background:linear-gradient(120deg,#c2cbd244,#b2c1ca88 65%,#a1b4bf33)}[data-weather=overcast] .home-hero-art{filter:saturate(.35) brightness(.85)}[data-weather=storm] .home-hero-art{filter:brightness(.65) saturate(.6)}[data-weather=snow] .home-hero-art{filter:saturate(.1) brightness(1.4) contrast(.7)}[data-weather=snow] .weather-veil{opacity:.65;background-image:radial-gradient(circle,#eff4ff 1px,transparent 2px),radial-gradient(circle,#fff9 1px,transparent 2px);background-size:47px 71px,83px 113px;background-position:0 0,25px 17px}.review-effects[data-weather=snow] .weather-veil{animation:review-snow 8s linear infinite}@keyframes review-snow{to{background-position:47px 213px,108px 356px}}body:not(.review-effects) #home-rain{visibility:hidden}@media(prefers-reduced-motion:reduce){.weather-veil{animation:none!important;transition:none!important}.home-hero-art{transition:none!important}}

/* Weather stays behind all foreground content; winter uses a decoded scene. */
#home-rain{display:none!important}
body[data-weather=fog] .home-hero-art,body[data-weather=snow] .home-hero-art{filter:none}
body[data-weather=fog] .weather-veil,body[data-weather=snow] .weather-veil{opacity:0;animation:none;background:none}
body[data-weather=overcast] .home-hero-art{filter:saturate(.72) brightness(.88)}
.winter-scene{position:absolute;inset:-84px 0 0;z-index:-2;background:center/cover;opacity:0;transition:opacity 1.2s ease;pointer-events:none}.winter-scene.visible{opacity:1}
.drifting-mist{position:absolute;inset:-84px 0 0;z-index:-1;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.2s}body[data-weather=fog] .drifting-mist{opacity:1}.drifting-mist i{position:absolute;inset:10% -35% -5%;background:radial-gradient(ellipse at 25% 65%,#b4c5d068,transparent 35%),radial-gradient(ellipse at 60% 45%,#cad7df55,transparent 32%),radial-gradient(ellipse at 90% 75%,#a8bdcf55,transparent 30%);filter:blur(16px);transform:translateX(-8%)}.drifting-mist i+i{inset:30% -40% -10%;opacity:.6;transform:translateX(8%)}body.review-effects[data-weather=fog] .drifting-mist i{animation:mist-drift 23s ease-in-out infinite alternate}body.review-effects[data-weather=fog] .drifting-mist i+i{animation-duration:31s;animation-direction:alternate-reverse}@keyframes mist-drift{to{transform:translateX(12%)}}
.review-precipitation{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}body.hidden .drifting-mist i{animation-play-state:paused!important}body:not(.review-effects) .drifting-mist i{animation:none!important}
@media(max-width:760px){.winter-scene,.drifting-mist{top:-76px}}
@media(prefers-reduced-motion:reduce){.drifting-mist i{animation:none!important}.winter-scene,.drifting-mist{transition:none}}
.home-intro > .winter-scene,.home-intro > .drifting-mist,.home-intro > .weather-veil{align-self:stretch;justify-self:stretch}
.home-intro > .winter-scene,.home-intro > .drifting-mist,.home-intro > .weather-veil{align-self:stretch!important;justify-self:stretch!important}

.home-weather-panel{position:fixed;right:4vw;top:80px;width:290px;max-width:calc(100vw - 28px);z-index:120;padding:18px;background:#171d24f7;border:1px solid #ffffff22;border-radius:10px;box-shadow:0 18px 55px #0007;font-size:12px;color:#eeece6}.home-weather-panel[hidden]{display:none}.weather-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.weather-heading strong{font-size:15px}.weather-heading button{font-size:23px;padding:0 4px}.home-weather-panel>label{display:block;color:#adb5bc;margin-bottom:7px}.home-weather-panel select{width:100%;background:#242b33;border:1px solid #ffffff22;border-radius:5px;padding:10px;color:#eeece6;font:inherit}.home-weather-panel .weather-effects-label{display:flex;align-items:center;gap:8px;margin:15px 0 0}.weather-effects-label input{accent-color:var(--accent)}.home-weather-panel p{margin:12px 0 0;color:#98a4ad;font-size:11px;line-height:1.6}.home-intro>.drifting-mist i{filter:blur(23px);background:radial-gradient(ellipse at 25% 65%,#b4c5d049,transparent 38%),radial-gradient(ellipse at 60% 45%,#cad7df3b,transparent 35%),radial-gradient(ellipse at 90% 75%,#a8bdcf44,transparent 35%)}.home-weather-panel:not([hidden]){animation:weather-open .18s ease-out}@keyframes weather-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(max-width:760px){.home-weather-panel{right:14px;top:72px}}@media(prefers-reduced-motion:reduce){.home-weather-panel{animation:none!important}}
