/* EJAC — GBJ, Quiz. Carregado depois do ../../styles.css e do ../gbj.css,
   então herda cores, fontes, cabeçalho/rodapé e o visual do painel GBJ —
   aqui só o que é só desta modalidade. */

.gbj-qz {
  padding: 40px 20px 60px;
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.gbj-qz h1 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.7rem, 5vw, 2.3rem);
  margin: 0 0 8px;
}

.gbj-qz-sub {
  color: var(--cinza-texto);
  font-size: .9rem;
  margin: 0 0 28px;
  line-height: 1.5;
}

.gbj-qz-config {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

/* [hidden] sozinho perde pra ".gbj-qz-config" em especificidade — sem
   isso, mostrarTela() marca "hidden" mas o flex continua desenhando a
   seção na tela (mesmo bug que já apareceu no mural, no ranking do Termo
   e no Sequência dos Livros) */
.gbj-qz-config[hidden] {
  display: none;
}

.gbj-qz-config select {
  max-width: 340px;
}

.gbj-qz-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  color: #ccc;
  cursor: pointer;
}

.gbj-qz-checkbox input {
  width: 17px;
  height: 17px;
  accent-color: var(--rosa);
  cursor: pointer;
}

/* ------------------------------------------------------------
   HUD (vidas, rodada, acertos, tempo)
   ------------------------------------------------------------ */
.gbj-qz-hud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  margin-bottom: 24px;
  font-size: .85rem;
  font-weight: 600;
  color: #ccc;
}

.gbj-qz-hud-item {
  background: #161616;
  border: 1px solid var(--cinza);
  border-radius: 999px;
  padding: 6px 14px;
}

.gbj-qz-tempo {
  border-color: var(--rosa);
  color: var(--rosa);
  min-width: 46px;
}

.gbj-qz-tempo:empty {
  display: none;
}

/* ------------------------------------------------------------
   Pergunta
   ------------------------------------------------------------ */
.gbj-qz-secao {
  font-family: var(--font-scribble);
  color: var(--rosa);
  font-size: 1rem;
  transform: rotate(-2deg);
  margin: 0 0 4px;
}

.gbj-qz-pergunta {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.1rem, 3.4vw, 1.4rem);
  color: var(--branco);
  line-height: 1.4;
  margin: 0 0 24px;
  text-align: left;
}

/* ------------------------------------------------------------
   Alternativas
   ------------------------------------------------------------ */
.gbj-qz-alternativas {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
}

.gbj-qz-alt {
  background: #161616;
  border: 2px solid var(--cinza);
  border-radius: 12px;
  padding: 14px 18px;
  color: var(--branco);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .92rem;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}

.gbj-qz-alt:hover:not(:disabled) {
  border-color: var(--rosa);
}

.gbj-qz-alt:disabled {
  cursor: default;
}

.gbj-qz-alt-certa {
  border-color: #2f8f4e;
  background: rgba(47, 143, 78, .25);
}

.gbj-qz-alt-errada {
  border-color: var(--laranja);
  background: rgba(193, 77, 19, .25);
}

/* ------------------------------------------------------------
   Feedback e ações pós-rodada
   ------------------------------------------------------------ */
.gbj-qz-feedback {
  min-height: 1.4em;
  margin: 18px 0 0;
  font-weight: 600;
  line-height: 1.5;
}

.gbj-qz-feedback-certo {
  color: #6fcf8f;
}

.gbj-qz-feedback-errado {
  color: #ff9d6a;
}

.gbj-qz-acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 22px;
}

.gbj-qz-fim-acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 10px;
}

/* mesmo motivo do .gbj-qz-config[hidden] acima: display:flex no mesmo
   elemento precisa de override explícito pro [hidden] esconder de verdade */
.gbj-qz-fim-acoes[hidden] {
  display: none;
}
