/* Ranking-specific presentation; shared site branding is preserved. */
#rankings{max-width:1080px;padding-top:44px;padding-bottom:56px}
#rankings .heading{margin-bottom:24px;padding-bottom:20px;gap:20px}
#rankings h2{font-size:clamp(32px,4vw,48px);letter-spacing:-1.5px}
#rankings .heading>p{margin:0;font-size:12px}
.ranking-help-link{display:inline-block;color:#d5ba8c;text-decoration:underline;text-underline-offset:4px;margin-top:6px}
#rankings .ranking-panel{border-color:#373127;background:#101010}
#rankings .ranking-controls{display:flex;flex-wrap:wrap;gap:20px;padding:20px;align-items:center}
#rankings .tabs{gap:0;background:#080808;border:1px solid #494137;padding:4px}
#rankings .tabs button{min-height:44px;padding:10px 24px;border:0}
#rankings .search-label{margin-left:auto;flex:1;max-width:300px;min-width:180px}
#rankings .search-label input{width:100%;min-height:48px;border-color:#50483b;font-size:15px}
.points-toggle{display:flex;align-items:center;gap:9px;font-size:12px;color:#ccc;cursor:pointer;position:relative;min-height:44px}
.points-toggle input{position:absolute;opacity:0;width:36px;height:24px;margin:0}
.switch-track{width:36px;height:22px;border:1px solid #777;background:#2b2b2b;border-radius:20px;position:relative;flex-shrink:0}
.switch-track:after{content:'';width:14px;height:14px;border-radius:50%;background:#ddd;position:absolute;left:3px;top:3px;transition:transform .15s}
.points-toggle input:checked+.switch-track{background:#b49058;border-color:#b49058}
.points-toggle input:checked+.switch-track:after{background:#080808;transform:translateX(14px)}
.points-toggle input:focus-visible+.switch-track{outline:2px solid #d5ba8c;outline-offset:4px}
#rankings .ranking-meta{padding:12px 20px;align-items:center;color:#bbb;font-size:12px}
.page-size-label{display:flex;align-items:center;gap:8px;white-space:nowrap}
#rank-size{background:#191919;color:#fff;border:1px solid #555;padding:8px;font:inherit;min-height:44px}
#rank-size:focus-visible{outline:2px solid #b49058;outline-offset:3px}
#rankings .ranking-table th{position:sticky;top:92px;z-index:2;background:#22201b;color:#d5ba8c;padding:15px 20px}
#rankings .ranking-table th:first-child{width:82px}
#rankings .ranking-table th:last-child{width:120px}
#rankings .ranking-table td{padding:17px 20px;font-size:16px;line-height:1.4}
#rankings .ranking-table td:first-child{font-variant-numeric:tabular-nums;color:#bcb6ac}
#rankings .ranking-table tbody tr:nth-child(even){background:#151515}
#rankings .ranking-table tbody tr.rank-leader{background:#b4905810}
#rankings .ranking-table tbody tr.rank-leader td:first-child{color:#e4c58f;box-shadow:inset 3px 0 #b49058}
#rankings .ranking-table tbody tr.rank-leader-1{background:#b4905820}
#rankings .ranking-table tbody tr:hover{background:#25221c}
#rankings .ranking-table .points{font-size:17px;letter-spacing:.2px}
#rankings .ranking-table th.points{font-size:10px}
#rankings .pagination{padding:20px 20px 8px;gap:8px;flex-wrap:wrap}
#rankings .pagination button{min-height:44px;padding:10px 14px}
#rank-pages{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}
#rank-pages button{min-width:44px;font-size:12px}
#rank-pages button[aria-current=page]{background:#b49058;border-color:#b49058;color:#080808;font-weight:bold}
.rank-range{text-align:center;color:#aaa;font-size:12px;margin:10px 0 20px}
.ranking-help{scroll-margin-top:110px;margin-top:24px;border-bottom:1px solid #333;padding-bottom:18px}
.ranking-help summary{cursor:pointer;color:#d5ba8c;font-size:13px;min-height:32px}
.ranking-help p{max-width:750px;font-size:13px;line-height:1.7;color:#bbb}
.ranking-help a{text-decoration:underline;text-underline-offset:3px;color:#e4c58f}
@media(max-width:850px){#rankings .ranking-table th{top:77px}}
@media(max-width:800px){#rankings .ranking-controls{flex-direction:row;gap:12px;padding:16px}#rankings .tabs{flex:1}#rankings .tabs button{flex:1;padding-inline:14px}#rankings .points-toggle{margin-left:auto}#rankings .search-label{flex-basis:100%;max-width:none;margin:0;order:3}#rankings .ranking-meta{flex-direction:row;padding:12px 16px}#rankings .heading{align-items:start}#rankings .ranking-table td{padding:15px 14px}#rankings .ranking-table th{padding:14px}#rankings .ranking-table th:first-child{width:62px}}
@media(max-width:540px){#rankings{width:94%;padding-top:28px}#rankings .heading{display:block;padding-inline:4px}#rankings .heading>p{margin-top:14px}#rankings .ranking-controls{padding:12px}#rankings .points-toggle{flex-basis:100%;order:4}#rankings .ranking-meta{padding:10px 12px;gap:6px;font-size:11px}#rankings .ranking-table th:first-child{width:52px}#rankings .ranking-table th:last-child{width:84px}#rankings .ranking-table th,#rankings .ranking-table td{padding:15px 10px}#rankings .ranking-table td{font-size:14px}#rankings .ranking-table .points{font-size:15px}#rankings .pagination{padding:14px 10px 4px;justify-content:space-between}#rank-pages{order:3;width:100%;margin-top:8px}#rank-pages button{padding:8px;min-width:40px}#rankings .note{padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.switch-track:after{transition:none}}

#rankings .ranking-table td:first-child{white-space:nowrap}
.rank-movement{display:inline-block;margin-left:5px;font-size:12px;line-height:1;font-weight:600;vertical-align:1px}
#rankings .rank-up{color:#39a86a}
#rankings .rank-down{color:#e26767}

.player-organizations{display:inline-flex;align-items:center;gap:5px;margin-left:8px;vertical-align:middle;white-space:nowrap}.organization-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:26px;background:#172522;border:1px solid #52635d;border-radius:4px;vertical-align:middle;transition:border-color .15s}.organization-badge img{display:block;width:34px;height:18px;object-fit:contain}.organization-badge.org-ctf{background:#fff;width:28px}.organization-badge.org-ctf img{width:22px;height:22px}.organization-badge:hover,.organization-badge:focus-visible{outline:2px solid #cfb88c;outline-offset:2px}.participation-note{font-size:12px;line-height:1.6;opacity:.8;max-width:800px;margin:12px 0 20px}@media(max-width:480px){.player-organizations{gap:3px;margin-left:5px}.organization-badge{width:34px;height:24px}.organization-badge img{width:28px;height:16px}}
