/* Frogger — page-specific styles */

.frogger-stage {
  display: flex;
  justify-content: center;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

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

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

.frogger-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) {
  .frogger-dpad {
    grid-template-columns: repeat(3, 3.75rem);
    grid-template-rows: repeat(2, 3.75rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dpad-btn { transition: none; }
}
