.gift-stage{position:relative;width:min(100%,320px);height:285px;margin:1rem auto .5rem;isolation:isolate;overflow:visible}
.gift-box{position:absolute;z-index:3;left:50%;bottom:12px;width:190px;height:112px;transform:translateX(-50%);border-radius:0 0 12px 12px;background:linear-gradient(90deg,#ad2d30 0 42%,#e9bd6b 42% 58%,#bd3b35 58% 100%);box-shadow:0 18px 30px #0007,inset -12px 0 22px #731c2455}
.gift-lid{position:absolute;z-index:4;left:50%;bottom:121px;width:210px;height:42px;transform:translateX(-50%);transform-origin:20% 90%;border-radius:8px;background:linear-gradient(90deg,#b53134 0 43%,#efca78 43% 57%,#ca443d 57% 100%);box-shadow:0 7px 14px #0006}
.gift-bow{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);color:#f5d78b;font-size:68px;line-height:1;text-shadow:0 3px 8px #652322}
.gift-note{position:absolute;z-index:2;left:50%;bottom:75px;width:250px;min-height:100px;padding:16px 12px;transform:translate(-50%,35px) scale(.72);opacity:0;border:1px solid #efcf86;border-radius:14px;background:#fdf7e9;color:#17332c;text-align:center;box-shadow:0 15px 30px #0006}
.gift-note span{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.gift-note strong{display:block;margin-top:.55rem;font:normal clamp(1.3rem,5vw,1.8rem) Georgia,serif;overflow-wrap:anywhere}
.gift-sparkles{position:absolute;z-index:1;top:2px;left:0;right:0;text-align:center;color:#f5d78b;font-size:2rem;letter-spacing:1.5rem;opacity:0}
.gift-stage.opening .gift-lid{animation:gift-lid-open .9s ease-in forwards}
.gift-stage.opening .gift-note{animation:gift-note-rise 1.2s .55s cubic-bezier(.2,.75,.2,1) forwards}
.gift-stage.opening .gift-sparkles{animation:gift-sparkle 1.5s .2s ease-out forwards}
.gift-stage.opened .gift-lid{transform:translate(-120%,-110px) rotate(-28deg)}
.gift-stage.opened .gift-note{z-index:5;transform:translate(-50%,-120px) scale(1);opacity:1}
.gift-stage.opened .gift-sparkles{opacity:1}
@keyframes gift-lid-open{to{transform:translate(-120%,-110px) rotate(-28deg)}}
@keyframes gift-note-rise{0%{opacity:0;z-index:2;transform:translate(-50%,35px) scale(.72)}35%{opacity:1;z-index:5}100%{opacity:1;z-index:5;transform:translate(-50%,-120px) scale(1)}}
@keyframes gift-sparkle{0%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.3)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.gift-stage.opening .gift-lid,.gift-stage.opening .gift-note,.gift-stage.opening .gift-sparkles{animation:none}.gift-stage.opening .gift-lid{transform:translate(-120%,-110px) rotate(-28deg)}.gift-stage.opening .gift-note{z-index:5;transform:translate(-50%,-120px) scale(1);opacity:1}.gift-stage.opening .gift-sparkles{opacity:1}}
.person-actions{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center}
