


.sfx-ready [data-sfx="rise"]{
  --e:calc((1 - clamp(0,var(--in,0) * 1.6,1)) * (1 - clamp(0,var(--in,0) * 1.6,1)));
  --x:calc(var(--out,0) * var(--out,0));
  opacity:clamp(0,calc(1 - var(--e) * 1.15 - var(--x) * .6),1);
  transform:translate3d(0,calc(var(--e) * 56px - var(--x) * 28px),0);
}

.sfx-live:not(.sfx-rest):not([data-sfx="mark"]){will-change:transform,opacity}
.sfx-ready .sfx-rest[data-sfx="rise"]{transform:none;opacity:1}


.sfx-ready [data-sfx="wipe"]{
  --k:clamp(0,calc(var(--in,0) * 1.25),1);
  background:linear-gradient(100deg,var(--text) calc(var(--k) * 100% - 12%),#F472B6 calc(var(--k) * 100%),rgba(245,245,247,.16) calc(var(--k) * 100% + 10%));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:calc(1 - var(--out,0) * .7);
}
.sfx-ready [data-sfx="wipe"] .grad-text{background:var(--iris);-webkit-background-clip:text;background-clip:text}


.sw{
  --k:clamp(0,calc((var(--in,1) * (var(--words,1) + 2) - var(--w,0)) / 2),1);
  display:inline-block;
  opacity:calc(.1 + var(--k) * .9);
  transform:translateY(calc((1 - var(--k)) * .38em));
}

.sw-keep{white-space:nowrap}


[data-tilt]:not([data-sfx]){
  transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .5s var(--ease-out);
}


[data-stack-card]{
  --a:clamp(0,calc(-1 * var(--u,0)),1);
  --d:clamp(0,var(--u,0),2);
  transform:
    perspective(1400px)
    translate3d(0,calc(var(--a) * 78vh - var(--d) * 26px),calc(var(--d) * -95px))
    rotateX(calc(var(--a) * -12deg + var(--rx,0deg)))
    rotateY(var(--ry,0deg));
  opacity:clamp(0,calc((1.9 - var(--d)) * 2),1);
}

.sfx-ready [data-sfx]:not([data-sfx="stack"]):not([data-stack-card]):has(:focus-visible){opacity:1!important;transform:none!important}
[data-stack-dot]{opacity:calc(.28 + var(--near,0) * .72);transform:scale(calc(1 + var(--near,0) * .6))}

@media (prefers-reduced-motion:reduce){
  .sfx-ready [data-sfx],.sw,[data-stack-card],[data-tilt]{opacity:1!important;transform:none!important;filter:none!important}
  .sfx-ready [data-sfx="wipe"]{background:none;color:var(--text)}
}
