/* The live language controls are the only surface outside the folding sheet. */
.language-sheet-layer{position:fixed;inset:0;z-index:300;overflow:hidden;pointer-events:none;contain:strict;isolation:isolate}
.language-sheet-strip{position:absolute;left:0;top:0;overflow:hidden;transform-origin:0 0;will-change:transform,opacity;pointer-events:none;contain:paint}
html[data-language-curtain="page"] body>.game-texture,
html[data-language-curtain="page"] body>.toc-veil,
html[data-language-curtain="page"] body>#site-shell>:is(main,footer,.reading-toc,#flight-progress,#mobile-menu),
html[data-language-curtain="page"] body>#site-shell>:is(main,footer,.reading-toc,#flight-progress,#mobile-menu) *{visibility:hidden!important;pointer-events:none!important}
/* Visibility transitions must not outlive the atomic source handover. */
html[data-language-curtain="page"] body>.toc-veil,
html[data-language-curtain="page"] body>#site-shell>:is(.reading-toc,#mobile-menu){transition:none!important}
html[data-language-curtain="page"] body>#site-shell>.topbar{z-index:1000!important;pointer-events:none!important}
html[data-language-curtain="page"] body>#site-shell>.topbar>:not(.languages):not(.language-header-sheet){opacity:0!important;pointer-events:none!important}
html[data-language-curtain="page"] body>#site-shell>.topbar>.languages{pointer-events:auto!important;background:var(--paper);box-shadow:0 0 10px 7px var(--paper)}
/* The cover keeps its live painting; its prompt, quote and footer form the fan. */
.language-sheet-layer--cover{z-index:1}
html[data-language-curtain="cover"] body>#entry>.cover-composition .cover-prompt,
html[data-language-curtain="cover"] body>#entry>.cover-composition>.cover-quote{opacity:0!important;pointer-events:none!important}
html[data-language-curtain="cover"] body>#entry>.cover-composition .cover-art{z-index:2}
@media(prefers-reduced-motion:reduce){.language-sheet-layer{display:none}}
/* The inactive inner header must not shine through the transparent cover. */
html[data-language-curtain="cover"] body>#site-shell{visibility:hidden!important;pointer-events:none!important}
html[data-language-curtain="cover"] body>#entry>.cover-signature{opacity:0!important;pointer-events:none!important}

/* Keep the live header veil above body snapshots throughout the fold. Only
   navigation/search chrome is composited above it; language controls stay live. */
.language-header-sheet{z-index:1;background:transparent;opacity:inherit}
html[data-language-curtain="page"] body>#site-shell>.topbar>.languages{position:relative;z-index:2}
