.cfx-layer{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cfx-layer[data-window]{z-index:9999;position:fixed}.cfx{width:var(--size,8px);height:var(--size,8px);margin:calc(var(--size,8px) / -2) 0 0 calc(var(--size,8px) / -2);background:var(--cfx-color);pointer-events:none;will-change:transform, opacity;position:absolute;top:0;left:0}.cfx-trail-sparkle,.cfx-click-stars{clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}.cfx-trail-hearts,.cfx-click-hearts{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8.5-5.2-10.6-10.3C.1 7.2 2.2 3.5 6 3.2c2.4-.2 4.7 1 6 3.1 1.3-2.1 3.6-3.3 6-3.1 3.8.3 5.9 4 4.6 7.5C20.5 15.8 12 21 12 21z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8.5-5.2-10.6-10.3C.1 7.2 2.2 3.5 6 3.2c2.4-.2 4.7 1 6 3.1 1.3-2.1 3.6-3.3 6-3.1 3.8.3 5.9 4 4.6 7.5C20.5 15.8 12 21 12 21z'/%3E%3C/svg%3E") 50%/contain no-repeat}.cfx-trail-sparkle{filter:drop-shadow(0 0 3px var(--cfx-color));animation:.85s ease-out forwards cfx-sparkle}@keyframes cfx-sparkle{0%{opacity:0;transform:scale(.2)rotate(0)}20%{opacity:1;transform:scale(1) rotate(calc(var(--spin) * .25))}55%{opacity:.45}70%{opacity:.95}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.25) rotate(var(--spin))}}.cfx-trail-comet{background:radial-gradient(circle, var(--cfx-color) 0%, color-mix(in srgb, var(--cfx-color) 45%, transparent) 45%, transparent 72%);mix-blend-mode:screen;border-radius:50%;animation:.52s ease-out forwards cfx-comet}@keyframes cfx-comet{0%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(.1)}}.cfx-trail-ribbon{width:var(--length);height:4px;rotate:var(--angle);transform-origin:0;box-shadow:0 0 8px var(--cfx-color);border-radius:2px;margin:-2px 0 0;animation:.46s ease-in forwards cfx-ribbon}@keyframes cfx-ribbon{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}.cfx-trail-bubbles{border:1.5px solid var(--cfx-color);background:radial-gradient(circle at 32% 30%, color-mix(in srgb, var(--cfx-color) 55%, transparent) 0 14%, transparent 34%);border-radius:50%;animation:1.1s cubic-bezier(.3,.6,.5,1) forwards cfx-bubble}@keyframes cfx-bubble{0%{opacity:0;transform:scale(.3)}15%{opacity:.9;transform:scale(1)}50%{transform:translate(calc(var(--dx) * -.6), calc(var(--dy) * .5))}88%{opacity:.8;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.45)}}.cfx-trail-pixels{animation:.62s steps(5,end) forwards cfx-pixel}@keyframes cfx-pixel{0%{opacity:1;transform:translateY(0)}70%{opacity:1}to{opacity:0;transform:translateY(var(--dy))}}.cfx-trail-hearts{animation:1.05s ease-out forwards cfx-heart-float}@keyframes cfx-heart-float{0%{opacity:0;transform:scale(.3)}18%{opacity:1;transform:scale(1.15) rotate(var(--spin))}60%{opacity:.9;transform:translate(calc(var(--dx) * -.5), calc(var(--dy) * .6)) rotate(calc(var(--spin) * -1))}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.7) rotate(var(--spin))}}.cfx-trail-embers{background:oklch(from var(--cfx-color) calc(l + .08) c calc(h + var(--hue)));box-shadow:0 0 6px var(--cfx-color);border-radius:50%;animation:.95s ease-out forwards cfx-ember}@keyframes cfx-ember{0%{opacity:1;transform:scale(1)}35%{opacity:.55}50%{opacity:1}70%{opacity:.4}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.2)}}.cfx-trail-rainbow{width:var(--length);height:4px;rotate:var(--angle);transform-origin:0;background:oklch(.76 .19 var(--hue));box-shadow:0 0 8px oklch(.76 .19 var(--hue));border-radius:2px;margin:-2px 0 0;animation:.56s ease-in forwards cfx-ribbon}.cfx-trail-electric{width:var(--length);height:2px;rotate:var(--angle);transform-origin:0;box-shadow:0 0 5px var(--cfx-color), 0 0 12px var(--cfx-color);background:#fff;margin:-1px 0 0;animation:.3s steps(6,end) forwards cfx-electric}@keyframes cfx-electric{0%,34%,67%{opacity:1}17%,50%{opacity:.25}to{opacity:0}}.cfx-trail-smoke{background:radial-gradient(circle, color-mix(in srgb, var(--cfx-color) 55%, transparent) 0%, transparent 68%);border-radius:50%;animation:1.15s ease-out forwards cfx-smoke}@keyframes cfx-smoke{0%{opacity:.8;transform:scale(.45)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(2.3)}}.cfx-trail-glyphs{width:auto;height:auto;color:var(--cfx-color);font:600 var(--size) / 1 ui-monospace, monospace;text-shadow:0 0 6px var(--cfx-color);background:0 0;margin:0;animation:1s linear forwards cfx-glyph}@keyframes cfx-glyph{0%{opacity:1;color:#fff;transform:translateY(0)}18%{color:var(--cfx-color)}65%{opacity:.9}to{opacity:0;transform:translateY(var(--dy))}}.cfx-click-ripple{--size:96px;border:2px solid var(--cfx-color);opacity:0;animation:cfx-ripple .62s cubic-bezier(.2, .7, .4, 1) var(--delay) forwards;background:0 0;border-radius:50%}@keyframes cfx-ripple{0%{opacity:.95;transform:scale(.05)}to{opacity:0;transform:scale(1)}}.cfx-click-burst{width:18px;height:3px;rotate:var(--angle);box-shadow:0 0 8px var(--cfx-color);border-radius:2px;margin:-1.5px 0 0 -9px;animation:.56s cubic-bezier(.1,.7,.3,1) forwards cfx-burst}@keyframes cfx-burst{0%{opacity:1;transform:rotate(calc(var(--angle) * -1)) translate(0, 0) rotate(var(--angle)) scaleX(1)}65%{opacity:1}to{opacity:0;transform:rotate(calc(var(--angle) * -1)) translate(var(--dx), var(--dy)) rotate(var(--angle)) scaleX(.35)}}.cfx-click-confetti{width:var(--width);height:var(--height);margin:calc(var(--height) / -2) 0 0 calc(var(--width) / -2);background:oklch(from var(--cfx-color) max(l, .7) max(c, .15) calc(h + var(--hue)));animation:1.15s linear forwards cfx-confetti}@keyframes cfx-confetti{0%{opacity:1;animation-timing-function:cubic-bezier(.1,.7,.4,1);transform:translate(0)rotate(0)}38%{opacity:1;transform:translate(var(--dx), var(--dy)) rotate(calc(var(--spin) * .4));animation-timing-function:cubic-bezier(.5,0,.8,.6)}80%{opacity:1}to{opacity:0;transform:translate(calc(var(--dx) * 1.3), calc(var(--dy) + var(--fall))) rotate(var(--spin))}}.cfx-click-stars{animation:.64s cubic-bezier(.15,.7,.3,1) forwards cfx-stars}@keyframes cfx-stars{0%{opacity:1;transform:scale(.3)}50%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.6) rotate(var(--spin))}}.cfx-click-hearts{opacity:0;animation:cfx-heart-pop .82s cubic-bezier(.2, .8, .3, 1) var(--delay) forwards}@keyframes cfx-heart-pop{0%{opacity:0;transform:scale(0)}25%{opacity:1;transform:translate(calc(var(--dx) * .35), calc(var(--dy) * .35)) scale(1.25) rotate(var(--spin))}70%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.9) rotate(calc(var(--spin) * -1))}}.cfx-click-hitmarker{width:12px;height:2px;rotate:var(--angle);box-shadow:0 0 5px var(--cfx-color), 0 0 2px var(--cfx-color);background:#fff;margin:-1px 0 0 -6px;animation:.3s cubic-bezier(.1,.9,.2,1) forwards cfx-hitmarker}@keyframes cfx-hitmarker{0%{opacity:1;transform:rotate(calc(var(--angle) * -1)) translate(0, 0) rotate(var(--angle))}55%{opacity:1}to{opacity:0;transform:rotate(calc(var(--angle) * -1)) translate(var(--dx), var(--dy)) rotate(var(--angle))}}.cfx-click-fireworks{background:oklch(from var(--cfx-color) max(l, .75) max(c, .17) var(--hue));box-shadow:0 0 6px oklch(from var(--cfx-color) max(l, .75) max(c, .17) var(--hue));border-radius:50%;animation:.95s linear forwards cfx-firework}@keyframes cfx-firework{0%{opacity:1;animation-timing-function:cubic-bezier(.08,.8,.25,1);transform:translate(0)scale(1.2)}45%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1);animation-timing-function:cubic-bezier(.5,0,.9,.7)}to{opacity:0;transform:translate(calc(var(--dx) * 1.08), calc(var(--dy) + var(--fall))) scale(.3)}}.cfx-click-ink{border-radius:46% 54% 58% 42%/52% 44% 56% 48%}.cfx-click-ink[data-part=blot]{animation:.82s cubic-bezier(.1,.9,.2,1) forwards cfx-ink-blot}.cfx-click-ink[data-part=drop]{animation:.82s cubic-bezier(.1,.9,.2,1) forwards cfx-ink-drop}@keyframes cfx-ink-blot{0%{opacity:1;transform:scale(.1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@keyframes cfx-ink-drop{0%{opacity:1;transform:scale(.3)}70%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 6px)) scale(.8)}}.cfx-click-glitch{width:var(--width);height:var(--height);margin:calc(var(--height) / -2) 0 0 calc(var(--width) / -2);background:var(--slice);opacity:0;animation:cfx-glitch .34s steps(1, end) var(--delay) forwards}@keyframes cfx-glitch{0%{opacity:1;transform:translate(var(--ox), var(--oy))}25%{opacity:.35;transform:translate(calc(var(--ox) + var(--dx)), var(--oy))}50%{opacity:1;transform:translate(calc(var(--ox) - var(--dx)), var(--oy)) scaleX(.6)}75%{opacity:.6;transform:translate(var(--ox), calc(var(--oy) + 3px)) scaleX(1.3)}to{opacity:0;transform:translate(var(--ox), var(--oy))}}@media (prefers-reduced-motion:reduce){.cfx{display:none}}
