/* Intro + drawer motion. Theme tokens live in index.html. */

@keyframes intro-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.intro {
  animation: intro-in 500ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

.skip-intro .intro {
  animation: none;
}

.menu-scrim {
  opacity: 0;
  pointer-events: none;
  transition: opacity 250ms cubic-bezier(0.32, 0.72, 0, 1);
}

.menu-panel {
  transform: translateX(100%);
  pointer-events: none;
  transition: transform 250ms cubic-bezier(0.32, 0.72, 0, 1);
}

html[data-menu-open] {
  overflow: hidden;
}

html[data-menu-open] .menu-scrim {
  opacity: 1;
  pointer-events: auto;
}

html[data-menu-open] .menu-panel {
  transform: translateX(0);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .intro {
    animation: none;
  }

  .menu-scrim,
  .menu-panel {
    transition: none;
  }
}
