:root{--loader-backdrop:rgb(10 25 47 / 88%);--loader-border:rgb(255 255 255 / 12%);--loader-text:#f0f4ff;--loader-accent:var(--hx-accent-orange,#F77F00)}#qkLoader{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--loader-backdrop);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .45s,visibility .45s}#qkLoader.hidden{opacity:0;visibility:hidden}#qkLoader .loader-shell{display:flex;flex-direction:column;align-items:center;gap:18px;padding:34px 44px 40px;border:1px solid var(--loader-border);border-radius:22px;background:linear-gradient(160deg,rgb(255 255 255 / 5%),rgb(255 255 255 / 1.5%));box-shadow:0 8px 40px -8px rgb(0 0 0 / 55%),0 0 0 1px rgb(255 255 255 / 5%) inset}#qkLoader .logo{font-size:1.15rem;font-weight:600;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;color:var(--loader-text)}#qkLoader .logo img{height:34px;width:auto;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 45%))}#qkLoader .spinner{width:52px;height:52px;position:relative}#qkLoader .spinner::after,#qkLoader .spinner::before{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid transparent}#qkLoader .spinner::before{border-top-color:var(--loader-accent);border-right-color:var(--loader-accent);animation:1s linear infinite spin}#qkLoader .spinner::after{border-bottom-color:rgb(255 255 255 / 35%);border-left-color:rgb(255 255 255 / 18%);animation:1.6s linear infinite reverse spin}#qkLoader .msg{font-size:.9rem;color:var(--loader-text);opacity:.9;text-align:center;max-width:280px;line-height:1.4}#qkLoader .progress-bar{position:relative;width:160px;height:6px;background:rgb(255 255 255 / 8%);border-radius:4px;overflow:hidden}#qkLoader .progress-bar span{position:absolute;inset:0;background:linear-gradient(90deg,var(--loader-accent),#ffc837);width:40%;animation:1.8s ease-in-out infinite bar-move;border-radius:4px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bar-move{0%{transform:translateX(-60%)}50%{transform:translateX(40%)}100%{transform:translateX(160%)}}@media (prefers-reduced-motion:reduce){#qkLoader .spinner::after,#qkLoader .spinner::before{animation:none}#qkLoader .progress-bar span{animation:none;width:60%}}