/* ===== cp_ranking_html (HTML form, scoped :where(.cp-ranking)) =====
   The ranking scrolls in its own box on screen; in print the box grows to
   the full list, as the Portal Engagement tables do. */

:where(.cp-ranking) .cp-rank-scroll { max-height: 425px; overflow: auto; }
@media print {
  :where(.cp-ranking) .cp-rank-scroll { max-height: none; overflow: visible; }
}
:where(.cp-ranking) .px-table.cp-rank-table td:first-child { width: 45%; }
:where(.cp-ranking) .cp-home-link {
  padding: 0;
  font: inherit;
  font-weight: 500;
  color: inherit;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}
:where(.cp-ranking) .cp-home-link:hover { text-decoration: underline; }
:where(.cp-ranking) .cp-rank-count { display: flex; align-items: center; gap: 0.9rem; }
:where(.cp-ranking) .cp-mini-track {
  width: 100%;
  max-width: 180px;
  height: 6px;
  background: var(--px-bg-elevated);
  border-radius: 4px;
}
:where(.cp-ranking) .cp-mini-bar {
  display: block;
  height: 6px;
  background: var(--cp-series-1);
  border-radius: 0 4px 4px 0;
}
:where(.cp-ranking) .cp-rank-closed {
  padding: 0.75rem 1.25rem;
  font-size: 0.75rem;
  background: var(--px-bg-deep);
  border-top: 1px solid var(--px-border);
}
:where(.cp-ranking) .cp-closed-title { margin: 0 0 0.35rem; font-weight: 600; }
:where(.cp-ranking) .cp-badge-closed { margin-left: 0.3rem; }
