/* Original native cursors; no tracking overlay or animation. */
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
 html,body{cursor:url('/assets/cursor-options/lighting-pointer.svg') 3 2,auto}
 a,button,summary,[role="button"],[role="tab"]{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
 button:disabled,[aria-disabled="true"]{cursor:not-allowed!important}
 input:not([type="range"]),textarea,[contenteditable="true"]{cursor:text!important}
}

@media(hover:hover) and (pointer:fine) and (forced-colors:none){
 a:active,button:active,summary:active,[role="button"]:active,[role="tab"]:active{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
 ::-webkit-scrollbar,::-webkit-scrollbar-track,::-webkit-scrollbar-thumb{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer}
 ::-webkit-scrollbar-thumb:active{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer}
}

/* Shared page scrollbar, matching the selected-work rail and dialogs. */
html{scrollbar-width:thin;scrollbar-color:#9b9f8c transparent}
html::-webkit-scrollbar{width:6px;height:6px}
html::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb{background:#9b9f8c;border-radius:8px}
html::-webkit-scrollbar-thumb:hover{background:#7d826e}
@media(forced-colors:active){html{scrollbar-color:auto}}

/* Floating page thumb; native scrolling and modal scrollbars remain intact. */
html.page-overlay-scroll{scrollbar-width:none;scrollbar-gutter:auto}
html.page-overlay-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.page-scroll-thumb{position:fixed;right:1px;width:12px;z-index:9000;touch-action:none;user-select:none;cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.page-scroll-thumb::before{content:"";position:absolute;inset:0 3px;border-radius:8px;background:#9b9f8c99;box-shadow:0 0 1px #222a2480;backdrop-filter:blur(4px)}
.page-scroll-thumb:hover::before,.page-scroll-thumb.is-dragging::before{background:#9b9f8ce6}
.page-scroll-thumb.is-dragging{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.page-scroll-thumb:focus-visible{outline:2px solid #9b9f8c;outline-offset:1px;border-radius:8px}
.page-scroll-thumb[hidden]{display:none}

/* Real elements rather than native scrollbar chrome, for reliable cursor states. */
.rail.has-custom-scrollbar{scrollbar-width:none}
.rail.has-custom-scrollbar::-webkit-scrollbar{display:none}
.rail.scrollbar-dragging{scroll-snap-type:none!important;scroll-behavior:auto!important}
.work-scrollbar{position:relative;height:16px;margin:-12px 4px 12px;touch-action:none;user-select:none;cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.work-scrollbar-thumb{position:absolute;top:0;height:16px;cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.work-scrollbar-thumb::before{content:"";position:absolute;inset:5px 0;background:#9b9f8c;border-radius:8px;pointer-events:none}
.more-work .work-scrollbar-thumb::before{background:#707b69}
.work-scrollbar.is-dragging,.work-scrollbar.is-dragging *,.work-scrollbar:active,.work-scrollbar-thumb:active{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.work-scrollbar-thumb:focus-visible{outline:2px solid #9b9f8c;outline-offset:2px;border-radius:8px}
.work-scrollbar[hidden]{display:none}

/* Floating dialog thumb keeps the existing scroll container and wheel behaviour. */
dialog.has-custom-scrollbar{scrollbar-width:none;scrollbar-gutter:auto}
dialog.has-custom-scrollbar::-webkit-scrollbar{display:none}
.modal-scroll-thumb{position:fixed;width:12px;z-index:10;touch-action:none;user-select:none;cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.modal-scroll-thumb::before{content:"";position:absolute;inset:0 3px;border-radius:8px;background:#9b9f8c;pointer-events:none}
.modal-scroll-thumb.is-dragging,.modal-scroll-thumb:active{cursor:url('/assets/cursor-options/lighting-pointer-hover.svg') 3 2,pointer!important}
.modal-scroll-thumb:focus-visible{outline:2px solid #9b9f8c;outline-offset:1px;border-radius:8px}
.modal-scroll-thumb[hidden]{display:none}

/* Consistent tactile feedback on selectable controls throughout the site. */
:is(a[href],button,summary,[role="button"],[role="tab"],input[type="submit"],input[type="button"]):not(:disabled):not([aria-disabled="true"]){
 transition:scale .14s ease-out,transform .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease;
 transform-origin:center;
}
:is(a[href],button,summary,[role="button"],[role="tab"],input[type="submit"],input[type="button"]):not(:disabled):not([aria-disabled="true"]):active{scale:.97}
@media(prefers-reduced-motion:reduce){
 :is(a[href],button,summary,[role="button"],[role="tab"],input[type="submit"],input[type="button"]):not(:disabled):not([aria-disabled="true"]){transition:none}
 :is(a[href],button,summary,[role="button"],[role="tab"],input[type="submit"],input[type="button"]):not(:disabled):not([aria-disabled="true"]):active{scale:1}
}
