@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{.animate-fade-in{animation:fadeIn .8s ease-out both;will-change:opacity,transform}.animate-pop-in{animation:popIn .3s cubic-bezier(.175,.885,.32,1.275) both}.animate-float{animation:float 3s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.glow{animation:pulse-glow 1.2s ease-in-out infinite alternate;box-shadow:0 0 12px 6px #ffd700b3;will-change:box-shadow}@keyframes pulse-glow{0%{box-shadow:0 0 12px 6px #ffd700b3}33%{box-shadow:0 0 16px 8px #64ffdacc}66%{box-shadow:0 0 16px 8px #ff64dacc}to{box-shadow:0 0 20px 10px #ff0}}}.tile-container{perspective:1200px;transform-style:preserve-3d}.tile-inner{transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}.tile-flipped{transform:rotateY(180deg) scale(.98)}.tile-face{border-radius:1rem;box-shadow:0 4px 8px #0000001a;overflow:hidden}.tile-front{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);transform:translateZ(1px)}.tile-back{background:#fff;transform:rotateY(180deg) translateZ(1px)}.spin-on-match{animation:spinMatch .8s cubic-bezier(.36,.07,.19,.97) both}@keyframes spinMatch{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(1turn) scale(1)}}.pop-on-match{animation:popMatch .8s cubic-bezier(.36,.07,.19,.97) both}@keyframes popMatch{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@font-face{font-display:swap;font-family:PuzzleFont;font-style:normal;font-weight:400;src:url(/static/media/puzzle.564923d6b732b5da3f20.ttf) format("truetype")}.puzzle-font{font-family:PuzzleFont,Comic Sans MS,Marker Felt,Segoe UI Emoji,sans-serif}.bubbly-button{-webkit-appearance:none;appearance:none;background:linear-gradient(45deg,#ff0081,#ff8a00);border:none;border-radius:50px;box-shadow:0 4px 15px #ff008266;color:#fff;cursor:pointer;font-family:PuzzleFont,sans-serif;font-size:1.25rem;margin:1.5rem 0;overflow:hidden;padding:1rem 2.5rem;position:relative;transition:all .3s ease;will-change:transform,box-shadow;z-index:1}.bubbly-button:before{background:linear-gradient(45deg,#ff8a00,#ff0081);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:-1}.bubbly-button:hover{box-shadow:0 6px 20px #ff008299;transform:translateY(-2px)}.bubbly-button:hover:before{opacity:1}.bubbly-button:active{box-shadow:0 2px 10px #ff008266;transform:translateY(1px)}.button-particle{animation:particle-float 1s ease-out forwards;background-color:#ffffffb3;border-radius:50%;pointer-events:none;position:absolute}@keyframes particle-float{0%{opacity:1;transform:translate(0) scale(0)}to{opacity:0;transform:translateY(-100px) scale(1);transform:translate(var(--tx,0),var(--ty,-100px)) scale(1)}}.rumble{animation:rumble .4s linear}@keyframes rumble{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-3px,-3px) rotate(-1deg)}40%{transform:translate(3px,-3px) rotate(1deg)}60%{transform:translate(-3px,3px) rotate(-1deg)}80%{transform:translate(3px,3px) rotate(1deg)}}.confetti-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:100}.confetti{animation:confetti-fall linear forwards,confetti-rotate linear infinite;height:12px;opacity:1;position:absolute;width:12px;will-change:transform,opacity}.confetti:nth-child(5n){animation-delay:calc(var(--delay)*1)}.confetti:nth-child(5n+1){animation-delay:calc(var(--delay)*1.2)}.confetti:nth-child(5n+2){animation-delay:calc(var(--delay)*1.4)}.confetti:nth-child(5n+3){animation-delay:calc(var(--delay)*1.6)}.confetti:nth-child(5n+4){animation-delay:calc(var(--delay)*1.8)}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-50px) translateX(0) rotate(0);transform:translateY(-50px) translateX(var(--tx,0)) rotate(0)}to{opacity:0;transform:translateY(100vh) translateX(0) rotate(2turn);transform:translateY(100vh) translateX(calc(var(--tx, 0)*3)) rotate(2turn)}}@keyframes confetti-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.dark .tile-front{background:linear-gradient(135deg,#2d3748,#4a5568)}.dark .tile-back{background:#2d3748}.winning-tile{animation:winningPulse 1.5s ease-in-out infinite alternate}@keyframes winningPulse{0%{box-shadow:0 0 0 #ffd70066;transform:scale(1)}to{box-shadow:0 0 30px #ffd700cc;transform:scale(1.05)}}.bubbly-button,.tile-container,.tile-face{transition:background-color .3s ease,box-shadow .3s ease}@media (prefers-reduced-motion){.tile-inner{transition:none!important}.animate-fade-in,.animate-float,.animate-pop-in,.confetti,.glow,.pop-on-match,.rumble,.spin-on-match{animation:none!important}}@media (max-width:768px){.tile-container{perspective:800px}.bubbly-button{font-size:1rem;padding:.8rem 1.8rem}.confetti{height:8px;width:8px}}.tile-container{perspective:1000px}.tile-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}.tile-flipped{transform:rotateY(180deg)}.tile-face{align-items:center;backface-visibility:hidden;border-radius:.5rem;display:flex;height:100%;justify-content:center;position:absolute;width:100%}.tile-front{z-index:2}.tile-back{transform:rotateY(180deg)}@keyframes spin{0%{transform:rotateY(0)}to{transform:rotateY(1turn)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.confetti-basic{animation-iteration-count:infinite;animation-timing-function:linear;position:absolute}@keyframes fall{0%{top:-10%;transform:rotate(0deg)}to{top:100%;transform:rotate(1turn)}}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}
/*# sourceMappingURL=main.df6efc29.css.map*/