[data-rs-scroll-area] {
position: relative;
background: var(--scroll-area-bg);
border: var(--scroll-area-border);
border-radius: var(--scroll-area-radius);
padding: var(--scroll-area-padding);
overflow: hidden;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
[data-rs-scroll-area][data-rs-orientation="horizontal"] {
height: auto;
flex-direction: row;
}
[data-rs-scroll-viewport] {
width: 100%;
height: 100%;
flex: 1;
min-height: 0;
overflow: auto;
scrollbar-width: none;
-ms-overflow-style: none;
}
[data-rs-scroll-area][data-rs-orientation="horizontal"] [data-rs-scroll-viewport] {
height: auto;
flex: 1 1 auto;
min-height: unset;
min-width: 0;
}
[data-rs-scroll-viewport]::-webkit-scrollbar { display: none; }
[data-rs-scroll-area][data-rs-orientation="vertical"] [data-rs-scroll-viewport] { overflow-x: hidden; overflow-y: auto; }
[data-rs-scroll-area][data-rs-orientation="horizontal"] [data-rs-scroll-viewport] { overflow-x: auto; overflow-y: hidden; }
[data-rs-scroll-area][data-rs-orientation="both"] [data-rs-scroll-viewport] { overflow: auto; }
[data-rs-scrollbar] {
position: absolute;
z-index: var(--layer-sticky);
transition: opacity var(--motion-duration-fast) var(--motion-ease-standard);
}
[data-rs-scrollbar][data-rs-orientation="vertical"] {
top: var(--space-2xs);
right: var(--space-2xs);
bottom: var(--space-2xs);
width: var(--scrollbar-size);
}
[data-rs-scrollbar][data-rs-orientation="horizontal"] {
left: var(--space-2xs);
right: var(--space-2xs);
bottom: var(--space-2xs);
height: var(--scrollbar-size);
}
[data-rs-scroll-area][data-rs-auto-hide] [data-rs-scrollbar] { opacity: 0; }
[data-rs-scroll-area][data-rs-auto-hide]:hover [data-rs-scrollbar] { opacity: 1; }
[data-rs-scroll-area][data-rs-auto-hide] [data-rs-scrollbar][data-rs-state~="active"] { opacity: 1; }
[data-rs-scroll-track] {
position: relative;
width: 100%;
height: 100%;
background: var(--scrollbar-track-bg);
border-radius: var(--scrollbar-radius);
overflow: hidden;
}
[data-rs-scroll-thumb] {
position: absolute;
background: var(--scrollbar-thumb-bg);
border-radius: var(--scrollbar-radius);
will-change: transform;
transition: var(--scrollbar-transition);
cursor: grab;
}
[data-rs-scroll-thumb][data-rs-orientation="vertical"] {
left: 0; right: 0;
min-height: var(--scrollbar-thumb-min-size);
height: var(--scroll-thumb-size);
transform: translateY(var(--scroll-thumb-offset));
}
[data-rs-scroll-thumb][data-rs-orientation="horizontal"] {
top: 0; bottom: 0;
min-width: var(--scrollbar-thumb-min-size);
width: var(--scroll-thumb-size);
transform: translateX(var(--scroll-thumb-offset));
}
[data-rs-scroll-thumb][data-rs-state~="hidden"] { opacity: 0; pointer-events: none; }
[data-rs-scroll-thumb]:hover:not([data-rs-state~="active"]):not([data-rs-state~="hidden"]) { background: var(--scrollbar-thumb-hover-bg); }
[data-rs-scroll-thumb][data-rs-state~="active"] {
background: var(--scrollbar-thumb-active-bg);
cursor: grabbing;
}