#chapterDialog{width:min(720px,94vw);max-height:90dvh;overflow:auto;background:#142127;color:#d9dfd7;border:1px solid #7d877c;padding:26px}#chapterBody{margin:18px 0;line-height:1.7}#chapterBody h3{margin-top:18px}#chapterActions{display:flex;gap:10px;flex-wrap:wrap}.creation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.creation-grid select{width:100%}.carry-choices{display:grid;gap:10px}.carry-choices input[type=number]{width:80px;margin-left:8px}#bagUsable{display:flex;gap:8px;flex-wrap:wrap}.battle-log{max-height:45vh;overflow:auto}.runtime-action{position:absolute;top:0;bottom:0;border:2px solid #b6bdad;border-radius:0;padding:0;background:#263b41;box-shadow:0 0 0 1px #101a1f;overflow:hidden;min-height:0;color:#dce1d3}.runtime-action strong{font-size:clamp(10px,1cqw,17px);display:block;white-space:nowrap;text-align:left;padding:2px 5px}.runtime-action>div{height:45%;position:relative}.runtime-action span{position:absolute;top:0;bottom:0;font-size:clamp(10px,1cqw,17px);text-align:left}.runtime-action .hit{background:#67503c}.runtime-action .recovery{background:repeating-linear-gradient(135deg,#4c5b5a 0 2px,#32464b 2px 6px)}.runtime-action:disabled{opacity:1}.player-track{background-image:linear-gradient(90deg,transparent calc(100% - 1px),#46575d 0);background-repeat:repeat}.action-card[aria-disabled=true]{opacity:.55}#visceralPrompt{position:fixed;z-index:30;inset:35% auto auto 50%;transform:translateX(-50%);background:#2b2923;border:1px solid #c6b387;padding:24px;box-shadow:0 0 80px #000}#visceralPrompt>*{margin:6px}.battle-detail>p{white-space:pre-line;max-height:55px;overflow:auto}.battle-visual>img{width:62%;height:96%;object-fit:contain}.battle-timing{overflow:hidden}.timelines{min-width:100%}.timeline-scroll{scrollbar-width:thin;max-height:85%;overflow:auto}.battle-cards .timing-heading>span{font-size:10px}.battle-board{min-height:580px}.dream-room{border:1px solid #657371;background:radial-gradient(ellipse at 50% 70%,#425255,#17262d 65%,#0f1920);min-height:530px;position:relative;overflow:hidden}.dream-room svg{display:block;width:100%;height:430px}.dream-map{position:absolute;right:24px;top:24px;width:180px;border:1px solid #708785;background:#101d24dc;padding:12px}.dream-map svg{height:70px}.dream-map p{font-size:12px;color:#b5c4c0}.dream-room h2{position:absolute;left:24px;top:24px}.dream-controls{display:flex;gap:12px;align-items:center;padding:18px;flex-wrap:wrap;background:#101a20}.dream-controls p{flex:1}.dream-hunter{transition:transform .04s linear}#dreamView[hidden]{display:none}@media(max-width:650px){.creation-grid{grid-template-columns:1fr}.dream-map{width:130px;right:10px}.dream-room svg{height:370px}.dream-controls{font-size:12px}}
#battleBoard{min-height:500px;height:calc(100dvh - 184px);aspect-ratio:auto}
.battle-observation{position:absolute;left:40.6%;top:13%;width:57.9%;height:12%;padding:0 1%;overflow:hidden;color:#becbc6}
.battle-observation .entry-cue{position:static;display:flex;align-items:baseline;gap:12px;width:auto;padding:4px 10px;margin-bottom:7px;border-left:2px solid #a8b29c;background:#1c2b30}
.battle-observation .entry-cue[hidden]{display:none}
.battle-observation .entry-cue small{font-size:11px;display:inline;color:#9faeaa}
.battle-observation .entry-cue strong{font-size:clamp(13px,1.3cqw,19px);display:inline}
.battle-observation h2{font-size:clamp(10px,1cqw,15px);color:#91a7a6;margin:0 0 4px}
.battle-observation>p{font-size:clamp(12px,1.2cqw,18px);line-height:1.5;margin:0}
.battle-timing{top:26%;height:27%;padding:7px 10px}
.battle-timing .timeline-scroll{margin-top:3px;max-height:none;overflow-x:auto;overflow-y:hidden}
.battle-timing .enemy-track{height:22px}
.battle-timing .ruler{height:18px}
.battle-timing .player-track{height:38px}
.battle-timing .axis-label{font-size:8px;line-height:1.1;margin-top:1px}
.battle-timing .timelines{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:22px 20px 50px;gap:4px 6px;align-items:stretch}
.battle-timing .axis-label{display:flex;align-items:center;margin:0;font-size:10px;line-height:1.2;white-space:nowrap}
.battle-timing .enemy-track,.battle-timing .ruler,.battle-timing .player-track{height:100%;min-height:0}
.player-track .runtime-action{display:grid;grid-template-rows:20px minmax(0,1fr);align-content:stretch;align-items:stretch;justify-items:stretch;line-height:1;text-align:left}
.player-track .runtime-action strong{margin:0;padding:2px 2px;line-height:16px;font-size:clamp(10px,1.05cqw,11px);min-height:0;min-width:0;overflow:hidden;text-overflow:ellipsis}
.player-track .runtime-action>div{position:relative;min-height:0;height:auto;line-height:1}
.player-track .runtime-action span{display:flex;align-items:center;justify-content:flex-start;padding-left:2px;font-size:11px;line-height:1}
.battle-timing .timeline-note{display:none}
.battle-cards{top:55%;width:47.2%;height:32%}
.battle-confirm{left:89%;top:55%;width:9.5%;height:32%}
.battle-cards .card-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(var(--card-rows,3),minmax(0,1fr));height:calc(100% - 27px);gap:6px;overflow:visible;padding:6px 0 0}
.battle-cards .action-card{flex:none;width:100%;height:100%;min-height:0;min-width:0;padding:5px 6px;gap:2px;justify-content:center;overflow:hidden}
.battle-cards .action-card small{font-size:clamp(9px,.85cqw,12px);line-height:1.15;white-space:nowrap}
.battle-cards .action-card strong{font-size:clamp(11px,1.05cqw,15px);line-height:1.2;overflow-wrap:anywhere;white-space:normal}
.battle-cards .action-card>span{font-size:clamp(8px,.78cqw,11px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.battle-detail{top:89%;height:9%;padding-top:.5%;gap:2px 10px}
.battle-detail>div p{max-width:100%;line-height:1.3}
.battle-detail>p{max-height:28px;font-size:clamp(9px,.85cqw,13px);line-height:1.2}
@media(min-width:601px) and (max-height:820px){.battle-cards .action-card{padding:4px 5px;gap:2px}.battle-cards .action-card>span{display:none}.battle-observation .entry-cue{padding:2px 8px;margin-bottom:4px}.battle-observation>p{font-size:12px;line-height:1.2}.battle-observation h2{margin-bottom:2px}}
@media(max-width:600px){
 #battleView{overflow:visible}.battle-toolbar{min-width:0}
 #battleBoard{display:flex;flex-direction:column;gap:16px;padding:14px;min-width:0;min-height:0;height:auto;aspect-ratio:auto;width:100%;overflow:visible}
 #battleBoard>.battle-hunter,#battleBoard>.battle-enemy-header,#battleBoard>.battle-observation,#battleBoard>.battle-timing,#battleBoard>.battle-equipment,#battleBoard>.battle-cards,#battleBoard>.battle-detail,#battleBoard>.battle-confirm{position:static;width:100%;height:auto;margin:0}
 #battleBoard>.battle-visual{position:relative;left:auto;top:auto;width:100%;height:290px;flex:none}
 #battleBoard>.battle-hunter>img{width:62px}
 #battleBoard>.battle-enemy-header{padding-bottom:10px}
 #battleBoard>.battle-timing{min-height:220px;padding:12px}
 #battleBoard>.battle-observation{padding:0;overflow:visible}
 .battle-cards .card-strip{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(66px,auto);height:auto;overflow:visible}
 .battle-cards .action-card{min-height:66px}
 #battleBoard>.battle-confirm{min-height:60px}
 #battleBoard>.battle-equipment{min-height:74px}
 #battleBoard>.battle-detail{padding-top:12px;min-height:90px}
 .battle-detail>p{max-height:none}
}

/* HUD-GAIN01: carried echoes and committed acquisition receipts. */
.carried-echoes{font-size:clamp(9px,.9cqw,14px);color:#c0b7a2;margin:3px 0 0;line-height:1.3}
.hud-room .gain-feedback{margin:6px 0 0;font-size:clamp(11px,1.1cqw,17px);line-height:1.4;color:#e1d6b5;text-shadow:0 2px 4px #000;overflow-wrap:anywhere}
.hud-room .gain-feedback[hidden]{display:none}
.hud-room .gain-feedback span{display:block;color:inherit;font-size:inherit}

/* EXPLORE-STYLE01: match nearby interactions to the three exploration symbols. */
.stage [data-exploration-group="item"]{color:#e2bc70;border-color:#ad8d50}
.stage [data-exploration-group="dialogue"]{color:#88c9e5;border-color:#5e98b0}
.stage [data-exploration-group="lamp"]{color:#9ed7ac;border-color:#6da87b}
.stage .nearby-actions [data-exploration-group]:not([data-exploration-group=""]){border-left-width:3px}

/* PLAN-FIT01: fit every complete point into the same visible axis width. */
.battle-timing{min-height:168px}
.battle-timing .timeline-scroll{width:100%;max-width:100%;max-height:none;overflow:visible}
.battle-timing .timelines{width:100%;min-width:0;max-width:100%;grid-template-columns:50px minmax(0,1fr);grid-template-rows:22px 20px 64px;column-gap:5px}
.battle-timing .enemy-track,.battle-timing .ruler,.battle-timing .player-track{min-width:0}
.player-track .runtime-action{grid-template-rows:minmax(0,1fr) 20px;min-width:0}
.player-track .runtime-action strong{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;font-size:clamp(9px,.9cqw,11px);line-height:12px;padding:1px}
.player-track .runtime-action span{justify-content:center;padding-left:0;font-size:10px}
@media(min-width:601px){.battle-cards,.battle-confirm{top:max(55%,calc(26% + 176px));height:calc(87% - max(55%,calc(26% + 176px)))}}

/* BATTLE-VIEW01: editor layouts must never override the active view's hidden state. */
#exploreView[hidden],#battleView[hidden],#dreamView[hidden]{display:none!important}

.battle-action-record{position:absolute;left:10px;bottom:8px;z-index:3;min-height:34px;padding:5px 12px;font-size:12px;background:#17272be8;border:1px solid #6d858a;border-radius:0}
.action-log-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.action-log-head select{max-width:160px}#actionLogLines{max-height:56dvh;overflow:auto;overscroll-behavior:contain;line-height:1.65;font-size:14px}#actionLogLines article{border-bottom:1px solid #405052;padding:7px 0}#actionLogLines h4{margin:5px 0;color:#dadaca}#actionLogLines p{margin:3px 0;overflow-wrap:anywhere}#actionLogLines .enemy-log{color:#b8aaa0}#actionLogLines .log-results{margin:4px 0 8px;padding-left:24px}#actionLogLines .log-event{color:#c6c8b8}#actionLogLines .half-label{color:#94acaf}#actionLogLines .log-title{color:#dddac5}
