diff --git a/src/app.css b/src/app.css
index 93d3b0601e..f82ecedfbb 100644
--- a/src/app.css
+++ b/src/app.css
@@ -926,6 +926,24 @@ html.high-contrast.dark :is(.app-muted, .app-icon-muted, .tiptap table) {
color: var(--color-gray-300);
}
+html.high-contrast:not(.dark)
+ :is(
+ #sidebar .hover\:bg-gray-100:hover,
+ #sidebar .group:hover .group-hover\:bg-gray-100,
+ .app-dropdown-menu :is(button, a):hover
+ ) {
+ background-color: var(--color-gray-200) !important;
+}
+
+html.high-contrast.dark
+ :is(
+ #sidebar .dark\:hover\:bg-gray-900:hover,
+ #sidebar .group:hover .dark\:group-hover\:bg-gray-900,
+ .app-dropdown-menu :is(button, a):hover
+ ) {
+ background-color: var(--color-gray-800) !important;
+}
+
/* Accessibility Mode: the lightest muted pair, 1.58:1 in light and 2.14:1 in dark.
text-gray-400/70 is an icon colour, so 1.4.11 governs it, and 2.07:1 misses that too. */
@layer utilities {
diff --git a/src/lib/components/common/DropdownMenu.svelte b/src/lib/components/common/DropdownMenu.svelte
index 8b93e6f29a..e8201ee749 100644
--- a/src/lib/components/common/DropdownMenu.svelte
+++ b/src/lib/components/common/DropdownMenu.svelte
@@ -4,7 +4,7 @@
button]:flex [&>button]:w-full [&>button]:h-[1.6875rem]! [&>button]:items-center [&>button]:gap-2! [&>button]:rounded-xl! [&>button]:bg-transparent [&>button]:px-2! [&>button]:text-[0.8125rem]! [&>button]:font-normal! [&>a]:flex [&>a]:w-full [&>a]:h-[1.6875rem]! [&>a]:items-center [&>a]:gap-2! [&>a]:rounded-xl! [&>a]:bg-transparent [&>a]:px-2! [&>a]:text-[0.8125rem]! [&>a]:font-normal! [&_button_svg]:size-3.5! [&_a_svg]:size-3.5! [&>hr]:my-0.5 [&>hr]:mx-1`}
+ class={`app-dropdown-menu rounded-xl! p-0.5! border border-gray-100 dark:border-gray-800 z-50 bg-white text-gray-900 dark:bg-gray-850 dark:text-white shadow-lg ${className} [&_button:hover]:bg-gray-100! dark:[&_button:hover]:bg-gray-900! [&_a:hover]:bg-gray-100! dark:[&_a:hover]:bg-gray-900! [&_button:hover]:text-gray-900 dark:[&_button:hover]:text-gray-100 [&_a:hover]:text-gray-900 dark:[&_a:hover]:text-gray-100 [&>button]:flex [&>button]:w-full [&>button]:h-[1.6875rem]! [&>button]:items-center [&>button]:gap-2! [&>button]:rounded-xl! [&>button]:bg-transparent [&>button]:px-2! [&>button]:text-[0.8125rem]! [&>button]:font-normal! [&>a]:flex [&>a]:w-full [&>a]:h-[1.6875rem]! [&>a]:items-center [&>a]:gap-2! [&>a]:rounded-xl! [&>a]:bg-transparent [&>a]:px-2! [&>a]:text-[0.8125rem]! [&>a]:font-normal! [&_button_svg]:size-3.5! [&_a_svg]:size-3.5! [&>hr]:my-0.5 [&>hr]:mx-1`}
{style}
>
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte
index 755448b01f..9cfe57c43e 100644
--- a/src/lib/components/layout/Sidebar.svelte
+++ b/src/lib/components/layout/Sidebar.svelte
@@ -940,7 +940,7 @@
aria-label={$showSidebar ? $i18n.t('Close Sidebar') : $i18n.t('Open Sidebar')}
>