@beforesemicolon/builder 1.8.13 → 1.8.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/cjs/docs/run.js +15 -13
  2. package/dist/cjs/docs/templates/fading-citrus/README.md +8 -6
  3. package/dist/cjs/docs/templates/fading-citrus/assets/logo.dark.svg +8 -0
  4. package/dist/cjs/docs/templates/fading-citrus/assets/logo.light.svg +8 -0
  5. package/dist/cjs/docs/templates/fading-citrus/layouts/_footer.js +7 -3
  6. package/dist/cjs/docs/templates/fading-citrus/layouts/_head-meta.js +3 -2
  7. package/dist/cjs/docs/templates/fading-citrus/layouts/_header.js +6 -1
  8. package/dist/cjs/docs/templates/fading-citrus/layouts/document.js +2 -1
  9. package/dist/cjs/docs/templates/fading-citrus/layouts/landing-ecosystem.js +9 -1
  10. package/dist/cjs/docs/templates/fading-citrus/layouts/landing-showcase.js +9 -1
  11. package/dist/cjs/docs/templates/fading-citrus/layouts/landing.js +3 -1
  12. package/dist/cjs/docs/templates/fading-citrus/stylesheets/common.css +132 -49
  13. package/dist/cjs/docs/templates/fading-citrus/stylesheets/documentation.css +44 -26
  14. package/dist/cjs/docs/templates/fading-citrus/stylesheets/github-dark.hightlighter.css +12 -12
  15. package/dist/cjs/docs/templates/fading-citrus/stylesheets/github-light.hightlighter.css +22 -22
  16. package/dist/cjs/docs/templates/fading-citrus/stylesheets/landing.css +94 -87
  17. package/dist/cjs/docs/templates/fading-citrus/template.config.js +106 -15
  18. package/dist/cjs/docs/types.js +1 -1
  19. package/dist/esm/docs/run.js +16 -14
  20. package/dist/esm/docs/templates/fading-citrus/README.md +8 -6
  21. package/dist/esm/docs/templates/fading-citrus/assets/logo.dark.svg +8 -0
  22. package/dist/esm/docs/templates/fading-citrus/assets/logo.light.svg +8 -0
  23. package/dist/esm/docs/templates/fading-citrus/layouts/_footer.js +7 -3
  24. package/dist/esm/docs/templates/fading-citrus/layouts/_head-meta.js +3 -2
  25. package/dist/esm/docs/templates/fading-citrus/layouts/_header.js +6 -1
  26. package/dist/esm/docs/templates/fading-citrus/layouts/document.js +2 -1
  27. package/dist/esm/docs/templates/fading-citrus/layouts/landing-ecosystem.js +9 -1
  28. package/dist/esm/docs/templates/fading-citrus/layouts/landing-showcase.js +9 -1
  29. package/dist/esm/docs/templates/fading-citrus/layouts/landing.js +3 -1
  30. package/dist/esm/docs/templates/fading-citrus/stylesheets/common.css +132 -49
  31. package/dist/esm/docs/templates/fading-citrus/stylesheets/documentation.css +44 -26
  32. package/dist/esm/docs/templates/fading-citrus/stylesheets/github-dark.hightlighter.css +12 -12
  33. package/dist/esm/docs/templates/fading-citrus/stylesheets/github-light.hightlighter.css +22 -22
  34. package/dist/esm/docs/templates/fading-citrus/stylesheets/landing.css +94 -87
  35. package/dist/esm/docs/templates/fading-citrus/template.config.js +106 -15
  36. package/dist/types/docs/types.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/dist/cjs/docs/templates/fading-citrus/assets/before-semicolon-logo.png +0 -0
  39. package/dist/esm/docs/templates/fading-citrus/assets/before-semicolon-logo.png +0 -0
@@ -3,13 +3,13 @@
3
3
  overflow-x: auto;
4
4
  padding: 0.5em;
5
5
 
6
- color: #24292e;
7
- background: #ffffff;
6
+ color: var(--foreground);
7
+ background: var(--code-bg);
8
8
  }
9
9
 
10
10
  .hljs-comment,
11
11
  .hljs-punctuation {
12
- color: #6a737d;
12
+ color: var(--syntax-comment);
13
13
  }
14
14
 
15
15
  .hljs-attr,
@@ -18,29 +18,29 @@
18
18
  .hljs-selector-attr,
19
19
  .hljs-selector-class,
20
20
  .hljs-selector-id {
21
- color: #005cc5;
21
+ color: var(--syntax-attr);
22
22
  }
23
23
 
24
24
  .hljs-variable,
25
25
  .hljs-literal,
26
26
  .hljs-number,
27
27
  .hljs-doctag {
28
- color: #e36209;
28
+ color: var(--primary);
29
29
  }
30
30
 
31
31
  .hljs-params {
32
- color: #24292e;
32
+ color: var(--foreground);
33
33
  }
34
34
 
35
35
  .hljs-function {
36
- color: #6f42c1;
36
+ color: var(--accent);
37
37
  }
38
38
 
39
39
  .hljs-class,
40
40
  .hljs-tag,
41
41
  .hljs-title,
42
42
  .hljs-built_in {
43
- color: #22863a;
43
+ color: var(--syntax-tag);
44
44
  }
45
45
 
46
46
  .hljs-keyword,
@@ -49,28 +49,28 @@
49
49
  .hljs-meta-keyword,
50
50
  .hljs-template-tag,
51
51
  .hljs-template-variable {
52
- color: #d73a49;
52
+ color: var(--syntax-keyword);
53
53
  }
54
54
 
55
55
  .hljs-string,
56
56
  .hljs-undefined {
57
- color: #032f62;
57
+ color: var(--syntax-string);
58
58
  }
59
59
 
60
60
  .hljs-regexp {
61
- color: #032f62;
61
+ color: var(--syntax-string);
62
62
  }
63
63
 
64
64
  .hljs-symbol {
65
- color: #005cc5;
65
+ color: var(--accent);
66
66
  }
67
67
 
68
68
  .hljs-bullet {
69
- color: #e36209;
69
+ color: var(--primary);
70
70
  }
71
71
 
72
72
  .hljs-section {
73
- color: #005cc5;
73
+ color: var(--accent);
74
74
  font-weight: bold;
75
75
  }
76
76
 
@@ -78,30 +78,30 @@
78
78
  .hljs-name,
79
79
  .hljs-selector-tag,
80
80
  .hljs-selector-pseudo {
81
- color: #22863a;
81
+ color: var(--syntax-tag);
82
82
  }
83
83
 
84
84
  .hljs-emphasis {
85
- color: #e36209;
85
+ color: var(--primary);
86
86
  font-style: italic;
87
87
  }
88
88
 
89
89
  .hljs-strong {
90
- color: #e36209;
90
+ color: var(--primary);
91
91
  font-weight: bold;
92
92
  }
93
93
 
94
94
  .hljs-deletion {
95
- color: #b31d28;
96
- background-color: #ffeef0;
95
+ color: var(--danger);
96
+ background-color: var(--danger-soft);
97
97
  }
98
98
 
99
99
  .hljs-addition {
100
- color: #22863a;
101
- background-color: #f0fff4;
100
+ color: var(--success);
101
+ background-color: var(--success-soft);
102
102
  }
103
103
 
104
104
  .hljs-link {
105
- color: #032f62;
105
+ color: var(--syntax-string);
106
106
  font-style: underline;
107
107
  }
@@ -21,14 +21,10 @@
21
21
  background:
22
22
  radial-gradient(
23
23
  circle at 42% 30%,
24
- oklch(0.74 0.18 45 / 0.12),
24
+ var(--primary-soft),
25
25
  transparent 38%
26
26
  ),
27
- radial-gradient(
28
- circle at 68% 48%,
29
- oklch(0.7 0.16 200 / 0.11),
30
- transparent 34%
31
- );
27
+ radial-gradient(circle at 68% 48%, var(--accent-soft), transparent 34%);
32
28
  opacity: 0.95;
33
29
  }
34
30
 
@@ -51,8 +47,8 @@
51
47
  display: inline-flex;
52
48
  align-items: center;
53
49
  gap: 8px;
54
- background: oklch(0.14 0.02 315 / 0.58);
55
- border: 1px solid oklch(0.74 0.18 45 / 0.18);
50
+ background: var(--surface-muted);
51
+ border: 1px solid var(--surface-border);
56
52
  padding: 6px 12px;
57
53
  border-radius: 9999px;
58
54
  color: var(--muted-foreground);
@@ -61,12 +57,12 @@
61
57
  text-decoration: none;
62
58
  transition: all 0.2s ease;
63
59
  margin-bottom: 26px;
64
- box-shadow: inset 0 1px 0 0 oklch(1 1 1 / 0.05);
60
+ box-shadow: inset 0 1px 0 0 var(--surface-border-strong);
65
61
  }
66
62
 
67
63
  .version-badge:hover {
68
64
  border-color: var(--primary);
69
- background: oklch(0.74 0.18 45 / 0.05);
65
+ background: var(--primary-softer);
70
66
  color: var(--foreground);
71
67
  }
72
68
 
@@ -95,6 +91,18 @@
95
91
  font-weight: 500;
96
92
  }
97
93
 
94
+ .hero-subtitle a {
95
+ color: var(--primary);
96
+ font-weight: 500;
97
+ border-bottom: 1px dashed var(--primary-border);
98
+ }
99
+
100
+ .hero-subtitle a:hover {
101
+ color: var(--primary-glow);
102
+ border-bottom-style: solid;
103
+ border-bottom-color: var(--primary-glow);
104
+ }
105
+
98
106
  .hero-actions {
99
107
  display: flex;
100
108
  gap: 14px;
@@ -112,7 +120,8 @@
112
120
  );
113
121
  color: var(--primary-foreground);
114
122
  font-weight: 600;
115
- box-shadow: 0 18px 40px -24px oklch(0.74 0.18 45 / 0.85);
123
+ box-shadow: 0 18px 40px -24px
124
+ color-mix(in oklch, var(--primary) 85%, transparent);
116
125
  }
117
126
 
118
127
  .btn-primary {
@@ -129,7 +138,8 @@
129
138
  .btn-primary:hover {
130
139
  transform: scale(1.02);
131
140
  color: var(--primary-foreground);
132
- box-shadow: 0 0 35px -5px oklch(0.74 0.18 45 / 0.7);
141
+ box-shadow: 0 0 35px -5px
142
+ color-mix(in oklch, var(--primary) 70%, transparent);
133
143
  background: var(--primary);
134
144
  }
135
145
 
@@ -144,9 +154,9 @@
144
154
  .btn-secondary {
145
155
  display: inline-flex;
146
156
  align-items: center;
147
- background: oklch(0.17 0.018 250 / 0.72);
148
- border: 1px solid oklch(0.3 0.02 250 / 0.78);
149
- color: oklch(0.78 0.015 250);
157
+ background: var(--surface-muted);
158
+ border: 1px solid var(--surface-border);
159
+ color: var(--foreground);
150
160
  height: 48px;
151
161
  padding: 0 24px;
152
162
  border-radius: 10px;
@@ -156,9 +166,9 @@
156
166
  }
157
167
 
158
168
  .btn-secondary:hover {
159
- border-color: oklch(1 1 1 / 0.2);
169
+ border-color: var(--surface-border-strong);
160
170
  color: var(--foreground);
161
- background: oklch(1 1 1 / 0.05);
171
+ background: var(--surface-hover);
162
172
  }
163
173
 
164
174
  .hero-stats {
@@ -276,8 +286,8 @@
276
286
 
277
287
  .product-card {
278
288
  position: relative;
279
- background: oklch(0.22 0.018 250 / 0.4);
280
- border: 1px solid oklch(0.3 0.02 250 / 0.6);
289
+ background: var(--surface);
290
+ border: 1px solid var(--surface-border);
281
291
  border-radius: 1.25rem;
282
292
  padding: 40px;
283
293
  overflow: hidden;
@@ -292,7 +302,7 @@
292
302
 
293
303
  .product-card:hover {
294
304
  border-color: var(--primary-glow);
295
- background: oklch(0.22 0.018 250 / 0.7);
305
+ background: var(--surface-hover);
296
306
  transform: translateY(-2px);
297
307
  }
298
308
 
@@ -309,20 +319,18 @@
309
319
  filter: blur(48px);
310
320
  }
311
321
 
322
+ .product-card.card-primary .product-glow,
312
323
  .product-card.card-orange .product-glow {
313
324
  background: radial-gradient(
314
325
  circle,
315
- oklch(0.74 0.18 45 / 0.15) 0%,
326
+ var(--primary-soft) 0%,
316
327
  transparent 70%
317
328
  );
318
329
  }
319
330
 
331
+ .product-card.card-accent .product-glow,
320
332
  .product-card.card-cyan .product-glow {
321
- background: radial-gradient(
322
- circle,
323
- oklch(0.7 0.16 200 / 0.15) 0%,
324
- transparent 70%
325
- );
333
+ background: radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);
326
334
  }
327
335
 
328
336
  .product-card:hover .product-glow {
@@ -336,28 +344,30 @@
336
344
  display: flex;
337
345
  align-items: center;
338
346
  justify-content: center;
339
- border: 1px solid oklch(1 1 1 / 0.05);
347
+ border: 1px solid var(--surface-border);
340
348
  margin-bottom: 24px;
341
349
  transition: transform 0.3s ease;
342
350
  }
343
351
 
352
+ .product-card.card-primary .icon-container,
344
353
  .product-card.card-orange .icon-container {
345
354
  background: radial-gradient(
346
355
  circle at top left,
347
- oklch(0.74 0.18 45 / 0.2),
348
- oklch(0.74 0.18 45 / 0.03)
356
+ color-mix(in oklch, var(--primary) 20%, transparent),
357
+ color-mix(in oklch, var(--primary) 3%, transparent)
349
358
  );
350
- border-color: oklch(0.74 0.18 45 / 0.2);
359
+ border-color: var(--primary-border);
351
360
  color: var(--primary);
352
361
  }
353
362
 
363
+ .product-card.card-accent .icon-container,
354
364
  .product-card.card-cyan .icon-container {
355
365
  background: radial-gradient(
356
366
  circle at top left,
357
- oklch(0.7 0.16 200 / 0.2),
358
- oklch(0.7 0.16 200 / 0.03)
367
+ color-mix(in oklch, var(--accent) 20%, transparent),
368
+ color-mix(in oklch, var(--accent) 3%, transparent)
359
369
  );
360
- border-color: oklch(0.7 0.16 200 / 0.2);
370
+ border-color: var(--accent-border);
361
371
  color: var(--accent);
362
372
  }
363
373
 
@@ -374,7 +384,7 @@
374
384
  .package-name {
375
385
  font-size: 0.8rem;
376
386
  color: var(--muted-foreground);
377
- background: oklch(1 1 1 / 0.03);
387
+ background: var(--surface);
378
388
  padding: 3px 8px;
379
389
  border-radius: 4px;
380
390
  border: 1px solid var(--border);
@@ -395,10 +405,12 @@
395
405
  font-weight: 600;
396
406
  }
397
407
 
408
+ .product-card.card-primary .product-link,
398
409
  .product-card.card-orange .product-link {
399
410
  color: var(--primary);
400
411
  }
401
412
 
413
+ .product-card.card-accent .product-link,
402
414
  .product-card.card-cyan .product-link {
403
415
  color: var(--accent);
404
416
  }
@@ -424,8 +436,8 @@
424
436
 
425
437
  .feature-card {
426
438
  position: relative;
427
- background: oklch(0.22 0.018 250 / 0.4);
428
- border: 1px solid oklch(0.3 0.02 250 / 0.6);
439
+ background: var(--surface);
440
+ border: 1px solid var(--surface-border);
429
441
  border-radius: 1rem;
430
442
  padding: 32px;
431
443
  overflow: hidden;
@@ -436,8 +448,8 @@
436
448
  }
437
449
 
438
450
  .feature-card:hover {
439
- border-color: oklch(0.74 0.18 45 / 0.4);
440
- background: oklch(0.22 0.018 250 / 0.7);
451
+ border-color: var(--primary-border);
452
+ background: var(--surface-hover);
441
453
  }
442
454
 
443
455
  .feature-border {
@@ -469,10 +481,10 @@
469
481
  justify-content: center;
470
482
  background: radial-gradient(
471
483
  circle at top left,
472
- oklch(0.74 0.18 45 / 0.2),
473
- oklch(0.7 0.16 200 / 0.1)
484
+ color-mix(in oklch, var(--primary) 20%, transparent),
485
+ color-mix(in oklch, var(--accent) 10%, transparent)
474
486
  );
475
- border: 1px solid oklch(0.74 0.18 45 / 0.2);
487
+ border: 1px solid var(--primary-border);
476
488
  color: var(--primary);
477
489
  margin-bottom: 20px;
478
490
  transition: transform 0.3s ease;
@@ -498,7 +510,7 @@
498
510
  padding: 100px 0;
499
511
  background: radial-gradient(
500
512
  ellipse 60% 50% at 50% 50%,
501
- oklch(0.7 0.16 200 / 0.06),
513
+ var(--accent-softer),
502
514
  transparent
503
515
  );
504
516
  }
@@ -506,7 +518,7 @@
506
518
  .showcase-glow {
507
519
  background: radial-gradient(
508
520
  circle at center,
509
- oklch(0.7 0.16 200 / 0.04) 0%,
521
+ color-mix(in oklch, var(--accent) 4%, transparent) 0%,
510
522
  transparent 60%
511
523
  );
512
524
  }
@@ -549,23 +561,23 @@
549
561
  cursor: pointer;
550
562
  transition: all 0.2s ease;
551
563
  border: 1px solid var(--border);
552
- background: oklch(0.22 0.018 250 / 0.4);
564
+ background: var(--surface);
553
565
  color: var(--muted-foreground);
554
566
  }
555
567
 
556
568
  .ctrl-btn:hover {
557
569
  color: var(--foreground);
558
- border-color: oklch(1 1 1 / 0.2);
570
+ border-color: var(--surface-border-strong);
559
571
  }
560
572
 
561
573
  .btn-next {
562
- border-color: oklch(0.74 0.18 45 / 0.5);
563
- background: oklch(0.74 0.18 45 / 0.1);
574
+ border-color: var(--primary-border);
575
+ background: var(--primary-soft);
564
576
  color: var(--primary);
565
577
  }
566
578
 
567
579
  .btn-next:hover {
568
- background: oklch(0.74 0.18 45 / 0.2);
580
+ background: color-mix(in oklch, var(--primary) 20%, transparent);
569
581
  border-color: var(--primary);
570
582
  }
571
583
 
@@ -621,10 +633,12 @@
621
633
  font-weight: 500;
622
634
  }
623
635
 
636
+ .color-primary,
624
637
  .color-orange {
625
638
  color: var(--primary);
626
639
  }
627
640
 
641
+ .color-accent,
628
642
  .color-cyan {
629
643
  color: var(--accent);
630
644
  }
@@ -670,7 +684,7 @@
670
684
  .tabs-list {
671
685
  display: flex;
672
686
  gap: 8px;
673
- background: oklch(0.22 0.018 250 / 0.5);
687
+ background: var(--surface-muted);
674
688
  border: 1px solid var(--border);
675
689
  border-radius: 9999px;
676
690
  padding: 6px;
@@ -726,8 +740,8 @@
726
740
 
727
741
  .cta-card {
728
742
  position: relative;
729
- background: oklch(0.22 0.018 250 / 0.4);
730
- border: 1px solid oklch(0.3 0.02 250 / 0.6);
743
+ background: var(--surface);
744
+ border: 1px solid var(--surface-border);
731
745
  border-radius: 2rem;
732
746
  padding: 80px 40px;
733
747
  text-align: center;
@@ -754,7 +768,7 @@
754
768
  transform: translateX(-50%);
755
769
  background: radial-gradient(
756
770
  circle,
757
- oklch(0.74 0.18 45 / 0.12) 0%,
771
+ var(--primary-soft) 0%,
758
772
  transparent 60%
759
773
  );
760
774
  filter: blur(40px);
@@ -797,8 +811,8 @@
797
811
  }
798
812
 
799
813
  .btn-outline:hover {
800
- background: oklch(1 1 1 / 0.05);
801
- border-color: oklch(1 1 1 / 0.2);
814
+ background: var(--surface-hover);
815
+ border-color: var(--surface-border-strong);
802
816
  transform: scale(1.01);
803
817
  }
804
818
 
@@ -892,7 +906,7 @@
892
906
  pointer-events: none;
893
907
  background: linear-gradient(
894
908
  to bottom,
895
- oklch(0.18 0.015 250 / 0),
909
+ color-mix(in oklch, var(--background) 0%, transparent),
896
910
  var(--background) 78%,
897
911
  var(--background)
898
912
  );
@@ -920,8 +934,8 @@
920
934
  padding: 6px 12px;
921
935
  font-size: 0.75rem;
922
936
  line-height: 1rem;
923
- background: oklch(0.22 0.018 250 / 0.6);
924
- border-color: oklch(0.3 0.02 250 / 0.6);
937
+ background: var(--surface-muted);
938
+ border-color: var(--surface-border);
925
939
  backdrop-filter: blur(8px);
926
940
  margin-bottom: 0;
927
941
  }
@@ -960,19 +974,12 @@
960
974
 
961
975
  .btn-secondary {
962
976
  gap: 8px;
963
- border-color: oklch(0.3 0.02 250 / 0.8);
964
- background: oklch(0.22 0.018 250 / 0.4);
977
+ border-color: var(--surface-border);
978
+ background: var(--surface);
965
979
  backdrop-filter: blur(8px);
966
980
  color: var(--foreground);
967
981
  }
968
982
 
969
- .btn-secondary::before {
970
- content: '$';
971
- color: var(--muted-foreground);
972
- font-family: var(--font-mono);
973
- font-size: 0.875rem;
974
- }
975
-
976
983
  .btn-secondary {
977
984
  font-size: 0.875rem;
978
985
  }
@@ -1006,8 +1013,8 @@
1006
1013
  left: auto;
1007
1014
  background: linear-gradient(
1008
1015
  to right,
1009
- oklch(0.74 0.18 45 / 0.2),
1010
- oklch(0.7 0.16 200 / 0.2)
1016
+ color-mix(in oklch, var(--primary) 20%, transparent),
1017
+ color-mix(in oklch, var(--accent) 20%, transparent)
1011
1018
  );
1012
1019
  filter: blur(48px);
1013
1020
  opacity: 0.5;
@@ -1082,14 +1089,14 @@
1082
1089
  .product-card {
1083
1090
  border-radius: 16px;
1084
1091
  padding: 24px;
1085
- background: oklch(0.22 0.018 250 / 0.4);
1086
- border-color: oklch(0.3 0.02 250 / 0.6);
1092
+ background: var(--surface);
1093
+ border-color: var(--surface-border);
1087
1094
  isolation: isolate;
1088
1095
  }
1089
1096
 
1090
1097
  .product-card:hover {
1091
1098
  transform: none;
1092
- border-color: oklch(0.74 0.18 45 / 0.4);
1099
+ border-color: var(--primary-border);
1093
1100
  }
1094
1101
 
1095
1102
  .product-glow {
@@ -1133,14 +1140,14 @@
1133
1140
  place-items: center;
1134
1141
  flex-shrink: 0;
1135
1142
  border-radius: 6px;
1136
- border: 1px solid oklch(0.3 0.02 250 / 0.6);
1143
+ border: 1px solid var(--surface-border);
1137
1144
  color: var(--muted-foreground);
1138
1145
  transition: all 0.2s ease;
1139
1146
  }
1140
1147
 
1141
1148
  .product-card:hover .product-arrow {
1142
1149
  color: var(--primary);
1143
- border-color: oklch(0.74 0.18 45 / 0.5);
1150
+ border-color: var(--primary-border);
1144
1151
  transform: rotate(12deg);
1145
1152
  }
1146
1153
 
@@ -1149,8 +1156,8 @@
1149
1156
  height: 44px;
1150
1157
  border-radius: 8px;
1151
1158
  margin: 0;
1152
- background: oklch(0.18 0.015 250 / 0.4) !important;
1153
- border-color: oklch(0.3 0.02 250 / 0.6) !important;
1159
+ background: var(--surface) !important;
1160
+ border-color: var(--surface-border) !important;
1154
1161
  }
1155
1162
 
1156
1163
  .product-card h3 {
@@ -1222,13 +1229,13 @@
1222
1229
  .feature-card {
1223
1230
  border-radius: 12px;
1224
1231
  padding: 24px;
1225
- background: oklch(0.22 0.018 250 / 0.4);
1226
- border-color: oklch(0.3 0.02 250 / 0.6);
1232
+ background: var(--surface);
1233
+ border-color: var(--surface-border);
1227
1234
  }
1228
1235
 
1229
1236
  .feature-card:hover {
1230
- background: oklch(0.22 0.018 250 / 0.7);
1231
- border-color: oklch(0.74 0.18 45 / 0.4);
1237
+ background: var(--surface-hover);
1238
+ border-color: var(--primary-border);
1232
1239
  }
1233
1240
 
1234
1241
  .feature-border {
@@ -1268,7 +1275,7 @@
1268
1275
  opacity: 0.4;
1269
1276
  background: radial-gradient(
1270
1277
  ellipse 60% 50% at 50% 50%,
1271
- oklch(0.7 0.16 200 / 0.15),
1278
+ var(--accent-soft),
1272
1279
  transparent
1273
1280
  );
1274
1281
  }
@@ -1340,8 +1347,8 @@
1340
1347
  border-radius: 8px;
1341
1348
  padding: 4px;
1342
1349
  margin-bottom: 24px;
1343
- background: oklch(0.22 0.018 250 / 0.5);
1344
- border-color: oklch(0.3 0.02 250 / 0.6);
1350
+ background: var(--surface-muted);
1351
+ border-color: var(--surface-border);
1345
1352
  }
1346
1353
 
1347
1354
  .tab-trigger {
@@ -1358,7 +1365,7 @@
1358
1365
  gap: 16px;
1359
1366
  text-align: left;
1360
1367
  border-radius: 12px;
1361
- border: 1px solid oklch(0.3 0.02 250 / 0.6);
1368
+ border: 1px solid var(--code-border);
1362
1369
  background: var(--code-bg);
1363
1370
  box-shadow: var(--shadow-card);
1364
1371
  overflow: hidden;
@@ -1394,7 +1401,7 @@
1394
1401
  flex-shrink: 0;
1395
1402
  padding: 6px 12px;
1396
1403
  border-radius: 6px;
1397
- border: 1px solid oklch(0.3 0.02 250 / 0.6);
1404
+ border: 1px solid var(--surface-border);
1398
1405
  color: var(--muted-foreground);
1399
1406
  font-size: 0.75rem;
1400
1407
  cursor: pointer;
@@ -1403,7 +1410,7 @@
1403
1410
 
1404
1411
  .install-copy-btn:hover {
1405
1412
  color: var(--foreground);
1406
- border-color: oklch(0.74 0.18 45 / 0.5);
1413
+ border-color: var(--primary-border);
1407
1414
  }
1408
1415
 
1409
1416
  .install-copy-btn .check-icon {
@@ -1416,7 +1423,7 @@
1416
1423
 
1417
1424
  .install-copy-btn.copied .check-icon {
1418
1425
  display: block;
1419
- color: oklch(0.78 0.15 145);
1426
+ color: var(--success);
1420
1427
  }
1421
1428
 
1422
1429
  .install-section .code-snippet {
@@ -1441,7 +1448,7 @@
1441
1448
  transform: none;
1442
1449
  background: radial-gradient(
1443
1450
  ellipse 70% 80% at 50% 0%,
1444
- oklch(0.74 0.18 45 / 0.25),
1451
+ color-mix(in oklch, var(--primary) 25%, transparent),
1445
1452
  transparent 60%
1446
1453
  );
1447
1454
  opacity: 0.6;