/* As durações vêm da mesma régua dos jogos; nada aqui segura o próximo toque. */
.mov-acervo-entrada {
  animation: mov-acervo-entrada var(--mov-normal) var(--mov-ease) both;
  animation-delay: calc(var(--mov-ordem, 0) * var(--mov-passo));
}
@keyframes mov-acervo-entrada {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.estrela, [data-act="janela-concluir"], [data-act="janela-salvar"],
[data-act^="janela-revisar:"], [data-act^="lembrei:"], [data-act^="esqueci:"] {
  position: relative;
  transition: transform var(--mov-rapido) var(--mov-ease);
}
.estrela:active, [data-act="janela-concluir"]:active,
[data-act="janela-salvar"]:active, [data-act^="janela-revisar:"]:active,
[data-act^="lembrei:"]:active, [data-act^="esqueci:"]:active { transform: scale(.96); }
.mov-marca { animation: mov-marca var(--mov-rapido) var(--mov-ease); }
@keyframes mov-marca {
  50% { transform: scale(1.08); }
}
.mov-confirmacao {
  position: absolute;
  inset-inline-end: -4px;
  inset-block-start: -5px;
  display: inline-flex;
  padding: 2px;
  border-radius: 50%;
  background: var(--surface);
  pointer-events: none;
  animation: mov-confirmacao var(--mov-enfase) var(--mov-ease) both;
}
@keyframes mov-confirmacao {
  0% { opacity: 0; transform: scale(.7); }
  25%, 75% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: translateY(-3px); }
}
.mov-foguinho svg { animation: mov-foguinho var(--mov-enfase) var(--mov-ease); }
@keyframes mov-foguinho {
  0% { opacity: .5; transform: scale(.7); }
  50% { opacity: 1; transform: scale(1.2) rotate(-8deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}
.mov-revisao-confirmada {
  color: var(--ok);
  animation: mov-acervo-entrada var(--mov-normal) var(--mov-ease);
}
@media (prefers-reduced-motion: reduce) {
  .mov-acervo-entrada, .mov-marca, .mov-confirmacao,
  .mov-foguinho svg, .mov-revisao-confirmada { animation: none; }
  .mov-confirmacao { display: none; }
  .estrela, [data-act="janela-concluir"], [data-act="janela-salvar"],
  [data-act^="janela-revisar:"], [data-act^="lembrei:"], [data-act^="esqueci:"] { transition: none; }
  .estrela:active, [data-act="janela-concluir"]:active,
  [data-act="janela-salvar"]:active, [data-act^="janela-revisar:"]:active,
  [data-act^="lembrei:"]:active, [data-act^="esqueci:"]:active { transform: none; }
}
/* O giro do Termo é comandado por JS: só a correção nova se mexe. */
.jogo-casa.revela { animation: none; }
.jogo-tecla { transition: opacity var(--mov-rapido) var(--mov-ease), transform var(--mov-rapido) var(--mov-ease); }
.jogo-tecla:active { transform: scale(.96); }
.jogo-tabuleiro { perspective: 700px; }
@media (prefers-reduced-motion: reduce) {
  .jogo-tecla { transition: none; }
  .jogo-tecla:active { transform: none; }
}
