/* User-paced scenes. Text shares the game's Noto family and warm paper palette. */
.result-explanation summary{gap:12px;justify-content:space-between;border-radius:4px}
.result-explanation summary::after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 5px 4px 0;flex:none}
.result-explanation[open] summary::after{transform:rotate(225deg);margin-top:7px}
.result-explanation summary:hover{background:#132f2908}
select:focus-visible,summary:focus-visible{outline:3px solid #00795d;outline-offset:3px}
#game[data-screen=result] .result-sheet{overflow:auto}
#game[data-screen=result] .result-document{flex:1 1 auto;min-height:96px;overflow:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}
.result-sheet .gallery-result-buttons .primary{background:var(--paper);color:var(--orange);border:1px solid currentColor;box-shadow:none}
#game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .narrative{position:absolute;inset:0;display:block;pointer-events:none}
#game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions{left:auto;right:3%;top:auto;bottom:3%;z-index:6;justify-content:flex-end;gap:8px}
#game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions button{min-width:100px;min-height:44px;font-size:14px;padding:9px 16px;background:var(--paper);color:var(--ink)}
#game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions .primary{background:var(--orange);color:var(--paper)}
#game[data-screen=callout] .callout-cry{left:41%;top:32%;font:900 clamp(34px,6cqw,66px)/1.2 var(--body);padding:16px 22px 19px;opacity:1;max-width:55%;color:var(--paper);background:var(--orange);border:3px solid var(--paper);border-radius:8px;letter-spacing:-.035em;transform:rotate(-3deg);text-shadow:0 2px 0 #6d2419;box-shadow:5px 6px 0 #253a32}
#game[data-screen=callout] .callout-cry{clip-path:none}
#game[data-screen=shout] .shout-speech{left:38%;right:3%;top:25%;height:57%;padding:48px 70px;max-height:none;min-height:0;background:none;border:0;border-radius:0;box-shadow:none;isolation:isolate;display:flex}
.rounded-balloon-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 2px #132f2928);pointer-events:none}
.rounded-balloon-art path{fill:var(--paper);stroke:#29352f;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.balloon-down{display:none}
#game[data-screen=shout] .shout-speech .ink-copy{--ink-base:clamp(18px,2.05cqw,24px);font-size:var(--fit-font,var(--ink-base));line-height:1.42;letter-spacing:-.025em;text-align:left;overflow:hidden;padding:0;scrollbar-gutter:auto}
#game[data-screen=shout] .ink-page-status{bottom:18px}
#game[data-screen=intro][data-intro="4"] .panic-speech .ink-copy{--ink-base:clamp(24px,3cqw,34px);inset:32% 24%;line-height:1.2}
.panic-speech .ink-copy p:last-child{font-size:1em}
#game[data-screen=playing] .choices[inert] .word-task{display:block;color:var(--orange);font-weight:700}
#game[data-screen=playing] .choices[inert] .word-bank{opacity:.62}
@media(max-width:600px){
 #game[data-screen=shout] .shout-speech{left:5%;right:5%;top:4%;height:47%;padding:32px 34px 48px;transform-origin:50% 65%}
 .balloon-side{display:none}.balloon-down{display:block}
 #game[data-screen=shout] .shout-speech .ink-copy{--ink-base:20px}
 #game[data-screen=shout] .ink-page-status{bottom:31px}
 #game[data-screen=intro][data-intro="4"] .panic-speech .ink-copy{--ink-base:24px;inset:32% 24%}
 #game[data-screen=callout] .callout-cry{left:12%;top:20%;max-width:80%;font-size:clamp(32px,10cqw,48px);padding:14px 21px}
 #game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions{left:4%;right:4%;bottom:3%}
 #game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions button{min-width:0;flex:1;padding:8px 10px}
}
@media(max-width:600px) and (orientation:landscape){
 #game[data-screen=shout] .shout-speech{left:41%;right:3%;top:5%;height:87%;padding:24px 30px}
 #game[data-screen=shout] .shout-speech .ink-copy{--ink-base:18px}
 #game[data-screen=shout] .ink-page-status{bottom:10px}
 .balloon-side{display:block}.balloon-down{display:none}
 #game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions{left:1%;right:auto;bottom:2%;width:37%;gap:5px}
 #game:is([data-screen=assembly],[data-screen=callout],[data-screen=shout],[data-screen=boss-think]) .actions button{font-size:12px;padding:5px;min-height:44px}
 #game[data-screen=callout] .callout-cry{left:41%;top:26%;font-size:34px;max-width:54%}
 #game[data-screen=intro][data-intro="4"] .panic-speech .ink-copy{--ink-base:20px}
}
@media(max-height:520px) and (min-width:601px){
 #game[data-screen=shout] .shout-speech{left:38%;right:3%;top:7%;height:71%;padding:27px 46px}
 #game[data-screen=shout] .ink-page-status{bottom:11px}
}
@media(orientation:landscape) and (max-height:520px){
 #game[data-screen=title] .console{left:58%;right:0;top:0;bottom:0;height:auto;border-top:0;border-left:2px solid var(--ink)}
 #game[data-screen=title] .prompt-line{top:19%;left:5%;right:5%}
 #game[data-screen=title] h1{font-size:20px;line-height:1.4}
 #game[data-screen=title] #subprompt{top:44%;left:4%;right:4%;font-size:12px}
 #game[data-screen=title] .actions{left:7%;right:7%;bottom:10%}
 #game[data-screen=title] .actions button{min-height:44px;min-width:0;padding:8px;font-size:18px}
 #game[data-screen=title] .title-logo{left:2%;top:3%;width:31%;height:38%}
 #game[data-screen=briefing]{grid-template-rows:28px minmax(0,1fr)}
 #game[data-screen=briefing] .scene-head{font-size:16px}
 #game[data-screen=briefing] .mission-logo{left:3%;top:2%;width:33%;height:38%}
 #game[data-screen=briefing] .stage-copy{left:43%;right:3%;top:2%;bottom:auto}
 #game[data-screen=briefing] .speech{font-size:16px;line-height:1.4;padding:12px 14px 29px}
 #game[data-screen=briefing] .actions{left:37%;right:auto;bottom:4%;width:24%}
 #game[data-screen=briefing] .actions button{min-height:44px;font-size:15px;padding:8px}
 #game[data-screen=playing]{grid-template-rows:minmax(0,1fr)}
 #game[data-screen=playing] .scene-head{display:none}
 #game[data-screen=playing] .word-composer .word-studio{padding-right:32px;padding-bottom:10px}
 #game[data-screen=result] .result-sheet{height:auto;max-height:96%;overflow:auto}
 #game[data-screen=result] .result-document{flex:0 0 auto;overflow:visible}
}
