.send-stage{perspective:1100px;perspective-origin:50% 45%;justify-content:center;align-items:center;height:320px;display:flex;position:relative}.send-flash{opacity:0;pointer-events:none;filter:blur(2px);background:radial-gradient(circle,#e6394659 0%,#e6394600 65%);border-radius:9999px;width:360px;height:360px;position:absolute}.send-stage.play .send-flash{animation:.9s ease-out 2.78s forwards flashBurst}.send-speedlines{pointer-events:none;opacity:0;position:absolute;inset:0}.send-stage.play .send-speedlines{animation:.7s ease-out 2.9s forwards speedFade}.send-speedlines span{transform-origin:50% 0;background:linear-gradient(#ffffffe6,#fff0);border-radius:2px;width:2px;height:34px;position:absolute;top:50%;left:50%}.send-letter{width:188px;height:226px;transform-style:preserve-3d;z-index:3;opacity:0;will-change:transform, opacity;filter:drop-shadow(0 18px 34px #0009);position:absolute}.send-stage.play .send-letter{animation:.5s cubic-bezier(.16,.84,.3,1) 50ms forwards letterRise,.62s cubic-bezier(.6,0,.5,1) 1.28s forwards letterTuck}.send-letter-bot{z-index:1;background:#fbfaf7;border-radius:0 0 6px 6px;height:50%;padding:6px 18px 18px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 0 0 1px #0000000d}.send-letter-top{transform-origin:50% 100%;height:50%;transform-style:preserve-3d;backface-visibility:hidden;z-index:2;background:#fbfaf7;border-radius:6px 6px 0 0;padding:18px 18px 6px;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 0 0 1px #0000000d}.send-letter-top:after{content:"";backface-visibility:hidden;background:linear-gradient(160deg,#ece8de,#ddd8cb);border-radius:6px 6px 0 0;position:absolute;inset:0;transform:rotateX(180deg)}.send-stage.play .send-letter-top{animation:.5s cubic-bezier(.5,0,.2,1) .74s forwards letterFold}.send-line{background:#c9c0ac;border-radius:4px;height:7px;margin-bottom:12px}.send-line.accent{background:linear-gradient(90deg,#e63946,#ff6b6b);width:46%;height:9px;margin-bottom:15px}.send-line.w90{width:90%}.send-line.w70{width:70%}.send-line.w80{width:80%}.send-line.w55{width:55%}.send-line.last{margin-bottom:0}.send-envelope{width:224px;height:152px;transform-style:preserve-3d;opacity:0;z-index:4;will-change:transform, opacity;position:absolute}.send-stage.play .send-envelope{animation:.45s cubic-bezier(.16,.84,.3,1) .95s forwards envIn,.78s cubic-bezier(.5,0,.75,.2) 2.85s forwards envWhoosh}.env-back{z-index:1;background:linear-gradient(160deg,#efe9dc 0%,#e3dccb 100%);border-radius:10px;position:absolute;inset:0;box-shadow:0 22px 45px -14px #000000a6}.env-front{clip-path:polygon(0 100%,50% 38%,100% 100%);z-index:4;background:linear-gradient(160deg,#f6f1e6 0%,#e7e0cf 100%);border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff80}.env-side{z-index:3;border-radius:10px;position:absolute;inset:0}.env-side.l{clip-path:polygon(0 0,0 100%,50% 50%);opacity:.55;background:linear-gradient(#e9e3d4,#ded6c4)}.env-side.r{clip-path:polygon(100% 0,100% 100%,50% 50%);opacity:.55;background:linear-gradient(#e3dccb,#d6cdb9)}.env-flap{clip-path:polygon(0 0,100% 0,50% 64%);transform-origin:50% 0;backface-visibility:visible;z-index:5;background:linear-gradient(170deg,#f1ead9 0%,#e7dfcc 100%);height:100%;position:absolute;top:0;left:0;right:0;transform:rotateX(-178deg);box-shadow:0 6px 10px -6px #00000059}.env-flap:after{content:"";clip-path:polygon(0 0,100% 0,50% 64%);backface-visibility:hidden;background:linear-gradient(#c1121f,#8d0d17);position:absolute;inset:0;transform:rotateX(180deg)}.send-stage.play .env-flap{animation:.55s cubic-bezier(.6,-.2,.3,1.25) 1.92s forwards flapClose}.env-seal{z-index:6;opacity:0;background:radial-gradient(circle at 38% 32%,#ff6b6b,#e63946 55%,#b00d1c 100%);border-radius:9999px;justify-content:center;align-items:center;width:42px;height:42px;margin:-21px 0 0 -21px;display:flex;position:absolute;top:56%;left:50%;box-shadow:0 4px 12px -2px #b00d1ccc,inset 0 -3px 6px #00000059,inset 0 2px 4px #fff6}.env-seal svg{opacity:0;width:20px;height:20px}.send-stage.play .env-seal{animation:.4s cubic-bezier(.3,1.6,.5,1) 2.42s forwards sealStamp}.send-stage.play .env-seal svg{animation:.25s 2.6s forwards fadeIn}.env-seal:before{content:"";opacity:0;border:2px solid #e6394699;border-radius:9999px;position:absolute;inset:-4px}.send-stage.play .env-seal:before{animation:.6s ease-out 2.5s forwards sealRing}.send-confetti{z-index:7;pointer-events:none;width:0;height:0;position:absolute;top:48%;left:50%}.send-confetti i{width:var(--w,9px);height:var(--h,14px);background:var(--c,#e63946);opacity:0;border-radius:2px;position:absolute;transform:translate(-50%,-50%)}.send-stage.play .send-confetti i{animation:1.05s cubic-bezier(.2,.7,.4,1) 2.82s forwards confettiFly}.send-success .ss-icon,.send-success .ss-h,.send-success .ss-p,.send-success .ss-btn{opacity:1}@media (prefers-reduced-motion:no-preference){.send-success .ss-icon{opacity:0;animation:.5s cubic-bezier(.16,.84,.3,1) 50ms forwards fadeUp}.send-success .ss-h{opacity:0;animation:.5s cubic-bezier(.16,.84,.3,1) .15s forwards fadeUp}.send-success .ss-p{opacity:0;animation:.5s cubic-bezier(.16,.84,.3,1) .25s forwards fadeUp}.send-success .ss-btn{opacity:0;animation:.5s cubic-bezier(.16,.84,.3,1) .38s forwards fadeUp}}@keyframes letterRise{0%{opacity:0;transform:translateY(46px)scale(.9)rotateX(8deg)}to{opacity:1;transform:translateY(-6px)scale(1)rotateX(0)}}@keyframes letterFold{0%{transform:rotateX(0)}to{transform:rotateX(-168deg)}}@keyframes letterTuck{0%{transform:translateY(-6px)scale(1)rotateX(0)}55%{transform:translateY(20px)scale(.62)rotateX(0)}to{opacity:1;transform:translateY(42px)scale(.42)rotateX(-4deg)}}@keyframes envIn{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:translateY(16px)scale(1)}}@keyframes flapClose{0%{transform:rotateX(-178deg)}to{transform:rotateX(0)}}@keyframes sealStamp{0%{opacity:0;transform:scale(2.6)}60%{opacity:1;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes sealRing{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}@keyframes envWhoosh{0%{opacity:1;transform:translateY(16px)scale(1)rotate(0)}18%{transform:translateY(40px)scale(1.04)rotate(-2deg)}to{opacity:0;transform:translateY(-300px)scale(.14)rotate(9deg)}}@keyframes confettiFly{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.4)}12%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) rotate(var(--rot,360deg)) scale(1)}}@keyframes flashBurst{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes speedFade{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes fadeIn{to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.send-stage.play *{animation-duration:1ms!important}}
