@layer legacy{.sparkle-button{--transition:.3s;--spark:1.8s}.sparkle-button button{font-size:1.25rem}.sparkle-button button:is(:hover,:focus-visible)~.particle-pen,.sparkle-button button.is-pointer-active~.particle-pen{--active:1;--play-state:running}@media (hover:none),(max-width:600px){.sparkle-button button{--active:1}}.sparkle-button button{--cut:.1em;--active:0;--primary-hue:var(--accent-h);--secondary-hue:calc(var(--accent-h) + 10);--btn-sat:var(--accent-s);--bg:radial-gradient(40% 50% at center 100%,hsl(var(--secondary-hue)calc(var(--active)*var(--btn-sat))72%/var(--active)),transparent),radial-gradient(80% 100% at center 120%,hsl(var(--primary-hue)calc(var(--active)*var(--btn-sat))70%/var(--active)),transparent),hsl(var(--primary-hue)calc(var(--active)*var(--btn-sat))calc(var(--active)*(var(--accent-l) - 12%) + 12%));background:var(--bg);font-family:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap;box-shadow:0 0 calc(var(--active)*6em)calc(var(--active)*3em)color-mix(in srgb,var(--accent)75%,transparent),0 .05em 0 0 hsl(var(--primary-hue)calc(var(--active)*var(--btn-sat))calc((var(--active)*50%) + 30%))inset,0 -.05em 0 0 hsl(var(--primary-hue)calc(var(--active)*var(--btn-sat))calc(var(--active)*60%))inset;transition:box-shadow var(--transition),scale var(--transition),background var(--transition);scale:calc(1 + (var(--active)*.1));touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:100px;align-items:center;gap:.25em;padding:.9em 1.3em;display:flex;position:relative}.sparkle-button button:active{scale:.95}.sparkle-button svg{overflow:visible!important}.sparkle-button .sparkle path{color:#fff;opacity:calc((var(--active,0)*40%) + var(--base));transform-box:fill-box;transform-origin:50%;fill:currentColor;stroke:currentColor;animation-delay:calc((var(--transition)*1.5) + (var(--delay)*1s));transition:opacity var(--transition);animation-name:bounce;animation-duration:4s;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.sparkle-button .sparkle-button .sparkle path{animation:none}}@keyframes bounce{0%{scale:1}5.25%,9.75%{scale:var(--scale)}15%,to{scale:1}}.sparkle-button .sparkle g:first-of-type path{--scale:.5;--delay:.1;--base:40%}.sparkle-button .sparkle g:nth-of-type(2) path{--scale:1.5;--delay:.2;--base:20%}.sparkle-button .sparkle g:nth-of-type(3) path{--scale:2.5;--delay:.35;--base:30%}.sparkle-button button:before{content:"";z-index:-1;border:.25em solid hsl(var(--primary-hue)var(--btn-sat)50%/.5);opacity:var(--active,0);transition:opacity var(--transition);border-radius:100px;position:absolute;inset:-.25em}.sparkle-button .spark{animation:flip calc(var(--spark)*2)infinite steps(2,end);border-radius:100px;position:absolute;inset:0;overflow:hidden;rotate:none;-webkit-mask:linear-gradient(#fff,#0000 50%);mask:linear-gradient(#fff,#0000 50%)}@keyframes flip{to{rotate:360deg}}.sparkle-button .spark:before{content:"";aspect-ratio:1;z-index:-1;width:200%;translate:-50% -15%;rotate:0;opacity:calc((var(--active)) + .4);background:conic-gradient(from 0deg,transparent 0 340deg,white 360deg);transition:opacity var(--transition);animation:rotate var(--spark)linear infinite both;position:absolute;top:0%;left:50%;transform:rotate(-90deg)}.sparkle-button .spark:after{content:"";inset:var(--cut);border-radius:100px;position:absolute}.sparkle-button .backdrop{inset:var(--cut);background:var(--bg);transition:background var(--transition);border-radius:100px;position:absolute}@keyframes rotate{to{transform:rotate(90deg)}}.sparkle-button button:is(:hover,:focus-visible),.sparkle-button button.is-pointer-active{--active:1;--play-state:running}.sparkle-button{position:relative}.sparkle-button .particle-pen{aspect-ratio:1;z-index:-1;width:200%;opacity:var(--active,0);transition:opacity var(--transition);position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask:radial-gradient(#fff,#0000 65%)}.sparkle-button .particle{fill:#fff;width:calc(var(--size,.25)*1rem);aspect-ratio:1;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);position:absolute}.sparkle-button .particle path{fill:#e6e6e6;stroke:none}.sparkle-button .particle:nth-of-type(2n){animation-direction:reverse}@keyframes float-out{to{rotate:360deg}}.sparkle-button .text{letter-spacing:.01ch;background:linear-gradient(90deg,hsl(0 0% calc((var(--active)*100%) + 65%)),hsl(0 0% calc((var(--active)*100%) + 26%)));color:#0000;transition:background var(--transition);-webkit-background-clip:text;translate:2% -6%}.sparkle-button button svg{inline-size:1.25em;translate:-25% -5%}}
