/* Keep names inside the existing fixed model column; only overflowing text moves. */
:is(#public, #multimodel, #coding) .leaderboard-table td:nth-child(2) .leaderboard-model-cell {
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}

:is(#home, #public, #multimodel, #coding) td:nth-child(2) .version-link.model-name-scroll {
  display: block !important;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.model-name-scroll > .model-name-scroll-text {
  display: inline-block;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  font: inherit;
  color: inherit;
  vertical-align: top;
}

.model-name-scroll.is-name-overflowing > .model-name-scroll-text {
  animation: model-name-cycle var(--model-name-duration, 5s) ease-in-out 0.6s infinite;
}

/* Restore the original leaderboard cycle: leftward reveal, hold, instant reset. */
@keyframes model-name-cycle {
  0%, 18% { transform: translateX(0); }
  76%, 88% { transform: translateX(var(--model-name-offset, 0px)); }
  88.01%, 100% { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .model-name-scroll.is-name-overflowing > .model-name-scroll-text {
    animation: none;
  }
  :is(#home, #public, #multimodel, #coding) td:nth-child(2) .version-link.model-name-scroll.is-name-overflowing {
    overflow-x: auto !important;
    scrollbar-width: thin;
  }
}
