@keyframes borderMagic{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.btn-magic-border{position:relative;z-index:1;overflow:visible}.btn-magic-border:before{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,var(--magic-color-1,#8f5bb5),var(--magic-color-2,#c9a876),var(--magic-color-1,#8f5bb5),var(--magic-color-2,#c9a876),var(--magic-color-1,#8f5bb5));background-size:400% 400%;border-radius:inherit;opacity:0;transition:opacity .3s ease;animation:borderMagic 2s linear infinite;z-index:-2;filter:blur(1px)}.btn-magic-border:hover:before{opacity:1}.btn-magic-border:after{inset:0;background:inherit;z-index:-1;content:"";position:absolute;inset:-6px;background:radial-gradient(circle at center,transparent 30%,var(--magic-color-1,#8f5bb5) 50%,transparent 70%);border-radius:inherit;opacity:0;transition:opacity .3s ease;animation:borderMagic 3s linear infinite;z-index:-3;filter:blur(3px)}.btn-magic-border:hover:after{opacity:.6}.btn-magic-border.variant-primary{--magic-color-1:gold;--magic-color-2:orange}.btn-magic-border.variant-mystical{--magic-color-1:#9d4edd;--magic-color-2:#c77dff}.btn-magic-border.variant-secondary{--magic-color-1:#06ffa5;--magic-color-2:#00e980}.btn-magic-border:hover{box-shadow:0 0 30px var(--magic-color-1,#8f5bb5),0 0 60px var(--magic-color-2,#c9a876),0 0 90px var(--magic-color-1,#8f5bb5),inset 0 0 20px hsla(0,0%,100%,.2);transform:translateY(-2px)}@keyframes flashPulse{0%{opacity:0;transform:scale(.5)}50%{opacity:.8}to{opacity:0;transform:scale(1.5)}}@keyframes particleFly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--x),var(--y)) scale(0);opacity:0}}.btn-click-magic{position:relative;overflow:visible}.btn-click-magic .flash-effect{position:absolute;inset:-20%;background:radial-gradient(circle,var(--flash-color,hsla(0,0%,100%,.8)),transparent 70%);opacity:0;pointer-events:none;animation:flashPulse .6s ease-out}.btn-click-magic .particle{position:absolute;width:4px;height:4px;background:var(--particle-color,#f4d7a7);border-radius:50%;pointer-events:none;left:50%;top:50%;opacity:0;animation:particleFly .8s ease-out;box-shadow:0 0 6px var(--particle-color,#f4d7a7)}.btn-click-magic .particle:first-child{--x:-50px;--y:-50px;animation-delay:0s}.btn-click-magic .particle:nth-child(2){--x:50px;--y:-50px;animation-delay:.1s}.btn-click-magic .particle:nth-child(3){--x:-50px;--y:50px;animation-delay:.2s}.btn-click-magic .particle:nth-child(4){--x:50px;--y:50px;animation-delay:.15s}.btn-click-magic .particle:nth-child(5){--x:0;--y:-70px;animation-delay:.05s}.btn-click-magic .particle:nth-child(6){--x:0;--y:70px;animation-delay:.25s}.btn-click-magic .particle:nth-child(7){--x:-70px;--y:0;animation-delay:.3s}.btn-click-magic .particle:nth-child(8){--x:70px;--y:0;animation-delay:.35s}.btn-click-magic.active .flash-effect{animation-name:flashPulse}.btn-click-magic.active .particle{animation-name:particleFly}.btn-click-magic.variant-primary{--flash-color:hsla(38,62%,75%,.6);--particle-color:#f4d7a7}.btn-click-magic.variant-mystical{--flash-color:rgba(143,91,181,.6);--particle-color:#b376c7}.btn-click-magic.variant-secondary{--flash-color:rgba(77,143,77,.6);--particle-color:#4d8f4d}.btn-enhanced{transform-style:preserve-3d;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-enhanced:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.3),0 0 20px var(--glow-color,hsla(36,43%,63%,.3))}.btn-enhanced:active{transform:translateY(0);transition-duration:.1s}.btn-enhanced:disabled{transform:none!important;box-shadow:none!important}.btn-enhanced:disabled:after,.btn-enhanced:disabled:before{display:none}