/* Two views, one navigation. Scoped overrides preserve other public tables. */
.ranking-page{padding-bottom:32px}
.ranking-page [role=tabpanel][hidden]{display:none!important}
.ranking-page .hero{padding-top:28px;padding-bottom:20px}
.ranking-page .hero h1{font-size:clamp(2rem,4vw,3rem);margin:0}
.ranking-tabs{display:flex;gap:8px;margin:0 0 20px;border-bottom:1px solid var(--line);padding-bottom:10px}
.ranking-tabs button{min-height:46px;padding:10px 22px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font:700 16px/1.4 Barlow,Arial,sans-serif;cursor:pointer}
.ranking-tabs button[aria-selected=true]{background:#1b2810;border-color:#abfb0255;color:var(--accent)}
.ranking-tabs button:focus-visible,.ranking-page summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ranking-page .section{padding-top:0}
.ranking-page .official-ranking-card{padding:24px}
.ranking-page .status-line:empty{display:none}
.ranking-page .official-ranking-table{width:100%;min-width:0}
.ranking-page .official-ranking-table td{vertical-align:middle}
.ranking-page .official-ranking-table th:last-child{width:230px}
.ranking-page .official-shooter .ranking-person{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0;text-decoration:none}
.ranking-page .ranking-person strong,.ranking-page .ranking-person small{display:block}
.ranking-page .ranking-person small{font-size:11px;margin-top:3px;color:var(--muted)}
.ranking-page .ranking-person strong{font:700 16px/1.3 Barlow,Arial,sans-serif}
.ranking-page .shooter-avatar{position:relative;display:inline-flex;flex:0 0 48px;align-items:center;justify-content:center;width:48px;height:48px;overflow:hidden;border-radius:50%;background:#222d17;color:#dce8cc;font:700 15px/1 Barlow,Arial,sans-serif}
.ranking-page .shooter-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ranking-page .shooter-avatar img[hidden]{display:none}
.ranking-row-detail{margin-top:8px;font-size:13px;max-width:280px}
.ranking-row-detail summary{cursor:pointer;color:var(--muted);min-height:32px;display:list-item;list-style:disclosure-closed inside}
.ranking-row-detail[open] summary{list-style-type:disclosure-open}
.ranking-row-detail dl{margin:4px 0 8px}
.ranking-row-detail dl div{display:flex;justify-content:space-between;gap:18px;padding:3px 0}
.ranking-row-detail dt{color:var(--muted)}
.ranking-row-detail dd{margin:0;font-variant-numeric:tabular-nums}
.ranking-page .shooters-directory{padding-top:0}
.ranking-page .directory-order{font-size:14px;margin:14px 0}
.shooter-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shooter-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#101010;min-width:0}
.shooter-location{margin:15px 0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.shooter-card-footer{border-top:1px solid var(--line);padding-top:12px;font-size:13px;color:var(--muted)}
.shooter-card-footer strong{color:var(--accent);font-size:17px}
.shooter-card-footer details{max-width:none}
@media(max-width:1000px){.shooter-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .ranking-page .official-ranking-card{padding:16px}
 .ranking-page .official-ranking-table tr{display:grid;grid-template-columns:80px minmax(0,1fr)}
 .ranking-page .official-ranking-table td.official-position{grid-column:1;grid-row:1}
 .ranking-page .official-ranking-table td.official-shooter{grid-column:2;grid-row:1}
 .ranking-page .official-ranking-table td.official-points{grid-column:1;grid-row:2;font-size:20px;padding:12px 6px}
 .ranking-page .official-ranking-table td:last-child{grid-column:2;grid-row:2}
 .ranking-page .official-ranking-table td{border-right:0!important}
 .ranking-page .official-ranking-table td::before{white-space:nowrap}
 .ranking-page .official-ranking-table td.official-shooter::before{display:none}
 .ranking-page .official-ranking-table .ranking-person{gap:8px}
 .ranking-page .official-ranking-table .ranking-person strong{font-size:14px}
 .ranking-page .official-ranking-table .shooter-avatar{flex-basis:40px;width:40px;height:40px}
 .shooter-cards{grid-template-columns:1fr}
}
