body.ui-slider-active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.box {
    --primary: #275efe;
    --headline: #3F4656;
    --text: #99A3BA;
    width: 100%;
    max-width: 312px;
    margin-left: 10px;
    margin-right: auto;
    padding: 15px 32px 15px 32px;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 1px 4px rgba(18, 22, 33, 0.12);
}
.box h3 {
    font-family: inherit;
    font-size: 32px;
    font-family: 'Noto Sans SC', sans-serif;
    font-weight: 700;
    margin: 0 0 20px 0;
    color: var(--headline);
}
.box h3 span {
    font-weight: 500;
}
.box .values div,
.box small div {
    display: inline-block;
    vertical-align: top;
}
.box .values {
    margin: 0;
    font-weight: 500;
    color: var(--primary);
}
.box .values > div:first-child {
    margin-right: 2px;
}
.box .values > div:last-child {
    margin-left: 2px;
}
.box small {
    color: var(--text);
    display: block;
    margin-top: 8px;
    font-size: 12px;
    font-family: 'Noto Sans SC', sans-serif;
}
.box .slider {
    margin-top: 5px;
}

.slider {
    --primary: #275efe;
    --handle: #fff;
    --handle-active: #becfff;
    --handle-hover: #e9efff;
    --handle-border: 2px solid var(--primary);
    --line: #cdd9ed;
    --line-active: var(--primary);
    height: 23px;
    width: 100%;
    position: relative;
    pointer-events: none;
}
.slider .ui-slider-handle {
    --y: 0;
    --background: var(--handle);
    cursor: -webkit-grab;
    cursor: grab;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    width: 23px;
    height: 23px;
    transform: translateX(-50%);
    position: absolute;
    outline: none;
    display: block;
    pointer-events: auto;
}
.slider .ui-slider-handle div {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    transition: background 0.4s ease;
    transform: translateY(calc(var(--y) * 1px));
    border: var(--handle-border);
    background: var(--background);
}
.slider .ui-slider-handle:hover {
    --background: var(--handle-hover);
}
.slider .ui-slider-handle:active {
    --background: var(--handle-active);
    cursor: -webkit-grabbing;
    cursor: grabbing;
}
.slider svg {
    --stroke: var(--line);
    display: block;
    height: 83px;
}
.slider svg path {
    fill: none;
    stroke: var(--stroke);
    stroke-width: 1;
}
.slider .active, .slider > svg {
    position: absolute;
    top: -30px;
    height: 83px;
}
.slider > svg {
    left: 0;
    width: 100%;
}
.slider .active {
    position: absolute;
    overflow: hidden;
    left: calc(var(--l) * 1px);
    right: calc(var(--r) * 1px);
}
.slider .active svg {
    --stroke: var(--line-active);
    position: relative;
    left: calc(var(--l) * -1px);
    right: calc(var(--r) * -1px);
}
.slider .active svg path {
    stroke-width: 2;
}

html {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

* {
    box-sizing: inherit;
}
*:before, *:after {
    box-sizing: inherit;
}

/* body {
    &.ui-slider-active {
        cursor: grabbing;
    }
}

.box {
    --primary: #275efe;
    --headline: #3F4656;
    --text: #99A3BA;
    width: 100%;
    max-width: 312px;
    margin-left: 10px;
    margin-right: auto;
    padding: 15px 32px 15px 32px;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 1px 4px rgba(18, 22, 33, .12);
    h3 {
        font-family: inherit;
        font-size: 32px;
        font-weight: 700;
        margin: 0 0 20px 0;
        color: var(--headline);
        span {
            font-weight: 500;
        }
    }
    .values,
    small {
        div {
            display: inline-block;
            vertical-align: top;
        }
    }
    .values {
        margin: 0;
        font-weight: 500;
        color: var(--primary);
        & > div {
            &:first-child {
                margin-right: 2px;
            }
            &:last-child {
                margin-left: 2px;
            }
        }
    }
    small {
        color: var(--text);
        display: block;
        margin-top: 8px;
        font-size: 12px;
    }
    .slider {
        margin-top: 5px;
    }
}

.slider {
    --primary: #275efe;
    --handle: #fff;
    --handle-active: #{mix(white, #275efe, 70%)};
    --handle-hover: #{mix(white, #275efe, 90%)};
    --handle-border: 2px solid var(--primary);
    --line: #cdd9ed;
    --line-active: var(--primary);
    height: 23px;
    width: 100%;
    position: relative;
    pointer-events: none;
    .ui-slider-handle {
        --y: 0;
        --background: var(--handle);
        cursor: grab;
        -webkit-tap-highlight-color: transparent;
        top: 0;
        width: 23px;
        height: 23px;
        transform: translateX(-50%);
        position: absolute;
        outline: none;
        display: block;
        pointer-events: auto;
        div {
            width: 23px;
            height: 23px;
            border-radius: 50%;
            transition: background .4s ease;
            transform: translateY(calc(var(--y) * 1px));
            border: var(--handle-border);
            background: var(--background);
        }
        &:hover {
            --background: var(--handle-hover);
        }
        &:active {
            --background: var(--handle-active);
            cursor: grabbing;
        }
    }
    svg {
        --stroke: var(--line);
        display: block;
        height: 83px;
        path {
            fill: none;
            stroke: var(--stroke);
            stroke-width: 1;
        }
    }
    .active,
    & > svg {
        position: absolute;
        top: -30px;
        height: 83px;
    }
    & > svg {
        left: 0;
        width: 100%;
    }
    .active {
        position: absolute;
        overflow: hidden;
        left: calc(var(--l) * 1px);
        right: calc(var(--r) * 1px);
        svg {
            --stroke: var(--line-active);
            position: relative;
            left: calc(var(--l) * -1px);
            right: calc(var(--r) * -1px);
            path {
                stroke-width: 2;
            }
        }
    }
}

html {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

* {
    box-sizing: inherit;
    &:before,
    &:after {
        box-sizing: inherit;
    }
} */