@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes scaleCheck{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes levelUp{0%{opacity:0;transform:scale(.5) rotate(-10deg)}40%{opacity:1;transform:scale(1.15) rotate(2deg)}70%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 20px 6px rgba(34,197,94,.25)}}@keyframes highlightFade{0%{background-color:rgba(212,168,67,.5)}to{background-color:rgba(212,168,67,.12)}}@keyframes flipCard{0%{transform:rotateY(0deg)}50%{transform:rotateY(90deg)}to{transform:rotateY(0deg)}}@keyframes letterDrop{0%{opacity:0;transform:translateY(-20px) scale(.8)}60%{opacity:1;transform:translateY(4px) scale(1.05)}to{transform:translateY(0) scale(1)}}@keyframes slideUpOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes goldStreakPulse{0%,to{box-shadow:0 0 0 0 rgba(212,168,67,.5);transform:scale(1)}50%{box-shadow:0 0 24px 8px rgba(212,168,67,.3);transform:scale(1.05)}}.animate-bounceIn{animation:bounceIn .5s cubic-bezier(.68,-.55,.27,1.55)}.animate-scaleCheck{animation:scaleCheck .4s ease forwards}.animate-levelUp{animation:levelUp .8s cubic-bezier(.68,-.55,.27,1.55) forwards}.animate-glowPulse{animation:glowPulse 1.5s ease infinite}.animate-highlightFade{animation:highlightFade 1s ease forwards}.animate-flipCard{animation:flipCard .5s ease}.animate-letterDrop{animation:letterDrop .4s ease forwards}.animate-slideUpOut{animation:slideUpOut .3s ease forwards}.animate-goldPulse{animation:goldStreakPulse 1.2s ease infinite}.animate-correct{animation:correctFlash .8s ease;position:relative}.animate-correct:after{content:"✓";position:absolute;top:50%;right:12px;transform:translateY(-50%) scale(0);font-size:1.25rem;color:#22c55e;animation:scaleCheck .4s ease .1s forwards;pointer-events:none}.animate-wrong{animation:shake .4s ease;box-shadow:inset 0 0 0 2px rgba(239,68,68,.3)}.animate-streak{animation:goldStreakPulse 1.2s ease 2}.animate-levelup{animation:levelUp .8s cubic-bezier(.68,-.55,.27,1.55) forwards}.game-word-found{animation:highlightFade 1s ease forwards;border-radius:4px}.game-match-found{animation:flipCard .5s ease,glowPulse 1.5s ease .5s 1}.game-letter-reveal{animation:letterDrop .4s ease forwards}.game-complete-enter{animation:bounceIn .5s cubic-bezier(.68,-.55,.27,1.55)}[data-gamification=kids] .animate-correct:after{font-size:2rem;right:8px}[data-gamification=kids] .animate-bounceIn{animation-duration:.7s}[data-gamification=kids] .animate-streak{animation-iteration-count:3}[data-gamification=kids] .animate-streak-pop{font-size:1.25rem}[data-gamification=kids] .game-complete-enter{animation-duration:.7s}[data-gamification=focus] .animate-bounceIn,[data-gamification=focus] .animate-correct:after,[data-gamification=focus] .animate-goldPulse,[data-gamification=focus] .animate-levelup,[data-gamification=focus] .animate-points-float,[data-gamification=focus] .animate-streak,[data-gamification=focus] .animate-streak-pop,[data-gamification=focus] .game-complete-enter{animation:none!important}[data-gamification=focus] .animate-correct:after{display:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}