2525 }
2626}
2727
28+ /* Light mode override */
29+ html [data-theme = "light" ] {
30+ --body-bg : # f4f4f4 ;
31+ --body-color : # 333333 ;
32+ --link-color : # 0066b2 ;
33+ --visited-link-color : # 7f4982 ;
34+ --nav-bg : # ffffff ;
35+ }
36+
37+ /* Dark mode override */
38+ html [data-theme = "dark" ] {
39+ --body-bg : # 1e1e1e ;
40+ --body-color : # eaeaea ;
41+ --link-color : # 3399ff ;
42+ --visited-link-color : # b066b0 ;
43+ --nav-bg : # 2a2a2a ;
44+ }
45+
2846/* Mobile-first responsive design */
2947body {
3048 padding : 0 var (--page-padding );
@@ -45,6 +63,14 @@ blockquote {
4563 }
4664}
4765
66+ html [data-theme = "light" ] blockquote {
67+ background-color : rgba (0 , 0 , 0 , 0.03 );
68+ }
69+
70+ html [data-theme = "dark" ] blockquote {
71+ background-color : rgba (255 , 255 , 255 , 0.05 );
72+ }
73+
4874/* Responsive heading size */
4975h1 {
5076 line-height : 1.2 ;
@@ -80,14 +106,39 @@ h2 {
80106}
81107
82108.primary-nav {
109+ display : flex;
110+ align-items : center;
83111 padding : clamp (0.75rem , 2vw , 1rem );
84112 margin : 0 auto 2rem ;
85113 max-width : 600px ;
86- text-align : left;
87114 background : var (--nav-bg );
88115 border-radius : 8px ;
89116}
90117
91118.primary-nav a {
92119 margin-right : 1rem ;
93120}
121+
122+ # theme-toggle {
123+ margin-left : auto;
124+ flex-shrink : 0 ;
125+ background : transparent;
126+ border : 1px solid var (--body-color );
127+ color : var (--body-color );
128+ padding : 0.3rem 0.6rem ;
129+ border-radius : 6px ;
130+ cursor : pointer;
131+ font-size : 0.85rem ;
132+ line-height : 1 ;
133+ transition : background-color 0.2s , color 0.2s ;
134+ }
135+
136+ # theme-toggle : hover {
137+ background-color : var (--body-color );
138+ color : var (--nav-bg );
139+ }
140+
141+ # theme-toggle : focus-visible {
142+ outline : 2px solid var (--link-color );
143+ outline-offset : 2px ;
144+ }
0 commit comments