/* NO PERRY — Mesa de Guerra human visual correction 55C
   Compact role cards, larger Albion art inside slots, visible battlefield,
   premium forged frames. Loads after war-table-55a.css. */

.np-arsenal {
  --wt-slot: 56px;
  --wt-slot-sm: 48px;
  --wt-weapon-w: 68px;
  --wt-weapon-h: 118px;
  --wt-socket-fill: 98%;
  --wt-socket-boost: 1.14;
  --wt-frame-brass: rgba(168, 138, 74, 0.62);
  --wt-frame-iron: rgba(59, 52, 44, 0.92);
}

/* ── Builder background owned by 55E unified scene plate ── */
#guild-constellation.np-arsenal-host.np-combat-armory {
  background: transparent;
}

#guild-constellation.np-arsenal-host.np-combat-armory::before {
  content: none;
}

/* ── Compact forge center — equipment is the hero, not empty pedestal ── */
.np-arsenal__war-table .np-arsenal__warrior-pedestal {
  display: none;
}

.np-arsenal__war-table .np-arsenal__bench-stage {
  grid-template-columns: 1fr;
  min-height: unset;
  padding: 0.15rem 0 0.35rem;
  align-items: start;
}

.np-arsenal__war-table .np-arsenal__selected-warrior .np-arsenal__bench-stage {
  min-height: unset;
}

.np-arsenal__war-table .np-arsenal__warrior-role {
  margin: 0 0 0.35rem;
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.np-arsenal__war-table .np-arsenal__slotline {
  margin-bottom: 0.15rem;
}

/* Premium forged frame on active role editor */
.np-arsenal__forge-center.np-arsenal__selected-warrior {
  position: relative;
  padding: 0.65rem 0.75rem 0.75rem;
  background:
    linear-gradient(180deg, rgba(14, 12, 11, 0.82), rgba(8, 7, 8, 0.88));
  box-shadow:
    inset 0 0 0 2px var(--wt-frame-iron),
    inset 0 0 0 3px var(--wt-frame-brass),
    0 12px 32px rgba(0, 0, 0, 0.45);
}

.np-arsenal__forge-center.np-arsenal__selected-warrior::before,
.np-arsenal__forge-center.np-arsenal__selected-warrior::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
  border: 2px solid var(--wt-frame-brass);
  opacity: 0.85;
}

.np-arsenal__forge-center.np-arsenal__selected-warrior::before {
  top: 5px;
  left: 5px;
  border-right: none;
  border-bottom: none;
}

.np-arsenal__forge-center.np-arsenal__selected-warrior::after {
  bottom: 5px;
  right: 5px;
  border-left: none;
  border-top: none;
}

.np-arsenal__forge-center[data-role-family]::before {
  box-shadow: inset 0 0 8px color-mix(in srgb, var(--np-role-edge, #8fa65b) 35%, transparent);
}

.np-arsenal__forge-center[data-role-family="caller"] { --np-role-edge: var(--np-role-caller, #7b5cc4); }
.np-arsenal__forge-center[data-role-family="tank"] { --np-role-edge: var(--np-role-tank, #4f7fbf); }
.np-arsenal__forge-center[data-role-family="dps"] { --np-role-edge: var(--np-role-dps, #b13b32); }
.np-arsenal__forge-center[data-role-family="cortaCura"] { --np-role-edge: var(--np-role-cortaCura, #8e2130); }
.np-arsenal__forge-center[data-role-family="support"] { --np-role-edge: var(--np-role-support, #d8d2c4); }
.np-arsenal__forge-center[data-role-family="healer"] { --np-role-edge: var(--np-role-healer, #5f9b52); }

.np-arsenal__forge-center[data-role-family] {
  box-shadow:
    inset 0 0 0 2px var(--wt-frame-iron),
    inset 0 0 0 3px var(--wt-frame-brass),
    inset 0 0 0 4px color-mix(in srgb, var(--np-role-edge) 42%, transparent),
    0 12px 32px rgba(0, 0, 0, 0.45);
}

/* ── Compact equipment matrix: weapon column + 2×3 support grid ── */
.np-arsenal__war-table .np-arsenal__socket-ring {
  display: grid;
  grid-template-columns: var(--wt-weapon-w) var(--wt-slot) var(--wt-slot);
  grid-template-rows: repeat(3, auto);
  gap: 0.28rem;
  justify-content: center;
  align-content: start;
  width: fit-content;
  margin-inline: auto;
}

.np-arsenal__war-table .np-arsenal__sock--weapon { grid-area: 1 / 1 / 3 / 2; }
.np-arsenal__war-table .np-arsenal__sock--offhand { grid-area: 3 / 1; }
.np-arsenal__war-table .np-arsenal__sock--head { grid-area: 1 / 2; }
.np-arsenal__war-table .np-arsenal__sock--cape { grid-area: 1 / 3; }
.np-arsenal__war-table .np-arsenal__sock--chest { grid-area: 2 / 2; }
.np-arsenal__war-table .np-arsenal__sock--potion { grid-area: 2 / 3; }
.np-arsenal__war-table .np-arsenal__sock--feet { grid-area: 3 / 2; }
.np-arsenal__war-table .np-arsenal__sock--food { grid-area: 3 / 3; }

.np-arsenal__war-table .np-arsenal__sock {
  gap: 0.12rem;
  padding: 0.12rem;
}

/* Override 55A slot bloat — compact apertures */
.np-arsenal__war-table .np-arsenal__sock-aperture {
  width: var(--wt-slot);
  aspect-ratio: 1;
}

.np-arsenal__war-table .np-arsenal__sock--weapon .np-arsenal__sock-aperture {
  width: var(--wt-weapon-w);
  height: var(--wt-weapon-h);
  aspect-ratio: auto;
}

.np-arsenal__war-table .np-arsenal__sock--offhand .np-arsenal__sock-aperture {
  width: var(--wt-slot-sm);
  height: var(--wt-slot-sm);
}

/* Larger Albion art inside compact slots */
.np-arsenal__war-table .np-arsenal__sock-aperture img {
  width: var(--wt-socket-fill);
  height: var(--wt-socket-fill);
  object-fit: contain;
  transform: scale(var(--wt-socket-boost));
  transform-origin: center center;
}

/* Empty slots — recessive, shorter */
.np-arsenal__war-table .np-arsenal__sock.is-empty .np-arsenal__sock-aperture {
  width: calc(var(--wt-slot-sm) - 4px);
  height: calc(var(--wt-slot-sm) - 4px);
  opacity: 0.42;
  background:
    radial-gradient(circle at 50% 40%, rgba(18, 16, 14, 0.75), rgba(6, 5, 6, 0.92));
  box-shadow: inset 0 0 0 1px rgba(50, 46, 42, 0.35);
}

.np-arsenal__war-table .np-arsenal__sock.is-empty .np-arsenal__sock-rune {
  opacity: 0.18;
}

.np-arsenal__war-table .np-arsenal__sock.is-empty .np-arsenal__sock-label {
  opacity: 0.45;
  font-size: 0.46rem;
}

.np-arsenal__war-table .np-arsenal__sock.is-filled .np-arsenal__sock-aperture {
  box-shadow:
    inset 0 0 0 1px rgba(143, 166, 91, 0.45),
    0 0 10px rgba(0, 0, 0, 0.35);
}

/* ── Swaps: larger item art, compact containers ── */
.np-arsenal__war-table .np-arsenal__swap-rack {
  padding-top: 0.45rem;
}

.np-arsenal__war-table .np-arsenal__swap-item,
.np-arsenal__war-table .np-arsenal__swap-add {
  width: 62px;
  height: 62px;
}

.np-arsenal__war-table .np-arsenal__swap-item img {
  width: 96%;
  height: 96%;
  object-fit: contain;
  transform: scale(1.1);
}

.np-arsenal__war-table .np-arsenal__swaps::before {
  content: "↔ SWAP";
  letter-spacing: 0.14em;
}

/* ── Formation markers — ornamental role frames ── */
.np-arsenal__war-table .np-arsenal__warrior-marker[data-role-family] {
  min-width: 58px;
  padding: 0.32rem 0.28rem 0.38rem;
  background:
    linear-gradient(180deg, rgba(20, 17, 15, 0.94), rgba(8, 7, 8, 0.96));
  box-shadow:
    inset 0 0 0 2px rgba(55, 48, 42, 0.85),
    inset 0 0 0 3px rgba(168, 138, 74, 0.38),
    inset 0 0 0 4px color-mix(in srgb, var(--np-role-edge) 38%, transparent);
}

.np-arsenal__war-table .np-arsenal__warrior-marker[data-role-family]::after {
  inset: auto 10% 2px 10%;
  height: 2px;
  opacity: 0.9;
}

.np-arsenal__war-table .np-arsenal__wm-weapon {
  width: 36px;
  height: 36px;
}

.np-arsenal__war-table .np-arsenal__wm-weapon img {
  width: 96%;
  height: 96%;
  transform: scale(1.08);
}

/* ── Call board preview — lighter shell so export art reads ── */
.np-arsenal__board-preview {
  background:
    linear-gradient(180deg, rgba(10, 9, 8, 0.55) 0%, rgba(8, 7, 8, 0.72) 100%),
    url('../assets/war-table/no-perry-drop-composition-hero.webp') center 40% / cover no-repeat;
}

.np-arsenal__board-preview-frame {
  background: rgba(6, 6, 5, 0.35);
}

@media (max-width: 900px) {
  .np-arsenal {
    --wt-slot: 50px;
    --wt-slot-sm: 42px;
    --wt-weapon-w: 60px;
    --wt-weapon-h: 102px;
  }

  .np-arsenal__war-table .np-arsenal__swap-item,
  .np-arsenal__war-table .np-arsenal__swap-add {
    width: 54px;
    height: 54px;
  }
}

@media (max-width: 560px) {
  .np-arsenal {
    --wt-slot: 46px;
    --wt-slot-sm: 38px;
    --wt-weapon-w: 54px;
    --wt-weapon-h: 92px;
    --wt-socket-boost: 1.08;
  }

  .np-arsenal__war-table .np-arsenal__socket-ring {
    gap: 0.22rem;
  }

  .np-arsenal__war-table .np-arsenal__swap-item,
  .np-arsenal__war-table .np-arsenal__swap-add {
    width: 48px;
    height: 48px;
  }
}
