* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  background: #2b1d33;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

#wrap {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
}

#game {
  display: block;
  width: min(100vw, calc(100dvh * 800 / 448));
  aspect-ratio: 800 / 448;
  border-radius: 6px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
}

#touch {
  display: none;
  position: absolute;
  inset: auto 0 0 0;
  padding: 16px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  justify-content: space-between;
  align-items: flex-end;
  pointer-events: none;
}

body.touch #touch { display: flex; }

#touch button {
  pointer-events: auto;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .55);
  background: rgba(43, 29, 51, .35);
  color: #fff;
  font-size: 28px;
  touch-action: none;
}

#touch button.on { background: rgba(247, 161, 181, .6); }
#touch .pad { display: flex; gap: 14px; }
#touch .jump { width: 88px; height: 88px; font-size: 34px; }
