:root {
  --void-bg: #0b1026;
  --void-panel: #1b2a52;
  --void-cyan: #2de2e6;
  --void-white: #f7f7ff;
  --void-red: #ff5e6c;
  --void-amber: #ffb13b;
  --void-purple: #9d4edd;
  --void-green: #0fe07a;
}

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

html, body {
  width: 100%;
  height: 100%;
  background: #05070f;
  overflow: hidden;
  font-family: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  color: var(--void-white);
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
}

#stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse at 50% 30%, #11183a 0%, #070b18 60%, #04060d 100%);
}

#game {
  display: block;
  background: var(--void-bg);
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  box-shadow:
    0 0 0 2px rgba(45, 226, 230, 0.25),
    0 0 40px rgba(45, 226, 230, 0.20),
    0 0 120px rgba(157, 78, 221, 0.15);
  /* size is set dynamically by JS to keep 16:9 */
}
