/* =============================================================================
   Encounter Strip — live GM encounter docked onto the character Overview
   page (PDR-0005 extension). Read-only slice 1a.
   ============================================================================= */

.encounter-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.75rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-control);
}

.encounter-strip-round {
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
}

.encounter-strip-initiative {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  flex: 1 1 auto;
}

.encounter-strip-combatant {
  padding: 0.15rem 0.5rem;
  border-radius: var(--radius-control);
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  color: var(--text-secondary);
  font-size: 0.85rem;
}

.encounter-strip-combatant.is-current {
  border-color: var(--info);
  color: var(--text-primary);
}

.encounter-strip-combatant.is-you {
  font-weight: 600;
  color: var(--text-primary);
}

.encounter-strip-you-up {
  padding: 0.15rem 0.5rem;
  border-radius: var(--radius-control);
  background: var(--success-bg);
  color: var(--success);
  font-weight: 600;
  font-size: 0.85rem;
  white-space: nowrap;
}

.encounter-strip-link {
  margin-left: auto;
  white-space: nowrap;
  color: var(--info);
}

.encounter-strip-link:hover {
  color: var(--text-primary);
}

.encounter-strip-toggle {
  padding: 0.15rem 0.6rem;
  border-radius: var(--radius-control);
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  color: var(--text-secondary);
  font-size: 0.85rem;
  cursor: pointer;
  white-space: nowrap;
}

.encounter-strip-toggle:hover {
  color: var(--text-primary);
  border-color: var(--border-emphasis);
}

/* =============================================================================
   Combatant panel — floating window body (slice 1b). The outer window chrome
   (drag header, close) comes from floating-cards.css; these rules style the
   registered body + the per-type width override.
   ============================================================================= */

.floating-card-encounter-combatants {
  width: 260px;
}

.encounter-combatant-panel {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.encounter-combatant-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.3rem 0.5rem;
  border-radius: var(--radius-control);
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
}

.encounter-combatant-row.is-current {
  border-color: var(--info);
}

.encounter-combatant-row.is-you .encounter-combatant-name {
  font-weight: 600;
  color: var(--text-primary);
}

.encounter-combatant-name {
  color: var(--text-secondary);
  font-size: 0.9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.combatant-hp {
  color: var(--text-secondary);
  font-size: 0.85rem;
  white-space: nowrap;
}

.combatant-wound {
  color: var(--text-muted);
  font-size: 0.8rem;
  white-space: nowrap;
}

/* GM-only rich vital-status chip (8b-d, O-5) — written by the apply seam;
   redaction drops :vital-status so players never see it. */
.combatant-vital {
  font-size: 0.7rem;
  padding: 0 0.3rem;
  margin-left: 0.3rem;
  border: 1px solid var(--border-primary);
  color: var(--text-secondary);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.combatant-vital-dying,
.combatant-vital-critical {
  color: var(--error);
  border-color: var(--error);
  background: var(--error-bg);
}

.combatant-vital-dying-stable,
.combatant-vital-awaiting-scar {
  color: var(--warning);
  border-color: var(--warning);
  background: color-mix(in srgb, var(--warning) 15%, transparent);
}

.combatant-vital-dead {
  color: var(--text-muted);
  border-color: var(--text-muted);
}

.encounter-combatant-empty {
  color: var(--text-muted);
  font-size: 0.85rem;
  padding: 0.3rem 0.5rem;
}

/* Spoiler-safe enemy health bands (server-redacted for non-GMs). */
.health-band-chip {
  padding: 0.1rem 0.45rem;
  border-radius: var(--radius-control);
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.health-band-chip.band-healthy {
  background: var(--success-bg);
  color: var(--success);
}

.health-band-chip.band-hurt {
  background: var(--warning-bg);
  color: var(--warning);
}

.health-band-chip.band-bloodied {
  background: var(--wound-orange-bg);
  color: var(--wound-orange);
}

.health-band-chip.band-critical {
  background: var(--error-bg);
  color: var(--error);
}

.health-band-chip.band-dead {
  background: var(--wound-gray-bg);
  color: var(--text-muted);
}

/* Two-phase damage-submit status chips (v4) — the player's own damage rolls +
   whether the GM has accepted/rejected them, on the Overview strip. */
.encounter-strip-damage-submits {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.35rem;
}

.encounter-strip-damage-submit {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  padding: 0.2rem 0.35rem;
  border-radius: 4px;
  background: var(--bg-secondary);
}

.encounter-strip-damage-submit.enc-submitted-applied {
  background: var(--success-bg);
}

.encounter-strip-damage-submit.enc-submitted-rejected {
  background: var(--error-bg);
}
