@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-fadeInUp{animation:fadeInUp .4s ease-out}.animate-modal-in{animation:modalIn .25s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-slideUp{animation:slideUp .4s ease-out}.animate-gradient{animation:gradient 8s ease infinite;background-size:200% 200%}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{animation:shimmer 3s ease-in-out infinite}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 8s linear infinite}.animate-pulse-slow{animation:pulse-slow 3s cubic-bezier(.4,0,.6,1) infinite}.gpu-accelerated{transform:translateZ(0);will-change:transform}.card-interactive{transition:transform .3s ease,box-shadow .3s ease}.card-interactive:hover{transform:translateY(-2px)}@keyframes star-burst{0%{opacity:1;transform:rotate(var(--rotation,0deg)) translateX(0)}to{opacity:0;transform:rotate(var(--rotation,0deg)) translateX(40px)}}@keyframes xp-float{0%{opacity:0;transform:translateX(-50%) translateY(0)}20%{opacity:1}to{opacity:0;transform:translateX(-50%) translateY(-40px)}}@keyframes ring-shine{0%{filter:brightness(1)}50%{filter:brightness(1.5)}to{filter:brightness(1)}}@keyframes ring-pulse{0%{opacity:1;stroke-width:3}to{opacity:0;stroke-width:6}}@keyframes flame{0%,to{transform:scaleY(1) scaleX(1)}25%{transform:scaleY(1.05) scaleX(.95)}50%{transform:scaleY(.95) scaleX(1.05)}75%{transform:scaleY(1.03) scaleX(.97)}}@keyframes flame-outer{0%,to{transform:translateY(0) scaleY(1);opacity:1}50%{transform:translateY(-1px) scaleY(1.02);opacity:.9}}@keyframes flame-middle{0%,to{transform:translateY(0) scaleY(1)}33%{transform:translateY(-.5px) scaleY(1.03)}66%{transform:translateY(.5px) scaleY(.98)}}@keyframes flame-inner{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-1px);opacity:.95}}@keyframes flame-side{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-2px) rotate(3deg)}}.animate-flame{animation:flame .5s ease-in-out infinite;transform-origin:bottom center}.animate-flame-outer{animation:flame-outer .6s ease-in-out infinite;transform-origin:bottom center}.animate-flame-middle{animation:flame-middle .4s ease-in-out infinite;transform-origin:bottom center}.animate-flame-inner{animation:flame-inner .3s ease-in-out infinite;transform-origin:bottom center}.animate-flame-side-left{animation:flame-side .7s ease-in-out infinite;transform-origin:bottom center}.animate-flame-side-right{animation:flame-side .7s ease-in-out infinite reverse;transform-origin:bottom center}