/* NO PERRY Arsenal + Call Forge 40A — war preparation, not dashboard */
#guild-constellation.np-arsenal-host,
.np-arsenal-host {
  --ars-ink: #e6ddd0;
  --ars-mute: #8a8276;
  --ars-moss: var(--np-moss-readable, #8FA65B);
  --ars-iron: #16130f;
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  padding: 4rem 1.1rem 5rem;
  color: var(--ars-ink);
  background:
    radial-gradient(ellipse 55% 40% at 50% 8%, rgba(90, 42, 18, 0.16), transparent 64%),
    linear-gradient(180deg, #08070a 0%, #0c0a0b 50%, #09080c 100%);
}

.np-arsenal { width: min(1200px, 100%); margin: 0 auto; position: relative; z-index: 8; }
.np-arsenal__head { text-align: center; margin-bottom: 1.2rem; }
.np-arsenal__eyebrow {
  margin: 0 0 0.45rem;
  font-family: var(--font-mono, monospace);
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ars-moss);
}
.np-arsenal__title {
  margin: 0;
  font-family: var(--font-title, 'Cinzel', serif);
  font-size: clamp(1.7rem, 3.5vw, 2.5rem);
  letter-spacing: 0.06em;
}
.np-arsenal__tag { margin: 0.35rem 0 0; color: var(--ars-mute); }

.np-arsenal__tabs {
  display: flex; justify-content: center; gap: 0.45rem; margin: 0 0 1.25rem; flex-wrap: wrap;
}
.np-arsenal__tab,
.np-arsenal__cta,
.np-arsenal__build-card,
.np-arsenal__badge,
.np-arsenal__sock,
.np-arsenal__pick,
.np-arsenal__actions button,
.np-arsenal__filters select,
.np-arsenal__filters input,
.np-arsenal__composer-meta input,
.np-arsenal__composer-meta select,
.np-arsenal__forge-side input,
.np-arsenal__forge-side select,
.np-arsenal__forge-side textarea,
.np-arsenal__forge-start input {
  appearance: none;
  border: 1px solid rgba(143, 166, 91, 0.28);
  background: rgba(16, 14, 16, 0.88);
  color: var(--ars-ink);
  font-family: var(--font-mono, monospace);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.np-arsenal__tab { padding: 0.65rem 1rem; font-size: 0.7rem; }
.np-arsenal__tab.is-active,
.np-arsenal__build-card.is-active,
.np-arsenal__badge.is-active {
  border-color: rgba(143, 166, 91, 0.75);
  background: rgba(48, 58, 32, 0.55);
  color: var(--ars-moss);
}
.np-arsenal__cta {
  padding: 0.7rem 1rem;
  color: var(--ars-moss);
  border-color: rgba(143, 166, 91, 0.55);
}

.np-arsenal__filters {
  display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem; justify-content: center;
}
.np-arsenal__filters select,
.np-arsenal__filters input { padding: 0.45rem 0.55rem; font-size: 0.68rem; }

.np-arsenal__explore-grid {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 1rem;
}
.np-arsenal__build-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; max-height: 70vh; overflow: auto; }
.np-arsenal__build-card {
  width: 100%; text-align: left; padding: 0.7rem 0.75rem; text-transform: none; letter-spacing: 0.02em;
}
.np-arsenal__build-card strong { display: block; font-family: var(--font-title, Cinzel, serif); }
.np-arsenal__build-card em { color: var(--ars-mute); font-style: normal; font-size: 0.75rem; }
.np-arsenal__status {
  margin: 0 0 0.35rem;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  color: var(--ars-moss);
}
.np-arsenal__muted { color: var(--ars-mute); font-size: 0.86rem; }
.np-arsenal__note {
  border-left: 2px solid #8a3a2a;
  padding: 0.45rem 0.6rem;
  color: #d7cfc2;
}

.np-arsenal__mannequin {
  border: 1px solid rgba(90, 84, 74, 0.45);
  background: linear-gradient(180deg, rgba(22, 18, 16, 0.94), rgba(10, 9, 10, 0.96));
  padding: 1rem;
  margin-top: 0.8rem;
}
.np-arsenal__sil {
  width: 120px; height: 170px; margin: 0 auto 0.8rem;
  background: linear-gradient(180deg, rgba(52, 46, 40, 0.95), rgba(22, 20, 22, 0.98));
  clip-path: polygon(48% 4%, 52% 4%, 58% 14%, 60% 22%, 78% 30%, 80% 38%, 62% 36%, 64% 58%, 72% 92%, 62% 92%, 54% 62%, 46% 62%, 38% 92%, 28% 92%, 36% 58%, 38% 36%, 20% 38%, 22% 30%, 40% 22%, 42% 14%);
}
.np-arsenal__socks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
}
.np-arsenal__sock {
  min-height: 72px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2rem;
  font-size: 0.55rem;
}
.np-arsenal__sock.is-empty { opacity: 0.45; }
.np-arsenal__sock img { width: 48px; height: 48px; object-fit: contain; }
.np-arsenal__swaps { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; margin-top: 0.75rem; }
.np-arsenal__sock--swap { min-height: 52px; min-width: 52px; }

.np-arsenal__composer-meta,
.np-arsenal__forge-start,
.np-arsenal__forge-side {
  display: grid; gap: 0.55rem;
}
.np-arsenal__composer-meta label,
.np-arsenal__forge-start label,
.np-arsenal__forge-side label { display: grid; gap: 0.25rem; font-size: 0.72rem; color: var(--ars-mute); }
.np-arsenal__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.9rem; }
.np-arsenal__actions button { padding: 0.5rem 0.7rem; font-size: 0.65rem; }

.np-arsenal__forge-top {
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem;
}
.np-arsenal__forge-layout {
  display: grid;
  grid-template-columns: minmax(140px, 200px) minmax(0, 1fr) minmax(180px, 260px);
  gap: 0.9rem;
}
.np-arsenal__forge-nav,
.np-arsenal__forge-side,
.np-arsenal__forge-center {
  border: 1px solid rgba(90, 84, 74, 0.4);
  background: rgba(12, 10, 12, 0.88);
  padding: 0.8rem;
}
.np-arsenal__slot-strip { display: flex; flex-wrap: wrap; gap: 0.28rem; }
.np-arsenal__badge { min-width: 2rem; height: 2rem; font-size: 0.65rem; }
.np-arsenal__badge.is-empty { opacity: 0.45; }
.np-arsenal__badge.is-partial { border-color: rgba(180, 140, 80, 0.6); }
.np-arsenal__badge.is-ready { border-color: rgba(143, 166, 91, 0.8); }
.np-arsenal__badge.is-locked { outline: 1px dashed rgba(143, 166, 91, 0.5); }
.np-arsenal__group { margin-bottom: 0.7rem; }
.np-arsenal__group > p { margin: 0 0 0.35rem; font-size: 0.65rem; color: var(--ars-mute); letter-spacing: 0.12em; }
.np-arsenal__presets { margin-top: 1.2rem; }
.np-arsenal__local-calls ul { list-style: none; padding: 0; }
.np-arsenal__local-calls li { display: flex; gap: 0.35rem; margin: 0.3rem 0; }

.np-arsenal__scrim {
  position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); z-index: 40;
}
.np-arsenal__picker,
.np-arsenal__sheet {
  position: fixed; z-index: 41;
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(720px, calc(100vw - 1.5rem));
  max-height: min(80vh, 640px);
  overflow: auto;
  background: #120f0e;
  border: 1px solid rgba(143, 166, 91, 0.4);
  padding: 0.9rem;
}
.np-arsenal__picker header { display: flex; justify-content: space-between; margin-bottom: 0.5rem; }
.np-arsenal__picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 0.4rem;
  margin-top: 0.6rem;
}
.np-arsenal__pick {
  min-height: 88px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.25rem; font-size: 0.55rem; text-transform: none; letter-spacing: 0;
}
.np-arsenal__pager { display: flex; justify-content: space-between; align-items: center; margin-top: 0.7rem; }

@media (max-width: 900px) {
  .np-arsenal__explore-grid,
  .np-arsenal__forge-layout { grid-template-columns: 1fr; }
  .np-arsenal__socks { display: flex; overflow-x: auto; }
  .np-arsenal__sock { flex: 0 0 auto; width: 72px; }
  .np-arsenal__picker,
  .np-arsenal__sheet {
    left: 0; right: 0; top: auto; bottom: 0; transform: none;
    width: 100%; max-width: none;
    border-radius: 14px 14px 0 0;
    max-height: 78vh;
  }
  .np-arsenal__slot-strip { flex-wrap: nowrap; overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .np-arsenal * { animation: none !important; transition: none !important; }
}
