#rerax-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  transition: background 0.8s ease;
}

/* 12 場景漸層底色 */
#rerax-bg.rx-sunny {
  background: linear-gradient(180deg, #1a6fa8 0%, #3498db 40%, #87ceeb 100%);
}
#rerax-bg.rx-night {
  background: linear-gradient(180deg, #020818 0%, #0a1628 50%, #0d1f3c 100%);
}
#rerax-bg.rx-thunder {
  background: linear-gradient(180deg, #1a1a2e 0%, #2d3561 50%, #3a4a6b 100%);
}
#rerax-bg.rx-haze {
  background: linear-gradient(180deg, #8b7355 0%, #a89070 50%, #c4a882 100%);
}
#rerax-bg.rx-twilight {
  background: linear-gradient(180deg, #1a0533 0%, #8b2fc9 30%, #e8631a 70%, #f59b42 100%);
}
#rerax-bg.rx-sakura {
  background: linear-gradient(180deg, #fce4ec 0%, #f8bbd0 40%, #f48fb1 100%);
}
#rerax-bg.rx-maple {
  background: linear-gradient(180deg, #1a0a00 0%, #8b3500 40%, #cc5500 100%);
}
#rerax-bg.rx-newyear {
  background: linear-gradient(180deg, #1a0000 0%, #8b0000 40%, #cc0000 100%);
}
#rerax-bg.rx-xmas {
  background: linear-gradient(180deg, #0a1f0a 0%, #1a3d1a 50%, #0d2d0d 100%);
}
#rerax-bg.rx-halloween {
  background: linear-gradient(180deg, #0d0015 0%, #2d0060 40%, #1a0030 100%);
}
#rerax-bg.rx-valentine {
  background: linear-gradient(180deg, #1a0010 0%, #8b003b 40%, #ff69b4 100%);
}
#rerax-bg.rx-lantern {
  background: linear-gradient(180deg, #0d0000 0%, #5c1a00 40%, #8b2500 100%);
}

/* 粒子容器 */
#rerax-bg canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* 閃電效果 */
@keyframes rxFlash {
  0%,78%,82%,88%,100% { opacity: 0; }
  80% { opacity: 0.6; }
  85% { opacity: 0.3; }
  87% { opacity: 0.5; }
}
.rx-lightning {
  position: absolute;
  inset: 0;
  background: rgba(180,210,255,0.6);
  animation: rxFlash 8s infinite;
  pointer-events: none;
}

/* emoji 粒子飄落 */
@keyframes rxFall {
  0% { top: -60px; opacity: 1; transform: rotate(0deg) translateX(0); }
  85% { opacity: 0.8; }
  100% { top: 110%; opacity: 0; transform: rotate(360deg) translateX(30px); }
}
@keyframes rxRise {
  0% { bottom: -60px; opacity: 0.9; }
  100% { bottom: 110%; opacity: 0; }
}
.rx-emoji {
  position: absolute;
  animation: rxFall linear infinite;
  font-size: 1.2rem;
  pointer-events: none;
  user-select: none;
}
.rx-rise {
  position: absolute;
  animation: rxRise linear infinite;
  font-size: 1.4rem;
  pointer-events: none;
}
