/* 800 x 600 game surface. No portal/page chrome. */
:root{color-scheme:dark;--orange:#ff633b}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#080b0c;color:#ede8dc;font:12px monospace}body{display:grid;place-items:center}#stage{position:relative;width:min(800px,100vw,calc(100dvh * 4 / 3));aspect-ratio:4/3;overflow:hidden;background:#171b1b}canvas{display:block;width:100%;height:100%;touch-action:none}button,summary{font:700 12px monospace;cursor:pointer;color:#eee3d5;border:1px solid #756452;background:#1b2224e8;padding:12px 16px}button:hover,summary:hover{background:#4a3229}button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #ffe4b2;outline-offset:2px}#overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:7%;background:linear-gradient(90deg,#080c10e8,#080c1055 65%,#080c1015)}h2{font:900 42px/.98 Impact,'Arial Narrow',sans-serif;margin:0 0 18px}h2:empty,#overlay p:empty{display:none}h2 em{color:var(--orange);font-style:normal}#overlay p{max-width:430px;line-height:1.6;color:#c4bcb0}.start-actions{display:flex;gap:12px;align-items:center;margin-bottom:24px}#start{background:var(--orange);color:#190f0a;border:0;min-width:175px;font-size:16px;padding:18px 22px}#start span{float:right;margin-left:20px}#continue{display:none;padding:18px;color:#c9dcbd}.hint{font-size:10px;line-height:1.9;color:#c4bcae}#settings{margin-top:22px}summary{font-size:10px;width:max-content;padding:9px 13px}.settings-content{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:450px;padding-top:12px}.settings-content label{display:flex;align-items:center;gap:8px;font-size:10px}.settings-content input{width:75px;accent-color:var(--orange)}.settings-content button{font-size:10px;padding:8px}#pause-game{position:absolute;z-index:2;right:12px;top:140px;width:34px;height:34px;padding:0;font-size:18px;opacity:.8}#stage:has(#overlay[style*="flex"]) #pause-game{display:none}#touch{position:absolute;z-index:2;left:8px;right:8px;bottom:48px;display:none;justify-content:space-between;pointer-events:none}#touch button{pointer-events:auto;touch-action:none;background:#141d22bb;min-width:38px;min-height:38px;padding:8px;font-size:9px}.movement{display:flex;align-self:flex-end;gap:6px}.touch-actions{max-width:275px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}#stage:fullscreen{width:min(100vw,calc(100dvh * 4 / 3));height:min(100dvh,calc(100vw * 3 / 4));margin:auto;aspect-ratio:4/3}#stage::backdrop{background:#080b0c}@media(pointer:coarse){#touch{display:flex}}@media(max-width:500px),(max-height:400px){h2{font-size:27px}#overlay{padding:5%}#start{min-width:130px;padding:12px;font-size:13px}#continue{padding:12px;font-size:10px}.hint{font-size:7px}.start-actions{margin-bottom:12px}#settings{margin-top:10px}.settings-content{gap:6px;padding-top:7px}.settings-content input{width:48px}#pause-game{top:24%;right:8px;width:28px;height:28px}#touch{bottom:35px}.touch-actions{max-width:220px}#touch button{min-width:32px;min-height:32px;padding:5px;font-size:7px}}
/* City Zero: compact game-only presentation, consistent cyan/red visual language. */
:root{--orange:#77def3}html,body{background:#050b13;color:#dcebf4}#stage{background:#0b1522}#overlay{background:linear-gradient(90deg,#06111bf5,#0b182dcc 43%,#0c192924 78%);padding:6.5%}#overlay .small{font-size:9px;color:#80ddef;letter-spacing:2px;margin-bottom:24px}h2{font-family:Arial,Helvetica,sans-serif;font-size:55px;font-weight:900;line-height:.94;letter-spacing:-2px}h2 span{display:block;font:700 16px monospace;letter-spacing:9px;color:#77def3;margin-top:15px}#overlay p{font-size:12px;color:#adc2d4;max-width:300px;margin:0 0 24px}button,summary{border-color:#3e6078;color:#cbe6f0;background:#102131e8}button:hover,summary:hover{background:#254455}#start{color:#081723;padding:16px 20px}.hint{color:#8faec3;font-size:9px}#settings{margin-top:18px}#pause-game{top:95px;border-color:#507189;background:#0a1825}#stage:has(#overlay[style*="flex"]) #touch{display:none}#touch{bottom:42px}#touch button{min-width:44px;min-height:44px;background:#102b3adb;color:#c1eaf5}button:focus-visible,summary:focus-visible,input:focus-visible{outline-color:#9ceaff}@media(max-width:500px),(max-height:400px){h2{font-size:31px;letter-spacing:-1px}h2 span{font-size:10px;letter-spacing:6px;margin-top:8px}#overlay .small{font-size:6px;letter-spacing:1px;margin-bottom:12px}#overlay p{font-size:9px;margin-bottom:12px}.hint{font-size:7px}#pause-game{top:16%}#touch button{min-width:32px;min-height:32px}#touch{bottom:30px}}

#stage:not([data-mission="tactical"]) .tactical-only{display:none}

/* Mission-one pause belongs to the compact top bar. */
#stage[data-mission="tactical"] #pause-game{top:1.4%;right:1%;width:4.2%;height:6%;min-width:24px;min-height:24px;font-size:16px}

.menu-links{position:relative;width:100%;margin-top:18px}.menu-links #settings{margin-top:0}.menu-links summary,#more-games{width:110px;height:32px;padding:9px 10px;font:700 10px/12px monospace;border:1px solid #3e6078;color:#cbe6f0;background:#102131e8;cursor:pointer;white-space:nowrap}#more-games{position:absolute;top:0;left:120px;text-align:center;text-decoration:none;display:block}#more-games:hover{background:#254455}#more-games:focus-visible{outline:2px solid #9ceaff;outline-offset:2px}
