html[data-frame-shell=loading] body>.zaoba-header,
html[data-frame-shell=loading] body>.zaoba-main,
html[data-frame-shell=loading] .zl-editor{visibility:hidden!important}
#frameOpening{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:16px;background:#fbf6ea;color:#173f73;font:15px 'PingFang SC',sans-serif;text-align:center;padding:24px}
#frameOpening img{width:64px;height:64px;object-fit:contain}
#frameOpening p{margin:0}
#frameOpening a{color:inherit;padding:12px 20px;border:1px solid #d7d1c5;border-radius:10px}
#frameOpening [hidden]{display:none}

/* Entry choice is in the top layer while the editor remains behind its load barrier. */
#frameEntryDialog{box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1.5px solid #c8c4bb;border-radius:28px;background:#fffaf0;color:#173f73;text-align:center;box-shadow:0 18px 70px #173f7324;font:16px/1.65 'Yuanti SC','STYuanti','PingFang SC',sans-serif;overflow:auto}
#frameEntryDialog::backdrop{background:#173f7329;backdrop-filter:blur(4px)}
#frameEntryDialog .frame-entry-logo{display:block;width:72px;height:72px;object-fit:contain;margin:0 auto 14px}
#frameEntryDialog h1{margin:0 0 10px;font-size:26px;line-height:1.35;font-weight:700;color:inherit}
#frameEntryDialog p{margin:0;color:#536981}
#frameEntryDialog .frame-entry-work{margin:22px 0;padding:16px;border:1px solid #efced7;border-radius:16px;background:#fae8ed;text-align:left}
#frameEntryDialog .frame-entry-work span{display:block;color:#925366;font-size:13px}
#frameEntryDialog .frame-entry-work strong{display:block;margin-top:4px;overflow-wrap:anywhere;max-height:5em;overflow:auto}
#frameEntryDialog .frame-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#frameEntryDialog button{box-sizing:border-box;min-height:52px;padding:12px 16px;border:1.5px solid #173f73;border-radius:15px;color:#173f73;background:#fffaf0;font:inherit;font-weight:700;cursor:pointer}
#frameEntryDialog #frameEntryContinue{background:#173f73;color:#fffaf0}
#frameEntryDialog button:focus-visible{outline:3px solid #df7b9e;outline-offset:4px}
#frameEntryDialog button:disabled{opacity:.55;cursor:wait}
#frameEntryDialog .frame-entry-note{margin-top:16px;font-size:13px}
#frameEntryDialog #frameEntryError:empty{display:none}
#frameEntryDialog #frameEntryError{margin-top:12px;color:#a14553;font-size:14px}
@media(max-width:420px){#frameEntryDialog{padding:24px 20px}#frameEntryDialog h1{font-size:23px}#frameEntryDialog .frame-entry-actions{grid-template-columns:1fr}#frameEntryDialog button{width:100%}}
