/* Only the document scrollbar is replaced; panels and dialogs keep native scrolling. */
@media (hover:hover) and (pointer:fine){
  html.tvelo-custom-scroll{scrollbar-width:none}
  html.tvelo-custom-scroll::-webkit-scrollbar{width:0;height:0}
}
.tvelo-scroll-rail{position:fixed;z-index:80;right:3px;top:32px;bottom:32px;width:22px;padding:8px 0;cursor:pointer;touch-action:none;user-select:none;border-radius:12px;outline:none;transition:background .15s}
.tvelo-scroll-rail[hidden]{display:none!important}
.tvelo-scroll-rail:hover,.tvelo-scroll-rail.is-dragging,.tvelo-scroll-rail:focus-visible{background:#f7f9f5e8}
.tvelo-scroll-rail:focus-visible{outline:1px solid #678372;outline-offset:1px}
.tvelo-scroll-scale{height:100%;position:relative;pointer-events:none}
.tvelo-scroll-scale i{position:absolute;left:50%;width:6px;height:2px;transform:translate(-50%,-50%);border-radius:2px;background:#a4aca780;transition:width .12s,background .12s}
.tvelo-scroll-scale i.is-near{width:8px;background:#78847bb3}
.tvelo-scroll-scale i.is-active{width:13px;height:3px;background:#2d513d;box-shadow:0 0 0 1px #ffffffe6}
@media (prefers-reduced-motion:reduce){.tvelo-scroll-rail,.tvelo-scroll-scale i{transition:none}}
@media print{.tvelo-scroll-rail{display:none!important}}
