/* Navegação local com continuidade visual entre login e cadastro. */
@view-transition { navigation: auto; }
.auth-centered-card { view-transition-name: auth-panel; }
.auth-centered-card .auth-brand { view-transition-name: auth-brand; }
::view-transition-old(root),
::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
::view-transition-group(auth-panel),
::view-transition-group(auth-brand) {
  animation-duration: 440ms;
  animation-timing-function: cubic-bezier(.22,1,.36,1);
}
::view-transition-old(auth-panel) {
  animation: auth-panel-out 180ms ease-out both;
}
::view-transition-new(auth-panel) {
  animation: auth-panel-in 360ms 70ms cubic-bezier(.22,1,.36,1) both;
}
::view-transition-old(auth-brand),
::view-transition-new(auth-brand) { animation: none; mix-blend-mode: normal; }
@keyframes auth-panel-out {
  to { opacity: 0; transform: translateY(-6px); }
}
@keyframes auth-panel-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation-duration: 1ms !important; animation-delay: 0ms !important; }
}
