/* ── Someone Song — All Keyframe Animations ── */

/* Orb drift */
@keyframes orbDrift {
  0%   { transform: translate(0, 0) scale(1); }
  25%  { transform: translate(70px, -50px) scale(1.06); }
  50%  { transform: translate(-40px, 80px) scale(0.94); }
  75%  { transform: translate(-80px, -30px) scale(1.04); }
  100% { transform: translate(0, 0) scale(1); }
}

/* Simpler orb drift (used in 404, auth) */
@keyframes drift {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(60px, -80px) scale(1.07); }
  66%  { transform: translate(-50px, 60px) scale(0.93); }
  100% { transform: translate(0, 0) scale(1); }
}

/* Waveform bar */
@keyframes wfAnim {
  0%, 100% { transform: scaleY(0.25); }
  50%       { transform: scaleY(1); }
}

/* Page/element enter */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}

/* Auth card entrance */
@keyframes cardIn {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Shimmer loading skeleton */
@keyframes shimAnim {
  to { background-position: -200% 0; }
}

/* Arc spinner (confirmation page) */
@keyframes arcSpin {
  to { transform: rotate(360deg); transform-origin: 44px 44px; }
}
