:root {
  color-scheme: dark;
}

html,
body {
  height: 100%;
  margin: 0;
  background: #06070a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
}

#app {
  min-height: 100%;
  display: grid;
  place-content: center;
  gap: 12px;
  padding: 18px;
}

#frame {
  position: relative;
  display: inline-block;
  border-radius: 12px;
  padding: 10px;
  background: linear-gradient(180deg, #0b0e14, #04050a);
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.65);
}

canvas#game {
  display: block;
  width: 960px;
  height: 720px;
  background: #000;
  border-radius: 8px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  outline: 1px solid rgba(255, 255, 255, 0.08);
}

#crt {
  pointer-events: none;
  position: absolute;
  inset: 10px;
  border-radius: 8px;
  background: radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.45) 70%),
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.05),
      rgba(255, 255, 255, 0.05) 1px,
      rgba(0, 0, 0, 0) 3px,
      rgba(0, 0, 0, 0) 4px
    );
  mix-blend-mode: overlay;
  opacity: 0.65;
  filter: contrast(1.05) saturate(1.1);
}

#hint {
  max-width: 960px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.35;
  font-size: 12px;
  margin: 0 auto;
  text-align: center;
}

kbd {
  padding: 0.1em 0.45em;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 980px) {
  canvas#game {
    width: 90vw;
    height: calc(90vw * 0.75);
  }
  #hint {
    max-width: 90vw;
  }
}

