.box-scene{--s:clamp(140px, 50vw, 220px);--h:calc(var(--s) * .68);--f:calc(var(--s) * .5);--r:calc(var(--s) * .12);--velvet-a:#4d2775;--velvet-b:#2a1146;--velvet-c:#170828;width:var(--s);height:calc(var(--h) + var(--s) * .5);perspective:1100px;perspective-origin:50% 38%;touch-action:manipulation;-webkit-user-select:none;user-select:none;position:relative}@media (min-width:1024px){.box-scene{--s:300px}}.box-bob,.box-wiggle,.box-tilt,.box-cube,.face{transform-style:preserve-3d}.box-bob{will-change:transform;animation:6s ease-in-out infinite box-bob;position:absolute;inset:0}.box-scene[data-open=true] .box-bob{animation-play-state:paused}@keyframes box-bob{0%,to{transform:translateY(6px)rotateY(-8deg)}50%{transform:translateY(-6px)rotateY(8deg)}}.box-wiggle{position:absolute;inset:0}.box-wiggle[data-wiggle=true]{animation:.6s ease-in-out box-wiggle}@keyframes box-wiggle{0%,to{transform:rotate(0)}17%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}83%{transform:rotate(-3deg)}}.box-tilt{position:absolute;inset:0}.box-cube{--flap:90deg;--side:0deg;width:var(--s);height:var(--h);margin:calc(var(--h) / -2) 0 0 calc(var(--s) / -2);position:absolute;top:50%;left:50%}.box-cube.open{--flap:0deg;--side:-90deg}.face{backface-visibility:visible;background-image:linear-gradient(var(--shade,#0000), var(--shade,#0000)), url(/noise.svg), radial-gradient(120% 110% at 28% 18%, var(--velvet-a) 0%, var(--velvet-b) 58%, var(--velvet-c) 100%);background-blend-mode:normal, soft-light, normal;background-size:100% 100%,140px 140px,100% 100%;position:absolute;box-shadow:inset 0 0 0 1px #ffffff0a}.box-bottom{width:var(--s);height:var(--s);left:0;top:calc(var(--h) / 2 - var(--s) / 2);--shade:#00000059;transform:translateY(calc(var(--h) / 2)) rotateX(90deg)}.box-bottom:after{content:"";background:radial-gradient(circle, var(--gold-hot) 0%, #ffe3a373 35%, transparent 72%);filter:blur(10px);opacity:0;transition:opacity calc(var(--unfold-ms) * .6) var(--ease-out) calc(var(--unfold-ms) * .4);border-radius:50%;position:absolute;inset:-6%}.box-cube.open .box-bottom:after{opacity:1}.side{width:var(--s);height:var(--h);transform-origin:50% 100%;transition:transform calc(var(--unfold-ms) * .6) var(--ease-out) calc(var(--unfold-ms) * .37);top:0;left:0}.box-cube:not(.open) .side{transition:transform calc(var(--refold-ms) * .6) var(--ease-out) 0s}.side.front{--shade:#ffffff05;transform:rotateY(0deg) translateZ(calc(var(--s) / 2)) rotateX(var(--side))}.side.right{--shade:#00000038;transform:rotateY(90deg) translateZ(calc(var(--s) / 2)) rotateX(var(--side))}.side.back{--shade:#0000006b;transform:rotateY(180deg) translateZ(calc(var(--s) / 2)) rotateX(var(--side))}.side.left{--shade:#0000004d;transform:rotateY(-90deg) translateZ(calc(var(--s) / 2)) rotateX(var(--side))}.side:before{content:"";background:var(--gold-hot);opacity:.55;height:2px;transition:opacity .4s var(--ease-out);position:absolute;top:0;left:2%;right:2%;box-shadow:0 0 6px 1px #ffe3a3b3,0 0 18px 4px #f2c87940}.box-cube.open .side:before{opacity:0}.side.front:after,.side.back:after,.side.left:after,.side.right:after,.flap.outer:after{content:"";top:0;bottom:0;left:calc(50% - var(--r) / 2);width:var(--r);background:linear-gradient(90deg, #b8903f 0%, var(--gold) 22%, var(--gold-hot) 50%, var(--gold) 78%, #b8903f 100%);position:absolute;box-shadow:0 0 0 1px #0000001f,0 2px 8px #00000059}.flap.outer:before{content:"";height:calc(var(--r) / 2);background:linear-gradient(180deg, var(--gold-hot) 0%, var(--gold) 55%, #b8903f 100%);z-index:1;position:absolute;top:0;left:0;right:0;box-shadow:0 1px 4px #0000004d}.flap{width:100%;height:var(--f);transform-origin:50% 100%;--shade:#ffffff14;transition:transform calc(var(--unfold-ms) * .47) var(--ease-out) 0s;position:absolute;bottom:100%;left:0}.box-cube:not(.open) .flap{transition:transform calc(var(--refold-ms) * .5) var(--ease-out) calc(var(--refold-ms) * .5)}.flap.outer{transform:rotateX(var(--flap))}.flap.inner{height:calc(var(--f) * .92);--shade:#0000001a;transform:translateY(1px) rotateX(var(--flap))}.bow{width:calc(var(--s) * .5);height:calc(var(--s) * .22);margin-left:calc(var(--s) * -.25);transform-style:preserve-3d;transition:opacity .3s var(--ease-out), transform .4s var(--ease-out);pointer-events:none;position:absolute;top:0;left:50%;transform:translateY(-100%)translateZ(0)}.box-cube.open .bow{opacity:0;transform:translateY(-120%)scale(.8)}.bow-loop{background:radial-gradient(70% 70% at 40% 35%, var(--gold-hot), var(--gold) 55%, #b8903f 100%);border-radius:60% 60% 55% 55%/80% 80% 45% 45%;width:46%;height:100%;position:absolute;bottom:0;box-shadow:inset 0 -4px 8px #78501459,0 4px 10px #0000004d}.bow-loop.l{left:2%;transform:rotate(-16deg)}.bow-loop.r{right:2%;transform:rotate(16deg)scaleX(-1)}.bow-knot{background:radial-gradient(60% 60% at 40% 35%, var(--gold-hot), #c9a45a 70%, #9d7a34 100%);border-radius:40%;width:22%;height:40%;margin-left:-11%;position:absolute;bottom:8%;left:50%;box-shadow:0 2px 6px #00000059}.box-shadow{left:50%;bottom:calc(var(--s) * -.02);width:calc(var(--s) * 1.15);height:calc(var(--s) * .28);margin-left:calc(var(--s) * -.575);filter:blur(6px);pointer-events:none;background:radial-gradient(50% 50%,#0000008c,#0000 70%);border-radius:50%;animation:6s ease-in-out infinite shadow-bob;position:absolute}@keyframes shadow-bob{0%,to{opacity:.9;transform:scale(1.04)}50%{opacity:.7;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.box-bob,.box-shadow,.box-wiggle[data-wiggle=true]{animation:none}}
.vch-ticket{isolation:isolate;--notch:8px;--stub-h:38px;--stub:calc(100% - var(--stub-h));-webkit-mask:radial-gradient(circle at 0 var(--stub), transparent var(--notch), #000 calc(var(--notch) + .5px)), radial-gradient(circle at 100% var(--stub), transparent var(--notch), #000 calc(var(--notch) + .5px));-webkit-mask-composite:source-in;-webkit-mask:radial-gradient(circle at 0 var(--stub), transparent var(--notch), #000 calc(var(--notch) + .5px)), radial-gradient(circle at 100% var(--stub), transparent var(--notch), #000 calc(var(--notch) + .5px));mask:radial-gradient(circle at 0 var(--stub), transparent var(--notch), #000 calc(var(--notch) + .5px)), radial-gradient(circle at 100% var(--stub), transparent var(--notch), #000 calc(var(--notch) + .5px));transition:transform .22s var(--ease-out), background .4s var(--ease-out), border-color .4s var(--ease-out);background:radial-gradient(120% 90% at 0 0,#ffe3a338,#0000 55%),radial-gradient(100% 80% at 100% 100%,#ff8fb124,#0000 60%),linear-gradient(#ffffff0d,#ffffff05);border:1px solid #f2c87961;border-radius:18px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff29,0 10px 26px #00000047;-webkit-mask-composite:source-in;mask-composite:intersect}.vch-ticket:before{content:"";z-index:-1;pointer-events:none;animation:vch-sweep 6s var(--ease-out) infinite;animation-delay:var(--sweep-delay,0s);background:linear-gradient(105deg,#0000 42%,#fff4d638 50%,#0000 58%);position:absolute;inset:-60% -40%;transform:translate(-70%)}.vch-ticket:after{content:"";left:14px;right:14px;top:var(--stub);pointer-events:none;border-top:1.5px dashed #ffffff38;position:absolute}.vch-ticket--card:active{transform:scale(.97)}.vch-stub{height:var(--stub-h)}.vch-ticket.is-sent{background:linear-gradient(#ffffff0b,#ffffff05);border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff14}.vch-ticket.is-sent:before{animation:none}.vch-fade{transition:opacity .4s var(--ease-out)}.vch-ticket.is-sent .vch-fade{opacity:.45}.vch-stamp{border:2px solid var(--rose);color:var(--rose);font-family:var(--font-round);letter-spacing:.16em;text-transform:uppercase;border-radius:8px;padding:2px 9px;font-size:.72rem;font-weight:800;position:absolute;top:34px;right:10px;transform:rotate(-12deg);box-shadow:inset 0 0 0 1px #ff8fb140}.vch-ticket--hero{--stub-h:52px;--notch:11px;border-radius:24px}.vch-ticket--hero .vch-stamp{border-width:3px;border-radius:10px;padding:4px 14px;font-size:.95rem;top:58px;right:22px}.vch-dot{width:7px;height:7px;transition:background .4s var(--ease-out), box-shadow .4s var(--ease-out);background:#ffffff29;border-radius:999px}.vch-dot.is-on{background:linear-gradient(180deg, var(--gold-hot), var(--gold));box-shadow:0 0 8px #f2c87999}.vch-pin{font-family:var(--font-mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--gold-hot);text-shadow:0 0 18px #ffe3a340;font-size:clamp(1.15rem,5.4vw,1.55rem)}.vch-mark{border:1px solid var(--glass-edge);width:100%;min-height:52px;transition:background .24s var(--ease-out), border-color .24s var(--ease-out), color .24s var(--ease-out), transform .16s var(--ease-out);background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:0 1.25rem;font-weight:800;display:inline-flex}.vch-mark:active{transform:scale(.98)}.vch-mark.is-on{color:#ffd6e3;background:linear-gradient(#ff8fb147,#ff8fb129);border-color:#ff8fb199}@keyframes vch-sweep{0%,55%{transform:translate(-70%)}to{transform:translate(70%)}}
.gd-fab{top:calc(env(safe-area-inset-top) + 14px + min(100vw - 32px, 560px) * .2 + 10px)}@media (min-width:1024px){.gd-fab{top:calc(env(safe-area-inset-top) + 20px)}}.gd-scene{perspective:1400px;-webkit-tap-highlight-color:transparent}.gd-card{--gd-gold:#e9c67f;--gd-gold-hot:#ffe9b8;--gd-ink:#f3e9ff;--gd-lilac:#c9a7ff;--gd-r:18px;--gd-h:clamp(400px, 58dvh, 520px);width:min(300px,82vw);min-height:var(--gd-h);transform-style:preserve-3d;will-change:transform;transition:transform 1.1s cubic-bezier(.34,1.2,.36,1);display:block;position:relative}.gd-card.is-flipped{transform:rotateY(180deg)}.gd-card:disabled{cursor:default}.gd-card:active:not(:disabled){transform:rotateY(-8deg)scale(.985)}.gd-face{border-radius:var(--gd-r);backface-visibility:hidden;border:1.5px solid var(--gd-gold);color:var(--gd-ink);overflow:hidden;transform:translateZ(0);box-shadow:inset 0 0 0 4px #1b0c31,inset 0 0 0 5px #e9c67f8c,0 24px 50px #00000080,0 0 40px #c9a7ff1f}.gd-face--front{transform:rotateY(180deg)translateZ(0)}.gd-corner{color:var(--gd-gold);opacity:.85;font-size:11px;line-height:1;position:absolute}.gd-corner:first-child{top:12px;left:12px}.gd-corner:nth-child(2){top:12px;right:12px}.gd-corner:nth-child(3){bottom:12px;left:12px}.gd-corner:nth-child(4){bottom:12px;right:12px}.gd-face--back{background:radial-gradient(circle at 18% 22%,#ffe9b88c 0 .8px,#0000 1.6px),radial-gradient(circle at 74% 14%,#ffe9b873 0 .7px,#0000 1.5px),radial-gradient(circle at 86% 40%,#ffe9b880 0 .9px,#0000 1.7px),radial-gradient(circle at 12% 62%,#ffe9b866 0 .7px,#0000 1.5px),radial-gradient(circle at 30% 86%,#ffe9b880 0 .8px,#0000 1.6px),radial-gradient(circle at 80% 78%,#ffe9b873 0 .7px,#0000 1.5px),radial-gradient(circle at 56% 92%,#ffe9b866 0 .6px,#0000 1.4px),repeating-linear-gradient(45deg,#e9c67f17 0 1px,#0000 1px 14px),repeating-linear-gradient(-45deg,#e9c67f17 0 1px,#0000 1px 14px),radial-gradient(90% 70% at 50% 45%,#33184f 0%,#1f0e3a 60%,#150827 100%);position:absolute;inset:0}.gd-back-inner{border-radius:calc(var(--gd-r) - 8px);border:1px solid #e9c67f73;place-items:center;display:grid;position:absolute;inset:16px}.gd-emblem{filter:drop-shadow(0 0 14px #ffe3a359);width:62%;height:auto;animation:5s ease-in-out infinite gd-breathe}.gd-back-caption{text-align:center;font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#e9c67fcc;font-size:10px;position:absolute;bottom:30px;left:0;right:0}.gd-face--back:after{content:"";pointer-events:none;animation:gd-sweep 7s var(--ease-out) infinite;background:linear-gradient(105deg,#0000 44%,#fff4d624 50%,#0000 56%);position:absolute;inset:-60% -40%;transform:translate(-70%)}.gd-face--front{min-height:var(--gd-h);text-align:center;background:radial-gradient(70% 40% at 50% 0,#e9c67f38 0%,#0000 70%),radial-gradient(60% 40% at 50% 100%,#c9a7ff2e 0%,#0000 70%),linear-gradient(#2a1349 0%,#1c0c35 100%);flex-direction:column;align-items:center;padding:20px 16px 16px;display:flex;position:relative}.gd-face--front:after{content:"";pointer-events:none;animation:gd-sweep 9s var(--ease-out) infinite;background:linear-gradient(105deg,#0000 44%,#fff4d61a 50%,#0000 56%);animation-delay:1.4s;position:absolute;inset:-60% -40%;transform:translate(-70%)}.gd-numeral{font-family:var(--font-mono);letter-spacing:.3em;color:var(--gd-gold);opacity:.9;font-size:11px}.gd-art{aspect-ratio:4/3;border:1px solid var(--gd-gold);background:radial-gradient(70% 60% at 50% 40%,#3a1c5c 0%,#22103f 100%);border-radius:130px 130px 10px 10px;width:100%;margin-top:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #1c0c35,inset 0 0 0 4px #e9c67f73,0 8px 22px #00000059}.gd-art img{object-fit:cover;object-position:var(--gd-focus,50% 30%);opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease-out), transform 1.4s var(--ease-out);display:block;transform:scale(1.04)}.gd-art img.is-loaded{opacity:1;transform:none}.gd-art .gd-emblem{opacity:.55;width:46%;margin:auto;position:absolute;inset:0}.gd-art:after{content:"";pointer-events:none;background:linear-gradient(#1c0c3526 0%,#0000 30% 55%,#1c0c35db 100%),radial-gradient(90% 80% at 50% 45%,#0000 60%,#14082873 100%);position:absolute;inset:0}.gd-arabic{z-index:1;color:var(--gd-gold-hot);text-shadow:0 0 18px #ffe3a373,0 1px 2px #0009;font-size:clamp(1.45rem,5vh,1.9rem);font-weight:600;line-height:1.15;position:absolute;bottom:6px;right:14px}.gd-rule{width:70%;color:var(--gd-gold);align-items:center;gap:8px;margin:12px 0 8px;font-size:9px;display:flex}.gd-rule:before,.gd-rule:after{content:"";background:linear-gradient(90deg,#0000,#e9c67fb3,#0000);flex:1;height:1px}.gd-quote{font-family:var(--font-serif);color:var(--gd-ink);text-wrap:pretty;flex:1;place-items:center;font-size:clamp(.9rem,2.6vh,1.08rem);font-style:italic;font-weight:500;line-height:1.42;display:grid}.gd-quote--long{font-size:clamp(.8rem,2.2vh,.94rem);line-height:1.38}.gd-source{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#f3e9ff99;margin-top:8px;font-size:10px}.gd-note{font-family:var(--font-sans);color:#e9c67feb;text-wrap:pretty;border-top:1px dashed #c9a7ff59;margin-top:10px;padding-top:9px;font-size:.74rem;line-height:1.42}.gd-note small{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--gd-lilac);margin-bottom:3px;font-size:9px;display:block}.gd-banner{font-family:var(--font-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--gd-gold-hot);white-space:nowrap;background:linear-gradient(#e9c67f29,#e9c67f0f);border:1px solid #e9c67f99;border-radius:6px;margin-top:12px;padding:6px 16px;font-size:.95rem;font-weight:600}.gd-banner small{font-family:var(--font-serif);letter-spacing:.04em;text-transform:none;color:#f3e9ffb8;margin-top:1px;font-size:.78rem;font-style:italic;font-weight:500;display:block}.gd-face--front>:not(.gd-corner){opacity:0;transition:opacity .6s var(--ease-out) .52s, transform .6s var(--ease-out) .52s;position:relative;transform:translateY(6px)}.gd-card.is-flipped .gd-face--front>:not(.gd-corner){opacity:1;transform:none}.gd-card.is-flipped.no-anim .gd-face--front>:not(.gd-corner),.gd-card.no-anim{transition:none}@keyframes gd-sweep{0%,55%{transform:translate(-70%)}to{transform:translate(70%)}}@keyframes gd-breathe{0%,to{filter:drop-shadow(0 0 12px #ffe3a34d);transform:scale(1)}50%{filter:drop-shadow(0 0 22px #ffe3a380);transform:scale(1.04)}}
