/* Shared broadcast shell; one player and one chat across betting tabs. */
.shared-betting { width: min(1180px, calc(100% - 32px)); margin: 28px auto 0; }
.shared-betting + .site-view { margin-top: 18px; }
.stream-below .stream-frame { min-width: 0; }
@media(max-width: 900px) {
  .stream-below .stream-content { grid-template-columns: minmax(0, 1fr); }
  .stream-below .stream-frame, .stream-below .stream-frame > div:first-child, .stream-below .stream-frame iframe { min-height: 0; }
}

/* A compact bookmaker's ledger, using the site's existing type and spacing. */
#liveView .section-label, #tournamentView .section-label { letter-spacing: .1em; }
#liveView .ledger, #liveView .leaderboard-section, #liveView .recent-outcomes-section { box-shadow: none; }
#liveView .notice { padding-block: 9px; font-size: 12px; }
#liveView .recent-outcomes-heading, #liveView .leaderboard-heading { padding-block: 13px; }
#liveView .ticket-ledger { border-top: 2px solid var(--cyan); }
#liveView #ticket { line-height: 1.65; }
#liveView .future-toggle { border-top: 1px solid var(--line); background: transparent; }
#liveView .empty { font-size: 12px; }
.stream-below .stream-heading { padding-block: 10px; }
.stream-below .stream-heading strong { font-size: 11px; letter-spacing: .1em; }

#tournamentView { --t-accent: #e9bf72; --t-other: #b6a1df; --t-line: #393341; --t-panel: #15131b; }
#tournamentTab[aria-selected="true"] { background: #e9bf72; color: #17131e; }
#tournamentView .section-label { color: var(--t-accent); }
.tournament-header { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; padding: 22px 0; border-bottom: 2px solid var(--t-accent); }
.tournament-header h1 { font-size: clamp(28px, 4vw, 44px); margin: 7px 0; text-transform: uppercase; }
.tournament-header p { color: #a9a1b3; margin: 5px 0; font-size: 12px; }
.tournament-wallet { text-align: right; }
.tournament-wallet strong { display: block; font-size: 28px; font-variant-numeric: tabular-nums; color: var(--t-accent); }
#tournamentPhase { padding: 14px 0; font-size: 12px; letter-spacing: .08em; font-weight: 800; color: #aaa2b4; }
#tournamentPhase.is-open { color: var(--t-accent); }
#tournamentPhase.is-open::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 9px; border-radius: 50%; background: currentColor; }
.tournament-pools { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.tournament-pools article { --side: var(--t-accent); padding: 22px; min-width: 0; border: 1px solid #51432f; border-top: 4px solid var(--side); background: #211b16; }
.tournament-pools article:last-child { --side: var(--t-other); border-color: #49405e; border-top-color: var(--side); background: #1d192b; text-align: right; }
#tournamentView .tournament-pools .section-label { display: inline-block; color: var(--side); border: 1px solid currentColor; padding: 4px 7px; }
.tournament-pools h2 { margin: 10px 0 24px; color: var(--side); overflow-wrap: anywhere; }
.tournament-pools strong { font-size: 38px; display: inline-block; margin-right: 12px; color: var(--t-accent); font-variant-numeric: tabular-nums; }
.tournament-pools article:last-child strong { color: var(--t-other); }
#tournamentLeftTotal, #tournamentRightTotal { font-size: 12px; color: #b3acbd; }
.tournament-pools button { display: block; width: 100%; padding: 12px; margin-top: 20px; background: var(--t-accent); color: #17131e; }
.tournament-pools article:last-child button { background: var(--t-other); }
.tournament-form { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; padding: 16px 0; }
.tournament-form label { display: grid; gap: 7px; flex: 1; min-width: 140px; font-size: 11px; color: #b3acbd; }
.tournament-form input, .tournament-form select { padding: 11px; background: #101015; border: 1px solid var(--t-line); color: var(--paper); width: 100%; }
#tournamentView button:disabled { opacity: .35; cursor: not-allowed; }
#tournamentView .tournament-pools button:disabled { filter: none; opacity: 1; border: 1px solid #665334; background: #342a1d; color: #b79b6a; }
#tournamentView .tournament-pools article:last-child button:disabled { border-color: #57496e; background: #2c243d; color: #a396ba; }
#tournamentView button:not(:disabled):focus-visible, #tournamentView a:focus-visible, .betting-rules summary:focus-visible { outline: 2px solid var(--t-other); outline-offset: 3px; }
#tournamentJoin, #tournamentCashout, #tournamentRetry { padding: 11px 14px; background: var(--t-accent); color: #17131e; font-size: 11px; }
#tournamentJoin { margin-top: 10px; }
#tournamentTicket, #tournamentReceipt { padding: 12px 15px; background: #19161f; border-left: 2px solid var(--t-accent); font-size: 13px; line-height: 1.5; }
#tournamentNotice { color: var(--t-accent); font-size: 12px; }
#tournamentChain { color: #b3acbd; font-size: 12px; }
#tournamentNotice:empty, #tournamentChain:empty { display: none; }
.tournament-lists { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; margin-top: 24px; }
.tournament-lists section { border-top: 1px solid var(--t-line); }
.tournament-lists h3, .tournament-bracket h3 { font-size: 11px; letter-spacing: .1em; margin: 16px 0; }
.tournament-list { max-height: 300px; overflow-y: auto; }
.tournament-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #25212d; font-size: 12px; }
.tournament-list > div > span:last-child { text-align: right; }
.tournament-bet-return { color: var(--t-accent, #e9bf72); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tournament-bracket { margin: 28px 0; padding-top: 5px; border-top: 1px solid var(--t-line); }
.tournament-bracket h3 { display: inline-block; margin-right: 18px; }
.tournament-bracket a { color: var(--t-accent); font-size: 12px; }
#tournamentSearchButton, #tournamentSearchResults button { background: #29232f; color: #eee8f5; padding: 12px; font-size: 12px; }
#tournamentSearchResults button { margin: 0 8px 8px 0; }
#tournamentSearchNotice { color: #b3acbd; font-size: 12px; }
#tournamentSearchResults p { font-size: 13px; line-height: 1.6; }
.betting-rules { margin-top: 15px; color: #aaa2b4; font-size: 12px; line-height: 1.65; }
.betting-rules summary { cursor: pointer; width: fit-content; }
.betting-rules p { max-width: 640px; }
#tournamentNextStream { margin-top: 26px; color: #b3acbd; }
body[data-site-tab="tournament"] footer { font-size: 0; }
body[data-site-tab="tournament"] footer::after { content: 'TOURNAMENT - PLAY MONEY'; font-size: 10px; }
@media(max-width: 650px) {
  .shared-betting { width: calc(100% - 20px); }
  .tournament-header { gap: 12px; }
  .tournament-header h1 { font-size: 28px; }
  .tournament-wallet strong { font-size: 22px; }
  .tournament-wallet p { max-width: 130px; }
  .tournament-lists { grid-template-columns: 1fr; gap: 18px; }
  .tournament-pools article { padding: 15px 12px; }
  .tournament-pools strong { font-size: 28px; margin-right: 6px; }
}

/* Tab atmosphere fades independently of content and leaves account cosmetics intact. */
body { transition: background-color 350ms ease; }
body[data-site-tab="tournament"] { background-color: #131216; }
body[data-site-tab="shop"] { background-color: #10161a; }
.masthead { transition: background-color 350ms ease, border-color 350ms ease; }
body[data-site-tab="tournament"] .masthead { background-color: #191520; border-bottom-color: #e9bf72; }
body[data-site-tab="shop"] .masthead { background-color: #14252e; border-bottom-color: #8dc8e8; }
#shopTab[aria-selected="true"] { background: #8dc8e8; color: #101c24; }
#shopView { --cyan: #8dc8e8; --gold: #efaf91; --panel: #14212b; --line: #344b59; --muted: #a1b4c1; }
#shopView .shop-hero { border-top-color: var(--cyan); }
#shopView .shop-category-note, #shopView .shop-preview, #shopView .loadout-slot button { background-color: #0d1922; }

@media(max-width: 650px) {
  .tournament-pools { gap: 10px; }
}

.bracket-player { margin: 18px 0 5px; font-size: 26px; color: var(--t-accent); overflow-wrap: anywhere; }
#tournamentSearchResults .bracket-record { margin: 0 0 16px; color: #b3acbd; }
.bracket-match { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 12px; border-bottom: 1px solid var(--t-line); background: #15131b; font-size: 14px; }
.bracket-match > span { overflow-wrap: anywhere; }
.bracket-outcome { font-size: 11px; letter-spacing: .08em; color: #b3acbd; }
.bracket-match[data-outcome="WIN"] .bracket-outcome { color: #8edeb0; }
.bracket-match[data-outcome="LOSS"] .bracket-outcome { color: #ff97a6; }
.bracket-match[data-outcome="LIVE"] .bracket-outcome { color: var(--t-accent); }
.bracket-score { font-size: 23px; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media(max-width: 650px) { .bracket-match { grid-template-columns: 70px minmax(0, 1fr) auto; gap: 9px; padding-inline: 8px; } .bracket-score { font-size: 20px; } }

/* Flat surfaces and ledger typography; colour identifies the section or side. */
:root { --ui-type: Consolas, "Liberation Mono", "Courier New", monospace; font-family: var(--ui-type); }
body { font-size: 13px; line-height: 1.45; }
button, input, select, textarea { font-family: inherit; }
button { font-weight: 700; letter-spacing: 0; }
.kicker, .section-label, #liveView .section-label, #tournamentView .section-label { font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.masthead { border-bottom-width: 2px; }
.masthead h1 { font-size: clamp(30px, 5vw, 48px); }
.site-tabs button { font-size: 11px; letter-spacing: .02em; }
#tournamentView h1, .shop-hero h2, .fighter h2, .tournament-pools h2 { font-family: var(--ui-type); font-style: normal; font-weight: 700; letter-spacing: -.04em; line-height: 1.15; }
#tournamentView h1, .shop-hero h2 { font-size: clamp(22px, 3vw, 32px); }
.tournament-header { grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 16px 0; }
.tournament-header h1 { overflow-wrap: anywhere; }
.tournament-header p { font-size: 11px; }
.tournament-wallet strong { font-size: 24px; }
.tournament-pools article { border-top-width: 2px; padding: 18px; }
.tournament-pools h2, .fighter h2 { font-size: clamp(23px, 3vw, 32px); }
.tournament-pools strong { font-size: 30px; letter-spacing: -.05em; }
.tournament-pools button { font-size: 13px; padding: 10px; }
.tournament-form label { font-size: 11px; }
#tournamentTicket, #tournamentReceipt { background: #17161c; }
.tournament-lists h3, .tournament-bracket h3 { letter-spacing: .03em; }
.shop-hero, .shop-loadout, .ledger, .leaderboard-section, .recent-outcomes-section { border-top-width: 2px; }
.shop-hero { padding: 20px; }
.shop-category-tabs button { font-size: 11px; }
.account-menu { background: #10141a; box-shadow: none; }
.pool-line strong, .bracket-score, .tournament-wallet strong, .shop-balance-panel strong { font-variant-numeric: tabular-nums; }
@media(max-width: 650px) {
  .tournament-header { gap: 10px; }
  .tournament-wallet strong { font-size: 18px; }
  .tournament-wallet p { max-width: 115px; }
  .tournament-pools article { padding: 12px 10px; }
  .tournament-pools strong { font-size: 25px; }
  .tournament-pools h2 { font-size: 24px; }
  #tournamentLeftTotal, #tournamentRightTotal { display: block; font-size: 11px; }
  .tournament-form label { min-width: 120px; }
}

.tournament-form label[hidden] { display: none; }
