/* Art carries the gesture; the reading surfaces remain steady. */
:root{--verse-space:0px}
body{min-height:100svh}
#film-host{inset:0}#film-host #stage{width:min(100vw,calc(100svh * .75))}
#retry-art{position:fixed;z-index:100;left:50%;bottom:35px;transform:translateX(-50%);padding:12px 20px;background:#fbf5e8;color:#302879}
.chapter-heading h1,.music .chapter-heading h1,.works .chapter-heading h1,.dictionary .chapter-heading h1,.dialogue .chapter-heading h1{transform:none}
.history .history-portrait,.history-plate,.history-river .timeline section:nth-child(even) .history-plate{transform:none}
.history-river .timeline section:nth-child(2) .history-plate{width:100%}
.history-plate img{border-radius:0}
.history-river .timeline section::before{display:none}
.history-river .stanza-copy:before{content:'';display:block;width:48px;height:1px;background:#b69866;margin-bottom:25px}
.gold-station{fill:#fbf5e8;stroke:#ac8b55;stroke-width:.8}.gold-station-detail{stroke:#c8ab75;stroke-width:.75;fill:none}
.history-river:after{content:'';display:block;width:70px;height:1px;background:#c3a472;margin:75px auto 0}
/* Five illustrated spreads: each image depicts the paragraph beside it. */
body[data-mode=page][data-chapter=features]{background:#fbf5e8}
.features .chapter-heading{display:flex;align-items:flex-end;justify-content:space-between;min-height:0;padding:20px 0 48px;gap:40px}
.features .chapter-heading h1{margin:0;transform:none;font-size:clamp(70px,8vw,122px)}
.features .chapter-heading h1 span{display:inline}.features .chapter-heading h1 span+span{margin:0}
.features .chapter-heading .lead{position:static;margin:0 0 8px;font-size:16px;max-width:18em}
.features .scene-ribbon{height:100%;opacity:.13}
.feature-index{display:flex;gap:clamp(18px,4vw,64px);margin:0 0 55px;padding:14px 0;border-top:1px solid #bca6816b;border-bottom:1px solid #bca6816b}
.feature-index button{font:20px/1.6 "SimSun",serif;padding:5px 0;letter-spacing:.12em}
.feature-spreads{display:flex;flex-direction:column;gap:110px}
.feature-spread{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(30px,5vw,85px);align-items:center;scroll-margin-top:40px}
.feature-plate img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.feature-copy{min-width:0}.feature-copy h2{font-size:clamp(36px,4vw,57px);letter-spacing:.1em;margin:0 0 28px}
.feature-copy .text{max-width:34em}.feature-copy p{font-size:16px;line-height:2.1;color:#5b5265}
.feature-spread:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
.feature-spread:nth-child(even) .feature-plate{grid-column:2;grid-row:1}.feature-spread:nth-child(even) .feature-copy{grid-column:1;grid-row:1}
.feature-spread[data-topic=roles]{display:block}.feature-spread[data-topic=roles] .feature-plate{width:100%;max-width:1000px;margin:auto}.feature-spread[data-topic=roles] .feature-copy{display:grid;grid-template-columns:.35fr 1fr;gap:50px;margin:45px auto 0;max-width:1000px}.feature-spread[data-topic=roles] .text{max-width:none;columns:2;column-gap:45px}.feature-spread[data-topic=roles] p{break-inside:avoid}
/* A shallow revolving picture stage; explanatory copy is always open. */
.music .chapter-heading{min-height:510px;padding-top:25px}
.instrument-reel{position:absolute;top:0;right:0;width:57%;height:440px;overflow:hidden;isolation:isolate;border-radius:48% 52% 47% 53%;background:#faf1df;touch-action:pan-y}
.music .instrument-reel .instrument-illustration{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;transform:none;background:#faf1df}
.music .instrument-reel .instrument-illustration img{width:100%;height:100%;object-fit:contain;transform:none}
.reel-controls{position:absolute;right:4%;bottom:22px;width:49%;display:flex;justify-content:space-between;align-items:center;font:17px/1.5 "SimSun",serif;letter-spacing:.12em}
.reel-controls button{font:30px/1 serif;padding:8px 16px;min-width:50px}
.music .string-lines{bottom:-140px;opacity:.5}
.instrument-nav{margin-top:0;border:0}.instrument-nav button{transform:translateY(calc((var(--station) - 2.5)*(var(--station) - 2.5)*5px - 18px));border-radius:50%;font-size:22px}
#instrument-panel{padding-top:16px}.instrument-copy{width:auto;max-width:960px;margin:0 auto;padding:28px 0;columns:2;column-gap:55px}
.instrument-copy h2{column-span:all;font-size:43px;margin-bottom:30px}.instrument-copy>p{break-inside:avoid;max-width:none;font-size:16px;line-height:2.1}
.works .play-card,.works .play-card:hover,.works .play-card:focus-visible{transform:none}.works .play-card:hover img{filter:brightness(1.04)}
.works .play-card figure{overflow:hidden}.works .play-card img{transition:transform .7s}.works .play-card:hover img{transform:scale(1.025)}
/* Dictionary: typography and the fifty cells follow one unbroken baseline grid. */
body[data-mode=page][data-chapter=dictionary]{background:#f6eedf}
.dictionary .chapter-heading{min-height:0;padding:20px 0 60px;display:block}
.dictionary .chapter-heading h1{width:auto;font-size:clamp(60px,7.4vw,108px);letter-spacing:.04em}
.dictionary .chapter-heading h1 span{display:inline}.dictionary .chapter-heading h1 span+span{margin:0}
.dictionary .chapter-heading .lead{margin:28px 0 0;font-size:16px;max-width:none}
.dictionary .type-stamp{display:none}.dictionary .scene-ribbon{opacity:.07}
.dictionary-desk{margin:0;padding:0;background:none;border-radius:0}
.dictionary-search{transform:none;max-width:none;margin:0 0 20px;background:none;padding:8px 0}
.dictionary-search input{font-size:26px}.search-message{font-size:14px;margin-bottom:38px}
.dictionary-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:60px;align-items:start}
.character-grid{transform:none;padding:0;gap:9px;grid-template-columns:repeat(10,minmax(0,1fr))}
.character-grid>*:nth-child(n){transform:none;box-shadow:none;border:1px solid #cdbb9e;background:#fffcf5;min-height:0}
.dictionary-detail{padding:0 0 0 38px;border-left:1px solid #cdbb9e}.dictionary-detail .empty-character{transform:none;display:block;font-size:92px;color:#b5a17d}.dictionary-detail h2{font-size:30px}.dictionary-detail p{font-size:15px}
/* Interview title, film, caption and text share the same two outer edges. */
.dialogue .chapter-body{max-width:1160px;margin:auto}
.dialogue .chapter-heading{display:block;min-height:0;padding:20px 0 52px}
.dialogue .chapter-heading h1{width:auto;font-size:clamp(53px,7vw,102px);letter-spacing:.02em;line-height:1.3}
.dialogue .chapter-heading h1 span{display:inline}.dialogue .chapter-heading h1 span+span{margin:0}
.dialogue .chapter-heading .lead{position:static;max-width:none;margin:24px 0 0;font-size:16px}
.dialogue .stage-screen,.dialogue .interview-reveal[data-phase=playing]{width:100%;margin:0;box-shadow:none}
.dialogue .interview-caption{width:100%;margin:18px 0 0;padding:0}
.dialogue .text{margin:30px 0 0;max-width:48em;font-size:16px;line-height:2}
.dialogue .chapter-footer{margin-top:50px;padding-top:25px;border-top:1px solid #e4d0b830}
@media(max-width:1000px){
 .features .chapter-heading{display:block}.features .chapter-heading .lead{margin:25px 0 0;max-width:none}
 .feature-spread,.feature-spread:nth-child(even){grid-template-columns:1fr;gap:30px}.feature-spread:nth-child(even) .feature-plate,.feature-spread:nth-child(even) .feature-copy{grid-column:1;grid-row:auto}.feature-copy .text{max-width:none;columns:2;column-gap:35px}.feature-copy p{break-inside:avoid}
 .music .chapter-heading{min-height:430px}.instrument-reel{height:345px}.reel-controls{bottom:18px}
 .dictionary-layout{gap:30px}.dictionary-detail{padding-left:25px}.character-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:650px){
 .features .chapter-heading{padding-top:8px;padding-bottom:25px}.features .chapter-heading h1{font-size:clamp(47px,12vw,74px);letter-spacing:.01em}.features .chapter-heading .lead{font-size:15px}
 .feature-index{justify-content:space-between;gap:5px;margin-bottom:35px}.feature-index button{font-size:17px;letter-spacing:0}
 .feature-spreads{gap:65px}.feature-copy h2{font-size:36px;margin-bottom:22px}.feature-copy .text{columns:1}.feature-copy p{font-size:15px}
 .feature-spread[data-topic=roles] .feature-copy{display:block;margin-top:30px}.feature-spread[data-topic=roles] .text{columns:1}
 .music .chapter-heading{min-height:640px;padding-top:10px}.music .chapter-heading h1{font-size:clamp(65px,18vw,110px)}.music .chapter-heading .lead{font-size:14px;margin-left:0}
 .instrument-reel{top:285px;right:0;width:100%;height:290px}.reel-controls{bottom:3px;right:6%;width:88%;font-size:16px}
 .instrument-nav{margin-bottom:30px;gap:2px;width:100%}.instrument-nav button{font-size:16px;padding:11px 5px;transform:none}
 .music .string-lines{bottom:-110px}.instrument-copy{columns:1;margin:0;padding:20px 0}.instrument-copy h2{font-size:32px}.instrument-copy>p{font-size:15px}
 .dictionary .chapter-heading{padding:10px 0 35px}.dictionary .chapter-heading h1{font-size:clamp(47px,12vw,72px)}.dictionary .chapter-heading .lead{font-size:15px;margin-top:20px}
 .dictionary-layout{grid-template-columns:1fr;gap:35px}.dictionary-detail{border-left:0;border-top:1px solid #cdbb9e;padding:28px 0 0}.dictionary-detail .empty-character{display:none}.character-grid{gap:8px}
 .dictionary-search input{font-size:23px}.search-message{font-size:13px;margin-bottom:25px}
 .dialogue .chapter-heading{padding:10px 0 32px}.dialogue .chapter-heading h1{font-size:clamp(41px,10vw,65px)}.dialogue .chapter-heading .lead{font-size:15px;margin-top:20px}.dialogue .text{font-size:15px;margin-top:25px}
}
@media(prefers-reduced-motion:reduce){.works .play-card:hover img{transform:none}}
