:root{--blue:#0039A2;--purple:#AB01D2}
#somangaye-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 43%,rgba(0,57,162,.20),transparent 34%),radial-gradient(circle at 50% 57%,rgba(171,1,210,.14),transparent 38%),linear-gradient(135deg,#030812 0%,#090b18 48%,#0b0611 100%);opacity:1;visibility:visible;transition:opacity .7s ease,visibility .7s ease}
#somangaye-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{width:min(48vw,330px);min-width:190px;display:grid;place-items:center}
.loader-logo{width:100%;height:auto;display:block;overflow:visible;transform:scale(.94);animation:logo-breathe 2.8s ease-in-out infinite}
.logo-purple{animation:purple-glow 2.8s ease-in-out infinite}
.logo-blue{animation:blue-glow 2.8s ease-in-out infinite}
@keyframes purple-glow{0%,8%{filter:drop-shadow(0 0 0 rgba(171,1,210,0))}18%,36%{filter:drop-shadow(0 0 5px rgba(171,1,210,.55)) drop-shadow(0 0 18px rgba(171,1,210,.8)) drop-shadow(0 0 38px rgba(171,1,210,.38))}48%,100%{filter:drop-shadow(0 0 0 rgba(171,1,210,0))}}
@keyframes blue-glow{0%,45%{filter:drop-shadow(0 0 0 rgba(0,57,162,0))}55%,73%{filter:drop-shadow(0 0 5px rgba(0,57,162,.55)) drop-shadow(0 0 18px rgba(0,57,162,.85)) drop-shadow(0 0 40px rgba(0,57,162,.42))}85%,100%{filter:drop-shadow(0 0 0 rgba(0,57,162,0))}}
@keyframes logo-breathe{0%,100%{transform:scale(.94)}50%{transform:scale(1)}}
.loader-dots{display:flex;gap:7px;margin-top:24px;justify-content:center}
.loader-dots span{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.28;animation:dot-pulse 1.2s ease-in-out infinite}
.loader-dots span:nth-child(2){animation-delay:.16s}.loader-dots span:nth-child(3){animation-delay:.32s}
@keyframes dot-pulse{0%,100%{opacity:.22;transform:scale(.85)}50%{opacity:.95;transform:scale(1.15)}}
@media(max-width:600px){.loader-inner{width:min(64vw,290px);min-width:165px}}
@media(prefers-reduced-motion:reduce){.loader-logo,.logo-blue,.logo-purple,.loader-dots span{animation:none!important}}
