/* The scene fills the same game window as every other illustrated dialogue. */
.dragon-ui #stage #story.recovery-foreshadow #cinematic{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important;background-color:#171717!important}
.dragon-ui #stage #story.recovery-foreshadow #dialogueCard{left:18%!important;right:4%!important;bottom:12px!important;top:auto!important;width:auto!important;height:126px!important;min-height:0!important;padding:17px 30px 20px 132px!important}
.dragon-ui #stage #story.recovery-foreshadow #dialoguePortraitDock{width:112px!important}
.dragon-ui #stage #story.recovery-foreshadow #dialogueText{font-size:18px!important;line-height:1.55!important;min-height:56px!important}
.dragon-ui #stage #story.recovery-foreshadow #dialogueCard>.speaker{top:-30px!important;min-height:28px!important}
/* A taller cabinet keeps all three faces and the clue in frame, with image edges filling the unused height. */
@container game (max-aspect-ratio:3/2){
 .dragon-ui #stage #story.recovery-foreshadow #cinematic::before,.dragon-ui #stage #story.recovery-foreshadow #cinematic::after{content:"";position:absolute;inset:0;background-image:inherit;background-repeat:no-repeat;pointer-events:none}
 .dragon-ui #stage #story.recovery-foreshadow #cinematic::before{background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.06)}
 .dragon-ui #stage #story.recovery-foreshadow #cinematic::after{background-size:contain;background-position:center top}
 .dragon-ui #stage #story.recovery-foreshadow #dialogueCard{left:4%!important}
}
.dragon-ui #stage #story.recovery-foreshadow.recovery-pat #cinematic{animation:recovery-counter-pat .23s ease-out both}
.stage.berserk-walk #touch [data-action]{visibility:hidden}
.stage.berserk-walk #touch{pointer-events:none}
.stage.berserk-walk #joystick{pointer-events:auto}
.stage #interludePanel[data-kind^="berserk"]{pointer-events:none}
.dragon-ui #stage #interludePanel[data-camera-open="true"] .interlude-dialogue{visibility:hidden!important}
.dragon-ui #stage #interludePanel[data-berserk="true"] .interlude-dialogue{position:absolute!important;inset:auto 4% 3%!important;width:auto!important;max-width:none!important;min-height:138px!important;display:block!important;padding:22px 50px 26px 164px!important;background:#030509ee!important;border:0!important;border-top:1px solid #bdb18b65!important;border-radius:0!important;box-shadow:none!important;transform:none!important;overflow:visible!important;color:#fff!important}
.dragon-ui #stage #interludePanel[data-berserk="true"] #interludeFace{position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:142px!important;height:auto!important;aspect-ratio:auto!important;display:block!important;margin:0!important;padding:0!important;overflow:hidden!important;clip-path:none!important;background-color:#0a0b0e!important;background-repeat:no-repeat!important;border:0!important;border-right:1px solid #827853!important;border-radius:0!important;box-shadow:none!important}
.dragon-ui #stage #interludePanel[data-berserk="true"] #interludeWho{position:absolute!important;left:0!important;top:-34px!important;min-height:31px!important;max-width:90%;display:flex!important;align-items:center;gap:10px;padding:5px 14px!important;border-left:4px solid #d8bd7b!important;background:linear-gradient(90deg,#0a0d13ee,#0a0d1370,transparent)!important;font:700 20px/1.2 'MF Sans',sans-serif!important;color:#fff!important;writing-mode:horizontal-tb!important;letter-spacing:0!important}
.dragon-ui #stage #interludePanel[data-berserk="true"] #interludeWho:after{content:attr(data-role);font:500 12px/1.5 'MF Sans',sans-serif;color:#e5cea0}
.dragon-ui #stage #interludePanel[data-berserk="true"] #interludeLine{font:500 20px/1.65 'MF Sans',sans-serif!important;letter-spacing:.03em!important;color:#fff!important;text-shadow:0 2px 2px #000!important;margin:0!important;max-width:none!important;min-height:64px!important;text-align:left!important;line-break:strict;word-break:normal;overflow-wrap:anywhere}
.dragon-ui #stage #interludePanel[data-berserk="true"] #interludeLabel{left:20px!important;top:16px!important;background:#080b14cc!important;border:0!important;border-left:3px solid #b99a55!important;border-radius:0!important;padding:6px 10px!important;font-size:13px!important;color:#ead496!important}
.berserk-transform-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;z-index:78;pointer-events:none}
.berserk-transform-video[hidden]{display:none!important}
/* Combat labels must stay behind the pause/loss dialog. */
#stage:has(#pausePanel:not(.hidden)) :is(#bossHud,#inventoryBar,#wheyBuffs){visibility:hidden!important}
@keyframes recovery-counter-pat{0%,100%{transform:translateX(0)}25%{transform:translateX(-1px)}65%{transform:translateX(1px)}}
@media(prefers-reduced-motion:reduce){.dragon-ui #stage #story.recovery-foreshadow.recovery-pat #cinematic{animation:none}}
@media(max-height:600px) and (orientation:landscape){
 .dragon-ui #stage #story.recovery-foreshadow #dialogueCard{bottom:8px!important;height:80px!important;padding:10px 26px 17px 96px!important}
 .dragon-ui #stage #story.recovery-foreshadow #dialoguePortraitDock{width:80px!important}
 .dragon-ui #stage #story.recovery-foreshadow #dialogueText{font-size:16px!important;min-height:48px!important;line-height:1.45!important}
 .dragon-ui #stage #story.recovery-foreshadow #dialogueCard>.speaker{top:-28px!important;min-height:26px!important}
 .dragon-ui #stage #interludePanel[data-berserk="true"] .interlude-dialogue{min-height:100px!important;padding:15px 30px 18px 129px!important}
 .dragon-ui #stage #interludePanel[data-berserk="true"] #interludeFace{width:112px!important}
 .dragon-ui #stage #interludePanel[data-berserk="true"] #interludeLine{font-size:17px!important;line-height:1.5!important;min-height:51px!important}
 .dragon-ui #stage #interludePanel[data-berserk="true"] #interludeWho{font-size:18px!important;top:-31px!important;min-height:28px!important}
}

/* Narration has no cast identity; preserve the dialogue footprint for camera grounding. */
.dragon-ui #stage #interludePanel[data-narration="true"] #interludeFace,.dragon-ui #stage #interludePanel[data-narration="true"] #interludeWho{visibility:hidden!important}
.dragon-ui #stage #interludePanel[data-narration="true"] .interlude-dialogue{padding-left:34px!important;padding-right:34px!important}
.dragon-ui #stage #interludePanel[data-narration="true"] #interludeLine{color:#dddbd3!important}
.dragon-ui #stage #interludePanel[data-kind="berserkUltimate"] .interlude-dialogue,.dragon-ui #stage #interludePanel[data-kind="berserkUltimate"] #interludeLabel{visibility:hidden!important}
