:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#080e1b;color:#edf5ff;--ink:#080e1b;--edge:#3f5b74;--muted:#abb9cd;--cyan:#8ce9ff;--violet:#ad9cff;--pad-top:max(12px,env(safe-area-inset-top));--pad-left:max(14px,env(safe-area-inset-left));--pad-right:max(14px,env(safe-area-inset-right));--pad-bottom:max(12px,env(safe-area-inset-bottom))}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}[hidden]{display:none!important}
button,.import-label{font:inherit;font-weight:650;color:#edf5ff;background:#142236;border:1px solid var(--edge);border-radius:8px;padding:.65rem .9rem;min-height:44px;cursor:pointer;touch-action:manipulation}
button:disabled{cursor:default;opacity:.48}button:focus-visible,.import-label:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
button.primary{background:var(--cyan);color:#091727;border-color:transparent}.primary:active{background:#b4f4ff}
#menu{min-height:100vh;min-height:100dvh;position:relative;isolation:isolate;display:flex;align-items:center;padding:var(--pad-top) var(--pad-right) var(--pad-bottom) var(--pad-left);overflow:hidden}
.cover{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080e1bf5 3%,#080e1be0 28%,#080e1b72 56%,#080e1b06 100%),url('./cover.webp') center right/cover no-repeat,radial-gradient(ellipse at 82% 30%,#37225a,#101b33 42%,#080e1b 78%)}
.briefing{width:min(100%,49rem);margin-inline:auto;padding:clamp(1rem,4vw,4rem) 0}.edition{margin:0;color:var(--cyan);font-size:.74rem;letter-spacing:.28em;font-weight:750}
h1{margin:.42rem 0;font-weight:820;line-height:.87;letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(3.8rem,9vw,8.4rem);text-wrap:balance;text-shadow:0 4px 42px #080e1b}
.objective{color:#c7d6e8;margin:1rem 0 1.3rem;font-size:clamp(.96rem,2vw,1.18rem)}
.menu-actions,.save-actions{display:flex;flex-wrap:wrap;gap:.55rem}.menu-actions button{min-width:10.5rem}.best,.instructions{color:var(--muted);margin:1.1rem 0 .4rem}.best{font:.72rem/1.4 ui-monospace,monospace;letter-spacing:.12em}.best output{color:var(--cyan);font-size:.92rem}.instructions{font-size:.88rem;margin:.5rem 0 1rem}
.save-actions button,.import-label{font-size:.82rem;padding:.5rem .68rem}.import-label{position:relative;display:inline-grid;place-items:center}.import-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.save-status{color:#c8ddf0;font-size:.84rem;min-height:1.3rem;margin:.6rem 0 0}
body[data-screen=play]{overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
#play{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);padding:var(--pad-top) var(--pad-right) var(--pad-bottom) var(--pad-left);gap:9px;max-width:1170px;margin-inline:auto}
.telemetry{display:grid;grid-template-columns:minmax(80px,1fr) auto auto auto;align-items:center;gap:clamp(6px,2vw,19px);font:650 clamp(.64rem,2vw,.84rem)/1.1 ui-monospace,monospace;letter-spacing:.05em}.telemetry span{color:var(--muted)}.telemetry output{font-weight:780;font-variant-numeric:tabular-nums}.telemetry button{min-height:44px;padding:.45rem .65rem}.shield-readout{display:grid;grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:6px}.counter{display:grid;gap:4px}.shield-readout progress{width:100%;height:6px;accent-color:var(--cyan)}
.battlefield{position:relative;min-width:0;min-height:0;display:grid;align-content:center;justify-items:center;gap:clamp(14px,4dvh,38px)}
#flight{display:block;width:min(100%,960px);height:auto;aspect-ratio:5/3;object-fit:contain;background:#071120;border:1px solid #405c79;border-radius:12px;touch-action:none}
.controls{width:min(100%,900px);display:flex;justify-content:space-between;align-items:center;padding:0 max(8px,4vw);touch-action:none}.steering{display:grid;gap:6px;justify-items:center}.control-label{color:var(--muted);font:650 .68rem/1 ui-monospace,monospace;letter-spacing:.15em}
#stick{position:relative;width:100px;height:100px;display:grid;place-items:center;border:1px solid #6c92ae;border-radius:50%;background:radial-gradient(circle at center,#1c35538a 0 26%,#102139d9 27% 58%,#0a192bd9 59%);box-shadow:inset 0 0 0 8px #0b162499;touch-action:none;cursor:grab}
#stick-thumb{pointer-events:none;width:44px;height:44px;border:1px solid #8cc9e6;border-radius:50%;background:radial-gradient(circle at 34% 28%,#6595b8,#243b58 62%);box-shadow:0 3px 10px #020b16}
#fire{width:92px;height:80px;border-radius:24px;border:1px solid #d899af;background:linear-gradient(#592b50,#3a203d);box-shadow:0 3px 0 #160e21;color:#ffe6f0;font-size:1.05rem;text-transform:uppercase;letter-spacing:.13em;touch-action:none}#fire[aria-pressed=true]{background:#96496c;transform:translateY(2px)}
.patrol-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#080e1bc0;border-radius:12px}.panel{width:min(90vw,340px);display:grid;gap:8px;padding:18px;background:#121e32;color:#edf5ff;border:1px solid #516e90;border-radius:13px;box-shadow:0 16px 60px #0008}.panel h2,.panel p{margin:0}.panel p{color:var(--muted);font-size:.91rem;margin-bottom:.4rem}dialog{padding:0;border:0;background:transparent}dialog::backdrop{background:#050b17cc}
@media (max-width:560px){.title-break{display:none}#menu{align-items:end}.cover{background:linear-gradient(0deg,#080e1b 1%,#080e1bfa 34%,#080e1b90 57%,#080e1b10 100%),url('./cover.webp') 65% 30%/cover no-repeat,radial-gradient(ellipse at 75% 28%,#37225a,#080e1b 62%)}.briefing{padding:1rem 0 3vh}h1{font-size:clamp(3.2rem,13vw,6rem)}.shield-readout{grid-template-columns:minmax(20px,1fr) auto}.shield-readout span{grid-column:1/-1}}
@media (orientation:portrait) and (max-width:600px){#play{align-content:start;grid-template-rows:auto auto;gap:12px}.battlefield{align-content:start;gap:clamp(14px,4dvh,38px)}#flight{width:100%;height:min(calc(100dvh - 195px - var(--pad-top) - var(--pad-bottom)),64dvh,125vw);aspect-ratio:auto}.controls{padding-inline:max(8px,4vw)}}
@media (orientation:landscape) and (max-height:570px){#menu{align-items:center}.briefing{padding:.2rem 0;width:min(100%,54rem)}.title-break{display:none}h1{font-size:clamp(2.9rem,10vh,5rem)}.objective{margin:.65rem 0 .7rem}.best,.instructions{margin:.5rem 0}.save-status{margin:.3rem 0 0}#play{height:100vh;height:100dvh;min-height:0;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom));gap:4px}.battlefield{display:grid;align-content:stretch;grid-template-columns:74px minmax(0,1fr) 74px;grid-template-rows:minmax(0,1fr);align-items:center;gap:5px}.controls{display:contents}.steering{grid-column:1;grid-row:1}#flight{grid-column:2;grid-row:1;width:min(100%,calc(166.6667dvh - 100px));height:auto;min-height:0;max-height:100%}#stick{width:68px;height:68px}#stick-thumb{width:32px;height:32px}#fire{grid-column:3;grid-row:1;width:68px;height:67px;border-radius:19px;font-size:.84rem}}
