:root {
  --omt-bg: #071629;
  --omt-panel: rgba(7, 22, 41, .95);
  --omt-accent: #5eead4;
  --omt-accent-2: #fbbf24;
}
.dpad {
  position: absolute;
  z-index: 18;
  right: max(.65rem, env(safe-area-inset-right));
  bottom: max(.65rem, env(safe-area-inset-bottom));
  display: none;
  grid-template-columns: repeat(3, 2.9rem);
  grid-template-rows: repeat(2, 2.9rem);
  gap: .25rem;
}
.dpad button {
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .75rem;
  background: rgba(4, 12, 25, .76);
  backdrop-filter: blur(8px);
  font-weight: 950;
}
.dpad [data-move="up"] { grid-column: 2; }
.dpad [data-move="left"] { grid-column: 1; grid-row: 2; }
.dpad [data-move="down"] { grid-column: 2; grid-row: 2; }
.dpad [data-move="right"] { grid-column: 3; grid-row: 2; }
.game-shell:has(.overlay.hidden) .dpad { display: grid; }
@media (hover: hover) and (pointer: fine) {
  .dpad { display: none !important; }
}
