/* Battle Card Theme */
body[data-game="battlecard"] {
  --bg-primary: #2a3020;
  --bg-secondary: #222818;
  --bg-card: #3a4230;
  --text-primary: #e8e0d0;
  --text-secondary: #b0a890;
  --accent: #c3b091;
  --accent-alt: #8b0000;
}

/* Combat resolver */
.combat-panel {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.25rem;
}

.strength-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}
.strength-group label {
  display: block;
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-bottom: 0.35rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.strength-input {
  width: 100%;
  background: var(--bg-primary);
  border: 2px solid var(--text-secondary);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  padding: 0.5rem;
  min-height: 56px;
}

/* CRT result display */
.crt-result {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: var(--radius-sm);
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
  display: none;
}
.crt-result.show { display: block; }
.crt-result .result-detail {
  font-size: 0.85rem;
  color: var(--text-secondary);
  margin-top: 0.35rem;
}

/* Phase stepper */
.phase-stepper {
  counter-reset: phase;
}
.phase-step {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem 0;
  align-items: flex-start;
  opacity: 0.5;
  transition: opacity var(--transition);
}
.phase-step + .phase-step {
  border-top: 1px solid rgba(255,255,255,0.06);
}
.phase-step.active {
  opacity: 1;
}
.phase-step.completed {
  opacity: 0.7;
}
.phase-number {
  counter-increment: phase;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bg-primary);
  border: 2px solid var(--text-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.phase-step.active .phase-number {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg-primary);
}
.phase-step.completed .phase-number {
  background: var(--text-secondary);
  border-color: var(--text-secondary);
  color: var(--bg-primary);
}
.phase-info h3 {
  font-size: 0.9rem;
  font-weight: 600;
}
.phase-info p {
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-top: 0.15rem;
}

/* Airdrop results */
.airdrop-results {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.airdrop-unit {
  background: var(--bg-primary);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
  text-align: center;
  flex: 1;
  min-width: 80px;
}
.airdrop-unit .unit-name {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-bottom: 0.25rem;
}
.airdrop-unit .unit-strength {
  font-size: 1.5rem;
  font-weight: 700;
}

/* Victory conditions */
.victory-panel {
  border-left: 3px solid var(--accent-alt);
  padding-left: 0.75rem;
  font-size: 0.85rem;
}
.victory-panel .win { color: var(--success); }
.victory-panel .lose { color: var(--accent-alt); }
