/* Ten game-screen concepts only; excluded detail renderers and review shell are untouched. */
:root{--other-ink:#243b32;--other-primary:#244d42;--other-muted:#596c60;--other-paper:#fffefa;--other-border:#d6dfd6;--other-tint:#eaf0e7;--other-focus:#326f86}
.canvas-scroll{max-width:100%;overflow:auto;scrollbar-gutter:stable;scrollbar-color:var(--other-muted) var(--other-tint);scrollbar-width:auto;border:1px solid var(--other-border);border-radius:14px;background:var(--other-paper)}.game-screen{position:relative;isolation:isolate;container-type:inline-size;min-width:760px;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f2f5ef;color:var(--other-ink);font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;font-size:1.45cqw;line-height:1.65}.game-screen *{box-sizing:border-box;scrollbar-color:var(--other-muted) var(--other-tint);scrollbar-width:auto}.game-screen h2,.game-screen h3,.game-screen p{margin:0}.game-screen h2{font-size:3cqw;font-weight:650;letter-spacing:-.05em;line-height:1.35;word-break:keep-all}:where(.game-screen) button{font:inherit;cursor:pointer}.game-screen button:disabled{cursor:not-allowed;opacity:.55}.game-screen button:not(:disabled):hover{filter:brightness(.94)}.game-screen button:not(:disabled):active{transform:translateY(1px)}.game-screen :is(button,input):focus-visible{outline:3px solid var(--other-focus);outline-offset:3px}.screen-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.screen-dim{position:absolute;inset:0;z-index:-1;background:#eaf0e795;backdrop-filter:blur(7px)}.screen-top{position:absolute;inset:0 0 auto;height:12%;padding:2.2cqw 3.5cqw;display:flex;align-items:center;gap:2.4cqw;background:linear-gradient(#fffefaf2,#fffefa00);font-size:1.25cqw}.screen-brand{font-family:Georgia,'Times New Roman',serif;color:var(--other-primary);letter-spacing:-.03em}.screen-current{font-weight:600}.screen-date{margin-left:auto;font-family:'Segoe UI','Malgun Gothic',sans-serif;font-size:1.15cqw;font-variant-numeric:tabular-nums}.screen-eyebrow{font-size:1.2cqw;color:var(--other-primary);letter-spacing:.08em;font-weight:600}.screen-button{min-height:3.6cqw;padding:.8cqw 2.2cqw;border:1px solid var(--other-border);border-radius:.6cqw;background:var(--other-paper);color:var(--other-ink);font-size:1.3cqw}.primary-action{background:var(--other-primary);color:var(--other-paper);border-color:var(--other-primary)}.screen-footnote{font-size:.95cqw;color:var(--other-muted);line-height:1.8}.section-heading{margin-bottom:2cqw}.section-heading p:last-child{font-size:1.1cqw;color:var(--other-muted);margin-top:.7cqw}
.main-menu-panel{position:absolute;inset:0 auto 0 0;width:57%;padding:7.2cqw 5cqw 5cqw;background:linear-gradient(90deg,#fffefaf7 65%,#fffefa00)}.menu-kicker{font-size:1.2cqw;letter-spacing:.08em;color:var(--other-primary);margin-bottom:1.5cqw!important}.game-screen .game-title{font-family:Georgia,'Times New Roman',serif;font-size:6.1cqw;line-height:1.02;font-weight:400;letter-spacing:-.055em;color:var(--other-primary)}.main-menu-actions{display:grid;gap:.8cqw;margin-top:3.7cqw;width:65%}.menu-action{border:0;border-bottom:1px solid var(--other-border);background:transparent;text-align:left;padding:1cqw 1.5cqw;font-size:1.7cqw;min-height:3.6cqw;color:var(--other-ink)}.menu-action.primary-action{border-radius:.5cqw;border:0;color:var(--other-paper);background:var(--other-primary)}
.scene-controls{position:absolute;right:3cqw;top:2cqw;display:flex;gap:.7cqw;z-index:2}.scene-control{font-size:1.1cqw;background:#fffefae8;border:1px solid #fffefa90;border-radius:2cqw;padding:.55cqw 1.5cqw;color:var(--other-primary)}.game-screen[data-screen^=hybrid] .screen-top{width:62%;background:linear-gradient(#fffefad9,#fffefa00)}.dialogue-panel{position:absolute;left:3cqw;right:3cqw;bottom:3cqw;min-height:18%;padding:1.7cqw 2.7cqw 2cqw;border-radius:.9cqw;background:#fffefae8;border:1px solid #fffefab3;backdrop-filter:blur(12px)}.speaker-name{font-size:1.45cqw;font-weight:600;letter-spacing:-.025em;color:var(--other-primary);margin-bottom:.8cqw!important}.dialogue-line{font-size:2.1cqw;line-height:1.6;padding-right:5cqw}.dialogue-next{position:absolute;bottom:1.5cqw;right:2cqw;border:0;background:transparent;color:var(--other-primary);font-size:1.15cqw;padding:.5cqw}.choice-panel{position:absolute;top:0;bottom:0;right:0;width:43%;padding:8cqw 3.4cqw 3cqw;background:#fffefaf5;box-shadow:-2cqw 0 5cqw #fffefa55}.game-screen[data-screen=hybrid-choice] .screen-photo{width:65%;object-position:65% center}.choice-panel h2{font-size:2.4cqw;margin:.7cqw 0 1.8cqw}.choice-prompt{font-size:1.6cqw;line-height:1.9;margin-bottom:2.8cqw!important}.choice-label{font-size:1.1cqw;color:var(--other-muted);margin-bottom:1cqw!important}.choice-action{display:block;width:100%;padding:1cqw 1.4cqw;margin:.75cqw 0;border:1px solid var(--other-border);border-radius:.6cqw;background:#f4f7f1;text-align:left;font-size:1.32cqw;color:var(--other-ink);line-height:1.7}
.settings-panel{position:absolute;top:15%;left:27%;right:27%;bottom:7%;padding:2.4cqw 3.3cqw;background:#fffefaf5;border:1px solid #ffffffb3;border-radius:1.2cqw;box-shadow:0 2cqw 5cqw #243b3212}.settings-panel h2{font-size:2.9cqw;margin:.4cqw 0}.setting-row{margin:1.5cqw 0}.setting-heading{display:flex;justify-content:space-between;font-size:1.35cqw;margin-bottom:.6cqw}.setting-heading output{font-size:1.1cqw;color:var(--other-muted)}.setting-row input{display:block;width:100%;accent-color:var(--other-primary);cursor:pointer}.settings-panel .screen-button{margin-top:1.3cqw;width:100%}.settings-panel .screen-footnote{margin-top:.8cqw}
.records-panel{position:absolute;top:14%;left:8%;right:8%;bottom:6%;background:#fffefaf5;border:1px solid #fffefa;border-radius:1.2cqw;padding:2cqw 3cqw}.records-tabs{display:flex;gap:3cqw;border-bottom:1px solid var(--other-border);margin-bottom:1.8cqw}.records-tab{border:0;background:transparent;padding:.5cqw .4cqw 1cqw;font-size:1.6cqw;color:var(--other-muted);border-bottom:.2cqw solid transparent}.records-tab.is-active{color:var(--other-primary);border-bottom-color:var(--other-primary);font-weight:700}.empty-record{position:absolute;inset:32% 0 15%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5cqw}.empty-record h2{font-size:2.5cqw}.save-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65cqw}.save-slot{display:flex;align-items:center;gap:1cqw;border:1px solid var(--other-border);border-radius:.45cqw;padding:.6cqw 1cqw;min-height:4.3cqw;background:var(--other-paper);text-align:left;font-size:1.1cqw;color:var(--other-muted)}.slot-number{font:1.35cqw 'Segoe UI',sans-serif;color:var(--other-primary)}.save-slot.is-selected{background:var(--other-tint);border-color:var(--other-primary);box-shadow:inset .2cqw 0 var(--other-primary)}.game-screen[data-screen=save-slots] .section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1cqw}.game-screen[data-screen=save-slots] h2{font-size:2cqw}.records-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.1cqw;font-size:1.1cqw}
.ending-label{position:absolute;left:4cqw;top:4cqw;padding:1.6cqw 2cqw;border-left:.25cqw solid #a2b7a3;background:linear-gradient(90deg,#fffefabf,#fffefa00)}.ending-label h2{font-size:2.2cqw;margin-top:.8cqw}.ending-dialogue{position:absolute;left:3cqw;right:3cqw;bottom:3cqw;padding:1.8cqw 2.8cqw;background:#fffefae8;backdrop-filter:blur(10px);border-radius:.7cqw;border:1px solid #ffffffa3;font-size:1.9cqw;line-height:1.8}.ending-dialogue>p:last-child{max-width:91%}.ending-home{position:absolute;right:3cqw;top:2cqw;background:#fffefae0;border:1px solid #fffefa;border-radius:2cqw;padding:.65cqw 1.4cqw;color:var(--other-primary);font-size:1cqw}.message-panel{position:absolute;right:5%;top:12%;bottom:12%;width:39%;padding:3cqw;background:#fffefaf2;border:1px solid #fffefa;border-radius:1.3cqw;box-shadow:0 2cqw 5cqw #243b3212;display:flex;flex-direction:column}.message-sender{margin:2.5cqw 0 1.5cqw;padding-bottom:1.5cqw;border-bottom:1px solid var(--other-border)}.message-sender h2{font-size:2.3cqw}.message-body{font-size:2cqw;line-height:1.9;word-break:keep-all}.message-panel .screen-button{align-self:start;margin-top:auto}
.japan-map{position:absolute;left:2%;top:12%;bottom:4%;width:63%;background:#e9f0e9;border-radius:1cqw;overflow:hidden}.japan-map>img{width:100%;height:100%;object-fit:fill}.city-point{position:absolute;border:1px solid #9db69d;background:#fffefaf0;padding:.25cqw .55cqw;border-radius:.35cqw;font-size:1.12cqw;line-height:1.5;color:var(--other-ink);white-space:nowrap}.city-point.is-selected{background:var(--other-primary);color:var(--other-paper);z-index:2}.city-point.is-current{border-width:2px}.map-panel{position:absolute;left:69%;right:4%;top:19%;bottom:9%;display:flex;flex-direction:column;align-items:start}.map-panel h2{font-size:3cqw;margin:1cqw 0 2cqw}.map-destination{display:flex;flex-direction:column;border-top:1px solid var(--other-border);border-bottom:1px solid var(--other-border);padding:1.5cqw 0;width:100%;gap:.5cqw}.map-destination span{font-size:1.1cqw;color:var(--other-muted)}.map-destination strong{font-size:2.4cqw;font-weight:500}.map-summary{font-size:1.4cqw;line-height:2;margin-top:1.8cqw!important}.map-panel .screen-button{margin-top:auto;width:100%}.map-panel .screen-footnote{margin-top:1cqw}.map-credit{position:absolute;bottom:1.5%;left:4%;font-size:.7cqw;color:var(--other-muted)}
.jobs-heading{position:absolute;left:4%;top:15%;right:4%;display:grid;gap:.6cqw}.jobs-heading h2{font-size:2.6cqw}.jobs-heading>p:last-child{font-size:1.1cqw;color:var(--other-muted)}.job-cards{position:absolute;left:4%;right:4%;top:35%;bottom:15%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1cqw}.job-card{min-width:0;background:var(--other-paper);border:1px solid var(--other-border);border-radius:.7cqw;overflow:hidden;text-align:left;padding:0;color:var(--other-ink);display:flex;flex-direction:column}.job-card.is-selected{border-color:var(--other-primary);box-shadow:0 0 0 .15cqw var(--other-primary)}.job-image{width:100%;height:43%;object-fit:cover}.job-copy{padding:1cqw;display:flex;flex-direction:column;gap:.6cqw}.job-copy>strong{font-size:1.3cqw;line-height:1.5;min-height:3.7cqw;word-break:keep-all}.job-pay{font-size:1.8cqw;color:var(--other-primary);font-weight:600;font-family:'Segoe UI','Malgun Gothic',sans-serif;line-height:1.3}.job-pay small{font-size:.9cqw;font-weight:400}.job-detail{font-size:1cqw;line-height:1.7;color:var(--other-muted)}.jobs-footer{position:absolute;left:4%;right:4%;bottom:4%;display:flex;justify-content:space-between;align-items:center;font-size:1.05cqw;color:var(--other-muted)}
.screen-list{display:grid;gap:4px;margin:18px 0 24px}.screen-list button{min-height:40px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;background:transparent;text-align:left;border-radius:6px;color:var(--other-ink);font:inherit;font-size:12px;cursor:pointer}.screen-list button[aria-current=true]{background:var(--other-tint);font-weight:700}.screen-list .item-status{font-size:10px;color:var(--other-muted)}.reload{margin-top:8px;min-height:42px;width:100%;border:1px solid var(--other-border);border-radius:6px;background:var(--other-paper);color:var(--other-primary);font:inherit;font-size:13px;cursor:pointer}.screen-list button:hover,.reload:hover{background:var(--other-tint)}.screen-list button:focus-visible,.reload:focus-visible{outline:3px solid var(--other-focus);outline-offset:3px}#review-fields textarea{min-height:110px;max-height:320px;overflow-y:auto}#error,#media-error{color:#9b3030;font-size:13px}#scene-status{min-height:24px;font-size:12px;color:var(--other-muted)}#save-message{min-height:24px}.dialog-backdrop{background:#243b3266}
@media(max-width:850px){.canvas-scroll{border-radius:8px}.game-screen{min-width:760px}.screen-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{display:flex;flex-direction:column}.workspace main{order:0}.workspace aside{order:1}}@media(prefers-reduced-motion:reduce){.game-screen *,body .reload{transition:none;animation:none;scroll-behavior:auto}.game-screen button:not(:disabled):active{transform:none}}@media(forced-colors:active){:root{--other-ink:CanvasText;--other-primary:CanvasText;--other-muted:CanvasText;--other-paper:Canvas;--other-border:CanvasText;--other-tint:Canvas;--other-focus:Highlight}.game-screen *,.canvas-scroll{scrollbar-color:auto}.save-slot.is-selected,.job-card.is-selected{outline:2px solid Highlight}}

.resize-none{resize:none}.japan-map{width:50%;left:6%;height:auto;aspect-ratio:850/800;bottom:auto}.game-screen[data-screen=travel-map] .map-panel{left:63%}body[data-preview=true] .app-header,body[data-preview=true] aside,body[data-preview=true] main>.preview-heading,body[data-preview=true] main>.hint,body[data-preview=true] main>p{display:none}body[data-preview=true] .workspace{display:block;max-width:none}body[data-preview=true] main{padding:0}body[data-preview=true] .canvas-scroll{border:0;border-radius:0;width:1920px;max-width:none;overflow:visible}body[data-preview=true] .game-screen{width:1920px;height:1080px;min-width:1920px}


.city-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.city-leaders line{stroke:#91a797;stroke-width:1.4}.city-leaders circle{fill:var(--other-primary)}
.game-screen[data-screen=hybrid-choice] .screen-top{width:57%}

.japan-map>img{display:block}

/* chapter date with a cut-out outfit picture: place photo behind, the figure whole and standing on the left (user 2026-11-11) */
.screen-photo.chapter-bg{width:100%;z-index:-4;object-fit:cover;object-position:center}
.chapter-bg-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(20,14,18,.10) 0%,rgba(20,14,18,.05) 55%,rgba(20,14,18,.38) 100%);pointer-events:none}
.game-screen[data-screen^=hybrid] .screen-photo.chapter-cutout{inset:auto auto 0 4%;width:42%;height:98%;object-fit:contain!important;object-position:50% 100%!important;background:transparent;z-index:-2;filter:drop-shadow(0 .6cqw 1.4cqw rgba(0,0,0,.4))}
.chapter-bg-credit{position:absolute;right:1.2%;bottom:.8%;margin:0;z-index:-1;font-size:max(9px,.72cqw);color:#fff;background:rgba(0,0,0,.4);border-radius:999px;padding:.1em .8em;pointer-events:none}
/* last meeting, line by line (2026-11-13) */
.ending-steps{cursor:pointer}
.ending-steps.is-narration .message-body{font-style:italic;color:#6b5a62}
.ending-steps.is-me .speaker-name{color:#4f78c4}
.ending-next{position:absolute;right:3cqw;bottom:1cqw;z-index:3;padding:.6cqw 1.6cqw;border:0;border-radius:2cqw;background:linear-gradient(135deg,#ff8fb5,#e0457c);color:#fff;font:700 1.1cqw 'Malgun Gothic',sans-serif;cursor:pointer;box-shadow:0 .3cqw .9cqw rgba(224,69,124,.35)}
.ending-next[hidden],.ending-home[hidden]{display:none}
