/* EqualLearn polished loading screen */
#equalLearnLoader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(139,92,246,.28),transparent 34%),radial-gradient(circle at 85% 88%,rgba(14,165,233,.2),transparent 32%),linear-gradient(145deg,#111531,#24205f 58%,#4f46e5);color:#fff;font-family:inherit;opacity:1;visibility:visible;transition:opacity .24s ease,visibility .24s ease}
#equalLearnLoader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-content{width:min(92vw,390px);text-align:center;padding:30px 26px 24px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(15,18,47,.58);box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.loader-brand{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:22px}.loader-logo{width:58px;height:58px;border-radius:18px;object-fit:cover;background:#fff;box-shadow:0 16px 36px rgba(0,0,0,.24);animation:loaderFloat 1.7s ease-in-out infinite}.loader-wordmark{text-align:left}.loader-title{margin:0;font-size:25px;line-height:1;font-weight:850;letter-spacing:-.8px}.loader-brand small{display:block;margin-top:6px;color:#bec5e7;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.loader-message{margin:0;font-size:14px;line-height:1.55;color:#f4f5ff;font-weight:650}.loader-status{margin:7px 0 0;font-size:11px;line-height:1.45;color:#b9c1df}
.loader-progress{height:7px;margin:22px 0 10px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.13)}.loader-progress span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a78bfa,#fff,#67e8f9);animation:loaderSlide 1.05s ease-in-out infinite}
.loader-dots{display:flex;justify-content:center;gap:5px;margin-top:14px}.loader-dots i{width:5px;height:5px;border-radius:50%;background:#fff;opacity:.35;animation:loaderDot 1.15s ease-in-out infinite}.loader-dots i:nth-child(2){animation-delay:.14s}.loader-dots i:nth-child(3){animation-delay:.28s}
@keyframes loaderSlide{0%{transform:translateX(-115%)}100%{transform:translateX(280%)}}@keyframes loaderFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes loaderDot{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:520px){.loader-content{padding:25px 20px 21px;border-radius:24px}.loader-logo{width:52px;height:52px;border-radius:16px}.loader-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.loader-logo,.loader-progress span,.loader-dots i{animation:none!important}.loader-progress span{width:72%}}
