/* Основной лоадер */ 
.loader {
    position: relative;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    transform: rotate(175deg);
    filter: drop-shadow(0 0 20px rgba(39, 118, 245, 0.5));
}
.loader span {
    position: absolute;
    top: calc(8px * var(--i));
    left: calc(8px * var(--i));
    right: calc(8px * var(--i));
    bottom: calc(8px * var(--i));
    border: 8px solid rgba(255, 255, 255, 0);
    border-left: 8px solid #0063a8;
    border-top: 8px solid #0063a8;
    border-radius: 50%;
    animation: animate 1.8s ease-in-out infinite alternate;
    animation-delay: calc(-0.08s * var(--i));
    opacity: calc(1 - 0.1 * var(--i));
}

/* Градиентные цвета для каждого кольца */
.loader span:nth-child(1) { border-left-color: #2776F5; border-top-color: #2776F5; }
.loader span:nth-child(2) { border-left-color: #3a86ff; border-top-color: #3a86ff; }
.loader span:nth-child(3) { border-left-color: #4d96ff; border-top-color: #4d96ff; }
.loader span:nth-child(4) { border-left-color: #60a5ff; border-top-color: #60a5ff; }
.loader span:nth-child(5) { border-left-color: #73b5ff; border-top-color: #73b5ff; }
.loader span:nth-child(6) { border-left-color: #86c5ff; border-top-color: #86c5ff; }
.loader span:nth-child(7) { border-left-color: #99d5ff; border-top-color: #99d5ff; }
.loader span:nth-child(8) { border-left-color: #ace5ff; border-top-color: #ace5ff; }
.loader span:nth-child(9) { border-left-color: #bff5ff; border-top-color: #bff5ff; }
.loader span:nth-child(10) { border-left-color: #a6f8f8; border-top-color: #a6f8f8; }

@keyframes animate {
    0% {
        transform: rotate(0deg);
        filter: blur(0px);
    }
    50% {
        border-width: 8px;
    }
    100% {
        transform: rotate(90deg);
        filter: hue-rotate(360deg) blur(1px);
    }
}

/* Внешнее свечение */
.loader::before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.5); opacity: 0.8; }
}

/* Текст загрузки */
.loading-text {
    color: #2676a2;
    font-size: 1.7rem;
    font-weight: 300;
    letter-spacing: 3px;
    text-transform: uppercase;
    position: relative;
    margin-top: 1rem;
}

.loading-text::after {
    content: '|';
    animation: cursed 1s infinite;
    margin-left: 5px;
    color: #2676a2;
}

@keyframes cursed {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Адаптивность */
@media (max-width: 768px) {
    .loader {
        width: 200px;
        height: 200px;
    }
    
    .loader span {
        top: calc(9px * var(--i));
        left: calc(9px * var(--i));
        right: calc(9px * var(--i));
        bottom: calc(9px * var(--i));
        border-width: 9px;
    }
    
    .loading-text {
        font-size: 1.4rem;
    }
}

@media (max-width: 480px) {
    .loader {
        width: 150px;
        height: 150px;
    }
    
    .loader span {
        top: calc(8px * var(--i));
        left: calc(8px * var(--i));
        right: calc(8px * var(--i));
        bottom: calc(8px * var(--i));
        border-width: 7px;
    }
}