.ai-diaspora-report .report-back { display: flex; width: fit-content; }
.ai-diaspora-report .chart-download { font-family: 'Manrope', sans-serif; margin: -15px 0 45px; font-size: 14px; line-height: 1.8; }
.ai-diaspora-report .chart-download a, .ai-diaspora-report .figure-open { color: var(--rust); text-decoration: underline; }
.ai-diaspora-report .report-figure { scroll-margin-top: 115px; }
.ai-diaspora-report .report-figure figcaption { font-family: 'Manrope', sans-serif; font-size: 14px; letter-spacing: 0; line-height: 1.7; text-align: left; color: #514b43; }
.ai-diaspora-report .figure-open { display: inline-block; margin-left: .3em; white-space: nowrap; }
.ai-diaspora-report .report-grid { grid-template-columns: 240px minmax(0, 1fr); gap: 60px; }
.ai-diaspora-report .report-body-content { min-width: 0; }
.ai-diaspora-report .report-toc { max-height: calc(100vh - 140px); overflow-y: auto; padding-right: 10px; }
.ai-diaspora-report .report-toc a::before { display: none; }
.ai-diaspora-report .report-toc a { font-size: 13px; }
.ai-diaspora-report .toc-number { font-family: 'JetBrains Mono', monospace; color: var(--terracotta); font-size: 10px; min-width: 18px; }
.ai-diaspora-report summary { cursor: pointer; }
.ai-diaspora-report .source-ref { color: var(--terracotta); white-space: nowrap; }
.ai-diaspora-report .source-list { padding-left: 1.8rem; font-size: 14px; line-height: 1.65; }
.ai-diaspora-report .source-list li { padding-left: .35rem; margin-bottom: 1.3rem; scroll-margin-top: 110px; }
.ai-diaspora-report .source-list li:target { background: var(--paper-warm); outline: 2px solid var(--ochre); outline-offset: 5px; }
.ai-diaspora-report .source-list span { display: block; margin-top: .25rem; }
.ai-diaspora-report .source-list a { color: var(--rust); overflow-wrap: anywhere; }
.ai-diaspora-report .table-wrap:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 3px; }
.ai-diaspora-report .data-table td:first-child { min-width: 100px; }
.ai-diaspora-report .report-body-content a:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 3px; }
@media (max-width: 980px) {
 .ai-diaspora-report .report-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .ai-diaspora-report .report-toc { position: static; max-height: 55vh; }
}
@media print { .ai-diaspora-report .report-grid { grid-template-columns: minmax(0, 1fr); } }
