/* 通用雪花样式 */
.snowflake {
    position: fixed;
    top: -10px;
    width: 6px;
    height: 6px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    pointer-events: none;
    z-index: 999999;
    opacity: 0.9;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.9));

    /* 两个动画：下落 + 左右摆动 */
    animation-name: snow-fall, snow-drift;
    animation-timing-function: linear, ease-in-out;
    animation-iteration-count: 1, infinite;  /* 下落一次，左右摇摆循环 */
}

/* 下落：用 top，避免 transform 冲突 */
@keyframes snow-fall {
    0% {
        top: -10px;
    }
    100% {
        top: 110vh;
        opacity: 0.1;
    }
}

/* 左右被风吹 */
@keyframes snow-drift {
    0%   { transform: translateX(0); }
    50%  { transform: translateX(25px); }
    100% { transform: translateX(0); }
}

/* 手机：雪花更小，看起来不会那么挤 */
@media (max-width: 768px) {
    .snowflake {
        width: 4px;
        height: 4px;
        opacity: 0.8;
        filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.8));
    }
}
