/* home-nest v12 – photographic, independently animated weather artwork. No animated GIF downloads. */
.weather-scene{display:block;position:relative;isolation:isolate;overflow:hidden;flex-shrink:0;contain:layout paint style;background:transparent;border-radius:7px;filter:drop-shadow(0 3px 6px #081b2345)}
.weather-scene .wx-layer{position:absolute;display:block;object-fit:contain;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none}
.weather-scene .wx-sun{width:94%;height:94%;left:3%;top:0%;animation:wx-sunlight 12s ease-in-out infinite}
.weather-scene .wx-moon{width:92%;height:92%;left:3%;top:0%;animation:wx-moon-glow 8s ease-in-out infinite}
.weather-scene .wx-cloud{width:112%;height:80%;object-fit:contain;filter:drop-shadow(0 2px 2px #22364535);transform:translateZ(0);will-change:transform}
.weather-scene .wx-cloud-front{left:-10%;top:22%;animation:wx-drift-front 7.2s ease-in-out infinite alternate}
.weather-scene .wx-cloud-back{left:-1%;top:7%;opacity:.86;animation:wx-drift-back 9.5s ease-in-out infinite alternate}
.weather-scene--partly-cloudy-day .wx-sun,.weather-scene--partly-cloudy-night .wx-moon{width:88%;height:88%;top:-10%;left:-19%}
.weather-scene--partly-cloudy-day .wx-cloud-front,.weather-scene--partly-cloudy-night .wx-cloud-front{width:119%;height:78%;top:30%;left:0}
.weather-scene--drizzle .wx-cloud-front,.weather-scene--rain .wx-cloud-front,.weather-scene--showers .wx-cloud-front,.weather-scene--snow .wx-cloud-front,.weather-scene--thunderstorm .wx-cloud-front{top:3%;height:76%;width:119%;left:-8%}
.weather-scene--rain .wx-cloud-back,.weather-scene--showers .wx-cloud-back,.weather-scene--snow .wx-cloud-back,.weather-scene--thunderstorm .wx-cloud-back{top:-7%;height:80%}
.weather-scene--fog .wx-cloud{top:0%;height:75%;opacity:.82}
.wx-precip{position:absolute;left:15%;width:70%;top:50%;height:53%;display:block;overflow:hidden;pointer-events:none}
.wx-precip i{position:absolute;display:block;left:var(--p);top:-28%;height:25%;width:2px;border-radius:999px;background:linear-gradient(to bottom,transparent,#d3f0ff,#b0d9f7);box-shadow:0 1px 3px #bfe8ff85;opacity:0;animation:wx-rain-fall var(--dur) linear infinite;animation-delay:calc(-1 * var(--delay))}
.weather-scene--drizzle .wx-precip i{height:12%;width:1px;opacity:.75}
.wx-snowflakes i{height:4px;width:4px;border-radius:50%;background:#fff;box-shadow:0 0 4px 2px #eefaff90;animation-name:wx-snow-fall;opacity:.95}
.wx-mist{position:absolute;left:7%;right:7%;height:12%;border-radius:50%;background:linear-gradient(90deg,transparent,#f1f8ff99,transparent);filter:blur(4px);animation:wx-mist-flow 7s ease-in-out infinite alternate}
.wx-mist-a{top:46%;}.wx-mist-b{top:63%;animation-delay:-3.5s;opacity:.8}
.wx-lightning{position:absolute;width:29%;height:61%;top:34%;left:40%;filter:drop-shadow(0 0 6px #f5dd8f);opacity:0;animation:wx-lightning-flash 7s step-end infinite}
.wx-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#faffff;box-shadow:0 0 6px 2px #faffff99;animation:wx-twinkle 3s ease-in-out infinite alternate}
.wx-star-one{top:22%;left:78%}.wx-star-two{top:49%;left:19%;animation-delay:-2s}
@keyframes wx-drift-front{0%{transform:translate3d(-3%,0,0)}100%{transform:translate3d(4%,-1%,0)}}
@keyframes wx-drift-back{0%{transform:translate3d(5%,0,0)}100%{transform:translate3d(-4%,2%,0)}}
@keyframes wx-sunlight{0%,100%{transform:scale(.97) rotate(-7deg);filter:brightness(.97)}50%{transform:scale(1.05) rotate(7deg);filter:brightness(1.16)}}
@keyframes wx-moon-glow{0%,100%{filter:brightness(.9)}50%{filter:brightness(1.13)}}
@keyframes wx-rain-fall{0%{transform:translate3d(-3px,-12px,0);opacity:0}10%{opacity:.95}83%{opacity:.95}100%{transform:translate3d(8px,56px,0);opacity:0}}
@keyframes wx-snow-fall{0%{transform:translate3d(-3px,-10px,0);opacity:0}12%{opacity:.95}80%{opacity:.95}100%{transform:translate3d(11px,58px,0);opacity:0}}
@keyframes wx-mist-flow{0%{transform:translateX(-14%);opacity:.5}100%{transform:translateX(13%);opacity:.88}}
@keyframes wx-lightning-flash{0%,36%,38%,41%,100%{opacity:0}37%,39.5%{opacity:1}}
@keyframes wx-twinkle{0%{opacity:.3;transform:scale(.65)}100%{opacity:1;transform:scale(1.2)}}
/* We use still photographic layers if the user's device requests reduced motion. */
@media(prefers-reduced-motion:reduce){.weather-scene *, .weather-scene *::before,.weather-scene *::after{animation:none!important;will-change:auto!important}.weather-scene .wx-precip i{opacity:.75;top:55%}.weather-scene .wx-lightning{opacity:.5}}
