/* Local typography only: love-0 / love-5. No illustration or target geometry. */
#stage .scene-entry-title[data-chapter="west"]{background:none;display:block;color:#67574F}
#stage .scene-entry-title[data-chapter="west"] h2{position:absolute;left:5%;top:10%;writing-mode:vertical-rl;text-orientation:upright;
  font:400 clamp(24px,2.14cqw,44px)/1.15 "Scene Founder Xiukai";letter-spacing:.08em;color:#67574F;max-width:none}
#stage .scene-entry-title[data-chapter="burial"]{background:none;display:block;color:#67574F}
#stage .scene-entry-title[data-chapter="burial"] h2{position:absolute;left:62%;top:5%;margin:0;padding:0;
  writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;
  font:400 min(clamp(18px,2.14cqw,44px),4cqh)/1.15 "Scene Founder Xiukai";letter-spacing:.08em;color:#67574F;max-width:none;text-shadow:none}
#stage.west-active .west-dialogue p{opacity:0;animation:none}
#stage.west-active[data-west="4"] .west-dialogue p{animation:westColumnReveal 1.4s ease both}
#stage.west-active[data-west="4"] .west-dialogue p:last-child{animation-delay:1.4s}
@keyframes westColumnReveal{from{opacity:0}to{opacity:1}}
@font-face{font-family:"Scene Founder Xiukai";src:url("assets/fonts/FZSongKeBenXiuKaiS-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:block}
#stage .two-scene-title{position:absolute;z-index:84;left:50%;top:6%;transform:translateX(-50%);margin:0;padding:0;
  writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;
  font:400 clamp(18px,2.14cqw,44px)/1.15 "Scene Founder Xiukai";letter-spacing:.08em;
  color:#67574F;background:none;border:0;box-shadow:none;text-shadow:none;pointer-events:none;opacity:0}
#stage .two-scene-title[hidden],#stage .term-animated-poem[hidden]{display:none!important}
#stage.scene-words-term .two-scene-title{font-size:clamp(24px,2.14cqw,44px)}
/* Wedding shares the Term title renderer, but uses the established dark palette. */
#stage.scene-words-wedding>.title{display:none!important}
#stage.scene-words-wedding .two-scene-title{color:#FAF5E9;font-size:clamp(24px,2.14cqw,44px)}
#stage .wedding-vows{position:absolute;inset:0;z-index:13;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s}
#stage.scene-words-wedding[data-view="sequence"][data-step="3"] .wedding-vows{opacity:1;visibility:visible}
#stage .wedding-vows p{position:absolute;top:44%;margin:0;padding:0;writing-mode:vertical-rl;text-orientation:upright;
  font:400 clamp(17px,2cqw,34px)/1.2 "Scene Fangsong",FangSong,serif;letter-spacing:.22em;
  color:#FAF5E9;background:none;border:0;box-shadow:none;text-shadow:none}
#stage .wedding-vow-baoyu{left:75%}
#stage .wedding-vow-baochai{right:75%}
@media(prefers-reduced-motion:reduce){#stage .wedding-vows{transition:none}}
#stage.scene-words-first .first-title,#stage.scene-words-term>.title,
#stage.scene-words-term>.original-verse{display:none!important}
#stage.scene-words-term[data-words-phase="settling"]>.guide,
#stage.scene-words-term[data-words-phase="title"]>.guide,
#stage.scene-words-term[data-words-phase="poem"]>.guide,
#stage.scene-words-term[data-words-phase="reading"]>.guide{display:none!important}
#stage .term-animated-poem{position:absolute;z-index:13;left:39%;top:18%;width:22%;height:35%;
  margin:0;padding:0;border:0;background:none;box-shadow:none;text-shadow:none;pointer-events:none;
  color:#67574F;font:400 clamp(12px,1.08cqw,22px)/1 "Scene Fangsong",FangSong,serif;}
#stage .term-poem-group{display:flex;flex-direction:row-reverse;justify-content:center;align-items:flex-start;gap:1.5em;width:100%;height:100%;margin:0}
#stage .term-poem-clause{flex:none;margin:0;padding:0;writing-mode:vertical-rl;text-orientation:mixed;
  font:inherit;line-height:1;letter-spacing:.04em;white-space:nowrap;word-break:keep-all;
  font-feature-settings:"vert" 1,"vrt2" 1;}
#stage .term-poem-clause>span{opacity:0}
/* Preamble copy only; the existing illustration transitions stay untouched. */
#stage .first-preamble{position:absolute;z-index:7;left:0;top:28%;width:100%;
  display:block;
  margin:0;padding:0;color:#67574f;background:none;border:0;box-shadow:none;text-shadow:none;
  font:400 min(clamp(14px,1.6cqw,30px),3.65cqh)/1.2 "Scene Fangsong",FangSong,serif;
  pointer-events:none;opacity:1}
#stage .first-preamble p{position:absolute;top:0;margin:0;padding:0;writing-mode:vertical-rl;text-orientation:upright;
  white-space:nowrap;font:inherit;letter-spacing:0;opacity:0}
#stage .first-preamble p:nth-child(1){left:78%}
#stage .first-preamble p:nth-child(2){left:74%}
#stage .first-preamble p:nth-child(3){left:24%}
#stage .first-preamble p:nth-child(4){left:20%}
#stage .first-preamble p>span{display:inline-block;inline-size:1em;block-size:1em;line-height:1;vertical-align:top}
#stage .first-preamble p>span:not(:last-child){margin-inline-end:.12em}
#stage .first-preamble[hidden]{display:none!important}
#stage.first-preamble-playing .guide,#stage.first-preamble-playing .first-pair-hit>i{visibility:hidden;pointer-events:none}
#stage.scene-words-first .first-bao-hit>i{top:44%;width:36px;height:36px}
#stage.scene-words-first .first-bao-hit>i:after{width:8px;height:8px}
#stage.scene-words-first.first-ui-busy .first-hit{visibility:hidden;pointer-events:none}
#stage.scene-words-first.first-ui-busy>.guide{visibility:hidden;pointer-events:none}
#stage.stage .first-dialogue>span.first-dialogue-gap{height:.7em;min-height:.7em;margin-bottom:.2em}
