.snow {
    position: fixed;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 9999;
}

.snowflake {
    position: absolute;
    top: -50px;
    width: 32px;
    height: 32px;
    opacity: 0.8;
}

.snowflake img {
    width: 100%;
    height: auto;
    animation: spin linear infinite;
}

@keyframes fall {
    to {
        transform: translateY(110vh);
    }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.snowflake img {
    filter:
        drop-shadow(0 0 1px rgba(0,0,0,.15))
        drop-shadow(0 0 2px rgba(0,0,0,.10));
}