.app-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted);font-size:13.5px;font-weight:500}.app-loader-ring{width:38px;height:38px;border-radius:50%;border:3px solid var(--color-line);border-top-color:var(--color-primary);animation:app-loader-spin .75s linear infinite}.app-loader-label{letter-spacing:.2px}.app-loader-label:after{content:"";animation:app-loader-dots 1.4s steps(4) infinite}.app-loader.is-block{min-height:240px;padding:32px 16px}.app-loader.is-inline{flex-direction:row;gap:10px;padding:14px 0;font-size:13px}.app-loader.is-inline .app-loader-ring{width:20px;height:20px;border-width:2px}.app-loader.is-full{position:fixed;inset:0;z-index:1400;background:var(--color-overlay);color:#fff}.app-loader.is-full .app-loader-ring{border-color:#fff hsla(0,0%,100%,.25) hsla(0,0%,100%,.25)}@keyframes app-loader-spin{to{transform:rotate(1turn)}}@keyframes app-loader-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media(prefers-reduced-motion:reduce){.app-loader-ring{animation:app-loader-pulse 1.4s ease-in-out infinite}.app-loader-label:after{content:"…";animation:none}}@keyframes app-loader-pulse{0%,to{opacity:1}50%{opacity:.45}}