:root {
    --csb-size: 8px;
    --csb-radius: 8px;
    --csb-track: #f1f1f1;
    --csb-thumb: #c1c1c1;
    --csb-thumb-hover: #a8a8a8;
    --csb-thumb-active: #919191;
    --csb-offset: 8px;
    --csb-translate: 2px;
    --csb-transition: 100ms;
    --csb-min-thumb: 20px;
}

.csb {
    position: relative;
    overflow: auto;
    box-sizing: border-box;

    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.csb::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.csb-wrapper {
    position: relative;
    overflow: hidden;
}

.csb-content {
    height: 100%;
    width: 100%;
    overflow: auto;
    box-sizing: border-box;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.csb-content::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.csb-scrollbar {
    position: absolute;
    top: var(--csb-offset);
    right: var(--csb-offset);
    bottom: var(--csb-offset);
    width: var(--csb-size);
    pointer-events: none;
    display: flex;
    align-items: stretch;

    opacity: 0;
    transform: translateX(var(--csb-translate));
    transition: opacity var(--csb-transition) ease, transform var(--csb-transition) ease;
    will-change: opacity, transform;
}

.csb-scrollbar.csb-visible {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.csb-track {
    pointer-events: auto;
    position: relative;
    width: 100%;
    height: 100%;
    background: var(--csb-track);
    border-radius: var(--csb-radius);
    overflow: hidden;
}

.csb-thumb {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: calc(var(--csb-size) - 4px);
    border-radius: var(--csb-radius);
    background: var(--csb-thumb);
    cursor: pointer;
    touch-action: none;
    transition: background 120ms linear, transform 120ms linear;
}

.csb-thumb:hover {
    background: var(--csb-thumb-hover);
}

.csb-thumb:active {
    background: var(--csb-thumb-active);
}

.csb-no-select {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.csb:focus {
    outline: 2px solid rgba(0, 120, 212, 0.12);
    outline-offset: 2px;
}

/*@media (prefers-color-scheme: dark){*/
/*  :root{*/
/*    --csb-track: #111317;*/
/*    --csb-thumb: #2f3236;*/
/*    --csb-thumb-hover: #42464a;*/
/*    --csb-thumb-active: #555a60;*/
/*  }*/
/*}*/
