html, body {
  margin: 0;
  padding: 0;
  background:
    radial-gradient(circle at top, #1f2b45 0%, #0c1220 48%, #04070d 100%);
  height: 100%;
  overflow: hidden;
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: white;
}

* {
  box-sizing: border-box;
}

body {
  display: grid;
  place-items: center;
}

.game-shell {
  width: min(100vw, 1400px);
  height: min(100vh, 820px);
  display: grid;
  place-items: center;
  padding: 16px;
  position: relative;
}

canvas {
  width: 100%;
  height: auto;
  max-height: calc(100vh - 32px);
  aspect-ratio: 16 / 9;
  display: block;
  border-radius: 28px;
  box-shadow:
    0 22px 80px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.06),
    inset 0 0 0 1px rgba(255,255,255,.04);
  background: #0d1422;
}

.hint {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(7, 11, 19, 0.55);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
  font-size: 14px;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.78);
  pointer-events: none;
  text-align: center;
  white-space: nowrap;
  max-width: calc(100vw - 40px);
  overflow: hidden;
  text-overflow: ellipsis;
}
