/* A clear 44px hit area keeps the slim, translucent rail easy to drag. */
.document-scroll-rail{position:absolute;z-index:18;top:max(10px,env(safe-area-inset-top,0px));bottom:max(10px,env(safe-area-inset-bottom,0px));right:max(2px,env(safe-area-inset-right,0px));width:44px;opacity:0;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;outline:0;transition:opacity .18s;contain:layout style;cursor:pointer}
.document-scroll-rail::before{content:"";position:absolute;top:0;bottom:0;right:8px;width:2px;border-radius:10px;background:color-mix(in srgb,var(--theme-ink,#263a36) 6%,transparent)}
.document-scroll-rail.is-scrollable.is-visible,.document-scroll-rail.is-scrollable:focus-visible{opacity:1;pointer-events:auto}
.document-scroll-thumb{position:absolute;top:0;right:0;left:0;min-height:0;border-radius:12px;cursor:grab;will-change:transform;touch-action:none}
.document-scroll-thumb::before{content:"";position:absolute;top:0;bottom:0;right:6px;width:6px;box-sizing:border-box;border-radius:10px;background:linear-gradient(90deg,#ffffff5c,#ffffff0a),color-mix(in srgb,var(--theme-ink,#263a36) 22%,transparent);border:1px solid color-mix(in srgb,var(--theme-panel,#fffefb) 48%,transparent);box-shadow:0 1px 4px #00000014,inset 0 0 1px #ffffff70;backdrop-filter:blur(8px) saturate(130%);-webkit-backdrop-filter:blur(8px) saturate(130%);transition:background .15s,width .15s,right .15s}
.document-scroll-rail.is-dragging .document-scroll-thumb{cursor:grabbing}
.document-scroll-rail.is-dragging .document-scroll-thumb::before,.document-scroll-rail:focus-visible .document-scroll-thumb::before{right:5px;width:8px;background:linear-gradient(90deg,#ffffff66,#ffffff14),color-mix(in srgb,var(--theme-ink,#263a36) 32%,transparent)}
.document-scroll-rail:focus-visible .document-scroll-thumb::before{outline:2px solid var(--theme-accent,#718c65);outline-offset:2px}
.document-scroll-position{position:absolute;right:19px;top:50%;transform:translateY(-50%);padding:3px 6px;border:1px solid color-mix(in srgb,var(--theme-panel,#fffefb) 46%,transparent);border-radius:9px;white-space:nowrap;pointer-events:none;background:color-mix(in srgb,var(--theme-panel,#fffefb) 66%,transparent);color:var(--theme-ink,#263a36);box-shadow:0 1px 5px #00000012;backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);font-size:10px;line-height:1.2;font-variant-numeric:tabular-nums;opacity:0}
.document-scroll-rail.is-dragging .document-scroll-position,.document-scroll-rail:focus-visible .document-scroll-position{opacity:1}
@media(prefers-reduced-motion:reduce){.document-scroll-rail,.document-scroll-thumb::before{transition:none}}

.canvas-viewport.has-scroll-rail{scrollbar-width:none}
.canvas-viewport.has-scroll-rail::-webkit-scrollbar{width:0;height:0}
