/* V2 scenario card journey. Colours use the shared brand variables, so the
   journey follows the active theme instead of defining its own palette. */
.v2-player { min-height:100dvh; padding:0 0 90px; background:var(--bg); color:var(--text); }
.v2-player-bar { position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--border); background:var(--surface); }
.v2-player-meta { display:flex; flex:1; min-width:0; flex-direction:column; }
.v2-player-domain { color:var(--text-muted); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; }
.v2-player-title { overflow:hidden; font-size:.98rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.v2-player-title:focus { outline:none; }
.v2-player-icon { width:44px; height:44px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); color:var(--text); font-size:1.2rem; cursor:pointer; }
.v2-player-icon[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:#fff; }

.v2-emergency-strip { position:sticky; top:69px; z-index:28; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 18px; border-bottom:2px solid var(--danger); background:var(--surface2); color:var(--text); }
.v2-emergency-strip p { flex:1 1 260px; margin:0; font-size:.86rem; }
.v2-danger-solid { border:1px solid var(--danger); border-radius:6px; background:var(--danger); color:#fff; padding:10px 14px; font:inherit; font-weight:700; cursor:pointer; }
.v2-secondary { border:1px solid var(--border); border-radius:6px; background:var(--surface2); color:var(--text); padding:9px 13px; font:inherit; cursor:pointer; }
.v2-primary { border:1px solid var(--accent); border-radius:6px; background:var(--accent); color:#fff; padding:10px 15px; font:inherit; font-weight:700; cursor:pointer; }
.v2-primary:disabled, .v2-secondary:disabled { opacity:.4; cursor:default; }

.v2-jcard-nav { display:flex; gap:8px; overflow-x:auto; padding:14px 18px 4px; scrollbar-width:thin; }
.v2-jcard-nav-button { flex:0 0 auto; border:1px solid var(--border); border-radius:999px; background:var(--surface2); color:var(--text); padding:8px 14px; font:inherit; font-size:.8rem; white-space:nowrap; cursor:pointer; }
.v2-jcard-nav-button.is-active { background:var(--accent); color:#fff; border-color:var(--accent); font-weight:700; }

.v2-journey { max-width:760px; margin:0 auto; padding:10px 18px 40px; }
.v2-journey:focus { outline:none; }
.v2-jcard { display:none; }
.v2-jcard.is-active { display:block; }
.v2-jcard-head { margin:14px 0 6px; }
.v2-jcard-index { margin:0; color:var(--text-muted); font-size:.75rem; letter-spacing:.08em; }
.v2-jcard-title { margin:2px 0 0; font-size:clamp(1.3rem,4vw,1.7rem); }
.v2-jcard-title:focus { outline:none; }
.v2-jcard-title:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.v2-jcard-body { margin-top:14px; }
.v2-jcard-foot { display:flex; justify-content:space-between; gap:12px; margin-top:22px; }

.v2-journey-step { margin:0 0 18px; padding:16px 16px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.v2-step-title { margin:0 0 10px; font-size:1rem; }
.v2-step-lead { margin:0 0 8px; font-weight:700; }
.v2-step-copy { margin:0 0 10px; line-height:1.6; white-space:pre-line; }
.v2-step-note { margin:8px 0 0; color:var(--text-muted); font-size:.82rem; }
.v2-phrase { margin:0 0 10px; padding:12px 14px; border-left:3px solid var(--accent); background:var(--surface2); font-size:1.05rem; font-style:italic; }
.v2-rebuttal { margin:0 0 8px; padding:12px 14px; border-left:3px solid var(--accent2); background:var(--surface2); line-height:1.6; }
.v2-jcard-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.v2-jcard-action { border:1px solid var(--border); border-radius:6px; background:var(--surface2); color:var(--text); padding:8px 12px; font:inherit; font-size:.84rem; cursor:pointer; }
.v2-jcard-action-danger { border-color:var(--danger); color:var(--danger); font-weight:700; }

.v2-law-ref { margin:0 0 14px; }
.v2-law-ref:last-child { margin-bottom:0; }
.v2-law-act { margin:0; font-weight:700; }
.v2-law-section { margin:2px 0 8px; color:var(--text-muted); font-size:.86rem; }
.v2-law-text { margin:0 0 8px; padding:10px 12px; border-left:3px solid var(--accent); background:var(--surface2); font-style:italic; }
.v2-law-native { margin:0 0 8px; color:var(--text-muted); font-size:.8rem; }
.v2-law-application { margin:0; line-height:1.55; }
.v2-law-link { display:inline-block; margin-top:6px; color:var(--accent); font-size:.84rem; }

.v2-scripture-ref { margin:0 0 14px; }
.v2-scripture-meta { margin:0 0 6px; color:var(--text-muted); font-size:.82rem; font-weight:700; }
.v2-scripture-text { margin:0 0 8px; padding:10px 12px; border-left:3px solid var(--accent3); background:var(--surface2); font-style:italic; }

.v2-drill { display:flex; gap:6px; margin:10px 0 0; }
.v2-drill-rate { width:42px; height:42px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); color:var(--text); font:inherit; cursor:pointer; }
.v2-drill-rate.is-selected { background:var(--accent); color:#fff; border-color:var(--accent); }

.v2-blindside { margin:0 0 12px; padding:12px; border:1px dashed var(--border); border-radius:10px; background:var(--surface2); }
.v2-blindside-counter { margin:0 0 6px; font-weight:600; }
.v2-blindside-rebuttal { margin-top:8px; padding:10px 12px; border-left:3px solid var(--accent2); background:var(--surface); line-height:1.55; }

.v2-referrals { margin:0; padding-left:18px; }
.v2-referrals li { margin-bottom:10px; line-height:1.5; }
.v2-referrals span { display:block; color:var(--text-muted); font-size:.86rem; }
.v2-referrals a { color:var(--accent); font-size:.84rem; }

/* Grounding card — shows the statutory quotation and a plain-language check. */
.v2-grounding { margin:0 0 14px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.v2-grounding:last-of-type { margin-bottom:10px; }
.v2-grounding-cite { margin:0 0 8px; line-height:1.45; }
.v2-grounding-label { margin:0 0 4px; color:var(--text-muted); font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.v2-grounding-text { margin:0 0 8px; padding:10px 12px; border-left:3px solid var(--accent); background:var(--surface); font-style:italic; line-height:1.6; }
.v2-grounding-native { margin:0 0 8px; color:var(--text-muted); font-size:.82rem; }
.v2-grounding-link { display:inline-block; color:var(--accent); font-size:.84rem; }
.v2-grounding-check { margin-top:10px; }

/* Sensitive scenarios: earlier emergency action, no gamification. */
.v2-player.is-urgent .v2-jcard { border-color:var(--danger); }
.v2-player.is-urgent .v2-jcard-foot { display:none; }
.v2-player.is-urgent .v2-disclaimer { border-color:var(--danger); }
.v2-disclaimer { max-width:760px; margin:18px auto 0; padding:12px 16px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text-muted); font-size:.8rem; }

/* Completion state — the end of a scenario. */
.v2-complete { padding: 8px 2px 24px; }
.v2-complete-badge { margin:0 0 6px; color:var(--accent2); font-size:.74rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.v2-complete-title { margin:0 0 8px; font-size:clamp(1.25rem,4vw,1.6rem); }
.v2-complete-title:focus { outline:none; }
.v2-complete-title:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.v2-complete-copy { margin:0 0 20px; color:var(--text-muted); line-height:1.6; }
.v2-quiz, .v2-rating, .v2-next-ideas { margin:0 0 20px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.v2-quiz-label { margin:0 0 10px; color:var(--text-muted); font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.v2-quiz-question { margin:0 0 4px; font-weight:700; line-height:1.45; }
.v2-quiz-choices { display:grid; gap:8px; margin-top:12px; }
.v2-quiz-choice { width:100%; border:1px solid var(--border); border-radius:8px; background:var(--surface2); padding:12px 14px; color:var(--text); font:inherit; text-align:left; line-height:1.45; cursor:pointer; }
.v2-quiz-choice:hover:not(:disabled) { border-color:var(--accent); }
.v2-quiz-choice:disabled { cursor:default; }
.v2-quiz-choice.is-correct { border-color:var(--accent2); color:var(--accent2); font-weight:700; }
.v2-quiz-choice.is-wrong { border-color:var(--danger); color:var(--danger); }
.v2-quiz-result { margin:0 0 6px; font-weight:700; }
.v2-rating-row { display:flex; gap:8px; }
.v2-rating-btn { width:44px; height:44px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); color:var(--text); font:inherit; cursor:pointer; }
.v2-rating-btn.is-selected { background:var(--accent); color:#fff; border-color:var(--accent); font-weight:700; }
.v2-complete-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }

@media (max-width:520px) {
  .v2-player-bar { padding:10px 12px; }
  .v2-journey { padding:8px 12px 40px; }
  .v2-journey-step { padding:14px 13px 12px; }
}
