.gi-backdrop{background:radial-gradient(ellipse 70% 45% at 50% 42%,rgba(120,24,36,.38) 0%,transparent 70%),linear-gradient(180deg,#1d1014,#160c10 55%,#0f090b)}.gi-backdrop .gift-atmosphere{z-index:0}.gi-backdrop .gift-floating-product{opacity:.4}.gi-backdrop .gi-scene{z-index:1}.gi-scene{position:absolute;left:50%;top:60%;width:min(94vw,138vh);aspect-ratio:1600 / 960;transform:translate(-60%,-50%)}.gi-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(118,80,25,.22));transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.gi-scene[data-phase=grow] .gi-art{opacity:0;transform:translate(-4%) scale(.96)}.gi-scene[data-phase=shoot] .gi-art{animation:gi-release .35s ease-out forwards}@keyframes gi-release{0%{opacity:1;transform:translate(0)}45%,to{opacity:0;transform:translate(-2%)}}.gi-arrow{position:absolute;left:46%;top:27%;width:22%;transform-origin:0 50%;transform:translateY(-50%) rotate(14deg);opacity:0;z-index:3}.gi-arrow-body{position:relative;will-change:transform}.gi-letter{position:absolute;width:27%;left:53%;top:20%;transform:rotate(-14deg)}.gi-arrow svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 3px 4px rgba(92,21,34,.35))}.gi-trail{position:absolute;right:88%;top:50%;width:190%;height:26%;transform:translateY(-50%) scaleX(0);transform-origin:100% 50%;border-radius:999px;background:linear-gradient(90deg,#f2dca300,#f2dca38c 55%,#e84a338c);opacity:0}.gi-scene[data-phase=shoot] .gi-arrow{opacity:1}.gi-scene[data-phase=shoot] .gi-arrow-body{animation:gi-fly .35s cubic-bezier(.55,0,.8,.4) forwards}.gi-scene[data-phase=shoot] .gi-trail{animation:gi-trail .35s ease-in forwards}@keyframes gi-fly{0%{transform:translate(0)}18%{transform:translate(-6%)}to{transform:translate(80%)}}@keyframes gi-trail{0%,20%{opacity:0;transform:translateY(-50%) scaleX(0)}60%{opacity:1}to{opacity:.9;transform:translateY(-50%) scaleX(1)}}.gi-burst{position:absolute;left:84.4%;top:43%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:4}.gi-flash,.gi-ring,.gi-heart{position:absolute;left:50%;top:50%;opacity:0}.gi-flash{width:40%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff8e6,#f2dca3b3 40%,#f2dca300 70%);transform:translate(-50%,-50%) scale(0)}.gi-ring{width:60%;aspect-ratio:1;border-radius:50%;border:2px solid rgba(181,138,66,.7);transform:translate(-50%,-50%) scale(0)}.gi-ring.gi-ring-2{border-color:#721c2b73;border-width:1px}.gi-heart{width:calc(var(--size) * 1%);aspect-ratio:1;transform:translate(-50%,-50%) scale(0);will-change:transform,opacity}.gi-heart svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 6px rgba(92,21,34,.3))}.gi-scene[data-phase=grow] .gi-flash{animation:gi-flash .38s ease-out forwards}.gi-scene[data-phase=grow] .gi-ring{animation:gi-ring .45s cubic-bezier(.1,.8,.3,1) forwards}.gi-scene[data-phase=grow] .gi-ring-2{animation-delay:70ms}.gi-scene[data-phase=grow] .gi-heart{animation:gi-heart .52s cubic-bezier(.12,.85,.3,1) forwards;animation-delay:calc(var(--delay) * 1ms)}.gi-scene[data-phase=grow] .gi-heart-core{animation:gi-core .52s cubic-bezier(.3,1.6,.5,1) forwards}@keyframes gi-flash{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@keyframes gi-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}@keyframes gi-heart{0%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(0)}15%{opacity:1}to{opacity:.95;transform:translate(calc(-50% + var(--dx) * 100%),calc(-50% + var(--dy) * 100%)) scale(1) rotate(calc(var(--rot) * 1deg))}}@keyframes gi-core{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:640px){.gi-scene{top:62%;width:112vw;transform:translate(-62%,-50%)}}@media(prefers-reduced-motion:reduce){.gi-scene *,.gi-scene{animation:none!important;transition:none!important}}
