:root {
  --ink: #c8d0c0;
  --ink-dim: #7d8878;
  --ink-bright: #eef2e6;
  --bg: #05060a;
  --panel: rgba(10, 14, 12, 0.92);
  --border: #47513f;
  --accent: #c9a227;
  --danger: #a33b2e;

  /* Period-appropriate: chunky, limited palette, no font smoothing. */
  --mono: "Courier New", ui-monospace, monospace;

  color-scheme: dark;
  font-family: var(--mono);
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: none;
  font-smooth: never;
}

* {
  box-sizing: border-box;
}

html,
body,
#root {
  height: 100%;
  margin: 0;
  overflow: hidden;
}

body {
  background: var(--bg);
}

.viewport {
  position: relative;
  width: 100%;
  height: 100%;
}

.game-canvas {
  display: block;
  width: 100%;
  height: 100%;
  /* The PSX pass already upscaled from the low-res target; keep the browser
     from smoothing the result a second time. */
  image-rendering: pixelated;
}
