/* Normal standings share the saved site theme; bracket layout stays separate. */
.standings-card [hidden]{display:none!important}
.standings-card .standings-header{margin:0 0 18px;padding:0;border:0;background:none;box-shadow:none;display:block}
.standings-card .board-title{font-size:24px;text-align:left;line-height:1.25;overflow-wrap:anywhere}
.standings-card .board-mode{display:inline-block;margin:10px 0;padding:5px 9px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-size:10px;text-align:left;letter-spacing:.07em}
.standings-card .standings-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--muted);align-items:center;font-weight:600}
.standings-card .match-winner{color:var(--accent-2);padding:4px 8px;border-radius:5px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.standings-card .scores{gap:12px}
.standings-card .team-standing{display:block;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.standings-card .team-standing-header{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--border);border-left:4px solid var(--team-color);background:color-mix(in srgb,var(--team-color) 7%,var(--surface-2))}
.standings-card .rank{display:flex;align-items:center;justify-content:center;border-radius:8px;min-height:42px;background:var(--surface);border:1px solid var(--border);font-size:15px;font-weight:900}
.standings-card .team-name{font-size:17px;line-height:1.3;margin:0;color:var(--team-color)}
.standings-card .team-count{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:550}
.standings-card .standing-score{text-align:right;font-variant-numeric:tabular-nums;min-width:48px}
.standings-card .standing-score strong{display:block;color:var(--accent-2);font-size:24px;line-height:1.1}
.standings-card .standing-score>span{display:block;margin-top:4px;font-size:10px;font-weight:550;color:var(--muted)}
.standings-card .team-players{padding:4px 14px;gap:0}
.standings-card .player-line{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);font-size:13px}
.standings-card .player-name{font-size:13px;line-height:1.4;overflow-wrap:anywhere;font-weight:700}
.standings-card .player-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;font-variant-numeric:tabular-nums}
.standings-card .player-stat{padding:3px 6px;border-radius:5px;font-size:10px;font-weight:600;color:var(--muted);background:var(--surface);white-space:nowrap}
.standings-card .note{grid-column:1/-1;margin:4px 0 0;padding:0;border:0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.standings-card .roster-toggle{display:block;width:calc(100% - 28px);margin:10px 14px 14px;padding:8px;border-radius:6px;color:var(--accent-2);background:var(--surface);border:1px solid var(--border);font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.standings-card .roster-toggle:hover{border-color:var(--accent)}
.standings-card .score-row.podium-gold{border:1px solid #d9b555;background:linear-gradient(125deg,#d9b55518,var(--surface-2) 65%);box-shadow:0 3px 16px #d9b55510}
.standings-card .score-row.podium-silver{border:1px solid #aab9c7;background:linear-gradient(125deg,#aab9c710,var(--surface-2) 65%)}
.standings-card .score-row.podium-bronze{border:1px solid #bd8d65;background:linear-gradient(125deg,#bd8d6510,var(--surface-2) 65%)}
.standings-card .podium-gold .rank{color:#f3d789;background:#d9b55519;border-color:#d9b555}
.standings-card .podium-silver .rank{color:#c7d3df;background:#aab9c719;border-color:#aab9c7}
.standings-card .podium-bronze .rank{color:#dfb48e;background:#bd8d6519;border-color:#bd8d65}
.standings-card .score-row.player-only,.standings-card .score-head.player-only{grid-template-columns:52px minmax(0,1fr) 64px;align-items:center;gap:12px}
.standings-card .score-row.player-only{border-radius:10px;padding:12px}
.standings-card .score-row.player-only:not(.podium-gold):not(.podium-silver):not(.podium-bronze){border:1px solid var(--border)}
.standings-card .score-row.player-only .player-line{padding:0;border:0;display:block}
.standings-card .score-row.player-only .player-stats{justify-content:flex-start;margin-top:5px}
.standings-card .score-head.player-only{padding:0 12px;font-size:10px}
.standings-card .score-head.player-only>span:last-child{text-align:right}
@media(max-width:700px){
  .standings-card .board-title{font-size:21px}.standings-card .standings-meta{gap:6px 10px}
  .standings-card .team-standing-header{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:11px}
  .standings-card .rank{font-size:13px;min-height:36px}.standings-card .team-name{font-size:15px}
  .standings-card .standing-score strong{font-size:21px}.standings-card .team-players{padding:3px 11px}
  .standings-card .player-line{grid-template-columns:minmax(0,1fr);gap:4px}.standings-card .player-stats{justify-content:flex-start}.standings-card .note{margin-top:0}
  .standings-card .score-row.player-only,.standings-card .score-head.player-only{grid-template-columns:42px minmax(0,1fr) 48px;gap:8px;padding:10px}
  .standings-card .roster-toggle{width:calc(100% - 22px);margin:9px 11px 11px;min-height:38px}
}

.standings-card .team-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);font-size:12px;font-variant-numeric:tabular-nums}
.standings-card .team-summary-stat{color:var(--accent-2);font-weight:750}
.standings-card .team-summary-coverage{color:var(--muted);font-size:11px}
@media(max-width:700px){.standings-card .team-summary{padding:10px 11px}}

/* Density is a browser preference; Comfortable retains the original layout. */
.density-control{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.density-control select{font:inherit;color:var(--text);background:var(--button);border:1px solid var(--accent);border-radius:8px;min-height:40px;padding:8px 12px}
[data-leaderboard-density="compact"] .standings-card .standings-header{margin-bottom:12px}
[data-leaderboard-density="compact"] .standings-card .scores{gap:8px}
[data-leaderboard-density="compact"] .standings-card .team-standing-header{padding:9px 12px;gap:8px;grid-template-columns:42px minmax(0,1fr) auto}
[data-leaderboard-density="compact"] .standings-card .rank{min-height:32px;font-size:13px}
[data-leaderboard-density="compact"] .standings-card .standing-score strong{font-size:21px}
[data-leaderboard-density="compact"] .standings-card .team-summary{padding:7px 12px;gap:6px 12px}
[data-leaderboard-density="compact"] .standings-card .player-line{padding:6px 0;column-gap:6px}
[data-leaderboard-density="compact"] .standings-card .player-stat{padding:2px 4px;background:none}
[data-leaderboard-density="compact"] .standings-card .note{margin-top:2px}
[data-leaderboard-density="compact"] .standings-card .roster-toggle{margin-top:8px;margin-bottom:9px;padding:6px}
[data-leaderboard-density="compact"] .standings-card .score-row.player-only{padding:8px;gap:8px}
@media(max-width:700px){
  [data-leaderboard-density="compact"] .standings-card .player-line{grid-template-columns:minmax(0,1fr) auto;gap:3px 6px}
  [data-leaderboard-density="compact"] .standings-card .player-stats{gap:3px;justify-content:flex-end}
  [data-leaderboard-density="compact"] .standings-card .score-row.player-only .player-line{display:block}
  [data-leaderboard-density="compact"] .standings-card .score-row.player-only .player-stats{justify-content:flex-start}
}

/* Match records share the normal standings cards. Details remain quiet until opened. */
.match-filters{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:2px}
.match-filters label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}
.match-filters input[type=date]{min-height:36px;font-size:12px;border-color:var(--border);padding:6px 9px}
.match-filters .btn{font-size:12px;padding:8px 10px;border-color:var(--border)}
.match-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:22px 0 8px;color:var(--muted);font-size:12px}
.match-pagination .btn{font-size:12px}.match-pagination .btn:disabled{opacity:.45;cursor:default}
.standings-card .match-details{margin-top:16px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);overflow:hidden}
.standings-card .match-details>summary{display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;list-style:none;font-size:13px;font-weight:750;color:var(--text)}
.standings-card .match-details>summary::-webkit-details-marker{display:none}
.standings-card .match-details>summary::before{content:"+";font-size:18px;color:var(--accent-2);font-weight:500;width:14px;text-align:center}
.standings-card .match-details[open]>summary::before{content:"−"}
.standings-card .match-details>summary>span:last-child{margin-left:auto;color:var(--muted);font-size:11px;font-weight:500}
.standings-card .match-details[open]>summary{border-bottom:1px solid var(--border);background:var(--surface-2)}
.match-details>div{padding:14px}.match-overview{display:grid;grid-template-columns:1fr .7fr 1.4fr;gap:12px;margin-bottom:16px}
.match-overview>div{display:grid;gap:5px}.match-overview span{color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.05em}
.match-overview strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.match-overview>div:last-child strong{color:var(--accent-2)}
.match-statistics-wrap{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:7px;scrollbar-color:var(--accent) var(--surface)}
.match-statistics-wrap table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}
.match-statistics-wrap th,.match-statistics-wrap td{padding:10px 11px;font-size:11px;border-bottom:1px solid var(--border)}
.match-statistics-wrap th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-weight:600}
.match-statistics-wrap td:first-child{font-weight:750}.match-statistics-wrap tbody tr:last-child td{border-bottom:0}
.match-statistics-wrap tbody tr:hover{background:var(--surface-2)}.match-your-row{background:color-mix(in srgb,var(--accent) 15%,var(--surface));box-shadow:inset 3px 0 var(--accent)}
.match-details-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.match-details-footer p,.match-coverage{font-size:10px;line-height:1.5;color:var(--muted);margin:0}.match-coverage{margin-bottom:12px}
.match-remove{padding:6px 9px!important;font-size:10px;border-color:var(--border)!important;white-space:nowrap;opacity:.8}
@media(max-width:700px){.match-overview{gap:8px}.match-details>div{padding:11px}.match-details-footer{align-items:flex-start;flex-direction:column}.match-statistics-wrap{max-height:320px}.match-filters input[type=date]{width:135px}}

.boards-grid:has(>.mode-group:only-child):not(:has(>.bracket-group)){grid-template-columns:minmax(0,900px);justify-content:center}

/* Compact overview keeps the main gamemodes visible together on desktop. */
.controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:10px 0 16px}
.controls .mode-tabs{width:100%}.controls .search{width:250px}.controls .density-control,.controls .match-filters{margin:0}
.controls .updated{font-size:10px}.controls #match-notice:empty{display:none}
.boards-grid[data-overview="true"]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.boards-grid[data-overview="true"]>.mode-group{min-width:0;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:8px 12px}
.boards-grid[data-overview="true"]>.bracket-group{grid-column:auto;justify-items:stretch}
.boards-grid[data-overview="true"] .mode-heading{grid-column:1;grid-row:1;margin:0;padding:0;border:0;font-size:16px;text-align:left;align-self:center}
.boards-grid[data-overview="true"] .mode-browse{grid-column:2;grid-row:1;justify-self:start;font-size:11px;min-height:30px;padding:5px 10px}
.boards-grid[data-overview="true"] .mode-board-stack{display:block;grid-column:1/-1;grid-row:2;height:165px;padding:0;overflow:auto;scroll-snap-type:none}
.boards-grid[data-overview="true"] .overview-card{height:100%;min-height:100%!important;width:100%;min-width:0;margin:0;padding:12px 14px;box-shadow:none;align-self:stretch}
.overview-card .board-title{font-size:17px;text-align:left;margin:0 0 5px;line-height:1.3;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.overview-meta{margin:4px 0;color:var(--muted);font-size:10px}.overview-state{margin:7px 0;color:var(--accent-2,var(--accent));font-size:11px}
.overview-standings{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.overview-standings li{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5}.overview-standings li:first-child{color:var(--accent-2,var(--accent))}.overview-standings li span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.overview-standings strong{color:var(--accent-2,var(--accent))}
.boards-grid[data-overview="false"]{grid-template-columns:minmax(0,1fr)}
.boards-grid[data-overview="false"] .mode-board-stack{height:auto;max-height:none;overflow:visible}
@media(min-width:1600px){.boards-grid[data-overview="true"]{grid-template-columns:repeat(4,minmax(0,1fr))}.boards-grid[data-overview="true"]>.mode-group{grid-template-columns:minmax(0,1fr)}.boards-grid[data-overview="true"] .mode-browse{grid-column:1;grid-row:2}.boards-grid[data-overview="true"] .mode-board-stack{grid-row:3;height:260px}}
@media(max-width:700px){.boards-grid[data-overview="true"]{grid-template-columns:minmax(0,1fr)}.controls .mode-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.controls .mode-tabs .chip{flex-shrink:0}.controls .search{width:100%}}
