@e-burgos/tucu-ui 2.7.2 → 2.8.0

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 (63) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/base.css +225 -0
  3. package/components/inputs/select.mjs +1 -1
  4. package/components/loaders/loader.mjs +21 -21
  5. package/components/typography/index.mjs +30 -30
  6. package/components/utils/code-block.mjs +1 -1
  7. package/hooks/use-breakpoint.mjs +21 -5
  8. package/hooks/use-click-away.mjs +17 -6
  9. package/hooks/use-copy-to-clipboard.mjs +45 -6
  10. package/hooks/use-measure.mjs +24 -4
  11. package/index.css +1 -1
  12. package/index.d.ts +29 -6
  13. package/index.js +9 -9
  14. package/macos/index.css +15 -0
  15. package/macos/sonoma/index.css +34 -0
  16. package/macos/sonoma/macos-auth.css +162 -0
  17. package/macos/sonoma/macos-backgrounds.css +314 -0
  18. package/macos/sonoma/macos-buttons.css +231 -0
  19. package/macos/sonoma/macos-cards.css +104 -0
  20. package/macos/sonoma/macos-content.css +157 -0
  21. package/macos/sonoma/macos-dialogs.css +122 -0
  22. package/macos/sonoma/macos-feedback.css +237 -0
  23. package/macos/sonoma/macos-fonts.css +7 -0
  24. package/macos/sonoma/macos-foundations.css +479 -0
  25. package/macos/sonoma/macos-inputs.css +1580 -0
  26. package/macos/sonoma/macos-layouts.css +223 -0
  27. package/macos/sonoma/macos-liquid-glass.css +279 -0
  28. package/macos/sonoma/macos-menus.css +184 -0
  29. package/macos/sonoma/macos-misc.css +635 -0
  30. package/macos/sonoma/macos-navigation.css +145 -0
  31. package/macos/sonoma/macos-selection.css +237 -0
  32. package/macos/sonoma/macos-sidebar.css +416 -0
  33. package/macos/sonoma/macos-tables.css +318 -0
  34. package/macos/sonoma/macos-toolbar.css +302 -0
  35. package/macos/sonoma/macos-typography.css +485 -0
  36. package/macos/sonoma/macos-window.css +273 -0
  37. package/macos/tahoe/index.css +34 -0
  38. package/macos/tahoe/macos-auth.css +162 -0
  39. package/macos/tahoe/macos-backgrounds.css +314 -0
  40. package/macos/tahoe/macos-buttons.css +286 -0
  41. package/macos/tahoe/macos-cards.css +125 -0
  42. package/macos/tahoe/macos-content.css +157 -0
  43. package/macos/tahoe/macos-dialogs.css +195 -0
  44. package/macos/tahoe/macos-feedback.css +273 -0
  45. package/macos/tahoe/macos-fonts.css +7 -0
  46. package/macos/tahoe/macos-foundations.css +516 -0
  47. package/macos/tahoe/macos-inputs.css +1656 -0
  48. package/macos/tahoe/macos-layouts.css +438 -0
  49. package/macos/tahoe/macos-liquid-glass.css +279 -0
  50. package/macos/tahoe/macos-menus.css +184 -0
  51. package/macos/tahoe/macos-misc.css +635 -0
  52. package/macos/tahoe/macos-navigation.css +191 -0
  53. package/macos/tahoe/macos-selection.css +237 -0
  54. package/macos/tahoe/macos-sidebar.css +420 -0
  55. package/macos/tahoe/macos-tables.css +320 -0
  56. package/macos/tahoe/macos-toolbar.css +304 -0
  57. package/macos/tahoe/macos-typography.css +485 -0
  58. package/macos/tahoe/macos-window.css +273 -0
  59. package/package.json +3 -3
  60. package/theme.css +812 -0
  61. package/third-party.css +39 -0
  62. package/utilities.css +105 -0
  63. package/hooks/internal/cjs-esm-interop.mjs +0 -9
package/theme.css ADDED
@@ -0,0 +1,812 @@
1
+ /* ===================================================================
2
+ TUCU-UI — THEME (Tailwind v4 consumer entry point)
3
+ ===================================================================
4
+
5
+ Tokens-only entry point for consumers who already run their own
6
+ Tailwind v4 build: `@theme` tokens, component-level styles in
7
+ Tailwind's own `base`/`components` layers (see base.css and
8
+ third-party.css for why those layers specifically), and `tucu-`
9
+ prefixed `@utility` registrations.
10
+
11
+ Deliberately does NOT `@import 'tailwindcss'` — no preflight, no
12
+ generated utility classes, so it never creates a second Tailwind
13
+ instance. Ships as a standalone `dist/theme.css`, copied verbatim
14
+ (not run through this library's own Tailwind build) so its `@theme`/
15
+ `@layer`/`@utility` directives reach the consumer's Tailwind
16
+ compiler unprocessed, for it to generate utilities from.
17
+
18
+ Usage in a consumer's own global stylesheet (import order does not
19
+ matter — see base.css for why):
20
+ @import 'tailwindcss';
21
+ @import '@e-burgos/tucu-ui/theme';
22
+ @source '../node_modules/@e-burgos/tucu-ui';
23
+
24
+ For non-Tailwind consumers, use `./styles` (index.css) instead —
25
+ a full compiled stylesheet, no separate Tailwind build required.
26
+ =================================================================== */
27
+
28
+ @import './macos/index.css';
29
+ @import './base.css';
30
+ @import './third-party.css';
31
+ @import './utilities.css';
32
+
33
+ @theme {
34
+ /* Screens/Breakpoints — removed custom definitions to avoid conflicts
35
+ with consumer's Tailwind config. Standard breakpoints (sm, md, lg, xl, 2xl)
36
+ come from Tailwind defaults. Custom breakpoints use arbitrary values
37
+ directly in components: min-[500px]: (xs), min-[1780px]: (3xl) */
38
+
39
+ /* ===================================================================
40
+ Tucu UI Design Tokens - Core Colors Spectrum (Light)
41
+ =================================================================== */
42
+ /* Blue Spectrum */
43
+ --color-tucu-ui-blue-0: #f5f8ff;
44
+ --color-tucu-ui-blue-5: #d3e1ff;
45
+ --color-tucu-ui-blue-10: #b0caff;
46
+ --color-tucu-ui-blue-15: #92b6ff;
47
+ --color-tucu-ui-blue-20: #73a2ff;
48
+ --color-tucu-ui-blue-30: #4684ff;
49
+ --color-tucu-ui-blue-40: #266eff;
50
+ --color-tucu-ui-blue-50: #105eff;
51
+ --color-tucu-ui-blue-60: #0052ff;
52
+ --color-tucu-ui-blue-70: #004beb;
53
+ --color-tucu-ui-blue-80: #003ec1;
54
+ --color-tucu-ui-blue-90: #002982;
55
+ --color-tucu-ui-blue-100: #00184d;
56
+
57
+ /* Green Spectrum */
58
+ --color-tucu-ui-green-0: #f5fffb;
59
+ --color-tucu-ui-green-5: #cbf5e3;
60
+ --color-tucu-ui-green-10: #a3ebcd;
61
+ --color-tucu-ui-green-15: #83e0ba;
62
+ --color-tucu-ui-green-20: #65d6a7;
63
+ --color-tucu-ui-green-30: #3cc28a;
64
+ --color-tucu-ui-green-40: #22ad73;
65
+ --color-tucu-ui-green-50: #129961;
66
+ --color-tucu-ui-green-60: #098551;
67
+ --color-tucu-ui-green-70: #047043;
68
+ --color-tucu-ui-green-80: #025332;
69
+ --color-tucu-ui-green-90: #003923;
70
+ --color-tucu-ui-green-100: #001f12;
71
+
72
+ /* Orange Spectrum */
73
+ --color-tucu-ui-orange-0: #fffaf5;
74
+ --color-tucu-ui-orange-5: #fee8d2;
75
+ --color-tucu-ui-orange-10: #fdd5b0;
76
+ --color-tucu-ui-orange-15: #fbc293;
77
+ --color-tucu-ui-orange-20: #f9ae76;
78
+ --color-tucu-ui-orange-30: #f48c4c;
79
+ --color-tucu-ui-orange-40: #ed702f;
80
+ --color-tucu-ui-orange-50: #e1591b;
81
+ --color-tucu-ui-orange-60: #cf470e;
82
+ --color-tucu-ui-orange-70: #b53606;
83
+ --color-tucu-ui-orange-80: #912702;
84
+ --color-tucu-ui-orange-90: #641a00;
85
+ --color-tucu-ui-orange-100: #330d00;
86
+
87
+ /* Gray Spectrum — aligned to Tailwind v4 default gray palette */
88
+ --color-tucu-ui-gray-0: #ffffff;
89
+ --color-tucu-ui-gray-5: #f9fafb;
90
+ --color-tucu-ui-gray-10: #f3f4f6;
91
+ --color-tucu-ui-gray-15: #e5e7eb;
92
+ --color-tucu-ui-gray-20: #d1d5dc;
93
+ --color-tucu-ui-gray-30: #99a1af;
94
+ --color-tucu-ui-gray-40: #828a99;
95
+ --color-tucu-ui-gray-50: #6a7282;
96
+ --color-tucu-ui-gray-60: #4a5565;
97
+ --color-tucu-ui-gray-70: #364153;
98
+ --color-tucu-ui-gray-80: #1e2939;
99
+ --color-tucu-ui-gray-90: #101828;
100
+ --color-tucu-ui-gray-100: #030712;
101
+
102
+ /* Indigo Spectrum */
103
+ --color-tucu-ui-indigo-0: #f6f7ff;
104
+ --color-tucu-ui-indigo-5: #e6e8ff;
105
+ --color-tucu-ui-indigo-10: #d6dafe;
106
+ --color-tucu-ui-indigo-15: #c6ccfd;
107
+ --color-tucu-ui-indigo-20: #b5bdfd;
108
+ --color-tucu-ui-indigo-30: #94a1fb;
109
+ --color-tucu-ui-indigo-40: #7487f7;
110
+ --color-tucu-ui-indigo-50: #596ff2;
111
+ --color-tucu-ui-indigo-60: #425be9;
112
+ --color-tucu-ui-indigo-70: #2f4ad7;
113
+ --color-tucu-ui-indigo-80: #1f36ad;
114
+ --color-tucu-ui-indigo-90: #11206b;
115
+ --color-tucu-ui-indigo-100: #080f33;
116
+
117
+ /* Pink Spectrum */
118
+ --color-tucu-ui-pink-0: #fff5ff;
119
+ --color-tucu-ui-pink-5: #fde4fd;
120
+ --color-tucu-ui-pink-10: #fbd4fa;
121
+ --color-tucu-ui-pink-15: #f8c3f5;
122
+ --color-tucu-ui-pink-20: #f4b2f0;
123
+ --color-tucu-ui-pink-30: #eb8fe3;
124
+ --color-tucu-ui-pink-40: #dd6ed1;
125
+ --color-tucu-ui-pink-50: #cb51bb;
126
+ --color-tucu-ui-pink-60: #b33aa2;
127
+ --color-tucu-ui-pink-70: #952785;
128
+ --color-tucu-ui-pink-80: #741a66;
129
+ --color-tucu-ui-pink-90: #531148;
130
+ --color-tucu-ui-pink-100: #330a2c;
131
+
132
+ /* Purple Spectrum */
133
+ --color-tucu-ui-purple-0: #fbf7ff;
134
+ --color-tucu-ui-purple-5: #f4e8ff;
135
+ --color-tucu-ui-purple-10: #edd9ff;
136
+ --color-tucu-ui-purple-15: #e6c9ff;
137
+ --color-tucu-ui-purple-20: #deb8ff;
138
+ --color-tucu-ui-purple-30: #cd99fd;
139
+ --color-tucu-ui-purple-40: #bc7bfb;
140
+ --color-tucu-ui-purple-50: #9d6bf2;
141
+ --color-tucu-ui-purple-60: #8a55e9;
142
+ --color-tucu-ui-purple-70: #7743d7;
143
+ --color-tucu-ui-purple-80: #5a30ad;
144
+ --color-tucu-ui-purple-90: #361b6b;
145
+ --color-tucu-ui-purple-100: #190d33;
146
+
147
+ /* Red Spectrum */
148
+ --color-tucu-ui-red-0: #fff5f6;
149
+ --color-tucu-ui-red-5: #fee1e4;
150
+ --color-tucu-ui-red-10: #fdced2;
151
+ --color-tucu-ui-red-15: #fbbabf;
152
+ --color-tucu-ui-red-20: #f9a6ad;
153
+ --color-tucu-ui-red-30: #f47f88;
154
+ --color-tucu-ui-red-40: #ed5966;
155
+ --color-tucu-ui-red-50: #e13947;
156
+ --color-tucu-ui-red-60: #cf202f;
157
+ --color-tucu-ui-red-70: #b50f1d;
158
+ --color-tucu-ui-red-80: #910510;
159
+ --color-tucu-ui-red-90: #640109;
160
+ --color-tucu-ui-red-100: #330004;
161
+
162
+ /* Teal Spectrum */
163
+ --color-tucu-ui-teal-0: #f0feff;
164
+ --color-tucu-ui-teal-5: #bcf6fd;
165
+ --color-tucu-ui-teal-10: #88edfb;
166
+ --color-tucu-ui-teal-15: #5de2f8;
167
+ --color-tucu-ui-teal-20: #33d5f4;
168
+ --color-tucu-ui-teal-30: #00bceb;
169
+ --color-tucu-ui-teal-40: #00a9dd;
170
+ --color-tucu-ui-teal-50: #0093cb;
171
+ --color-tucu-ui-teal-60: #007bb3;
172
+ --color-tucu-ui-teal-70: #006195;
173
+ --color-tucu-ui-teal-80: #004774;
174
+ --color-tucu-ui-teal-90: #002f53;
175
+ --color-tucu-ui-teal-100: #001b33;
176
+
177
+ /* Yellow Spectrum */
178
+ --color-tucu-ui-yellow-0: #fffcf1;
179
+ --color-tucu-ui-yellow-5: #fff4c0;
180
+ --color-tucu-ui-yellow-10: #fff091;
181
+ --color-tucu-ui-yellow-15: #ffea64;
182
+ --color-tucu-ui-yellow-20: #ffe436;
183
+ --color-tucu-ui-yellow-30: #f7d21a;
184
+ --color-tucu-ui-yellow-40: #ebba00;
185
+ --color-tucu-ui-yellow-50: #cf9700;
186
+ --color-tucu-ui-yellow-60: #ae7100;
187
+ --color-tucu-ui-yellow-70: #884c00;
188
+ --color-tucu-ui-yellow-80: #603000;
189
+ --color-tucu-ui-yellow-90: #3a1400;
190
+ --color-tucu-ui-yellow-100: #1b0600;
191
+
192
+ /* Chartreuse Spectrum */
193
+ --color-tucu-ui-chartreuse-0: #f5fffa;
194
+ --color-tucu-ui-chartreuse-5: #ddfbe8;
195
+ --color-tucu-ui-chartreuse-10: #c6f7d1;
196
+ --color-tucu-ui-chartreuse-15: #b0f2b6;
197
+ --color-tucu-ui-chartreuse-20: #9fee9b;
198
+ --color-tucu-ui-chartreuse-30: #89df75;
199
+ --color-tucu-ui-chartreuse-40: #7fd057;
200
+ --color-tucu-ui-chartreuse-50: #56b340;
201
+ --color-tucu-ui-chartreuse-60: #359730;
202
+ --color-tucu-ui-chartreuse-70: #237a2b;
203
+ --color-tucu-ui-chartreuse-80: #195d29;
204
+ --color-tucu-ui-chartreuse-90: #114023;
205
+ --color-tucu-ui-chartreuse-100: #071a11;
206
+
207
+ /* ===================================================================
208
+ Tucu UI Design Tokens - Core Colors Spectrum (Dark)
209
+ =================================================================== */
210
+ /* Blue Spectrum Dark */
211
+ --color-tucu-ui-dark-blue-0: #001033;
212
+ --color-tucu-ui-dark-blue-5: #011d5b;
213
+ --color-tucu-ui-dark-blue-10: #012a82;
214
+ --color-tucu-ui-dark-blue-15: #03339a;
215
+ --color-tucu-ui-dark-blue-20: #053bb1;
216
+ --color-tucu-ui-dark-blue-30: #0a48ce;
217
+ --color-tucu-ui-dark-blue-40: #1354e1;
218
+ --color-tucu-ui-dark-blue-50: #2162ee;
219
+ --color-tucu-ui-dark-blue-60: #3773f5;
220
+ --color-tucu-ui-dark-blue-70: #578bfa;
221
+ --color-tucu-ui-dark-blue-80: #84aafd;
222
+ --color-tucu-ui-dark-blue-90: #b9cfff;
223
+ --color-tucu-ui-dark-blue-100: #f5f8ff;
224
+
225
+ /* Green Spectrum Dark */
226
+ --color-tucu-ui-dark-green-0: #001f12;
227
+ --color-tucu-ui-dark-green-5: #00301d;
228
+ --color-tucu-ui-dark-green-10: #01462a;
229
+ --color-tucu-ui-dark-green-15: #025230;
230
+ --color-tucu-ui-dark-green-20: #025c37;
231
+ --color-tucu-ui-dark-green-30: #067044;
232
+ --color-tucu-ui-dark-green-40: #0b8552;
233
+ --color-tucu-ui-dark-green-50: #159962;
234
+ --color-tucu-ui-dark-green-60: #27ad75;
235
+ --color-tucu-ui-dark-green-70: #44c28d;
236
+ --color-tucu-ui-dark-green-80: #6fd6ab;
237
+ --color-tucu-ui-dark-green-90: #abebd0;
238
+ --color-tucu-ui-dark-green-100: #f5fffb;
239
+
240
+ /* Orange Spectrum Dark */
241
+ --color-tucu-ui-dark-orange-0: #330d00;
242
+ --color-tucu-ui-dark-orange-5: #4f1400;
243
+ --color-tucu-ui-dark-orange-10: #6b1c01;
244
+ --color-tucu-ui-dark-orange-15: #832402;
245
+ --color-tucu-ui-dark-orange-20: #9b2c04;
246
+ --color-tucu-ui-dark-orange-30: #bd3b09;
247
+ --color-tucu-ui-dark-orange-40: #d54c12;
248
+ --color-tucu-ui-dark-orange-50: #e66020;
249
+ --color-tucu-ui-dark-orange-60: #f07836;
250
+ --color-tucu-ui-dark-orange-70: #f89656;
251
+ --color-tucu-ui-dark-orange-80: #fcb983;
252
+ --color-tucu-ui-dark-orange-90: #fedbb9;
253
+ --color-tucu-ui-dark-orange-100: #fffaf5;
254
+
255
+ /* Gray Spectrum Dark — reversed from Tailwind v4 default gray palette */
256
+ --color-tucu-ui-dark-gray-0: #030712;
257
+ --color-tucu-ui-dark-gray-5: #0a101d;
258
+ --color-tucu-ui-dark-gray-10: #101828;
259
+ --color-tucu-ui-dark-gray-15: #172131;
260
+ --color-tucu-ui-dark-gray-20: #1e2939;
261
+ --color-tucu-ui-dark-gray-30: #364153;
262
+ --color-tucu-ui-dark-gray-40: #4a5565;
263
+ --color-tucu-ui-dark-gray-50: #6a7282;
264
+ --color-tucu-ui-dark-gray-60: #828a99;
265
+ --color-tucu-ui-dark-gray-70: #99a1af;
266
+ --color-tucu-ui-dark-gray-80: #d1d5dc;
267
+ --color-tucu-ui-dark-gray-90: #e5e7eb;
268
+ --color-tucu-ui-dark-gray-100: #ffffff;
269
+
270
+ /* Indigo Spectrum Dark */
271
+ --color-tucu-ui-dark-indigo-0: #080f33;
272
+ --color-tucu-ui-dark-indigo-5: #0e1b5b;
273
+ --color-tucu-ui-dark-indigo-10: #152782;
274
+ --color-tucu-ui-dark-indigo-15: #1b2f9a;
275
+ --color-tucu-ui-dark-indigo-20: #2138b1;
276
+ --color-tucu-ui-dark-indigo-30: #3049ce;
277
+ --color-tucu-ui-dark-indigo-40: #445ce1;
278
+ --color-tucu-ui-dark-indigo-50: #5c71ee;
279
+ --color-tucu-ui-dark-indigo-60: #798af5;
280
+ --color-tucu-ui-dark-indigo-70: #99a5fa;
281
+ --color-tucu-ui-dark-indigo-80: #bbc2fd;
282
+ --color-tucu-ui-dark-indigo-90: #dbdfff;
283
+ --color-tucu-ui-dark-indigo-100: #f6f7ff;
284
+
285
+ /* Pink Spectrum Dark */
286
+ --color-tucu-ui-dark-pink-0: #330a2c;
287
+ --color-tucu-ui-dark-pink-5: #460e3d;
288
+ --color-tucu-ui-dark-pink-10: #59134e;
289
+ --color-tucu-ui-dark-pink-15: #6c185e;
290
+ --color-tucu-ui-dark-pink-20: #7e1e6f;
291
+ --color-tucu-ui-dark-pink-30: #9f2c8e;
292
+ --color-tucu-ui-dark-pink-40: #bb40aa;
293
+ --color-tucu-ui-dark-pink-50: #d058c1;
294
+ --color-tucu-ui-dark-pink-60: #e175d6;
295
+ --color-tucu-ui-dark-pink-70: #ed95e6;
296
+ --color-tucu-ui-dark-pink-80: #f6b8f3;
297
+ --color-tucu-ui-dark-pink-90: #fcd9fb;
298
+ --color-tucu-ui-dark-pink-100: #fff5ff;
299
+
300
+ /* Purple Spectrum Dark */
301
+ --color-tucu-ui-dark-purple-0: #190d33;
302
+ --color-tucu-ui-dark-purple-5: #2b1659;
303
+ --color-tucu-ui-dark-purple-10: #491e89;
304
+ --color-tucu-ui-dark-purple-15: #6125af;
305
+ --color-tucu-ui-dark-purple-20: #7b2dd3;
306
+ --color-tucu-ui-dark-purple-30: #8e33ea;
307
+ --color-tucu-ui-dark-purple-40: #a454f4;
308
+ --color-tucu-ui-dark-purple-50: #bc7bfb;
309
+ --color-tucu-ui-dark-purple-60: #cd99fd;
310
+ --color-tucu-ui-dark-purple-70: #d9b0fe;
311
+ --color-tucu-ui-dark-purple-80: #e6c9ff;
312
+ --color-tucu-ui-dark-purple-90: #edd9ff;
313
+ --color-tucu-ui-dark-purple-100: #fbf7ff;
314
+
315
+ /* Red Spectrum Dark */
316
+ --color-tucu-ui-dark-red-0: #330004;
317
+ --color-tucu-ui-dark-red-5: #4f0007;
318
+ --color-tucu-ui-dark-red-10: #6b010a;
319
+ --color-tucu-ui-dark-red-15: #83040e;
320
+ --color-tucu-ui-dark-red-20: #9b0713;
321
+ --color-tucu-ui-dark-red-30: #bd1321;
322
+ --color-tucu-ui-dark-red-40: #d52634;
323
+ --color-tucu-ui-dark-red-50: #e6404e;
324
+ --color-tucu-ui-dark-red-60: #f0616d;
325
+ --color-tucu-ui-dark-red-70: #f88690;
326
+ --color-tucu-ui-dark-red-80: #fcaeb5;
327
+ --color-tucu-ui-dark-red-90: #fed5d8;
328
+ --color-tucu-ui-dark-red-100: #fff5f6;
329
+
330
+ /* Teal Spectrum Dark */
331
+ --color-tucu-ui-dark-teal-0: #001426;
332
+ --color-tucu-ui-dark-teal-5: #00203b;
333
+ --color-tucu-ui-dark-teal-10: #002d4f;
334
+ --color-tucu-ui-dark-teal-15: #003a63;
335
+ --color-tucu-ui-dark-teal-20: #004876;
336
+ --color-tucu-ui-dark-teal-30: #006399;
337
+ --color-tucu-ui-dark-teal-40: #007db6;
338
+ --color-tucu-ui-dark-teal-50: #0095cd;
339
+ --color-tucu-ui-dark-teal-60: #00aadf;
340
+ --color-tucu-ui-dark-teal-70: #06beec;
341
+ --color-tucu-ui-dark-teal-80: #45d9f5;
342
+ --color-tucu-ui-dark-teal-90: #95effb;
343
+ --color-tucu-ui-dark-teal-100: #f0feff;
344
+
345
+ /* Yellow Spectrum Dark */
346
+ --color-tucu-ui-dark-yellow-0: #1b0600;
347
+ --color-tucu-ui-dark-yellow-5: #311100;
348
+ --color-tucu-ui-dark-yellow-10: #512800;
349
+ --color-tucu-ui-dark-yellow-15: #603000;
350
+ --color-tucu-ui-dark-yellow-20: #734000;
351
+ --color-tucu-ui-dark-yellow-30: #936000;
352
+ --color-tucu-ui-dark-yellow-40: #af8000;
353
+ --color-tucu-ui-dark-yellow-50: #c79e00;
354
+ --color-tucu-ui-dark-yellow-60: #debd17;
355
+ --color-tucu-ui-dark-yellow-70: #e5cd30;
356
+ --color-tucu-ui-dark-yellow-80: #f2de5e;
357
+ --color-tucu-ui-dark-yellow-90: #fff091;
358
+ --color-tucu-ui-dark-yellow-100: #fffcf1;
359
+
360
+ /* Chartreuse Spectrum Dark */
361
+ --color-tucu-ui-dark-chartreuse-0: #05160e;
362
+ --color-tucu-ui-dark-chartreuse-5: #0e361d;
363
+ --color-tucu-ui-dark-chartreuse-10: #154f22;
364
+ --color-tucu-ui-dark-chartreuse-15: #1d6724;
365
+ --color-tucu-ui-dark-chartreuse-20: #2d8028;
366
+ --color-tucu-ui-dark-chartreuse-30: #499836;
367
+ --color-tucu-ui-dark-chartreuse-40: #6bb049;
368
+ --color-tucu-ui-dark-chartreuse-50: #7bc869;
369
+ --color-tucu-ui-dark-chartreuse-60: #8cd188;
370
+ --color-tucu-ui-dark-chartreuse-70: #9ed9a3;
371
+ --color-tucu-ui-dark-chartreuse-80: #b2debc;
372
+ --color-tucu-ui-dark-chartreuse-90: #d1eedc;
373
+ --color-tucu-ui-dark-chartreuse-100: #f5fffa;
374
+
375
+ /* ===================================================================
376
+ Core Colors Spectrum (Switchable layer - defaults to light primitives)
377
+ These get overridden by html.light / html.dark selectors
378
+ Needed here for Tailwind utility class registration (bg-blue-0, text-green-60, etc.)
379
+ =================================================================== */
380
+
381
+ /* Blue Spectrum */
382
+ --color-blue-0: var(--color-tucu-ui-blue-0);
383
+ --color-blue-5: var(--color-tucu-ui-blue-5);
384
+ --color-blue-10: var(--color-tucu-ui-blue-10);
385
+ --color-blue-15: var(--color-tucu-ui-blue-15);
386
+ --color-blue-20: var(--color-tucu-ui-blue-20);
387
+ --color-blue-30: var(--color-tucu-ui-blue-30);
388
+ --color-blue-40: var(--color-tucu-ui-blue-40);
389
+ /* --color-blue-50: var(--color-tucu-ui-blue-50); */
390
+ --color-blue-60: var(--color-tucu-ui-blue-60);
391
+ --color-blue-70: var(--color-tucu-ui-blue-70);
392
+ --color-blue-80: var(--color-tucu-ui-blue-80);
393
+ --color-blue-90: var(--color-tucu-ui-blue-90);
394
+ /* --color-blue-100: var(--color-tucu-ui-blue-100); */
395
+
396
+ /* Green Spectrum */
397
+ --color-green-0: var(--color-tucu-ui-green-0);
398
+ --color-green-5: var(--color-tucu-ui-green-5);
399
+ --color-green-10: var(--color-tucu-ui-green-10);
400
+ --color-green-15: var(--color-tucu-ui-green-15);
401
+ --color-green-20: var(--color-tucu-ui-green-20);
402
+ --color-green-30: var(--color-tucu-ui-green-30);
403
+ --color-green-40: var(--color-tucu-ui-green-40);
404
+ /* --color-green-50: var(--color-tucu-ui-green-50); */
405
+ --color-green-60: var(--color-tucu-ui-green-60);
406
+ --color-green-70: var(--color-tucu-ui-green-70);
407
+ --color-green-80: var(--color-tucu-ui-green-80);
408
+ --color-green-90: var(--color-tucu-ui-green-90);
409
+ /* --color-green-100: var(--color-tucu-ui-green-100); */
410
+
411
+ /* Orange Spectrum */
412
+ --color-orange-0: var(--color-tucu-ui-orange-0);
413
+ --color-orange-5: var(--color-tucu-ui-orange-5);
414
+ --color-orange-10: var(--color-tucu-ui-orange-10);
415
+ --color-orange-15: var(--color-tucu-ui-orange-15);
416
+ --color-orange-20: var(--color-tucu-ui-orange-20);
417
+ --color-orange-30: var(--color-tucu-ui-orange-30);
418
+ --color-orange-40: var(--color-tucu-ui-orange-40);
419
+ /* --color-orange-50: var(--color-tucu-ui-orange-50); */
420
+ --color-orange-60: var(--color-tucu-ui-orange-60);
421
+ --color-orange-70: var(--color-tucu-ui-orange-70);
422
+ --color-orange-80: var(--color-tucu-ui-orange-80);
423
+ --color-orange-90: var(--color-tucu-ui-orange-90);
424
+ /* --color-orange-100: var(--color-tucu-ui-orange-100); */
425
+
426
+ /* Gray Spectrum */
427
+ --color-gray-0: var(--color-tucu-ui-gray-0);
428
+ --color-gray-5: var(--color-tucu-ui-gray-5);
429
+ --color-gray-10: var(--color-tucu-ui-gray-10);
430
+ --color-gray-15: var(--color-tucu-ui-gray-15);
431
+ --color-gray-20: var(--color-tucu-ui-gray-20);
432
+ --color-gray-30: var(--color-tucu-ui-gray-30);
433
+ --color-gray-40: var(--color-tucu-ui-gray-40);
434
+ /* --color-gray-50: var(--color-tucu-ui-gray-50); */
435
+ --color-gray-60: var(--color-tucu-ui-gray-60);
436
+ --color-gray-70: var(--color-tucu-ui-gray-70);
437
+ --color-gray-80: var(--color-tucu-ui-gray-80);
438
+ --color-gray-90: var(--color-tucu-ui-gray-90);
439
+ /* --color-gray-100: var(--color-tucu-ui-gray-100); */
440
+
441
+ /* Indigo Spectrum */
442
+ --color-indigo-0: var(--color-tucu-ui-indigo-0);
443
+ --color-indigo-5: var(--color-tucu-ui-indigo-5);
444
+ --color-indigo-10: var(--color-tucu-ui-indigo-10);
445
+ --color-indigo-15: var(--color-tucu-ui-indigo-15);
446
+ --color-indigo-20: var(--color-tucu-ui-indigo-20);
447
+ --color-indigo-30: var(--color-tucu-ui-indigo-30);
448
+ --color-indigo-40: var(--color-tucu-ui-indigo-40);
449
+ /* --color-indigo-50: var(--color-tucu-ui-indigo-50); */
450
+ --color-indigo-60: var(--color-tucu-ui-indigo-60);
451
+ --color-indigo-70: var(--color-tucu-ui-indigo-70);
452
+ --color-indigo-80: var(--color-tucu-ui-indigo-80);
453
+ --color-indigo-90: var(--color-tucu-ui-indigo-90);
454
+ /* --color-indigo-100: var(--color-tucu-ui-indigo-100); */
455
+
456
+ /* Pink Spectrum */
457
+ --color-pink-0: var(--color-tucu-ui-pink-0);
458
+ --color-pink-5: var(--color-tucu-ui-pink-5);
459
+ --color-pink-10: var(--color-tucu-ui-pink-10);
460
+ --color-pink-15: var(--color-tucu-ui-pink-15);
461
+ --color-pink-20: var(--color-tucu-ui-pink-20);
462
+ --color-pink-30: var(--color-tucu-ui-pink-30);
463
+ --color-pink-40: var(--color-tucu-ui-pink-40);
464
+ /* --color-pink-50: var(--color-tucu-ui-pink-50); */
465
+ --color-pink-60: var(--color-tucu-ui-pink-60);
466
+ --color-pink-70: var(--color-tucu-ui-pink-70);
467
+ --color-pink-80: var(--color-tucu-ui-pink-80);
468
+ --color-pink-90: var(--color-tucu-ui-pink-90);
469
+ /* --color-pink-100: var(--color-tucu-ui-pink-100); */
470
+
471
+ /* Purple Spectrum */
472
+ --color-purple-0: var(--color-tucu-ui-purple-0);
473
+ --color-purple-5: var(--color-tucu-ui-purple-5);
474
+ --color-purple-10: var(--color-tucu-ui-purple-10);
475
+ --color-purple-15: var(--color-tucu-ui-purple-15);
476
+ --color-purple-20: var(--color-tucu-ui-purple-20);
477
+ --color-purple-30: var(--color-tucu-ui-purple-30);
478
+ --color-purple-40: var(--color-tucu-ui-purple-40);
479
+ /* --color-purple-50: var(--color-tucu-ui-purple-50); */
480
+ --color-purple-60: var(--color-tucu-ui-purple-60);
481
+ --color-purple-70: var(--color-tucu-ui-purple-70);
482
+ --color-purple-80: var(--color-tucu-ui-purple-80);
483
+ --color-purple-90: var(--color-tucu-ui-purple-90);
484
+ /* --color-purple-100: var(--color-tucu-ui-purple-100); */
485
+
486
+ /* Red Spectrum */
487
+ --color-red-0: var(--color-tucu-ui-red-0);
488
+ --color-red-5: var(--color-tucu-ui-red-5);
489
+ --color-red-10: var(--color-tucu-ui-red-10);
490
+ --color-red-15: var(--color-tucu-ui-red-15);
491
+ --color-red-20: var(--color-tucu-ui-red-20);
492
+ --color-red-30: var(--color-tucu-ui-red-30);
493
+ --color-red-40: var(--color-tucu-ui-red-40);
494
+ /* --color-red-50: var(--color-tucu-ui-red-50); */
495
+ --color-red-60: var(--color-tucu-ui-red-60);
496
+ --color-red-70: var(--color-tucu-ui-red-70);
497
+ --color-red-80: var(--color-tucu-ui-red-80);
498
+ --color-red-90: var(--color-tucu-ui-red-90);
499
+ /* --color-red-100: var(--color-tucu-ui-red-100); */
500
+
501
+ /* Teal Spectrum */
502
+ --color-teal-0: var(--color-tucu-ui-teal-0);
503
+ --color-teal-5: var(--color-tucu-ui-teal-5);
504
+ --color-teal-10: var(--color-tucu-ui-teal-10);
505
+ --color-teal-15: var(--color-tucu-ui-teal-15);
506
+ --color-teal-20: var(--color-tucu-ui-teal-20);
507
+ --color-teal-30: var(--color-tucu-ui-teal-30);
508
+ --color-teal-40: var(--color-tucu-ui-teal-40);
509
+ /* --color-teal-50: var(--color-tucu-ui-teal-50); */
510
+ --color-teal-60: var(--color-tucu-ui-teal-60);
511
+ --color-teal-70: var(--color-tucu-ui-teal-70);
512
+ --color-teal-80: var(--color-tucu-ui-teal-80);
513
+ --color-teal-90: var(--color-tucu-ui-teal-90);
514
+ /* --color-teal-100: var(--color-tucu-ui-teal-100); */
515
+
516
+ /* Yellow Spectrum */
517
+ --color-yellow-0: var(--color-tucu-ui-yellow-0);
518
+ --color-yellow-5: var(--color-tucu-ui-yellow-5);
519
+ --color-yellow-10: var(--color-tucu-ui-yellow-10);
520
+ --color-yellow-15: var(--color-tucu-ui-yellow-15);
521
+ --color-yellow-20: var(--color-tucu-ui-yellow-20);
522
+ --color-yellow-30: var(--color-tucu-ui-yellow-30);
523
+ --color-yellow-40: var(--color-tucu-ui-yellow-40);
524
+ /* --color-yellow-50: var(--color-tucu-ui-yellow-50); */
525
+ --color-yellow-60: var(--color-tucu-ui-yellow-60);
526
+ --color-yellow-70: var(--color-tucu-ui-yellow-70);
527
+ --color-yellow-80: var(--color-tucu-ui-yellow-80);
528
+ --color-yellow-90: var(--color-tucu-ui-yellow-90);
529
+ /* --color-yellow-100: var(--color-tucu-ui-yellow-100); */
530
+
531
+ /* Chartreuse Spectrum */
532
+ --color-chartreuse-0: var(--color-tucu-ui-chartreuse-0);
533
+ --color-chartreuse-5: var(--color-tucu-ui-chartreuse-5);
534
+ --color-chartreuse-10: var(--color-tucu-ui-chartreuse-10);
535
+ --color-chartreuse-15: var(--color-tucu-ui-chartreuse-15);
536
+ --color-chartreuse-20: var(--color-tucu-ui-chartreuse-20);
537
+ --color-chartreuse-30: var(--color-tucu-ui-chartreuse-30);
538
+ --color-chartreuse-40: var(--color-tucu-ui-chartreuse-40);
539
+ /* --color-chartreuse-50: var(--color-tucu-ui-chartreuse-50); */
540
+ --color-chartreuse-60: var(--color-tucu-ui-chartreuse-60);
541
+ --color-chartreuse-70: var(--color-tucu-ui-chartreuse-70);
542
+ --color-chartreuse-80: var(--color-tucu-ui-chartreuse-80);
543
+ --color-chartreuse-90: var(--color-tucu-ui-chartreuse-90);
544
+ /* --color-chartreuse-100: var(--color-tucu-ui-chartreuse-10); */
545
+
546
+ /* ===================================================================
547
+ Tucu UI Design Tokens - Semantic Colors (Light)
548
+ =================================================================== */
549
+
550
+ /* Foreground */
551
+ --color-semantic-fg: var(--color-tucu-ui-gray-100);
552
+ --color-semantic-fg-muted: var(--color-tucu-ui-gray-60);
553
+ --color-semantic-fg-inverse: var(--color-tucu-ui-gray-0);
554
+ --color-semantic-fg-primary: var(--color-tucu-ui-blue-60);
555
+ --color-semantic-fg-warning: var(--color-tucu-ui-orange-60);
556
+ --color-semantic-fg-positive: var(--color-tucu-ui-green-60);
557
+ --color-semantic-fg-negative: var(--color-tucu-ui-red-60);
558
+
559
+ /* Background */
560
+ --color-semantic-bg: var(--color-tucu-ui-gray-0);
561
+ --color-semantic-bg-alternate: var(--color-tucu-ui-gray-10);
562
+ --color-semantic-bg-inverse: var(--color-tucu-ui-gray-100);
563
+ --color-semantic-bg-primary: var(--color-tucu-ui-blue-60);
564
+ --color-semantic-bg-primary-wash: var(--color-tucu-ui-blue-0);
565
+ --color-semantic-bg-secondary: var(--color-tucu-ui-gray-10);
566
+ --color-semantic-bg-tertiary: var(--color-tucu-ui-gray-20);
567
+ --color-semantic-bg-secondary-wash: var(--color-tucu-ui-gray-5);
568
+ --color-semantic-bg-negative: var(--color-tucu-ui-red-60);
569
+ --color-semantic-bg-negative-wash: var(--color-tucu-ui-red-0);
570
+ --color-semantic-bg-positive: var(--color-tucu-ui-green-60);
571
+ --color-semantic-bg-positive-wash: var(--color-tucu-ui-green-0);
572
+ --color-semantic-bg-warning: var(--color-tucu-ui-orange-40);
573
+ --color-semantic-bg-warning-wash: var(--color-tucu-ui-orange-0);
574
+
575
+ /* Line */
576
+ --color-semantic-line-primary: var(--color-tucu-ui-gray-20);
577
+ --color-semantic-line-primary-subtle: color-mix(
578
+ in oklab,
579
+ var(--color-black) 10%,
580
+ transparent
581
+ );
582
+ --color-semantic-line-inverse: var(--color-tucu-ui-gray-0);
583
+
584
+ /* Elevation */
585
+ --color-semantic-elevation-1: var(--color-tucu-ui-gray-0);
586
+ --color-semantic-elevation-2: var(--color-tucu-ui-gray-0);
587
+
588
+ /* Accent */
589
+ --color-semantic-accent-subtle-green: var(--color-tucu-ui-green-0);
590
+ --color-semantic-accent-bold-green: var(--color-tucu-ui-green-60);
591
+ --color-semantic-accent-subtle-blue: var(--color-tucu-ui-blue-0);
592
+ --color-semantic-accent-bold-blue: var(--color-tucu-ui-blue-60);
593
+ --color-semantic-accent-subtle-purple: var(--color-tucu-ui-purple-0);
594
+ --color-semantic-accent-bold-purple: var(--color-tucu-ui-purple-80);
595
+ --color-semantic-accent-subtle-yellow: var(--color-tucu-ui-yellow-0);
596
+ --color-semantic-accent-bold-yellow: var(--color-tucu-ui-yellow-30);
597
+ --color-semantic-accent-subtle-red: var(--color-tucu-ui-red-0);
598
+ --color-semantic-accent-bold-red: var(--color-tucu-ui-red-60);
599
+ --color-semantic-accent-subtle-gray: var(--color-tucu-ui-gray-10);
600
+ --color-semantic-accent-bold-gray: var(--color-tucu-ui-gray-80);
601
+
602
+ /* ===================================================================
603
+ Tucu UI Design Tokens - Semantic Colors (Dark)
604
+ =================================================================== */
605
+
606
+ /* Foreground Dark */
607
+ --color-semantic-dark-fg: var(--color-tucu-ui-dark-gray-100);
608
+ --color-semantic-dark-fg-muted: var(--color-tucu-ui-dark-gray-60);
609
+ --color-semantic-dark-fg-inverse: var(--color-tucu-ui-dark-gray-0);
610
+ --color-semantic-dark-fg-primary: var(--color-tucu-ui-dark-blue-70);
611
+ --color-semantic-dark-fg-warning: var(--color-tucu-ui-dark-orange-70);
612
+ --color-semantic-dark-fg-positive: var(--color-tucu-ui-dark-green-60);
613
+ --color-semantic-dark-fg-negative: var(--color-tucu-ui-dark-red-60);
614
+
615
+ /* Background Dark */
616
+ --color-semantic-dark-bg: var(--color-tucu-ui-dark-gray-0);
617
+ --color-semantic-dark-bg-alternate: var(--color-tucu-ui-dark-gray-5);
618
+ --color-semantic-dark-bg-inverse: var(--color-tucu-ui-dark-gray-100);
619
+ --color-semantic-dark-bg-primary: var(--color-tucu-ui-dark-blue-70);
620
+ --color-semantic-dark-bg-primary-wash: var(--color-tucu-ui-dark-blue-0);
621
+ --color-semantic-dark-bg-secondary: var(--color-tucu-ui-dark-gray-15);
622
+ --color-semantic-dark-bg-tertiary: var(--color-tucu-ui-dark-gray-20);
623
+ --color-semantic-dark-bg-secondary-wash: var(
624
+ --color-tucu-ui-dark-gray-5
625
+ );
626
+ --color-semantic-dark-bg-negative: var(--color-tucu-ui-dark-red-60);
627
+ --color-semantic-dark-bg-negative-wash: var(--color-tucu-ui-dark-red-0);
628
+ --color-semantic-dark-bg-positive: var(--color-tucu-ui-dark-green-60);
629
+ --color-semantic-dark-bg-positive-wash: var(--color-tucu-ui-dark-green-0);
630
+ --color-semantic-dark-bg-warning: var(--color-tucu-ui-dark-yellow-50);
631
+ --color-semantic-dark-bg-warning-wash: var(--color-tucu-ui-dark-orange-0);
632
+ --color-semantic-dark-bg-info: var(--color-tucu-ui-dark-blue-70);
633
+
634
+ /* Line Dark */
635
+ --color-semantic-dark-line-primary: var(--color-tucu-ui-dark-gray-20);
636
+ --color-semantic-dark-line-primary-subtle: color-mix(
637
+ in oklab,
638
+ var(--color-white) 8%,
639
+ transparent
640
+ );
641
+ --color-semantic-dark-line-inverse: var(--color-tucu-ui-dark-gray-0);
642
+
643
+ /* Elevation Dark */
644
+ --color-semantic-dark-elevation-1: var(--color-tucu-ui-dark-gray-5);
645
+ --color-semantic-dark-elevation-2: var(--color-tucu-ui-dark-gray-10);
646
+
647
+ /* Accent Dark */
648
+ --color-semantic-dark-accent-subtle-green: var(--color-tucu-ui-dark-green-0);
649
+ --color-semantic-dark-accent-bold-green: var(--color-tucu-ui-dark-green-60);
650
+ --color-semantic-dark-accent-subtle-blue: var(--color-tucu-ui-dark-blue-0);
651
+ --color-semantic-dark-accent-bold-blue: var(--color-tucu-ui-dark-blue-60);
652
+ --color-semantic-dark-accent-subtle-purple: var(
653
+ --color-tucu-ui-dark-purple-0
654
+ );
655
+ --color-semantic-dark-accent-bold-purple: var(--color-tucu-ui-dark-purple-80);
656
+ --color-semantic-dark-accent-subtle-yellow: var(
657
+ --color-tucu-ui-dark-yellow-0
658
+ );
659
+ --color-semantic-dark-accent-bold-yellow: var(--color-tucu-ui-dark-yellow-30);
660
+ --color-semantic-dark-accent-subtle-red: var(--color-tucu-ui-dark-red-0);
661
+ --color-semantic-dark-accent-bold-red: var(--color-tucu-ui-dark-red-60);
662
+ --color-semantic-dark-accent-subtle-gray: var(--color-tucu-ui-dark-gray-10);
663
+ --color-semantic-dark-accent-bold-gray: var(--color-tucu-ui-dark-gray-80);
664
+
665
+ --color-black: #000000;
666
+ --color-white: #ffffff;
667
+
668
+ /* ===================================================================
669
+ Tailwind Spacing Scale
670
+ =================================================================== */
671
+
672
+ /* Dynamic multiplier: enables full Tailwind scale (0, 0.5, 1, 1.5, …, 96) */
673
+ /* Each unit = 0.25rem (4px). E.g. p-4 = 16px, p-24 = 96px, gap-0.5 = 2px */
674
+ --spacing: 4px;
675
+
676
+ /* ===================================================================
677
+ Tucu UI Design Tokens - Sizing (Raw Variables)
678
+ =================================================================== */
679
+ /* Icon Sizes */
680
+ --size-icon-xs: 12px;
681
+ --size-icon-s: 16px;
682
+ --size-icon-m: 24px;
683
+ --size-icon-l: 32px;
684
+
685
+ /* Avatar Sizes */
686
+ --size-avatar-s: 16px;
687
+ --size-avatar-m: 24px;
688
+ --size-avatar-l: 32px;
689
+ --size-avatar-xl: 40px;
690
+ --size-avatar-xxl: 48px;
691
+ --size-avatar-xxxl: 56px;
692
+
693
+ /* Icon Sizes - Generate w-icon-xs, h-icon-xs, size-icon-xs, etc. */
694
+ --width-icon-xs: var(--size-icon-xs);
695
+ --height-icon-xs: var(--size-icon-xs);
696
+ --width-icon-s: var(--size-icon-s);
697
+ --height-icon-s: var(--size-icon-s);
698
+ --width-icon-m: var(--size-icon-m);
699
+ --height-icon-m: var(--size-icon-m);
700
+ --width-icon-l: var(--size-icon-l);
701
+ --height-icon-l: var(--size-icon-l);
702
+
703
+ /* Avatar Sizes - Generate w-avatar-s, h-avatar-s, size-avatar-s, etc. */
704
+ --width-avatar-s: var(--size-avatar-s);
705
+ --height-avatar-s: var(--size-avatar-s);
706
+ --width-avatar-m: var(--size-avatar-m);
707
+ --height-avatar-m: var(--size-avatar-m);
708
+ --width-avatar-l: var(--size-avatar-l);
709
+ --height-avatar-l: var(--size-avatar-l);
710
+ --width-avatar-xl: var(--size-avatar-xl);
711
+ --height-avatar-xl: var(--size-avatar-xl);
712
+ --width-avatar-xxl: var(--size-avatar-xxl);
713
+ --height-avatar-xxl: var(--size-avatar-xxl);
714
+ --width-avatar-xxxl: var(--size-avatar-xxxl);
715
+ --height-avatar-xxxl: var(--size-avatar-xxxl);
716
+
717
+ /* ===================================================================
718
+ Other Variables
719
+ =================================================================== */
720
+
721
+ /* Background Image */
722
+ --background-image-gradient-radial: radial-gradient(var(--tw-gradient-stops));
723
+
724
+ --border-width-3: 3px;
725
+
726
+ --shadow-main: 0px 6px 18px rgba(0, 0, 0, 0.04);
727
+ --shadow-light: 0px 4px 4px rgba(0, 0, 0, 0.08);
728
+ --shadow-large: 0px 8px 16px rgba(17, 24, 39, 0.1);
729
+ --shadow-card: 0px 2px 6px rgba(0, 0, 0, 0.06);
730
+ --shadow-transaction: 0px 8px 16px rgba(17, 24, 39, 0.06);
731
+ --shadow-expand: 0px 0px 50px rgba(17, 24, 39, 0.2);
732
+ --shadow-button: 0px 2px 4px rgba(0, 0, 0, 0.06),
733
+ 0px 4px 6px rgba(0, 0, 0, 0.1);
734
+
735
+ --drop-shadow-main: 0px 4px 8px rgba(0, 0, 0, 0.08);
736
+
737
+ --animate-blink: blink 1.4s infinite both;
738
+ --animate-move-up: moveUp 500ms infinite alternate;
739
+ --animate-scale-up: scaleUp 500ms infinite alternate;
740
+ --animate-drip-expand: expand 500ms ease-in forwards;
741
+ --animate-drip-expand-large: expand-large 600ms ease-in forwards;
742
+ --animate-move-up-small: moveUpSmall 500ms infinite alternate;
743
+
744
+ /* ===================================================================
745
+ Typography
746
+ =================================================================== */
747
+ --font-family-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont,
748
+ 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
749
+ 'Helvetica Neue', sans-serif;
750
+ --font-family-mono: 'JetBrains Mono', SFMono-Regular, Menlo, Monaco, Consolas,
751
+ 'Liberation Mono', 'Courier New', monospace;
752
+ --font-sans: var(--font-family-sans);
753
+ --font-mono: var(--font-family-mono);
754
+
755
+ --font-size-13px: 13px;
756
+ --font-size-13px--line-height: 18px;
757
+
758
+ /* Typography Plugin Configuration */
759
+ --typography-body-font-family: var(--font-family-sans);
760
+ --typography-body-color: var(--color-semantic-fg);
761
+ --typography-body-bg: var(--color-semantic-bg);
762
+
763
+ --typography-pre-font-family: var(--font-family-mono);
764
+ --typography-pre-color: var(--color-semantic-fg);
765
+ --typography-pre-bg: var(--color-semantic-bg-alternate);
766
+
767
+ --typography-code-font-family: var(--font-family-mono);
768
+ --typography-code-bg: var(--color-semantic-bg-alternate);
769
+ --typography-code-color: var(--color-semantic-fg-negative);
770
+ --typography-code-font-weight: 400;
771
+ --typography-code-border-radius: 0.25rem;
772
+
773
+ /* Font Color */
774
+ --font-primary-color: var(--color-semantic-fg);
775
+ --font-secondary-color: var(--color-semantic-fg-muted);
776
+ --font-primary-dark-color: var(--color-semantic-dark-fg);
777
+ --font-secondary-dark-color: var(--color-semantic-dark-fg-muted);
778
+
779
+ /* ===================================================================
780
+ Theme Alias Colors (utility class registration)
781
+ Actual values set by html.light / html.dark selectors
782
+ =================================================================== */
783
+ --color-brand: var(--color-semantic-bg-primary);
784
+ --color-primary: var(--color-semantic-bg-primary);
785
+ --color-secondary: var(--color-semantic-bg-secondary);
786
+ --color-accent: var(--color-semantic-accent-bold-yellow);
787
+ --color-muted: var(--color-semantic-fg-muted);
788
+ --color-border: var(
789
+ --color-semantic-line-primary-subtle,
790
+ color-mix(in oklab, var(--color-black) 10%, transparent)
791
+ );
792
+ --swiper-theme-color: var(--color-brand);
793
+ --color-success: var(--color-semantic-bg-positive);
794
+ --color-warning: var(--color-semantic-bg-warning);
795
+ --color-error: var(--color-semantic-bg-negative);
796
+ --color-info: var(--color-semantic-bg-primary);
797
+ --color-foreground: var(--font-primary-color);
798
+ --color-body: var(--color-semantic-bg);
799
+ --color-dark: var(--color-semantic-dark-bg);
800
+ --color-light: var(--color-semantic-bg);
801
+ --color-light-dark: var(--color-semantic-bg-secondary-wash);
802
+ --text-primary-color: var(--font-primary-color);
803
+ --text-secondary-color: var(--font-secondary-color);
804
+ /* Hero grid line color — changes per theme mode */
805
+ --hero-grid-color: var(--color-gray-200);
806
+ }
807
+
808
+ /* Configure dark mode to only use class strategy */
809
+ @variant dark (.dark &);
810
+
811
+ /* Plugin for Typography */
812
+ @plugin "@tailwindcss/typography";