/* project/static/css/snow_effect.css */

.snow {
    position: fixed;
    top: -15px; /* Parte appena fuori dallo schermo in alto */
    left: 0;
    width: 10px;
    height: 10px;
    background: white;
    border-radius: 50%;
    
    opacity: 0; /* Invisibile di default (così non li vedi fermi mentre aspettano il delay) */
    
    pointer-events: none; 
    z-index: 99999; 
    box-shadow: 0 0 10px rgba(255,255,255,0.8);
    animation-name: snowfall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    /* Duration e Delay sono gestiti dal JS */
}

@keyframes snowfall {
    /* 0%: Parte in alto, invisibile */
    0% { 
        transform: translate(0, 0); 
        opacity: 0; 
    }
    
    /* 10%: Diventa subito visibile mentre scende */
    10% { 
        opacity: 0.9; 
    }
    
    /* 90%: Arriva quasi in fondo ANCORA VISIBILE */
    90% {
        opacity: 0.9;
    }

    /* 100%: Sparisce solo quando è ben oltre la fine dello schermo (110vh) */
    100% { 
        transform: translate(var(--end-x), 110vh); 
        opacity: 0; 
    }
}