Split from LibreChat-AI#16492, which adds the dialog scrim opacity roles (scrimOpacity, alertScrimOpacity, modalScrimOpacity, exposed as bg-scrim*). The mobile drawer's scrim and edge are left out of that PR because LibreChat-AI#16248 owns client/src/components/UnifiedSidebar/**, including mobile/Scrim.tsx, mobile/__tests__/Scrim.spec.tsx and UnifiedSidebar.tsx.
Work to do once LibreChat-AI#16248 merges, closing three earlier issues together:
Split from LibreChat-AI#16492, which adds the dialog scrim opacity roles (
scrimOpacity,alertScrimOpacity,modalScrimOpacity, exposed asbg-scrim*). The mobile drawer's scrim and edge are left out of that PR because LibreChat-AI#16248 ownsclient/src/components/UnifiedSidebar/**, includingmobile/Scrim.tsx,mobile/__tests__/Scrim.spec.tsxandUnifiedSidebar.tsx.Work to do once LibreChat-AI#16248 merges, closing three earlier issues together:
mobile/Scrim.tsxpaintsbg-surface-overlay/50, which separates the drawer by 3:1 in no palette. Move it tobg-scrim(the dialogs' theme-owned 80%), which clears 3:1 in both light palettes (4.01 LibreChat, 4.09 ClickHouse). This is a deliberate default change and fixes an a11y failure.UnifiedSidebar.tsxneeds an edge of its own with 3:1 againstsurface-primary-alt, and themobile-drawer-scrimscenarios should measure dark as well.Scrim.spec.tsxwith a check of what renders (the focused scrim's computed outline or box-shadow in the mock harness).