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

:root {
  --bg: #0f0d14;
  --bg-soft: #17131f;
  --shell-shadow: rgba(0, 0, 0, 0.35);
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top, rgba(255, 245, 220, 0.08), transparent 22%),
    linear-gradient(180deg, #0d0b12 0%, #13101a 46%, #18131f 100%);
  color: #f6f1e8;
}

.page {
  width: 100%;
  height: 100dvh;
  display: flex;
  justify-content: center;
  align-items: stretch;
}

.game-shell {
  width: min(100vw, 520px);
  height: 100dvh;
  background: linear-gradient(180deg, rgba(23, 19, 31, 0.92), rgba(17, 14, 23, 0.96));
  box-shadow:
    0 18px 48px var(--shell-shadow),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

#game-container {
  width: 100%;
  height: 100%;
}

#game-container canvas {
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: auto;
}

@media (min-width: 640px) {
  .page {
    padding: 18px 0;
  }

  .game-shell {
    height: calc(100dvh - 36px);
    border-radius: 28px;
    overflow: hidden;
  }
}
