.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.legend-systems-mark {
  display: inline-block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  color: currentColor;
  background-color: currentColor;
  -webkit-mask: url('../assets/branding/legend-systems-mark.svg') center / contain no-repeat;
  mask: url('../assets/branding/legend-systems-mark.svg') center / contain no-repeat;
}
.legend-systems-mark-fallback { display: none; width: 100%; height: 100%; fill: currentColor; }

@supports not (mask-image: url('../assets/branding/legend-systems-mark.svg')) {
  .legend-systems-mark {
    background: transparent;
    -webkit-mask: none;
    mask: none;
  }
  .legend-systems-mark-fallback { display: block; }
}

.document-selector-card { display: grid; gap: 9px; }
.document-selector { width: 100%; min-height: 36px; border: 1px solid rgba(107, 148, 171, .34); border-radius: 2px; padding: 0 9px; background: rgba(2, 9, 14, .82); color: #e9f3f6; font: 11px inherit; }
.document-selector:focus-visible { outline: 2px solid var(--cv-focus-light); outline-offset: 2px; }
.document-description { margin: 0; color: var(--editor-muted); font-size: 10px; line-height: 1.45; }
.runtime-status { width: min(210mm, 100%); margin: 0 auto 12px; color: #9fdcff; font-size: 10px; letter-spacing: .08em; text-align: center; }
.runtime-status[data-state="loading"] { color: #bfcbd1; }
.runtime-status[data-state="error"] { color: #ff8a92; }
.document-mount { min-width: 210mm; min-height: 297mm; }
.document-mount--unavailable, .document-mount--error { min-width: 0; min-height: calc(100vh - 150px); display: grid; place-items: center; }
.document-unavailable, .runtime-error { width: min(560px, 100%); border: 1px solid rgba(107, 148, 171, .34); border-radius: 3px; padding: 34px; background: linear-gradient(145deg, rgba(16, 31, 42, .88), rgba(6, 13, 19, .78)); color: #e9f3f6; text-align: center; }
.document-unavailable h1, .runtime-error h1 { margin: 0; color: #f4fbff; font-size: 22px; letter-spacing: .04em; }
.document-unavailable p, .runtime-error p { color: var(--editor-muted); font-size: 13px; line-height: 1.6; }
.document-unavailable-status { color: #8fd7ff !important; font-size: 10px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.document-unavailable .tool-button, .runtime-error .tool-button { margin-top: 12px; }

@media (max-width: 1100px) {
  .runtime-status { width: 100%; }
  .document-mount { min-width: 0; }
  .document-mount--unavailable, .document-mount--error { min-height: 65vh; }
}

@media print {
  .runtime-status, .document-mount--unavailable, .document-mount--error { display: none !important; }
}
