@keyframes cardPlay{0%{transform:scale(1) rotate(0deg);box-shadow:0 4px 8px rgba(0,0,0,.1)}50%{transform:scale(1.2) rotate(5deg);box-shadow:0 8px 16px rgba(0,0,0,.3)}to{transform:scale(1) rotate(0deg);box-shadow:0 4px 8px rgba(0,0,0,.1)}}@keyframes cardSlideIn{0%{transform:translateX(-100px) scale(.8);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}@keyframes cardSlideOut{0%{transform:translateX(0) scale(1);opacity:1}to{transform:translateX(100px) scale(.8);opacity:0}}@keyframes cardFlip{0%{transform:rotateY(0deg)}50%{transform:rotateY(90deg)}to{transform:rotateY(0deg)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(59,130,246,.5)}50%{box-shadow:0 0 20px rgba(59,130,246,.8)}}@keyframes slideInFromRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes buttonGlow{0%,to{box-shadow:0 0 5px rgba(34,197,94,.5)}50%{box-shadow:0 0 20px rgba(34,197,94,.8)}}.card-playing{animation:cardPlay .6s ease-in-out}.card-slide-in{animation:cardSlideIn .4s ease-out}.card-slide-out{animation:cardSlideOut .3s ease-in}.card-flip{animation:cardFlip .6s ease-in-out}.bounce-in{animation:bounceIn .5s ease-out}.pulse-glow{animation:pulse 1s infinite}.glow-effect{animation:glow 2s infinite}.canto-slide-in{animation:slideInFromRight .3s ease-out}.canto-fade-up{animation:fadeInUp .4s ease-out}.shake{animation:shake .5s ease-in-out}.button-press{animation:buttonPress .2s ease-in-out}.button-glow{animation:buttonGlow 2s infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 25px rgba(0,0,0,.2)}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-selected{transform:scale(1.1);box-shadow:0 0 0 4px rgba(59,130,246,.5);z-index:10}.turn-active{animation:pulse 2s infinite;box-shadow:0 0 0 4px rgba(59,130,246,.3)}.card-played{opacity:.6;filter:grayscale(100%);transform:scale(.95);transition:all .3s ease-in-out}.notification-bounce{animation:bounceIn .6s ease-out}.notification-slide{animation:slideInFromRight .4s ease-out}.timer-urgent{animation:shake .5s ease-in-out infinite;background-color:#ef4444}.victory-celebration{animation:bounceIn .8s ease-out,glow 1s ease-in-out .5s}.defeat-fade{animation:fadeInUp .5s ease-out;opacity:.7;filter:grayscale(50%)}@keyframes revanchaPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes revanchaGlow{0%,to{box-shadow:0 0 10px rgba(34,197,94,.6),0 0 20px rgba(34,197,94,.4)}50%{box-shadow:0 0 20px rgba(34,197,94,.8),0 0 40px rgba(34,197,94,.6),0 0 60px rgba(34,197,94,.4)}}.revancha-cta{animation:revanchaPulse 2s ease-in-out infinite,revanchaGlow 2s ease-in-out infinite}.revancha-cta:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 30px rgba(34,197,94,.5)}@media (prefers-reduced-motion:reduce){.revancha-cta{animation:none}}@keyframes cardHoverFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card-hover-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover-enhanced:hover{animation:cardHoverFloat .6s ease-in-out}@keyframes boardEntry{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.board-entry{animation:boardEntry .5s ease-out}@keyframes actionButtonHover{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1.02)}}@keyframes stackCard{0%{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-card{animation:stackCard .4s ease-out forwards}@keyframes cardSlideInHorizontal{0%{opacity:0;transform:translateX(-20px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}.card-slide-horizontal{animation:cardSlideInHorizontal .35s ease-out forwards}@keyframes playerTurnHighlight{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,0)}50%{box-shadow:0 0 0 4px rgba(59,130,246,.4)}}.player-turn-active{animation:playerTurnHighlight 2s ease-in-out infinite}@supports (padding-bottom:env(safe-area-inset-bottom)){.pb-safe{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@supports (backdrop-filter:blur(10px)){.backdrop-blur-enhanced{backdrop-filter:blur(10px)}}