/* Staged challenge modal */
.challenge-title { font-family: var(--font-display); color: var(--accent-ember); font-weight: 700; letter-spacing: .06em; margin-bottom: .75rem; }
.challenge-flavor { font-family: var(--font-prose); color: var(--text-secondary); font-style: italic; margin-bottom: .8rem; line-height: 1.5; }
.challenge-obstacle { background: rgba(192,64,64,.12); border: 1px solid var(--text-danger); border-radius: var(--radius); padding: .5rem .7rem; color: var(--text-danger); font-size: .8rem; margin-bottom: .7rem; }
.challenge-result { font-size: .8rem; font-weight: 600; margin-bottom: .7rem; padding: .35rem .6rem; border-radius: var(--radius); background: var(--bg-surface); }
.challenge-result.success, .challenge-result.critical_success { color: var(--cond-health); }
.challenge-result.partial { color: var(--accent-gold); }
.challenge-result.failure { color: var(--text-danger); }
.challenge-stage-name { font-weight: 700; color: var(--text-primary); margin-bottom: .25rem; }
.challenge-stage-desc { font-size: .85rem; color: var(--text-muted); margin-bottom: .8rem; line-height: 1.5; }
.challenge-options { display: flex; flex-direction: column; gap: .45rem; }
.challenge-opt { width: 100%; text-align: left; }
.challenge-outcome { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; text-align: center; margin: .5rem 0; }
.challenge-outcome.win { color: var(--cond-health); }
.challenge-outcome.loss { color: var(--text-danger); }
.challenge-summary { text-align: center; color: var(--text-muted); font-size: .85rem; }
