/* Only transient GSAP targets override the incumbent CSS animation. */
.hub-motion-running {
    animation: none !important;
    /* Só transform e opacity são do GSAP; cor, fundo, borda e anel de foco
       seguem com a transição do painel (antes zerava tudo, e o foco piscava). */
    transition-property: color, background-color, border-color, box-shadow, outline-color !important;
}
.hub-motion-ready .ios-reveal {
    opacity: 1;
    transform: none;
}
/* O brilho que atravessa o vidro do nav e um caso a parte: o ::after NAO tem
   opacity propria. Quem o mantinha invisivel antes e depois da varredura era
   o `both` do fill-mode da animacao. Tirar so a animacao devolve o estado
   natural dele -- uma faixa branca de 18%, opaca, parada na esquerda de cada
   barra. Some com ele em vez de so desliga-lo.
   `nav::after` sem a classe porque os paineis declaram a regra assim, e a
   classe de vidro so chega depois que o JS roda. */
.hub-motion-ready nav::after,
.hub-motion-ready nav.vazk-glass::after {
    display: none;
}

.hub-motion-ready nav button.on,
.hub-motion-ready nav button.on .ui-icon,
.hub-motion-ready .kpi .k-value,
.hub-motion-ready .balde .b-valor {
    animation: none;
}
@media (prefers-reduced-motion: reduce) {
    .hub-motion-running { transform: none !important; }
}
