/* ── Maze (docs/49_GAMES.md) ─────────────────────────────────────────
   Loaded from src/pages/games/maze.astro. The canvas reads --mz-*. */
.gmaze {
  --mz-bg: var(--ice-palette-warm-50);
  --mz-wall: var(--ice-palette-navy-900);
  --mz-trail: var(--ice-palette-navy-100);
  --mz-you: var(--ice-color-action);
  --mz-goal: var(--ice-palette-forest-700);
  --mz-way: var(--ice-palette-terracotta-500);
}
[data-theme='dark'] .gmaze {
  --mz-bg: var(--ice-palette-graphite-950);
  --mz-wall: var(--ice-palette-graphite-100);
  --mz-trail: var(--ice-palette-graphite-800);
  --mz-goal: var(--ice-palette-forest-300);
  --mz-way: var(--ice-palette-terracotta-300);
}
.gmaze__stage { display: grid; justify-items: center; gap: .75rem; }
.gmaze__canvas { display: block; max-width: 100%; border: 1px solid var(--ice-color-border); border-radius: 8px; touch-action: none; }
.gmaze__canvas:focus-visible { outline: 3px solid var(--ice-color-action); outline-offset: 2px; }
.gmaze__pad { display: grid; grid-template-columns: repeat(3, 56px); grid-template-rows: repeat(2, 56px); gap: .4rem; }
.gmaze__pad [data-dir='up'] { grid-column: 2; grid-row: 1; }
.gmaze__pad [data-dir='left'] { grid-column: 1; grid-row: 2; }
.gmaze__pad [data-dir='down'] { grid-column: 2; grid-row: 2; }
.gmaze__pad [data-dir='right'] { grid-column: 3; grid-row: 2; }
