.scene{--E:min(92vw,70vh,620px);--E:min(92vw,70dvh,620px);--fs:1.06;position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;overflow:clip;background-color:var(--wood-base);background-image:url(/textures/pp_oak.webp);background-size:cover;background-position:50%}.stage{position:relative;width:var(--E);height:calc(var(--E) * 1.1112);perspective:calc(var(--E) * 1.8);perspective-origin:50% 42.75%;opacity:0;transition:opacity .55s ease}.is-ready .stage{opacity:1}.env{position:absolute;inset:0;width:100%;height:100%;will-change:transform}.env-back{z-index:1;filter:drop-shadow(0 30px 46px rgba(74,46,20,.35)) drop-shadow(0 6px 14px rgba(74,46,20,.25))}.env-front{z-index:3;filter:drop-shadow(0 -8px 16px rgba(20,10,4,.38))}.is-settled .env{transform:translateY(calc(var(--E) * .6945))}.flap3d{z-index:5;transform-style:preserve-3d;transform-origin:50% 42.75%;transform:rotateX(-180deg);will-change:transform;pointer-events:none}.flap-face,.flap3d{position:absolute;inset:0}.flap-face{width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flap-outer{transform:rotateX(180deg);transform-origin:50% 42.75%;filter:drop-shadow(0 8px 14px rgba(20,10,4,.32))}.flap-static{visibility:hidden}.is-open .flap-static{visibility:visible}.is-open .flap3d{display:none}.card-pos{position:absolute;z-index:2;left:50%;top:calc(var(--E) * .2098);width:calc(var(--E) * .6528);transform:translateX(-50%)}.card-pos.free{z-index:4}.card-anim{width:100%;will-change:transform;transform:translateY(calc(var(--E) * .1264)) rotate(-90deg) scale(.97);box-shadow:0 10px 24px rgba(52,26,9,.28)}.is-settled .card-anim{transform:translateY(0) rotate(0deg) scale(var(--fs));box-shadow:0 34px 70px rgba(52,26,9,.4)}.cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;letter-spacing:.3em;color:rgba(245,232,210,.65);text-decoration:none;opacity:0;pointer-events:none;transition:opacity .9s ease .3s;z-index:5}.is-settled .cue{opacity:1;pointer-events:auto}.cue svg{animation:cue-bob 1.8s ease-in-out infinite}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.cue svg{animation:none}.stage{transition:none}}