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

.firework {
  position: absolute;
  left: var(--x);
  top: var(--y);
}

.particle {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color);
  transform-origin: center;
  animation: explode 1.5s ease-out forwards;
  opacity: 0;

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--color);
    animation: particle-glow 1.5s ease-out forwards;
  }
}

@keyframes explode {
  0% {
    transform: rotate(var(--angle)) translateX(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: rotate(var(--angle)) translateX(100px) scale(0);
    opacity: 0;
  }
}

@keyframes particle-glow {
  0% {
    filter: brightness(1) blur(0);
  }
  100% {
    filter: brightness(2) blur(3px);
  }
}
