.nps-layer[hidden] { display: none !important; }
.nps-layer { position: fixed; inset: 0; z-index: 25; pointer-events: none; }
.nps-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.nps-particle { position: absolute; top: -70px; width: 23px; height: 28px; color: #b76d30; opacity: .6; pointer-events: none; animation: nps-fall 30s linear infinite; }
.nps-particle svg { display: block; width: 100%; height: 100%; animation: nps-sway 8s ease-in-out infinite alternate; }
.nps-layer .nps-particle.nps-holiday-symbol { width: 34px; height: 34px; opacity: .68; }
.nps-snow .nps-particle { color: #6d9db9; opacity: .5; width: 17px; height: 17px; }
.nps-petals .nps-particle { color: #c37897; opacity: .45; width: 17px; height: 22px; }
.nps-hearts .nps-particle { color: #ba657f; opacity: .45; width: 18px; height: 18px; }
.nps-clovers .nps-particle { color: #4a8754; opacity: .5; width: 18px; height: 22px; }
.nps-stars .nps-particle { color: #b54e49; opacity: .5; width: 17px; height: 17px; }
.nps-stars .nps-particle:nth-child(2n) { color: #517aa0; }
.nps-stars .nps-particle:nth-child(3n) { color: #a8b4bf; }
.nps-fireflies .nps-particle { top: auto; bottom: -25px; width: 7px; height: 7px; color: #d4a544; animation-name: nps-rise; }
.nps-fireflies .nps-particle svg { animation: nps-glow 7s ease-in-out infinite alternate; }
.nps-decoration { position: absolute; right: 22px; bottom: 18px; width: 62px; height: 62px; opacity: .72; color: #b76d30; pointer-events: none; }
.nps-decoration svg { display: block; width: 100%; height: 100%; }
.nps-no-decoration .nps-decoration { display: none; }
.nps-snow .nps-decoration { color: #6d9db9; }
.nps-petals .nps-decoration { color: #c37897; }
.nps-fireflies .nps-decoration { color: #d4a544; }
.nps-hearts .nps-decoration { color: #ba657f; }
.nps-clovers .nps-decoration { color: #4a8754; }
.nps-stars .nps-decoration { color: #517aa0; }
.nps-paused .nps-particles { visibility: hidden; }
.nps-paused .nps-particle, .nps-paused .nps-particle svg,
.nps-background .nps-particle, .nps-background .nps-particle svg { animation-play-state: paused; }
.nps-reduced .nps-particles, .nps-no-motion .nps-particles { display: none; }
.nps-reduced .nps-particle, .nps-no-motion .nps-particle,
.nps-reduced .nps-particle svg, .nps-no-motion .nps-particle svg { animation: none !important; }
.nps-pause { position: absolute; left: 12px; bottom: 12px; min-height: 34px; padding: 7px 10px; border: 1px solid #cad2da; border-radius: 6px; background: #fff; color: #283e4b; font: 12px/1.4 system-ui,sans-serif; cursor: pointer; pointer-events: auto; }
.nps-pause[hidden] { display: none !important; }
.nps-pause:hover { background: #f3f5f6; }
.nps-pause:focus-visible { outline: 3px solid #125b95; outline-offset: 3px; }
html.nps-active #dc-autumn-leaves { display: none !important; }
html.nps-active #dc-autumn-leaves * { animation: none !important; }
@keyframes nps-fall {
    0% { transform: translate3d(-2vw,0,0) rotate(-15deg); }
    35% { transform: translate3d(2vw,calc(35vh + 35px),0) rotate(30deg); }
    70% { transform: translate3d(-1vw,calc(70vh + 70px),0) rotate(-5deg); }
    100% { transform: translate3d(3vw,calc(100vh + 100px),0) rotate(45deg); }
}
@keyframes nps-rise {
    0% { transform: translate3d(-1vw,0,0); }
    50% { transform: translate3d(2vw,calc(-50vh - 25px),0); }
    100% { transform: translate3d(-2vw,calc(-100vh - 50px),0); }
}
@keyframes nps-sway { from { transform: translateX(-12px) rotate(-18deg); } to { transform: translateX(12px) rotate(18deg); } }
@keyframes nps-glow { from { opacity: .25; } to { opacity: .85; } }
@media (prefers-reduced-motion: reduce) {
    .nps-particles, .nps-pause { display: none !important; }
    .nps-particle, .nps-particle svg { animation: none !important; }
}
@media (max-width: 600px) { .nps-decoration { width: 46px; height: 46px; right: 12px; bottom: 14px; } }
@media print { .nps-layer { display: none !important; } }
