.rankings-page { --ranking-border: #bfc5cc; --ranking-link: #316c90; color: #24282c; }
.rankings-skip { position: fixed; top: -100px; left: 1rem; z-index: 10000; background: #fff; color: #153f5b; padding: 1rem 2rem; }
.rankings-skip:focus { top: 1rem; outline: 2px solid #316c90; }
.rankings-page .content__page { min-width: 0; }
.rankings-page .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rankings-page #ranking-main { scroll-margin-top: 110px; }
.rankings-page h1 { margin-top: 12px; font-size: 36px; line-height: 1.35; text-wrap: balance; }
.rankings-page .rankings-intro, .rankings-page .rankings-period { font-size: 16px; line-height: 1.8; margin-bottom: 20px; }
.rankings-page .rankings-back { display: inline-block; font-size: 15px; padding: 5px 0; }
.rankings-page a { color: var(--ranking-link); text-decoration: underline; text-underline-offset: .18em; }
.rankings-page a:hover { color: #153f5b; }
.rankings-page :is(a, button, summary, [tabindex]):focus-visible { outline: 2px solid #316c90; outline-offset: 3px; }
.rankings-page .rankings-directory-wrap, .rankings-page .rankings-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; margin-bottom: 2rem; }
.rankings-page .rankings-top-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; height: 18px; }
.rankings-page .rankings-top-scroll > div { height: 1px; }
.rankings-page table { width: 100%; border-collapse: collapse; margin: 0; font-variant-numeric: tabular-nums; }
.rankings-page th, .rankings-page td { border: 1px solid var(--ranking-border); vertical-align: middle; line-height: 1.5; }
.rankings-page thead th { background: #f1f3f5; color: #24282c; text-align: center; font-weight: 600; }
.rankings-page .rankings-directory th, .rankings-page .rankings-directory td { padding: 15px; font-size: 16px; }
.rankings-page .rankings-directory th[scope="row"] { width: 80px; text-align: center; background: #fff; }
.rankings-page .rankings-directory td:nth-child(2) { width: 130px; text-align: center; }
.rankings-page .rankings-period-links { display: flex; flex-wrap: wrap; gap: 3px 15px; }
.rankings-page .rankings-annual-links { display: flex; flex-direction: column; gap: 10px; }
.rankings-page .rankings-period-links a { display: inline-block; padding: 6.5px 0; white-space: nowrap; }
.rankings-page .rankings-muted { color: #666; }
.rankings-page .rankings-table { min-width: 1050px; table-layout: fixed; background: #fff; }
.rankings-page .rankings-table-full { min-width: 1770px; }
.rankings-page .rankings-table :is(th, td) { padding: 8px 7px; font-size: 14px; text-align: center; overflow-wrap: anywhere; }
.rankings-page .rankings-table .ranking-original { display: block; margin-top: 3px; font-size: 12px; color: #525a61; line-height: 1.4; font-weight: 400; }
.rankings-page .rankings-table :is(.ranking-cell-horse, .ranking-cell-trainer, .ranking-cell-owner, .ranking-cell-race) { text-align: left; }
.rankings-page .rankings-table .ranking-cell-horse { font-weight: 600; }
.rankings-page .rankings-table tbody tr:hover { background: #f5f8fa; }
.rankings-page .ranking-horse-start:not(:first-child) td { border-top-color: #929ca6; }
.rankings-page .ranking-extra-performance { font-style: italic; }
.rankings-page .ranking-col-ranking { width: 50px; }
.rankings-page .ranking-col-rating { width: 50px; }
.rankings-page .ranking-col-cat { width: 104px; }
.rankings-page .ranking-col-surface { width: 64px; }
.rankings-page .ranking-col-horse { width: 165px; }
.rankings-page .ranking-col-yof { width: 64px; }
.rankings-page .ranking-col-age { width: 52px; }
.rankings-page .ranking-col-sire { width: 150px; }
.rankings-page [class^="ranking-col-rank_"] { width: 70px; }
.rankings-page .rankings-table-history .ranking-col-ranking { width: 70px; }
.rankings-page :is(.ranking-col-change, .ranking-col-marker) { width: 44px; }
.rankings-page .ranking-col-sex { width: 64px; }
.rankings-page .ranking-col-owner { width: 225px; }
.rankings-page .ranking-col-trainer { width: 150px; }
.rankings-page .ranking-col-trained { width: 72px; }
.rankings-page .ranking-col-position { width: 48px; }
.rankings-page .ranking-col-race { width: 270px; }
.rankings-page .ranking-col-status { width: 48px; }
.rankings-page .ranking-col-dist { width: 75px; }
.rankings-page .ranking-col-run { width: 72px; }
.rankings-page .ranking-col-date { width: 90px; }
.rankings-page .rankings-note, .rankings-page .rankings-source, .rankings-page .rankings-scroll-note, .rankings-page .rankings-status { font-size: 14px; line-height: 1.7; }
.rankings-page .rankings-scroll-note { margin-bottom: 10px; color: #606970; }
.rankings-page .rankings-legend { margin: 24px 0; font-size: 14px; line-height: 1.7; }
.rankings-page .rankings-legend summary { cursor: pointer; width: fit-content; padding: 5px 0; font-weight: 600; }
.rankings-page .rankings-legend p { margin: 10px 0; }
.rankings-page [hidden] { display: none !important; }
@media (max-width: 600px) {
    .rankings-page h1 { font-size: 26px; }
    .rankings-page .rankings-directory th, .rankings-page .rankings-directory td { padding: 9px 7px; font-size: 14px; }
    .rankings-page .rankings-directory th[scope="row"] { width: 52px; }
    .rankings-page .rankings-directory td:nth-child(2) { width: 85px; }
    .rankings-page .rankings-period-links { gap: 0 12px; }
    .rankings-page .rankings-period-links a { padding: 8px 0; }
}
@media print {
    .rankings-page .rankings-table-wrap { overflow: visible; }
    .rankings-page .rankings-table { min-width: 0; table-layout: auto; }
    .rankings-page .rankings-table :is(th,td) { font-size: 8pt; padding: 3px; }
    .rankings-page .rankings-scroll-note, .rankings-page .rankings-back { display: none; }
    .rankings-page .rankings-top-scroll { display: none; }
}
