@astryxdesign/theme-y2k 0.0.0-bootstrap.0 → 0.0.15

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.
@@ -0,0 +1,617 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * Y2K Theme
5
+ *
6
+ * A bubbly, playful pop theme inspired by early 2000s aesthetics.
7
+ * Periwinkle body (#CCCFFA), charcoal accent, Poppins for body/headings, and
8
+ * Crimson Text for display sizes.
9
+ * Core neutral: H=75 C=8 (warm cream neutral derived from #FFF6ED)
10
+ */
11
+
12
+ import {defineTheme, defineSyntaxTheme} from '@astryxdesign/core/theme';
13
+ import {y2kIconRegistry} from './icons';
14
+
15
+ const y2kSyntax = defineSyntaxTheme({
16
+ name: 'xds-y2k',
17
+ tokens: {
18
+ keyword: ['#615a7a', '#aea6ca'],
19
+ string: ['#586242', '#a5af8b'],
20
+ comment: ['#5e5e5e', '#ababab'],
21
+ number: ['#775843', '#c8a48c'],
22
+ function: ['#39637d', '#87b0cd'],
23
+ type: ['#615a7a', '#aea6ca'],
24
+ variable: ['#5e5e5e', '#ababab'],
25
+ operator: ['#5e5e5e', '#ababab'],
26
+ constant: ['#775843', '#c8a48c'],
27
+ tag: ['#7f5351', '#d19f9d'],
28
+ attribute: ['#6c5c3e', '#bca987'],
29
+ property: ['#3c6755', '#87b5a1'],
30
+ punctuation: ['#5e5e5e', '#ababab'],
31
+ background: ['#FFF6ED', '#190f00'],
32
+ },
33
+ });
34
+
35
+ export const y2kTheme = defineTheme({
36
+ name: 'y2k',
37
+
38
+ typography: {
39
+ scale: {base: 16, ratio: 1.25},
40
+ body: {
41
+ family: 'Poppins',
42
+ fallbacks:
43
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
44
+ },
45
+ heading: {
46
+ family: 'Poppins',
47
+ fallbacks:
48
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
49
+ },
50
+ code: {
51
+ family: 'JetBrains Mono',
52
+ fallbacks: '"SF Mono", Monaco, Consolas, monospace',
53
+ },
54
+ },
55
+
56
+ radius: {base: 4, multiplier: 0},
57
+
58
+ motion: {fast: 100, medium: 250, slow: 600, ratio: 0.8},
59
+
60
+ syntax: y2kSyntax,
61
+
62
+ tokens: {
63
+ // =========================================================================
64
+ // Spacing — comfortable preset (base=6)
65
+ // =========================================================================
66
+ '--spacing-0-5': '3px',
67
+ '--spacing-1': '6px',
68
+ '--spacing-1-5': '9px',
69
+ '--spacing-2': '12px',
70
+ '--spacing-3': '18px',
71
+ '--spacing-4': '24px',
72
+ '--spacing-5': '30px',
73
+ '--spacing-6': '36px',
74
+ '--spacing-7': '42px',
75
+ '--spacing-8': '48px',
76
+
77
+ // Size — comfortable preset
78
+ '--size-element-sm': '32px',
79
+ '--size-element-md': '40px',
80
+ '--size-element-lg': '48px',
81
+
82
+ // =========================================================================
83
+ // Colors — Y2K pop palette
84
+ // Neutral: H=75 C=8 (warm cream)
85
+ // Accent: charcoal (#292427)
86
+ // =========================================================================
87
+
88
+ // Core semantic — neutral H=75 C=8 (cream)
89
+ '--color-accent': ['#2d241b', '#EDEFFC'],
90
+ '--color-accent-muted': ['#2d241b14', '#EDEFFC20'],
91
+ '--color-neutral': ['#2d241b10', '#EDEFFC1A'],
92
+ '--color-background-surface': ['#FFFFFF', '#16182b'],
93
+ '--color-background-body': ['#CCCFFA', '#0e0f1a'],
94
+ '--color-overlay': ['#2d241b80', '#0a0b14CC'],
95
+ '--color-overlay-hover': ['#2d241b0D', '#EDEFFC0D'],
96
+ '--color-overlay-pressed': ['#2d241b1A', '#EDEFFC1A'],
97
+ '--color-background-muted': ['#ede0d4', '#1f2238'],
98
+
99
+ // Text — neutral H=75 (cream)
100
+ '--color-text-primary': ['#2d241b', '#EDEFFC'],
101
+ '--color-text-secondary': ['#675d52', '#a6acd6'],
102
+ '--color-text-disabled': ['#d1c5b8', '#4a4f6b'],
103
+ '--color-text-accent': ['#2d241b', '#EDEFFC'],
104
+ '--color-on-dark': '#FFFFFF',
105
+ '--color-on-light': '#2d241b',
106
+ '--color-on-accent': ['#FFFFFF', '#16182b'],
107
+ '--color-on-success': ['#3a5500', '#1e3200'],
108
+ '--color-on-error': ['#8b1d24', '#5c0008'],
109
+ '--color-on-warning': ['#614400', '#3f2600'],
110
+
111
+ // Icon — neutral H=75 (cream)
112
+ '--color-icon-accent': ['#2d241b', '#EDEFFC'],
113
+ '--color-icon-primary': ['#2d241b', '#EDEFFC'],
114
+ '--color-icon-secondary': ['#675d52', '#a6acd6'],
115
+ '--color-icon-disabled': ['#d1c5b8', '#4a4f6b'],
116
+
117
+ // Surface variants — white cards, cream body
118
+ '--color-background-card': ['#FFFFFF', '#16182b'],
119
+ '--color-background-popover': ['#FFFFFF', '#1f2238'],
120
+ '--color-background-inverted': ['#2d241b', '#EDEFFC'],
121
+
122
+ // Status / Sentiment — same in light and dark
123
+ '--color-success': ['#C5E17A', '#C5E17A'],
124
+ '--color-success-muted': ['#C5E17A', '#C5E17A'],
125
+ '--color-error': ['#FFC5C3', '#FFC5C3'],
126
+ '--color-error-muted': ['#FFC5C3', '#FFC5C3'],
127
+ '--color-warning': ['#FFE08A', '#FFE08A'],
128
+ '--color-warning-muted': ['#FFE08A', '#FFE08A'],
129
+
130
+ // Bold charcoal borders in light mode (default + card) for the heavy-outline
131
+ // Y2K look. Dark mode unchanged.
132
+ '--color-border': ['#2F292E', '#EDEFFC1A'],
133
+ '--color-border-emphasized': ['#2F292E', '#3a3f5e'],
134
+
135
+ // Effects
136
+ '--color-skeleton': ['#d1c5b8', '#2a2e47'],
137
+ '--color-shadow': ['#2d241b1A', '#0000004D'],
138
+ '--color-tint-hover': ['#2d241b', '#EDEFFC'],
139
+
140
+ // Typography override
141
+ '--text-supporting-size': '12px',
142
+
143
+ // Categorical — hand-tuned for equal optical brightness, same light/dark
144
+ '--color-background-green': ['#C5E17A', '#C5E17A'],
145
+ '--color-border-green': ['#B5D16A', '#B5D16A'],
146
+ '--color-icon-green': ['#3a5500', '#1e3200'],
147
+ '--color-text-green': ['#3a5500', '#1e3200'],
148
+
149
+ '--color-background-red': ['#FFC5C3', '#FFC5C3'],
150
+ '--color-border-red': ['#FF9E9A', '#FF9E9A'],
151
+ '--color-icon-red': ['#8b1d24', '#5c0008'],
152
+ '--color-text-red': ['#8b1d24', '#5c0008'],
153
+
154
+ '--color-background-yellow': ['#FFE08A', '#FFE08A'],
155
+ '--color-border-yellow': ['#FFCC55', '#FFCC55'],
156
+ '--color-icon-yellow': ['#614400', '#3f2600'],
157
+ '--color-text-yellow': ['#614400', '#3f2600'],
158
+
159
+ '--color-background-blue': ['#B8E0FF', '#B8E0FF'],
160
+ '--color-border-blue': ['#8ECFFF', '#8ECFFF'],
161
+ '--color-icon-blue': ['#004e74', '#002c4d'],
162
+ '--color-text-blue': ['#004e74', '#002c4d'],
163
+
164
+ '--color-background-pink': ['#FFC8E0', '#FFC8E0'],
165
+ '--color-border-pink': ['#FFA0C8', '#FFA0C8'],
166
+ '--color-icon-pink': ['#822050', '#580030'],
167
+ '--color-text-pink': ['#822050', '#580030'],
168
+
169
+ '--color-background-purple': ['#DDD0FF', '#DDD0FF'],
170
+ '--color-border-purple': ['#C0AAFF', '#C0AAFF'],
171
+ '--color-icon-purple': ['#453080', '#201058'],
172
+ '--color-text-purple': ['#453080', '#201058'],
173
+
174
+ '--color-background-cyan': ['#A8F0E2', '#A8F0E2'],
175
+ '--color-border-cyan': ['#70E8D0', '#70E8D0'],
176
+ '--color-icon-cyan': ['#005548', '#003028'],
177
+ '--color-text-cyan': ['#005548', '#003028'],
178
+
179
+ '--color-background-orange': ['#FFCCA0', '#FFCCA0'],
180
+ '--color-border-orange': ['#FFAA66', '#FFAA66'],
181
+ '--color-icon-orange': ['#703500', '#4a1800'],
182
+ '--color-text-orange': ['#703500', '#4a1800'],
183
+
184
+ '--color-background-teal': ['#A8EED0', '#A8EED0'],
185
+ '--color-border-teal': ['#78E0B0', '#78E0B0'],
186
+ '--color-icon-teal': ['#005530', '#003018'],
187
+ '--color-text-teal': ['#005530', '#003018'],
188
+
189
+ // Gray (cream neutral H=75 C=8)
190
+ '--color-background-gray': ['#ede0d4', '#ede0d4'],
191
+ '--color-border-gray': ['#dfd2c6', '#dfd2c6'],
192
+ '--color-icon-gray': ['#4f453b', '#2d241b'],
193
+ '--color-text-gray': ['#4f453b', '#2d241b'],
194
+
195
+ // =========================================================================
196
+ // Radius — sharp / brutalist (multiplier: 0 via radius config + explicit)
197
+ // =========================================================================
198
+ '--radius-none': '0px',
199
+ '--radius-inner': '0px',
200
+ '--radius-element': '0px',
201
+ '--radius-container': '0px',
202
+ '--radius-page': '0px',
203
+ '--radius-full': '0px',
204
+
205
+ // =========================================================================
206
+ // Shadows — warm cream neutral
207
+ // =========================================================================
208
+ '--shadow-low': '0 2px 4px #2d241b0D, 0 4px 8px #2d241b1A',
209
+ '--shadow-med': '0 2px 4px #2d241b0D, 0 4px 12px #2d241b1A',
210
+ '--shadow-high': '0 4px 6px #2d241b1A, 0 12px 24px #2d241b26',
211
+ '--shadow-inset-hover': 'inset 0px 0px 0px 2px #2d241b30',
212
+ '--shadow-inset-selected': 'inset 0px 0px 0px 2px #2d241b50',
213
+ '--shadow-inset-success': 'inset 0px 0px 0px 2px #3a550050',
214
+ '--shadow-inset-warning': 'inset 0px 0px 0px 2px #61440050',
215
+ '--shadow-inset-error': 'inset 0px 0px 0px 2px #8b1d2450',
216
+ },
217
+
218
+ components: {
219
+ // Display sizes use a Crimson Text serif, distinct from the Poppins
220
+ // used for body/headings.
221
+ text: {
222
+ 'type:display-1': {
223
+ fontFamily: '"Crimson Text", Georgia, "Times New Roman", Times, serif',
224
+ },
225
+ 'type:display-2': {
226
+ fontFamily: '"Crimson Text", Georgia, "Times New Roman", Times, serif',
227
+ },
228
+ 'type:display-3': {
229
+ fontFamily: '"Crimson Text", Georgia, "Times New Roman", Times, serif',
230
+ },
231
+ },
232
+
233
+ // TopNav items: drop the pill background on the selected state and rely on
234
+ // weight + primary text color for emphasis. Hover/active keep the neutral
235
+ // overlay from the base styles.
236
+ 'top-nav-item': {
237
+ selected: {
238
+ backgroundColor: 'transparent',
239
+ ':hover': {
240
+ backgroundColor: 'var(--color-overlay-hover)',
241
+ },
242
+ ':active': {
243
+ backgroundColor: 'var(--color-overlay-pressed)',
244
+ },
245
+ },
246
+ },
247
+ button: {
248
+ base: {
249
+ borderRadius: '0px',
250
+ borderWidth: '1px',
251
+ borderStyle: 'solid',
252
+ borderColor: 'var(--color-border)',
253
+ },
254
+ 'variant:primary': {
255
+ backgroundColor: 'var(--color-text-primary)',
256
+ color: 'var(--color-background-body)',
257
+ borderColor: 'transparent',
258
+ },
259
+ 'variant:secondary': {
260
+ backgroundColor: 'var(--color-background-green)',
261
+ borderWidth: '1px',
262
+ borderStyle: 'solid',
263
+ borderColor: 'var(--color-text-green)',
264
+ color: 'var(--color-text-green)',
265
+ ':hover': {
266
+ backgroundColor: 'var(--color-border-green)',
267
+ },
268
+ },
269
+ 'variant:ghost': {
270
+ borderColor: 'transparent',
271
+ },
272
+ 'variant:destructive': {
273
+ backgroundColor: 'var(--color-background-red)',
274
+ color: 'var(--color-text-red)',
275
+ borderWidth: '1px',
276
+ borderStyle: 'solid',
277
+ borderColor: 'var(--color-text-red)',
278
+ },
279
+ },
280
+
281
+ badge: {
282
+ base: {
283
+ borderRadius: '9999px',
284
+ borderWidth: '1.5px',
285
+ borderStyle: 'solid',
286
+ borderColor: 'color-mix(in srgb, currentColor 30%, transparent)',
287
+ },
288
+ 'variant:info': {
289
+ backgroundColor: 'var(--color-background-blue)',
290
+ color: 'var(--color-text-blue)',
291
+ },
292
+ 'variant:neutral': {
293
+ backgroundColor: 'var(--color-background-gray)',
294
+ color: 'var(--color-text-gray)',
295
+ },
296
+ 'variant:success': {
297
+ backgroundColor: 'var(--color-background-green)',
298
+ color: 'var(--color-text-green)',
299
+ },
300
+ 'variant:warning': {
301
+ backgroundColor: 'var(--color-background-yellow)',
302
+ color: 'var(--color-text-yellow)',
303
+ },
304
+ 'variant:error': {
305
+ backgroundColor: 'var(--color-background-red)',
306
+ color: 'var(--color-text-red)',
307
+ },
308
+ },
309
+
310
+ banner: {
311
+ base: {
312
+ borderRadius: '0px',
313
+ },
314
+ 'status:info': {
315
+ backgroundColor: 'var(--color-background-blue)',
316
+ '--color-text-primary': 'var(--color-text-blue)',
317
+ '--color-text-secondary': 'var(--color-text-blue)',
318
+ '--color-accent': 'var(--color-text-blue)',
319
+ },
320
+ 'status:success': {
321
+ backgroundColor: 'var(--color-background-green)',
322
+ '--color-text-primary': 'var(--color-text-green)',
323
+ '--color-text-secondary': 'var(--color-text-green)',
324
+ '--color-success': 'var(--color-text-green)',
325
+ },
326
+ 'status:warning': {
327
+ backgroundColor: 'var(--color-background-yellow)',
328
+ '--color-text-primary': 'var(--color-text-yellow)',
329
+ '--color-text-secondary': 'var(--color-text-yellow)',
330
+ '--color-warning': 'var(--color-text-yellow)',
331
+ },
332
+ 'status:error': {
333
+ backgroundColor: 'var(--color-background-red)',
334
+ '--color-text-primary': 'var(--color-text-red)',
335
+ '--color-text-secondary': 'var(--color-text-red)',
336
+ '--color-error': 'var(--color-text-red)',
337
+ },
338
+ },
339
+
340
+ field: {
341
+ base: {
342
+ borderRadius: '0px',
343
+ },
344
+ },
345
+
346
+ card: {
347
+ base: {
348
+ borderRadius: '0px',
349
+ padding: 'var(--spacing-3)',
350
+ },
351
+ },
352
+
353
+ section: {
354
+ base: {
355
+ padding: 'var(--spacing-3)',
356
+ },
357
+ },
358
+ },
359
+
360
+ icons: y2kIconRegistry,
361
+ });
362
+
363
+ /**
364
+ * Raw tonal palettes — every color at every tone step (0-100 in 5s).
365
+ */
366
+ export const y2kPalettes = {
367
+ neutral: {
368
+ hue: 75,
369
+ chroma: 8,
370
+ 0: '#000000',
371
+ 5: '#190f00',
372
+ 10: '#221a10',
373
+ 15: '#2d241b',
374
+ 20: '#382f25',
375
+ 25: '#433a30',
376
+ 30: '#4f453b',
377
+ 35: '#5b5146',
378
+ 40: '#675d52',
379
+ 45: '#73695e',
380
+ 50: '#80756a',
381
+ 55: '#8d8276',
382
+ 60: '#9a8f83',
383
+ 65: '#a79c90',
384
+ 70: '#b5a99d',
385
+ 75: '#c3b7ab',
386
+ 80: '#d1c5b8',
387
+ 85: '#dfd2c6',
388
+ 90: '#ede0d4',
389
+ 95: '#fbefe2',
390
+ 100: '#ffffff',
391
+ },
392
+ green: {
393
+ hue: 120,
394
+ chroma: 60,
395
+ 0: '#000000',
396
+ 5: '#061800',
397
+ 10: '#132200',
398
+ 15: '#152d00',
399
+ 20: '#173900',
400
+ 25: '#1e4500',
401
+ 30: '#285100',
402
+ 35: '#355d00',
403
+ 40: '#426900',
404
+ 45: '#4f7600',
405
+ 50: '#5c830b',
406
+ 55: '#69901d',
407
+ 60: '#779d2c',
408
+ 65: '#84aa39',
409
+ 70: '#92b847',
410
+ 75: '#a0c654',
411
+ 80: '#aed461',
412
+ 85: '#bce26e',
413
+ 90: '#caf07b',
414
+ 95: '#d9fe89',
415
+ 100: '#ffffff',
416
+ },
417
+ red: {
418
+ hue: 25,
419
+ chroma: 55,
420
+ 0: '#000000',
421
+ 5: '#480000',
422
+ 10: '#540000',
423
+ 15: '#620002',
424
+ 20: '#700012',
425
+ 25: '#7f001b',
426
+ 30: '#8e1126',
427
+ 35: '#9c2330',
428
+ 40: '#ab313b',
429
+ 45: '#ba3f47',
430
+ 50: '#c94d52',
431
+ 55: '#d95b5e',
432
+ 60: '#e8686b',
433
+ 65: '#f87677',
434
+ 70: '#ff8787',
435
+ 75: '#ff9d9b',
436
+ 80: '#ffb2af',
437
+ 85: '#ffc6c3',
438
+ 90: '#ffd9d7',
439
+ 95: '#ffeceb',
440
+ 100: '#ffffff',
441
+ },
442
+ yellow: {
443
+ hue: 85,
444
+ chroma: 65,
445
+ 0: '#000000',
446
+ 5: '#270c00',
447
+ 10: '#301800',
448
+ 15: '#3b2200',
449
+ 20: '#472c00',
450
+ 25: '#533700',
451
+ 30: '#604200',
452
+ 35: '#6d4d00',
453
+ 40: '#7b5900',
454
+ 45: '#896500',
455
+ 50: '#977100',
456
+ 55: '#a67e00',
457
+ 60: '#b58b01',
458
+ 65: '#c39819',
459
+ 70: '#d2a52a',
460
+ 75: '#e2b239',
461
+ 80: '#f1c047',
462
+ 85: '#ffcd55',
463
+ 90: '#ffde9b',
464
+ 95: '#ffeecf',
465
+ 100: '#ffffff',
466
+ },
467
+ blue: {
468
+ hue: 250,
469
+ chroma: 40,
470
+ 0: '#000000',
471
+ 5: '#001939',
472
+ 10: '#002244',
473
+ 15: '#002c4d',
474
+ 20: '#003759',
475
+ 25: '#004266',
476
+ 30: '#004e74',
477
+ 35: '#005a83',
478
+ 40: '#006693',
479
+ 45: '#0073a3',
480
+ 50: '#0080b4',
481
+ 55: '#008ec4',
482
+ 60: '#0e9bd2',
483
+ 65: '#2fa8e0',
484
+ 70: '#45b6ef',
485
+ 75: '#57c3fd',
486
+ 80: '#7ed0ff',
487
+ 85: '#a3dbff',
488
+ 90: '#c4e7ff',
489
+ 95: '#e1f3ff',
490
+ 100: '#ffffff',
491
+ },
492
+ pink: {
493
+ hue: 350,
494
+ chroma: 45,
495
+ 0: '#000000',
496
+ 5: '#3d001d',
497
+ 10: '#490027',
498
+ 15: '#560032',
499
+ 20: '#64003d',
500
+ 25: '#711248',
501
+ 30: '#7f2154',
502
+ 35: '#8c2f60',
503
+ 40: '#9a3c6c',
504
+ 45: '#a84979',
505
+ 50: '#b75685',
506
+ 55: '#c56392',
507
+ 60: '#d371a0',
508
+ 65: '#e27ead',
509
+ 70: '#f18bbb',
510
+ 75: '#ff99c8',
511
+ 80: '#ffaed3',
512
+ 85: '#ffc3de',
513
+ 90: '#ffd7e9',
514
+ 95: '#ffebf4',
515
+ 100: '#ffffff',
516
+ },
517
+ purple: {
518
+ hue: 300,
519
+ chroma: 40,
520
+ 0: '#000000',
521
+ 5: '#020840',
522
+ 10: '#11144b',
523
+ 15: '#1f1e57',
524
+ 20: '#2c2864',
525
+ 25: '#393370',
526
+ 30: '#453e7d',
527
+ 35: '#524a8a',
528
+ 40: '#5f5697',
529
+ 45: '#6c62a4',
530
+ 50: '#796eb2',
531
+ 55: '#867bc0',
532
+ 60: '#9387ce',
533
+ 65: '#a194dc',
534
+ 70: '#afa2ea',
535
+ 75: '#bdaff8',
536
+ 80: '#cbbeff',
537
+ 85: '#d9ceff',
538
+ 90: '#e6deff',
539
+ 95: '#f3eeff',
540
+ 100: '#ffffff',
541
+ },
542
+ cyan: {
543
+ hue: 185,
544
+ chroma: 35,
545
+ 0: '#000000',
546
+ 5: '#001e14',
547
+ 10: '#00261f',
548
+ 15: '#003029',
549
+ 20: '#003b34',
550
+ 25: '#00473f',
551
+ 30: '#00534a',
552
+ 35: '#005f56',
553
+ 40: '#006c62',
554
+ 45: '#00796f',
555
+ 50: '#00867b',
556
+ 55: '#0f9488',
557
+ 60: '#29a195',
558
+ 65: '#3bafa2',
559
+ 70: '#4cbcb0',
560
+ 75: '#5bcabd',
561
+ 80: '#6ad8cb',
562
+ 85: '#79e7d9',
563
+ 90: '#87f5e7',
564
+ 95: '#a6fff5',
565
+ 100: '#ffffff',
566
+ },
567
+ orange: {
568
+ hue: 60,
569
+ chroma: 60,
570
+ 0: '#000000',
571
+ 5: '#340000',
572
+ 10: '#420500',
573
+ 15: '#520b00',
574
+ 20: '#601700',
575
+ 25: '#6d2400',
576
+ 30: '#7b3000',
577
+ 35: '#893c00',
578
+ 40: '#984800',
579
+ 45: '#a75409',
580
+ 50: '#b66019',
581
+ 55: '#c56d26',
582
+ 60: '#d47a33',
583
+ 65: '#e48740',
584
+ 70: '#f3944c',
585
+ 75: '#ffa25c',
586
+ 80: '#ffb682',
587
+ 85: '#ffc9a3',
588
+ 90: '#ffdbc3',
589
+ 95: '#ffede1',
590
+ 100: '#ffffff',
591
+ },
592
+ teal: {
593
+ hue: 165,
594
+ chroma: 30,
595
+ 0: '#000000',
596
+ 5: '#001d00',
597
+ 10: '#00240f',
598
+ 15: '#002f1a',
599
+ 20: '#003a24',
600
+ 25: '#00462f',
601
+ 30: '#00513a',
602
+ 35: '#115e45',
603
+ 40: '#226a51',
604
+ 45: '#30775d',
605
+ 50: '#3d8469',
606
+ 55: '#4a9175',
607
+ 60: '#589e82',
608
+ 65: '#65ab8f',
609
+ 70: '#72b99c',
610
+ 75: '#7fc7a9',
611
+ 80: '#8dd5b7',
612
+ 85: '#9be3c5',
613
+ 90: '#a9f2d3',
614
+ 95: '#b6ffe1',
615
+ 100: '#ffffff',
616
+ },
617
+ } as const;