@import url('./appearance.css');
/* This file is preloaded by supported login branding, before sign-in. */
#login{--grad:linear-gradient(135deg,#55dce2,#229da6);--brand:#55dce2;--brand-2:#229da6;--brand-ink:#071b20;--brand-soft:#133a40;--brand-text:#59dce2;--bg:#081216;--panel:#101e23;--panel-2:#14272e;--panel-3:#1a323a;--line:#28434b;--text:#e6f2f4;--muted:#9eb8bf;background:var(--bg);color:var(--text)}
#login .auth-aside{background:radial-gradient(ellipse at 20% 20%,#1d5159,transparent 65%),linear-gradient(145deg,#132b31,#071013)}
#login .auth-main{background:linear-gradient(145deg,#0d1c21,#071014)}
/* Before the tiny startup module arrives, a CSS-only branded gate covers the
   authenticated shell. Guest/sign-in/reset screens remain fully usable. */
body:not([data-xglobe-startup-ready]):has(> #app.on){overflow:hidden}
body:not([data-xglobe-startup-ready]):has(> #app.on) > #app,
body:not([data-xglobe-startup-ready]):has(> #app.on) > #app *,
body:not([data-xglobe-startup-ready]):has(> #app.on) > .xs-mobile-nav,
body:not([data-xglobe-startup-ready]):has(> #app.on) > .xg-host,
body:not([data-xglobe-startup-ready]):has(> #app.on) > .xena-presence,
body:not([data-xglobe-startup-ready]):has(> #app.on) > .modal-bd{visibility:hidden!important;pointer-events:none!important}
body:not([data-xglobe-startup-ready]):has(> #app.on)::before{content:"";position:fixed;inset:0;z-index:148;background:url("/custom/xglobe/assets/xglobe-logo.png") center calc(50% - 55px)/150px 150px no-repeat,radial-gradient(ellipse at 50% 35%,#123137 0,transparent 48%),linear-gradient(145deg,#10191d,#05090c 75%)}
body:not([data-xglobe-startup-ready]):has(> #app.on)::after{content:"XGLOBE\A\A Opening your workspace…\A Reload this page if it takes too long.";position:fixed;inset:calc(50% + 58px) 0 auto;z-index:149;display:grid;place-content:center;white-space:pre-wrap;padding:0 24px;color:#d9f3f5;text-align:center;font:500 16px/1.9 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;pointer-events:none}
#sidebar > .nav-section[data-xglobe-hidden]{display:none!important}
#sidebar[data-xglobe-navigation-required]:not([data-xglobe-navigation-ready]) > .nav-section{visibility:hidden!important}
#xglobe-startup{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:32px 24px 76px;color:#ecf8f9;background:radial-gradient(ellipse at 50% 35%,#123137 0,transparent 48%),linear-gradient(145deg,#10191d,#05090c 75%);font-family:Inter,ui-sans-serif,system-ui,sans-serif;text-align:center}
#xglobe-startup[hidden]{display:none!important}
#xglobe-startup .xgb-card{width:min(100%,380px)}
#xglobe-startup .xgb-mark{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto 22px;filter:drop-shadow(0 0 22px #31bcc034)}
#xglobe-startup .xgb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#xglobe-startup .xgb-track{height:2px;width:144px;overflow:hidden;margin:0 auto 24px;background:#203b40;border-radius:3px}
#xglobe-startup .xgb-track:after{content:"";display:block;width:46%;height:100%;background:#62dfe5;animation:xgb-progress 1.5s ease-in-out infinite}
#xglobe-startup p{min-height:24px;color:#a6bfc3;font-size:14px;line-height:1.6;margin:0}
#xglobe-startup button{display:block;margin:22px auto 0;padding:10px 19px;border:1px solid #487078;border-radius:9px;background:#14282d;color:#e7f8f9;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
#xglobe-startup button[hidden]{display:none}
#xglobe-startup button:hover{background:#203b42;border-color:#6fced4}
#xglobe-startup button:focus-visible{outline:2px solid #70e9ef;outline-offset:4px}
@keyframes xgb-progress{0%{transform:translateX(-105%)}100%{transform:translateX(320%)}}
@media(prefers-reduced-motion:reduce){#xglobe-startup .xgb-track:after{animation:none;width:100%}}
