vibrant-tool 0.1.2 → 0.1.4

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 (44) hide show
  1. package/README.md +36 -36
  2. package/dist/App.d.ts +1 -5
  3. package/dist/lib/hooks/useBrightnessEffect.d.ts +1 -1
  4. package/dist/lib/services/api.d.ts +1 -0
  5. package/dist/lib/services/color.service.d.ts +10 -0
  6. package/dist/lib/services/product.service.d.ts +4 -0
  7. package/dist/lib/services/quote.service.d.ts +24 -0
  8. package/dist/lib/services/shape.service.d.ts +7 -1
  9. package/dist/lib/services/template-design.service.d.ts +36 -0
  10. package/dist/lib/services/upload.service.d.ts +5 -0
  11. package/dist/lib/types/color.types.d.ts +9 -0
  12. package/dist/lib/types/fabric.types.d.ts +6 -0
  13. package/dist/lib/types/font.types.d.ts +6 -10
  14. package/dist/lib/types/product.types.d.ts +23 -0
  15. package/dist/lib/types/shape.types.d.ts +19 -14
  16. package/dist/lib/utils/canvas-setup.d.ts +9 -4
  17. package/dist/lib/utils/color-apply.utils.d.ts +23 -0
  18. package/dist/lib/utils/color-conversions.utils.d.ts +4 -0
  19. package/dist/lib/utils/custom-controls.d.ts +1 -1
  20. package/dist/lib/utils/fabric-helper.d.ts +2 -0
  21. package/dist/lib/utils/page-manager.d.ts +3 -2
  22. package/dist/lib/utils/qr-utils.d.ts +1 -1
  23. package/dist/lib/utils/query-params.d.ts +28 -0
  24. package/dist/lib/utils/svg-utils.d.ts +3 -0
  25. package/dist/modules/canvas/index.d.ts +1 -5
  26. package/dist/modules/components/color-picker/ChannelRow.d.ts +17 -0
  27. package/dist/modules/components/color-picker/ChannelSlider.d.ts +15 -0
  28. package/dist/modules/components/color-picker/index.d.ts +8 -1
  29. package/dist/modules/components/product-not-found/index.d.ts +3 -0
  30. package/dist/modules/index.d.ts +1 -5
  31. package/dist/modules/side-panel/color-panel/index.d.ts +1 -0
  32. package/dist/modules/topbar/preview-modal.d.ts +3 -0
  33. package/dist/vibrant-tool.css +631 -72
  34. package/dist/vibrant-tool.es.js +40463 -6494
  35. package/dist/vibrant-tool.umd.js +37526 -3558
  36. package/dist/zustand/productStore.d.ts +11 -0
  37. package/dist/zustand/recentElementsStore.d.ts +21 -0
  38. package/dist/zustand/selectionStore.d.ts +4 -1
  39. package/package.json +72 -71
  40. package/dist/modules/components/alpha-slider/index.d.ts +0 -12
  41. package/dist/modules/components/cmyk-inputs/index.d.ts +0 -12
  42. package/dist/modules/components/color-preview-box/index.d.ts +0 -6
  43. package/dist/modules/components/gradient-selector/index.d.ts +0 -10
  44. package/dist/modules/components/hue-slider/index.d.ts +0 -9
@@ -5,6 +5,9 @@
5
5
  --tw-translate-x: 0;
6
6
  --tw-translate-y: 0;
7
7
  --tw-translate-z: 0;
8
+ --tw-scale-x: 1;
9
+ --tw-scale-y: 1;
10
+ --tw-scale-z: 1;
8
11
  --tw-rotate-x: initial;
9
12
  --tw-rotate-y: initial;
10
13
  --tw-rotate-z: initial;
@@ -67,9 +70,6 @@
67
70
  --tw-backdrop-sepia: initial;
68
71
  --tw-duration: initial;
69
72
  --tw-ease: initial;
70
- --tw-scale-x: 1;
71
- --tw-scale-y: 1;
72
- --tw-scale-z: 1;
73
73
  }
74
74
  }
75
75
 
@@ -80,11 +80,16 @@
80
80
  --color-green-600: oklch(62.7% .194 149.214);
81
81
  --color-green-700: oklch(52.7% .154 150.069);
82
82
  --color-emerald-200: oklch(90.5% .093 164.15);
83
+ --color-emerald-400: oklch(76.5% .177 163.223);
84
+ --color-cyan-600: oklch(60.9% .126 221.723);
83
85
  --color-blue-200: oklch(88.2% .059 254.128);
84
- --color-blue-300: oklch(80.9% .105 251.813);
85
86
  --color-blue-400: oklch(70.7% .165 254.624);
86
87
  --color-blue-500: oklch(62.3% .214 259.815);
87
88
  --color-blue-600: oklch(54.6% .245 262.881);
89
+ --color-rose-600: oklch(58.6% .253 17.585);
90
+ --color-slate-50: oklch(98.4% .003 247.858);
91
+ --color-slate-100: oklch(96.8% .007 247.896);
92
+ --color-gray-50: oklch(98.5% .002 247.839);
88
93
  --color-gray-100: oklch(96.7% .003 264.542);
89
94
  --color-gray-200: oklch(92.8% .006 264.531);
90
95
  --color-gray-300: oklch(87.2% .01 258.338);
@@ -94,8 +99,11 @@
94
99
  --color-gray-700: oklch(37.3% .034 259.733);
95
100
  --color-gray-800: oklch(27.8% .033 256.848);
96
101
  --color-gray-900: oklch(21% .034 264.665);
102
+ --color-neutral-100: oklch(97% 0 0);
97
103
  --color-neutral-200: oklch(92.2% 0 0);
98
104
  --color-neutral-300: oklch(87% 0 0);
105
+ --color-neutral-400: oklch(70.8% 0 0);
106
+ --color-neutral-500: oklch(55.6% 0 0);
99
107
  --color-neutral-600: oklch(43.9% 0 0);
100
108
  --color-neutral-700: oklch(37.1% 0 0);
101
109
  --color-neutral-800: oklch(26.9% 0 0);
@@ -104,6 +112,8 @@
104
112
  --color-black: #000;
105
113
  --color-white: #fff;
106
114
  --spacing: .25rem;
115
+ --container-md: 28rem;
116
+ --container-4xl: 56rem;
107
117
  --text-xs: .75rem;
108
118
  --text-xs--line-height: calc(1 / .75);
109
119
  --text-sm: .875rem;
@@ -135,6 +145,9 @@
135
145
  --radius-3xl: 1.5rem;
136
146
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
137
147
  --animate-spin: spin 1s linear infinite;
148
+ --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
149
+ --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
150
+ --blur-sm: 8px;
138
151
  --blur-md: 12px;
139
152
  --blur-xl: 24px;
140
153
  --default-transition-duration: .15s;
@@ -460,12 +473,12 @@
460
473
  top: calc(var(--spacing) * 2);
461
474
  }
462
475
 
463
- .top-10 {
464
- top: calc(var(--spacing) * 10);
476
+ .top-4 {
477
+ top: calc(var(--spacing) * 4);
465
478
  }
466
479
 
467
- .top-12 {
468
- top: calc(var(--spacing) * 12);
480
+ .top-10 {
481
+ top: calc(var(--spacing) * 10);
469
482
  }
470
483
 
471
484
  .top-\[-6px\] {
@@ -480,6 +493,10 @@
480
493
  top: 112px;
481
494
  }
482
495
 
496
+ .top-full {
497
+ top: 100%;
498
+ }
499
+
483
500
  .-right-1\.5 {
484
501
  right: calc(var(--spacing) * -1.5);
485
502
  }
@@ -548,6 +565,22 @@
548
565
  left: 50%;
549
566
  }
550
567
 
568
+ .left-2\.5 {
569
+ left: calc(var(--spacing) * 2.5);
570
+ }
571
+
572
+ .left-4 {
573
+ left: calc(var(--spacing) * 4);
574
+ }
575
+
576
+ .-z-10 {
577
+ z-index: calc(10 * -1);
578
+ }
579
+
580
+ .z-10 {
581
+ z-index: 10;
582
+ }
583
+
551
584
  .z-40 {
552
585
  z-index: 40;
553
586
  }
@@ -576,6 +609,10 @@
576
609
  z-index: 9999;
577
610
  }
578
611
 
612
+ .z-\[99999\] {
613
+ z-index: 99999;
614
+ }
615
+
579
616
  .col-span-2 {
580
617
  grid-column: span 2 / span 2;
581
618
  }
@@ -674,6 +711,10 @@
674
711
  margin-bottom: calc(var(--spacing) * 1);
675
712
  }
676
713
 
714
+ .mb-1\.5 {
715
+ margin-bottom: calc(var(--spacing) * 1.5);
716
+ }
717
+
677
718
  .mb-2 {
678
719
  margin-bottom: calc(var(--spacing) * 2);
679
720
  }
@@ -714,6 +755,10 @@
714
755
  display: block;
715
756
  }
716
757
 
758
+ .contents {
759
+ display: contents;
760
+ }
761
+
717
762
  .flex {
718
763
  display: flex;
719
764
  }
@@ -742,6 +787,14 @@
742
787
  height: calc(var(--spacing) * 1.5);
743
788
  }
744
789
 
790
+ .h-2 {
791
+ height: calc(var(--spacing) * 2);
792
+ }
793
+
794
+ .h-2\.5 {
795
+ height: calc(var(--spacing) * 2.5);
796
+ }
797
+
745
798
  .h-3 {
746
799
  height: calc(var(--spacing) * 3);
747
800
  }
@@ -778,14 +831,14 @@
778
831
  height: calc(var(--spacing) * 10);
779
832
  }
780
833
 
781
- .h-12 {
782
- height: calc(var(--spacing) * 12);
783
- }
784
-
785
834
  .h-14 {
786
835
  height: calc(var(--spacing) * 14);
787
836
  }
788
837
 
838
+ .h-16 {
839
+ height: calc(var(--spacing) * 16);
840
+ }
841
+
789
842
  .h-20 {
790
843
  height: calc(var(--spacing) * 20);
791
844
  }
@@ -806,10 +859,6 @@
806
859
  height: calc(var(--spacing) * 40);
807
860
  }
808
861
 
809
- .h-48 {
810
- height: calc(var(--spacing) * 48);
811
- }
812
-
813
862
  .h-\[0\.5px\] {
814
863
  height: .5px;
815
864
  }
@@ -826,6 +875,14 @@
826
875
  height: 85dvh;
827
876
  }
828
877
 
878
+ .h-\[85vh\] {
879
+ height: 85vh;
880
+ }
881
+
882
+ .h-\[135px\] {
883
+ height: 135px;
884
+ }
885
+
829
886
  .h-\[calc\(100dvh-180px\)\] {
830
887
  height: calc(100dvh - 180px);
831
888
  }
@@ -834,18 +891,22 @@
834
891
  height: calc(100vh - 56px);
835
892
  }
836
893
 
837
- .h-\[calc\(100vh-122px\)\] {
838
- height: calc(100vh - 122px);
839
- }
840
-
841
894
  .h-\[calc\(100vh-125px\)\] {
842
895
  height: calc(100vh - 125px);
843
896
  }
844
897
 
898
+ .h-\[calc\(100vh-126px\)\] {
899
+ height: calc(100vh - 126px);
900
+ }
901
+
845
902
  .h-\[calc\(100vh-160px\)\] {
846
903
  height: calc(100vh - 160px);
847
904
  }
848
905
 
906
+ .h-\[calc\(100vh-165px\)\] {
907
+ height: calc(100vh - 165px);
908
+ }
909
+
849
910
  .h-\[calc\(100vh-200px\)\] {
850
911
  height: calc(100vh - 200px);
851
912
  }
@@ -858,6 +919,10 @@
858
919
  height: calc(100vh - 288px);
859
920
  }
860
921
 
922
+ .h-auto {
923
+ height: auto;
924
+ }
925
+
861
926
  .h-full {
862
927
  height: 100%;
863
928
  }
@@ -874,10 +939,26 @@
874
939
  max-height: calc(var(--spacing) * 60);
875
940
  }
876
941
 
942
+ .max-h-\[50vh\] {
943
+ max-height: 50vh;
944
+ }
945
+
877
946
  .min-h-0 {
878
947
  min-height: calc(var(--spacing) * 0);
879
948
  }
880
949
 
950
+ .min-h-\[500px\] {
951
+ min-height: 500px;
952
+ }
953
+
954
+ .w-2 {
955
+ width: calc(var(--spacing) * 2);
956
+ }
957
+
958
+ .w-2\.5 {
959
+ width: calc(var(--spacing) * 2.5);
960
+ }
961
+
881
962
  .w-3 {
882
963
  width: calc(var(--spacing) * 3);
883
964
  }
@@ -890,10 +971,6 @@
890
971
  width: calc(var(--spacing) * 4);
891
972
  }
892
973
 
893
- .w-5 {
894
- width: calc(var(--spacing) * 5);
895
- }
896
-
897
974
  .w-6 {
898
975
  width: calc(var(--spacing) * 6);
899
976
  }
@@ -914,10 +991,6 @@
914
991
  width: calc(var(--spacing) * 11);
915
992
  }
916
993
 
917
- .w-12 {
918
- width: calc(var(--spacing) * 12);
919
- }
920
-
921
994
  .w-14 {
922
995
  width: calc(var(--spacing) * 14);
923
996
  }
@@ -934,6 +1007,10 @@
934
1007
  width: calc(var(--spacing) * 40);
935
1008
  }
936
1009
 
1010
+ .w-72 {
1011
+ width: calc(var(--spacing) * 72);
1012
+ }
1013
+
937
1014
  .w-80 {
938
1015
  width: calc(var(--spacing) * 80);
939
1016
  }
@@ -954,8 +1031,12 @@
954
1031
  width: 260px;
955
1032
  }
956
1033
 
957
- .w-\[300px\] {
958
- width: 300px;
1034
+ .w-\[270px\] {
1035
+ width: 270px;
1036
+ }
1037
+
1038
+ .w-auto {
1039
+ width: auto;
959
1040
  }
960
1041
 
961
1042
  .w-full {
@@ -970,6 +1051,18 @@
970
1051
  width: 100vw;
971
1052
  }
972
1053
 
1054
+ .max-w-4xl {
1055
+ max-width: var(--container-4xl);
1056
+ }
1057
+
1058
+ .max-w-full {
1059
+ max-width: 100%;
1060
+ }
1061
+
1062
+ .max-w-md {
1063
+ max-width: var(--container-md);
1064
+ }
1065
+
973
1066
  .min-w-\[52px\] {
974
1067
  min-width: 52px;
975
1068
  }
@@ -978,15 +1071,23 @@
978
1071
  min-width: 70px;
979
1072
  }
980
1073
 
1074
+ .min-w-\[72px\] {
1075
+ min-width: 72px;
1076
+ }
1077
+
981
1078
  .min-w-\[86px\] {
982
1079
  min-width: 86px;
983
1080
  }
984
1081
 
1082
+ .min-w-\[90px\] {
1083
+ min-width: 90px;
1084
+ }
1085
+
985
1086
  .flex-1 {
986
1087
  flex: 1;
987
1088
  }
988
1089
 
989
- .flex-shrink-0, .shrink-0 {
1090
+ .shrink-0 {
990
1091
  flex-shrink: 0;
991
1092
  }
992
1093
 
@@ -1005,10 +1106,25 @@
1005
1106
  translate: var(--tw-translate-x) var(--tw-translate-y);
1006
1107
  }
1007
1108
 
1109
+ .scale-105 {
1110
+ --tw-scale-x: 105%;
1111
+ --tw-scale-y: 105%;
1112
+ --tw-scale-z: 105%;
1113
+ scale: var(--tw-scale-x) var(--tw-scale-y);
1114
+ }
1115
+
1008
1116
  .transform {
1009
1117
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
1010
1118
  }
1011
1119
 
1120
+ .animate-ping {
1121
+ animation: var(--animate-ping);
1122
+ }
1123
+
1124
+ .animate-pulse {
1125
+ animation: var(--animate-pulse);
1126
+ }
1127
+
1012
1128
  .animate-spin {
1013
1129
  animation: var(--animate-spin);
1014
1130
  }
@@ -1021,6 +1137,10 @@
1021
1137
  cursor: ew-resize;
1022
1138
  }
1023
1139
 
1140
+ .cursor-grab {
1141
+ cursor: grab;
1142
+ }
1143
+
1024
1144
  .cursor-not-allowed {
1025
1145
  cursor: not-allowed;
1026
1146
  }
@@ -1029,6 +1149,10 @@
1029
1149
  cursor: pointer;
1030
1150
  }
1031
1151
 
1152
+ .touch-none {
1153
+ touch-action: none;
1154
+ }
1155
+
1032
1156
  .resize {
1033
1157
  resize: both;
1034
1158
  }
@@ -1053,8 +1177,12 @@
1053
1177
  grid-template-columns: repeat(4, minmax(0, 1fr));
1054
1178
  }
1055
1179
 
1056
- .grid-cols-5 {
1057
- grid-template-columns: repeat(5, minmax(0, 1fr));
1180
+ .grid-cols-6 {
1181
+ grid-template-columns: repeat(6, minmax(0, 1fr));
1182
+ }
1183
+
1184
+ .grid-cols-8 {
1185
+ grid-template-columns: repeat(8, minmax(0, 1fr));
1058
1186
  }
1059
1187
 
1060
1188
  .flex-col {
@@ -1069,10 +1197,6 @@
1069
1197
  align-items: center;
1070
1198
  }
1071
1199
 
1072
- .items-start {
1073
- align-items: flex-start;
1074
- }
1075
-
1076
1200
  .justify-between {
1077
1201
  justify-content: space-between;
1078
1202
  }
@@ -1113,6 +1237,12 @@
1113
1237
  gap: calc(var(--spacing) * 5);
1114
1238
  }
1115
1239
 
1240
+ :where(.space-y-1\.5 > :not(:last-child)) {
1241
+ --tw-space-y-reverse: 0;
1242
+ margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
1243
+ margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
1244
+ }
1245
+
1116
1246
  :where(.space-y-2 > :not(:last-child)) {
1117
1247
  --tw-space-y-reverse: 0;
1118
1248
  margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
@@ -1214,7 +1344,7 @@
1214
1344
  border-top-right-radius: var(--radius-xl);
1215
1345
  }
1216
1346
 
1217
- .border, .border-1 {
1347
+ .border {
1218
1348
  border-style: var(--tw-border-style);
1219
1349
  border-width: 1px;
1220
1350
  }
@@ -1244,10 +1374,19 @@
1244
1374
  border-bottom-width: 1px;
1245
1375
  }
1246
1376
 
1377
+ .border-dashed {
1378
+ --tw-border-style: dashed;
1379
+ border-style: dashed;
1380
+ }
1381
+
1247
1382
  .border-\[\#02bc71\] {
1248
1383
  border-color: #02bc71;
1249
1384
  }
1250
1385
 
1386
+ .border-\[\#02bc71\]\/40 {
1387
+ border-color: oklab(69.9534% -.154036 .0673199 / .4);
1388
+ }
1389
+
1251
1390
  .border-\[\#393939\] {
1252
1391
  border-color: #393939;
1253
1392
  }
@@ -1256,12 +1395,16 @@
1256
1395
  border-color: var(--color-blue-500);
1257
1396
  }
1258
1397
 
1259
- .border-gray-300 {
1260
- border-color: var(--color-gray-300);
1398
+ .border-gray-100 {
1399
+ border-color: var(--color-gray-100);
1261
1400
  }
1262
1401
 
1263
- .border-gray-400 {
1264
- border-color: var(--color-gray-400);
1402
+ .border-gray-200 {
1403
+ border-color: var(--color-gray-200);
1404
+ }
1405
+
1406
+ .border-gray-300 {
1407
+ border-color: var(--color-gray-300);
1265
1408
  }
1266
1409
 
1267
1410
  .border-gray-600 {
@@ -1284,6 +1427,16 @@
1284
1427
  border-color: var(--color-neutral-700);
1285
1428
  }
1286
1429
 
1430
+ .border-neutral-700\/80 {
1431
+ border-color: #404040cc;
1432
+ }
1433
+
1434
+ @supports (color: color-mix(in lab, red, red)) {
1435
+ .border-neutral-700\/80 {
1436
+ border-color: color-mix(in oklab, var(--color-neutral-700) 80%, transparent);
1437
+ }
1438
+ }
1439
+
1287
1440
  .border-neutral-800 {
1288
1441
  border-color: var(--color-neutral-800);
1289
1442
  }
@@ -1292,6 +1445,16 @@
1292
1445
  border-color: var(--color-red-500);
1293
1446
  }
1294
1447
 
1448
+ .border-red-500\/20 {
1449
+ border-color: #fb2c3633;
1450
+ }
1451
+
1452
+ @supports (color: color-mix(in lab, red, red)) {
1453
+ .border-red-500\/20 {
1454
+ border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
1455
+ }
1456
+ }
1457
+
1295
1458
  .border-transparent {
1296
1459
  border-color: #0000;
1297
1460
  }
@@ -1334,6 +1497,10 @@
1334
1497
  border-top-color: #0000;
1335
1498
  }
1336
1499
 
1500
+ .bg-\[\#1d1d1d\] {
1501
+ background-color: #1d1d1d;
1502
+ }
1503
+
1337
1504
  .bg-\[\#1e1e1e\] {
1338
1505
  background-color: #1e1e1e;
1339
1506
  }
@@ -1358,6 +1525,10 @@
1358
1525
  background-color: #111;
1359
1526
  }
1360
1527
 
1528
+ .bg-\[\#222\] {
1529
+ background-color: #222;
1530
+ }
1531
+
1361
1532
  .bg-\[\#F3F4F6\] {
1362
1533
  background-color: #f3f4f6;
1363
1534
  }
@@ -1370,6 +1541,16 @@
1370
1541
  background-color: var(--color-black);
1371
1542
  }
1372
1543
 
1544
+ .bg-black\/20 {
1545
+ background-color: #0003;
1546
+ }
1547
+
1548
+ @supports (color: color-mix(in lab, red, red)) {
1549
+ .bg-black\/20 {
1550
+ background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
1551
+ }
1552
+ }
1553
+
1373
1554
  .bg-black\/40 {
1374
1555
  background-color: #0006;
1375
1556
  }
@@ -1390,6 +1571,16 @@
1390
1571
  }
1391
1572
  }
1392
1573
 
1574
+ .bg-black\/60 {
1575
+ background-color: #0009;
1576
+ }
1577
+
1578
+ @supports (color: color-mix(in lab, red, red)) {
1579
+ .bg-black\/60 {
1580
+ background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
1581
+ }
1582
+ }
1583
+
1393
1584
  .bg-blue-500 {
1394
1585
  background-color: var(--color-blue-500);
1395
1586
  }
@@ -1408,6 +1599,20 @@
1408
1599
  background-color: var(--color-blue-600);
1409
1600
  }
1410
1601
 
1602
+ .bg-gray-50 {
1603
+ background-color: var(--color-gray-50);
1604
+ }
1605
+
1606
+ .bg-gray-50\/90 {
1607
+ background-color: #f9fafbe6;
1608
+ }
1609
+
1610
+ @supports (color: color-mix(in lab, red, red)) {
1611
+ .bg-gray-50\/90 {
1612
+ background-color: color-mix(in oklab, var(--color-gray-50) 90%, transparent);
1613
+ }
1614
+ }
1615
+
1411
1616
  .bg-gray-100 {
1412
1617
  background-color: var(--color-gray-100);
1413
1618
  }
@@ -1426,6 +1631,10 @@
1426
1631
  }
1427
1632
  }
1428
1633
 
1634
+ .bg-gray-300 {
1635
+ background-color: var(--color-gray-300);
1636
+ }
1637
+
1429
1638
  .bg-gray-300\/50 {
1430
1639
  background-color: #d1d5dc80;
1431
1640
  }
@@ -1502,6 +1711,16 @@
1502
1711
  background-color: var(--color-neutral-900);
1503
1712
  }
1504
1713
 
1714
+ .bg-neutral-900\/40 {
1715
+ background-color: #17171766;
1716
+ }
1717
+
1718
+ @supports (color: color-mix(in lab, red, red)) {
1719
+ .bg-neutral-900\/40 {
1720
+ background-color: color-mix(in oklab, var(--color-neutral-900) 40%, transparent);
1721
+ }
1722
+ }
1723
+
1505
1724
  .bg-neutral-900\/70 {
1506
1725
  background-color: #171717b3;
1507
1726
  }
@@ -1536,6 +1755,24 @@
1536
1755
  background-color: var(--color-neutral-950);
1537
1756
  }
1538
1757
 
1758
+ .bg-red-500\/10 {
1759
+ background-color: #fb2c361a;
1760
+ }
1761
+
1762
+ @supports (color: color-mix(in lab, red, red)) {
1763
+ .bg-red-500\/10 {
1764
+ background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
1765
+ }
1766
+ }
1767
+
1768
+ .bg-rose-600 {
1769
+ background-color: var(--color-rose-600);
1770
+ }
1771
+
1772
+ .bg-slate-50 {
1773
+ background-color: var(--color-slate-50);
1774
+ }
1775
+
1539
1776
  .bg-transparent {
1540
1777
  background-color: #0000;
1541
1778
  }
@@ -1544,6 +1781,16 @@
1544
1781
  background-color: var(--color-white);
1545
1782
  }
1546
1783
 
1784
+ .bg-white\/10 {
1785
+ background-color: #ffffff1a;
1786
+ }
1787
+
1788
+ @supports (color: color-mix(in lab, red, red)) {
1789
+ .bg-white\/10 {
1790
+ background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
1791
+ }
1792
+ }
1793
+
1547
1794
  .bg-white\/20 {
1548
1795
  background-color: #fff3;
1549
1796
  }
@@ -1574,6 +1821,11 @@
1574
1821
  }
1575
1822
  }
1576
1823
 
1824
+ .bg-gradient-to-b {
1825
+ --tw-gradient-position: to bottom in oklab;
1826
+ background-image: linear-gradient(var(--tw-gradient-stops));
1827
+ }
1828
+
1577
1829
  .bg-gradient-to-r {
1578
1830
  --tw-gradient-position: to right in oklab;
1579
1831
  background-image: linear-gradient(var(--tw-gradient-stops));
@@ -1584,11 +1836,21 @@
1584
1836
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1585
1837
  }
1586
1838
 
1839
+ .from-slate-50 {
1840
+ --tw-gradient-from: var(--color-slate-50);
1841
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1842
+ }
1843
+
1587
1844
  .to-\[\#03945a\] {
1588
1845
  --tw-gradient-to: #03945a;
1589
1846
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1590
1847
  }
1591
1848
 
1849
+ .to-slate-100 {
1850
+ --tw-gradient-to: var(--color-slate-100);
1851
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1852
+ }
1853
+
1592
1854
  .object-contain {
1593
1855
  object-fit: contain;
1594
1856
  }
@@ -1597,6 +1859,14 @@
1597
1859
  object-fit: cover;
1598
1860
  }
1599
1861
 
1862
+ .p-0 {
1863
+ padding: calc(var(--spacing) * 0);
1864
+ }
1865
+
1866
+ .p-0\.5 {
1867
+ padding: calc(var(--spacing) * .5);
1868
+ }
1869
+
1600
1870
  .p-1 {
1601
1871
  padding: calc(var(--spacing) * 1);
1602
1872
  }
@@ -1609,10 +1879,18 @@
1609
1879
  padding: calc(var(--spacing) * 2);
1610
1880
  }
1611
1881
 
1882
+ .p-2\.5 {
1883
+ padding: calc(var(--spacing) * 2.5);
1884
+ }
1885
+
1612
1886
  .p-3 {
1613
1887
  padding: calc(var(--spacing) * 3);
1614
1888
  }
1615
1889
 
1890
+ .p-3\.5 {
1891
+ padding: calc(var(--spacing) * 3.5);
1892
+ }
1893
+
1616
1894
  .p-4 {
1617
1895
  padding: calc(var(--spacing) * 4);
1618
1896
  }
@@ -1625,6 +1903,10 @@
1625
1903
  padding: calc(var(--spacing) * 6);
1626
1904
  }
1627
1905
 
1906
+ .p-8 {
1907
+ padding: calc(var(--spacing) * 8);
1908
+ }
1909
+
1628
1910
  .px-1 {
1629
1911
  padding-inline: calc(var(--spacing) * 1);
1630
1912
  }
@@ -1637,10 +1919,18 @@
1637
1919
  padding-inline: calc(var(--spacing) * 2);
1638
1920
  }
1639
1921
 
1922
+ .px-2\.5 {
1923
+ padding-inline: calc(var(--spacing) * 2.5);
1924
+ }
1925
+
1640
1926
  .px-3 {
1641
1927
  padding-inline: calc(var(--spacing) * 3);
1642
1928
  }
1643
1929
 
1930
+ .px-3\.5 {
1931
+ padding-inline: calc(var(--spacing) * 3.5);
1932
+ }
1933
+
1644
1934
  .px-4 {
1645
1935
  padding-inline: calc(var(--spacing) * 4);
1646
1936
  }
@@ -1689,6 +1979,14 @@
1689
1979
  padding-block: 5px;
1690
1980
  }
1691
1981
 
1982
+ .pt-1 {
1983
+ padding-top: calc(var(--spacing) * 1);
1984
+ }
1985
+
1986
+ .pt-2 {
1987
+ padding-top: calc(var(--spacing) * 2);
1988
+ }
1989
+
1692
1990
  .pt-4 {
1693
1991
  padding-top: calc(var(--spacing) * 4);
1694
1992
  }
@@ -1701,10 +1999,18 @@
1701
1999
  padding-right: calc(var(--spacing) * 2);
1702
2000
  }
1703
2001
 
2002
+ .pr-3 {
2003
+ padding-right: calc(var(--spacing) * 3);
2004
+ }
2005
+
1704
2006
  .pr-8 {
1705
2007
  padding-right: calc(var(--spacing) * 8);
1706
2008
  }
1707
2009
 
2010
+ .pb-1 {
2011
+ padding-bottom: calc(var(--spacing) * 1);
2012
+ }
2013
+
1708
2014
  .pb-3 {
1709
2015
  padding-bottom: calc(var(--spacing) * 3);
1710
2016
  }
@@ -1733,6 +2039,14 @@
1733
2039
  padding-bottom: calc(var(--spacing) * 14);
1734
2040
  }
1735
2041
 
2042
+ .pl-1 {
2043
+ padding-left: calc(var(--spacing) * 1);
2044
+ }
2045
+
2046
+ .pl-6 {
2047
+ padding-left: calc(var(--spacing) * 6);
2048
+ }
2049
+
1736
2050
  .text-center {
1737
2051
  text-align: center;
1738
2052
  }
@@ -1745,6 +2059,14 @@
1745
2059
  text-align: right;
1746
2060
  }
1747
2061
 
2062
+ .font-mono {
2063
+ font-family: var(--font-geist-mono);
2064
+ }
2065
+
2066
+ .font-sans {
2067
+ font-family: var(--font-geist-sans);
2068
+ }
2069
+
1748
2070
  .text-2xl {
1749
2071
  font-size: var(--text-2xl);
1750
2072
  line-height: var(--tw-leading, var(--text-2xl--line-height));
@@ -1796,13 +2118,12 @@
1796
2118
  font-size: 13px;
1797
2119
  }
1798
2120
 
1799
- .text-\[20px\] {
1800
- font-size: 20px;
2121
+ .text-\[15px\] {
2122
+ font-size: 15px;
1801
2123
  }
1802
2124
 
1803
- .leading-none {
1804
- --tw-leading: 1;
1805
- line-height: 1;
2125
+ .text-\[20px\] {
2126
+ font-size: 20px;
1806
2127
  }
1807
2128
 
1808
2129
  .leading-relaxed {
@@ -1872,10 +2193,22 @@
1872
2193
  color: var(--color-gray-600);
1873
2194
  }
1874
2195
 
2196
+ .text-gray-700 {
2197
+ color: var(--color-gray-700);
2198
+ }
2199
+
1875
2200
  .text-gray-800 {
1876
2201
  color: var(--color-gray-800);
1877
2202
  }
1878
2203
 
2204
+ .text-gray-900 {
2205
+ color: var(--color-gray-900);
2206
+ }
2207
+
2208
+ .text-neutral-100 {
2209
+ color: var(--color-neutral-100);
2210
+ }
2211
+
1879
2212
  .text-neutral-200 {
1880
2213
  color: var(--color-neutral-200);
1881
2214
  }
@@ -1884,6 +2217,14 @@
1884
2217
  color: var(--color-neutral-300);
1885
2218
  }
1886
2219
 
2220
+ .text-neutral-400 {
2221
+ color: var(--color-neutral-400);
2222
+ }
2223
+
2224
+ .text-neutral-500 {
2225
+ color: var(--color-neutral-500);
2226
+ }
2227
+
1887
2228
  .text-neutral-800 {
1888
2229
  color: var(--color-neutral-800);
1889
2230
  }
@@ -1970,6 +2311,14 @@
1970
2311
  opacity: 1;
1971
2312
  }
1972
2313
 
2314
+ .mix-blend-difference {
2315
+ mix-blend-mode: difference;
2316
+ }
2317
+
2318
+ .mix-blend-overlay {
2319
+ mix-blend-mode: overlay;
2320
+ }
2321
+
1973
2322
  .shadow {
1974
2323
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
1975
2324
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1990,6 +2339,16 @@
1990
2339
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1991
2340
  }
1992
2341
 
2342
+ .shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.35\)\] {
2343
+ --tw-shadow: 0 12px 30px var(--tw-shadow-color, #00000059);
2344
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2345
+ }
2346
+
2347
+ .shadow-inner {
2348
+ --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
2349
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2350
+ }
2351
+
1993
2352
  .shadow-lg {
1994
2353
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
1995
2354
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2010,6 +2369,11 @@
2010
2369
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2011
2370
  }
2012
2371
 
2372
+ .shadow-xs {
2373
+ --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
2374
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2375
+ }
2376
+
2013
2377
  .ring-1 {
2014
2378
  --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2015
2379
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2040,6 +2404,10 @@
2040
2404
  }
2041
2405
  }
2042
2406
 
2407
+ .ring-\[\#02bc71\] {
2408
+ --tw-ring-color: #02bc71;
2409
+ }
2410
+
2043
2411
  .ring-black\/5 {
2044
2412
  --tw-ring-color: #0000000d;
2045
2413
  }
@@ -2050,15 +2418,44 @@
2050
2418
  }
2051
2419
  }
2052
2420
 
2421
+ .ring-black\/30 {
2422
+ --tw-ring-color: #0000004d;
2423
+ }
2424
+
2425
+ @supports (color: color-mix(in lab, red, red)) {
2426
+ .ring-black\/30 {
2427
+ --tw-ring-color: color-mix(in oklab, var(--color-black) 30%, transparent);
2428
+ }
2429
+ }
2430
+
2431
+ .ring-black\/40 {
2432
+ --tw-ring-color: #0006;
2433
+ }
2434
+
2435
+ @supports (color: color-mix(in lab, red, red)) {
2436
+ .ring-black\/40 {
2437
+ --tw-ring-color: color-mix(in oklab, var(--color-black) 40%, transparent);
2438
+ }
2439
+ }
2440
+
2053
2441
  .ring-gray-400 {
2054
2442
  --tw-ring-color: var(--color-gray-400);
2055
2443
  }
2056
2444
 
2445
+ .ring-neutral-600 {
2446
+ --tw-ring-color: var(--color-neutral-600);
2447
+ }
2448
+
2057
2449
  .blur {
2058
2450
  --tw-blur: blur(8px);
2059
2451
  filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
2060
2452
  }
2061
2453
 
2454
+ .blur-xl {
2455
+ --tw-blur: blur(var(--blur-xl));
2456
+ filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
2457
+ }
2458
+
2062
2459
  .grayscale {
2063
2460
  --tw-grayscale: grayscale(100%);
2064
2461
  filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
@@ -2084,6 +2481,12 @@
2084
2481
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2085
2482
  }
2086
2483
 
2484
+ .backdrop-blur-sm {
2485
+ --tw-backdrop-blur: blur(var(--blur-sm));
2486
+ -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2487
+ backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2488
+ }
2489
+
2087
2490
  .backdrop-blur-xl {
2088
2491
  --tw-backdrop-blur: blur(var(--blur-xl));
2089
2492
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
@@ -2140,6 +2543,10 @@
2140
2543
  transition-timing-function: var(--ease-in-out);
2141
2544
  }
2142
2545
 
2546
+ .will-change-transform {
2547
+ will-change: transform;
2548
+ }
2549
+
2143
2550
  .outline-none {
2144
2551
  --tw-outline-style: none;
2145
2552
  outline-style: none;
@@ -2150,6 +2557,10 @@
2150
2557
  user-select: none;
2151
2558
  }
2152
2559
 
2560
+ .\[perspective\:1200px\] {
2561
+ perspective: 1200px;
2562
+ }
2563
+
2153
2564
  @media (hover: hover) {
2154
2565
  .group-hover\:scale-105:is(:where(.group):hover *) {
2155
2566
  --tw-scale-x: 105%;
@@ -2158,10 +2569,6 @@
2158
2569
  scale: var(--tw-scale-x) var(--tw-scale-y);
2159
2570
  }
2160
2571
 
2161
- .group-hover\:border-gray-400:is(:where(.group):hover *) {
2162
- border-color: var(--color-gray-400);
2163
- }
2164
-
2165
2572
  .group-hover\:text-white:is(:where(.group):hover *) {
2166
2573
  color: var(--color-white);
2167
2574
  }
@@ -2189,6 +2596,20 @@
2189
2596
  }
2190
2597
 
2191
2598
  @media (hover: hover) {
2599
+ .hover\:scale-105:hover {
2600
+ --tw-scale-x: 105%;
2601
+ --tw-scale-y: 105%;
2602
+ --tw-scale-z: 105%;
2603
+ scale: var(--tw-scale-x) var(--tw-scale-y);
2604
+ }
2605
+
2606
+ .hover\:scale-110:hover {
2607
+ --tw-scale-x: 110%;
2608
+ --tw-scale-y: 110%;
2609
+ --tw-scale-z: 110%;
2610
+ scale: var(--tw-scale-x) var(--tw-scale-y);
2611
+ }
2612
+
2192
2613
  .hover\:rounded-sm:hover {
2193
2614
  border-radius: var(--radius-sm);
2194
2615
  }
@@ -2201,6 +2622,18 @@
2201
2622
  border-color: oklab(69.9534% -.154036 .0673199 / .4);
2202
2623
  }
2203
2624
 
2625
+ .hover\:border-neutral-400:hover {
2626
+ border-color: var(--color-neutral-400);
2627
+ }
2628
+
2629
+ .hover\:border-neutral-500:hover {
2630
+ border-color: var(--color-neutral-500);
2631
+ }
2632
+
2633
+ .hover\:border-neutral-700:hover {
2634
+ border-color: var(--color-neutral-700);
2635
+ }
2636
+
2204
2637
  .hover\:border-white:hover {
2205
2638
  border-color: var(--color-white);
2206
2639
  }
@@ -2213,6 +2646,10 @@
2213
2646
  background-color: #8f99a826;
2214
2647
  }
2215
2648
 
2649
+ .hover\:bg-\[\#333\]:hover {
2650
+ background-color: #333;
2651
+ }
2652
+
2216
2653
  .hover\:bg-\[\#03945a\]:hover {
2217
2654
  background-color: #03945a;
2218
2655
  }
@@ -2225,6 +2662,10 @@
2225
2662
  background-color: var(--color-gray-100);
2226
2663
  }
2227
2664
 
2665
+ .hover\:bg-gray-200:hover {
2666
+ background-color: var(--color-gray-200);
2667
+ }
2668
+
2228
2669
  .hover\:bg-gray-700:hover {
2229
2670
  background-color: var(--color-gray-700);
2230
2671
  }
@@ -2245,6 +2686,16 @@
2245
2686
  background-color: var(--color-neutral-800);
2246
2687
  }
2247
2688
 
2689
+ .hover\:bg-white\/15:hover {
2690
+ background-color: #ffffff26;
2691
+ }
2692
+
2693
+ @supports (color: color-mix(in lab, red, red)) {
2694
+ .hover\:bg-white\/15:hover {
2695
+ background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
2696
+ }
2697
+ }
2698
+
2248
2699
  .hover\:text-\[\#02bc71\]:hover {
2249
2700
  color: #02bc71;
2250
2701
  }
@@ -2253,6 +2704,14 @@
2253
2704
  color: var(--color-blue-400);
2254
2705
  }
2255
2706
 
2707
+ .hover\:text-cyan-600:hover {
2708
+ color: var(--color-cyan-600);
2709
+ }
2710
+
2711
+ .hover\:text-emerald-400:hover {
2712
+ color: var(--color-emerald-400);
2713
+ }
2714
+
2256
2715
  .hover\:text-gray-600:hover {
2257
2716
  color: var(--color-gray-600);
2258
2717
  }
@@ -2287,8 +2746,8 @@
2287
2746
  }
2288
2747
  }
2289
2748
 
2290
- .focus\:border-blue-300:focus {
2291
- border-color: var(--color-blue-300);
2749
+ .focus\:border-\[\#02bc71\]:focus {
2750
+ border-color: #02bc71;
2292
2751
  }
2293
2752
 
2294
2753
  .focus\:border-blue-500:focus {
@@ -2309,8 +2768,8 @@
2309
2768
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2310
2769
  }
2311
2770
 
2312
- .focus\:ring-blue-300:focus {
2313
- --tw-ring-color: var(--color-blue-300);
2771
+ .focus\:ring-\[\#02bc71\]:focus {
2772
+ --tw-ring-color: #02bc71;
2314
2773
  }
2315
2774
 
2316
2775
  .focus\:ring-blue-500:focus {
@@ -2344,6 +2803,10 @@
2344
2803
  scale: .98;
2345
2804
  }
2346
2805
 
2806
+ .active\:cursor-grabbing:active {
2807
+ cursor: grabbing;
2808
+ }
2809
+
2347
2810
  .disabled\:cursor-not-allowed:disabled {
2348
2811
  cursor: not-allowed;
2349
2812
  }
@@ -2677,6 +3140,24 @@ div[class*="driver-stage"], div[id*="driver-stage"], .driver-active-element, #dr
2677
3140
  initial-value: 0;
2678
3141
  }
2679
3142
 
3143
+ @property --tw-scale-x {
3144
+ syntax: "*";
3145
+ inherits: false;
3146
+ initial-value: 1;
3147
+ }
3148
+
3149
+ @property --tw-scale-y {
3150
+ syntax: "*";
3151
+ inherits: false;
3152
+ initial-value: 1;
3153
+ }
3154
+
3155
+ @property --tw-scale-z {
3156
+ syntax: "*";
3157
+ inherits: false;
3158
+ initial-value: 1;
3159
+ }
3160
+
2680
3161
  @property --tw-rotate-x {
2681
3162
  syntax: "*";
2682
3163
  inherits: false
@@ -3005,27 +3486,105 @@ div[class*="driver-stage"], div[id*="driver-stage"], .driver-active-element, #dr
3005
3486
  inherits: false
3006
3487
  }
3007
3488
 
3008
- @property --tw-scale-x {
3009
- syntax: "*";
3010
- inherits: false;
3011
- initial-value: 1;
3489
+ @keyframes spin {
3490
+ to {
3491
+ transform: rotate(360deg);
3492
+ }
3012
3493
  }
3013
3494
 
3014
- @property --tw-scale-y {
3015
- syntax: "*";
3016
- inherits: false;
3017
- initial-value: 1;
3495
+ @keyframes ping {
3496
+ 75%, 100% {
3497
+ opacity: 0;
3498
+ transform: scale(2);
3499
+ }
3018
3500
  }
3019
3501
 
3020
- @property --tw-scale-z {
3021
- syntax: "*";
3022
- inherits: false;
3023
- initial-value: 1;
3502
+ @keyframes pulse {
3503
+ 50% {
3504
+ opacity: .5;
3505
+ }
3506
+ }
3507
+ .driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}
3508
+ /* Color Picker Styling */
3509
+ .pqc-checkerboard {
3510
+ background-color: #ffffff;
3511
+ background-image: linear-gradient(45deg, #e5e7eb 25%, transparent 25%),
3512
+ linear-gradient(-45deg, #e5e7eb 25%, transparent 25%),
3513
+ linear-gradient(45deg, transparent 75%, #e5e7eb 75%),
3514
+ linear-gradient(-45deg, transparent 75%, #e5e7eb 75%);
3515
+ background-size: 8px 8px;
3516
+ background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
3024
3517
  }
3025
3518
 
3026
- @keyframes spin {
3027
- to {
3028
- transform: rotate(360deg);
3029
- }
3519
+ /* Channel Slider & Row Styles */
3520
+ .pqc-channel-row {
3521
+ display: flex;
3522
+ align-items: center;
3523
+ gap: 8px;
3524
+ margin-bottom: 5px;
3030
3525
  }
3031
- .driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}
3526
+
3527
+ .pqc-channel-label {
3528
+ width: 14px;
3529
+ font-size: 11px;
3530
+ font-weight: 700;
3531
+ text-align: center;
3532
+ flex-shrink: 0;
3533
+ user-select: none;
3534
+ }
3535
+
3536
+ .pqc-slider {
3537
+ position: relative;
3538
+ flex: 1;
3539
+ height: 12px;
3540
+ border-radius: 6px;
3541
+ background: var(--pqc-_grad, #ddd);
3542
+ cursor: pointer;
3543
+ touch-action: none;
3544
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
3545
+ outline: none;
3546
+ }
3547
+
3548
+ .pqc-slider:focus-visible {
3549
+ box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.2);
3550
+ }
3551
+
3552
+ .pqc-slider-thumb {
3553
+ position: absolute;
3554
+ top: 50%;
3555
+ left: var(--pqc-_x, 0%);
3556
+ width: 14px;
3557
+ height: 14px;
3558
+ border-radius: 50%;
3559
+ background: #ffffff;
3560
+ border: 2px solid #ffffff;
3561
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.2);
3562
+ transform: translate(-50%, -50%);
3563
+ pointer-events: none;
3564
+ transition: transform 0.05s ease;
3565
+ }
3566
+
3567
+ .pqc-slider:active .pqc-slider-thumb {
3568
+ transform: translate(-50%, -50%) scale(1.15);
3569
+ }
3570
+
3571
+ .pqc-channel-input {
3572
+ width: 42px;
3573
+ height: 22px;
3574
+ padding: 1px 3px;
3575
+ font-size: 11px;
3576
+ font-weight: 600;
3577
+ text-align: center;
3578
+ border: 1px solid #d1d5db;
3579
+ border-radius: 5px;
3580
+ background: #ffffff;
3581
+ color: #1f2937;
3582
+ outline: none;
3583
+ transition: border-color 0.15s, box-shadow 0.15s;
3584
+ flex-shrink: 0;
3585
+ }
3586
+
3587
+ .pqc-channel-input:focus {
3588
+ border-color: #06b6d4;
3589
+ box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.2);
3590
+ }