/* Progressive tearing keeps the original foil art and the source image ratio. */
.pack-shell.has-physical-foil{perspective:900px;transform-style:preserve-3d}
.pack-shell.has-physical-foil .pack.artwork{transition:none}
.pack-shell.has-physical-foil.ripping .pack.artwork{filter:drop-shadow(0 1px 1px #0008)}
.pack-shell.has-physical-foil.ripping .tear-strip{opacity:0!important}
.pack-shell.has-physical-foil.ripping .foil-piece{opacity:1;z-index:4;transform-origin:var(--foil-hinge,0 9%);transform:translate(var(--foil-pull-x,0),var(--foil-pull-y,0)) rotate(var(--foil-turn,0deg)) skewY(var(--foil-twist,0deg));filter:drop-shadow(0 3px 2px #0008);backface-visibility:visible;animation:none}
.pack-shell.has-physical-foil .foil-underlay{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(165deg,#91a4b5 0%,#eaf3f7 3%,#6e8495 5%,#f4fbff 7%,#536d83 9%,transparent 10%);opacity:var(--foil-progress,0);mask-image:var(--pack-image);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:var(--pack-image);-webkit-mask-size:100% 100%;transform-origin:var(--foil-hinge,0 9%);transform:translate(var(--foil-pull-x,0),calc(var(--foil-pull-y,0%) + .6%)) rotate(var(--foil-turn,0deg)) skewY(var(--foil-twist,0deg))}
.pack-shell.has-physical-foil .foil-piece::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff34,transparent 1.7%,#020c1a70 2.2%,#dfefff44 3%,transparent 4.5%,#e5f3ff55 6.5%,#06112665 8.4%,#ffffff6b 9%,transparent 9.6%);opacity:var(--foil-progress,0)}
.pack-shell.has-physical-foil .foil-cut-edge{position:absolute;top:8.9%;height:2px;pointer-events:none;z-index:2;background:repeating-linear-gradient(110deg,#d8e5ef 0 2px,#5a7186 2px 3px,#b2c4d2 3px 5px);clip-path:polygon(0 50%,4% 0,8% 70%,12% 20%,16% 80%,20% 0,24% 70%,28% 10%,32% 60%,36% 0,40% 75%,44% 20%,48% 70%,52% 0,56% 70%,60% 10%,64% 80%,68% 0,72% 60%,76% 10%,80% 70%,84% 0,88% 75%,92% 10%,96% 80%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 1px 1px #000b)}
.pack-shell.has-physical-foil .foil-crease{position:absolute;top:0;width:18px;height:12%;pointer-events:none;z-index:5;background:linear-gradient(100deg,transparent,#02081766 35%,#eff9ff88 49%,#fff1 58%,transparent 80%);transform:skewX(-12deg)}
.pack-shell.has-physical-foil.ripping:not(.unsealed) :is(.foil-piece,.foil-underlay){will-change:transform,opacity}
.pack-shell.has-physical-foil.unsealed .foil-piece,.pack-shell.has-physical-foil.unsealed .foil-underlay{animation:none}
.pack-shell.has-physical-foil .foil-glint{display:none}
.pack-shell.has-physical-foil.foil-detaching .foil-crease{opacity:0!important}
@media(prefers-reduced-motion:reduce){.pack-shell.has-physical-foil .foil-piece,.pack-shell.has-physical-foil .foil-underlay{transform:none!important;transition:none!important}.pack-shell.has-physical-foil.foil-detaching .foil-piece,.pack-shell.has-physical-foil.foil-detaching .foil-underlay{opacity:0!important}}
