@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes scan-line {
  0% { top: 0; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

@keyframes receipt-split {
  0% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(12px) scale(0.96); opacity: 0.9; }
  100% { transform: translateY(0); opacity: 1; }
}

.anim-receipt-split {
  animation: receipt-split 4s infinite cubic-bezier(0.4, 0, 0.2, 1);
}

/* Updated pulse for lighter theme */
@keyframes pulse-glow {
  0% { box-shadow: 0 4px 14px var(--color-accent-glow); }
  50% { box-shadow: 0 8px 24px rgba(0, 210, 255, 0.5); transform: scale(1.01); }
  100% { box-shadow: 0 4px 14px var(--color-accent-glow); }
}

.btn-primary {
  animation: pulse-glow 3s infinite;
}

/* Confetti particles for success screen */
.confetti {
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: var(--color-accent);
  opacity: 0;
  border-radius: 4px; /* Slightly softer confetti */
}

@keyframes fall {
  0% { transform: translateY(-100vh) rotate(0deg); opacity: 1; }
  100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}

.celebration-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
