.interval-timeline { margin: 0 0 var(--sp-3); }
.timeline-title { margin: 0 0 var(--sp-2); font-weight: 700; color: var(--ink); }
.timeline-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 var(--sp-2); }
.timeline-nav[hidden], .timeline-nav button[hidden] { display: none; }
.timeline-nav button { min-height: 44px; padding: 0 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg1); color: var(--ink); font: inherit; cursor: pointer; }
.timeline-nav button:hover:not(:disabled) { border-color: var(--accent); }
.timeline-nav button:disabled { color: var(--muted); cursor: default; }
.timeline-range { margin: 0 0 0 4px; color: var(--muted); font-size: 14px; }
.timeline-frame { direction: rtl; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--border); border-radius: 8px; }
.timeline-frame:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

figure.chart .timeline-frame > svg { direction: ltr; display: block; width: auto; max-width: none; height: auto; }
.timeline-mark { outline: none; }

.timeline-mark:focus-visible .chart-hit, .timeline-mark:hover .chart-hit { stroke: var(--accent); stroke-width: 1.5; }

.chart-data { margin: var(--sp-2) 0 0; }
.chart-data > summary { min-height: 44px; display: flex; align-items: center; width: fit-content; cursor: pointer; color: var(--accent-text); }
.chart-data[open] > summary { margin-bottom: var(--sp-2); }
.chart-data caption { caption-side: top; text-align: left; color: var(--muted); padding: 0 0 6px; }

.editorial, #disputes { border-bottom: 0; }
