/**
 * NAO STUDIO — CONTRATO UNIVERSAL DE ESCENARIO Y TRANSICIONES
 * Geometría base de vistas (100dvh) y ciclo de vida (.is-entering -> .is-mounted -> .is-exiting)
 */

/* Contenedor Maestro de Aplicación */
.nao-stage {
  transition: opacity var(--time-norm) var(--ease-boutique);
}

/* Geometría Base Compartida por Todas las Vistas de Pantalla Completa */
.nao-view-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  z-index: 10;
}

/* Red de Seguridad Universal: Entrada y Salida Declarativa */
.nao-view-stage {
  opacity: 0;
  transition: opacity 320ms var(--ease-boutique), transform 320ms var(--ease-boutique);
}

.nao-view-stage.is-entering {
  opacity: 0;
  transform: scale(0.985);
}

.nao-view-stage.is-mounted {
  opacity: 1;
  transform: scale(1);
}

.nao-view-stage.is-exiting {
  opacity: 0 !important;
  transform: scale(0.985) translateY(-15px) !important;
  pointer-events: none !important;
}

/* Cascada Stagger Universal Declarativa de La Vajilla */
.nao-stagger-item {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 400ms var(--ease-boutique), transform 400ms var(--ease-boutique);
  transition-delay: calc(var(--stagger-idx, 0) * 55ms);
}

.nao-view-stage.is-mounted .nao-stagger-item {
  opacity: 1;
  transform: translateY(0);
}

.nao-view-stage.is-exiting .nao-stagger-item {
  opacity: 0;
  transform: translateY(-10px);
  transition-delay: 0s !important;
}