/* Shared mouse-access contract. Keep native scrolling, sticky cells and virtualization intact. */
:root {
  --tudou-scrollbar-size: 14px;
  --tudou-scrollbar-track: var(--card-2, #fff7e8);
  --tudou-scrollbar-thumb: #aa8351;
  --tudou-scrollbar-thumb-hover: var(--primary-dark, #7a4108);
  --tudou-scrollbar-border: var(--line, #ead9bd);
  --tudou-scrollbar-focus: var(--primary, #a86412);
}

html,
html * {
  scrollbar-width: auto !important;
  scrollbar-color: var(--tudou-scrollbar-thumb) var(--tudou-scrollbar-track) !important;
}

/* Non-auto standard colors override WebKit sizing in recent Chromium. Explicit
   dimensions select classic, persistent scrollbars even with macOS auto-hide. */
@supports selector(::-webkit-scrollbar) {
  html,
  html * {
    scrollbar-color: auto !important;
  }
  html::-webkit-scrollbar,
  html *::-webkit-scrollbar {
    display: block !important;
    width: var(--tudou-scrollbar-size) !important;
    height: var(--tudou-scrollbar-size) !important;
  }
  html::-webkit-scrollbar-track,
  html *::-webkit-scrollbar-track,
  html::-webkit-scrollbar-corner,
  html *::-webkit-scrollbar-corner {
    background: var(--tudou-scrollbar-track) !important;
  }
  html::-webkit-scrollbar-thumb,
  html *::-webkit-scrollbar-thumb {
    min-width: 32px;
    min-height: 32px;
    border: 3px solid var(--tudou-scrollbar-track) !important;
    border-radius: 8px !important;
    background: var(--tudou-scrollbar-thumb) !important;
  }
  html::-webkit-scrollbar-thumb:hover,
  html *::-webkit-scrollbar-thumb:hover {
    background: var(--tudou-scrollbar-thumb-hover) !important;
  }
}

/* Companion rails appear only when the real rail is clipped or overlaid by the
   OS. They change scrollLeft/scrollTop; they never wrap or replace content. */
.tudou-scrollbar-rail {
  position: fixed !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--tudou-scrollbar-border) !important;
  border-radius: 3px !important;
  background: var(--tudou-scrollbar-track) !important;
  box-shadow: 0 0 0 1px var(--card, #fffdf8);
  opacity: 1 !important;
  touch-action: none;
  user-select: none;
  cursor: pointer;
  overflow: hidden !important;
  pointer-events: auto;
}
.tudou-scrollbar-rail[hidden] { display: none !important; }
.tudou-scrollbar-rail:focus-visible { outline: 2px solid var(--tudou-scrollbar-focus); outline-offset: 1px; }
.tudou-scrollbar-thumb {
  position: absolute;
  box-sizing: border-box;
  border: 2px solid var(--tudou-scrollbar-track);
  border-radius: 7px;
  background: var(--tudou-scrollbar-thumb);
  pointer-events: none;
}
.tudou-scrollbar-rail:hover .tudou-scrollbar-thumb,
.tudou-scrollbar-rail:focus-visible .tudou-scrollbar-thumb { background: var(--tudou-scrollbar-thumb-hover); }
.tudou-scrollbar-rail[data-axis="x"] .tudou-scrollbar-thumb { height: 100%; top: 0; left: 0; }
.tudou-scrollbar-rail[data-axis="y"] .tudou-scrollbar-thumb { width: 100%; top: 0; left: 0; }
@media (forced-colors: active) {
  .tudou-scrollbar-rail { border-color: CanvasText !important; background: Canvas !important; }
  .tudou-scrollbar-thumb { background: ButtonText; border-color: Canvas; }
}
