body[data-theme="rain"] {
  background: linear-gradient(180deg, #0a0e1a 0%, #1a2030 100%);
}
body[data-theme="rain"] .theme-fx {
  background: linear-gradient(180deg, transparent 60%, rgba(0,20,50,calc(.4 + .4 * var(--bass, 0))));
}
body[data-theme="rain"] .rain-drop {
  position: absolute; width: 1px; background: linear-gradient(transparent, rgba(180,210,255,.6));
  animation: rain-fall linear infinite;
  animation-duration: calc((0.8s - 0.5s * var(--bass, 0)) * var(--speed, 1));
}
body[data-theme="rain"] .profile-card {
  transform: scale(calc(1 + 0.03 * var(--beat, 0)));
  transition: transform .08s linear;
  box-shadow: 0 0 calc(60px * var(--bass, 0)) rgba(120,180,255,.5);
}
@keyframes rain-fall {
  from { transform: translateY(-100px); }
  to   { transform: translateY(110vh); }
}
