@keyframes likePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes counterPop{0%{transform:scale(1);opacity:1}to{transform:scale(1.3);opacity:0}}@keyframes floatingHeart{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-80px) scale(.5);opacity:0}}@keyframes heartBurst{0%{transform:scale(0);opacity:1}50%{transform:scale(1.2)}to{transform:scale(.8);opacity:0}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rewardShake{0%,to{transform:translate(0) rotate(0deg)}10%{transform:translate(-5px) rotate(-1deg)}20%{transform:translate(5px) rotate(1deg)}30%{transform:translate(-5px) rotate(-1deg)}40%{transform:translate(5px) rotate(1deg)}50%{transform:translate(0) rotate(0deg)}}@keyframes confetti{0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:1}to{transform:translateY(100px) translateX(50px) rotate(1turn);opacity:0}}@keyframes badgePopIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes postFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes postScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes skeletonShimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spinLoader{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulseLoad{0%,to{opacity:1}50%{opacity:.5}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}50%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes metricGlow{0%,to{text-shadow:0 0 5px rgba(255,66,52,.3)}50%{text-shadow:0 0 15px rgba(255,66,52,.6)}}.animate-like-pulse{animation:likePulse .6s ease-in-out}.animate-counter-pop{animation:counterPop .8s ease-out}.animate-floating-heart{animation:floatingHeart 1s ease-out forwards}.animate-heart-burst{animation:heartBurst .8s ease-out forwards}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,rgba(255,255,255,.1) 8%,rgba(255,255,255,.3) 18%,rgba(255,255,255,.1) 33%);background-size:800px 104px}.animate-reward-shake{animation:rewardShake .6s ease-out}.animate-confetti{animation:confetti 1s ease-out forwards}.animate-badge-pop{animation:badgePopIn .6s cubic-bezier(.34,1.56,.64,1)}.animate-post-fade-in{animation:postFadeIn .4s ease-out}.animate-post-scale-in{animation:postScaleIn .5s cubic-bezier(.34,1.56,.64,1)}.animate-slide-in-right{animation:slideInRight .4s ease-out}.animate-slide-in-left{animation:slideInLeft .4s ease-out}.animate-skeleton-shimmer{animation:skeletonShimmer 2s infinite}.animate-spin-loader{animation:spinLoader 1s linear infinite}.animate-pulse-load{animation:pulseLoad 2s ease-in-out infinite}.animate-count-up{animation:countUp .5s ease-out}.animate-metric-glow{animation:metricGlow 2s ease-in-out infinite}.btn-active{transition:all .2s cubic-bezier(.34,1.56,.64,1)}.btn-active:active{transform:scale(.95)}.hover-lift{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.3)}.glow-on-focus{transition:all .2s ease}.glow-on-focus:focus,.glow-on-focus:hover{box-shadow:0 0 20px rgba(255,66,52,.4)}.bounce-indicator{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.haptic-feedback{animation:hapticPulse .3s ease-out}@keyframes hapticPulse{0%{box-shadow:0 0 0 3px rgba(255,66,52,.4)}to{box-shadow:0 0 0 0 rgba(255,66,52,0)}}.swipe-indicator{animation:swipeIndicator .6s ease-out}@keyframes swipeIndicator{0%{transform:translateX(-20px);opacity:0}50%{opacity:1}to{transform:translateX(20px);opacity:0}}@keyframes neonGlowPulse{0%,to{box-shadow:0 0 10px rgba(255,45,45,.4),0 0 20px rgba(255,45,45,.2)}50%{box-shadow:0 0 20px rgba(255,45,45,.8),0 0 40px rgba(255,45,45,.4)}}@keyframes cinematicCardEntrance{0%{opacity:0;transform:translateY(20px) scale(.98);box-shadow:0 0 0 rgba(255,45,45,0)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 0 30px rgba(255,45,45,.5)}}@keyframes neonBorderGlow{0%,to{border-color:rgba(255,45,45,.3);box-shadow:inset 0 0 10px rgba(255,45,45,.1)}50%{border-color:rgba(255,45,45,.8);box-shadow:inset 0 0 15px rgba(255,45,45,.3)}}@keyframes xpBarFill{0%{width:0;box-shadow:0 0 0 rgba(255,45,45,0)}50%{box-shadow:0 0 20px rgba(255,45,45,.6)}to{box-shadow:0 0 10px rgba(255,45,45,.3)}}@keyframes glitch{0%{opacity:1;transform:translateX(0)}20%{opacity:.9;transform:translateX(-2px)}40%{opacity:1;transform:translateX(0)}60%{opacity:.9;transform:translateX(1px)}80%{opacity:1;transform:translateX(0)}to{opacity:1;transform:translateX(0)}}@keyframes pixelPop{0%{opacity:0;transform:scale(.8) translateY(-10px)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes premiumScaleIn{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes neonTextGlow{0%,to{text-shadow:0 0 10px rgba(255,45,45,.5),0 0 20px rgba(255,45,45,.2)}50%{text-shadow:0 0 20px rgba(255,45,45,1),0 0 40px rgba(255,45,45,.5)}}@keyframes cardElevate{0%{transform:translateY(0);box-shadow:0 20px 40px rgba(0,0,0,.8)}to{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.9),0 0 30px rgba(255,45,45,.4)}}@keyframes neonFadeIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}.animate-neon-glow-pulse{animation:neonGlowPulse 2s ease-in-out infinite}.animate-cinematic-entrance{animation:cinematicCardEntrance .6s cubic-bezier(.34,1.56,.64,1)}.animate-neon-border-glow{animation:neonBorderGlow 2s ease-in-out infinite}.animate-xp-bar-fill{animation:xpBarFill .8s ease-out}.animate-glitch{animation:glitch .3s ease-in-out}.animate-pixel-pop{animation:pixelPop .4s cubic-bezier(.68,-.55,.265,1.55)}.animate-premium-scale-in{animation:premiumScaleIn .5s cubic-bezier(.34,1.56,.64,1)}.animate-neon-text-glow{animation:neonTextGlow 2s ease-in-out infinite}.animate-card-elevate{animation:cardElevate .3s ease-out forwards}.animate-neon-fade-in{animation:neonFadeIn .8s ease-out}