#paper-score[hidden],#paper-guide-control[hidden],#paper-zoom-control[hidden],#paper-help[hidden]{display:none!important}
#paper-score{flex:1 1 0;min-height:0;width:100%;overflow:auto;background:#fff;color:#171717;overscroll-behavior:contain;border-radius:8px}
#paper-score-pages{width:100%;min-width:0}
#paper-score-pages>svg{display:block;width:100%;height:auto;margin:0;background:white;box-shadow:none}
#paper-score .page-note-highlight{fill:transparent;stroke:none}
#paper-score .paper-current .page-note-highlight{fill:#74c8ec;fill-opacity:.2}
#paper-score .page-note:focus-visible .page-note-highlight{stroke:#1676c0;stroke-width:2}
#paper-score .page-note{cursor:pointer}
#paper-score .paper-cursor{filter:none}
.reading-mode{display:flex;align-items:center;gap:5px;font:600 13px system-ui}
#reading-mode{border:1px solid #b4a7cf;border-radius:8px;padding:7px;background:#fff;color:#34245a;max-width:160px}
#paper-guide-control{font:13px system-ui;color:#34245a}
#paper-help{max-width:1050px;margin:8px auto;padding:10px 15px;background:#fffdf6;color:#352842;border-radius:10px;font:14px/1.5 system-ui}
.paper-mode #score-source{visibility:hidden}
@media(max-width:900px){#paper-help{margin:8px 10px;font-size:12px}.reading-mode,#paper-guide-control{font-size:11px}#reading-mode{font-size:11px;padding:5px}}

@media(max-width:900px) and (orientation:portrait){.stage,.stage.is-playing{padding-bottom:155px!important}}

#paper-zoom-control{font:12px system-ui;color:#34245a}#paper-zoom{font:inherit;padding:6px;border:1px solid #b4a7cf;border-radius:7px;background:#fff;color:#34245a}
@media(max-width:900px) and (orientation:portrait){.stage,.stage.is-playing{padding-bottom:170px!important}}

@media(min-width:650px) and (max-width:900px) and (orientation:portrait){.stage.paper-reading{grid-template-rows:100px 350px 30px minmax(240px,30svh) auto!important}}

/* One complete fixed system fits in the original game panel. */
#paper-score{display:flex;align-items:stretch}
#paper-score-pages{height:100%;min-height:0}
#paper-score-pages>svg{height:100%;max-height:100%;overflow:hidden}
#paper-row-controls[hidden]{display:none!important}
#paper-row-controls{display:inline-flex;align-items:center;gap:5px;font:12px system-ui;white-space:nowrap}
#paper-row-controls button{min-height:30px;padding:3px 8px;border-radius:8px;font:inherit}
@media(max-width:600px){#paper-row-controls{font-size:10px;gap:2px}#paper-row-controls button{padding:3px 5px}}

/* Always fit both ends of the fixed system inside the score panel. */
#paper-score-pages{width:100%!important}

@media(min-width:901px){.stage.paper-reading .score-panel{height:42%}}

/* The language selector owns a separate header row on portrait tablets. */
.stage .train-language-control{z-index:10}
@media(min-width:650px) and (max-width:900px) and (orientation:portrait){
 .stage:not(.paper-reading),.stage.adult-ambiance:not(.paper-reading){grid-template-rows:100px 210px 30px minmax(240px,40svh) auto}
 .stage header,.stage.adult-ambiance header{height:100px}
 .stage .sign{max-width:60%;width:60%}
 .stage .train-language-control{top:44px;right:8px;left:auto}
}
@media(min-width:901px){
 .stage .brand{max-width:25%;font-size:clamp(18px,2.2vw,30px);z-index:1}
 .stage .train-language-control{left:auto;right:3%;max-width:25%}
 .stage .back{left:3%;right:auto}
}

#paper-score{flex-direction:column}
#paper-score-pages{flex:1 1 0;height:auto;width:100%!important;margin-inline:auto}
#paper-score-preview[hidden]{display:none!important}
#paper-score-preview{flex:0 0 60px;height:60px;min-height:0;display:flex;flex-direction:column;border-top:1px solid #d9d2e4;pointer-events:none;background:#fff}
.paper-preview-caption{flex:0 0 15px;font:11px/15px system-ui;color:#766d80;padding-left:8px}
#paper-score-preview>svg{flex:1 1 0;min-height:0;display:block;width:92%;height:45px;margin-inline:auto;overflow:hidden}
.stage.paper-reading .heard-popup strong{font-size:26px}

/* The return link replaces the redundant logo that obstructed the selectors. */
.stage .brand{display:none!important}

@media(max-width:600px){#paper-score-preview{flex-basis:52px;height:52px}#paper-score-preview>svg{height:37px}}

/* Paper mode uses the title area for notation while keeping essential controls. */
.stage.paper-reading .sign{display:none!important}
.stage.paper-reading header{height:52px}
.stage.paper-reading .back{top:6px;left:8px;right:auto;font-size:12px}
.stage.paper-reading .train-language-control{top:4px;right:8px;left:auto;transform:none;min-height:44px;padding:2px 8px}
.stage.paper-reading #paper-score-preview{flex-basis:100px;height:100px}
.stage.paper-reading #paper-score-preview>svg{height:85px}
@media(min-width:901px){
 .stage.paper-reading .score-panel{top:64px;height:calc(60% - 64px)}
 .stage.paper-reading .pulse-panel{top:8px;left:50%;transform:translateX(-50%);width:max-content;display:flex;align-items:center;gap:8px;padding:2px 10px;font-size:12px}
 .stage.paper-reading .beats{margin-top:0;gap:5px}
 .stage.paper-reading .beats b{width:24px;height:24px;font-size:16px;flex-basis:24px}
}
@media(min-width:650px) and (max-width:900px) and (orientation:portrait){
 .stage.paper-reading{grid-template-rows:52px 398px 30px minmax(240px,30svh) auto!important}
}
@media(max-width:600px){
 .stage.paper-reading .back{font-size:10px}
 .stage.paper-reading #paper-score-preview{flex-basis:52px;height:52px}
 .stage.paper-reading #paper-score-preview>svg{height:37px}
}

.train-home-return{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:5px 10px;border:1px solid #b4a7cf;border-radius:10px;background:#f4efff;color:#34245a;text-decoration:none;font:600 11px system-ui;white-space:nowrap}



/* Adult panoramic rules must not squeeze the main staff below the preview. */
@media(min-width:901px){
 .stage.paper-reading.adult-ambiance .score-panel,
 .stage.paper-reading.adult-ambiance.panoramic .score-panel{top:64px;height:calc(60% - 64px)}
 .stage.paper-reading.adult-ambiance .pulse-panel,
 .stage.paper-reading.adult-ambiance .pulse-panel:has(.beats b:nth-child(5)){top:8px;left:50%;max-width:none;transform:translateX(-50%);width:max-content;display:flex;align-items:center;gap:8px;padding:2px 10px;font-size:12px}
}

/* Two complete systems share the same geometry and musical scale. */
#paper-score-pages{flex:1 1 0;min-height:0;height:auto;padding-top:15px;box-sizing:border-box}
.stage.paper-reading #paper-score-preview{flex:1 1 0;min-height:0;height:auto}
.stage.paper-reading #paper-score-preview>svg{flex:1 1 0;min-height:0;height:calc(100% - 15px);width:100%;margin-inline:0}
.paper-preview-caption{height:15px;flex:0 0 15px}
@media(min-width:901px){
 .stage.paper-reading .score-panel,
 .stage.paper-reading.adult-ambiance .score-panel,
 .stage.paper-reading.adult-ambiance.panoramic .score-panel{top:64px;height:420px}
}
@media(min-width:650px) and (max-width:900px) and (orientation:portrait){
 .stage.paper-reading{grid-template-rows:52px 420px 30px minmax(240px,30svh) auto!important}
}
#paper-score-preview{border-top:0;box-shadow:inset 0 1px #d9d2e4}
.stage.paper-reading #paper-score-preview{position:relative;padding-top:15px;box-sizing:border-box}
.paper-preview-caption{position:absolute;top:0;left:0;right:0}
.stage.paper-reading #paper-score-preview>svg{height:100%}
