@@ -572,8 +572,75 @@ a:hover {
572572 color : var (--color-fg-muted );
573573}
574574
575+ /* Mobile ToC bar — hidden on desktop */
576+ .mobile-toc-bar {
577+ display : none;
578+ }
579+
575580/* Responsive */
576581@media (max-width : 960px ) {
582+ .mobile-toc-bar {
583+ display : block;
584+ position : sticky;
585+ top : 0 ;
586+ z-index : 10 ;
587+ background : var (--color-bg );
588+ border-bottom : 1px solid var (--color-border );
589+ }
590+
591+ .mobile-toc-toggle {
592+ display : flex;
593+ align-items : center;
594+ justify-content : space-between;
595+ width : 100% ;
596+ padding : var (--space-sm ) var (--space-md );
597+ background : none;
598+ border : none;
599+ font-family : var (--font-text );
600+ font-size : var (--font-size-base );
601+ font-weight : 600 ;
602+ color : var (--color-fg );
603+ cursor : pointer;
604+ }
605+
606+ .mobile-toc-toggle : hover {
607+ background : var (--color-bg-hover );
608+ }
609+
610+ .mobile-toc-chevron {
611+ transition : transform 0.15s ;
612+ }
613+
614+ .mobile-toc-toggle [aria-expanded = "true" ] .mobile-toc-chevron {
615+ transform : rotate (180deg );
616+ }
617+
618+ .mobile-toc-list {
619+ display : none;
620+ list-style : none;
621+ padding : 0 var (--space-md ) var (--space-sm );
622+ max-height : 60vh ;
623+ overflow-y : auto;
624+ }
625+
626+ .mobile-toc-list .open {
627+ display : block;
628+ }
629+
630+ .mobile-toc-list li {
631+ padding : var (--space-xs ) 0 ;
632+ }
633+
634+ .mobile-toc-list a {
635+ color : var (--color-link );
636+ text-decoration : none;
637+ font-size : var (--font-size-sm );
638+ }
639+
640+ .mobile-toc-list a : hover {
641+ text-decoration : underline;
642+ }
643+
577644 .site-main {
578645 grid-template-columns : 1fr ;
579646 }
@@ -625,28 +692,6 @@ a:hover {
625692 background : rgba (255 , 255 , 255 , 0.1 );
626693 }
627694
628- .nav-toc-label {
629- padding : var (--space-sm ) var (--space-md );
630- font-size : var (--font-size-sm );
631- font-weight : 600 ;
632- color : rgba (255 , 255 , 255 , 0.5 );
633- text-transform : uppercase;
634- letter-spacing : 0.05em ;
635- border-top : 1px solid rgba (255 , 255 , 255 , 0.1 );
636- }
637-
638- .nav-toc-link {
639- padding : var (--space-xs ) var (--space-md ) var (--space-xs ) var (--space-lg );
640- font-size : var (--font-size-sm );
641- color : rgba (255 , 255 , 255 , 0.8 );
642- text-decoration : none;
643- display : block;
644- }
645-
646- .nav-toc-link : hover {
647- background : rgba (255 , 255 , 255 , 0.1 );
648- }
649-
650695 .content {
651696 padding : var (--space-lg ) var (--space-md );
652697 }
0 commit comments