@@ -139,14 +139,17 @@ a:focus-visible {
139139 box-shadow : 0 1px 0 var (--shadow );
140140}
141141
142- .site-header__inner {
142+ .site-header__shell {
143143 max-width : 900px ;
144144 margin : 0 auto;
145- padding : 0.65rem 1.25rem ;
145+ padding : 0.65rem 1.25rem 0.75rem ;
146+ }
147+
148+ .site-header__top {
146149 display : flex;
147150 align-items : center;
151+ justify-content : space-between;
148152 gap : 1rem ;
149- flex-wrap : wrap;
150153 min-height : var (--header-h );
151154}
152155
@@ -165,32 +168,129 @@ a:focus-visible {
165168}
166169
167170.site-nav {
171+ margin-top : 0.45rem ;
172+ padding-top : 0.55rem ;
173+ border-top : 1px solid var (--border );
174+ }
175+
176+ .site-nav__menu {
177+ list-style : none;
178+ margin : 0 ;
179+ padding : 0 ;
168180 display : flex;
169181 flex-wrap : wrap;
170- gap : 0.35rem 1rem ;
171- align-items : center;
172- flex : 1 ;
173- justify-content : center;
182+ align-items : flex-start;
183+ gap : 0.15rem 0.35rem ;
174184}
175185
176- @media (min-width : 720px ) {
177- .site-nav {
178- justify-content : flex-end;
179- }
186+ .site-nav__item {
187+ position : relative;
188+ list-style : none;
180189}
181190
182- .site-nav a {
183- font-size : 0.9rem ;
184- font-weight : 500 ;
191+ .site-nav__trigger {
192+ display : inline-flex;
193+ align-items : center;
194+ gap : 0.35rem ;
195+ margin : 0 ;
196+ font-family : var (--font );
197+ font-size : 0.75rem ;
198+ font-weight : 700 ;
199+ letter-spacing : 0.05em ;
200+ text-transform : uppercase;
185201 color : var (--muted );
186- padding : 0.35rem 0.5rem ;
202+ padding : 0.4rem 0.55rem ;
203+ border : 1px solid transparent;
187204 border-radius : var (--radius-sm );
205+ background : transparent;
206+ cursor : pointer;
207+ line-height : 1.2 ;
208+ }
209+
210+ .site-nav__trigger : hover {
211+ color : var (--text );
212+ background : var (--surface );
213+ }
214+
215+ .site-nav__item : is (: hover , : focus-within ) .site-nav__trigger {
216+ color : var (--text );
188217}
189218
190- .site-nav a : hover {
219+ .site-nav__item . is-open . site-nav__trigger {
191220 color : var (--text );
192221 background : var (--surface );
222+ border-color : var (--border );
223+ }
224+
225+ .site-nav__trigger : focus-visible {
226+ outline : 2px solid var (--focus-ring );
227+ outline-offset : 2px ;
228+ }
229+
230+ .site-nav__caret {
231+ display : block;
232+ width : 0 ;
233+ height : 0 ;
234+ border-left : 4px solid transparent;
235+ border-right : 4px solid transparent;
236+ border-top : 5px solid currentColor;
237+ opacity : 0.75 ;
238+ flex-shrink : 0 ;
239+ transition : transform 0.15s ease;
240+ }
241+
242+ .site-nav__item .is-open .site-nav__caret {
243+ transform : rotate (180deg );
244+ }
245+
246+ .site-nav__submenu {
247+ position : absolute;
248+ top : calc (100% + 3px );
249+ left : 0 ;
250+ min-width : 11.5rem ;
251+ margin : 0 ;
252+ padding : 0.4rem ;
253+ list-style : none;
254+ background : var (--surface );
255+ border : 1px solid var (--border );
256+ border-radius : var (--radius-sm );
257+ box-shadow : 0 10px 28px var (--shadow );
258+ z-index : 100 ;
259+ opacity : 0 ;
260+ visibility : hidden;
261+ transform : translateY (-6px );
262+ pointer-events : none;
263+ transition : opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ;
264+ }
265+
266+ .site-nav__submenu li {
267+ list-style : none;
268+ margin : 0 ;
269+ }
270+
271+ .site-nav__item : hover .site-nav__submenu ,
272+ .site-nav__item : focus-within .site-nav__submenu ,
273+ .site-nav__item .is-open .site-nav__submenu {
274+ opacity : 1 ;
275+ visibility : visible;
276+ transform : translateY (0 );
277+ pointer-events : auto;
278+ }
279+
280+ .site-nav__submenu a {
281+ display : block;
282+ padding : 0.45rem 0.6rem ;
283+ font-size : 0.875rem ;
284+ font-weight : 500 ;
285+ color : var (--text );
193286 text-decoration : none;
287+ border-radius : var (--radius-sm );
288+ white-space : nowrap;
289+ }
290+
291+ .site-nav__submenu a : hover {
292+ background : var (--code-bg );
293+ color : var (--accent );
194294}
195295
196296.site-header__actions {
@@ -495,6 +595,28 @@ pre code {
495595 max-width : 52ch ;
496596}
497597
598+ .subsection-title {
599+ margin : 1.5rem 0 0.6rem ;
600+ font-size : 1.05rem ;
601+ font-weight : 650 ;
602+ letter-spacing : -0.01em ;
603+ color : var (--text );
604+ }
605+
606+ .feature-list {
607+ margin : 0.35rem 0 1rem ;
608+ padding-left : 1.25rem ;
609+ color : var (--text );
610+ }
611+
612+ .feature-list li {
613+ margin-bottom : 0.45rem ;
614+ }
615+
616+ .feature-list li : last-child {
617+ margin-bottom : 0 ;
618+ }
619+
498620.author-section .author-card {
499621 max-width : 40rem ;
500622 padding : 1.35rem 1.5rem ;
@@ -518,6 +640,22 @@ pre code {
518640 font-size : 0.98rem ;
519641}
520642
643+ .author-card__bio {
644+ margin : 0 0 1rem ;
645+ color : var (--text );
646+ font-size : 0.95rem ;
647+ line-height : 1.55 ;
648+ }
649+
650+ .author-social-label {
651+ margin : 0 0 0.5rem ;
652+ font-size : 0.75rem ;
653+ font-weight : 700 ;
654+ letter-spacing : 0.06em ;
655+ text-transform : uppercase;
656+ color : var (--muted );
657+ }
658+
521659.author-card__contact {
522660 margin : 0 0 1rem ;
523661 font-size : 1rem ;
@@ -578,6 +716,20 @@ html[data-theme="light"] .author-social__link:hover {
578716 font-size : 0.85em ;
579717}
580718
719+ .fonts-images-list {
720+ margin : 0 0 1rem ;
721+ padding-left : 1.35rem ;
722+ color : var (--text );
723+ }
724+
725+ .fonts-images-list li {
726+ margin-bottom : 0.75rem ;
727+ }
728+
729+ .fonts-images-list li : last-child {
730+ margin-bottom : 0 ;
731+ }
732+
581733.steps {
582734 list-style : none;
583735 margin : 0 ;
@@ -712,19 +864,61 @@ html[data-theme="light"] .note {
712864 outline-offset : 2px ;
713865}
714866
715- @media (max-width : 520px ) {
716- .site-nav {
867+ @media (max-width : 640px ) {
868+ .site-nav__menu {
869+ flex-direction : column;
870+ align-items : stretch;
871+ gap : 0 ;
872+ }
873+
874+ .site-nav__item {
875+ border-bottom : 1px solid var (--border );
876+ }
877+
878+ .site-nav__item : last-child {
879+ border-bottom : none;
880+ }
881+
882+ .site-nav__trigger {
717883 width : 100% ;
718- justify-content : flex-start;
719- order : 3 ;
720- padding-top : 0.25rem ;
721- border-top : 1px solid var (--border );
722- margin-top : 0.25rem ;
723- padding-top : 0.65rem ;
884+ justify-content : space-between;
885+ padding : 0.55rem 0.35rem 0.55rem 0.15rem ;
886+ font-size : 0.78rem ;
887+ }
888+
889+ /* Touch / narrow: only .is-open reveals submenu (hover disabled by display) */
890+ .site-nav__submenu {
891+ position : static;
892+ box-shadow : none;
893+ border : none;
894+ border-radius : 0 ;
895+ padding : 0 0 0.65rem 0.5rem ;
896+ background : transparent;
897+ transform : none;
898+ transition : none;
899+ }
900+
901+ .site-nav__item : not (.is-open ) .site-nav__submenu {
902+ display : none;
903+ }
904+
905+ .site-nav__item .is-open .site-nav__submenu {
906+ display : block;
907+ opacity : 1 ;
908+ visibility : visible;
909+ pointer-events : auto;
724910 }
725911
726- .site-header__inner {
727- flex-wrap : wrap;
912+ .site-nav__submenu a {
913+ white-space : normal;
914+ padding : 0.4rem 0.5rem ;
915+ }
916+ }
917+
918+ @media (max-width : 520px ) {
919+ .site-header__shell {
920+ padding-left : 1rem ;
921+ padding-right : 1rem ;
728922 }
729923
730924 .hero {
0 commit comments