/* Decorative only: never intercept controls or enter the modal top layer. */
.nova-winter{pointer-events:none!important;position:fixed;inset:0;z-index:15;overflow:hidden;contain:layout style paint;user-select:none}
.nova-winter *{pointer-events:none!important}
.winter-corner{position:absolute;bottom:112px;font-size:66px;line-height:1;opacity:.95;filter:drop-shadow(0 2px 5px #001c20)}
.winter-left{left:10px}.winter-right{right:10px;font-size:52px}.winter-tree{font-size:66px}
.winter-star{position:absolute;top:76px;right:12px;font-size:21px;color:#d4f6ff;opacity:.65}
.winter-snow{position:absolute;inset:0}.winter-snow i{position:absolute;top:-12px;width:var(--size);height:var(--size);border-radius:50%;background:#effbff;opacity:0;animation:nova-snow var(--duration) var(--delay) linear infinite both}
@keyframes nova-snow{0%{opacity:0;transform:translate3d(0,-12px,0)}10%{opacity:.8}85%{opacity:.65}100%{opacity:0;transform:translate3d(25px,100vh,0)}}
body:has(dialog[open]) .nova-winter{display:none}
@media(max-width:1100px){.winter-corner{bottom:calc(112px + env(safe-area-inset-bottom));font-size:48px;opacity:.95}.winter-left{left:4px}.winter-right{right:4px;font-size:40px}.winter-tree{font-size:48px}.winter-star{top:72px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.winter-snow{display:none}}


.winter-paused .winter-snow i{animation-play-state:paused}
.winter-tree{position:relative;display:inline-block}
.winter-lights{position:absolute;left:48%;top:38%;width:4px;height:4px;border-radius:50%;background:#ffe69b;box-shadow:-9px 12px 5px #ffbf5e,8px 14px 5px #f8d775,-13px 25px 5px #f47e8b,12px 26px 5px #b7eaff;animation:nova-tree-lights 3.6s ease-in-out infinite alternate}
.winter-right .winter-lights{animation-delay:-1.8s}
.winter-deer{display:inline-block;transform-origin:50% 95%;animation:nova-deer-stroll 9s ease-in-out infinite}
@keyframes nova-tree-lights{from{opacity:.3}to{opacity:1}}
@keyframes nova-deer-stroll{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(-12px,-3px) rotate(-3deg)}50%{transform:translate(-24px,0) rotate(0deg)}75%{transform:translate(-12px,-3px) rotate(3deg)}}
.winter-paused *, .winter-paused .winter-snow i{animation-play-state:paused!important}
.winter-static *{animation:none!important}
@media(prefers-reduced-motion:reduce){.nova-winter *{animation:none!important}}
