/* First-run orientation and focused conversation, using the station's theme tokens. */
.ov-journey { display:flex; flex-wrap:wrap; gap:10px 24px; list-style:none; padding:14px 0 0; margin:12px 0 0; border-top:1px solid var(--ph-faint); color:var(--ph-dim); font-size:15px; }
.ov-journey li { display:flex; align-items:center; gap:9px; }
.ov-journey b { color:var(--ph); font-size:12px; letter-spacing:1px; }
.fnv-dialogue { background:linear-gradient(155deg, var(--panel2), var(--panel)); border-left:1px solid var(--ph-dim); padding:22px; gap:14px; overflow-y:auto; }
/* The conversation needs a solid reading surface over the underlying transcript. */
.fnv-dialogue::before { content:''; position:absolute; inset:0; background:#080b0b; z-index:-1; }
.fnv-stage { flex:none; color:var(--ph-dim); font-size:12px; letter-spacing:1.2px; line-height:1.5; text-transform:uppercase; }
.fnv-stage[hidden] { display:none; }
.fnv-speaker { color:var(--ph-bright); font-size:22px; letter-spacing:1px; padding-bottom:12px; }
.fnv-line { flex:1 0 auto; min-height:80px; overflow:visible; align-items:flex-start; font-size:20px; line-height:1.5; text-shadow:none; }
.fnv-ink { min-height:0; display:none; }
.fnv-ink.show { display:block; }
.fnv-opts { gap:9px; }
.fnv-opt { padding:12px; font-size:17px; line-height:1.3; border-radius:8px; text-shadow:none; }
.fnv-opt-l { overflow-wrap:anywhere; }
.fnv-more { align-self:flex-start; border:1px solid var(--ph-dim); border-radius:7px; background:var(--ph-faint); color:var(--ph-bright); font:inherit; font-size:17px; letter-spacing:0; padding:10px 16px; cursor:pointer; }
.fnv-more.show { animation:none; }
.fnv-more:hover, .fnv-more:focus-visible { border-color:var(--ph); outline:2px solid var(--ph); outline-offset:3px; }
.fnv-custom { display:grid; grid-template-columns:1fr auto; gap:8px; }
.fnv-custom-in { grid-column:1 / -1; grid-row:1; width:100%; box-sizing:border-box; resize:vertical; min-height:90px; line-height:1.45; padding:10px; }
.fnv-custom-back { justify-self:start; }
.fnv-custom-send { font-size:16px; }
@media (max-height:650px) { .fnv-dialogue { padding:14px; gap:9px; } .fnv-line { min-height:48px; font-size:18px; } .fnv-opt { padding:9px; } }
@media (max-width:700px) { .ov-journey { gap:8px 14px; font-size:13px; } .fnv-dialogue { padding:14px; } }

.ov-panel:has(#cc-recovery:not(.hidden)) .ov-journey { display:none; }
