.hearts-bg {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}

.heart {
  position: absolute;
  font-size: 20px;
  color: #ff69b4;
  opacity: 0;
  animation: float 12s linear infinite;
  user-select: none;
}

@keyframes float {
  0%   { transform: translateY(100vh) rotate(0deg); opacity: 0; }
  10%  { opacity: 0.7; }
  90%  { opacity: 0.7; }
  100% { transform: translateY(-20vh) rotate(360deg); opacity: 0; }
}