@photoroom/ui 0.1.117 → 0.1.119

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.
package/theme.css ADDED
@@ -0,0 +1,1420 @@
1
+ /*
2
+ * Photoroom design tokens — colors
3
+ *
4
+ * @theme inline registers utility names without emitting :root declarations.
5
+ * The actual CSS variable values are defined in ./colors.css (which owns
6
+ * light + dark mode overrides via the .theme-dark selector).
7
+ *
8
+ * To add a new color token, define the value in ./colors.css then add the
9
+ * utility name here.
10
+ */
11
+
12
+ @import "./colors.css";
13
+
14
+ @theme inline {
15
+ /* Base */
16
+ --color-black: var(--color-black);
17
+ --color-black-alpha-1: var(--color-black-alpha-1);
18
+ --color-black-alpha-2: var(--color-black-alpha-2);
19
+ --color-black-alpha-3: var(--color-black-alpha-3);
20
+ --color-black-alpha-4: var(--color-black-alpha-4);
21
+ --color-black-alpha-5: var(--color-black-alpha-5);
22
+ --color-black-alpha-6: var(--color-black-alpha-6);
23
+ --color-black-alpha-7: var(--color-black-alpha-7);
24
+ --color-black-alpha-8: var(--color-black-alpha-8);
25
+ --color-white: var(--color-white);
26
+ --color-white-1: var(--color-white-1);
27
+ --color-white-2: var(--color-white-2);
28
+ --color-white-alpha-1: var(--color-white-alpha-1);
29
+ --color-white-alpha-2: var(--color-white-alpha-2);
30
+ --color-white-alpha-3: var(--color-white-alpha-3);
31
+ --color-white-alpha-4: var(--color-white-alpha-4);
32
+ --color-white-alpha-5: var(--color-white-alpha-5);
33
+ --color-white-alpha-6: var(--color-white-alpha-6);
34
+ --color-white-alpha-7: var(--color-white-alpha-7);
35
+ --color-white-alpha-8: var(--color-white-alpha-8);
36
+ --color-white-alpha-9: var(--color-white-alpha-9);
37
+
38
+ /* Neutral */
39
+ --color-neutral-0: var(--color-neutral-0);
40
+ --color-neutral-50: var(--color-neutral-50);
41
+ --color-neutral-100: var(--color-neutral-100);
42
+ --color-neutral-200: var(--color-neutral-200);
43
+ --color-neutral-300: var(--color-neutral-300);
44
+ --color-neutral-400: var(--color-neutral-400);
45
+ --color-neutral-500: var(--color-neutral-500);
46
+ --color-neutral-600: var(--color-neutral-600);
47
+ --color-neutral-700: var(--color-neutral-700);
48
+ --color-neutral-800: var(--color-neutral-800);
49
+ --color-neutral-900: var(--color-neutral-900);
50
+ --color-neutral-alpha-100: var(--color-neutral-alpha-100);
51
+ --color-neutral-alpha-200: var(--color-neutral-alpha-200);
52
+ --color-neutral-alpha-300: var(--color-neutral-alpha-300);
53
+ --color-neutral-alpha-400: var(--color-neutral-alpha-400);
54
+ --color-neutral-alpha-500: var(--color-neutral-alpha-500);
55
+
56
+ /* Sand */
57
+ --color-sand-50: var(--color-sand-50);
58
+
59
+ /* Accent */
60
+ --color-accent-300: var(--color-accent-300);
61
+ --color-accent-400: var(--color-accent-400);
62
+ --color-accent-500: var(--color-accent-500);
63
+ --color-accent-600: var(--color-accent-600);
64
+ --color-accent-alpha-1: var(--color-accent-alpha-1);
65
+ --color-accent-alpha-2: var(--color-accent-alpha-2);
66
+ --color-accent-alpha-3: var(--color-accent-alpha-3);
67
+ --color-accent-alpha-4: var(--color-accent-alpha-4);
68
+ --color-accent-alpha-5: var(--color-accent-alpha-5);
69
+
70
+ /* Positive */
71
+ --color-positive-400: var(--color-positive-400);
72
+ --color-positive-500: var(--color-positive-500);
73
+ --color-positive-600: var(--color-positive-600);
74
+ --color-positive-alpha-1: var(--color-positive-alpha-1);
75
+ --color-positive-alpha-2: var(--color-positive-alpha-2);
76
+ --color-positive-alpha-3: var(--color-positive-alpha-3);
77
+
78
+ /* Negative */
79
+ --color-negative-400: var(--color-negative-400);
80
+ --color-negative-500: var(--color-negative-500);
81
+ --color-negative-600: var(--color-negative-600);
82
+ --color-negative-alpha-1: var(--color-negative-alpha-1);
83
+ --color-negative-alpha-2: var(--color-negative-alpha-2);
84
+ --color-negative-alpha-3: var(--color-negative-alpha-3);
85
+
86
+ /* Magic accent */
87
+ --color-magic-accent-400: var(--color-magic-accent-400);
88
+ --color-magic-accent-500: var(--color-magic-accent-500);
89
+ --color-magic-accent-600: var(--color-magic-accent-600);
90
+
91
+ /* Animation accent */
92
+ --color-animation-accent-500: var(--color-animation-accent-500);
93
+
94
+ /* Camera accent */
95
+ --color-camera-accent-500: var(--color-camera-accent-500);
96
+
97
+ /* Branding */
98
+ --color-secondary-moon-grape: var(--color-secondary-moon-grape);
99
+ --color-secondary-electric-litchi: var(--color-secondary-electric-litchi);
100
+ --color-secondary-sunny-mango: var(--color-secondary-sunny-mango);
101
+ --color-secondary-aqua-kiwi: var(--color-secondary-aqua-kiwi);
102
+ --color-secondary-coral-cherry: var(--color-secondary-coral-cherry);
103
+ --color-secondary-navy: var(--color-secondary-navy);
104
+
105
+ --color-misc-replaceable: var(--color-replaceable);
106
+
107
+ /* Surface */
108
+ --color-surface-default: var(--color-surface-default);
109
+ --color-surface-alternate: var(--color-surface-alternate);
110
+ --color-surface-low: var(--color-surface-low);
111
+ --color-surface-high: var(--color-surface-high);
112
+ --color-surface-higher: var(--color-surface-higher);
113
+
114
+ /* Background */
115
+ --color-background-default: var(--color-background-default);
116
+ --color-background-hover: var(--color-background-hover);
117
+ --color-background-down: var(--color-background-down);
118
+ --color-background-subdued: var(--color-background-subdued);
119
+ --color-background-subdued-hover: var(--color-background-subdued-hover);
120
+ --color-background-subdued-down: var(--color-background-subdued-down);
121
+ --color-background-accent: var(--color-background-accent);
122
+ --color-background-accent-hover: var(--color-background-accent-hover);
123
+ --color-background-accent-down: var(--color-background-accent-down);
124
+ --color-background-accent-subdued: var(--color-background-accent-subdued);
125
+ --color-background-accent-subdued-hover: var(--color-background-accent-subdued-hover);
126
+ --color-background-accent-subdued-down: var(--color-background-accent-subdued-down);
127
+ --color-background-positive: var(--color-background-positive);
128
+ --color-background-positive-hover: var(--color-background-positive-hover);
129
+ --color-background-positive-down: var(--color-background-positive-down);
130
+ --color-background-positive-subdued: var(--color-background-positive-subdued);
131
+ --color-background-positive-subdued-hover: var(--color-background-positive-subdued-hover);
132
+ --color-background-positive-subdued-down: var(--color-background-positive-subdued-down);
133
+ --color-background-negative: var(--color-background-negative);
134
+ --color-background-negative-hover: var(--color-background-negative-hover);
135
+ --color-background-negative-down: var(--color-background-negative-down);
136
+ --color-background-negative-subdued: var(--color-background-negative-subdued);
137
+ --color-background-negative-subdued-hover: var(--color-background-negative-subdued-hover);
138
+ --color-background-negative-subdued-down: var(--color-background-negative-subdued-down);
139
+ --color-background-tab: var(--color-background-tab);
140
+ --color-background-bar: var(--color-background-bar);
141
+ --color-background-white: var(--color-background-white);
142
+ --color-background-white-hover: var(--color-background-white-hover);
143
+ --color-background-white-down: var(--color-background-white-down);
144
+ --color-background-white-subdued: var(--color-background-white-subdued);
145
+ --color-background-white-subdued-hover: var(--color-background-white-subdued-hover);
146
+ --color-background-white-subdued-down: var(--color-background-white-subdued-down);
147
+ --color-background-spotlight: var(--color-background-spotlight);
148
+ --color-background-spotlight-down: var(--color-background-spotlight-down);
149
+ --color-background-inverted: var(--color-background-inverted);
150
+ --color-background-promotional: var(--color-background-promotional);
151
+ --color-background-asset: #e6e6e6;
152
+ --color-background-overlay: var(--color-background-overlay);
153
+ --color-background-tooltip: var(--color-background-tooltip);
154
+
155
+ /* Content */
156
+ --color-content-primary: var(--color-content-primary);
157
+ --color-content-subdued-primary: var(--color-content-subdued-primary);
158
+ --color-content-secondary: var(--color-content-secondary);
159
+ --color-content-tertiary: var(--color-content-tertiary);
160
+ --color-content-accent: var(--color-content-accent);
161
+ --color-content-accent-hover: var(--color-content-accent-hover);
162
+ --color-content-accent-down: var(--color-content-accent-down);
163
+ --color-content-positive: var(--color-content-positive);
164
+ --color-content-positive-hover: var(--color-content-positive-hover);
165
+ --color-content-positive-down: var(--color-content-positive-down);
166
+ --color-content-negative: var(--color-content-negative);
167
+ --color-content-negative-hover: var(--color-content-negative-hover);
168
+ --color-content-negative-down: var(--color-content-negative-down);
169
+ --color-content-camera-accent: var(--color-content-camera-accent);
170
+ --color-content-white-primary: var(--color-content-white-primary);
171
+ --color-content-white-secondary: var(--color-content-white-secondary);
172
+ --color-content-black-primary: var(--color-content-black-primary);
173
+ --color-content-white-primary-inverted: var(--color-content-white-primary-inverted);
174
+ --color-content-white-subdued-primary-inverted: var(
175
+ --color-content-white-subdued-primary-inverted
176
+ );
177
+
178
+ /* Structure */
179
+ --color-misc-divider: var(--color-misc-divider);
180
+ --color-misc-divider-ios: var(--color-misc-divider-ios);
181
+ --color-misc-border: var(--color-misc-border);
182
+ --color-misc-border-emphasized: var(--color-misc-border-emphasized);
183
+ --color-misc-border-box: var(--color-misc-border-box);
184
+ --color-misc-border-box-hover: var(--color-misc-border-box-hover);
185
+ --color-misc-border-box-down: var(--color-misc-border-box-down);
186
+ --color-misc-border-sidebar: var(--color-misc-border-sidebar);
187
+ --color-misc-border-default: var(--color-misc-border-default);
188
+ --color-misc-stack-layer-1: var(--color-misc-stack-layer-1);
189
+ --color-misc-stack-layer-2: var(--color-misc-stack-layer-2);
190
+ --color-misc-focus-indicator: var(--color-misc-focus-indicator);
191
+ --color-misc-focus-indicator-subdued: var(--color-misc-focus-indicator-subdued);
192
+ --color-misc-white-focus-indicator: var(--color-misc-white-focus-indicator);
193
+ --color-misc-hairline: var(--color-neutral-alpha-300);
194
+
195
+ /* Overlay */
196
+ --color-misc-visual-hover: var(--color-misc-visual-hover);
197
+ --color-misc-visual-down: var(--color-misc-visual-down);
198
+ --color-misc-automated-exports: var(--color-misc-automated-exports);
199
+
200
+ /* Pricing */
201
+ --color-misc-ai-image: var(--color-misc-ai-image);
202
+ --color-misc-ai-video: var(--color-misc-ai-video);
203
+
204
+ --color-checker: var(--color-checker);
205
+
206
+ /*
207
+ * Deprecated bare color tokens — DO NOT USE.
208
+ * Pending design-system audit to replace with semantic tokens.
209
+ */
210
+ --color-yellow: #ffc710;
211
+ --color-green: #23d114;
212
+ --color-blue: #339cff;
213
+ --color-pink: #ff47e0;
214
+ --color-pastel-pink: #f68efe;
215
+ --color-pastel-coral: #ffaaaa;
216
+ --color-pastel-yellow: #ffec8d;
217
+ --color-pastel-cyan-1: #22cbe8;
218
+ --color-pastel-cyan-2: #b5f6fb;
219
+ --color-facebook: #1877f2;
220
+ --color-facebook-dark: #0b63d4;
221
+ --color-facebook-light: #2c83f2;
222
+ --color-facebook-800: #5071fc;
223
+ --color-facebook-900: #4866e3;
224
+ }
225
+
226
+ /*
227
+ * Photoroom design tokens — typography, spacing, shadows, etc.
228
+ */
229
+
230
+ @theme {
231
+ /* Font family */
232
+ --font-brand:
233
+ "TT Photoroom", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
234
+ "Segoe UI Symbol", "Noto Color Emoji";
235
+
236
+ /* Opacity (extends v4 default scale) */
237
+ --opacity-15: 0.15;
238
+
239
+ /* Border radius — https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/?node-id=6953%3A13224 */
240
+ --radius-none: 0;
241
+ --radius-150: 3px;
242
+ --radius-200: 4px;
243
+ --radius-250: 5px;
244
+ --radius-300: 6px;
245
+ --radius-350: 7px;
246
+ --radius-400: 8px;
247
+ --radius-450: 9px;
248
+ --radius-500: 10px;
249
+ --radius-600: 12px;
250
+ --radius-area-500: 18px;
251
+ --radius-area-600: 34px;
252
+ --radius-full: 9999px;
253
+
254
+ /* Breakpoints */
255
+ --breakpoint-2xl: 1512px;
256
+ --breakpoint-3xl: 1800px;
257
+
258
+ /* Font size — https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/?node-id=6953%3A13370 */
259
+ --text-300: 10px;
260
+ --text-400: 12px;
261
+ --text-500: 14px;
262
+ --text-600: 17px;
263
+ --text-700: 20px;
264
+ --text-800: 24px;
265
+ --text-900: 29px;
266
+ --text-1000: 35px;
267
+ --text-1100: 42px;
268
+ --text-1200: 50px;
269
+ --text-1300: 60px;
270
+ --text-1400: 72px;
271
+
272
+ /* Font weight — https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/?node-id=6953%3A13333 */
273
+ --font-weight-inherit: inherit;
274
+ --font-weight-300: 300; /* Light */
275
+ --font-weight-400: 400; /* Regular */
276
+ --font-weight-500: 500; /* Medium */
277
+ --font-weight-600: 600; /* SemiBold */
278
+ --font-weight-700: 700; /* Bold */
279
+ --font-weight-800: 800; /* ExtraBold */
280
+
281
+ /* Line height — https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/?node-id=6953%3A13353 */
282
+ --leading-400: 110%; /* Large heading */
283
+ --leading-500: 130%; /* Heading, component */
284
+ --leading-600: 150%; /* Body */
285
+ --default-leading: 1.2;
286
+
287
+ /* Spacing (extends v4 default scale) */
288
+ --spacing-18: 4.5rem; /* 72px */
289
+ --spacing-22: 5.5rem; /* 88px */
290
+ --spacing-26: 6.5rem; /* 104px */
291
+
292
+ /* Container / max-width (v4 renamed from maxWidth scale) */
293
+ --container-xxs: 13rem; /* 208px */
294
+ --container-mdlg: 29rem; /* 464px */
295
+ /*
296
+ * Containers with dots in their name (1.5xl, 2.5xl, 5.5xl) can't live in
297
+ * @theme — v4 doesn't support escaped dots in token names. The few
298
+ * call sites use arbitrary values (max-w-[67rem], etc.) instead.
299
+ */
300
+
301
+ /* Grid template columns */
302
+ --grid-cols-header: 1fr auto 1fr;
303
+
304
+ /* Box shadow — https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/?node-id=7711%3A13275 */
305
+ --shadow-300:
306
+ 0px 0.5px 3.13px rgba(0, 0, 0, 0.06), 0px 1px 6.25px rgba(0, 0, 0, 0.03),
307
+ 0px 2px 12.5px rgba(0, 0, 0, 0.02);
308
+ --shadow-400:
309
+ 0px 1px 5px rgba(0, 0, 0, 0.07), 0px 2px 10px rgba(0, 0, 0, 0.03),
310
+ 0px 4px 20px rgba(0, 0, 0, 0.02);
311
+ --shadow-500:
312
+ 0px 2px 8px rgba(0, 0, 0, 0.08), 0px 4px 16px rgba(0, 0, 0, 0.04),
313
+ 0px 8px 32px rgba(0, 0, 0, 0.02);
314
+ --shadow-600:
315
+ 0px 4px 12.8px rgba(0, 0, 0, 0.09), 0px 8px 25.6px rgba(0, 0, 0, 0.05),
316
+ 0px 16px 51.2px rgba(0, 0, 0, 0.02);
317
+ --shadow-700:
318
+ 0px 8px 20.48px rgba(0, 0, 0, 0.11), 0px 16px 40.96px rgba(0, 0, 0, 0.05),
319
+ 0px 32px 81.92px rgba(0, 0, 0, 0.03);
320
+ --shadow-800:
321
+ 0px 16px 32.77px rgba(0, 0, 0, 0.12), 0px 32px 65.54px rgba(0, 0, 0, 0.06),
322
+ 0px 64px 131.07px rgba(0, 0, 0, 0.03);
323
+ --shadow-background-generator:
324
+ 0px 151px 60px rgba(174, 174, 194, 0.01), 0px 85px 51px rgba(174, 174, 194, 0.05),
325
+ 0px 38px 38px rgba(174, 174, 194, 0.09), 0px 9px 21px rgba(174, 174, 194, 0.1),
326
+ 0px 0px 0px rgba(174, 174, 194, 0.1);
327
+
328
+ /* Ring width (extends v4 default scale) */
329
+ --ring-3: 3px;
330
+
331
+ /* Animation timings */
332
+ --animate-bone-pulse: bone-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
333
+ --animate-tooltip-slide-down: tooltip-slide-down 0.2s;
334
+ --animate-tooltip-slide-up: tooltip-slide-up 0.2s;
335
+ --animate-tooltip-slide-left: tooltip-slide-left 0.2s;
336
+ --animate-tooltip-slide-right: tooltip-slide-right 0.2s;
337
+ --animate-button-loading-indeterminate-wiggle: button-loading-indeterminate-wiggle 2498ms
338
+ cubic-bezier(0.5, 0, 0.5, 1) infinite;
339
+ --animate-dialog-overlay-enter: dialog-overlay-enter 0.2s ease-out;
340
+ --animate-dialog-overlay-leave: dialog-overlay-leave 0.2s ease-in;
341
+ --animate-dialog-enter: dialog-enter 0.2s ease-out;
342
+ --animate-dialog-leave: dialog-leave 0.2s ease-in;
343
+ --animate-spotlight-fade-subdued: spotlight-fade-subdued 500ms forwards 1500ms;
344
+ --animate-spotlight-fade-white: spotlight-fade-white 500ms forwards 1500ms;
345
+ --animate-radix-accordion-slide-down: radix-accordion-slide-down 300ms
346
+ cubic-bezier(0.87, 0, 0.13, 1);
347
+ --animate-radix-accordion-slide-up: radix-accordion-slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1);
348
+ }
349
+
350
+ /*
351
+ * Keyframes (replaces tailwind.config.js theme.extend.keyframes)
352
+ */
353
+ @keyframes bone-pulse {
354
+ 0% {
355
+ background-color: var(--color-neutral-alpha-100);
356
+ }
357
+ 50% {
358
+ background-color: var(--color-neutral-alpha-300);
359
+ }
360
+ 100% {
361
+ background-color: var(--color-neutral-alpha-100);
362
+ }
363
+ }
364
+ @keyframes tooltip-slide-down {
365
+ from {
366
+ opacity: 0;
367
+ transform: translateY(-10px);
368
+ }
369
+ to {
370
+ opacity: 1;
371
+ transform: translateY(0);
372
+ }
373
+ }
374
+ @keyframes tooltip-slide-up {
375
+ from {
376
+ opacity: 0;
377
+ transform: translateY(10px);
378
+ }
379
+ to {
380
+ opacity: 1;
381
+ transform: translateY(0);
382
+ }
383
+ }
384
+ @keyframes tooltip-slide-left {
385
+ from {
386
+ opacity: 0;
387
+ transform: translateX(10px);
388
+ }
389
+ to {
390
+ opacity: 1;
391
+ transform: translateX(0);
392
+ }
393
+ }
394
+ @keyframes tooltip-slide-right {
395
+ from {
396
+ opacity: 0;
397
+ transform: translateX(-10px);
398
+ }
399
+ to {
400
+ opacity: 1;
401
+ transform: translateX(0);
402
+ }
403
+ }
404
+ @keyframes button-loading-indeterminate-wiggle {
405
+ 0% {
406
+ transform: translate(-200%, -50%);
407
+ }
408
+ 50% {
409
+ transform: translate(200%, -50%);
410
+ }
411
+ 100% {
412
+ transform: translate(-200%, -50%);
413
+ }
414
+ }
415
+ @keyframes dialog-overlay-enter {
416
+ from {
417
+ opacity: 0;
418
+ }
419
+ to {
420
+ opacity: 1;
421
+ }
422
+ }
423
+ @keyframes dialog-overlay-leave {
424
+ from {
425
+ opacity: 1;
426
+ }
427
+ to {
428
+ opacity: 0;
429
+ }
430
+ }
431
+ @keyframes dialog-enter {
432
+ from {
433
+ transform: scale(0.95);
434
+ }
435
+ to {
436
+ transform: scale(1);
437
+ }
438
+ }
439
+ @keyframes dialog-leave {
440
+ from {
441
+ transform: scale(1);
442
+ }
443
+ to {
444
+ transform: scale(0.95);
445
+ }
446
+ }
447
+ @keyframes spotlight-fade-subdued {
448
+ 0% {
449
+ background-color: var(--color-background-spotlight);
450
+ }
451
+ 100% {
452
+ background-color: var(--color-background-subdued);
453
+ }
454
+ }
455
+ @keyframes spotlight-fade-white {
456
+ 0% {
457
+ background-color: var(--color-background-spotlight);
458
+ }
459
+ 100% {
460
+ background-color: var(--color-background-white);
461
+ }
462
+ }
463
+ @keyframes radix-accordion-slide-down {
464
+ from {
465
+ height: 0;
466
+ }
467
+ to {
468
+ height: var(--radix-accordion-content-height);
469
+ }
470
+ }
471
+ @keyframes radix-accordion-slide-up {
472
+ from {
473
+ height: var(--radix-accordion-content-height);
474
+ }
475
+ to {
476
+ height: 0;
477
+ }
478
+ }
479
+
480
+ /*
481
+ * Custom variants (replaces tailwind.config.js darkMode and src/plugins/variants.js)
482
+ */
483
+ @custom-variant dark (&:where(.theme-dark, .theme-dark *));
484
+ @custom-variant tall (@media (min-height: 780px));
485
+ @custom-variant mobile (@media (max-width: 600px));
486
+
487
+ /*
488
+ * Custom utilities (replaces src/plugins/transitions.js)
489
+ * https://www.figma.com/design/cHgANa7dtzDDGXk7dKuAOQ/Prism?node-id=62868-23303&m=dev
490
+ */
491
+ @utility interaction-transition {
492
+ transition-timing-function: cubic-bezier(0.2, 1, 0.4, 1);
493
+ transition-duration: 200ms;
494
+ }
495
+
496
+ /*
497
+ * Icon offset utilities (replaces src/plugins/icon-offset.js)
498
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/Design-system?node-id=11366-12440
499
+ */
500
+ @utility icon-offset-200 {
501
+ margin-left: -1.2px;
502
+ }
503
+ @utility icon-offset-300 {
504
+ margin-left: -1.4px;
505
+ }
506
+ @utility icon-offset-400 {
507
+ margin-left: -1.7px;
508
+ }
509
+ @utility icon-offset-500 {
510
+ margin-left: -2px;
511
+ }
512
+ @utility icon-offset-600 {
513
+ margin-left: -2.4px;
514
+ }
515
+ @utility icon-offset-700 {
516
+ margin-left: -2.9px;
517
+ }
518
+
519
+ /*
520
+ * Icon size utilities (replaces src/plugins/icon-size.js)
521
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/Design-system?node-id=11366-12716
522
+ */
523
+ @utility icon-size-200 {
524
+ width: --spacing(3);
525
+ height: --spacing(3);
526
+ }
527
+ @utility icon-size-300 {
528
+ width: 14px;
529
+ height: 14px;
530
+ }
531
+ @utility icon-size-400 {
532
+ width: --spacing(4);
533
+ height: --spacing(4);
534
+ }
535
+ @utility icon-size-500 {
536
+ width: --spacing(5);
537
+ height: --spacing(5);
538
+ }
539
+ @utility icon-size-600 {
540
+ width: --spacing(6);
541
+ height: --spacing(6);
542
+ }
543
+ @utility icon-size-700 {
544
+ width: --spacing(7);
545
+ height: --spacing(7);
546
+ }
547
+ @utility icon-size-800 {
548
+ width: 34px;
549
+ height: 34px;
550
+ }
551
+
552
+ /*
553
+ * Spacing utilities (replaces src/plugins/spacing.js)
554
+ *
555
+ * External paddings (e400–e1000) — https://www.figma.com/file/5G9xtfAPMEgTJoLQbAg1KR/Website?node-id=7043-23918
556
+ * Internal paddings/gap (i200–i1000) — https://www.figma.com/file/5G9xtfAPMEgTJoLQbAg1KR/Website?node-id=7050-26673
557
+ */
558
+ @utility pt-e400 {
559
+ @apply pt-10 sm:pt-12 lg:pt-16;
560
+ }
561
+ @utility pb-e400 {
562
+ @apply pb-10 sm:pb-12 lg:pb-16;
563
+ }
564
+ @utility py-e400 {
565
+ @apply py-10 sm:py-12 lg:py-16;
566
+ }
567
+ @utility pt-e500 {
568
+ @apply pt-10 sm:pt-16 lg:pt-20;
569
+ }
570
+ @utility pb-e500 {
571
+ @apply pb-10 sm:pb-16 lg:pb-20;
572
+ }
573
+ @utility py-e500 {
574
+ @apply py-10 sm:py-16 lg:py-20;
575
+ }
576
+ @utility pt-e600 {
577
+ @apply pt-12 sm:pt-20 lg:pt-24;
578
+ }
579
+ @utility pb-e600 {
580
+ @apply pb-12 sm:pb-20 lg:pb-24;
581
+ }
582
+ @utility py-e600 {
583
+ @apply py-12 sm:py-20 lg:py-24;
584
+ }
585
+ @utility pt-e700 {
586
+ @apply pt-14 sm:pt-24 lg:pt-28;
587
+ }
588
+ @utility pb-e700 {
589
+ @apply pb-14 sm:pb-24 lg:pb-28;
590
+ }
591
+ @utility py-e700 {
592
+ @apply py-14 sm:py-24 lg:py-28;
593
+ }
594
+ @utility pt-e800 {
595
+ @apply pt-16 sm:pt-28 lg:pt-32;
596
+ }
597
+ @utility pb-e800 {
598
+ @apply pb-16 sm:pb-28 lg:pb-32;
599
+ }
600
+ @utility py-e800 {
601
+ @apply py-16 sm:py-28 lg:py-32;
602
+ }
603
+ @utility pt-e900 {
604
+ @apply pt-18 sm:pt-32 lg:pt-36;
605
+ }
606
+ @utility pb-e900 {
607
+ @apply pb-18 sm:pb-32 lg:pb-36;
608
+ }
609
+ @utility py-e900 {
610
+ @apply py-18 sm:py-32 lg:py-36;
611
+ }
612
+ @utility pt-e1000 {
613
+ @apply pt-20 sm:pt-36 lg:pt-40;
614
+ }
615
+ @utility pb-e1000 {
616
+ @apply pb-20 sm:pb-36 lg:pb-40;
617
+ }
618
+ @utility py-e1000 {
619
+ @apply py-20 sm:py-36 lg:py-40;
620
+ }
621
+ @utility pt-i200 {
622
+ @apply pt-8;
623
+ }
624
+ @utility pb-i200 {
625
+ @apply pb-8;
626
+ }
627
+ @utility py-i200 {
628
+ @apply py-8;
629
+ }
630
+ @utility gap-i200 {
631
+ @apply gap-8;
632
+ }
633
+ @utility pt-i300 {
634
+ @apply pt-10;
635
+ }
636
+ @utility pb-i300 {
637
+ @apply pb-10;
638
+ }
639
+ @utility py-i300 {
640
+ @apply py-10;
641
+ }
642
+ @utility gap-i300 {
643
+ @apply gap-10;
644
+ }
645
+ @utility pt-i400 {
646
+ @apply pt-12;
647
+ }
648
+ @utility pb-i400 {
649
+ @apply pb-12;
650
+ }
651
+ @utility py-i400 {
652
+ @apply py-12;
653
+ }
654
+ @utility gap-i400 {
655
+ @apply gap-12;
656
+ }
657
+ @utility pt-i500 {
658
+ @apply pt-12 sm:pt-14 lg:pt-16;
659
+ }
660
+ @utility pb-i500 {
661
+ @apply pb-12 sm:pb-14 lg:pb-16;
662
+ }
663
+ @utility py-i500 {
664
+ @apply py-12 sm:py-14 lg:py-16;
665
+ }
666
+ @utility gap-i500 {
667
+ @apply gap-12 sm:gap-14 lg:gap-16;
668
+ }
669
+ @utility pt-i600 {
670
+ @apply pt-12 sm:pt-16 lg:pt-20;
671
+ }
672
+ @utility pb-i600 {
673
+ @apply pb-12 sm:pb-16 lg:pb-20;
674
+ }
675
+ @utility py-i600 {
676
+ @apply py-12 sm:py-16 lg:py-20;
677
+ }
678
+ @utility gap-i600 {
679
+ @apply gap-12 sm:gap-16 lg:gap-20;
680
+ }
681
+ @utility pt-i1000 {
682
+ @apply pt-24 sm:pt-28 lg:pt-32;
683
+ }
684
+ @utility pb-i1000 {
685
+ @apply pb-24 sm:pb-28 lg:pb-32;
686
+ }
687
+ @utility py-i1000 {
688
+ @apply py-24 sm:py-28 lg:py-32;
689
+ }
690
+ @utility gap-i1000 {
691
+ @apply gap-24 sm:gap-28 lg:gap-32;
692
+ }
693
+
694
+ /*
695
+ * Background damier (checkerboard) pattern (replaces src/plugins/backgrounds.js)
696
+ */
697
+ @utility bg-damier-* {
698
+ background-image: repeating-conic-gradient(--value(--color-*) 0% 25%, transparent 0% 50%);
699
+ background-position: center;
700
+ }
701
+ @utility bg-damier-small {
702
+ background-size: 12px 12px;
703
+ }
704
+ @utility bg-damier-medium {
705
+ background-size: 20px 20px;
706
+ }
707
+ @utility bg-damier-large {
708
+ background-size: 28px 28px;
709
+ }
710
+
711
+ /*
712
+ * Text-to-leading utilities (replaces src/plugins/text-to-leading.js)
713
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/Design-system?node-id=11366-12592
714
+ */
715
+ @utility text-to-leading-300 {
716
+ margin-left: 6px;
717
+ }
718
+ @utility text-to-leading-400 {
719
+ margin-left: 7px;
720
+ }
721
+ @utility text-to-leading-500 {
722
+ margin-left: 8px;
723
+ }
724
+ @utility text-to-leading-600 {
725
+ margin-left: 10px;
726
+ }
727
+ @utility text-to-leading-700 {
728
+ margin-left: 12px;
729
+ }
730
+ @utility text-to-leading-compact-300 {
731
+ margin-left: 3px;
732
+ }
733
+ @utility text-to-leading-compact-400 {
734
+ margin-left: 3.3px;
735
+ }
736
+ @utility text-to-leading-compact-500 {
737
+ margin-left: 4px;
738
+ }
739
+ @utility text-to-leading-compact-600 {
740
+ margin-left: 5px;
741
+ }
742
+ @utility text-to-leading-compact-700 {
743
+ margin-left: 6px;
744
+ }
745
+ @utility text-to-leading-spacious-300 {
746
+ margin-left: 8px;
747
+ }
748
+ @utility text-to-leading-spacious-400 {
749
+ margin-left: 10px;
750
+ }
751
+ @utility text-to-leading-spacious-500 {
752
+ margin-left: 12px;
753
+ }
754
+ @utility text-to-leading-spacious-600 {
755
+ margin-left: 14px;
756
+ }
757
+ @utility text-to-leading-spacious-700 {
758
+ margin-left: 17px;
759
+ }
760
+
761
+ /*
762
+ * Misc design-system utilities (replaces src/plugins/misc.js)
763
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/Design-system?node-id=20464-7406
764
+ */
765
+
766
+ /* Scrollbar */
767
+ @utility scrollbar-none {
768
+ scrollbar-width: none;
769
+ &::-webkit-scrollbar {
770
+ display: none;
771
+ }
772
+ }
773
+
774
+ /* Dropdown */
775
+ @utility misc-hairline-spacing {
776
+ @apply gap-0.5;
777
+ }
778
+ @utility misc-dropdown-padding {
779
+ @apply p-1;
780
+ }
781
+ @utility misc-dropdown-padding-spacious {
782
+ @apply p-4;
783
+ }
784
+ @utility misc-dropdown-rounding {
785
+ @apply rounded-500;
786
+ }
787
+ @utility misc-dropdown-inner-rounding {
788
+ @apply rounded-300;
789
+ }
790
+
791
+ /* Dialog */
792
+ @utility misc-dialog-rounding {
793
+ @apply rounded-500;
794
+ }
795
+ @utility misc-dialog-overlay {
796
+ background-color: rgba(0, 0, 0, 25%);
797
+ }
798
+
799
+ /* Border / ring */
800
+ @utility misc-border-size-hairline {
801
+ @apply border-[0.5px];
802
+ }
803
+ @utility misc-border-size-default {
804
+ @apply border;
805
+ }
806
+ @utility misc-border-size-selection {
807
+ @apply border-2;
808
+ }
809
+ @utility misc-border-size-focus-ring {
810
+ @apply ring-3;
811
+ }
812
+ /*
813
+ * Outer border using box-shadow so it doesn't affect the element's bounding
814
+ * box. Use this instead of `border border-misc-border` on floating/elevated UI
815
+ * elements (pills, menus, popovers) to keep layout size exact and render the
816
+ * correct semi-transparent misc-border token.
817
+ */
818
+ @utility misc-outer-border {
819
+ @apply ring-misc-border ring-1;
820
+ }
821
+
822
+ /* Shadow */
823
+ @utility misc-shadow-selection {
824
+ @apply shadow-[inset_0_0_0_1px_var(--color-white)];
825
+ }
826
+
827
+ /*
828
+ * Color picker overrides for react-colorful.
829
+ * !important is needed because react-colorful injects unlayered <style>,
830
+ * which beats anything inside @layer utilities regardless of specificity.
831
+ */
832
+ @utility misc-color-picker {
833
+ & .react-colorful {
834
+ display: flex !important;
835
+ width: 100% !important;
836
+ flex-direction: column !important;
837
+ gap: 0.75rem !important;
838
+ }
839
+ & .react-colorful__saturation {
840
+ height: 10rem !important;
841
+ width: 100% !important;
842
+ border-radius: 8px !important;
843
+ border: 0 !important;
844
+ }
845
+ & .react-colorful__hue {
846
+ height: 1rem !important;
847
+ border-radius: 9999px !important;
848
+ }
849
+ & .react-colorful__pointer {
850
+ height: 1rem !important;
851
+ width: 1rem !important;
852
+ }
853
+ }
854
+
855
+ /* Magic gradient on HeroBlock */
856
+ @utility text-hero-magic {
857
+ background-image: linear-gradient(to bottom right, #410cd9, #f68efe);
858
+ background-clip: text;
859
+ -webkit-background-clip: text;
860
+ color: transparent;
861
+ }
862
+
863
+ /*
864
+ * Content-to-edge spacing tokens (used only by the @utility blocks below)
865
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/Design-system?node-id=11366-12472
866
+ */
867
+ @theme {
868
+ --content-edge-150: 4px;
869
+ --content-edge-200: 5px;
870
+ --content-edge-250: 6px;
871
+ --content-edge-300: 7px;
872
+ --content-edge-350: 8px;
873
+ --content-edge-400: 10px;
874
+ --content-edge-450: 11px;
875
+ --content-edge-500: 12px;
876
+ --content-edge-550: 13px;
877
+ --content-edge-600: 14px;
878
+ --content-edge-650: 16px;
879
+ --content-edge-700: 17px;
880
+ --content-edge-750: 18px;
881
+ --content-edge-800: 19px;
882
+
883
+ --content-edge-spacious-200: 6px;
884
+ --content-edge-spacious-250: 8px;
885
+ --content-edge-spacious-300: 10px;
886
+ --content-edge-spacious-350: 11px;
887
+ --content-edge-spacious-400: 13px;
888
+ --content-edge-spacious-450: 14px;
889
+ --content-edge-spacious-500: 16px;
890
+ --content-edge-spacious-550: 18px;
891
+ --content-edge-spacious-600: 19px;
892
+ --content-edge-spacious-650: 21px;
893
+ --content-edge-spacious-700: 22px;
894
+ --content-edge-spacious-750: 24px;
895
+ --content-edge-spacious-800: 26px;
896
+
897
+ --icon-edge-200: 4px;
898
+ --icon-edge-250: 5px;
899
+ --icon-edge-300: 6px;
900
+ --icon-edge-350: 6px;
901
+ --icon-edge-400: 8px;
902
+ --icon-edge-450: 9px;
903
+ --icon-edge-500: 10px;
904
+ --icon-edge-550: 11px;
905
+ --icon-edge-600: 12px;
906
+ --icon-edge-650: 13px;
907
+ --icon-edge-700: 14px;
908
+ --icon-edge-750: 15px;
909
+ --icon-edge-800: 16px;
910
+
911
+ --icon-edge-spacious-200: 5px;
912
+ --icon-edge-spacious-250: 7px;
913
+ --icon-edge-spacious-300: 9px;
914
+ --icon-edge-spacious-350: 9px;
915
+ --icon-edge-spacious-400: 11px;
916
+ --icon-edge-spacious-450: 12px;
917
+ --icon-edge-spacious-500: 14px;
918
+ --icon-edge-spacious-550: 16px;
919
+ --icon-edge-spacious-600: 17px;
920
+ --icon-edge-spacious-650: 18px;
921
+ --icon-edge-spacious-700: 19px;
922
+ --icon-edge-spacious-750: 21px;
923
+ --icon-edge-spacious-800: 23px;
924
+ }
925
+
926
+ /* Content to edge (replaces src/plugins/content-to-edge.js) */
927
+ @utility content-to-edge-pl-* {
928
+ padding-left: --value(--content-edge-*);
929
+ }
930
+ @utility content-to-edge-pr-* {
931
+ padding-right: --value(--content-edge-*);
932
+ }
933
+ @utility content-to-edge-px-* {
934
+ padding-inline: --value(--content-edge-*);
935
+ }
936
+ @utility content-to-edge-py-* {
937
+ padding-block: --value(--content-edge-*);
938
+ }
939
+ @utility content-to-edge-spacious-pl-* {
940
+ padding-left: --value(--content-edge-spacious-*);
941
+ }
942
+ @utility content-to-edge-spacious-pr-* {
943
+ padding-right: --value(--content-edge-spacious-*);
944
+ }
945
+ @utility content-to-edge-spacious-px-* {
946
+ padding-inline: --value(--content-edge-spacious-*);
947
+ }
948
+
949
+ /* Icon to edge (replaces src/plugins/icon-to-edge.js) */
950
+ @utility icon-to-edge-pl-* {
951
+ padding-left: --value(--icon-edge-*);
952
+ }
953
+ @utility icon-to-edge-pr-* {
954
+ padding-right: --value(--icon-edge-*);
955
+ }
956
+ @utility icon-to-edge-py-* {
957
+ padding-block: --value(--icon-edge-*);
958
+ }
959
+ @utility icon-to-edge-spacious-pl-* {
960
+ padding-left: --value(--icon-edge-spacious-*);
961
+ }
962
+ @utility icon-to-edge-spacious-pr-* {
963
+ padding-right: --value(--icon-edge-spacious-*);
964
+ }
965
+
966
+ /*
967
+ * Size utilities (replaces src/plugins/size.js)
968
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/Design-system?node-id=16712-19165
969
+ *
970
+ * size-N: both width & height; size-w-N: width only; size-h-N: height only.
971
+ *
972
+ * NOTE: explicit px values (not @apply h-N w-N) — v4's built-in dynamic
973
+ * size-N utility (`calc(var(--spacing) * N)`) collides with @utility size-N
974
+ * by name, and the built-in wins when both produce the same CSS form.
975
+ * Using px values produces a different declaration that the cascade then
976
+ * resolves in our favor.
977
+ */
978
+ @utility size-150 {
979
+ width: 12px;
980
+ height: 12px;
981
+ }
982
+ @utility size-200 {
983
+ width: 16px;
984
+ height: 16px;
985
+ }
986
+ @utility size-250 {
987
+ width: 20px;
988
+ height: 20px;
989
+ }
990
+ @utility size-300 {
991
+ width: 24px;
992
+ height: 24px;
993
+ }
994
+ @utility size-350 {
995
+ width: 28px;
996
+ height: 28px;
997
+ }
998
+ @utility size-400 {
999
+ width: 32px;
1000
+ height: 32px;
1001
+ }
1002
+ @utility size-450 {
1003
+ width: 36px;
1004
+ height: 36px;
1005
+ }
1006
+ @utility size-500 {
1007
+ width: 40px;
1008
+ height: 40px;
1009
+ }
1010
+ @utility size-550 {
1011
+ width: 44px;
1012
+ height: 44px;
1013
+ }
1014
+ @utility size-600 {
1015
+ width: 48px;
1016
+ height: 48px;
1017
+ }
1018
+ @utility size-650 {
1019
+ width: 52px;
1020
+ height: 52px;
1021
+ }
1022
+ @utility size-700 {
1023
+ width: 56px;
1024
+ height: 56px;
1025
+ }
1026
+ @utility size-750 {
1027
+ width: 60px;
1028
+ height: 60px;
1029
+ }
1030
+ @utility size-800 {
1031
+ width: 64px;
1032
+ height: 64px;
1033
+ }
1034
+ @utility size-w-150 {
1035
+ width: 12px;
1036
+ }
1037
+ @utility size-w-200 {
1038
+ width: 16px;
1039
+ }
1040
+ @utility size-w-250 {
1041
+ width: 20px;
1042
+ }
1043
+ @utility size-w-300 {
1044
+ width: 24px;
1045
+ }
1046
+ @utility size-w-350 {
1047
+ width: 28px;
1048
+ }
1049
+ @utility size-w-400 {
1050
+ width: 32px;
1051
+ }
1052
+ @utility size-w-450 {
1053
+ width: 36px;
1054
+ }
1055
+ @utility size-w-500 {
1056
+ width: 40px;
1057
+ }
1058
+ @utility size-w-550 {
1059
+ width: 44px;
1060
+ }
1061
+ @utility size-w-600 {
1062
+ width: 48px;
1063
+ }
1064
+ @utility size-w-650 {
1065
+ width: 52px;
1066
+ }
1067
+ @utility size-w-700 {
1068
+ width: 56px;
1069
+ }
1070
+ @utility size-w-750 {
1071
+ width: 60px;
1072
+ }
1073
+ @utility size-w-800 {
1074
+ width: 64px;
1075
+ }
1076
+ @utility size-h-150 {
1077
+ height: 12px;
1078
+ }
1079
+ @utility size-h-200 {
1080
+ height: 16px;
1081
+ }
1082
+ @utility size-h-250 {
1083
+ height: 20px;
1084
+ }
1085
+ @utility size-h-300 {
1086
+ height: 24px;
1087
+ }
1088
+ @utility size-h-350 {
1089
+ height: 28px;
1090
+ }
1091
+ @utility size-h-400 {
1092
+ height: 32px;
1093
+ }
1094
+ @utility size-h-450 {
1095
+ height: 36px;
1096
+ }
1097
+ @utility size-h-500 {
1098
+ height: 40px;
1099
+ }
1100
+ @utility size-h-550 {
1101
+ height: 44px;
1102
+ }
1103
+ @utility size-h-600 {
1104
+ height: 48px;
1105
+ }
1106
+ @utility size-h-650 {
1107
+ height: 52px;
1108
+ }
1109
+ @utility size-h-700 {
1110
+ height: 56px;
1111
+ }
1112
+ @utility size-h-750 {
1113
+ height: 60px;
1114
+ }
1115
+ @utility size-h-800 {
1116
+ height: 64px;
1117
+ }
1118
+
1119
+ /*
1120
+ * Typography utility classes (replaces src/plugins/typography.js)
1121
+ * https://www.figma.com/file/cHgANa7dtzDDGXk7dKuAOQ/?node-id=7217%3A13600
1122
+ *
1123
+ * Each class composes a text-size + font-weight + leading + optional
1124
+ * letter-spacing. Used as text presets across the design system.
1125
+ *
1126
+ * component-{300..900} — default / light / semi-strong / strong
1127
+ * body-{300..1000} — default / light / semi-strong / strong
1128
+ * heading-{300..1200} — default / light / thin
1129
+ */
1130
+ @utility component-300 {
1131
+ @apply text-300 font-500 leading-500;
1132
+ }
1133
+ @utility component-400 {
1134
+ @apply text-400 font-500 leading-500;
1135
+ }
1136
+ @utility component-500 {
1137
+ @apply text-500 font-500 leading-500;
1138
+ }
1139
+ @utility component-600 {
1140
+ @apply text-600 font-500 leading-500;
1141
+ }
1142
+ @utility component-700 {
1143
+ @apply text-700 font-500 leading-500;
1144
+ }
1145
+ @utility component-800 {
1146
+ @apply text-800 font-500 leading-500;
1147
+ }
1148
+ @utility component-900 {
1149
+ @apply text-900 font-500 leading-500 -tracking-[0.058px];
1150
+ }
1151
+ @utility component-light-300 {
1152
+ @apply text-300 font-400 leading-500;
1153
+ }
1154
+ @utility component-light-400 {
1155
+ @apply text-400 font-400 leading-500;
1156
+ }
1157
+ @utility component-light-500 {
1158
+ @apply text-500 font-400 leading-500;
1159
+ }
1160
+ @utility component-light-600 {
1161
+ @apply text-600 font-400 leading-500;
1162
+ }
1163
+ @utility component-light-700 {
1164
+ @apply text-700 font-400 leading-500;
1165
+ }
1166
+ @utility component-light-800 {
1167
+ @apply text-800 font-400 leading-500;
1168
+ }
1169
+ @utility component-light-900 {
1170
+ @apply text-900 font-400 leading-500 -tracking-[0.0667px];
1171
+ }
1172
+ @utility component-semi-strong-300 {
1173
+ @apply text-300 font-600 leading-500;
1174
+ }
1175
+ @utility component-semi-strong-400 {
1176
+ @apply text-400 font-600 leading-500;
1177
+ }
1178
+ @utility component-semi-strong-500 {
1179
+ @apply text-500 font-600 leading-500;
1180
+ }
1181
+ @utility component-semi-strong-600 {
1182
+ @apply text-600 font-600 leading-500;
1183
+ }
1184
+ @utility component-semi-strong-700 {
1185
+ @apply text-700 font-600 leading-500;
1186
+ }
1187
+ @utility component-semi-strong-800 {
1188
+ @apply text-800 font-600 leading-500;
1189
+ }
1190
+ @utility component-semi-strong-900 {
1191
+ @apply text-900 font-600 leading-500 -tracking-[0.0493px];
1192
+ }
1193
+ @utility component-strong-300 {
1194
+ @apply text-300 font-700 leading-500;
1195
+ }
1196
+ @utility component-strong-400 {
1197
+ @apply text-400 font-700 leading-500;
1198
+ }
1199
+ @utility component-strong-500 {
1200
+ @apply text-500 font-700 leading-500;
1201
+ }
1202
+ @utility component-strong-600 {
1203
+ @apply text-600 font-700 leading-500;
1204
+ }
1205
+ @utility component-strong-700 {
1206
+ @apply text-700 font-700 leading-500;
1207
+ }
1208
+ @utility component-strong-800 {
1209
+ @apply text-800 font-700 leading-500;
1210
+ }
1211
+ @utility component-strong-900 {
1212
+ @apply text-900 font-700 leading-500 -tracking-[0.0377px];
1213
+ }
1214
+ @utility body-300 {
1215
+ @apply text-300 font-500 leading-600;
1216
+ }
1217
+ @utility body-400 {
1218
+ @apply text-400 font-500 leading-600;
1219
+ }
1220
+ @utility body-500 {
1221
+ @apply text-500 font-500 leading-600;
1222
+ }
1223
+ @utility body-600 {
1224
+ @apply text-600 font-500 leading-600;
1225
+ }
1226
+ @utility body-700 {
1227
+ @apply text-700 font-500 leading-600;
1228
+ }
1229
+ @utility body-800 {
1230
+ @apply text-800 font-500 leading-600;
1231
+ }
1232
+ @utility body-900 {
1233
+ @apply text-900 font-500 leading-600;
1234
+ }
1235
+ @utility body-1000 {
1236
+ @apply text-1000 font-500 leading-600;
1237
+ }
1238
+ @utility body-light-300 {
1239
+ @apply text-300 font-400 leading-600;
1240
+ }
1241
+ @utility body-light-400 {
1242
+ @apply text-400 font-400 leading-600;
1243
+ }
1244
+ @utility body-light-500 {
1245
+ @apply text-500 font-400 leading-600;
1246
+ }
1247
+ @utility body-light-600 {
1248
+ @apply text-600 font-400 leading-600;
1249
+ }
1250
+ @utility body-light-700 {
1251
+ @apply text-700 font-400 leading-600;
1252
+ }
1253
+ @utility body-light-800 {
1254
+ @apply text-800 font-400 leading-600;
1255
+ }
1256
+ @utility body-light-900 {
1257
+ @apply text-900 font-400 leading-600 -tracking-[0.0667px];
1258
+ }
1259
+ @utility body-light-1000 {
1260
+ @apply text-1000 font-400 leading-600 -tracking-[0.0203px];
1261
+ }
1262
+ @utility body-semi-strong-300 {
1263
+ @apply text-300 font-600 leading-600;
1264
+ }
1265
+ @utility body-semi-strong-400 {
1266
+ @apply text-400 font-600 leading-600;
1267
+ }
1268
+ @utility body-semi-strong-500 {
1269
+ @apply text-500 font-600 leading-600;
1270
+ }
1271
+ @utility body-semi-strong-600 {
1272
+ @apply text-600 font-600 leading-600;
1273
+ }
1274
+ @utility body-semi-strong-700 {
1275
+ @apply text-700 font-600 leading-600;
1276
+ }
1277
+ @utility body-semi-strong-800 {
1278
+ @apply text-800 font-600 leading-600;
1279
+ }
1280
+ @utility body-semi-strong-900 {
1281
+ @apply text-900 font-600 leading-600;
1282
+ }
1283
+ @utility body-semi-strong-1000 {
1284
+ @apply text-1000 font-600 leading-600;
1285
+ }
1286
+ @utility body-strong-300 {
1287
+ @apply text-300 font-700 leading-600;
1288
+ }
1289
+ @utility body-strong-400 {
1290
+ @apply text-400 font-700 leading-600;
1291
+ }
1292
+ @utility body-strong-500 {
1293
+ @apply text-500 font-700 leading-600;
1294
+ }
1295
+ @utility body-strong-600 {
1296
+ @apply text-600 font-700 leading-600;
1297
+ }
1298
+ @utility body-strong-700 {
1299
+ @apply text-700 font-700 leading-600;
1300
+ }
1301
+ @utility body-strong-800 {
1302
+ @apply text-800 font-700 leading-600;
1303
+ }
1304
+ @utility body-strong-900 {
1305
+ @apply text-900 font-700 leading-600;
1306
+ }
1307
+ @utility body-strong-1000 {
1308
+ @apply text-1000 font-700 leading-600;
1309
+ }
1310
+ @utility heading-thin-300 {
1311
+ @apply text-500 font-500 leading-500;
1312
+ }
1313
+ @utility heading-thin-400 {
1314
+ @apply text-600 font-500 leading-500;
1315
+ }
1316
+ @utility heading-thin-500 {
1317
+ @apply text-700 font-500 leading-500;
1318
+ }
1319
+ @utility heading-thin-600 {
1320
+ @apply text-800 font-500 leading-500;
1321
+ }
1322
+ @utility heading-thin-700 {
1323
+ @apply text-900 font-500 leading-400 -tracking-[0.058px];
1324
+ }
1325
+ @utility heading-thin-800 {
1326
+ @apply text-1000 font-500 leading-400 -tracking-[0.175px];
1327
+ }
1328
+ @utility heading-thin-900 {
1329
+ @apply text-1100 font-500 leading-400 -tracking-[0.357px];
1330
+ }
1331
+ @utility heading-thin-1000 {
1332
+ @apply text-1200 font-500 leading-400 -tracking-[0.625px];
1333
+ }
1334
+ @utility heading-thin-1100 {
1335
+ @apply text-1300 font-500 leading-400 -tracking-[1.05px];
1336
+ }
1337
+ @utility heading-thin-1200 {
1338
+ @apply text-1400 font-500 leading-400 -tracking-[1.692px];
1339
+ }
1340
+ @utility heading-light-300 {
1341
+ @apply text-500 font-600 leading-500;
1342
+ }
1343
+ @utility heading-light-400 {
1344
+ @apply text-600 font-600 leading-500;
1345
+ }
1346
+ @utility heading-light-500 {
1347
+ @apply text-700 font-600 leading-500;
1348
+ }
1349
+ @utility heading-light-600 {
1350
+ @apply text-800 font-600 leading-500;
1351
+ }
1352
+ @utility heading-light-700 {
1353
+ @apply text-900 font-600 leading-400 -tracking-[0.0493px];
1354
+ }
1355
+ @utility heading-light-800 {
1356
+ @apply text-1000 font-600 leading-400 -tracking-[0.147px];
1357
+ }
1358
+ @utility heading-light-900 {
1359
+ @apply text-1100 font-600 leading-400 -tracking-[0.2982px];
1360
+ }
1361
+ @utility heading-light-1000 {
1362
+ @apply text-1200 font-600 leading-400 -tracking-[0.52px];
1363
+ }
1364
+ @utility heading-light-1100 {
1365
+ @apply text-1300 font-600 leading-400 -tracking-[0.876px];
1366
+ }
1367
+ @utility heading-light-1200 {
1368
+ @apply text-1400 font-600 leading-400 -tracking-[1.4112px];
1369
+ }
1370
+ @utility heading-300 {
1371
+ @apply text-500 font-700 leading-500;
1372
+ }
1373
+ @utility heading-400 {
1374
+ @apply text-600 font-700 leading-500;
1375
+ }
1376
+ @utility heading-500 {
1377
+ @apply text-700 font-700 leading-500;
1378
+ }
1379
+ @utility heading-600 {
1380
+ @apply text-800 font-700 leading-500;
1381
+ }
1382
+ @utility heading-700 {
1383
+ @apply text-900 font-700 leading-400 -tracking-[0.0377px];
1384
+ }
1385
+ @utility heading-800 {
1386
+ @apply text-1000 font-700 leading-400 -tracking-[0.1155px];
1387
+ }
1388
+ @utility heading-900 {
1389
+ @apply text-1100 font-700 leading-400 -tracking-[0.2394px];
1390
+ }
1391
+ @utility heading-1000 {
1392
+ @apply text-1200 font-700 leading-400 -tracking-[0.415px];
1393
+ }
1394
+ @utility heading-1100 {
1395
+ @apply text-1300 font-700 leading-400 -tracking-[0.702px];
1396
+ }
1397
+ @utility heading-1200 {
1398
+ @apply text-1400 font-700 leading-400 -tracking-[1.1304px];
1399
+ }
1400
+
1401
+ /*
1402
+ * Form input resets (replaces src/plugins/forms.js)
1403
+ */
1404
+ @layer base {
1405
+ /* Remove up/down arrows on number inputs */
1406
+ input[type="number"] {
1407
+ -moz-appearance: textfield;
1408
+ }
1409
+ input[type="number"]::-webkit-inner-spin-button,
1410
+ input[type="number"]::-webkit-outer-spin-button {
1411
+ margin: 0;
1412
+ appearance: none;
1413
+ }
1414
+
1415
+ /* Remove the X on search inputs */
1416
+ input[type="search"]::-webkit-search-cancel-button,
1417
+ input[type="search"]::-webkit-search-decoration {
1418
+ appearance: none;
1419
+ }
1420
+ }