@keyframes token-hop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-10px) scale(1.04)}65%{transform:translateY(-6px) scale(1.02)}to{transform:translateY(0) scale(1)}}.token-hopping{animation:token-hop .09s cubic-bezier(.18,.97,.42,1) forwards}@keyframes tile-glow{0%{opacity:0;transform:scale(.7);box-shadow:0 0 0 currentColor}50%{opacity:.8;transform:scale(1.05);box-shadow:0 0 15px currentColor,0 0 30px currentColor}to{opacity:0;transform:scale(1.15);box-shadow:0 0 20px currentColor,0 0 35px currentColor}}.tile-glow{position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:3;animation:tile-glow .6s cubic-bezier(.18,.97,.42,1) forwards}@keyframes ripple-landing{0%{transform:scale(.4);opacity:.9}to{transform:scale(1.7);opacity:0}}.ripple-effect{position:absolute;inset:-20%;border-radius:50%;border:2px solid;pointer-events:none;z-index:2;animation:ripple-landing .45s cubic-bezier(.18,.97,.42,1) forwards}@keyframes particle-fade{0%{opacity:.7;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.3)}}.particle-trail{position:absolute;width:7px;height:7px;border-radius:50%;background:currentColor;pointer-events:none;z-index:1;animation:particle-fade .35s cubic-bezier(.18,.97,.42,1) forwards;box-shadow:0 0 6px currentColor,0 0 10px currentColor}.premium-move-transition{transition:transform .09s cubic-bezier(.18,.97,.42,1)}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 8px currentColor)}50%{filter:drop-shadow(0 0 7px currentColor) drop-shadow(0 0 14px currentColor)}}.token-glow-moving{animation:glow-pulse .28s cubic-bezier(.18,.97,.42,1) infinite}@keyframes landing-bounce{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.landing-bounce{animation:landing-bounce .18s cubic-bezier(.18,.97,.42,1) forwards}@keyframes path-preview{0%,to{opacity:.3;box-shadow:0 0 7px currentColor}50%{opacity:.45;box-shadow:0 0 14px currentColor}}.path-preview-tile{position:absolute;inset:12%;border-radius:50%;background:currentColor;opacity:.3;pointer-events:none;z-index:1;animation:path-preview 1.4s cubic-bezier(.18,.97,.42,1) infinite}.token-moving{will-change:transform,opacity,filter;transform:translateZ(0)}