.tournament-table-panel,.tournament-table-panel [data-tournament-table] { min-width: 0; }
.tt-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; padding:14px 22px; border-bottom:1px solid #2b3853; }
.tt-mode { display:flex; gap:4px; padding:3px; border:1px solid #34445e; border-radius:12px; background:#0d172a; }
.tt-mode button,.tt-reset { font:inherit; font-size:12px; color:#b7c7e5; background:transparent; border:0; border-radius:9px; padding:8px 14px; cursor:pointer; }
.tt-mode button:disabled { opacity:.45; cursor:default; }
.tt-mode button[aria-pressed=true] { color:white; background:#443d83; }
.tt-density { display:flex; align-items:center; gap:8px; font-size:12px; color:#bdcbe4; cursor:pointer; }
.tt-density input { accent-color:#aaa0ff; width:16px; height:16px; margin:0; }
.tt-reset { margin-left:auto; color:#a8b7dc; text-decoration:underline; text-underline-offset:3px; }
.tt-scroll { overflow-x:auto; width:100%; isolation:isolate; }
.tt-scroll .tournament-standings { table-layout:fixed; width:100%; border-collapse:separate; border-spacing:0; }
.tt-scroll .tt-full { min-width:900px; }.tt-scroll .tt-matrix { min-width:760px; }
.tt-scroll .tournament-standings th { padding:11px 7px; font-size:10px; letter-spacing:0; text-transform:none; color:#acbbd6; text-align:right; width:auto; border-bottom:1px solid #344059; background:#111b30; }
.tt-scroll .tournament-standings th button { display:inline-flex; gap:4px; align-items:center; justify-content:flex-end; width:100%; padding:0; border:0; color:inherit; font:inherit; background:none; cursor:pointer; min-height:24px; }
.tt-scroll .tournament-standings th button span { font-size:10px; opacity:.7; }
.tt-scroll .tournament-standings td { padding:10px 8px; font-size:13px; text-align:right; border-top:0; border-bottom:1px solid #2b3853; background:#141c31; }
.tt-scroll .tournament-standings .tt-col-rank,.tt-scroll .tournament-standings .tt-col-name { text-align:left; background:#141c31; }
.tt-scroll .tournament-standings .tt-col-rank { position:sticky; left:0; z-index:2; }
.tt-scroll .tournament-standings .tt-col-name { position:static; }
.tt-scroll .tournament-standings th.tt-col-rank { z-index:3; background:#111b30; }
.tt-scroll .tournament-standings th.tt-col-name { background:#111b30; }
.tt-scroll .tournament-standings .tt-col-name button { justify-content:flex-start; }
.tt-scroll .tournament-standings tr.is-rank-1 td { background:#292936; }
.tt-scroll .tournament-standings tr.is-selected td { background:#283058; }
.tt-scroll .tournament-standings .tt-player { display:flex; align-items:center; gap:8px; width:100%; min-height:40px; padding:0; border:0; background:none; color:white; text-align:left; cursor:pointer; font:inherit; }
.tt-player > span { min-width:0; }.tt-player strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.tt-player small { display:block; color:#a9b9ee; font-size:10px; margin-top:4px; }
.tt-scroll .tournament-standings .avatar,.tt-scroll .tournament-standings .avatar-fallback { width:30px; height:30px; flex:0 0 30px; }
.tt-scroll .tournament-standings .tt-col-result strong { font-size:17px; }
.tt-scroll .tournament-standings .tt-col-result small { display:block; color:#97a7c5; font-size:9px; margin-top:4px; white-space:normal; }
.tt-scroll .tt-stat-bonus { color:#75e5c6; }.tt-scroll .tt-stat-penalty { color:#ffa0b2; }
.tt-scroll .tournament-standings .tt-game-cell { text-align:center; }
.tt-game-cell button { display:grid; gap:6px; justify-items:center; width:100%; min-height:40px; color:#e9efff; background:none; border:0; padding:0; font:inherit; cursor:pointer; }
.tt-game-cell strong { font-size:14px; }.tt-game-cell .is-negative { color:#ffa0b2; }
.tt-game-cell .tt-role { padding:2px 6px; font-size:9px; }
.tt-stat-wins { white-space:nowrap; }
.tt-win-percentage { color:#a6b4cd; font-size:11px; font-weight:400; }
.tt-unknown { color:#8191ad; }
.tt-legend { margin:0; padding:12px 22px; color:#92a4c1; font-size:11px; line-height:1.6; border-bottom:1px solid #2b3853; }
.tt-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tt-scroll:focus-visible { outline:2px solid #a9a6ff; outline-offset:-2px; }
@media(max-width:680px) {
  .tt-toolbar { gap:10px; padding:12px; }.tt-mode button { padding:8px 10px; font-size:11px; }
  .tt-density { font-size:11px; }.tt-reset { font-size:10px; padding:4px; }
  .tt-scroll .tournament-standings th,.tt-scroll .tournament-standings td { padding:9px 5px; font-size:11px; }
  .tt-scroll .tt-full,.tt-scroll .tt-matrix { min-width:760px; }
  .tt-scroll .tt-compact { min-width:0; }
  .tt-scroll .tournament-standings .tt-player strong { font-size:11px; }
  .tt-scroll .tournament-standings .tt-player small { font-size:9px; }
  .tt-scroll .tournament-standings .tt-col-result strong { font-size:15px; }
  .tt-scroll .tournament-standings .tt-col-result small { font-size:8px; }
  .tt-scroll .tournament-standings .avatar,.tt-scroll .tournament-standings .avatar-fallback { width:27px; height:27px; flex-basis:27px; }
  .tt-legend { padding:10px 12px; font-size:10px; }
}
