.fc-dialog-motion {
  opacity: 0;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: var(--fc-motion-overlay-duration, 180ms);
  transition-timing-function: var(--fc-motion-ease-out, cubic-bezier(.22, 1, .36, 1));
}

html.fc-dialog-scroll-locked {
  overflow: hidden;
  overscroll-behavior: none;
}

body.fc-dialog-scroll-locked {
  position: fixed;
  top: var(--fc-dialog-scroll-top, 0);
  left: 0;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

.fc-dialog-motion.is-open {
  opacity: 1;
  pointer-events: auto;
}

.fc-dialog-motion__surface {
  opacity: 0;
  transform: translateY(var(--fc-dialog-offset, var(--fc-motion-dialog-offset, 8px)));
  transition-property: opacity, transform;
  transition-duration: var(--fc-motion-panel-duration, 220ms);
  transition-timing-function: var(--fc-motion-ease-out, cubic-bezier(.22, 1, .36, 1));
}

.fc-dialog-motion.is-open .fc-dialog-motion__surface {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .fc-dialog-motion,
  .fc-dialog-motion__surface {
    transition-duration: var(--fc-motion-instant, .001ms) !important;
  }
}
