[hidden] { display: none !important; }
.player-layout.account-session-active:not(.classic-session-active):not(.tournament-session-active) > :not(#playerAccountPanel) { display: none; }
.player-layout.account-session-active.tournament-session-active #playerAccountPanel,
.player-layout.account-session-active.classic-session-active #playerAccountPanel { display: none; }
#leagueResultNotice { position: fixed; top: 80px; right: 16px; z-index: 120; width: min(360px, calc(100% - 32px)); box-shadow: 0 5px 25px #0004; border-radius: 8px; }
#leagueResultNotice .competitive-result { margin: 0; }
.league-game-chat { margin: 16px auto 0; max-width: 800px; border-top: 1px solid #7f8a9d; padding: 12px 0; }
.league-game-chat summary { cursor: pointer; color: #f7d44c; font-weight: 700; }
.league-game-chat .player-chat-log { height: 160px; overflow-y: auto; }
.league-game-chat .player-chat-compose { margin-top: 8px; }
.player-chat-compose input { min-width: 0; }
.player-lobby-chat select { min-width: 0; width: 100%; }
.player-chat-message span { overflow-wrap: anywhere; }
.player-lobby-shell .compact-list { max-height: 380px; overflow: auto; scrollbar-gutter: stable; }
.player-lobby-shell .scheduled-tournaments { max-height: 240px; overflow: auto; }
.player-game-room .player-chat-message { color: #f8f9fc; }
.player-game-room .player-chat-message strong { color: #ffd75e; }
.tournament-coin-terms { font-size: 13px; line-height: 1.5; }
.scheduled-admin-form input[type=number] { width: 100%; min-width: 0; }
.league-automation-error { color: #b42318; font-weight: 600; }
.league-mobile-nav { display: none; }
.player-lobby-shell .field-help { color: #dcc9b0; }
.player-profile-card .status-pill { color: #134e4a; }
.player-lobby-shell .lobby-player-row { display: grid; grid-template-columns: 1fr; gap: 8px; }
.player-lobby-shell .lobby-player-row .mini-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.player-lobby-shell .lobby-player-identity span { white-space: normal; }
.player-game-room .duel-head > strong { display: none; }
.player-game-room .score-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); gap: 8px; }
.player-game-room .score-row { min-width: 0; padding: 10px; }
.player-game-room .score-row span { overflow-wrap: anywhere; }
.player-game-room .duel-head { padding: 10px; gap: 8px; }
@media (max-width: 860px) {
  .league-mobile-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2px; position: sticky; top: 0; z-index: 5; background: #2a1b18; padding: 5px; }
  .league-mobile-nav button { padding: 11px 2px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #f5e5c2; background: transparent; font: 600 14px system-ui,sans-serif; }
  .league-mobile-nav button[aria-pressed=true] { border-bottom-color: #f7d44c; color: #ffdc68; }
  .player-lobby-shell { gap: 12px; }
  .player-lobby-shell[data-mobile-view]:not([data-mobile-view=chat]) .player-lobby-chat,
  .player-lobby-shell[data-mobile-view]:not([data-mobile-view=games]) .player-lobby-rooms,
  .player-lobby-shell[data-mobile-view=chat] .player-lobby-main,
  .player-lobby-shell[data-mobile-view=games] .player-lobby-main,
  .player-lobby-shell[data-mobile-view=people] .featured-tournament-card,
  .player-lobby-shell[data-mobile-view=people] .scheduled-tournaments,
  .player-lobby-shell[data-mobile-view=tournaments] .player-profile-card,
  .player-lobby-shell[data-mobile-view=tournaments] .player-columns,
  .player-lobby-shell[data-mobile-view=tournaments] .active-player-game-card { display: none; }
  .player-lobby-chat .player-chat-log { height: 320px; max-height: 48dvh; }
  .player-lobby-shell .trophy-badge { width: 64px; height: 64px; font-size: 32px; border-radius: 8px; box-shadow: none; background: transparent; }
  .player-layout.account-session-active #playerAccountPanel { padding: 8px; }
  .player-layout.account-session-active #playerAccountPanel > .panel-header { display: none; }
  .player-game-room { padding: 8px; border: 0; }
  .player-game-room-topbar { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 8px; }
  .player-room-brand img, .player-room-brand .status-pill { display: none; }
  .player-room-brand { flex: 1; min-width: 120px; }
  .player-game-room-topbar > button { width: auto; padding: 8px 10px; }
  .player-game-room .duel-head { display: flex; flex-wrap: wrap; align-items: center; }
  .player-game-room .duel-head em { font-size: 12px; }
  .player-game-room .duel-head .duel-leave-button { margin-left: auto; padding: 7px 9px; }
  .player-game-room .question-display { padding: 12px; }
  .player-game-room .question-title { font-size: 22px; line-height: 1.3; margin: 12px 0; }
  .player-game-room .score-row strong { font-size: 22px; }
  .player-game-room .duel-text-answer { padding: 10px; }
}
/* Notifications stay inside the lobby, never over a running game. */
.league-unread { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.league-unread[hidden] { display: none; }
.league-unread button { color: #fff; background: #a4162a; border: 1px solid #ff7b88; padding: 10px 14px; border-radius: 6px; }
.league-set-picker { min-width: 0; margin: 0; border: 1px solid #9e7839; padding: 10px; display: grid; gap: 8px; }
.league-set-picker label { display: flex; align-items: center; gap: 8px; min-height: 28px; font-size: 14px; line-height: 1.3; cursor: pointer; }
.league-set-picker input { width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 0; flex: 0 0 18px; accent-color: #ddac25; }
.league-select-all { padding-bottom: 8px; border-bottom: 1px solid #9e7839; }
/* The tournament waiting room replaces the main lobby, with stable live rows. */
.scheduled-waiting-v82 { max-width: 980px; margin: 0 auto; padding: 20px; color: #20242c; background: #fff; }
.scheduled-waiting-v82 header { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.scheduled-waiting-v82 h2 { font-size:26px; overflow-wrap:anywhere; }
.scheduled-waiting-v82 ul { list-style:none; padding:0; max-height:360px; overflow:auto; }
.scheduled-waiting-v82 li { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid #d8dce2; padding:12px 0; }
.scheduled-waiting-v82 li span { overflow-wrap:anywhere; min-width:0; }
.scheduled-ready-v82 { color:#08713f; font-weight:700; }
.scheduled-set-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; border:1px solid #c5cbd3; padding:12px; grid-column:1/-1; }
.scheduled-set-picker label { display:flex; align-items:center; gap:8px; }
.scheduled-set-picker input { width:auto; }
@media(max-width:600px) { .scheduled-set-picker {grid-template-columns:1fr;} .scheduled-waiting-v82 {padding:12px;} }
