@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.lb-tap-feedback {
  transform: scale(0.975);
  transition: transform 100ms ease, opacity 100ms ease;
}

.lb-sheet-enter {
  animation: lbSheetEnter 220ms cubic-bezier(0.2, 0.9, 0.2, 1) both;
}

.lb-modal-fade-in {
  animation: lbModalFade 180ms ease both;
}

.lb-reward-burst {
  position: fixed;
  left: 50%;
  top: 18%;
  z-index: 2147483400;
  transform: translate(-50%, -50%);
  pointer-events: none;
  color: #fff;
  font-weight: 1000;
  text-shadow: 0 0 18px rgba(240, 36, 155, 0.8);
  animation: lbRewardBurst 620ms ease-out both;
}

@keyframes lbSheetEnter {
  from { opacity: 0; transform: translateY(18px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lbModalFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes lbRewardBurst {
  0% { opacity: 0; transform: translate(-50%, -40%) scale(0.88); }
  24% { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
  100% { opacity: 0; transform: translate(-50%, -72%) scale(1); }
}
