/* The same v4 surfaces, with a focused conversation after the opening. */
.conversation-person{display:flex;align-items:center;gap:13px;margin:12px 0 22px}
.conversation-avatar{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:16px;border:1px solid #d7e1e8}
.conversation-person h2{margin:0}.conversation-person p{margin-top:5px;color:var(--muted)}
.conversation-log{gap:18px;margin:18px 0 0}
.conversation-message{max-width:92%;padding:16px 18px;border-radius:18px;box-shadow:0 3px 12px #142e4010}
.conversation-message.student{background:#edf4eb;border-color:#cbdece;border-bottom-right-radius:5px}
.conversation-message.listener{background:#eef5fc;border-color:#d2e2ee;border-bottom-left-radius:5px}
.conversation-speaker{font-size:.78rem;letter-spacing:.01em;color:#496775}
.conversation-message.student .conversation-speaker{color:#30624d}
.conversation-message .request-quote{margin:0;font-size:1rem;line-height:1.8}
.conversation-message .conversation-source{border-top:1px solid #d2e2ee;padding-top:8px;color:#705619}
.practice-shell .conversation-panel{margin-top:20px;border-color:#cadfeb}
.practice-shell:has(.conversation-panel) .intro{padding:0}.practice-shell:has(.conversation-panel) .intro h1{font-size:clamp(1.5rem,4vw,2rem)}
.practice-shell:has(.conversation-panel) .intro-sub{display:none}
.practice-shell .conversation-progress{background:#edf5fc;border:1px solid #d1e3f2;border-radius:999px;display:inline-flex;padding:5px 11px;margin:0 0 12px;color:#366583}
.conversation-ready p{margin:10px 0 18px}.conversation-ready h2{font-size:1.3rem}
.listener-reaction.neutral .conversation-avatar{width:76px;height:76px;flex-basis:76px}
.feedback-shell .words-panel .conversation-log{margin-bottom:24px}
.feedback-shell .annotation-hint{margin-bottom:15px}
@media(max-width:600px){.conversation-message{max-width:97%;padding:13px}.conversation-log{gap:14px}.conversation-panel{padding:16px}.conversation-person{gap:10px}.conversation-person h2{font-size:1.1rem}.masthead .brand{font-size:.82rem}.masthead{gap:8px}.teacher-entry{padding:8px}.brand small{display:none}}
