108
108
109
109
html {
110
110
scroll-behavior : smooth;
111
+ scroll-padding-top : 5rem ;
112
+ /* Account for fixed navbar */
111
113
}
112
114
113
115
body {
114
116
font-family : var (--font-family-body );
115
117
overflow-x : hidden;
118
+ scrollbar-gutter : stable;
119
+ /* Prevent layout shift when scrollbar appears */
116
120
}
117
121
118
122
/* Heading font */
207
211
gap : clamp (1rem , 3vw , 1.5rem );
208
212
}
209
213
214
+ /* Scroll utilities */
215
+ .scroll-smooth {
216
+ scroll-behavior : smooth;
217
+ }
218
+
219
+ .scroll-auto {
220
+ scroll-behavior : auto;
221
+ }
222
+
223
+ .scrollbar-hide {
224
+ -ms-overflow-style : none;
225
+ scrollbar-width : none;
226
+ }
227
+
228
+ .scrollbar-hide ::-webkit-scrollbar {
229
+ display : none;
230
+ }
231
+
232
+ .scrollbar-thin {
233
+ scrollbar-width : thin;
234
+ }
235
+
236
+ .scrollbar-none {
237
+ scrollbar-width : none;
238
+ }
239
+
210
240
/* Scroll animations */
211
241
[data-animate ] {
212
242
opacity : 0 ;
331
361
332
362
/* Custom scrollbar */
333
363
::-webkit-scrollbar {
334
- width : 8px ;
364
+ width : 10px ;
365
+ height : 10px ;
335
366
}
336
367
337
368
::-webkit-scrollbar-track {
338
- background : var (--color-l-bg-2 );
369
+ background : transparent;
370
+ border-radius : 8px ;
339
371
}
340
372
341
373
.dark ::-webkit-scrollbar-track {
342
- background : var ( --color-d-bg-2 ) ;
374
+ background : transparent ;
343
375
}
344
376
345
377
::-webkit-scrollbar-thumb {
346
- background : var (--color-l-text-3 );
347
- border-radius : 4px ;
378
+ background : linear-gradient (135deg , var (--color-l-text-3 ), var (--color-l-text-2 ));
379
+ border-radius : 8px ;
380
+ transition : all 0.3s ease;
348
381
}
349
382
350
383
.dark ::-webkit-scrollbar-thumb {
351
- background : var (--color-d-text-3 );
384
+ background : linear-gradient ( 135 deg , var (--color-d-text-3 ) , var ( --color-d-text-2 ) );
352
385
}
353
386
354
387
::-webkit-scrollbar-thumb : hover {
355
- background : var (--color-primary );
388
+ background : linear-gradient (135deg , var (--color-primary ), var (--color-primary-light ));
389
+ transform : scale (1.05 );
390
+ }
391
+
392
+ ::-webkit-scrollbar-thumb : active {
393
+ background : linear-gradient (135deg , var (--color-primary-dark ), var (--color-primary ));
394
+ }
395
+
396
+ /* Scrollbar corner */
397
+ ::-webkit-scrollbar-corner {
398
+ background : transparent;
399
+ }
400
+
401
+ .dark ::-webkit-scrollbar-corner {
402
+ background : transparent;
403
+ }
404
+
405
+ /* Firefox scrollbar */
406
+ html {
407
+ scrollbar-width : thin;
408
+ scrollbar-color : var (--color-l-text-3 ) transparent;
409
+ }
410
+
411
+ .dark html {
412
+ scrollbar-color : var (--color-d-text-3 ) transparent;
356
413
}
0 commit comments