#global-loader{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s cubic-bezier(.4,0,.2,1)}
.dark #global-loader{background:#000000}
.light #global-loader{background:#fff}
#global-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-icon{position:relative;width:72px;height:72px}
.loader-icon svg{width:100%;height:100%}
.dark .loader-icon svg{color:#fff}
.light .loader-icon svg{color:#4F6EF7}
.loader-glow{position:absolute;inset:-20px;border-radius:50%;animation:glowPulse 1.5s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
.dark .loader-glow{background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%)}
.light .loader-glow{background:radial-gradient(circle,rgba(79,110,247,.1) 0%,transparent 70%)}
@keyframes glowPulse{0%,15%{transform:scale(1);opacity:0}40%,60%{transform:scale(1.5);opacity:1}85%,100%{transform:scale(1);opacity:0}}
.bar{will-change:transform,opacity}
.bar-1{animation:bar1 1.5s cubic-bezier(.4,0,.2,1) infinite}
.bar-2{animation:bar2 1.5s cubic-bezier(.4,0,.2,1) infinite}
.bar-3{animation:bar3 1.5s cubic-bezier(.4,0,.2,1) infinite}
.bar-4{animation:bar4 1.5s cubic-bezier(.4,0,.2,1) infinite}
@keyframes bar1{0%,5%{transform:translateX(-80px);opacity:0}22%{transform:translateX(2px);opacity:.9}27%,65%{transform:translateX(0);opacity:.9}82%{transform:translateX(2px);opacity:.9}90%,100%{transform:translateX(80px);opacity:0}}
@keyframes bar2{0%,10%{transform:translateX(80px);opacity:0}27%{transform:translateX(-2px);opacity:.7}32%,65%{transform:translateX(0);opacity:.7}78%{transform:translateX(-2px);opacity:.7}86%,100%{transform:translateX(-80px);opacity:0}}
@keyframes bar3{0%,15%{transform:translateX(-80px);opacity:0}32%{transform:translateX(2px);opacity:.5}37%,65%{transform:translateX(0);opacity:.5}82%{transform:translateX(2px);opacity:.5}90%,100%{transform:translateX(80px);opacity:0}}
@keyframes bar4{0%,20%{transform:translateX(80px);opacity:0}37%{transform:translateX(-2px);opacity:.3}42%,65%{transform:translateX(0);opacity:.3}78%{transform:translateX(-2px);opacity:.3}86%,100%{transform:translateX(-80px);opacity:0}}
.loader-text{font-size:14px;font-weight:500;text-align:center;opacity:0;transform:translateY(10px);animation:fadeInText .5s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.3s}
.dark .loader-text{color:#fff;opacity:.9}
.light .loader-text{color:#1a1a1a;opacity:.9}
@keyframes fadeInText{to{opacity:1;transform:translateY(0)}}
