*:has(> .scrollable-content) {
    position: relative;
}

.scrollable-content {
    height: 100%;
    padding: 24px;
    overflow-y: scroll;
    box-sizing: border-box;
}


.scrollable-content::-webkit-scrollbar {
    width: 0;
    background: transparent;
}

.scrollable-content {
    scrollbar-width: none;
}

.custom-scrollbar-track {
    position: absolute;
    right: 10px;
    top: 10px;
    bottom: 10px;
    width: 8px;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 10;
}

*:has(.scrollable-content):hover .custom-scrollbar-track {
    opacity: 1;
}

.custom-scrollbar-track.active {
    opacity: 1;
}

.custom-scrollbar-thumb {
    position: absolute;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 4px;
    cursor: grab;
    transition: background-color 0.2s ease;
}

.custom-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.6);
}

.custom-scrollbar-thumb.active {
    cursor: grabbing;
    background-color: rgba(0, 0, 0, 0.7);
}