/* Shared Brain Game motion language */
@keyframes inkReveal {
  from { opacity: 0; transform: translateY(12px); filter: blur(6px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes sealStamp {
  0% { opacity: 0; transform: scale(1.5) rotate(-8deg); }
  55% { opacity: 1; transform: scale(.88) rotate(2deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes scorePop {
  0% { transform: scale(.75); opacity: 0; }
  70% { transform: scale(1.12); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes inkBleed {
  0% { box-shadow: 0 0 0 0 rgba(196,52,45,.0); }
  50% { box-shadow: 0 0 0 10px rgba(196,52,45,.14); }
  100% { box-shadow: 0 0 0 0 rgba(196,52,45,.0); }
}

@keyframes paperSlideIn {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes softFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes inkMistIn {
  from { opacity: 0; transform: translateY(10px) scale(.98); filter: blur(8px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes inkDissolve {
  0% { opacity: 1; transform: scale(1); filter: blur(0); }
  65% { opacity: .36; transform: scale(1.05); filter: blur(1px); }
  100% { opacity: .08; transform: scale(1.14); filter: blur(8px); }
}

@keyframes brushSlash {
  0% { opacity: 0; transform: translateX(-18%) scaleX(.25) rotate(-8deg); }
  35% { opacity: 1; }
  100% { opacity: 0; transform: translateX(24%) scaleX(1.08) rotate(-8deg); }
}

@keyframes sealPulse {
  0% { opacity: 0; transform: scale(1.55) rotate(-9deg); filter: blur(3px); }
  55% { opacity: 1; transform: scale(.92) rotate(-3deg); filter: blur(0); }
  100% { opacity: 1; transform: scale(1) rotate(-5deg); }
}

@keyframes inkShadowPulse {
  0%, 100% { filter: blur(0); opacity: 1; }
  50% { filter: blur(2px); opacity: .72; }
}

@keyframes feverBrushFlow {
  0% { background-position: 0 0, 0 0; }
  100% { background-position: 140px 0, 0 42px; }
}

@keyframes breathRing {
  0%, 100% { transform: translate(-50%, -50%) scale(.82); opacity: .2; }
  45% { transform: translate(-50%, -50%) scale(1.16); opacity: .42; }
  70% { transform: translate(-50%, -50%) scale(1.08); opacity: .32; }
}

@keyframes wrongWobble {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-7px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(3px); }
}

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