/* Application layer contract. Components own local stacking only; overlay
   surfaces are direct children of the body portal, never editor descendants. */
:root {
  --ys-layer-navigation:100;
  --ys-layer-backdrop:180;
  --ys-layer-sidebar:200;
  --ys-layer-restore:300;
  --ys-layer-panel:400;
  --ys-layer-dropdown:500;
  --ys-layer-modal:600;
  --ys-layer-popover:700;
  --ys-layer-tooltip:800;
  --ys-layer-notification:900;
  --ys-overlay-gap:8px;
}
/* No transform, isolation, containment or clipping context on this host. */
#ysOverlayRoot { display:contents; }
html body #privateApp .topbar,
html body #privateApp .sidebar,
html body #privateApp #ysTopPrimaryNav,
html body #ysUtilityBar { z-index:var(--ys-layer-navigation)!important; }
html body #manuscriptView.active .chapter-pane,
html body #ysReportsSidebar { z-index:var(--ys-layer-sidebar)!important; }
html body #manuscriptView.active .ys-mobile-manuscript-bar { z-index:var(--ys-layer-navigation)!important; }
html body #ysMobileChapterBackdrop,
html body #ysMobileAnalysisBackdrop { z-index:var(--ys-layer-backdrop)!important; }
html body .ys-global-restore-tab,
html body #statsRestoreTab,
html body #analysisRestoreTab,
html body #ysAnalysisRestoreTab,
html body #findReplaceRestoreTab,
html body #ysPolishRestoreTab,
html body #storyGuideRestore { z-index:var(--ys-layer-restore)!important; }
html body [data-ys-overlay] { box-sizing:border-box; }
html body #sfManuscriptCaret { z-index:50!important; }
html body [data-ys-overlay="panel"] {
  min-width:0!important;min-height:0!important;
  max-width:calc(var(--ys-vw,100vw) - 16px)!important;
  max-height:calc(var(--ys-vh,100dvh) - 16px)!important;
}
html body [data-ys-overlay="modal"] {
  padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
  overscroll-behavior:contain;
}
html body [data-ys-overlay] > .modal-card,
html body [data-ys-overlay] > .sb2-merge-card {
  box-sizing:border-box!important;
  min-width:0!important; min-height:0!important;
  max-width:calc(var(--ys-vw,100vw) - 16px)!important;
  max-height:calc(var(--ys-vh,100dvh) - 16px)!important;
}
html body [data-ys-overlay] > .sb2-merge-card { overflow:auto;overscroll-behavior:contain; }
/* Keep the help heading outside its independently scrolling content. */
html body #supportCentralModal .support-central-card {
  display:flex!important; flex-direction:column!important;
  width:min(700px,calc(var(--ys-vw,100vw) - 16px))!important;
  height:min(500px,calc(var(--ys-vh,100dvh) - 16px))!important;
  overflow:hidden!important; padding:0!important;
}
html body #supportCentralModal .support-central-head { flex:0 0 auto; min-width:0; }
html body #supportCentralModal .support-central-head > div { min-width:0; }
html body #closeSupportCentral { flex:0 0 auto; }
html body #supportCentralModal .support-central-head {
  cursor:move;touch-action:none;user-select:none;
}
html body #supportCentralModal .support-central-head:focus-visible {
  outline:2px solid #b88430;outline-offset:-3px;
}
html body #supportCentralModal .support-central-head button { cursor:pointer;touch-action:manipulation; }
html body #supportCentralModal .support-central-body {
  flex:1 1 auto; min-height:0; max-height:none!important;
  overflow:auto!important; overscroll-behavior:contain;
}
html body [data-ys-overlay="dropdown"] {
  position:fixed!important; margin:0!important;
  max-width:calc(var(--ys-vw,100vw) - 16px)!important;
  max-height:calc(var(--ys-vh,100dvh) - 16px)!important;
  overflow:auto!important; overscroll-behavior:contain;
}
html body .ys-overlay-context-notice {
  position:fixed!important; bottom:auto!important; right:auto!important;
  max-width:min(360px,calc(var(--ys-vw,100vw) - 16px))!important;
  white-space:normal!important; overflow-wrap:anywhere;
  transform:none!important;
}
html body [data-ys-overlay="notification"] {
  max-width:calc(var(--ys-vw,100vw) - 16px)!important;
  max-height:calc(var(--ys-vh,100dvh) - 16px)!important;
  overflow-wrap:anywhere;
}
html body [data-ys-overlay] [data-ys-dialog-focus]:focus-visible {
  outline:2px solid #b88430; outline-offset:2px;
}
@media(max-width:500px) {
  html body #supportCentralModal .support-central-head { padding:12px;gap:8px; }
  html body #supportCentralModal .support-central-head h3 { font-size:22px; }
  html body #supportCentralModal .support-central-head p { font-size:12px; }
}
