/* per-game skin — uses css/game-themes.css vars */
#stage {
  min-height: 220px;
}

.p15-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0 auto;
  width: min(100%, 420px);
}

#board {
  display: grid;
  gap:0;
  width: min(100%, 320px);
  padding: 6px;
  border-radius: var(--radius, 2px);
  border: 2px solid var(--line, rgba(16, 24, 32, 0.12));
  background: color-mix(in srgb, var(--play-cell, #fff) 90%, var(--play-accent, #1fb8a8) 10%);
  box-shadow: 4px 4px 0 rgba(16, 24, 32, 0.12);
}

.tile {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: clamp(1rem, 4.5vw, 1.45rem);
  font-weight: 800;
  border: 2px solid color-mix(in srgb, var(--play-accent, #1fb8a8) 35%, #101820);
  border-radius: var(--radius, 2px);
  background: var(--play-cell, #fff);
  color: var(--play-ink, #101820);
  cursor: pointer;
  padding: 0;
  box-shadow: 2px 2px 0 rgba(16, 24, 32, 0.14);
  transition: transform 0.14s var(--ease, ease), outline-color 0.14s;
}

.tile:not(.empty):hover {
  transform: translateY(-2px);
}

.tile.empty {
  visibility: hidden;
  pointer-events: none;
  border-color: transparent;
  box-shadow: none;
  background: transparent;
}

.tile.moved {
  outline: 2px solid var(--play-accent, var(--accent, #0a7a6f));
  transform: scale(1.06);
}

.dpad {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:0;
  user-select: none;
  touch-action: manipulation;
}

.dpad-mid {
  display: flex;
  gap:0;
  align-items: center;
}

.dpad button {
  min-width: 3rem;
  min-height: 3rem;
  padding: 0;
  font-size: 1.25rem;
  font-weight: 800;
  border: 2px solid color-mix(in srgb, var(--play-accent, #1fb8a8) 55%, #101820);
  background: var(--play-cell, #fff);
  color: var(--play-ink, #101820);
  cursor: pointer;
  border-radius: var(--radius, 2px);
  box-shadow: 2px 2px 0 rgba(16, 24, 32, 0.14);
}
