*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Poppins', system-ui, sans-serif;
  background: #05060f;
  color: #e9f2ff;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior: none;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input { font-family: inherit; }
h1, h2, h3, p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
img { max-width: 100%; display: block; }

/* A [hidden] rule beats any component's own `display` declaration — a
   lesson carried over from earlier GameCMB games where a component-level
   `display: flex` silently defeated the browser default. */
[hidden] { display: none !important; }
