/* ============================================================================
   SAMBOLEIROS NA COPA 2026 — Folha de estilo
   Direção visual "ESTÁDIO À NOITE" (do @brand-director)
   Base ~70% escura, ouro #FFCB05 como cor-assinatura (maior contraste),
   verde/azul como acentos. Brasil elegante (losango + estrelas), sem emoji
   decorativo. SVG inline pra bola/taça/cartão. Mobile-first.
   ========================================================================== */

/* ----------------------------- TOKENS ------------------------------------- */
:root{
  --breu:#070B14;--noite:#0B1220;--marinho:#0F1D3A;--marinho-vivo:#16305E;--linha:#1E3A6B;
  --ouro:#FFCB05;--ouro-quente:#F5A623;--verde-campo:#00B86B;--verde-neon:#1FE08F;
  --azul-celeste:#2D9CFF;--erro:#FF4D4D;--texto:#EAF0FB;--texto-suave:#9DB0CE;--texto-fraco:#5C6E91;
  --grad-campo:linear-gradient(135deg,#0B1220 0%,#0F1D3A 55%,#16305E 100%);
  --grad-ouro:linear-gradient(135deg,#FFCB05 0%,#F5A623 100%);
  --grad-gol:linear-gradient(135deg,#00B86B 0%,#1FE08F 100%);
  --grad-refletor:radial-gradient(120% 90% at 50% -10%,rgba(45,156,255,.18) 0%,rgba(11,18,32,0) 60%);
  --glow-ouro:0 0 0 1px rgba(255,203,5,.35),0 8px 30px -6px rgba(255,203,5,.45);
  --glow-gol:0 0 0 1px rgba(31,224,143,.35),0 8px 30px -6px rgba(31,224,143,.45);
  --glow-card:0 18px 50px -20px rgba(0,0,0,.7);
  --r-pill:999px;--r-card:18px;--r-input:12px;--r-badge:8px;
  --fonte-titulo:'Anton',system-ui,sans-serif;
  --fonte-label:'Bebas Neue',system-ui,sans-serif;
  --fonte-corpo:'Sora',system-ui,-apple-system,sans-serif;
  --largura:1120px;
}

/* ----------------------------- RESET -------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;max-width:100%}
body{
  font-family:var(--fonte-corpo);color:var(--texto);background-color:var(--breu);
  background-image:
    radial-gradient(80% 60% at 80% 0%,rgba(255,203,5,.06) 0%,rgba(7,11,20,0) 55%),
    var(--grad-refletor),var(--grad-campo);
  background-attachment:fixed;
  line-height:1.55;min-height:100vh;overflow-x:hidden;letter-spacing:.005em;
  position:relative;
}
/* vinheta sutil pra nunca ficar #000 chapado */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(130% 100% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%);
}
/* garante que o conteúdo fique acima da marca d'água */
.cabecalho,#conteudo,.rodape,#confete-canvas{position:relative;z-index:2}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select{font-family:inherit;font-size:1rem}
a{color:inherit;text-decoration:none}
ol,ul{list-style:none}
::selection{background:var(--ouro);color:var(--breu)}

.container{width:100%;max-width:var(--largura);margin:0 auto;padding:0 18px;position:relative;z-index:2}
.ouro{color:var(--ouro)}

/* Scrollbar tematizada */
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--noite)}
::-webkit-scrollbar-thumb{background:var(--linha);border-radius:99px;border:2px solid var(--noite)}
::-webkit-scrollbar-thumb:hover{background:var(--marinho-vivo)}

/* ----------------------------- ESTRELAS / CONFETE ------------------------- */
.estrelas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s}
.estrelas.ativa{opacity:1}
.estrela{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.5;
  animation:piscar var(--dur,3.5s) ease-in-out infinite var(--atraso,0s)}
.estrela--ouro{background:var(--ouro);box-shadow:0 0 6px var(--ouro)}
@keyframes piscar{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.25)}}
#confete-canvas{position:fixed;inset:0;z-index:120;pointer-events:none}

/* ----------------------------- HEADER ------------------------------------- */
.cabecalho{position:sticky;top:0;z-index:90;
  background:rgba(7,11,20,.72);backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(30,58,107,.55);transition:box-shadow .3s,background .3s}
.cabecalho.rolou{box-shadow:0 10px 30px -16px rgba(0,0,0,.8);background:rgba(7,11,20,.9)}
.cabecalho__inner{max-width:var(--largura);margin:0 auto;padding:10px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:14px}

.marca{display:flex;align-items:center;gap:10px;flex-shrink:0}
.marca__bola{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#16305E,#0B1220);box-shadow:var(--glow-card)}
.marca__bola .svg-bola{animation:girar-lento 14s linear infinite}
@keyframes girar-lento{to{transform:rotate(360deg)}}
.marca__texto{font-family:var(--fonte-label);font-size:1.45rem;line-height:.85;letter-spacing:.04em;
  display:flex;flex-direction:column;color:var(--texto)}
.marca__texto small{font-family:var(--fonte-corpo);font-size:.58rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ouro);margin-top:3px}

.nav{display:flex;align-items:center;gap:4px}
.nav__item{position:relative;padding:9px 11px;font-size:.84rem;font-weight:600;white-space:nowrap;color:var(--texto-suave);
  border-radius:var(--r-pill);transition:color .2s}
.nav__item::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;
  background:var(--grad-ouro);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.nav__item:hover{color:var(--texto)}
.nav__item:hover::after,.nav__item.ativo::after{transform:scaleX(1)}
.nav__item.ativo{color:var(--ouro)}
.nav__item--destaque{color:var(--breu);background:var(--grad-ouro);font-weight:700;box-shadow:var(--glow-ouro)}
.nav__item--destaque::after{display:none}
.nav__item--destaque:hover{color:var(--breu);filter:brightness(1.06)}
.nav__item--destaque.ativo{color:var(--breu)}
/* item "Entrar": MESMA pílula do "Jogos & Palpites", só que no AZUL-MARINHO do escudo. */
.nav__item--entrar{color:var(--texto);background:linear-gradient(135deg,var(--marinho-vivo,#16305E),var(--marinho,#0F1D3A));
  font-weight:700;box-shadow:0 0 0 1px rgba(45,156,255,.45),0 8px 30px -6px rgba(45,156,255,.5)}
.nav__item--entrar::after{display:none}
.nav__item--entrar:hover{color:var(--texto);filter:brightness(1.12)}
.nav__item--entrar.ativo{color:var(--texto)}
.nav__admin{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  color:var(--texto-fraco);border:1px solid var(--linha);transition:.2s;margin-left:4px}
.nav__admin:hover{color:var(--ouro);border-color:var(--ouro);transform:translateY(-1px)}

.hamburguer{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;padding:10px;border-radius:10px;border:1px solid var(--linha);box-sizing:border-box}
.hamburguer span{width:22px;height:2px;background:var(--texto);border-radius:2px;transition:.3s}
.hamburguer[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburguer[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburguer[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ----------------------------- ABAS / TRANSIÇÃO --------------------------- */
.aba{padding:34px 0 80px;animation:entra-aba .45s ease both}
@keyframes entra-aba{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ----------------------------- HERO --------------------------------------- */
/* SEM overflow:hidden — era ele que cortava a sombra do escudo flutuante numa
   linha reta perto do menu. padding-top maior pra a sombra do escudo respirar. */
.hero{position:relative;padding:40px 0 30px}
.hero__brilho{position:absolute;top:-30%;left:50%;transform:translateX(-50%);
  width:120%;height:120%;
  background:radial-gradient(closest-side,rgba(255,203,5,.16),transparent 70%);
  filter:blur(10px);pointer-events:none}
.hero__inner{text-align:center}

/* ===== ESCUDO DE FUNDO NA HERO (presença, como você curtiu) =====
   Máscara radial que dissolve o brilho do escudo MUITO antes da borda da
   imagem — assim a "sombra dourada" some gradualmente, sem o risco/retângulo. */
.hero__escudo-fundo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:0;pointer-events:none;width:min(86vw,620px);display:flex;justify-content:center}
.hero__escudo-fundo-img{width:100%;height:auto;opacity:.16;
  filter:drop-shadow(0 0 60px rgba(0,0,0,.45));
  -webkit-mask-image:radial-gradient(ellipse 58% 62% at 50% 50%,#000 35%,rgba(0,0,0,.45) 58%,transparent 82%);
          mask-image:radial-gradient(ellipse 58% 62% at 50% 50%,#000 35%,rgba(0,0,0,.45) 58%,transparent 82%)}
.hero__inner{position:relative;z-index:1}

/* ===== ESCUDO EM DESTAQUE ACIMA DO TÍTULO (Opção A, recortado) ===== */
.hero__escudo{display:flex;justify-content:center;align-items:center;gap:clamp(12px,2.6vw,30px);margin:0 auto 18px;perspective:1000px}
.hero__escudo-img{width:clamp(150px,32vw,330px);height:auto;
  /* imagem JÁ vem recortada (PNG transparente) — sem máscara, recorte perfeito */
  /* 3D forte + brilho dourado pra valorizar a logo */
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.7)) drop-shadow(0 0 46px rgba(255,203,5,.42));
  transform:translateZ(0);
  animation:escudo-flutua 5s ease-in-out infinite;will-change:transform}
@keyframes escudo-flutua{
  0%,100%{transform:perspective(1000px) translateY(0) rotateX(0) rotateY(0)}
  50%{transform:perspective(1000px) translateY(-14px) rotateX(8deg) rotateY(-4deg)}}
@media (prefers-reduced-motion:reduce){.hero__escudo-img{animation:none}}
.hero__sobrancelha{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;
  letter-spacing:.06em;color:var(--texto-suave);padding:7px 16px;border-radius:var(--r-pill);
  border:1px solid var(--linha);background:rgba(15,29,58,.5);margin-bottom:22px}
.ponto-vivo{width:8px;height:8px;border-radius:50%;background:var(--verde-neon);
  box-shadow:0 0 0 0 rgba(31,224,143,.6);animation:pulso-vivo 1.8s infinite}
@keyframes pulso-vivo{0%{box-shadow:0 0 0 0 rgba(31,224,143,.6)}70%{box-shadow:0 0 0 9px rgba(31,224,143,0)}100%{box-shadow:0 0 0 0 rgba(31,224,143,0)}}

.hero__titulo{font-family:var(--fonte-titulo);font-weight:400;line-height:.9;letter-spacing:.01em;
  font-size:clamp(3rem,12vw,7.5rem);text-transform:uppercase;
  /* "SAMBOLEIROS" — fade prateado SUAVE (menos brilho: começa em cinza claro) */
  background:linear-gradient(180deg,#D6DEEC 0%,#AEBCD4 50%,#7E8DA8 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  /* sombras atrás das letras: projeção dupla pra dar profundidade e descanso ao olho */
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) drop-shadow(0 6px 10px rgba(0,0,0,.45)) drop-shadow(0 16px 26px rgba(0,0,0,.35))}
/* "SAMBOLEIROS" — o gradiente/clip PRECISA ficar no próprio span: background-clip:text NÃO é herdado do h1
   (só o -webkit-text-fill-color herda; sem o gradiente no span, o texto fica transparente = invisível). */
.hero__titulo .hero__marca{
  background:linear-gradient(180deg,#D6DEEC 0%,#AEBCD4 50%,#7E8DA8 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
/* "NA COPA 2026" — fade dourado SUAVE (ouro mais fechado, menos berrante) */
.hero__titulo .ouro{
  background:linear-gradient(180deg,#F0BC3A 0%,#D9A311 50%,#A9780A 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) drop-shadow(0 6px 10px rgba(0,0,0,.45)) drop-shadow(0 16px 28px rgba(80,50,0,.4))}
.hero__sub{max-width:640px;margin:20px auto 0;color:var(--texto-suave);font-size:1.02rem}

.hero__datas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.mini-data{flex:1;min-width:170px;max-width:240px;text-align:left;position:relative;
  background:linear-gradient(160deg,rgba(15,29,58,.85),rgba(11,18,32,.85));
  border:1px solid var(--linha);border-radius:var(--r-card);padding:16px 18px;
  box-shadow:var(--glow-card)}
.mini-data--brasil{border-color:rgba(255,203,5,.5);
  background:linear-gradient(160deg,rgba(22,48,94,.9),rgba(11,18,32,.92))}
.mini-data__rotulo{display:block;font-family:var(--fonte-label);font-size:.95rem;letter-spacing:.1em;
  color:var(--texto-fraco);text-transform:uppercase}
.mini-data--brasil .mini-data__rotulo{color:var(--ouro)}
.mini-data__valor{display:block;font-size:1.5rem;font-weight:800;margin:2px 0 4px;color:var(--texto)}
.mini-data__extra{font-size:.78rem;color:var(--texto-suave)}

/* ----------------------------- SEÇÕES (cabeças) --------------------------- */
.secao-cabeca{text-align:center;margin:0 auto 28px;max-width:680px}
.secao-cabeca--linha{display:flex;align-items:baseline;justify-content:space-between;text-align:left;max-width:none}
.etiqueta{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--texto-suave);padding:5px 12px;border-radius:var(--r-pill);
  border:1px solid var(--linha);background:rgba(15,29,58,.4);margin-bottom:14px}
.etiqueta--ouro{color:var(--ouro);border-color:rgba(255,203,5,.4);background:rgba(255,203,5,.08)}
.secao-titulo{font-family:var(--fonte-titulo);font-weight:400;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(2rem,6vw,3.4rem);line-height:1}
.secao-titulo--menor{font-size:clamp(1.4rem,4vw,2rem)}
.secao-desc{color:var(--texto-suave);margin-top:12px;font-size:.97rem}

/* ----------------------------- CARD TILT / REVEAL ------------------------- */
.card-tilt{position:relative;transform-style:preserve-3d;
  transition:transform .25s ease,box-shadow .25s ease;will-change:transform}
.card-tilt::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  opacity:0;transition:opacity .25s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,203,5,.16),transparent 45%)}
.card-tilt:hover::before{opacity:1}

[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].revelado{opacity:1;transform:none}

/* ----------------------------- BOTÕES ------------------------------------- */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:var(--r-pill);font-weight:700;font-size:.95rem;
  letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  position:relative;overflow:hidden}
.botao--bloco{display:flex;width:100%}
.botao--ouro{background:var(--grad-ouro);color:var(--breu);box-shadow:var(--glow-ouro)}
.botao--ouro:hover{transform:translateY(-2px);filter:brightness(1.05);
  box-shadow:0 0 0 1px rgba(255,203,5,.5),0 14px 40px -10px rgba(255,203,5,.6)}
.botao--verde{background:var(--grad-gol);color:var(--breu);box-shadow:var(--glow-gol)}
.botao--verde:hover{transform:translateY(-2px);filter:brightness(1.05);
  box-shadow:0 0 0 1px rgba(31,224,143,.5),0 14px 40px -10px rgba(31,224,143,.6)}
.botao--contorno{border:1.5px solid var(--linha);color:var(--texto);background:rgba(15,29,58,.4)}
.botao--contorno:hover{border-color:var(--ouro);color:var(--ouro);transform:translateY(-2px)}
.botao:disabled{opacity:.45;cursor:not-allowed;transform:none!important;filter:grayscale(.3)}
.botao-ripple .onda{position:absolute;border-radius:50%;transform:scale(0);pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.55),rgba(255,255,255,0) 70%);animation:onda .6s ease-out}
@keyframes onda{to{transform:scale(2.4);opacity:0}}

.botao-mini{font-size:.78rem;font-weight:600;color:var(--texto-fraco);padding:7px 14px;
  border-radius:var(--r-pill);border:1px solid var(--linha);transition:.2s}
.botao-mini:hover{color:var(--ouro);border-color:var(--ouro)}
.botao-mini--sair{color:var(--texto-suave)}
.botao-mini--perigo{color:var(--erro);border-color:rgba(255,77,77,.4);margin-top:14px;width:100%}
.botao-mini--perigo:hover{background:rgba(255,77,77,.12);color:var(--erro);border-color:var(--erro)}

/* ----------------------------- COFRE BOARD -------------------------------- */
.cofre-board{margin-top:8px;padding:30px 28px;border-radius:24px;
  background:
    radial-gradient(120% 120% at 0% 0%,rgba(255,203,5,.1),transparent 55%),
    linear-gradient(165deg,rgba(22,48,94,.95),rgba(11,18,32,.96));
  border:1px solid rgba(255,203,5,.35);box-shadow:var(--glow-card),inset 0 1px 0 rgba(255,255,255,.05)}
.cofre-board__topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.cofre-board__pagantes{font-size:.82rem;font-weight:600;color:var(--texto-suave)}
.cofre-board__valor{display:flex;align-items:baseline;gap:8px;font-family:var(--fonte-titulo);
  line-height:1;margin:6px 0}
.cofre-board__valor .cifrao{font-size:clamp(1.6rem,5vw,2.4rem);color:var(--ouro)}
.cofre-board__valor .contador{font-size:clamp(3rem,12vw,5.6rem);
  background:var(--grad-ouro);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 20px rgba(255,203,5,.3))}
.cofre-board__legenda{color:var(--texto-suave);font-size:.9rem;max-width:560px}
.cofre-board__barra{margin-top:18px;height:10px;border-radius:99px;background:rgba(7,11,20,.7);
  border:1px solid var(--linha);overflow:hidden}
.cofre-board__progresso{height:100%;border-radius:99px;background:var(--grad-ouro);
  transition:width .8s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 14px rgba(255,203,5,.5)}

/* ----------------------------- RANKING ------------------------------------ */
.bloco-ranking{margin-top:44px}
.ranking{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.ranking__item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;
  padding:14px 18px;border-radius:var(--r-card);
  background:linear-gradient(160deg,rgba(15,29,58,.75),rgba(11,18,32,.8));
  border:1px solid var(--linha);transition:transform .2s,border-color .2s;
  animation:sobe-item .5s ease both}
@keyframes sobe-item{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.ranking__item:hover{transform:translateX(4px);border-color:var(--marinho-vivo)}
.ranking__pos{font-family:var(--fonte-label);font-size:1.5rem;width:34px;text-align:center;color:var(--texto-fraco)}
.ranking__atleta{display:flex;align-items:center;gap:12px;min-width:0}
/* avatar oval reutilizável (ranking + aba Participantes): boneco Pixar com
   fallback no escudo de iniciais. O wrap define o tamanho; border-radius 50%
   num retângulo 2:3 vira oval, igual ao perfil. */
.av-oval{position:relative;flex-shrink:0;overflow:hidden}
.av-oval .av-escudo{width:100%;height:100%;display:grid;place-items:center;font-family:var(--fonte-label);color:var(--breu);line-height:1;box-shadow:inset 0 0 0 2px rgba(0,0,0,.18)}
.av-oval .av-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ranking__foto{width:40px;height:58px;border-radius:50%}
.ranking__foto .av-escudo{font-size:1.05rem}
.ranking__foto--podio{box-shadow:0 0 0 2px var(--ouro)}
.ranking__nome{display:inline-block;max-width:100%;vertical-align:bottom;font-weight:700;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ranking__apelido{font-size:.74rem;color:var(--texto-fraco)}
.ranking__cravadas{font-size:.72rem;color:var(--texto-suave);display:flex;align-items:center;gap:4px}
.ranking__cravadas svg{color:var(--verde-neon)}
.ranking__pts{font-family:var(--fonte-titulo);font-size:1.6rem;color:var(--texto);text-align:right;line-height:1}
.ranking__pts small{display:block;font-family:var(--fonte-corpo);font-size:.6rem;font-weight:600;
  letter-spacing:.14em;color:var(--texto-fraco);text-transform:uppercase}

/* 1º lugar — ouro com bola girando */
.ranking__item--lider{border-color:rgba(255,203,5,.55);
  background:linear-gradient(160deg,rgba(255,203,5,.14),rgba(22,48,94,.55));box-shadow:var(--glow-ouro)}
.ranking__item--lider .ranking__pos{color:var(--ouro)}
.ranking__item--lider .ranking__pts{color:var(--ouro)}
.ranking__bola-lider{width:30px;height:30px;animation:girar-lento 4.5s linear infinite}
.ranking__item--podio2{border-color:rgba(157,176,206,.5)}
.ranking__item--podio3{border-color:rgba(245,166,35,.45)}

/* ===== ABA PARTICIPANTES — galeria de bonecos + classificação ===== */
.participantes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.participante-card{display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:18px 12px 16px;border-radius:var(--r-card);border:1px solid var(--linha);
  background:linear-gradient(160deg,rgba(15,29,58,.8),rgba(11,18,32,.85));
  transition:transform .25s,border-color .25s;animation:sobe-item .5s ease both}
.participante-card:hover{transform:translateY(-4px);border-color:rgba(255,203,5,.3)}
.participante-card__foto{width:clamp(104px,32vw,132px);aspect-ratio:2/3;border-radius:50%;
  margin-bottom:14px;border:2px solid rgba(255,203,5,.3)}
.participante-card__foto .av-escudo{font-size:2.2rem}
.participante-card__nome{font-weight:700;font-size:1rem;line-height:1.2;max-width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.participante-card__apelido{font-size:.78rem;color:var(--texto-fraco);margin-top:2px}
.participante-card__pos{margin-top:10px;font-size:.82rem;color:var(--texto-suave);
  padding:4px 12px;border-radius:var(--r-pill);background:rgba(7,11,20,.4);border:1px solid var(--linha)}
.participante-card__pos strong{font-family:var(--fonte-label);color:var(--texto);letter-spacing:.03em}
.participante-card__pos--podio1{background:rgba(255,203,5,.14);border-color:rgba(255,203,5,.5)}
.participante-card__pos--podio1 strong{color:var(--ouro)}
.participante-card__pos--podio2{background:rgba(157,176,206,.12);border-color:rgba(157,176,206,.45)}
.participante-card__pos--podio3{background:rgba(245,166,35,.1);border-color:rgba(245,166,35,.4)}

/* ----------------------------- ESTADO VAZIO ------------------------------- */
.estado-vazio{text-align:center;padding:42px 22px;border:1.5px dashed var(--linha);border-radius:var(--r-card);
  color:var(--texto-suave);background:rgba(11,18,32,.4)}
.estado-vazio svg{color:var(--texto-fraco);margin:0 auto 12px;opacity:.7}
.estado-vazio strong{color:var(--texto);font-size:1.05rem}
.estado-vazio p{margin:4px 0}
.estado-vazio .botao{margin-top:16px}
.estado-vazio--compacto{padding:26px 18px;margin-top:14px}

/* ----------------------------- CURIOSIDADES ------------------------------- */
.bloco-curiosidades{margin-top:48px}
.curiosidades{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:14px}
.curiosidades li{position:relative;padding:14px 16px 14px 42px;border-radius:14px;font-size:.88rem;color:var(--texto-suave);
  background:linear-gradient(160deg,rgba(15,29,58,.6),rgba(11,18,32,.6));border:1px solid var(--linha)}
.curiosidades li::before{content:"";position:absolute;left:16px;top:18px;width:12px;height:12px;border-radius:50%;
  background:var(--grad-ouro);box-shadow:0 0 10px rgba(255,203,5,.5)}

/* ----------------------------- CADASTRO ----------------------------------- */
.grade-cadastro{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:28px;align-items:start}
.form-cartao{padding:26px 24px;border-radius:var(--r-card);
  background:linear-gradient(160deg,rgba(15,29,58,.85),rgba(11,18,32,.9));
  border:1px solid var(--linha);box-shadow:var(--glow-card)}
.campo{margin-bottom:18px}
.campo label{display:block;font-size:.82rem;font-weight:600;color:var(--texto-suave);margin-bottom:7px}
.obrigatorio{color:var(--ouro)}
.opcional{color:var(--texto-fraco);font-weight:400}
.campo input[type=text],.campo input[type=password],.campo input[type=number],.campo select{
  width:100%;padding:12px 14px;border-radius:var(--r-input);background:rgba(7,11,20,.6);
  border:1.5px solid var(--linha);color:var(--texto);transition:border-color .2s,box-shadow .2s}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--ouro);
  box-shadow:0 0 0 3px rgba(255,203,5,.18)}
.campo select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239DB0CE' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}

.cores{display:flex;flex-wrap:wrap;gap:10px}
.cor-opcao{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;
  transition:transform .15s,border-color .15s;position:relative}
.cor-opcao:hover{transform:scale(1.12)}
.cor-opcao.escolhida{border-color:#fff;transform:scale(1.12);box-shadow:0 0 0 2px var(--breu),0 0 14px rgba(255,255,255,.4)}
.cor-opcao.escolhida::after{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-radius:50%;background:rgba(7,11,20,.5)}

.form-aviso{font-size:.82rem;margin-top:10px;min-height:1.2em;font-weight:600}
.form-aviso--ok{color:var(--verde-neon)}
.form-aviso--erro{color:var(--erro)}
.form-aviso--centro{text-align:center}

.contador-inline{color:var(--ouro);font-family:var(--fonte-corpo);font-size:.9rem;font-weight:700}
.cartoes-participantes{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-top:16px}
.cartao-atleta{position:relative;padding:20px 16px;border-radius:var(--r-card);text-align:center;
  background:linear-gradient(160deg,rgba(15,29,58,.8),rgba(11,18,32,.85));border:1px solid var(--linha);
  transition:transform .25s ease,box-shadow .25s ease;transform-style:preserve-3d;
  animation:pop-cartao .4s ease both}
@keyframes pop-cartao{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.cartao-atleta__escudo{width:58px;height:58px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;
  font-family:var(--fonte-label);font-size:1.7rem;color:var(--breu);box-shadow:inset 0 0 0 3px rgba(0,0,0,.18),var(--glow-card)}
.cartao-atleta__nome{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cartao-atleta__apelido{font-size:.74rem;color:var(--texto-fraco);margin-top:2px;min-height:1em}
.cartao-atleta__status{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:.7rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill)}
.cartao-atleta__status--pago{color:var(--verde-neon);background:rgba(31,224,143,.12);border:1px solid rgba(31,224,143,.35)}
.cartao-atleta__status--devendo{color:var(--ouro-quente);background:rgba(245,166,35,.1);border:1px solid rgba(245,166,35,.3)}
.cartao-atleta__remover{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;color:var(--texto-fraco);border:1px solid var(--linha);opacity:0;transition:.2s}
.cartao-atleta:hover .cartao-atleta__remover{opacity:1}
.cartao-atleta__remover:hover{color:var(--erro);border-color:var(--erro)}

/* ----------------------------- COFRE / PAGAMENTO -------------------------- */
.grade-cofre{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.card-pix{padding:26px 24px;border-radius:var(--r-card);
  background:
    radial-gradient(120% 120% at 100% 0%,rgba(255,203,5,.1),transparent 55%),
    linear-gradient(160deg,rgba(22,48,94,.9),rgba(11,18,32,.92));
  border:1px solid rgba(255,203,5,.35);box-shadow:var(--glow-card)}
.card-pix__rotulo{font-family:var(--fonte-label);font-size:1.05rem;letter-spacing:.1em;color:var(--ouro);text-transform:uppercase}
.card-pix__chave{display:flex;align-items:center;gap:10px;margin:12px 0;flex-wrap:wrap}
.card-pix__chave code{flex:1;min-width:0;font-family:'Sora',monospace;font-size:.98rem;font-weight:600;
  padding:12px 14px;border-radius:var(--r-input);background:rgba(7,11,20,.6);border:1.5px solid var(--linha);
  word-break:break-all;color:var(--texto)}
.botao-copiar{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:var(--r-input);
  background:var(--grad-ouro);color:var(--breu);font-weight:700;font-size:.84rem;position:relative;overflow:hidden;
  transition:transform .18s,filter .18s}
.botao-copiar:hover{transform:translateY(-2px);filter:brightness(1.05)}
.card-pix__cota{display:flex;justify-content:space-between;align-items:center;margin-top:16px;
  padding:14px 16px;border-radius:var(--r-input);background:rgba(7,11,20,.4);border:1px solid var(--linha)}
.card-pix__cota span{font-size:.85rem;color:var(--texto-suave)}
.card-pix__cota strong{font-family:var(--fonte-titulo);font-size:1.7rem;color:var(--ouro)}
.card-pix__obs{margin-top:14px;font-size:.82rem;color:var(--texto-suave)}

.card-comprovante{padding:26px 24px;border-radius:var(--r-card);
  background:linear-gradient(160deg,rgba(15,29,58,.85),rgba(11,18,32,.9));border:1px solid var(--linha);box-shadow:var(--glow-card)}
.card-comprovante h3{font-family:var(--fonte-label);font-size:1.4rem;letter-spacing:.06em;margin-bottom:18px}
.zona-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  min-height:130px;padding:18px;border-radius:var(--r-input);cursor:pointer;text-align:center;
  border:1.5px dashed var(--linha);background:rgba(7,11,20,.4);color:var(--texto-suave);
  transition:border-color .2s,background .2s}
.zona-upload:hover{border-color:var(--ouro);background:rgba(255,203,5,.05)}
.zona-upload svg{color:var(--texto-fraco)}
.zona-upload.tem-imagem{padding:8px}
.zona-upload img{border-radius:10px;max-height:180px;width:auto;margin:0 auto}

/* ----------------------------- GALERIA COMPROVANTES ----------------------- */
.bloco-historico{margin-top:46px}
.galeria-comprovantes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:8px}
.comprovante-card{position:relative;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--linha);
  background:rgba(11,18,32,.7);transition:transform .25s,box-shadow .25s;cursor:pointer;
  animation:pop-cartao .4s ease both}
.comprovante-card:hover{transform:translateY(-4px);box-shadow:var(--glow-card)}
.comprovante-card__img{width:100%;height:120px;object-fit:cover;background:var(--noite)}
.comprovante-card__info{padding:10px 12px}
.comprovante-card__nome{font-weight:700;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comprovante-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:3px}
.comprovante-card__data{font-size:.72rem;color:var(--texto-fraco)}
.comprovante-card__valor{font-size:.78rem;font-weight:700;color:var(--verde-neon)}
.comprovante-card__remover{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;color:#fff;background:rgba(7,11,20,.75);border:1px solid rgba(255,255,255,.15);
  opacity:0;transition:.2s;backdrop-filter:blur(4px)}
.comprovante-card:hover .comprovante-card__remover{opacity:1}
.comprovante-card__remover:hover{background:var(--erro);border-color:var(--erro)}
.comprovante-card__selo{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:var(--r-pill);background:rgba(0,184,107,.9);color:var(--breu);
  font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}

/* ----------------------------- LIGHTBOX ----------------------------------- */
/* Oculto por padrão; só aparece com .aberto (e respeita o atributo hidden). */
.lightbox{position:fixed;inset:0;z-index:140;display:none;place-items:center;padding:24px;
  background:rgba(7,11,20,.92);backdrop-filter:blur(8px);animation:fade .25s ease}
.lightbox[hidden]{display:none}
.lightbox.aberto{display:grid}
@keyframes fade{from{opacity:0}to{opacity:1}}
.lightbox__fig{max-width:680px;text-align:center;animation:zoom-in .3s ease}
@keyframes zoom-in{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.lightbox__fig img{max-height:78vh;border-radius:var(--r-card);box-shadow:var(--glow-card);border:1px solid var(--linha)}
.lightbox__fig figcaption{margin-top:14px;color:var(--texto-suave);font-size:.9rem}
.lightbox__fechar{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;
  font-size:1.8rem;line-height:1;color:#fff;background:rgba(15,29,58,.7);border:1px solid var(--linha);transition:.2s}
.lightbox__fechar:hover{background:var(--erro);transform:rotate(90deg)}

/* ----------------------------- GRUPOS ------------------------------------- */
.grade-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}
.grupo-card{border-radius:var(--r-card);overflow:hidden;border:1px solid var(--linha);
  background:linear-gradient(165deg,rgba(15,29,58,.78),rgba(11,18,32,.85));box-shadow:var(--glow-card)}
.grupo-card--brasil{border-color:rgba(255,203,5,.5)}
.grupo-card__cabeca{display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;background:linear-gradient(90deg,rgba(22,48,94,.7),transparent);
  border-bottom:1px solid var(--linha)}
.grupo-card__nome{font-family:var(--fonte-titulo);font-size:1.5rem;letter-spacing:.04em}
.grupo-card--brasil .grupo-card__nome{color:var(--ouro)}
.grupo-card__tag{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ouro);padding:3px 9px;border-radius:var(--r-pill);background:rgba(255,203,5,.12);border:1px solid rgba(255,203,5,.35)}
.tabela-grupo{width:100%;border-collapse:collapse;font-size:.84rem;table-layout:fixed}
/* colunas numéricas com largura fixa -> o nome longo trunca (…) em vez de empurrar e cortar a coluna SG */
.tabela-grupo thead th:not(:first-child),.tabela-grupo tbody td:not(.col-time){width:30px}
.tabela-grupo thead th{font-family:var(--fonte-corpo);font-size:.64rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--texto-fraco);padding:9px 4px;text-align:center;border-bottom:1px solid var(--linha)}
.tabela-grupo thead th:first-child{text-align:left;padding-left:18px}
.tabela-grupo tbody td{padding:9px 4px;text-align:center;border-bottom:1px solid rgba(30,58,107,.4)}
.tabela-grupo tbody tr:last-child td{border-bottom:none}
.tabela-grupo .col-time{text-align:left;padding-left:18px}
.time-celula{display:flex;align-items:center;gap:9px;min-width:0}
.time-celula__pos{width:18px;font-family:var(--fonte-label);font-size:1rem;color:var(--texto-fraco);flex-shrink:0}
.time-celula__bandeira{font-size:1.25rem;line-height:1;flex-shrink:0}
.time-celula__nome{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}
.tabela-grupo .col-pts{font-family:var(--fonte-label);font-size:1.15rem;color:var(--texto)}
.linha-classifica .time-celula__pos{color:var(--verde-neon)}
.linha-classifica td:first-child{box-shadow:inset 3px 0 0 var(--verde-neon)}

/* ----------------------------- CHAVEAMENTO (bracket) ---------------------- */
.bracket-legenda{font-size:.74rem;color:var(--texto-fraco);margin:0 0 10px;text-align:right}
.bracket{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px}
.bracket-round{flex:0 0 auto;width:210px}
.bracket-round__titulo{font-family:var(--fonte-label);font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ouro);text-align:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,203,5,.25)}
.bracket-round__jogos{display:flex;flex-direction:column;gap:10px}
.bracket-jogo{border-radius:var(--r-input);border:1px solid var(--linha);overflow:hidden;
  background:linear-gradient(160deg,rgba(15,29,58,.6),rgba(11,18,32,.72))}
.bracket-jogo--brasil{border-color:rgba(255,203,5,.45)}
.bracket-time{display:flex;align-items:center;gap:9px;padding:8px 11px}
.bracket-time + .bracket-time{border-top:1px solid var(--linha)}
.bracket-time--vence{background:rgba(255,203,5,.12)}
.bracket-time--vence .bracket-time__nome{color:var(--ouro);font-weight:700}
.bracket-time--indef .bracket-time__nome{color:var(--texto-fraco);font-style:italic;font-weight:500}
.bracket-flag{width:26px;height:18px;object-fit:cover;border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.bracket-flag--vazia{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--linha)}
.bracket-time__nome{flex:1;min-width:0;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bracket-time__placar{font-family:var(--fonte-titulo);font-size:1.05rem;color:var(--texto);min-width:14px;
  text-align:center;font-variant-numeric:tabular-nums}
@media (max-width:560px){ .bracket-round{width:178px} }

/* ----------------------------- BANDEIRAS (imagens reais) ------------------ */
.flag-img{display:inline-block;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.3);vertical-align:middle}
.confronto__bandeira,.time-celula__bandeira,.evento-linha__band,.perfil-jogo__band{line-height:0}
.confronto__bandeira .flag-img{width:34px;height:23px}
.time-celula__bandeira .flag-img{width:22px;height:15px}
.evento-linha__band .flag-img{width:18px;height:12px}
.perfil-jogo__band .flag-img{width:22px;height:15px}
.podio-escolha-fixa .flag-img{width:22px;height:15px;margin-right:4px}
.podio-real-info .flag-img{width:20px;height:14px;margin:0 2px}
.admin-editor__time .flag-img{width:24px;height:16px}
.admin-evento-item .flag-img{width:18px;height:12px}

/* ----------------------------- SIMULADOR (sandbox) ------------------------ */
.sim-intro{color:var(--texto-suave);font-size:.92rem;margin-bottom:14px;max-width:680px}
.sim-intro strong{color:var(--texto)}
.sim-acoes{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.sim-acoes .botao-mini--perigo{width:auto;margin-top:0}
.sim-bloco{margin-bottom:30px}
.sim-bloco__titulo{font-family:var(--fonte-label);font-size:1.4rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ouro);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,203,5,.2)}
.fl-sim{width:20px;height:13px}
.fl-vazia{display:inline-block;width:20px;height:13px;background:rgba(255,255,255,.07);
  box-shadow:inset 0 0 0 1px var(--linha);border-radius:2px;flex-shrink:0}
.sim-jogos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:8px}
.sim-rodada{grid-column:1/-1;font-family:var(--fonte-label);font-size:1.05rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--texto-suave);margin:14px 0 2px}
.sim-rodada:first-child{margin-top:0}
.sim-jogo{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:var(--r-input);
  border:1px solid var(--linha);background:rgba(11,18,32,.5)}
.sim-jogo--indef{opacity:.5}
.sim-jogo__lado{flex:1;display:flex;align-items:center;gap:6px;min-width:0}
.sim-jogo__lado--dir{justify-content:flex-end;text-align:right}
.sim-jogo__nome{flex:1;min-width:0;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sim-jogo__lado--indef .sim-jogo__nome{font-style:italic;font-weight:500;color:var(--texto-fraco)}
.sim-jogo__vs{flex-shrink:0;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-fraco)}
.sim-jogo__placar{display:flex;align-items:center;gap:5px;flex-shrink:0}
.sim-jogo__placar i{font-style:normal;color:var(--texto-fraco);font-size:.85rem}
.sim-input{width:32px;height:32px;text-align:center;font-family:var(--fonte-titulo);font-size:1.05rem;
  border-radius:8px;background:rgba(7,11,20,.6);border:1.5px solid var(--linha);color:var(--texto);
  -moz-appearance:textfield;appearance:textfield}
.sim-input::-webkit-outer-spin-button,.sim-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sim-input:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 2px rgba(255,203,5,.2)}
.sim-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:12px}
.sim-grupo{border-radius:var(--r-input);border:1px solid var(--linha);background:rgba(11,18,32,.5);padding:11px 13px}
.sim-grupo__nome{font-family:var(--fonte-label);font-size:1.05rem;letter-spacing:.05em;color:var(--ouro);margin-bottom:7px}
.sim-grupo__linha{display:flex;align-items:center;gap:7px;padding:4px 0;font-size:.8rem;border-top:1px solid rgba(30,58,107,.35)}
.sim-grupo__linha:first-of-type{border-top:none}
.sim-grupo__pos{width:13px;font-family:var(--fonte-label);color:var(--texto-fraco);flex-shrink:0;text-align:center}
.sim-grupo__linha--classifica .sim-grupo__pos{color:var(--verde-neon)}
.sim-grupo__time{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.sim-grupo__pts{font-family:var(--fonte-label);font-size:1rem;color:var(--texto)}

/* ----------------------------- FILTROS (jogos) ---------------------------- */
.filtros{margin-bottom:18px}
.filtros__linha{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.chip{padding:8px 15px;border-radius:var(--r-pill);font-size:.8rem;font-weight:600;color:var(--texto-suave);
  border:1px solid var(--linha);background:rgba(15,29,58,.4);transition:.2s;white-space:nowrap}
.chip:hover{color:var(--texto);border-color:var(--marinho-vivo);transform:translateY(-1px)}
.chip.ativo{background:var(--grad-ouro);color:var(--breu);border-color:transparent;font-weight:700;box-shadow:var(--glow-ouro)}
.filtros__linha--grupos .chip{font-size:.74rem;padding:6px 12px}
.contagem-jogos{font-size:.82rem;color:var(--texto-fraco);margin-bottom:14px}

/* ----------------------------- LISTA DE JOGOS ----------------------------- */
.lista-jogos{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.jogo-card{border-radius:var(--r-card);border:1px solid var(--linha);overflow:hidden;
  background:linear-gradient(165deg,rgba(15,29,58,.72),rgba(11,18,32,.82));transition:transform .2s,border-color .2s}
.jogo-card:hover{transform:translateY(-3px);border-color:var(--marinho-vivo)}
.jogo-card--brasil{border-color:rgba(255,203,5,.45)}
.jogo-card__topo{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 14px;border-bottom:1px solid var(--linha);background:rgba(7,11,20,.3)}
.jogo-card__fase{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-fraco)}
.jogo-card__grupo{font-size:.66rem;font-weight:800;color:var(--azul-celeste)}
.jogo-card__selecao{display:inline-flex;align-items:center;gap:4px;font-size:.62rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--breu);padding:3px 8px;border-radius:var(--r-pill);background:var(--grad-ouro)}
.jogo-card__corpo{padding:16px 14px}
.confronto{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.confronto__time{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0}
.confronto__bandeira{font-size:2rem;line-height:1}
.confronto__nome{font-size:.8rem;font-weight:700;line-height:1.15;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.confronto__ref{font-size:.7rem;color:var(--texto-suave);line-height:1.2}
.confronto__centro{text-align:center;min-width:54px}
.confronto__placar{font-family:var(--fonte-titulo);font-size:2.1rem;line-height:1;color:var(--ouro);
  filter:drop-shadow(0 2px 10px rgba(255,203,5,.3))}
.confronto__x{font-family:var(--fonte-label);font-size:1.4rem;color:var(--texto-fraco)}
.confronto__hora{display:block;font-size:.66rem;color:var(--texto-fraco);margin-top:3px;letter-spacing:.04em}
.jogo-card__rodape{margin-top:14px;padding-top:12px;border-top:1px solid rgba(30,58,107,.4);
  display:flex;flex-direction:column;gap:4px;font-size:.74rem;color:var(--texto-suave)}
.jogo-card__data{font-weight:700;color:var(--texto)}
.jogo-card__local{color:var(--texto-fraco)}

/* eventos (gols/expulsões) embaixo do placar */
.eventos{margin-top:13px;padding-top:12px;border-top:1px dashed var(--linha);display:flex;flex-direction:column;gap:6px}
.evento-linha{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--texto-suave)}
.evento-linha__band{font-size:1rem;line-height:1}
.evento-linha__icone{display:grid;place-items:center;flex-shrink:0}
.evento-linha__icone--gol{color:var(--verde-neon)}
.evento-linha__icone--gol svg{width:14px;height:14px}
.evento-linha__cartao{width:11px;height:15px;border-radius:2px;background:var(--erro);box-shadow:0 0 6px rgba(255,77,77,.5);flex-shrink:0;transform:rotate(8deg)}
.evento-linha__min{margin-left:auto;font-weight:700;color:var(--texto-fraco);font-variant-numeric:tabular-nums}
.evento-linha__jogador{font-weight:600;color:var(--texto);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ----- cabeçalho de rodada (agrupa os jogos por rodada/fase) ----- */
.jogos-rodada{grid-column:1/-1;font-family:var(--fonte-label);font-size:1.35rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ouro);margin:22px 0 2px;padding-bottom:8px;
  border-bottom:1px solid rgba(255,203,5,.25)}
.jogos-rodada:first-child{margin-top:0}

/* ----- barra "palpitando como" (identidade única, = a do Perfil) ----- */
.jogos-eu{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;
  padding:14px 20px;border-radius:var(--r-card);border:1px solid rgba(255,203,5,.3);
  background:linear-gradient(160deg,rgba(22,48,94,.7),rgba(11,18,32,.8));box-shadow:var(--glow-card)}
.jogos-eu__quem{display:flex;flex-direction:column;gap:1px;margin-right:auto;min-width:0}
.jogos-eu__rotulo{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-fraco)}
.jogos-eu__nome{font-family:var(--fonte-label);font-size:1.45rem;letter-spacing:.04em;color:var(--texto);line-height:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.jogos-eu__nome span{color:var(--ouro);font-family:var(--fonte-corpo);font-size:.8rem;font-weight:600}
.jogos-eu__pontos{font-family:var(--fonte-titulo);font-size:1.3rem;color:var(--ouro);
  padding:5px 14px;border-radius:var(--r-pill);background:rgba(255,203,5,.1);border:1px solid rgba(255,203,5,.35)}
.jogos-eu__pontos small{font-family:var(--fonte-corpo);font-size:.58rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--texto-suave)}
.jogos-eu__hint{font-size:.78rem;color:var(--texto-fraco)}
.jogos-eu--vazio{justify-content:space-between}
.jogos-eu--vazio span{color:var(--texto-suave);font-size:.92rem}

/* ----- palpite fundido dentro do card de jogo ----- */
.jogo-card--encerrado .confronto__hora{display:none}
.jogo-card__palpite{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:7px 10px;margin-top:13px;padding:12px;border-radius:var(--r-input);
  background:rgba(255,203,5,.05);border:1px dashed rgba(255,203,5,.32)}
.jogo-card__palpite--fechado{background:rgba(7,11,20,.32);border-style:solid;border-color:var(--linha)}
.jogo-card__palpite-rotulo{flex-basis:100%;text-align:center;font-size:.6rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ouro)}
.jogo-card__palpite--fechado .jogo-card__palpite-rotulo{color:var(--texto-fraco)}
.jogo-card__palpite-campos{display:flex;align-items:center;gap:8px}
.jogo-card__lock{flex-basis:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-fraco)}
.jogo-card__lock svg{opacity:.7}
.jogo-card__palpite .veredito{flex-basis:100%;justify-self:center;margin-top:2px}

/* ----------------------------- REGULAMENTO (palpites) --------------------- */
.regulamento{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:24px}
.regra{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-card);
  border:1px solid var(--linha);background:rgba(11,18,32,.5)}
.regra strong{font-family:var(--fonte-titulo);font-size:1.5rem;line-height:1}
.regra span{font-size:.76rem;color:var(--texto-suave)}
.regra--exato{border-color:rgba(31,224,143,.4)}.regra--exato strong{color:var(--verde-neon)}
.regra--meio{border-color:rgba(255,203,5,.4)}.regra--meio strong{color:var(--ouro)}
.regra--zero{border-color:rgba(255,77,77,.3)}.regra--zero strong{color:var(--erro)}
.regra--bonus{border-color:rgba(45,156,255,.4)}.regra--bonus strong{color:var(--azul-celeste);font-size:1.05rem}
/* destaque do empate (vale mais) */
.regra--empate{position:relative;background:linear-gradient(160deg,rgba(22,48,94,.55),rgba(11,18,32,.6))}
.regra--empate::after{content:"EMPATE";position:absolute;top:-8px;right:10px;font-family:var(--fonte-label);
  font-size:.6rem;letter-spacing:.12em;padding:2px 7px;border-radius:var(--r-badge);
  background:var(--grad-ouro);color:var(--breu);font-weight:700}
.regulamento-nota{margin:-12px 0 24px;font-size:.84rem;color:var(--texto-fraco);line-height:1.5;
  padding:12px 16px;border-left:2px solid rgba(255,203,5,.4);background:rgba(255,203,5,.04);border-radius:0 var(--r-input) var(--r-input) 0}
.regulamento-nota em{color:var(--texto-suave);font-style:italic}

/* ----------------------------- SELETOR DE JOGADOR ------------------------- */
.seletor-jogador{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px;
  padding:18px 22px;border-radius:var(--r-card);border:1px solid rgba(255,203,5,.3);
  background:linear-gradient(160deg,rgba(22,48,94,.7),rgba(11,18,32,.8));box-shadow:var(--glow-card)}
.seletor-jogador label{font-family:var(--fonte-label);font-size:1.3rem;letter-spacing:.06em;color:var(--ouro)}
.seletor-jogador select{flex:1;min-width:200px;max-width:340px}
.seletor-jogador__pontos{font-family:var(--fonte-titulo);font-size:1.4rem;color:var(--ouro);
  padding:6px 16px;border-radius:var(--r-pill);background:rgba(255,203,5,.1);border:1px solid rgba(255,203,5,.35)}
.seletor-jogador__pontos small{font-family:var(--fonte-corpo);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}

.aviso-escolha{text-align:center;padding:44px 22px;border-radius:var(--r-card);border:1.5px dashed var(--linha);
  background:rgba(11,18,32,.4);color:var(--texto-suave)}
.aviso-escolha svg{color:var(--texto-fraco);margin:0 auto 12px;opacity:.7}
.aviso-escolha strong{color:var(--texto)}
.aviso-escolha a{color:var(--ouro);font-weight:600;text-decoration:underline}

/* ----------------------------- ABA PERFIL --------------------------------- */
/* Avatar grande + pontuação/posição + extrato jogo a jogo. Substitui a antiga
   aba "Galera". Identidade = samboleiros_pid (o mesmo boneco da hero). */
.perfil-cabecalho{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar id" "avatar stats";
  gap:6px 26px;align-items:center;padding:26px 28px;margin-bottom:30px;border-radius:var(--r-card);
  background:
    radial-gradient(120% 120% at 0% 0%,rgba(255,203,5,.13),transparent 55%),
    linear-gradient(160deg,rgba(22,48,94,.88),rgba(11,18,32,.92));
  border:1px solid rgba(255,203,5,.3);box-shadow:var(--glow-card)}
/* OVAL 2:3 (igual ao boneco da hero): mostra corpo + cara inteiros, não só o rosto.
   A foto é retrato (832x1248 = 2:3), então a caixa 128x192 + object-fit:cover não corta. */
.perfil-avatar{grid-area:avatar;width:128px;height:192px;border-radius:50%;display:grid;place-items:center;
  overflow:hidden;border:3px solid rgba(255,203,5,.45);background:var(--noite);box-shadow:var(--glow-ouro)}
.perfil-avatar__img{width:100%;height:100%;object-fit:cover;object-position:center}
.perfil-avatar__escudo{width:100%;height:100%;display:grid;place-items:center;
  font-family:var(--fonte-titulo);font-size:2.8rem;line-height:1}
.perfil-id{grid-area:id;display:flex;flex-direction:column;gap:3px;align-self:end}
.perfil-id__nome{font-family:var(--fonte-titulo);font-size:clamp(1.6rem,5vw,2.4rem);line-height:1;text-transform:uppercase}
.perfil-id__apelido{font-size:.95rem;color:var(--ouro);font-weight:600}
.perfil-id__trocar{align-self:flex-start;margin-top:8px}
.perfil-stats{grid-area:stats;display:flex;gap:12px;flex-wrap:wrap;align-self:start;margin-top:8px}
.perfil-stat{flex:1;min-width:94px;text-align:center;padding:13px 10px;border-radius:var(--r-card);
  background:rgba(7,11,20,.45);border:1px solid var(--linha)}
.perfil-stat strong{display:block;font-family:var(--fonte-titulo);font-size:1.9rem;line-height:1;
  color:var(--texto);font-variant-numeric:tabular-nums}
.perfil-stat span{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-fraco)}
.perfil-stat--pos strong{color:var(--azul-celeste)}
.perfil-stat--pts strong{color:var(--ouro)}

/* extrato jogo a jogo */
.perfil-extrato{display:flex;flex-direction:column;gap:10px}
.perfil-extrato__titulo{font-family:var(--fonte-label);font-size:1.5rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--texto)}
.perfil-extrato__rodada{font-family:var(--fonte-label);font-size:1.05rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ouro);margin:14px 0 -2px;padding-left:2px}
.perfil-jogo{padding:13px 16px;border-radius:var(--r-card);border:1px solid var(--linha);
  background:rgba(11,18,32,.5);border-left-width:3px}
.perfil-jogo--exato{border-left-color:var(--verde-neon)}
.perfil-jogo--meio{border-left-color:var(--ouro)}
.perfil-jogo--zero{border-left-color:rgba(255,77,77,.5)}
.perfil-jogo__top{display:flex;align-items:center;justify-content:center;gap:12px}
.perfil-jogo__lado{display:flex;align-items:center;gap:7px;flex:1;min-width:0;font-weight:600;font-size:.92rem}
.perfil-jogo__lado--dir{justify-content:flex-end;text-align:right}
.perfil-jogo__nome{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.perfil-jogo__band{font-size:1.15rem;line-height:1;flex-shrink:0}
.perfil-jogo__ref{color:var(--texto-suave);font-size:.82rem}
.perfil-jogo__real{flex-shrink:0;font-family:var(--fonte-titulo);font-size:1.3rem;line-height:1;white-space:nowrap;
  padding:3px 13px;border-radius:var(--r-pill);background:rgba(7,11,20,.6);border:1px solid var(--linha);
  font-variant-numeric:tabular-nums}
.perfil-jogo__real i{font-style:normal;color:var(--texto-fraco);margin:0 5px}
.perfil-jogo__bot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;
  padding-top:9px;border-top:1px dashed rgba(30,58,107,.6)}
.perfil-jogo__meu{font-size:.82rem;color:var(--texto-suave)}
.perfil-jogo__meu b{color:var(--texto);font-weight:700;font-variant-numeric:tabular-nums}
.perfil-jogo__semp{color:var(--texto-fraco);font-style:italic}
.perfil-jogo__pts{flex-shrink:0;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:5px 12px;border-radius:var(--r-pill)}
.perfil-jogo__pts--exato{color:var(--breu);background:var(--grad-gol);box-shadow:var(--glow-gol)}
.perfil-jogo__pts--meio{color:var(--breu);background:var(--grad-ouro)}
.perfil-jogo__pts--zero{color:var(--texto-suave);background:rgba(255,77,77,.1);border:1px solid rgba(255,77,77,.35)}

@media (max-width:560px){
  .perfil-cabecalho{grid-template-columns:1fr;grid-template-areas:"avatar" "id" "stats";
    justify-items:center;text-align:center;padding:24px 18px;gap:10px 0}
  .perfil-id{align-items:center}
  .perfil-id__trocar{align-self:center}
  .perfil-stats{width:100%;margin-top:4px}
  .perfil-jogo__lado{font-size:.84rem}
}

/* --------------------------- PLACAR / PALPITE ---------------------------- */
.palpite-input{width:48px;height:48px;text-align:center;font-family:var(--fonte-titulo);font-size:1.5rem;
  border-radius:var(--r-input);background:rgba(7,11,20,.6);border:1.5px solid var(--linha);color:var(--texto);
  -moz-appearance:textfield;appearance:textfield}
.palpite-input::-webkit-outer-spin-button,.palpite-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.palpite-input:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(255,203,5,.18)}
.palpite-input:disabled{opacity:.7;cursor:not-allowed}
.palpite-card__x{font-family:var(--fonte-label);font-size:1.2rem;color:var(--texto-fraco)}
.veredito{grid-column:1/-1;justify-self:center;margin-top:8px;display:inline-flex;align-items:center;gap:6px;
  font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 14px;border-radius:var(--r-pill)}
.veredito--exato{color:var(--breu);background:var(--grad-gol);box-shadow:var(--glow-gol);animation:pulsa-cravada 1.4s ease-in-out infinite}
.veredito--meio{color:var(--breu);background:var(--grad-ouro)}
.veredito--zero{color:var(--erro);background:rgba(255,77,77,.12);border:1px solid rgba(255,77,77,.4)}
@keyframes pulsa-cravada{0%,100%{transform:scale(1);box-shadow:var(--glow-gol)}50%{transform:scale(1.06);box-shadow:0 0 0 1px rgba(31,224,143,.6),0 10px 36px -8px rgba(31,224,143,.8)}}

/* feedback de auto-save por card */
.salvo-flash{position:absolute;top:8px;right:12px;font-size:.66rem;font-weight:700;color:var(--verde-neon);
  opacity:0;pointer-events:none}
.salvo-flash.mostra{animation:flash-salvo 1.4s ease}
@keyframes flash-salvo{0%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}

/* ----------------------------- PÓDIO -------------------------------------- */
.podio-palco{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:end;gap:14px;max-width:680px;margin:0 auto;
  animation:entra-aba .4s ease both}
.podio-degrau{border-radius:var(--r-card);padding:18px 14px;text-align:center;
  border:1px solid var(--linha);background:linear-gradient(165deg,rgba(15,29,58,.8),rgba(11,18,32,.85))}
.podio-degrau--campeao{padding-top:26px;border-color:rgba(255,203,5,.5);
  background:linear-gradient(165deg,rgba(255,203,5,.14),rgba(22,48,94,.6));box-shadow:var(--glow-ouro)}
.podio-degrau--vice{margin-bottom:22px}
.podio-degrau--terceiro{margin-bottom:44px}
.podio-taca{color:var(--ouro);margin-bottom:6px;animation:flutua 3s ease-in-out infinite;
  filter:drop-shadow(0 4px 14px rgba(255,203,5,.5))}
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.podio-medalha{font-family:var(--fonte-titulo);font-size:1.8rem;color:var(--texto-fraco);line-height:1}
.podio-medalha--ouro{color:var(--ouro);font-size:2.2rem}
.podio-pontos{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--texto-suave);margin:4px 0 12px}
.select-selecao{width:100%}

.podio-real-info{margin:22px auto 0;max-width:560px;text-align:center;padding:16px 20px;border-radius:var(--r-card);
  border:1px solid rgba(255,203,5,.35);background:rgba(255,203,5,.08);color:var(--texto);font-size:.88rem}
.podio-real-info strong{color:var(--ouro)}

/* pódio como bloco no topo da aba Jogos & Palpites (estados: bloqueado/aberto/fechado) */
.podio-bloco{margin-bottom:26px;padding:22px 22px 20px;border-radius:var(--r-card);
  border:1px solid rgba(255,203,5,.28);box-shadow:var(--glow-card);
  background:
    radial-gradient(120% 100% at 50% 0%,rgba(255,203,5,.1),transparent 60%),
    linear-gradient(160deg,rgba(22,48,94,.55),rgba(11,18,32,.7))}
.podio-bloco__cabeca{text-align:center;margin-bottom:16px}
.podio-bloco__titulo{font-family:var(--fonte-titulo);font-weight:400;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.5rem,4.5vw,2.2rem);line-height:1;margin-top:8px}
.podio-bloco__dica{text-align:center;font-size:.82rem;color:var(--texto-suave);margin-top:16px}
.podio-estado{display:flex;align-items:center;gap:10px;max-width:560px;margin:16px auto 0;
  padding:12px 16px;border-radius:var(--r-input);font-size:.84rem;color:var(--texto-suave);line-height:1.4;
  background:rgba(7,11,20,.4);border:1px solid var(--linha)}
.podio-estado svg{flex-shrink:0;color:var(--texto-fraco)}
.podio-estado strong{color:var(--texto)}
.podio-estado--bloq{border-color:rgba(45,156,255,.35);background:rgba(45,156,255,.08)}
.podio-estado--bloq svg{color:var(--azul-celeste)}
.podio-estado--fech{border-color:rgba(255,203,5,.35);background:rgba(255,203,5,.07)}
.podio-estado--fech svg{color:var(--ouro)}
.podio-escolha-fixa{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 12px;border-radius:var(--r-input);background:rgba(7,11,20,.5);border:1px solid var(--linha);
  font-size:.86rem;font-weight:600;color:var(--texto)}
.podio-palco--travado{opacity:.97}

/* ----------------------------- MODAL ADMIN -------------------------------- */
.modal{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:18px}
.modal[hidden]{display:none}
.modal__fundo{position:absolute;inset:0;background:rgba(7,11,20,.85);backdrop-filter:blur(6px);animation:fade .25s}
.modal__caixa{position:relative;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;
  border-radius:22px;padding:30px 26px;border:1px solid var(--linha);
  background:linear-gradient(165deg,rgba(15,29,58,.98),rgba(11,18,32,.99));box-shadow:0 30px 80px -20px rgba(0,0,0,.9);
  animation:zoom-in .3s ease}
.modal__x{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;font-size:1.6rem;line-height:1;
  color:var(--texto-suave);border:1px solid var(--linha);transition:.2s}
.modal__x:hover{color:var(--erro);border-color:var(--erro);transform:rotate(90deg)}

.admin-login{text-align:center}
.admin-login__icone{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;
  color:var(--ouro);background:rgba(255,203,5,.1);border:1px solid rgba(255,203,5,.35)}
.admin-login h2{font-family:var(--fonte-titulo);font-size:1.9rem;letter-spacing:.02em}
.admin-login p{color:var(--texto-suave);font-size:.9rem;margin:8px 0 20px}
.admin-login input{width:100%;padding:13px 16px;border-radius:var(--r-input);background:rgba(7,11,20,.6);
  border:1.5px solid var(--linha);color:var(--texto);margin-bottom:14px;text-align:center}
.admin-login input:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(255,203,5,.18)}

.admin-painel__topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.admin-painel__topo h2{font-family:var(--fonte-titulo);font-size:1.5rem;letter-spacing:.02em}
.admin-abas{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}
.admin-abas__btn{flex:1;min-width:72px;padding:9px 8px;border-radius:var(--r-input);font-size:.78rem;font-weight:600;
  color:var(--texto-suave);border:1px solid var(--linha);background:rgba(7,11,20,.4);transition:.2s}
.admin-abas__btn:hover{color:var(--texto)}
.admin-abas__btn.ativo{background:var(--grad-ouro);color:var(--breu);border-color:transparent;font-weight:700}
.admin-dica{font-size:.82rem;color:var(--texto-suave);margin-bottom:16px;padding:10px 14px;border-radius:var(--r-input);
  background:rgba(45,156,255,.08);border:1px solid rgba(45,156,255,.25)}

/* editor de jogo no admin */
.admin-editor{display:flex;flex-direction:column;gap:14px}
.admin-editor__placar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;
  padding:14px;border-radius:var(--r-card);background:rgba(7,11,20,.4);border:1px solid var(--linha)}
.admin-editor__time{text-align:center;font-size:.82rem;font-weight:700}
.admin-editor__time .band{font-size:1.6rem;display:block}
.admin-editor__placar input{width:56px;height:52px;text-align:center;font-family:var(--fonte-titulo);font-size:1.5rem;
  border-radius:var(--r-input);background:rgba(7,11,20,.7);border:1.5px solid var(--linha);color:var(--ouro)}
.admin-editor__placar input:focus{outline:none;border-color:var(--ouro)}
.admin-bloco{padding:14px;border-radius:var(--r-card);background:rgba(7,11,20,.3);border:1px solid var(--linha)}
.admin-bloco h4{font-family:var(--fonte-label);font-size:1.1rem;letter-spacing:.06em;margin-bottom:10px;color:var(--texto-suave)}
.admin-evento-form{display:grid;grid-template-columns:1.4fr 1fr 56px auto;gap:7px;align-items:center;margin-bottom:8px}
.admin-evento-form input,.admin-evento-form select{padding:9px 10px;border-radius:10px;background:rgba(7,11,20,.6);
  border:1px solid var(--linha);color:var(--texto);font-size:.82rem}
.admin-evento-form .add{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;
  background:var(--grad-gol);color:var(--breu)}
.admin-evento-lista{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.admin-evento-item{display:flex;align-items:center;gap:8px;font-size:.78rem;padding:6px 10px;border-radius:8px;
  background:rgba(15,29,58,.5)}
.admin-evento-item .rem{margin-left:auto;color:var(--texto-fraco);width:24px;height:24px;display:grid;place-items:center;border-radius:6px}
.admin-evento-item .rem:hover{color:var(--erro)}
.admin-acoes{display:flex;gap:10px;margin-top:4px}
.admin-acoes .botao{flex:1}

/* revisão de pagamentos (fila do "paguei certo") */
#revisao-recarregar{margin-bottom:6px}
.revisao-card{margin-top:12px;padding:14px;border-radius:var(--r-card);border:1px solid var(--linha);background:rgba(7,11,20,.4)}
.revisao-card__topo{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.revisao-card__quem{display:flex;flex-direction:column;gap:1px;min-width:0}
.revisao-card__nome{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-block}
.revisao-card__ap{font-size:.78rem;color:var(--ouro)}
.revisao-card__esperado{font-size:.76rem;color:var(--texto-suave);white-space:nowrap}
.revisao-card__esperado strong{color:var(--texto);font-family:var(--fonte-label);font-size:1.05rem;letter-spacing:.03em}
.revisao-card__esperado em{font-style:normal;color:var(--ouro)}
.revisao-card__comps{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.revisao-comp{display:flex;align-items:center;gap:10px}
.revisao-comp__link{flex-shrink:0;line-height:0}
.revisao-comp__img{width:62px;height:62px;object-fit:cover;border-radius:10px;border:1px solid var(--linha)}
.revisao-comp__semimg{font-size:.78rem;color:var(--texto-fraco);font-style:italic}
.revisao-comp__meta{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--texto-suave);min-width:0}
.revisao-comp__meta strong{color:var(--verde-neon)}
.revisao-card__semcomp{font-size:.82rem;color:var(--texto-fraco);font-style:italic;margin-bottom:12px}
.revisao-card__acoes{display:flex;gap:10px}
.revisao-card__acoes .botao{flex:1;padding:11px 14px;font-size:.86rem}

/* ----------------------------- TOAST -------------------------------------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:150;
  padding:13px 22px;border-radius:var(--r-pill);font-weight:700;font-size:.88rem;
  background:linear-gradient(160deg,rgba(22,48,94,.96),rgba(11,18,32,.98));border:1px solid var(--linha);
  box-shadow:0 18px 50px -16px rgba(0,0,0,.8);opacity:0;transition:opacity .3s,transform .3s;max-width:90vw;text-align:center}
.toast.mostra{opacity:1;transform:translateX(-50%) translateY(0)}
.toast--ok{border-color:rgba(31,224,143,.5);color:var(--verde-neon)}
.toast--erro{border-color:rgba(255,77,77,.5);color:var(--erro)}
.toast--ouro{border-color:rgba(255,203,5,.5);color:var(--ouro)}

/* ----------------------------- RODAPÉ ------------------------------------- */
.rodape{border-top:1px solid var(--linha);padding:32px 0;margin-top:30px;background:rgba(7,11,20,.5)}
.rodape__inner{text-align:center}
.rodape__marca{display:inline-flex;align-items:center;gap:10px;font-family:var(--fonte-label);font-size:1.3rem;
  letter-spacing:.06em;color:var(--texto);margin-bottom:10px}
.rodape__marca svg{color:var(--ouro)}
.rodape__txt{max-width:560px;margin:0 auto 16px;font-size:.8rem;color:var(--texto-fraco);line-height:1.6}

/* ----------------------------- RESPONSIVO --------------------------------- */
@media (max-width:860px){
  .grade-cadastro,.grade-cofre{grid-template-columns:1fr}
  .podio-palco{max-width:480px}
}
@media (max-width:900px){
  .hamburguer{display:flex}
  /* o backdrop-filter do header cria containing block e prende o .nav (fixed) dentro dele;
     removido no mobile para o drawer do menu abrir na tela inteira sem cortar os itens */
  .cabecalho{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav{position:fixed;inset:0 0 0 auto;width:min(82vw,320px);flex-direction:column;align-items:stretch;
    justify-content:flex-start;gap:4px;padding:72px 18px 12px;
    background:linear-gradient(165deg,rgba(11,18,32,.98),rgba(7,11,20,.99));backdrop-filter:blur(16px);
    border-left:1px solid var(--linha);transform:translateX(100%);transition:transform .35s cubic-bezier(.3,.8,.3,1);
    box-shadow:-20px 0 60px -20px rgba(0,0,0,.8);overflow-y:auto}
  .nav.aberto{transform:translateX(0)}
  .nav__item{padding:12px 16px;font-size:1rem;border:1px solid var(--linha);border-radius:var(--r-input)}
  .nav__item::after{display:none}
  .nav__item.ativo{background:rgba(255,203,5,.1);border-color:rgba(255,203,5,.4)}
  .nav__item--destaque{text-align:center}
  .nav__admin{width:100%;border-radius:var(--r-input);height:46px;margin:6px 0 0;gap:8px}
  .nav__admin::after{content:"Modo organizador";font-size:.9rem;font-weight:600}
  body.menu-aberto{overflow:hidden}
  body.menu-aberto::before{content:"";position:fixed;inset:0;z-index:85;background:rgba(7,11,20,.6);backdrop-filter:blur(2px)}
  .secao-cabeca--linha{flex-direction:column;align-items:flex-start;gap:4px}
  .admin-evento-form{grid-template-columns:1fr;gap:7px}
  .admin-evento-form .add{grid-column:1/-1;width:100%}
}
@media (max-width:420px){
  .container{padding:0 14px}
  .cofre-board{padding:22px 18px}
  .regulamento{grid-template-columns:1fr 1fr}
  .podio-palco{grid-template-columns:1fr;max-width:300px}
  .podio-degrau{margin-bottom:0!important;padding-top:18px}
  .podio-degrau--campeao{order:-1}
  /* tabela de grupos: cabe no card sem cortar a coluna SG; nome longo trunca */
  .tabela-grupo thead th:not(:first-child),.tabela-grupo tbody td:not(.col-time){width:27px}
  .tabela-grupo tbody td{padding:8px 1px}
  .tabela-grupo .col-time,.tabela-grupo thead th:first-child{padding-left:10px}
  .time-celula{gap:5px}
  .time-celula__pos{width:14px}
  .time-celula__bandeira .flag-img{width:18px;height:12px}
}

/* toque >= 44px */
@media (pointer:coarse){
  .nav__item,.chip,.botao,.botao-mini{min-height:44px}
}
:focus-visible{outline:2px solid var(--ouro);outline-offset:2px;border-radius:4px}

/* prefers-reduced-motion: corta animações não essenciais */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .estrela,.marca__bola .svg-bola,.ranking__bola-lider,.podio-taca,.ponto-vivo{animation:none!important}
  [data-reveal]{opacity:1;transform:none}
}

/* ============================================================================
   WIZARD DE INSCRIÇÃO — modal multietapas (Estádio à Noite)
   Reaproveita tokens do :root + keyframes fade/zoom-in + .botao* existentes.
   Mobile-first; quase full-screen no celular.
   ========================================================================== */

/* ---- BONECO do participante na HERO — ao lado do escudo do grupo ----
   Vive no fluxo do .hero__escudo (flex, align-items:center), aparece ao logar
   (#hero-avatar mostrado por JS). Fica LONGE do letreiro: nunca briga com
   "SAMBOLEIROS". Tamanho ~metade do escudo. Sem flutuar (só a aura pulsa). */
/* boneco OVAL (card de jogador) — mostra o boneco INTEIRO: corpo + cara.
   Moldura na MESMA proporção da foto (832x1248 = 2:3), então object-fit:cover não corta nada.
   ALTURA travada = ~93% da caixa do escudo (= altura visual do brasão, medida via canvas):
   mesma altura do escudo, sempre DENTRO da caixa dele (nunca tampa o texto), e como é 2:3
   o oval fica mais estreito que o brasão -> NUNCA maior que o escudo. Largura = altura / 1.5. */
.hero__boneco{position:relative;display:grid;place-items:center;flex-shrink:0;
  width:clamp(93px,20vw,205px);height:clamp(140px,30vw,308px)}
.hero__boneco[hidden]{display:none}
/* foto preenche a moldura EXATA (quadrada) e é recortada em círculo — a foto é retrato,
   então inset:0 + box-sizing evita ela esticar/vazar pra baixo (cobria o badge antes). */
.hero__boneco-img{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;
  border-radius:50%;object-fit:cover;object-position:center;z-index:2;
  border:3px solid var(--ouro);background:radial-gradient(circle at 30% 30%,#16305E,#0B1220);
  box-shadow:0 14px 34px -10px rgba(0,0,0,.75),0 0 32px rgba(255,203,5,.4)}
.hero__boneco-aura{position:absolute;inset:-6px;border-radius:50%;z-index:1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,203,5,.5),transparent 72%);
  animation:boneco-aura 2.8s ease-in-out infinite}
@keyframes boneco-aura{0%,100%{opacity:.4;transform:scale(.94)}50%{opacity:.85;transform:scale(1.1)}}

/* ---- overlay ---- */
.wizard{position:fixed;inset:0;z-index:160;display:none;place-items:center;padding:18px}
.wizard[hidden]{display:none}
.wizard.aberto{display:grid;place-items:center}
.wizard__fundo{position:absolute;inset:0;background:rgba(7,11,20,.88);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .28s ease}

/* ---- caixa ---- */
.wizard__caixa{position:relative;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;
  border-radius:24px;padding:30px 28px 24px;border:1px solid var(--linha);
  background:linear-gradient(165deg,rgba(15,29,58,.99),rgba(11,18,32,.995));
  box-shadow:0 36px 100px -24px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.04);
  animation:zoom-in .34s cubic-bezier(.2,.8,.25,1)}
.wizard__caixa::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:24px 24px 0 0;
  background:var(--grad-ouro);opacity:.9}
.wizard__x{position:absolute;top:14px;right:16px;width:40px;height:40px;border-radius:50%;
  font-size:1.7rem;line-height:1;color:var(--texto-suave);border:1px solid var(--linha);
  background:rgba(7,11,20,.5);transition:.2s;z-index:3}
.wizard__x:hover{color:var(--erro);border-color:var(--erro);transform:rotate(90deg)}

/* ---- topo: marca + stepper + barra ---- */
.wizard__topo{margin-bottom:22px;padding-right:34px}
.wizard__marca{display:block;font-family:var(--fonte-label);font-size:.92rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.wizard__passos{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;margin-bottom:12px}
.wizard__passo{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;
  font-size:.62rem;font-weight:600;letter-spacing:.04em;color:var(--texto-fraco);text-align:center}
.wizard__passo span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  font-family:var(--fonte-label);font-size:1rem;color:var(--texto-fraco);
  border:1.5px solid var(--linha);background:rgba(7,11,20,.5);transition:.25s}
.wizard__passo em{font-style:normal;text-transform:uppercase;transition:color .25s}
.wizard__passo.ativo span{color:var(--breu);background:var(--grad-ouro);border-color:transparent;
  box-shadow:var(--glow-ouro);transform:scale(1.06)}
.wizard__passo.ativo em{color:var(--ouro)}
.wizard__passo.concluido span{color:var(--verde-neon);border-color:rgba(31,224,143,.6);
  background:rgba(31,224,143,.1)}
.wizard__passo.concluido em{color:var(--texto-suave)}
.wizard__barra{display:block;height:4px;border-radius:99px;background:rgba(30,58,107,.55);overflow:hidden}
.wizard__barra-fill{display:block;height:100%;width:0%;border-radius:99px;
  background:var(--grad-ouro);box-shadow:0 0 12px rgba(255,203,5,.5);transition:width .45s cubic-bezier(.3,.8,.3,1)}

/* ---- corpo + etapas ---- */
.wizard__corpo{min-height:120px}
.wizard__etapa{display:none}
.wizard__etapa.ativa{display:block;animation:wizard-entra .4s ease both}
@keyframes wizard-entra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.wizard__selo{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ouro);padding:5px 12px;border-radius:var(--r-pill);
  border:1px solid rgba(255,203,5,.4);background:rgba(255,203,5,.08);margin-bottom:12px}
.wizard__titulo{font-family:var(--fonte-titulo);font-weight:400;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.02}
.wizard__texto{color:var(--texto-suave);margin-top:10px;font-size:.96rem}
.wizard__nota{color:var(--texto-fraco);font-size:.78rem;margin-top:8px;line-height:1.5}

/* ---- etapa 1: countdown ---- */
.contagem{display:flex;align-items:stretch;justify-content:center;gap:8px;margin:24px 0 14px}
.contagem__bloco{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px;
  padding:14px 10px;border-radius:var(--r-card);border:1px solid var(--linha);
  background:linear-gradient(165deg,rgba(22,48,94,.6),rgba(7,11,20,.7));box-shadow:var(--glow-card)}
.contagem__bloco strong{font-family:var(--fonte-titulo);font-weight:400;font-size:clamp(1.9rem,7vw,2.6rem);
  line-height:1;color:var(--ouro);text-shadow:0 2px 16px rgba(255,203,5,.3)}
.contagem__bloco span{font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-fraco)}
.contagem__sep{align-self:center;font-family:var(--fonte-titulo);font-size:1.6rem;color:var(--texto-fraco);opacity:.6}
.wizard__prazo{text-align:center;color:var(--texto-suave);font-size:.85rem;margin-top:4px}
.wizard__alerta{margin-top:18px;padding:14px 16px;border-radius:var(--r-card);text-align:center;font-weight:600;
  color:var(--erro);border:1px solid rgba(255,77,77,.45);background:rgba(255,77,77,.1)}

/* ---- etapa 2: regras + aceite ---- */
.regras-bloco{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 16px}
.regra-card{padding:16px 16px;border-radius:var(--r-card);border:1px solid var(--linha);
  background:linear-gradient(165deg,rgba(15,29,58,.6),rgba(7,11,20,.55))}
.regra-card--larga{grid-column:1 / -1}
.regra-card__titulo{font-family:var(--fonte-label);font-size:1.08rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ouro);margin-bottom:10px}
.regra-lista{display:flex;flex-direction:column;gap:8px}
.regra-lista li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--texto);line-height:1.4}
.regra-lista--simples li{color:var(--texto-suave)}
.regra-pts{flex-shrink:0;display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:50%;
  font-family:var(--fonte-label);font-size:1rem;color:var(--breu);background:var(--grad-ouro);box-shadow:var(--glow-ouro)}
.regra-ordem{counter-reset:reg;display:flex;flex-direction:column;gap:7px}
.regra-ordem li{counter-increment:reg;display:flex;align-items:flex-start;gap:10px;font-size:.86rem;color:var(--texto-suave)}
.regra-ordem li::before{content:counter(reg);flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;
  border-radius:50%;font-family:var(--fonte-label);font-size:.85rem;color:var(--ouro);
  border:1px solid rgba(255,203,5,.4);background:rgba(255,203,5,.08)}
.wizard__aceite{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;cursor:pointer;
  border-radius:var(--r-card);border:1px solid var(--linha);background:rgba(7,11,20,.4);
  transition:border-color .2s,background .2s;user-select:none}
.wizard__aceite:hover{border-color:rgba(255,203,5,.45)}
.wizard__aceite input{flex-shrink:0;width:22px;height:22px;accent-color:var(--ouro);cursor:pointer}
.wizard__aceite span{font-size:.92rem;color:var(--texto)}

/* ---- campos (etapas 3 e 4) ---- */
.wizard__campo{margin-bottom:16px}
.wizard__campo > label{display:block;font-family:var(--fonte-label);font-size:1rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--texto-suave);margin-bottom:7px}
.wizard__campo input[type="text"],.wizard__campo input[type="email"]{width:100%;padding:13px 16px;
  border-radius:var(--r-input);background:rgba(7,11,20,.6);border:1.5px solid var(--linha);color:var(--texto);
  font-size:1rem;transition:border-color .2s,box-shadow .2s}
.wizard__campo input[type="text"]:focus,.wizard__campo input[type="email"]:focus{outline:none;
  border-color:var(--ouro);box-shadow:0 0 0 3px rgba(255,203,5,.18)}
.wizard__campo input::placeholder{color:var(--texto-fraco)}
.wizard__erro{display:block;margin-top:6px;font-size:.8rem;font-weight:600;color:var(--erro)}
.wizard__erro[hidden]{display:none}

/* ---- dropzone de upload ---- */
.wizard__upload{display:block;cursor:pointer;border:1.5px dashed var(--linha);border-radius:var(--r-card);
  background:rgba(7,11,20,.35);transition:border-color .2s,background .2s;overflow:hidden}
.wizard__upload:hover{border-color:var(--ouro);background:rgba(255,203,5,.06)}
.wizard__upload-vazio{display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:26px 18px;text-align:center;color:var(--texto-suave)}
.wizard__upload-vazio[hidden]{display:none}
.wizard__upload-vazio svg{color:var(--ouro);opacity:.85}
.wizard__upload-vazio span{font-weight:600;font-size:.92rem;color:var(--texto)}
.wizard__upload-vazio small{font-size:.74rem;color:var(--texto-fraco)}
.wizard__upload-preview{width:100%;max-height:220px;object-fit:contain;display:block;
  background:rgba(7,11,20,.6);border-radius:var(--r-card)}
.wizard__upload-preview[hidden]{display:none}

/* ---- bloco PIX ---- */
.pix-bloco{padding:18px 18px;border-radius:var(--r-card);margin-bottom:16px;
  border:1px solid rgba(255,203,5,.35);background:rgba(255,203,5,.07)}
.pix-bloco__rotulo{display:block;font-family:var(--fonte-label);font-size:.85rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--texto-fraco);margin-bottom:3px}
.pix-bloco__valor strong{font-family:var(--fonte-titulo);font-weight:400;font-size:clamp(1.9rem,7vw,2.6rem);
  line-height:1;color:var(--ouro);text-shadow:0 2px 16px rgba(255,203,5,.3)}
.pix-bloco__chave{margin-top:14px}
.pix-bloco__copia{display:flex;align-items:stretch;gap:8px;margin-top:4px}
.pix-bloco__copia code{flex:1;display:flex;align-items:center;padding:11px 14px;border-radius:var(--r-input);
  font-family:'Courier New',ui-monospace,monospace;font-size:1.05rem;letter-spacing:.04em;color:var(--texto);
  background:rgba(7,11,20,.7);border:1px solid var(--linha);overflow:auto;white-space:nowrap}
.botao-copiar{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:var(--r-input);
  font-weight:700;font-size:.85rem;color:var(--breu);background:var(--grad-ouro);box-shadow:var(--glow-ouro);
  position:relative;overflow:hidden;transition:transform .18s,filter .18s}
.botao-copiar:hover{transform:translateY(-1px);filter:brightness(1.05)}
.pix-bloco__dica{margin-top:12px;font-size:.82rem;color:var(--texto-suave)}

/* ---- resultado: spinner + avatar + feedback ---- */
.wizard__resultado{margin-top:18px;padding:18px;border-radius:var(--r-card);
  border:1px solid var(--linha);background:rgba(7,11,20,.4)}
.wizard__resultado[hidden]{display:none}
.wizard__spinner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
  color:var(--texto-suave);font-size:.9rem}
.wizard__spinner[hidden]{display:none}
.spinner{display:inline-block;width:42px;height:42px;border-radius:50%;
  border:3px solid rgba(255,203,5,.2);border-top-color:var(--ouro);animation:girar-lento .8s linear infinite}
.wizard__avatar-pronto{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
  animation:wizard-entra .4s ease both}
.wizard__avatar-pronto[hidden]{display:none}
.wizard__avatar-pronto p{font-size:.92rem;color:var(--texto)}
.avatar-circular{width:120px;height:120px;border-radius:50%;object-fit:cover;
  border:3px solid var(--ouro);box-shadow:0 0 0 6px rgba(255,203,5,.12),0 14px 40px -10px rgba(255,203,5,.55)}
.wizard__feedback{padding:14px 16px;border-radius:var(--r-card);font-weight:600;font-size:.9rem;line-height:1.45;
  border:1px solid var(--linha);background:rgba(15,29,58,.5);color:var(--texto)}
.wizard__feedback[hidden]{display:none}
.wizard__feedback.is-ok{color:var(--verde-neon);border-color:rgba(31,224,143,.5);background:rgba(31,224,143,.1)}
.wizard__feedback.is-alerta{color:var(--ouro-quente);border-color:rgba(245,166,35,.5);background:rgba(245,166,35,.1)}

/* ---- etapa 5: boas-vindas ---- */
.boasvindas{text-align:center;padding:8px 0}
#boasvindas-avatar-wrap{display:flex;justify-content:center;margin-bottom:6px}
.boasvindas__avatar{width:128px;height:128px}
.boasvindas__resumo{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 10px}
.boasvindas__item{flex:1;min-width:130px;padding:14px 16px;border-radius:var(--r-card);
  border:1px solid var(--linha);background:rgba(7,11,20,.4)}
.boasvindas__item span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--texto-fraco);margin-bottom:4px}
.boasvindas__item strong{font-size:1.2rem;color:var(--texto)}
.status-pendente{color:var(--ouro-quente)!important}

/* ---- rodapé de navegação ---- */
.wizard__rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:24px;padding-top:18px;border-top:1px solid var(--linha)}
.wizard__voltar[hidden]{display:none}
.wizard__rodape .wizard__avancar{margin-left:auto}

/* ---- responsivo: quase full-screen no celular ---- */
@media (max-width:560px){
  .wizard{padding:0}
  .wizard__caixa{max-width:none;max-height:100vh;min-height:100vh;border-radius:0;border:none;padding:24px 18px 20px}
  .wizard__caixa::before{border-radius:0}
  .regras-bloco{grid-template-columns:1fr}
  .regra-card--larga{grid-column:auto}
  .wizard__passo em{display:none} /* mobile: só as bolinhas */
  .wizard__passo span{width:28px;height:28px}
  .contagem__bloco{min-width:0;flex:1;padding:12px 6px}
  .contagem__sep{display:none}
  .boasvindas__resumo{flex-direction:column}
}

/* reduz movimento no wizard pra quem pediu */
@media (prefers-reduced-motion:reduce){
  .wizard__caixa,.wizard__etapa.ativa,.wizard__avatar-pronto{animation:none!important}
  .spinner{animation-duration:1.2s!important}
  .hero__boneco-aura{animation:none!important}
  .wizard__barra-fill{transition:none!important}
  .popup-avatar__caixa{animation:none!important}
}

/* ============================================================
   ESCUDO DE FALLBACK (avatar provisório quando o Pixar não saiu)
   ============================================================ */
.avatar-escudo{
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display,'Anton',sans-serif);
  font-size:2.2rem;letter-spacing:.02em;color:var(--breu,#070B14);
  text-shadow:0 1px 0 rgba(255,255,255,.25);
  border:2px solid rgba(255,203,5,.5);
}

/* ============================================================
   POP-UP "SEU AVATAR ESTÁ LIBERADO" (revisita)
   ============================================================ */
.popup-avatar{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .25s ease}
.popup-avatar.aberto{opacity:1;pointer-events:auto}
.popup-avatar__fundo{position:absolute;inset:0;background:rgba(7,11,20,.82);backdrop-filter:blur(8px)}
.popup-avatar__caixa{position:relative;width:100%;max-width:420px;text-align:center;
  background:linear-gradient(165deg,rgba(15,29,58,.98),rgba(11,18,32,.99));
  border:1px solid var(--linha,#1E3A6B);border-radius:22px;padding:34px 26px 28px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.9);animation:zoom-in .3s ease}
.popup-avatar__icone{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;
  display:grid;place-items:center;color:var(--ouro,#FFCB05);
  background:radial-gradient(circle at 50% 40%,rgba(255,203,5,.18),rgba(255,203,5,.04));
  border:1px solid rgba(255,203,5,.35);box-shadow:var(--glow-ouro,0 8px 30px -6px rgba(255,203,5,.45))}
.popup-avatar__titulo{font-family:var(--f-display,'Anton',sans-serif);text-transform:uppercase;
  font-size:1.7rem;line-height:1.05;color:var(--texto,#EAF0FB);margin:0 0 8px}
.popup-avatar__texto{color:var(--texto-suave,#9DB0CE);font-size:1rem;line-height:1.5;margin:0 0 22px}
.popup-avatar__acoes{display:flex;flex-direction:column;gap:10px}
.popup-avatar__acoes .botao{width:100%}
.popup-avatar__status{margin:14px 0 0;font-size:.86rem;color:var(--texto-suave,#9DB0CE)}
@media (max-width:420px){
  .popup-avatar__titulo{font-size:1.4rem}
}

/* ============================================================
   MURAL "MANDOU BEM OU VACILOU" (resenha da rodada)
   ============================================================ */
.mural{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:8px}

.mural-card{position:relative;display:flex;flex-direction:column;gap:12px;
  padding:18px 18px 20px;border-radius:var(--r-card,18px);
  background:linear-gradient(180deg,var(--marinho-vivo,#16305E),var(--marinho,#0F1D3A));
  border:1px solid var(--linha,#1E3A6B);box-shadow:var(--glow-card,0 18px 50px -20px rgba(0,0,0,.7));
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}
.mural-card:hover{transform:translateY(-4px);border-color:rgba(255,203,5,.4)}
/* faixa de acento lateral por categoria */
.mural-card::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--linha,#1E3A6B)}

.mural-card__topo{display:flex;align-items:center;gap:10px}
.mural-card__avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display,'Anton',sans-serif);font-size:1.05rem;letter-spacing:.02em;
  border:2px solid rgba(255,255,255,.15)}
.mural-card__avatar--neutro{background:var(--marinho,#0F1D3A);color:var(--ouro,#FFCB05);border-color:rgba(255,203,5,.3)}

.mural-card__selo{font-family:var(--f-label,'Bebas Neue',sans-serif);letter-spacing:.08em;text-transform:uppercase;
  font-size:.82rem;padding:4px 11px;border-radius:var(--r-badge,8px);border:1px solid transparent;white-space:nowrap}
.mural-card__selo--fera,.mural-card__selo--bom{color:var(--verde-neon,#1FE08F);background:rgba(31,224,143,.12);border-color:rgba(31,224,143,.3)}
.mural-card__selo--mediano,.mural-card__selo--estreia{color:var(--azul-celeste,#2D9CFF);background:rgba(45,156,255,.1);border-color:rgba(45,156,255,.28)}
.mural-card__selo--ruim,.mural-card__selo--zica{color:var(--erro,#FF4D4D);background:rgba(255,77,77,.1);border-color:rgba(255,77,77,.3)}
.mural-card__selo--lider{color:var(--breu,#070B14);background:var(--grad-ouro,linear-gradient(135deg,#FFCB05,#F5A623));border-color:transparent;font-weight:700}

.mural-card__frase{margin:0;color:var(--texto,#EAF0FB);font-size:1.04rem;line-height:1.45;font-weight:500}

/* selos de acento na faixa lateral */
.mural-card--fera::before,.mural-card--bom::before{background:var(--grad-gol,linear-gradient(135deg,#00B86B,#1FE08F))}
.mural-card--mediano::before,.mural-card--estreia::before{background:var(--azul-celeste,#2D9CFF)}
.mural-card--ruim::before,.mural-card--zica::before{background:var(--erro,#FF4D4D)}

/* card do líder: destaque dourado, ocupa a linha toda */
.mural-card--lider{grid-column:1/-1;border-color:var(--ouro,#FFCB05);
  background:linear-gradient(135deg,rgba(255,203,5,.1),rgba(15,29,58,.96));box-shadow:var(--glow-ouro,0 8px 30px -6px rgba(255,203,5,.45))}
.mural-card--lider::before{background:var(--grad-ouro,linear-gradient(135deg,#FFCB05,#F5A623))}
.mural-card--lider .mural-card__frase{font-size:1.12rem;font-weight:600}
.mural-card__coroa{position:absolute;top:-12px;right:16px;font-size:1.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}

/* estado vazio do mural */
.mural-vazio{grid-column:1/-1;text-align:center;padding:34px 20px;color:var(--texto-suave,#9DB0CE);
  border:1px dashed var(--linha,#1E3A6B);border-radius:var(--r-card,18px);background:rgba(15,29,58,.4)}
.mural-vazio svg{color:var(--ouro,#FFCB05);opacity:.7;margin-bottom:8px}
.mural-vazio p{margin:4px 0}
.mural-vazio strong{color:var(--texto,#EAF0FB)}

@media (prefers-reduced-motion:reduce){
  .mural-card{transition:none!important}
}

/* ============================================================
   ABA LOGIN (entrar no bolão) — fundo AZUL-MARINHO da logo
   ============================================================ */
.aba--login{ padding:6px 0 42px; }
/* caixa de conteúdo discreta — o destaque azul fica no item de menu "Entrar". */
.login-card,.login-logado{
  max-width:430px;margin:10px auto 0;
  background:linear-gradient(180deg, var(--marinho-vivo,#16305E) 0%, var(--marinho,#0F1D3A) 100%);
  border:1px solid var(--linha,#1E3A6B);
  border-radius:var(--r-card,18px);
  box-shadow:var(--glow-card,0 18px 50px -20px rgba(0,0,0,.7));
  padding:28px 26px;
}
.login-card__campo{margin-bottom:15px}
.login-card__campo label{display:block;font-family:var(--fonte-label,'Bebas Neue',sans-serif);
  letter-spacing:.05em;color:var(--texto-suave,#9DB0CE);margin-bottom:7px;font-size:1.06rem}
.login-card__campo input{
  width:100%;padding:13px 14px;border-radius:var(--r-input,12px);
  background:rgba(7,11,20,.6);border:1px solid var(--linha,#1E3A6B);color:var(--texto,#EAF0FB);
  transition:border-color .2s,box-shadow .2s}
.login-card__campo input::placeholder{color:var(--texto-fraco,#5C6E91)}
.login-card__campo input:focus{outline:none;border-color:var(--ouro,#FFCB05);
  box-shadow:0 0 0 3px rgba(255,203,5,.16)}
.login-card__erro{display:block;color:var(--erro,#FF4D4D);font-size:.85rem;margin-top:8px;min-height:1em}
.login-card__intro{color:var(--texto-suave,#9DB0CE);font-size:.95rem;line-height:1.5;margin-bottom:16px}
.login-card__intro strong{color:var(--texto,#EAF0FB)}
.login-card .botao,.login-logado .botao{width:100%;margin-top:8px}
.login-card__rodape{margin-top:18px;text-align:center;color:var(--texto-suave,#9DB0CE);font-size:.92rem}
.login-card__rodape a{color:var(--ouro,#FFCB05);font-weight:600;cursor:pointer}

.login-logado{text-align:center}
.login-logado__avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;display:flex;
  align-items:center;justify-content:center;font-family:var(--fonte-titulo,'Anton',sans-serif);
  font-size:2rem;color:var(--breu,#070B14);border:3px solid rgba(255,203,5,.45);overflow:hidden;background:var(--ouro,#FFCB05)}
.login-logado__avatar img{width:100%;height:100%;object-fit:cover}
.login-logado__nome{font-family:var(--fonte-titulo,'Anton',sans-serif);font-size:1.5rem;color:var(--texto,#EAF0FB);line-height:1.1}
.login-logado__sub{color:var(--texto-suave,#9DB0CE);margin:6px 0 16px;font-size:.95rem}
.login-logado__badge{display:inline-block;font-family:var(--fonte-label,'Bebas Neue',sans-serif);
  letter-spacing:.08em;font-size:.8rem;padding:3px 10px;border-radius:var(--r-badge,8px);
  background:var(--grad-ouro,linear-gradient(135deg,#FFCB05,#F5A623));color:var(--breu,#070B14);margin-bottom:14px}

/* aviso "precisa logar" usado no Perfil e em Jogos */
.precisa-login{max-width:460px;margin:10px auto 0;text-align:center;padding:30px 24px;
  border:1px dashed var(--linha,#1E3A6B);border-radius:var(--r-card,18px);background:rgba(15,29,58,.45)}
.precisa-login svg{color:var(--ouro,#FFCB05);opacity:.8;margin-bottom:8px}
.precisa-login p{margin:4px 0;color:var(--texto-suave,#9DB0CE)}
.precisa-login strong{color:var(--texto,#EAF0FB)}
.precisa-login .botao{margin-top:14px}
