/* Captain roster polish. Load after styles.css; Hero cards keep their own style. */
.captain-owned-card:not(.faction-hero) .captain-card-art {
  /* Keep the enlarged artwork inside its own area, clear of names and controls. */
  overflow: hidden;
  isolation: isolate;
}

.captain-owned-card:not(.faction-hero) .captain-card-portrait {
  transform-origin: center top;
}

/* Keyboard focus remains clear even on a device without hover. */
.captain-owned-card:not(.faction-hero):has(:focus-visible) {
  border-color: #c8a35f;
  outline: 2px solid var(--gold-bright, #f0d79f);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .captain-owned-card:not(.faction-hero) {
    transition: border-color 180ms ease, box-shadow 220ms ease;
  }

  .captain-owned-card:not(.faction-hero) .captain-card-portrait {
    transition: transform 220ms cubic-bezier(.2, .7, .2, 1), filter 220ms ease;
  }

  .captain-owned-card:not(.faction-hero):is(:hover, :has(:focus-visible)) {
    border-color: #c8a35f;
    box-shadow:
      0 0 0 1px #d5af651f,
      0 5px 18px #09070b38,
      0 0 20px #d5af6514;
  }

  .captain-owned-card:not(.faction-hero):is(:hover, :has(:focus-visible)) .captain-card-portrait {
    transform: scale(1.25);
    filter: drop-shadow(0 2px 5px #d5af6526);
  }
}

@media (prefers-reduced-motion: reduce) {
  .captain-owned-card:not(.faction-hero),
  .captain-owned-card:not(.faction-hero) .captain-card-portrait {
    transition: none;
  }
}
