.window{width:min(1220px,calc((100svh - 280px)*1.36364 + 326px),100%)}
.play-layout{position:relative}.game-column{margin-right:320px;min-width:0}
.mission-panel{position:absolute;right:0;top:0;bottom:0;width:320px;overflow:auto;line-height:1.5;background:#f5f7fc;border-left:1px solid #a8b9ce;padding:18px;color:#223651;scrollbar-width:thin}
.mission-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#64748b;margin-bottom:10px}
#mission-status{font-size:12px;font-weight:bold;background:#dde9fb;border:1px solid #bfd1eb;border-radius:3px;padding:2px 7px;color:#24549a}
[data-status=active] #mission-status{background:#e0f1e5;border-color:#b4d8bc;color:#27663a}
.mission-panel h2{font-size:23px;line-height:1.25;margin:0 0 15px;letter-spacing:.5px}
.objective-main{background:white;border:1px solid #ccd8e7;border-top:3px solid #286adb;border-radius:3px;padding:13px;box-shadow:0 2px 4px #0e2f5910}
#mission-phase{font-size:11px;font-weight:bold;color:#60718c;margin-bottom:6px}
#mission-action{font-size:18px;font-weight:bold;line-height:1.55;margin:0;color:#163c77}
#mission-location{font-size:12px;color:#52637b;margin:8px 0 0;line-height:1.65}
#mission-count{margin-top:13px;border-top:1px solid #e5ebf2;padding-top:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 5px;font-size:12px}
#mission-remaining{font-size:27px;color:#1559bc;line-height:1.2;font-variant-numeric:tabular-nums}
#mission-total{margin-left:auto;color:#697a90;font-size:11px}
#mission-progress{flex-basis:100%;width:100%;height:7px;margin-top:6px;accent-color:#2a73dc}
#mission-next{font-size:12px;margin:11px 0 0;padding-top:10px;border-top:1px solid #e5ebf2;color:#566986}
.mission-fuel{display:flex;gap:9px;align-items:center;margin:12px 0;font-size:11px;color:#637085}.mission-fuel meter{flex:1;height:9px}
#mission-warning,#mission-event{font-size:12px;line-height:1.6;padding:9px 11px;margin:12px 0;border:1px solid #e5c075;border-radius:3px;background:#fff2d6;color:#7c4b09}
#mission-event[data-kind=success]{border-color:#aad0b1;background:#e7f4e9;color:#236738}
.objective-details{margin-top:15px;border-top:1px solid #d4dfed;padding-top:11px;font-size:12px}
.objective-details summary{cursor:pointer;color:#2257a1;font-weight:bold;padding:3px 0}
#mission-steps{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:10px}
#mission-steps li{display:flex;gap:9px;align-items:flex-start;color:#7b8799}
.step-number{border:1px solid #cbd5e2;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font-size:11px;background:white}
#mission-steps .current{color:#174581;font-weight:bold}#mission-steps .current .step-number{background:#2b6bd0;color:white;border-color:#2b6bd0}
#mission-steps .done{color:#347945}#mission-steps .done .step-number{background:#e7f1e8;border-color:#a8cfb1}
#mission-steps small{display:block;font-size:10px;opacity:.8;font-weight:normal}
#mission-tip{line-height:1.7;color:#5a6b82;margin:9px 0}#mission-reward{font-size:11px;color:#6d7b90}
.mission-manual{font-size:12px;width:100%;margin-top:5px;padding:7px;background:linear-gradient(white,#e7edf5);border:1px solid #b7c6da;border-radius:3px;color:#23518f}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.window:fullscreen .play-layout{flex:1;min-height:0}.window:fullscreen .game-column{height:100%;display:flex;flex-direction:column}.window:fullscreen .screen{flex:1}.window:fullscreen .mission-panel{background:#f5f7fc}
@media(max-width:900px){
 .desktop{padding:10px 6px;justify-content:flex-start}.window{width:100%;min-width:0}
 .game-column{margin-right:0}.play-layout{display:flex;flex-direction:column}
 .mission-panel{position:static;width:100%;overflow:visible;border-left:0;border-bottom:1px solid #abbdd5;padding:11px 13px}
 .mission-topline{margin-bottom:4px}.mission-panel h2{font-size:18px;margin-bottom:8px}
 .objective-main{padding:9px 11px}.objective-main #mission-action{font-size:16px;line-height:1.45}
 #mission-phase{margin-bottom:3px}#mission-location{margin-top:4px;font-size:11px;line-height:1.5}
 #mission-count{margin-top:7px;padding-top:6px}#mission-remaining{font-size:22px}#mission-progress{height:5px;margin-top:1px}
 #mission-next{margin-top:7px;padding-top:6px;font-size:11px}
 .mission-fuel{margin:6px 0}.objective-details{margin-top:7px;padding-top:3px}.objective-details summary{font-size:11px}
 #mission-warning,#mission-event{margin:7px 0;padding:6px 8px;font-size:11px}
 .window:fullscreen .play-layout{overflow:auto}.window:fullscreen .game-column{height:auto;flex:1;min-height:300px}
}
@media(max-height:560px) and (orientation:landscape){
 .desktop{padding:4px}.window{width:100%}.play-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr)}
 .game-column{grid-column:1;grid-row:1;margin:0;height:calc(100svh - 69px);display:flex;flex-direction:column}
 .mission-panel{grid-column:2;grid-row:1;position:static;width:auto;height:calc(100svh - 69px);overflow:auto;border:0;border-left:1px solid #abbdd5;padding:10px}
 .screen{aspect-ratio:auto;flex:1;min-height:0;display:flex;justify-content:center}canvas{object-fit:contain}
 .controls,.window:fullscreen .controls{position:static;display:grid;grid-template-columns:1fr 1.5fr 1fr;inset:auto;pointer-events:auto;background:#ece9d8;gap:5px;padding:5px;min-height:62px;height:62px;max-height:62px}
 .controls .paddle{width:auto;height:auto;padding:3px;gap:3px}.controls .paddle span{font-size:12px}.controls kbd{font-size:9px}
 .controls .launch-group{position:static;width:auto;gap:2px}.controls .nudge{font-size:10px;padding:0}.controls .launch{padding:3px;font-size:10px}.controls .launch span{font-size:10px}
 .window:fullscreen .game-column,.window:fullscreen .mission-panel{height:100svh;min-height:0}.window:fullscreen .screen{padding:0}
}
