.document-editor-frame-layer {
  position: fixed;
  top: var(--potok-viewport-top, 0px);
  left: var(--potok-viewport-left, 0px);
  width: var(--potok-viewport-width, 100%);
  height: var(--potok-viewport-height, 100dvh);
  z-index: 2200;
  overflow: hidden;
  background: rgba(13, 26, 45, 0.2);
  backdrop-filter: blur(5px) saturate(0.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 220ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 220ms;
}

.document-editor-frame-layer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.document-editor-frame-layer iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: transparent;
}

.document-editor-frame-status {
  pointer-events: none;
  visibility: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font: 700 11px/1 var(--font-ui, system-ui, sans-serif);
  letter-spacing: 0.02em;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 140ms ease;
}

.document-editor-frame-layer.is-loading .document-editor-frame-status,
.document-editor-frame-layer[data-editor-error] .document-editor-frame-status {
  opacity: 1;
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .document-editor-frame-layer,
  .document-editor-frame-status {
    transition-duration: 1ms !important;
  }
}
