|
20 | 20 | @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); |
21 | 21 |
|
22 | 22 | /* Linear Design System Tokens */ |
| 23 | + /* 字阶只有 4 档:20(页面标题)/ 15(区块标题、条目名)/ 14(正文、控件)/ 12.5(次要元信息)。 |
| 24 | + 新组件从这四档取值 —— 之前是 11/12/12.5/13/14/15/20/22 八档混用,13px 一个人占了九处。 */ |
23 | 25 | :root { |
24 | 26 | --primary: #5e6ad2; |
25 | 27 | --primary-hover: #828fff; |
|
28 | 30 | --ink-muted: #d0d6e0; |
29 | 31 | --ink-subtle: #8a8f98; |
30 | 32 | --ink-tertiary: #7f8794; |
31 | | - --canvas: #010102; |
32 | | - --surface-1: #0f1011; |
33 | | - --surface-2: #141516; |
34 | | - --surface-3: #18191a; |
35 | | - --hairline: #23252a; |
36 | | - --hairline-strong: #34343a; |
| 33 | + --canvas: #0b0d10; |
| 34 | + --surface-1: #12141a; |
| 35 | + --surface-2: #191c22; |
| 36 | + --surface-3: #1f232b; |
| 37 | + --hairline: #262c36; |
| 38 | + --hairline-strong: #363d47; |
37 | 39 | --success: #27a644; |
38 | 40 | --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif; |
39 | 41 | --font-mono: 'JetBrains Mono', 'SF Mono', monospace; |
|
42 | 44 | * { margin: 0; padding: 0; box-sizing: border-box; } |
43 | 45 |
|
44 | 46 | body { |
| 47 | + font-size: 14px; /* 基准落在字阶上:没有它,未指定的组件会掉到浏览器默认 16px */ |
45 | 48 | font-family: var(--font-sans); |
46 | 49 | background: var(--canvas); |
47 | 50 | color: var(--ink); |
|
76 | 79 | align-items: baseline; |
77 | 80 | gap: 10px; |
78 | 81 | } |
79 | | - .brand-icon { font-size: 22px; } |
| 82 | + .brand-icon { font-size: 20px; } |
80 | 83 | .brand h1 { |
81 | 84 | font-size: 20px; |
82 | 85 | font-weight: 600; |
83 | 86 | letter-spacing: -0.4px; |
84 | 87 | color: var(--ink); |
85 | 88 | } |
86 | 89 | .brand .tagline { |
87 | | - font-size: 13px; |
| 90 | + font-size: 14px; |
88 | 91 | color: var(--ink-subtle); |
89 | 92 | } |
90 | 93 | .header-links { |
|
93 | 96 | } |
94 | 97 | .header-links a { |
95 | 98 | padding: 6px 14px; |
96 | | - font-size: 13px; |
| 99 | + font-size: 14px; |
97 | 100 | font-weight: 500; |
98 | 101 | color: var(--ink-muted); |
99 | 102 | text-decoration: none; |
|
124 | 127 | } |
125 | 128 | .filter-btn { |
126 | 129 | padding: 6px 14px; |
127 | | - font-size: 13px; |
| 130 | + font-size: 14px; |
128 | 131 | font-weight: 500; |
129 | 132 | color: var(--ink-subtle); |
130 | 133 | background: transparent; |
|
142 | 145 | } |
143 | 146 | .date-select { |
144 | 147 | padding: 6px 28px 6px 12px; |
145 | | - font-size: 13px; |
| 148 | + font-size: 14px; |
146 | 149 | font-weight: 500; |
147 | 150 | color: var(--ink); |
148 | 151 | background: var(--surface-2); |
|
168 | 171 | border-bottom: 1px solid var(--hairline); |
169 | 172 | margin-bottom: 4px; |
170 | 173 | } |
171 | | - .date-header h3 { |
| 174 | + .date-header h2 { |
172 | 175 | font-size: 15px; |
173 | 176 | font-weight: 600; |
174 | 177 | color: var(--ink); |
175 | 178 | letter-spacing: -0.2px; |
176 | 179 | } |
| 180 | + .section-label { |
| 181 | + display: flex; |
| 182 | + align-items: center; |
| 183 | + gap: 6px; |
| 184 | + font-size: 15px; |
| 185 | + font-weight: 600; |
| 186 | + color: var(--ink-muted); |
| 187 | + margin: 16px 0 4px; |
| 188 | + } |
| 189 | + .section-label .label-count { |
| 190 | + font-size: 12.5px; |
| 191 | + font-weight: 400; |
| 192 | + color: var(--ink-tertiary); |
| 193 | + font-variant-numeric: tabular-nums; |
| 194 | + } |
177 | 195 | .date-count { |
178 | | - font-size: 13px; |
| 196 | + font-size: 12.5px; |
179 | 197 | color: var(--ink-tertiary); |
180 | 198 | } |
181 | 199 |
|
|
232 | 250 | .repo-meta { |
233 | 251 | display: flex; |
234 | 252 | gap: 16px; |
235 | | - font-size: 12px; |
| 253 | + font-size: 12.5px; |
236 | 254 | color: var(--ink-tertiary); |
237 | 255 | padding-left: 30px; |
238 | 256 | flex-wrap: wrap; |
|
253 | 271 | border-radius: 10px; |
254 | 272 | background: var(--surface-2); |
255 | 273 | border: 1px solid var(--hairline); |
256 | | - font-size: 11px; |
| 274 | + font-size: 12.5px; |
257 | 275 | color: var(--ink-muted); |
258 | 276 | } |
259 | 277 | .meta-bar { |
|
262 | 280 | flex-wrap: wrap; |
263 | 281 | gap: 12px; |
264 | 282 | padding: 0 0 16px; |
265 | | - font-size: 12px; |
| 283 | + font-size: 12.5px; |
266 | 284 | color: var(--ink-tertiary); |
267 | 285 | } |
268 | 286 | .meta-bar .meta-stats { |
|
280 | 298 | font-weight: 500; |
281 | 299 | } |
282 | 300 | .meta-bar .legend-item { |
| 301 | + display: inline-flex; |
| 302 | + align-items: center; |
| 303 | + min-height: 24px; /* 命中区:原来只有 18px */ |
283 | 304 | white-space: nowrap; |
284 | 305 | color: var(--ink-tertiary); |
285 | 306 | text-decoration: none; |
|
292 | 313 | .score-tag { |
293 | 314 | display: inline-block; |
294 | 315 | padding: 2px 8px; |
295 | | - font-size: 11px; |
| 316 | + font-size: 12.5px; |
296 | 317 | font-weight: 600; |
297 | 318 | border-radius: 4px; |
298 | 319 | background: var(--surface-2); |
|
325 | 346 | margin-bottom: 4px; |
326 | 347 | } |
327 | 348 | .footer-tagline { |
328 | | - font-size: 13px; |
| 349 | + font-size: 12.5px; |
329 | 350 | color: var(--ink-tertiary); |
330 | 351 | } |
331 | 352 | .footer-sub-form { |
|
338 | 359 | border: 1px solid var(--hairline); |
339 | 360 | border-radius: 6px; |
340 | 361 | color: var(--ink); |
341 | | - font-size: 13px; |
| 362 | + font-size: 14px; |
342 | 363 | font-family: var(--font-sans); |
343 | 364 | min-width: 220px; |
344 | 365 | } |
|
355 | 376 | border: none; |
356 | 377 | border-radius: 6px; |
357 | 378 | color: var(--on-primary); |
358 | | - font-size: 13px; |
| 379 | + font-size: 14px; |
359 | 380 | font-weight: 500; |
360 | 381 | cursor: pointer; |
361 | 382 | font-family: var(--font-sans); |
|
364 | 385 | .footer-sub-form button:hover { background: var(--primary-hover); } |
365 | 386 | .subscribe-success { |
366 | 387 | display: none; |
367 | | - font-size: 13px; |
| 388 | + font-size: 14px; |
368 | 389 | color: var(--success); |
369 | 390 | margin-top: 8px; |
370 | 391 | } |
|
375 | 396 | text-align: center; |
376 | 397 | } |
377 | 398 | .footer-bottom p { |
378 | | - font-size: 12px; |
| 399 | + font-size: 12.5px; |
379 | 400 | color: var(--ink-tertiary); |
380 | 401 | } |
381 | 402 | .footer-bottom a { |
@@ -479,7 +500,7 @@ <h1>GitHub Discovery</h1> |
479 | 500 | </div> |
480 | 501 |
|
481 | 502 | <div class="date-section" data-date="2026-09-15" style="display:"> |
482 | | - <div class="date-header"><h3>2026-09-15</h3><span class="date-count">11 repos</span></div> |
| 503 | + <div class="date-header"><h2>2026-09-15</h2><span class="date-count">11 repos</span></div> |
483 | 504 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
484 | 505 | <div class="repo" data-lang="go" data-source="trending"> |
485 | 506 | <div class="repo-top"> |
@@ -638,7 +659,7 @@ <h1>GitHub Discovery</h1> |
638 | 659 | </div> |
639 | 660 | </div> |
640 | 661 | <div class="date-section" data-date="2026-09-14" style="display:none"> |
641 | | - <div class="date-header"><h3>2026-09-14</h3><span class="date-count">12 repos</span></div> |
| 662 | + <div class="date-header"><h2>2026-09-14</h2><span class="date-count">12 repos</span></div> |
642 | 663 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
643 | 664 | <div class="repo" data-lang="javascript" data-source="trending"> |
644 | 665 | <div class="repo-top"> |
@@ -811,7 +832,7 @@ <h1>GitHub Discovery</h1> |
811 | 832 | </div> |
812 | 833 | </div> |
813 | 834 | <div class="date-section" data-date="2026-09-13" style="display:none"> |
814 | | - <div class="date-header"><h3>2026-09-13</h3><span class="date-count">10 repos</span></div> |
| 835 | + <div class="date-header"><h2>2026-09-13</h2><span class="date-count">10 repos</span></div> |
815 | 836 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
816 | 837 | <div class="repo" data-lang="typescript" data-source="trending"> |
817 | 838 | <div class="repo-top"> |
@@ -955,7 +976,7 @@ <h1>GitHub Discovery</h1> |
955 | 976 | </div> |
956 | 977 | </div> |
957 | 978 | <div class="date-section" data-date="2026-09-12" style="display:none"> |
958 | | - <div class="date-header"><h3>2026-09-12</h3><span class="date-count">12 repos</span></div> |
| 979 | + <div class="date-header"><h2>2026-09-12</h2><span class="date-count">12 repos</span></div> |
959 | 980 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
960 | 981 | <div class="repo" data-lang="typescript" data-source="trending"> |
961 | 982 | <div class="repo-top"> |
@@ -1128,7 +1149,7 @@ <h1>GitHub Discovery</h1> |
1128 | 1149 | </div> |
1129 | 1150 | </div> |
1130 | 1151 | <div class="date-section" data-date="2026-09-11" style="display:none"> |
1131 | | - <div class="date-header"><h3>2026-09-11</h3><span class="date-count">14 repos</span></div> |
| 1152 | + <div class="date-header"><h2>2026-09-11</h2><span class="date-count">14 repos</span></div> |
1132 | 1153 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
1133 | 1154 | <div class="repo" data-lang="typescript" data-source="trending"> |
1134 | 1155 | <div class="repo-top"> |
@@ -1329,7 +1350,7 @@ <h1>GitHub Discovery</h1> |
1329 | 1350 | </div> |
1330 | 1351 | </div> |
1331 | 1352 | <div class="date-section" data-date="2026-09-10" style="display:none"> |
1332 | | - <div class="date-header"><h3>2026-09-10</h3><span class="date-count">13 repos</span></div> |
| 1353 | + <div class="date-header"><h2>2026-09-10</h2><span class="date-count">13 repos</span></div> |
1333 | 1354 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
1334 | 1355 | <div class="repo" data-lang="python" data-source="trending"> |
1335 | 1356 | <div class="repo-top"> |
@@ -1516,7 +1537,7 @@ <h1>GitHub Discovery</h1> |
1516 | 1537 | </div> |
1517 | 1538 | </div> |
1518 | 1539 | <div class="date-section" data-date="2026-09-09" style="display:none"> |
1519 | | - <div class="date-header"><h3>2026-09-09</h3><span class="date-count">11 repos</span></div> |
| 1540 | + <div class="date-header"><h2>2026-09-09</h2><span class="date-count">11 repos</span></div> |
1520 | 1541 | <div class="section-label"><span class="label-icon">⭐</span><span>First Timers</span><span class="label-count">10</span></div> |
1521 | 1542 | <div class="repo" data-lang="javascript" data-source="trending"> |
1522 | 1543 | <div class="repo-top"> |
|
0 commit comments