.page.tournament-detail { display: grid; gap: 22px; }
.tournament-detail .club-sports-navigation { margin-block: 4px 0; }
.tournament-detail .club-sports-navigation a { padding: 12px 18px; }
.tournament-detail .club-sports-navigation small { display: none; }
.tournament-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px 28px; border: 1px solid #393764; border-radius: 24px; background: linear-gradient(115deg,#131a30,#22174e); }
.tournament-hero-content { min-width: 0; flex: 1; }
.tournament-title-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; min-width:0; }
.tournament-title-heading h1 { flex:1 1 280px; min-width:0; overflow-wrap:anywhere; }
@media(max-width:600px) { .tournament-title-heading { flex-direction:column; align-items:flex-start; } .tournament-title-heading h1 { flex:auto; max-width:100%; } }
.tournament-hero h1 { font-size: clamp(26px,3.4vw,42px); line-height: 1.08; margin: 8px 0 12px; }
.tournament-hero p { margin: 0; color: #adb6cc; }
.tournament-summary { display: grid; grid-template-columns: auto 1fr; gap: 8px 12px; flex: 0 0 180px; align-items: center; }
.tournament-summary strong { font-size: 25px; color: #fff; }
.tournament-summary span { color: #adb6cc; font-size: 12px; }
.tournament-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.tournament-tabs a { padding: 9px 15px; border-radius: 12px; background: #172238; border: 1px solid #303c54; color: #dae5ff; font-size: 13px; font-weight: 800; }
.tournament-tabs a:first-child { border-color: #7170df; background: #292451; }
.tournament-leaders { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.tournament-leader { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 8px 12px; padding: 14px 18px; text-align: left; color: #fff; background: #111b2e; border: 1px solid #3b4966; border-radius: 18px; cursor: pointer; font: inherit; }
.tournament-leader .leader-rank { grid-column: 1/-1; color: #afbbd5; text-transform: uppercase; font-size: 10px; letter-spacing: .08em; font-weight: 900; }
.tournament-leader.is-rank-1 { background: linear-gradient(120deg,#3b3026,#1a2330); border-color: #978045; }
.tournament-leader.is-rank-1 .leader-rank,.tournament-leader.is-rank-1 b { color: #ffce53; }
.tournament-leader.is-rank-3 .leader-rank,.tournament-leader.is-rank-3 b { color: #df9f74; }
.tournament-leader .avatar,.tournament-leader .avatar-fallback { width: 36px; height: 36px; flex: 0 0 36px; aspect-ratio: 1; object-fit: cover; }
.tournament-leader strong { font-size: 14px; overflow-wrap: anywhere; }
.tournament-leader b { font-size: 22px; text-align: right; }
.tournament-leader b small { display: block; color: #97a4c0; font-size: 9px; font-weight: 600; }
.tournament-section-heading { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid #2a3652; }
.tournament-section-heading h2 { margin: 4px 0 0; font-size: 25px; }
.tournament-section-heading .eyebrow { margin: 0; }
.tournament-search { display: grid; gap: 6px; font-size: 12px; color: #aeb8cd; width: 230px; }
.tournament-search input { width: 100%; min-width: 0; box-sizing: border-box; padding: 10px 12px; border: 1px solid #42516e; border-radius: 12px; background: #0c1528; color: #fff; font: inherit; font-size: 14px; }
.tournament-standings { width: 100%; table-layout: fixed; border-collapse: collapse; }
.tournament-standings th { padding: 13px 22px; text-align: left; color: #909db7; text-transform: uppercase; letter-spacing: .05em; font-size: 10px; }
.tournament-standings th:nth-child(1) { width: 68px; }
.tournament-standings th:nth-child(3) { width: 160px; text-align: right; }
.tournament-standings th:nth-child(4) { width: 62px; text-align: right; }
.tournament-standings td { padding: 14px 22px; border-top: 1px solid #2b3853; }
.tournament-standings td:nth-child(3),.tournament-standings td:nth-child(4) { text-align: right; }
.tournament-standings td:nth-child(3) strong { font-size: 19px; }
.tournament-standings td:nth-child(3) small { display: block; margin-top: 5px; color: #94a3be; font-size: 10px; }
.standing-rank { display: inline-grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #bac7df; font-weight: 900; }
.is-rank-1 .standing-rank { background: #ffcf48; color: #0b1424; }
.is-rank-2 .standing-rank { background: #b7c8e8; color: #0b1424; }
.is-rank-3 .standing-rank { background: #df9f74; color: #0b1424; }
.tournament-standings tr.is-rank-1 { background: linear-gradient(90deg,#ac8b382b,transparent); }
.standing-player { display: flex; gap: 12px; align-items: center; }
.standing-player .avatar,.standing-player .avatar-fallback { width: 34px; height: 34px; flex: 0 0 34px; aspect-ratio: 1; object-fit: cover; }
.standing-player > div { min-width: 0; }
.standing-player strong { display: block; font-size: 15px; overflow-wrap: anywhere; }
.standing-player button { display: block; margin-top: 5px; padding: 0; background: none; border: 0; color: #adbfff; font: inherit; font-size: 11px; cursor: pointer; }
.tournament-standings tr.is-selected { background: #283058; box-shadow: inset 3px 0 #8e89ff; }
.tournament-table-note { margin: 0; padding: 14px 24px; border-top: 1px solid #2b3853; color: #91a0b9; font-size: 11px; }
.tournament-detail button:focus-visible,.tournament-detail a:focus-visible,.tournament-detail summary:focus-visible,.tournament-search input:focus-visible { outline: 2px solid #a9a6ff; outline-offset: 4px; }
.tournament-detail [id] { scroll-margin-top: 20px; }
.tournament-player-result { padding: 24px; }
.player-result-empty { display: flex; gap: 18px; color: #a9b7d0; align-items: center; }
.player-result-empty > span { color: #a9a6ff; font-size: 34px; }
.player-result-empty h2 { color: #e4e9f8; font-size: 20px; margin: 0 0 8px; }
.player-result-empty p { margin: 0; font-size: 13px; line-height: 1.6; }
.player-result-header { display: flex; gap: 14px; align-items: center; }
.player-result-header .avatar,.player-result-header .avatar-fallback { width: 44px; height: 44px; flex: 0 0 44px; aspect-ratio: 1; object-fit: cover; }
.player-result-header h2 { margin: 4px 0 0; font-size: 26px; }
.player-result-header p { margin: 0; }
.player-result-header > a { margin-left: auto; font-size: 12px; }
.player-result-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 22px 0; gap: 12px; }
.player-result-metrics > div { padding: 14px; border: 1px solid #34465b; border-radius: 14px; background: #102034; }
.player-result-metrics strong { display: block; font-size: 24px; color: #54e1c6; }
.player-result-metrics small { display: block; margin-top: 6px; color: #a1b4cd; font-size: 11px; }
.player-sum-note { font-size: 12px; color: #b6c7e0; }
.player-game-list { list-style: none; padding: 0; display: grid; gap: 12px; }
.player-game-result { border: 1px solid #30455b; border-radius: 14px; padding: 14px 18px; background: #0a192a; }
.player-game-heading { display: flex; align-items: center; gap: 14px; }
.player-game-heading > a { font-weight: 800; font-size: 14px; }
.player-game-heading > strong { margin-left: auto; font-size: 21px; }
.player-role { border-radius: 8px; padding: 4px 8px; font-size: 11px; background: #29394f; }
.player-role.is-don { color: #d7b2ff; }.player-role.is-sheriff { color: #ffd561; }.player-role.is-civilian { color: #ff9db1; }
.player-game-components { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; color: #aebdd4; font-size: 11px; }
.player-game-components b { color: #e5edff; }
.player-game-components small { margin-left: auto; color: #8395b2; font-size: 10px; }
.player-observations { margin-top: 12px; padding-top: 12px; border-top: 1px solid #2a3c52; font-size: 12px; }
.player-observations summary,.player-source-details summary,.tournament-method summary,.nomination-all summary { cursor: pointer; color: #b6c6ff; }
.player-observations ul { padding-left: 18px; line-height: 1.8; }
.player-source-details { margin-top: 20px; font-size: 12px; }
.player-source-details dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 24px; }
.player-source-details dl > div { display: flex; justify-content: space-between; gap: 12px; }
.player-source-details dd { margin: 0; font-weight: 800; }
.tournament-game { padding: 16px 24px; border-top: 1px solid #2a3652; }
.tournament-game summary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; cursor: pointer; }
.tournament-game summary::before { content: '▸'; color: #a1afff; }.tournament-game[open] > summary::before { content: '▾'; }
.tournament-game summary span { font-size: 13px; color: #b6c4db; }.tournament-game summary small { margin-left: auto; font-size: 11px; color: #8497b5; }
.tournament-game-body { margin-top: 18px; font-size: 13px; }
.tournament-method { padding: 20px 24px; color: #aab9d2; font-size: 13px; line-height: 1.7; }
.tournament-method > summary { font-weight: 800; font-size: 14px; }
.tournament-source-links { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 16px; }
.tournament-detail .tournament-awards-heading h2 { font-size: 25px; }
.tournament-detail .nomination-all { margin-top: 12px; font-size: 11px; }
.tournament-detail .nomination-body > .award-match { display: inline-block; margin-top: 14px; font-size: 10px; }
.tournament-detail .is-mvp-race li.is-leading { min-height: 92px; }
.tournament-detail .tournament-awards-method { display: none; }
@media (max-width: 680px) {
  .page.tournament-detail { gap: 16px; }
  .tournament-detail .club-sports-navigation { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; padding: 4px; }
  .tournament-detail .club-sports-navigation a { padding: 10px 3px; font-size: 10px; }
  .tournament-hero { padding: 20px 18px; border-radius: 20px; display: block; }
  .tournament-hero h1 { font-size: 28px; }
  .tournament-hero p { font-size: 12px; }
  .tournament-summary { grid-template-columns: auto 1fr auto 1fr; margin-top: 16px; gap: 6px; }
  .tournament-summary strong { font-size: 22px; }.tournament-summary span { font-size: 10px; }
  .tournament-tabs { gap: 5px; }.tournament-tabs a { padding: 9px 10px; font-size: 11px; }
  .tournament-leaders { gap: 6px; }
  .tournament-leader { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 7px; text-align: center; }
  .tournament-leader .avatar,.tournament-leader .avatar-fallback { width: 36px; height: 36px; flex: 0 0 36px; aspect-ratio: 1; object-fit: cover; }
.tournament-leader strong { font-size: 11px; min-height: 28px; }.tournament-leader b { font-size: 20px; text-align: center; }
  .tournament-section-heading { padding: 18px 14px; gap: 12px; align-items: flex-start; }
  .tournament-section-heading h2 { font-size: 21px; }.tournament-section-heading .eyebrow { font-size: 8px; }
  .tournament-search { width: 140px; font-size: 10px; }.tournament-search input { padding: 9px; font-size: 16px; }
  .tournament-standings th,.tournament-standings td { padding: 12px 9px; }
  .tournament-standings th { font-size: 8px; }
  .tournament-standings th:nth-child(1) { width: 30px; }.tournament-standings th:nth-child(3) { width: 63px; }.tournament-standings th:nth-child(4) { width: 22px; }
  .standing-player { gap: 7px; }.standing-player strong { font-size: 12px; }.standing-player button { font-size: 10px; }
  .tournament-standings td:nth-child(3) strong { font-size: 15px; }.tournament-standings td:nth-child(3) small { font-size: 8px; }
  .tournament-table-note { padding: 12px 14px; font-size: 10px; }
  .tournament-player-result { padding: 18px 14px; }.player-result-header h2 { font-size: 22px; }.player-result-header > a { font-size: 10px; }
  .player-result-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.player-result-metrics strong { font-size: 22px; }
  .player-game-result { padding: 12px; }.player-game-heading { gap: 8px; }.player-game-heading > a { font-size: 12px; }.player-role { font-size: 10px; }
  .player-game-components small { width: 100%; margin: 0; }.player-source-details dl { grid-template-columns: 1fr; }
  .tournament-game { padding: 16px 14px; }.tournament-game summary { gap: 8px; }.tournament-game summary small { margin-left: 18px; width: 100%; }
  .tournament-method { padding: 18px 14px; }
}
