.astra-jump { display:flex; flex-wrap:wrap; gap:.65rem 1rem; padding:1.25rem; margin:0 0 2rem; border:1px solid var(--line,#d4d9dd); border-radius:8px; background:var(--paper,#f7f8fa); }
.astra-jump strong { flex-basis:100%; }
.astra-jump a { font-size:.92rem; text-underline-offset:3px; }
.astra-comparison { margin:1.8rem 0 2.5rem; max-width:100%; min-width:0; }
.astra-table-scroll { overflow-x:auto; max-width:100%; border:1px solid var(--line,#d4d9dd); border-radius:8px; }
.astra-table-scroll:focus-visible { outline:3px solid #176bc2; outline-offset:3px; }
.astra-comparison table { width:100%; min-width:600px; border-collapse:collapse; font-size:.88rem; line-height:1.55; }
.astra-comparison caption { text-align:left; font-weight:700; padding:1rem; background:#173147; color:#fff; }
.astra-comparison th,.astra-comparison td { text-align:left; vertical-align:top; padding:.9rem .85rem; border-bottom:1px solid #dde3e8; }
.astra-comparison thead { background:#eaf0f4; color:#172b3a; }
.astra-comparison tbody tr:nth-child(even) { background:#f5f7f9; }
.astra-comparison tbody th { min-width:145px; font-weight:650; }
.astra-comparison tbody tr:last-child>* { border-bottom:0; }
.astra-comparison a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.article-body .astra-table-note,.article-body .astra-table-hint { font-size:.8rem; line-height:1.6; color:#506170; margin:.7rem 0; }
.article-layout>* { min-width:0; }
.astra-chart { margin:2rem 0; }
/* Editorial charts: data labels remain text, independent of SVG size and colour. */
.astra-chart { margin:2.5rem 0; padding:1.5rem 0; border-top:3px solid #2066a8; border-bottom:1px solid #d5dfe8; color:#172d40; }
.astra-chart figcaption { display:block; padding:0; }
.astra-chart-index { font:700 .75rem/1.5 sans-serif; letter-spacing:.12em; color:#2066a8; }
.article-body .astra-chart h3,.article-body .astra-agent-diagram h3 { font-size:1.4rem; line-height:1.3; margin:.5rem 0; }
.article-body .astra-chart figcaption p { font-size:.875rem; line-height:1.6; margin:.6rem 0 1.25rem; }
.astra-chart-rows { list-style:none; padding:0; margin:1.25rem 0 .5rem; }
.astra-chart-rows li { padding:0; margin:0 0 1.1rem; }
.astra-chart-row-label { display:flex; align-items:baseline; justify-content:space-between; gap:.7rem; font-size:.9rem; line-height:1.45; margin-bottom:.45rem; }
.astra-chart-row-label span { min-width:0; overflow-wrap:anywhere; }
.astra-chart-row-label strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
.astra-chart svg { display:block; max-width:100%; }
.astra-chart-track { fill:#edf1f5; }
.astra-chart-input { fill:#2066a8; stroke:#173147; stroke-width:.5; }
.astra-chart-output { fill:#c9952b; stroke:#73530f; stroke-width:.5; }
.article-body .astra-chart-legend { display:flex; flex-wrap:wrap; gap:1.1rem; font-size:.875rem; margin:.8rem 0; }
.astra-chart-legend span { display:flex; align-items:center; gap:.4rem; }
.astra-chart-legend i { display:inline-block; width:14px; height:14px; border:1px solid #173147; }
.astra-key-input { background:#2066a8; }
.astra-key-output { background:#c9952b; }
.astra-chart-components { font-size:.75rem; line-height:1.5; color:#506170; display:block; margin-top:.3rem; }
.astra-chart-axis { display:flex; justify-content:space-between; border-top:1px solid #718394; padding-top:.45rem; font-size:.75rem; font-variant-numeric:tabular-nums; }
.article-body .astra-chart-note,.article-body .astra-chart-source { font-size:.8rem; line-height:1.65; margin:1rem 0 0; color:#506170; }
.astra-chart-source { overflow-wrap:anywhere; }
.astra-agent-diagram { margin:2rem 0; padding:1.25rem; background:#f1f5f9; }
.article-body .astra-agent-diagram p { font-size:.875rem; line-height:1.65; margin:.75rem 0; }
.astra-agent-diagram ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; list-style:none; margin:1.2rem 0; padding:0; }
.astra-agent-diagram li { border-left:3px solid #2066a8; padding-left:.75rem; margin:0; }
.astra-agent-diagram strong { display:block; font-size:.9rem; }
.astra-agent-diagram li span { display:block; font-size:.8rem; line-height:1.5; margin-top:.3rem; }
@media(max-width:400px) { .astra-agent-diagram ol { grid-template-columns:1fr; } .astra-chart-row-label { font-size:.875rem; } }
@media print { .astra-chart,.astra-agent-diagram { break-inside:avoid; } .astra-chart svg { print-color-adjust:exact; } }
.article-body .astra-section-sources { font-size:.78rem; line-height:1.7; padding-top:.65rem; border-top:1px solid #dde3e8; color:#506170; overflow-wrap:anywhere; }
@media(min-width:760px) { .astra-table-hint { display:none; } }
