/* ❄️ Snowflake base */
.snowflake {
  position: fixed;
  top: -10px;
  color: #fff;
  z-index: 9999;
  user-select: none;
  animation-name: fall, sway, glowPulse;
  animation-timing-function: linear, ease-in-out, ease-in-out;
  animation-iteration-count: infinite;
  text-shadow: 0 0 12px #fff, 0 0 20px #e0ffff, 0 0 35px #b3e5fc;
}

/* 💙 Blue snowflake variant */
.blue-snowflake {
  color: #80d8ff;
  text-shadow: 0 0 15px #4fc3f7, 0 0 30px #81d4fa, 0 0 50px #b3e5fc;
  animation-name: fall, sway, blueGlowPulse;
}

/* 🌟 Falling stars */
.falling-star {
  position: fixed;
  top: -10px;
  color: #ffeb3b;
  z-index: 9999;
  user-select: none;
  animation-name: fall, sway, starGlow;
  animation-timing-function: linear, ease-in-out, ease-in-out;
  animation-iteration-count: infinite;
  text-shadow:
    0 0 10px #fff176,
    0 0 20px #ffee58,
    0 0 40px #fff59d,
    0 0 60px #fffde7;
}

/* 🧊 Falling motion */
@keyframes fall {
  0% { top: -10%; opacity: 1; }
  100% { top: 100%; opacity: 0.3; }
}

/* Gentle side sway */
@keyframes sway {
  0% { transform: translateX(0); }
  50% { transform: translateX(80px); }
  100% { transform: translateX(0); }
}

/* ❄ White snowflake glow */
@keyframes glowPulse {
  0%, 100% {
    text-shadow: 0 0 8px #fff, 0 0 20px #e0ffff, 0 0 35px #b3e5fc;
    opacity: 1;
  }
  50% {
    text-shadow: 0 0 15px #fff, 0 0 35px #b2ebf2, 0 0 60px #e0f7fa;
    opacity: 0.8;
  }
}

/* 💙 Blue snowflake glow */
@keyframes blueGlowPulse {
  0%, 100% {
    text-shadow: 0 0 10px #4fc3f7, 0 0 25px #81d4fa, 0 0 50px #b3e5fc;
    opacity: 1;
  }
  50% {
    text-shadow: 0 0 15px #29b6f6, 0 0 40px #4fc3f7, 0 0 70px #b3e5fc;
    opacity: 0.8;
  }
}

/* 🌟 Star glow */
@keyframes starGlow {
  0%, 100% {
    text-shadow:
      0 0 10px #fff176,
      0 0 20px #ffee58,
      0 0 40px #fff59d,
      0 0 60px #fffde7;
    transform: rotate(0deg);
  }
  50% {
    text-shadow:
      0 0 15px #fff59d,
      0 0 40px #fff9c4,
      0 0 80px #fffde7;
    transform: rotate(15deg) scale(1.1);
  }
}

/* 🌲 Background */
