/* A single intentional transition prevents the application shell from flashing through a fake layout. */
body.app-restoring{background:#0a2018;min-height:100vh}
body.app-restoring>.showory-connection-notice{visibility:hidden}
#appRestoreScreen.workspace-loading-screen{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(circle at 50% 38%,#17382b 0,#0b251c 34%,#071710 100%);color:#f7f2e8;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;letter-spacing:normal;text-align:center;opacity:1;transition:opacity .18s ease,visibility .18s ease}
#appRestoreScreen.is-leaving{visibility:hidden;opacity:0;pointer-events:none}
.workspace-loading-sidebar{padding:0;display:block;background:transparent;border:0}
.workspace-loading-wordmark{margin:0;color:#fffdf8;font:500 34px/1 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.workspace-loading-wordmark::after{content:"";display:block;width:52px;height:1px;margin:15px auto 0;background:linear-gradient(90deg,transparent,#d6b980,transparent)}
.workspace-loading-sidebar .workspace-loading-line,.workspace-loading-header,.workspace-loading-title,.workspace-loading-subtitle,.workspace-loading-grid,.workspace-loading-avatar{display:none}
.workspace-loading-main{min-width:0;padding:0 24px}
.workspace-loading-status{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;color:#dfd4be;font-size:12px;font-weight:600;letter-spacing:.035em}
.workspace-loading-status::before{content:"";width:15px;height:15px;flex:none;border:2px solid rgba(214,185,128,.28);border-top-color:#d6b980;border-radius:50%;animation:showoryLoadingSpin .8s linear infinite}
.workspace-loading-status span{animation:showoryLoadingLabel .22s both}
.workspace-loading-status button,.showory-connection-notice button{border:1px solid #c8b68f;border-radius:9px;background:#faf7ee;color:#3e493c;padding:10px 16px;min-height:44px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.workspace-loading-status button[hidden]{display:none}
.workspace-loading-status button:focus-visible,.showory-connection-notice button:focus-visible{outline:2px solid #d6b980;outline-offset:3px}
#appRestoreScreen.has-error .workspace-loading-status{flex-wrap:wrap}
#appRestoreScreen.has-error .workspace-loading-status::before{display:none}
.showory-connection-notice{position:fixed;z-index:2147483001;left:50%;bottom:28px;transform:translateX(-50%);box-sizing:border-box;max-width:calc(100vw - 32px);display:flex;gap:18px;align-items:center;padding:14px 20px;background:#fffdf7;border:1px solid #d9ceb7;border-radius:13px;color:#35443c;box-shadow:0 8px 28px #20342614;font:500 13px/1.5 "Avenir Next",Avenir,sans-serif}
@keyframes showoryLoadingSpin{to{transform:rotate(1turn)}}
@keyframes showoryLoadingLabel{from{opacity:0}to{opacity:1}}
@media(max-width:640px){#appRestoreScreen.workspace-loading-screen{gap:15px}.workspace-loading-wordmark{font-size:30px}.workspace-loading-main{padding:0 20px}.workspace-loading-status{align-items:center;flex-wrap:wrap}.showory-connection-notice{bottom:16px;width:max-content;gap:12px}}
@media(prefers-reduced-motion:reduce){#appRestoreScreen.workspace-loading-screen{transition:none}.workspace-loading-status::before{animation:none}.workspace-loading-status span{animation:none}}
