:root{--loader-blue:#397ef0;--loader-cyan:#36bfd2;--loader-ink:#263850}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body.hub-loading-page{
 min-height:100svh;padding-bottom:78px!important;color:var(--loader-ink)!important;
 background:#f9f5fc!important;background-image:none!important;
 font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
.hub-loading-page:before,.hub-loading-page:after{content:none!important;display:none!important;background:none!important}
.loader-shell{width:min(1180px,calc(100% - 28px));min-height:calc(100svh - 172px);margin:0 auto;display:grid;place-items:center;padding:28px 0 88px}
.loader-state{width:min(620px,100%);padding:44px 34px 36px;text-align:center}
.loader-spinner{position:relative;width:84px;height:84px;margin:0 auto 24px}
.loader-spinner:before,.loader-spinner:after{content:"";position:absolute;border-radius:50%}
.loader-spinner:before{inset:0;border:5px solid #e4eaf3;border-top-color:var(--loader-blue);animation:loaderSpin 1s linear infinite}
.loader-spinner:after{inset:12px;border:2px solid transparent;border-right-color:var(--loader-cyan);border-bottom-color:#65d2b2;animation:loaderSpin 1.45s linear infinite reverse}
.loader-spinner i{position:absolute;width:8px;height:8px;top:38px;border-radius:50%;background:#54c8bf;box-shadow:0 0 0 5px #54c8bf1c;animation:loaderPulse 1.15s ease-in-out infinite}
.loader-spinner i:nth-child(1){left:25px}.loader-spinner i:nth-child(2){left:38px;animation-delay:.12s}.loader-spinner i:nth-child(3){left:51px;animation-delay:.24s}
.loader-state h1{margin:0;color:#28384e;font-size:30px;font-weight:800;letter-spacing:.06em}
.loader-state p{height:24px;margin:12px 0 27px;color:#8592a4;font-size:15px}
.loader-progress{height:5px;overflow:hidden;border-radius:999px;background:#e4eaf2}
.loader-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--loader-blue),var(--loader-cyan),#49c994);box-shadow:0 0 12px #36bfd260;transition:width .22s ease}
.loader-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:#94a0af;font-size:12px}
.loader-meta span{color:var(--loader-blue);font-weight:800}.loader-meta em{font-style:normal}
.loader-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:34px}
.loader-skeleton i{position:relative;height:78px;overflow:hidden;border:1px solid #e4eaf2;border-radius:18px;background:#fff;box-shadow:0 6px 20px #557da50d}
.loader-skeleton i:before{content:"";position:absolute;left:16px;top:16px;width:46px;height:46px;border-radius:50%;background:#edf2f8}
.loader-skeleton i:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#eff6ffba,transparent);animation:loaderShimmer 1.35s ease-in-out infinite}
.loader-skeleton i:nth-child(2):after{animation-delay:.1s}.loader-skeleton i:nth-child(3):after{animation-delay:.2s}.loader-skeleton i:nth-child(4):after{animation-delay:.3s}
.hub-loading-page .bottom .selected .nav-label{background:#613c8d!important;color:#fff!important}
.hub-loading-page .bottom .selected img{filter:drop-shadow(0 4px 7px #65358c55)!important}
@keyframes loaderSpin{to{transform:rotate(360deg)}}
@keyframes loaderPulse{50%{opacity:.24;transform:scale(.72)}}
@keyframes loaderShimmer{100%{transform:translateX(100%)}}
@media(max-width:780px){
 body.hub-loading-page{padding-bottom:43px!important}
 .loader-shell{width:calc(100% - 24px);min-height:calc(100svh - 122px);padding:18px 0 68px}
 .loader-state{padding:28px 18px 24px}
 .loader-spinner{width:72px;height:72px;margin-bottom:21px}.loader-spinner:after{inset:11px}.loader-spinner i{top:32px}.loader-spinner i:nth-child(1){left:20px}.loader-spinner i:nth-child(2){left:32px}.loader-spinner i:nth-child(3){left:44px}
 .loader-state h1{font-size:26px}.loader-state p{margin:10px 0 24px;font-size:13px}
 .loader-skeleton{gap:9px;margin-top:28px}.loader-skeleton i{height:68px;border-radius:16px}.loader-skeleton i:before{left:13px;top:13px;width:40px;height:40px}
}
@media(max-width:390px){.loader-state{padding-inline:8px}.loader-state h1{font-size:24px}.loader-skeleton{grid-template-columns:1fr 1fr}}
