/* Every scene belongs to the cabinet. Only .stage:fullscreen expands it. */
.stage{container-name:game;container-type:size;contain:layout paint}
#resultPanel{overflow-anchor:none}
.stage #storyNext,.stage #entranceNext{display:none!important}
.dialogue-advance-hint{display:none;color:#e2c88f;font-size:12px;line-height:1.5;text-align:right;margin-top:12px;pointer-events:none}
.story:has(#storyNext:not(.hidden)) .dialogue-advance-hint{display:block}
.story:has(#storyNext:not(.hidden)){cursor:pointer}
.story button,.story input,.story select{cursor:auto}
.story button{cursor:pointer}
.story #dialogueText:focus{outline:none}
.story #dialogueText:focus-visible{outline:1px solid #e4c58c;outline-offset:6px}
.story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .dialogue-card{
 inset:auto 2% 2% auto;width:min(740px,70%);margin:0;
 grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto auto;
 min-height:0;max-height:34cqh;padding:12px 16px;
 column-gap:16px;row-gap:4px;border:1px solid #cdb47b99;border-radius:10px;
 background:#101715ed;box-shadow:0 10px 28px #0006;backdrop-filter:none;
}
.story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .finale-dialogue-portrait{width:72px;grid-row:1/4}
.story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .speaker{grid-column:2;grid-row:1}
.story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) #dialogueText{grid-column:2;grid-row:2;font-size:clamp(17px,1.7cqw,23px);max-width:none}
.story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .dialogue-advance-hint{grid-column:2;grid-row:3;margin-top:3px;align-self:end}
.story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) #retryNetwork{grid-column:2}
.portrait-dialogue #entrancePortrait{height:min(43cqh,360px);top:10%;left:8%}
.portrait-dialogue .entrance-dialogue{min-height:0;padding:16px 22px}
.portrait-dialogue #entranceText{font-size:clamp(17px,2cqw,25px);min-height:0;margin:10px 0}
.portrait-dialogue .entrance-actions{justify-content:flex-end}
.portrait-dialogue #entranceStatus{color:#e2c88f;font-size:12px;margin:0}
.special-panel.cleaner-show .special-art{max-height:100cqh}
.special-panel.cleaner-show .cleaner-title-card strong{font-size:clamp(24px,10cqw,140px)}
.vehicle-cut-title strong{font-size:clamp(28px,6cqw,88px)}
.vehicle-cut-title small{font-size:clamp(10px,1.3cqw,17px)}
@container game (max-width:700px){
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .dialogue-card{inset:auto 12px 12px;width:calc(100% - 24px);grid-template-columns:56px minmax(0,1fr);column-gap:12px;padding:10px 12px;max-height:31cqh}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .finale-dialogue-portrait{width:56px}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .speaker span{font-size:11px;width:100%}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) #dialogueText{font-size:16px;line-height:1.55}
 .portrait-dialogue #entrancePortrait{left:50%;transform:translateX(-50%);height:38cqh}
}
@container game (max-height:440px){
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .dialogue-card{grid-template-columns:52px minmax(0,1fr);column-gap:12px;padding:8px 12px;max-height:36cqh;row-gap:2px}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .finale-dialogue-portrait{width:52px}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) #dialogueText{font-size:16px;line-height:1.45}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .speaker b{font-size:18px}
 .story.finale-scene:not(.finale-quiz):not(.coach-fullscreen) .speaker span{width:auto;font-size:11px}
 .dialogue-advance-hint{font-size:11px}
 .portrait-dialogue #entrancePortrait{height:35cqh;top:6%;left:8%;transform:none}
 .portrait-dialogue .entrance-dialogue{padding:10px 18px;bottom:2%}
 .portrait-dialogue #entranceText{font-size:16px;line-height:1.45;margin:6px 0}
}
