/**
 * Risk outputs — war game, counter-perspective, failure cascade
 * Split from outputs.css — Phase 3.3
 */

/* ========================================
   WAR GAME OUTPUT
   ======================================== */

/* Empty/Not Suitable State */
.wg-empty {
  text-align: center;
  padding: 48px 24px;
  background: var(--color-surface-raised);
  border: 1px dashed var(--color-border);
  border-radius: 12px;
}

.wg-empty__icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}

.wg-empty__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 8px;
}

.wg-empty__context {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-bottom: 16px;
  font-style: italic;
}

.wg-empty__text {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 20px;
}

.wg-empty__reasons {
  text-align: left;
  background: var(--color-surface);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.wg-empty__reasons-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.wg-empty__reason {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

.wg-empty__hint {
  font-size: 13px;
  color: var(--color-text-muted);
  font-style: italic;
}

/* Header */
.wg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(239,68,68,0.08) 0%, rgba(245,158,11,0.08) 100%);
  border: 1px solid rgba(239,68,68,0.25);
  border-radius: 12px;
  margin-bottom: 16px;
}

.wg-header__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
}

.wg-header__moves {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-red-600);
  background: rgba(239,68,68,0.12);
  padding: 4px 12px;
  border-radius: 20px;
}

/* Scenario */
.wg-scenario {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 20px;
}

.wg-scenario__summary {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 12px;
  line-height: 1.5;
}

.wg-scenario__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.wg-scenario__stakes,
.wg-scenario__horizon {
  font-size: 13px;
  color: var(--color-text-secondary);
}

.wg-scenario__label {
  font-weight: 700;
  color: var(--color-text-muted);
}

/* Moves Timeline */
.wg-moves {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}

.wg-move {
  width: 100%;
  max-width: 500px;
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 16px 20px;
  position: relative;
}

.wg-move--you {
  border-color: var(--color-blue-500);
  background: linear-gradient(135deg, rgba(59,130,246,0.06) 0%, rgba(59,130,246,0.02) 100%);
}

.wg-move--them {
  border-color: var(--color-red-500);
  background: linear-gradient(135deg, rgba(239,68,68,0.06) 0%, rgba(239,68,68,0.02) 100%);
}

.wg-move__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.wg-move__number {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
}

.wg-move--you .wg-move__number {
  background: var(--color-blue-500);
  color: white;
}

.wg-move--them .wg-move__number {
  background: var(--color-red-500);
  color: white;
}

.wg-move__actor {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.wg-move--you .wg-move__actor {
  color: var(--color-blue-500);
}

.wg-move--them .wg-move__actor {
  color: var(--color-red-500);
}

.wg-move__action {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.5;
  margin-bottom: 12px;
}

.wg-move__details {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wg-move__intent,
.wg-move__risk {
  font-size: 13px;
  line-height: 1.4;
}

.wg-move__intent {
  color: var(--color-text-secondary);
}

.wg-move__risk {
  color: var(--color-red-600);
}

.wg-move__detail-label {
  font-weight: 600;
  color: var(--color-text-muted);
}

.wg-move__connector {
  font-size: 20px;
  color: var(--color-text-muted);
  padding: 8px 0;
}

/* Posture */
.wg-posture {
  text-align: center;
  padding: 20px;
  border-radius: 12px;
  margin-bottom: 20px;
}

.wg-posture--hold {
  background: linear-gradient(135deg, rgba(107,114,128,0.1) 0%, rgba(107,114,128,0.05) 100%);
  border: 2px solid var(--color-neutral-500);
}

.wg-posture--press {
  background: linear-gradient(135deg, rgba(34,197,94,0.1) 0%, rgba(34,197,94,0.05) 100%);
  border: 2px solid var(--color-green-500);
}

.wg-posture--slow-down {
  background: linear-gradient(135deg, rgba(245,158,11,0.1) 0%, rgba(245,158,11,0.05) 100%);
  border: 2px solid var(--color-amber-500);
}

.wg-posture--escalate {
  background: linear-gradient(135deg, rgba(239,68,68,0.1) 0%, rgba(239,68,68,0.05) 100%);
  border: 2px solid var(--color-red-500);
}

.wg-posture__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-text-muted);
  margin-bottom: 6px;
}

.wg-posture__value {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 6px;
}

.wg-posture--hold .wg-posture__value { color: var(--color-neutral-500); }
.wg-posture--press .wg-posture__value { color: var(--color-green-500); }
.wg-posture--slow-down .wg-posture__value { color: var(--color-amber-500); }
.wg-posture--escalate .wg-posture__value { color: var(--color-red-500); }

.wg-posture__reason {
  font-size: 13px;
  color: var(--color-text-secondary);
}

/* Conditions Grid */
.wg-conditions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.wg-conditions__col {
  padding: 16px;
  border-radius: 10px;
}

.wg-conditions__col--win {
  background: linear-gradient(135deg, rgba(34,197,94,0.08) 0%, rgba(34,197,94,0.03) 100%);
  border: 1px solid rgba(34,197,94,0.25);
}

.wg-conditions__col--lose {
  background: linear-gradient(135deg, rgba(239,68,68,0.08) 0%, rgba(239,68,68,0.03) 100%);
  border: 1px solid rgba(239,68,68,0.25);
}

.wg-conditions__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 10px;
}

.wg-conditions__col--win .wg-conditions__title { color: var(--color-green-500); }
.wg-conditions__col--lose .wg-conditions__title { color: var(--color-red-500); }

.wg-conditions__item {
  font-size: 13px;
  color: var(--color-text);
  padding: 8px 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  line-height: 1.4;
}

.wg-conditions__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.wg-conditions__item--empty {
  color: var(--color-text-muted);
  font-style: italic;
}

/* Early Signals */
.wg-signals {
  background: linear-gradient(135deg, rgba(139,92,246,0.08) 0%, rgba(139,92,246,0.03) 100%);
  border: 1px solid rgba(139,92,246,0.25);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 16px;
}

.wg-signals__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--color-violet-500);
  margin-bottom: 10px;
}

.wg-signals__item {
  font-size: 13px;
  color: var(--color-text);
  padding: 6px 0;
  line-height: 1.4;
}

/* Assumptions */
.wg-assumptions {
  background: rgba(245,158,11,0.06);
  border: 1px solid rgba(245,158,11,0.2);
  border-radius: 10px;
  padding: 12px 16px;
}

.wg-assumptions__title {
  font-size: 12px;
  font-weight: 700;
  color: var(--color-amber-500);
  margin-bottom: 8px;
}

.wg-assumptions__item {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

.wg-assumptions__item:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 640px) {
  .wg-conditions {
    grid-template-columns: 1fr;
  }
  
  .wg-move {
    max-width: 100%;
  }
}

/* ========================================
   COUNTER-PERSPECTIVE OUTPUT
   ======================================== */

/* Empty State */
.cp-empty {
  text-align: center;
  padding: 48px 24px;
  background: var(--color-surface-raised);
  border: 1px dashed var(--color-border);
  border-radius: 12px;
}

.cp-empty__icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}

.cp-empty__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 8px;
}

.cp-empty__text {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 20px;
}

.cp-empty__reasons {
  text-align: left;
  background: var(--color-surface);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.cp-empty__reasons-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.cp-empty__reason {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

.cp-empty__hint {
  font-size: 13px;
  color: var(--color-text-muted);
  font-style: italic;
}

/* Header */
.cp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(168,85,247,0.08) 0%, rgba(139,92,246,0.08) 100%);
  border: 1px solid rgba(168,85,247,0.25);
  border-radius: 12px;
  margin-bottom: 16px;
}

.cp-header__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
}

.cp-header__confidence {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-violet-500);
  background: rgba(139,92,246,0.12);
  padding: 4px 12px;
  border-radius: 20px;
}

/* Identity Card */
.cp-identity {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.cp-identity__who {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
}

.cp-identity__role {
  font-size: 14px;
  color: var(--color-text-muted);
}

.cp-identity__authority {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 12px;
  margin-left: auto;
}

.cp-identity__authority--high {
  background: rgba(239,68,68,0.12);
  color: var(--color-red-600);
}

.cp-identity__authority--medium {
  background: rgba(245,158,11,0.12);
  color: var(--color-amber-600);
}

.cp-identity__authority--low {
  background: rgba(107,114,128,0.12);
  color: var(--color-neutral-500);
}

.cp-identity__authority--unknown {
  background: rgba(156,163,175,0.12);
  color: var(--color-neutral-400);
}

/* Insights Grid */
.cp-insights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}

.cp-insight {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 14px 16px;
}

.cp-insight__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.cp-insight__value {
  font-size: 14px;
  color: var(--color-text);
  line-height: 1.5;
}

.cp-insight--priority {
  border-left: 3px solid var(--color-blue-500);
}

.cp-insight--constraint {
  border-left: 3px solid var(--color-neutral-500);
}

.cp-insight--fear {
  border-left: 3px solid var(--color-amber-500);
}

.cp-insight--walkaway {
  border-left: 3px solid var(--color-red-500);
}

/* Low-Cost Concession - Highlighted */
.cp-concession {
  background: linear-gradient(135deg, rgba(34,197,94,0.08) 0%, rgba(22,163,74,0.04) 100%);
  border: 2px solid rgba(34,197,94,0.3);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  text-align: center;
}

.cp-concession__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-green-500);
  margin-bottom: 4px;
}

.cp-concession__sublabel {
  font-size: 12px;
  color: var(--color-text-muted);
  margin-bottom: 12px;
}

.cp-concession__value {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.5;
}

/* Next Move Section */
.cp-nextmove {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 16px;
}

.cp-nextmove__item {
  padding: 14px 20px;
  border-bottom: 1px solid var(--color-border);
}

.cp-nextmove__item:last-child {
  border-bottom: none;
}

.cp-nextmove__item--hope {
  background: rgba(245,158,11,0.04);
}

.cp-nextmove__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--color-text-muted);
  margin-bottom: 6px;
}

.cp-nextmove__value {
  font-size: 14px;
  color: var(--color-text);
  line-height: 1.5;
}

/* Assumptions */
.cp-assumptions {
  background: rgba(245,158,11,0.06);
  border: 1px solid rgba(245,158,11,0.2);
  border-radius: 10px;
  padding: 12px 16px;
}

.cp-assumptions__title {
  font-size: 12px;
  font-weight: 700;
  color: var(--color-amber-500);
  margin-bottom: 8px;
}

.cp-assumptions__item {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

.cp-assumptions__item:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 640px) {
  .cp-insights {
    grid-template-columns: 1fr;
  }
  
  .cp-identity {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .cp-identity__authority {
    margin-left: 0;
  }
}

/* ========================================
   FAILURE CASCADE OUTPUT
   ======================================== */

/* Empty State */
.fc-empty {
  text-align: center;
  padding: 48px 24px;
  background: var(--color-surface-raised);
  border: 1px dashed var(--color-border);
  border-radius: 12px;
}

.fc-empty__icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}

.fc-empty__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 8px;
}

.fc-empty__context {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-bottom: 16px;
  font-style: italic;
}

.fc-empty__text {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 20px;
}

.fc-empty__reasons {
  text-align: left;
  background: var(--color-surface);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.fc-empty__reasons-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.fc-empty__reason {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

.fc-empty__hint {
  font-size: 13px;
  color: var(--color-text-muted);
  font-style: italic;
}

/* Header */
.fc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(239,68,68,0.08) 0%, rgba(220,38,38,0.08) 100%);
  border: 1px solid rgba(239,68,68,0.25);
  border-radius: 12px;
  margin-bottom: 16px;
}

.fc-header__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
}

.fc-header__stages {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-red-600);
  background: rgba(239,68,68,0.12);
  padding: 4px 12px;
  border-radius: 20px;
}

/* Decision Context */
.fc-context {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 20px;
}

.fc-context__summary {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 12px;
  line-height: 1.5;
}

.fc-context__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.fc-context__stakes,
.fc-context__time {
  font-size: 13px;
  color: var(--color-text-secondary);
}

.fc-context__label {
  font-weight: 700;
  color: var(--color-text-muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.fc-context__time--low { color: var(--color-green-500); }
.fc-context__time--medium { color: var(--color-amber-500); }
.fc-context__time--high { color: var(--color-red-500); }

/* Cascade Stages */
.fc-cascade {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}

.fc-stage {
  width: 100%;
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 16px 20px;
  position: relative;
}

.fc-stage--intervention {
  border-color: var(--color-green-500);
  background: linear-gradient(135deg, rgba(34,197,94,0.06) 0%, rgba(34,197,94,0.02) 100%);
}

.fc-stage__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.fc-stage__number {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-red-600);
  background: rgba(239,68,68,0.1);
  padding: 4px 10px;
  border-radius: 12px;
}

.fc-stage--intervention .fc-stage__number {
  color: var(--color-green-500);
  background: rgba(34,197,94,0.15);
}

.fc-stage__intervene-badge {
  font-size: 11px;
  font-weight: 600;
  color: var(--color-green-500);
}

.fc-stage__failure {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.5;
  margin-bottom: 12px;
}

.fc-stage__details {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fc-stage__cause,
.fc-stage__impact {
  font-size: 13px;
  line-height: 1.4;
}

.fc-stage__cause {
  color: var(--color-text-secondary);
}

.fc-stage__impact {
  color: var(--color-red-600);
}

.fc-stage__label {
  font-weight: 600;
  color: var(--color-text-muted);
}

.fc-stage__connector {
  font-size: 20px;
  color: var(--color-red-600);
  padding: 8px 0;
}

/* Intervention Point */
.fc-intervention {
  background: linear-gradient(135deg, rgba(34,197,94,0.1) 0%, rgba(22,163,74,0.05) 100%);
  border: 2px solid rgba(34,197,94,0.4);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  text-align: center;
}

.fc-intervention__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-green-500);
  background: rgba(34,197,94,0.15);
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 12px;
}

.fc-intervention__action {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.5;
  margin-bottom: 8px;
}

.fc-intervention__why {
  font-size: 13px;
  color: var(--color-text-secondary);
}

/* Early Warning Signals */
.fc-signals {
  background: linear-gradient(135deg, rgba(245,158,11,0.08) 0%, rgba(245,158,11,0.04) 100%);
  border: 1px solid rgba(245,158,11,0.25);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 16px;
}

.fc-signals__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--color-amber-500);
  margin-bottom: 12px;
}

.fc-signals__item {
  font-size: 14px;
  color: var(--color-text);
  padding: 8px 0;
  border-bottom: 1px solid rgba(245,158,11,0.15);
  line-height: 1.5;
}

.fc-signals__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Recovery Path */
.fc-recovery {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 16px;
}

.fc-recovery__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--color-text-muted);
  margin-bottom: 12px;
}

.fc-recovery__step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border);
}

.fc-recovery__step:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.fc-recovery__num {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-text-muted);
  flex-shrink: 0;
}

.fc-recovery__text {
  font-size: 14px;
  color: var(--color-text);
  line-height: 1.5;
}

/* Assumptions */
.fc-assumptions {
  background: rgba(107,114,128,0.06);
  border: 1px solid rgba(107,114,128,0.2);
  border-radius: 10px;
  padding: 12px 16px;
}

.fc-assumptions__title {
  font-size: 12px;
  font-weight: 700;
  color: var(--color-neutral-500);
  margin-bottom: 8px;
}

.fc-assumptions__item {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

.fc-assumptions__item:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 640px) {
  .fc-context__meta {
    flex-direction: column;
    gap: 8px;
  }
}

