@@ -248,8 +248,48 @@ code, kbd, samp, pre { font-family: var(--mono); }
248248 }
249249}
250250
251+ .site-tools {
252+ display : flex ;
253+ align-items : center ;
254+ gap : 0.35rem ;
255+ }
256+
257+ // A phone cannot hold the wordmark, six links and two buttons on one 60px row:
258+ // at 390px the row ran to 521px and every page scrolled sideways. So the
259+ // header wraps into two rows. The buttons stay beside the wordmark, and the
260+ // links take a full-width row of their own that scrolls sideways when it does
261+ // not fit, rather than hiding links to make the rest fit.
251262@media (max-width : 640px ) {
252- .site-nav .hide-sm { display : none ; }
263+ // The sticky header is taller here, so in-page links need a larger offset.
264+ html { scroll-padding-top : 7.5rem ; }
265+
266+ .site-header > .container {
267+ flex-wrap : wrap ;
268+ height : auto ;
269+ column-gap : 0.75rem ;
270+ row-gap : 0.15rem ;
271+ padding-top : 0.6rem ;
272+ }
273+
274+ .site-tools { margin-left : auto ; }
275+
276+ .site-nav {
277+ order : 3 ;
278+ flex : 1 0 100% ;
279+ // Full-bleed, so the row scrolls to the screen edges; the inner padding
280+ // lines the first link's text up with the wordmark above it.
281+ margin : 0 -1.5rem ;
282+ padding : 0 1.5rem 0.55rem 0.9rem ;
283+ overflow-x : auto ;
284+ scrollbar-width : none ;
285+
286+ & ::-webkit-scrollbar { display : none ; }
287+
288+ a {
289+ flex : none ;
290+ white-space : nowrap ;
291+ }
292+ }
253293}
254294
255295// ---------------------------------------------------------------------------
@@ -841,8 +881,72 @@ code, kbd, samp, pre { font-family: var(--mono); }
841881
842882 @media (max-width : 940px ) {
843883 position : static ;
844- padding-bottom : 1.25rem ;
845- border-bottom : 1px solid var (--border );
884+ }
885+
886+ // Beside the page the menu is always open and needs no control, so its
887+ // summary is hidden. Above the page it is a one-line disclosure naming the
888+ // page you are on; see the note in docs.html.jinja.
889+ .docs-nav-menu > summary { display : none ; }
890+
891+ @media (max-width : 940px ) {
892+ .docs-nav-menu {
893+ border : 1px solid var (--border );
894+ border-radius : var (--radius-sm );
895+ background : var (--surface );
896+ }
897+
898+ .docs-nav-menu > summary {
899+ display : flex ;
900+ align-items : center ;
901+ gap : 0.75rem ;
902+ padding : 0.7rem 0.9rem ;
903+ cursor : pointer ;
904+ list-style : none ;
905+ font-family : var (--mono );
906+ font-size : 0.72rem ;
907+ letter-spacing : 0.14em ;
908+ text-transform : uppercase ;
909+ color : var (--text-faint );
910+
911+ & ::-webkit-details-marker { display : none ; }
912+
913+ // A chevron drawn with two borders, pointing down while closed and up
914+ // while open.
915+ & ::after {
916+ content : " " ;
917+ flex : none ;
918+ width : 0.45rem ;
919+ height : 0.45rem ;
920+ margin : 0 0.2rem 0.2rem 0 ;
921+ border-right : 1.5px solid currentColor ;
922+ border-bottom : 1.5px solid currentColor ;
923+ transform : rotate (45deg );
924+ }
925+ }
926+
927+ .docs-nav-menu [open ] > summary ::after {
928+ margin : 0.2rem 0.2rem 0 0 ;
929+ transform : rotate (-135deg );
930+ }
931+
932+ .docs-nav-current {
933+ flex : 1 ;
934+ min-width : 0 ;
935+ overflow : hidden ;
936+ text-overflow : ellipsis ;
937+ white-space : nowrap ;
938+ text-align : right ;
939+ font-family : var (--font );
940+ font-size : 0.9rem ;
941+ letter-spacing : 0 ;
942+ text-transform : none ;
943+ color : var (--text );
944+ }
945+
946+ .docs-nav-lists {
947+ padding : 0.9rem 0.6rem 0.2rem ;
948+ border-top : 1px solid var (--border );
949+ }
846950 }
847951
848952 .nav-title {
@@ -980,6 +1084,13 @@ code, kbd, samp, pre { font-family: var(--mono); }
9801084 font-size : 0.83rem ;
9811085 color : var (--text-faint );
9821086 }
1087+
1088+ .build-info {
1089+ margin : 0.5rem 0 0 ;
1090+ font-family : var (--mono );
1091+ font-size : 0.72rem ;
1092+ color : var (--text-faint );
1093+ }
9831094}
9841095
9851096// ---------------------------------------------------------------------------
0 commit comments