@tailwind base;@tailwind components;@tailwind utilities;@keyframes toast-float{0%{opacity:1;transform:translate(-50%) translateY(0)}60%{opacity:1;transform:translate(-50%) translateY(-40px)}to{opacity:0;transform:translate(-50%) translateY(-70px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slide-up .4s ease-out}@keyframes dice-tumble{0%{transform:rotate(-7deg) translate(-1px,1px) scale(1)}25%{transform:rotate(5deg) translate(1px,-1px) scale(1.07)}50%{transform:rotate(-4deg) translate(-1px,-1px) scale(.96)}75%{transform:rotate(7deg) translate(1px,1px) scale(1.04)}to{transform:rotate(-7deg) translate(-1px,1px) scale(1)}}.dice-tumble{animation:dice-tumble .22s linear infinite}@keyframes dice-settle{0%{transform:scale(1.3)}40%{transform:scaleX(1.15) scaleY(.8)}70%{transform:scaleX(.94) scaleY(1.08)}to{transform:scale(1)}}.dice-settle{animation:dice-settle .32s cubic-bezier(.3,1.2,.5,1)}@keyframes dice-fly-in{0%{transform:translate(var(--fly-dx),var(--fly-dy)) scale(1.3) rotate(-8deg)}55%{transform:translate(calc(var(--fly-dx) * .35),calc(var(--fly-dy) * .35 - 14px)) scale(1.18) rotate(5deg)}80%{transform:translate(0) scaleX(1.18) scaleY(.8) rotate(0)}to{transform:translate(0) scale(1)}}.dice-fly-in{animation:dice-fly-in .38s cubic-bezier(.5,0,.6,1) both;position:relative;z-index:20}@keyframes dice-drop-in{0%{transform:translateY(-40px) scale(1.3);opacity:0}60%{transform:translateY(0) scaleX(1.15) scaleY(.85);opacity:1}to{transform:none;opacity:1}}.dice-drop-in{animation:dice-drop-in .3s ease-in both}@keyframes dice-slide-move{0%{transform:translateY(var(--move-dy))}to{transform:translateY(0)}}.dice-slide-move{animation:dice-slide-move .24s cubic-bezier(.34,1.3,.64,1) .46s backwards}@keyframes dice-frag{0%{transform:translate(0) rotate(0);opacity:1}55%{transform:translate(calc(var(--fx) * .75),calc(var(--fy) * .75 - 8px)) rotate(calc(var(--fr) * .6));opacity:1}to{transform:translate(var(--fx),calc(var(--fy) + 16px)) rotate(var(--fr));opacity:0}}.dice-frag{animation:dice-frag .45s cubic-bezier(.25,.5,.5,1) var(--fd, .2s) both}@keyframes dice-flash{0%{opacity:.95;transform:scale(1.15)}to{opacity:0;transform:scale(1.6)}}.dice-flash{animation:dice-flash .22s ease-out var(--fd, .2s) both}@keyframes ghost-vanish{to{opacity:0}}.dice-ghost-hold{animation:ghost-vanish 1ms linear var(--fd, .2s) forwards}@keyframes score-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(1)}}.score-pop{animation:score-pop .35s ease-out}@keyframes score-float{0%{opacity:0;transform:translate(-50%,4px) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-30px) scale(1)}}.score-float{animation:score-float 1s ease-out var(--fd, .25s) both}@keyframes combo-burst{0%{opacity:0;transform:translate(-50%,8px) scale(.3) rotate(-6deg)}25%{opacity:1;transform:translate(-50%,-4px) scale(1.35) rotate(3deg)}45%{transform:translate(-50%,-6px) scale(1) rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-22px) scale(1)}}.combo-burst{animation:combo-burst .95s ease-out .35s both}@keyframes dice-glow-pulse{0%,to{box-shadow:2px 2px #0006}50%{box-shadow:0 0 14px 4px #facc15bf}}.dice-glow{animation:dice-glow-pulse .45s ease-in-out .4s 2}@keyframes dice-rain-fall{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:1}85%{opacity:1}to{transform:translateY(108vh) translate(var(--drift, 0px)) rotate(var(--spin, 540deg));opacity:0}}.dice-rain-piece{animation:dice-rain-fall var(--dur, 2.4s) cubic-bezier(.3,0,.8,1) var(--delay, 0s) both}@keyframes column-tally{0%{transform:translateY(0)}40%{transform:translateY(-5px);box-shadow:0 0 20px #facc158c}to{transform:translateY(0)}}.column-tally{animation:column-tally .5s ease-out both}@keyframes msg-punch{0%{transform:scale(.3);opacity:0}45%{transform:scale(1.6);opacity:1}70%{transform:scale(.92)}to{transform:scale(1);opacity:1}}.msg-punch{animation:msg-punch .55s cubic-bezier(.3,1.2,.5,1) both}@keyframes defeat-vignette{0%{opacity:0}25%{opacity:1}to{opacity:0}}.defeat-vignette{animation:defeat-vignette 1.1s ease-out both}@media(prefers-reduced-motion:reduce){.dice-tumble,.dice-settle,.dice-fly-in,.dice-drop-in,.dice-slide-move,.dice-frag,.dice-flash,.dice-ghost-hold,.score-pop,.score-float,.combo-burst,.dice-glow,.dice-rain-piece,.column-tally,.msg-punch,.defeat-vignette{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}
