#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0d1117;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    transition: opacity .5s ease;
}

.spinner {
    position: relative;
    width: 60px; /* Adjusted size */
    height: 60px;
    border-radius: 50%;
    /* Gradient ring using the before/after approach */
}

.spinner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    /* Blue gradient */
    background-image: linear-gradient(0deg, #3861d8 0%, #c8d0e9 100%);
    animation: spin 0.8s infinite linear;
}

.spinner::after {
    content: "";
    position: absolute;
    width: 85%;
    height: 85%;
    background-color: #0d1117; /* Must match the background of #loader */
    border-radius: inherit;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}