/* css/snow.css - 雪花特效样式 */

.snow-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.snowflake {
    position: absolute;
    top: -10px;
    border-radius: 50%;
    will-change: transform;
}

.snowflake .snow-inner {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    animation: fallSway linear infinite;
    will-change: transform;
}

/* 雪花类型：小白点 */
.snowflake.type-dot .snow-inner {
    background: white;
    opacity: 0.8;
    filter: blur(0.5px);
}

/* 雪花类型：水晶 */
.snowflake.type-crystal .snow-inner {
    opacity: 0.6;
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
    background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(186,230,253,0.7));
    box-shadow: 0 0 6px rgba(255,255,255,0.5);
}

/* 雪花类型：柔和光斑 */
.snowflake.type-soft .snow-inner {
    background: radial-gradient(circle, rgba(255,255,255,0.9), rgba(255,255,255,0.15));
    opacity: 0.55;
}

/* 雪花类型：发光微粒 */
.snowflake.type-glow .snow-inner {
    background: radial-gradient(circle, rgba(200,230,255,0.9), rgba(255,255,255,0));
    filter: blur(2px);
}

@keyframes fallSway {
    0%   { transform: translate3d(0, -10vh, 0) rotate(0deg); }
    20%  { transform: translate3d(var(--sway-amp, 8px), 20vh, 0) rotate(72deg); }
    40%  { transform: translate3d(calc(var(--sway-amp, 8px) * -0.5), 42vh, 0) rotate(144deg); }
    60%  { transform: translate3d(calc(var(--sway-amp, 8px) * 0.8), 64vh, 0) rotate(216deg); }
    80%  { transform: translate3d(calc(var(--sway-amp, 8px) * -0.3), 86vh, 0) rotate(288deg); }
    100% { transform: translate3d(0, 115vh, 0) rotate(360deg); }
}
