/* Foundation 0.9B.1 — Gameplay hierarchy polish.
   Player-facing emphasis only. Rules remain authoritative in Python. */

.oath-status.hierarchy-status {
  display: grid;
  grid-template-columns: minmax(230px, .9fr) minmax(0, 2.3fr);
  gap: 9px;
  padding: 9px;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(13,17,24,.98), rgba(7,10,15,.98));
}

.priority-beacon {
  min-width: 0;
  display: grid;
  align-content: center;
  padding: 13px 16px;
  border: 1px solid #465263;
  border-radius: 9px;
  background: rgba(7,10,15,.84);
  box-shadow: inset 0 0 24px rgba(255,255,255,.018);
}

.priority-beacon .priority-kicker {
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.priority-beacon strong {
  margin-top: 2px;
  font: 800 clamp(1.35rem, 2.3vw, 2.15rem)/1 Georgia, serif;
  letter-spacing: -.02em;
}

.priority-beacon small {
  margin-top: 6px;
  color: #8f9baa;
  font-size: .68rem;
  letter-spacing: .05em;
}

.priority-beacon--friendly {
  border-color: rgba(214,182,110,.66);
  background:
    radial-gradient(circle at 8% 50%, rgba(214,182,110,.15), transparent 14rem),
    linear-gradient(180deg, rgba(30,28,20,.94), rgba(9,12,17,.98));
  box-shadow: 0 0 28px rgba(214,182,110,.08), inset 0 0 0 1px rgba(240,217,154,.04);
}

.priority-beacon--friendly .priority-kicker,
.priority-beacon--friendly strong {
  color: var(--oath-gold-bright);
}

.priority-beacon--enemy {
  border-color: rgba(168,83,89,.62);
  background:
    radial-gradient(circle at 8% 50%, rgba(168,83,89,.17), transparent 14rem),
    linear-gradient(180deg, rgba(31,18,23,.95), rgba(9,11,16,.98));
}

.priority-beacon--enemy .priority-kicker,
.priority-beacon--enemy strong {
  color: #e3a3ad;
}

.priority-beacon--neutral .priority-kicker,
.priority-beacon--neutral strong {
  color: #c2cad5;
}

.tactical-facts {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.tactical-fact {
  min-width: 0;
  display: grid;
  align-content: center;
  padding: 9px 11px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: rgba(12,16,22,.82);
}

.tactical-fact span {
  color: #6f7b8c;
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.tactical-fact strong {
  margin-top: 3px;
  overflow: hidden;
  color: #e0e4ea;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.command-resources .player-head {
  align-items: stretch;
}

.command-resources .player-head > div:first-child {
  align-self: center;
}

.command-resources .stronghold {
  min-width: 105px;
  display: grid;
  align-content: center;
  justify-items: end;
  padding: 8px 10px;
  border: 1px solid rgba(214,182,110,.34);
  border-radius: 8px;
  background: rgba(7,10,14,.78);
}

.command-resources .stronghold span {
  color: #8d98a7;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.command-resources .stronghold strong {
  color: #f0e7d5;
  font-size: 1.75rem;
  line-height: 1;
}

.command-resources .stronghold small {
  margin-top: 3px;
  color: var(--oath-frost);
  font-size: .57rem;
}

.resource-priority-grid {
  margin: 9px 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.resource-priority {
  min-width: 0;
  padding: 8px 7px;
  border: 1px solid #3a4553;
  border-radius: 7px;
  background: rgba(5,8,12,.86);
  text-align: center;
}

.resource-priority dt {
  color: #748092;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.resource-priority dd {
  margin: 2px 0 0;
  color: #e8e2d7;
  font-size: 1.15rem;
  font-weight: 800;
}

.resource-priority dd small {
  color: #778395;
  font-size: .58rem;
  font-weight: 600;
}

.resource-priority--command {
  border-color: rgba(214,182,110,.45);
  box-shadow: inset 0 0 18px rgba(214,182,110,.04);
}

.resource-priority--soul {
  border-color: rgba(131,185,232,.35);
}

.resource-priority--debt.danger,
.resource-priority--debt[data-debt="active"] {
  border-color: rgba(168,83,89,.58);
  background: rgba(43,19,24,.55);
}

.resource-secondary-grid {
  margin: 5px 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.resource-secondary-grid div {
  padding: 5px 6px;
  border: 1px solid #27303c;
  border-radius: 6px;
  background: rgba(6,9,13,.56);
  text-align: center;
}

.resource-secondary-grid dt {
  color: #606d7e;
  font-size: .44rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.resource-secondary-grid dd {
  margin: 1px 0 0;
  color: #aeb7c3;
  font-size: .7rem;
  font-weight: 700;
}

.battle-lanes .front-column.front-control--friendly {
  border-color: rgba(82,118,101,.72);
}

.battle-lanes .front-column.front-control--enemy {
  border-color: rgba(168,83,89,.64);
}

.battle-lanes .front-column.front-control--contested {
  border-color: rgba(214,182,110,.45);
}

.front-control-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 3px 7px;
  border: 1px solid #3c4654;
  border-radius: 999px;
  background: rgba(7,10,14,.7);
  font-size: .48rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.front-control-pill--friendly {
  border-color: rgba(82,118,101,.72);
  color: #9bc2ad;
}

.front-control-pill--enemy {
  border-color: rgba(168,83,89,.68);
  color: #dfa0aa;
}

.front-control-pill--contested {
  border-color: rgba(214,182,110,.52);
  color: var(--oath-gold-bright);
}

@media (max-width: 980px) {
  .oath-status.hierarchy-status {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tactical-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .priority-beacon {
    padding: 11px 13px;
  }
}
