
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* === TEMA DASHBOARD ESCURO === */
:root {
  --dash-bg:#0B0E14;
  --dash-panel:#141820;
  --dash-muted:rgba(255,255,255,.55);
  --dash-gold:#FFC72C;
  --dash-radius:24px;
  --hero-logo-space:400px;
}
html, body {
  min-height:100%;
}
body {
  font-family:'Inter',sans-serif;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  color:#fff;
  overflow-x:hidden;
  padding-bottom:0;
  background-color:var(--dash-bg);
  background-image:url('/img/fundocopa.png');
  background-repeat:no-repeat;
  background-position:top center;
  background-size:cover;
  background-attachment:fixed;
}
body > .dash-page,
body > #dash-pages {
  flex:1 0 auto;
  width:100%;
}
.wc-bg, .wc-bg-trophy { display:none !important; }

@keyframes drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes shine{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes pop{0%{transform:scale(.9);opacity:0}70%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* === HEADER TOPO === */
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(5,8,24,.92);
  backdrop-filter:blur(20px);
  border-bottom:3px solid #FFC72C;
  box-shadow:0 4px 40px rgba(255,199,44,.25);
}

/* Stripe 6 cores */
.wc-stripe {
  height:5px;
  background:linear-gradient(90deg,
    #E63946 0,#E63946 16.66%,
    #F77F00 16.66%,#F77F00 33.32%,
    #FFC72C 33.32%,#FFC72C 49.98%,
    #00B877 49.98%,#00B877 66.64%,
    #1E5BFF 66.64%,#1E5BFF 83.30%,
    #7B2FBE 83.30%,#7B2FBE 100%);
}

/* === TABS === */
.tab-btn {
  font-family:'Anton','Bebas Neue',sans-serif;
  letter-spacing:.06em;
  font-size:15px;
  padding:10px 20px;
  border-radius:50px;
  border:2.5px solid transparent;
  color:rgba(255,255,255,.5);
  cursor:pointer;
  transition:all .2s ease;
  white-space:nowrap;
  background:transparent;
}
.tab-btn:hover{color:#fff;border-color:rgba(255,199,44,.4);background:rgba(255,199,44,.08)}
.tab-btn.active{
  color:#050818;
  background:linear-gradient(135deg,#FFC72C,#F77F00);
  border-color:transparent;
  box-shadow:0 4px 20px rgba(255,199,44,.5);
}

.tab-content{display:none;animation:slideUp .35s ease}
.tab-content.active{display:block}

/* === SECTION TITLES === */
.section-title {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(2rem,5vw,3.5rem);
  line-height:1;
  letter-spacing:.03em;
  color:#0A0E2E;
}
.title-rainbow {
  background:linear-gradient(90deg,#E63946,#F77F00,#FFC72C,#00B877,#1E5BFF,#7B2FBE);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(2px 2px 0 rgba(255,255,255,.8));
}
.section-subtitle{
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.7;
}

/* === BORDA ARCO-ÍRIS (estilo placar TV) === */
.rainbow-border {
  position:relative;
  border-radius:24px;
  padding:5px;
  background:linear-gradient(135deg,#E63946,#F77F00,#FFC72C,#00B877,#1E5BFF,#7B2FBE,#E63946);
  background-size:300% 300%;
  box-shadow:0 16px 48px rgba(0,0,0,.22);
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease;
}
.rainbow-border:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 24px 56px rgba(0,0,0,.32);
}
.rainbow-border > .rb-inner {
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  height:100%;
}
.rainbow-border.dark-pad > .rb-inner { background:#0d1028; }

/* === GRIDS HOME === */
.cards-grid-destaques {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
  gap:12px;
}
/* 2 cards de jogador por linha */
.cards-grid-jogadores {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
  max-width:100%;
}

/* equipes: 1 card horizontal por linha */
.cards-list-equipes {
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
}

/* === DESTAQUE TV (compacto) === */
.destaque-tv {
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.destaque-tv .dt-inner {
  display:flex;
  align-items:stretch;
  min-height:100px;
  position:relative;
}
.destaque-tv .dt-photo {
  width:72px;
  flex-shrink:0;
  position:relative;
  overflow:hidden;
  background:rgba(0,0,0,.2);
}
.destaque-tv .dt-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}
.destaque-tv .dt-body {
  flex:1;
  padding:10px 12px 10px 10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.destaque-tv .dt-label {
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:2px;
}
.destaque-tv .dt-stat {
  font-family:'Anton',sans-serif;
  font-size:32px;
  color:#fff;
  line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.destaque-tv .dt-unit {
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  color:rgba(255,255,255,.6);
  text-transform:uppercase;
}
.destaque-tv .dt-name {
  font-family:'Anton',sans-serif;
  font-size:13px;
  color:#fff;
  letter-spacing:.03em;
  line-height:1.1;
  margin-top:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.destaque-tv .dt-team {
  font-size:10px;
  color:rgba(255,255,255,.65);
  font-weight:600;
}

/* === FIGURINHA JOGADOR (estilo TV / Panini) === */
.fig-card {
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
  cursor:pointer;
}
.fig-card:hover {
  transform:translateY(-8px) rotate(-1deg);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.fig-inner {
  position:relative;
  height:280px;
  overflow:hidden;
  background:#51189B;
}
/* formas geométricas do fundo */
.fig-shape {
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.fig-shape-yellow {
  width:55%; height:38%;
  top:-8%; left:-12%;
  background:#FFD700;
  border-radius:0 0 60% 0;
}
.fig-shape-red {
  width:42%; height:32%;
  top:-5%; right:-8%;
  background:#E21A1A;
  border-radius:50%;
}
.fig-shape-green {
  width:100%; height:38%;
  bottom:0; left:0;
  background:#B6D300;
  border-radius:40% 40% 0 0;
}
.fig-shape-orange {
  width:28%; height:22%;
  bottom:18%; right:-4%;
  background:#F77F00;
  border-radius:50%;
}
.fig-shape-purple {
  inset:0;
  background:
    radial-gradient(circle at 30% 55%, rgba(81,24,155,.95) 0%, transparent 55%),
    radial-gradient(circle at 70% 40%, rgba(81,24,155,.8) 0%, transparent 45%);
  z-index:0;
}
/* badge artilheiro */
.fig-badge {
  position:absolute;
  top:10px; left:10px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#0A0E2E;
  color:#FFD700;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:5px 10px 5px 8px;
  border-radius:50px;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.fig-badge i { font-size:9px; }
/* stats esquerda */
.fig-stats {
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-52%);
  z-index:4;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.fig-stat {
  border-bottom:1.5px solid rgba(255,255,255,.35);
  padding-bottom:5px;
}
.fig-stat:last-child { border-bottom:none; padding-bottom:0; }
.fig-stat .fs-label {
  display:block;
  font-size:7px;
  font-weight:800;
  letter-spacing:.16em;
  color:#fff;
  text-transform:uppercase;
  margin-bottom:1px;
}
.fig-stat .fs-val {
  font-family:'Anton',sans-serif;
  font-size:26px;
  line-height:1;
  color:#B6D300;
  text-shadow:0 2px 0 rgba(0,0,0,.2);
}
/* foto jogador direita */
.fig-player {
  position:absolute;
  right:-6%;
  bottom:72px;
  width:62%;
  height:58%;
  z-index:3;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  pointer-events:none;
}
.fig-player img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:bottom right;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.4));
}
/* rodapé nome */
.fig-footer {
  position:absolute;
  bottom:0; left:0; right:0;
  z-index:6;
  padding:8px 10px 10px;
  background:linear-gradient(180deg, transparent 0%, #B6D300 28%);
}
.fig-flag {
  width:28px; height:28px;
  border-radius:50%;
  border:2.5px solid #fff;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  margin-bottom:4px;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}
.fig-name .fn-small {
  display:block;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  color:#0A0E2E;
  text-transform:uppercase;
  opacity:.85;
  line-height:1.2;
}
.fig-name .fn-big {
  display:block;
  font-family:'Anton',sans-serif;
  font-size:22px;
  line-height:.95;
  color:#0A0E2E;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.fig-meta {
  margin-top:4px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  color:#0A0E2E;
  text-transform:uppercase;
}
.fig-meta strong {
  font-family:'Anton',sans-serif;
  font-size:11px;
}

/* === CARD EQUIPE HORIZONTAL (modelo MELHOR ATAQUE) === */
.team-card-h {
  width:100%;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 6px 22px rgba(0,0,0,.12);
  transition:transform .25s ease, box-shadow .25s ease;
}
.team-card-h:hover {
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.team-card-h .tc-inner {
  position:relative;
  display:flex;
  align-items:stretch;
  min-height:108px;
  background:#FFD700;
  overflow:hidden;
}
.tc-shape { position:absolute; pointer-events:none; z-index:0; }
.tc-shape-red { width:22%; height:70%; top:-20%; left:0; background:#E21A1A; border-radius:0 0 50% 0; }
.tc-shape-green { width:28%; height:90%; top:-30%; right:8%; background:#B6D300; border-radius:50%; opacity:.9;
  background-image:radial-gradient(circle, rgba(0,0,0,.12) 1px, transparent 1px); background-size:6px 6px; }
.tc-shape-orange { width:18%; height:55%; bottom:-15%; left:12%; background:#F77F00; border-radius:50%; }
.tc-shape-purple { width:20%; height:50%; bottom:-10%; right:0; background:#7B2FBE; border-radius:50% 0 0 0;
  background-image:radial-gradient(circle, rgba(255,255,255,.15) 1px, transparent 1px); background-size:5px 5px; }
.tc-left {
  flex:1;
  position:relative;
  z-index:2;
  padding:14px 16px 14px 18px;
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.tc-badge {
  position:absolute;
  top:10px; left:12px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#7B2FBE;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:50px;
  box-shadow:0 3px 10px rgba(0,0,0,.2);
}
.tc-badge i { font-size:10px; }
.tc-flag-wrap {
  flex-shrink:0;
  margin-top:18px;
}
.tc-flag-big {
  width:52px; height:52px;
  border-radius:50%;
  border:3px solid #0A0E2E;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  box-shadow:0 3px 10px rgba(0,0,0,.15);
}
.tc-team-name {
  font-family:'Anton',sans-serif;
  font-size:clamp(1.6rem,5vw,2.4rem);
  color:#0A0E2E;
  letter-spacing:.03em;
  line-height:1;
  margin-top:18px;
}
.tc-right {
  position:relative;
  z-index:2;
  display:flex;
  align-items:stretch;
  flex-shrink:0;
  border-left:2px solid #0A0E2E;
  margin:12px 0;
  background:rgba(255,255,255,.15);
}
.tc-stat-col {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:8px 20px;
  min-width:88px;
}
.tc-stat-col + .tc-stat-col { border-left:2px solid #0A0E2E; }
.tc-stat-col .ts-label {
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  color:#0A0E2E;
  text-transform:uppercase;
  margin-bottom:4px;
}
.tc-stat-col .ts-val {
  font-family:'Anton',sans-serif;
  font-size:clamp(2rem,6vw,2.8rem);
  line-height:1;
  color:#6B9E00;
}

/* === VIDEOGAME STAT CARD (estilo FIFA) === */
.fifa-card {
  position:relative;
  border-radius:20px;
  overflow:hidden;
  border:4px solid #0A0E2E;
  box-shadow:0 12px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.5);
  transition:all .3s cubic-bezier(.34,1.56,.64,1);
  cursor:pointer;
}
.fifa-card:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}

/* Badge ícone TV (substitui emoji) */
.tv-badge {
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
  border:3px solid rgba(255,255,255,.5);
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.tv-badge.lg{width:56px;height:56px;font-size:24px;border-radius:16px}

/* === PLAYER BADGE (lista de ranking) === */
.player-row {
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 20px;
  border-radius:16px;
  border:2.5px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);
  transition:all .25s ease;
  cursor:pointer;
  margin-bottom:10px;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}
.player-row:hover{
  border-color:#FFC72C;
  background:rgba(255,255,255,.95);
  transform:translateX(6px);
  box-shadow:0 8px 30px rgba(0,0,0,.2);
}
.player-row.rank-1 {
  background:linear-gradient(135deg,rgba(255,199,44,.25),rgba(247,127,0,.15));
  border-color:#FFC72C;
  border-width:3px;
  padding:18px 20px;
  box-shadow:0 8px 30px rgba(255,199,44,.35);
}

/* === AVATAR CÍRCULO === */
.avatar-circle {
  width:58px;height:58px;
  border-radius:50%;
  border:3px solid #FFC72C;
  background:linear-gradient(135deg,#1E5BFF22,#06A77D22);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:24px;
  position:relative;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.2);
}
.avatar-circle.big{width:80px;height:80px;border-width:4px}

/* === HERO TV (copafundo2 = banner com título na imagem) === */
.hero-tv,
#mobile-hero-header {
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:min(100vw, 4040px);
  margin-left:auto;
  margin-right:auto;
  box-shadow:0 8px 32px rgba(0,0,0,.2);
}
.rainbow-border > .rb-inner.hero-copa-bg {
  position:relative;
  min-height:unset;
  padding:0;
  background:transparent !important;
  display:block;
  line-height:0;
}
.hero-copa-bg::before { display:none; }
.hero-copa-bg .hero-bg-img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:2098 / 749;
  object-fit:contain;
  object-position:center top;
  vertical-align:top;
}
.hero-copa-bg .hero-content {
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:3;
  padding:12px 14px;
  pointer-events:none;
  min-height:0;
}
.hero-copa-bg .hero-content .menu-toggle { pointer-events:auto; margin-left:auto; }
.hero-copa-bg .hero-mobile-top {
  margin-bottom:0;
  justify-content:flex-end;
}
.hero-title-main {
  font-family:'Anton',sans-serif;
  font-size:clamp(2.8rem,8vw,6rem);
  line-height:.92;
  letter-spacing:.02em;
}
.hero-title-main .line-rainbow {
  display:block;
  background:linear-gradient(90deg,#E63946 0%,#F77F00 18%,#FFC72C 36%,#00B877 54%,#1E5BFF 72%,#7B2FBE 90%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-title-main .year-gold {
  display:block;
  color:#FFC72C;
  text-shadow:0 0 40px rgba(255,199,44,.5),4px 4px 0 #E63946;
}

/* === MATCH CARD === */
.match-card {
  border-radius:20px;
  overflow:hidden;
  border:3px solid rgba(255,255,255,.8);
  box-shadow:0 12px 40px rgba(0,0,0,.25);
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
  transition:all .3s ease;
}
.match-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.3)}

/* === GLASS WHITE === */
.glass-white {
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(16px);
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 8px 32px rgba(0,0,0,.15);
}

/* === NUMBER BIG === */
.big-stat {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(3rem,8vw,5rem);
  line-height:1;
  letter-spacing:.02em;
}

/* === BADGE POSIÇÃO === */
.pos-badge {
  font-family:'Anton',sans-serif;
  width:44px;height:44px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.pos-1{background:linear-gradient(135deg,#FFC72C,#F59E0B);color:#3B2000}
.pos-2{background:linear-gradient(135deg,#D1D5DB,#9CA3AF);color:#1F2937}
.pos-3{background:linear-gradient(135deg,#F97316,#B45309);color:#fff}
.pos-n{background:rgba(10,14,46,.12);color:#0A0E2E}

/* Pulse ao vivo */
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.live-dot{animation:livePulse .9s ease-in-out infinite}

/* === SCROLLBAR === */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:rgba(255,255,255,.2)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#FFC72C,#F77F00);border-radius:10px}
::selection{background:#FFC72C;color:#0A0E2E}

/* === TABLE === */
.tbl-row{transition:background .18s ease;cursor:pointer}
.tbl-row:hover{background:rgba(255,199,44,.12)}

/* LINK EQUIPE */
.team-link{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Anton',sans-serif;font-size:14px;letter-spacing:.05em;
  padding:4px 12px 4px 4px;
  border-radius:50px;
  border:2px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.7);
  color:#0A0E2E;
  text-decoration:none;
  transition:all .2s ease;
  cursor:pointer;
}
.team-link:hover{background:#FFC72C;border-color:#F77F00;transform:scale(1.05)}

/* === MOBILE HEADER + MENU === */
.menu-toggle {
  display:none;
  width:48px;height:48px;
  border-radius:14px;
  border:2.5px solid rgba(255,255,255,.5);
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:20px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  backdrop-filter:blur(8px);
  transition:background .2s ease, transform .2s ease;
}
.menu-toggle:hover{background:rgba(0,0,0,.65);transform:scale(1.05)}
.menu-toggle.open{background:#FFC72C;color:#050818;border-color:#FFC72C}

.hero-mobile-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.mobile-menu {
  position:fixed;
  inset:0;
  z-index:500;
  pointer-events:none;
  visibility:hidden;
  transition:visibility .3s ease;
}
.mobile-menu.open {
  pointer-events:auto;
  visibility:visible;
}
.mobile-menu-backdrop {
  position:absolute;
  inset:0;
  background:rgba(5,8,24,.75);
  backdrop-filter:blur(6px);
  opacity:0;
  transition:opacity .3s ease;
}
.mobile-menu.open .mobile-menu-backdrop { opacity:1; }
.mobile-menu-panel {
  position:absolute;
  top:0;right:0;
  width:min(300px,88vw);
  height:100%;
  background:linear-gradient(180deg,#0A0E2E 0%,#1a1040 100%);
  border-left:4px solid #FFC72C;
  box-shadow:-12px 0 48px rgba(0,0,0,.5);
  padding:20px 16px 32px;
  display:flex;
  flex-direction:column;
  gap:8px;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.34,1.2,.64,1);
  overflow-y:auto;
}
.mobile-menu.open .mobile-menu-panel { transform:translateX(0); }
.mobile-menu-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:2px solid rgba(255,199,44,.25);
}
.mobile-menu-head span {
  font-family:'Anton',sans-serif;
  font-size:18px;
  color:#FFC72C;
  letter-spacing:.06em;
}
.mobile-menu-close {
  width:40px;height:40px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:18px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.mobile-menu-nav { display:flex; flex-direction:column; gap:8px; }
.mobile-menu-nav .tab-btn {
  width:100%;
  text-align:left;
  font-size:16px;
  padding:14px 18px;
  border-radius:14px;
  color:rgba(255,255,255,.75);
  border:2px solid rgba(255,255,255,.1);
}
.mobile-menu-nav .tab-btn.active {
  color:#050818;
  background:linear-gradient(135deg,#FFC72C,#F77F00);
  border-color:transparent;
}
body.menu-open { overflow:hidden; }


/* ========== DASHBOARD (mockup) ========== */
.site-header, #mobile-hero-header { display:none !important; }
.dash-page { position:relative; z-index:1; min-height:auto; }
.dash-nav {
  position:sticky; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
  margin-bottom:130px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
.dash-nav-btn {
  width:44px; height:44px; border:none;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15);
  border-radius:12px; color:#fff; font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(8px);
}
.dash-nav-links { display:flex; align-items:center; gap:2px; flex-wrap:wrap; justify-content:center; }
.dash-nav-link {
  font-family:'Anton',sans-serif; font-size:12px; letter-spacing:.06em;
  color:rgba(255,255,255,.55); background:transparent; border:none;
  padding:10px 14px; cursor:pointer; position:relative;
}
.dash-nav-link:hover { color:#fff; }
.dash-nav-link.active { color:var(--dash-gold); }
.dash-nav-link.active::after {
  content:''; position:absolute; bottom:4px; left:14px; right:14px;
  height:2px; background:var(--dash-gold); border-radius:2px;
}
.dash-main { max-width:1200px; margin:0 auto; padding:20px 16px 48px; }
.dash-panel {
  background:var(--dash-panel); border-radius:var(--dash-radius);
  padding:22px 20px 24px; margin-bottom:20px;
  border:1px solid rgba(255,255,255,.06);
}
.dash-panel {
    background: #0e1d3bde;
    border-radius: var(--dash-radius);
    padding: 22px 20px 24px;
    margin-bottom: 20px;
    margin-left: 17px;
    margin-right: 17px;
    border: 1px solid rgba(255, 255, 255, .06);
}
.dash-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:18px; }
.dash-panel-title {
  display:flex; align-items:center; gap:10px;
  font-family:'Anton',sans-serif; font-size:clamp(1.1rem,3vw,1.35rem);
  letter-spacing:.06em; color:#fff; text-transform:uppercase;
}
.dash-panel-title i { color:#a855f7; font-size:1rem; }
.dash-panel-desc { font-size:12px; color:var(--dash-muted); margin-top:6px; line-height:1.5; max-width:520px; }
.dash-panel-arrows { display:flex; gap:8px; flex-shrink:0; }
.dash-panel-arrows button {
  width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06);
  color:#fff; cursor:pointer;
}
.row-entrevistas {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.interview-row {
  display:grid;
  grid-template-columns:minmax(180px, 220px) 1fr;
  align-items:stretch;
  min-height:150px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.25);
  box-shadow:0 6px 20px rgba(0,0,0,.2);
}
.interview-row .interview-card {
  border-radius:0;
  min-height:100% !important;
  height:100%;
  max-height:none !important;
  align-self:stretch;
}
.interview-row .interview-card:hover { transform:none; }
.interview-row .interview-card .ic-bg {
  position:absolute;
  inset:0;
  height:100%;
}
.interview-row .interview-card .ic-photo {
  position:absolute;
  width:100%;
  height:calc(100% - 52px);
  top:auto;
  bottom:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  z-index:2;
}
.interview-row .interview-card .ic-photo img {
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain;
  object-position:bottom center;
}
.interview-row .interview-card .ic-info {
  padding:10px 10px 8px;
}
.interview-row .interview-card .ic-name { font-size:13px; }
.interview-row .interview-card .ic-country { font-size:9px; }
.interview-row .interview-card .ic-play {
  width:30px; height:30px;
  bottom:8px; right:8px;
  font-size:10px;
}
.interview-quote {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  padding:14px 16px;
  min-width:0;
  min-height:100%;
  background:linear-gradient(135deg,rgba(18,22,32,.95) 0%,rgba(12,16,28,.98) 100%);
  border-left:1px solid rgba(255,255,255,.08);
  position:relative;
}
.interview-quote::before {
  content:'"';
  position:absolute;
  top:4px; right:12px;
  font-family:'Anton',sans-serif;
  font-size:3rem;
  line-height:1;
  color:rgba(255,255,255,.06);
  pointer-events:none;
}
.interview-quote-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  padding:5px 10px;
  border-radius:6px;
  background:#E63946;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
}
.interview-quote-badge i { font-size:10px; }
.interview-quote-q {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(.85rem,1.8vw,1.1rem);
  line-height:1.2;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#fff;
  margin:0;
}
.interview-quote-a {
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:rgba(255,255,255,.75);
  font-weight:500;
  white-space:pre-wrap;
  word-break:break-word;
}
.interview-card {
  position:relative; border-radius:20px; overflow:hidden; min-height:300px;
  cursor:pointer; transition:transform .25s ease;
}
.interview-card:hover { transform:translateY(-6px); }
.interview-card .ic-bg {
  position: absolute;
    inset: 0;
    background: var(--c);
    background-image: radial-gradient(circle, rgba(0, 0, 0, 0.08) 3px, transparent 6px);
    background-size: 8px 8px;
}
.interview-card .ic-flag {
  position:absolute; top:12px; left:12px; z-index:3;
  width:36px; height:36px; border-radius:50%;
  border:2px solid rgba(255,255,255,.5); background:#fff;
  overflow:hidden; padding:0;
}
.interview-card .ic-flag img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.interview-card .ic-photo {
  position:absolute; bottom:0; left:63%; transform:translateX(-50%);
  width:105%; height:92%; z-index:2;
  display:flex; align-items:flex-end; justify-content:center; pointer-events:none;
}
.interview-card .ic-photo img {
  max-width:100%; max-height:100%; object-fit:contain; object-position:bottom center;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.4));
}
.interview-card .ic-info {
  position:absolute; bottom:0; left:0; right:0; z-index:4;
  padding:14px 12px 12px;
  background:linear-gradient(0deg,rgba(0,0,0,.75) 0%,transparent 100%);
}
.interview-card .ic-name {
  font-family:'Anton',sans-serif; font-size:15px; letter-spacing:.04em;
  line-height:1.1; color:#fff;
}
.interview-card .ic-country {
  font-size:10px; font-weight:700; color:rgba(255,255,255,.7);
  text-transform:uppercase; letter-spacing:.1em;
}
.interview-card .ic-play {
  position:absolute; bottom:12px; right:12px; z-index:5;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.2); border:2px solid rgba(255,255,255,.4);
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px;
}
/* === ESTATÍSTICAS RODADA (vertical, estilo entrevista — 2 por linha) === */
.row-stats {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.stat-card-v {
  position:relative;
  border-radius:20px;
  overflow:hidden;
  min-height:244px;
  background:var(--c);
  transition:transform .25s ease;
}
.stat-card-v:hover { transform:translateY(-4px); }
.stat-card-v .sc-bg {
  position:absolute; inset:0; z-index:0;
  background-image:radial-gradient(circle,rgba(0,0,0,.08) 3px,transparent 6px);
  background-size:8px 8px;
}
.stat-card-v .sc-head {
  position:absolute; top:14px; left:14px; z-index:4;
  display:flex; align-items:center; gap:8px;
  color:#fff;
  font-size:9px; font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  max-width:52%;
  line-height:1.25;
}
.stat-card-v .sc-head i { font-size:11px; opacity:.95; flex-shrink:0; }
.stat-card-v .sc-num {
  position:absolute; top:44px; left:14px; z-index:4;
  font-family:'Anton',sans-serif;
  font-size:clamp(2.8rem,9vw,3.8rem);
  line-height:1;
  color:var(--accent,#B6D300);
  text-shadow:0 2px 8px rgba(0,0,0,.15);
}
.stat-card-v .sc-info {
  position:absolute; bottom:54px; left:14px; z-index:4;
  max-width:48%;
}
.stat-card-v .sc-player {
  font-family:'Anton',sans-serif;
  font-size:13px;
  color:#fff;
  letter-spacing:.03em;
  line-height:1.15;
  text-transform:uppercase;
}
.stat-card-v .sc-team {
  font-size:10px; font-weight:800;
  color:var(--accent,#B6D300);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-top:4px;
}
.stat-card-v .sc-photo {
  position: absolute;
    right: -6%;
    bottom: 0;
    width: 108%;
    height: 104%;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    pointer-events: none;
}
.stat-card-v .sc-photo img {
  max-width:100%; max-height:100%;
  object-fit:contain;
  object-position:bottom right;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
.stat-card-v .sc-footer {
  position:absolute; bottom:12px; left:12px; z-index:5;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(6px);
  border-radius:50px;
  padding:5px 14px 5px 5px;
  max-width:calc(100% - 24px);
}
.stat-card-v .sc-flag {
  width:28px; height:28px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  background:#fff;
  border:1.5px solid rgba(255,255,255,.4);
}
.stat-card-v .sc-flag img { width:100%; height:100%; object-fit:cover; display:block; }
.stat-card-v .sc-footer-name {
  font-size:10px; font-weight:900;
  letter-spacing:.08em;
  color:#fff;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stat-card-v.is-yellow { --accent:#5B00B1; }
.stat-card-v.is-yellow .sc-num,
.stat-card-v.is-yellow .sc-team { color:#5B00B1; }
/* === DESEMPENHO DAS EQUIPES (mockup) === */
.row-teams-top {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:12px;
}
.team-perf {
  position:relative;
  border-radius:20px;
  overflow:hidden;
  min-height:210px;
  padding:16px 14px 18px;
  border:2px solid var(--tp-border);
  background:var(--tp-bg);
  color:var(--tp-text,#fff);
  display:flex;
  flex-direction:column;
  box-shadow:0 0 20px var(--tp-glow,transparent);
}
.team-perf::after {
  content:'';
  position:absolute;
  right:0; top:0; bottom:0;
  width:63%;
  background-image:radial-gradient(circle,rgba(255,255,255,.1) 1.5px,transparent 1px);
  background-size:8px 8px;
  pointer-events:none;
  z-index:1;
}
.team-perf-watermark {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 64%;
    height: 113%;
    z-index: 31;
    pointer-events: none;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    /* padding: 8px 6px 8px 0; */
    box-sizing: border-box;
}

.team-perf-watermark img {
  height:100%;
  width:auto;
  max-width:100%;
  display:block;
  object-fit:contain;
  object-position:right center;
  filter:
    drop-shadow(-6px 8px 18px rgba(0,0,0,.5))
    drop-shadow(0 12px 28px rgba(0,0,0,.35))
    drop-shadow(4px 0 12px rgba(0,0,0,.25));
}
.team-perf-head {
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:inherit;
  opacity:.95;
  margin-bottom:10px;
}
.team-perf-head i { font-size:12px; opacity:.9; }
.team-perf-stat {
  position:relative;
  z-index:3;
  margin-bottom:auto;
  padding-top:4px;
}
.team-perf-num {
  display:block;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(3rem,10vw,4.2rem);
  line-height:1;
  color:#B6D300;
}
.team-perf-unit {
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#B6D300;
  margin-top:2px;
}
.team-perf-team {
  position:relative;
  z-index:3;
  margin-top:14px;
}
.team-perf-flag {
  display:block;
  width:36px;
  height:36px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.5);
  overflow:hidden;
  background:#fff;
  margin-bottom:8px;
}
.team-perf-flag img { width:100%; height:100%; object-fit:cover; display:block; }
.team-perf-name {
  display:block;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:15px;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1.1;
  margin-bottom:4px;
}
.team-perf-sub {
  display:block;
  font-size:10px;
  font-weight:600;
  opacity:.75;
}
.team-perf--purple {
  --tp-bg:#3a1578;
  --tp-border:rgba(168,85,247,.55);
  --tp-glow:rgba(168,85,247,.25);
}
.team-perf--red {
  --tp-bg:#7a1525;
  --tp-border:rgba(230,57,70,.55);
  --tp-glow:rgba(230,57,70,.22);
}
.team-perf--green {
  --tp-bg:#0a4d34;
  --tp-border:rgba(0,184,120,.5);
  --tp-glow:rgba(0,184,120,.2);
}
.team-perf--yellow {
  --tp-bg:#8a6b00;
  --tp-border:rgba(255,199,44,.65);
  --tp-glow:rgba(255,199,44,.28);
}
.team-perf--blue {
  --tp-bg:#0f2d6e;
  --tp-border:rgba(30,91,255,.55);
  --tp-glow:rgba(30,91,255,.25);
}
.team-perf--orange {
  --tp-bg:#8a3a00;
  --tp-border:rgba(247,127,0,.6);
  --tp-glow:rgba(247,127,0,.28);
}
.team-perf--wide {
  min-height:130px;
  padding:18px 20px;
  flex-direction:row;
  align-items:center;
  gap:16px;
  background:linear-gradient(135deg,#FFD700 0%,#F5A623 55%,#F77F00 100%);
  --tp-text:#2e008b;
  --tp-border:rgba(255,215,0,.7);
  --tp-glow:rgba(255,199,44,.35);
  border-radius:20px;
}
.team-perf--wide::after {
  width:38%;
  right:0;
  background-image:radial-gradient(circle,rgba(46,0,139,.08) 1.5px,transparent 2px);
}
.team-perf--wide .team-perf-watermark {
  right:0;
  width:46%;
  padding:6px 10px 6px 0;
}
.team-perf--wide .team-perf-watermark img {
  filter:
    drop-shadow(-4px 6px 14px rgba(46,0,139,.35))
    drop-shadow(0 10px 22px rgba(0,0,0,.28));
}
.team-perf--wide .team-perf-head {
  position:absolute;
  top:14px;
  left:18px;
  margin:0;
  color:#2e008b;
}
.team-perf--wide .team-perf-stat-row {
  position:relative;
  z-index:3;
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-shrink:0;
}
.team-perf--wide .team-perf-num {
  font-size:clamp(3.5rem,12vw,5rem);
  color:#2e008b;
}
.team-perf--wide .team-perf-unit {
  color:#2e008b;
  font-size:11px;
  margin-top:0;
}
.team-perf--wide .team-perf-team {
  flex:1;
  margin:0;
  text-align:center;
  z-index:3;
}
.team-perf--wide .team-perf-name { color:#2e008b; font-size:17px; }
.team-perf--wide .team-perf-sub { color:#2e008b; opacity:.8; }
.team-perf--wide .team-perf-flag {
  margin:0 auto 8px;
  border-color:rgba(46,0,139,.25);
}
#teams-wide-grid { margin-top:0; }
.dash-inner-pages { max-width:1200px; margin:0 auto; padding:24px 16px 48px; }
.tab-content:not(#tab-home) .section-title { color:#fff; }
.tab-content:not(#tab-home) .section-subtitle { color:var(--dash-muted); }
.tab-content:not(#tab-home) .glass-white {
  background:var(--dash-panel); border:1px solid rgba(255,255,255,.08);
}
#dash-pages .tbl-row { color:#fff; border-bottom-color:rgba(255,255,255,.08) !important; }
#dash-pages .tbl-row:hover { background:rgba(255,255,255,.04); }
@media (max-width:900px) {
  .interview-row { grid-template-columns:minmax(130px, 38%) 1fr; min-height:130px; }
  .interview-row .interview-card { min-height:100% !important; max-height:none !important; }
  .interview-row .interview-card .ic-photo { height:calc(100% - 48px); }
  .row-teams-top { grid-template-columns:1fr; }
  .dash-nav-links { display:none; }
  .dash-nav-links.open {
    display:flex; position:absolute; top:calc(100% + 8px); left:12px; right:12px;
    flex-direction:column; background:rgba(11,14,20,.96); padding:12px;
    border-radius:16px; border:1px solid rgba(255,255,255,.1);
  }
}
.site-footer {
  position:relative;
  z-index:1;
  margin-top:auto;
  flex-shrink:0;
  width:100%;
  border-top:3px solid rgba(255,255,255,.4);
}
.site-footer-inner {
  background:rgba(10,14,46,.9);
  padding:20px;
  text-align:center;
}
.site-footer-inner img {
  width:36px;
  height:36px;
  object-fit:contain;
  opacity:.6;
  margin-bottom:8px;
}
.site-footer-inner p {
  font-family:'Anton',sans-serif;
  font-size:14px;
  color:rgba(255,255,255,.4);
  letter-spacing:.1em;
}

@media (max-width:560px) {
  .row-stats { grid-template-columns:repeat(2,1fr); gap:10px; }
  .stat-card-v { min-height:240px; }
  .stat-card-v .sc-num { font-size:3.4rem; top:40px; }
  .stat-card-v .sc-player { font-size:16px; }
  .interview-row { grid-template-columns:minmax(100px, 32%) 1fr; min-height:120px; }
  .interview-row .interview-card { min-height:100% !important; max-height:none !important; }
  .interview-row .interview-card .ic-photo { height:calc(100% - 44px); }
  .interview-quote { padding:10px 12px; gap:6px; }
  .interview-quote-q { font-size:.8rem; }
  .interview-quote-a { font-size:11px; }
}

@media (max-width: 768px) {
  .site-header { display:none !important; }
  main { padding:0 0 24px !important; max-width:100% !important; }
  #tab-home { padding-top:0; }
  main > section { padding-left:16px; padding-right:16px; }
  .cards-grid-jogadores { grid-template-columns:repeat(2, 1fr); gap:10px; }
  .panini-card { max-width:none; }
  .fig-card .fig-inner { height:260px; }
  .fig-stat .fs-val { font-size:22px; }

  #mobile-hero-header {
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-bottom:16px !important;
    border-radius:0 !important;
    position:sticky;
    top:0;
    z-index:200;
  }
  #mobile-hero-header.rainbow-border { padding:0; background:none; }
  #mobile-hero-header > .rb-inner { border-radius:0 !important; }
  .menu-toggle { display:flex; }
  .hero-copa-bg .hero-content { padding:10px 12px !important; }
}

@media (min-width: 769px) {
  #mobile-hero-header {
    border-radius:0;
    margin-bottom:32px !important;
  }
  .menu-toggle { display:none; }
}

@media (min-width: 769px) {
  .mobile-menu { display:none; }
}

/* === TABELA DE CLASSIFICAÇÃO (4 equipes) === */
.class-page { max-width:520px; margin:0 auto; padding:0 16px 32px; }
.class-page-title {
  text-align: center;
    margin-bottom: 18px;
    line-height: 1.1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35em;
    background: #130a3e;
    padding: 10px 13px;
    align-items: center;
    border-radius: 14px;
}
.class-page-title .t1 {
  display:inline;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.75rem,6vw,2.4rem);
  letter-spacing:.04em;
  color:#fff;
  text-transform:uppercase;
}
.class-page-title .t2 {
  display:inline;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.75rem,6vw,2.4rem);
  letter-spacing:.04em;
  color:#B6D300;
  text-transform:uppercase;
}
.class-card {
  background:#120a2e;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.class-card-head {
  display:grid;
  grid-template-columns:42px 1fr repeat(8, minmax(28px, 1fr));
  gap:4px;
  align-items:center;
  padding:12px 14px;
  background:#2e008b;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
}
.class-card-head span:not(:nth-child(2)) { text-align:center; }
.class-card-body .class-row {
  display:grid;
  grid-template-columns:42px 1fr repeat(8, minmax(28px, 1fr));
  gap:4px;
  align-items:center;
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:13px;
  font-weight:700;
  color:#fff;
}
.class-card-body .class-row:last-child { border-bottom:none; }
.class-pos {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.35rem,4.5vw,1.65rem);
  line-height:1;
  color:#B6D300;
  text-align:center;
}
.class-team {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.class-team-flag {
  width: 47px;
    height: 47px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .85);
    overflow: hidden;
    flex-shrink: 0;
    /* background: #fff;*/
}
.class-team-flag img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.class-team-name {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(.85rem,3.2vw,1rem);
  letter-spacing:.06em;
  color:#fff;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.class-stat { text-align:center; font-weight:600; font-size:12px; }
.class-pts {
  text-align:center;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.2rem,4vw,1.45rem);
  line-height:1;
  color:#B6D300;
  font-weight:700;
}
.class-sg-pos { color:#B6D300; }
.class-sg-neg { color:#fff; }
.class-sg-zero { color:#fff; }
@media (max-width:400px) {
  .class-card-head { font-size:8px; padding:10px 8px; gap:2px; }
  .class-card-head,
  .class-card-body .class-row {
    grid-template-columns:34px 1fr repeat(8, minmax(22px, 1fr));
  }
  .class-team-flag { width:30px; height:30px; }
  .class-stat { font-size:11px; }
}

/* === JOGOS DA RODADA === */
.class-section-title {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1rem,3.5vw,1.15rem);
  letter-spacing:.1em;
  color:#fff;
  text-transform:uppercase;
  margin:24px 0 12px;
}
.class-section-title:first-of-type { margin-top:0; }
.jogos-rodada-list { display:flex; flex-direction:column; gap:14px; margin-bottom:8px; }

/* === CARROSSEL (classificação) === */
.copa-carousel {
  position:relative;
  margin:0 0 28px;
  padding:0 36px;
}
.copa-carousel-viewport {
  overflow:hidden;
  border-radius:20px;
  width:100%;
}
.copa-carousel-track {
  display:flex;
  flex-wrap:nowrap;
  transition:transform .35s ease;
  will-change:transform;
}
.copa-carousel-slide {
  flex:0 0 var(--copa-slide-w, 100%);
  width:var(--copa-slide-w, 100%);
  flex-shrink:0;
  box-sizing:border-box;
}
.copa-carousel-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:34px;
  height:34px;
  border:none;
  border-radius:50%;
  background:rgba(46,0,139,.92);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  transition:opacity .2s, background .2s;
}
.copa-carousel-btn:hover:not(:disabled) { background:#5B00B1; }
.copa-carousel-btn:disabled { opacity:.35; cursor:not-allowed; }
.copa-carousel-btn--prev { left:0; }
.copa-carousel-btn--next { right:0; }
.copa-carousel-dots {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:12px;
}
.copa-carousel-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  border:none;
  padding:0;
  background:rgba(255,255,255,.25);
  cursor:pointer;
  transition:background .2s, transform .2s;
}
.copa-carousel-dot.is-active {
  background:#B6D300;
  transform:scale(1.15);
}
.class-section-title--in-carousel {
  margin:0 0 12px;
  text-align:center;
}
.class-card--rodada-mini {
  padding:14px 12px 16px;
  background:#120a2e;
}
.rodada-mini-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(72px, 1fr));
  gap:10px;
}
.rodada-mini-team {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:10px 6px 8px;
  background:rgba(255,255,255,.06);
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
}
.rodada-mini-pos {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:1.1rem;
  line-height:1;
  color:#B6D300;
}
.rodada-mini-flag {
  width:44px;
  height:44px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.85);
  overflow:hidden;
  flex-shrink:0;
}
.rodada-mini-flag img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.rodada-mini-pts {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:1rem;
  line-height:1;
  color:#fff;
  text-align:center;
}
.rodada-mini-pts small {
  font-family:'Inter',sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.1em;
  opacity:.75;
}
.class-jogos-rodada-sub {
  margin:0 0 12px;
  text-align:center;
  color:rgba(255,255,255,.6);
}
.copa-carousel--matches .copa-carousel-slide {
  padding:0 2px;
}
.copa-carousel--matches .jogos-rodada-list {
  max-height:min(70vh, 560px);
  overflow-y:auto;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(182,211,0,.45) transparent;
}
.copa-carousel--matches .match-card {
  margin:0;
  overflow:visible;
}
.class-page .match-card,
.copa-carousel--matches .match-card {
  background:#120a2e;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:16px 16px 14px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.match-rodada-badge {
  display:block;
  width:fit-content;
  margin:0 auto 14px;
  background:linear-gradient(135deg,#5B00B1,#7B2FBE);
  color:#fff;
  padding:5px 16px;
  border-radius:50px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.match-main {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
}
.match-team { text-align:center; min-width:0; }
.match-flag {
  width:56px; height:56px;
  margin:0 auto 8px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.85);
  overflow:hidden;
  background:#fff;
}
.match-flag img { width:100%; height:100%; object-fit:cover; display:block; }
.match-team-name {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:12px;
  letter-spacing:.06em;
  color:#fff;
  text-transform:uppercase;
}
.match-score {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.75rem,6vw,2.25rem);
  line-height:1;
  color:#B6D300;
  text-align:center;
  white-space:nowrap;
}
.match-scorers {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:start;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:10px;
  font-weight:600;
  color:rgba(255,255,255,.85);
}
.match-scorers-col { display:flex; flex-direction:column; gap:4px; }
.match-scorers-col--home { text-align:right; }
.match-scorers-col--away { text-align:left; }
.match-scorer-line { line-height:1.35; }
.match-scorers-divider {
  width:1px;
  min-height:100%;
  background:rgba(255,255,255,.2);
  align-self:stretch;
}

/* === CLASSIFICAÇÃO ÚLTIMOS 10 (bolinhas) === */
.class-page .class-card + .class-card,
.class-page .class-card--forma { margin-top:20px; }
.class-card--forma { margin-top:20px; }
.class-card-top {
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 16px 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.class-card-top > i {
  font-size:1.25rem;
  color:#a855f7;
}
.class-card-top h3 {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:1.1rem;
  letter-spacing:.06em;
  color:#fff;
  text-transform:uppercase;
  line-height:1.1;
}
.class-card-top p {
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#B6D300;
  margin-top:4px;
}
.class-card--forma .class-card-head {
  grid-template-columns:44px 52px 1fr 48px;
  background:rgba(46,0,139,.65);
}
.class-card--forma .class-card-body .class-row {
  grid-template-columns:44px 52px 1fr 48px;
}
.class-card--forma .class-team {
  justify-content:center;
}
.class-card--forma .class-team-flag {
  margin:0 auto;
}
.class-card--forma .forma-dots {
  display:flex;
  flex-wrap:nowrap;
  gap:4px;
  justify-content:center;
  align-items:center;
  min-width:0;
  padding:0 6px;
}
.forma-dots {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  justify-content:center;
  align-items:center;
}
.forma-dot {
  width:10px;
  height:10px;
  border-radius:50%;
  flex-shrink:0;
}
.forma-dot.V { background:#4ed512; box-shadow:0 0 6px #4ed512; }
.forma-dot.E { background:#0552ec; }
.forma-dot.D { background:#E63946; box-shadow:0 0 6px rgba(230,57,70,.4); }
@media (max-width:380px) {
  .forma-dot { width:8px; height:8px; }
  .class-card--forma .forma-dots { gap:3px; padding:0 4px; }
  .class-card--forma .forma-dot { width:8px; height:8px; }
  .match-flag { width:48px; height:48px; }
}

/* === ARTILHEIROS === */
.art-page { max-width:520px; margin:0 auto; padding:0 16px 32px; }
.art-list { display:flex; flex-direction:column; gap:10px; }
.art-card.art-card--leader {
  display:block;
  padding:0;
  border:none;
  background:#2e008b;
  position:relative;
  border-radius:28px;
  overflow:hidden;
  min-height:220px;
  box-shadow:0 14px 40px rgba(46,0,139,.55);
}
.art-card.art-card--leader::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle, rgba(0,0,0,.14) 2px, transparent 3px);
  background-size:10px 10px;
  opacity:.45;
  pointer-events:none;
  z-index:1;
}
.art-card-leader-inner {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(130px,48%) 1fr auto;
  align-items:center;
  gap:0 8px;
  min-height:220px;
  padding:0;
  overflow:hidden;
}
.art-card--leader .art-rank--big {
    position: absolute;
    left: 13px;
    top: 30px;
    z-index: 6;
    font-family: 'Anton', 'Bebas Neue', sans-serif;
    font-size: clamp(4rem, 20vw, 6.5rem);
    line-height: .85;
    color: #B6D300;
    text-shadow: 0 4px 16px rgba(0, 0, 0, .4);
    pointer-events: none;
}
.art-card--leader .art-photo--hero {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    align-self: end;
    width: 113%;
    height: 100%;
    min-height: 220px;
    padding: 0px;
    margin: 0;
    z-index: 2;
    display: block;
    pointer-events: none;
    margin-left: 25px;
}
.art-card--leader .art-photo--hero img {
  width:100%;
  height:100%;
  min-height:220px;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center 15%;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.4));
  display:block;
}
.art-card--leader .art-leader-info {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 9px 0px 9px;
    margin: 0;
    min-width: 0;
    max-width: none;
    margin-left: 40px;
    z-index: 4;
}

.art-card--leader .art-stat-col {
  grid-column:3;
  grid-row:1;
  align-self:center;
  justify-self:end;
  padding:12px 14px 18px 10px;
  margin:0;
  z-index:4;
  border-left:1px solid rgba(255,255,255,.28);
}
.art-flag {
  width:32px; height:32px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.7);
  overflow:hidden;
  background:#fff;
  flex-shrink:0;
  margin-bottom:6px;
  display:block;
}
.art-flag img { width:100%; height:100%; object-fit:cover; display:block; }
.art-name-first {
  display:block;
  font-size:9px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.85);
  line-height:1.2;
}
.art-name-last {
  display:block;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.35rem,4.5vw,1.75rem);
  line-height:1;
  color:#B6D300;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin:2px 0 4px;
}
.art-country {
  display:block;
  font-size:9px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.art-stat-col {
  flex-shrink:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:0 4px 18px 16px;
  margin-left:auto;
  border-left:1px solid rgba(255,255,255,.28);
  min-width:64px;
}
.art-stat-label {
  font-size:9px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.8);
  margin-bottom:4px;
}
.art-stat-num {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(2rem,7vw,2.6rem);
  line-height:1;
  color:#B6D300;
}
.art-stat-num--sm { font-size:clamp(1.6rem,5vw,2rem); }
.art-stat-num--xs { font-size:clamp(1.15rem,3.5vw,1.4rem); }
.art-stat-col--multi {
  min-width:72px;
  padding:8px 10px 14px 12px;
}
.art-stat-group {
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
}
.art-stat-item {
  display:flex;
  flex-direction:column;
  align-items:center;
}
.art-stat-item--primary .art-stat-num {
  color:#B6D300;
}
.art-stat-item:not(.art-stat-item--primary) .art-stat-num {
  color:rgba(255,255,255,.92);
}
.art-card--leader .art-stat-col--multi {
  padding:10px 12px 16px 10px;
}
.art-card {
  display:flex; align-items:center; gap:12px;
  padding:12px 16px;
  border-radius:24px;
  background:#0c0820;
  border:1px solid rgba(255,255,255,.06);
}
.art-rank {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.25rem,4vw,1.5rem);
  line-height:1;
  color:#B6D300;
  flex-shrink:0;
  min-width:32px;
}
.art-photo--thumb {
  width:75px; height:75px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:2px solid rgba(255,255,255,.2);
  background:#1a1040;
  display:block;
}
.art-photo--thumb img {
  width:100%; height:100%;
  object-fit:cover; object-position:top center;
}
.art-card-body {
  flex:1; display:flex; align-items:center; gap:10px;
  min-width:0;
}
.art-card-info { flex:1; min-width:0; }
.art-card .art-stat-col {
    padding: 0 0 0 1px;
    margin-left: 0;
    border-left: 1px solid rgba(255, 255, 255, .2);
    min-width: 56px;
}
@media (max-width:400px) {
  .art-card.art-card--leader { min-height:200px; }
  .art-card-leader-inner {
    grid-template-columns:minmax(110px,46%) 1fr auto;
    min-height:200px;
  }
  .art-card--leader .art-rank--big { font-size:clamp(3.2rem,18vw,4.5rem); left:6px; }
  .art-card--leader .art-photo--hero,
  .art-card--leader .art-photo--hero img { min-height:200px; }
  .art-card--leader .art-photo--hero img { object-position:center 12%; }
  .art-photo--thumb { width:38px; height:38px; }
}

/* === EQUIPES / ELENCO === */
.squads-page { max-width:520px; margin:0 auto; padding:0 16px 40px; }
.equipe-block { margin-bottom:36px; }
.equipe-block:last-child { margin-bottom:0; }
.equipe-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    background: #04091d;
    padding: 7px;
    border-radius: 13px;
    padding-left: 14px;
}
.equipe-head img {
  width:28px; height:28px; border-radius:50%;
  object-fit:cover; border:2px solid rgba(255,255,255,.5);
}
.equipe-head span {
  font-size:11px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  color:#fff;
}
.equipe-page-title { margin-bottom:4px; }
.equipe-stats-card {
  display:flex; align-items:stretch;
  background:#050B24;
  border-radius:24px;
  overflow:hidden;
  margin-bottom:12px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.06);
}
.equipe-crest {
  flex-shrink:0;
  width:38%;
  max-width:150px;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:20px 14px;
  border-right:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.2);
}
.equipe-crest img {
  width:72px; height:72px;
  object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.equipe-crest-name {
  margin-top:10px;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:1.1rem;
  letter-spacing:.08em;
  color:#fff;
  text-align:center;
}
.equipe-stats-grid {
  flex:1;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows:repeat(2, 1fr);
}
.equipe-stat-cell {
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:12px 8px;
  border-left:1px solid rgba(255,255,255,.08);
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
  min-height:72px;
}
.equipe-stat-cell:nth-child(-n+3) { border-top:none; }
.equipe-stat-cell:nth-child(3n+1) { border-left:none; }
.equipe-stat-cell i {
  font-size:14px;
  color:rgba(255,255,255,.55);
  margin-bottom:4px;
}
.equipe-stat-label {
  font-size:7px; font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  line-height:1.25;
  margin-bottom:4px;
}
.equipe-stat-val {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.25rem,4.5vw,1.55rem);
  line-height:1;
  color:#B6D300;
}
.equipe-elenco-card {
  background:#050B24;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.06);
}
.equipe-elenco-head {
  display:flex; align-items:center; gap:10px;
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.equipe-elenco-head > i {
  width:36px; height:36px;
  border-radius:50%;
  background:#2e008b;
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; flex-shrink:0;
}
.equipe-elenco-head h3 {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:1.05rem;
  letter-spacing:.08em;
  color:#fff;
  text-transform:uppercase;
  line-height:1.1;
}
.equipe-elenco-head p {
  font-size:9px; font-weight:700;
  letter-spacing:.1em;
  color:#B6D300;
  text-transform:uppercase;
  margin-top:2px;
}
.equipe-table { width:100%; border-collapse:collapse; }
.equipe-table thead th {
  font-size:8px; font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  padding:10px 8px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.equipe-table thead th:first-child { text-align:left; padding-left:14px; }
.equipe-table tbody tr { border-bottom:1px solid rgba(255,255,255,.06); }
.equipe-table tbody tr:last-child { border-bottom:none; }
.equipe-table td {
  padding:10px 8px;
  text-align:center;
  vertical-align:middle;
  font-size:12px; font-weight:700;
  color:#B6D300;
}
.equipe-table td.eq-player {
  text-align:left;
  padding-left:14px;
  color:#fff;
  font-weight:800;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.equipe-table td.eq-pos {
  color:#B6D300;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
}
.equipe-player-cell {
  display:flex; align-items:center; gap:10px;
}
.equipe-player-photo {
  width:36px; height:36px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:2px solid rgba(255,255,255,.15);
  background:#1a1040;
}
.equipe-player-photo img {
  width:100%; height:100%;
  object-fit:cover; object-position:top center;
}
.gk-block .equipe-page-title .t1 { font-size:clamp(1.5rem,5vw,1.9rem); }
@media (max-width:400px) {
  .equipe-crest { width:34%; padding:14px 8px; }
  .equipe-crest img { width:56px; height:56px; }
  .equipe-stat-label { font-size:6px; }
  .equipe-table { font-size:10px; }
  .equipe-player-photo { width:32px; height:32px; }
}

/* === TIME DA SEMANA (Best XI) === */
.xi-panel { padding-bottom: 18px; }
.is-hidden { display: none !important; }
.xi-rodada-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 16px;
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(90deg,rgba(91,0,177,.35) 0%,rgba(18,10,46,.6) 50%,rgba(91,0,177,.35) 100%);
  border:1px solid rgba(182,211,0,.25);
}
.xi-rodada-name {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.1rem,3vw,1.45rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fff;
}
.xi-rodada-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--dash-gold);
}
.xi-field-wrap {
  border-radius:18px;
  overflow:hidden;
  border:2px solid rgba(255,199,44,.35);
  box-shadow:0 12px 36px rgba(0,0,0,.35);
}
.xi-field {
  position:relative;
  min-height:620px;
  background-size:cover;
  background-position:center;
}
.xi-field-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,12,28,.45) 0%,rgba(8,12,28,.15) 45%,rgba(8,12,28,.5) 100%);
  pointer-events:none;
}
.xi-player {
  position:absolute;
  z-index:2;
  transform:translateX(-50%);
  width:78px;
}
.xi-player--mucha {
  transform:none;
  width:68px;
}
.xi-slot {
  display:flex;
  flex-direction:column;
  width:100%;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.45));
}
.xi-slot-frame {
  position:relative;
  height:96px;
  border:2px solid #D4AF37;
  border-bottom:none;
  border-radius:16px 16px 0 0;
  overflow:hidden;
  background:#0a1028;
}
.xi-slot-bg {
  position:absolute;
  inset:0;
  z-index:0;
}
.xi-slot-bg--brasil {
  background:
    radial-gradient(circle at 20% 80%, rgba(255,223,0,.35) 0%, transparent 45%),
    linear-gradient(160deg, #009C3B 0%, #006B2B 55%, #004D20 100%);
}
.xi-slot-bg--alemanha {
  background:linear-gradient(180deg,#000 0%,#000 33%,#DD0000 33%,#DD0000 66%,#FFCE00 66%,#FFCE00 100%);
}
.xi-slot-bg--holanda {
  background:linear-gradient(135deg,#FF6600 0%,#E85D04 50%,#CC5200 100%);
}
.xi-slot-bg--argentina {
  background:repeating-linear-gradient(90deg,#6CACE4 0 50%,#fff 50% 100%);
  background-size:18px 100%;
}
.xi-slot-bg--default {
  background:linear-gradient(160deg,#1a1040 0%,#0a1028 100%);
}
.xi-slot-crest {
  position:absolute;
  inset:-8%;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.xi-slot-crest img {
  width:115%;
  height:115%;
  object-fit:contain;
  opacity:.28;
  filter:brightness(1.15) drop-shadow(0 2px 8px rgba(0,0,0,.2));
}
.xi-slot-photo {
  position:absolute;
  inset:0;
  bottom:18px;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  pointer-events:none;
}
.xi-slot-photo img {
  width:108%;
  max-height:100%;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.55));
}
.xi-slot-votes {
  position:absolute;
  top:4px;
  left:4px;
  z-index:5;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border-radius:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:900;
  color:#0A0E2E;
  background:linear-gradient(180deg,#FFE566,#D4AF37);
  border:1.5px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.xi-slot-pos {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:4;
  padding:4px 2px;
  background:linear-gradient(180deg,#FFE566 0%,#C9A227 100%);
  color:#0A0E2E;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:7px;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.35);
}
.xi-slot-pos--mucha {
  font-size:6px;
  letter-spacing:.08em;
  background:linear-gradient(180deg,#888 0%,#444 100%);
  color:#fff;
}
.xi-slot-name {
  padding:5px 4px;
  background:#fff;
  color:#0A0E2E;
  border:2px solid #D4AF37;
  border-top:1px solid rgba(212,175,55,.6);
  border-radius:0 0 14px 14px;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:9px;
  letter-spacing:.05em;
  line-height:1.15;
  text-align:center;
  text-transform:uppercase;
  word-break:break-word;
}
.xi-slot--mucha {
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.5)) grayscale(.7);
  transform:scale(.92);
  transform-origin:bottom right;
}
.xi-slot--mucha .xi-slot-frame { height:86px; }
.xi-slot--mucha .xi-slot-name {
  background:#eee;
  color:#555;
  border-color:#888;
}
.xi-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:16px;
}
.xi-btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:50px;
  border:2px solid transparent;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}
.xi-btn:hover { transform:translateY(-2px); }
.xi-btn--primary {
  color:#0A0E2E;
  background:var(--dash-gold);
  border-color:rgba(255,255,255,.25);
  box-shadow:0 4px 16px rgba(255,199,44,.25);
}
.xi-btn--secondary {
  color:#fff;
  background:#5B00B1;
  border-color:rgba(255,255,255,.2);
  box-shadow:0 4px 16px rgba(91,0,177,.35);
}
.xi-expand {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}
.xi-expand-box {
  background:rgba(18,10,46,.55);
  border:1px solid rgba(182,211,0,.2);
  border-radius:14px;
  padding:16px;
}
.xi-expand-box h4,
.xi-expand-title {
  display:flex;
  align-items:center;
  gap:8px;
  font-family:'Anton',sans-serif;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--dash-gold);
  margin-bottom:10px;
}
.xi-expand-box p {
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.78);
  white-space:pre-wrap;
}
.xi-votes-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:380px;
  overflow-y:auto;
}
.xi-vote-card {
  background:rgba(18,10,46,.55);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px;
}
.xi-vote-head {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  font-size:13px;
  font-weight:800;
  color:#B6D300;
}
.xi-vote-lines {
  list-style:none;
  display:grid;
  gap:4px;
  font-size:11px;
  color:rgba(255,255,255,.72);
}
.xi-vote-lines li {
  display:flex;
  align-items:flex-start;
  gap:8px;
  line-height:1.45;
}
.xi-vote-lines i {
  width:14px;
  flex-shrink:0;
  margin-top:2px;
  opacity:.85;
}
@media (max-width:640px) {
  .xi-field { min-height:540px; }
  .xi-player { width:66px; }
  .xi-player--mucha { width:58px; }
  .xi-slot-frame { height:84px; border-radius:12px 12px 0 0; }
  .xi-slot--mucha .xi-slot-frame { height:76px; }
  .xi-slot-name { font-size:8px; padding:4px 3px; }
  .xi-slot-pos { font-size:6px; }
  .xi-slot-votes { min-width:20px; height:20px; font-size:9px; }
}

/* === PÁGINA DE ACESSO === */
.access-panel {
  display:flex;
  justify-content:center;
  padding-top:28px;
  padding-bottom:32px;
}
.access-card {
  width:100%;
  max-width:420px;
  padding:32px 28px 28px;
  border-radius:20px;
  background:linear-gradient(160deg,#120a2e 0%,#0e1d3b 100%);
  border:2px solid rgba(212,175,55,.45);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
}
.access-icon {
  width:64px;
  height:64px;
  margin:0 auto 18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#5B00B1,#3a0080);
  border:2px solid rgba(212,175,55,.5);
  box-shadow:0 0 24px rgba(91,0,177,.4);
  color:#FFC72C;
  font-size:1.5rem;
}
.access-title {
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:clamp(1.6rem,4vw,2rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:center;
  color:#fff;
  margin-bottom:8px;
}
.access-desc {
  text-align:center;
  font-size:13px;
  line-height:1.55;
  color:rgba(255,255,255,.72);
  margin-bottom:24px;
}
.access-form {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.access-error {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(230,57,70,.15);
  border:1px solid rgba(230,57,70,.45);
  color:#ff8a96;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
.access-field {
  position:relative;
  display:block;
}
.access-field-icon {
  position:absolute;
  top:50%;
  left:14px;
  transform:translateY(-50%);
  color:#B6D300;
  font-size:14px;
  pointer-events:none;
  z-index:1;
}
.access-field input {
  width:100%;
  padding:14px 14px 14px 44px;
  border-radius:12px;
  border:2px solid rgba(255,255,255,.18);
  background:#0a1028;
  color:#fff;
  font-size:14px;
  font-weight:600;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.25);
}
.access-field input::placeholder {
  color:rgba(255,255,255,.4);
  font-weight:500;
}
.access-field input:focus {
  border-color:#FFC72C;
  box-shadow:0 0 0 3px rgba(255,199,44,.2), inset 0 2px 6px rgba(0,0,0,.25);
}
.access-btn {
  margin-top:6px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 20px;
  border:none;
  border-radius:50px;
  cursor:pointer;
  font-family:'Anton','Bebas Neue',sans-serif;
  font-size:1rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#0A0E2E;
  background:linear-gradient(180deg,#FFE566 0%,#FFC72C 50%,#E6B020 100%);
  border:2px solid rgba(255,255,255,.35);
  box-shadow:0 6px 20px rgba(255,199,44,.35);
  transition:transform .2s ease, box-shadow .2s ease;
}
.access-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(255,199,44,.45);
}
.access-btn:active {
  transform:translateY(0);
}
@media (max-width:480px) {
  .access-card { padding:24px 18px 22px; }
  .access-field input { padding:13px 12px 13px 42px; font-size:13px; }
}

