:is(.cz-stat-tabs, .cz-rank-toolbar, .cz-reward-leaders), :is(.cz-stat-tabs, .cz-rank-toolbar, .cz-reward-leaders) * { box-sizing: border-box; }
.cz-stat-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; margin-block-end: 22px; border: 1px solid var(--page-border); border-radius: 16px; background: var(--page-panel); }
.cz-stat-tabs a { display: flex; align-items: center; justify-content: center; gap: 9px; min-block-size: 46px; padding: 12px 20px; border-radius: 11px; color: var(--text-custom); font-size: 14px; font-weight: 650; }
.cz-stat-tabs svg { inline-size: 1.2em; block-size: 1.2em; fill: currentColor; }
.cz-stat-tabs a[aria-current="page"] { background: color-mix(in oklch,var(--span) 20%,var(--page-panel)); color: var(--text-default); }
.cz-menu-page[data-cz-page="leaderboard"] > .row.cz-rank-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
.cz-menu-page > .row > .cz-rank-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 16px 18px; background: var(--page-panel); border: 1px solid var(--page-border); border-radius: 16px; }
.cz-rank-server { flex: 0 1 350px; min-inline-size: 0; }
.cz-rank-label { display: block; margin-block-end: 7px; color: var(--text-custom); font-size: 11px; }
.cz-rank-server .adaptive-select-wrapper { inline-size: 100%; }
.cz-rank-server .adaptive-select { inline-size: 100%; }
.cz-rank-server .adaptive-select__span_text { min-inline-size: 0; overflow: clip; white-space: nowrap; text-overflow: ellipsis; }
.cz-rank-server .adaptive-select__dropdown-list { max-inline-size: 100%; z-index: 60; }
.cz-rank-filters { position: relative; flex: 0 1 225px; }
.cz-rank-filters summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-block-size: 44px; padding: 12px 16px; border: 1px solid var(--page-border); background: var(--page-inset); border-radius: 11px; cursor: pointer; color: var(--text-custom); font-size: 13px; list-style: none; }
.cz-rank-filters summary::-webkit-details-marker { display: none; }
.cz-rank-filters[open] summary { color: var(--text-default); border-color: var(--span); }
.cz-rank-filters__panel { position: absolute; z-index: 50; inset-block-start: calc(100% + 8px); inset-inline-start: 0; inline-size: min(300px, calc(100vw - 72px)); padding: 18px; max-block-size: min(480px, 65dvh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--page-border); border-radius: 14px; background: var(--card); box-shadow: 0 16px 40px oklch(5% .02 245 / .4); }
.cz-rank-filters__panel fieldset { border: 0; margin: 0; padding: 0; }
.cz-rank-filters__panel legend { font-size: 12px; margin-block-end: 8px; }
.cz-rank-filters__panel .inputs-inline { margin-block-end: 6px; }
.cz-menu-page .cz-rank-filters__panel .leaderboard__form { display: block; }
.cz-rank-history { display: flex; align-items: center; gap: 9px; margin-inline-start: auto; min-block-size: 44px; padding: 10px; color: var(--text-custom); font-size: 13px; }
.cz-reward-leaders { min-inline-size: 0; }
.cz-reward-leaders__heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: clamp(20px,3cqi,32px); border: 1px solid var(--page-border); border-radius: 18px; background: linear-gradient(110deg,var(--page-inset),var(--page-panel)); }
.cz-reward-leaders__heading > div:first-child { flex: 1 1 320px; min-inline-size: 0; }
.cz-reward-leaders__eyebrow { color: var(--span); font-size: 10px; font-weight: 650; letter-spacing: .14em; }
.cz-reward-leaders__heading h2 { font-family: var(--font-family-1); font-size: clamp(18px,2.5cqi,25px); line-height: 1.4; margin: 10px 0; color: var(--text-default); }
.cz-reward-leaders__heading p { font-size: 13px; line-height: 1.6; color: var(--text-custom); margin: 0; }
.cz-reward-leaders__total { display: grid; gap: 6px; text-align: end; }
.cz-reward-leaders__total b { font-family: var(--font-family-1); font-size: 28px; line-height: 1.3; color: var(--text-default); }
.cz-reward-leaders__total span { font-size: 12px; color: var(--text-custom); }
.cz-reward-leaders__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-block: 20px; color: var(--text-custom); font-size: 12px; }
.cz-reward-leaders__sort { display: flex; gap: 5px; }
.cz-reward-leaders__sort a { display: flex; align-items: center; min-block-size: 40px; padding: 10px 15px; color: var(--text-custom); border-radius: 10px; border: 1px solid transparent; }
.cz-reward-leaders__sort a[aria-current] { color: var(--text-default); border-color: var(--page-border); background: var(--page-inset); }
.cz-reward-table { inline-size: 100%; border-collapse: separate; border-spacing: 0 7px; color: var(--text-default); font-size: 14px; font-variant-numeric: tabular-nums; }
.cz-reward-table th { text-align: start; font-size: 11px; font-weight: 500; color: var(--text-custom); padding: 8px 16px; }
.cz-reward-table td { padding: 14px 16px; background: var(--page-panel); border-block: 1px solid var(--page-border); }
.cz-reward-table td:first-child { border-inline-start: 1px solid var(--page-border); border-radius: 13px 0 0 13px; }
.cz-reward-table td:last-child { border-inline-end: 1px solid var(--page-border); border-radius: 0 13px 13px 0; }
.cz-reward-table__place { inline-size: 70px; font-family: var(--font-family-1); font-weight: 700; font-size: 19px; }
.cz-reward-table__player a { display: flex; align-items: center; gap: 12px; color: var(--text-default); }
.cz-reward-table__player img { flex: none; inline-size: 38px; block-size: 38px; object-fit: cover; border-radius: 12px; }
.cz-reward-table__player a > span { overflow-wrap: anywhere; max-inline-size: 320px; }
.cz-reward-table__player small { display: block; margin-block-start: 3px; color: var(--span); font-size: 10px; }
.cz-reward-table td strong { font-weight: 700; color: var(--span); }
.cz-reward-table__unit { color: var(--text-custom); font-size: 11px; }
.cz-reward-table tr[data-place="1"] { --podium: oklch(85% .13 86); }
.cz-reward-table tr[data-place="2"] { --podium: oklch(87% .04 227); }
.cz-reward-table tr[data-place="3"] { --podium: oklch(78% .095 52); }
.cz-reward-table tr:is([data-place="1"],[data-place="2"],[data-place="3"]) td { background: color-mix(in oklch,var(--podium) 6%,var(--page-panel)); }
.cz-reward-table tr:is([data-place="1"],[data-place="2"],[data-place="3"]) .cz-reward-table__place { color: var(--podium); }
.cz-reward-table tr[data-self] td { border-block-color: var(--span); }
.cz-reward-pagination { display: flex; align-items: center; justify-content: center; gap: 20px; margin-block: 20px; font-size: 13px; color: var(--text-custom); }
.cz-reward-pagination a { display: flex; align-items: center; min-block-size: 42px; padding: 10px 15px; border: 1px solid var(--page-border); border-radius: 11px; color: var(--text-default); }
.cz-reward-leaders__empty { padding: 32px; border: 1px solid var(--page-border); border-radius: 16px; color: var(--text-custom); text-align: center; }
.cz-stat-tabs a:focus-visible, .cz-rank-filters summary:focus-visible { outline: 2px solid var(--span); outline-offset: 3px; }
:is(.cz-stat-tabs,.cz-reward-leaders) a:active, .cz-rank-filters summary:active, .cz-rank-history:active { opacity: .75; }
@container menu-page (max-width: 640px) {
  .cz-stat-tabs a { flex: 1 1 auto; padding-inline: 12px; font-size: 12px; }
  .cz-rank-server { flex-basis: 100%; }
  .cz-rank-filters { flex: 1 1 180px; }
  .cz-rank-filters__panel { inline-size: 100%; }
  .cz-rank-history { font-size: 12px; }
  .cz-reward-table, .cz-reward-table tbody { display: block; }
  .cz-reward-table thead { display: none; }
  .cz-reward-table tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px 10px; padding: 15px; margin-block-end: 10px; border: 1px solid var(--page-border); border-radius: 14px; background: var(--page-panel); }
  .cz-reward-table td { display: block; min-inline-size: 0; padding: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
  .cz-reward-table__place { grid-row: 1; grid-column: 3; text-align: end; inline-size: auto; }
  .cz-reward-table__player { grid-row: 1; grid-column: 1 / 3; }
  .cz-reward-table td[data-label]::before { content: attr(data-label); display: block; margin-block-end: 5px; font-size: 10px; color: var(--text-custom); }
}
@media (hover:hover) and (pointer:fine) {
  .cz-stat-tabs a:hover, .cz-reward-leaders__sort a:hover, .cz-reward-pagination a:hover { background: var(--page-inset); color: var(--text-default); }
  .cz-reward-table__player a:hover, .cz-rank-history:hover, .cz-rank-filters summary:hover { color: var(--span); }
}

/* The rank table is the focus; controls and season summary stay compact. */
.cz-menu-page > .row > .cz-rank-toolbar { padding: 0; border: 0; background: transparent; gap: 10px; align-items: center; }
.cz-rank-label { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cz-rank-server { flex: 1 1 220px; max-inline-size: 360px; }
.cz-rank-filters { flex: 0 0 190px; }
.cz-rank-filters summary { padding: 10px 12px; min-block-size: 44px; font-size: 12px; }
.cz-rank-history { padding: 8px 4px; font-size: 12px; }
.cz-rank-layout .season-banner, .cz-rank-layout .season-banner * { box-sizing: border-box; }
.cz-rank-layout .season-banner { margin-block: 0 16px; border-radius: 14px; }
.cz-rank-layout .season-banner::before { display: none; }
.cz-rank-layout .season-banner__progress-top { padding: 6px 14px; gap: 8px; border: 0; background: transparent; }
.cz-rank-layout .season-banner__progress-bar { block-size: 3px; margin: 0; }
.cz-rank-layout .season-banner__progress-fill { animation: none; }
.cz-rank-layout .season-banner__progress-percent { margin: 0; font-size: 9px; }
.cz-rank-layout .season-banner__content { padding: 6px 14px 14px; }
.cz-rank-layout .season-banner__header { flex-direction: row; padding: 0; min-block-size: 0; gap: 10px 16px; }
.cz-rank-layout .season-banner__title { flex: 1 1 190px; }
.cz-rank-layout .season-banner__label { font-size: 9px; margin-block-end: 3px; }
.cz-rank-layout .season-banner__name { font-size: 18px; line-height: 1.3; }
.cz-rank-layout .season-banner__timer { inline-size: auto; margin: 0; }
.cz-rank-layout .season-banner__countdown { gap: 10px; }
.cz-rank-layout .season-banner__countdown .countdown-number { display: flex; flex-direction: row; gap: 3px; min-inline-size: 0; padding: 0; border: 0; border-radius: 0; }
.cz-rank-layout .season-banner__countdown .countdown-time { inline-size: auto; block-size: auto; min-inline-size: 0; min-block-size: 0; padding: 0; background: transparent; border: 0; font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; transition: none; }
.cz-rank-layout .season-banner__countdown .countdown-text { position: static; font-size: 9px; margin: 0; }
.cz-rank-layout .season-banner__prizes { margin-block-start: 10px; }
.cz-rank-layout .season-banner__prizes-title { display: none; }
.cz-rank-layout .season-banner__prizes-list.prizes-static { grid-template-columns: repeat(auto-fit,minmax(min(100%,130px),1fr)); gap: 8px; }
.cz-rank-layout .season-banner__prize { padding: 8px 10px; gap: 8px; border-radius: 10px; min-block-size: 38px; transition: none; }
.cz-rank-layout .season-banner__prize-medal, .cz-rank-layout .season-banner__prize-medal::before { inline-size: 22px; block-size: 22px; }
.cz-rank-layout .season-banner__prize-number { font-size: 14px; }
.cz-rank-layout .season-banner__prize-info { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; }
.cz-rank-layout .season-banner__prize-name { font-size: 11px; }
.cz-rank-layout .season-banner__prize-time { font-size: 12px; font-weight: 650; color: var(--text-default); }
@container menu-page (max-width: 640px) {
  .cz-rank-server { flex: 1 1 100%; max-inline-size: none; }
  .cz-rank-filters { flex: 1 1 175px; }
  .cz-rank-layout .season-banner__countdown { gap: 8px; }
}
@container menu-page (max-width: 420px) {
  .cz-rank-layout .season-banner__prizes-list.prizes-static { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cz-rank-layout .season-banner__prize { padding: 7px; gap: 5px; }
  .cz-rank-layout .season-banner__prize-info { flex-direction: column; gap: 2px; }
  .cz-rank-layout .season-banner__prize-medal, .cz-rank-layout .season-banner__prize-medal::before { inline-size: 18px; block-size: 18px; }
}

.cz-vip-ranking-note { margin-block-end: 16px; padding: 14px 16px; border: 1px solid var(--page-border); border-radius: 13px; background: var(--page-panel); }
.cz-vip-ranking-note strong { color: var(--span); font-size: 15px; }
.cz-vip-ranking-note p { margin: 6px 0 0; color: var(--text-custom); font-size: 12px; line-height: 1.5; }
.cz-vip-rank-badge { display: inline-flex; align-items: center; padding: 3px 6px; border: 1px solid color-mix(in oklch,var(--span) 30%,transparent); border-radius: 7px; background: color-mix(in oklch,var(--span) 12%,var(--page-panel)); color: var(--span); font-size: 10px; font-weight: 650; line-height: 1.3; white-space: nowrap; }
