/* The page is two full-screen canvases and nothing else: the interface is
   part of the 3D world, see client/ui3d/. */
* { box-sizing: border-box; }

html, body {
  margin: 0;
  /* dvh, not vh: mobile browser chrome slides away and vh does not notice. */
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #1a1a1e;
  overscroll-behavior: none;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

canvas { display: block; }
#world, #stage { position: fixed; inset: 0; width: 100%; height: 100vh; height: 100dvh; }
#stage { outline: none; }
body.aim, body.aim #stage { cursor: crosshair; }
/* Legacy: the 2D world is drawn on #stage, the 3D interface on #world over it.
   The pointer still goes to #stage. */
body.legacy #stage { image-rendering: pixelated; }
body.legacy #world { z-index: 1; pointer-events: none; }

/* The one page element left: an input nobody sees, so typing into a 3D
   field gets the phone keyboard, paste and autocorrect for free. */
.type-sink { position: fixed; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; font-size: 16px; border: 0; padding: 0; }
