.app-loading {
  --vw-loader-bg:#f2f7f8;
  --vw-loader-ink:#13283f;
  --vw-loader-muted:#687d8d;
  --vw-loader-track:#dde6ea;
  --vw-loader-accent-a:#10b7a5;
  --vw-loader-accent-b:#1d4ed8;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--vw-loader-ink);
  background:var(--vw-loader-bg);
  overflow:hidden;
}
.app-loading--startup{position:fixed;inset:0;z-index:2147483000;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 24px max(20px,env(safe-area-inset-bottom))}
.app-loading--page{position:relative;min-height:clamp(360px,72dvh,820px);padding:40px 24px}
.app-loading--inline{position:relative;min-height:148px;padding:22px;background:transparent}
.app-loading-brand{display:flex;align-items:center;justify-content:center;gap:20px;max-width:min(92vw,560px);animation:app-enter .30s cubic-bezier(.2,.8,.25,1) both;transform-origin:center}
.app-loading-logo{flex:0 0 auto;width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 7px 18px rgba(20,54,78,.10))}
.app-loading-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-left:20px;border-left:1px solid rgba(48,79,99,.16);animation:app-copy .30s ease-out both}
.app-loading-copy strong{font-family:Poppins,Inter,system-ui,sans-serif;font-size:35px;font-weight:800;line-height:1;letter-spacing:-1.05px;color:var(--vw-loader-ink);white-space:nowrap}
.app-loading-subtitle{color:var(--vw-loader-muted);font-size:13px;line-height:1.35;letter-spacing:.01em;white-space:nowrap}
.app-loading-progress{position:relative;width:190px;max-width:100%;height:3px;margin-top:10px;border-radius:999px;background:var(--vw-loader-track);overflow:hidden;opacity:1}
.app-loading-progress::after{content:'';position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,var(--vw-loader-accent-a),var(--vw-loader-accent-b));box-shadow:0 0 10px rgba(16,183,165,.16);animation:app-progress 1.28s cubic-bezier(.45,0,.25,1) infinite}
.app-loading-progress::before{content:'';position:absolute;top:0;bottom:0;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);z-index:1;opacity:.55;animation:app-shimmer 1.28s ease-in-out infinite}
.app-loading-status{min-height:16px;margin-top:4px;color:#738695;font-size:11px;line-height:1.3;opacity:0;animation:app-copy .24s ease-out .58s forwards}
.app-loading--continuation .app-loading-brand,.app-loading--continuation .app-loading-copy{animation-delay:0s;animation-duration:.01s}
.app-loading--continuation .app-loading-progress,.app-loading--continuation .app-loading-status{opacity:1;animation-delay:0s}
.app-loading--continuation .app-loading-progress::after,.app-loading--continuation .app-loading-progress::before{animation-delay:0s}
.app-loading--inline .app-loading-brand{gap:13px}
.app-loading--inline .app-loading-logo{width:48px;height:48px;filter:drop-shadow(0 4px 10px rgba(20,54,78,.08))}
.app-loading--inline .app-loading-copy{gap:2px;padding-left:13px}
.app-loading--inline .app-loading-copy strong{font-size:21px;letter-spacing:-.45px}
.app-loading--inline .app-loading-subtitle{font-size:11px}
.app-loading--inline .app-loading-progress{width:128px;height:2px;margin-top:6px}
@keyframes app-enter{from{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes app-copy{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes app-progress-show{to{opacity:1}}
@keyframes app-progress{0%{transform:translateX(-115%)}58%{transform:translateX(178%)}100%{transform:translateX(278%)}}
@keyframes app-shimmer{0%{transform:translateX(-180%)}100%{transform:translateX(470%)}}
@media(max-width:430px){
  .app-loading--startup,.app-loading--page{padding-left:18px;padding-right:18px}
  .app-loading-brand{gap:14px}
  .app-loading-logo{width:78px;height:78px}
  .app-loading-copy{gap:3px;padding-left:14px}
  .app-loading-copy strong{font-size:30px;letter-spacing:-.8px}
  .app-loading-subtitle{font-size:12px}
  .app-loading-progress{width:168px;margin-top:8px}
}
@media(max-width:350px){
  .app-loading-brand{gap:11px}
  .app-loading-logo{width:68px;height:68px}
  .app-loading-copy{padding-left:11px}
  .app-loading-copy strong{font-size:26px;letter-spacing:-.6px}
  .app-loading-subtitle{font-size:11px}
  .app-loading-progress{width:145px}
}
@media(orientation:landscape) and (max-height:500px){
  .app-loading--startup{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .app-loading-logo{width:66px;height:66px}
  .app-loading-copy strong{font-size:27px}
  .app-loading-progress{width:156px;margin-top:6px}
}
@media(prefers-reduced-motion:reduce){
  .app-loading-brand,.app-loading-copy,.app-loading-progress,.app-loading-progress::after,.app-loading-progress::before,.app-loading-status{animation:none!important;opacity:1}
}

