/* ════════════════════════════════════════════════════════════════
   ldg-vscroll.css — 项目标准竖向滚动条组件样式（配套 ldg-vscroll.js）
   行为由 ldg-vscroll.js 控制：仅滚动时显示、停止 5s 后隐藏、支持拖动滑块。
   轨道 pointer-events:none（不拦截输入框右下按钮），仅滑块可交互。
   调用方需自行隐藏 viewport 原生滚动条（scrollbar-width:none 等）。
   ════════════════════════════════════════════════════════════════ */
.ldg-vscroll {
  position: absolute;
  right: 2px;
  width: 11px;
  border-radius: 4px;
  background: transparent;
  z-index: 50;
  opacity: 0;
  transition: opacity .18s ease;
  cursor: pointer;
  pointer-events: none;   /* 轨道不拦截点击：避免盖住输入框右下按钮，仅滑块可交互 */
}
.ldg-vscroll.ldg-show { opacity: 1; }
.ldg-vscroll.ldg-empty { display: none; }   /* 无溢出不显示：避免全高滑块盖住输入框右下按钮 */
/* ── 全站滚动条「悬停 0.2s 显示」外力通道（2026-09-20 用户）──
   由 ldg-vscroll.js 的悬停模块给轨道加 data-ldg-hover-show 属性。
   覆盖站内所有自定义滚动条（横/竖、各前缀）；它们隐藏都是 opacity:0，
   故 !important 可强制显示，同时不改变任何组件自己的显隐类与逻辑。
   无溢出（display:none 那类）不受影响：opacity 管不了 display。 */
[class*="-vscroll"][data-ldg-hover-show],
[class*="-hscroll"][data-ldg-hover-show] {
  opacity: 1 !important;
}
/* ── 指针正停在轨道上（data-ldg-hover-live）或拖动中：轨道接管指针（2026-09-20 二轮用户③）──
   平时轨道是 pointer-events:none（不拦截输入框右下按钮），只有这两种状态才切 auto：
   这样既能显示"小抓手"光标、又能按住整条轨道任意位置拖动滑块，
   而指针一旦离开轨道（悬停模块立刻撤掉 live）就马上交回指针控制，不会长期挡住按钮。
   拖动手势的 CSS 用 .ldg-dragging / body.ldg-vscroll-dragging，与 JS 里的类名一一对应。

   2026-09-20 三轮：**横向前缀也一起管** —— 用户反馈"水平滚动条有的能变小手拉动、有的不能"。
   实情是横向那 5 条（cb / meb / mex / mib / mss-hscroll）**一条都不会变小手**：
   它们的轨道 cursor 恒为 pointer，而且平时 pointer-events:none（由 lingdu.css 里
   ".xx-show 才 auto" 那条控制）。这里用同一个 live 通道统一接管：
   悬停到横向轨道 → pointer-events:auto（此时组件自己的"按住轨道跳转/拖动"才可点）+ cursor:grab。
   横向组件各自的"拖动中变 grabbing"规则本来就有（body.xx-hscroll-dragging / .cbd-pane.cb-hscroll-dragging），
   所以这里不用再写 grabbing。
   注：lingdu.css 里那条隐藏态 pointer-events:none 必须用 !important 压过（同级选择器、加载顺序不确定）。 */
.ldg-vscroll[data-ldg-hover-live],
.ldg-vscroll.ldg-dragging {
  pointer-events: auto;
  cursor: grab;
}
.ldg-vscroll[data-ldg-hover-live] .ldg-vscroll-thumb,
.ldg-vscroll.ldg-dragging .ldg-vscroll-thumb {
  cursor: grab;
}
[class*="-hscroll"][data-ldg-hover-live] {
  pointer-events: auto !important;
  cursor: grab;
}
[class*="-hscroll"][data-ldg-hover-live] [class*="-hscroll-thumb"] {
  cursor: grab;
}
.ldg-vscroll-thumb {
  position: absolute;
  left: 0;
  width: 11px;
  border-radius: 5.5px;
  background: color-mix(in srgb, var(--text) 40%, transparent);
  cursor: grab;
  pointer-events: auto;
}
body.ldg-vscroll-dragging,
body.ldg-vscroll-dragging .ldg-vscroll,
body.ldg-vscroll-dragging .ldg-vscroll-thumb {
  cursor: grabbing;
  user-select: none;
  -webkit-user-select: none;
}

/* ── 指针正停在竖向轨道上 / 拖动中：轨道才接管指针（2026-09-20 竖横统一）──
   与横向那条同理：平时 pointer-events:none（不挡下面元素），
   只有悬停模块加的 data-ldg-hover-live（或拖动中）才切成 auto + 小抓手。
   选择器用 [class*="-vscroll"] 覆盖全站所有竖向前缀（ldg / cb / meb / mex / mib / mss / rb / ai-chat）。 */
[class*="-vscroll"][data-ldg-hover-live] {
  pointer-events: auto !important;
  cursor: grab;
}
[class*="-vscroll"][data-ldg-hover-live] [class*="-vscroll-thumb"] {
  cursor: grab;
}
/* ── 无溢出（不可滚动）时一律不显示（2026-09-20）──
   组件按是否溢出给轨道加 data-ldg-empty="1"；
   原来只有 .ldg-vscroll 有 ldg-empty 规则，表内那几条用悬停显示时会露出"全高滑块"。 */
[class*="-vscroll"][data-ldg-empty="1"] {
  display: none !important;
}
