#swirly-loader{
    position:fixed;
    inset:0;
    background:#12071f;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:999999;
    overflow:hidden;
}

.swirly-container{
    position:relative;
    width:320px;
    height:320px;
    display:flex;
    justify-content:center;
    align-items:center;
}

.swirl-ring{
    position:absolute;
    width:100%;
    height:100%;
    border-radius:50%;
    border:2px solid rgba(180,120,255,.15);
    animation:swirlRotate 8s linear infinite;
}

.swirl-ring::before{
    content:'';
    position:absolute;
    inset:20px;
    border-radius:50%;
    border:2px solid rgba(255,210,120,.2);
}

.swirl-ring::after{
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    background:#f1c27d;
    border-radius:50%;
    top:10px;
    left:50%;
    transform:translateX(-50%);
    box-shadow:0 0 20px #f1c27d;
}

.swirly-logo{
    width:150px;
    position:relative;
    z-index:10;
    animation:logoFloat 3s ease-in-out infinite;
}

.brand-name{
    position:absolute;
    bottom:-70px;
    color:#e6d4ff;
    font-size:28px;
    font-weight:700;
    letter-spacing:4px;
}

.hidden-loader{
    opacity:0;
    transition:.8s;
    pointer-events:none;
}

@keyframes swirlRotate{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

@keyframes logoFloat{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-12px);
    }
}