@keyframes pulse-dot {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.15);
  }
}

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

@keyframes chip-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.92);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes modal-rise {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes shine-sweep {
  0% {
    transform: translateX(-40%);
  }
  100% {
    transform: translateX(40%);
  }
}

.wheel-svg-host.is-spinning .wheel-rotor {
  /* duration set inline from config */
}

.wheel-rotor {
  transform-origin: 50% 50%;
  will-change: transform;
}

@keyframes parchment-wobble {
  0%,
  100% {
    transform: rotate(-5deg) translateY(0);
  }
  50% {
    transform: rotate(-4deg) translateY(-2px);
  }
}
