11: root {
2- --paper : # f6f5f1 ;
3- --surface : # fdfcf9 ;
4- --ink : # 183043 ;
5- --text : # 344450 ;
6- --muted : # 6e787c ;
7- --line : # dce0dd ;
8- --accent : # a35936 ;
9- --accent-soft : # f1e8df ;
10- --code-bg : # eef0ed ;
11- --code-ink : # 243b4e ;
12- --syntax-string : # 497457 ;
13- --syntax-number : # 7c648e ;
14- --syntax-name : # 38647c ;
15- --syntax-deletion : # 9b4d46 ;
2+ --paper : # f3f7fc ;
3+ --surface : # ffffff ;
4+ --ink : # 0d2540 ;
5+ --text : # 33465f ;
6+ --muted : # 566b84 ;
7+ --line : # cbd8e6 ;
8+ --accent : # 1767db ;
9+ --accent-soft : # e8f1ff ;
10+ --grid : # dce7f5 ;
11+ --code-bg : # edf3fb ;
12+ --code-ink : # 253c58 ;
13+ --syntax-string : # 236844 ;
14+ --syntax-number : # 6556a8 ;
15+ --syntax-name : # 165d96 ;
16+ --syntax-deletion : # bc3540 ;
1617 --mono : 'SFMono-Regular' , Consolas, 'Liberation Mono' , monospace;
1718 --sans : -apple-system, BlinkMacSystemFont, 'Segoe UI' , 'PingFang SC' , 'Hiragino Sans GB' , 'Microsoft YaHei' , sans-serif;
18- --serif : 'Songti SC' , STSong, 'Noto Serif SC' , 'Times New Roman' , serif;
1919}
2020
2121html [data-theme = 'dark' ] {
22- --paper : # 151d25 ;
23- --surface : # 1b2630 ;
24- --ink : # e5e9e9 ;
25- --text : # c9d0d4 ;
26- --muted : # 96a5ad ;
27- --line : # 33414b ;
28- --accent : # d99873 ;
29- --accent-soft : # 342b27 ;
30- --code-bg : # 202d37 ;
31- --code-ink : # d8e4eb ;
32- --syntax-string : # 9cba98 ;
33- --syntax-number : # bfa3d0 ;
34- --syntax-name : # 94bfd5 ;
35- --syntax-deletion : # e29a92 ;
22+ --paper : # 0b1324 ;
23+ --surface : # 101d32 ;
24+ --ink : # edf5ff ;
25+ --text : # d2dfef ;
26+ --muted : # aabcd3 ;
27+ --line : # 2a405c ;
28+ --accent : # 52d9ff ;
29+ --accent-soft : # 15314a ;
30+ --grid : # 213853 ;
31+ --code-bg : # 0f2036 ;
32+ --code-ink : # d7e9fb ;
33+ --syntax-string : # a4e5c8 ;
34+ --syntax-number : # bdaaff ;
35+ --syntax-name : # 81b7fc ;
36+ --syntax-deletion : # ff9ea4 ;
3637}
3738
3839* { box-sizing : border-box; }
@@ -56,12 +57,12 @@ p { margin-top: 0; }
5657.skip-link { position : absolute; z-index : 20 ; top : -70px ; left : 20px ; padding : 10px 16px ; border-radius : 4px ; color : var (--paper ); background : var (--ink ); }
5758.skip-link : focus { top : 12px ; }
5859main { min-height : 55vh ; outline : none; }
59- .site-header { border-bottom : 1px solid var (--line ); }
60+ .site-header { border-bottom : 1px solid var (--line ); background : var ( --surface ); }
6061.header-inner { min-height : 82px ; display : flex; align-items : center; justify-content : space-between; gap : 32px ; }
6162.wordmark { display : inline-flex; align-items : center; gap : 14px ; color : var (--ink ); }
62- .wordmark-symbol { display : flex; align-items : center; justify-content : center; width : 43 px ; height : 46px ; border : 1 px solid var ( --ink ); font : 700 30 px/1 Georgia , serif; letter-spacing : -5 px ; padding-right : 6 px ; }
63- .wordmark-symbol span , . footer-brand span { color : var (--accent ); }
64- .wordmark-name { font : 650 21 px/1.3 var (--sans ); letter-spacing : -.5px ; }
63+ .wordmark-symbol { display : block; width : 46 px ; height : 46px ; }
64+ .footer-brand span { color : var (--accent ); }
65+ .wordmark-name { font : 650 21 px/1.3 var (--mono ); letter-spacing : -.5px ; }
6566.wordmark-caption { display : block; margin-top : 4px ; font : 14 px/1.5 var (--sans ); letter-spacing : 1px ; color : var (--muted ); }
6667.header-navigation , .main-nav , .header-tools { display : flex; align-items : center; }
6768.header-navigation { gap : 32px ; }
@@ -71,13 +72,15 @@ main { min-height: 55vh; outline: none; }
7172.main-nav a : hover ::after , .main-nav a .active ::after { transform : scaleX (1 ); }
7273.main-nav a .active { color : var (--ink ); font-weight : 600 ; }
7374.header-tools { gap : 6px ; padding-left : 18px ; border-left : 1px solid var (--line ); }
74- .icon-button { display : inline-flex; align-items : center; justify-content : center; width : 36px ; height : 36px ; background : none; color : var (--ink ); border : 0 ; border-radius : 50 % ; }
75+ .icon-button { display : inline-flex; align-items : center; justify-content : center; width : 36px ; height : 36px ; background : none; color : var (--ink ); border : 0 ; border-radius : 6 px ; }
7576.icon-button : hover { background : var (--accent-soft ); color : var (--accent ); }
7677.theme-icon-sun { display : none; }
7778html [data-theme = 'dark' ] .theme-icon-sun { display : block; }
7879html [data-theme = 'dark' ] .theme-icon-moon { display : none; }
79- .home-intro { padding : 40px 0 28px ; border-bottom : 1px solid var (--line ); }
80- .home-intro h1 { margin-bottom : 12px ; font : 600 clamp (28px , 3vw , 36px )/ 1.5 var (--serif ); }
80+ .home-intro { position : relative; overflow : hidden; margin-top : 32px ; padding : 32px ; border : 1px solid var (--line ); border-left : 3px solid var (--accent ); border-radius : 6px ; background-color : var (--surface ); background-image : linear-gradient (var (--grid ) 1px , transparent 1px ), linear-gradient (90deg , var (--grid ) 1px , transparent 1px ); background-size : 32px 32px ; }
81+ .home-intro ::before { content : '' ; position : absolute; inset : 0 ; background : linear-gradient (90deg , var (--surface ) 0% , var (--surface ) 55% , transparent); pointer-events : none; }
82+ .home-intro > * { position : relative; }
83+ .home-intro h1 { margin-bottom : 12px ; font : 650 clamp (28px , 3vw , 36px )/ 1.5 var (--sans ); }
8184.home-intro p { margin-bottom : 0 ; color : var (--muted ); font-size : 17px ; line-height : 1.9 ; }
8285.eyebrow { color : var (--muted ); font-size : 15px ; margin-bottom : 16px ; }
8386.text-link { display : inline-flex; gap : 9px ; align-items : center; color : var (--ink ); font-size : 16px ; font-weight : 600 ; }
@@ -88,7 +91,8 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
8891.page-section { padding-block : 48px ; }
8992.home-section { padding-top : 32px ; }
9093.section-heading { display : flex; flex-wrap : wrap; align-items : baseline; justify-content : space-between; gap : 12px 24px ; margin-bottom : 20px ; }
91- .section-heading h2 { margin : 0 ; font : 600 25 px/1.5 var (--serif ); }
94+ .section-heading h2 { margin : 0 ; font : 650 25 px/1.5 var (--sans ); }
95+ .section-heading h2 ::before { content : '' ; display : inline-block; width : 3px ; height : .8em ; margin-right : 12px ; background : var (--accent ); vertical-align : -.02em ; }
9296.section-heading p { margin : 0 ; color : var (--muted ); font-size : 15px ; }
9397.section-heading a { font-size : 15px ; color : var (--muted ); }
9498.section-heading a : hover { color : var (--accent ); }
@@ -112,8 +116,8 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
112116.post-list .post-card-title { font-size : 23px ; margin-block : 10px 8px ; }
113117.post-list .post-card-description { margin-bottom : 0 ; -webkit-line-clamp : 2 ; }
114118.series-grid { display : grid; grid-template-columns : repeat (3 , minmax (0 , 1fr )); gap : 20px ; }
115- .series-card { background : var (--surface ); border : 1px solid var (--line ); border-radius : 4 px ; padding : 25px ; display : flex; flex-direction : column; gap : 12px ; min-width : 0 ; }
116- .series-card : hover { border-color : var (--accent ); }
119+ .series-card { background : var (--surface ); border : 1px solid var (--line ); border-top : 2 px solid var ( --accent ); border- radius: 6 px ; padding : 25px ; display : flex; flex-direction : column; gap : 12px ; min-width : 0 ; }
120+ .series-card : hover { border-color : var (--accent ); background : var ( --accent-soft ); }
117121.series-card h2 , .series-card h3 { font-size : 22px ; margin : 0 ; line-height : 1.6 ; }
118122.series-card p { margin : 0 ; font-size : 16px ; color : var (--muted ); line-height : 1.8 ; }
119123.series-card .count , .series-card .series-count { color : var (--accent ); font : 14 px/1.5 var (--mono ); }
@@ -129,10 +133,11 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
129133.course-domain-nav a : hover { color : var (--accent ); border-color : var (--accent ); }
130134.course-directory { display : grid; grid-template-columns : minmax (0 , 1fr ); gap : 32px ; }
131135.course-domain { min-width : 0 ; }
132- .course-domain > h2 , .course-domain > h3 { font : 600 21 px/1.6 var (--serif ); margin-bottom : 14px ; }
136+ .course-domain > h2 , .course-domain > h3 { font : 650 21 px/1.6 var (--sans ); margin-bottom : 14px ; }
133137.course-directory-list { list-style : none; padding : 0 ; margin : 0 ; border-top : 1px solid var (--line ); }
134138.course-directory-list li { border-bottom : 1px solid var (--line ); }
135- .course-directory-link { display : flex; gap : 20px ; align-items : center; justify-content : space-between; padding-block : 15px ; }
139+ .course-directory-link { display : flex; gap : 20px ; align-items : center; justify-content : space-between; padding : 15px 12px ; border-left : 2px solid transparent; }
140+ .course-directory-link : hover , .course-directory-link : focus-visible { border-left-color : var (--accent ); background : var (--accent-soft ); }
136141.course-directory-main { min-width : 0 ; }
137142.course-directory-title { display : block; overflow-wrap : anywhere; color : var (--ink ); font-size : 20px ; font-weight : 600 ; line-height : 1.7 ; }
138143.course-directory-link : hover .course-directory-title { color : var (--accent ); }
@@ -150,28 +155,29 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
150155.course-chapters { min-width : 0 ; }
151156.course-chapter + .course-chapter { margin-top : 40px ; }
152157.course-chapter-heading { display : flex; flex-wrap : wrap; align-items : baseline; justify-content : space-between; gap : 8px 20px ; margin-bottom : 14px ; }
153- .course-chapter-heading h2 { margin : 0 ; font : 600 23 px/1.6 var (--serif ); }
158+ .course-chapter-heading h2 { margin : 0 ; font : 650 23 px/1.6 var (--sans ); }
154159.course-chapter-heading > span { color : var (--muted ); font-size : 14px ; white-space : nowrap; }
155160.course-note-list { list-style : none; margin : 0 ; padding : 0 ; border-top : 1px solid var (--line ); }
156161.course-note-list li { border-bottom : 1px solid var (--line ); }
157162.course-note-link { display : grid; grid-template-columns : 32px minmax (0 , 1fr ) auto 16px ; align-items : baseline; gap : 16px ; padding : 16px 0 ; }
158163.course-note-number { font : 14 px/1.7 var (--mono ); color : var (--muted ); }
159164.course-note-title { font-size : 20px ; line-height : 1.8 ; overflow-wrap : anywhere; color : var (--ink ); }
160165.course-note-link : hover .course-note-title { color : var (--accent ); }
166+ .course-note-link : hover { background : var (--accent-soft ); }
161167.course-note-reading { font-size : 14px ; color : var (--muted ); white-space : nowrap; }
162168.course-note-arrow { color : var (--accent ); font-size : 16px ; }
163169.page-header { padding-block : 56px 32px ; }
164- .page-header h1 { font : 600 clamp (30px , 4vw , 42px )/ 1.5 var (--serif ); margin-bottom : 14px ; }
170+ .page-header h1 { font : 650 clamp (30px , 4vw , 42px )/ 1.5 var (--sans ); margin-bottom : 14px ; }
165171.page-header p { color : var (--muted ); max-width : 700px ; line-height : 1.9 ; }
166172.breadcrumb { display : flex; gap : 10px ; align-items : center; flex-wrap : wrap; font-size : 15px ; color : var (--muted ); margin-bottom : 28px ; }
167173.breadcrumb a : hover { color : var (--accent ); }
168174.article-header { padding-block : 48px 36px ; border-bottom : 1px solid var (--line ); margin-bottom : 40px ; }
169- .article-header h1 { font : 600 clamp (27px , 3.8vw , 40px )/ 1.6 var (--serif ); letter-spacing : -.5px ; overflow-wrap : anywhere; text-wrap : balance; margin-bottom : 22px ; }
175+ .article-header h1 { font : 650 clamp (27px , 3.8vw , 40px )/ 1.6 var (--sans ); letter-spacing : -.5px ; overflow-wrap : anywhere; text-wrap : balance; margin-bottom : 22px ; }
170176.article-description { color : var (--muted ); font-size : 18px ; line-height : 1.9 ; }
171177.article-meta { display : flex; align-items : center; flex-wrap : wrap; gap : 8px 18px ; font-size : 15px ; color : var (--muted ); }
172178.article-meta time { font-family : var (--mono ); }
173179.tags { display : flex; flex-wrap : wrap; align-items : center; gap : 8px ; margin-top : 20px ; }
174- .tag , .tags a , .tags span { padding : 3px 9px ; border- radius : 3 px ; background : var (--code-bg ); font-size : 14px ; color : var (--muted ); }
180+ .tag , .tags a , .tags span { padding : 3px 9px ; border : 1 px solid var ( --line ); border- radius: 4 px ; background : var (--code-bg ); font-size : 14px ; color : var (--muted ); }
175181.tag : hover , .tags a : hover { background : var (--accent-soft ); color : var (--accent ); }
176182.article-layout { display : grid; grid-template-columns : minmax (0 , 800px ) 220px ; gap : 56px ; align-items : start; }
177183.article-body { min-width : 0 ; }
@@ -180,7 +186,7 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
180186.article-content p { margin-bottom : 1.5em ; }
181187.article-content h1 , .article-content h2 , .article-content h3 , .article-content h4 { scroll-margin-top : 28px ; }
182188.article-content h1 { font-size : 30px ; margin : 2em 0 .8em ; }
183- .article-content h2 { font : 600 26 px/1.7 var (--serif ); margin : 2.1em 0 .8em ; padding-bottom : 9px ; border-bottom : 1px solid var (--line ); }
189+ .article-content h2 { font : 650 26 px/1.7 var (--sans ); margin : 2.1em 0 .8em ; padding-bottom : 9px ; border-bottom : 1px solid var (--line ); }
184190.article-content h3 { font-size : 21px ; margin : 1.8em 0 .7em ; }
185191.article-content h4 { font-size : 20px ; margin : 1.6em 0 .6em ; }
186192.article-content h5 , .article-content h6 { font-size : 18px ; margin-block : 1.4em .6em ; }
@@ -256,16 +262,16 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
256262.series-navigation .post-grid a { display : block; color : var (--ink ); line-height : 1.8 ; overflow-wrap : anywhere; }
257263.series-navigation .post-grid a : hover { color : var (--accent ); }
258264.comments { max-width : 800px ; margin-top : 40px ; padding-top : 30px ; border-top : 1px solid var (--line ); }
259- .comments h2 { margin-bottom : 18px ; font : 600 22 px/1.6 var (--serif ); }
265+ .comments h2 { margin-bottom : 18px ; font : 650 22 px/1.6 var (--sans ); }
260266.comments .utterances { max-width : 100% ; margin : 0 ; }
261267.comments iframe { width : 100% ; max-width : 100% ; border : 0 ; }
262268.archive-nav { display : flex; flex-wrap : wrap; gap : 10px 24px ; margin-top : 25px ; font-size : 16px ; }
263269.archive-nav a { padding-bottom : 6px ; border-bottom : 1px solid var (--line ); }
264270.archive-nav a : hover { color : var (--accent ); border-color : var (--accent ); }
265271.taxonomy-tags { gap : 8px ; margin-block : 5px 32px ; }
266272.taxonomy-tags a { padding : 5px 9px ; background : var (--surface ); border : 1px solid var (--line ); color : var (--text ); font-size : 16px ; }
267- .taxonomy-tags a span { padding : 0 ; margin-left : 6px ; background : none; color : var (--accent ); font : 14 px/1.5 var (--mono ); }
268- .archive-year { margin : 38px 0 20px ; color : var (--accent ); font : 500 24 px/1.5 var (--serif ); }
273+ .taxonomy-tags a span { padding : 0 ; margin-left : 6px ; border : 0 ; background : none; color : var (--accent ); font : 14 px/1.5 var (--mono ); }
274+ .archive-year { margin : 38px 0 20px ; color : var (--accent ); font : 500 24 px/1.5 var (--mono ); }
269275.archive-list { list-style : none; padding : 0 ; margin : 0 ; }
270276.archive-list li { display : flex; gap : 28px ; align-items : baseline; padding : 14px 0 ; border-bottom : 1px solid var (--line ); }
271277.archive-list time { color : var (--muted ); font : 14 px/1.6 var (--mono ); flex-shrink : 0 ; }
@@ -305,14 +311,14 @@ html[data-theme='dark'] .theme-icon-moon { display: none; }
305311 .container , .narrow , .content-width { width : calc (100% - 40px ); }
306312 .header-inner { min-height : 85px ; gap : 18px ; flex-wrap : wrap; padding-block : 18px 14px ; }
307313 .wordmark { gap : 10px ; }
308- .wordmark-symbol { width : 34 px ; height : 37px ; font-size : 25 px ; }
314+ .wordmark-symbol { width : 37 px ; height : 37px ; }
309315 .wordmark-name { font-size : 18px ; }
310316 .wordmark-caption { font-size : 13px ; }
311317 .header-navigation { gap : 15px ; }
312318 .main-nav { gap : 18px ; font-size : 15px ; }
313319 .header-tools { padding-left : 10px ; gap : 0 ; }
314320 .icon-button { width : 31px ; height : 31px ; }
315- .home-intro { padding-block : 28 px 24px ; }
321+ .home-intro { margin-top : 24 px ; padding : 24px 20 px ; }
316322 .home-intro h1 { font-size : 28px ; }
317323 .home-intro p { font-size : 16px ; }
318324 .page-section { padding-block : 32px ; }
0 commit comments