/* docs/features/game-engine/army/formation/ — formation field layout only.
   Unit portraits / legend rings / combat_display: combat.css + createBoardPortraitWrap. */

.army-formation {
  flex: 1 1 0;
  min-height: 0;
  /* Clip horizontal bleed from combat_display scale; scroll vertically when needed. */
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: calc(var(--gs-u-h) * 0.55) calc(var(--gs-u-h) * 0.35) calc(var(--gs-u-h) * 0.65);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-content: start;
  justify-items: center;
  gap: calc(var(--gs-u-h) * 0.85) calc(var(--gs-u-w) * 0.55);
  box-sizing: border-box;
}

.army-formation__slot {
  position: relative;
  width: 100%;
  max-width: calc(var(--gs-u-h) * 11.5);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  outline: none;
  overflow: visible;
}

.army-formation__slot:focus-visible {
  box-shadow: 0 0 0 calc(var(--gs-u-h) * 0.18) rgba(255, 200, 120, 0.55);
  border-radius: var(--gs-radius-sm);
}

.formation-unit {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--gs-u-h) * 0.18);
  overflow: visible;
}

.formation-unit__stage.combat-portrait-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.15;
  overflow: visible;
}

.formation-unit__stars {
  font-size: calc(var(--gs-u-h) * 1.05);
  line-height: 1;
  justify-content: center;
  max-width: 100%;
  position: relative;
  z-index: 1;
}

.formation-unit--selected .formation-unit__stage {
  filter: drop-shadow(0 0 calc(var(--gs-u-h) * 0.35) rgba(255, 210, 140, 0.55));
}

/* Large inspect overlay — left of formation, transparent backdrop */
.army-formation-inspect {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: calc(var(--gs-u-h) * 1.2) calc(var(--gs-u-h) * 1.6);
  pointer-events: none;
  box-sizing: border-box;
}

.army-formation-inspect__card {
  pointer-events: auto;
  max-height: 92%;
  display: flex;
  align-items: center;
}

/* Card + frame decal only — no legendary shell rim / holo foil in this context. */
.army-formation-inspect .game-card.legendary-card {
  --legend-hairline: 0px;
  box-shadow: none;
}

.army-formation-inspect .game-card.legendary-card::before {
  content: none;
}

.army-formation-inspect .game-card__legendary-backdrop {
  display: none;
}

.army-formation-inspect__card .game-card-sizing--dialog {
  --game-card-dialog-pad: calc(var(--gs-u-h) * 0.85);
  --game-card-dialog-content-height: min(calc(var(--gs-u-h) * 72), 88%);
  height: calc(var(--game-card-dialog-content-height) + var(--game-card-dialog-pad) * 2);
  width: calc((var(--game-card-dialog-content-height) * 5 / 7) + var(--game-card-dialog-pad) * 2);
  max-width: calc(var(--gs-u-w) * 42);
  padding: var(--game-card-dialog-pad);
  margin: 0;
  background: transparent;
  box-shadow: none;
}

.army-unified-root--formation .army-unified-body {
  position: relative;
  overflow: visible;
}
