.overlay-wrapper {
  width: 100%;
  min-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay-container,
.overlay-container::before,
.overlay-container::after,
.overlay-content,
.overlay-content::before,
.overlay-content::after,
.overlay-content *,
.overlay-content *::before,
.overlay-content *::after {
  box-sizing: border-box;
}

.overlay-wrapper-passive {
  width: 0;
  min-height: 0;
  display: block;
  overflow: hidden;
}

.overlay-container {
  position: absolute;
  z-index: 9999;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  opacity: 0;
  transform: scale(1);
  transition: opacity 0.18s ease-out, transform 0.18s ease-out;
  will-change: transform, opacity;
}

.overlay-visible {
  opacity: 1;
  transform: scale(1);
}

.overlay-hiding {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.overlay-content {
  position: relative;
  min-width: 0;
  min-height: 0;
}
