/* FUGA · linguagem única de comandos — páginas 1 a 7. */
:root{--fuga-btn-face:#fff;--fuga-btn-ink:#000;--fuga-btn-border:2px;--fuga-btn-radius:14px;--fuga-btn-font:Montserrat,Arial,sans-serif}

#paginaNome .btn,
#paginaBoasVindas button,
#paginaInstrucoes button,
#paginaLocais .btn,
#paginaLocalSelecionado .btn,
#paginaFinal .rank-switch button,
#paginaFinal #btnVerDiploma,
#paginaDiploma button,
#paginaDespedida #googleReviewBtn,
#paginaDespedida button{
  appearance:none!important;
  color:var(--fuga-btn-ink)!important;
  background:var(--fuga-btn-face)!important;
  border:var(--fuga-btn-border) solid var(--fuga-btn-ink)!important;
  border-radius:var(--fuga-btn-radius)!important;
  box-shadow:none!important;
  font-family:var(--fuga-btn-font)!important;
  font-weight:900!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
  transition:transform .14s ease,background .14s ease,color .14s ease!important;
}

#paginaNome .btn:hover,
#paginaBoasVindas button:hover,
#paginaInstrucoes button:hover,
#paginaLocais .btn:hover,
#paginaLocalSelecionado .btn:hover,
#paginaFinal .rank-switch button:hover,
#paginaFinal #btnVerDiploma:hover,
#paginaDiploma button:hover,
#paginaDespedida #googleReviewBtn:hover,
#paginaDespedida button:hover{transform:translateY(-2px)!important;filter:none!important}

#paginaNome .btn:active,
#paginaBoasVindas button:active,
#paginaInstrucoes button:active,
#paginaLocais .btn:active,
#paginaLocalSelecionado .btn:active,
#paginaFinal .rank-switch button:active,
#paginaFinal #btnVerDiploma:active,
#paginaDiploma button:active,
#paginaDespedida #googleReviewBtn:active,
#paginaDespedida button:active{transform:translateY(1px)!important;filter:none!important}

/* Estados que devem continuar imediatamente identificáveis. */
#paginaFinal .rank-switch button.active,
#paginaLocalSelecionado #btnAjuda{
  color:#fff!important;
  background:#000!important;
}

/* Ações pequenas de navegação preservam a mesma linguagem, não a mesma altura. */
#paginaLocalSelecionado #botaoVoltarLocais,
#paginaLocalSelecionado #linkTrajetoBtn,
#paginaDiploma #btnVoltarRanking,
#paginaDiploma #btnContinuarDespedida,
#paginaDespedida #btnVoltarDiploma,
#paginaDespedida #btnExit{border-radius:var(--fuga-btn-radius)!important}

#paginaNome .btn *,#paginaBoasVindas button *,#paginaInstrucoes button *,#paginaLocais .btn *,#paginaLocalSelecionado .btn *,#paginaFinal button *,#paginaDiploma button *,#paginaDespedida button *{font:inherit!important;letter-spacing:inherit!important;text-shadow:none!important}

/* Os nomes próprios vencem, por fim, as heranças medievais por ID. */
#paginaNome #idiomaPt,#paginaNome #idiomaEn,#paginaNome #botaoContinuar,
#paginaBoasVindas #botaoVerComoJogar,#paginaInstrucoes #botaoComecar,
#paginaLocais #mapaGeralBtn,#paginaLocalSelecionado #btnAjuda,
#paginaLocalSelecionado #botaoVoltarLocais,#paginaLocalSelecionado #linkTrajetoBtn,
#paginaFinal #btnRankWeek,#paginaFinal #btnRankMonth,#paginaFinal #btnVerDiploma,
#paginaDiploma #btnShareWA,#paginaDiploma #btnShareIG,#paginaDiploma #btnShareTT,
#paginaDiploma #fotoEquipaBtn,#paginaDiploma #btnVoltarRanking,#paginaDiploma #btnContinuarDespedida,
#paginaDespedida #googleReviewBtn,#paginaDespedida #btnGift,#paginaDespedida #btnVoltarDiploma,#paginaDespedida #btnExit{
  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-weight:900!important;
  font-style:normal!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}

/* Sistema final: todos os comandos transparentes, uma só voz e uma só escala. */
#paginaNome .btn,#paginaBoasVindas button,#paginaInstrucoes button,#paginaLocais .btn,
#paginaLocalSelecionado .btn,#paginaFinal .rank-switch button,#paginaFinal #btnVerDiploma,
#paginaDiploma button,#paginaDespedida #googleReviewBtn,#paginaDespedida button{
  color:#000!important;
  background:transparent!important;
  border:2px solid #000!important;
  box-shadow:none!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:clamp(1.05rem,5vw,1.55rem)!important;
  font-weight:900!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}
#paginaFinal .rank-switch button.active,#paginaLocalSelecionado #btnAjuda{color:#000!important;background:transparent!important;border-width:3px!important}
#paginaDespedida #btnVoltarDiploma{font-size:clamp(1.05rem,5vw,1.55rem)!important}
#paginaDespedida #btnVoltarDiploma::after{content:none!important;display:none!important}

/* Entrada: escrever o nome e continuar merecem a mesma métrica táctil. */
#paginaNome #formNome #nomeInput,
#paginaNome #formNome #botaoContinuar{
  box-sizing:border-box!important;
  height:76px!important;
  min-height:76px!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.08rem,5vw,1.55rem)!important;
  font-weight:900!important;
  line-height:1!important;
}
#paginaNome #formNome #nomeInput{
  padding:.75rem 1rem!important;
  color:#000!important;
  background:rgba(255,255,255,.94)!important;
  text-align:center!important;
}
#paginaNome #formNome #nomeInput::placeholder{
  color:#555!important;
  font:inherit!important;
  opacity:1!important;
}
#paginaNome #formNome #botaoContinuar{
  padding:.75rem 1rem!important;
  color:#000!important;
  background:transparent!important;
}
#paginaFinal #btnRankWeek.active,#paginaFinal #btnRankMonth.active,#paginaLocalSelecionado #btnAjuda{
  color:#fff!important;
  background:#000!important;
}

/* Página 1: bandeira mantém-se; cada palavra regressa ao alfabeto FUGA. */
#paginaNome #idiomaEscolha .btn .idioma-nome,
#paginaNome #idiomaEscolha .btn .idioma-nome *{
  color:#000!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:clamp(1.05rem,5.2vw,1.55rem)!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}
#paginaNome #idiomaEscolha .btn{border-radius:14px!important;box-shadow:none!important}

/* A capa já integra marca e título na própria imagem: não os duplicar no DOM. */
#paginaNome .fuga-entrada-marca{display:none!important}

/* Métrica FUGA: os comandos principais das páginas 1, 2, 3, 5 e 6. */
#paginaNome #idiomaPt,#paginaNome #idiomaEn,#paginaNome #botaoContinuar,
#paginaBoasVindas #botaoVerComoJogar,#paginaInstrucoes #botaoComecar,
#paginaFinal #btnRankWeek,#paginaFinal #btnRankMonth,#paginaFinal #btnVerDiploma{
  min-height:76px!important;
  height:76px!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-weight:900!important;
}

/* Páginas 1–3: molde literal do botão Review. */
#paginaNome #idiomaPt,#paginaNome #idiomaEn,#paginaNome #botaoContinuar,
#paginaBoasVindas #botaoVerComoJogar,#paginaInstrucoes #botaoComecar{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:76px!important;
  height:76px!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.08rem,5vw,1.55rem)!important;
  font-weight:900!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}

/* Tema por cidade: uma cor soberana, sem fundo opaco nos comandos. */
:root{--fuga-cor-botoes:#000000}
#paginaNome .btn,#paginaBoasVindas button,#paginaInstrucoes button,#paginaLocais .btn,
#paginaLocalSelecionado .btn,#paginaFinal .rank-switch button,#paginaFinal #btnVerDiploma,
#paginaDiploma button,#paginaDespedida #googleReviewBtn,#paginaDespedida button,
#paginaNome #formNome #nomeInput{
  color:var(--fuga-cor-botoes)!important;
  background-color:transparent!important;
  border-color:var(--fuga-cor-botoes)!important;
}
#paginaNome #formNome #nomeInput::placeholder{
  color:var(--fuga-cor-botoes)!important;
  opacity:.72!important;
}
#paginaNome .btn *,#paginaBoasVindas button *,#paginaInstrucoes button *,#paginaLocais .btn *,
#paginaLocalSelecionado .btn *,#paginaFinal button *,#paginaDiploma button *,#paginaDespedida button *{color:inherit!important}
#paginaFinal .rank-switch button.active,#paginaLocalSelecionado #btnAjuda{
  color:var(--fuga-cor-botoes)!important;
  background:transparent!important;
  border-color:var(--fuga-cor-botoes)!important;
}

/* Régua única FUGA: qualquer comando que faça avançar, voltar ou concluir
   ocupa exactamente 60px. A Ajuda conserva a dimensão das caixas de código,
   pois é uma ferramenta secundária da resolução. */
:root{--fuga-action-height:60px}
#paginaNome .btn,
#paginaBoasVindas button,
#paginaInstrucoes button,
#paginaLocais #mapaGeralBtn,
#paginaLocais .locais-page-nav,
#paginaLocalSelecionado .btn:not(#btnAjuda),
#paginaFinal .rank-switch button,
#paginaFinal #btnVerDiploma,
#paginaDiploma button,
#paginaDespedida #googleReviewBtn,
#paginaDespedida button{
  height:var(--fuga-action-height)!important;
  min-height:var(--fuga-action-height)!important;
}
#paginaDespedida #btnExit{margin-top:calc(-1 * var(--fuga-action-height))!important}

/* Os filtros do Ranking não são ações de percurso: mantêm-se deliberadamente
   pequenos para que os resultados ocupem a parte nobre do ecrã. */
#paginaFinal .rank-switch button{
  height:20px!important;
  min-height:20px!important;
  padding:0 .3rem!important;
  font-size:clamp(.62rem,2.8vw,.75rem)!important;
}

/* Fundos declarados em cidade.config.js > assets. */
:root.fuga-fundos-ativos #paginaNome{background:var(--img-capa) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaBoasVindas{background:var(--img-boas-vindas) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaInstrucoes{background:var(--img-como-jogar) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaLocais{background:var(--img-locais) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaLocalSelecionado{background:var(--img-jogo) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaFinal{background:var(--img-final) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaDiploma{background:var(--img-diploma) center center / cover no-repeat!important}
:root.fuga-fundos-ativos #paginaDespedida{background:var(--img-despedida) center center / cover no-repeat!important}

/* Lista explícita: vence as caixas antigas que ainda declaravam fundo próprio. */
html.fuga-fundos-ativos body #paginaNome #idiomaPt,
html.fuga-fundos-ativos body #paginaNome #idiomaEn,
html.fuga-fundos-ativos body #paginaNome #botaoContinuar,
html.fuga-fundos-ativos body #paginaBoasVindas #botaoVerComoJogar,
html.fuga-fundos-ativos body #paginaInstrucoes #botaoComecar,
html.fuga-fundos-ativos body #paginaLocais #mapaGeralBtn,
html.fuga-fundos-ativos body #paginaLocais #listaLocais .locais-page-nav,
html.fuga-fundos-ativos body #paginaLocalSelecionado #btnAjuda,
html.fuga-fundos-ativos body #paginaLocalSelecionado #botaoVoltarLocais,
html.fuga-fundos-ativos body #paginaLocalSelecionado #linkTrajetoBtn,
html.fuga-fundos-ativos body #paginaFinal #btnRankWeek,
html.fuga-fundos-ativos body #paginaFinal #btnRankMonth,
html.fuga-fundos-ativos body #paginaFinal #btnVerDiploma,
html.fuga-fundos-ativos body #paginaDiploma #btnShareWA,
html.fuga-fundos-ativos body #paginaDiploma #btnShareIG,
html.fuga-fundos-ativos body #paginaDiploma #btnShareTT,
html.fuga-fundos-ativos body #paginaDiploma #fotoEquipaBtn,
html.fuga-fundos-ativos body #paginaDiploma #btnVoltarRanking,
html.fuga-fundos-ativos body #paginaDiploma #btnContinuarDespedida,
html.fuga-fundos-ativos body #paginaDespedida #googleReviewBtn,
html.fuga-fundos-ativos body #paginaDespedida #btnGift,
html.fuga-fundos-ativos body #paginaDespedida #btnVoltarDiploma,
html.fuga-fundos-ativos body #paginaDespedida #btnExit{
  color:var(--fuga-texto-botoes,var(--fuga-cor-botoes))!important;
  background:var(--fuga-fundo-botoes,transparent)!important;
  border-color:var(--fuga-cor-botoes)!important;
  box-shadow:none!important;
}

/* Mapa e cartões de desafios são comandos de navegação e recebem a mesma
   pele configurada pela cidade. */
html.fuga-fundos-ativos body #paginaLocais .locais-control-panel #mapaGeralRow #mapaGeralBtn.btn.btn-blue,
html.fuga-fundos-ativos body #paginaLocais #listaLocais .local-postal,
html.fuga-fundos-ativos body #paginaLocais #listaLocais .local-postal .local-foto,
html.fuga-fundos-ativos body #paginaLocais #listaLocais .local-postal .local-conteudo{
  color:var(--fuga-texto-botoes,var(--fuga-cor-botoes))!important;
  background:var(--fuga-fundo-botoes,transparent)!important;
  border-color:var(--fuga-cor-botoes)!important;
  box-shadow:none!important;
}
html.fuga-fundos-ativos body #paginaLocais #listaLocais .local-postal .local-numero,
html.fuga-fundos-ativos body #paginaLocais #listaLocais .local-postal .local-nome{
  color:var(--fuga-texto-botoes,var(--fuga-cor-botoes))!important;
}

/* Páginas 5, 6 e 7: nenhum comando conserva uma pele própria. */
html.fuga-fundos-ativos body #paginaFinal button,
html.fuga-fundos-ativos body #paginaDiploma button,
html.fuga-fundos-ativos body #paginaDespedida button,
html.fuga-fundos-ativos body #paginaDespedida #googleReviewBtn{
  color:var(--fuga-texto-botoes,var(--fuga-cor-botoes))!important;
  background:var(--fuga-fundo-botoes,transparent)!important;
  border-color:var(--fuga-cor-botoes)!important;
  box-shadow:none!important;
}
html.fuga-fundos-ativos body #paginaFinal button *,
html.fuga-fundos-ativos body #paginaDiploma button *,
html.fuga-fundos-ativos body #paginaDespedida button *,
html.fuga-fundos-ativos body #paginaDespedida #googleReviewBtn *{
  color:inherit!important;
}
html.fuga-fundos-ativos body #paginaFinal #btnRankWeek.active,
html.fuga-fundos-ativos body #paginaFinal #btnRankMonth.active{
  color:var(--fuga-texto-botoes,var(--fuga-cor-botoes))!important;
  background:var(--fuga-fundo-botoes,transparent)!important;
  border-color:var(--fuga-cor-botoes)!important;
}

/* Campo de nome generoso para leitura confortável: tanto a sugestão como o
   nome escrito pela equipa usam uma escala ampla, sem cortar a caixa. */
#paginaNome #formNome #nomeInput{
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(1.4rem,5.3vw,1.75rem)!important;
  font-weight:700!important;
  letter-spacing:-.055em!important;
}
#paginaNome #formNome #nomeInput::placeholder{
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:inherit!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
  opacity:.72!important;
}
