/* Keep layout measurable while the document and its controls are prepared. */
html[data-editor-startup] { background: #000; }
html[data-editor-startup]:not([data-editor-startup=ready]) body > :not(#editor-startup),
html[data-editor-startup]:not([data-editor-startup=ready]) body > :not(#editor-startup) * { visibility: hidden !important; }
html[data-editor-startup]:not([data-editor-startup=ready]) dialog::backdrop { visibility: hidden; }
#editor-startup { text-align: center; font: 14px/1.5 system-ui,sans-serif; }
#editor-startup .page-startup-logo { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%); }
/* Keep progress accessible; show recovery controls only on actual startup failure. */
html[data-editor-startup=loading] #editor-startup :is(p,.editor-startup-actions) { position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
html[data-editor-startup=failed] #editor-startup { place-content:center;justify-items:center;gap:18px; }
html[data-editor-startup=failed] #editor-startup .page-startup-logo { position:relative;inset:auto;transform:none; }
#editor-startup p { max-width: 38ch; margin: 0; }
#editor-startup .editor-startup-actions { display: flex; justify-content: center; gap: 20px; }
#editor-startup :is(a,button) { border: 0; padding: 6px 4px; color: #aaa; background: none; font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
#editor-startup :is(a,button):hover { color: #fff; }
#editor-startup :is(a,button):focus-visible { outline: 2px solid #ddd; outline-offset: 4px; }
#editor-startup [hidden],html[data-editor-startup=ready] #editor-startup { display: none; }
