/* ===== SCROLLBAR — quiet, thin, low-contrast in both themes ===== */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--sb-thumb) transparent;
}

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

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

::-webkit-scrollbar-thumb {
    background: var(--sb-thumb);
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--sb-thumb-hover);
}

/* ===== SELECTION ===== */
::selection {
    background: var(--text-primary);
    color: var(--bg-primary);
}

/* ===== REDUCED MOTION (Settings → Motion: "Reduced") ===== */
/* near-zero rather than `none` so any state that a keyframe's end-frame
   sets still lands; window drag uses inline transforms, not transitions. */
:root[data-motion="reduced"] *,
:root[data-motion="reduced"] *::before,
:root[data-motion="reduced"] *::after {
    animation-duration: 0.001s !important;
    animation-delay: -0.001s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001s !important;
    scroll-behavior: auto !important;
}
/* the blinking text carets should simply stay lit, not vanish mid-blink */
:root[data-motion="reduced"] .cli-caret,
:root[data-motion="reduced"] .dp-caret,
:root[data-motion="reduced"] .mt-cur,
:root[data-motion="reduced"] .mini-caret {
    animation: none !important;
    opacity: 1 !important;
}
