.btn-particle {
  position: fixed;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  animation: particle-fly 0.5s ease-out forwards;
}

@keyframes particle-fly {
  0%   { transform: translate(0, 0) scale(1); opacity: 1; }
  100% { transform: translate(var(--tx), var(--ty)) scale(0); opacity: 0; }
}

@keyframes btn-burst {
  0%   { transform: scale(0.92); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}

.btn-popping {
  animation: btn-burst 0.3s ease-out forwards !important;
}
