.host {
  inset: 0;
  user-select: none;
  background-color: var(--vkui--color_overlay_primary);
  transition: opacity 0.3s linear;
  will-change: opacity;
  -webkit-tap-highlight-color: transparent;
}

.nonInteractive {
  pointer-events: none;
  touch-action: none;
}

.hostPositionAbsolute {
  position: absolute;
}

.hostPositionFixed {
  position: fixed;
  z-index: var(--vkui--z_index_modal);
}

.hostStateEnter {
  opacity: 0;
  transition-property: none;
}

.hostStateEntering {
  opacity: var(--vkui_internal--modal-overlay--opacity);
}

.hostStateEntered {
  opacity: var(--vkui_internal--modal-overlay--opacity);
}

.hostStateExit {
  opacity: var(--vkui_internal--modal-overlay--opacity);
  transition-property: none;
}

.hostStateExiting {
  opacity: 0;
}

.hostStateExited {
  opacity: 0;
  transition-property: none;
}
/* Mobile */
@media (--viewWidth-smallTabletMinus) {
  .hostStateEntering,
  .hostStateExiting {
    transition-duration: var(--vkui--animation_duration_l);
  }
}
/* Desktop */
@media (--viewWidth-smallTabletPlus) {
  .hostStateEntering {
    transition-duration: 0.2s;
  }

  .hostStateExiting {
    transition-duration: 0.1s;
  }
}
