@keyframes spin{to{transform:rotate(1turn)}}@keyframes cta-glow{0%,to{box-shadow:inset 0 2px 4px rgba(255,255,255,.6)}50%{box-shadow:inset 0 2px 4px rgba(255,255,255,.6),0 0 20px rgba(255,146,51,.2),0 0 40px rgba(192,96,208,.12)}}@keyframes float-up{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:var(--particle-opacity,.4)}90%{opacity:var(--particle-opacity,.4)}to{transform:translateY(-100vh) translateX(var(--drift-x,20px));opacity:0}}@keyframes bounce-down{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(12px);opacity:.8}}@keyframes pulse-glow{0%,to{text-shadow:0 0 30px rgba(255,146,51,.4),0 0 60px rgba(255,146,51,.15),0 0 100px rgba(180,80,200,.08)}50%{text-shadow:0 0 50px rgba(255,146,51,.7),0 0 100px rgba(255,146,51,.3),0 0 140px rgba(180,80,200,.15)}}@keyframes breathe{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}@keyframes ripple-expand{0%{mask-size:0 0;-webkit-mask-size:0 0;mask-position:var(--ripple-x) var(--ripple-y);-webkit-mask-position:var(--ripple-x) var(--ripple-y);opacity:1}to{mask-size:800px 800px;-webkit-mask-size:800px 800px;mask-position:calc(var(--ripple-x) - 400px) calc(var(--ripple-y) - 400px);-webkit-mask-position:calc(var(--ripple-x) - 400px) calc(var(--ripple-y) - 400px);opacity:0}}@keyframes tile-shake{0%,to{transform:translateX(0)}15%{transform:translateX(-6px)}30%{transform:translateX(5px)}45%{transform:translateX(-4px)}60%{transform:translateX(3px)}75%{transform:translateX(-2px)}90%{transform:translateX(1px)}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}