/* A fixed card body and a separate hinge, using original photographic textures. */
#album-003 .card-interactive{display:flex;flex-direction:column;align-items:stretch;justify-content:center;position:relative;overflow:visible!important;min-height:370px;padding:20px 12px;background:#f4f4f2;transform:none!important;opacity:1!important;isolation:isolate}
#album-003 .card-stage{position:relative;width:100%;aspect-ratio:1.35;perspective:1200px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;overflow:visible;outline-offset:-4px}
#album-003 .card-stage.is-dragging{cursor:grabbing}
#album-003 .card-model{position:absolute;width:66%;aspect-ratio:1.558;left:11%;top:24%;transform-style:preserve-3d;transform:rotateX(-7deg) rotateY(-16deg);will-change:transform}
#album-003 .card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;border-radius:4%;background:#dfded7}
#album-003 .card-front{transform:translateZ(1.5px)}
#album-003 .card-back{transform:rotateY(180deg) translateZ(1.5px)}
#album-003 .card-texture{display:block;width:100%;height:100%;padding:0;object-fit:fill;pointer-events:none;mix-blend-mode:normal}
#album-003 .card-edge{position:absolute;inset:0;border-radius:4%;background:#bdbbb2;transform:translateZ(0);box-shadow:0 4px 0 #b5b3ac}
#album-003 .card-slot{position:absolute;left:58.8%;top:38.5%;width:41%;height:23.1%;transform:translateZ(.2px);overflow:hidden}
#album-003 .card-slot img{width:100%;height:100%;padding:0;object-fit:fill;mix-blend-mode:normal}
#album-003 .usb-flap{position:absolute;left:58.8%;top:38.5%;width:41%;height:23.1%;padding:0;min-height:0;border:0;background:transparent;cursor:pointer;transform-origin:100% 50%;transform-style:preserve-3d;transform:translateZ(2px) rotateY(0deg);touch-action:pan-y;transition:transform 500ms cubic-bezier(.77,0,.175,1);-webkit-tap-highlight-color:transparent}
#album-003 .usb-flap.is-open{transform:translateZ(2px) rotateY(180deg)}
#album-003 .usb-face{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#e4e3de;border-radius:2px}
#album-003 .usb-face img{width:100%;height:100%;object-fit:fill;padding:0;pointer-events:none;mix-blend-mode:normal}
#album-003 .usb-printed{transform:translateZ(.8px)}#album-003 .usb-contacts{transform:rotateY(180deg) translateZ(.8px)}
#album-003 .usb-flap:focus-visible{outline:2px solid #111;outline-offset:4px}
#album-003 .card-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;position:relative;z-index:2}
#album-003 .card-controls button{background:transparent;color:#111;border:1px solid #c5c5c0;font:inherit;font-size:13px;min-height:44px;padding:8px 13px;cursor:pointer;box-shadow:none;transition:opacity 120ms ease}
#album-003 .card-controls button:active{opacity:.55}
#album-003 .card-instruction{font:400 12px/1.6 'Avenir Next','PingFang SC',sans-serif;color:#555;text-align:center;margin:14px 8px 3px;min-height:38px}
.card-video-dialog{padding:0;border:0;background:#101010;color:#fff;width:min(920px,94vw);max-width:94vw;max-height:90dvh}.card-video-dialog::backdrop{background:rgba(0,0,0,.78)}.card-video-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px}.card-video-head button{background:none;border:0;color:#fff;min-height:44px;cursor:pointer;padding:10px;font-size:15px}.card-video-dialog video{display:block;width:100%;max-height:75dvh;background:#000}
@media(max-width:760px){#album-003 .card-interactive{min-height:300px;padding:14px 4px}#album-003 .card-stage{aspect-ratio:1.35}#album-003 .card-model{width:67%;left:10%;top:26%}#album-003 .card-controls{gap:6px}#album-003 .card-controls button{font-size:12px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){#album-003 .usb-flap{transition:none}#album-003 .card-model{will-change:auto}}

/* Easter egg: the physical object is the only visible control. */
#album-003 .card-interactive{background:transparent;padding:0;min-height:320px;justify-content:center}#album-003 .card-stage{aspect-ratio:1.25}#album-003 .card-model{width:64%;left:10%;top:27%}#album-003 .card-controls,#album-003 .card-instruction{display:none!important}@media(max-width:760px){#album-003 .card-interactive{background:transparent;padding:0;min-height:260px}#album-003 .card-stage{aspect-ratio:1.25}#album-003 .card-model{width:66%;left:9%;top:26%}}
/* The card has a continuous rim rather than a flat drop-shadow. */
#album-003 .card-edge{background:transparent;box-shadow:none;transform:none;transform-style:preserve-3d}
#album-003 .card-rim{position:absolute;inset:0;display:block;border-radius:4%;background:#d2d0c9}
#album-003 .card-rim:nth-child(2n){background:#c5c3bc}
#album-003 .card-face{background:transparent;border-radius:4%;}
#album-003 .card-slot{background:#e8e7df;box-shadow:inset 0 1px 2px #9e9b92;border-radius:1px}
#album-003 .usb-hinge{position:absolute;left:98.1%;top:38.4%;height:23.3%;width:1.9%;border-radius:2px;background:#d8d6ce;transform:translateZ(2px);border-left:1px solid #b6b3aa;pointer-events:none}
#album-003 .usb-thickness{position:absolute;inset:0;display:block;background:#bbb9b0;border-radius:2px;transform:translateZ(0);box-shadow:0 1px 0 #a3a096}
#album-003 .usb-printed{transform:translateZ(1px)}#album-003 .usb-contacts{transform:rotateY(180deg) translateZ(1px)}
/* A hidden cinema opens from the contact strip, then returns to it. */
.card-video-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:transparent;color:white;overflow:hidden;box-sizing:border-box}
.card-video-dialog[open]{display:flex;align-items:center;justify-content:center}
.card-video-dialog::backdrop{background:rgba(4,4,4,.94);animation:card-cinema-in 280ms cubic-bezier(.23,1,.32,1) both}
.card-video-dialog.is-closing::backdrop{animation:card-cinema-out 220ms ease forwards}
.card-video-screen{position:relative;width:min(1120px,94vw);max-height:90dvh;background:#000;transform-origin:center;box-shadow:0 22px 100px rgba(0,0,0,.4);will-change:transform,opacity}
.card-video-dialog .card-video-screen video{display:block;width:100%;height:auto;max-height:90dvh;object-fit:contain;background:#000}
.card-video-dialog .card-video-head{position:absolute;inset:0 0 auto auto;z-index:3;display:block;padding:8px;background:none}
.card-video-head button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:white;font-family:Arial,sans-serif;font-size:28px;line-height:1;padding:0;cursor:pointer}
.card-video-head button:focus-visible{outline:2px solid white;outline-offset:3px}
@keyframes card-cinema-in{from{opacity:0}to{opacity:1}}@keyframes card-cinema-out{from{opacity:1}to{opacity:0}}
@media(max-width:760px){.card-video-screen{width:100vw;max-height:100dvh}.card-video-dialog .card-video-screen video{max-height:100dvh}.card-video-dialog .card-video-head{padding:8px}}
@media(prefers-reduced-motion:reduce){.card-video-dialog::backdrop{animation-duration:120ms}.card-video-dialog.is-closing::backdrop{animation-duration:120ms}}

/* V36: immediate, larger reveal; no slow expanding slit. */
.card-video-screen{width:100vw;max-width:1800px;max-height:100dvh}.card-video-dialog .card-video-screen video{max-height:100dvh}.card-video-dialog::backdrop{background:rgba(0,0,0,.97);animation:none}.card-video-dialog.is-closing::backdrop{animation:card-cinema-out 160ms ease forwards}

/* V37: the entire contact strip is a stable tap target; its layers are visual only. */
#album-003 .usb-flap .usb-face,#album-003 .usb-flap .usb-thickness,#album-003 .usb-flap img{pointer-events:none}#album-003 .card-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none}.card-video-screen{max-width:none;width:100vw}.card-video-dialog .card-video-screen video{max-height:100dvh}.card-video-dialog::backdrop{background:#050505;animation:none}
