/* Snake — page-specific styles */

.snake-stage {
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.snake-canvas {
  display: block;
  width: 100%;
  height: auto;
  background: #2d3436;
  border-radius: var(--radius-sm);
  border: 4px solid var(--color-green);
  touch-action: none;
  cursor: pointer;
}

.snake-canvas:focus-visible {
  outline: 3px solid var(--color-coral);
  outline-offset: 3px;
}

/* On-screen steering — the only way to play on a phone without swiping */
.snake-dpad {
  display: grid;
  grid-template-columns: repeat(3, 3.25rem);
  grid-template-rows: repeat(2, 3.25rem);
  gap: 0.4rem;
  justify-content: center;
  margin-top: 1.25rem;
}

.dpad-btn {
  font-size: 1.15rem;
  font-family: var(--font-display);
  border: 2px solid #e8e2d8;
  background: var(--color-bg);
  color: var(--color-text-muted);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: transform 0.12s, background 0.12s, color 0.12s, border-color 0.12s;
  touch-action: manipulation;
}

.dpad-btn:hover,
.dpad-btn:focus-visible {
  background: var(--color-green);
  border-color: var(--color-green);
  color: white;
  outline: none;
}

.dpad-btn:active {
  transform: scale(0.94);
}

.dpad-btn--up { grid-column: 2; grid-row: 1; }
.dpad-btn--left { grid-column: 1; grid-row: 2; }
.dpad-btn--down { grid-column: 2; grid-row: 2; }
.dpad-btn--right { grid-column: 3; grid-row: 2; }

@media (max-width: 640px) {
  .snake-dpad {
    grid-template-columns: repeat(3, 3.75rem);
    grid-template-rows: repeat(2, 3.75rem);
  }
}
