@osui-progress-class-prefix: osui-progress;

.@{osui-progress-class-prefix} {
    &.@{ant-prefix}-progress-circle {
        .@{ant-prefix}-progress-text {
            font-size: var(--progress-circle-text-font-size) !important;
        }
    }

    &.@{ant-prefix}-progress-line {
        font-size: 14px;
    }

    .@{ant-prefix}-progress-text {
        color: var(--progress-text-color);
        font-size: var(--progress-text-font-size);
    }

    &.@{ant-prefix}-progress-status-exception .@{ant-prefix}-progress-text {
        color: var(--theme-error-color);
    }

    &.@{ant-prefix}-progress-status-success .@{ant-prefix}-progress-text {
        color: var(--theme-success-color);
    }

    &.@{ant-prefix}-progress-status-active {
        .@{ant-prefix}-progress-bg {
            background-color: var(--theme-secondary-color-active);
        }

        .@{ant-prefix}-progress-bg::before {
            background: var(--theme-primary-color);
            border-radius: var(--progress-radius);
            animation: osui-progress-active 2.4s cubic-bezier(.23, 1, .32, 1) infinite;
        }
    }
}

@keyframes osui-progress-active {
    0% {
        width: 0;
        opacity: 1;
    }

    20% {
        width: 0;
        opacity: 1;
    }

    100% {
        width: 100%;
        opacity: 1;
    }
}
