/* Styles for the debt-trajectory charts (dv-*) and the trajectory panel (dt-*). */
.dv-svg{width:100%;height:auto;display:block}
.dv-grid{stroke:var(--line,#e7e9ee);stroke-width:1}
.dv-zero{stroke:var(--faint,#8a93a3);stroke-width:1.5}
.dv-ax{fill:var(--faint,#8a93a3);font-size:10px;font-weight:600}
.dv-cap{fill:var(--faint,#8a93a3);font-size:10.5px;font-weight:700}
.dv-endlbl{fill:var(--ink,#1c2330);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.dv-legend{display:flex;gap:16px;justify-content:center;font-size:12px;color:var(--muted,#5e6878);font-weight:600;margin-top:6px;flex-wrap:wrap}
.dv-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:middle}
.dv-badge{display:inline-flex;align-items:center;font-weight:800;font-size:13px;padding:6px 12px;border-radius:999px;margin-bottom:10px}
.dv-chart{width:100%}
.dv-guide{stroke:#c3c9d4;stroke-width:1;stroke-dasharray:2 3}
.dv-cap-line{stroke:#b9c0cc;stroke-width:1}

/* the "start + spending + interest − payments = end" equation */
.dv-eq{margin-top:14px}
.dv-eq-head{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--faint,#8a93a3);margin-bottom:8px}
.dv-eq-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dv-term{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted,#5e6878);
  background:#f7f8fa;border:1px solid var(--line,#e7e9ee);border-radius:9px;padding:7px 11px}
.dv-term i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.dv-term-k{color:var(--muted,#5e6878)}
.dv-term b{font-weight:800;color:var(--ink,#1c2330);font-variant-numeric:tabular-nums}
.dv-term.end{background:var(--card,#fbfbf9);border-color:#d8dce4}
.dv-op{font-size:15px;font-weight:800;color:var(--faint,#8a93a3)}

/* ── Panel ─────────────────────────────────────────────────────────────────── */
.dt-panel{--line:#ddd9d3;--faint:#a69d94;--ink:#393432;--muted:#6d655e;--navy:#393432}
.dt-eyebrow{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--faint)}
.dt-title{margin:4px 0 4px;font-size:21px;font-weight:800;letter-spacing:-.2px}
.dt-section-lbl{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);margin:24px 0 12px}
.dt-block{background:var(--card,#fbfbf9);border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin-bottom:16px;
  box-shadow:0 1px 2px rgba(20,40,80,.05)}
.dt-block.agg{border-top:4px solid var(--navy);padding-top:16px}
.dt-block-head{margin-bottom:10px}
.dt-block-t{font-size:15.5px;font-weight:800}
.dt-block-s{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.dt-expand{margin-top:12px;border:1px solid var(--line);background:var(--card,#fbfbf9);color:var(--muted);font-family:inherit;
  font-weight:700;font-size:12.5px;padding:8px 14px;border-radius:9px;cursor:pointer;transition:.15s}
.dt-expand:hover{border-color:var(--faint);color:var(--ink)}
.dt-expand.open{background:#f4f5f8;color:var(--ink)}
.dt-detail{max-height:0;overflow:hidden;opacity:0;transition:opacity .3s ease}
.dt-detail.open{max-height:1200px;overflow:visible;opacity:1;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}

@media (prefers-reduced-motion: reduce){
  .dt-detail{transition-duration:.001ms}
}
