input[type=range] {
    --default-range-handle-size: var(--range-handle-size, 1.8rem);
    --default-range-handle-bg: var(--range-handle-bg, var(--input-bg));
    --default-range-track-bg: var(--range-track-bg, var(--color-border));
    --default-range-track-size: var(--range-track-size, 0.3rem);
    --default-range-handle-border-color: var(--range-handle-border-color, var(--color-secondary));
    --default-range-handle-border-size: var(--range-handle-border-size, 0.2rem);
    --range-handle-offset: calc(-0.5 * calc(calc(var(--default-range-handle-size) + var(--default-range-handle-border-size)) - var(--default-range-track-size)));
    width: 100%;
    background-color: transparent;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
    -webkit-appearance: none;
    background: var(--default-range-track-bg);
    border: 0;
    border-radius: var(--default-range-track-size);
    width: 100%;
    height: var(--default-range-track-size);
    cursor: pointer;
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    margin-top: var(--range-handle-offset);
    width: var(--default-range-handle-size);
    height: var(--default-range-handle-size);
    background: var(--default-range-handle-bg);
    border: var(--default-range-handle-border-size) solid var(--default-range-handle-border-color);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
}
input[type=range]:focus::-webkit-slider-runnable-track {
    background: var(--default-range-track-bg);
}

input[type=range]::-moz-range-track {
    -moz-appearance: none;
    background: var(--default-range-track-bg);
    border: 0;
    border-radius: var(--default-range-track-size);
    width: 100%;
    height: var(--default-range-track-size);
    cursor: pointer;
}
input[type=range]::-moz-range-thumb {
    -moz-appearance: none;
    width: var(--default-range-handle-size);
    height: var(--default-range-handle-size);
    background: var(--default-range-handle-bg);
    border: var(--default-range-handle-border-size) solid var(--default-range-handle-border-color);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
}