diff --git a/src/app/styles/app.css b/src/app/styles/app.css index 63251f0..26560ae 100644 --- a/src/app/styles/app.css +++ b/src/app/styles/app.css @@ -222,3 +222,82 @@ .barlow { font-family: "Barlow", system-ui, Inter, Roboto, "Segoe UI", Arial, sans-serif; } + +* { + scrollbar-width: thin; + scrollbar-color: hsl(0 0% 70% / 0.4) transparent; +} + +.dark * { + scrollbar-color: hsl(0 0% 40% / 0.5) transparent; +} + +/* ---- Webkit / Blink ---- */ +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-track { + background: transparent; +} + +::-webkit-scrollbar-thumb { + background: hsl(0 0% 70% / 0); + border-radius: 3px; + transition: background 0.2s ease; +} + +/* Show thumb when container is hovered or actively scrolling */ +:hover > ::-webkit-scrollbar-thumb, +::-webkit-scrollbar-thumb:hover, +*:hover::-webkit-scrollbar-thumb { + background: hsl(0 0% 70% / 0.4); +} + +::-webkit-scrollbar-thumb:hover { + background: hsl(0 0% 50% / 0.6); +} + +::-webkit-scrollbar-thumb:active { + background: hsl(0 0% 40% / 0.8); +} + +::-webkit-scrollbar-corner { + background: transparent; +} + +/* Dark mode */ +.dark ::-webkit-scrollbar-thumb { + background: hsl(0 0% 40% / 0); +} + +.dark :hover > ::-webkit-scrollbar-thumb, +.dark ::-webkit-scrollbar-thumb:hover, +.dark *:hover::-webkit-scrollbar-thumb { + background: hsl(0 0% 40% / 0.5); +} + +.dark ::-webkit-scrollbar-thumb:hover { + background: hsl(0 0% 55% / 0.6); +} + +.dark ::-webkit-scrollbar-thumb:active { + background: hsl(0 0% 65% / 0.7); +} + +/* ---- Behavior ---- */ +html { + scroll-behavior: smooth; + scrollbar-gutter: stable; +} + +@media (prefers-reduced-motion: reduce) { + html { + scroll-behavior: auto; + } +} + +body { + overscroll-behavior-y: none; +} \ No newline at end of file