/* Vercel-style overlay scrollbars.
   Native scrolling remains the source of truth; this layer only replaces the
   permanent gutter with a thin thumb that appears while the user is scrolling. */
html.gv-overlay-scrollbars-ready,
html.gv-overlay-scrollbars-ready body.public-site {
  scrollbar-width: none !important;
  -ms-overflow-style: none;
}

html.gv-overlay-scrollbars-ready::-webkit-scrollbar,
html.gv-overlay-scrollbars-ready body.public-site::-webkit-scrollbar,
html.gv-overlay-scrollbars-ready .gv-overlay-scroll-source::-webkit-scrollbar {
  width: 0 !important;
  height: 6px !important;
}
html.gv-overlay-scrollbars-ready .gv-overlay-scroll-source::-webkit-scrollbar:vertical { width: 0 !important; }
html.gv-overlay-scrollbars-ready .gv-overlay-scroll-source::-webkit-scrollbar:horizontal { height: 6px !important; }

html.gv-overlay-scrollbars-ready .gv-overlay-scroll-source {
  scrollbar-width: none !important;
  -ms-overflow-style: none;
  scrollbar-gutter: auto !important;
}

.gv-overlay-scrollbar {
  position: fixed;
  z-index: 2147482500;
  width: 14px;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 150ms ease;
  contain: layout style;
}

.gv-overlay-scrollbar[hidden] { display: none !important; }
.gv-overlay-scrollbar.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.gv-overlay-scrollbar-thumb {
  position: absolute;
  inset-inline-end: 2px;
  top: 0;
  width: 4px;
  min-height: 24px;
  border-radius: 999px;
  background: rgba(120, 120, 120, .58);
  opacity: .88;
  cursor: grab;
  touch-action: none;
  transition: width 150ms ease, opacity 150ms ease, background-color 150ms ease;
}

.gv-overlay-scrollbar.is-dragging .gv-overlay-scrollbar-thumb,
.gv-overlay-scrollbar-thumb:hover {
  width: 8px;
  opacity: 1;
  background: rgba(104, 104, 104, .72);
}
.gv-overlay-scrollbar.is-dragging .gv-overlay-scrollbar-thumb { cursor:grabbing; }

html[data-theme="dark"] .gv-overlay-scrollbar-thumb,
html[data-theme="premium-glass"] .gv-overlay-scrollbar-thumb {
  background: rgba(170, 170, 170, .54);
}

html[data-theme="dark"] .gv-overlay-scrollbar.is-dragging .gv-overlay-scrollbar-thumb,
html[data-theme="dark"] .gv-overlay-scrollbar-thumb:hover,
html[data-theme="premium-glass"] .gv-overlay-scrollbar.is-dragging .gv-overlay-scrollbar-thumb,
html[data-theme="premium-glass"] .gv-overlay-scrollbar-thumb:hover {
  background: rgba(190, 190, 190, .72);
}

@media (prefers-reduced-motion: reduce) {
  .gv-overlay-scrollbar,
  .gv-overlay-scrollbar-thumb { transition: none; }
}

@media (forced-colors: active) {
  .gv-overlay-scrollbar { display: none !important; }
}
