.pitch-player,
.bench-strip button {
  cursor: grab;
  touch-action: manipulation;
  transition:
    border-color 140ms ease,
    box-shadow 140ms ease,
    transform 140ms ease,
    opacity 140ms ease;
}

.pitch-player:active,
.bench-strip button:active {
  cursor: grabbing;
}

.pitch-player.swap-source,
.bench-strip button.swap-source {
  border-color: var(--lime);
  box-shadow:
    0 0 0 3px rgba(199, 246, 91, 0.18),
    0 8px 24px rgba(0, 0, 0, 0.28);
  transform: translate(-50%, -50%) scale(1.06);
}

.bench-strip button.swap-source {
  transform: translateY(-2px);
}

.bench-strip button.selected {
  border-color: rgba(199, 246, 91, 0.55);
}

.pitch-player[draggable="true"]:hover,
.bench-strip button[draggable="true"]:hover {
  border-color: var(--lime);
}

@media (pointer: coarse) {
  .pitch-player,
  .bench-strip button {
    cursor: pointer;
  }
}
