/* Scene-first Play mode: overlays never participate in canvas layout. */
body.play-mode{overflow:hidden;overscroll-behavior:none;touch-action:auto}
body.play-mode main{position:fixed;inset:0;max-width:none!important;width:100%;height:var(--play-height,100dvh);padding:0!important;margin:0!important;overflow:hidden;background:#061018}
body.play-mode main>:not(.cockpit):not(.play-toolbar):not(.play-settings){display:none!important}
body.play-mode .cockpit,body.play-mode .flight-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;aspect-ratio:auto}
body.play-mode canvas{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:fill;touch-action:none}
.play-toolbar{position:absolute;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:30}
.play-toolbar button{width:44px;height:44px;padding:0;font-size:22px;background:#102630a8;border:1px solid #a2c9ca88;border-radius:12px}
body.play-mode .hud{position:absolute;z-index:10;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:62px;display:flex;gap:14px;padding:5px 8px;width:max-content;max-width:calc(100% - 80px);background:#071820a8;border-radius:8px;pointer-events:none}
body.play-mode .hud>div{display:flex;flex-direction:column;gap:1px}body.play-mode .hud>div:nth-child(3),body.play-mode .hud>div:nth-child(4){display:none}
body.play-mode .hud>div:nth-child(5){order:-1}
body.play-mode .hud label{font-size:8px;letter-spacing:0}body.play-mode .hud strong{font-size:13px;margin:0;white-space:nowrap}
body.play-mode .mission-guidance{position:absolute;z-index:10;top:calc(max(8px,env(safe-area-inset-top)) + 44px);left:max(8px,env(safe-area-inset-left));right:62px;width:max-content;max-width:calc(100% - 80px);padding:4px 8px;border:0;border-radius:6px;background:#07182099;pointer-events:none}
body.play-mode .mission-guidance strong{font-size:11px}body.play-mode .mission-guidance span{display:none}
body.play-mode .controls{position:absolute;z-index:12;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:58px 58px 1fr 58px 58px;gap:8px;padding:0;margin:0;background:transparent;pointer-events:none}
body.play-mode .controls button{width:58px;height:58px;min-width:0;min-height:0;padding:4px;font-size:13px;border-radius:14px;background:#15364280;border:1px solid #b0d9dd88;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}
body.play-mode .controls button:nth-child(2){grid-column:4}body.play-mode .controls button:nth-child(3){grid-column:5}body.play-mode .controls button:nth-child(4){grid-column:2;grid-row:1}
body.play-mode .controls button.held{background:#5396a5bb;border-color:#e5ffff}
.play-settings{position:absolute;inset:max(60px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));max-width:600px;margin:auto;z-index:25;background:#091b26f2;border:1px solid #476773;border-radius:12px;padding:16px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.play-settings[hidden]{display:none!important}.play-settings h2{margin:0 0 10px}.play-menu-actions{display:flex;gap:8px;margin-bottom:12px}.play-menu-actions button{min-height:44px}
body.play-mode .play-settings .bottom{display:flex;flex-direction:column;padding:0;border:0;align-items:stretch}body.play-mode .play-settings .buttons{display:flex;flex-wrap:wrap}body.play-mode .play-settings #pause{display:none}
body.play-mode #outcome{position:absolute!important;inset:80px 12px 78px!important;transform:none!important;width:auto!important;max-height:none!important;overflow:auto;padding:10px!important;touch-action:pan-y;z-index:15}
body.play-mode #outcome h2{font-size:24px!important;margin:0 0 5px}body.play-mode #outcome p{font-size:12px!important;margin:5px 0}body.play-mode #outcome .bob-debrief{margin:8px 0}body.play-mode #outcome .bob-portrait{display:none}body.play-mode #outcome-score{gap:5px}body.play-mode #outcome .debrief-exits{position:sticky;bottom:-10px;padding:5px}
@media(max-width:360px){body.play-mode .controls{grid-template-columns:50px 50px 1fr 50px 50px;gap:6px}body.play-mode .controls button{width:50px;height:54px}}