/* =========================================================
   DOS_SCROLL_PROGRESS_V4
   Стрелка сверху + процент снизу + кольцо прогресса
   ========================================================= */

#dos-scroll-progress {
    --dos-scroll-progress: 0%;

    position: fixed;

    right: 24px;
    bottom: 24px;

    width: 58px;
    height: 58px;

    margin: 0;
    padding: 3px;

    border: 0;
    border-radius: 50%;

    outline: none;

    z-index: 99999;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    /*
     * Жёлтое кольцо заполняется
     * в зависимости от прокрутки страницы
     */
    background:
        conic-gradient(
            #ffc400 0%,
            #ffc400 var(--dos-scroll-progress),
            rgba(255, 255, 255, 0.14) var(--dos-scroll-progress),
            rgba(255, 255, 255, 0.14) 100%
        );

    box-shadow:
        0 5px 20px rgba(0, 0, 0, 0.42),
        0 0 10px rgba(255, 196, 0, 0.10);

    /*
     * Пока страница сверху —
     * кнопка скрыта
     */
    opacity: 0;
    visibility: hidden;

    transform:
        translateY(12px)
        scale(0.92);

    transition:
        opacity 0.22s ease,
        visibility 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease;
}


/* =========================================================
   ПОКАЗ КНОПКИ
   ========================================================= */

#dos-scroll-progress.is-visible {
    opacity: 1;
    visibility: visible;

    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   ВНУТРЕННИЙ ТЁМНЫЙ КРУГ
   ========================================================= */

#dos-scroll-progress .dos-scroll-progress__inner {
    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: #17181c;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    color: #ffc400;

    user-select: none;

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.055),
        inset 0 2px 5px rgba(255, 255, 255, 0.02);
}


/* =========================================================
   СТРЕЛКА — СВЕРХУ
   ========================================================= */

#dos-scroll-progress .dos-scroll-progress__arrow {
    display: block;

    margin: 0 0 2px 0;
    padding: 0;

    color: #ffc400;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 21px;
    font-weight: 700;

    line-height: 16px;

    text-align: center;

    transform: translateY(-1px);
}


/* =========================================================
   ПРОЦЕНТ — ПОД СТРЕЛКОЙ
   ========================================================= */

#dos-scroll-progress .dos-scroll-progress__percent {
    display: block;

    margin: 0;
    padding: 0;

    min-width: 32px;

    color: #ffc400;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 10px;
    font-weight: 700;

    line-height: 11px;

    letter-spacing: -0.2px;

    text-align: center;

    white-space: nowrap;
}


/* =========================================================
   HOVER
   ========================================================= */

#dos-scroll-progress:hover {
    transform:
        translateY(-2px)
        scale(1.04);

    box-shadow:
        0 7px 24px rgba(0, 0, 0, 0.48),
        0 0 14px rgba(255, 196, 0, 0.20);
}


#dos-scroll-progress:hover .dos-scroll-progress__inner {
    background: #1d1e22;
}


#dos-scroll-progress:hover .dos-scroll-progress__arrow {
    transform: translateY(-2px);
}


/* =========================================================
   ACTIVE
   ========================================================= */

#dos-scroll-progress:active {
    transform:
        translateY(0)
        scale(0.97);
}


/* =========================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================= */

@media (max-width: 768px) {

    #dos-scroll-progress {
        right: 14px;
        bottom: 14px;

        width: 54px;
        height: 54px;

        padding: 3px;
    }


    #dos-scroll-progress .dos-scroll-progress__inner {
        width: 46px;
        height: 46px;
    }


    #dos-scroll-progress .dos-scroll-progress__arrow {
        font-size: 19px;
        line-height: 15px;

        margin-bottom: 2px;
    }


    #dos-scroll-progress .dos-scroll-progress__percent {
        font-size: 9px;
        line-height: 10px;
    }

}


/* =========================================================
   УМЕНЬШЕННАЯ АНИМАЦИЯ
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    #dos-scroll-progress {
        transition: none;
    }

}