/* The window is the game; Classic view alone constrains it to 4:3. */
html,body{overflow:hidden;width:100%;height:100%;min-height:0}
body{position:relative;background:#000;display:block}
body>header{display:none}
#viewport{position:absolute;inset:0;display:block;min-height:0;padding:0;overflow:hidden;background:#000}
.shell,body:not(.playing) .shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;width:100%;height:100%;min-height:0;gap:0;container-type:size}
.stage{width:100%;height:100%;aspect-ratio:auto;max-width:100%;max-height:100%;margin:0;border-radius:0;box-shadow:none;container-type:size}
body[data-view="classic"] .stage{width:min(100cqw,calc(100cqh * 4 / 3));height:auto;aspect-ratio:4/3}
#menu-art{inset:auto;left:50%;top:50%;width:var(--classic-width,100%);height:var(--classic-height,100%);transform:translate(-50%,-50%)}
#startup{inset:0;width:100%;height:100%;transform:none}
.boot-ship{width:clamp(160px,22cqw,300px)}
.boot-progress{width:min(420px,38%);transition:opacity .35s ease}
.boot-stage{transition:opacity .35s ease}
#startup.finishing .boot-ship,#startup.finishing .boot-progress,#startup.finishing .boot-stage{opacity:0;transition:opacity .35s ease}
#menu-space{position:absolute;inset:0;z-index:9;width:100%;height:100%;pointer-events:none}
body.playing #menu-space{display:none}
#game-hud{width:var(--hud-width,47%);height:var(--hud-height,9.5555556%)}
body>footer{position:absolute;z-index:50;bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:8px 12px;border:0;background:linear-gradient(0deg,#040b12ed,#040b1299);min-width:0;font-size:11px}
.game-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;max-width:100%;gap:6px}
.game-actions button{padding:7px 10px;white-space:nowrap;background:#0e2130b8;border-color:#32526780}
#distressBtn:enabled{color:#ffe1a0;border-color:#c69c4baa;box-shadow:inset 0 0 10px #e8b54c18,0 0 10px #e8b54c18}
#distressBtn[data-pending=true]{color:#9bdae4;border-color:#4b899b88;opacity:.8}
.dev-select{display:block;margin:14px 0;color:#9dd9ee;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.dev-select select{display:block;width:100%;margin-top:6px;padding:9px 10px;background:#101c29;color:#e7f7ff;border:1px solid #426077;border-radius:4px;font:14px system-ui}
#connection{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:not(.playing)>footer{display:none}
body.warping>footer #connection{visibility:hidden}
body:has(#galaxy-map:not([hidden]))>footer{visibility:hidden;pointer-events:none}
@media(max-width:620px){body>footer{flex-wrap:wrap;gap:5px;padding:6px}.game-actions{width:100%;justify-content:center;gap:4px}.game-actions button{font-size:10px;padding:7px 6px}#connection{width:100%;flex-basis:100%;font-size:10px;text-align:center}#modal{padding:12px}.dialog{padding:18px}.dialog h2{font-size:22px}}
