.fx{--fx-a:var(--th-accent);--fx-s:var(--th-soft);--fx-k:color-mix(in srgb, var(--th-accent) 70%, var(--ink));pointer-events:none}[data-fx]:not(.fx-go):not(.fx-done) > .fx{opacity:0}.fx i{position:absolute}.fx--ember{position:absolute;z-index:1;left:10px;top:42px;bottom:2px;width:20px}.fx--ember::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:4px;background:var(--fx-a);transform-origin:50% 0}.fx--ember i{left:calc(8px + var(--x, 0px));top:calc(var(--k, 0) * 24% + 10%);width:6px;height:6px;margin:-1px;background:var(--fx-a);box-shadow:inset 2px 2px 0 var(--fx-s);opacity:0}.fx--ember i:nth-child(1){--x:-7px}.fx--ember i:nth-child(2){--k:1;--x:7px}.fx--ember i:nth-child(3){--k:2;--x:-6px}.fx--ember i:nth-child(4){--k:3;--x:6px}@media (min-width: 1180px){.fx--ember{left:42px;bottom:auto;top:7px;width:calc(100% - 8px);height:24px}.fx--ember::before{left:0;right:0;top:11px;bottom:auto;width:auto;height:4px;transform-origin:0 50%}.fx--ember i{left:calc(var(--k, 0) * 22% + 10%);top:10px}}[data-fx="flame-charge"]{position:relative}.fx--flame-charge{position:absolute;z-index:1;top:10px;left:clamp(20px, 3vw, 36px);width:122px;height:8px}.fx--flame-charge i{top:0;left:calc(var(--k, 0) * 18px);width:14px;height:8px;background:var(--fx-a);box-shadow:inset 0 -2px 0 var(--fx-k)}.fx--flame-charge i:nth-child(2){--k:1}.fx--flame-charge i:nth-child(3){--k:2}.fx--flame-charge i:nth-child(4){--k:3}.fx--flame-charge i:nth-child(5){--k:4}.fx--flame-charge i:nth-child(6){--k:5}.fx--flame-charge i:nth-child(7){--k:6}@media (prefers-reduced-motion: no-preference){.fx-go > .fx--ember::before{animation:fx-heat var(--m-clear) steps(6, end) calc(var(--fx-i, 0) * var(--m-clear)) both}.fx-go > .fx--ember i{animation:fx-spark calc(var(--m-clear) + var(--m-lock)) steps(4, end) calc(var(--fx-i, 0) * var(--m-clear) + var(--k, 0) * var(--m-tap) + var(--m-step)) both}@keyframes fx-heat{from{transform:scaleY(0)}}@keyframes fx-heat-x{from{transform:scaleX(0)}}@keyframes fx-spark{0%{opacity:0;transform:translateY(0) scale(.5)}25%{opacity:1;transform:translateY(-3px) scale(1)}100%{opacity:0;transform:translateY(-14px) scale(.5)}}@media (min-width: 1180px){.fx-go > .fx--ember::before{animation-name:fx-heat-x}}.fx-go > .fx--flame-charge i{animation:fx-cell var(--m-lock) steps(3, end) calc(var(--k, 0) * var(--m-tap)) both}.fx-go > .fx--flame-charge i:last-child{animation:fx-flare calc(var(--m-flash) + var(--m-lock)) steps(4, end) calc(6 * var(--m-tap)) both}@keyframes fx-cell{0%{opacity:0;transform:scaleY(.25)}34%{opacity:1}}@keyframes fx-flare{0%{opacity:0;transform:scale(.25)}40%{opacity:1;transform:scale(1.4, 1.6)}}}