/* Shared ranking surfaces: one primary metric, aligned data and quiet controls. */
.rankings-page { --ranking-border:rgba(220,230,240,.12); --ranking-muted:#a4b4c8; --ranking-accent:#9ac5ed; --ranking-surface:#101a26; min-width:0; }
.rankings-page>.section-space { margin-bottom:0; }
.rankings-page [hidden] { display:none!important; }
.rankings-page:not(.ranking-enhanced) :is(.ranking-search-field,.ranking-country-filter,.ranking-filter-status,.ranking-enhanced-only) { display:none; }
.rankings-page .ranking-hero { display:block; padding:1.1rem 1.4rem; }
.rankings-page .ranking-hero .section-kicker { margin-bottom:.65rem; font-size:.75rem; }
.rankings-page .ranking-hero .page-title { font-size:clamp(1.5rem,2.7vw,2.1rem); line-height:1.2; margin:.25rem 0 .55rem; letter-spacing:-.025em; }
.rankings-page .ranking-hero .page-subtitle { max-width:850px; font-size:.9rem; line-height:1.6; margin:0; }
.ranking-meta { display:flex; flex-wrap:wrap; gap:.4rem 1.15rem; margin-top:.8rem; color:var(--ranking-muted); font-size:.75rem; }
.ranking-meta strong { color:#e2ebf6; }
.ranking-navigation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.ranking-navigation-link { display:flex; align-items:center; gap:.65rem; min-width:0; padding:.75rem .9rem; border:1px solid var(--ranking-border); border-radius:.8rem; background:#101923; color:#c8d5e4; text-decoration:none; }
.ranking-navigation-link>i { font-size:1rem; color:#9aafc6; flex:none; }
.ranking-navigation-link strong,.ranking-navigation-link small { display:block; }
.ranking-navigation-link strong { font-size:.86rem; font-weight:650; }
.ranking-navigation-link small { margin-top:.2rem; color:var(--ranking-muted); font-size:.75rem; line-height:1.4; }
.ranking-navigation-link:hover { color:#fff; border-color:#6685a5; background:#172536; }
.ranking-navigation-link.is-active { border-color:#6b92b9; background:#1a2b3d; color:#f3f7fc; box-shadow:inset 0 -2px 0 #8bb9e4; }
.ranking-navigation-link.is-active>i { color:#a8d2f8; }
.ranking-navigation-link.is-unavailable { color:#9faebe; background:#101820; }

/* Keep teaching available without placing a full explanation before every table. */
.ranking-formula { border:1px solid var(--ranking-border); border-radius:.8rem; background:#0f1924; }
.ranking-formula>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px; padding:.65rem 1rem; color:#c4d8eb; font-size:.83rem; cursor:pointer; list-style:none; }
.ranking-formula>summary::-webkit-details-marker { display:none; }
.ranking-formula>summary>span { display:flex; align-items:center; gap:.6rem; }
.ranking-formula>summary>i { font-size:.65rem; color:#adc4dc; }
.ranking-formula[open]>summary>i { transform:rotate(180deg); }
.ranking-formula-body { padding:.2rem 1rem 1rem; }
.ranking-formula-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.ranking-formula-steps.has-two-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ranking-formula-steps>div { border-left:2px solid #507496; padding-left:.75rem; }
.ranking-formula-steps span,.ranking-formula-steps strong { display:block; }
.ranking-formula-steps span { color:#a7bfda; font-size:.75rem; margin-bottom:.3rem; }
.ranking-formula-steps strong { font-size:.86rem; line-height:1.5; color:#e1ebf6; font-weight:600; }
.ranking-formula-body>p { margin:.9rem 0 0; padding-top:.7rem; border-top:1px solid var(--ranking-border); color:var(--ranking-muted); font-size:.78rem; line-height:1.65; }
.ranking-content { min-width:0; }
.ranking-toolbar { display:flex; align-items:stretch; flex-wrap:wrap; gap:.65rem; }
.ranking-season-picker { position:relative; flex:0 0 175px; z-index:8; }
.ranking-season-picker summary { position:relative; padding:.5rem 2rem .5rem .85rem; min-height:52px; border:1px solid var(--ranking-border); border-radius:.7rem; background:#111e2b; cursor:pointer; list-style:none; }
.ranking-season-picker summary::-webkit-details-marker { display:none; }
.ranking-season-picker summary span,.ranking-season-picker summary strong { display:block; }
.ranking-season-picker summary span { color:#a6b8ce; font-size:.73rem; }
.ranking-season-picker summary strong { color:#ebf2fb; font-size:.9rem; }
.ranking-season-picker summary i { position:absolute; right:.8rem; top:1.2rem; color:#afc2d9; font-size:.65rem; }
.ranking-season-picker[open] summary i { transform:rotate(180deg); }
.ranking-season-menu { position:absolute; top:calc(100% + .4rem); left:0; width:100%; min-width:175px; max-height:300px; overflow:auto; padding:.4rem; border:1px solid #4b6380; border-radius:.7rem; background:#111e2c; box-shadow:0 15px 40px #0008; }
.ranking-season-menu a { display:block; min-height:42px; padding:.65rem .7rem; border-radius:.4rem; color:#d8e4f3; font-size:.85rem; text-decoration:none; }
.ranking-season-menu a:hover,.ranking-season-menu a[aria-current] { background:#243e59; color:#fff; }
.ranking-search-field { display:flex; align-items:center; gap:.65rem; flex:1 1 230px; min-width:0; min-height:52px; padding:0 .9rem; border:1px solid var(--ranking-border); border-radius:.7rem; color:#abc1da; background:#111e2b; }
.ranking-search-field input { width:100%; min-width:0; height:50px; background:transparent; border:0; outline:0; color:#f0f5fc; font-size:.9rem; }
.ranking-search-field input::placeholder { color:#a4b6cb; }
.ranking-search-field:focus-within { outline:2px solid #9cc8f0; outline-offset:2px; }
.ranking-country-filter { flex:0 1 190px; min-width:0; }
.ranking-country-filter select { width:100%; height:100%; min-height:52px; padding:0 .8rem; border:1px solid var(--ranking-border); border-radius:.7rem; background:#111e2b; color:#e2edf9; font-size:.86rem; }
.ranking-action { min-height:44px; border:1px solid var(--ranking-border); border-radius:.7rem; padding:.65rem .85rem; color:#d3e1f1; background:#182838; font-size:.8rem; font-weight:600; }
.ranking-action:hover:not(:disabled) { color:#fff; border-color:#7798ba; }
.ranking-action:disabled { color:#a4b4c6; background:#111b26; cursor:default; }
.ranking-filter-status { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-height:2.3rem; color:var(--ranking-muted); font-size:.78rem; }
.ranking-clear { min-height:36px; background:none; border:0; color:#acd5f8; padding:.25rem 0; text-decoration:underline; text-underline-offset:.2rem; }
.ranking-table-hint { color:var(--ranking-muted); font-size:.78rem; margin:0 0 .75rem; line-height:1.6; }

/* A bounded desktop table keeps column headings visible while browsing long lists. */
.ranking-table-scroll { overflow:auto; max-width:100%; max-height:75vh; max-height:min(75svh,860px); border:1px solid var(--ranking-border); border-radius:.8rem; scrollbar-width:thin; scrollbar-color:#58718b #101923; scroll-padding:70px 0 12px; }
.ranking-table-scroll:focus-visible { outline:2px solid #b1d9fa; outline-offset:3px; }
.ranking-data-table { width:100%; margin:0; overflow:visible; font-size:.9rem; color:#dce7f5; }
.ranking-data-table>thead>tr>th { position:sticky; top:0; z-index:3; padding:.85rem .9rem; background:#172637; color:#bed0e4; font-size:.78rem; font-weight:600; line-height:1.5; border-bottom:1px solid #33475b; }
.ranking-data-table>thead small { display:block; color:#adc0d5; font-size:.71rem; font-weight:400; }
.ranking-data-table>tbody>tr>td,.ranking-data-table>tbody>tr>th { vertical-align:middle; padding:.65rem .9rem; border-top:1px solid #ffffff0d; }
.ranking-data-table>tbody>tr[data-ranking-item]:hover { background:#172536; }
.ranking-data-table .ranking-number { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ranking-data-table .ranking-number strong { font-size:1rem; font-weight:650; }
.ranking-data-table .ranking-rank { width:3rem; text-align:center; color:#adc1d9; font-variant-numeric:tabular-nums; }
.ranking-data-table .ranking-name { min-width:180px; }
.ranking-entity { display:flex; align-items:center; gap:.65rem; min-width:0; min-height:40px; color:#ebf2fc; text-decoration:none; font-weight:600; }
.ranking-entity:hover { color:#fff; text-decoration:underline; text-underline-offset:.2rem; }
.ranking-entity>span { min-width:0; overflow-wrap:anywhere; line-height:1.45; }
.ranking-flag { width:27px; height:19px; border-radius:3px; object-fit:cover; flex:none; }
.ranking-logo { width:28px; height:28px; object-fit:contain; flex:none; }
.ranking-logo-placeholder { display:grid; place-items:center; width:28px; flex:none; color:#a4bad1; }
.ranking-entity-meta { display:block; margin:0 0 0 2.4rem; color:#a8bfd7; text-decoration:none; font-size:.76rem; font-weight:400; }
.ranking-entity-meta:hover { color:#d2e8fa; text-decoration:underline; }
.ranking-result { color:#b0e4d4; background:rgba(65,126,106,.07); }
.ranking-data-table>thead>tr>.ranking-result { color:#c1eada; background:#1a302f; }
.ranking-subnumber { display:block; color:#adbed2; font-size:.73rem; font-weight:400; margin-top:.2rem; }
.ranking-mobile-label { display:none; }
.ranking-live-badge { display:inline-block; padding:.15rem .35rem; border:1px solid #71998177; border-radius:.3rem; background:#173326; color:#b4e6c9; font-size:.65rem; font-weight:650; letter-spacing:.03em; vertical-align:middle; }
.ranking-live-delta { display:block; margin-top:.25rem; color:#ace1c5; font-size:.73rem; }
.ranking-rank-change { display:block; color:#e1b1bc; font-size:.7rem; }
.ranking-rank-change.is-up { color:#ace0bf; }
.ranking-live-status { display:flex; align-items:flex-start; flex-wrap:nowrap; gap:.5rem; padding:.65rem .85rem; border-bottom:1px solid var(--ranking-border); color:#b2c3d7; background:#111f2b; font-size:.77rem; line-height:1.6; }
.ranking-live-status.is-live { color:#b4dfc8; background:#12271f; }
.ranking-live-status>i { margin-top:.45rem; width:.4rem; height:.4rem; border-radius:50%; background:#a4b6ca; flex:none; }
.ranking-live-status.is-live>i { background:#90d2ab; }

/* Country details form one quiet child panel, rather than a second grid of cards. */
.ranking-country-table { min-width:0; }
.country-row.is-turkey>td:first-child { box-shadow:inset 3px 0 0 #b7788e; }
.country-row.has-live-points { background:#15251f; }
.country-row:has(+.country-teams-row .country-team-details[open]) { background:#1a2a3b; }
.ranking-country-table>tbody>.country-teams-row>td { padding:0; border-top:0; border-bottom:1px solid #ffffff12; }
.country-team-details { margin:0; background:#101923; }
.country-team-details>summary { display:flex; align-items:center; gap:.5rem; min-height:36px; padding:.35rem .95rem .45rem 4.1rem; color:#b8cce1; cursor:pointer; font-size:.8rem; list-style:none; }
.country-team-details>summary::-webkit-details-marker { display:none; }
.country-team-details>summary:hover { background:#1a2a3b; color:#f0f7ff; }
.country-team-details>summary>i { margin-left:auto; font-size:.65rem; }
.country-team-details[open]>summary { background:#1a2a3b; }
.country-team-details[open]>summary>i { transform:rotate(180deg); }
.country-team-details .country-detail-open,.country-team-details[open] .country-detail-closed { display:none; }
.country-team-details[open] .country-detail-open { display:inline; }
.country-team-count { min-width:1.6rem; padding:.05rem .4rem; border-radius:1rem; background:#263c51; color:#d8e8f8; font-size:.72rem; text-align:center; font-variant-numeric:tabular-nums; }
.country-team-body { margin:.2rem .85rem .9rem 3.7rem; padding:.9rem 1rem .65rem; border:1px solid #3e5b77; border-left:3px solid #7096bb; border-radius:.6rem; background:#111d29; }
.country-team-context { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.3rem .8rem; padding:0 0 .7rem; }
.country-team-context strong { color:#ddeafa; font-size:.88rem; font-weight:600; }
.country-team-context>span { color:#afc3da; font-size:.76rem; }
.country-club-table { width:100%; table-layout:fixed; border-collapse:collapse; margin:0; color:#d5e3f3; }
.country-club-table .club-name { width:auto; text-align:left; }
.country-club-table .club-status { width:132px; text-align:left; }
.country-club-table .club-number { width:112px; text-align:right; font-variant-numeric:tabular-nums; }
.country-club-table>thead>tr>th { position:static; padding:.55rem .5rem; border-top:1px solid #ffffff12; border-bottom:1px solid #ffffff18; color:#afc3da; background:#152534; font-size:.75rem; line-height:1.45; font-weight:500; white-space:normal; }
.country-club-table>thead .club-number { white-space:normal; }
.country-club-table>tbody>tr>td,.country-club-table>tbody>tr>th { padding:.5rem .5rem; border-bottom:1px solid #ffffff0e; font-weight:400; vertical-align:middle; }
.country-club-table>tbody>tr:last-child>* { border-bottom:0; }
.country-club-row:hover,.country-club-row.is-search-match { background:#1c3043; }
.country-club-link { display:flex; align-items:center; gap:.6rem; min-width:0; min-height:40px; color:#e6effc; text-decoration:none; }
.country-club-link:hover { color:#fff; text-decoration:underline; text-underline-offset:.2rem; }
.country-club-link>img,.country-club-link>i { width:24px; height:24px; flex:none; object-fit:contain; }
.country-club-link>i { display:grid; place-items:center; color:#abc3dc; }
.country-club-link>span { min-width:0; }
.country-club-link strong { display:block; font-size:.87rem; font-weight:550; line-height:1.45; overflow-wrap:anywhere; }
.country-club-meta { display:block; color:#a9bfd6; font-size:.72rem; margin-top:.15rem; }
.country-club-mobile-status { display:none; }
.country-club-state { color:#b1bfd0; font-size:.78rem; line-height:1.5; }
.country-club-state.is-active { color:#b3ddc4; }
.country-club-table>tbody .club-raw { font-size:.87rem; color:#c5d5e8; white-space:nowrap; }
.country-club-table>tbody .club-contribution { color:#b6e3d3; white-space:nowrap; }
.country-club-table .club-contribution>strong { font-size:.95rem; font-weight:600; }
.country-club-table .ranking-live-badge { display:block; width:max-content; margin:.2rem 0 0 auto; }
.country-calculation { margin-top:.55rem; border-top:1px solid #ffffff15; }
.country-calculation>summary { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem .7rem; min-height:44px; padding:.55rem 0; list-style:none; cursor:pointer; color:#b6c7da; font-size:.77rem; }
.country-calculation>summary::-webkit-details-marker { display:none; }
.country-calculation>summary strong { margin-left:auto; color:#d7e8f8; font-weight:500; font-variant-numeric:tabular-nums; }
.country-calculation>summary>i { font-size:.6rem; }
.country-calculation[open]>summary>i { transform:rotate(180deg); }
.country-calculation>p { margin:.15rem 0 .5rem; color:#b0c1d6; font-size:.79rem; line-height:1.7; }
.country-data-note { color:#ddc49d; font-size:.77rem; line-height:1.6; margin:.5rem 0; }
.ranking-status-tag { display:inline-block; padding:.25rem .5rem; border:1px solid #8298ae55; border-radius:.35rem; color:#c5d1df; font-size:.76rem; white-space:nowrap; }
.ranking-status-tag.is-active { border-color:#8fb7a05a; background:#19382b55; color:#b9e0c9; }
.ranking-no-results,.ranking-data-empty { padding:2rem 1rem; color:#c1d0e3; text-align:center; font-size:.87rem; }
.ranking-no-results p { margin:0 0 .5rem; }

/* Five-season tables retain identity columns during horizontal scrolling. */
.ranking-five-season-table { min-width:950px; }
.ranking-five-season-table .ranking-name { min-width:225px; }
.ranking-five-season-table .ranking-rank { position:sticky; left:0; width:48px; min-width:48px; max-width:48px; padding-left:.4rem; padding-right:.4rem; background:#132130; z-index:2; }
.ranking-five-season-table .ranking-name { position:sticky; left:48px; background:#132130; z-index:2; box-shadow:8px 0 10px -10px #000; }
.ranking-five-season-table>thead>tr>:is(.ranking-rank,.ranking-name) { background:#172637; z-index:5; }
.ranking-five-season-table .ranking-result { min-width:124px; }
/* Sticky headings must fully cover the rows passing underneath. */
.ranking-five-season-table>thead>tr>.ranking-current-season { background:#1d3044; }
.ranking-five-season-table>tbody>tr>.ranking-current-season { background:rgba(87,139,183,.1); }
.ranking-five-season-table .ranking-expiring-season { color:#dbc59e; }
.ranking-five-season-table [data-ranking-item]:hover :is(.ranking-rank,.ranking-name) { background:#1b3044; }
.ranking-data-warning { display:block; max-width:145px; color:#ddc49d; font-size:.73rem; line-height:1.5; white-space:normal; margin-top:.3rem; }
.ranking-enhanced:not(.show-calculations) .ranking-calc-column { display:none; }
.ranking-enhanced.show-calculations .ranking-five-season-table { min-width:1220px; }
.ranking-notice { padding:.7rem .9rem; margin-bottom:.85rem; border-left:2px solid #7b9cbb; border-radius:0 .5rem .5rem 0; background:#152739; color:#b5c9de; font-size:.8rem; line-height:1.65; }
.ranking-notice a,.ranking-guide a { color:#b8dcfa; }
.ranking-guide { padding:1rem 1.1rem; border:1px solid var(--ranking-border); border-radius:.8rem; background:#101b27; color:#bfccdc; font-size:.85rem; line-height:1.7; }
.ranking-guide>summary { min-height:24px; cursor:pointer; color:#e2edfa; font-weight:600; }
.ranking-guide p:first-of-type { margin-top:1rem; }
.ranking-guide p:last-child { margin-bottom:0; }
.rankings-page :is(a,button,summary,select):focus-visible { outline:2px solid #b4dafa; outline-offset:3px; }

/* Upcoming season is explicitly labelled as a starting view. */
.rankings-page .ranking-window-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.rankings-page .ranking-window-switch a { display:flex; flex-direction:column; gap:.2rem; min-width:0; padding:.75rem 1rem; border:1px solid var(--ranking-border); border-radius:.75rem; background:#111e2b; color:inherit; font-size:.87rem; }
.rankings-page .ranking-window-switch a,.rankings-page .ranking-window-switch a :is(strong,span) { text-decoration:none; }
.rankings-page .ranking-window-switch a[aria-current="page"] { border-color:#8fb3d6; background:#1b3045; box-shadow:inset 0 -2px 0 #8fb3d6; }
.rankings-page .ranking-window-switch a:hover { border-color:#9ab9d5; }
.rankings-page .ranking-window-switch span { font-size:.8rem; color:#b4c6dc; }
.rankings-page .ranking-starting-note { padding:1rem 1.1rem; border-left:3px solid #8ab2d8; border-radius:.65rem; background:#1b3045; }
.rankings-page .ranking-starting-note.ranking-data-warning { max-width:none; font-size:.82rem; }
.rankings-page[data-starting-preview="true"] .ranking-five-season-table { min-width:1020px; }
.rankings-page[data-starting-preview="true"] .ranking-five-season-table .ranking-rank { width:84px; min-width:84px; max-width:84px; white-space:normal; font-size:.74rem; }
.rankings-page[data-starting-preview="true"] .ranking-five-season-table .ranking-name { left:84px; }
.rankings-page[data-starting-preview="true"] .ranking-five-season-table .ranking-result { min-width:150px; }
.rankings-page[data-starting-preview="true"] .ranking-result>small { display:block; margin-top:.25rem; font-size:.74rem; color:#b4c6dc; }
.rankings-page .ranking-rank small { display:block; font-size:.7rem; font-weight:400; white-space:nowrap; margin-top:.25rem; }

@media(max-width:800px) {
    .ranking-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ranking-navigation-link { padding:.7rem .8rem; }
    .ranking-navigation-link small { font-size:.72rem; }
    .ranking-formula-steps { gap:.65rem; }
    .ranking-five-season-table .ranking-name { min-width:180px; }
    .country-team-body { margin-left:1rem; }
    .country-club-table .club-status { width:115px; }
    .country-club-table .club-number { width:95px; }
}
@media(max-width:575px) {
    .rankings-page .ranking-hero { padding:1rem; }
    .rankings-page .ranking-hero .section-kicker { font-size:.68rem; }
    .rankings-page .ranking-hero .page-subtitle { font-size:.86rem; }
    .ranking-meta { font-size:.74rem; gap:.3rem .7rem; }
    .ranking-navigation { gap:.45rem; }
    .ranking-navigation-link { gap:.5rem; min-height:52px; padding:.65rem .7rem; border-radius:.65rem; }
    .ranking-navigation-link>i { font-size:.9rem; }
    .ranking-navigation-link strong { font-size:.82rem; }
    .ranking-navigation-link small { display:none; }
    .ranking-formula>summary { padding:.65rem .8rem; font-size:.8rem; }
    .ranking-formula-body { padding:0 .8rem .8rem; }
    .ranking-formula-steps,.ranking-formula-steps.has-two-steps { grid-template-columns:1fr; gap:.7rem; }
    .ranking-formula-steps span { font-size:.73rem; }
    .ranking-formula-steps strong { font-size:.81rem; }
    .ranking-formula-body>p { font-size:.77rem; }
    .ranking-season-picker { flex:1 1 128px; }
    .ranking-search-field { flex-basis:100%; order:3; }
    .ranking-country-filter { flex:1 1 128px; }
    .ranking-action { flex:1 1 auto; font-size:.77rem; }
    .ranking-live-status { font-size:.74rem; padding:.6rem .7rem; }
    .ranking-data-table>thead>tr>th { padding:.75rem .65rem; font-size:.76rem; }
    .ranking-data-table>tbody>tr>td,.ranking-data-table>tbody>tr>th { padding:.65rem; }
    .rankings-page[data-ranking-kind="countries"] .ranking-table-scroll,.rankings-page[data-ranking-kind="contributions"] .ranking-table-scroll { max-height:none; overflow:visible; }
    .ranking-country-table>thead,.ranking-contribution-table>thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
    .ranking-country-table>tbody,.ranking-contribution-table>tbody { display:block; }
    .ranking-country-table .country-row,.ranking-contribution-table .contribution-row { display:grid; grid-template-columns:1.6rem minmax(0,1fr) auto; align-items:center; padding:.7rem .55rem .35rem; gap:.35rem .4rem; border-bottom:0; }
    .ranking-country-table .country-row>*,.ranking-contribution-table .contribution-row>* { padding:0; border:0; background:none; }
    .ranking-country-table .ranking-name,.ranking-contribution-table .ranking-name { min-width:0; }
    .ranking-country-table .ranking-rank,.ranking-contribution-table .ranking-rank { grid-row:1; grid-column:1; width:auto; font-size:.85rem; }
    .ranking-country-table .ranking-name,.ranking-contribution-table .ranking-name { grid-row:1; grid-column:2; }
    .ranking-country-table .ranking-total { grid-row:1; grid-column:3; }
    .ranking-mobile-label { display:block; color:#aec0d6; font-size:.7rem; font-weight:400; margin-bottom:.15rem; }
    .ranking-country-table .ranking-season { grid-row:2; grid-column:2; text-align:left; color:#c1d3e7; font-size:.82rem; }
    .ranking-country-table .ranking-participants { grid-row:2; grid-column:3; color:#c1d3e7; font-size:.82rem; }
    .ranking-country-table .ranking-season::before,.ranking-country-table .ranking-participants::before { content:attr(data-label) ' '; color:#aec0d6; font-size:.72rem; }
    .ranking-country-table .country-teams-row { display:block; }
    .ranking-country-table>tbody>.country-teams-row>td { display:block; }
    .country-row.is-turkey>td:first-child { box-shadow:none; color:#e0b5c4; }
    .country-team-details>summary { min-height:44px; padding:.5rem .7rem .5rem 2.55rem; font-size:.78rem; }
    .country-team-body { margin:.1rem .4rem .65rem; padding:.7rem .45rem .3rem; border-left-width:2px; }
    .country-team-context { gap:.25rem .5rem; padding:0 .15rem .5rem; }
    .country-team-context strong { font-size:.8rem; }
    .country-team-context>span { font-size:.74rem; }
    .country-club-table .club-status { display:none; }
    .country-club-table .club-name { width:52%; }
    .country-club-table .club-number { width:24%; }
    .country-club-table>thead>tr>th { padding:.45rem .25rem; font-size:.73rem; }
    .country-club-table>tbody>tr>td,.country-club-table>tbody>tr>th { padding:.45rem .25rem; }
    .country-club-link { gap:.4rem; min-height:44px; }
    .country-club-link>img,.country-club-link>i { width:21px; height:21px; }
    .country-club-link strong { font-size:.8rem; }
    .country-club-meta { font-size:.7rem; }
    .country-club-mobile-status { display:inline; }
    .country-club-table>tbody .club-raw { font-size:.8rem; }
    .country-club-table .club-contribution>strong { font-size:.87rem; }
    .country-club-table .ranking-live-delta { font-size:.67rem; white-space:normal; }
    .country-calculation>summary { font-size:.74rem; gap:.3rem .4rem; }
    .country-calculation>summary strong { font-size:.74rem; }
    .country-calculation>summary>i { margin-left:auto; }
    .country-data-note { font-size:.75rem; }
    .ranking-entity { gap:.45rem; font-size:.86rem; min-height:36px; }
    .ranking-flag { width:23px; height:16px; }
    .ranking-entity-meta { margin-left:2.2rem; font-size:.74rem; }
    .ranking-country-table .ranking-number strong,.ranking-contribution-table .ranking-number strong { font-size:.95rem; }
    .ranking-contribution-table .contribution-row { padding:.75rem .55rem; border-bottom:1px solid var(--ranking-border); }
    .ranking-contribution-table .ranking-raw { grid-row:1; grid-column:3; }
    .ranking-contribution-table .ranking-raw::before { content:attr(data-label) ' '; display:block; color:#aec0d6; font-size:.7rem; }
    .ranking-contribution-table .ranking-contribution { grid-row:2; grid-column:2/-1; display:flex; align-items:baseline; flex-wrap:wrap; gap:.3rem .55rem; text-align:left; font-size:.82rem; }
    .ranking-contribution-table .ranking-contribution .ranking-mobile-label { display:inline; margin:0; }
    .ranking-contribution-table .ranking-contribution .ranking-subnumber { display:inline; margin:0; font-size:.72rem; }
    .ranking-contribution-table .ranking-status { grid-row:3; grid-column:2/-1; padding-top:.15rem; }
    .ranking-status-tag { font-size:.73rem; padding:.2rem .45rem; }
    .ranking-five-season-table .ranking-name { min-width:150px; }
    .ranking-five-season-table .ranking-result { min-width:115px; }
    .ranking-five-season-table .ranking-number { font-size:.86rem; }
    .ranking-five-season-table :is(th,td) { padding:.75rem .65rem; }
    .ranking-table-hint { font-size:.76rem; }
    .ranking-guide { font-size:.82rem; padding:.85rem 1rem; }
    .rankings-page .ranking-window-switch a { padding:.7rem .8rem; font-size:.83rem; }
}
@media(max-width:360px) {
    .ranking-navigation-link { padding:.6rem .5rem; gap:.4rem; }
    .ranking-navigation-link strong { font-size:.8rem; }
    .ranking-country-table .country-row,.ranking-contribution-table .contribution-row { grid-template-columns:1.2rem minmax(0,1fr) auto; gap:.3rem; }
    .ranking-country-table .ranking-season,.ranking-country-table .ranking-participants { font-size:.76rem; }
    .ranking-country-table .ranking-season::before,.ranking-country-table .ranking-participants::before { font-size:.68rem; }
    .country-club-link { gap:.25rem; }
    .country-club-link>img,.country-club-link>i { width:18px; height:18px; }
    .country-club-table .club-name { width:50%; }
    .country-club-table .club-number { width:25%; }
    .country-calculation>summary strong { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) { .rankings-page * { scroll-behavior:auto; transition:none; } }
