.gradual-blur {
  pointer-events: none;
  transition: opacity 0.3s ease-out;
  isolation: isolate;
}

.gradual-blur-parent {
  /* parent should set overflow: hidden when using target parent */
}

.gradual-blur-page {
  position: fixed;
  pointer-events: none;
}

.gradual-blur-inner {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.gradual-blur-inner > div {
  -webkit-backdrop-filter: inherit;
  backdrop-filter: inherit;
}

@supports not (backdrop-filter: blur(1px)) {
  .gradual-blur-inner > div {
    background: rgba(0, 0, 0, 0.12);
    opacity: 0.5;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gradual-blur {
    transition: none;
  }
}

