*{box-sizing:border-box}html,body{color:#aaa;overscroll-behavior:none;background:#000;height:100%;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}main{height:100dvh}.stage{--controls-h:0px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;flex-direction:column;justify-content:center;align-items:center;height:100dvh;display:flex}.stage.is-touch{--controls-h:170px;justify-content:space-between}.screen{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.game{width:min(100vw, calc((100dvh - var(--controls-h)) * 1.6));aspect-ratio:320/200;image-rendering:pixelated;image-rendering:crisp-edges;background:#000;display:block;box-shadow:0 0 0 2px #00a,0 0 40px #5555ff40}.controls{height:var(--controls-h);width:100%;padding:12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));justify-content:space-between;align-items:center;display:flex}.controls button,.btn-pause{font:inherit;color:#fff;touch-action:none;-webkit-tap-highlight-color:transparent;background:#00a;border:2px solid #55f;font-weight:700}.controls button[data-down="1"],.btn-pause[data-down="1"]{background:#55f;border-color:#fff}.dpad{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,48px);gap:2px;display:grid}.pad{border-radius:6px;font-size:20px}.pad-up{grid-area:1/2}.pad-left{grid-area:2/1}.pad-right{grid-area:2/3}.pad-down{grid-area:3/2}.buttons{grid-template-rows:56px 56px;grid-template-columns:64px 64px;gap:10px;display:grid}.btn{border-radius:50%;font-size:13px}.btn-jet{grid-area:1/1;background:#0aa!important;border-color:#5ff!important}.btn-fire{grid-area:2/1;background:#a00!important;border-color:#f55!important}.btn-jump{border-radius:32px;grid-area:1/2/span 2;background:#0a0!important;border-color:#5f5!important}.btn[data-down="1"]{filter:brightness(1.5)}.btn-pause{opacity:.8;border-radius:6px;width:40px;height:32px;font-size:12px;position:absolute;top:8px;right:8px}@media (orientation:landscape) and (max-height:500px){.stage.is-touch{--controls-h:0px}.stage.is-touch .controls{pointer-events:none;opacity:.75;height:auto;position:fixed;inset:auto 0 0}.stage.is-touch .controls>*{pointer-events:auto}.stage.is-touch .game{width:min(100vw,160dvh)}}
