/* Available before application configuration arrives; no dependency on theme classes. */
body.app-booting{overflow:hidden}
body.app-booting>.sidebar,body.app-booting>.workspace{visibility:hidden}
#boot-splash{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;padding:72px 24px;box-sizing:border-box;background:radial-gradient(ellipse at 50% 35%,#f7faff 0,#e5efff 48%,#d5e5fa 100%);font-family:Inter,'Segoe UI',sans-serif;color:#2c517d}
#boot-splash:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#a9c3e7 1px,transparent 1px);background-size:24px 24px;opacity:.23;pointer-events:none}
.boot-masthead{position:absolute;top:26px;left:32px;display:flex;align-items:center;gap:10px;color:#3a6daf;font-size:12px;font-weight:650;letter-spacing:.7px}
.boot-masthead>svg{width:25px;height:30px}.boot-location{position:absolute;bottom:23px;left:0;right:0;text-align:center;color:#6580a3;font-size:11px;letter-spacing:1.3px}
.boot-card{position:relative;width:min(100%,540px);box-sizing:border-box;padding:29px 32px 26px;border:1px solid #c7d9f2;border-radius:24px;background:#ffffffed;box-shadow:0 24px 80px #4879bd22,0 2px 8px #3b659d10;text-align:center}
.boot-visual{width:164px;height:164px;margin:0 auto 12px;position:relative}
.boot-visual:before{content:'';position:absolute;inset:34px;border-radius:50%;background:#e9f4ff;filter:blur(20px)}
.boot-visual>svg{position:relative;display:block;width:164px;height:164px;overflow:visible}
.boot-orbit{transform-origin:90px 90px;animation:loading-orbit 11s linear infinite}
.boot-river{animation:loading-river 4s linear infinite}
.boot-point{animation:loading-point 2.6s ease-in-out infinite}.boot-point:nth-of-type(2){animation-delay:.5s}.boot-point:nth-of-type(3){animation-delay:1s}
.boot-eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#466fa3;margin:0 0 10px}
#boot-title{font-size:26px;font-weight:650;line-height:1.3;letter-spacing:-.7px;margin:0;color:#173e70}
#boot-message{font-size:14px;line-height:1.7;max-width:400px;margin:10px auto 0;color:#536b8b;min-height:47px}
.boot-channels{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0 21px}
.boot-channels>span{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1.5;color:#526f94;border:1px solid #e6edf8;background:#f7faff;padding:5px 8px;border-radius:6px}.boot-channels svg{width:13px;height:13px}
.loading-progress{height:3px;width:min(100%,230px);position:relative;overflow:hidden;background:#e8effa;border-radius:3px;max-width:230px;margin:0 auto}
.loading-progress>i{position:absolute;left:0;width:42%;height:100%;background:linear-gradient(90deg,#93bafa,#397cf0,#68c7d1);border-radius:3px;animation:loading-progress 1.9s ease-in-out infinite}
.boot-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 0;text-align:left;opacity:.7}
.boot-preview>div{height:51px;box-sizing:border-box;padding:11px;border:1px solid #ebf0f8;border-radius:8px;background:#f9fbff;display:flex;flex-direction:column;gap:8px}
.boot-preview i{display:block;height:5px;border-radius:4px;background:#e2ebf7;position:relative;overflow:hidden}.boot-preview i:first-child{width:61%}.boot-preview i:last-child{width:37%;height:8px}
.boot-preview i:after,.page-loading-skeleton i:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffffc9,transparent);transform:translateX(-100%);animation:loading-shimmer 2.4s ease-in-out infinite}
#boot-hint{margin:13px 0 0;font-size:12px;line-height:1.6;color:#617b9c;min-height:19px}
#boot-retry{margin:12px auto 0;padding:10px 18px;font:600 13px Inter,'Segoe UI',sans-serif;line-height:1.5;border:0;border-radius:8px;color:#fff;background:#3274e9;cursor:pointer;box-shadow:0 3px 8px #3274e925}
#boot-retry:focus-visible{outline:2px solid #2364ca;outline-offset:4px}
#boot-retry[hidden],#boot-splash[hidden]{display:none!important}
.boot-failed .loading-progress,.boot-failed .boot-preview{display:none}.boot-failed #boot-title{color:#b45265}.boot-failed .boot-orbit,.boot-failed .boot-river,.boot-failed .boot-point{animation:none}
.boot-noscript{font-size:13px;line-height:1.6;color:#a66b38;margin-top:12px}
.page-loading{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 24px;min-height:320px;max-width:650px;margin:20px auto;border:1px solid #e2eaf6;background:linear-gradient(145deg,#fff,#f5f9ff);border-radius:16px;color:#4a709f}
.page-loading-mark{width:48px;height:48px;margin-bottom:15px;color:#4b89e4}.page-loading-mark svg{display:block;width:100%;height:100%}.page-loading-ring{transform-origin:20px 20px;animation:loading-orbit 1.8s linear infinite}
.page-loading>strong{font-size:19px;font-weight:600;line-height:1.5;color:#315986}.page-loading>p{font-size:13px;color:#8a9ab0;line-height:1.6;margin:7px 0 20px}.page-loading .loading-progress{width:150px;margin:0}
.page-loading-skeleton{display:flex;gap:8px;width:min(100%,350px);margin-top:25px}.page-loading-skeleton>i{flex:1;height:42px;border-radius:7px;background:#eaf0f9;position:relative;overflow:hidden}
@keyframes loading-orbit{to{transform:rotate(360deg)}}
@keyframes loading-river{to{stroke-dashoffset:-44}}
@keyframes loading-point{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes loading-progress{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
@keyframes loading-shimmer{to{transform:translateX(100%)}}
@media(max-width:480px){#boot-splash{padding:64px 16px}.boot-masthead{top:20px;left:22px;font-size:11px}.boot-card{padding:24px 18px 20px;border-radius:20px}.boot-visual,.boot-visual>svg{width:140px;height:140px}#boot-title{font-size:23px}#boot-message{font-size:13px}.boot-channels{gap:5px}.boot-channels>span{padding:4px 6px;font-size:10px}.boot-preview{margin-top:18px}.boot-location{font-size:10px;bottom:17px}}
@media(prefers-reduced-motion:reduce){.boot-orbit,.boot-river,.boot-point,.loading-progress>i,.boot-preview i:after,.page-loading-ring,.page-loading-skeleton i:after{animation:none}.loading-progress>i{width:45%;left:28%}.boot-preview i:after,.page-loading-skeleton i:after{display:none}}

