1
1
body {
2
- padding : 10px ;
3
2
font-family : var (--vscode-font-family );
4
- font-size : var (--vscode-font-size );
3
+ font-size : 14px ;
4
+ line-height : 1.4 ;
5
5
color : var (--vscode-foreground );
6
- max-width : 1200px ;
7
- margin : 0 auto;
8
- padding : 20px ;
6
+ margin : 0 ;
7
+ padding : 20px 20px 30px 20px ;
9
8
}
10
9
11
10
header {
12
11
display : flex;
13
12
flex-direction : column;
14
13
align-items : center;
15
14
text-align : center;
16
- margin-bottom : 30 px ;
15
+ margin-bottom : 10 px ;
17
16
}
18
17
19
18
.header-text {
20
19
width : 100% ;
21
20
}
22
21
23
22
h1 {
24
- font-size : 1.5 em ;
25
- margin : 15 px 0 5px ;
23
+ font-size : 1.3 em ;
24
+ margin : 10 px 0 5px ;
26
25
}
27
26
28
27
.info-text {
29
- margin-bottom : 15px ;
28
+ font-size : 0.9em ;
29
+ margin-bottom : 10px ;
30
30
color : var (--vscode-descriptionForeground );
31
31
}
32
32
33
33
.search-container {
34
+ position : sticky;
35
+ top : 0 ;
36
+ z-index : 1000 ;
37
+ background-color : var (--vscode-editor-background );
38
+ padding : 10px 0 ;
39
+ margin : 0 -20px 20px -20px ;
40
+ transition : box-shadow 0.3s ease, padding 0.3s ease;
41
+ }
42
+
43
+ .search-container .sticky {
44
+ box-shadow : 0 2px 4px rgba (0 , 0 , 0 , 0.1 );
45
+ padding : 15px 0 ;
46
+ }
47
+
48
+ .search-wrapper {
49
+ max-width : 800px ;
50
+ margin : 0 auto;
34
51
position : relative;
35
- margin-bottom : 20px ;
36
- width : 100% ;
52
+ padding : 0 20px ;
53
+ transition : transform 0.3s ease;
54
+ }
55
+
56
+ .search-container .sticky .search-wrapper {
57
+ transform : scale (1.02 );
37
58
}
38
59
39
60
.search-icon {
40
61
position : absolute;
41
- left : 8 px ;
62
+ left : 28 px ;
42
63
top : 50% ;
43
64
transform : translateY (-50% );
44
- width : 16 px ;
45
- height : 16 px ;
65
+ width : 14 px ;
66
+ height : 14 px ;
46
67
color : var (--vscode-input-placeholderForeground );
47
68
pointer-events : none;
48
69
z-index : 1 ;
70
+ transition : left 0.3s ease;
71
+ }
72
+
73
+ .search-container .sticky .search-icon {
74
+ left : 32px ;
49
75
}
50
76
51
77
# search {
52
78
width : 100% ;
53
- height : 32 px ;
79
+ height : 28 px ;
54
80
box-sizing : border-box;
55
81
padding : 4px 8px 4px 32px ;
56
82
border-radius : 4px ;
57
83
background-color : var (--vscode-input-background );
58
84
color : var (--vscode-input-foreground );
59
85
border : 1px solid var (--vscode-input-border );
60
- font-size : var (--vscode-font-size );
86
+ font-size : 0.9em ;
87
+ transition : all 0.3s ease;
61
88
}
62
89
63
- # search : focus {
64
- outline : 1px solid var (--vscode-focusBorder );
65
- outline-offset : -1px ;
90
+ .search-container .sticky # search {
91
+ height : 32px ;
92
+ }
93
+
94
+ .search-results {
95
+ position : absolute;
96
+ right : 28px ;
97
+ top : 50% ;
98
+ transform : translateY (-50% );
99
+ font-size : 0.8em ;
100
+ color : var (--vscode-descriptionForeground );
101
+ pointer-events : none;
66
102
}
67
103
68
104
.category {
69
105
margin-bottom : 20px ;
70
106
}
71
107
72
108
.category h2 {
73
- font-size : 1 em ;
109
+ font-size : 0.95 em ;
74
110
cursor : pointer;
75
111
user-select : none;
76
112
display : flex;
77
113
align-items : center;
78
-
79
114
transition : color 0.3s ;
80
- & : hover {
81
- color : var (--vscode-descriptionForeground );
82
- }
115
+ padding : 8px 0 ;
116
+ }
117
+
118
+ .category h2 : hover {
119
+ color : var (--vscode-descriptionForeground );
83
120
}
84
121
85
122
.category-toggle {
@@ -106,14 +143,14 @@ h1 {
106
143
.resource {
107
144
background-color : var (--vscode-editor-background );
108
145
border : 1px solid var (--vscode-panel-border );
109
- padding : 15 px ;
146
+ padding : 12 px ;
110
147
border-radius : 8px ;
111
148
transition : transform 0.2s ease-in-out, background-color 0.3s ease;
112
149
position : relative;
113
150
overflow : hidden;
114
151
display : flex;
115
152
flex-direction : column;
116
- gap : 12 px ;
153
+ gap : 8 px ;
117
154
}
118
155
119
156
.resource ::before {
@@ -178,19 +215,19 @@ h1 {
178
215
}
179
216
180
217
.resource h3 {
181
- font-size : 1 em ;
218
+ font-size : 0.95 em ;
182
219
margin : 0 ;
183
220
}
184
221
185
222
.resource p {
186
- font-size : 0.9 em ;
223
+ font-size : 0.85 em ;
187
224
margin : 0 ;
188
225
color : var (--vscode-descriptionForeground );
189
226
}
190
227
191
228
.resource a {
192
229
display : inline-flex;
193
- padding : 8 px 16 px ;
230
+ padding : 6 px 12 px ;
194
231
background-color : var (--vscode-button-background );
195
232
color : var (--vscode-button-foreground );
196
233
text-decoration : none;
200
237
overflow : hidden;
201
238
transition : color 0.3s ease;
202
239
align-self : flex-start;
240
+ font-size : 0.85em ;
203
241
}
204
242
205
243
.resource a ::before {
239
277
}
240
278
241
279
.toolkit-icon {
242
- width : 120 px ;
243
- height : 120 px ;
244
- margin : 0 auto;
280
+ width : 80 px ;
281
+ height : 80 px ;
282
+ margin : 0 auto 10 px auto ;
245
283
display : block;
246
284
filter : drop-shadow (0 0 2px rgba (97 , 218 , 251 , 0.3 ));
247
285
}
@@ -252,3 +290,102 @@ h1 {
252
290
}
253
291
}
254
292
293
+ .empty-state {
294
+ display : flex;
295
+ flex-direction : column;
296
+ align-items : center;
297
+ justify-content : center;
298
+ text-align : center;
299
+ padding : 1.5rem ;
300
+ background-color : var (--vscode-editor-background );
301
+ border-radius : 8px ;
302
+ box-shadow : 0 2px 8px rgba (0 , 0 , 0 , 0.15 );
303
+ margin-top : 1.5rem ;
304
+ }
305
+
306
+ .empty-state-icon {
307
+ width : 48px ;
308
+ height : 48px ;
309
+ color : var (--vscode-descriptionForeground );
310
+ margin-bottom : 0.75rem ;
311
+ }
312
+
313
+ .empty-state h2 {
314
+ font-size : 1.2rem ;
315
+ margin-bottom : 0.4rem ;
316
+ color : var (--vscode-foreground );
317
+ }
318
+
319
+ .empty-state p {
320
+ color : var (--vscode-descriptionForeground );
321
+ margin-bottom : 0.75rem ;
322
+ font-size : 0.9em ;
323
+ }
324
+
325
+ .clear-search-button {
326
+ background-color : var (--vscode-button-background );
327
+ color : var (--vscode-button-foreground );
328
+ border : none;
329
+ padding : 0.4rem 0.8rem ;
330
+ border-radius : 4px ;
331
+ cursor : pointer;
332
+ font-size : 0.85rem ;
333
+ transition : background-color 0.3s ease;
334
+ }
335
+
336
+ .clear-search-button : hover {
337
+ background-color : var (--vscode-button-hoverBackground );
338
+ }
339
+
340
+ .footer {
341
+ position : fixed;
342
+ bottom : 0 ;
343
+ left : 0 ;
344
+ right : 0 ;
345
+ background-color : var (--vscode-editor-background );
346
+ border-top : 1px solid var (--vscode-panel-border );
347
+ padding : 5px 10px ;
348
+ z-index : 1000 ;
349
+ }
350
+
351
+ .footer-content {
352
+ display : flex;
353
+ justify-content : center;
354
+ align-items : center;
355
+ gap : 10px ;
356
+ max-width : 800px ;
357
+ margin : 0 auto;
358
+ }
359
+
360
+ .footer-button {
361
+ display : inline-flex;
362
+ align-items : center;
363
+ color : var (--vscode-foreground );
364
+ text-decoration : none;
365
+ font-size : 0.70em ;
366
+ opacity : 0.8 ;
367
+ transition : opacity 0.2s ease;
368
+ gap : 4px ;
369
+ }
370
+
371
+ .footer-button : hover {
372
+ opacity : 1 ;
373
+ }
374
+
375
+ .footer-button i {
376
+ margin-right : 6px ;
377
+ width : 8px ;
378
+ height : 8px ;
379
+ }
380
+
381
+ @media (max-width : 400px ) {
382
+ .footer-content {
383
+ gap : 12px ;
384
+ }
385
+
386
+ .footer-button {
387
+ font-size : 0.8em ;
388
+ }
389
+ }
390
+
391
+
0 commit comments