.dsc-chat { scroll-margin-top: 5rem; min-width: 0; }
/* The native-width graph scrolls inside the card, not its parent grid track. */
.dsc-detail__main:has(.dsc-chat) { min-width: 0; }
.dsc-detail__hero a[href="#dsc-chat-analysis"] { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.dsc-chat__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-block: 1.5rem; }
.dsc-chat__form select,
.dsc-chat__form input[type="file"] { width: 100%; min-width: 0; max-width: 100%; color: inherit; background: var(--bg-primary); }
.dsc-chat .dsc-btn { max-width: 100%; min-height: 44px; white-space: normal; text-align: start; margin: .3rem .3rem .3rem 0; }
.dsc-chat__check { display: flex; align-items: flex-start; gap: .7rem; margin-block: 1rem; cursor: pointer; }
.dsc-chat__check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: .15rem; accent-color: var(--dsc-accent); }
.dsc-chat__coverage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .35rem 1rem; margin-block: 1rem; }
.dsc-chat__coverage dt { color: var(--text-muted); }
.dsc-chat__coverage dd { margin: 0; overflow-wrap: anywhere; }
.dsc-chat__phase,
.dsc-chat__proposal,
.dsc-chat__sharing { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1rem; margin-block: 1rem; }
.dsc-chat__sharing:empty { display: none; }
.dsc-chat__finding { border-inline-start: 3px solid var(--border); padding-inline-start: 1rem; margin-block: 1rem; }
.dsc-chat h4 { margin-block: 1.5rem .6rem; }
.dsc-chat h5 { font: inherit; font-weight: 650; margin-block: .5rem; }
.dsc-chat p,
.dsc-chat li { overflow-wrap: anywhere; white-space: pre-wrap; }
.dsc-chat details { margin-block: .7rem; }
.dsc-chat summary { min-height: 44px; cursor: pointer; padding-block: .5rem; }
.dsc-chat blockquote { margin: .75rem 0; padding-inline-start: 1rem; border-inline-start: 3px solid var(--dsc-accent); white-space: pre-wrap; }
.dsc-chat__field { margin-block: .75rem; }
.dsc-chat__field .dsc-chat__field { padding-inline-start: 1rem; }
.dsc-chat__graph { width: 100%; overflow: auto; margin-block: 1rem; }
.dsc-chat__graph svg { display: block; width: 100%; min-width: 500px; color: inherit; }
.dsc-chat__graph line { stroke: currentColor; stroke-opacity: .35; stroke-width: 1.5; }
.dsc-chat__graph circle { fill: var(--dsc-accent); stroke: currentColor; }
.dsc-chat__graph text { fill: currentColor; font: 11px sans-serif; }
@media (max-width: 480px) {
    .dsc-chat__phase, .dsc-chat__proposal, .dsc-chat__sharing { padding: .75rem; }
    .dsc-chat .dsc-btn { width: 100%; margin-inline: 0; }
}
