.rank-timeline {
  margin: 1.3rem 0;
  padding: 1.35rem;
  border: 1px solid var(--border, #dae2ec);
  border-radius: 16px;
  background: var(--surface, #fff);
  color: var(--text, #18263a);
}
.rank-timeline__title { font-size: 1.1rem; margin: 0 0 .6rem; }
.rank-timeline__status { margin: .5rem 0; font-weight: 650; line-height: 1.65; }
.rank-timeline__scope { margin: .4rem 0 .8rem; color: var(--text-muted, #52647b); font-size: .86rem; line-height: 1.6; }
.rank-timeline__graph { max-width: 100%; overflow-x: auto; padding-bottom: .3rem; }
.rank-timeline__svg { display: block; max-width: none; }
.rank-timeline__axis-label { fill: #5d6b7d; font-family: inherit; font-size: 12px; }
.rank-timeline__end-label { font-family: inherit; font-size: 11px; font-weight: 650; }
.rank-timeline__legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .7rem 0 1rem; padding: 0; list-style: none; }
.rank-timeline__legend-item { display: inline-flex; gap: .4rem; align-items: center; font-size: .8rem; }
.rank-timeline__legend-dot { width: .6rem; height: .6rem; border-radius: 50%; flex: 0 0 auto; }
.rank-timeline__table-wrap,
.rank-timeline__detail { max-width: 100%; overflow-x: auto; }
.rank-timeline__table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.rank-timeline__table caption { text-align: left; margin-bottom: .6rem; color: var(--text-muted, #52647b); line-height: 1.5; }
.rank-timeline__table th,
.rank-timeline__table td { border-bottom: 1px solid var(--border, #dae2ec); padding: .7rem .75rem; text-align: right; white-space: nowrap; }
.rank-timeline__table th:first-child { text-align: left; }
.rank-timeline__table thead { background: #f4f7fb; }
.rank-timeline__field { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 1.1rem 0 .85rem; }
.rank-timeline__label { font-size: .9rem; font-weight: 650; }
.rank-timeline__select { min-height: 44px; max-width: 100%; border: 1px solid #c8d4e3; border-radius: 9px; padding: .6rem .8rem; color: inherit; background: #fff; font: inherit; }
.rank-timeline__select:focus-visible { outline: 3px solid #83b5f6; outline-offset: 2px; }
.rank-timeline__exclusions { margin: 1rem 0; padding-top: .8rem; border-top: 1px solid var(--border, #dae2ec); }
.rank-timeline__exclusions summary { cursor: pointer; font-size: .88rem; font-weight: 650; }
.rank-timeline__exclusion-list,
.rank-timeline__notes { font-size: .84rem; line-height: 1.7; padding-left: 1.2rem; }
.rank-timeline__exclusion-list li,
.rank-timeline__notes li { margin-bottom: .4rem; }
.rank-timeline__notes { color: var(--text-muted, #52647b); margin-bottom: 0; }
.rank-timeline__empty { font-size: .9rem; line-height: 1.65; }
.rank-timeline [hidden] { display: none !important; }
@media (max-width: 540px) {
  .rank-timeline { padding: 1rem; border-radius: 12px; }
  .rank-timeline__field { flex-direction: column; align-items: stretch; }
  .rank-timeline__select { width: 100%; }
  .rank-timeline__table th,
  .rank-timeline__table td { padding: .65rem .6rem; }
}
