:root{--transition:0.25s;--spark:1.8s}.magicButton{--cut:0.1em;--active:0;--bg:radial-gradient(40% 50% at center 100%,hsl(270 calc(var(--active) * 97%) 72%/var(--active)),transparent),radial-gradient(80% 100% at center 120%,hsl(260 calc(var(--active) * 97%) 70%/var(--active)),transparent),hsl(260 calc(var(--active) * 97%) calc((var(--active) * 44%) + 12%));background:var(--bg);border:0;padding:.9em 1.3em;display:flex;align-items:center;gap:.25em;white-space:nowrap;border-radius:100px;position:relative;box-shadow:0 0 calc(var(--active) * 6em) calc(var(--active) * 3em) rgba(123,59,252,.75),0 .05em 0 0 hsl(260 calc(var(--active) * 97%) calc((var(--active) * 50%) + 30%)) inset,0 -.05em 0 0 hsl(260 calc(var(--active) * 97%) calc(var(--active) * 60%)) inset;transition:box-shadow var(--transition),scale var(--transition),background var(--transition);scale:calc(1 + (var(--active) * .1))}svg{overflow:visible!important}.sparkle path{color:hsl(0 0% calc((var(--active, 0) * 70%) + var(--base)));transform-box:fill-box;transform-origin:center;fill:currentColor;stroke:currentColor;animation-delay:calc((var(--transition) * 1.5) + (var(--delay) * 1s));animation-duration:.6s;transition:color var(--transition)}.magicButton:is(:hover,:focus-visible) path{animation-name:bounce}@keyframes bounce{35%,65%{scale:var(--scale)}}.sparkle path:first-of-type{--scale:0.5;--delay:0.1;--base:40%}.sparkle path:nth-of-type(2){--scale:1.5;--delay:0.2;--base:20%}.sparkle path:nth-of-type(3){--scale:2.5;--delay:0.35;--base:30%}.magicButton:before{content:"";inset:-.25em;z-index:-1;border:.25em solid rgba(86,4,251,.5);opacity:var(--active,0);transition:opacity var(--transition)}.magicButton:before,.spark{position:absolute;border-radius:100px}.spark{inset:0;rotate:0deg;overflow:hidden;-webkit-mask:linear-gradient(#fff,transparent 50%);mask:linear-gradient(#fff,transparent 50%);animation:flip calc(var(--spark) * 2) infinite steps(2)}@keyframes flip{to{rotate:1turn}}.spark:before{content:"";position:absolute;width:200%;aspect-ratio:1;top:0;left:50%;z-index:-1;translate:-50% -15%;rotate:0;transform:rotate(-90deg);opacity:calc((var(--active)) + .4);background:conic-gradient(from 0deg,transparent 0 340deg,#fff 1turn);transition:opacity var(--transition);animation:rotate var(--spark) linear infinite both}.spark:after{content:""}.backdrop,.spark:after{position:absolute;inset:var(--cut);border-radius:100px}.backdrop{background:var(--bg);transition:background var(--transition)}@keyframes rotate{to{transform:rotate(90deg)}}.magicButton:is(:hover,:focus-visible),body:has(.magicButton:is(:hover,:focus-visible)){--active:1;--play-state:running}.sparkle-.magicButton{position:relative}.particle{top:calc(var(--y) * 1%);left:calc(var(--x) * 1%);opacity:var(--alpha,1);animation:float-out calc(var(--duration, 1) * 1s) calc(var(--delay) * -1s) infinite linear;transform-origin:var(--origin-x,1000%) var(--origin-y,1000%);z-index:-1;animation-play-state:var(--play-state,paused)}.particle path{fill:#e6e6e6;stroke:none}.particle:nth-of-type(2n){animation-direction:reverse}@keyframes float-out{to{rotate:1turn}}.text{translate:2% -6%;letter-spacing:.01ch;background:linear-gradient(90deg,hsl(0 0% calc((var(--active) * 100%) + 65%)),hsl(0 0% calc((var(--active) * 100%) + 26%)));-webkit-background-clip:text;color:transparent;transition:background var(--transition)}.magicButton svg{inline-size:1.25em;translate:-25% -5%}.particleContainer{-webkit-mask:radial-gradient(#fff,transparent 65%);mask:radial-gradient(#fff,transparent 65%)}