/* Alpha47A17 — Ranking UI / first-load stability. */
.ranking-page-shell{position:relative;transition:filter .20s ease,opacity .20s ease}
.ranking-races-head h3{margin:16px 0 8px 18px!important;font-size:1.08rem}
.ranking-results{animation:rankingResultsIn .22s ease both}
@keyframes rankingResultsIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ranking-filters{grid-template-columns:minmax(220px,1.35fr) minmax(120px,.55fr) minmax(140px,.62fr) minmax(150px,.72fr) minmax(145px,.65fr) auto!important;gap:10px!important}
.ranking-filters label,.ranking-filters label:nth-of-type(3),.ranking-filters label:nth-of-type(3) .dropdown{min-width:0!important;max-width:none!important}
.ranking-filters .dropdown__menu{max-height:420px;overflow-y:auto}
.ranking-boot-mask{display:none;position:fixed;inset:0;z-index:5000;pointer-events:none;background:rgba(2,7,8,.24);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);align-items:center;justify-content:center;opacity:0;transition:opacity .20s ease,backdrop-filter .20s ease}
.ranking-boot-mask>span{width:30px;height:30px;display:block}.ranking-boot-mask svg{width:30px;height:30px;display:block}
body.ranking-booting .ranking-boot-mask{display:flex;opacity:1}
body.ranking-booting .ranking-page-shell{filter:blur(5px);opacity:.62}
body.ranking-ready .ranking-page-shell{filter:none;opacity:1}
@media(max-width:1100px){.ranking-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.ranking-filters{grid-template-columns:1fr!important}.ranking-races-head h3{margin-left:12px!important}.ranking-table{min-width:720px}.ranking-results{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.ranking-results{animation:none!important}.ranking-boot-mask,.ranking-page-shell{transition:none!important}}
.ranking-filters .dropdown__header-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#dbe8e5!important;padding:10px 12px!important;background:#151c1f!important}.ranking-filters .dropdown__header-toggle::after{content:'›';font-size:15px;transition:transform .14s ease}.ranking-filters .dropdown__header-toggle.is-open::after{transform:rotate(90deg)}.ranking-filters .dropdown__item[hidden]{display:none!important}

/* Alpha47A18 — side submenus, compact country combobox and unified menu typography. */
.ranking-filters{grid-template-columns:minmax(210px,1.25fr) minmax(110px,.52fr) minmax(150px,.68fr) minmax(180px,.78fr) minmax(135px,.58fr) auto!important;align-items:end!important}
.ranking-filters .dropdown__trigger,
.ranking-filters .dropdown__item,
.ranking-filters .dropdown__header,
.ranking-filters .dropdown__side-parent,
.ranking-filters .dropdown__side-menu .dropdown__item,
.ranking-filters .country-combobox-input,
.ranking-filters .country-combobox-item,
.ranking-filters .country-combobox-item .item-name{
  font:400 15.2px/1.25 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.ranking-filters .dropdown__value{font:inherit!important}
.ranking-filters .dropdown--side-groups .dropdown__menu{
  overflow:visible!important;
  max-height:none!important;
  min-width:210px!important;
  width:210px!important;
  padding:5px!important;
}
.ranking-filters .dropdown__side-parent{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:7px!important;
  color:#cbd5e1!important;
  background:transparent!important;
  cursor:pointer!important;
}
.ranking-filters .dropdown__side-parent::after{content:'›';margin-left:16px;font-size:18px;line-height:1;color:#8ea1b7}
.ranking-filters .dropdown__side-parent:hover,.ranking-filters .dropdown__side-parent.is-open{background:rgba(37,99,235,.10)!important;color:#fff!important}
.ranking-filters .dropdown__side-menu{
  position:absolute;
  z-index:260;
  left:calc(100% + 7px);
  width:220px;
  max-height:360px;
  overflow-y:auto;
  padding:5px;
  border:1px solid var(--duv-final-menu-frame,#3b82f6);
  border-radius:8px;
  background:var(--duv-final-menu-bg,#1e222a);
  box-shadow:0 14px 30px rgba(0,0,0,.42);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-4px);
  transition:opacity .12s ease,transform .12s ease,visibility .12s;
}
.ranking-filters .dropdown__side-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.ranking-filters .dropdown__side-menu .dropdown__item{min-height:40px!important;padding:9px 11px!important;border-radius:6px!important}
.ranking-country-filter{min-width:0!important;max-width:210px!important}
.ranking-country-filter>.ranking-filter-label{display:block;margin-bottom:6px}
.ranking-country-filter .country-combobox{width:210px!important;max-width:210px!important}
.ranking-country-filter .country-combobox-list{width:210px!important;min-width:210px!important;max-width:210px!important}
.ranking-table{min-width:860px}
.ranking-table th:nth-child(5),.ranking-table td:nth-child(5){white-space:nowrap}
@media(max-width:1100px){.ranking-country-filter,.ranking-country-filter .country-combobox{max-width:none!important;width:100%!important}.ranking-country-filter .country-combobox-list{width:100%!important;min-width:100%!important;max-width:100%!important}}
@media(max-width:760px){.ranking-filters .dropdown--side-groups .dropdown__menu{width:min(210px,calc(100vw - 40px))!important;min-width:0!important}.ranking-filters .dropdown__side-menu{position:fixed;left:18px!important;right:18px!important;top:50%!important;width:auto!important;max-height:52vh;transform:translateY(-50%)!important}.ranking-filters .dropdown__side-menu.is-open{transform:translateY(-50%)!important}}

/* Alpha47A19 — requested compact Ranking row spacing. */
.ranking-table th,
.ranking-table td{
  padding:6px 8px!important;
  text-align:left;
}


/* Alpha47A20 — load.svg +50% on the first Ranking boot mask. */
.ranking-boot-mask>span,.ranking-boot-mask svg{width:45px!important;height:45px!important}

/* Alpha47A21 — Ranking side menus are true body-level portals, never clipped by the parent menu. */
.dropdown__side-menu--portal{
  position:fixed!important;
  z-index:120500!important;
  width:220px;
  max-height:360px;
  overflow-y:auto;
  padding:5px;
  border:1px solid var(--duv-final-menu-frame,#3b82f6);
  border-radius:8px;
  background:var(--duv-final-menu-bg,#1e222a);
  box-shadow:0 14px 30px rgba(0,0,0,.42);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-4px);
  transition:opacity .12s ease,transform .12s ease,visibility .12s;
  font:400 15.2px/1.25 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
.dropdown__side-menu--portal.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.dropdown__side-menu--portal .dropdown__item{
  min-height:40px!important;padding:9px 11px!important;border-radius:6px!important;
  font:400 15.2px/1.25 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-transform:none!important;letter-spacing:normal!important;
}
.dropdown__side-menu--portal .dropdown__item:hover,
.dropdown__side-menu--portal .dropdown__item.is-selected{color:#fff!important;background:rgba(37,99,235,.10)!important;border-left-color:#2563eb!important}
.ranking-filters .dropdown:not(.is-open) .dropdown__trigger,
.ranking-filters .flag-select:not(.is-open) .flag-select-trigger{
  border:1px solid rgb(84 242 239 / 0%)!important;
  border-radius:10px!important;
  background:#1e222a!important;
  box-shadow:none!important;
}
.ranking-filters .dropdown:not(.is-open) .dropdown__trigger:hover,
.ranking-filters .flag-select:not(.is-open) .flag-select-trigger:hover{border-color:rgba(84,242,239,.6)!important;background:#1e222a!important}
@media(max-width:760px){
  .dropdown__side-menu--portal{left:18px!important;right:18px!important;top:50%!important;width:auto!important;max-height:52vh!important;transform:translateY(-50%)!important}
  .dropdown__side-menu--portal.is-open{transform:translateY(-50%)!important}
}


/* Alpha47A22 — disabled Performances + compact flag column. */
.ranking-filters .dropdown__side-parent.is-disabled{
  color:#5f6874!important;background:transparent!important;cursor:default!important;
}
.ranking-filters .dropdown__side-parent.is-disabled::after{color:#4b5563!important}
.dropdown__side-menu--portal .dropdown__item.is-disabled{
  color:#555f6d!important;background:transparent!important;cursor:not-allowed!important;
  border-left-color:transparent!important;pointer-events:none!important;
}
.dropdown__side-menu--portal .dropdown__item.is-disabled:hover{color:#555f6d!important;background:transparent!important}
.ranking-table th.ranking-flag-col,.ranking-table td.ranking-flag-col{
  width:15px!important;min-width:15px!important;max-width:15px!important;
  padding-left:0!important;padding-right:0!important;text-align:center!important;
}
.ranking-table .ranking-flag{display:inline-block!important;width:15px!important;max-width:15px!important;height:10px!important;object-fit:cover!important;border-radius:1px!important;vertical-align:middle!important}


/* Alpha47A27 — Ranking must become usable before flags finish loading. */
.ranking-table .ranking-flag{opacity:0;animation:rankingFlagIn .16s ease forwards}
@keyframes rankingFlagIn{to{opacity:1}}
.ranking-pager-lite,.ranking-page-lite{color:#8191a0;font:600 11px/1.2 Inter,system-ui,sans-serif}


/* Alpha47A35 — instant filters, sex SVGs and birth year instead of age category. */
.ranking-filters{grid-template-columns:minmax(220px,1.35fr) minmax(125px,.58fr) minmax(190px,.82fr) minmax(145px,.62fr)!important;align-items:end!important}
.ranking-sex-col{width:54px!important;min-width:54px!important;max-width:54px!important;text-align:center!important}
.ranking-sex-icon{display:inline-block;width:13px;height:22px;object-fit:contain;vertical-align:middle}
.ranking-sex-heading{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}
.ranking-sex-heading img{display:block;width:10px;height:17px;object-fit:contain}
.ranking-sex-heading span{color:#718096;font-size:11px;font-weight:500}
.ranking-sex-unknown{color:#64748b}
@media(max-width:1100px){.ranking-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.ranking-filters{grid-template-columns:1fr!important}}

/* Alpha47A36 — Derived Oldest Performances + Nation Rankings. */
.ranking-filters-oldest{grid-template-columns:minmax(210px,1.25fr) minmax(115px,.55fr) minmax(190px,.85fr) minmax(145px,.7fr) minmax(125px,.58fr)!important}
.ranking-filters-nations{grid-template-columns:minmax(240px,1.25fr) minmax(150px,.65fr)!important;max-width:650px}
.ranking-oldest-table{min-width:980px}
.ranking-oldest-table td:nth-child(5),.ranking-oldest-table td:nth-child(6){white-space:nowrap;text-align:center}
.ranking-oldest-table td:nth-child(8),.ranking-oldest-table td:nth-child(9){white-space:nowrap}
.ranking-nations-table{max-width:760px}
.ranking-nations-table th:nth-child(4),.ranking-nations-table th:nth-child(5),.ranking-nations-table td:nth-child(4),.ranking-nations-table td:nth-child(5){text-align:right}
.ranking-info{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border:1px solid #607083;border-radius:50%;color:#8493a5;font-size:9px;font-weight:700;vertical-align:2px;cursor:help}
@media(max-width:1100px){.ranking-filters-oldest{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ranking-filters-nations{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.ranking-filters-oldest,.ranking-filters-nations{grid-template-columns:1fr!important;max-width:none}}


/* Alpha47A37 — equalize Male/Female SVG footprint and center the whole sex column. */
.ranking-table th.ranking-sex-col,
.ranking-table td.ranking-sex-col,
.ranking-oldest-table th.ranking-sex-col,
.ranking-oldest-table td.ranking-sex-col{ text-align:center!important; vertical-align:middle!important; }
.ranking-sex-col .ranking-sex-heading,
.ranking-sex-col .ranking-sex-glyph,
.ranking-sex-col .ranking-sex-unknown{ margin-inline:auto; }
.ranking-sex-glyph{display:inline-flex;align-items:center;justify-content:center;width:18px;height:22px;line-height:0;vertical-align:middle}
.ranking-sex-icon,.ranking-sex-heading img{display:block;width:18px!important;height:22px!important;object-fit:contain;object-position:center center}
.ranking-sex-heading{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:22px}
.ranking-sex-separator{display:inline-flex;align-items:center;justify-content:center;min-width:8px;color:#8ea0b8;font-size:12px;line-height:1}


/* Alpha47A38 — compact mobile Runner rankings: rank, runner, sex, metric only. */
@media(max-width:760px){
  .ranking-results .ranking-table{min-width:0!important;width:100%!important;table-layout:auto}
  .ranking-results .ranking-table th,.ranking-results .ranking-table td{padding:8px 6px!important}
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) th:nth-child(2),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) td:nth-child(2),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) th:nth-child(5),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) td:nth-child(5){display:none!important}
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) th:nth-child(1),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) td:nth-child(1){width:42px!important;text-align:center!important}
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) th:nth-child(3),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) td:nth-child(3){width:auto!important}
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) th:nth-child(4),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) td:nth-child(4){width:38px!important;text-align:center!important}
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) th:nth-child(6),
  .ranking-results .ranking-table:not(.ranking-nations-table):not(.ranking-oldest-table) td:nth-child(6){width:92px!important;text-align:right!important;white-space:nowrap}
  .ranking-oldest-table th:nth-child(2),.ranking-oldest-table td:nth-child(2),
  .ranking-oldest-table th:nth-child(5),.ranking-oldest-table td:nth-child(5),
  .ranking-oldest-table th:nth-child(6),.ranking-oldest-table td:nth-child(6),
  .ranking-oldest-table th:nth-child(7),.ranking-oldest-table td:nth-child(7),
  .ranking-oldest-table th:nth-child(9),.ranking-oldest-table td:nth-child(9){display:none!important}
  .ranking-oldest-table th:nth-child(1),.ranking-oldest-table td:nth-child(1){width:42px!important;text-align:center!important}
  .ranking-oldest-table th:nth-child(4),.ranking-oldest-table td:nth-child(4){width:38px!important;text-align:center!important}
  .ranking-oldest-table th:nth-child(8),.ranking-oldest-table td:nth-child(8){width:96px!important;text-align:right!important;white-space:nowrap}
}

/* Alpha47A53 — one-click single-entry Ranking group. */
.ranking-filters .dropdown__side-parent--direct::after{display:none!important}
.ranking-filters .dropdown__side-parent--direct.is-selected{background:rgba(37,99,235,.10)!important;color:#fff!important;border-left:2px solid #2563eb!important}
