.rank-current-matches { margin-bottom:32px; min-width:0; }
.rank-current-match { margin:0 0 32px; min-width:0; }
.rank-current-match:last-child { margin-bottom:0; }
.rank-match-heading-meta { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.rank-match-freshness { display:inline-flex; align-items:center; gap:5px; color:#9caeaa; font-size:11px; font-variant-numeric:tabular-nums; }
.rank-match-freshness > span { width:5px; height:5px; border-radius:50%; background:#83d6ab; margin-right:2px; }
.rank-match-freshness.is-stale { color:#dfbd80; }
.rank-match-freshness.is-stale > span { background:#dfbd80; }
.rank-match-summary { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) minmax(300px,1.5fr); align-items:center; gap:24px; padding:18px 20px; border-top:1px solid #3b4645; border-bottom:1px solid #3b4645; background:#1a2022; }
.rank-match-map { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 12px; min-width:0; }
.rank-match-map > span:first-child { grid-column:1 / -1; color:#a3b3af; font-size:10px; }
.rank-match-map > strong { color:#edf2ef; font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.rank-match-timer { display:flex; align-items:center; gap:6px; color:#adbfba; font-size:12px; font-variant-numeric:tabular-nums; }
.rank-match-timer .d90x-icon { width:14px; height:14px; }
.rank-match-teams { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; justify-content:center; gap:0 12px; padding:0 22px; border-left:1px solid #36403f; border-right:1px solid #36403f; }
.rank-match-team-ct,.rank-match-team-t { display:flex; align-items:center; gap:12px; color:#98c6ef; }
.rank-match-team-ct { justify-content:flex-end; }
.rank-match-team-t { color:#e7bd78; }
.rank-match-teams strong { color:inherit; font-size:28px; font-weight:750; line-height:1.1; font-variant-numeric:tabular-nums; }
.rank-match-teams span > span { font-size:11px; font-weight:700; }
.rank-match-score-divider { color:#9aa6a4; font-size:20px; }
.rank-match-rounds { grid-column:1 / -1; text-align:center; color:#a4b1ae; font-size:10px; margin-top:6px; }
.rank-match-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; }
.rank-match-totals dt { color:#a4b5af; font-size:11px; }
.rank-match-totals dd { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin:3px 0 0; color:#f1f4ee; font-size:23px; font-weight:750; line-height:1.3; font-variant-numeric:tabular-nums; }
.rank-match-totals small { color:#c4ae88; font-size:11px; font-weight:500; }
.rank-match-table-wrap { max-height:587px; overflow:auto; scrollbar-color:#647b74 #192120; scrollbar-width:thin; overscroll-behavior:contain; }
.rank-match-table-wrap:focus-visible { outline:2px solid #97cabb; outline-offset:3px; }
.rank-match-table { table-layout:fixed; margin:0; width:100%; min-width:0; }
.rank-match-table td:nth-child(2) { min-width:0; }
.rank-match-table .rank-match-col-position { width:50px; }
.rank-match-table .rank-match-col-number { width:13%; }
.rank-match-table .rank-match-col-headshots { width:14%; }
.rank-match-table thead th { position:sticky; top:0; z-index:1; height:37px; padding:8px 16px; background:#222b2c; color:#b6c8c0; border-top:0; box-shadow:0 1px #3b4742; }
.rank-match-table abbr { text-decoration:none; }
.rank-match-table td { height:44px; padding:7px 16px; background:#141a1b; color:#c3cfcb; }
.rank-match-table tr:nth-child(even) td { background:#181f20; }
.rank-match-table tr:hover td { background:#222d2c; }
.rank-match-table td.rank-match-kills { color:#e1eee4; font-weight:750; }
.rank-match-table td > small { display:inline-block; margin-left:9px; color:#a5b7ae; font-size:10px; min-width:29px; }
.rank-match-player { display:flex; align-items:center; gap:10px; min-width:0; color:#edf2ef !important; }
.rank-match-player-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.rank-match-player .rank-avatar { flex:none; width:28px; height:28px; border-radius:4px; }
.rank-match-player .rank-avatar > img { width:100%; height:100%; object-fit:cover; }
.rank-match-online { flex:none; width:6px; height:6px; border-radius:50%; background:#67e29d; box-shadow:0 0 6px #56d88b66; }
.rank-match-left .rank-match-player { color:#a8b8b4 !important; }
.rank-match-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0 0; color:#a1b2aa; font-size:11px; }
.rank-match-footer a { display:inline-flex; align-items:center; gap:6px; font-size:11px; }
.rank-match-footer .d90x-icon { width:15px; height:15px; }
@media(max-width:1000px) {
    .rank-match-summary { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
    .rank-match-teams { border-right:0; }
    .rank-match-totals { grid-column:1 / -1; border-top:1px solid #36403f; padding-top:12px; text-align:center; }
    .rank-match-totals dd { justify-content:center; }
}
@media(max-width:600px) {
    .rank-current-match .rank-section-heading { align-items:flex-start; gap:9px; }
    .rank-current-match .rank-section-heading h2 { font-size:17px; }
    .rank-match-heading-meta { gap:8px; flex-wrap:wrap; }
    .rank-match-freshness { font-size:10px; }
    .rank-match-summary { padding:14px 12px; gap:12px; }
    .rank-match-map { grid-template-columns:minmax(0,1fr); gap:6px; }
    .rank-match-map > strong { font-size:14px; }
    .rank-match-map > span:first-child { grid-column:auto; }
    .rank-match-teams { padding:0 0 0 12px; gap:0 7px; }
    .rank-match-team-ct,.rank-match-team-t { gap:8px; }
    .rank-match-teams strong { font-size:25px; }
    .rank-match-totals { gap:8px; }
    .rank-match-totals dd { font-size:21px; gap:4px; }
    .rank-match-totals dt { font-size:10px; }
    .rank-match-totals small { font-size:10px; }
    .rank-match-table-wrap { max-height:544px; }
    .rank-match-table .rank-match-col-position,.rank-match-table th:first-child,.rank-match-table td:first-child { display:none; width:0; }
    .rank-match-table .rank-match-col-number { width:42px; }
    .rank-match-table .rank-match-col-headshots { width:43px; }
    .rank-match-table thead th { padding:7px 4px; font-size:9px; }
    .rank-match-table td { padding:7px 4px; font-size:11px; height:46px; }
    .rank-match-table td > small { display:block; margin:0; min-width:0; font-size:9px; }
    .rank-match-player { gap:6px; font-size:11px; }
    .rank-match-player .rank-avatar { width:24px; height:24px; }
    .rank-match-online { width:5px; height:5px; margin-left:-2px; }
    .rank-match-footer { font-size:10px; gap:8px; }
    .rank-match-footer a { font-size:10px; }
}
