@clasing/ui 2.0.4 → 2.0.5

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 (104) hide show
  1. package/dist/{badge-B_J-uqVk.js → badge-DgjaD6g5.js} +5 -5
  2. package/dist/{badge-BMe7WNGM.cjs → badge-DuEEk3J_.cjs} +1 -1
  3. package/dist/{button-DPbsJTTm.js → button-D8hlW1CJ.js} +103 -103
  4. package/dist/button-U1793OQ4.cjs +1 -0
  5. package/dist/{card-DiFJZ6gb.cjs → card-BJMc0row.cjs} +1 -1
  6. package/dist/{card-3-vRPTXr.js → card-DPaMJS2f.js} +1 -1
  7. package/dist/{chip-wy9RL5iU.js → chip-C5OWe3FG.js} +16 -16
  8. package/dist/chip-CXa6E8Cf.cjs +1 -0
  9. package/dist/command-B7wbtmbM.cjs +1 -0
  10. package/dist/{command-DTwO6Xc5.js → command-RWDkdfba.js} +64 -64
  11. package/dist/components/accordion.cjs.js +1 -1
  12. package/dist/components/accordion.es.js +15 -15
  13. package/dist/components/alert-dialog.cjs.js +1 -1
  14. package/dist/components/alert-dialog.es.js +3 -3
  15. package/dist/components/alert.cjs.js +1 -1
  16. package/dist/components/alert.es.js +20 -20
  17. package/dist/components/avatar.cjs.js +1 -1
  18. package/dist/components/avatar.es.js +9 -9
  19. package/dist/components/badge.cjs.js +1 -1
  20. package/dist/components/badge.es.js +1 -1
  21. package/dist/components/blocks/interactive-card.cjs.js +1 -1
  22. package/dist/components/blocks/interactive-card.es.js +37 -37
  23. package/dist/components/blocks/selectable-chips.cjs.js +1 -1
  24. package/dist/components/blocks/selectable-chips.es.js +10 -10
  25. package/dist/components/breadcrumb.cjs.js +1 -1
  26. package/dist/components/breadcrumb.es.js +6 -6
  27. package/dist/components/button.cjs.js +1 -1
  28. package/dist/components/button.es.js +1 -1
  29. package/dist/components/calendar.cjs.js +1 -1
  30. package/dist/components/calendar.es.js +5 -5
  31. package/dist/components/card.cjs.js +1 -1
  32. package/dist/components/card.es.js +1 -1
  33. package/dist/components/chart.cjs.js +2 -2
  34. package/dist/components/chart.es.js +2 -2
  35. package/dist/components/checkbox.cjs.js +1 -1
  36. package/dist/components/checkbox.es.js +1 -1
  37. package/dist/components/chip.cjs.js +1 -1
  38. package/dist/components/chip.es.js +1 -1
  39. package/dist/components/command.cjs.js +1 -1
  40. package/dist/components/command.es.js +1 -1
  41. package/dist/components/context-menu.cjs.js +1 -1
  42. package/dist/components/context-menu.es.js +7 -7
  43. package/dist/components/dialog.cjs.js +1 -1
  44. package/dist/components/dialog.es.js +1 -1
  45. package/dist/components/drawer.cjs.js +1 -1
  46. package/dist/components/drawer.es.js +30 -30
  47. package/dist/components/dropdown-menu.cjs.js +1 -1
  48. package/dist/components/dropdown-menu.es.js +7 -7
  49. package/dist/components/form.cjs.js +1 -1
  50. package/dist/components/form.es.js +3 -3
  51. package/dist/components/icon-component.cjs.js +1 -1
  52. package/dist/components/icon-component.es.js +1 -1
  53. package/dist/components/input-otp.cjs.js +1 -1
  54. package/dist/components/input-otp.es.js +2 -2
  55. package/dist/components/input.cjs.js +1 -1
  56. package/dist/components/input.es.js +1 -1
  57. package/dist/components/label.cjs.js +1 -1
  58. package/dist/components/label.es.js +1 -1
  59. package/dist/components/menubar.cjs.js +1 -1
  60. package/dist/components/menubar.es.js +8 -8
  61. package/dist/components/multi-select.cjs.js +1 -1
  62. package/dist/components/multi-select.es.js +8 -8
  63. package/dist/components/navigation-menu.cjs.js +1 -1
  64. package/dist/components/navigation-menu.es.js +3 -3
  65. package/dist/components/phone-input.cjs.js +1 -1
  66. package/dist/components/phone-input.es.js +39 -39
  67. package/dist/components/resizable.cjs.js +1 -1
  68. package/dist/components/resizable.es.js +1 -1
  69. package/dist/components/select.cjs.js +1 -1
  70. package/dist/components/select.es.js +7 -7
  71. package/dist/components/sheet.cjs.js +1 -1
  72. package/dist/components/sheet.es.js +2 -2
  73. package/dist/components/table.cjs.js +1 -1
  74. package/dist/components/table.es.js +28 -28
  75. package/dist/components/textarea.cjs.js +1 -1
  76. package/dist/components/textarea.es.js +17 -17
  77. package/dist/components/toggle-group.cjs.js +1 -1
  78. package/dist/components/toggle-group.es.js +1 -1
  79. package/dist/components/toggle.cjs.js +1 -1
  80. package/dist/components/toggle.es.js +1 -1
  81. package/dist/components/tooltip.cjs.js +1 -1
  82. package/dist/components/tooltip.es.js +1 -1
  83. package/dist/{dialog-D9ZObHR9.js → dialog-BSEMFrzb.js} +7 -7
  84. package/dist/{dialog-CMSUa1RD.cjs → dialog-aYmcf_6q.cjs} +1 -1
  85. package/dist/icon-component-4lyl8wE_.cjs +1 -0
  86. package/dist/{icon-component-CxQsODCa.js → icon-component-Db_44zX2.js} +2 -2
  87. package/dist/{input-C71fsEVP.js → input-CUpmfQgR.js} +24 -24
  88. package/dist/input-belq5zLm.cjs +1 -0
  89. package/dist/label-CKObiJEl.js +22 -0
  90. package/dist/{label-U5GnYvFO.cjs → label-RxaHfl3U.cjs} +1 -1
  91. package/dist/{toggle-BE4UelY4.js → toggle-DkQSX3ux.js} +5 -5
  92. package/dist/toggle-v18XjPC4.cjs +1 -0
  93. package/dist/{tooltip-Bxh10S4Q.js → tooltip-DgWl3klK.js} +1 -1
  94. package/dist/tooltip-__VfWmJD.cjs +1 -0
  95. package/dist/ui.css +692 -688
  96. package/package.json +357 -357
  97. package/dist/button-DcyXjceS.cjs +0 -1
  98. package/dist/chip-BCFqRgCq.cjs +0 -1
  99. package/dist/command-KZ-02POP.cjs +0 -1
  100. package/dist/icon-component-D5YssRbR.cjs +0 -1
  101. package/dist/input-B_INrEy1.cjs +0 -1
  102. package/dist/label-_kG7WBoJ.js +0 -22
  103. package/dist/toggle-BEGyyGWY.cjs +0 -1
  104. package/dist/tooltip-BRSR0-4n.cjs +0 -1
package/dist/ui.css CHANGED
@@ -1,688 +1,692 @@
1
- @import 'tailwindcss';
2
- @import 'tw-animate-css';
3
-
4
- @source "./**/*.{js,jsx,ts,tsx}";
5
-
6
- @custom-variant dark (&:is(.dark *));
7
-
8
- @custom-variant fixed (&:is(.layout-fixed *));
9
-
10
- @theme inline {
11
- --text-*: initial;
12
- --text-2xs: 10px;
13
- --text-xs: 12px;
14
- --text-sm: 14px;
15
- --text-base: 16px;
16
- --text-lg: 18px;
17
- --text-xl: 20px;
18
- --text-2xl: 24px;
19
- --text-3xl: 28px;
20
- --text-4xl: 32px;
21
- --text-5xl: 36px;
22
- --text-6xl: 40px;
23
- --text-7xl: 44px;
24
- --text-8xl: 48px;
25
- --text-9xl: 52px;
26
-
27
- --leading-*: initial;
28
- --leading-xs: 16px;
29
- --leading-sm: 18px;
30
- --leading-md: 20px;
31
- --leading-lg: 24px;
32
- --leading-xl: 28px;
33
- --leading-2xl: 32px;
34
- --leading-3xl: 36px;
35
- --leading-4xl: 40px;
36
- --leading-5xl: 44px;
37
- --leading-6xl: 48px;
38
- --leading-7xl: 56px;
39
-
40
- --tracking-*: initial;
41
- --tracking-tighter: -4px;
42
- --tracking-tight: -2px;
43
- --tracking-normal: 0;
44
- --tracking-wide: 2px;
45
- --tracking-wider: 5px;
46
- --tracking-widest: 10px;
47
-
48
- --font-*: initial;
49
- --font-display: Open Sans, sans-serif;
50
- --font-title: Open Sans, sans-serif;
51
- --font-text: Open Sans, sans-serif;
52
- --font-label: Open Sans, sans-serif;
53
- --font-overline: Open Sans, sans-serif;
54
-
55
- --font-weight-*: initial;
56
- --font-weight-light: 300;
57
- --font-weight-regular: 400;
58
- --font-weight-medium: 500;
59
- --font-weight-semibold: 600;
60
- --font-weight-bold: 700;
61
-
62
- --color-*: initial;
63
- --color-black: oklch(0.2 0.0102 248.34);
64
- --color-white: oklch(1 0 0);
65
-
66
- --color-primary-050: oklch(0.97 0.0129 17.38);
67
- --color-primary-100: oklch(0.94 0.0252 17.61);
68
- --color-primary-200: oklch(0.9 0.0462 16.39);
69
- --color-primary-300: oklch(0.81 0.0886 17.43);
70
- --color-primary-400: oklch(0.72 0.1426 18.07);
71
- --color-primary-500: oklch(0.63 0.1885 19.94);
72
- --color-primary-600: oklch(0.57 0.1984 19.87);
73
- --color-primary-700: oklch(0.5 0.1792 19.3);
74
- --color-primary-800: oklch(0.44 0.1532 16.66);
75
- --color-primary-900: oklch(0.4 0.1332 13.25);
76
- --color-primary-950: oklch(0.26 0.0879 15.52);
77
-
78
- --color-blue-050: oklch(0.97 0.0137 247.97);
79
- --color-blue-100: oklch(0.95 0.0276 248.12);
80
- --color-blue-200: oklch(0.89 0.0607 240.99);
81
- --color-blue-300: oklch(0.8 0.1116 240.95);
82
- --color-blue-400: oklch(0.71 0.1604 244.29);
83
- --color-blue-500: oklch(0.64 0.1771 249.33);
84
- --color-blue-600: oklch(0.55 0.1681 252.8);
85
- --color-blue-700: oklch(0.47 0.1433 252.81);
86
- --color-blue-800: oklch(0.4 0.1167 251.1);
87
- --color-blue-900: oklch(0.37 0.1013 251.39);
88
- --color-blue-950: oklch(0.28 0.0757 251.93);
89
-
90
- --color-violet-050: oklch(0.95 0.007 268.55);
91
- --color-violet-100: oklch(0.97 0.0096 273.36);
92
- --color-violet-200: oklch(0.94 0.0191 276.34);
93
- --color-violet-300: oklch(0.89 0.0361 277);
94
- --color-violet-400: oklch(0.81 0.0581 278.49);
95
- --color-violet-500: oklch(0.73 0.0884 281.04);
96
- --color-violet-600: oklch(0.64 0.1155 283.25);
97
- --color-violet-700: oklch(0.57 0.1311 285.66);
98
- --color-violet-800: oklch(0.5 0.124 286.15);
99
- --color-violet-900: oklch(0.45 0.1011 285.88);
100
- --color-violet-950: oklch(0.4 0.0748 285.53);
101
-
102
- --color-yellow-050: oklch(0.99 0.0158 102.82);
103
- --color-yellow-100: oklch(0.99 0.0249 101.95);
104
- --color-yellow-200: oklch(0.97 0.0658 101.01);
105
- --color-yellow-300: oklch(0.95 0.1313 102.51);
106
- --color-yellow-400: oklch(0.92 0.1692 99.19);
107
- --color-yellow-500: oklch(0.88 0.176 93.13);
108
- --color-yellow-600: oklch(0.82 0.1693 79.17);
109
- --color-yellow-700: oklch(0.71 0.1583 65.12);
110
- --color-yellow-800: oklch(0.58 0.145 54.45);
111
- --color-yellow-900: oklch(0.5 0.1252 51.36);
112
- --color-yellow-950: oklch(0.4 0.0955 51.15);
113
-
114
- --color-neutral-000: oklch(0.97 0.0042 236.5);
115
- --color-neutral-050: oklch(0.95 0.0046 258.32);
116
- --color-neutral-100: oklch(0.93 0.0046 258.33);
117
- --color-neutral-200: oklch(0.91 0.0035 247.86);
118
- --color-neutral-300: oklch(0.9 0.0035 247.86);
119
- --color-neutral-400: oklch(0.88 0.0035 247.86);
120
- --color-neutral-500: oklch(0.87 0.0035 247.86);
121
- --color-neutral-600: oklch(0.84 0.0036 247.87);
122
- --color-neutral-700: oklch(0.79 0.0036 247.87);
123
- --color-neutral-800: oklch(0.63 0.0032 264.54);
124
- --color-neutral-900: oklch(0.45 0.0021 247.87);
125
- --color-neutral-1000: oklch(0.2 0.0102 248.34);
126
-
127
- --color-error-light: oklch(0.93 0.0394 52.37);
128
- --color-error-main: oklch(0.64 0.2475 31.2);
129
-
130
- --color-warning-light: oklch(0.98 0.0348 94.54);
131
- --color-warning-main: oklch(0.82 0.17046 77.4296);
132
-
133
- --color-info-light: oklch(0.97 0.0137 247.97);
134
- --color-info-main: oklch(0.55 0.1681 252.8);
135
-
136
- --color-success-light: oklch(0.97 0.0511 146.04);
137
- --color-success-main: oklch(0.62 0.1446 144.41);
138
-
139
- --color-ring-default: var(--color-blue-800);
140
-
141
- --color-accent: var(--color-neutral-000);
142
- --color-accent-foreground: var(--color-neutral-1000);
143
-
144
- --breakpoint-3xl: 1600px;
145
- --breakpoint-4xl: 2000px;
146
- --font-sans: var(--font-sans);
147
- --font-mono: var(--font-mono);
148
- --radius-sm: calc(var(--radius) - 4px);
149
- --radius-md: calc(var(--radius) - 2px);
150
- --radius-lg: var(--radius);
151
- --radius-xl: calc(var(--radius) + 4px);
152
- --color-background: var(--background);
153
- --color-foreground: var(--foreground);
154
- --color-card: var(--card);
155
- --color-card-foreground: var(--card-foreground);
156
- --color-popover: var(--popover);
157
- --color-popover-foreground: var(--popover-foreground);
158
- --color-primary: var(--primary);
159
- --color-primary-foreground: var(--primary-foreground);
160
- --color-secondary: var(--secondary);
161
- --color-secondary-foreground: var(--secondary-foreground);
162
- --color-muted: var(--muted);
163
- --color-muted-foreground: var(--muted-foreground);
164
- --color-accent: var(--accent);
165
- --color-accent-foreground: var(--accent-foreground);
166
- --color-destructive: var(--destructive);
167
- --color-border: var(--border);
168
- --color-input: var(--input);
169
- --color-ring: var(--ring);
170
- --color-chart-1: var(--chart-1);
171
- --color-chart-2: var(--chart-2);
172
- --color-chart-3: var(--chart-3);
173
- --color-chart-4: var(--chart-4);
174
- --color-chart-5: var(--chart-5);
175
- --color-sidebar: var(--sidebar);
176
- --color-sidebar-foreground: var(--sidebar-foreground);
177
- --color-sidebar-primary: var(--sidebar-primary);
178
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
179
- --color-sidebar-accent: var(--sidebar-accent);
180
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
181
- --color-sidebar-border: var(--sidebar-border);
182
- --color-sidebar-ring: var(--sidebar-ring);
183
- --color-surface: var(--surface);
184
- --color-surface-foreground: var(--surface-foreground);
185
- --color-code: var(--code);
186
- --color-code-foreground: var(--code-foreground);
187
- --color-code-highlight: var(--code-highlight);
188
- --color-code-number: var(--code-number);
189
- --color-selection: var(--selection);
190
- --color-selection-foreground: var(--selection-foreground);
191
-
192
- --shadow-*: initial;
193
- --shadow-none: none;
194
- --shadow-xs:
195
- 0px 2px 4px 0px rgba(25, 25, 25, 0.08),
196
- 0px 0px 2px 0px rgba(25, 25, 25, 0.08);
197
- --shadow-sm:
198
- 0px 4px 8px 0px rgba(25, 25, 25, 0.1), 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
199
- --shadow-md:
200
- 0px 8px 16px 0px rgba(25, 25, 25, 0.1),
201
- 0px 0px 6px 0px rgba(25, 25, 25, 0.08);
202
- --shadow-lg:
203
- 0px 10px 20px 0px rgba(0, 0, 0, 0.19),
204
- 0px 0px 8px 0px rgba(25, 25, 25, 0.08);
205
- --shadow-xl:
206
- 0px 12px 24px 0px rgba(25, 25, 25, 0.1),
207
- 0px 0px 10px 0px rgba(25, 25, 25, 0.08);
208
- --shadow-2xl:
209
- 0px 16px 32px 0px rgba(25, 25, 25, 0.1),
210
- 0px 0px 12px 0px rgba(25, 25, 25, 0.08);
211
-
212
- --animate-fade-in-scale-up: fadeInScaleUp 0.15s ease-out;
213
- --animate-fade-out-scale-up: fadeOutScaleUp 0.15s ease-out;
214
- --animate-fade-in-scale-down: fadeInScaleDown 0.15s ease-out;
215
- --animate-fade-out-scale-down: fadeOutScaleDown 0.15s ease-out;
216
-
217
- --ease-circ-in: cubic-bezier(0.6, 0.04, 0.98, 0.335);
218
- --ease-circ-out: cubic-bezier(0.075, 0.82, 0.165, 1);
219
- --ease-circ-in-out: cubic-bezier(0.785, 0.135, 0.15, 0.86);
220
-
221
- @keyframes fadeInScaleUp {
222
- 0% {
223
- opacity: 0;
224
- transform: scale(0.9) translateY(50px);
225
- }
226
- 100% {
227
- opacity: 1;
228
- transform: scale(1) translateY(0);
229
- }
230
- }
231
- @keyframes fadeOutScaleUp {
232
- 0% {
233
- opacity: 1;
234
- transform: scale(1) translateY(0);
235
- }
236
- 100% {
237
- opacity: 0;
238
- transform: scale(0.9) translateY(50px);
239
- }
240
- }
241
- @keyframes fadeInScaleDown {
242
- 0% {
243
- opacity: 0;
244
- transform: scale(0.9) translateY(-50px);
245
- }
246
- 100% {
247
- opacity: 1;
248
- transform: scale(1) translateY(0);
249
- }
250
- }
251
- @keyframes fadeOutScaleDown {
252
- 0% {
253
- opacity: 1;
254
- transform: scale(1) translateY(0);
255
- }
256
- 100% {
257
- opacity: 0;
258
- transform: scale(0.9) translateY(-50px);
259
- }
260
- }
261
- }
262
-
263
- :root {
264
- --radius: 1rem;
265
- --background: var(--color-white);
266
- --foreground: var(--color-neutral-1000);
267
- --card: var(--color-white);
268
- --card-foreground: var(--color-neutral-1000);
269
- --popover: var(--color-white);
270
- --popover-foreground: var(--color-neutral-1000);
271
- --primary: var(--color-primary-600);
272
- --primary-foreground: var(--color-white);
273
- --secondary: var(--color-blue-800);
274
- --secondary-foreground: var(--color-white);
275
- --muted: var(--color-neutral-000);
276
- --muted-foreground: var(--color-neutral-900);
277
- --accent: var(--color-neutral-000);
278
- --accent-foreground: var(--color-neutral-1000);
279
- --destructive: var(--color-error-main);
280
- --warning: var(--color-warning-main);
281
- --info: var(--color-info-main);
282
- --success: var(--color-success-main);
283
- --border: var(--color-neutral-050);
284
- --input: var(--color-neutral-050);
285
- --ring: var(--color-blue-800);
286
- --chart-1: var(--color-blue-300);
287
- --chart-2: var(--color-blue-500);
288
- --chart-3: var(--color-blue-600);
289
- --chart-4: var(--color-blue-700);
290
- --chart-5: var(--color-blue-800);
291
- --sidebar: var(--color-white);
292
- --sidebar-foreground: var(--color-neutral-1000);
293
- --sidebar-primary: var(--color-primary-600);
294
- --sidebar-primary-foreground: var(--color-white);
295
- --sidebar-accent: var(--color-neutral-200);
296
- --sidebar-accent-foreground: var(--color-neutral-1000);
297
- --sidebar-border: var(--color-neutral-050);
298
- --sidebar-ring: var(--color-blue-800);
299
- --surface: var(--color-white);
300
- --surface-foreground: var(--color-neutral-1000);
301
- --code: var(--surface);
302
- --code-foreground: var(--surface-foreground);
303
- --code-highlight: var(--color-blue-800);
304
- --code-number: var(--color-blue-800);
305
- --selection: var(--color-blue-050);
306
- --selection-foreground: var(--color-blue-600);
307
- }
308
-
309
- .dark {
310
- --background: var(--color-neutral-1000);
311
- --foreground: var(--color-white);
312
- --card: var(--color-neutral-1000);
313
- --card-foreground: var(--color-white);
314
- --popover: var(--color-neutral-1000);
315
- --popover-foreground: var(--color-white);
316
- --primary: var(--color-primary-600);
317
- --primary-foreground: var(--color-white);
318
- --secondary: var(--color-blue-800);
319
- --secondary-foreground: var(--color-white);
320
- --muted: var(--color-neutral-700);
321
- --muted-foreground: var(--color-neutral-200);
322
- --accent: var(--color-neutral-900);
323
- --accent-foreground: var(--color-white);
324
- --destructive: var(--color-error-main);
325
- --border: var(--color-neutral-900);
326
- --input: var(--color-neutral-900);
327
- --ring: var(--color-blue-800);
328
- --chart-1: var(--color-blue-300);
329
- --chart-2: var(--color-blue-500);
330
- --chart-3: var(--color-blue-600);
331
- --chart-4: var(--color-blue-700);
332
- --chart-5: var(--color-blue-800);
333
- --sidebar: var(--color-neutral-1000);
334
- --sidebar-foreground: var(--color-white);
335
- --sidebar-primary: var(--color-primary-600);
336
- --sidebar-primary-foreground: var(--color-white);
337
- --sidebar-accent: var(--color-neutral-1000);
338
- --sidebar-accent-foreground: var(--color-white);
339
- --sidebar-border: var(--color-neutral-900);
340
- --sidebar-ring: var(--color-blue-800);
341
- --surface: var(--color-neutral-1000);
342
- --surface-foreground: var(--color-white);
343
- --code: var(--surface);
344
- --code-foreground: var(--surface-foreground);
345
- --code-highlight: var(--color-blue-800);
346
- --code-number: var(--color-blue-800);
347
- --selection: var(--color-blue-800);
348
- --selection-foreground: var(--color-white);
349
- }
350
-
351
- /*
352
- The default border color has changed to `currentcolor` in Tailwind CSS v4,
353
- so we've added these compatibility styles to make sure everything still
354
- looks the same as it did with Tailwind CSS v3.
355
-
356
- If we ever want to remove these styles, we need to add an explicit border
357
- color utility to any element that depends on these defaults.
358
- */
359
- @layer base {
360
- *,
361
- ::after,
362
- ::before,
363
- ::backdrop,
364
- ::file-selector-button {
365
- border-color: var(--color-neutral-050, currentcolor);
366
- }
367
-
368
- * {
369
- @apply border-border outline-ring/50;
370
- }
371
- ::selection {
372
- @apply bg-selection text-selection-foreground;
373
- }
374
- html {
375
- @apply scroll-smooth;
376
- }
377
- body {
378
- font-synthesis-weight: none;
379
- text-rendering: optimizeLegibility;
380
- }
381
-
382
- @supports (font: -apple-system-body) and (-webkit-appearance: none) {
383
- [data-wrapper] {
384
- @apply min-[1800px]:border-t;
385
- }
386
- }
387
-
388
- a:active,
389
- button:active {
390
- @apply opacity-60 md:opacity-100;
391
- }
392
- }
393
-
394
- @utility border-grid {
395
- @apply border-border/50 dark:border-border;
396
- }
397
-
398
- @utility section-soft {
399
- @apply from-background to-surface/40 dark:bg-background 3xl:fixed:bg-none bg-gradient-to-b;
400
- }
401
-
402
- @utility theme-container {
403
- @apply font-sans;
404
- }
405
-
406
- @utility container-wrapper {
407
- @apply 3xl:fixed:max-w-[calc(var(--breakpoint-2xl)+2rem)] mx-auto w-full px-2;
408
- }
409
-
410
- @utility container {
411
- @apply 3xl:max-w-screen-2xl mx-auto max-w-[1200px] px-4 lg:px-8;
412
- }
413
-
414
- @utility no-scrollbar {
415
- -ms-overflow-style: none;
416
- scrollbar-width: none;
417
-
418
- &::-webkit-scrollbar {
419
- display: none;
420
- }
421
- }
422
-
423
- @utility border-ghost {
424
- @apply after:border-border relative after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten;
425
- }
426
-
427
- @utility step {
428
- counter-increment: step;
429
- @apply relative;
430
-
431
- &:before {
432
- @apply text-muted-foreground right-0 mr-2 hidden size-7 items-center justify-center rounded-full text-center -indent-px font-mono text-sm font-semibold md:absolute;
433
- content: counter(step);
434
- }
435
- }
436
-
437
- @utility extend-touch-target {
438
- @media (pointer: coarse) {
439
- @apply relative touch-manipulation after:absolute after:-inset-2;
440
- }
441
- }
442
-
443
- @utility text-display-sm {
444
- @apply leading-6xl text-7xl tracking-tight;
445
- }
446
-
447
- @utility text-display-lg {
448
- @apply leading-7xl text-9xl tracking-tight;
449
- }
450
-
451
- @utility text-title-xs {
452
- @apply leading-2xl text-2xl tracking-tight;
453
- }
454
-
455
- @utility text-title-sm {
456
- @apply leading-3xl text-3xl tracking-tight;
457
- }
458
-
459
- @utility text-title-md {
460
- @apply leading-4xl text-4xl tracking-tight;
461
- }
462
-
463
- @utility text-title-lg {
464
- @apply leading-5xl text-5xl tracking-tight;
465
- }
466
-
467
- @utility text-title-xl {
468
- @apply leading-6xl text-6xl tracking-tight;
469
- }
470
-
471
- @utility text-label-xs {
472
- @apply text-2xs leading-xs tracking-normal;
473
- }
474
-
475
- @utility text-label-sm {
476
- @apply leading-sm text-xs tracking-normal;
477
- }
478
-
479
- @utility text-label-md {
480
- @apply leading-md text-sm tracking-normal;
481
- }
482
-
483
- @utility text-label-lg {
484
- @apply leading-lg text-base tracking-normal;
485
- }
486
-
487
- @utility text-label-xl {
488
- @apply leading-lg text-lg tracking-normal;
489
- }
490
-
491
- @utility text-label-2xl {
492
- @apply leading-xl text-xl tracking-normal;
493
- }
494
-
495
- @utility text-label-3xl {
496
- @apply leading-2xl text-2xl tracking-normal;
497
- }
498
-
499
- @utility text-paragraph-xs {
500
- @apply leading-md text-xs tracking-normal;
501
- }
502
-
503
- @utility text-paragraph-sm {
504
- @apply leading-md text-sm tracking-normal;
505
- }
506
-
507
- @utility text-paragraph-md {
508
- @apply leading-lg text-base tracking-normal;
509
- }
510
-
511
- @utility text-paragraph-lg {
512
- @apply leading-xl text-lg tracking-normal;
513
- }
514
-
515
- @utility text-overline-sm {
516
- @apply leading-md text-xs tracking-widest;
517
- }
518
-
519
- @utility text-overline-lg {
520
- @apply leading-md text-sm tracking-widest;
521
- }
522
-
523
- @layer components {
524
- .steps {
525
- &:first-child {
526
- @apply !mt-0;
527
- }
528
-
529
- &:first-child > h3:first-child {
530
- @apply !mt-0;
531
- }
532
-
533
- > h3 {
534
- @apply !mt-16;
535
- }
536
-
537
- > h3 + p {
538
- @apply !mt-2;
539
- }
540
- }
541
-
542
- [data-rehype-pretty-code-figure] {
543
- background-color: var(--color-code);
544
- color: var(--color-code-foreground);
545
- border-radius: var(--radius-lg);
546
- border-width: 0px;
547
- border-color: var(--border);
548
- margin-top: calc(var(--spacing) * 6);
549
- overflow: hidden;
550
- font-size: var(--text-sm);
551
- outline: none;
552
- position: relative;
553
- @apply md:-mx-1;
554
-
555
- &:has([data-rehype-pretty-code-title]) [data-slot='copy-button'] {
556
- top: calc(var(--spacing) * 1.5) !important;
557
- }
558
- }
559
-
560
- [data-rehype-pretty-code-title] {
561
- border-bottom: color-mix(in oklab, var(--border) 30%, transparent);
562
- border-bottom-width: 1px;
563
- border-bottom-style: solid;
564
- padding-block: calc(var(--spacing) * 2.5);
565
- padding-inline: calc(var(--spacing) * 4);
566
- font-size: var(--text-sm);
567
- font-family: var(--font-mono);
568
- color: var(--color-code-foreground);
569
- }
570
-
571
- [data-line-numbers] {
572
- display: grid;
573
- min-width: 100%;
574
- white-space: pre;
575
- border: 0;
576
- background: transparent;
577
- padding: 0;
578
- counter-reset: line;
579
- box-decoration-break: clone;
580
- }
581
-
582
- [data-line-numbers] [data-line]::before {
583
- font-size: var(--text-sm);
584
- counter-increment: line;
585
- content: counter(line);
586
- display: inline-block;
587
- width: calc(var(--spacing) * 16);
588
- padding-right: calc(var(--spacing) * 6);
589
- text-align: right;
590
- color: var(--color-code-number);
591
- background-color: var(--color-code);
592
- position: sticky;
593
- left: 0;
594
- }
595
-
596
- [data-line-numbers] [data-highlighted-line][data-line]::before {
597
- background-color: var(--color-code-highlight);
598
- }
599
-
600
- [data-line] {
601
- padding-top: calc(var(--spacing) * 0.5);
602
- padding-bottom: calc(var(--spacing) * 0.5);
603
- min-height: calc(var(--spacing) * 1);
604
- width: 100%;
605
- display: inline-block;
606
- }
607
-
608
- [data-line] span {
609
- color: var(--shiki-light);
610
-
611
- @variant dark {
612
- color: var(--shiki-dark) !important;
613
- }
614
- }
615
-
616
- [data-highlighted-line],
617
- [data-highlighted-chars] {
618
- position: relative;
619
- background-color: var(--color-code-highlight);
620
- }
621
-
622
- [data-highlighted-line] {
623
- &:after {
624
- position: absolute;
625
- top: 0;
626
- left: 0;
627
- width: 2px;
628
- height: 100%;
629
- content: '';
630
- background-color: color-mix(
631
- in oklab,
632
- var(--muted-foreground) 50%,
633
- transparent
634
- );
635
- }
636
- }
637
-
638
- [data-highlighted-chars] {
639
- border-radius: var(--radius-sm);
640
- padding-inline: 0.3rem;
641
- padding-block: 0.1rem;
642
- font-family: var(--font-mono);
643
- font-size: 0.8rem;
644
- }
645
- }
646
-
647
- * {
648
- -webkit-font-smoothing: antialiased;
649
- font-synthesis: none !important;
650
- }
651
- body {
652
- font-family:
653
- 'Open Sans',
654
- sans-serif,
655
- system-ui,
656
- -apple-system;
657
- color: var(--color-neutral-1000);
658
- }
659
-
660
- input[type='color'] {
661
- -webkit-appearance: none;
662
- border: none;
663
- }
664
- input[type='color']::-webkit-color-swatch-wrapper {
665
- padding: 0;
666
- }
667
- input[type='color']::-webkit-color-swatch {
668
- border: none;
669
- }
670
-
671
- *::-webkit-scrollbar {
672
- width: 8px;
673
- height: 9px;
674
- }
675
-
676
- *::-webkit-scrollbar-track {
677
- background: var(--color-neutral-000);
678
- border-radius: 30px;
679
- }
680
-
681
- *::-webkit-scrollbar-thumb {
682
- background-color: var(--color-neutral-100);
683
- border-radius: 14px;
684
- }
685
-
686
- ::-webkit-scrollbar-thumb:hover {
687
- background-color: var(--color-neutral-200);
688
- }
1
+ @import 'tailwindcss';
2
+ @import 'tw-animate-css';
3
+
4
+ @source "./**/*.{js,jsx,ts,tsx}";
5
+
6
+ @custom-variant dark (&:is(.dark *));
7
+
8
+ @custom-variant fixed (&:is(.layout-fixed *));
9
+
10
+ @theme inline {
11
+ --text-*: initial;
12
+ --text-2xs: 10px;
13
+ --text-xs: 12px;
14
+ --text-sm: 14px;
15
+ --text-base: 16px;
16
+ --text-lg: 18px;
17
+ --text-xl: 20px;
18
+ --text-2xl: 24px;
19
+ --text-3xl: 28px;
20
+ --text-4xl: 32px;
21
+ --text-5xl: 36px;
22
+ --text-6xl: 40px;
23
+ --text-7xl: 44px;
24
+ --text-8xl: 48px;
25
+ --text-9xl: 52px;
26
+
27
+ --leading-*: initial;
28
+ --leading-xs: 16px;
29
+ --leading-sm: 18px;
30
+ --leading-md: 20px;
31
+ --leading-lg: 24px;
32
+ --leading-xl: 28px;
33
+ --leading-2xl: 32px;
34
+ --leading-3xl: 36px;
35
+ --leading-4xl: 40px;
36
+ --leading-5xl: 44px;
37
+ --leading-6xl: 48px;
38
+ --leading-7xl: 56px;
39
+
40
+ --tracking-*: initial;
41
+ --tracking-tighter: -4px;
42
+ --tracking-tight: -2px;
43
+ --tracking-normal: 0;
44
+ --tracking-wide: 2px;
45
+ --tracking-wider: 5px;
46
+ --tracking-widest: 10px;
47
+
48
+ --font-*: initial;
49
+ --font-display: Open Sans, sans-serif;
50
+ --font-title: Open Sans, sans-serif;
51
+ --font-text: Open Sans, sans-serif;
52
+ --font-label: Open Sans, sans-serif;
53
+ --font-overline: Open Sans, sans-serif;
54
+
55
+ --font-weight-*: initial;
56
+ --font-weight-light: 300;
57
+ --font-weight-regular: 400;
58
+ --font-weight-medium: 500;
59
+ --font-weight-semibold: 600;
60
+ --font-weight-bold: 700;
61
+
62
+ --color-*: initial;
63
+ --color-black: oklch(0.2 0.0102 248.34);
64
+ --color-white: oklch(1 0 0);
65
+
66
+ --color-primary-050: oklch(0.97 0.0129 17.38);
67
+ --color-primary-100: oklch(0.94 0.0252 17.61);
68
+ --color-primary-200: oklch(0.9 0.0462 16.39);
69
+ --color-primary-300: oklch(0.81 0.0886 17.43);
70
+ --color-primary-400: oklch(0.72 0.1426 18.07);
71
+ --color-primary-500: oklch(0.63 0.1885 19.94);
72
+ --color-primary-600: oklch(0.57 0.1984 19.87);
73
+ --color-primary-700: oklch(0.5 0.1792 19.3);
74
+ --color-primary-800: oklch(0.44 0.1532 16.66);
75
+ --color-primary-900: oklch(0.4 0.1332 13.25);
76
+ --color-primary-950: oklch(0.26 0.0879 15.52);
77
+
78
+ --color-blue-050: oklch(0.97 0.0137 247.97);
79
+ --color-blue-100: oklch(0.95 0.0276 248.12);
80
+ --color-blue-200: oklch(0.89 0.0607 240.99);
81
+ --color-blue-300: oklch(0.8 0.1116 240.95);
82
+ --color-blue-400: oklch(0.71 0.1604 244.29);
83
+ --color-blue-500: oklch(0.64 0.1771 249.33);
84
+ --color-blue-600: oklch(0.55 0.1681 252.8);
85
+ --color-blue-700: oklch(0.47 0.1433 252.81);
86
+ --color-blue-800: oklch(0.4 0.1167 251.1);
87
+ --color-blue-900: oklch(0.37 0.1013 251.39);
88
+ --color-blue-950: oklch(0.28 0.0757 251.93);
89
+
90
+ --color-violet-050: oklch(0.95 0.007 268.55);
91
+ --color-violet-100: oklch(0.97 0.0096 273.36);
92
+ --color-violet-200: oklch(0.94 0.0191 276.34);
93
+ --color-violet-300: oklch(0.89 0.0361 277);
94
+ --color-violet-400: oklch(0.81 0.0581 278.49);
95
+ --color-violet-500: oklch(0.73 0.0884 281.04);
96
+ --color-violet-600: oklch(0.64 0.1155 283.25);
97
+ --color-violet-700: oklch(0.57 0.1311 285.66);
98
+ --color-violet-800: oklch(0.5 0.124 286.15);
99
+ --color-violet-900: oklch(0.45 0.1011 285.88);
100
+ --color-violet-950: oklch(0.4 0.0748 285.53);
101
+
102
+ --color-yellow-050: oklch(0.99 0.0158 102.82);
103
+ --color-yellow-100: oklch(0.99 0.0249 101.95);
104
+ --color-yellow-200: oklch(0.97 0.0658 101.01);
105
+ --color-yellow-300: oklch(0.95 0.1313 102.51);
106
+ --color-yellow-400: oklch(0.92 0.1692 99.19);
107
+ --color-yellow-500: oklch(0.88 0.176 93.13);
108
+ --color-yellow-600: oklch(0.82 0.1693 79.17);
109
+ --color-yellow-700: oklch(0.71 0.1583 65.12);
110
+ --color-yellow-800: oklch(0.58 0.145 54.45);
111
+ --color-yellow-900: oklch(0.5 0.1252 51.36);
112
+ --color-yellow-950: oklch(0.4 0.0955 51.15);
113
+
114
+ --color-neutral-000: oklch(0.97 0.0042 236.5);
115
+ --color-neutral-050: oklch(0.95 0.0046 258.32);
116
+ --color-neutral-100: oklch(0.93 0.0046 258.33);
117
+ --color-neutral-200: oklch(0.91 0.0035 247.86);
118
+ --color-neutral-300: oklch(0.9 0.0035 247.86);
119
+ --color-neutral-400: oklch(0.88 0.0035 247.86);
120
+ --color-neutral-500: oklch(0.87 0.0035 247.86);
121
+ --color-neutral-600: oklch(0.84 0.0036 247.87);
122
+ --color-neutral-700: oklch(0.79 0.0036 247.87);
123
+ --color-neutral-800: oklch(0.63 0.0032 264.54);
124
+ --color-neutral-900: oklch(0.45 0.0021 247.87);
125
+ --color-neutral-1000: oklch(0.2 0.0102 248.34);
126
+
127
+ --color-error-light: oklch(0.93 0.0394 52.37);
128
+ --color-error-main: oklch(0.64 0.2475 31.2);
129
+
130
+ --color-warning-light: oklch(0.98 0.0348 94.54);
131
+ --color-warning-main: oklch(0.82 0.17046 77.4296);
132
+
133
+ --color-info-light: oklch(0.97 0.0137 247.97);
134
+ --color-info-main: oklch(0.55 0.1681 252.8);
135
+
136
+ --color-success-light: oklch(0.97 0.0511 146.04);
137
+ --color-success-main: oklch(0.62 0.1446 144.41);
138
+
139
+ --color-ring-default: var(--color-blue-800);
140
+
141
+ --color-accent: var(--color-neutral-000);
142
+ --color-accent-foreground: var(--color-neutral-1000);
143
+
144
+ --breakpoint-3xl: 1600px;
145
+ --breakpoint-4xl: 2000px;
146
+ --font-sans: var(--font-sans);
147
+ --font-mono: var(--font-mono);
148
+ --radius-sm: calc(var(--radius) - 4px);
149
+ --radius-md: calc(var(--radius) - 2px);
150
+ --radius-lg: var(--radius);
151
+ --radius-xl: calc(var(--radius) + 4px);
152
+ --color-background: var(--background);
153
+ --color-foreground: var(--foreground);
154
+ --color-card: var(--card);
155
+ --color-card-foreground: var(--card-foreground);
156
+ --color-popover: var(--popover);
157
+ --color-popover-foreground: var(--popover-foreground);
158
+ --color-primary: var(--primary);
159
+ --color-primary-foreground: var(--primary-foreground);
160
+ --color-secondary: var(--secondary);
161
+ --color-secondary-foreground: var(--secondary-foreground);
162
+ --color-muted: var(--muted);
163
+ --color-muted-foreground: var(--muted-foreground);
164
+ --color-accent: var(--accent);
165
+ --color-accent-foreground: var(--accent-foreground);
166
+ --color-destructive: var(--destructive);
167
+ --color-border: var(--border);
168
+ --color-input: var(--input);
169
+ --color-ring: var(--ring);
170
+ --color-chart-1: var(--chart-1);
171
+ --color-chart-2: var(--chart-2);
172
+ --color-chart-3: var(--chart-3);
173
+ --color-chart-4: var(--chart-4);
174
+ --color-chart-5: var(--chart-5);
175
+ --color-sidebar: var(--sidebar);
176
+ --color-sidebar-foreground: var(--sidebar-foreground);
177
+ --color-sidebar-primary: var(--sidebar-primary);
178
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
179
+ --color-sidebar-accent: var(--sidebar-accent);
180
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
181
+ --color-sidebar-border: var(--sidebar-border);
182
+ --color-sidebar-ring: var(--sidebar-ring);
183
+ --color-surface: var(--surface);
184
+ --color-surface-foreground: var(--surface-foreground);
185
+ --color-code: var(--code);
186
+ --color-code-foreground: var(--code-foreground);
187
+ --color-code-highlight: var(--code-highlight);
188
+ --color-code-number: var(--code-number);
189
+ --color-selection: var(--selection);
190
+ --color-selection-foreground: var(--selection-foreground);
191
+
192
+ --shadow-*: initial;
193
+ --shadow-none: none;
194
+ --shadow-xs:
195
+ 0px 2px 4px 0px rgba(25, 25, 25, 0.08),
196
+ 0px 0px 2px 0px rgba(25, 25, 25, 0.08);
197
+ --shadow-sm:
198
+ 0px 4px 8px 0px rgba(25, 25, 25, 0.1), 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
199
+ --shadow-md:
200
+ 0px 8px 16px 0px rgba(25, 25, 25, 0.1),
201
+ 0px 0px 6px 0px rgba(25, 25, 25, 0.08);
202
+ --shadow-lg:
203
+ 0px 10px 20px 0px rgba(0, 0, 0, 0.19),
204
+ 0px 0px 8px 0px rgba(25, 25, 25, 0.08);
205
+ --shadow-xl:
206
+ 0px 12px 24px 0px rgba(25, 25, 25, 0.1),
207
+ 0px 0px 10px 0px rgba(25, 25, 25, 0.08);
208
+ --shadow-2xl:
209
+ 0px 16px 32px 0px rgba(25, 25, 25, 0.1),
210
+ 0px 0px 12px 0px rgba(25, 25, 25, 0.08);
211
+
212
+ --animate-fade-in-scale-up: fadeInScaleUp 0.15s ease-out;
213
+ --animate-fade-out-scale-up: fadeOutScaleUp 0.15s ease-out;
214
+ --animate-fade-in-scale-down: fadeInScaleDown 0.15s ease-out;
215
+ --animate-fade-out-scale-down: fadeOutScaleDown 0.15s ease-out;
216
+
217
+ --ease-circ-in: cubic-bezier(0.6, 0.04, 0.98, 0.335);
218
+ --ease-circ-out: cubic-bezier(0.075, 0.82, 0.165, 1);
219
+ --ease-circ-in-out: cubic-bezier(0.785, 0.135, 0.15, 0.86);
220
+
221
+ @keyframes fadeInScaleUp {
222
+ 0% {
223
+ opacity: 0;
224
+ transform: scale(0.9) translateY(50px);
225
+ }
226
+ 100% {
227
+ opacity: 1;
228
+ transform: scale(1) translateY(0);
229
+ }
230
+ }
231
+ @keyframes fadeOutScaleUp {
232
+ 0% {
233
+ opacity: 1;
234
+ transform: scale(1) translateY(0);
235
+ }
236
+ 100% {
237
+ opacity: 0;
238
+ transform: scale(0.9) translateY(50px);
239
+ }
240
+ }
241
+ @keyframes fadeInScaleDown {
242
+ 0% {
243
+ opacity: 0;
244
+ transform: scale(0.9) translateY(-50px);
245
+ }
246
+ 100% {
247
+ opacity: 1;
248
+ transform: scale(1) translateY(0);
249
+ }
250
+ }
251
+ @keyframes fadeOutScaleDown {
252
+ 0% {
253
+ opacity: 1;
254
+ transform: scale(1) translateY(0);
255
+ }
256
+ 100% {
257
+ opacity: 0;
258
+ transform: scale(0.9) translateY(-50px);
259
+ }
260
+ }
261
+ }
262
+
263
+ :root {
264
+ --radius: 1rem;
265
+ --background: var(--color-white);
266
+ --foreground: var(--color-neutral-1000);
267
+ --card: var(--color-white);
268
+ --card-foreground: var(--color-neutral-1000);
269
+ --popover: var(--color-white);
270
+ --popover-foreground: var(--color-neutral-1000);
271
+ --primary: var(--color-primary-600);
272
+ --primary-foreground: var(--color-white);
273
+ --secondary: var(--color-blue-800);
274
+ --secondary-foreground: var(--color-white);
275
+ --muted: var(--color-neutral-000);
276
+ --muted-foreground: var(--color-neutral-900);
277
+ --accent: var(--color-neutral-000);
278
+ --accent-foreground: var(--color-neutral-1000);
279
+ --destructive: var(--color-error-main);
280
+ --warning: var(--color-warning-main);
281
+ --info: var(--color-info-main);
282
+ --success: var(--color-success-main);
283
+ --border: var(--color-neutral-050);
284
+ --input: var(--color-neutral-050);
285
+ --ring: var(--color-blue-800);
286
+ --chart-1: var(--color-blue-300);
287
+ --chart-2: var(--color-blue-500);
288
+ --chart-3: var(--color-blue-600);
289
+ --chart-4: var(--color-blue-700);
290
+ --chart-5: var(--color-blue-800);
291
+ --sidebar: var(--color-white);
292
+ --sidebar-foreground: var(--color-neutral-1000);
293
+ --sidebar-primary: var(--color-primary-600);
294
+ --sidebar-primary-foreground: var(--color-white);
295
+ --sidebar-accent: var(--color-neutral-200);
296
+ --sidebar-accent-foreground: var(--color-neutral-1000);
297
+ --sidebar-border: var(--color-neutral-050);
298
+ --sidebar-ring: var(--color-blue-800);
299
+ --surface: var(--color-white);
300
+ --surface-foreground: var(--color-neutral-1000);
301
+ --code: var(--surface);
302
+ --code-foreground: var(--surface-foreground);
303
+ --code-highlight: var(--color-blue-800);
304
+ --code-number: var(--color-blue-800);
305
+ --selection: var(--color-blue-050);
306
+ --selection-foreground: var(--color-blue-600);
307
+ }
308
+
309
+ .dark {
310
+ --background: var(--color-neutral-1000);
311
+ --foreground: var(--color-white);
312
+ --card: var(--color-neutral-1000);
313
+ --card-foreground: var(--color-white);
314
+ --popover: var(--color-neutral-1000);
315
+ --popover-foreground: var(--color-white);
316
+ --primary: var(--color-primary-600);
317
+ --primary-foreground: var(--color-white);
318
+ --secondary: var(--color-blue-800);
319
+ --secondary-foreground: var(--color-white);
320
+ --muted: var(--color-neutral-700);
321
+ --muted-foreground: var(--color-neutral-200);
322
+ --accent: var(--color-neutral-900);
323
+ --accent-foreground: var(--color-white);
324
+ --destructive: var(--color-error-main);
325
+ --border: var(--color-neutral-900);
326
+ --input: var(--color-neutral-900);
327
+ --ring: var(--color-blue-800);
328
+ --chart-1: var(--color-blue-300);
329
+ --chart-2: var(--color-blue-500);
330
+ --chart-3: var(--color-blue-600);
331
+ --chart-4: var(--color-blue-700);
332
+ --chart-5: var(--color-blue-800);
333
+ --sidebar: var(--color-neutral-1000);
334
+ --sidebar-foreground: var(--color-white);
335
+ --sidebar-primary: var(--color-primary-600);
336
+ --sidebar-primary-foreground: var(--color-white);
337
+ --sidebar-accent: var(--color-neutral-1000);
338
+ --sidebar-accent-foreground: var(--color-white);
339
+ --sidebar-border: var(--color-neutral-900);
340
+ --sidebar-ring: var(--color-blue-800);
341
+ --surface: var(--color-neutral-1000);
342
+ --surface-foreground: var(--color-white);
343
+ --code: var(--surface);
344
+ --code-foreground: var(--surface-foreground);
345
+ --code-highlight: var(--color-blue-800);
346
+ --code-number: var(--color-blue-800);
347
+ --selection: var(--color-blue-800);
348
+ --selection-foreground: var(--color-white);
349
+ }
350
+
351
+ /*
352
+ The default border color has changed to `currentcolor` in Tailwind CSS v4,
353
+ so we've added these compatibility styles to make sure everything still
354
+ looks the same as it did with Tailwind CSS v3.
355
+
356
+ If we ever want to remove these styles, we need to add an explicit border
357
+ color utility to any element that depends on these defaults.
358
+ */
359
+ @layer base {
360
+ *,
361
+ ::after,
362
+ ::before,
363
+ ::backdrop,
364
+ ::file-selector-button {
365
+ border-color: var(--color-neutral-050, currentcolor);
366
+ }
367
+
368
+ * {
369
+ @apply border-border outline-ring/50;
370
+ }
371
+ ::selection {
372
+ @apply bg-selection text-selection-foreground;
373
+ }
374
+ html {
375
+ @apply scroll-smooth;
376
+ }
377
+ body {
378
+ font-synthesis-weight: none;
379
+ text-rendering: optimizeLegibility;
380
+ }
381
+
382
+ @supports (font: -apple-system-body) and (-webkit-appearance: none) {
383
+ [data-wrapper] {
384
+ @apply min-[1800px]:border-t;
385
+ }
386
+ }
387
+
388
+ a:active,
389
+ button:active {
390
+ @apply opacity-60 md:opacity-100;
391
+ }
392
+ }
393
+
394
+ @utility border-grid {
395
+ @apply border-border/50 dark:border-border;
396
+ }
397
+
398
+ @utility section-soft {
399
+ @apply from-background to-surface/40 dark:bg-background 3xl:fixed:bg-none bg-gradient-to-b;
400
+ }
401
+
402
+ @utility theme-container {
403
+ @apply font-sans;
404
+ }
405
+
406
+ @utility container-wrapper {
407
+ @apply 3xl:fixed:max-w-[calc(var(--breakpoint-2xl)+2rem)] mx-auto w-full px-2;
408
+ }
409
+
410
+ @utility container {
411
+ @apply 3xl:max-w-screen-2xl mx-auto max-w-[1200px] px-4 lg:px-8;
412
+ }
413
+
414
+ @utility no-scrollbar {
415
+ -ms-overflow-style: none;
416
+ scrollbar-width: none;
417
+
418
+ &::-webkit-scrollbar {
419
+ display: none;
420
+ }
421
+ }
422
+
423
+ @utility border-ghost {
424
+ @apply after:border-border relative after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten;
425
+ }
426
+
427
+ @utility step {
428
+ counter-increment: step;
429
+ @apply relative;
430
+
431
+ &:before {
432
+ @apply text-muted-foreground right-0 mr-2 hidden size-7 items-center justify-center rounded-full text-center -indent-px font-mono text-sm font-semibold md:absolute;
433
+ content: counter(step);
434
+ }
435
+ }
436
+
437
+ @utility extend-touch-target {
438
+ @media (pointer: coarse) {
439
+ @apply relative touch-manipulation after:absolute after:-inset-2;
440
+ }
441
+ }
442
+
443
+ @utility display-xs {
444
+ @apply leading-lg text-lg tracking-tight;
445
+ }
446
+
447
+ @utility display-sm {
448
+ @apply leading-xl text-xl tracking-tight;
449
+ }
450
+
451
+ @utility display-lg {
452
+ @apply leading-3xl text-3xl tracking-tight;
453
+ }
454
+
455
+ @utility title-xs {
456
+ @apply leading-2xl text-2xl tracking-tight;
457
+ }
458
+
459
+ @utility title-sm {
460
+ @apply leading-3xl text-3xl tracking-tight;
461
+ }
462
+
463
+ @utility title-md {
464
+ @apply leading-4xl text-4xl tracking-tight;
465
+ }
466
+
467
+ @utility title-lg {
468
+ @apply leading-5xl text-5xl tracking-tight;
469
+ }
470
+
471
+ @utility title-xl {
472
+ @apply leading-6xl text-6xl tracking-tight;
473
+ }
474
+
475
+ @utility label-xs {
476
+ @apply text-2xs leading-xs tracking-normal;
477
+ }
478
+
479
+ @utility label-sm {
480
+ @apply leading-sm text-xs tracking-normal;
481
+ }
482
+
483
+ @utility label-md {
484
+ @apply leading-md text-sm tracking-normal;
485
+ }
486
+
487
+ @utility label-lg {
488
+ @apply leading-lg text-base tracking-normal;
489
+ }
490
+
491
+ @utility label-xl {
492
+ @apply leading-lg text-lg tracking-normal;
493
+ }
494
+
495
+ @utility label-2xl {
496
+ @apply leading-xl text-xl tracking-normal;
497
+ }
498
+
499
+ @utility label-3xl {
500
+ @apply leading-2xl text-2xl tracking-normal;
501
+ }
502
+
503
+ @utility paragraph-xs {
504
+ @apply leading-md text-xs tracking-normal;
505
+ }
506
+
507
+ @utility paragraph-sm {
508
+ @apply leading-md text-sm tracking-normal;
509
+ }
510
+
511
+ @utility paragraph-md {
512
+ @apply leading-lg text-base tracking-normal;
513
+ }
514
+
515
+ @utility paragraph-lg {
516
+ @apply leading-xl text-lg tracking-normal;
517
+ }
518
+
519
+ @utility overline-sm {
520
+ @apply leading-md text-xs tracking-widest;
521
+ }
522
+
523
+ @utility overline-lg {
524
+ @apply leading-md text-sm tracking-widest;
525
+ }
526
+
527
+ @layer components {
528
+ .steps {
529
+ &:first-child {
530
+ @apply !mt-0;
531
+ }
532
+
533
+ &:first-child > h3:first-child {
534
+ @apply !mt-0;
535
+ }
536
+
537
+ > h3 {
538
+ @apply !mt-16;
539
+ }
540
+
541
+ > h3 + p {
542
+ @apply !mt-2;
543
+ }
544
+ }
545
+
546
+ [data-rehype-pretty-code-figure] {
547
+ background-color: var(--color-code);
548
+ color: var(--color-code-foreground);
549
+ border-radius: var(--radius-lg);
550
+ border-width: 0px;
551
+ border-color: var(--border);
552
+ margin-top: calc(var(--spacing) * 6);
553
+ overflow: hidden;
554
+ font-size: var(--text-sm);
555
+ outline: none;
556
+ position: relative;
557
+ @apply md:-mx-1;
558
+
559
+ &:has([data-rehype-pretty-code-title]) [data-slot='copy-button'] {
560
+ top: calc(var(--spacing) * 1.5) !important;
561
+ }
562
+ }
563
+
564
+ [data-rehype-pretty-code-title] {
565
+ border-bottom: color-mix(in oklab, var(--border) 30%, transparent);
566
+ border-bottom-width: 1px;
567
+ border-bottom-style: solid;
568
+ padding-block: calc(var(--spacing) * 2.5);
569
+ padding-inline: calc(var(--spacing) * 4);
570
+ font-size: var(--text-sm);
571
+ font-family: var(--font-mono);
572
+ color: var(--color-code-foreground);
573
+ }
574
+
575
+ [data-line-numbers] {
576
+ display: grid;
577
+ min-width: 100%;
578
+ white-space: pre;
579
+ border: 0;
580
+ background: transparent;
581
+ padding: 0;
582
+ counter-reset: line;
583
+ box-decoration-break: clone;
584
+ }
585
+
586
+ [data-line-numbers] [data-line]::before {
587
+ font-size: var(--text-sm);
588
+ counter-increment: line;
589
+ content: counter(line);
590
+ display: inline-block;
591
+ width: calc(var(--spacing) * 16);
592
+ padding-right: calc(var(--spacing) * 6);
593
+ text-align: right;
594
+ color: var(--color-code-number);
595
+ background-color: var(--color-code);
596
+ position: sticky;
597
+ left: 0;
598
+ }
599
+
600
+ [data-line-numbers] [data-highlighted-line][data-line]::before {
601
+ background-color: var(--color-code-highlight);
602
+ }
603
+
604
+ [data-line] {
605
+ padding-top: calc(var(--spacing) * 0.5);
606
+ padding-bottom: calc(var(--spacing) * 0.5);
607
+ min-height: calc(var(--spacing) * 1);
608
+ width: 100%;
609
+ display: inline-block;
610
+ }
611
+
612
+ [data-line] span {
613
+ color: var(--shiki-light);
614
+
615
+ @variant dark {
616
+ color: var(--shiki-dark) !important;
617
+ }
618
+ }
619
+
620
+ [data-highlighted-line],
621
+ [data-highlighted-chars] {
622
+ position: relative;
623
+ background-color: var(--color-code-highlight);
624
+ }
625
+
626
+ [data-highlighted-line] {
627
+ &:after {
628
+ position: absolute;
629
+ top: 0;
630
+ left: 0;
631
+ width: 2px;
632
+ height: 100%;
633
+ content: '';
634
+ background-color: color-mix(
635
+ in oklab,
636
+ var(--muted-foreground) 50%,
637
+ transparent
638
+ );
639
+ }
640
+ }
641
+
642
+ [data-highlighted-chars] {
643
+ border-radius: var(--radius-sm);
644
+ padding-inline: 0.3rem;
645
+ padding-block: 0.1rem;
646
+ font-family: var(--font-mono);
647
+ font-size: 0.8rem;
648
+ }
649
+ }
650
+
651
+ * {
652
+ -webkit-font-smoothing: antialiased;
653
+ font-synthesis: none !important;
654
+ }
655
+ body {
656
+ font-family:
657
+ 'Open Sans',
658
+ sans-serif,
659
+ system-ui,
660
+ -apple-system;
661
+ color: var(--color-neutral-1000);
662
+ }
663
+
664
+ input[type='color'] {
665
+ -webkit-appearance: none;
666
+ border: none;
667
+ }
668
+ input[type='color']::-webkit-color-swatch-wrapper {
669
+ padding: 0;
670
+ }
671
+ input[type='color']::-webkit-color-swatch {
672
+ border: none;
673
+ }
674
+
675
+ *::-webkit-scrollbar {
676
+ width: 8px;
677
+ height: 9px;
678
+ }
679
+
680
+ *::-webkit-scrollbar-track {
681
+ background: var(--color-neutral-000);
682
+ border-radius: 30px;
683
+ }
684
+
685
+ *::-webkit-scrollbar-thumb {
686
+ background-color: var(--color-neutral-100);
687
+ border-radius: 14px;
688
+ }
689
+
690
+ ::-webkit-scrollbar-thumb:hover {
691
+ background-color: var(--color-neutral-200);
692
+ }