@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes splashPulse{from{transform:scale(.98);filter:drop-shadow(0 0 10px var(--glow))}to{transform:scale(1.025);filter:drop-shadow(0 0 28px var(--glow))}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes diceRoll{0%{transform:rotateX(0deg) rotateY(0deg)}35%{transform:rotateX(380deg) rotateY(210deg) rotateZ(70deg)}70%{transform:rotateX(690deg) rotateY(520deg) rotateZ(145deg)}100%{transform:rotateX(1050deg) rotateY(760deg) rotateZ(250deg)}}
@keyframes cardEnter{0%{opacity:0;transform:translateX(16px) scale(.985)}60%{opacity:1}100%{opacity:1;transform:translateX(0) scale(1)}}
@keyframes cardExit{0%{opacity:1;transform:translateX(0) scale(1)}100%{opacity:0;transform:translateX(-26px) scale(.985)}}
@keyframes cardShine{0%{transform:rotate(24deg) translateX(-180%)}100%{transform:rotate(24deg) translateX(340%)}}
@keyframes ambientDrift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(1.5%, -1%, 0) scale(1.02)}100%{transform:translate3d(-1.5%, 1.2%, 0) scale(1.03)}}
@keyframes ctaPulse{0%,100%{box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 30%,transparent),0 0 0 1px color-mix(in srgb,var(--accent-2) 18%,transparent)}50%{box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 34%,transparent),0 0 22px var(--glow),0 0 0 1px color-mix(in srgb,var(--accent-2) 22%,transparent)}}
@keyframes tokenPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes tilePulse{0%,100%{box-shadow:0 0 18px rgba(233,196,106,.32),0 8px 20px rgba(0,0,0,.25)}50%{box-shadow:0 0 28px rgba(233,196,106,.48),0 10px 24px rgba(0,0,0,.28)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes popupIn{from{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}
.card-enter{animation:cardEnter .34s var(--ease)}.card-exit{animation:cardExit .22s ease-in forwards}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

@keyframes ctaPulseSoft{0%,100%{filter:brightness(1);box-shadow:0 8px 22px rgba(255,93,135,.20)}50%{filter:brightness(1.035);box-shadow:0 9px 26px rgba(255,93,135,.28),0 0 14px rgba(255,199,143,.12)}}

@keyframes brandGlowPulse{0%,100%{opacity:.72;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
@keyframes heroLiftIn{0%{opacity:0;transform:translateY(10px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
