/* Native scrollbars keep mouse-wheel, trackpad, touch, and drag behavior in sync. */
html{overflow-y:auto!important;scrollbar-gutter:auto;scrollbar-width:auto;scrollbar-color:#6d86a7 #e9eef5}
html::-webkit-scrollbar{width:16px}
html::-webkit-scrollbar-track{background:#e9eef5;border-left:1px solid #d5deea}
html::-webkit-scrollbar-thumb{background:#6d86a7;border:3px solid #e9eef5;border-radius:12px}
html::-webkit-scrollbar-thumb:hover{background:#526b8d}

/* Remote canvases fill the viewport; their stage is the visible scroll area. */
html:has(.browser-page),html:has(.remote-page){overflow-y:hidden!important;scrollbar-gutter:auto}
.browser-stage,.remote-stage{overflow-y:auto!important;scrollbar-gutter:auto;scrollbar-width:auto;scrollbar-color:#8299b8 #17263f}
.browser-stage::-webkit-scrollbar,.remote-stage::-webkit-scrollbar{width:14px}
.browser-stage::-webkit-scrollbar-track,.remote-stage::-webkit-scrollbar-track{background:#17263f}
.browser-stage::-webkit-scrollbar-thumb,.remote-stage::-webkit-scrollbar-thumb{background:#8299b8;border:3px solid #17263f;border-radius:11px}

/* Full-screen media panels scroll independently of the library page. */
.music-player,.detail-panel,.music-lyrics-lines{scrollbar-width:auto;scrollbar-color:#8a96aa #18202e}
.music-player::-webkit-scrollbar,.detail-panel::-webkit-scrollbar,.music-lyrics-lines::-webkit-scrollbar{width:12px}
.music-player::-webkit-scrollbar-thumb,.detail-panel::-webkit-scrollbar-thumb,.music-lyrics-lines::-webkit-scrollbar-thumb{background:#8a96aa;border:2px solid #18202e;border-radius:10px}
:where(.day-list,.session-table,.source-matrix,.manual-board-scroll,.attendance-table-wrap,.contact-list,.contact-detail,.contact-categories,.chat-list,.thread-messages,.ai-chat-messages,.day-timeline,.dialog-body,.ws-dialog-body){scrollbar-width:auto;scrollbar-color:#8299b8 #e9eef5}
