/* FUGA · PÁGINA 5 — RANKING: composição fluida e prioritariamente móvel. */
html body #paginaFinal.container.page-balance{display:block!important;position:relative!important;width:min(100%,680px)!important;max-width:680px!important;min-height:100svh!important;height:auto!important;max-height:none!important;margin:0 auto!important;padding:clamp(1.25rem,5.5vw,2.25rem) clamp(1rem,5vw,1.75rem) calc(1.75rem + env(safe-area-inset-bottom))!important;overflow:visible!important;background:#fff!important;color:#000!important;border:0!important;box-shadow:none!important;font-family:Montserrat,Arial,sans-serif!important}
html body #paginaFinal.container.page-balance[style*="display:none"],html body #paginaFinal.container.page-balance[style*="display: none"]{display:none!important}
#paginaFinal *,#paginaFinal *::before,#paginaFinal *::after{box-sizing:border-box!important}
#paginaFinal .ranking-brand{width:clamp(72px,23vw,108px)!important;margin:0 auto .45rem!important;padding:0!important}
#paginaFinal .ranking-brand img{display:block;width:100%;height:auto}
#paginaFinal #caixaProclamacao.ranking-heading{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-align:center!important}
#paginaFinal #tituloProclamacao{margin:0!important;padding:0!important;color:#000!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(3.2rem,15.3vw,6rem)!important;font-weight:900!important;line-height:.88!important;letter-spacing:-.075em!important;text-shadow:none!important}
#paginaFinal #rankingCity{margin:.52rem 0 1.35rem!important;color:#000!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(1.35rem,6.4vw,2.25rem)!important;font-weight:800!important;line-height:1!important;letter-spacing:.15em!important;text-transform:uppercase!important}
#paginaFinal .ranking-wait{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;margin:0 0 1.2rem!important;color:#000!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(.95rem,4.2vw,1.35rem)!important;font-weight:800!important;line-height:1.2!important;text-align:center!important}
#paginaFinal #resultadoRanking{display:none!important}
#paginaFinal #rankingWrap{position:relative!important;inset:auto!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
#paginaFinal #rankingWrap::before{content:none!important;display:none!important}
#paginaFinal .rank-switch{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important;width:100%!important;margin:0 0 1.25rem!important}
#paginaFinal .rank-switch button{min-height:46px!important;margin:0!important;padding:.42rem .5rem!important;appearance:none!important;background:#fff!important;color:#000!important;border:2px solid #000!important;border-radius:12px!important;box-shadow:none!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(1.05rem,5vw,1.45rem)!important;font-weight:900!important;line-height:1!important;text-shadow:none!important}
#paginaFinal .rank-switch button.active{background:#000!important;color:#fff!important}
#paginaFinal #rankList{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;list-style:none!important;background:transparent!important;border:0!important}
#paginaFinal #rankList > li{display:grid!important;grid-template-columns:clamp(3rem,13vw,4.5rem) minmax(0,1fr) auto!important;align-items:center!important;gap:.65rem!important;width:100%!important;min-height:86px!important;height:auto!important;margin:0!important;padding:.72rem 0!important;list-style:none!important;color:#000!important;background:transparent!important;border:0!important;border-bottom:2px solid #000!important;border-radius:0!important;box-shadow:none!important;outline:0!important;font-family:Montserrat,Arial,sans-serif!important}
#paginaFinal #rankList > li.rank-me{margin-top:.2rem!important;padding-top:1rem!important;border-top:4px solid #000!important}
#paginaFinal .rank-ava{display:none!important}
#paginaFinal .rank-pos{display:block!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;color:#000!important;background:transparent!important;border:0!important;border-radius:0!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(2.55rem,12vw,4.4rem)!important;font-weight:900!important;line-height:.8!important;text-align:left!important}
#paginaFinal .rank-name{min-width:0!important;margin:0!important;color:#000!important}
#paginaFinal .rank-name strong,#paginaFinal .rank-name small{display:block!important;overflow:hidden!important;color:#000!important;font-family:Montserrat,Arial,sans-serif!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-shadow:none!important}
#paginaFinal .rank-name strong{font-size:clamp(1.05rem,5vw,1.55rem)!important;font-weight:900!important;line-height:1.05!important}
#paginaFinal .rank-name small{margin-top:.28rem!important;font-size:clamp(.76rem,3.5vw,1rem)!important;font-weight:700!important;line-height:1.1!important}
#paginaFinal .rank-meta{display:grid!important;gap:.34rem!important;margin:0!important;color:#000!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(.74rem,3.45vw,1rem)!important;font-weight:800!important;line-height:1.05!important;text-align:right!important;white-space:nowrap!important}
#paginaFinal .rank-meta div,#paginaFinal .rank-meta small{color:#000!important;font:inherit!important}
#paginaFinal #rankEmpty{margin:1rem 0!important;color:#000!important;font-family:Montserrat,Arial,sans-serif!important;font-size:1rem!important;font-weight:700!important;text-align:center!important}
#paginaFinal #btnVerDiploma{display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;inset:auto!important;width:100%!important;min-height:70px!important;margin:1.65rem 0 0!important;padding:.75rem 1rem!important;color:#000!important;background:#fff!important;border:2px solid #000!important;border-radius:14px!important;box-shadow:none!important;font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(1.15rem,5.5vw,1.7rem)!important;font-weight:900!important;line-height:1!important;text-shadow:none!important}
@media (min-width:700px){html body #paginaFinal.container.page-balance{padding-top:2rem!important}#paginaFinal #rankList > li{min-height:94px!important}}

/* A página anterior ainda continha regras de cenário com dois IDs. Esta
   camada final remove os cartões e devolve uma tabela limpa. */
#paginaFinal #rankingWrap #rankList > li{
  display:grid!important;
  grid-template-columns:clamp(4.8rem,20vw,6.5rem) minmax(0,1fr) auto!important;
  column-gap:clamp(.7rem,3vw,1.25rem)!important;
  align-items:center!important;
  min-height:86px!important;
  height:auto!important;
  margin:0!important;
  padding:.72rem 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:2px solid #000!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#paginaFinal #rankingWrap #rankList > li:nth-child(1),
#paginaFinal #rankingWrap #rankList > li:nth-child(2),
#paginaFinal #rankingWrap #rankList > li:nth-child(3){
  background:transparent!important;
  border-color:#000!important;
  box-shadow:none!important;
}

/* Marca FUGA: mesma posição e presença nas páginas 1, 2, 3 e Ranking. */
:root{--fuga-marca-w:clamp(118px,34vw,150px)}
#paginaFinal .ranking-brand{width:var(--fuga-marca-w)!important;margin:0 auto .6rem!important}
#paginaNome .fuga-entrada-marca{
  display:flex!important;
  position:relative!important;
  z-index:5!important;
  align-items:center!important;
  flex-direction:column!important;
  width:var(--fuga-marca-w)!important;
  margin:clamp(1.15rem,4svh,2rem) auto 0!important;
}
#paginaNome .fuga-entrada-marca #logoEntrada{
  display:block!important;
  width:var(--fuga-marca-w)!important;
  height:auto!important;
  margin:0!important;
}
#paginaBoasVindas .fuga-cena-logo,
#paginaInstrucoes .fuga-cena-logo{
  display:block!important;
  position:absolute!important;
  z-index:5!important;
  top:clamp(1.15rem,4svh,2rem)!important;
  left:50%!important;
  width:var(--fuga-marca-w)!important;
  height:auto!important;
  margin:0!important;
  transform:translateX(-50%)!important;
}

/* Hierarquia final do placar: o aviso acompanha os filtros; os números
   e a pontuação passam a ser os marcos visuais de cada linha. */
#paginaFinal .ranking-wait{
  margin:clamp(1.35rem,5svh,2.4rem) 0 .85rem!important;
  font-size:clamp(.92rem,4vw,1.2rem)!important;
}
#paginaFinal #rankingWrap .rank-pos{
  font-size:clamp(3.15rem,14.5vw,5rem)!important;
  font-weight:900!important;
  line-height:.78!important;
}
#paginaFinal #rankingWrap #rankList > li.rank-me .rank-pos{
  font-size:clamp(1.32rem,6.2vw,2.1rem)!important;
  letter-spacing:-.055em!important;
}
#paginaFinal #rankingWrap .rank-meta{
  font-size:clamp(.9rem,4.15vw,1.22rem)!important;
  font-weight:900!important;
  gap:.38rem!important;
}
#paginaFinal #rankingWrap .rank-meta small{font-size:clamp(.78rem,3.7vw,1.05rem)!important}

/* Tabela encosta aos filtros; o Diploma ganha a sua própria área de chegada. */
#paginaFinal #rankingWrap #rankList{margin:clamp(.9rem,3svh,1.5rem) 0 0!important}
#paginaFinal #btnVerDiploma{margin:clamp(2.25rem,7svh,4rem) 0 0!important}

/* O diploma é o fecho da página, não um prémio escondido abaixo da dobra. */
#paginaFinal .ranking-brand{
  width:clamp(88px,26vw,112px)!important;
  margin:0 auto .35rem!important;
}
#paginaFinal #tituloProclamacao{
  font-size:clamp(2.75rem,13vw,5rem)!important;
  line-height:.9!important;
}
#paginaFinal #rankingCity{margin:.35rem 0 .8rem!important}
#paginaFinal .ranking-wait{margin:.85rem 0 .65rem!important}
#paginaFinal .rank-switch{margin:0 0 .7rem!important}
#paginaFinal #rankingWrap #rankList{margin:.65rem 0 0!important}
#paginaFinal #rankingWrap #rankList > li{
  min-height:78px!important;
  padding:.58rem 0!important;
}
#paginaFinal #rankingWrap #rankList > li.rank-me{padding-top:.7rem!important}
#paginaFinal #rankingWrap .rank-pos{font-size:clamp(2.7rem,12.5vw,4.25rem)!important}
#paginaFinal #btnVerDiploma{
  min-height:60px!important;
  margin:1.9rem 0 0!important;
}

/* Mesmo quadro vertical das restantes páginas do jogo. */
html body #paginaFinal.container.page-balance{
  width:var(--game-safe-width)!important;
  max-width:var(--game-safe-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* A chegada dos dados do ranking não pode deslocar o Diploma: reservamos
   desde logo o espaço das quatro linhas que a tabela vai ocupar. */
#paginaFinal #rankingWrap #rankList{
  min-height:calc(4 * 78px)!important;
}

/* Semana e Mês são filtros: cedem protagonismo ao placar. */
#paginaFinal .ranking-wait{
  margin:.25rem 0 .45rem!important;
  font-size:clamp(.7rem,2.8vw,.88rem)!important;
  font-weight:800!important;
}
#paginaFinal .rank-switch{

  width:clamp(170px,46%,260px)!important;

  margin:0 auto .4rem!important;

  gap:.35rem!important;

}
