/* SOMOS — Microlições visuais animadas (js/licoes/microlicao-player.js).
   Estilo próprio e isolado sob .ml-licao; herda o tema activo (variáveis
   da plataforma: --card, --text, --muted, --border, --tint, --grad-*). */
.ml-licao{--ml-acento:var(--grad-b);--ml-sobre:#ffffff;--ml-suave:var(--tint);--ml-papel:var(--card);
  --ml-texto:var(--text);--ml-mudo:var(--muted);--ml-linha:var(--border);
  font-family:inherit;color:var(--ml-texto);min-width:0;}
.ml-licao *{box-sizing:border-box;}
.ml-licao .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;
  clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;}
.ml-licao h4{font-family:'Baloo 2','Nunito',sans-serif;font-weight:800;margin:0;}
.ml-licao button{font:inherit;cursor:pointer;}
.ml-licao button:focus-visible{outline:3px solid var(--ml-acento);outline-offset:3px;}
.ml-licao .ml-titulo:focus-visible,.ml-licao .ml-pergunta:focus-visible{outline:3px solid var(--ml-acento);outline-offset:4px;border-radius:6px;}

/* cabeça */
.ml-licao .ml-cabeca{margin-bottom:14px;}
.ml-licao .ml-etiqueta{display:inline-flex;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--ml-acento);font-weight:800;margin-bottom:4px;}
.ml-licao .ml-titulo{font-size:26px;line-height:1.15;}
.ml-licao .ml-subtitulo{margin:6px 0 0;font-size:14px;color:var(--ml-mudo);line-height:1.5;}
.ml-licao .ml-progresso{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap;}
.ml-licao .ml-ponto{width:9px;height:9px;border-radius:50%;background:var(--ml-linha);transition:background .3s,transform .3s;}
.ml-licao .ml-ponto-on{background:var(--ml-acento);transform:scale(1.15);}

/* corpo: cena + Mia */
.ml-licao .ml-corpo{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:16px;align-items:start;}
.ml-licao .ml-cena{background:var(--ml-papel);border:1px solid var(--ml-linha);border-radius:18px;padding:18px 18px 16px;min-width:0;}

/* operação e resultado */
.ml-licao .ml-operacao{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  font-family:'Baloo 2',sans-serif;font-size:24px;font-weight:800;margin-bottom:14px;}
.ml-licao .ml-operacao b{color:var(--ml-acento);font-size:28px;}
.ml-licao .ml-operacao .ml-res{color:var(--ml-acento);}
.ml-licao .ml-resultado{display:none;font-family:'Baloo 2',sans-serif;font-size:34px;font-weight:800;
  text-align:center;color:var(--ml-acento);margin-top:10px;}
.ml-licao .ml-resultado:not([hidden]){display:block;animation:ml-surge .5s ease both;}
@keyframes ml-surge{from{opacity:0;transform:scale(.85);}to{opacity:1;transform:scale(1);}}

/* tabela de valor posicional */
.ml-licao .ml-tabela{margin:8px 0 4px;}
.ml-licao .ml-colunas{display:grid;gap:4px;}
.ml-licao .ml-coluna{text-align:center;padding:6px 2px 4px;border-radius:10px;background:var(--ml-suave);}
.ml-licao .ml-coluna b{display:block;font-family:'Baloo 2',sans-serif;font-size:15px;line-height:1;}
.ml-licao .ml-coluna small{display:block;font-size:9.5px;line-height:1.25;color:var(--ml-mudo);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ml-licao .ml-coluna-escondida{display:none;}
.ml-licao .ml-faixas{position:relative;margin-top:6px;}
.ml-licao .ml-strip{position:relative;display:grid;gap:4px;height:64px;}
.ml-licao .ml-strip::before{content:'';position:absolute;inset:2px 0;border-radius:12px;
  border:1.5px dashed var(--ml-linha);}
.ml-licao .ml-ficha{position:absolute;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:var(--ml-papel);border:2px solid var(--ml-linha);
  font-family:'Baloo 2',sans-serif;font-size:26px;font-weight:800;
  box-shadow:0 3px 10px rgba(17,24,39,.14);z-index:2;
  transition:left var(--ml-duracao,550ms) cubic-bezier(.32,.72,.28,1);}
.ml-licao .ml-ficha-move{border-color:var(--ml-acento);color:var(--ml-acento);z-index:3;
  box-shadow:0 8px 18px rgba(17,24,39,.2);}
.ml-licao .ml-ficha-nova{animation:ml-pop .45s ease both;}
@keyframes ml-pop{from{opacity:0;transform:scale(.3);}to{opacity:1;transform:scale(1);}}
.ml-licao .ml-ficha-sai{opacity:0;transform:scale(.4);pointer-events:none;}
.ml-licao .ml-virgula{position:absolute;top:50%;transform:translateY(-58%);z-index:1;
  font-family:'Baloo 2',sans-serif;font-size:44px;font-weight:800;color:var(--ml-texto);
  margin-left:-6px;text-align:center;pointer-events:none;}
.ml-licao .ml-strip.ml-sem-animacao .ml-ficha{transition:none;}

/* frase do passo */
.ml-licao .ml-frase{font-size:16px;line-height:1.65;margin:14px 0 0;min-height:3.2em;}

/* Mia */
.ml-licao .ml-mia{background:var(--ml-papel);border:1px solid var(--ml-linha);border-radius:18px;
  padding:12px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;}
.ml-licao .ml-avatar{width:96px;height:96px;display:block;}
.ml-licao .ml-avatar img,.ml-licao .ml-avatar svg{width:100%;height:100%;object-fit:contain;}
.ml-licao .ml-mia-msg{font-size:12.5px;line-height:1.55;color:var(--ml-texto);background:var(--ml-suave);
  border-radius:0 12px 12px 12px;padding:10px;min-height:76px;}

/* controlos */
.ml-licao .ml-controlos{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.ml-licao .ml-botao{min-height:44px;border-radius:24px;border:1px solid var(--ml-linha);
  background:var(--ml-papel);color:var(--ml-texto);padding:9px 16px;font-size:14px;font-weight:700;}
.ml-licao .ml-botao:disabled{opacity:.4;cursor:default;}
.ml-licao .ml-primaria{background:var(--ml-acento);border-color:var(--ml-acento);color:var(--ml-sobre);}
.ml-licao .ml-controlos .ml-seguinte{margin-left:auto;}

/* exercício */
.ml-licao .ml-exercicio{margin-top:16px;padding-top:16px;border-top:1px solid var(--ml-linha);}
.ml-licao .ml-pergunta{font-size:20px;margin-bottom:12px;}
.ml-licao .ml-opcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;}
.ml-licao .ml-opcao{min-height:54px;border-radius:14px;border:2px solid var(--ml-linha);
  background:var(--ml-papel);color:var(--ml-texto);font-family:'Baloo 2',sans-serif;
  font-size:22px;font-weight:800;}
.ml-licao .ml-opcao:disabled{opacity:.45;cursor:default;}
.ml-licao .ml-opcao-certa{border-color:#16a34a;background:rgba(22,163,74,.12);color:#14532d;opacity:1;}
.ml-licao .ml-opcao-errada{border-color:#ef476f;background:rgba(239,71,111,.08);opacity:1;}
.ml-licao .ml-diag{margin:12px 0 0;font-size:14px;line-height:1.6;padding:12px 14px;border-radius:14px;}
.ml-licao .ml-diag-certo{background:rgba(22,163,74,.1);border-left:3px solid #16a34a;}
.ml-licao .ml-diag-erro{background:var(--ml-suave);border-left:3px solid var(--ml-acento);}
.ml-licao .ml-diag-revela{background:rgba(239,71,111,.08);border-left:3px solid #ef476f;}
.ml-licao .ml-continuar{margin-top:14px;}

/* terminado */
.ml-licao .ml-terminado{margin-top:16px;padding:16px;border-radius:18px;background:var(--ml-suave);border:1px solid var(--ml-linha);}
.ml-licao .ml-term-msg{font-size:15px;line-height:1.65;}
.ml-licao .ml-term-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}

/* fallback textual */
.ml-licao .ml-texto{margin-top:14px;font-size:13px;color:var(--ml-mudo);}
.ml-licao .ml-texto summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;}
.ml-licao .ml-texto li{margin:6px 0;line-height:1.6;}

/* cena «array-multiplicacao» (tabuada): pontos agrupados com conservação */
.ml-licao .ml-array{margin:8px 0 4px;}
.ml-licao .ml-array-grelha{display:grid;gap:4px;justify-content:center;
  grid-template-columns:repeat(var(--ml-col,8),16px);padding:12px 8px;border-radius:12px;
  border:1.5px dashed var(--ml-linha);background:var(--ml-suave);}
.ml-licao .ml-ponto{width:16px;height:16px;border-radius:50%;
  background:color-mix(in srgb,var(--ml-acento) 26%,white);border:2px solid color-mix(in srgb,var(--ml-acento) 45%,white);}
.ml-licao .ml-ponto-g0{background:color-mix(in srgb,#9B5DE5 78%,white);border-color:#9B5DE5;}
.ml-licao .ml-ponto-g1{background:color-mix(in srgb,#118AB2 78%,white);border-color:#118AB2;}
.ml-licao .ml-ponto-g2{background:color-mix(in srgb,#F4841F 78%,white);border-color:#F4841F;}
.ml-licao .ml-ponto-sai{opacity:.35;border-style:dashed;background:transparent;}
.ml-licao .ml-array-rotulos{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px;}
.ml-licao .ml-rotulo{font-size:13.5px;font-weight:700;padding:6px 12px;border-radius:14px;
  background:var(--ml-papel);border:1.5px solid;}
.ml-licao .ml-rotulo-g0{border-color:#9B5DE5;color:#7C3AED;}
.ml-licao .ml-rotulo-g1{border-color:#118AB2;color:#0E7490;}
.ml-licao .ml-rotulo-g2{border-color:#F4841F;color:#C2660F;}
.ml-licao .ml-rotulo-sai{opacity:.7;text-decoration:line-through;}
.ml-licao .ml-array.ml-array-entra .ml-ponto{animation:ml-pop .4s ease both;}
.ml-licao .ml-fase-etq{display:block;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;
  color:var(--ml-acento);font-weight:800;margin-bottom:6px;}

@media (max-width:640px){
  .ml-licao .ml-array-grelha{grid-template-columns:repeat(var(--ml-col,8),13px);gap:3px;}
  .ml-licao .ml-ponto{width:13px;height:13px;border-width:1.5px;}
  .ml-licao .ml-rotulo{font-size:12px;padding:5px 9px;}
}

/* cena «ciclo-agua»: etapas numa elipse tracejada, gota viajante, ramos */
.ml-licao .ml-ciclo{position:relative;height:270px;margin:6px 0 2px;border-radius:50%/46%;
  border:2px dashed var(--ml-linha);background:var(--ml-suave);overflow:hidden;}
.ml-licao .ml-ciclo-no{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;
  align-items:center;gap:2px;max-width:86px;text-align:center;padding:4px 6px;border-radius:12px;
  background:var(--ml-papel);border:1.5px solid var(--ml-linha);transition:border-color .4s,box-shadow .4s,opacity .4s;}
.ml-licao .ml-ciclo-no b{font-size:20px;line-height:1;}
.ml-licao .ml-ciclo-no small{font-size:10.5px;font-weight:700;color:var(--ml-mudo);line-height:1.2;}
.ml-licao .ml-ciclo-ativa{border-color:var(--ml-acento);box-shadow:0 0 0 3px color-mix(in srgb,var(--ml-acento) 22%,transparent);}
.ml-licao .ml-ciclo-ativa small{color:var(--ml-acento);}
.ml-licao .ml-ciclo-ramo{border-style:dotted;}
.ml-licao .ml-ciclo-gota{position:absolute;transform:translate(-50%,-118%);font-size:20px;
  transition:left var(--ml-duracao,550ms) cubic-bezier(.32,.72,.28,1),top var(--ml-duracao,550ms) cubic-bezier(.32,.72,.28,1);
  z-index:3;filter:drop-shadow(0 2px 4px rgba(17,138,178,.4));}
.ml-licao .ml-gota-pisca{animation:ml-gota .9s ease 2;}
@keyframes ml-gota{0%,100%{transform:translate(-50%,-118%) scale(1);}50%{transform:translate(-50%,-118%) scale(1.28);}}
.ml-licao .ml-ciclo-sentido{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:30px;color:var(--ml-acento);opacity:.32;animation:ml-roda 9s linear infinite;}
@keyframes ml-roda{to{transform:translate(-50%,-50%) rotate(360deg);}}
.ml-licao .ml-ciclo-nota{font-size:12.5px;color:var(--ml-mudo);margin:8px 2px 0;line-height:1.5;}

@media (max-width:640px){
  .ml-licao .ml-ciclo{height:230px;}
  .ml-licao .ml-ciclo-no{max-width:70px;padding:3px 4px;}
  .ml-licao .ml-ciclo-no b{font-size:16px;}
  .ml-licao .ml-ciclo-no small{font-size:9px;}
}

/* ecrã pequeno */
@media (max-width:640px){
  .ml-licao .ml-corpo{grid-template-columns:1fr;}
  .ml-licao .ml-mia{flex-direction:row;flex-wrap:wrap;text-align:left;align-items:center;gap:10px;}
  .ml-licao .ml-avatar{width:64px;height:64px;flex:none;}
  .ml-licao .ml-mia-msg{min-height:0;flex:1 1 170px;min-width:0;}
  .ml-licao .ml-mia-pedir{flex:0 0 auto;}
  .ml-licao .ml-ficha{width:44px;height:44px;margin:-22px 0 0 -22px;font-size:21px;}
  .ml-licao .ml-strip{height:54px;}
  .ml-licao .ml-titulo{font-size:21px;}
  .ml-licao .ml-operacao{font-size:20px;}
  .ml-licao .ml-controlos .ml-seguinte{margin-left:0;flex:1 1 100%;order:5;}
  .ml-licao .ml-botao{padding:9px 13px;font-size:13px;}
}

/* movimento reduzido: sem translação nem pops — os estados aparecem prontos */
@media (prefers-reduced-motion:reduce){
  .ml-licao .ml-ficha{transition:none!important;}
  .ml-licao .ml-ciclo-sentido{animation:none!important;}
  .ml-licao .ml-ficha-nova{animation:none!important;}
  .ml-licao .ml-resultado:not([hidden]){animation:none!important;}
  .ml-licao .ml-ponto{transition:none!important;}
}


/* cena «multiplicacao-vertical» (Piloto B): a conta armada, parciais acumulados */
.ml-licao .ml-vertical{max-width:330px;margin:10px auto 4px;padding:16px 18px;border-radius:14px;
  border:1.5px dashed var(--ml-linha);background:var(--ml-suave);}
.ml-licao .ml-v-topo{display:flex;justify-content:flex-end;gap:8px;align-items:baseline;
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:27px;line-height:1.35;}
.ml-licao .ml-v-topo b{min-width:2ch;text-align:right;}
.ml-licao .ml-v-x{color:var(--ml-mudo);font-size:20px;}
.ml-licao .ml-v-traco{border-top:2.5px solid var(--ml-texto);margin:6px 0 6px 34%;}
.ml-licao .ml-v-linha{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:26px;line-height:1.5;
  margin-right:calc(var(--ml-desloc,0) * 1.55ch);}
.ml-licao .ml-v-linha small{font-family:'Nunito',sans-serif;font-weight:700;
  font-size:11.5px;color:var(--ml-mudo);white-space:nowrap;}
.ml-licao .ml-v-linha b{min-width:2ch;text-align:right;}
.ml-licao .ml-v-feito{opacity:.55;}
.ml-licao .ml-v-activo{color:var(--ml-acento);}
.ml-licao .ml-v-activo b{color:var(--ml-acento);}
.ml-licao .ml-v-soma b{border-top:2.5px dotted var(--ml-linha);padding-top:2px;}
.ml-licao .ml-v-resultado{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-top:10px;}
.ml-licao .ml-v-resultado small{font-size:11px;color:var(--ml-mudo);font-weight:700;}
.ml-licao .ml-v-resultado b{font-family:'Baloo 2',sans-serif;font-size:33px;font-weight:800;color:var(--ml-acento);}
.ml-licao .ml-v-nota{margin:12px 0 0;font-size:12.5px;color:var(--ml-mudo);line-height:1.55;text-align:right;}
.ml-licao .ml-v-surge{animation:ml-surge .5s ease both;}

/* cena «area-decimal»: rectângulo partido em quatro pedaços */
.ml-licao .ml-area{max-width:340px;margin:10px auto 4px;}
.ml-licao .ml-area-grelha{display:grid;gap:5px;min-height:210px;
  border:2.5px solid var(--ml-texto);border-radius:10px;padding:6px;background:var(--ml-suave);}
.ml-licao .ml-area-parte{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  border-radius:8px;background:var(--ml-papel);border:1.5px solid var(--ml-linha);padding:6px 4px;min-width:0;}
.ml-licao .ml-area-parte small{font-size:11px;font-weight:700;color:var(--ml-mudo);white-space:nowrap;}
.ml-licao .ml-area-parte b{font-family:'Baloo 2',sans-serif;font-size:21px;font-weight:800;}
.ml-licao .ml-area-destaque{border-color:#F4841F;background:rgba(244,132,31,.1);}
.ml-licao .ml-area-destaque b{color:#C2660F;}
.ml-licao .ml-area-entra{animation:ml-pop .45s ease both;animation-delay:calc(var(--ml-area-index,0) * 120ms);}

/* cena «verificacao-plausibilidade»: o resultado dentro do intervalo */
.ml-licao .ml-verif{max-width:330px;margin:10px auto 4px;display:grid;gap:8px;}
.ml-licao .ml-verif-linha{display:flex;align-items:baseline;gap:12px;padding:10px 14px;border-radius:12px;
  background:var(--ml-suave);border:1.5px solid var(--ml-linha);}
.ml-licao .ml-verif-linha b{font-family:'Baloo 2',sans-serif;font-size:25px;font-weight:800;min-width:2.2ch;}
.ml-licao .ml-verif-linha small{font-size:12px;color:var(--ml-mudo);font-weight:700;line-height:1.4;}
.ml-licao .ml-verif-actual{border-color:var(--ml-acento);background:color-mix(in srgb,var(--ml-acento) 8%,var(--ml-papel));}
.ml-licao .ml-verif-actual b{color:var(--ml-acento);}
.ml-licao .ml-verif-nota{margin:4px 2px 0;font-size:12.5px;color:var(--ml-mudo);line-height:1.5;}

@media (max-width:640px){
  .ml-licao .ml-v-topo{font-size:23px;}
  .ml-licao .ml-v-linha{font-size:22px;}
  .ml-licao .ml-v-resultado b{font-size:29px;}
  .ml-licao .ml-area-grelha{min-height:170px;}
  .ml-licao .ml-area-parte b{font-size:17px;}
  .ml-licao .ml-area-parte small{font-size:9.5px;}
}
@media (prefers-reduced-motion:reduce){
  .ml-licao .ml-v-surge{animation:none!important;}
  .ml-licao .ml-area-entra{animation:none!important;}
}


/* cena «sequencia-padroes» (E03): a escadinha com dígitos coloridos */
.ml-licao .ml-seq{max-width:300px;margin:10px auto 4px;display:grid;gap:6px;
  padding:14px 16px;border-radius:14px;border:1.5px dashed var(--ml-linha);background:var(--ml-suave);}
.ml-licao .ml-seq-linha{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.ml-licao .ml-seq-linha small{font-size:12.5px;color:var(--ml-mudo);font-weight:700;}
.ml-licao .ml-seq-valor{font-family:'Baloo 2',sans-serif;font-size:29px;font-weight:800;letter-spacing:.5px;}
.ml-licao .ml-seq-dez{color:#9B5DE5;}
.ml-licao .ml-seq-uni{color:#F4841F;}
.ml-licao .ml-seq-interrogacao .ml-seq-valor{color:var(--ml-acento);}
.ml-licao .ml-seq-interrogacao small{color:var(--ml-acento);}
.ml-licao .ml-seq-destaque{background:var(--ml-papel);border-radius:12px;padding:2px 10px;margin:-2px -10px;
  box-shadow:0 4px 14px rgba(128,85,168,.16);}
.ml-licao .ml-seq-nota{margin:10px 2px 0;font-size:12.5px;color:var(--ml-mudo);line-height:1.55;}

/* previsão activa (E03/P5): pergunta dentro do passo */
.ml-licao .ml-previsao{margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--ml-linha);}
.ml-licao .ml-previsao-pergunta{font-family:'Baloo 2',sans-serif;font-size:21px;font-weight:800;margin:6px 0 10px;}
.ml-licao .ml-previsao .ml-opcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;}
.ml-licao .ml-previsao .ml-diag{margin:12px 0 0;font-size:14px;line-height:1.6;padding:12px 14px;border-radius:14px;}

/* Zona D (§5): alternativas de outros caminhos */
.ml-licao .ml-alternativas{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.ml-licao .ml-alt-etq{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ml-mudo);font-weight:800;}
.ml-licao .ml-alt-chip{min-height:38px;border-radius:19px;border:1.5px solid var(--ml-linha);cursor:pointer;
  background:var(--ml-papel);color:var(--ml-texto);font-weight:700;font-size:13px;padding:7px 14px;}
.ml-licao .ml-alt-chip:hover{border-color:var(--ml-acento);color:var(--ml-acento);}
.ml-licao .ml-alt-chip:focus-visible{outline:3px solid var(--ml-acento);outline-offset:2px;}

@media (max-width:640px){
  .ml-licao .ml-seq-valor{font-size:25px;}
  .ml-licao .ml-seq{gap:4px;padding:11px 12px;}
  .ml-licao .ml-previsao-pergunta{font-size:19px;}
}
@media (prefers-reduced-motion:reduce){
  .ml-licao .ml-seq-valor{animation:none!important;}
}


/* Storyboard interactivo das microlições: os passos surgem progressivamente. */
.ml-licao .ml-jornada{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px}
.ml-licao .ml-etapa{min-width:0;display:grid;grid-template-columns:34px 1fr;column-gap:9px;row-gap:2px;align-content:start;background:var(--ml-papel);border:1.5px solid var(--ml-linha);border-radius:16px;padding:13px 12px;opacity:.62}
.ml-licao .ml-etapa-indice{grid-row:span 2;display:flex;align-items:center;justify-content:center;height:32px;width:32px;border-radius:50%;background:var(--ml-suave);color:var(--ml-acento);font-weight:800}
.ml-licao .ml-etapa-titulo{font-weight:800;font-size:13px;color:var(--ml-texto);line-height:1.35}
.ml-licao .ml-etapa-nota{font-size:11.5px;color:var(--ml-mudo)}
.ml-licao .ml-etapa-actual{border-color:var(--ml-acento);opacity:1;box-shadow:0 8px 20px rgba(128,85,168,.11)}
.ml-licao .ml-etapa-actual .ml-etapa-indice{background:var(--ml-acento);color:#fff}
.ml-licao .ml-etapa-feita{opacity:1}
.ml-licao .ml-etapa-feita .ml-etapa-indice{background:#e8ddfa;color:#6f52a5}
.ml-licao[data-template="tabuada-estrategia"] .ml-array-grelha{padding:25px 10px;min-height:170px;align-content:center;gap:5px;border:0;background:linear-gradient(125deg,#f4edff,#f0e9fd)}
.ml-licao[data-template="tabuada-estrategia"] .ml-ponto{width:17px;height:17px}
.ml-licao[data-template="tabuada-estrategia"] .ml-cena{border-radius:20px}
.ml-licao[data-template="tabuada-estrategia"] .ml-frase{font-weight:600;color:var(--ml-texto)}
.ml-licao .ml-revelar-cena .ml-ponto{animation:ml-ponto-construir .5s ease backwards;animation-delay:calc(var(--ml-item-index,0) * 35ms)}
@keyframes ml-ponto-construir{from{opacity:0;transform:translateY(10px) scale(.65)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){.ml-licao .ml-jornada{grid-template-columns:1fr;gap:7px}.ml-licao .ml-etapa{padding:9px 11px}.ml-licao .ml-etapa-futura{display:none}.ml-licao[data-template="tabuada-estrategia"] .ml-ponto{width:13px;height:13px}}
@media(prefers-reduced-motion:reduce){.ml-licao .ml-revelar-cena .ml-ponto{animation:none!important}}


/* Storyboard v2 — cartoes do raciocinio, revelados um a um. */
.ml-licao[data-template="tabuada-estrategia"] .ml-jornada{display:none}
.ml-licao .ml-storyboard:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:15px 0}
.ml-licao .ml-story-card{min-width:0;border:1.5px solid var(--ml-linha);border-radius:18px;padding:15px;background:var(--ml-papel);animation:ml-story-aparece .4s ease both}
.ml-licao .ml-story-actual{border-color:var(--ml-acento);background:color-mix(in srgb,var(--ml-acento) 5%,var(--ml-papel));box-shadow:0 8px 24px rgba(122,77,172,.09)}
.ml-licao .ml-story-head{display:flex;align-items:center;gap:9px;color:var(--ml-texto);font-weight:800;font-size:14px}
.ml-licao .ml-story-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ml-suave);color:var(--ml-acento);flex:none}
.ml-licao .ml-story-actual .ml-story-num{background:var(--ml-acento);color:#fff}
.ml-licao .ml-story-explica{min-height:52px;color:var(--ml-mudo);line-height:1.5;font-size:13px;margin:12px 0}
.ml-licao .ml-story-ilustra{background:var(--ml-suave);border-radius:14px;min-height:185px;padding:16px 8px;display:flex;flex-direction:column;justify-content:center;gap:9px;align-items:center}
.ml-licao .ml-story-pontos{display:grid;grid-template-columns:repeat(var(--ml-story-col),minmax(0,14px));gap:4px;justify-content:center}
.ml-licao .ml-story-ponto{width:14px;height:14px;border-radius:50%;background:#b68af1;box-shadow:inset 0 -2px 0 #8e63d5;animation:ml-story-aparece .3s ease backwards;animation-delay:calc(var(--ml-story-idx) * 12ms)}
.ml-licao .ml-story-grupo-1{background:#83c0dd;box-shadow:inset 0 -2px 0 #4793b9}
.ml-licao .ml-story-grupo-2{background:#f5c08b;box-shadow:inset 0 -2px 0 #dc9a57}
.ml-licao .ml-story-retirado{opacity:.22;border:1px dashed #855bb4;background:transparent;box-shadow:none}
.ml-licao .ml-story-formulas{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.ml-licao .ml-story-formula{font-size:10px;line-height:1.35;font-weight:700;color:#654398;border:1px solid #d2b9f5;background:#fff;border-radius:100px;padding:3px 7px}
.ml-licao .ml-story-equacao{font-size:14px;color:var(--ml-acento);text-align:center}
.ml-licao .ml-corpo-story{display:block}
.ml-licao .ml-corpo-story .ml-cena{display:none}
.ml-licao .ml-corpo-story .ml-mia{display:flex;flex-direction:row;text-align:left;align-items:center;margin:10px 0;gap:14px}
.ml-licao .ml-corpo-story .ml-mia-topo{flex:none}
.ml-licao .ml-corpo-story .ml-mia-msg{min-height:0;flex:1}
.ml-licao .ml-corpo-story .ml-mia-pedir{flex:none}
.ml-licao .ml-story-resumo:not([hidden]){display:flex;gap:15px;align-items:center;padding:18px 22px;background:var(--ml-suave);border-radius:16px;border:1px solid var(--ml-linha);margin:14px 0}
.ml-licao .ml-story-resumo-icone{font-size:26px;color:var(--ml-acento)}
.ml-licao .ml-story-resumo strong{display:block;color:var(--ml-texto);font-size:16px}
.ml-licao .ml-story-resumo p{margin:4px 0 0;font-size:14px;line-height:1.55}
@keyframes ml-story-aparece{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.ml-licao .ml-storyboard:not([hidden]){grid-template-columns:1fr}.ml-licao .ml-story-card{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.ml-licao .ml-story-head{grid-column:1}.ml-licao .ml-story-explica{grid-column:1}.ml-licao .ml-story-ilustra{grid-column:2;grid-row:1 / span 2;min-height:120px}.ml-licao .ml-story-pontos{gap:3px}.ml-licao .ml-story-ponto{width:12px;height:12px}}
@media(max-width:550px){.ml-licao .ml-story-card{display:block}.ml-licao .ml-story-explica{min-height:0}.ml-licao .ml-corpo-story .ml-mia{flex-wrap:wrap}.ml-licao .ml-corpo-story .ml-mia-pedir{width:100%}}
@media(prefers-reduced-motion:reduce){.ml-licao .ml-story-card,.ml-licao .ml-story-ponto{animation:none!important}}


/* Animacao pedagogica: contar -> agrupar por filas -> identificar quociente. */
.ml-licao .ml-story-acao{display:block;max-width:100%;font-size:12px;line-height:1.4;font-weight:800;color:#71569a;text-align:center;margin:0 0 7px}
.ml-licao .ml-story-grupos-nota{font-size:11px;font-weight:800;color:#674a9c;text-align:center}
.ml-licao .ml-story-agrupar .ml-story-pontos{gap:7px 4px}
.ml-licao .ml-story-agrupar .ml-story-ponto{box-shadow:0 0 0 3px rgba(137,100,209,.11),inset 0 -2px 0 #8e63d5}
.ml-licao .ml-story-actual .ml-story-agrupar .ml-story-pontos-animar .ml-story-ponto{animation:ml-agrupar-fila .7s ease backwards;animation-delay:calc(var(--ml-story-linha) * 160ms)}
@keyframes ml-agrupar-fila{0%{opacity:.25;transform:translateX(-9px) scale(.7);background:#d8c8ec}65%{opacity:1;transform:translateX(3px) scale(1.18)}100%{transform:translateX(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.ml-licao .ml-story-actual .ml-story-agrupar .ml-story-pontos-animar .ml-story-ponto{animation:none!important}}


/* Storyboard v4: composicao fiel a referencia aprovada */
.ml-licao[data-template="tabuada-estrategia"] .ml-storyboard:not([hidden]){grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:13px}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-card{min-height:360px;display:flex;flex-direction:column;border-radius:17px;padding:16px}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-head{font-size:14px;min-height:39px}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-explica{font-size:13px;line-height:1.5;min-height:58px;margin:11px 0}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-ilustra{flex:1;min-height:210px;background:linear-gradient(145deg,#f9f6ff,#f0eafa);border-radius:15px}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-actual{background:linear-gradient(135deg,#fff,#fff7fc);border-color:#ed34ba;box-shadow:0 4px 23px #e6b5db30}
.ml-licao .ml-story-por-descobrir{opacity:.72;border-style:dashed}
.ml-licao .ml-story-espera{flex:1;min-height:180px;display:grid;place-items:center;background:var(--ml-suave);border-radius:15px;margin-top:14px}
.ml-licao .ml-story-espera span{font:800 60px 'Baloo 2',sans-serif;color:#bfaed8}
.ml-licao .ml-story-espera-texto{font-size:12px;color:var(--ml-mudo);text-align:center}
.ml-licao .ml-story-matriz-grupos{row-gap:8px}
.ml-licao .ml-story-matriz-grupos .ml-story-ponto{box-shadow:0 0 0 3px #e5d5fa,inset 0 -2px 0 #8e63d5}
.ml-licao .ml-story-actual .ml-story-matriz-grupos.ml-story-pontos-animar .ml-story-ponto{animation:ml-agrupar-fila .65s ease backwards;animation-delay:calc(var(--ml-story-linha)*160ms)}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-resumo:not([hidden]){background:linear-gradient(110deg,#f2ebfc,#fdf3fb);padding:19px 24px}
.ml-licao[data-template="tabuada-estrategia"] .ml-story-resumo strong{font-size:19px}
@media(max-width:1000px){.ml-licao[data-template="tabuada-estrategia"] .ml-storyboard:not([hidden]){grid-template-columns:1fr}.ml-licao[data-template="tabuada-estrategia"] .ml-story-card{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.ml-licao[data-template="tabuada-estrategia"] .ml-story-ilustra{grid-column:2;grid-row:1/span 2;min-height:150px}.ml-licao .ml-story-espera{min-height:90px;grid-column:2;grid-row:1/span 2}}
@media(max-width:560px){.ml-licao[data-template="tabuada-estrategia"] .ml-story-card{display:flex}.ml-licao[data-template="tabuada-estrategia"] .ml-story-ilustra{min-height:180px}.ml-licao .ml-story-por-descobrir{min-height:140px!important}.ml-licao .ml-story-por-descobrir .ml-story-espera{display:none}}
@media(prefers-reduced-motion:reduce){.ml-licao .ml-story-actual .ml-story-matriz-grupos.ml-story-pontos-animar .ml-story-ponto{animation:none!important}}

/* Ciclo da agua — paisagem editorial interactiva. */
.ml-licao .ml-ciclo-paisagem{height:auto;aspect-ratio:1100/440;border:0;border-radius:18px;background:#cce8fa;overflow:hidden;margin:0}
.ml-licao .ml-ciclo-fundo{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.ml-licao .ml-ciclo-paisagem .ml-ciclo-no{z-index:3;max-width:none;white-space:nowrap;opacity:.8;border-radius:14px;padding:7px 11px;box-shadow:0 4px 16px #164c6a18}
.ml-licao .ml-ciclo-paisagem .ml-ciclo-no small{font-size:12px;color:#3d557c}
.ml-licao .ml-ciclo-paisagem .ml-ciclo-ativa{opacity:1;border:2px solid #f032ae;background:#fff;box-shadow:0 0 0 5px #f032ae22,0 8px 20px #16345133}
.ml-licao .ml-ciclo-fluxos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ml-licao .ml-ciclo-fluxo{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-dasharray:10 11;opacity:.45}
.ml-licao .ml-ciclo-fluxo-activo{stroke:#f032ae;opacity:1;stroke-dasharray:13 10;animation:ml-ciclo-fluir 2.5s linear infinite;filter:drop-shadow(0 2px 2px #fff)}
@keyframes ml-ciclo-fluir{to{stroke-dashoffset:-92}}
@media(max-width:700px){.ml-licao .ml-ciclo-paisagem{aspect-ratio:4/3}.ml-licao .ml-ciclo-fundo{object-fit:cover;object-position:50% 50%}.ml-licao .ml-ciclo-paisagem .ml-ciclo-no{padding:4px 6px}.ml-licao .ml-ciclo-paisagem .ml-ciclo-no small{font-size:9px}.ml-licao .ml-ciclo-fluxos{opacity:.7}}
@media(prefers-reduced-motion:reduce){.ml-licao .ml-ciclo-fluxo-activo{animation:none!important}}

/* ── cena «passos-terra»: os três momentos e os gestos que protegem ── */
.ml-licao .ml-passos{display:flex;gap:10px;justify-content:center;margin:10px 0 2px}
.ml-licao .ml-passos-cartao{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:150px;padding:14px 8px;border-radius:16px;border:2px solid #d6e2f0;background:#f5f9ff;opacity:.72;transition:opacity .25s,box-shadow .25s,border-color .25s}
.ml-licao .ml-passos-cartao b{font-size:30px;line-height:1}
.ml-licao .ml-passos-cartao small{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--ml-mudo)}
.ml-licao .ml-passos-ativa{opacity:1;border-color:var(--ml-acento);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--ml-acento) 18%,transparent),0 8px 18px rgba(22,52,81,.12)}
.ml-licao .ml-passos-ativa small{color:var(--ml-acento)}
.ml-licao .ml-gestos{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 2px 0}
.ml-licao .ml-gesto-chip{padding:7px 13px;border-radius:999px;background:#fff;border:2px solid #d6e2f0;font-weight:800;font-size:13px;color:#3d557c}
.ml-licao .ml-gesto-forte{border-color:var(--ml-acento);color:var(--ml-acento);background:color-mix(in srgb,var(--ml-acento) 8%,#fff)}
.ml-licao .ml-passos-nota{font-size:12.5px;color:var(--ml-mudo);margin:8px 2px 0;line-height:1.5;text-align:center}
@media(max-width:700px){.ml-licao .ml-passos{gap:7px}.ml-licao .ml-passos-cartao{padding:10px 6px}.ml-licao .ml-passos-cartao b{font-size:24px}.ml-licao .ml-passos-cartao small{font-size:10px}.ml-licao .ml-gesto-chip{font-size:11.5px;padding:6px 10px}}
