*{box-sizing:border-box}
:root{--senai:#006cb7;--senai2:#004f87;--texto:#17334c;--borda:#d6e6f2;--sucesso:#2f8f57;--erro:#c34d4d;--alerta:#d59b19;--uc-cor:#006cb7}
html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:"Segoe UI",Arial,sans-serif;color:var(--texto);background:#eef6fb}
button,input{font:inherit}button{cursor:pointer}.oculto{display:none!important}
.tela{display:none;width:100vw;height:100dvh;min-height:560px;overflow:hidden}.tela.ativa{display:block}

.tela-capa{background:url("../PNG/01_IDENTIDADE/bg_sit_capa.png") center/100% 100% no-repeat;position:relative}
.capa-conteudo{position:absolute;left:14.3vw;top:17.5vh;width:min(58vw,920px)}
.uc-box{display:flex;align-items:center;gap:.9rem;margin-bottom:2vh}.uc-cor{width:24px;aspect-ratio:1;border-radius:50%;background:var(--uc-cor)}
.uc-nome{font-size:clamp(1.35rem,2.1vw,2.4rem);font-weight:850}.uc-bloco{font-weight:800;text-transform:uppercase;margin-top:.35rem}
.identificacao{padding:1rem 1.2rem;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 15px 42px rgba(29,76,111,.15);border:1px solid rgba(0,108,183,.13)}
.identificacao h2{margin:0 0 1vh}.grade-alunos{display:grid;grid-template-columns:1fr 1fr;gap:.65vh 1vw}.grade-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1vw;margin-top:.7vh}
label{display:flex;flex-direction:column;gap:.25rem;font-weight:700;font-size:.9rem}
input{border:1px solid #c6dceb;border-radius:10px;height:42px;padding:.45rem .75rem;outline:none}
input:focus{border-color:var(--senai);box-shadow:0 0 0 3px rgba(0,108,183,.09)}
.erro-capa{min-height:1rem;color:var(--erro);font-weight:700;margin:.35vh 0}
.btn-iniciar-css{border:0;min-width:250px;height:48px;margin:.25vh auto 0;display:flex;align-items:center;justify-content:center;gap:.7rem;border-radius:999px;color:#fff;font-weight:900;background:linear-gradient(#1597e3,#0076bd 52%,#005e9e);box-shadow:0 8px 18px rgba(0,91,153,.24)}

.tela-questao{background:linear-gradient(rgba(255,255,255,.73),rgba(255,255,255,.73)),url("../PNG/01_IDENTIDADE/bg_sit_questao.png") center/100% 100% no-repeat}
.topo{height:82px;padding:.7rem 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--borda)}
.marca-sit{font-size:1.8rem;font-weight:950;color:var(--senai)}.topo-uc{font-weight:750}.topo-institucional{display:flex;align-items:center;gap:.6rem;color:var(--senai2)}
.marca-senai{font-size:1.5rem;font-style:italic;font-weight:950;color:var(--senai)}.separador-marca{width:1px;height:28px;background:#c9dbe8}.marca-fieg{display:flex;gap:.3rem;align-items:baseline}.marca-fieg strong{font-size:1.35rem}.marca-fieg span{font-size:.7rem;font-weight:900;letter-spacing:.08em}
.progresso-wrap{width:min(330px,31vw)}.progresso-texto{text-align:right;font-weight:900;margin-bottom:.3rem}.progresso-segmentos{display:flex;gap:4px}.segmento{flex:1;height:7px;border-radius:99px;background:#d4e3ee}.segmento.ativo{background:var(--uc-cor)}

.layout-questao{width:95vw;height:calc(100dvh - 124px);margin:0 auto;padding:2vh 0 1vh;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.95fr);gap:2.4vw}
.card-questao{height:100%;overflow:hidden;background:rgba(255,255,255,.96);border:1px solid var(--borda);border-radius:24px;padding:1.3rem;display:flex;flex-direction:column;box-shadow:0 15px 42px rgba(29,76,111,.11)}
.cabecalho-questao{display:flex;gap:.65rem;align-items:center;margin-bottom:.8vh}.questao-numero{font-weight:950;color:var(--senai)}.questao-tema{border-radius:99px;padding:.3rem .7rem;background:#eef6fb;color:var(--uc-cor);font-weight:850}
.card-questao h1{font-size:clamp(1rem,1.55vw,1.7rem);line-height:1.25;margin:0 0 1.2vh}
.alternativas{display:grid;gap:.75vh}.alternativa{min-height:54px;display:grid;grid-template-columns:37px 1fr;gap:.75rem;align-items:center;width:100%;text-align:left;border:1px solid #d5e4ee;background:#fbfdff;border-radius:14px;padding:.5rem .85rem;color:var(--texto)}
.alternativa.selecionada{border-color:var(--uc-cor);background:#f1f8fc}.alternativa.errada{border-color:var(--erro);background:#fff1f1;cursor:not-allowed;opacity:.84}.alternativa.correta{border-color:var(--sucesso);background:#eef9f2}
.letra{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eaf4fb;color:var(--senai2);font-weight:950}
.dica-box{margin-top:.8vh;border-left:5px solid var(--alerta);background:#fff9e8;padding:.55rem .8rem;border-radius:10px;display:flex;flex-direction:column;font-size:.9rem}
.acoes{display:flex;gap:.8rem;margin-top:auto;padding-top:1vh}.btn-principal,.btn-secundario,.btn-resultado{border:0;border-radius:99px;min-height:37px;padding:.62rem 1.35rem;font-weight:900}
.btn-principal{background:var(--senai);color:#fff}.btn-principal:disabled{opacity:.42;cursor:not-allowed}.btn-secundario{background:var(--sucesso);color:#fff}.btn-resultado{background:#6c4db4;color:#fff}

/* etapa de resolução: imagem grande é o foco */
.card-questao.modo-resolucao .alternativas,
.card-questao.modo-resolucao .dica-box,
.card-questao.modo-resolucao #btn-responder,
.card-questao.modo-resolucao #btn-avancar{display:none!important}
.card-questao.modo-resolucao h1{font-size:clamp(.95rem,1.25vw,1.35rem);margin-bottom:.6vh}
.painel-resolucao{min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}
.rotulo-resolucao{align-self:flex-start;font-weight:950;color:#6c4db4;font-size:.86rem;letter-spacing:.08em;margin-bottom:.35rem}
.correcao-imagem{width:100%;height:100%;max-height:58vh;object-fit:contain;object-position:center top;border-radius:14px;background:#fff}

/* etapa resultado: imagem some e alternativas voltam */
.card-questao.modo-resultado .painel-resolucao,
.card-questao.modo-resultado #btn-responder,
.card-questao.modo-resultado #btn-ver-resultado{display:none!important}

.area-tutor{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;overflow:hidden}
.balao{position:relative;width:min(95%,360px);min-height:90px;max-height:18vh;overflow:auto;background:#fff;border:2px solid #dbeaf4;border-radius:20px;padding:.75rem .9rem;margin-bottom:.35rem;box-shadow:0 10px 26px rgba(24,74,110,.12);line-height:1.38;font-weight:680}
.btn-interagir-tutor{z-index:5;margin:.5rem 0 .4rem;min-height:44px;padding:.68rem 1rem;border-radius:99px;border:2px solid #fff;background:linear-gradient(#1599e6,#006db8);color:#fff;font-weight:950;letter-spacing:.04em;box-shadow:0 0 0 4px rgba(0,108,183,.12),0 8px 22px rgba(0,91,153,.25);animation:pisca .85s ease-in-out infinite alternate}
@keyframes pisca{from{transform:scale(1)}to{transform:scale(1.055);filter:brightness(1.13)}}
.tutor-img,.tutor-video{width:min(88%,340px);max-height:54vh;object-fit:contain;object-position:bottom center;border-radius:18px}
.rodape{position:fixed;left:0;bottom:0;width:100%;height:42px;padding:.35rem 3vw;background:rgba(255,255,255,.94);border-top:1px solid var(--borda);display:flex;align-items:center;justify-content:space-between}.btn-mudo{border:1px solid var(--borda);background:#fff;border-radius:10px;padding:.3rem .5rem}

@media(max-height:720px){
 .correcao-imagem{max-height:52vh}
 .tutor-img,.tutor-video{max-height:48vh}
}


/* V1.7 — significado da sigla na capa */
.capa-significado-sit{
  position:absolute;
  left:14.3vw;
  top:11.7vh;
  color:#315d7b;
  font-size:clamp(.82rem,1.05vw,1.08rem);
  font-weight:750;
  letter-spacing:.035em;
}

/* V1.7 — puzzle de ordenação */
.imagem-desafio-wrap{
  width:100%;
  min-height:0;
  max-height:31vh;
  margin:.15vh 0 .65vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.imagem-desafio{
  display:block;
  width:100%;
  height:100%;
  max-height:30vh;
  object-fit:contain;
  object-position:center;
  border-radius:14px;
  background:#fff;
}
.puzzle-area{width:100%;margin-top:.15vh}
.puzzle-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.55rem;
  align-items:stretch;
}
.puzzle-card{
  position:relative;
  min-width:0;
  min-height:68px;
  border:2px solid #cbdfea;
  border-radius:14px;
  background:#f9fcfe;
  padding:.55rem .45rem .5rem;
  color:var(--texto);
  font-weight:850;
  font-size:clamp(.68rem,.82vw,.9rem);
  line-height:1.12;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:grab;
  user-select:none;
  transition:transform .14s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.puzzle-card:hover:not(.travado){transform:translateY(-2px);border-color:var(--senai)}
.puzzle-card.dragging{opacity:.42;transform:scale(.97)}
.puzzle-card.travado{
  cursor:default;
  border-color:#69ad80;
  background:#eff9f2;
  box-shadow:inset 0 0 0 1px rgba(47,143,87,.12);
}
.puzzle-card.travado::after{
  content:"✓";
  position:absolute;
  right:6px;
  top:5px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#3f9a60;
  color:#fff;
  font-size:.72rem;
  font-weight:950;
}
.puzzle-posicao{
  position:absolute;
  left:7px;
  top:5px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f3fa;
  color:var(--senai2);
  font-size:.7rem;
  font-weight:950;
}
.puzzle-card.travado .puzzle-posicao{background:#d8efdf;color:#267444}
.puzzle-legenda{text-align:center;margin-top:.28rem;color:#68849a;font-size:.76rem;font-weight:700}
.painel-resultado-puzzle{display:grid;gap:.7rem;margin-top:.25rem}
.resultado-puzzle-bloco{background:#f8fbfe;border:1px solid var(--borda);border-radius:14px;padding:.7rem}
.resultado-puzzle-bloco strong{display:block;margin-bottom:.45rem;font-size:.8rem;color:#496b83}
.sequencia-chips{display:flex;gap:.35rem;flex-wrap:wrap}
.seq-chip{padding:.4rem .58rem;border-radius:999px;background:#eef6fb;border:1px solid #cfe0ec;font-weight:800;font-size:.76rem}
.seq-chip.correto{background:#eff9f2;border-color:#9fcdb0}
.seq-chip.errado{background:#fff4f4;border-color:#dfb2b2}

/* Na resolução, desafio e puzzle saem para a imagem-resposta ocupar o slide */
.card-questao.modo-resolucao .imagem-desafio-wrap,
.card-questao.modo-resolucao .puzzle-area,
.card-questao.modo-resolucao .painel-resultado-puzzle{display:none!important}

/* No resultado do puzzle, a imagem de desafio e a montagem saem */
.card-questao.modo-resultado .imagem-desafio-wrap,
.card-questao.modo-resultado .puzzle-area{display:none!important}

@media(max-height:760px){
  .imagem-desafio-wrap{max-height:26vh}
  .imagem-desafio{max-height:25vh}
  .puzzle-card{min-height:59px;font-size:.72rem}
}


/* V1.7C — ajuste cirúrgico: imagem de apoio da Q1 abaixo da dica */
.imagem-desafio-wrap{
  flex:1 1 auto;
  width:100%;
  min-height:150px;
  max-height:none;
  margin:.65vh 0 .35vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.imagem-desafio{
  display:block;
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  border-radius:14px;
  background:#fff;
}

/* V1.8 Q2: completar nomes + ligações curvas sobre a arte-desafio */
.q2-stage{width:100%;margin:.25rem 0 .35rem}.q2-board{position:relative;width:min(100%,900px);margin:auto;aspect-ratio:900/438}.q2-board>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:12px}.q2-input{position:absolute;z-index:7;height:13%;border:2px solid #b7d3e7;border-radius:9px;background:rgba(255,255,255,.96);font-weight:850;letter-spacing:.055em;text-transform:uppercase;padding:0 .55rem;color:#0a3154;font-size:clamp(.62rem,.85vw,.9rem)}.q2-input.ok{border-color:#4ca66a;background:rgba(239,249,242,.98)}.q2-i1{left:27.3%;top:13.4%;width:24.3%}.q2-i2{left:27.3%;top:34.1%;width:24.3%}.q2-i3{left:27.3%;top:55.2%;width:24.3%}.q2-i4{left:27.3%;top:76.5%;width:24.3%}.q2-dot{position:absolute;z-index:10;width:2.25%;aspect-ratio:1;border:3px solid #0875c9;background:#fff;border-radius:50%;transform:translate(-50%,-50%);cursor:crosshair}.q2-dot.ok{border-color:#36a15a;background:#eaf8ef}.q2-o1{left:53.25%;top:20.5%}.q2-o2{left:53.25%;top:41.8%}.q2-o3{left:53.25%;top:62.9%}.q2-o4{left:53.25%;top:84.3%}.q2-dA{left:62.65%;top:16.2%}.q2-dB{left:62.65%;top:35.3%}.q2-dC{left:62.65%;top:54.6%}.q2-dD{left:62.65%;top:73.8%}.q2-dE{left:62.65%;top:92.4%}.q2-svg{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;overflow:visible}.q2-line{fill:none;stroke:#0b77c5;stroke-width:4;stroke-linecap:round}.q2-line.ok{stroke:#36a15a}.q2-line.temp{stroke:#8ab7d4;stroke-dasharray:7 7}.q2-help{text-align:center;font-size:.76rem;color:#617d91;font-weight:700;margin-top:.2rem}.card-questao.modo-resolucao .q2-stage,.card-questao.modo-resultado .q2-stage{display:none!important}@media(max-height:820px){.q2-board{width:min(86%,780px)}}


/* V1.10 — Q2: sem caixas sobre a arte e linhas editáveis/coloridas */
.q2-input{display:none!important}
.q2-svg{pointer-events:none}
.q2-line{
  fill:none;
  stroke-width:4.5;
  stroke-linecap:round;
  transition:opacity .15s ease,stroke-width .15s ease;
}
.q2-line.confirmada{
  stroke-width:5;
  opacity:1;
}
.q2-line:not(.confirmada){
  opacity:.95;
}
.q2-line:not(.confirmada):hover{
  stroke-width:7;
}
.q2-line.temp{
  stroke-width:4;
  stroke-dasharray:7 7;
  opacity:.75;
}


/* V1.11 — Q2: a própria PNG fornece os círculos visuais.
   Os pontos HTML são somente áreas invisíveis de interação. */
.q2-board{
  aspect-ratio:auto; /* o JS assume a proporção natural da imagem */
}
.q2-dot{
  width:4.2%!important;
  min-width:22px;
  aspect-ratio:1;
  border:0!important;
  background:transparent!important;
  opacity:0!important;
  cursor:crosshair;
  z-index:10;
}
.q2-dot.ok{
  border:0!important;
  background:transparent!important;
  opacity:0!important;
}

/* A cor da linha é definida pelo destino no JS.
   Removemos qualquer stroke fixo herdado das versões anteriores. */
.q2-svg .q2-line{
  stroke:unset;
}
.q2-svg .q2-line.temp{
  stroke:#6d9fc1;
}


/* V1.12 — Q2: círculos funcionais visíveis e posicionados ao lado das letras */
.q2-dot{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border:3px solid #0b76c5!important;
  background:#fff!important;
  opacity:1!important;
  border-radius:50%!important;
  cursor:crosshair!important;
  z-index:12!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.q2-dot.ok{
  opacity:1!important;
  background:#eef9f2!important;
}
.q2-o1{border-color:#f08a00!important}
.q2-o2{border-color:#1677c8!important}
.q2-o3{border-color:#f2b516!important}
.q2-o4{border-color:#7d45bd!important}

.q2-dA{border-color:#6f35b5!important}
.q2-dB{border-color:#1677c8!important}
.q2-dC{border-color:#f2b516!important}
.q2-dD{border-color:#f08a00!important}
.q2-dE{border-color:#7d45bd!important}

/* Destinos ficam imediatamente à esquerda das letras A–E */
.q2-dA{left:58.2%!important; top:18.7%!important}
.q2-dB{left:58.2%!important; top:36.8%!important}
.q2-dC{left:58.2%!important; top:54.8%!important}
.q2-dD{left:58.2%!important; top:72.7%!important}
.q2-dE{left:58.2%!important; top:90.2%!important}

/* Origens permanecem à direita de cada elemento */
.q2-o1{left:48.9%!important; top:25.3%!important}
.q2-o2{left:48.9%!important; top:44.4%!important}
.q2-o3{left:48.9%!important; top:63.2%!important}
.q2-o4{left:48.9%!important; top:82.5%!important}

/* Reduz levemente a arte para evitar extrapolação vertical */
.q2-board{
  width:min(78%,720px)!important;
  margin:0 auto!important;
}


/* V1.13 — Q2 layout estável em uma única tela */
.card-questao:has(.q2-interativa:not(.oculto)){
  overflow:hidden;
}
.q2-interativa{
  flex:0 0 auto!important;
  min-height:0!important;
  height:auto!important;
  margin-top:.35rem!important;
}
.q2-board{
  width:min(60%,620px)!important;
  max-width:620px!important;
  max-height:48vh!important;
  margin:.25rem auto .15rem!important;
  position:relative!important;
  overflow:visible!important;
}
.q2-board img,
#q2-bg{
  width:100%!important;
  height:auto!important;
  max-height:48vh!important;
  object-fit:contain!important;
  display:block!important;
}

/* Círculos funcionais em posição estável sobre a arte reduzida */
.q2-dot{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  border-width:3px!important;
  opacity:1!important;
  background:#fff!important;
  z-index:20!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92)!important;
}

/* origens, à direita de cada elemento */
.q2-o1{left:49.0%!important; top:25.2%!important}
.q2-o2{left:49.0%!important; top:44.3%!important}
.q2-o3{left:49.0%!important; top:63.2%!important}
.q2-o4{left:49.0%!important; top:82.2%!important}

/* destinos, imediatamente à esquerda das letras A-E */
.q2-dA{left:57.6%!important; top:18.7%!important}
.q2-dB{left:57.6%!important; top:36.8%!important}
.q2-dC{left:57.6%!important; top:54.9%!important}
.q2-dD{left:57.6%!important; top:72.8%!important}
.q2-dE{left:57.6%!important; top:90.1%!important}

/* Botão de validar nunca sai da tela */
.acoes{
  flex:0 0 auto!important;
  margin-top:auto!important;
  padding-top:.45rem!important;
  position:relative!important;
  z-index:30!important;
}
#btn-responder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Dica e instrução compactas */
.q2-mini-instrucao{
  margin:.25rem 0 .15rem!important;
  font-size:.75rem!important;
}
.dica-box{
  margin-top:.35rem!important;
  padding:.45rem .7rem!important;
}

/* Linhas */
.q2-line{
  stroke-width:4.2!important;
  pointer-events:stroke;
}
.q2-line.temp{
  stroke-width:3.5!important;
}


/* V1.14 — Q2: arte neutra + camada interativa 100% em código */
.q2-board{
  width:min(58%,600px)!important;
  max-width:600px!important;
  margin:.2rem auto .1rem!important;
  position:relative!important;
}
.q2-board img,
#q2-bg{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  max-height:46vh!important;
}

/* Círculos gerados por código */
.q2-dot{
  position:absolute!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  border:3px solid currentColor!important;
  background:#fff!important;
  opacity:1!important;
  border-radius:50%!important;
  z-index:30!important;
  cursor:crosshair!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.95)!important;
}
.q2-dot::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:50%;
}

/* Origens: à direita dos 4 elementos */
.q2-o1{left:48.6%!important;top:24.8%!important;color:#f08a00!important}
.q2-o2{left:48.6%!important;top:43.9%!important;color:#1677c8!important}
.q2-o3{left:48.6%!important;top:62.9%!important;color:#22a861!important}
.q2-o4{left:48.6%!important;top:82.0%!important;color:#7d45bd!important}

/* Destinos: à esquerda de A–E */
.q2-dA{left:58.0%!important;top:18.6%!important;color:#6f35b5!important}
.q2-dB{left:58.0%!important;top:36.7%!important;color:#1677c8!important}
.q2-dC{left:58.0%!important;top:54.8%!important;color:#f2b516!important}
.q2-dD{left:58.0%!important;top:72.8%!important;color:#f08a00!important}
.q2-dE{left:58.0%!important;top:90.0%!important;color:#7d45bd!important}

.q2-dot.ok{
  background:#eef9f2!important;
  opacity:1!important;
}

/* Linhas */
.q2-line{
  fill:none!important;
  stroke-width:4.3!important;
  stroke-linecap:round!important;
  pointer-events:stroke!important;
}
.q2-line:not(.confirmada){
  cursor:pointer!important;
}
.q2-line.temp{
  stroke:#6d9fc1!important;
  stroke-dasharray:7 7!important;
  opacity:.8!important;
}

/* Garante espaço para validar */
.q2-mini-instrucao{
  margin:.18rem 0 .12rem!important;
}
.acoes{
  margin-top:auto!important;
  padding-top:.35rem!important;
  flex:0 0 auto!important;
  z-index:40!important;
}
#btn-responder{
  display:inline-flex!important;
  visibility:visible!important;
}


/* V1.15 — não criar estados visuais extras nos pontos */
.q2-dot.ok{
  background:#fff!important;
  opacity:1!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.95)!important;
}


/* V1.16 — Q2 definitiva: arte neutra + círculos/linhas 100% por código */
.q2-stage{
  flex:0 0 auto!important;
  min-height:0!important;
  margin-top:.25rem!important;
}
.q2-board{
  position:relative!important;
  width:min(54%,560px)!important;
  max-width:560px!important;
  max-height:45vh!important;
  margin:.15rem auto .1rem!important;
  overflow:visible!important;
}
#q2-bg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:45vh!important;
  object-fit:contain!important;
}

/* 4 origens — centro no lado direito dos cards dos elementos */
.q2-o1{left:46.2%!important;top:14.2%!important}
.q2-o2{left:46.2%!important;top:30.0%!important}
.q2-o3{left:46.2%!important;top:49.6%!important}
.q2-o4{left:46.2%!important;top:71.0%!important}

/* 5 destinos — imediatamente à esquerda das letras A–E */
.q2-dA{left:62.3%!important;top:14.2%!important}
.q2-dB{left:62.3%!important;top:30.0%!important}
.q2-dC{left:62.3%!important;top:45.2%!important}
.q2-dD{left:62.3%!important;top:60.1%!important}
.q2-dE{left:62.3%!important;top:74.8%!important}

.q2-dot{
  position:absolute!important;
  transform:translate(-50%,-50%)!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  border-radius:50%!important;
  border:3px solid #0b73bb!important;
  background:#fff!important;
  opacity:1!important;
  z-index:25!important;
  cursor:crosshair!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.94)!important;
}
.q2-dot::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
}
.q2-o1,.q2-o2,.q2-o3,.q2-o4{border-color:#0b73bb!important}
.q2-dA{border-color:#6f35b5!important}
.q2-dB{border-color:#a84ee6!important}
.q2-dC{border-color:#ef6a88!important}
.q2-dD{border-color:#f2b516!important}
.q2-dE{border-color:#25a96b!important}
.q2-dot.ok{
  background:#eef9f2!important;
  opacity:1!important;
}

/* SVG occupies exactly the board; only line strokes capture clicks */
.q2-svg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:18!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.q2-line{
  fill:none!important;
  stroke-width:4.2!important;
  stroke-linecap:round!important;
  pointer-events:stroke!important;
}
.q2-line.confirmada{stroke-width:4.8!important}
.q2-line.temp{
  stroke-dasharray:7 7!important;
  opacity:.75!important;
}
.q2-help{
  text-align:center!important;
  margin:.15rem auto .1rem!important;
  font-size:.75rem!important;
  font-weight:700!important;
  color:#59788f!important;
}
.acoes{
  margin-top:auto!important;
  padding-top:.3rem!important;
  flex:0 0 auto!important;
}
#btn-responder,#btn-avancar{
  position:relative!important;
  z-index:40!important;
}


/* V1.17 — ajuste final de alinhamento dos 9 círculos na arte neutra atual */
.q2-board{
  width:min(56%,590px)!important;
  max-width:590px!important;
  margin:.15rem auto .1rem!important;
}

/* Origens: centro vertical de cada card da coluna esquerda */
.q2-o1{left:48.7%!important;top:17.2%!important}
.q2-o2{left:48.7%!important;top:35.2%!important}
.q2-o3{left:48.7%!important;top:53.8%!important}
.q2-o4{left:48.7%!important;top:72.5%!important}

/* Destinos: imediatamente à esquerda das letras A-E */
.q2-dA{left:62.8%!important;top:15.6%!important}
.q2-dB{left:62.8%!important;top:30.8%!important}
.q2-dC{left:62.8%!important;top:46.2%!important}
.q2-dD{left:62.8%!important;top:61.5%!important}
.q2-dE{left:62.8%!important;top:76.9%!important}

/* Círculos discretos, com hitbox maior invisível */
.q2-dot{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  transform:translate(-50%,-50%)!important;
}
.q2-dot::before{
  inset:-11px!important;
}


/* V1.18 — reposicionamento fino dos pontos da Q2
   Origens ficam DENTRO da borda direita dos cards.
   Destinos ficam à ESQUERDA das letras, sem encobri-las. */

/* Origens — dentro dos cards dos elementos */
.q2-o1{left:45.2%!important;top:17.0%!important}
.q2-o2{left:45.2%!important;top:35.7%!important}
.q2-o3{left:45.2%!important;top:55.0%!important}
.q2-o4{left:45.2%!important;top:74.4%!important}

/* Destinos — à esquerda das letras A–E */
.q2-dA{left:59.4%!important;top:15.0%!important}
.q2-dB{left:59.4%!important;top:30.8%!important}
.q2-dC{left:59.4%!important;top:46.9%!important}
.q2-dD{left:59.4%!important;top:70.2%!important}
.q2-dE{left:59.4%!important;top:90.0%!important}

/* Um pouco menores visualmente, mantendo a área clicável generosa */
.q2-dot{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
}
.q2-dot::before{
  inset:-12px!important;
}


/* V1.19 — posicionamento dos círculos baseado na arte de referência visual
   Mantém toda a lógica da V1.18. */

/* ORIGENS: círculos dentro da borda direita de cada caixa, centralizados */
.q2-o1{left:47.4%!important;top:18.7%!important}
.q2-o2{left:47.4%!important;top:39.6%!important}
.q2-o3{left:47.4%!important;top:61.6%!important}
.q2-o4{left:47.4%!important;top:83.8%!important}

/* DESTINOS: círculos à esquerda das letras A–E, sem sobrepor as letras */
.q2-dA{left:62.0%!important;top:17.1%!important}
.q2-dB{left:62.0%!important;top:36.5%!important}
.q2-dC{left:62.0%!important;top:55.3%!important}
.q2-dD{left:62.0%!important;top:73.0%!important}
.q2-dE{left:62.0%!important;top:88.8%!important}

/* Visual discreto, mantendo hitbox ampliado */
.q2-dot{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  transform:translate(-50%,-50%)!important;
}
.q2-dot::before{
  inset:-12px!important;
}


/* V1.20 — ajuste horizontal final dos círculos da Q2
   Todos os pontos foram deslocados para a esquerda:
   - origens ficam mais claramente DENTRO dos cards dos elementos;
   - destinos ficam à esquerda das letras A–E sem encobri-las. */

/* Origens — mais para dentro das caixas */
.q2-o1{left:45.8%!important;top:18.7%!important}
.q2-o2{left:45.8%!important;top:39.6%!important}
.q2-o3{left:45.8%!important;top:61.6%!important}
.q2-o4{left:45.8%!important;top:83.8%!important}

/* Destinos — mais à esquerda das letras */
.q2-dA{left:59.7%!important;top:17.1%!important}
.q2-dB{left:59.7%!important;top:36.5%!important}
.q2-dC{left:59.7%!important;top:55.3%!important}
.q2-dD{left:59.7%!important;top:73.0%!important}
.q2-dE{left:59.7%!important;top:88.8%!important}


/* V1.21 — Q3 resposta aberta tutoriada */
.q3-stage{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  margin-top:.35rem;
}
.q3-corpo{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr);
  gap:1rem;
  min-height:0;
  align-items:stretch;
}
.q3-imagem-wrap{
  min-height:0;
  border:1px solid #cfe3f1;
  border-radius:16px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.q3-imagem{
  display:block;
  width:100%;
  max-height:43vh;
  object-fit:contain;
}
.q3-resposta-wrap{
  border:1px solid #cfe3f1;
  border-radius:16px;
  padding:.85rem;
  background:#f8fcff;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.q3-resposta-wrap label{
  color:#075f9d;
  margin-bottom:.45rem;
  font-size:1rem;
}
#q3-resposta{
  flex:1 1 auto;
  min-height:180px;
  resize:none;
  border:2px solid #b9d7ea;
  border-radius:13px;
  padding:.85rem;
  font:inherit;
  font-size:1rem;
  line-height:1.45;
  color:#17364c;
  background:#fff;
  outline:none;
}
#q3-resposta:focus{
  border-color:#0878c9;
  box-shadow:0 0 0 3px rgba(8,120,201,.12);
}
#q3-resposta:disabled{
  background:#f1f7fa;
}
.q3-contador{
  text-align:right;
  color:#698496;
  font-size:.78rem;
  margin-top:.25rem;
}
@media(max-width:980px){
  .q3-corpo{grid-template-columns:1fr}
  .q3-imagem{max-height:32vh}
  #q3-resposta{min-height:130px}
}

/* V1.22 — Q4 V/F progressivo */
.q4-stage{flex:1 1 auto;min-height:0;margin-top:.3rem}
.q4-corpo{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:.8rem;align-items:stretch;min-height:0}
.q4-imagem-wrap{border:1px solid #cfe3f1;border-radius:15px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.q4-imagem{display:block;width:100%;max-height:49vh;object-fit:contain}
.q4-lista{display:flex;flex-direction:column;gap:.42rem;justify-content:center}
.q4-item{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;border:1.5px solid #cfe3f1;border-radius:12px;padding:.52rem .62rem;background:#fff;transition:.2s}
.q4-texto{display:flex;gap:.55rem;align-items:flex-start;font-size:.80rem;line-height:1.165;color:#17364c}
.q4-letra{flex:0 0 27px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e6f4fd;color:#0670b7;font-weight:800}
.q4-botoes{display:flex;gap:.3rem}
.q4-vf{width:38px;height:34px;border:2px solid #b9d7ea;border-radius:9px;background:#fff;color:#31566d;font-weight:900;cursor:pointer}
.q4-vf:hover:not(:disabled){border-color:#0878c9}
.q4-vf.selecionado{background:#0878c9;color:#fff;border-color:#0878c9}
.q4-item.q4-correto{border-color:#70c89b;background:#f1fbf6}
.q4-item.q4-erro{border-color:#e49a9a;background:#fff6f6}
.q4-vf.q4-gabarito{background:#1f9d62!important;color:#fff!important;border-color:#1f9d62!important}
.q4-vf:disabled{cursor:default;opacity:.72}.q4-vf.q4-gabarito:disabled{opacity:1}
@media(max-width:1000px){.q4-corpo{grid-template-columns:1fr}.q4-imagem{max-height:28vh}.q4-texto{font-size:.8rem}}

/* V1.24 — Q5 diagnóstico visual em duas etapas */
.q5-stage{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);gap:.8rem;margin-top:.35rem;align-items:stretch}
.q5-imagem-wrap{position:relative;min-height:0;border:1px solid #cfe3f1;border-radius:15px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
.q5-imagem{display:block;width:100%;max-height:49vh;object-fit:contain}
.q5-hotspots{position:absolute;inset:0}
.q5-hotspot{position:absolute;border:2px solid transparent;background:transparent;border-radius:12px;cursor:pointer;transition:.18s}
.q5-hotspot span{position:absolute;left:8px;top:8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);border:2px solid #1780c3;color:#0870b2;font-weight:900;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.q5-hotspot:hover:not(:disabled){border-color:#1780c3;background:rgba(23,128,195,.08)}
.q5-hotspot.q5-selecionado{border-color:#1780c3;background:rgba(23,128,195,.11)}
.q5-hotspot.q5-erro{border-color:#d95b5b;background:rgba(217,91,91,.10)}
.q5-hotspot.q5-correto{border-color:#1f9d62;background:rgba(31,157,98,.10)}
.q5-etapa2{border:1px solid #cfe3f1;border-radius:15px;background:#f8fcff;padding:.8rem;display:flex;flex-direction:column;justify-content:center;gap:.6rem}
.q5-etapa2-enunciado{font-weight:800;color:#17364c;line-height:1.3}
.q5-opcoes{display:flex;flex-direction:column;gap:.5rem}
.q5-opcao{display:flex;align-items:center;gap:.55rem;text-align:left;border:1.5px solid #c5ddeb;border-radius:11px;background:#fff;padding:.65rem;cursor:pointer;color:#17364c;font:inherit;line-height:1.25}
.q5-opcao:hover:not(:disabled),.q5-opcao.selecionado{border-color:#0878c9;background:#eef8fe}
.q5-opcao-letra{flex:0 0 29px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e6f4fd;color:#0870b2;font-weight:900}
.q5-opcao.q5-erro2{border-color:#df8d8d;background:#fff4f4}
.q5-opcao.q5-correto2{border-color:#1f9d62;background:#effaf4}
.q5-opcao.q5-correto2 .q5-opcao-letra{background:#1f9d62;color:#fff}
@media(max-width:1000px){.q5-stage{grid-template-columns:1fr}.q5-imagem{max-height:31vh}}

/* V1.25 — Q6 segurança: decisão + seleção de evidências */
.q6-stage{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:.8rem;margin-top:.35rem}
.q6-cena{min-height:0;border:1px solid #cfe3f1;border-radius:15px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
.q6-imagem{display:block;width:100%;max-height:49vh;object-fit:contain}
.q6-painel{border:1px solid #cfe3f1;border-radius:15px;background:#f8fcff;padding:.85rem;display:flex;flex-direction:column;justify-content:center;gap:.7rem}
.q6-pergunta,.q6-etapa2-enunciado{font-weight:800;color:#17364c;line-height:1.3}
.q6-decisao-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}
.q6-decisao-btn{border:2px solid #bdd9e9;border-radius:12px;background:#fff;padding:.9rem .5rem;font-weight:900;color:#17364c;cursor:pointer}
.q6-decisao-btn:hover:not(:disabled),.q6-decisao-btn.selecionado{border-color:#0878c9;background:#eef8fe}
.q6-decisao-btn.erro{border-color:#d95b5b;background:#fff2f2}
.q6-decisao-btn.correto{border-color:#1f9d62;background:#effaf4}
.q6-etapa2{display:flex;flex-direction:column;gap:.6rem}
.q6-itens{display:flex;flex-direction:column;gap:.42rem}
.q6-item{display:flex;align-items:center;gap:.55rem;text-align:left;border:1.5px solid #c5ddeb;border-radius:10px;background:#fff;padding:.52rem .6rem;cursor:pointer;color:#17364c;font:inherit;line-height:1.2}
.q6-check{width:23px;height:23px;flex:0 0 23px;border:2px solid #8fb8cf;border-radius:6px;background:#fff}
.q6-item.selecionado{border-color:#0878c9;background:#eef8fe}
.q6-item.selecionado .q6-check{background:#0878c9;border-color:#0878c9;box-shadow:inset 0 0 0 5px #eef8fe}
.q6-item.erro{border-color:#d95b5b;background:#fff2f2}
.q6-item.correto{border-color:#1f9d62;background:#effaf4}
.q6-item.correto .q6-check{background:#1f9d62;border-color:#1f9d62}
@media(max-width:1000px){.q6-stage{grid-template-columns:1fr}.q6-imagem{max-height:29vh}}


/* V1.26 — ajuste cirúrgico de layout SOMENTE na Q6 */
.card-questao:has(.q6-stage:not(.oculto)) .q6-stage{
  flex:0 1 auto!important;
  min-height:0!important;
  height:min(47vh,440px)!important;
  margin-top:0!important;
  align-items:start!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-cena{
  height:100%!important;
  min-height:0!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-imagem{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:top center!important;
  display:block!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-painel{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:.68rem!important;
  justify-content:flex-start!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-etapa2{
  gap:.42rem!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-itens{
  gap:.30rem!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-item{
  padding:.40rem .52rem!important;
  line-height:1.12!important;
  font-size:.92rem!important;
}

/* A dica da Q6 fica restrita à largura da coluna esquerda.
   Linha 1 = "Dica"; linha 2 = texto curto. */
.card-questao:has(.q6-stage:not(.oculto)) .dica-box{
  width:62.2%!important;
  max-width:62.2%!important;
  box-sizing:border-box!important;
  margin:.30rem 0 0 0!important;
  padding:.34rem .62rem!important;
  flex:0 0 auto!important;
  font-size:.79rem!important;
  line-height:1.15!important;
  border-left-width:4px!important;
  border-radius:9px!important;
  position:relative!important;
  z-index:20!important;
  overflow:hidden!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .dica-box strong{
  display:block!important;
  line-height:1.05!important;
  margin:0 0 .10rem!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .dica-box span{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.12!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .acoes{
  padding-top:.20rem!important;
}

@media(max-width:1100px){
  .card-questao:has(.q6-stage:not(.oculto)) .dica-box{
    width:100%!important;
    max-width:100%!important;
  }
}


/* V1.27 — Q6: adequação final da coluna direita */
.card-questao:has(.q6-stage:not(.oculto)) .q6-painel{
  padding:.52rem .62rem!important;
  gap:.34rem!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-pergunta{
  line-height:1.05!important;
  margin:0!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-decisao-opcoes{
  gap:.42rem!important;
  margin-top:.34rem!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-decisao-btn{
  padding:.55rem .38rem!important;
  min-height:0!important;
  line-height:1.05!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-etapa2{
  gap:.28rem!important;
  min-height:0!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-etapa2-enunciado{
  font-size:.90rem!important;
  line-height:1.13!important;
  margin:0!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-itens{
  gap:.22rem!important;
  min-height:0!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-item{
  padding:.31rem .44rem!important;
  min-height:0!important;
  font-size:.84rem!important;
  line-height:1.08!important;
  border-radius:9px!important;
}

.card-questao:has(.q6-stage:not(.oculto)) .q6-check{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  border-radius:5px!important;
}

/* Na Q6, aproxima as ações do conteúdo sem alterar outras questões. */
.card-questao:has(.q6-stage:not(.oculto)) .acoes{
  margin-top:.18rem!important;
  padding-top:0!important;
  align-self:flex-start!important;
}


/* V1.30 CHECKPOINT — somente identidade/capa/atalho DEV; mecânica das questões preservada */
.assinatura-capa{position:absolute;right:4.2vw;top:2.8vh;width:min(24vw,390px);max-height:9vh;object-fit:contain;object-position:right center;z-index:2}
.assinatura-questao{display:block;width:min(24vw,330px);max-height:56px;object-fit:contain;object-position:center}
.acoes-capa{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap}
.btn-dev-q7{border:1px solid #8bbbe0;min-width:205px;height:42px;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;color:#075b98;font-weight:850;background:rgba(240,248,254,.96);box-shadow:0 5px 14px rgba(0,91,153,.12)}
.btn-dev-q7:hover{background:#e5f3fc;border-color:#4d9bd0}
.rodape-colegio{font-weight:800;color:var(--senai2);max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.credito-professor{position:absolute;right:7.2vw;font-size:clamp(.68rem,.78vw,.82rem);font-weight:650;color:#315d7b;opacity:.9;white-space:nowrap}
@media(max-height:700px){.identificacao{padding:.7rem 1rem}.btn-iniciar-css{height:42px}.btn-dev-q7{height:38px}.assinatura-capa{top:2vh}}


/* V1.31 CHECKPOINT — régua inferior exclusivamente informativa.
   Números não são links; setas apenas mudam a janela visual. */
.regua-progresso{position:fixed;left:0;right:0;bottom:42px;height:58px;z-index:60;display:flex;align-items:center;justify-content:center;gap:.55rem;background:rgba(255,255,255,.97);border-top:1px solid #dcebf5;box-shadow:0 -4px 16px rgba(29,76,111,.05);pointer-events:auto}
.regua-numeros{display:flex;align-items:center;justify-content:center;gap:.55rem;min-width:min(540px,62vw)}
.regua-numero{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef3f7;color:#234a69;font-weight:850;font-size:.95rem;user-select:none;pointer-events:none}
.regua-numero.atual{background:#0875c9;color:#fff;box-shadow:0 3px 10px rgba(8,117,201,.24)}
.regua-seta{width:38px;height:38px;border-radius:50%;border:1px solid #cfe1ee;background:#fff;color:#0875c9;font-size:1.55rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.regua-seta:disabled{opacity:.22;cursor:default}
.rodape{z-index:61}
@media(max-width:900px){.regua-progresso{gap:.25rem}.regua-numeros{gap:.28rem;min-width:auto}.regua-numero{width:32px;height:32px;font-size:.82rem}.regua-seta{width:32px;height:32px}}
\n\n/* V1.32 — checkpoint de layout global e régua inferior\n   Mudanças exclusivamente visuais/informativas: a mecânica das questões permanece intacta. */\n.topo{\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) auto!important;\n  align-items:center!important;\n  gap:1.5rem!important;\n}\n.topo-institucional{\n  justify-self:end!important;\n  margin-left:auto!important;\n}\n.assinatura-questao{\n  width:min(27vw,365px)!important;\n  max-height:58px!important;\n  object-position:right center!important;\n}\n/* A régua antiga do topo foi removida do HTML nesta versão. */\n.progresso-wrap,.progresso-texto,.progresso-segmentos{display:none!important}\n\n/* Reserva física para a régua + rodapé: nada pode cobrir RESPONDER/VERIFICAR/AVANÇAR. */\n.layout-questao{\n  height:calc(100dvh - 182px)!important;\n  padding:1.6vh 0 .8vh!important;\n}\n.card-questao{min-height:0!important}\n.acoes{\n  position:relative!important;\n  z-index:70!important;\n  flex:0 0 auto!important;\n  margin-top:auto!important;\n  padding-top:.45rem!important;\n  padding-bottom:.15rem!important;\n}\n#btn-responder,#btn-ver-resultado,#btn-avancar{\n  position:relative!important;\n  z-index:71!important;\n}\n\n/* Régua global: informativa. Os números não navegam. As setas só mudam a faixa visualizada. */\n.regua-progresso{\n  height:58px!important;\n  bottom:42px!important;\n  z-index:60!important;\n  gap:.5rem!important;\n}\n.regua-numeros{\n  min-width:auto!important;\n  max-width:72vw!important;\n  gap:.5rem!important;\n}\n.regua-numero{\n  width:38px!important;\n  height:38px!important;\n  flex:0 0 38px!important;\n  pointer-events:none!important;\n}\n.regua-reticencias,.regua-total{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  height:38px;\n  color:#234a69;\n  font-weight:850;\n  font-size:1rem;\n  user-select:none;\n  pointer-events:none;\n}\n.regua-reticencias{min-width:18px}\n.regua-total{min-width:26px}\n.regua-seta{\n  flex:0 0 38px!important;\n}\n\n@media(max-width:900px){\n  .assinatura-questao{width:min(34vw,300px)!important}\n  .regua-numero{width:32px!important;height:32px!important;flex-basis:32px!important}\n  .regua-reticencias,.regua-total{height:32px;font-size:.86rem}\n}\n
/* V1.32.1 — microcheckpoint: régua mais baixa + rodapé reposicionado.
   Alterações somente de layout/CSS. Mecânica Q1–Q7 preservada. */
.regua-progresso{
  height:42px!important;
  bottom:38px!important;
  gap:.38rem!important;
  padding:0 .35rem!important;
}
.regua-numeros{
  gap:.38rem!important;
}
.regua-numero{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  font-size:.84rem!important;
}
.regua-seta{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  font-size:1.25rem!important;
}
.regua-reticencias,.regua-total{
  height:32px!important;
  font-size:.88rem!important;
}
.rodape{
  height:38px!important;
  padding:.25rem 3vw!important;
}
.rodape-colegio{
  margin-left:12vw!important;
  max-width:34vw!important;
}
/* Reserva física real para os controles das questões acima da régua fixa. */
.layout-questao{
  height:calc(100dvh - 198px)!important;
  padding-bottom:1rem!important;
}
.acoes{
  padding-bottom:.55rem!important;
}
@media(max-width:900px){
  .rodape-colegio{margin-left:5vw!important;max-width:38vw!important}
  .regua-numero,.regua-seta{width:29px!important;height:29px!important;flex-basis:29px!important}
  .regua-reticencias,.regua-total{height:29px!important}
}


/* V1.33 — Q8 identificação em duas camadas. Q1–Q7 permanecem preservadas. */
.q8-stage{width:100%;min-height:0;margin:.1rem 0 .2rem;flex:1 1 auto;display:flex;flex-direction:column}
.q8-camada1{display:grid;grid-template-columns:clamp(150px,19%,190px) minmax(0,1fr);gap:.8rem;align-items:center;min-height:0;flex:1}
.q8-cartoes{display:flex;flex-direction:column;gap:.48rem;justify-content:center;align-items:center;padding:.2rem .05rem}
.q8-cartao{--q8-cor:#0b78c8;border:2px solid var(--q8-cor);background:#fff;border-radius:8px;width:150px;height:42px;padding:.18rem .28rem;display:flex;align-items:center;gap:.28rem;font-weight:900;color:#17354e;cursor:grab;box-shadow:0 2px 8px rgba(25,72,105,.06);user-select:none;box-sizing:border-box}
.q8-cartao.arrastando{opacity:.45}.q8-numero{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:950;font-size:.76rem}.q8-texto{font-size:clamp(.50rem,.60vw,.66rem);line-height:1.02;text-align:center;flex:1}
.q8-board{position:relative;width:100%;max-width:800px;margin:auto;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.q8-imagem{display:block;width:100%;height:auto;max-height:54vh;object-fit:contain}
.q8-setas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.q8-setas line{stroke:#e53935;stroke-width:.65;vector-effect:non-scaling-stroke;marker-end:url(#q8-arrow)}
.q8-alvo{position:absolute;z-index:4;display:flex;align-items:center;gap:5px}.q8-alvo>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#172f44;font-weight:950;font-size:.78rem;box-shadow:0 1px 5px rgba(0,0,0,.18)}
.q8-slot{width:150px;height:42px;border:2px dashed #36a867;border-radius:8px;background:rgba(255,255,255,.92);box-sizing:border-box;display:flex;align-items:center;justify-content:center;transition:.15s}
.q8-slot.sobre{border-color:#1791ee;background:rgba(232,246,255,.96);outline:2px solid rgba(23,145,238,.25)}
.q8-alvo-a{left:3%;top:48%}.q8-alvo-b{left:72%;top:59%}.q8-alvo-c{left:46%;top:8%}.q8-alvo-d{left:76%;top:31%}.q8-alvo-e{left:75%;top:68%}
.q8-cartao-colocado{width:100%;height:100%;min-height:0;padding:1px 3px;border-width:2px;border-radius:6px;gap:2px;cursor:grab;box-shadow:none;margin:0;box-sizing:border-box}.q8-cartao-colocado .q8-numero{width:21px;height:21px;flex-basis:21px;font-size:.68rem}.q8-cartao-colocado .q8-texto{font-size:clamp(.46rem,.55vw,.62rem);line-height:1;white-space:normal}
@media(max-height:760px){.q8-imagem{max-height:48vh}.q8-cartao,.q8-slot{height:38px}.q8-cartoes{gap:.34rem}}
.q8-camada2{display:flex;flex-direction:column;gap:.7rem;min-height:0}.q8-camada2-enunciado{font-weight:850;color:#183b59;font-size:clamp(.9rem,1.05vw,1.08rem)}.q8-alternativas{display:grid;gap:.55rem}.q8-alternativa{border:1.5px solid #cfe0ec;background:#fbfdff;border-radius:12px;padding:.7rem .8rem;display:flex;align-items:center;gap:.75rem;text-align:left;font-weight:800;color:#17354e;cursor:pointer}.q8-alt-letra{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf4fb;color:#006cb7;font-weight:950;flex:0 0 32px}.q8-alternativa:hover:not(:disabled){border-color:#60a9d8}.q8-alternativa.selecionada{border-color:#087bc5;background:#eef7fd}.q8-alternativa.errada{border-color:#d77d7d;background:#fff2f2}.q8-alternativa.correta{border-color:#54a873;background:#eff9f2}.q8-resumo-montagem{padding:.58rem .72rem;border-radius:10px;background:#f1f7fb;border:1px solid #d6e5ef;color:#496b83;font-size:.82rem}
@media(max-height:760px){.q8-imagem{max-height:48vh}.q8-cartao{min-height:40px}.q8-cartoes{gap:.38rem}}


/* V1.35 — Q8: Camada 2 no mesmo slide, preservando a imagem como referência visual. */
.q8-cartoes{grid-column:1;grid-row:1}
.q8-board{grid-column:2;grid-row:1}
.q8-camada2{grid-column:1;grid-row:1;align-self:center;max-height:100%;overflow:auto;padding:.1rem .05rem .2rem}
.q8-camada1.q8-camada2-ativa{grid-template-columns:clamp(205px,24%,250px) minmax(0,1fr);align-items:center}
.q8-camada1.q8-camada2-ativa .q8-board{max-width:760px}
.q8-camada1.q8-camada2-ativa .q8-imagem{max-height:52vh}
.q8-camada1.q8-camada2-ativa .q8-camada2-enunciado{font-size:clamp(.76rem,.88vw,.92rem);line-height:1.18}
.q8-camada1.q8-camada2-ativa .q8-alternativas{gap:.38rem}
.q8-camada1.q8-camada2-ativa .q8-alternativa{padding:.42rem .46rem;gap:.42rem;border-radius:9px;font-size:clamp(.70rem,.78vw,.84rem);line-height:1.12}
.q8-camada1.q8-camada2-ativa .q8-alt-letra{width:27px;height:27px;flex-basis:27px;font-size:.76rem}
.q8-camada1.q8-camada2-ativa .q8-resumo-montagem{padding:.45rem .5rem;font-size:.72rem;line-height:1.15}
.q8-cartao-colocado.q8-congelado{cursor:default}
.q8-slot.q8-slot-congelado{cursor:default}
@media(max-height:760px){
  .q8-camada1.q8-camada2-ativa{grid-template-columns:clamp(195px,23%,235px) minmax(0,1fr)}
  .q8-camada1.q8-camada2-ativa .q8-imagem{max-height:47vh}
  .q8-camada1.q8-camada2-ativa .q8-alternativa{padding:.32rem .4rem;font-size:.68rem}
  .q8-camada1.q8-camada2-ativa .q8-camada2-enunciado{font-size:.74rem}
}

/* V1.36 — Q2: dica lateral para preservar altura útil e ações */
.card-questao:has(.q2-stage:not(.oculto)){
  position:relative;
}
.card-questao:has(.q2-stage:not(.oculto)) .q2-board{
  margin-left:11%!important;
  margin-right:auto!important;
  width:min(54%,560px)!important;
}
.card-questao:has(.q2-stage:not(.oculto)) .dica-box:not(.oculto){
  position:absolute!important;
  right:1.3rem!important;
  top:40%!important;
  width:27%!important;
  max-height:24vh!important;
  overflow:auto!important;
  margin:0!important;
  z-index:35!important;
  box-shadow:0 8px 20px rgba(29,76,111,.10)!important;
}
@media(max-width:1180px), (max-height:700px){
  .card-questao:has(.q2-stage:not(.oculto)) .dica-box:not(.oculto){
    right:.8rem!important;
    width:25%!important;
    max-height:20vh!important;
    font-size:.8rem!important;
  }
}

/* Q9 — polos magnéticos: duas camadas no mesmo slide */
.q9-stage{display:grid;grid-template-columns:minmax(250px,34%) 1fr;gap:18px;align-items:start;margin-top:10px;max-height:55vh;overflow:auto;padding-right:4px}
.q9-visual{background:#f3f8fc;border:1px solid #cfe1ef;border-radius:14px;padding:10px;display:flex;align-items:center;justify-content:center}
.q9-imagem{display:block;max-width:100%;max-height:31vh;object-fit:contain;border-radius:8px}
.q9-conteudo{display:flex;flex-direction:column;gap:12px}
.q9-bloco{background:#fff;border:1px solid #d5e3ee;border-radius:13px;padding:12px;margin-bottom:10px}
.q9-pergunta{font-weight:800;color:#153c63;margin-bottom:8px}
.q9-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.q9-opcao{border:1px solid #b8cfdf;background:#fff;border-radius:9px;padding:9px;text-align:left;cursor:pointer;font-weight:600}
.q9-opcao.selecionada{outline:3px solid rgba(0,108,183,.2);border-color:#006cb7;background:#eef8ff}
.q9-opcao.correta{border-color:#20a557;background:#eaf8ef}
.q9-opcao.errada{border-color:#d84a4a;background:#fff0f0}
.q9-camada{background:#f7fbfe;border:1px solid #cfe1ef;border-radius:13px;padding:12px}
.q9-camada-titulo{font-size:.78rem;font-weight:900;color:#006cb7;letter-spacing:.04em;margin-bottom:7px}
#q9-just-enunciado{display:block;font-weight:800;margin-bottom:8px}
#q9-justificativa{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #aac6d9;border-radius:10px;padding:10px;font:inherit;min-height:86px}
.q9-contagem{font-size:.75rem;color:#60788a;text-align:right;margin-top:4px}
@media(max-width:900px){.q9-stage{grid-template-columns:1fr}.q9-opcoes{grid-template-columns:1fr}.q9-imagem{max-height:23vh}}

/* V1.40 — Q10 vídeo condicionante + ações sempre acessíveis */
.q10-stage{display:grid;grid-template-columns:minmax(300px,42%) 1fr;gap:18px;align-items:start;margin-top:8px;max-height:54vh;overflow:auto;padding:2px 6px 12px 2px}
.q10-media-card,.q10-camada{border:1px solid #d7e0e8;border-radius:16px;background:#fff;padding:14px;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.q10-diretiva{font-weight:800;line-height:1.35;margin-bottom:10px;color:#17324d}
.q10-video{display:block;width:100%;max-height:29vh;min-height:160px;object-fit:contain;background:#101820;border-radius:12px}
.q10-controles{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.q10-media-btn{border:0;border-radius:10px;padding:10px 18px;font-weight:900;cursor:pointer;background:var(--uc-cor);color:#fff}
.q10-media-btn.secundario{background:#34495e}.q10-media-btn:disabled{opacity:.45;cursor:not-allowed}
.q10-media-status{font-size:.82rem;min-height:1.2em;margin-top:7px;color:#5c6b78}
.q10-desafio{display:grid;gap:12px}.q10-camada-titulo{font-size:.76rem;font-weight:900;letter-spacing:.05em;color:var(--uc-cor);margin-bottom:6px}
.q10-enunciado{font-weight:800;line-height:1.35;margin-bottom:10px}.q10-opcoes{display:grid;gap:8px}
.q10-opcao{width:100%;text-align:left;border:2px solid #dbe3ea;background:#fff;border-radius:11px;padding:10px 12px;font-weight:700;cursor:pointer;line-height:1.25}
.q10-opcao:hover{border-color:#9bbbd3}.q10-opcao.selecionada{border-color:var(--uc-cor);box-shadow:0 0 0 2px color-mix(in srgb,var(--uc-cor) 18%,transparent)}
.q10-opcao.errada{border-color:#c43b3b;background:#fff2f2}.q10-opcao.correta{border-color:#218c4b;background:#effaf3}
@media(max-width:900px){.q10-stage{grid-template-columns:1fr;max-height:52vh}.q10-video{max-height:22vh}}

/* V1.41 — Q11 barramentos RSTN, duas camadas sem sobreposição */
.q11-stage{display:grid;grid-template-columns:minmax(280px,39%) 1fr;gap:18px;align-items:start;margin-top:8px;max-height:54vh;overflow:auto;padding:2px 6px 12px 2px}
.q11-visual-card,.q11-camada{border:1px solid #d7e0e8;border-radius:16px;background:#fff;padding:13px;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.q11-imagem{display:block;width:100%;max-height:29vh;object-fit:contain;border-radius:11px;background:#f5f8fa}
.q11-nota{font-size:.75rem;line-height:1.25;color:#607487;margin-top:8px}
.q11-desafio{display:grid;gap:12px}.q11-camada-titulo{font-size:.76rem;font-weight:900;letter-spacing:.05em;color:var(--uc-cor);margin-bottom:6px}
.q11-enunciado{font-weight:800;line-height:1.3;margin-bottom:9px}.q11-opcoes{display:grid;gap:7px}
.q11-opcao{width:100%;text-align:left;border:2px solid #dbe3ea;background:#fff;border-radius:11px;padding:9px 11px;font-weight:700;cursor:pointer;line-height:1.2;display:flex;gap:9px;align-items:center}
.q11-opcao:hover:not(:disabled){border-color:#9bbbd3}.q11-opcao.selecionada{border-color:var(--uc-cor);box-shadow:0 0 0 2px color-mix(in srgb,var(--uc-cor) 18%,transparent)}
.q11-opcao.errada{border-color:#c43b3b;background:#fff2f2}.q11-opcao.correta{border-color:#218c4b;background:#effaf3}
@media(max-width:900px){.q11-stage{grid-template-columns:1fr;max-height:52vh}.q11-imagem{max-height:20vh}}


/* V1.42.1 — Q12: imagem maior ao lado + alternativas compactas */
.q12-layout{display:contents}
.card-questao.q12-layout-ativo .q12-layout{
  display:grid;grid-template-columns:minmax(300px,.88fr) minmax(440px,1.35fr);
  gap:1.25rem;align-items:center;min-height:0;flex:1;
}
.card-questao.q12-layout-ativo .alternativas{
  width:100%;max-width:470px;justify-self:center;gap:.55rem;align-self:center;
}
.card-questao.q12-layout-ativo .alternativa{
  min-height:46px;padding:.42rem .72rem;border-radius:11px;grid-template-columns:32px 1fr;gap:.58rem;
}
.card-questao.q12-layout-ativo .imagem-desafio-wrap{
  width:100%;max-height:none;height:100%;min-height:280px;margin:0;align-self:stretch;
}
.card-questao.q12-layout-ativo .imagem-desafio{
  width:100%;height:100%;max-height:43vh;object-fit:contain;border-radius:16px;
}
@media(max-width:900px){
 .card-questao.q12-layout-ativo .q12-layout{grid-template-columns:1fr;gap:.6rem}
 .card-questao.q12-layout-ativo .imagem-desafio-wrap{min-height:170px;order:-1}
 .card-questao.q12-layout-ativo .imagem-desafio{max-height:24vh}
 .card-questao.q12-layout-ativo .alternativas{max-width:100%}
}


/* V1.44 — Q14 completar por arraste + conferência em segunda camada */
.q14-stage{display:grid;grid-template-columns:minmax(270px,35%) minmax(0,1fr);gap:18px;align-items:start;margin-top:8px;max-height:55vh;overflow:auto;padding:2px 6px 12px 2px}
.q14-visual,.q14-camada{border:1px solid #d7e0e8;border-radius:16px;background:#fff;padding:12px;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.q14-imagem{display:block;width:100%;max-height:32vh;object-fit:contain;border-radius:11px;background:#f5f8fa}.q14-atividade{display:grid;gap:10px}
.q14-camada-titulo{font-size:.76rem;font-weight:900;letter-spacing:.05em;color:var(--uc-cor);margin-bottom:9px}.q14-frases{display:grid;gap:5px}
.q14-frase{display:grid;grid-template-columns:28px minmax(180px,1fr) minmax(190px,.9fr) 8px;gap:7px;align-items:center;font-size:.80rem;line-height:1.16}
.q14-letra{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--uc-cor);color:#fff;font-weight:900;text-transform:lowercase}.q14-texto{font-weight:650}
.q14-slot{min-height:37px;border:2px dashed #9abbd2;border-radius:10px;background:#f7fbfe;display:flex;align-items:center;padding:4px;cursor:pointer}.q14-slot.sobre{border-color:var(--uc-cor);background:#eaf6ff}.q14-placeholder{width:100%;text-align:center;color:#7890a3;font-size:.76rem;font-weight:700}
.q14-colocada{width:100%;border:0;border-radius:7px;background:#eaf6ff;color:#173c5d;padding:5px 7px;text-align:left;font-weight:750;cursor:pointer}.q14-colocada b{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--uc-cor);color:#fff;margin-right:5px}
.q14-banco-titulo{font-size:.7rem;font-weight:900;color:#61798c;margin-top:10px;margin-bottom:5px}.q14-banco{display:flex;gap:6px;flex-wrap:wrap}.q14-peca{border:1px solid #b8cfdf;background:#fff;border-radius:9px;padding:6px 9px;font-weight:700;font-size:.76rem;cursor:grab}.q14-peca span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#173c5d;color:#fff;margin-right:5px}.q14-peca.selecionada{outline:3px solid rgba(0,108,183,.2);border-color:var(--uc-cor)}.q14-peca.usada{opacity:.35;cursor:default}
.q14-congelada .q14-slot{border-style:solid}.q14-congelada .q14-colocada{pointer-events:none}.q14-congelada .q14-banco{opacity:.55;pointer-events:none}
.q14-c2-enunciado{font-weight:800;line-height:1.28;margin-bottom:8px}.q14-c2-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:7px}.q14-opcao{display:flex;align-items:center;gap:8px;text-align:left;border:2px solid #dbe3ea;background:#fff;border-radius:10px;padding:8px 10px;font-weight:750;cursor:pointer}.q14-alt-letra{width:27px;height:27px;flex:0 0 27px;border-radius:50%;display:grid;place-items:center;background:#e9f2f8;color:#173c5d;font-weight:900}.q14-opcao.selecionada{border-color:var(--uc-cor)}.q14-opcao.errada{border-color:#c43b3b;background:#fff2f2}.q14-opcao.correta{border-color:#218c4b;background:#effaf3}
@media(max-width:950px){.q14-stage{grid-template-columns:1fr;max-height:52vh}.q14-imagem{max-height:20vh}.q14-frase{grid-template-columns:28px 1fr}.q14-slot{grid-column:2}.q14-ponto{display:none}.q14-c2-opcoes{grid-template-columns:1fr}}

/* Q15 — proteção / intervenção em duas camadas */
.q15-stage{display:grid;grid-template-columns:minmax(280px,38%) minmax(0,1fr);gap:18px;align-items:start;margin-top:8px;max-height:55vh;overflow:auto;padding:2px 6px 12px 2px}
.q15-visual,.q15-camada{border:1px solid #d7e0e8;border-radius:16px;background:#fff;padding:12px;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.q15-imagem{display:block;width:100%;max-height:43vh;object-fit:contain;border-radius:11px;background:#f5f8fa}.q15-atividade{display:grid;gap:10px}
.q15-camada-titulo{font-size:.78rem;font-weight:900;letter-spacing:.05em;color:var(--uc-cor);margin-bottom:8px}.q15-instrucao{margin:0 0 10px;font-weight:700;color:#456}
.q15-ordem{display:grid;gap:9px}.q15-card{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;border:2px solid #cbd9e4;background:#f9fcfe;border-radius:12px;padding:12px;font-weight:900;cursor:grab}.q15-card.dragging{opacity:.45}.q15-pos{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--uc-cor);color:#fff}
.q15-c2-enunciado{font-weight:850;line-height:1.3;margin-bottom:10px}.q15-c2-opcoes{display:grid;gap:8px}.q15-opcao{display:flex;align-items:flex-start;gap:9px;text-align:left;border:2px solid #dbe3ea;background:#fff;border-radius:11px;padding:9px 11px;font-weight:720;cursor:pointer}.q15-alt-letra{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:#e9f2f8;color:#173c5d;font-weight:900}.q15-opcao.selecionada{border-color:var(--uc-cor)}.q15-opcao.errada{border-color:#c43b3b;background:#fff2f2}.q15-opcao.correta{border-color:#218c4b;background:#effaf3}
@media(max-width:950px){.q15-stage{grid-template-columns:1fr;max-height:52vh}.q15-imagem{max-height:22vh}}

/* Q15 v1.45.1 — nomes fixos + números móveis */
.q15-ordem{display:grid;gap:9px}.q15-etapa{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px}.q15-etapa-nome{border:2px solid #cbd9e4;background:#f9fcfe;border-radius:12px;padding:13px;font-weight:900}.q15-num-slot{height:48px;border:2px dashed #8bb7d8;border-radius:12px;display:grid;place-items:center;background:#f5fbff;font-weight:900;color:#7594aa}.q15-num-slot.sobre{border-color:var(--uc-cor);background:#eaf6fd}.q15-num-colocado,.q15-num-peca{width:42px;height:42px;border:0;border-radius:50%;background:var(--uc-cor);color:#fff;font-weight:950;font-size:1.05rem;cursor:grab}.q15-numeros-titulo{margin-top:12px;font-size:.72rem;font-weight:900;letter-spacing:.05em;color:#567}.q15-numeros{display:flex;gap:12px;margin-top:7px}.q15-num-peca.usada{opacity:.25}.q15-num-peca.selecionada{outline:4px solid #b9def5}.q15-congelada{opacity:.72}.q15-congelada .q15-num-slot,.q15-congelada .q15-num-colocado{pointer-events:none}


/* V1.47 — Lote A: objetiva padronizada com imagem PNG-M */
.card-questao.objetiva-png-m-ativo .q12-layout{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(430px,1.18fr);
  grid-template-areas:"imagem alternativas";
  gap:1.15rem;
  align-items:center;
  min-height:0;
  flex:1;
}
.card-questao.objetiva-png-m-ativo .imagem-desafio-wrap{
  grid-area:imagem;
  width:100%;
  height:100%;
  max-height:none;
  min-height:300px;
  margin:0;
  align-self:stretch;
  border:1px solid #d8e7f1;
  border-radius:16px;
  background:#f8fbfd;
  padding:.35rem;
}
.card-questao.objetiva-png-m-ativo .imagem-desafio{
  width:100%;
  height:100%;
  max-height:45vh;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
  background:#fff;
}
.card-questao.objetiva-png-m-ativo .alternativas{
  grid-area:alternativas;
  width:100%;
  gap:.55rem;
  align-self:center;
}
.card-questao.objetiva-png-m-ativo .alternativa{
  min-height:52px;
  padding:.48rem .72rem;
  border-radius:12px;
  grid-template-columns:32px 1fr;
  gap:.6rem;
  line-height:1.22;
}
.card-questao.objetiva-png-m-ativo .letra{width:30px;height:30px;}
@media(max-width:900px){
  .card-questao.objetiva-png-m-ativo .q12-layout{grid-template-columns:1fr;grid-template-areas:"imagem" "alternativas";gap:.6rem;}
  .card-questao.objetiva-png-m-ativo .imagem-desafio-wrap{min-height:170px;max-height:24vh;}
  .card-questao.objetiva-png-m-ativo .imagem-desafio{max-height:23vh;}
}


/* V1.47.1 — fallback visual da chamada da Natasha.
   Se o MP4 não carregar, a própria Natasha sinaliza a intervenção. */
@keyframes natashaBateVidroFallback{
  0%,100%{transform:translateX(0) rotate(0deg)}
  20%{transform:translateX(-7px) rotate(-1deg)}
  40%{transform:translateX(6px) rotate(1deg)}
  60%{transform:translateX(-4px) rotate(-.6deg)}
  80%{transform:translateX(3px) rotate(.5deg)}
}
.tutor-img.natasha-batendo-fallback{animation:natashaBateVidroFallback .72s ease-in-out infinite;transform-origin:bottom center}


/* V1.47.3 — saída pedagógica explícita após 3 tentativas nas objetivas */
@keyframes sitProsseguirPulso{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(31,151,80,.28)}
  50%{transform:scale(1.035);box-shadow:0 0 0 10px rgba(31,151,80,0)}
}
#btn-avancar.btn-prosseguir-pulso{animation:sitProsseguirPulso 1.15s ease-in-out infinite!important;}
@media (prefers-reduced-motion:reduce){#btn-avancar.btn-prosseguir-pulso{animation:none!important;}}

/* V1.47.4 — estados finais explícitos das objetivas PNG-M */
.dica-box.dica-acerto{
  border-left-color:#22a45d;
  background:#edf9f2;
}
.dica-box.dica-acerto #dica-texto{font-weight:800;color:#176b3f}
.dica-box.dica-esgotada{
  border-left-color:#e2a100;
  background:#fff7df;
}
.dica-box.dica-esgotada #dica-texto{font-weight:800;color:#6d5100}


/* V1.50.1 — Layout único e isolado das Q19–Q21. */
.card-questao.vf-lote-p-ativo{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr) auto auto;
  column-gap:24px;row-gap:12px;
  padding:18px 20px 18px;overflow:hidden;align-content:stretch;
}
.card-questao.vf-lote-p-ativo .cabecalho-questao{
  grid-column:1;grid-row:1;min-width:0;width:100%;max-width:none;
}
.card-questao.vf-lote-p-ativo h1{
  grid-column:1;grid-row:2;align-self:start;width:100%;max-width:none;
  min-height:0;margin:12px 0 0;text-align:center;
  font-size:clamp(.92rem,1.18vw,1.22rem);line-height:1.24;
}
.card-questao.vf-lote-p-ativo .q4-stage,
.card-questao.vf-lote-p-ativo .q4-corpo{display:contents}
.card-questao.vf-lote-p-ativo .q4-imagem-wrap{
  grid-column:2;grid-row:1 / 3;position:static!important;
  width:100%!important;max-width:none!important;height:100%!important;
  min-height:0;max-height:none;margin:0!important;transform:none!important;
  box-sizing:border-box;padding:8px;overflow:hidden;
  border:1px solid #cfe3f1;border-radius:20px;background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.card-questao.vf-lote-p-ativo .q4-imagem{
  display:block;width:100%!important;height:100%!important;
  max-height:none!important;object-fit:contain!important;object-position:center;
}
.card-questao.vf-lote-p-ativo .q4-lista{
  grid-column:1 / -1;grid-row:3;width:100%;min-width:0;
  margin:0!important;transform:none!important;position:static;
  display:flex;flex-direction:column;gap:6px!important;
}
.card-questao.vf-lote-p-ativo .q4-item{
  box-sizing:border-box;min-height:44px;height:auto;padding:4px 8px;
  gap:9px;border-radius:11px;flex:0 0 auto;
}
.card-questao.vf-lote-p-ativo .q4-texto{
  min-width:0;font-size:clamp(.73rem,.84vw,.82rem);line-height:1.17;
}
.card-questao.vf-lote-p-ativo .q4-vf{
  width:38px;height:34px;flex:0 0 38px;
}
.card-questao.vf-lote-p-ativo .acoes{
  grid-column:1;grid-row:4;position:static!important;
  width:auto!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center;gap:16px!important;
  background:transparent!important;min-width:0;
}
.card-questao.vf-lote-p-ativo .acoes button{min-height:46px}
.card-questao.vf-lote-p-ativo .dica-box,
.card-questao.vf-lote-p-ativo .dica-box.dica-acerto,
.card-questao.vf-lote-p-ativo .dica-box.dica-esgotada{
  grid-column:2;grid-row:4;justify-self:start;align-self:center;
  position:static!important;left:auto!important;right:auto!important;
  bottom:auto!important;top:auto!important;width:min(100%,330px);
  min-height:42px;max-height:58px;margin:0!important;padding:6px 10px;
  box-sizing:border-box;overflow:auto;font-size:.75rem;line-height:1.2;
  border-radius:7px;
}
.card-questao.vf-lote-p-ativo .dica-box.oculto{display:none!important}
.card-questao.vf-lote-p-ativo .dica-box.dica-acerto{
  border-left:0;background:#effbf5;text-align:center;
  justify-content:center;align-items:center;box-shadow:none;
}
.card-questao.vf-lote-p-ativo .dica-box.dica-acerto strong{display:none}
.card-questao.vf-lote-p-ativo .dica-box.dica-acerto #dica-texto{
  color:#14944e;font-weight:600;font-size:.75rem;
}
.card-questao.vf-lote-p-ativo .vf-lote-comentarios.oculto{display:none!important}
.card-questao.vf-lote-p-ativo .vf-lote-comentarios:not(.oculto){
  grid-column:2;grid-row:1 / 3;position:static!important;
  width:100%;height:100%;min-height:0;max-height:none;margin:0;
  padding:12px;box-sizing:border-box;overflow:auto;
  background:#fff;border:1px solid #cfe4f2;border-radius:16px;
  font-size:.75rem;line-height:1.2;z-index:2;
}
.card-questao.vf-lote-p-ativo:has(.vf-lote-comentarios:not(.oculto)) .q4-imagem-wrap{
  visibility:hidden;
}
@media(max-height:800px) and (min-width:701px){
  .card-questao.vf-lote-p-ativo{row-gap:9px;padding:12px 20px}
  .card-questao.vf-lote-p-ativo h1{margin-top:8px}
  .card-questao.vf-lote-p-ativo .q4-item{min-height:39px;padding:3px 8px}
  .card-questao.vf-lote-p-ativo .q4-vf{height:32px}
  .card-questao.vf-lote-p-ativo .acoes button{min-height:43px}
}
@media(max-width:700px){
  .card-questao.vf-lote-p-ativo{
    display:flex;flex-direction:column;overflow:auto;padding:16px;gap:12px;
  }
  .card-questao.vf-lote-p-ativo .q4-stage,
  .card-questao.vf-lote-p-ativo .q4-corpo{display:contents}
  .card-questao.vf-lote-p-ativo h1{margin:0;text-align:left}
  .card-questao.vf-lote-p-ativo .q4-imagem-wrap{
    height:auto!important;min-height:0;aspect-ratio:1.7;visibility:visible;
  }
  .card-questao.vf-lote-p-ativo .q4-lista{margin:0!important}
  .card-questao.vf-lote-p-ativo .acoes{flex-wrap:wrap}
  .card-questao.vf-lote-p-ativo .dica-box,
  .card-questao.vf-lote-p-ativo .dica-box.dica-acerto,
  .card-questao.vf-lote-p-ativo .dica-box.dica-esgotada{width:100%}
  .card-questao.vf-lote-p-ativo .vf-lote-comentarios:not(.oculto){
    height:auto;max-height:220px;
  }
}

/* V1.51.0 — Q22–Q27: mesma lógica visual do lote PNG-P, com suporte isolado a questões sem imagem. */
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .cabecalho-questao{
  grid-column:1 / -1;
}
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem h1{
  grid-column:1 / -1;
  text-align:left;
  max-width:100%;
  margin-top:10px;
}
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .q4-imagem-wrap{
  display:none!important;
}
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .q4-lista{
  grid-row:3;
}
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .acoes{
  grid-column:1;
}
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .dica-box,
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .dica-box.dica-acerto,
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .dica-box.dica-esgotada{
  grid-column:2;
}
.card-questao.vf-lote-p-ativo.vf-lote-sem-imagem .vf-lote-comentarios:not(.oculto){
  grid-column:1 / -1;grid-row:1 / 3;height:auto;max-height:240px;
}
@media(max-width:700px){
  .card-questao.vf-lote-p-ativo.vf-lote-sem-imagem h1{text-align:left}
}
