/* ═══════════════════════════════════════════════════════════════════════════════════════════
   ARENA DA VILA — o torneio da comunidade
   ───────────────────────────────────────────────────────────────────────────────────────────
   Esta folha vive sobre app.css e codex-sitewide.css; as variáveis de cor vêm de lá. O que ela
   acrescenta é o vocabulário próprio da arena: chave, grupos, pódio e troféu.

   Uma decisão que atravessa o arquivo: o CAMPEÃO é o ponto alto da página, e tudo em volta é
   mais discreto do que ele. Se a chave, os grupos e o bolão tiverem o mesmo peso visual, ganhar
   a arena não parece grande coisa — e o pedido era justamente que o campeão ganhasse status.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

.page-arena {
  --torneio-vitoria: #f4d37c;
  --torneio-derrota: #e0561f;
  --torneio-repesca: #a86fc9;
  --torneio-passa: #5fcf82;
}

/* ── Capa ─────────────────────────────────────────────────────────────────────────────────── */
.torneio-capa {
  position: relative; overflow: hidden; padding: 64px 0 46px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(ellipse 60% 100% at 12% 0, rgba(217, 175, 82, .18), transparent 62%),
    radial-gradient(ellipse 55% 90% at 88% 8%, rgba(166, 38, 32, .22), transparent 60%),
    linear-gradient(180deg, #14161c, #0e0f12);
}
/* O brasão é decorativo e fica ATRÁS de tudo, bem apagado: ele dá peso à capa sem disputar a
   leitura com o título. */
.torneio-capa-brasao {
  position: absolute; inset: -30% -10% auto auto; width: min(58vw, 620px); aspect-ratio: 1;
  pointer-events: none; opacity: .5;
  background:
    conic-gradient(from 210deg at 50% 50%, transparent 0deg, rgba(217, 175, 82, .16) 60deg, transparent 130deg,
      rgba(224, 86, 31, .14) 210deg, transparent 280deg),
    radial-gradient(circle at 50% 50%, rgba(217, 175, 82, .1), transparent 62%);
  mask-image: radial-gradient(circle at 50% 50%, #000 40%, transparent 72%);
  animation: torneioGira 48s linear infinite;
}
@keyframes torneioGira { to { transform: rotate(360deg); } }
.torneio-capa h1 { margin: 4px 0 0; }
.torneio-capa h1 em { font-style: normal; color: var(--gold2); text-shadow: 0 4px 0 rgba(166, 38, 32, .55); }
.torneio-capa .lead { margin-top: 12px; }
.torneio-estado { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 20px 0 16px; }
.torneio-fita {
  display: inline-flex; align-items: center; gap: 9px; padding: 7px 15px; border-radius: 999px;
  border: 1px solid var(--line); background: rgba(217, 175, 82, .1); color: var(--gold2);
  font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.torneio-fita::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: var(--torneio-passa); box-shadow: 0 0 9px var(--torneio-passa);
}
.torneio-fita.encerrada::before { background: var(--muted); box-shadow: none; }
.torneio-edicao { color: var(--muted); font-size: .86rem; }
.torneio-atalhos { display: flex; gap: 9px; flex-wrap: wrap; }

/* ── Mesa dos organizadores ───────────────────────────────────────────────────────────────── */
.so-organizador { display: none; }
body[data-papel="organizador"] .so-organizador { display: revert; }

.torneio-quem {
  padding: 5px 12px; border-radius: 999px; font-size: .72rem; font-weight: 800;
  border: 1px solid rgba(95, 207, 130, .45); background: rgba(95, 207, 130, .1); color: #8fe3b0;
}
.torneio-nota-seguranca {
  margin: 0 0 16px; padding: 11px 14px; border-left: 3px solid var(--ember);
  border-radius: 0 11px 11px 0; background: rgba(224, 86, 31, .07);
  color: #e6ddd2; font-size: .84rem; max-width: 86ch;
}
.torneio-mesa {
  padding: 20px; border: 1px solid var(--line); border-radius: 20px;
  background: linear-gradient(150deg, rgba(30, 34, 41, .92), rgba(15, 17, 21, .96));
}
.torneio-mesa-linha {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px; margin-bottom: 16px;
}
.torneio-mesa-linha .campo.largo { grid-column: span 2; }
.campo { display: grid; gap: 6px; align-content: start; }
.campo > span, .campo-rotulo {
  color: var(--gold2); font-size: .7rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .09em;
}
.campo input[type="text"], .campo input[type="number"], .campo input[type="search"], .campo select {
  min-height: 44px; padding: 0 12px; border: 1px solid var(--soft-line, rgba(255, 255, 255, .12));
  border-radius: 11px; background: #0f1116; color: var(--paper); font: inherit;
}
.campo input:focus-visible, .campo select:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }
.campo small { color: var(--muted); font-size: .72rem; }

/* A caixa de ligar/desligar precisa parecer um interruptor, não um campo de texto: ela muda a
   competição inteira, e passar batido é pior que ocupar espaço. */
.torneio-liga {
  grid-column: span 2; display: grid; grid-template-columns: auto 1fr; align-items: start;
  gap: 11px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px;
  background: rgba(217, 175, 82, .06); cursor: pointer;
}
.torneio-liga input { width: 20px; height: 20px; accent-color: var(--gold); margin-top: 2px; }
.torneio-liga b { display: block; color: var(--paper); font-size: .9rem; }
.torneio-liga small { display: block; color: var(--muted); font-size: .76rem; margin-top: 2px; }

.torneio-formatos { margin: 0 0 16px; padding: 0; border: 0; }
.torneio-formatos legend {
  padding: 0 0 9px; color: var(--gold2); font-size: .7rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .09em;
}
.torneio-formato-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.torneio-formato {
  position: relative; display: grid; gap: 5px; padding: 15px; cursor: pointer; text-align: left;
  border: 1px solid var(--soft-line, rgba(255, 255, 255, .12)); border-radius: 16px;
  background: linear-gradient(160deg, rgba(26, 30, 36, .9), rgba(12, 14, 18, .96));
  color: inherit; font: inherit; transition: border-color .16s, transform .16s, background .16s;
}
.torneio-formato:hover { transform: translateY(-2px); border-color: var(--gold); }
.torneio-formato[aria-pressed="true"] {
  border-color: var(--gold);
  background: linear-gradient(160deg, rgba(48, 40, 20, .9), rgba(16, 15, 12, .96));
  box-shadow: 0 0 0 1px rgba(217, 175, 82, .3), inset 0 0 30px rgba(217, 175, 82, .06);
}
.torneio-formato b { font-size: 1rem; color: var(--gold2); font-family: Impact, "Arial Narrow Bold", sans-serif; letter-spacing: .03em; }
.torneio-formato small { color: var(--muted); font-size: .8rem; line-height: 1.45; }
.torneio-formato i {
  font-style: normal; margin-top: 4px; color: #d8cfbe; font-size: .74rem;
  padding-top: 6px; border-top: 1px dashed rgba(255, 255, 255, .1);
}

/* ── Inscrição ───────────────────────────────────────────────────────────────────────────── */
.torneio-inscricao-grade { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr); gap: 20px; }
.torneio-ficha {
  display: grid; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 20px;
  background: linear-gradient(150deg, rgba(28, 32, 39, .9), rgba(14, 16, 20, .96));
}
.torneio-lateral {
  padding: 18px; border: 1px solid var(--line2, rgba(255, 255, 255, .08)); border-radius: 18px;
  background: rgba(255, 255, 255, .022); align-self: start;
}
.torneio-lateral h3 { font-size: .82rem; letter-spacing: .08em; color: var(--gold2); margin: 0 0 8px; }
.torneio-lateral h3 + * { margin-top: 0; }
.torneio-lateral h3:not(:first-child) { margin-top: 18px; }
.torneio-lista { margin: 0; padding-left: 1.05rem; color: #d5d2ca; font-size: .84rem; }
.torneio-lista li { margin: .4rem 0; }
.torneio-lista b { color: var(--gold2); }
.torneio-lateral-nota { color: var(--muted); font-size: .84rem; margin: 0; }

.torneio-time-campo { display: grid; gap: 9px; }
.torneio-time-ajuda { margin: 0; color: var(--muted); font-size: .82rem; max-width: 74ch; }
.torneio-time-ajuda b { color: var(--gold2); }
.torneio-time-casas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.torneio-casa {
  position: relative; display: grid; place-items: center; gap: 3px; min-height: 118px; padding: 6px;
  border: 1px dashed var(--soft-line, rgba(255, 255, 255, .14)); border-radius: 13px;
  background: rgba(255, 255, 255, .025); cursor: pointer; text-align: center;
  color: inherit; font: inherit; transition: border-color .15s, background .15s;
}
.torneio-casa:hover { border-color: var(--gold); }
.torneio-casa.cheia { border-style: solid; background: linear-gradient(180deg, rgba(34, 38, 46, .92), rgba(13, 15, 19, .96)); }
.torneio-casa.alvo { border-color: var(--cyan); background: rgba(103, 223, 247, .1); }
.torneio-casa img { width: 100%; height: 74px; object-fit: contain; object-position: center bottom; }
.torneio-casa b { font-size: .6rem; line-height: 1.15; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneio-casa .vazia { color: var(--muted); font-size: .68rem; font-style: italic; }
.torneio-casa .num {
  position: absolute; top: 5px; left: 5px; display: grid; place-items: center;
  min-width: 18px; height: 18px; padding: 0 4px; border-radius: 6px;
  background: rgba(8, 10, 14, .85); border: 1px solid rgba(217, 175, 82, .4);
  color: var(--gold2); font-size: .56rem; font-weight: 900;
}

.torneio-busca { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.torneio-busca .search-field { flex: 1 1 240px; }
.torneio-elenco {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 7px;
  max-height: 320px; overflow: auto; padding: 4px 6px 6px 2px;
}
.torneio-ninja {
  display: grid; gap: 2px; padding: 5px; cursor: grab; text-align: center;
  border: 1px solid var(--line2, rgba(255, 255, 255, .08)); border-radius: 11px;
  background: linear-gradient(180deg, rgba(34, 38, 46, .9), rgba(14, 16, 20, .96));
  color: inherit; font: inherit; transition: .15s;
}
.torneio-ninja:hover, .torneio-ninja:focus-visible { border-color: var(--gold); transform: translateY(-2px); }
.torneio-ninja.no-time { opacity: .32; pointer-events: none; }
.torneio-ninja img { width: 100%; height: 62px; object-fit: contain; object-position: center bottom; }
.torneio-ninja b { font-size: .56rem; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.torneio-recado { margin: 0; padding: 11px 14px; border-radius: 11px; font-size: .86rem; }
.torneio-recado.ok { border: 1px solid rgba(95, 207, 130, .45); background: rgba(95, 207, 130, .09); color: #a5e8bf; }
.torneio-recado.erro { border: 1px solid rgba(224, 86, 31, .5); background: rgba(224, 86, 31, .09); color: #ffb28c; }

/* ── Inscritos ───────────────────────────────────────────────────────────────────────────── */
.torneio-inscritos { display: grid; grid-template-columns: repeat(auto-fill, minmax(258px, 1fr)); gap: 11px; }
.torneio-inscrito {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 11px;
  padding: 10px; border: 1px solid var(--line2, rgba(255, 255, 255, .08)); border-radius: 14px;
  background: linear-gradient(180deg, rgba(34, 38, 46, .9), rgba(14, 16, 20, .96)); min-width: 0;
}
.torneio-inscrito .retrato {
  width: 52px; height: 52px; border-radius: 11px; overflow: hidden;
  background: radial-gradient(circle at 50% 72%, rgba(224, 86, 31, .2), #0d0f13 68%);
}
.torneio-inscrito .retrato img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.torneio-inscrito b { display: block; font-size: .84rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneio-inscrito small { display: block; color: var(--muted); font-size: .68rem; }
.torneio-inscrito .mini-time { display: flex; gap: 2px; margin-top: 4px; }
.torneio-inscrito .mini-time img {
  width: 19px; height: 21px; object-fit: contain; object-position: center bottom;
  border-radius: 4px; background: rgba(255, 255, 255, .04);
}
.torneio-pc {
  padding: 4px 9px; border-radius: 8px; white-space: nowrap;
  font-size: .68rem; font-weight: 900; font-variant-numeric: tabular-nums;
  background: rgba(217, 175, 82, .14); border: 1px solid rgba(217, 175, 82, .4); color: var(--gold2);
}
.torneio-pc.baixo { background: rgba(103, 223, 247, .12); border-color: rgba(103, 223, 247, .4); color: #a8e9fa; }

/* ── Preliminares ────────────────────────────────────────────────────────────────────────── */
.torneio-explica { max-width: 86ch; color: var(--muted); margin: 0 0 16px; }
.torneio-grupos { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 15px; }
.torneio-grupo {
  padding: 16px; border: 1px solid var(--line); border-radius: 18px;
  background: linear-gradient(160deg, rgba(26, 30, 36, .92), rgba(12, 14, 18, .96));
}
.torneio-grupo > header {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 11px; padding-bottom: 9px; border-bottom: 1px solid var(--line2, rgba(255, 255, 255, .08));
}
.torneio-grupo h3 { color: var(--gold2); }
.torneio-grupo header small { color: var(--muted); font-size: .72rem; }
.torneio-tabela { width: 100%; border-collapse: collapse; font-size: .8rem; }
.torneio-tabela th {
  padding: 6px 5px; color: var(--gold2); font-size: .62rem; text-transform: uppercase;
  letter-spacing: .07em; text-align: center; border-bottom: 1px solid var(--line2, rgba(255, 255, 255, .08));
}
.torneio-tabela th:nth-child(2), .torneio-tabela td:nth-child(2) { text-align: left; }
.torneio-tabela td {
  padding: 7px 5px; text-align: center; font-variant-numeric: tabular-nums;
  border-bottom: 1px solid rgba(255, 255, 255, .045);
}
.torneio-tabela td:nth-child(2) { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneio-tabela td.num { text-align: right; color: var(--gold2); font-weight: 800; }
.torneio-tabela tr.passa td { background: rgba(217, 175, 82, .09); }
.torneio-tabela tr.passa td:first-child { box-shadow: inset 3px 0 0 var(--gold); }
.torneio-tabela-rolagem { overflow-x: auto; }

.torneio-partidas { display: grid; gap: 5px; margin-top: 12px; }
.torneio-partida {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center;
  gap: 8px; padding: 6px 8px; border-radius: 9px; background: rgba(255, 255, 255, .028); font-size: .76rem;
}
.torneio-partida .lado { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneio-partida .lado.dir { text-align: right; }
.torneio-partida .lado.venceu { color: var(--gold2); font-weight: 700; }
.torneio-placar { display: flex; align-items: center; gap: 4px; }
.torneio-placar input {
  width: 38px; height: 30px; padding: 0; text-align: center; font: inherit; font-weight: 700;
  border: 1px solid var(--soft-line, rgba(255, 255, 255, .12)); border-radius: 7px;
  background: #0f1116; color: var(--paper); font-variant-numeric: tabular-nums;
}
.torneio-placar input:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }
.torneio-placar .fixo {
  display: grid; place-items: center; width: 38px; height: 30px; border-radius: 7px;
  background: rgba(255, 255, 255, .05); font-weight: 800; font-variant-numeric: tabular-nums;
}
.torneio-placar i { color: var(--muted); font-style: normal; }

/* ── A chave ─────────────────────────────────────────────────────────────────────────────── */
.torneio-chave-rolagem { overflow-x: auto; padding-bottom: 14px; }
.torneio-chave { display: flex; gap: 24px; min-width: min-content; align-items: stretch; }
.torneio-coluna { display: flex; flex-direction: column; justify-content: space-around; gap: 13px; min-width: 246px; }
.torneio-coluna > h3 { text-align: center; color: var(--gold2); font-size: .76rem; letter-spacing: .1em; margin-bottom: 3px; }
.torneio-coluna > h3 small {
  display: block; margin-top: 3px; font: 400 .63rem/1.35 inherit; letter-spacing: 0;
  text-transform: none; color: var(--muted);
}
.torneio-bloco { display: grid; gap: 11px; padding: 11px; border: 1px dashed var(--line2, rgba(255, 255, 255, .08)); border-radius: 15px; }
.torneio-bloco > b {
  text-align: center; font-size: .6rem; letter-spacing: .13em; text-transform: uppercase; color: var(--muted);
}
.torneio-bloco.ganhadores { border-color: rgba(95, 207, 130, .35); background: rgba(95, 207, 130, .04); }
.torneio-bloco.ganhadores > b { color: #8fe3b0; }
.torneio-bloco.perdedores { border-color: rgba(224, 86, 31, .35); background: rgba(224, 86, 31, .04); }
.torneio-bloco.perdedores > b { color: #ffb28c; }
.torneio-bloco.repescagem { border-color: rgba(168, 111, 201, .45); background: rgba(168, 111, 201, .05); }
.torneio-bloco.repescagem > b { color: #dcb8f0; }

.torneio-duelo {
  position: relative; display: grid; gap: 3px; padding: 8px;
  border: 1px solid var(--line2, rgba(255, 255, 255, .08)); border-radius: 13px;
  background: linear-gradient(180deg, rgba(30, 34, 41, .92), rgba(13, 15, 19, .96));
}
.torneio-duelo.decidido { border-color: rgba(217, 175, 82, .45); }
.torneio-duelo.zebra {
  border-color: rgba(168, 111, 201, .7);
  box-shadow: 0 0 0 1px rgba(168, 111, 201, .3), 0 0 20px rgba(168, 111, 201, .2);
}
.torneio-selo-zebra {
  position: absolute; z-index: 3; top: -9px; left: 50%; transform: translateX(-50%);
  padding: 2px 10px; border-radius: 999px; white-space: nowrap;
  background: linear-gradient(180deg, #b57ed6, #8a4fb0); color: #1a0f22;
  font-size: .57rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase;
}
.torneio-lutador {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto 28px; align-items: center; gap: 8px;
  width: 100%; padding: 6px; border: 1px solid transparent; border-radius: 9px;
  background: rgba(255, 255, 255, .03); color: inherit; font: inherit; text-align: left;
  cursor: pointer; transition: .14s;
}
.torneio-lutador:hover:not([disabled]) { border-color: var(--gold); }
.torneio-lutador.venceu { background: rgba(217, 175, 82, .16); border-color: rgba(217, 175, 82, .5); }
.torneio-lutador.perdeu { opacity: .38; }
.torneio-lutador[disabled] { cursor: default; }
.torneio-lutador .retrato {
  width: 32px; height: 34px; border-radius: 7px; overflow: hidden;
  background: radial-gradient(circle at 50% 74%, rgba(224, 86, 31, .16), #0d0f13 70%);
}
.torneio-lutador .retrato img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.torneio-lutador b { font-size: .74rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.torneio-lutador i { font-style: normal; font-size: .58rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.torneio-lutador .marca {
  display: grid; place-items: center; height: 24px; border-radius: 6px;
  background: rgba(0, 0, 0, .35); font-weight: 900; font-size: .74rem;
}
.torneio-lutador.aguarda { color: var(--muted); font-style: italic; }
.torneio-duelo > small { text-align: center; color: var(--muted); font-size: .6rem; margin-top: 2px; }

.torneio-fora {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; padding: 12px;
  border: 1px dashed rgba(224, 86, 31, .35); border-radius: 14px; background: rgba(224, 86, 31, .05);
}
.torneio-fora > b {
  width: 100%; text-align: center; font-size: .6rem; letter-spacing: .14em;
  text-transform: uppercase; color: #ffb28c;
}
.torneio-fora span { padding: 4px 9px; border-radius: 8px; background: rgba(0, 0, 0, .35); font-size: .66rem; color: var(--muted); }

/* ── O campeão: o ponto alto da página ───────────────────────────────────────────────────── */
.torneio-secao-campeao { padding-top: 0; }
.torneio-campeao {
  position: relative; overflow: hidden; display: grid; gap: 16px; justify-items: center;
  padding: 44px 24px 36px; border: 1px solid var(--gold); border-radius: 26px; text-align: center;
  background:
    radial-gradient(ellipse 70% 100% at 50% 0, rgba(217, 175, 82, .26), transparent 66%),
    linear-gradient(180deg, rgba(38, 32, 16, .85), rgba(12, 13, 17, .96));
  box-shadow: 0 0 0 1px rgba(217, 175, 82, .18), 0 34px 70px rgba(0, 0, 0, .55);
}
/* Raios de luz atrás do campeão. É o único lugar da página com esse tratamento — é o que faz o
   pódio parecer pódio, e não mais um cartão. */
.torneio-campeao::before {
  content: ""; position: absolute; inset: -60% -20% auto; height: 190%; z-index: 0; pointer-events: none;
  background: conic-gradient(from 200deg at 50% 50%,
    transparent 0deg, rgba(217, 175, 82, .16) 22deg, transparent 44deg,
    rgba(217, 175, 82, .12) 96deg, transparent 130deg,
    rgba(224, 86, 31, .12) 224deg, transparent 262deg);
  mask-image: radial-gradient(ellipse 60% 55% at 50% 32%, #000 20%, transparent 74%);
  animation: torneioGira 70s linear infinite;
}
.torneio-campeao > * { position: relative; z-index: 1; }
.torneio-campeao .coroa { font-size: 2.2rem; line-height: 1; filter: drop-shadow(0 0 18px rgba(217, 175, 82, .55)); }
.torneio-campeao .retrato {
  width: 178px; height: 210px; border-radius: 20px; overflow: hidden;
  background: radial-gradient(circle at 50% 76%, rgba(217, 175, 82, .28), transparent 70%);
}
.torneio-campeao .retrato img {
  width: 100%; height: 100%; object-fit: contain; object-position: center bottom;
  filter: drop-shadow(0 16px 18px rgba(0, 0, 0, .75));
}
.torneio-campeao .nome {
  font: 900 clamp(2rem, 5vw, 3.4rem)/1 Impact, "Arial Narrow Bold", sans-serif;
  letter-spacing: .03em; color: var(--gold2); text-shadow: 0 5px 0 rgba(166, 38, 32, .5);
}
.torneio-campeao .subtitulo { color: #ded6c6; font-size: 1rem; margin: 0; }
.torneio-campeao .subtitulo b { color: var(--gold2); }
.torneio-campeao .titulos { display: flex; gap: 9px; flex-wrap: wrap; justify-content: center; }
.torneio-titulo-selo {
  padding: 7px 15px; border-radius: 999px; font-size: .76rem; font-weight: 800; letter-spacing: .03em;
  border: 1px solid var(--gold); color: #21190a;
  background: linear-gradient(180deg, #f7dc94, #cfa348);
  box-shadow: 0 6px 18px rgba(217, 175, 82, .25);
}
.torneio-titulo-selo.honra {
  color: #a8e9fa; background: rgba(103, 223, 247, .12); border-color: rgba(103, 223, 247, .45);
  box-shadow: none;
}
.torneio-campeao .trajeto {
  display: flex; gap: 7px; flex-wrap: wrap; justify-content: center;
  max-width: 74ch; color: var(--muted); font-size: .78rem;
}
.torneio-campeao .trajeto span { padding: 3px 9px; border-radius: 7px; background: rgba(0, 0, 0, .3); }
.torneio-formacao-campea { display: grid; gap: 9px; justify-items: center; width: 100%; }
.torneio-formacao-campea > small { color: var(--gold2); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 800; }
.torneio-formacao-campea .time { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.torneio-formacao-campea .time img {
  width: 62px; height: 70px; object-fit: contain; object-position: center bottom;
  border-radius: 10px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(217, 175, 82, .25);
}
.torneio-campeao.vazio {
  border-style: dashed; border-color: var(--line2, rgba(255, 255, 255, .1));
  background: rgba(255, 255, 255, .02); box-shadow: none; color: var(--muted); padding: 34px 24px;
}
.torneio-campeao.vazio::before { display: none; }

/* ── Bolão ───────────────────────────────────────────────────────────────────────────────── */
.torneio-bolao { display: grid; grid-template-columns: repeat(auto-fit, minmax(228px, 1fr)); gap: 11px; }
.torneio-palpite {
  display: grid; grid-template-columns: 50px minmax(0, 1fr); align-items: center; gap: 11px;
  padding: 10px; border: 1px solid var(--line2, rgba(255, 255, 255, .08)); border-radius: 14px;
  background: rgba(255, 255, 255, .03); cursor: pointer; text-align: left;
  color: inherit; font: inherit; transition: .15s;
}
.torneio-palpite:hover { border-color: var(--gold); }
.torneio-palpite[aria-pressed="true"] { border-color: var(--gold); background: rgba(217, 175, 82, .14); }
.torneio-palpite[disabled] { cursor: default; opacity: .75; }
.torneio-palpite .retrato {
  width: 50px; height: 54px; border-radius: 10px; overflow: hidden;
  background: radial-gradient(circle at 50% 74%, rgba(224, 86, 31, .18), #0d0f13 70%);
}
.torneio-palpite .retrato img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.torneio-palpite b { display: block; font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneio-palpite small { color: var(--muted); font-size: .66rem; }
.torneio-barra { position: relative; height: 6px; margin-top: 6px; border-radius: 99px; background: rgba(255, 255, 255, .09); overflow: hidden; }
.torneio-barra i { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: linear-gradient(90deg, var(--ember), var(--gold)); transition: width .4s; }
.torneio-sub { margin: 24px 0 0; color: var(--gold2); font-size: .9rem; letter-spacing: .06em; }
.torneio-tabela tr.eu td { background: rgba(103, 223, 247, .08); }

/* ── Hall dos Campeões ───────────────────────────────────────────────────────────────────── */
.torneio-secao-hall {
  background:
    radial-gradient(ellipse 70% 60% at 50% 0, rgba(217, 175, 82, .07), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, .014), transparent);
}
.torneio-recordes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 20px; }
.torneio-recorde {
  padding: 15px; border: 1px solid var(--line2, rgba(255, 255, 255, .08)); border-radius: 16px;
  background: rgba(255, 255, 255, .025);
}
.torneio-recorde > small { display: block; color: var(--gold2); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 800; }
.torneio-recorde > b { display: block; margin: 6px 0 2px; font: 900 1.35rem/1.1 Impact, "Arial Narrow Bold", sans-serif; color: var(--paper); }
.torneio-recorde > i { font-style: normal; color: var(--muted); font-size: .78rem; }

.torneio-hall { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 15px; }
.torneio-edicao-cartao {
  position: relative; overflow: hidden; display: grid; gap: 12px; padding: 18px;
  border: 1px solid var(--line); border-radius: 20px;
  background: linear-gradient(160deg, rgba(32, 28, 18, .82), rgba(13, 14, 18, .96));
}
.torneio-edicao-cartao.atual { border-color: var(--gold); box-shadow: 0 0 0 1px rgba(217, 175, 82, .22); }
.torneio-edicao-cartao > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.torneio-edicao-cartao h3 { color: var(--gold2); font-size: 1.02rem; }
.torneio-edicao-cartao header small { color: var(--muted); font-size: .72rem; }
.torneio-campeao-linha { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; gap: 12px; }
.torneio-campeao-linha .retrato {
  width: 60px; height: 66px; border-radius: 12px; overflow: hidden;
  background: radial-gradient(circle at 50% 74%, rgba(217, 175, 82, .22), transparent 70%);
}
.torneio-campeao-linha .retrato img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.torneio-campeao-linha b { display: block; font-size: 1rem; color: var(--gold2); }
.torneio-campeao-linha small { display: block; color: var(--muted); font-size: .72rem; }
.torneio-edicao-detalhes { display: grid; gap: 5px; font-size: .78rem; color: #d2cfc7; }
.torneio-edicao-detalhes span { display: flex; gap: 7px; }
.torneio-edicao-detalhes i { font-style: normal; color: var(--muted); min-width: 74px; }
.torneio-edicao-cartao .em-andamento {
  align-self: start; padding: 3px 10px; border-radius: 999px; font-size: .62rem; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase;
  border: 1px solid rgba(95, 207, 130, .45); background: rgba(95, 207, 130, .1); color: #8fe3b0;
}

/* ── O troféu que vai para o perfil ──────────────────────────────────────────────────────── */
.torneio-trofeus { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 13px; }
.torneio-trofeu {
  display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: center; gap: 13px;
  padding: 15px; border-radius: 17px;
  border: 1px solid rgba(217, 175, 82, .45);
  background: linear-gradient(150deg, rgba(46, 38, 18, .8), rgba(14, 13, 11, .96));
}
.torneio-trofeu.honra { border-color: rgba(103, 223, 247, .35); background: linear-gradient(150deg, rgba(16, 34, 42, .7), rgba(11, 14, 18, .96)); }
.torneio-trofeu .glifo {
  display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px;
  font-size: 1.5rem; background: rgba(0, 0, 0, .3); border: 1px solid rgba(217, 175, 82, .35);
}
.torneio-trofeu.honra .glifo { border-color: rgba(103, 223, 247, .35); }
.torneio-trofeu b { display: block; font-size: .94rem; color: var(--gold2); }
.torneio-trofeu.honra b { color: #a8e9fa; }
.torneio-trofeu small { display: block; margin-top: 3px; color: #d5d1c8; font-size: .8rem; font-style: italic; }
.torneio-trofeu em { display: block; margin-top: 5px; color: var(--muted); font-size: .72rem; font-style: normal; }

/* ── Modo apresentação ───────────────────────────────────────────────────────────────────── */
.torneio-palco {
  position: fixed; inset: 0; z-index: 200; display: grid; grid-template-rows: auto 1fr;
  background: radial-gradient(ellipse 80% 60% at 50% 0, rgba(217, 175, 82, .1), transparent 60%), #07080b;
}
.torneio-palco[hidden] { display: none; }
.torneio-palco-topo {
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  padding: 16px 24px; border-bottom: 1px solid var(--line);
}
.torneio-palco-nome { font: 900 1.7rem/1 Impact, "Arial Narrow Bold", sans-serif; color: var(--gold2); letter-spacing: .03em; }
.torneio-palco-fase { color: var(--muted); font-size: .95rem; }
.torneio-palco-topo .btn { margin-left: auto; }
.torneio-palco-corpo { overflow: auto; padding: 24px; }
/* Na apresentação tudo cresce: quem assiste está a metros da tela, não a meio metro. */
.torneio-palco .torneio-coluna { min-width: 320px; }
.torneio-palco .torneio-lutador { grid-template-columns: 44px minmax(0, 1fr) auto 34px; padding: 9px; }
.torneio-palco .torneio-lutador .retrato { width: 44px; height: 48px; }
.torneio-palco .torneio-lutador b { font-size: 1rem; }
.torneio-palco .torneio-lutador i { font-size: .74rem; }
.torneio-palco .torneio-coluna > h3 { font-size: 1rem; }

.visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* ── Telas menores ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .torneio-inscricao-grade { grid-template-columns: 1fr; }
  .torneio-mesa-linha .campo.largo, .torneio-liga { grid-column: auto; }
  .torneio-time-casas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .torneio-campeao .retrato { width: 148px; height: 176px; }
}
@media (max-width: 560px) {
  .torneio-capa { padding: 44px 0 34px; }
  .torneio-coluna { min-width: 218px; }
  .torneio-inscritos { grid-template-columns: 1fr; }
  .torneio-formato-grade { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .torneio-capa-brasao, .torneio-campeao::before { animation: none; }
  .torneio-formato, .torneio-ninja, .torneio-lutador, .torneio-barra i { transition: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════════
   SEGUNDA RODADA — o que o dono pediu depois de ver a primeira versão
   ───────────────────────────────────────────────────────────────────────────────────────────
   1. a página inteira numa rolagem só obrigava a subir e descer para lançar cada resultado;
   2. a chave ocupava espaço demais para o que mostra;
   3. o Hall precisava dar status, e estava com cara de lista.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

/* ── Etapas: cada uma é uma tela, não um trecho de uma página comprida ───────────────────── */
.torneio-etapas {
  position: sticky; top: 0; z-index: 40; padding: 10px 0;
  background: rgba(14, 15, 18, .93); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.torneio-etapas-lista { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; }
.torneio-etapa-botao {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  padding: 9px 16px; border: 1px solid transparent; border-radius: 999px;
  background: rgba(255, 255, 255, .04); color: var(--muted);
  font: inherit; font-weight: 700; font-size: .84rem; cursor: pointer; transition: .15s;
}
.torneio-etapa-botao:hover { color: var(--paper); border-color: var(--line); }
.torneio-etapa-botao[aria-selected="true"] {
  background: linear-gradient(180deg, rgba(217, 175, 82, .95), rgba(184, 141, 50, .95));
  color: #20180a; border-color: var(--gold);
}
.torneio-etapa-botao .conta {
  display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: rgba(0, 0, 0, .28); font-size: .68rem; font-variant-numeric: tabular-nums;
}
.torneio-etapa-botao[aria-selected="true"] .conta { background: rgba(0, 0, 0, .18); }
.torneio-etapa-botao[disabled] { opacity: .35; cursor: not-allowed; }

/* Só a etapa escolhida aparece. O resto continua no DOM — o estado não se perde — mas fora da
   vista, que é justamente o que tirava a página do lugar a cada resultado lançado. */
body[data-etapa] main > section[data-etapa] { display: none; }
body[data-etapa="mesa"]         main > section[data-etapa="mesa"],
body[data-etapa="inscricao"]    main > section[data-etapa="inscricao"],
body[data-etapa="preliminares"] main > section[data-etapa="preliminares"],
body[data-etapa="chave"]        main > section[data-etapa="chave"],
body[data-etapa="bolao"]        main > section[data-etapa="bolao"],
body[data-etapa="hall"]         main > section[data-etapa="hall"] { display: revert; }
body:not([data-papel="organizador"]) .torneio-etapa-botao[data-etapa="mesa"] { display: none; }

/* ── A chave geral da edição ─────────────────────────────────────────────────────────────── */
.torneio-chave-geral {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin-bottom: 16px; padding: 15px 18px; border-radius: 16px;
  border: 1px solid rgba(224, 86, 31, .45); background: rgba(224, 86, 31, .08);
}
.torneio-chave-geral.aberta { border-color: rgba(95, 207, 130, .5); background: rgba(95, 207, 130, .08); }
.torneio-chave-geral b { display: block; font-size: 1rem; color: #ffb28c; }
.torneio-chave-geral.aberta b { color: #8fe3b0; }
.torneio-chave-geral small { display: block; margin-top: 2px; color: var(--muted); font-size: .82rem; }

/* ── Faixa do campeão: acompanha a pessoa por todas as etapas ────────────────────────────── */
.torneio-faixa-campeao {
  position: sticky; top: 53px; z-index: 39;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 10px 24px; border-bottom: 1px solid rgba(217, 175, 82, .4);
  background: linear-gradient(90deg, rgba(46, 37, 14, .96), rgba(20, 18, 12, .96));
}
.torneio-faixa-campeao[hidden] { display: none; }
.torneio-faixa-campeao img {
  width: 34px; height: 38px; object-fit: contain; object-position: center bottom;
  border-radius: 8px; background: rgba(217, 175, 82, .12);
}
.torneio-faixa-campeao b { color: var(--gold2); font-size: .96rem; }
.torneio-faixa-campeao small { color: var(--muted); font-size: .78rem; }
.torneio-faixa-campeao .selo {
  margin-left: auto; padding: 5px 13px; border-radius: 999px; white-space: nowrap;
  background: linear-gradient(180deg, #f7dc94, #cfa348); color: #21190a;
  font-size: .74rem; font-weight: 900;
}

/* ── Chave mais compacta ─────────────────────────────────────────────────────────────────── */
.torneio-coluna { min-width: 198px; gap: 9px; }
.torneio-coluna > h3 { font-size: .68rem; }
.torneio-coluna > h3 small { font-size: .58rem; }
.torneio-duelo { padding: 6px; border-radius: 10px; gap: 2px; }
.torneio-lutador { grid-template-columns: 26px minmax(0, 1fr) auto 22px; gap: 6px; padding: 4px 5px; }
.torneio-lutador .retrato { width: 26px; height: 28px; border-radius: 5px; }
.torneio-lutador b { font-size: .69rem; }
.torneio-lutador i { font-size: .55rem; }
.torneio-lutador .marca { height: 20px; font-size: .68rem; }
.torneio-chave { gap: 16px; }
.torneio-bloco { padding: 8px; gap: 8px; border-radius: 12px; }
.torneio-selo-zebra { font-size: .53rem; padding: 1px 8px; top: -8px; }

/* ── Hall: o destaque que faltava ────────────────────────────────────────────────────────── */
.torneio-hall-destaque {
  position: relative; overflow: hidden; display: grid; gap: 22px;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr); align-items: center;
  margin-bottom: 22px; padding: 28px; border-radius: 24px;
  border: 1px solid var(--gold);
  background:
    radial-gradient(ellipse 60% 100% at 12% 0, rgba(217, 175, 82, .24), transparent 62%),
    linear-gradient(140deg, rgba(44, 36, 16, .9), rgba(12, 13, 17, .97));
  box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}
.torneio-hall-destaque::before {
  content: ""; position: absolute; inset: -50% -30% auto auto; width: 62%; aspect-ratio: 1; z-index: 0;
  background: conic-gradient(from 160deg at 50% 50%, transparent 0deg, rgba(217, 175, 82, .18) 40deg,
    transparent 92deg, rgba(224, 86, 31, .14) 200deg, transparent 250deg);
  mask-image: radial-gradient(circle at 50% 50%, #000 32%, transparent 72%);
  animation: torneioGira 60s linear infinite; pointer-events: none;
}
.torneio-hall-destaque > * { position: relative; z-index: 1; }
.torneio-hall-destaque .moldura {
  width: 168px; height: 196px; border-radius: 20px; overflow: hidden;
  border: 2px solid rgba(217, 175, 82, .55);
  background: radial-gradient(circle at 50% 76%, rgba(217, 175, 82, .28), transparent 70%);
}
.torneio-hall-destaque .moldura img {
  width: 100%; height: 100%; object-fit: contain; object-position: center bottom;
  filter: drop-shadow(0 14px 16px rgba(0, 0, 0, .7));
}
.torneio-hall-destaque .faixa {
  display: inline-flex; align-items: center; gap: 8px; padding: 5px 13px; border-radius: 999px;
  border: 1px solid rgba(217, 175, 82, .5); background: rgba(217, 175, 82, .12);
  color: var(--gold2); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
.torneio-hall-destaque .nome {
  margin: 10px 0 4px; font: 900 clamp(1.9rem, 4.4vw, 3rem)/1 Impact, "Arial Narrow Bold", sans-serif;
  letter-spacing: .03em; color: var(--gold2); text-shadow: 0 4px 0 rgba(166, 38, 32, .5);
}
.torneio-hall-destaque .qual { color: #ded6c6; margin: 0 0 12px; }
.torneio-hall-destaque .titulos { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.torneio-hall-destaque .timezinho { display: flex; gap: 6px; flex-wrap: wrap; }
.torneio-hall-destaque .timezinho img {
  width: 46px; height: 52px; object-fit: contain; object-position: center bottom;
  border-radius: 9px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(217, 175, 82, .22);
}
.torneio-hall-destaque.vazio {
  grid-template-columns: 1fr; text-align: center; border-style: dashed;
  border-color: rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .02);
  box-shadow: none; color: var(--muted);
}
.torneio-hall-destaque.vazio::before { display: none; }

/* O pódio: 1º, 2º e 3º com peso visual diferente, para o segundo e o terceiro também existirem
   na tela. Sem isso o Hall vira o retrato de uma pessoa só por edição. */
.torneio-podio { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 10px; margin-top: 14px; }
.torneio-degrau {
  display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px;
  padding: 10px; border-radius: 13px; border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .03);
}
.torneio-degrau.ouro   { border-color: rgba(217, 175, 82, .55); background: rgba(217, 175, 82, .1); }
.torneio-degrau.prata  { border-color: rgba(198, 205, 216, .45); background: rgba(198, 205, 216, .07); }
.torneio-degrau.bronze { border-color: rgba(199, 132, 78, .45); background: rgba(199, 132, 78, .08); }
.torneio-degrau .medalha { font-size: 1.45rem; text-align: center; }
.torneio-degrau b { display: block; font-size: .84rem; }
.torneio-degrau small { display: block; color: var(--muted); font-size: .68rem; }
.torneio-degrau.ouro b { color: var(--gold2); }

@media (max-width: 760px) {
  .torneio-hall-destaque { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .torneio-hall-destaque .titulos, .torneio-hall-destaque .timezinho { justify-content: center; }
  .torneio-faixa-campeao { top: 49px; padding: 8px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .torneio-hall-destaque::before { animation: none; }
  .torneio-etapa-botao { transition: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════════
   TERCEIRA RODADA — proporção entre o campeão e o resto do pódio
   ───────────────────────────────────────────────────────────────────────────────────────────
   O dono viu a tela e pediu duas coisas: o bloco do campeão um pouco menor, e o segundo e o
   terceiro um pouco mais presentes. "Não muito mais, porém um pouco mais."

   O campeão continua sendo o ponto alto — ele mantém os raios, a moldura e o nome em Impact.
   O que muda é a distância entre ele e os outros dois, que estava grande demais: quem ficou em
   segundo levou título e não aparecia em lugar nenhum além de uma linha de texto.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

/* ── O campeão, um pouco menor ────────────────────────────────────────────────────────────── */
.torneio-campeao { padding: 30px 22px 26px; gap: 12px; border-radius: 22px; }
.torneio-campeao .coroa { font-size: 1.7rem; }
.torneio-campeao .retrato { width: 138px; height: 164px; border-radius: 16px; }
.torneio-campeao .nome { font-size: clamp(1.6rem, 3.6vw, 2.5rem); }
.torneio-campeao .subtitulo { font-size: .92rem; }
.torneio-campeao .trajeto { font-size: .74rem; }
.torneio-campeao .torneio-titulo-selo { padding: 6px 13px; font-size: .74rem; }
.torneio-formacao-campea .time img { width: 54px; height: 62px; }

/* ── O pódio, um pouco maior ─────────────────────────────────────────────────────────────── */
.torneio-podio {
  grid-template-columns: repeat(auto-fit, minmax(214px, 1fr));
  gap: 12px; margin-top: 20px; width: 100%; max-width: 760px;
}
.torneio-degrau {
  grid-template-columns: 34px 46px minmax(0, 1fr);
  align-items: center; gap: 11px; padding: 12px 14px; border-radius: 15px; text-align: left;
}
.torneio-degrau .medalha { font-size: 1.7rem; line-height: 1; }
/* O retrato é o que faz o segundo e o terceiro deixarem de ser uma linha de texto: passa a ter
   rosto, como o campeão tem. Menor que o dele, porque a hierarquia continua valendo. */
.torneio-degrau .retrato {
  width: 46px; height: 52px; border-radius: 10px; overflow: hidden;
  background: radial-gradient(circle at 50% 74%, rgba(217, 175, 82, .16), #0d0f13 70%);
}
.torneio-degrau .retrato img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.torneio-degrau .posicao {
  display: block; font-size: .6rem; font-weight: 900; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 1px;
}
.torneio-degrau b { font-size: .95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.torneio-degrau small { font-size: .74rem; }

.torneio-degrau.ouro {
  border-color: rgba(217, 175, 82, .6); background: rgba(217, 175, 82, .13);
  box-shadow: inset 0 0 24px rgba(217, 175, 82, .06);
}
.torneio-degrau.ouro .posicao { color: var(--gold2); }
.torneio-degrau.prata {
  border-color: rgba(206, 213, 224, .5); background: rgba(206, 213, 224, .09);
}
.torneio-degrau.prata .posicao, .torneio-degrau.prata b { color: #dce2ec; }
.torneio-degrau.bronze {
  border-color: rgba(207, 143, 88, .5); background: rgba(207, 143, 88, .1);
}
.torneio-degrau.bronze .posicao, .torneio-degrau.bronze b { color: #efbd93; }

@media (max-width: 560px) {
  .torneio-campeao .retrato { width: 118px; height: 140px; }
  .torneio-podio { grid-template-columns: 1fr; }
}
