/* One scrollbar identity for the entire Wiggy interface, on either axis. */
:root {
  --wiggy-scroll-start:#bca1f5;
  --wiggy-scroll-mid:#8060df;
  --wiggy-scroll-end:#5432ae;
  --wiggy-scroll-track:#7354e90d;
  --wiggy-scroll-glow:#7354e92b;
  --wiggy-scroll-glow-active:#7354e947;
}
html, body .arcade-shell * { scrollbar-width:thin; scrollbar-color:var(--wiggy-scroll-mid) var(--wiggy-scroll-track); }
@supports selector(::-webkit-scrollbar) {
  html, body .arcade-shell * { scrollbar-width:auto; scrollbar-color:auto; }
}
html::-webkit-scrollbar, .arcade-shell *::-webkit-scrollbar { display:block; width:12px; height:12px; }
html::-webkit-scrollbar-track, .arcade-shell *::-webkit-scrollbar-track { border-radius:999px; background:var(--wiggy-scroll-track); }
html::-webkit-scrollbar-thumb, .arcade-shell *::-webkit-scrollbar-thumb { border:3px solid transparent; border-radius:999px; background:linear-gradient(180deg,var(--wiggy-scroll-start),var(--wiggy-scroll-mid) 45%,var(--wiggy-scroll-end)); background-clip:padding-box; box-shadow:0 0 9px var(--wiggy-scroll-glow); }
html::-webkit-scrollbar-thumb:horizontal, .arcade-shell *::-webkit-scrollbar-thumb:horizontal { background-image:linear-gradient(90deg,var(--wiggy-scroll-start),var(--wiggy-scroll-mid) 45%,var(--wiggy-scroll-end)); }
html::-webkit-scrollbar-thumb:hover, .arcade-shell *::-webkit-scrollbar-thumb:hover { border-width:1.5px; box-shadow:0 0 15px var(--wiggy-scroll-glow-active); }
html::-webkit-scrollbar-button, .arcade-shell *::-webkit-scrollbar-button { display:none; width:0; height:0; }
html::-webkit-scrollbar-corner, .arcade-shell *::-webkit-scrollbar-corner { background:transparent; }
.document-scrollbar-track { width:12px; position:fixed; z-index:250; top:8px; right:2px; bottom:8px; border-radius:999px; background:var(--wiggy-scroll-track); }
.document-scrollbar-thumb { width:6px; min-height:34px; position:absolute; right:2px; top:0; border-radius:999px; cursor:grab; touch-action:none; background:linear-gradient(180deg,var(--wiggy-scroll-start),var(--wiggy-scroll-mid) 45%,var(--wiggy-scroll-end)); box-shadow:0 0 9px var(--wiggy-scroll-glow),inset 0 0 0 1px #ffffff33; transition:width .15s,height .15s,filter .15s,box-shadow .15s; }
.document-scrollbar-thumb:hover,.document-scrollbar-thumb.dragging,.document-scrollbar-thumb:focus-visible { width:9px; filter:brightness(1.05); box-shadow:0 0 15px var(--wiggy-scroll-glow-active),inset 0 0 0 1px #ffffff44; }
.document-scrollbar-thumb:focus-visible { outline:2px solid var(--wiggy-scroll-end); outline-offset:2px; }
.document-scrollbar-thumb.dragging { cursor:grabbing; }
.panel-scrollbar { position:absolute; z-index:2; left:3px; right:auto; }
.panel-scrollbar .document-scrollbar-thumb { left:2px; right:auto; }
/* Native fallback also sits on the left; drawer contents retain LTR reading order. */
.arcade-shell .drawer-sheet { direction:rtl; }
.arcade-shell .drawer-sheet > * { direction:ltr; }
.collection-scroll-shell,.filter-category-scroll-shell { position:relative; padding-bottom:12px; min-width:0; }
.arcade-shell .collection-scroll-shell .collection-rail { margin:0; }
.arcade-shell .filter-category-scroll-shell .category-chips { margin:0; padding-bottom:8px; }
.filter-category-scroll-shell { margin-bottom:14px; }
.arcade-shell .wiggy-scroll-dragging { scroll-snap-type:none!important; scroll-behavior:auto!important; }
.horizontal-scrollbar { position:absolute; z-index:4; top:auto; bottom:0; left:8px; right:8px; width:auto; height:12px; }
.horizontal-scrollbar .document-scrollbar-thumb { top:3px; left:0; right:auto; width:auto; height:6px; min-width:34px; min-height:0; background-image:linear-gradient(90deg,var(--wiggy-scroll-start),var(--wiggy-scroll-mid) 45%,var(--wiggy-scroll-end)); }
.horizontal-scrollbar .document-scrollbar-thumb:hover,.horizontal-scrollbar .document-scrollbar-thumb.dragging,.horizontal-scrollbar .document-scrollbar-thumb:focus-visible { width:auto; height:9px; top:1px; }
html.custom-page-scroll,.arcade-shell .custom-panel-scroll,.arcade-shell .wiggy-custom-scroll-x { scrollbar-width:none!important; }
html.custom-page-scroll::-webkit-scrollbar,.arcade-shell .custom-panel-scroll::-webkit-scrollbar,.arcade-shell .wiggy-custom-scroll-x::-webkit-scrollbar { display:none!important; width:0!important; height:0!important; }
/* Radix consumers must share the same tokens instead of bg-border/default thumbs. */
[data-slot="scroll-area-scrollbar"] { border:0; background:var(--wiggy-scroll-track); border-radius:999px; }
[data-slot="scroll-area-scrollbar"][data-orientation="vertical"] { width:12px; }
[data-slot="scroll-area-scrollbar"][data-orientation="horizontal"] { height:12px; }
[data-slot="scroll-area-thumb"] { align-self:center; background:linear-gradient(180deg,var(--wiggy-scroll-start),var(--wiggy-scroll-mid) 45%,var(--wiggy-scroll-end)); box-shadow:0 0 9px var(--wiggy-scroll-glow); transition:width .15s,height .15s,box-shadow .15s; }
[data-orientation="vertical"] > [data-slot="scroll-area-thumb"] { width:6px; }
[data-orientation="horizontal"] > [data-slot="scroll-area-thumb"] { height:6px; background-image:linear-gradient(90deg,var(--wiggy-scroll-start),var(--wiggy-scroll-mid) 45%,var(--wiggy-scroll-end)); }
[data-orientation="vertical"] > [data-slot="scroll-area-thumb"]:hover { width:9px; }
[data-orientation="horizontal"] > [data-slot="scroll-area-thumb"]:hover { height:9px; }
@media (prefers-reduced-motion:reduce) { .document-scrollbar-thumb,[data-slot="scroll-area-thumb"] { transition:none; } }
@media (forced-colors:active) {
  .document-scrollbar-track { display:none!important; }
  html,.arcade-shell .custom-panel-scroll,.arcade-shell .wiggy-custom-scroll-x,body .arcade-shell * { scrollbar-width:auto!important; scrollbar-color:auto!important; }
  html.custom-page-scroll::-webkit-scrollbar,.arcade-shell .custom-panel-scroll::-webkit-scrollbar,.arcade-shell .wiggy-custom-scroll-x::-webkit-scrollbar { display:block!important; width:12px!important; height:12px!important; }
  html::-webkit-scrollbar-thumb,.arcade-shell *::-webkit-scrollbar-thumb,[data-slot="scroll-area-thumb"] { background:CanvasText; box-shadow:none; }
}
