/* Shared native scrollbars. Keep wheel, keyboard and touch scrolling intact. */
:root {
    --trazzo-scroll-thumb: #7a8c82;
    --trazzo-scroll-hover: #526d60;
    --trazzo-scroll-active: #173f3a;
    --bs-scrollbar-color: var(--trazzo-scroll-thumb);
    --bs-scrollbar-hover-color: var(--trazzo-scroll-hover);
    scrollbar-width: thin;
    scrollbar-color: var(--trazzo-scroll-thumb) transparent;
}

:root.trazzo-scroll-dark,
:root[data-bs-theme="dark"] {
    --trazzo-scroll-thumb: #536d62;
    --trazzo-scroll-hover: #829b8e;
    --trazzo-scroll-active: #a4b9ad;
    --bs-scrollbar-color: var(--trazzo-scroll-thumb);
    --bs-scrollbar-hover-color: var(--trazzo-scroll-hover);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--trazzo-scroll-thumb) transparent;
}

/* Chromium/Safari use the rounded custom thumb; Firefox uses the native thin one. */
@supports selector(::-webkit-scrollbar) {
    :root,
    :root :is(body, main, div, span, ol, ul, pre, textarea, select) {
        scrollbar-width: auto;
        scrollbar-color: auto;
    }

    :root::-webkit-scrollbar,
    :root ::-webkit-scrollbar {
        width: 8px;
        height: 8px;
        background: transparent;
    }

    :root::-webkit-scrollbar-track,
    :root ::-webkit-scrollbar-track,
    :root::-webkit-scrollbar-corner,
    :root ::-webkit-scrollbar-corner {
        background: transparent;
    }

    :root::-webkit-scrollbar-thumb,
    :root ::-webkit-scrollbar-thumb {
        min-height: 40px;
        min-width: 40px;
        border: 2px solid transparent;
        border-radius: 999px;
        background-color: var(--trazzo-scroll-thumb);
        background-clip: padding-box;
    }

    :root::-webkit-scrollbar-thumb:hover,
    :root ::-webkit-scrollbar-thumb:hover {
        background-color: var(--trazzo-scroll-hover);
    }

    :root::-webkit-scrollbar-thumb:active,
    :root ::-webkit-scrollbar-thumb:active {
        background-color: var(--trazzo-scroll-active);
    }

    :root::-webkit-scrollbar-button,
    :root ::-webkit-scrollbar-button {
        display: none;
        width: 0;
        height: 0;
    }
}

/* Use the operating system's colors in high-contrast mode. */
@media (forced-colors: active) {
    :root,
    :root * {
        scrollbar-width: auto;
        scrollbar-color: auto;
    }
    :root::-webkit-scrollbar-thumb,
    :root ::-webkit-scrollbar-thumb {
        background-color: CanvasText;
    }
}
