/* Shared window treatment, based on the approved Free Readings typography. */
.window-deck>.window-panel{position:relative}
/* Reuse the actual photographic Index frame as a narrow ring above the room.
   The transparent middle leaves every window's own scene and links intact. */
.window-deck>.window-panel::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;box-sizing:border-box;border:.8cqw solid transparent;border-image:url('../assets/images/archive-frame-repaired.png') 16 18 16 8 stretch}
.hero-copy h1,.study-copy h2,.window-deck>.window-panel.file-section h2{font:var(--type-headline);font-size:9cqw;line-height:.9;letter-spacing:-.01em;text-transform:uppercase;color:var(--color-moonlight);margin:0 0 2cqw}
.hero-copy h1 span,.study-copy h2 span{display:block;white-space:nowrap;transform:scaleX(.62)}
.window-deck>.window-panel.file-section h2{transform:scaleX(.62);transform-origin:left center}
.hero-copy>p,.study-copy>p,.window-deck>.window-panel.file-section>p:not(.eyebrow){font:var(--type-introduction);font-size:2.25cqw;line-height:1.3;letter-spacing:.025em;color:var(--color-moonlight)}
.hero-copy .paper-button,.study-action .paper-button,.window-deck>.window-panel.file-section>.text-button{display:inline-flex;align-items:center;justify-content:center;gap:3cqw;min-height:6cqw;width:35cqw;padding:.8cqw 2.5cqw;box-sizing:border-box;border:0;border-radius:0;clip-path:none;background:var(--color-manila-paper) url('../assets/images/tarot-button-paper.png') center/100% 100% no-repeat;color:var(--color-button-ink);font:var(--type-button);font-size:2.55cqw;line-height:1.45;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.window-deck>.window-panel.file-section>.text-button{width:auto;max-width:100%;margin-top:2cqw}
/* Keep the button rectangular overall, with small nicks in its paper corners.
   Shadow belongs to the unclipped parent so it follows the worn silhouette. */
.hero-copy .paper-button,.study-action .paper-button{position:relative;isolation:isolate;background:none;filter:drop-shadow(0 .15cqw .16cqw var(--color-paper-shadow));transform:translateY(0);transition:transform .22s ease,filter .22s ease}
.hero-copy .paper-button::before,.study-action .paper-button::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--color-manila-paper) url('../assets/images/tarot-button-paper.png') center/100% 100% no-repeat;clip-path:polygon(0 12%,.6% 7%,.5% 2%,1.7% 0,98.1% 0,98.7% 3%,98.5% 8%,99.4% 6%,100% 15%,100% 86%,99.5% 89%,99.6% 96%,98.3% 100%,1.8% 100%,1.3% 95%,.6% 96%,0 87%)}
.hero-copy .paper-button:hover,.hero-copy .paper-button:focus-visible,.study-action .paper-button:not(:disabled):hover,.study-action .paper-button:not(:disabled):focus-visible{transform:translateY(-.2cqw);filter:drop-shadow(0 .35cqw .25cqw var(--color-paper-shadow))}
.motion-paused .hero-copy .paper-button,.motion-paused .study-action .paper-button{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.hero-copy .paper-button,.study-action .paper-button{transform:none!important;transition:none}}

.study-action .paper-button:disabled,.study-action .paper-button:disabled:hover{transform:none;filter:drop-shadow(0 .15cqw .16cqw var(--color-paper-shadow));transition:none;cursor:default}

/* Match the narrower paper label in the adjoining-study reference. */
.study-action .paper-button{width:26.5cqw}

/* The next room keeps the shared typography and disabled paper components. */
.case-copy{top:66.5%;left:10%;width:80%}
.case-action{top:79.5%}
.case-action .paper-button{width:31cqw;padding-inline:1.4cqw;white-space:nowrap}

/* Digital Seance completes the passage into the full-colour equipment room. */
.about-copy{top:74%;left:10%;width:80%}
.about-action{top:85.5%;left:15%;width:70%}
.about-action .paper-button{width:64cqw;padding-inline:1.4cqw;white-space:nowrap}

.about-scene>.room-plate{object-fit:cover;object-position:center top}

/* Legacy album subpages share the window and frame, with no selected top tab. */
.legacy-copy{top:10%;left:4%;width:92%}
.legacy-copy h2{font-size:8cqw}
.legacy-breadcrumb,.legacy-return{position:absolute;z-index:2;top:3%;font:var(--type-note-left);font-size:1.5cqw;line-height:1.5;color:var(--color-moonlight)}
.legacy-breadcrumb{left:5%;letter-spacing:.08em;text-transform:uppercase}
.legacy-return{right:5%}
.legacy-scene{--album-opening-left:16.5%;--album-opening-top:33.675%;--album-opening-width:67%;--album-opening-right:83.5%;--album-opening-height:37.6875cqw}
.legacy-player{position:absolute;z-index:0;left:var(--album-opening-left);top:var(--album-opening-top);width:var(--album-opening-width);aspect-ratio:16/9;overflow:hidden;background:var(--color-archive-black)}
/* itch adds a one-pixel inset and a 20px control strip outside the game. */
.legacy-player iframe{position:absolute;left:-1px;top:-1px;width:calc(100% + 2px);height:calc(100% + 21px);border:0;display:block}
.legacy-fallback{position:absolute;z-index:2;top:calc(var(--album-opening-top) + var(--album-opening-height) + 5.5cqw);left:var(--album-opening-left);width:var(--album-opening-width);margin:0;text-align:center;font:var(--type-note-left);font-size:1.5cqw;line-height:1.4;color:var(--color-button-ink)}

/* Photographic mounts sit above the live canvas; clicks pass through them. */
/* Crop the four small photographic mounts from the approved reference. */
.photo-corner{position:absolute;z-index:3;width:3.9cqw;height:3.9cqw;pointer-events:none;background-image:url('../assets/images/nereids-mount-reference.jpg');background-size:2300% 3450%;background-repeat:no-repeat}
.photo-corner.top-left{left:-1cqw;top:-1cqw;background-position:12.0739% 39.8321%;clip-path:polygon(0 0,100% 0,0 100%)}
.photo-corner.top-right{right:-1cqw;top:-1cqw;background-position:87.5% 39.8321%;clip-path:polygon(0 0,100% 0,100% 100%)}
.photo-corner.bottom-left{left:-1cqw;bottom:-1cqw;background-position:11.9318% 67.444%;clip-path:polygon(0 0,100% 100%,0 100%)}
.photo-corner.bottom-right{right:-1cqw;bottom:-1cqw;background-position:87.5% 67.5373%;clip-path:polygon(100% 0,100% 100%,0 100%)}
.legacy-mounts::before{content:"";position:absolute;inset:-1.2cqw;border:.08cqw solid var(--color-legacy-divider);pointer-events:none}

/* The paper is a foreground mask; the app and its clipped toolbar sit behind it. */
.legacy-scene>.room-plate{z-index:1;pointer-events:none;clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,var(--album-opening-left) var(--album-opening-top),var(--album-opening-right) var(--album-opening-top),var(--album-opening-right) calc(var(--album-opening-top) + var(--album-opening-height)),var(--album-opening-left) calc(var(--album-opening-top) + var(--album-opening-height)),var(--album-opening-left) var(--album-opening-top))}
.legacy-mounts{position:absolute;z-index:3;pointer-events:none;left:var(--album-opening-left);top:var(--album-opening-top);width:var(--album-opening-width);aspect-ratio:16/9}
.legacy-fullscreen{font:inherit;color:inherit;border:0;border-bottom:1px solid currentColor;padding:0;background:none;cursor:pointer;margin-right:3cqw}

.legacy-player iframe:fullscreen{width:100vw;height:100vh;left:0;top:0}

.legacy-return{color:var(--color-warm-parchment)}
.legacy-copy h2::after{content:"";display:block;width:2.4cqw;border-bottom:.1cqw solid var(--color-faded-ash);margin:1.6cqw auto 0}

/* Shared masthead home link: a gentle fade, keeping the floating letters. */
.brand{opacity:1;transition:opacity .35s ease}
.brand:hover,.brand:focus-visible{opacity:.6}
@media(prefers-reduced-motion:reduce){.brand{transition:none}}
