/* Maze — game-specific */
.diff-seg { display:flex; gap:8px; }
.diff-seg button { flex:1; }

.board-wrap { flex:1; display:flex; align-items:center; justify-content:center; }
#maze {
  width:100%; max-width:440px; height:auto; aspect-ratio:1; touch-action:none;
  background:var(--card); border:5px solid var(--stroke); border-radius:16px;
  box-shadow:0 6px 0 var(--stroke);
}

.dpad {
  display:grid; grid-template-columns:repeat(3,64px); grid-template-rows:repeat(2,64px);
  gap:8px; justify-content:center; margin-top:16px;
}
.dbtn {
  font-size:24px; color:var(--stroke); cursor:pointer;
  background:var(--card); border:4px solid var(--stroke); border-radius:16px; box-shadow:var(--sh);
  transition:transform 0.1s, box-shadow 0.1s;
}
.dbtn:active { transform:translateY(4px); box-shadow:0 0 0 var(--stroke); }
.dbtn.up    { grid-column:2; grid-row:1; }
.dbtn.left  { grid-column:1; grid-row:2; }
.dbtn.down  { grid-column:2; grid-row:2; }
.dbtn.right { grid-column:3; grid-row:2; }
