body[data-scene="chapterDialogue"]{overflow:hidden}
body[data-scene="chapterDialogue"] .topbar,body[data-scene="chapterDialogue"] #scene-host{visibility:hidden}
.chapter-dialogue{position:fixed;inset:0;z-index:1500;background:#182b20;color:#fff3da;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;isolation:isolate;height:100dvh}
.chapter-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.chapter-dialogue[data-loading="true"] .chapter-background{visibility:hidden}
.chapter-dialogue::before{content:"";position:absolute;inset:0;background:linear-gradient(#12221b22,#12221b00 55%,#12221b99);z-index:-1}
.chapter-dialogue::after{content:"";position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .25s;z-index:5}
.chapter-dialogue[data-transitioning="true"]::after{opacity:1;pointer-events:auto}
.chapter-next{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
.chapter-next:disabled{opacity:1;cursor:wait}
.chapter-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#13231b77;text-align:center;padding:24px}
.chapter-card h1{font-family:serif;font-size:clamp(25px,7vw,36px);letter-spacing:.08em;line-height:1.7;margin:0 0 28px}.chapter-prompt{font-size:15px;overflow-wrap:anywhere;line-height:1.7}
.chapter-conversation{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:env(safe-area-inset-top) 0 max(16px,env(safe-area-inset-bottom));box-sizing:border-box}
.chapter-actors{position:relative;z-index:0;min-height:0;display:flex;align-items:flex-end;justify-content:center;padding:0 8px;gap:0;transform:translateY(16px)}
.chapter-actor{display:block;width:50%;max-width:300px;height:auto;max-height:100%;object-fit:contain;object-position:center bottom;filter:brightness(.68);pointer-events:none}
.chapter-actor.is-speaking{filter:brightness(1)}.chapter-right{transform:scaleX(-1)}
.chapter-textbox{position:relative;z-index:1;margin:0 12px;padding:16px 18px 12px;border:1px solid #d6bd80;border-radius:12px;background:#192b25;box-shadow:0 3px 16px #0005;min-height:166px;box-sizing:border-box}
.chapter-speaker{font-size:18px;color:#f1d797;line-height:1.5}.chapter-text{font-size:18px;line-height:1.75;margin:10px 0 14px;overflow-wrap:anywhere;white-space:pre-wrap}.chapter-hint{display:block;text-align:right;font-size:12px;color:#ded7bb}
.chapter-dialogue [hidden]{display:none!important}
.chapter-dialogue[data-event-cut="true"]{background:#101913}
.chapter-dialogue[data-event-cut="true"] .chapter-background{visibility:hidden}
.chapter-dialogue[data-event-cut="true"] .chapter-actors{transform:none;padding:0;display:block}
.chapter-event-cut{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none}
@media(max-width:350px){.chapter-textbox{margin:0 8px;padding:12px 14px}.chapter-text{font-size:17px}.chapter-actors{padding-inline:4px}}

.chapter-transition{position:fixed;inset:0;background:#000;z-index:1800}
body[data-scene="chapterClear"] .topbar,body[data-scene="chapterClear"] #scene-host{visibility:hidden}
.chapter-clear{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:24px;background:#14241e;color:#fff3da;box-sizing:border-box;font:18px/1.6 system-ui,sans-serif}
.chapter-clear-card{width:min(420px,100%);text-align:center}.chapter-clear h1{font-size:28px;color:#ead4a0}.chapter-clear button{width:100%;min-height:48px;padding:12px;border:1px solid #d6bd80;border-radius:8px;background:#465b3e;color:#fff3da;font:inherit}.chapter-clear button:disabled{opacity:.6}.chapter-clear-status{font-size:14px;min-height:3em;overflow-wrap:anywhere}
body[data-scene="chapterClear"] #save-dialog{z-index:2200}

.victory-presentation{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#10231dbb;animation:victory-appear .3s ease-out}.victory-presentation button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;border:0;border-radius:0;background:transparent;color:#fff2c8;font:inherit;touch-action:manipulation}.victory-presentation button:disabled{opacity:1;cursor:wait}.victory-presentation strong{font-size:clamp(32px,10vw,46px);letter-spacing:.12em;text-shadow:0 2px 18px #e4b64799}.victory-presentation span{font-size:16px}@keyframes victory-appear{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.victory-presentation{animation:none}}
