.stf-step-scene{--stf-beat:7s;position:relative;width:100%;height:158px;perspective:900px;transform-style:preserve-3d;pointer-events:none;user-select:none}@media (min-width:40rem){.stf-step-scene{height:172px}}.stf-sc-surface{position:absolute;border-radius:.75rem;background:var(--surface);border:1px solid rgba(255,255,255,.8);box-shadow:0 1px 2px rgba(14,40,30,.05),0 14px 26px -16px rgba(14,40,30,.3)}.stf-sc-line{position:absolute;height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 13%,transparent)}.stf-sc-line.is-accent{background:color-mix(in srgb,var(--accent) 55%,transparent)}.stf-sc-line.is-short{opacity:.75}.stf-sc-feedback .fb-panel{left:50%;top:46%;width:164px;height:84px;margin-left:-82px;transform:translateZ(-40px) rotateX(16deg)}.stf-sc-feedback .fb-card{left:50%;width:124px;height:46px;margin-left:-62px;animation:stf-fb-rise var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-feedback .fb-card:nth-of-type(2){top:44%;animation-delay:0s}.stf-sc-feedback .fb-card:nth-of-type(3){top:44%;animation-delay:calc(var(--stf-beat) / -3)}.stf-sc-feedback .fb-card:nth-of-type(4){top:44%;animation-delay:calc(var(--stf-beat) / -1.5)}@keyframes stf-fb-rise{0%{opacity:0;transform:translate3d(0,34px,10px) rotateX(24deg) scale(.9)}18%{opacity:1}70%{opacity:1;transform:translate3d(0,-34px,70px) rotateX(0deg) scale(1)}to{opacity:0;transform:translate3d(0,-62px,100px) rotateX(-10deg) scale(1.02)}}.stf-sc-dot{position:absolute;width:6px;height:6px;border-radius:999px;background:var(--brass)}.stf-sc-reward .rw-chip{left:8%;top:54%;width:92px;height:40px;transform:rotateY(14deg) rotateX(8deg)}.stf-sc-reward .rw-voucher{right:7%;top:29%;width:104px;height:58px;border:none;background:linear-gradient(180deg,rgba(255,255,255,.42) 0,rgba(255,255,255,.1) 36%,rgba(255,255,255,0) 52%),radial-gradient(120% 80% at 20% -15%,rgba(255,255,255,.45),transparent 62%),linear-gradient(160deg,var(--ruby-lift) 0,var(--ruby) 45%,var(--ruby-deep) 100%);box-shadow:0 16px 28px -14px rgba(166,13,32,.75),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -7px 14px -8px rgba(90,5,16,.55);transform:translateZ(46px) rotateY(-14deg) rotateX(8deg);animation:stf-rw-pulse var(--stf-beat) ease-in-out infinite}.stf-sc-reward .rw-voucher:after{content:"%";position:absolute;left:11px;top:50%;transform:translateY(-50%);font-family:var(--font-display,inherit);font-size:1.85rem;font-weight:800;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(90,5,16,.55)}.stf-sc-reward .rw-voucher:before{content:"";position:absolute;left:48px;right:12px;top:50%;margin-top:-3px;height:6px;border-radius:999px;background:rgba(255,255,255,.72)}.stf-sc-reward .rw-coin{position:absolute;left:22%;top:44%;width:30px;height:30px;animation:stf-rw-fly var(--stf-beat) cubic-bezier(.45,0,.3,1) infinite}.stf-sc-reward .rw-coin:nth-of-type(2){animation-delay:calc(var(--stf-beat) / -3)}.stf-sc-reward .rw-coin:nth-of-type(3){animation-delay:calc(var(--stf-beat) / -1.6)}@keyframes stf-rw-fly{0%{opacity:0;transform:translate3d(0,6px,20px) scale(.6)}12%{opacity:1;transform:translateZ(24px) scale(1)}60%{opacity:1;transform:translate3d(82px,-24px,18px) scale(1.04)}76%{opacity:0;transform:translate3d(104px,-14px,-12px) scale(.72)}to{opacity:0;transform:translate3d(104px,-14px,-12px) scale(.72)}}@keyframes stf-rw-pulse{0%,56%{transform:translateZ(46px) rotateY(-14deg) rotateX(8deg) scale(1)}68%{transform:translateZ(46px) rotateY(-14deg) rotateX(8deg) scale(1.07)}80%,to{transform:translateZ(46px) rotateY(-14deg) rotateX(8deg) scale(1)}}.stf-sc-reputation .rp-panel{left:50%;top:28%;width:176px;height:92px;margin-left:-88px;transform:rotateX(12deg) rotateY(-8deg)}.stf-sc-reputation .rp-stars{position:absolute;left:50%;top:46%;display:flex;gap:.22rem;margin-left:-72px;transform:translateZ(50px)}.stf-sc-reputation .rp-stars img{width:1.5rem;height:1.5rem;animation:stf-rp-star var(--stf-beat) ease-in-out infinite}.stf-sc-reputation .rp-stars img:first-child{animation-delay:.1s}.stf-sc-reputation .rp-stars img:nth-child(2){animation-delay:.24s}.stf-sc-reputation .rp-stars img:nth-child(3){animation-delay:.38s}.stf-sc-reputation .rp-stars img:nth-child(4){animation-delay:.52s}.stf-sc-reputation .rp-stars img:nth-child(5){animation-delay:.66s}@keyframes stf-rp-star{0%,6%{opacity:.22;transform:scale(.74) rotate(-12deg)}22%,84%{opacity:1;transform:scale(1) rotate(0deg)}96%,to{opacity:.22;transform:scale(.74) rotate(-12deg)}}.stf-sc-tick{position:absolute;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--accent-contrast);box-shadow:0 10px 18px -10px rgba(14,40,30,.5)}.stf-sc-tick svg{width:58%;height:58%}.stf-sc-reputation .rp-tick{width:26px;height:26px;animation:stf-rp-tick var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-reputation .rp-tick.is-a{left:10%;top:22%;animation-delay:.9s}.stf-sc-reputation .rp-tick.is-b{right:10%;top:60%;animation-delay:1.35s}@keyframes stf-rp-tick{0%,10%{opacity:0;transform:translateZ(60px) scale(.4)}26%,86%{opacity:1;transform:translateZ(60px) scale(1)}98%,to{opacity:0;transform:translateZ(60px) scale(.4)}}.stf-sc-scan .qr-phone{left:50%;top:8%;width:92px;height:136px;margin-left:-46px;border-radius:1rem;background:var(--ink);border:none;box-shadow:0 20px 34px -18px rgba(14,40,30,.55),inset 0 0 0 2px rgba(255,255,255,.12);transform:rotateY(-16deg) rotateX(6deg)}.stf-sc-scan .qr-screen{position:absolute;inset:7px 7px 10px;border-radius:.7rem;background:var(--surface);overflow:hidden}.stf-sc-scan .qr-grid{position:absolute;left:50%;top:16px;display:grid;grid-template-columns:repeat(7,7px);gap:2px;margin-left:-29px}.stf-sc-scan .qr-grid i{width:7px;height:7px;border-radius:1px;background:var(--ink)}.stf-sc-scan .qr-grid i.off{background:transparent}.stf-sc-scan .qr-beam{position:absolute;left:0;right:0;height:26px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 34%,transparent),transparent);animation:stf-qr-beam var(--stf-beat) ease-in-out infinite}@keyframes stf-qr-beam{0%,4%{transform:translateY(6px);opacity:0}12%{opacity:1}46%{transform:translateY(96px);opacity:1}56%,to{transform:translateY(96px);opacity:0}}.stf-sc-scan .qr-rating{position:absolute;left:50%;bottom:14px;display:flex;gap:2px;margin-left:-31px;animation:stf-qr-rating var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-scan .qr-rating img{width:11px;height:11px}@keyframes stf-qr-rating{0%,50%{opacity:0;transform:translateY(8px) scale(.84)}62%,90%{opacity:1;transform:translateY(0) scale(1)}98%,to{opacity:0;transform:translateY(8px) scale(.84)}}.stf-sc-weigh .wg-chip{left:6%;width:72px;height:26px;animation:stf-wg-in var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-weigh .wg-chip:first-of-type{top:12%;animation-delay:0s}.stf-sc-weigh .wg-chip:nth-of-type(2){top:40%;animation-delay:.5s}.stf-sc-weigh .wg-chip:nth-of-type(3){top:68%;animation-delay:1s}.stf-sc-weigh .wg-tick{right:-7px;top:-6px;width:18px;height:18px}@keyframes stf-wg-in{0%{opacity:0;transform:translate3d(-26px,0,0) rotateY(28deg)}16%,54%{opacity:1;transform:translateZ(30px) rotateY(10deg)}76%{opacity:.25;transform:translate3d(84px,0,0) rotateY(-14deg) scale(.86)}to{opacity:0;transform:translate3d(84px,0,0) rotateY(-14deg) scale(.86)}}.stf-sc-weigh .wg-bar{right:7%;top:30%;width:60px;height:74px;display:grid;align-content:end;gap:4px;padding:8px;transform:rotateY(-16deg) rotateX(8deg)}.stf-sc-weigh .wg-bar span{display:block;height:8px;border-radius:999px;background:var(--accent);transform-origin:left center;animation:stf-wg-grow var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-weigh .wg-bar span:first-child{animation-delay:.45s;opacity:.45}.stf-sc-weigh .wg-bar span:nth-child(2){animation-delay:.95s;opacity:.7}.stf-sc-weigh .wg-bar span:nth-child(3){animation-delay:1.45s}@keyframes stf-wg-grow{0%,8%{transform:scaleX(.16)}34%,88%{transform:scaleX(1)}to{transform:scaleX(.16)}}.stf-sc-team .tm-panel{left:50%;top:14%;width:180px;height:112px;margin-left:-90px;transform:rotateX(14deg) rotateY(6deg) translateZ(-30px)}.stf-sc-team .tm-row{left:50%;width:156px;height:26px;margin-left:-78px;display:flex;align-items:center;gap:8px;padding:0 9px;animation:stf-tm-row var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-team .tm-row:nth-of-type(2){top:22%;animation-delay:.1s}.stf-sc-team .tm-row:nth-of-type(3){top:46%;animation-delay:.45s}.stf-sc-team .tm-row:nth-of-type(4){top:70%;animation-delay:.8s}@keyframes stf-tm-row{0%,6%{opacity:0;transform:translate3d(0,10px,0) rotateX(18deg)}22%,88%{opacity:1;transform:translateZ(44px) rotateX(0deg)}to{opacity:0;transform:translate3d(0,10px,0) rotateX(18deg)}}.stf-sc-team .tm-face{width:16px;height:16px;flex:none;border-radius:999px;background:color-mix(in srgb,var(--accent) 24%,var(--canvas-raised))}.stf-sc-team .tm-meter{position:relative;flex:1;height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.stf-sc-team .tm-meter:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--accent);transform-origin:left center;animation:stf-tm-fill var(--stf-beat) cubic-bezier(.16,1,.3,1) infinite}.stf-sc-team .tm-row:nth-of-type(2) .tm-meter:after{animation-delay:.3s;--tm-to:0.92}.stf-sc-team .tm-row:nth-of-type(3) .tm-meter:after{animation-delay:.65s;--tm-to:0.68}.stf-sc-team .tm-row:nth-of-type(4) .tm-meter:after{animation-delay:1s;--tm-to:0.8}@keyframes stf-tm-fill{0%,10%{transform:scaleX(.05)}40%,88%{transform:scaleX(var(--tm-to,.8))}to{transform:scaleX(.05)}}.stf-sc-team .tm-star{width:13px;height:13px;flex:none}@media (prefers-reduced-motion:reduce){.stf-step-scene *,.stf-step-scene :after{animation:none!important}.stf-sc-feedback .fb-card{opacity:1}.stf-sc-feedback .fb-card:nth-of-type(2){transform:translate3d(0,-34px,70px)}.stf-sc-feedback .fb-card:nth-of-type(3){transform:translate3d(0,-4px,40px)}.stf-sc-feedback .fb-card:nth-of-type(4){transform:translate3d(0,26px,10px)}.stf-sc-reward .rw-coin{opacity:1;transform:translate3d(52px,-14px,30px)}.stf-sc-reward .rw-coin:nth-of-type(2){transform:translate3d(20px,-4px,16px)}.stf-sc-reward .rw-coin:nth-of-type(3){opacity:0}.stf-sc-reputation .rp-stars img{opacity:1;transform:none}.stf-sc-reputation .rp-tick{opacity:1;transform:translateZ(60px)}.stf-sc-scan .qr-beam{opacity:0}.stf-sc-scan .qr-rating{opacity:1;transform:none}.stf-sc-weigh .wg-chip{opacity:1;transform:translateZ(30px) rotateY(10deg)}.stf-sc-weigh .wg-bar span{transform:scaleX(1)}.stf-sc-team .tm-row{opacity:1;transform:translateZ(44px)}.stf-sc-team .tm-meter:after{transform:scaleX(var(--tm-to,.8))}}