.puzzle-tile{transition:transform .15s cubic-bezier(.25,.46,.45,.94),box-shadow .15s ease}.puzzle-tile:active{transform:scale(.95);box-shadow:0 2px 4px #0003}.puzzle-tile-moving{animation:puzzleSlide .2s cubic-bezier(.25,.46,.45,.94)}@keyframes puzzleSlide{0%{transform:scale(1.05)}50%{transform:scale(.98)}to{transform:scale(1)}}.memory-card-container{perspective:600px}.memory-card{transition:transform .4s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;position:relative}.memory-card.flipped{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{backface-visibility:hidden;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:.5rem}.memory-card-front{transform:rotateY(180deg)}.memory-card-back{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.memory-card-matched{animation:cardMatchPulse .6s ease-out}@keyframes cardMatchPulse{0%{box-shadow:0 0 #22c55e99;transform:rotateY(180deg) scale(1)}50%{box-shadow:0 0 20px 10px #22c55e4d;transform:rotateY(180deg) scale(1.05)}to{box-shadow:0 0 #22c55e00;transform:rotateY(180deg) scale(1)}}.memory-card-mismatch{animation:cardShake .4s ease-out}@keyframes cardShake{0%,to{transform:rotateY(180deg) translate(0)}20%{transform:rotateY(180deg) translate(-5px)}40%{transform:rotateY(180deg) translate(5px)}60%{transform:rotateY(180deg) translate(-3px)}80%{transform:rotateY(180deg) translate(3px)}}.sudoku-cell-enter{animation:sudokuPop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes sudokuPop{0%{transform:scale(.5);opacity:.5}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.sudoku-cell-conflict{animation:sudokuConflict .5s ease-out}@keyframes sudokuConflict{0%,to{background-color:inherit}25%{background-color:#ef44444d}75%{background-color:#ef444426}}.level-complete-overlay{animation:levelCompleteIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes levelCompleteIn{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.star-rating-anim{animation:starPop .4s cubic-bezier(.34,1.56,.64,1) both}.star-rating-anim:nth-child(1){animation-delay:.1s}.star-rating-anim:nth-child(2){animation-delay:.3s}.star-rating-anim:nth-child(3){animation-delay:.5s}@keyframes starPop{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.reward-popup{animation:rewardBounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes rewardBounce{0%{transform:translateY(20px) scale(.8);opacity:0}60%{transform:translateY(-5px) scale(1.05)}to{transform:translateY(0) scale(1);opacity:1}}.coin-fly{animation:coinFly .8s ease-out forwards}@keyframes coinFly{0%{transform:translate(0) scale(1);opacity:1}50%{transform:translate(-30px,-40px) scale(1.2);opacity:.8}to{transform:translate(-60px,-80px) scale(.5);opacity:0}}.streak-fire{animation:streakPulse 1s ease-in-out infinite}@keyframes streakPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.rank-entry{animation:rankSlideIn .4s ease-out both}@keyframes rankSlideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.achievement-unlock{animation:achievementUnlock .8s cubic-bezier(.34,1.56,.64,1)}@keyframes achievementUnlock{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.countdown-pulse{animation:countdownPulse 1s ease-in-out infinite}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.new-record-glow{animation:newRecordGlow 1.5s ease-in-out infinite}@keyframes newRecordGlow{0%,to{box-shadow:0 0 5px #eab3084d}50%{box-shadow:0 0 20px #eab30899,0 0 40px #eab3084d}}.particle-burst{position:relative}.particle-burst:after{content:"";position:absolute;inset:-10px;background:radial-gradient(circle,rgba(234,179,8,.3) 0%,transparent 70%);animation:particleBurst .8s ease-out forwards;pointer-events:none}@keyframes particleBurst{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}.trophy-shine{animation:trophyShine 2s ease-in-out infinite}@keyframes trophyShine{0%,to{filter:drop-shadow(0 0 3px rgba(234,179,8,.3))}50%{filter:drop-shadow(0 0 10px rgba(234,179,8,.6))}}.game-btn-press:active{transform:scale(.95);transition:transform .1s}.game-fade-in{animation:gameFadeIn .3s ease-out}@keyframes gameFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tutorial-highlight{position:relative;z-index:50;box-shadow:0 0 0 4px #3b82f680,0 0 20px #3b82f64d;border-radius:.5rem;animation:tutorialPulse 1.5s ease-in-out infinite}@keyframes tutorialPulse{0%,to{box-shadow:0 0 0 4px #3b82f680,0 0 20px #3b82f64d}50%{box-shadow:0 0 0 6px #3b82f6b3,0 0 30px #3b82f680}}@keyframes diceShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-8px,-6px) rotate(-15deg)}20%{transform:translate(6px,-8px) rotate(12deg)}30%{transform:translate(-6px,4px) rotate(-8deg)}40%{transform:translate(8px,-4px) rotate(15deg)}50%{transform:translate(-4px,6px) rotate(-12deg)}60%{transform:translate(6px,-6px) rotate(8deg)}70%{transform:translate(-8px,4px) rotate(-15deg)}80%{transform:translate(4px,-8px) rotate(12deg)}90%{transform:translate(-6px,6px) rotate(-8deg)}}.dice-shake{animation:diceShake .6s ease-in-out}@keyframes diceBounce{0%{transform:scale(.3) rotate(-180deg);opacity:0}50%{transform:scale(1.15) rotate(10deg);opacity:1}70%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}.dice-bounce{animation:diceBounce .8s cubic-bezier(.34,1.56,.64,1)}@keyframes diceRolling{0%{transform:rotate(0) scale(1)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.dice-rolling{animation:diceRolling .4s linear infinite}@keyframes winGlow{0%,to{box-shadow:0 0 5px #eab3084d}50%{box-shadow:0 0 30px #eab308cc,0 0 60px #eab30866}}.win-glow{animation:winGlow 1s ease-in-out infinite}@keyframes chipPlace{0%{transform:scale(0) translateY(-30px);opacity:0}60%{transform:scale(1.2) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}.chip-place{animation:chipPlace .4s cubic-bezier(.34,1.56,.64,1)}@keyframes urgentPulse{0%,to{transform:scale(1);color:inherit}50%{transform:scale(1.15);color:#ef4444}}.urgent-pulse{animation:urgentPulse .5s ease-in-out infinite}@keyframes resultReveal{0%{transform:scale(0) rotateY(180deg);opacity:0}50%{transform:scale(1.2) rotateY(90deg)}to{transform:scale(1) rotateY(0);opacity:1}}.result-reveal{animation:resultReveal .8s cubic-bezier(.34,1.56,.64,1)}@keyframes historySlideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.history-slide-in{animation:historySlideIn .3s ease-out}@keyframes luckyMomentGlow{0%{box-shadow:0 0 5px #ffd7004d}50%{box-shadow:0 0 30px #ffd700cc,0 0 60px #ffa50066}to{box-shadow:0 0 5px #ffd7004d}}@keyframes luckyStarBurst{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(1) rotate(360deg);opacity:1}}@keyframes luckyRainDrop{0%{transform:translateY(-100px) rotate(0);opacity:0}20%{opacity:1}to{transform:translateY(calc(100vh + 50px)) rotate(720deg);opacity:0}}@keyframes luckyShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes luckyPulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.3)}}@keyframes luckyBounceIn{0%{transform:scale(.3) translateY(50px);opacity:0}50%{transform:scale(1.05) translateY(-10px);opacity:1}70%{transform:scale(.95) translateY(5px)}to{transform:scale(1) translateY(0)}}@keyframes luckyTextGlow{0%,to{text-shadow:0 0 5px rgba(255,215,0,.5)}50%{text-shadow:0 0 20px rgba(255,215,0,1),0 0 40px rgba(255,165,0,.7)}}@keyframes luckyConfetti{0%{transform:translateY(0) rotateX(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotateX(720deg) rotate(360deg);opacity:0}}.lucky-moment-overlay{animation:gameFadeIn .3s ease-out}.lucky-moment-card{animation:luckyBounceIn .6s ease-out}.lucky-moment-glow{animation:luckyMomentGlow 2s ease-in-out infinite}.lucky-star-burst{animation:luckyStarBurst .8s ease-out forwards}.lucky-text-glow{animation:luckyTextGlow 1.5s ease-in-out infinite}.lucky-shimmer{background:linear-gradient(90deg,transparent,rgba(255,215,0,.3),transparent);background-size:200% 100%;animation:luckyShimmer 2s linear infinite}.lucky-pulse{animation:luckyPulse 1.5s ease-in-out infinite}.lucky-rain-drop{animation:luckyRainDrop 2s ease-in forwards}.lucky-confetti{animation:luckyConfetti 3s ease-out forwards}.lucky-buff-badge{animation:luckyPulse 2s ease-in-out infinite;border:2px solid rgba(255,215,0,.5);border-radius:8px;padding:4px 8px}.lucky-hour-indicator{animation:luckyMomentGlow 3s ease-in-out infinite;border-radius:8px}
