/* Jogos do tatame-online: Torre de faixas, Esquiva, Caça-palavras e Infiltrado */
.ex { position: relative; }
.ex-inicio, .ex-fim { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ex-inicio h2, .ex-fim h2 { margin: 0; font-size: 1.8rem; }
.ex-inicio p, .ex-fim p { margin: 0; max-width: 460px; }
.ex-ico { font-size: 3rem; line-height: 1; }
.ex-recorde { font-weight: 700; }
.ex-inicio .lt-go, .ex-fim .lt-go { min-width: 220px; margin-top: 6px; }
.ex-canvas { display: block; width: 100%; max-width: 360px; aspect-ratio: 360 / 560; margin: 0 auto; border-radius: 16px; touch-action: none; user-select: none; -webkit-user-select: none; background: #0d0d10; cursor: pointer; }
.ex-dica { text-align: center; margin: 8px 0 0; font-size: .85rem; }
.ex-fim { position: absolute; inset: 0; z-index: 5; justify-content: center; padding: 24px; border-radius: 18px; background: var(--surface); box-shadow: 0 0 0 1px var(--border); animation: cm-in .3s ease; }
.ex-fim .rk-badge { width: 100%; }

/* caça-palavras */
.ex-escolha { font-weight: 700; margin-top: 8px !important; }
.ex-temas { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; width: 100%; }
.ex-tema { font: inherit; font-weight: 700; padding: 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg); color: var(--text); cursor: pointer; }
.ex-tema:hover { border-color: var(--muted); }
.ex-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ex-relogio { font: 700 1.1rem "Space Grotesk", Inter, sans-serif; }
.cp-grade { display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 2px; max-width: 460px; margin: 0 auto; touch-action: none; user-select: none; -webkit-user-select: none; }
.cp-cel { aspect-ratio: 1; display: grid; place-items: center; font: 700 clamp(.85rem, 3.6vw, 1.15rem) "Space Grotesk", Inter, sans-serif; border-radius: 6px; background: var(--bg); color: var(--text); cursor: pointer; transition: background .1s ease; }
.cp-cel.achada { background: color-mix(in srgb, var(--c) 45%, var(--bg)); color: var(--text); }
.cp-cel.faltou { background: #e5484d44; }
.cp-cel.sel { background: #f5c542; color: #111; }
.cp-lista { list-style: none; padding: 0; margin: 14px auto; max-width: 460px; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.cp-lista li { padding: 4px 10px; border-radius: 99px; border: 1px solid var(--border); font-weight: 700; font-size: .9rem; }
.cp-lista li.achada { background: color-mix(in srgb, var(--c) 35%, transparent); border-color: var(--c); text-decoration: line-through; }
.ex .share-btn { display: block; margin: 0 auto; }
.cp-fim { position: static; margin-top: 14px; backdrop-filter: none; }

/* infiltrado */
.in-papel { display: block; width: 100%; min-height: 104px; margin: 6px 0 14px; padding: 14px; border-radius: 16px; border: 2px dashed var(--border); background: var(--bg); color: var(--text); font: inherit; cursor: pointer; text-align: center; }
.in-papel .in-papel-verso { display: none; flex-direction: column; gap: 4px; }
.in-papel.aberto { border-style: solid; border-color: #1a9a5c; }
.in-papel.aberto.infiltrado { border-color: #e5484d; background: #e5484d18; }
.in-papel.aberto .in-papel-frente { display: none; }
.in-papel.aberto .in-papel-verso { display: flex; }
.in-papel-frente { font-weight: 700; color: var(--muted); }
.in-papel-verso strong { font: 700 1.9rem "Space Grotesk", Inter, sans-serif; }
.in-papel-verso small { color: var(--muted); }
.in-vez { display: flex; align-items: center; gap: 8px; min-height: 40px; margin: 0 0 8px; }
.in-sua-vez { color: #1a9a5c; }
.in-form { display: flex; gap: 8px; }
.in-form[hidden] { display: none; }
.in-input { flex: 1; min-width: 0; font: inherit; font-size: 1.1rem; padding: 12px 14px; border-radius: 12px; border: 2px solid #1a9a5c; background: var(--bg); color: var(--text); }
.in-form .button { font: inherit; font-weight: 700; border: 0; cursor: pointer; }
.in-dicas { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 6px; }
.in-dicas li { display: grid; grid-template-columns: 34px auto 1fr; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 12px; background: var(--bg); border: 1px solid var(--border); animation: cm-in .25s ease; }
.in-dicas li.eu { border-color: #1f4fbf; }
.in-dica { font: 700 1.15rem "Space Grotesk", Inter, sans-serif; text-align: right; }
.in-dicas li em { text-align: right; }
.in-titulo { margin: 0 0 4px; font-size: 1.5rem; }
.in-sub { margin: 18px 0 0; font-size: 1rem; }
.in-votos { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin-top: 12px; }
.in-voto { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg); color: var(--text); font: inherit; font-weight: 700; cursor: pointer; text-align: left; }
.in-voto:hover:not(:disabled) { border-color: var(--muted); }
.in-voto.escolhido { border-color: #e5484d; background: #e5484d22; }
.in-voto:disabled { cursor: default; }
.in-voto:disabled:not(.escolhido) { opacity: .55; }
.in-chutes { margin-top: 14px; }
.in-chute { font-size: 1.05rem !important; }
.in-chute.escolhida { border-color: #f5c542; background: #f5c54233; }
.in-revela { text-align: center; padding: 16px; border-radius: 16px; background: var(--bg); border: 1px solid var(--border); display: flex; flex-direction: column; align-items: center; gap: 4px; }
.in-revela h2 { margin: 0; font-size: 1.8rem; }
.in-revela.pego { border-color: #1a9a5c; }
.in-revela.escapou, .in-revela.roubou { border-color: #e5484d; }
.in-revela.festa .rl-av { animation: pg-pop .5s ease; }
.in-palavra { margin: 4px 0 0; font-weight: 700; font-size: 1.1rem; }
.in-resumo { margin: 4px 0 0; color: var(--muted); max-width: 440px; }
.in-apuracao { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 6px; }
.in-apuracao li { display: grid; grid-template-columns: 34px 1fr auto auto; grid-template-areas: "av nick votos pts" "av txt votos pts"; column-gap: 10px; align-items: center; padding: 8px 12px; border-radius: 12px; background: var(--bg); border: 1px solid var(--border); }
.in-apuracao li.inf { border-color: #e5484d; }
.in-apuracao .rl-av { grid-area: av; }
.in-apuracao .rl-nick { grid-area: nick; font-weight: 700; }
.in-apuracao small { grid-area: txt; }
.in-apuracao b:first-of-type { grid-area: votos; }
.in-apuracao .rl-ganhou { grid-area: pts; min-width: 28px; text-align: right; }
@media (prefers-reduced-motion: reduce) { .in-dicas li, .ex-fim, .in-revela.festa .rl-av { animation: none; } }

/* abas da página inicial */
.tt-abas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 32px; }
.tt-aba { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 22px; text-decoration: none; color: var(--text); background: linear-gradient(140deg, #1a9a5c22, transparent 60%), var(--surface); border: 1px solid var(--border); border-top: 5px solid #1a9a5c; transition: transform .15s ease, border-color .15s ease; }
.tt-aba.amigos { background: linear-gradient(140deg, #1f4fbf22, transparent 60%), var(--surface); border-top-color: #1f4fbf; }
.tt-aba:hover { transform: translateY(-3px); }
.tt-aba strong { font: 700 1.8rem "Space Grotesk", Inter, sans-serif; }
.tt-aba-ico { font-size: 3rem; line-height: 1; }
.tt-aba .feature-cta { align-self: flex-start; margin-top: auto; }
.tt-passos { display: grid; gap: 8px; padding-left: 20px; color: var(--muted); }
.tt-passos strong { color: var(--text); }

/* pares */
.pr-grade { display: grid; grid-template-columns: repeat(var(--col), 1fr); gap: 8px; max-width: 460px; margin: 0 auto; }
.pr-carta { position: relative; aspect-ratio: 3 / 4; border: 0; padding: 0; background: none; cursor: pointer; perspective: 600px; font: inherit; }
.pr-carta span { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 12px; backface-visibility: hidden; transition: transform .35s ease; }
.pr-verso { background: linear-gradient(135deg, #1f4fbf, #6a2fb3); color: #ffffffaa; font: 700 1.6rem "Space Grotesk", Inter, sans-serif; }
.pr-frente { background: var(--bg); border: 2px solid var(--border); font-size: clamp(1.6rem, 7vw, 2.4rem); transform: rotateY(180deg); }
.pr-carta.aberta .pr-verso { transform: rotateY(180deg); }
.pr-carta.aberta .pr-frente { transform: rotateY(360deg); }
.pr-carta.par .pr-frente { border-color: #1a9a5c; background: #1a9a5c22; }
@media (prefers-reduced-motion: reduce) { .pr-carta span { transition: none; } }

/* deslize */
.dz-grade { display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 6px; max-width: 380px; margin: 0 auto 14px; padding: 6px; border-radius: 16px; background: #0d0d10; }
.dz-peca, .dz-vazio { aspect-ratio: 1; border-radius: 10px; }
.dz-peca { border: 0; font: 700 clamp(1.4rem, 6vw, 2rem) "Space Grotesk", Inter, sans-serif; cursor: pointer; touch-action: manipulation; box-shadow: inset 0 -4px 0 #0005; }
.dz-peca.certa { box-shadow: inset 0 -4px 0 #0005, inset 0 0 0 3px #1a9a5c; }
.dz-vazio { background: transparent; }

/* cabo de guerra */
.cb-campo { position: relative; display: grid; grid-template-rows: 1fr 1fr; height: min(70vh, 560px); border-radius: 18px; overflow: hidden; user-select: none; -webkit-user-select: none; touch-action: none; }
.cb-lado { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; cursor: pointer; }
.cb-lado.branco { background: #e9e9e9; color: #111; transform: rotate(180deg); }
.cb-lado.azul { background: #1f4fbf; color: #fff; }
.cb-lado.pulso { animation: cb-pulso .12s ease; }
.cb-nome { font: 700 1.4rem "Space Grotesk", Inter, sans-serif; letter-spacing: .1em; }
.cb-pts { font-size: 1.1rem; letter-spacing: .2em; }
.cb-toques { font: 700 3rem "Space Grotesk", Inter, sans-serif; opacity: .35; }
.cb-corda { position: absolute; left: 50%; top: 6%; bottom: 6%; width: 8px; margin-left: -4px; background: repeating-linear-gradient(0deg, #c8a26b 0 8px, #9c7a46 8px 16px); border-radius: 4px; pointer-events: none; }
.cb-linha { position: absolute; left: -40px; right: -40px; height: 4px; background: #b3121b; }
.cb-linha.branco { top: 0; }
.cb-linha.azul { bottom: 0; }
.cb-no { position: absolute; left: 50%; transform: translate(-50%, -50%); font-size: 2.4rem; transition: top .08s linear; }
.cb-aviso { position: absolute; inset: 0; display: grid; place-items: center; font: 700 clamp(3rem, 14vw, 5rem) "Space Grotesk", Inter, sans-serif; color: #f5c542; text-shadow: 0 4px 24px #000a; pointer-events: none; }
.cb-aviso[hidden] { display: none; }
@keyframes cb-pulso { 50% { filter: brightness(1.25); } }

/* blefe */
.bf-frase { margin: 6px 0 16px; padding: 18px; border-radius: 16px; background: var(--bg); border: 1px solid var(--border); font: 700 clamp(1.15rem, 4.5vw, 1.5rem) "Space Grotesk", Inter, sans-serif; line-height: 1.35; text-align: center; }
.bf-ops { display: grid; gap: 8px; margin-top: 10px; }
.bf-op { padding: 14px 16px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg); color: var(--text); font: inherit; font-weight: 700; font-size: 1.05rem; text-align: left; cursor: pointer; }
.bf-op:hover:not(:disabled) { border-color: var(--muted); }
.bf-op:disabled { cursor: default; }
.bf-op:disabled:not(.escolhido) { opacity: .55; }
.bf-op.escolhido { border-color: #f5c542; background: #f5c54233; opacity: 1; }
.bf-op small { color: var(--muted); font-weight: 500; }
.bf-revela { list-style: none; padding: 0; margin: 0 0 10px; display: grid; gap: 8px; }
.bf-revela li { padding: 12px 14px; border-radius: 12px; background: var(--bg); border: 1px solid var(--border); display: grid; gap: 4px; animation: cm-in .3s ease backwards; }
.bf-revela li.verdade { border-color: #1a9a5c; background: #1a9a5c18; }
.bf-revela-topo { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.bf-quem { font-size: .85rem; font-weight: 700; color: var(--muted); }
.bf-revela li.verdade .bf-quem { color: #1a9a5c; }

/* labirinto */
.lb-canvas { aspect-ratio: 1; max-width: 460px; cursor: default; }
.lb-pad { display: grid; grid-template-columns: repeat(3, 56px); grid-template-areas: ". cima ." "esq baixo dir"; gap: 6px; justify-content: center; margin-top: 12px; }
.lb-b { height: 52px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg); color: var(--text); font-size: 1.2rem; cursor: pointer; touch-action: manipulation; }
.lb-b.cima { grid-area: cima; } .lb-b.esq { grid-area: esq; } .lb-b.baixo { grid-area: baixo; } .lb-b.dir { grid-area: dir; }

/* acerta-alvo */
.av-campo { position: relative; height: min(62vh, 480px); border-radius: 18px; background: radial-gradient(circle at 50% 40%, #1f4fbf22, transparent 70%), var(--bg); border: 1px solid var(--border); overflow: hidden; touch-action: manipulation; user-select: none; -webkit-user-select: none; cursor: crosshair; }
.av-campo.treme { animation: pg-shake .35s ease; }
.av-alvo { position: absolute; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 50%; border: 0; background: #ffffff14; font-size: 2rem; line-height: 1; cursor: pointer; animation: av-nasce var(--vida) linear forwards; }
.av-alvo.estrela { width: 46px; height: 46px; margin: -23px 0 0 -23px; font-size: 1.6rem; }
.av-alvo.bomba { background: #e5484d22; }
.av-pop { position: absolute; transform: translate(-50%, -100%); font: 700 1.2rem "Space Grotesk", Inter, sans-serif; color: #1a9a5c; pointer-events: none; animation: pg-float .7s ease forwards; }
.av-pop.estrela { color: #f5c542; }
.av-pop.erro { color: #e5484d; }
.av-combo { font-weight: 700; color: #f5c542; }
@keyframes av-nasce { 0% { transform: scale(0); } 12% { transform: scale(1.1); } 20%, 75% { transform: scale(1); } 100% { transform: scale(.4); opacity: .3; } }

/* batata quente */
.bt-inicio .chips { justify-content: center; margin: 0; }
.bt-nomes { list-style: decimal inside; padding: 0; margin: 0; display: grid; gap: 6px; width: 100%; max-width: 340px; }
.bt-nomes li { display: flex; align-items: center; gap: 6px; }
.bt-nome { flex: 1; min-width: 0; font: inherit; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg); color: var(--text); }
.bt-tema { text-align: center; margin: 4px 0 8px; padding: 16px; border-radius: 16px; background: #f76b1522; border: 1px solid #f76b1555; display: flex; flex-direction: column; gap: 2px; }
.bt-tema small { color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; }
.bt-tema strong { font: 700 clamp(1.5rem, 6vw, 2rem) "Space Grotesk", Inter, sans-serif; }
.bt-batata { font-size: 7rem; line-height: 1; text-align: center; margin: 10px 0; user-select: none; }
.bt-batata.quente { animation: bt-treme .5s ease-in-out infinite; }
.bt-batata.pula { animation: pg-pop .25s ease; }
.bt-batata.explodiu { animation: pg-pop .4s ease; }
.bt-vez { text-align: center; font-size: 1.3rem; margin: 0 0 12px; }
.bt-passar { display: block; width: 100%; min-height: 80px; font-size: 1.6rem !important; }
@keyframes bt-treme { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg) scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .av-alvo, .bt-batata.quente { animation: none; } }

/* destaque da Luta de cartas (início e menu solo) */
.ct-destaque { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 20px; margin-top: 32px; padding: 24px; border-radius: 22px; text-decoration: none; color: var(--text); overflow: hidden; background: radial-gradient(circle at 85% 30%, #f5c54226, transparent 55%), linear-gradient(135deg, #1f4fbf33, transparent 60%), var(--surface); border: 1px solid var(--border); border-top: 5px solid #f5c542; transition: transform .2s ease, border-color .2s ease; }
.ct-destaque:hover { transform: translateY(-3px); border-color: var(--muted); border-top-color: #f5c542; }
.ct-destaque-txt { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.ct-destaque-txt strong { font: 700 clamp(1.9rem, 5vw, 2.6rem) "Space Grotesk", Inter, sans-serif; line-height: 1.05; }
.ct-destaque-selo { padding: 4px 12px; border-radius: 99px; background: #f5c542; color: #111; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; animation: pg-pulse .9s ease infinite alternate; }
.ct-destaque .game-best:empty { display: none; }
.ct-destaque .feature-cta { background: #f5c542; color: #111; }
.ct-destaque-cena { display: block; border-radius: 16px; overflow: hidden; background: radial-gradient(ellipse at 50% 100%, #1a9a5c33, transparent 70%), linear-gradient(180deg, #0f0f14, #16161c); box-shadow: inset 0 0 0 1px #ffffff12; }
.ct-destaque-cena .ct-cena { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; overflow: visible; }
@media (max-width: 640px) {
  .ct-destaque { grid-template-columns: 1fr; padding: 18px; gap: 14px; }
  .ct-destaque-cena { order: -1; }
}
@media (prefers-reduced-motion: reduce) { .ct-destaque-selo { animation: none; } }

/* configuração do site (config.js) */
.ct-destaque[hidden] { display: none; }
.ct-destaque-cena.emoji { display: grid; place-items: center; aspect-ratio: 2 / 1; }
.ct-destaque-cena.emoji svg { display: none; }
.ct-destaque-cena.emoji::after { content: attr(data-emoji); font-size: clamp(4rem, 14vw, 6.5rem); line-height: 1; animation: pg-pop .5s ease; }

/* página do ranking */
.rp { max-width: 760px; margin: 28px auto 0; }
.rp-modos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.rp-modos button { font: inherit; font-weight: 700; padding: 10px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); cursor: pointer; }
.rp-modos button[aria-selected="true"] { background: var(--accent); color: var(--accent-text); }
.rp-status { margin: 10px 0 0; font-size: .85rem; text-align: center; }
.rp-jogos { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; padding: 14px 2px 10px; scrollbar-width: thin; }
.rp-jogos button { flex: none; scroll-snap-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 92px; padding: 10px 6px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); color: var(--muted); font: inherit; font-size: .78rem; font-weight: 700; line-height: 1.15; cursor: pointer; transition: transform .15s ease, border-color .15s ease; }
.rp-jogos button:hover { border-color: var(--muted); }
.rp-jogos button.on { color: var(--text); border-color: #f5c542; background: linear-gradient(180deg, #f5c54222, var(--surface)); transform: translateY(-2px); }
.rp-jogo-ico { font-size: 1.7rem; line-height: 1; }
.rp-titulo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 4px; }
.rp-titulo h2 { margin: 0; font-size: 1.4rem; }
.rp-jogar { flex: none; font-weight: 700; }
.rp-carregando, .rp-vazio { text-align: center; padding: 28px 12px; }
.rp-vazio { display: grid; justify-items: center; gap: 10px; border-radius: 16px; background: var(--surface); border: 1px dashed var(--border); }
.rp-vazio p { margin: 0; }

/* pódio */
.rp-podio { list-style: none; display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 8px; padding: 0; margin: 18px 0 0; }
.rp-degrau { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; animation: cm-in .4s ease backwards; }
.rp-degrau.rp-p1 { animation-delay: .1s; } .rp-degrau.rp-p3 { animation-delay: .2s; }
.rp-av { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; font: 700 1.4rem "Space Grotesk", Inter, sans-serif; color: #111; background: #c7c7cc; box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px #c7c7cc; }
.rp-p1 .rp-av { width: 64px; height: 64px; font-size: 1.7rem; background: #f5c542; box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px #f5c542, 0 8px 24px #f5c54255; }
.rp-p3 .rp-av { background: #d08a4e; box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px #d08a4e; }
.rp-medalha { font-size: 1.4rem; margin-top: -12px; }
.rp-podio-nick { color: var(--text); max-width: 100%; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .95rem; }
.rp-podio-pts { font: 700 .85rem "Space Grotesk", Inter, sans-serif; color: var(--muted); }
.rp-bloco { display: grid; place-items: center; width: 100%; margin-top: 8px; border-radius: 12px 12px 4px 4px; font: 700 1.6rem "Space Grotesk", Inter, sans-serif; color: #ffffffcc; background: linear-gradient(180deg, #8e8e98, #5d5d66); }
.rp-p1 .rp-bloco { height: 110px; background: linear-gradient(180deg, #f5c542, #b8891c); color: #111a; }
.rp-p2 .rp-bloco { height: 80px; }
.rp-p3 .rp-bloco { height: 60px; background: linear-gradient(180deg, #d08a4e, #8f5627); }
.rp-degrau.vago .rp-bloco { opacity: .3; }
.rp-degrau.me .rp-podio-nick { color: #b3121b; }

/* lista */
.rp-lista, .rp-quadro { list-style: none; padding: 0; margin: 12px 0 0; border-radius: 16px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.rp-lista li, .rp-voce { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 10px; padding: 11px 16px; }
.rp-lista li + li { border-top: 1px solid var(--border); }
.rp-lista li.me, .rp-voce, .rp-quadro li.me { background: #b3121b14; font-weight: 700; }
.rp-voce { margin-top: 8px; border-radius: 14px; border: 1px dashed #b3121b66; }
.rp-pos { font: 700 1rem "Space Grotesk", Inter, sans-serif; text-align: center; color: var(--muted); }
.rp-nick { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-pts { font-family: "Space Grotesk", Inter, sans-serif; font-weight: 700; white-space: nowrap; }
.rp-dica { text-align: center; font-size: .9rem; margin: 14px 0 0; }

/* quadro de medalhas */
.rp-quadro-cab, .rp-quadro li { display: grid; grid-template-columns: 40px 1fr 38px 38px 38px; align-items: center; gap: 8px; }
.rp-quadro-cab { padding: 14px 14px 0; font-size: .8rem; font-weight: 700; color: var(--muted); text-align: center; }
.rp-quadro-cab span:nth-child(2) { text-align: left; }
.rp-quadro li { padding: 10px 14px; }
.rp-quadro li + li { border-top: 1px solid var(--border); }
.rp-quadro li:first-child .rp-pos { font-size: 1.4rem; }
.rp-quem { display: flex; flex-direction: column; min-width: 0; }
.rp-quem strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-quem small { font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-m { display: grid; place-items: center; height: 30px; border-radius: 8px; font: 700 .95rem "Space Grotesk", Inter, sans-serif; color: #111; }
.rp-m.ouro { background: #f5c542; } .rp-m.prata { background: #d4d4da; } .rp-m.bronze { background: #d08a4e; }
.rp-sub { margin: 26px 0 10px; font-size: 1.15rem; }
.rp-campeoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.rp-campeao { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.rp-campeao:hover { border-color: #f5c542; }
.rp-campeao strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-campeao .rp-pts { font-size: .85rem; color: var(--muted); }
@media (max-width: 520px) {
  .rp-lista li, .rp-voce { padding: 10px 12px; grid-template-columns: 36px 1fr auto; }
  .rp-av { width: 44px; height: 44px; font-size: 1.2rem; }
  .rp-p1 .rp-av { width: 54px; height: 54px; }
  .rp-podio-nick { font-size: .85rem; }
  .rp-podio-pts { font-size: .75rem; }
  .rp-quadro-cab, .rp-quadro li { grid-template-columns: 32px 1fr 30px 30px 30px; gap: 6px; padding-left: 10px; padding-right: 10px; }
  .rp-campeoes { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .rp-degrau { animation: none; } .rp-jogos button { transition: none; } }
.rk-completo { font-weight: 700; font-size: .9rem; }
