/* Parcel geometry and choreography; every layer stays mounted through each action. */
.parcel-scene{position:relative;height:350px;display:grid;place-items:center;overflow:hidden;perspective:950px;background:#f6f4ee;border-radius:12px;margin:16px 0}
.parcel-scene .gift-box{width:340px;max-width:95%;transform:rotate(-3deg);transform-style:preserve-3d;perspective:850px;filter:drop-shadow(0 15px 13px #3d473b1d)}
.parcel-lid{position:absolute;inset:0;z-index:5;transform-origin:50% 15%;transform-style:preserve-3d;pointer-events:none;filter:drop-shadow(0 4px 3px #4c41251c)}
.parcel-paper{position:absolute;left:19%;top:21%;width:62%;height:59%;z-index:4;perspective:650px;transform-style:preserve-3d;pointer-events:none}
.small .parcel-paper{left:13%;width:74%;top:24%;height:52%}
.paper-flap{position:absolute;top:0;width:53%;height:100%;background:#f0eadbeF;box-shadow:inset 0 0 15px #b8ab9040,0 2px 4px #66553e16;backface-visibility:visible;transform-style:preserve-3d;border:1px solid #e3d9c2}
.paper-left{left:0;transform-origin:0 50%;z-index:1;clip-path:polygon(0 0,100% 3%,96% 100%,0 97%)}
.paper-right{right:0;transform-origin:100% 50%;z-index:2;clip-path:polygon(3% 0,100% 0,100% 100%,0 98%)}
.paper-flap:after{content:"";position:absolute;top:48%;left:0;right:0;height:1px;background:#d3c8b1;transform:rotate(-9deg)}
.paper-seal{position:absolute;left:calc(50% - 17px);top:calc(50% - 17px);width:34px;height:34px;background:#e6ded0;border:1px solid #b4a48d;border-radius:50%;z-index:3;box-shadow:0 2px 3px #5e432920}
.paper-seal:after{content:"";position:absolute;inset:5px;background:url("brand/d3-refined/giftmix-d3-symbol-transparent-v1.png") center/contain no-repeat}
.parcel-ribbon{position:absolute;inset:12% 13%;z-index:6;pointer-events:none;transform-style:preserve-3d}
.small .parcel-ribbon{inset:9% 8%}
.ribbon-band{position:absolute;display:block;background:var(--ribbon);box-shadow:inset 3px 3px 4px #ffffff35,inset -3px -3px 5px #20281925}
.band-left{left:0;top:45%;width:50%;height:10%;transform-origin:100% 50%}
.band-right{right:0;top:45%;width:50%;height:10%;transform-origin:0 50%}
.band-top{left:45%;top:0;width:10%;height:50%;transform-origin:50% 100%}
.band-bottom{left:45%;bottom:0;width:10%;height:50%;transform-origin:50% 0}
.parcel-bow{position:absolute;left:27%;top:27%;width:46%;height:46%;overflow:visible;filter:drop-shadow(0 3px 2px #3c342534)}
.parcel-bow path{stroke:var(--ribbon);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.parcel-bow g{transform-box:fill-box;transform-origin:center}
.parcel-bow .bow-knot path{fill:var(--ribbon);stroke-width:3}
.parcel-bow .bow-tail-left path,.parcel-bow .bow-tail-right path{stroke-width:17}
[data-pose="open"] .paper-left{transform:rotateY(-155deg);opacity:.45}
[data-pose="open"] .paper-right{transform:rotateY(155deg);opacity:.45}
[data-pose="open"] .paper-seal{opacity:0;transform:scale(.6)}
[data-pose="open"] .parcel-lid{opacity:0;transform:translate3d(80px,-130px,100px) rotateX(45deg) rotateZ(12deg)}
[data-pose="open"] .ribbon-band{opacity:0;transform:scale(0)}
[data-pose="open"] .parcel-bow g{opacity:0;transform:scale(.3)}




.unbox-parcel-root{position:relative;display:grid;align-items:center}.unbox-parcel-root>.parcel-scene,.unbox-parcel-root>.scene-independent{grid-area:1/1}
.separate-empty{font-size:13px;color:var(--muted);padding:9px 0}
.independent-list.drag-target{outline:2px dashed var(--focus);outline-offset:-4px;background:#f5ede3}
.config-bottom{justify-content:flex-end}
.sealed-success .parcel-scene{height:340px}.sealed-success .parcel-scene .gift-box{width:330px}
.entry-screen{position:fixed;inset:0;z-index:70;background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:auto;padding:25px 20px;perspective:1100px}
.entry-content{width:min(580px,100%);min-width:0;text-align:center;position:relative}
.entry-brand{display:grid;place-items:center}.entry-brand img{width:210px;height:76px;object-fit:contain}
.entry-stage{height:350px;display:grid;place-items:center;perspective:1000px;overflow:hidden;margin:6px 0 3px}
.entry-parcel{width:300px;max-width:92%;perspective:850px;transform-style:preserve-3d;transform:rotateX(15deg) rotateZ(-5deg);filter:none}
.entry-product{position:absolute;width:27%;height:27%;object-fit:contain;z-index:3;pointer-events:none}
.entry-product-0{left:22%;top:25%;animation:fill-one 7s var(--ease) infinite}
.entry-product-1{left:51%;top:25%;animation:fill-two 7s var(--ease) infinite}
.entry-product-2{left:22%;top:54%;animation:fill-three 7s var(--ease) infinite}
.entry-product-3{left:51%;top:54%;animation:fill-four 7s var(--ease) infinite}
.entry-parcel>.box-base{filter:drop-shadow(0 12px 9px #513e3726)}
.entry-parcel .parcel-lid{filter:drop-shadow(0 2px 2px #513e3716)}
.entry-parcel .paper-left{animation:fold-left 7s var(--ease) infinite}.entry-parcel .paper-right{animation:fold-right 7s var(--ease) infinite}
.entry-parcel .paper-seal{animation:seal-paper 7s var(--ease) infinite}.entry-parcel .parcel-lid{animation:close-parcel 7s var(--ease) infinite}
.entry-parcel .ribbon-band{animation:wrap-parcel 7s var(--ease) infinite}.entry-parcel .parcel-bow g{animation:tie-parcel 7s var(--ease) infinite}
.entry-content h1{font-size:25px;line-height:1.4;font-weight:650;margin:8px 0 20px}
.entry-choices{display:flex;gap:15px;max-width:450px;margin:auto;text-align:left}
.entry-choices button{flex:1;min-width:0;padding:17px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-align:left;transition:background .16s,border-color .16s}
.entry-choices button:hover{background:#f0ebe3;border-color:#b9a48d}.entry-choices strong{display:block;font-size:16px}.entry-choices span{display:block;font-size:13px;color:var(--muted);margin-top:5px}
.entry-about{font-size:13px;color:var(--muted);margin-top:19px;padding:5px}.entry-introduction{font-size:14px;max-width:450px;margin:12px auto 0;color:var(--muted);line-height:1.8}
.entry-selected .entry-about,.entry-selected h1{opacity:.45;transition:opacity .25s}
@keyframes fill-one{0%,2%{opacity:0;transform:translate3d(-60px,-95px,70px) rotate(-18deg) scale(.85)}13%,94%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes fill-two{0%,10%{opacity:0;transform:translate3d(55px,-100px,65px) rotate(16deg) scale(.85)}24%,94%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes fill-three{0%,20%{opacity:0;transform:translate3d(-45px,-105px,65px) rotate(-12deg) scale(.85)}34%,94%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes fill-four{0%,30%{opacity:0;transform:translate3d(50px,-115px,70px) rotate(14deg) scale(.85)}44%,94%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes fold-left{0%,51%{transform:rotateY(-155deg);opacity:.25}60%,94%{transform:rotateY(0);opacity:1}100%{transform:rotateY(-155deg);opacity:.25}}
@keyframes fold-right{0%,54%{transform:rotateY(155deg);opacity:.25}63%,94%{transform:rotateY(0);opacity:1}100%{transform:rotateY(155deg);opacity:.25}}
@keyframes seal-paper{0%,61%{opacity:0;transform:scale(.6)}67%,94%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.6)}}
@keyframes close-parcel{0%,65%{opacity:0;transform:translate3d(60px,-95px,70px) rotateX(35deg) rotateZ(12deg)}77%,94%{opacity:1;transform:none}100%{opacity:0;transform:translate3d(60px,-95px,70px) rotateX(35deg) rotateZ(12deg)}}
@keyframes wrap-parcel{0%,75%{opacity:0;transform:scale(.02)}85%,94%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.02)}}
@keyframes tie-parcel{0%,82%{opacity:0;transform:scale(.3) rotate(-10deg)}90%,94%{opacity:1;transform:none}100%{opacity:0;transform:scale(.3)}}
@media(max-width:960px){.parcel-scene{height:300px}.parcel-scene .gift-box{width:285px}.sealed-success .parcel-scene{height:295px}.sealed-success .parcel-scene .gift-box{width:280px}.entry-stage{height:290px}.entry-parcel{width:245px}.entry-brand{font-size:24px}.entry-content h1{font-size:22px}.entry-choices{gap:11px}.entry-choices button{padding:16px}.entry-choices strong{font-size:15px}.entry-choices span{font-size:12px}}
@media(max-height:680px){.entry-screen{padding-top:18px;padding-bottom:18px}.entry-stage{height:245px}.entry-parcel{width:210px}.entry-content h1{font-size:21px;margin-bottom:15px}.entry-choices button{padding:13px 17px}.entry-about{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.entry-parcel *{animation:none!important}.entry-product{opacity:1!important;transform:none!important}.parcel-scene,.entry-stage{perspective:none}.entry-parcel{transform:none}}

/* A quiet paper liner stays underneath the products. */
.box-lining{position:absolute;left:19.2%;top:21.2%;width:61.3%;height:58.5%;z-index:1;pointer-events:none;background:#f4efe4;border:1px solid #e4dccd;box-shadow:inset 0 2px 5px #77664612}
.small .box-lining{left:13.1%;width:73.6%;top:24%;height:52.4%}
.lining-fold{position:absolute;left:4%;right:4%;top:72%;height:1px;background:#d7cdbb66;transform:rotate(-5deg)}
.box-inside{z-index:2}

.sealed-success{position:relative}
.entry-purpose{font-size:14px;line-height:1.7;color:var(--muted);margin:-8px 0 20px}
@media(max-width:960px){.entry-content h1{font-size:21px;max-width:100%;text-wrap:balance}.entry-purpose{font-size:13px;padding:0 8px}}
.filler-setting{display:flex;align-items:center;gap:9px;font-size:14px;margin:22px 0}

.entry-choices button.selected{background:#f1e4df;border-color:#b28b7d}
@media(max-width:960px){.entry-brand img{width:180px;height:65px}}
@media(max-height:680px){.entry-brand img{width:160px;height:58px}}

.parcel-card{grid-area:1/1;position:relative;width:calc(100% - 32px);margin:22px 16px;z-index:8;opacity:0;transform:translateY(30px) rotate(-5deg) scale(.92);pointer-events:none}
.parcel-card .letter-preview{width:100%;margin:0;box-shadow:0 10px 30px #4b3c291c;min-height:230px}
.celebration-burst{position:absolute;inset:0;pointer-events:none;z-index:12;overflow:visible}.gift-confetti{position:absolute;left:50%;top:46%;width:7px;height:11px;pointer-events:none;opacity:0}.confetti-star{width:14px;height:14px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.packing-actions .gift-confetti{top:20%}
@media(max-width:960px){.parcel-card{width:calc(100% - 12px);margin:20px 6px}.parcel-card .letter-preview{padding:45px 30px}.parcel-card .letter-preview .message{font-size:23px}}
