.scrollbar::before, .scrollbar::after { content: ''; position: absolute; z-index: 1; border-radius: 9999px; pointer-events: none; opacity: 0; transition: opacity 150ms ease; } .scrollbar[data-orientation='vertical']::before { left: 50%; top: 4px; width: 4px; height: 12px; transform: translateX(-50%); background: linear-gradient(to bottom, var(--scroll-area-edge-hint-bg, var(--color-components-panel-bg)), transparent); } .scrollbar[data-orientation='vertical']::after { left: 50%; bottom: 4px; width: 4px; height: 12px; transform: translateX(-50%); background: linear-gradient(to top, var(--scroll-area-edge-hint-bg, var(--color-components-panel-bg)), transparent); } .scrollbar[data-orientation='horizontal']::before { top: 50%; left: 4px; width: 12px; height: 4px; transform: translateY(-50%); background: linear-gradient(to right, var(--scroll-area-edge-hint-bg, var(--color-components-panel-bg)), transparent); } .scrollbar[data-orientation='horizontal']::after { top: 50%; right: 4px; width: 12px; height: 4px; transform: translateY(-50%); background: linear-gradient(to left, var(--scroll-area-edge-hint-bg, var(--color-components-panel-bg)), transparent); } .scrollbar[data-orientation='vertical']:not([data-overflow-y-start])::before { opacity: 1; } .scrollbar[data-orientation='vertical']:not([data-overflow-y-end])::after { opacity: 1; } .scrollbar[data-orientation='horizontal']:not([data-overflow-x-start])::before { opacity: 1; } .scrollbar[data-orientation='horizontal']:not([data-overflow-x-end])::after { opacity: 1; } .scrollbar[data-hovering] > [data-orientation], .scrollbar[data-scrolling] > [data-orientation], .scrollbar > [data-orientation]:active { background-color: var(--scroll-area-thumb-bg-active, var(--color-state-base-handle-hover)); } @media (prefers-reduced-motion: reduce) { .scrollbar::before, .scrollbar::after { transition: none; } }