@@ -357,7 +357,7 @@ const categoryOrder = ["syntax", "data_structures", "classes", "advanced"];
357357
358358
359359
360- :global(html:not( .sidebar-collapsed) ) .sidebar-backdrop {
360+ :global(html.sidebar-mobile-open ) .sidebar-backdrop {
361361 display: block;
362362 position: fixed;
363363 top: 0;
@@ -468,13 +468,22 @@ const categoryOrder = ["syntax", "data_structures", "classes", "advanced"];
468468 const closeSidebar = () => {
469469 document.documentElement.classList.add('sidebar-transitioning');
470470 document.documentElement.classList.add('sidebar-collapsed');
471+ document.documentElement.classList.remove('sidebar-mobile-open');
471472 localStorage.setItem('sidebar-collapsed', 'true');
472473 };
473474
474475 toggleBtn.addEventListener('click', () => {
475476 document.documentElement.classList.add('sidebar-transitioning');
476477 const collapsed = document.documentElement.classList.toggle('sidebar-collapsed');
477478 localStorage.setItem('sidebar-collapsed', String(collapsed));
479+ // Show/hide mobile backdrop only on explicit user toggle
480+ if (window.innerWidth < 900) {
481+ if (collapsed) {
482+ document.documentElement.classList.remove('sidebar-mobile-open');
483+ } else {
484+ document.documentElement.classList.add('sidebar-mobile-open');
485+ }
486+ }
478487 });
479488
480489 if (backdrop) {
@@ -500,9 +509,11 @@ const categoryOrder = ["syntax", "data_structures", "classes", "advanced"];
500509
501510 if (wasDesktop && isMobile) {
502511 document.documentElement.classList.add('sidebar-collapsed');
512+ document.documentElement.classList.remove('sidebar-mobile-open');
503513 } else if (!wasDesktop && !isMobile) {
504514 // Always expand the sidebar on desktop width and save state
505515 document.documentElement.classList.remove('sidebar-collapsed');
516+ document.documentElement.classList.remove('sidebar-mobile-open');
506517 localStorage.setItem('sidebar-collapsed', 'false');
507518 }
508519 lastWidth = currentWidth;
0 commit comments