html.show,html.show body{height:100%;color:var(--gold-cream);background:#000;margin:0;overflow:hidden}html.show.running body:not(.pointer){cursor:none}html.show{--mono-top:2.6vh;--mono-names:min(4.4vh, 5.6vw);--mono-hy:min(3.8vh, 5vw);--mono-band:calc(var(--mono-top) + 5.8vh + 1.37 * var(--mono-names) + var(--mono-hy) + 2px);--np-band:9vh;--frame-h:calc(100vh - var(--mono-band) - var(--np-band))}.stage{background:#000;position:fixed;inset:0;overflow:hidden}.scene{will-change:opacity, transform, clip-path;position:absolute;inset:0;overflow:hidden}.scene.full img,.scene.cut img{transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;max-width:none;height:auto;position:absolute;top:0;left:0}.scene.grade-warm img{filter:sepia(.28)saturate(1.15)contrast(1.02)}.scene.paper{background:var(--cream)}.scene .mount{box-sizing:content-box;border:0 solid var(--gold);outline:0 solid color-mix(in srgb, var(--gold) 45%, transparent);background:var(--cream-2);transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.scene .mount img{display:block;position:static}.scene.pair{padding:var(--mono-band) 0 var(--np-band);box-sizing:border-box;background:var(--cream);grid-auto-flow:column;place-content:center;gap:min(5vh,4vw);display:grid}.scene.pair figure,.scene.strip figure{background:var(--cream-2);margin:0;overflow:hidden}.scene.pair figure{width:min(calc(var(--frame-h) * .56), 42vw);aspect-ratio:.56;border:2px solid var(--gold);outline:1px solid color-mix(in srgb, var(--gold) 45%, transparent);outline-offset:6px;box-shadow:0 0 0 8px var(--cream)}.scene.pair figure img,.scene.strip figure img{object-fit:cover;will-change:transform;width:100%;height:100%;display:block}.scene.strip{padding:var(--mono-band) 0 var(--np-band);box-sizing:border-box;background:var(--cream-2);align-content:center;display:grid}.scene.strip .row{will-change:transform;grid-auto-flow:column;justify-content:center;gap:min(3vh,2.5vw);display:grid}.scene.strip figure{width:min(calc(var(--frame-h) * .56), 27vw);aspect-ratio:.56;border:1px solid var(--gold);isolation:isolate;border-radius:min(3vh,3vw)}.scene.trio{padding:var(--mono-band) min(3vh, 3vw) 4vh;box-sizing:border-box;background:var(--red-surface);grid-template-rows:minmax(0,1fr);grid-template-columns:2fr 6fr 2fr;align-items:center;gap:min(2.4vh,2.4vw);display:grid}.scene.trio figure{margin:0;overflow:hidden}.scene.trio .side{aspect-ratio:2/3;border:1px solid var(--gold-line);will-change:transform;background:#00000040;border-radius:min(3vh,3vw);justify-self:center;width:100%;max-height:70vh;box-shadow:0 1.2vh 3.6vh #00000059}.scene.trio .side.left{transform-origin:50% 8%;animation:9s ease-in-out infinite trio-sway-left}.scene.trio .side.right{transform-origin:50% 8%;animation:9s ease-in-out infinite trio-sway-right}.scene.trio .side img{object-fit:contain;width:100%;height:100%;display:block}.scene.trio .center{min-width:0;height:100%;display:grid}.scene.trio .main{border:2px solid var(--gold);outline:1px solid var(--gold-line);outline-offset:6px;min-height:0}.scene.trio .main img{object-fit:cover;will-change:transform;width:100%;height:100%;display:block}@keyframes trio-sway-left{0%,to{transform:rotate(-2.5deg)translateY(0)}50%{transform:rotate(2deg)translateY(-1vh)}}@keyframes trio-sway-right{0%,to{transform:rotate(2.5deg)translateY(-1vh)}50%{transform:rotate(-2deg)translateY(0)}}@media (prefers-reduced-motion:reduce){.scene.trio .side.left,.scene.trio .side.right{animation:none}}@media (orientation:portrait){.scene.trio{grid-template-columns:1fr}.scene.trio .side{display:none}.scene.pair{grid-auto-flow:row;gap:3vh}.scene.pair figure{width:auto;height:calc((var(--frame-h) - 3vh) / 2)}}.scene.text{text-align:center;background:var(--red-surface);color:var(--gold-cream);place-content:center;display:grid}.scene.text .hy{font-family:var(--font-hy);color:var(--gold);margin-bottom:3vh;font-size:min(9vh,12vw);line-height:1}.scene.text .line{white-space:pre-line;text-wrap:balance;max-width:80vw;margin:0}.scene.text .script{font-family:var(--font-script);color:var(--gold-light);font-size:min(11vh,10vw);font-weight:400;line-height:1.25}.scene.text .serif{font-family:var(--font-display);letter-spacing:.02em;font-size:min(5.2vh,5.5vw);line-height:1.5}.scene.text .rule{background:var(--gold-line);width:18vh;height:1px;margin:3vh auto}.lobby{text-align:center;background:var(--red-surface);color:var(--gold-cream);z-index:3;place-content:center;gap:2.5vh;padding:0 6vw;display:grid;position:fixed;inset:0}.lobby .hy{font-family:var(--font-hy);color:var(--gold);font-size:min(10vh,13vw);line-height:1}.lobby h1{font-family:var(--font-script);color:var(--gold-light);text-wrap:balance;margin:0;font-size:min(9vh,9.5vw);font-weight:400;line-height:1.2}.lobby p{max-width:none;font-family:var(--font-display);color:var(--gold-cream);margin:0;font-size:min(2.6vh,4.2vw)}.lobby .start{border:1px solid var(--gold);background:var(--gold);min-height:max(7vh,48px);color:var(--red-deep);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:999px;margin:2vh auto 0;padding:0 min(6vh,8vw);font-size:min(2.8vh,4.4vw);font-weight:600}.lobby .start:hover,.lobby .start:focus-visible{background:var(--gold-light);outline:2px solid var(--gold-light);outline-offset:4px}.lobby .progress{color:var(--gold-cream);opacity:.9;font-size:min(2.2vh,3.8vw)}.lobby .progress b{color:var(--gold-light);font-weight:600}.lobby .hint{opacity:.75;max-width:min(60vw,60ch);margin-inline:auto;font-size:min(1.9vh,3.2vw)}html.show.running .lobby{display:none}.monogram{top:var(--mono-top);z-index:2;border:1px solid var(--gold-line);background:color-mix(in srgb, var(--red-deep) 82%, transparent);pointer-events:none;transform-origin:50% 0;visibility:hidden;opacity:0;border-radius:2.4vh;flex-direction:column;align-items:center;gap:.1vh;padding:1.1vh 2.4vh 1.2vh;transition:opacity .8s,visibility .8s;display:flex;position:fixed;left:3vh;box-shadow:0 .6vh 2.4vh #00000040}html.show.running body:not([data-chapter="0"]) .monogram{visibility:visible;opacity:1;animation:12s ease-in-out infinite monogram-float}.monogram .names{font-family:var(--font-script);font-size:var(--mono-names);color:var(--gold-light);white-space:nowrap;text-shadow:0 .15vh .8vh #00000073;line-height:1.2}.monogram .hy{font-family:var(--font-hy);font-size:var(--mono-hy);color:var(--gold);line-height:1;animation:9s ease-in-out infinite monogram-glow}@keyframes monogram-float{0%{transform:translate(0)rotate(-2deg)}25%{transform:translate(1.4vh,.9vh)rotate(.6deg)}50%{transform:translate(.6vh,1.8vh)rotate(2deg)}75%{transform:translate(-.9vh,.7vh)rotate(.2deg)}to{transform:translate(0)rotate(-2deg)}}@keyframes monogram-glow{0%,to{opacity:.8}50%{opacity:1}}.now-playing{z-index:2;border:1px solid var(--gold-line);background:color-mix(in srgb, var(--red-deep) 82%, transparent);color:var(--gold-cream);font-family:var(--font-display);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;max-width:80vw;padding:1vh 1.8vh;font-size:min(2.1vh,3.6vw);transition:opacity .6s;position:fixed;bottom:2.6vh;right:3vh;overflow:hidden}.now-playing.on{opacity:1}.now-playing .t{color:var(--gold-light)}.bar{z-index:2;opacity:0;pointer-events:none;background:#3a1a128c;border-radius:999px;gap:1vh;padding:1vh;transition:opacity .4s;display:flex;position:fixed;bottom:2.6vh;left:50%;transform:translate(-50%)}.bar.on{opacity:1;pointer-events:auto}.bar button{border:1px solid var(--gold-line);min-width:max(5.2vh,44px);min-height:max(5.2vh,44px);color:var(--gold-cream);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.bar button svg{fill:currentColor;width:max(2.4vh,20px);height:max(2.4vh,20px);display:block}.bar button .play,.bar button .off{display:none}.bar button[aria-pressed=true] .play,.bar button[aria-pressed=true] .off{display:block}.bar button[aria-pressed=true] .pause,.bar button[aria-pressed=true] .on{display:none}.bar button[aria-pressed=true]{background:#d9b87238}.bar button:hover,.bar button:focus-visible{background:var(--gold);color:var(--red-deep);outline:none}@media (prefers-reduced-motion:reduce){.now-playing,.bar,.monogram{transition:none}html.show.running body:not([data-chapter="0"]) .monogram,.monogram .hy{animation:none}}
