/* ==========================================================================
   Tournoi — couche papier (2026-10). Chargee apres tournament.css.
   Les regles d'origine passent souvent par l'id de l'ecran
   (#tournamentLobbyScreen ...), d'ou le prefixe P ci-dessous, qui reprend ces
   id pour garder la main a specificite egale ou superieure.
   P = body.pg :is(#tournament...Screen).tournament-screen
   ========================================================================== */

body.pg .tournament-screen {
  --tp-cream: #fbf5eb;
  --tp-paper: #fffdf8;
  --tp-paper-2: #f6f3ee;
  --tp-ink: #161412;
  --tp-ink-soft: #5d5952;
  --tp-line: #1b1916;
  --tp-muted: #d9d2c5;
  --tp-orange: #ff6b1a;
  --tp-purple: #6553d3;
  --tp-gold: #ffd451;
  --tp-green: #1f9d64;
  --tp-red: #e8463a;
  --tp-blue: #2f6fd8;
  --tp-shadow: 0 3px 0 rgba(27, 25, 22, .1);
  --tp-shadow-up: 0 6px 0 rgba(27, 25, 22, .14);
  --tp-display: "CNFR Anton", Impact, "Arial Narrow Bold", sans-serif;
  --tp-heavy: "CNFR Archivo Black", "Arial Black", sans-serif;
  --tp-ui: "CNFR Inter", Inter, "Segoe UI", Arial, sans-serif;
  --tp-hand: "CNFR Hand", "Comic Sans MS", cursive;
  --tournament-bg: #fbf5eb;
  --tournament-card: #fffdf8;
  --tournament-accent: #ff6b1a;
  --tournament-muted: #5d5952;
  --tournament-border: #1b1916;
  --tournament-glow: rgba(255, 107, 26, .18);
  --tournament-ink: #161412;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen {
  color: var(--tp-ink);
  background:
    radial-gradient(circle at 12% -10%, rgba(255, 107, 26, .07), transparent 38%),
    radial-gradient(circle at 92% 6%, rgba(101, 83, 211, .07), transparent 32%),
    var(--tp-cream);
  font-family: var(--tp-ui);
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen::before,
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen::after,
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-layout, .tournament-panel, .tournament-finale-hero)::before {
  display: none;
}

/* Cadre principal */
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen .tournament-layout {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

/* Onglets Lobby / Multiplex / Regles / Final */
body.pg .tournament-screen .tournament-view-switch {
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.pg .tournament-screen .tournament-view-link {
  min-height: 42px;
  padding: 0 18px;
  border: 2px solid var(--tp-line);
  border-radius: 999px;
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: var(--tp-shadow);
  font-family: var(--tp-heavy);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
}

body.pg .tournament-screen .tournament-view-link:visited { color: var(--tp-ink); }
body.pg .tournament-screen .tournament-view-link:hover { border-color: var(--tp-line); background: var(--tp-paper-2); box-shadow: var(--tp-shadow); }

body.pg .tournament-screen .tournament-view-link.is-active {
  color: #fff;
  background: var(--tp-ink);
  border-color: var(--tp-line);
  box-shadow: 0 3px 0 var(--tp-orange);
}

/* En-tete : grand titre Anton + pastille */
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen .tournament-header {
  padding: 4px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-title h2, .tournament-header h2, .tournament-card h2) {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--tp-ink);
  font-family: var(--tp-display);
  font-size: clamp(44px, 5vw, 76px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: 0;
  text-shadow: none;
  text-transform: uppercase;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-title h2, .tournament-header h2)::before {
  content: "";
  flex: 0 0 auto;
  width: .62em;
  height: .56em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='%23ff6b1a' stroke-width='6.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 29c14-1 29-2 47-3'/%3E%3Cpath d='M36 9l18 18-17 19'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: rotate(-3deg);
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.badge, .tournament-title .badge, .tournament-header .badge, .tournament-header span, .spectators-badge) {
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--tp-ink);
  box-shadow: none;
  font-family: var(--tp-heavy);
  font-weight: 400;
  letter-spacing: 0;
  text-shadow: none;
  transform: rotate(-1deg);
}

/* Panneaux */
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-panel, .tournament-card, .multiplex-card, .team-card) {
  border: 2.5px solid var(--tp-line);
  border-radius: 16px;
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: var(--tp-shadow-up);
  backdrop-filter: none;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-panel h3, .team-card h3) {
  color: var(--tp-ink);
  font-family: var(--tp-display);
  font-size: clamp(26px, 2.2vw, 36px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-shadow: none;
  text-transform: uppercase;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen .tournament-panel h3::before {
  width: 14px;
  height: 14px;
  border: 2px solid var(--tp-line);
  background: var(--tp-orange);
  box-shadow: none;
}

/* Lignes de liste (joueurs, classement, parties, regles) */
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-row, .rule-points-row, .final-row, .history-item, .team-player) {
  border: 2px solid var(--tp-muted);
  border-radius: 10px;
  color: var(--tp-ink);
  background: var(--tp-paper-2);
  box-shadow: none;
  text-shadow: none;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-row, .final-row):is(.rank-1, .top-seed) {
  border-color: var(--tp-orange);
  background: var(--tp-paper);
  box-shadow: 0 0 0 3px rgba(255, 107, 26, .14);
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.rule-points-row strong, .final-score, .final-rank) {
  color: var(--tp-orange);
  font-family: var(--tp-display);
  font-weight: 400;
  text-shadow: none;
}

body.pg .tournament-screen .rule-list li { color: var(--tp-ink); }
body.pg .tournament-screen .rule-list li::marker { color: var(--tp-orange); }

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-list, .multiplex-empty, .is-empty) {
  color: var(--tp-ink-soft);
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-list > :only-child:not(.tournament-row), .multiplex-empty) {
  border: 2px dashed #cbc4b7;
  border-radius: 12px;
  background: transparent;
  font-family: var(--tp-hand);
  font-size: 20px;
}

/* Barre "Vocal / Prets / En game / Spectateurs" */
body.pg :is(#tournamentLobbyScreen, #tournamentGameScreen).tournament-screen .tournament-livebar {
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.pg :is(#tournamentLobbyScreen, #tournamentGameScreen).tournament-screen .live-pill {
  border: 2.5px solid var(--tp-line);
  border-radius: 12px;
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: var(--tp-shadow);
  font-family: var(--tp-heavy);
  font-weight: 400;
  letter-spacing: 0;
  text-shadow: none;
}

body.pg :is(#tournamentLobbyScreen, #tournamentGameScreen).tournament-screen .live-pill:nth-child(2) { background: var(--tp-gold); }

/* Affiche de la finale */
body.pg #tournamentLobbyScreen.tournament-screen .tournament-finale-hero {
  border: 2.5px solid var(--tp-line);
  border-radius: 18px;
  background: var(--tp-lav, #ece7fd);
  box-shadow: var(--tp-shadow-up);
}

body.pg #tournamentLobbyScreen.tournament-screen .finale-contender {
  border: 2.5px solid var(--tp-line);
  border-radius: 14px;
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: var(--tp-shadow);
  clip-path: none;
}

body.pg #tournamentLobbyScreen.tournament-screen .contender-left { border-color: var(--tp-blue); transform: rotate(-1deg); }
body.pg #tournamentLobbyScreen.tournament-screen .contender-right { border-color: var(--tp-red); transform: rotate(1deg); }

body.pg #tournamentLobbyScreen.tournament-screen .finale-contender-label {
  color: #8576d8;
  font-family: var(--tp-hand);
  font-size: 19px;
  letter-spacing: 0;
  text-transform: none;
}

body.pg #tournamentLobbyScreen.tournament-screen :is(.finale-contender-name, .finale-main-title) {
  color: var(--tp-ink);
  font-family: var(--tp-display);
  font-weight: 400;
  letter-spacing: 0;
  text-shadow: none;
  text-transform: uppercase;
}

body.pg #tournamentLobbyScreen.tournament-screen .finale-main-title { color: var(--tp-orange); }

body.pg #tournamentLobbyScreen.tournament-screen :is(.finale-contender-meta, .finale-main-sub) {
  color: var(--tp-ink-soft);
  font-weight: 800;
  letter-spacing: 0;
  text-shadow: none;
}

body.pg #tournamentLobbyScreen.tournament-screen .finale-centerpiece {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.pg #tournamentLobbyScreen.tournament-screen .finale-cup {
  border: 2.5px solid var(--tp-line);
  background: var(--tp-gold);
  box-shadow: var(--tp-shadow);
  animation: none;
}

/* Boutons (admin, actions) */
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-actions button, .admin-actions button, .admin-actions-row button, button.primary, .admin-toggle-option) {
  border: 2.5px solid var(--tp-line);
  border-radius: 12px;
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: 0 4px 0 var(--tp-line);
  font-family: var(--tp-heavy);
  font-weight: 400;
  letter-spacing: 0;
  text-shadow: none;
  text-transform: uppercase;
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(button.primary, .admin-toggle-option.active, .admin-toggle-option.is-active) {
  color: #fff;
  background: var(--tp-orange);
}

body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(input, select, textarea) {
  border: 1.5px solid #ddd6ca;
  border-radius: 10px;
  color: var(--tp-ink);
  background: #f1eee9;
  box-shadow: none;
}

/* Ceremonie de lancement */
body.pg #tournamentLobbyScreen .tournament-start-ceremony-card {
  border: 2.5px solid var(--tp-line);
  border-radius: 20px;
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: 0 8px 0 rgba(27, 25, 22, .16), 0 24px 60px rgba(22, 20, 18, .28);
}

body.pg #tournamentLobbyScreen :is(.ceremony-title, .ceremony-launch-main, .ceremony-countdown) {
  color: var(--tp-ink);
  font-family: var(--tp-display);
  font-weight: 400;
  text-shadow: none;
}

body.pg #tournamentLobbyScreen .ceremony-countdown,
body.pg #tournamentLobbyScreen .ceremony-launch-main { color: var(--tp-orange); }
body.pg #tournamentLobbyScreen .tournament-start-ceremony-backdrop { background: rgba(22, 20, 18, .34); backdrop-filter: blur(4px); }

/* Compteurs du lobby : id d'origine (#liveLobbyCount...) -> on reprend les id */
body.pg #tournamentLobbyScreen.tournament-screen :is(#liveLobbyCount, #liveReadyCount, #liveInGameCount, #liveViewerCount) {
  border: 2.5px solid var(--tp-line);
  color: var(--tp-ink);
  background: var(--tp-paper);
  box-shadow: var(--tp-shadow);
  opacity: 1;
}

body.pg #tournamentLobbyScreen.tournament-screen #liveReadyCount { background: var(--tp-gold); }
body.pg #tournamentLobbyScreen.tournament-screen #liveInGameCount { color: #fff; background: var(--tp-blue); }

/* Pastille d'etat du tournoi */
body.pg #tournamentLobbyScreen.tournament-screen #tournamentStatusBadge {
  padding: 6px 14px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--tp-ink);
  box-shadow: none;
  font-family: var(--tp-heavy);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-shadow: none;
  opacity: 1;
  transform: rotate(-2deg);
}

/* Messages de liste vide */
body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-list > :only-child:not(.tournament-row), .multiplex-empty) {
  padding: 12px 16px;
  text-align: center;
}

@media (max-width: 700px) {
  body.pg :is(#tournamentLobbyScreen, #tournamentMultiplexScreen, #tournamentRuleScreen, #tournamentFinalScreen).tournament-screen .tournament-view-switch-dock {
    position: static;
    transform: none;
    margin-bottom: 14px;
  }

  body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen).tournament-screen .tournament-title {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }

  body.pg .tournament-screen .tournament-view-switch {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
  }

  body.pg .tournament-screen .tournament-view-link {
    min-height: 36px;
    padding: 0 12px;
    font-size: 11px;
  }

  body.pg :is(#tournamentLobbyScreen, #tournamentRuleScreen, #tournamentFinalScreen, #tournamentMultiplexScreen, #tournamentAdminScreen, #tournamentGameScreen, #tournamentAuthScreen).tournament-screen :is(.tournament-title h2, .tournament-header h2) {
    font-size: clamp(34px, 11vw, 46px);
  }
}
