:root { --safe-t: env(safe-area-inset-top, 0px); --safe-b: env(safe-area-inset-bottom, 0px); --safe-l: env(safe-area-inset-left, 0px); --safe-r: env(safe-area-inset-right, 0px); }
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body {
  margin: 0; padding: 0; width: 100%; height: 100%; height: 100dvh;
  background: #000; color: #fff; overflow: hidden;
  overscroll-behavior: none; touch-action: none;
  -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
}
#stage {
  position: fixed; inset: 0; width: 100vw; height: 100vh; width: 100dvw; height: 100dvh;
  padding: var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);
  overflow: hidden; touch-action: none; overscroll-behavior: none; outline: none;
}
#board { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; }
#ui { position: absolute; inset: 0; pointer-events: none; touch-action: none; }
#ui button, #ui input, #ui select, #ui a, #ui [data-interactive] { pointer-events: auto; touch-action: manipulation; }
