/* Agent conversation: report content stays available behind native disclosure controls. */
.conversation-room { margin-top:24px; padding:28px; background:#fff; border:1px solid #e0e7ef; border-radius:24px; box-shadow:0 8px 30px #24364b06; }
.conversation-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.room-eyebrow { color:#0f766e; font-size:11px; font-weight:800; letter-spacing:.16em; }
.conversation-heading h3 { margin:8px 0; font-size:26px; letter-spacing:-.04em; color:#152a3c; }
.conversation-heading p { margin:0; font-size:14px; line-height:1.7; color:#64748b; }
.room-tag { background:#eef8f5; color:#0f766e; padding:8px 12px; border-radius:30px; font-size:12px; font-weight:700; white-space:nowrap; }
.conversation-steps { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:24px; padding:16px 22px; border:1px solid #e2e8f0; border-radius:14px; background:#f8fafc; font-size:13px; }
.conversation-steps a { color:#475569; text-decoration:none; font-weight:800; }
.conversation-steps a:hover { color:#0f766e; }
.conversation-steps span { color:#a5b4c5; }
.conversation-chapter { padding-top:30px; scroll-margin-top:24px; }
.conversation-chapter h4 { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 24px; font-size:17px; color:#20384c; }
.conversation-chapter h4>span { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:10px; background:#edf2f7; color:#5c7085; font-size:12px; }
.conversation-chapter h4 small { font-size:12px; font-weight:400; color:#7b8794; }
.conversation-message { --agent-color:#2563eb; display:flex; gap:16px; align-items:flex-start; margin:0 0 22px; }
.agent-avatar { width:72px; height:72px; flex-shrink:0; object-fit:contain; border-radius:22px; }
.message-body { flex:1; min-width:0; max-width:850px; }
.speaker-line { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:26px; margin:0 0 8px 4px; font-size:13px; }
.speaker-line strong { color:#20384c; font-size:14px; }
.speaker-line>span { color:#7b8794; font-size:11px; }
.speaker-line .agent-state { margin-left:auto; padding:3px 8px; background:#f1f5f9; border-radius:20px; font-size:10px; }
.speech-bubble { position:relative; background:#f6f8fc; border:1px solid #e4eaf2; border-radius:0 18px 18px 18px; padding:18px 22px; color:#334155; font-size:14px; line-height:1.85; overflow-wrap:anywhere; }
.speech-bubble:before { content:''; position:absolute; left:-9px; top:-1px; width:9px; height:12px; background:inherit; border-top:1px solid #e4eaf2; clip-path:polygon(0 0,100% 0,100% 100%); }
.agent-preview { margin:0; white-space:pre-line; }
.agent-report { margin-top:12px; border-top:1px solid #dfe7f1; padding-top:10px; }
.agent-report[hidden] { display:none; }
.agent-report summary { cursor:pointer; color:var(--agent-color); font-size:12px; font-weight:700; width:fit-content; }
.agent-report summary:focus-visible,.conversation-steps a:focus-visible { outline:2px solid #2563eb; outline-offset:4px; border-radius:3px; }
.agent-report .agent-content { margin-top:14px; white-space:normal; }
.speech-bubble .loading-spinner { width:18px; height:18px; margin:0 0 8px; border-width:2px; }
.conversation-message[data-status="waiting"] .agent-avatar { opacity:.7; }
.conversation-message[data-status="loading"] .agent-state { background:#e0edff; color:#2563eb; }
.conversation-message[data-status="done"] .agent-state { background:#e4f5ed; color:#147d56; }
.conversation-message[data-status="error"] .agent-state { background:#fff0e9; color:#b45309; }
.role-bull { --agent-color:#059669; }
.role-bear { --agent-color:#b4533b; }
.role-bull .speech-bubble { background:#f0faf5; border-color:#d4ebdf; }
.role-bear .speech-bubble { background:#fff5f1; border-color:#f0ddd4; border-radius:18px 0 18px 18px; }
.role-bear,.role-risk { flex-direction:row-reverse; }
.role-bear .speech-bubble:before,.role-risk .speech-bubble:before { left:auto; right:-9px; transform:scaleX(-1); }
.role-risk .speech-bubble { border-radius:18px 0 18px 18px; background:#fffbf2; border-color:#eee4cf; }
.role-risk .speaker-line,.role-bear .speaker-line { margin-left:0; margin-right:4px; }
.role-research-manager { --agent-color:#475569; padding-top:20px; border-top:1px solid #e2e8f0; }
.role-research-manager[hidden] { display:none!important; }
.role-research-manager .message-body { max-width:none; }
.role-research-manager .speech-bubble { background:#f4f6fa; border-color:#dbe2ec; }
.role-research-manager .role-section-body { white-space:pre-line; }
.debate-turn .speech-bubble { white-space:pre-line; }
.final-chapter { margin-top:12px; padding:24px; background:#edf7f4; border-radius:18px; }
.final-chapter h4>span { background:#0f766e; color:#fff; }
.final-chapter .message-body { max-width:none; }
.final-chapter .speech-bubble { background:#fff; border-color:#cfe3dc; }
.final-chapter .conversation-message { margin-bottom:0; }
.final-chapter #decisionContent:empty { display:none; }
.final-chapter #decisionContent:not(:empty) { margin-top:16px; }
@media(max-width:760px) {
 .conversation-room { padding:18px 12px; border-radius:18px; }
 .conversation-heading { align-items:flex-start; }
 .conversation-heading h3 { font-size:21px; }
 .room-tag { display:none; }
 .conversation-heading p { font-size:12px; }
 .conversation-steps { padding:14px 10px; font-size:11px; gap:4px; }
 .conversation-chapter h4 { font-size:15px; gap:8px; }
 .conversation-chapter h4 small { flex-basis:100%; padding-left:38px; }
 .agent-avatar { width:48px; height:48px; border-radius:16px; }
 .conversation-message { gap:10px; }
 .speaker-line>span:not(.agent-state) { display:none; }
 .speech-bubble { padding:14px; font-size:13px; }
 .final-chapter { padding:16px 10px; }
 .final-chapter .conversation-message { display:block; }
 .final-chapter .agent-avatar { margin-bottom:8px; }
}
/* Keep round numbers visible alongside names on narrow screens. */
.debate-turn .speaker-line > span { display:inline; }
