/* The current conversation owns the viewport; documents remain expandable. */
:root{--reading:Arial,Helvetica,system-ui,sans-serif}
[hidden]{display:none!important}
header{height:52px;padding-inline:max(12px,calc((100vw - 1160px)/2));border-radius:0 0 12px 12px}
.brand{gap:10px;letter-spacing:0}.brand-logo{height:48px;width:56px;margin:0}.brand .brand-destination{font:600 12px var(--reading);letter-spacing:1.2px;border-left:1px solid #7593a6;padding:6px 0 6px 12px}.header-right{gap:7px}.header-right .icon-btn{width:32px;height:32px;font:600 15px var(--reading)}#bank{font:600 11px var(--reading)}
body.in-game{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.in-game header{flex:0 0 52px}
.in-game main{width:100%;max-width:1000px;min-height:0;flex:1;display:flex;flex-direction:column;padding:8px 10px 10px;overflow:hidden}
.in-game .gamebar{width:100%;max-width:none;flex:0 0 46px;margin:0 0 6px;gap:10px}
.in-game .gamebar .back{width:34px;height:34px;flex-shrink:0;font:600 21px var(--reading)}
.in-game .gamebar .eyebrow{font:600 9px/1.3 var(--reading);letter-spacing:.5px;color:#56758a}
.in-game .gamebar b{font:800 24px/1 var(--display);margin-top:3px}
.in-game .strikes{font-size:22px;display:flex;gap:4px}
.in-game .shift-grid{width:100%;max-width:none;min-height:0;flex:1;display:flex;gap:0}
.gameplay-column{flex:1;min-height:0;display:flex;flex-direction:column}
.in-game .booth:not(.action-booth){flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(50px,1fr) 100px auto auto;grid-template-areas:'scene' 'desk' 'tools' 'conversation';border-radius:14px;box-shadow:0 3px 0 #b7c9d2}
.in-game .booth-scene{grid-area:scene;height:auto;min-height:0;position:relative;background-position:center 48%}
.in-game .booth-scene:after{height:9px;border-top-width:2px}
.in-game .traveller-portrait{height:min(100%,280px);width:auto;aspect-ratio:1;left:68%;bottom:0}
.in-game .scene-bubble{left:10px;right:auto;width:56%;max-width:400px;top:10px;padding:8px 10px;border-radius:13px;box-shadow:0 2px 0 #91b8c7}
.bubble-speaker{display:block;font:700 9px/1 var(--reading);color:#608394;letter-spacing:.7px;margin-bottom:5px}
.in-game .bubble-en{font:600 14px/1.22 var(--reading);padding-right:27px}
.in-game .bubble-audio{width:27px;height:27px;right:-4px;top:-2px;font:600 9px var(--reading)}
.scene-bubble.speaker-passenger:after{left:auto;right:9px;border-width:11px 0 0 14px;border-color:#fffdf9 transparent transparent}
.scene-bubble.speaker-police{border-color:#a9d8de;background:#f1fcfa}
.scene-bubble.speaker-police .bubble-speaker{color:#148c88}
.scene-bubble.speaker-police:after{left:14px;right:auto;border-width:12px 13px 0 0;border-color:#f1fcfa transparent transparent}
.in-game .case-name{left:10px;bottom:14px;max-width:42%;font:600 12px/1.1 var(--reading);padding:5px 7px;letter-spacing:0}
.in-game .case-name small{font:500 7px/1.3 var(--reading);letter-spacing:.3px;margin-top:3px}
.in-game .case-tag,.in-game .gate-sign{display:none}
.in-game .companions .companion{height:75%;width:auto;aspect-ratio:1;bottom:4px;left:0}
.in-game .companions .companion:nth-child(2){left:auto;right:0;height:65%}
.in-game .companions .companion.child{height:54%}
.in-game .companions .companion:nth-child(3){right:22%;height:48%}
.in-game .detailed-desk{grid-area:desk;min-height:0;height:100%;grid-template-columns:1.25fr 1fr;gap:16px;padding:7px 13px 9px;align-items:stretch}
.in-game .passport-book{min-height:0;height:100%;border-width:3px;border-bottom-width:4px;border-radius:7px;padding:4px 5px 14px;overflow:hidden;display:grid;grid-template-columns:35% 65%}
.in-game .passport-left{padding:0 5px 0 0}
.in-game .passport-left>b{font:700 8px/1 var(--reading);margin:0 0 4px;letter-spacing:.3px}
.in-game .passport-photo{width:100%;max-width:55px;height:48px;aspect-ratio:auto;border-radius:3px}
.in-game .passport-left>small{display:none}
.in-game .passport-right{padding:0 0 0 7px}
.in-game .doc-lines,.in-game .passport-globe{display:none}
.in-game .passport-right>small{font:500 5px/1 var(--reading);margin:2px 0;letter-spacing:0}
.in-game .passport-right strong{font:600 8px/1.1 var(--reading);letter-spacing:0}
.in-game .passport-mrz{font:4px/1.1 monospace;bottom:4px;left:7px;letter-spacing:0}
.in-game .live-monitor{min-height:0;height:100%;border-width:4px;border-bottom-width:7px;border-radius:6px;padding:3px 5px;transform:none}
.in-game .live-banner{font:700 7px/1 var(--reading);padding:3px 0;margin:0 0 3px;letter-spacing:.1px}
.in-game .monitor-data{padding-top:0}
.in-game .monitor-data small{font:500 5px/1 var(--reading);letter-spacing:0;margin-top:3px}
.in-game .monitor-data strong{font:600 8px/1.1 var(--reading);letter-spacing:0}
.in-game .monitor-state{font:600 6px/1.05 var(--reading);margin:3px 0 0;padding:3px 0 0;border-top:1px solid #a8c7d3}
.in-game .live-monitor:after{height:5px;bottom:-12px}
.in-game .monitor-led{width:3px;height:3px;bottom:-5px}
.document-pending .passport-book{filter:saturate(.55)}
.in-game .desk-tools{grid-area:tools;padding:2px 12px 7px;gap:7px;min-height:30px}
.in-game .desk-tools button{font:600 9px var(--reading);letter-spacing:.1px;min-height:27px;padding:4px 8px;box-shadow:0 2px 0 #102d47}
.in-game .desk-tools button:disabled{opacity:.5;cursor:default}
.in-game .desk-tools>span{font:500 6px/1.2 var(--reading);max-width:50%;letter-spacing:.2px}
.in-game .conversation{grid-area:conversation;padding:9px 12px 10px;min-width:0}
.in-game .speaker-line{height:auto;margin:0 0 5px}
.in-game .speaker-line .eyebrow{display:inline-block;font:700 8px/1 var(--reading);letter-spacing:.6px;background:#d9f1eb;color:#137e7c;padding:4px 8px;border-radius:12px}
.in-game .objective{margin:0 0 7px}
.in-game .objective b{font:800 26px/1 var(--display);margin:0 0 4px}
.in-game .objective small{font:400 11px/1.2 var(--reading);color:#5d788d}
.in-game .answers{grid-template-columns:1fr;gap:6px;margin-top:0}
.in-game .answer-row{grid-template-columns:36px minmax(0,1fr);min-height:44px;border-radius:8px;box-shadow:0 2px 0 #e0e3e3}
.in-game .answer{font:500 13px/1.2 var(--reading);letter-spacing:0;padding:7px 28px 7px 9px;min-height:42px;overflow-wrap:anywhere}
.in-game .listen-option{min-width:34px;min-height:42px;font-size:9px}
.in-game .listen-option:before{width:27px;height:27px}
.in-game .answer-radio{width:17px;height:17px;right:8px}
.in-game .say-button{font:800 23px/1 var(--display);letter-spacing:.6px;min-height:42px;margin-top:8px;border-radius:8px;box-shadow:0 3px 0 #00747e}
.in-game .feedback{font:500 10px/1.25 var(--reading);margin:0;min-height:0}
.in-game .feedback:not(:empty){margin-top:7px}
.translation-help{font:400 11px/1.25 var(--reading);color:#4e7084;background:#eef7f2;border-radius:6px;padding:6px 8px;margin-top:7px}
.translation-help span{display:inline-block;margin-top:4px}
.in-game .game-footer{font:500 10px/1 var(--reading);display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.in-game .game-footer .text-btn{font:500 11px/1 var(--reading);padding:4px 0;letter-spacing:0;color:#285675}
.in-game .chief{flex:0 0 auto;padding:5px 10px;margin-top:7px;gap:8px;line-height:1.2;min-height:32px}
.in-game .chief b{font:700 7px/1 var(--reading);letter-spacing:.6px;margin:0 0 3px}
.in-game .chief #chiefText{font:400 9px/1.1 var(--reading)}
.in-game .chief>span{font-size:17px}
.in-game.decision-stage main{overflow:auto}
.in-game .action-booth{width:100%}
.in-game .action-booth .detailed-desk{height:120px}
.in-game .action-booth .answers{grid-template-columns:1fr 1fr}
@media(min-width:760px),(orientation:landscape) and (min-width:600px){
 .in-game .booth:not(.action-booth){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(80px,1fr) 130px 36px;grid-template-areas:'scene conversation' 'desk conversation' 'tools conversation'}
 .in-game .conversation{display:flex;flex-direction:column;justify-content:center;padding:22px 20px;border-left:1px solid #d4dedc}
 .in-game .answers{gap:9px}.in-game .answer{font-size:15px;min-height:52px;padding-block:10px}.in-game .say-button{margin-top:14px;min-height:48px;font-size:28px}
 .in-game .objective b{font-size:32px}.in-game .objective small{font-size:12px}.in-game .speaker-line .eyebrow{font-size:9px}
 .in-game .game-footer{margin-top:15px}.in-game .bubble-en{font-size:16px}.in-game .scene-bubble{width:78%}
 .in-game .passport-photo{height:70px;max-width:70px}.in-game .passport-right strong,.in-game .monitor-data strong{font-size:10px}.in-game .passport-right>small,.in-game .monitor-data small{font-size:6px;margin-top:5px}
 .in-game .live-banner{font-size:9px}.in-game .monitor-state{font-size:8px;margin-top:6px;padding-top:5px}.in-game .passport-left>b{font-size:10px}
 .in-game .traveller-portrait{height:min(100%,380px)}
}
@media(max-width:400px){
 .brand .brand-destination{font-size:10px;letter-spacing:.5px;padding-left:8px}.brand{gap:6px}.header-right{gap:5px}#bank{display:none}
 .in-game .answer{font-size:12px}.in-game .objective b{font-size:24px}.in-game .bubble-en{font-size:12px}.in-game .case-name{font-size:10px}.in-game .case-name small{font-size:6px}
}
@media(max-height:740px) and (orientation:portrait){
 .in-game header{flex-basis:46px;height:46px}.in-game .brand-logo{height:42px;width:47px}
 .in-game main{padding:5px 7px 7px}.in-game .gamebar{flex-basis:40px;margin-bottom:4px}.in-game .gamebar b{font-size:21px}.in-game .gamebar .eyebrow{font-size:8px}
 .in-game .chief{display:none}.in-game .booth:not(.action-booth){grid-template-rows:minmax(40px,1fr) 82px auto auto}
 .in-game .detailed-desk{padding:5px 10px 7px;gap:10px}.in-game .passport-photo{height:38px;max-width:45px}.in-game .passport-right strong{font-size:7px}.in-game .passport-right>small{margin-top:1px}.in-game .live-banner{font-size:6px}.in-game .monitor-data strong{font-size:7px}.in-game .monitor-data small{margin-top:2px}.in-game .monitor-state{font-size:5px;margin-top:2px;padding-top:2px}
 .in-game .conversation{padding:7px 10px 8px}.in-game .speaker-line{margin-bottom:4px}.in-game .objective{margin-bottom:6px}.in-game .objective b{font-size:23px}.in-game .objective small{font-size:10px}
 .in-game .answers{gap:5px}.in-game .answer{font-size:12px;min-height:40px;padding-block:6px}.in-game .answer-row{min-height:40px}.in-game .listen-option{min-height:38px}
 .in-game .say-button{min-height:39px;margin-top:6px}.in-game .game-footer{margin-top:8px}.in-game .game-footer .text-btn{font-size:10px}.in-game .bubble-en{font-size:11px}.in-game .scene-bubble{top:6px;padding:6px 8px}.bubble-speaker{font-size:7px;margin-bottom:3px}.in-game .case-name{bottom:10px;font-size:9px;padding:3px 5px}
}
@media(max-height:500px) and (orientation:landscape){
 .in-game header{flex-basis:40px;height:40px}.in-game .brand-logo{height:36px}.in-game main{padding:4px 7px 5px}.in-game .gamebar{flex-basis:34px;margin-bottom:3px}.in-game .gamebar b{font-size:20px}.in-game .chief{display:none}
 .in-game .booth:not(.action-booth){grid-template-rows:minmax(45px,1fr) 85px 30px}
 .in-game .conversation{padding:8px 12px}.in-game .objective b{font-size:22px}.in-game .objective small{font-size:10px}.in-game .answers{gap:4px}.in-game .answer{font-size:11px;min-height:34px;padding-block:5px}.in-game .answer-row{min-height:34px}.in-game .listen-option{min-height:32px}.in-game .say-button{min-height:34px;margin-top:5px;font-size:22px}.in-game .game-footer{margin-top:6px}.in-game .game-footer .text-btn{font-size:10px}.in-game .speaker-line{margin-bottom:4px}.in-game .speaker-line .eyebrow{font-size:7px}.in-game .objective{margin-bottom:6px}
 .in-game .passport-photo{height:38px}.in-game .passport-right strong,.in-game .monitor-data strong{font-size:7px}.in-game .passport-right>small,.in-game .monitor-data small{font-size:5px;margin-top:2px}.in-game .monitor-state{font-size:5px;margin-top:2px;padding-top:2px}.in-game .live-banner{font-size:6px}.in-game .bubble-en{font-size:11px}
}
header{width:100%;margin:0}
.in-game main{margin:0 auto}
.in-game .shift-grid{align-items:stretch}
.header-right{gap:5px}.header-right .icon-btn{width:29px;height:29px;flex-shrink:0}
@media(max-width:600px){#bank{display:none}.brand .brand-destination{font-size:10px;letter-spacing:.6px}.header-right{gap:4px}.header-right .icon-btn{width:28px;height:28px}}
@media(max-width:380px){.brand .brand-destination{display:none}}
:fullscreen{background:var(--paper)}
@media(max-height:620px) and (orientation:portrait){
 .in-game .booth:not(.action-booth){grid-template-rows:minmax(36px,1fr) 62px auto auto}
 .in-game .detailed-desk{padding:4px 9px 6px}.in-game .passport-photo{height:28px}.in-game .passport-left>b{font-size:6px;margin-bottom:2px}.in-game .passport-right strong{font-size:6px}.in-game .passport-right>small{font-size:4px;margin:1px 0}.in-game .passport-mrz{display:none}.in-game .passport-book{padding-bottom:3px}.in-game .monitor-data small{font-size:4px;margin-top:1px}.in-game .monitor-data strong{font-size:6px}.in-game .monitor-state{font-size:4px;padding-top:1px}.in-game .live-banner{font-size:5px;padding:2px 0;margin-bottom:1px}
 .in-game .conversation{padding:6px 8px}.in-game .speaker-line .eyebrow{font-size:7px;padding:3px 7px}.in-game .objective b{font-size:20px}.in-game .objective small{font-size:9px}.in-game .answer{font-size:11px;line-height:1.12;min-height:36px;padding:5px 24px 5px 7px}.in-game .answer-row{min-height:36px;grid-template-columns:31px 1fr}.in-game .listen-option{min-height:34px;min-width:29px}.in-game .listen-option:before{height:23px;width:23px}.in-game .answers{gap:4px}.in-game .say-button{min-height:36px;margin-top:5px}.in-game .game-footer{margin-top:7px}.in-game .desk-tools{min-height:26px;padding-bottom:5px}.in-game .desk-tools button{min-height:23px;font-size:8px}.in-game .desk-tools>span{font-size:5px}
}
/* Help floats above the desk so revealing it never pushes answers off-screen. */
.translation-help{position:absolute;left:12px;right:12px;bottom:calc(100% + 7px);max-height:min(180px,30dvh);overflow:auto;z-index:8;margin:0;border:1px solid #9bc8c4;box-shadow:0 4px 16px #173b5a33;font-size:12px;padding:10px 12px}
#translationToggle[aria-expanded=true]{color:#008f88;font-weight:700}
