/* v2.2 interaction overrides */

button.field-card.attacker-ready {
  cursor: grab;
  border-color: #77b8ff;
  box-shadow: 0 0 0 3px rgba(80, 160, 255, .18), 0 7px 16px rgba(0, 0, 0, .3);
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

button.field-card.attacker-ready:hover,
button.field-card.attacker-ready:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(200, 255, 72, .18), 0 10px 20px rgba(0, 0, 0, .34);
  outline: none;
}

button.field-card.attack-dragging {
  cursor: grabbing;
  opacity: .42;
  transform: translateY(-8px) scale(1.03);
}

button.field-card.holding {
  z-index: 6;
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(200, 255, 72, .23), 0 15px 26px rgba(0, 0, 0, .35);
  transform: translateY(-10px) scale(1.04);
  animation: holdingPulse .55s ease-in-out infinite alternate;
}

button.field-card.acted {
  cursor: default;
  filter: grayscale(.55) brightness(.66);
  transform: scale(.96);
}

button.field-card.acted::after {
  content: "✓";
  position: absolute;
  top: 5px;
  right: 5px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(25, 28, 30, .82);
  color: #d6d9dc;
  font-size: .66rem;
  font-weight: 950;
  z-index: 4;
}

button.field-card.attack-drop-target,
button.hero-badge.attack-drop-target {
  border-color: #ffcf66;
  box-shadow: 0 0 0 4px rgba(255, 199, 86, .2), 0 7px 18px rgba(0, 0, 0, .32);
  animation: targetPulse 1.1s ease-in-out infinite;
}

button.field-card.attack-drop-active,
button.hero-badge.attack-drop-active {
  border-color: var(--accent);
  box-shadow: 0 0 0 5px rgba(200, 255, 72, .28), 0 10px 24px rgba(0, 0, 0, .38);
  filter: brightness(1.14);
}

button.field-card.selected-attacker {
  transform: translateY(-8px);
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(200, 255, 72, .2), 0 10px 20px rgba(0, 0, 0, .34);
}

@media (max-width: 760px) {
  button.field-card.attacker-ready {
    cursor: default;
  }

  button.field-card.acted::after {
    width: 16px;
    height: 16px;
    font-size: .58rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  button.field-card.holding,
  button.field-card.attack-drop-target,
  button.hero-badge.attack-drop-target {
    animation: none;
  }
}
