ui-foundations 0.3.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +181 -37
  2. package/dist/assets/icons/checkmark.svg +1 -0
  3. package/dist/core/index.css +8 -7
  4. package/dist/macros/ui.njk +203 -0
  5. package/dist/main.css +941 -210
  6. package/dist/react/accordion.js +36 -0
  7. package/dist/react/avatar.js +34 -0
  8. package/dist/react/badge.js +41 -0
  9. package/dist/react/button.js +4 -6
  10. package/dist/react/checkbox.js +21 -8
  11. package/dist/react/divider.js +31 -0
  12. package/dist/react/icon.js +8 -1
  13. package/dist/react/index.js +8 -0
  14. package/dist/react/label.js +1 -1
  15. package/dist/react/radio.js +45 -0
  16. package/dist/react/switch.js +9 -8
  17. package/dist/react/tabs.js +72 -0
  18. package/dist/react/textarea.js +38 -0
  19. package/dist/react/tooltip.js +25 -0
  20. package/dist/react/warn-dev.js +15 -0
  21. package/dist/tokens/css/{appearance-(modes).tokens.mode-dark.css → appearance-modes.tokens.mode-dark.css} +6 -6
  22. package/dist/tokens/css/{appearance-(modes).tokens.mode-light.css → appearance-modes.tokens.mode-light.css} +1 -1
  23. package/dist/tokens/css/{components-(ui).tokens.css → components-ui.tokens.css} +73 -32
  24. package/dist/tokens/css/core-primitives.tokens.css +240 -0
  25. package/dist/tokens/css/{semantics-(roles).tokens.css → semantics-roles.tokens.css} +1 -1
  26. package/dist/tokens/css/themes-brands.tokens.brand-a.css +22 -0
  27. package/dist/tokens/css/{themes-(brands).tokens.brand-b.css → themes-brands.tokens.brand-b.css} +9 -9
  28. package/dist/tokens/css/themes-brands.tokens.brand-c.css +22 -0
  29. package/dist/tokens/json/appearance-modes.tokens.mode-dark.json +121 -0
  30. package/dist/tokens/json/appearance-modes.tokens.mode-light.json +121 -0
  31. package/dist/tokens/json/components-ui.tokens.json +713 -0
  32. package/dist/tokens/json/{core-(primitives).tokens.json → core-primitives.tokens.json} +526 -410
  33. package/dist/tokens/json/semantics-roles.tokens.json +141 -0
  34. package/dist/tokens/json/themes-brands.tokens.brand-a.json +81 -0
  35. package/dist/tokens/json/themes-brands.tokens.brand-b.json +81 -0
  36. package/dist/tokens/json/themes-brands.tokens.brand-c.json +81 -0
  37. package/dist/tokens/tokens.yaml +2722 -499
  38. package/dist/tokens/ts/{appearance-(modes).tokens.mode-dark.ts → appearance-modes.tokens.mode-dark.ts} +6 -6
  39. package/dist/tokens/ts/{appearance-(modes).tokens.mode-light.ts → appearance-modes.tokens.mode-light.ts} +1 -1
  40. package/dist/tokens/ts/{components-(ui).tokens.ts → components-ui.tokens.ts} +74 -33
  41. package/dist/tokens/ts/core-primitives.tokens.ts +265 -0
  42. package/dist/tokens/ts/{semantics-(roles).tokens.ts → semantics-roles.tokens.ts} +1 -1
  43. package/dist/tokens/ts/themes-brands.tokens.brand-a.ts +32 -0
  44. package/dist/tokens/ts/{themes-(brands).tokens.brand-b.ts → themes-brands.tokens.brand-b.ts} +9 -9
  45. package/dist/tokens/ts/{themes-(brands).tokens.brand-a.ts → themes-brands.tokens.brand-c.ts} +9 -9
  46. package/dist/ui/index.css +8 -0
  47. package/dist/ui/patterns/accordion.css +81 -0
  48. package/dist/ui/patterns/avatar.css +57 -0
  49. package/dist/ui/patterns/badge.css +49 -0
  50. package/dist/ui/patterns/checkbox.css +71 -22
  51. package/dist/ui/patterns/divider.css +25 -0
  52. package/dist/ui/patterns/radio.css +109 -0
  53. package/dist/ui/patterns/tabs.css +71 -0
  54. package/dist/ui/patterns/textarea.css +50 -0
  55. package/dist/ui/patterns/tooltip.css +64 -0
  56. package/docs/README.md +38 -0
  57. package/docs/agentic/README.md +35 -0
  58. package/docs/agentic/assistant-behavior-rules.md +48 -0
  59. package/docs/agentic/skills/component-accessibility-audit.md +132 -0
  60. package/docs/agentic/skills/ux-writing-coach.md +116 -0
  61. package/docs/foundations/README.md +31 -0
  62. package/docs/foundations/foundation-001-token-layering.md +6 -0
  63. package/docs/foundations/foundation-002-naming-and-grouping.md +6 -0
  64. package/docs/foundations/foundation-003-color-semantics-and-status.md +6 -0
  65. package/docs/foundations/foundation-004-typography-scale-and-line-height.md +6 -0
  66. package/docs/foundations/foundation-005-responsive-breakpoints-and-containers.md +6 -0
  67. package/docs/foundations/foundation-006-z-index-layering.md +6 -0
  68. package/docs/foundations/foundation-007-typography-selectors-and-specificity.md +7 -1
  69. package/docs/foundations/foundation-008-mode-activation-and-consumer-control.md +6 -0
  70. package/docs/foundations/foundation-009-component-boundaries-and-utility.md +6 -0
  71. package/docs/foundations/foundation-010-implementation-and-pipeline-workflow.md +6 -0
  72. package/docs/foundations/foundation-011-branching-and-release-governance.md +6 -0
  73. package/docs/foundations/foundation-012-minimal-markup-and-composition.md +6 -0
  74. package/package.json +16 -11
  75. package/dist/tokens/css/core-(primitives).tokens.css +0 -127
  76. package/dist/tokens/css/themes-(brands).tokens.brand-a.css +0 -22
  77. package/dist/tokens/json/appearance-(modes).tokens.mode-dark.json +0 -182
  78. package/dist/tokens/json/appearance-(modes).tokens.mode-light.json +0 -182
  79. package/dist/tokens/json/components-(ui).tokens.json +0 -739
  80. package/dist/tokens/json/semantics-(roles).tokens.json +0 -203
  81. package/dist/tokens/json/themes-(brands).tokens.brand-a.json +0 -115
  82. package/dist/tokens/json/themes-(brands).tokens.brand-b.json +0 -115
  83. package/dist/tokens/ts/core-(primitives).tokens.ts +0 -152
  84. package/docs/agentic/skills/README.md +0 -51
  85. package/docs/agentic/skills/design-ops-specialist/SKILL.md +0 -60
  86. package/docs/agentic/skills/design-system-architect/SKILL.md +0 -106
  87. package/docs/agentic/team-ai-playbook.md +0 -226
@@ -1,5 +1,5 @@
1
1
  /* Auto-generated design tokens from Figma */
2
- /* Generated on 2026-03-31T20:27:09.724Z */
2
+ /* Generated on 2026-05-22T09:23:10.611Z */
3
3
 
4
4
  :root {
5
5
  --button-border-size-hover: var(--size-border-100);
@@ -61,49 +61,36 @@
61
61
  --input-text-text-color-default: var(--color-text-default);
62
62
  --input-text-text-color-hover: var(--color-text-default);
63
63
  --input-text-text-color-active: var(--color-text-default);
64
- --input-text-border-color-default: var(--color-border-default);
65
- --input-text-border-color-hover: var(--color-border-brand);
66
- --input-text-border-color-active: var(--color-border-brand);
67
- --input-text-border-color-focus: var(--color-border-brand);
68
- --input-text-border-color-invalid: var(--color-border-danger);
69
- --input-text-border-color-valid: var(--color-border-strong);
70
- --input-text-container-background-default: var(--color-fill-surface);
71
- --input-text-container-background-hover: var(--color-fill-surface);
72
- --input-text-container-background-focus: var(--color-fill-surface);
73
- --input-text-container-background-active: var(--color-fill-surface);
64
+ --input-text-text-color-disabled: var(--color-text-disabled);
74
65
  --input-text-text-color-placeholder: var(--color-text-subtle);
75
- --input-text-height-min: 2.5rem;
66
+ --input-border-border-color-default: var(--color-border-default);
67
+ --input-border-border-color-hover: var(--color-border-brand);
68
+ --input-border-border-color-active: var(--color-border-brand);
69
+ --input-border-border-color-focus: var(--color-border-brand);
70
+ --input-border-border-size-default: var(--size-border-100);
71
+ --input-border-border-size-hover: var(--size-border-100);
72
+ --input-border-border-size-active: var(--size-border-200);
73
+ --input-border-border-radius: var(--brand-corner-input);
74
+ --input-border-border-color-disabled: var(--color-border-disabled);
75
+ --input-border-border-color-invalid: var(--color-border-danger);
76
+ --input-border-border-color-valid: var(--color-border-strong);
76
77
  --input-font-family: var(--brand-font-base);
77
78
  --input-font-weight: var(--typography-body-font-weight);
78
79
  --input-font-size: var(--typography-label-font-size);
79
80
  --input-line-height: var(--typography-body-line-height);
80
- --input-border-size-default: var(--size-border-100);
81
- --input-border-size-hover: var(--size-border-100);
82
- --input-border-size-active: var(--size-border-200);
83
- --input-border-radius: var(--brand-corner-input);
81
+ --input-container-background-default: var(--color-fill-surface);
82
+ --input-container-background-hover: var(--color-fill-surface);
83
+ --input-container-background-focus: var(--color-fill-surface);
84
+ --input-container-background-active: var(--color-fill-surface);
85
+ --input-container-background-disabled: var(--color-fill-disabled);
84
86
  --input-padding-inline: var(--size-spacing-200);
85
87
  --input-padding-inline-icon-only: var(--size-spacing-200);
86
88
  --input-padding-block: var(--size-spacing-200);
87
89
  --input-gap: var(--size-spacing-200);
88
- --input-text-color-disabled: var(--color-text-disabled);
89
- --input-border-color-disabled: var(--color-border-disabled);
90
- --input-container-background-disabled: var(--color-fill-disabled);
91
90
  --input-overlay-hover: var(--color-transparent);
92
91
  --input-overlay-active: var(--color-transparent);
93
92
  --input-height: 2.5rem;
94
- --input-checkbox-text-color-default: var(--color-text-default);
95
- --input-checkbox-text-color-hover: var(--color-text-default);
96
- --input-checkbox-text-color-active: var(--color-text-inverse);
97
- --input-checkbox-border-color-default: var(--color-border-subtle);
98
- --input-checkbox-border-color-hover: var(--color-border-brand);
99
- --input-checkbox-border-color-active: var(--color-border-brand);
100
- --input-checkbox-border-color-focus: var(--color-border-brand);
101
- --input-checkbox-border-color-invalid: var(--color-border-danger);
102
- --input-checkbox-border-color-valid: var(--color-border-strong);
103
- --input-checkbox-container-background-default: var(--color-fill-surface);
104
- --input-checkbox-container-background-hover: var(--color-fill-surface);
105
- --input-checkbox-container-background-focus: var(--color-fill-surface);
106
- --input-checkbox-container-background-active: var(--color-fill-brand);
93
+ --input-height-min: 2.5rem;
107
94
  --form-group-gap: var(--size-spacing-400);
108
95
  --form-group-title-color: var(--color-text-default);
109
96
  --form-padding-inline: var(--size-spacing-400);
@@ -116,4 +103,58 @@
116
103
  --form-container-background: var(--color-fill-surface);
117
104
  --form-container-border-color: var(--color-border-subtle);
118
105
  --form-border-size: var(--size-border-100);
106
+ --checkbox-text-color-default: var(--color-text-default);
107
+ --checkbox-text-color-hover: var(--color-text-strong);
108
+ --checkbox-text-color-active: var(--color-text-inverse);
109
+ --checkbox-border-color-default: var(--color-border-subtle);
110
+ --checkbox-border-color-hover: var(--color-border-strong);
111
+ --checkbox-border-color-active: var(--color-border-brand);
112
+ --checkbox-border-color-focus: var(--color-border-brand);
113
+ --checkbox-border-color-invalid: var(--color-border-danger);
114
+ --checkbox-border-color-valid: var(--color-border-strong);
115
+ --checkbox-border-color-disabled: var(--color-border-disabled);
116
+ --checkbox-border-size-hover: var(--size-border-200);
117
+ --checkbox-border-size-disabled: var(--size-border-000);
118
+ --checkbox-border-size-default: var(--size-border-100);
119
+ --checkbox-container-background-default: var(--color-fill-surface);
120
+ --checkbox-container-background-hover: var(--color-fill-surface);
121
+ --checkbox-container-background-focus: var(--color-fill-surface);
122
+ --checkbox-container-background-active: var(--color-fill-brand);
123
+ --checkbox-container-background-disabled: var(--color-fill-disabled);
124
+ --checkbox-text-color-disabled: var(--color-text-disabled);
125
+ --input-radio-text-color-default: var(--color-text-default);
126
+ --input-radio-text-color-disabled: var(--color-text-disabled);
127
+ --input-radio-border-color-default: var(--color-border-subtle);
128
+ --input-radio-border-color-hover: var(--color-border-strong);
129
+ --input-radio-border-color-active: var(--color-border-brand);
130
+ --input-radio-border-color-disabled: var(--color-border-disabled);
131
+ --input-radio-container-background-default: var(--color-fill-surface);
132
+ --input-radio-container-background-disabled: var(--color-fill-disabled);
133
+ --radio-border-size-default: var(--size-border-100);
134
+ --radio-border-size-hover: var(--size-border-200);
135
+ --radio-border-size-disabled: var(--size-border-000);
136
+ --badge-default-text-color: var(--color-text-default);
137
+ --badge-default-border-color: var(--color-transparent);
138
+ --badge-default-container-background: var(--color-fill-subtle);
139
+ --badge-brand-text-color: var(--color-text-inverse);
140
+ --badge-brand-border-color: var(--color-transparent);
141
+ --badge-brand-container-background: var(--color-fill-brand);
142
+ --badge-success-text-color: var(--color-text-inverse);
143
+ --badge-success-border-color: var(--color-transparent);
144
+ --badge-success-container-background: var(--color-fill-success);
145
+ --badge-font-family: var(--brand-font-lead);
146
+ --badge-font-weight: var(--typography-label-font-weight);
147
+ --badge-font-size: var(--typography-label-font-size);
148
+ --badge-line-height: var(--typography-label-line-height);
149
+ --badge-border-size-default: var(--size-border-100);
150
+ --badge-border-radius: var(--brand-corner-input);
151
+ --badge-padding-inline: var(--size-spacing-400);
152
+ --badge-padding-inline-icon-only: var(--size-spacing-200);
153
+ --badge-padding-block: var(--size-spacing-200);
154
+ --badge-gap: var(--size-spacing-200);
155
+ --badge-height-min: 2.5rem;
156
+ --badge-width-min: 2.5rem;
157
+ --badge-danger-container-background: var(--color-fill-danger);
158
+ --badge-danger-border-color: var(--color-transparent);
159
+ --badge-danger-text-color: var(--color-text-inverse);
119
160
  }
@@ -0,0 +1,240 @@
1
+ /* Auto-generated design tokens from Figma */
2
+ /* Generated on 2026-05-22T09:23:10.621Z */
3
+
4
+ :root {
5
+ --color-neutral-100: rgb(230 230 230);
6
+ --color-neutral-200: rgb(204 204 204);
7
+ --color-neutral-300: rgb(179 179 179);
8
+ --color-neutral-400: rgb(128 128 128);
9
+ --color-neutral-500: rgb(128 128 128);
10
+ --color-neutral-600: rgb(102 102 102);
11
+ --color-neutral-700: rgb(77 77 77);
12
+ --color-neutral-800: rgb(51 51 51);
13
+ --color-neutral-900: rgb(26 26 26);
14
+ --color-neutral-1000: rgb(0 0 0);
15
+ --color-neutral-alpha-100: rgba(0 0 0 / 0.1);
16
+ --color-neutral-alpha-200: rgba(0 0 0 / 0.2);
17
+ --color-neutral-alpha-300: rgba(0 0 0 / 0.3);
18
+ --color-neutral-alpha-400: rgba(0 0 0 / 0.4);
19
+ --color-neutral-alpha-500: rgba(0 0 0 / 0.5);
20
+ --color-neutral-alpha-600: rgba(0 0 0 / 0.6);
21
+ --color-neutral-alpha-700: rgba(0 0 0 / 0.7);
22
+ --color-neutral-alpha-800: rgba(0 0 0 / 0.8);
23
+ --color-neutral-alpha-900: rgba(0 0 0 / 0.9);
24
+ --color-neutral-alpha-000: rgba(0 0 0 / 0);
25
+ --color-neutral-alpha-inverse-100: rgba(255 255 255 / 0.1);
26
+ --color-neutral-alpha-inverse-200: rgba(255 255 255 / 0.2);
27
+ --color-neutral-alpha-inverse-300: rgba(255 255 255 / 0.3);
28
+ --color-neutral-alpha-inverse-400: rgba(255 255 255 / 0.4);
29
+ --color-neutral-alpha-inverse-500: rgba(255 255 255 / 0.5);
30
+ --color-neutral-alpha-inverse-600: rgba(255 255 255 / 0.6);
31
+ --color-neutral-alpha-inverse-700: rgba(255 255 255 / 0.7);
32
+ --color-neutral-alpha-inverse-800: rgba(255 255 255 / 0.8);
33
+ --color-neutral-alpha-inverse-900: rgba(255 255 255 / 0.9);
34
+ --color-neutral-alpha-inverse-000: rgba(255 255 255 / 0);
35
+ --color-neutral-000: rgb(255 255 255);
36
+ --color-brand-b-purple-200: rgb(222 192 255);
37
+ --color-brand-b-purple-300: rgb(196 143 255);
38
+ --color-brand-b-purple-600: rgb(151 71 255);
39
+ --color-brand-b-purple-700: rgb(122 20 255);
40
+ --color-brand-b-purple-800: rgb(85 26 139);
41
+ --color-brand-b-purple-900: rgb(58 18 95);
42
+ --color-brand-b-blue-100: rgb(206 219 253);
43
+ --color-brand-b-blue-200: rgb(158 183 250);
44
+ --color-brand-b-blue-300: rgb(109 147 248);
45
+ --color-brand-b-blue-400: rgb(61 111 245);
46
+ --color-brand-b-blue-500: rgb(12 75 243);
47
+ --color-brand-b-blue-600: rgb(10 60 194);
48
+ --color-brand-b-blue-700: rgb(7 45 146);
49
+ --color-brand-b-blue-800: rgb(5 30 97);
50
+ --color-brand-b-blue-900: rgb(2 15 49);
51
+ --color-brand-b-red-100: rgb(255 255 255);
52
+ --color-brand-b-red-200: rgb(255 204 204);
53
+ --color-brand-b-red-300: rgb(255 153 153);
54
+ --color-brand-b-red-400: rgb(255 102 102);
55
+ --color-brand-b-red-500: rgb(255 51 51);
56
+ --color-brand-b-red-600: rgb(255 0 0);
57
+ --color-brand-b-red-700: rgb(153 0 0);
58
+ --color-brand-b-red-800: rgb(102 0 0);
59
+ --color-brand-b-red-900: rgb(51 0 0);
60
+ --color-brand-b-green-100: rgb(246 254 250);
61
+ --color-brand-b-green-200: rgb(200 249 223);
62
+ --color-brand-b-green-300: rgb(154 244 196);
63
+ --color-brand-b-green-400: rgb(108 239 170);
64
+ --color-brand-b-green-500: rgb(62 234 143);
65
+ --color-brand-b-green-600: rgb(19 174 92);
66
+ --color-brand-b-green-700: rgb(14 129 68);
67
+ --color-brand-b-green-800: rgb(8 69 36);
68
+ --color-brand-b-green-900: rgb(4 37 19);
69
+ --color-transparent: rgba(0 0 0 / 0);
70
+ --color-brand-a-green-100: rgb(243 246 233);
71
+ --color-brand-a-green-200: rgb(223 231 197);
72
+ --color-brand-a-green-300: rgb(207 219 169);
73
+ --color-brand-a-green-400: rgb(191 207 140);
74
+ --color-brand-a-green-500: rgb(175 195 111);
75
+ --color-brand-a-green-600: rgb(159 183 82);
76
+ --color-brand-a-green-700: rgb(137 158 66);
77
+ --color-brand-a-green-800: rgb(112 129 54);
78
+ --color-brand-a-green-900: rgb(81 93 39);
79
+ --color-brand-a-red-100: rgb(254 251 251);
80
+ --color-brand-a-red-200: rgb(250 224 230);
81
+ --color-brand-a-red-300: rgb(244 179 195);
82
+ --color-brand-a-red-400: rgb(238 135 160);
83
+ --color-brand-a-red-500: rgb(231 90 124);
84
+ --color-brand-a-red-600: rgb(225 46 89);
85
+ --color-brand-a-red-700: rgb(191 28 67);
86
+ --color-brand-a-red-800: rgb(147 21 52);
87
+ --color-brand-a-red-900: rgb(102 15 36);
88
+ --color-brand-a-sand-100: rgb(240 240 229);
89
+ --color-brand-a-sand-200: rgb(221 222 197);
90
+ --color-brand-a-sand-300: rgb(192 193 172);
91
+ --color-brand-a-sand-400: rgb(164 165 147);
92
+ --color-brand-a-sand-500: rgb(136 137 122);
93
+ --color-brand-a-sand-600: rgb(108 109 97);
94
+ --color-brand-a-sand-700: rgb(80 81 72);
95
+ --color-brand-a-sand-800: rgb(52 52 47);
96
+ --color-brand-a-sand-900: rgb(24 24 22);
97
+ --color-brand-c-blue-10: rgb(27 17 92);
98
+ --color-brand-c-blue-20: rgb(7 45 146);
99
+ --color-brand-c-blue-30: rgb(10 60 194);
100
+ --color-brand-c-blue-40: rgb(12 75 243);
101
+ --color-brand-c-blue-50: rgb(53 103 246);
102
+ --color-brand-c-blue-60: rgb(109 147 248);
103
+ --color-brand-c-blue-70: rgb(148 176 250);
104
+ --color-brand-c-blue-80: rgb(182 200 252);
105
+ --color-brand-c-blue-90: rgb(216 226 253);
106
+ --color-brand-c-blue-100: rgb(27 17 92);
107
+ --color-brand-c-coolblue-10: rgb(5 68 97);
108
+ --color-brand-c-coolblue-20: rgb(7 102 146);
109
+ --color-brand-c-coolblue-30: rgb(10 136 194);
110
+ --color-brand-c-coolblue-40: rgb(12 170 243);
111
+ --color-brand-c-coolblue-50: rgb(56 185 245);
112
+ --color-brand-c-coolblue-60: rgb(112 203 244);
113
+ --color-brand-c-coolblue-70: rgb(169 223 248);
114
+ --color-brand-c-coolblue-80: rgb(198 234 251);
115
+ --color-brand-c-coolblue-90: rgb(226 244 253);
116
+ --color-brand-c-coolblue-100: rgb(11 68 97);
117
+ --color-brand-c-green-10: rgb(5 66 61);
118
+ --color-brand-c-green-20: rgb(36 111 73);
119
+ --color-brand-c-green-30: rgb(43 161 104);
120
+ --color-brand-c-green-40: rgb(48 182 117);
121
+ --color-brand-c-green-50: rgb(97 196 141);
122
+ --color-brand-c-green-60: rgb(135 210 166);
123
+ --color-brand-c-green-70: rgb(169 224 191);
124
+ --color-brand-c-green-80: rgb(197 228 205);
125
+ --color-brand-c-green-90: rgb(223 246 235);
126
+ --color-brand-c-green-100: rgb(239 251 245);
127
+ --color-brand-c-red-10: rgb(96 6 9);
128
+ --color-brand-c-red-20: rgb(144 9 14);
129
+ --color-brand-c-red-30: rgb(192 12 18);
130
+ --color-brand-c-red-40: rgb(240 15 23);
131
+ --color-brand-c-red-50: rgb(242 58 65);
132
+ --color-brand-c-red-60: rgb(246 111 116);
133
+ --color-brand-c-red-70: rgb(248 150 153);
134
+ --color-brand-c-red-80: rgb(250 183 185);
135
+ --color-brand-c-red-90: rgb(253 226 227);
136
+ --color-brand-c-red-100: rgb(254 236 236);
137
+ --color-brand-c-orange-10: rgb(102 61 0);
138
+ --color-brand-c-orange-20: rgb(153 92 0);
139
+ --color-brand-c-orange-30: rgb(204 122 0);
140
+ --color-brand-c-orange-40: rgb(255 153 0);
141
+ --color-brand-c-orange-50: rgb(255 171 46);
142
+ --color-brand-c-orange-60: rgb(255 194 102);
143
+ --color-brand-c-orange-70: rgb(255 210 143);
144
+ --color-brand-c-orange-80: rgb(255 224 178);
145
+ --color-brand-c-orange-90: rgb(255 239 214);
146
+ --color-brand-c-orange-100: rgb(255 247 235);
147
+ --color-brand-c-purple-10: rgb(57 17 92);
148
+ --color-brand-c-purple-20: rgb(81 7 146);
149
+ --color-brand-c-purple-30: rgb(108 10 194);
150
+ --color-brand-c-purple-40: rgb(135 12 243);
151
+ --color-brand-c-purple-50: rgb(156 53 246);
152
+ --color-brand-c-purple-60: rgb(183 109 248);
153
+ --color-brand-c-purple-70: rgb(202 148 250);
154
+ --color-brand-c-purple-80: rgb(219 182 252);
155
+ --color-brand-c-purple-90: rgb(236 216 253);
156
+ --color-brand-c-purple-100: rgb(245 236 254);
157
+ --color-brand-c-midnight-10: rgb(11 9 45);
158
+ --font-size-md: 1rem;
159
+ --font-size-xs: .75rem;
160
+ --font-size-sm: .875rem;
161
+ --font-size-lg: 1.25rem;
162
+ --font-size-xl: 1.5rem;
163
+ --font-size-xxl: 2rem;
164
+ --font-size-xxxl: 2.5rem;
165
+ --font-weight-100: 100;
166
+ --font-weight-200: 200;
167
+ --font-weight-300: 300;
168
+ --font-weight-400: 400;
169
+ --font-weight-500: 500;
170
+ --font-weight-600: 600;
171
+ --font-weight-700: 700;
172
+ --font-weight-800: 800;
173
+ --font-weight-900: 900;
174
+ --font-family-sans: Inter;
175
+ --font-family-serif: Rokkitt;
176
+ --font-family-mono: SFMono-Regular;
177
+ --line-height-xs: 1rem;
178
+ --line-height-sm: 1.25rem;
179
+ --line-height-md: 1.5rem;
180
+ --line-height-lg: 1.75rem;
181
+ --line-height-xl: 2rem;
182
+ --line-height-xxl: 2.75rem;
183
+ --line-height-xxxl: 3.5rem;
184
+ --size-spacing-100: .25rem;
185
+ --size-spacing-200: .5rem;
186
+ --size-spacing-300: .75rem;
187
+ --size-spacing-400: 1rem;
188
+ --size-spacing-500: 1.25rem;
189
+ --size-spacing-600: 1.5rem;
190
+ --size-spacing-700: 2rem;
191
+ --size-spacing-800: 2.5rem;
192
+ --size-spacing-900: 3rem;
193
+ --size-spacing-1000: 4rem;
194
+ --size-spacing-000: 0;
195
+ --size-radius-100: .125rem;
196
+ --size-radius-200: .25rem;
197
+ --size-radius-300: .375rem;
198
+ --size-radius-400: .5rem;
199
+ --size-radius-500: .75rem;
200
+ --size-radius-600: 1rem;
201
+ --size-radius-700: 1.25rem;
202
+ --size-radius-800: 1.5rem;
203
+ --size-radius-900: 2rem;
204
+ --size-radius-000: 0;
205
+ --size-radius-full: 625rem;
206
+ --shadow-focus: .5rem;
207
+ --breakpoint-100: 580px;
208
+ --breakpoint-200: 760px;
209
+ --breakpoint-300: 960px;
210
+ --breakpoint-400: 1200px;
211
+ --breakpoint-500: 1440px;
212
+ --breakpoint-600: 1920px;
213
+ --container-100: 192px;
214
+ --container-200: 384px;
215
+ --container-300: 576px;
216
+ --container-400: 768px;
217
+ --container-500: 960px;
218
+ --container-600: 1152px;
219
+ --size-border-100: .0625rem;
220
+ --size-border-200: .125rem;
221
+ --size-border-300: .1875rem;
222
+ --size-border-000: 0;
223
+ --layout-columns: 12;
224
+ --layout-gutter: 1rem;
225
+ --layout-max-width: 1236px;
226
+ --layout-column-max-width: 412px;
227
+ --layout-float-breakpoint: 1220px;
228
+ --layout-base-grid: .25rem;
229
+ --zindex-fixed: 1030;
230
+ --zindex-sticky: 1020;
231
+ --zindex-dropdown: 1000;
232
+ --zindex-dropdown-base: 900;
233
+ --zindex-modal: 1050;
234
+ --zindex-base: 0;
235
+ --zindex-tooltip: 1070;
236
+ --zindex-raised: 1;
237
+ --zindex-popover: 1060;
238
+ --zindex-modal-overlay: 1040;
239
+ --zindex-hidden: -1;
240
+ }
@@ -1,5 +1,5 @@
1
1
  /* Auto-generated design tokens from Figma */
2
- /* Generated on 2026-03-31T20:27:09.733Z */
2
+ /* Generated on 2026-05-22T09:23:10.624Z */
3
3
 
4
4
  :root {
5
5
  --typography-heading-font-family: var(--brand-font-lead);
@@ -0,0 +1,22 @@
1
+ /* Auto-generated design tokens from Figma */
2
+ /* Generated on 2026-05-22T09:23:10.626Z */
3
+
4
+ :root[data-brand="a"] {
5
+ --brand-color-functional-success: var(--color-brand-c-green-30);
6
+ --brand-color-functional-danger: var(--color-brand-c-red-30);
7
+ --brand-color-functional-base: var(--color-brand-c-blue-10);
8
+ --brand-color-functional-base-dark: var(--color-brand-c-midnight-10);
9
+ --brand-color-primary: var(--color-brand-c-blue-40);
10
+ --brand-color-accent: var(--color-brand-c-coolblue-60);
11
+ --brand-color-primary-dark: var(--color-brand-c-blue-10);
12
+ --brand-color-accent-dark: var(--color-brand-c-coolblue-10);
13
+ --brand-color-subtle: var(--color-neutral-500);
14
+ --brand-color-subtle-dark: var(--color-neutral-800);
15
+ --brand-color-subtle-light: var(--color-neutral-200);
16
+ --brand-font-base: var(--font-family-sans);
17
+ --brand-font-lead: var(--font-family-serif);
18
+ --brand-corner-button: var(--size-radius-full);
19
+ --brand-corner-card: var(--size-radius-300);
20
+ --brand-corner-modal: var(--size-radius-400);
21
+ --brand-corner-input: var(--size-radius-200);
22
+ }
@@ -1,15 +1,15 @@
1
1
  /* Auto-generated design tokens from Figma */
2
- /* Generated on 2026-03-31T20:27:09.734Z */
2
+ /* Generated on 2026-05-22T09:23:10.628Z */
3
3
 
4
4
  :root[data-brand="b"] {
5
- --brand-color-functional-success: var(--color-brand-b-green);
6
- --brand-color-functional-danger: var(--color-brand-b-red);
7
- --brand-color-functional-base: var(--color-brand-b-purple-600);
8
- --brand-color-functional-base-dark: var(--color-brand-b-purple-800);
9
- --brand-color-primary: var(--color-brand-b-blue-500);
10
- --brand-color-accent: var(--color-brand-b-purple-600);
11
- --brand-color-primary-dark: var(--color-brand-b-blue-700);
12
- --brand-color-accent-dark: var(--color-brand-b-purple-800);
5
+ --brand-color-functional-success: var(--color-brand-b-green-600);
6
+ --brand-color-functional-danger: var(--color-brand-b-red-600);
7
+ --brand-color-functional-base: var(--color-brand-b-purple-700);
8
+ --brand-color-functional-base-dark: var(--color-brand-b-purple-900);
9
+ --brand-color-primary: var(--color-brand-b-purple-600);
10
+ --brand-color-accent: var(--color-brand-b-green-400);
11
+ --brand-color-primary-dark: var(--color-brand-b-purple-800);
12
+ --brand-color-accent-dark: var(--color-brand-b-green-800);
13
13
  --brand-color-subtle: var(--color-neutral-500);
14
14
  --brand-color-subtle-dark: var(--color-neutral-800);
15
15
  --brand-color-subtle-light: var(--color-neutral-200);
@@ -0,0 +1,22 @@
1
+ /* Auto-generated design tokens from Figma */
2
+ /* Generated on 2026-05-22T09:23:10.629Z */
3
+
4
+ :root[data-brand="c"] {
5
+ --brand-color-functional-success: var(--color-brand-a-green-600);
6
+ --brand-color-functional-danger: var(--color-brand-a-red-600);
7
+ --brand-color-functional-base: var(--color-brand-a-green-700);
8
+ --brand-color-functional-base-dark: var(--color-brand-a-green-900);
9
+ --brand-color-primary: var(--color-brand-a-sand-700);
10
+ --brand-color-accent: var(--color-brand-a-green-400);
11
+ --brand-color-primary-dark: var(--color-brand-a-sand-900);
12
+ --brand-color-accent-dark: var(--color-brand-a-green-600);
13
+ --brand-color-subtle: var(--color-neutral-500);
14
+ --brand-color-subtle-dark: var(--color-neutral-800);
15
+ --brand-color-subtle-light: var(--color-neutral-200);
16
+ --brand-font-base: var(--font-family-sans);
17
+ --brand-font-lead: var(--font-family-serif);
18
+ --brand-corner-button: var(--size-radius-700);
19
+ --brand-corner-card: var(--size-radius-200);
20
+ --brand-corner-modal: var(--size-radius-400);
21
+ --brand-corner-input: var(--size-radius-200);
22
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
3
+ "Color": {
4
+ "Text": {
5
+ "Default": {
6
+ "$type": "color",
7
+ "$value": "{Color.Neutral.800}"
8
+ },
9
+ "Inverse": {
10
+ "$type": "color",
11
+ "$value": "{Color.Neutral.000}"
12
+ },
13
+ "Disabled": {
14
+ "$type": "color",
15
+ "$value": "{Color.Neutral.600}"
16
+ },
17
+ "Brand": {
18
+ "$type": "color",
19
+ "$value": "{Brand.Color.Primary}"
20
+ },
21
+ "Subtle": {
22
+ "$type": "color",
23
+ "$value": "{Brand.Color.Subtle}"
24
+ },
25
+ "Strong": {
26
+ "$type": "color",
27
+ "$value": "{Color.Neutral.1000}"
28
+ },
29
+ "Danger": {
30
+ "$type": "color",
31
+ "$value": "{Brand.Color.Functional.Danger}"
32
+ },
33
+ "Success": {
34
+ "$type": "color",
35
+ "$value": "{Brand.Color.Functional.Success}"
36
+ }
37
+ },
38
+ "Fill": {
39
+ "Surface": {
40
+ "$type": "color",
41
+ "$value": "{Color.Neutral.000}"
42
+ },
43
+ "Disabled": {
44
+ "$type": "color",
45
+ "$value": "{Color.Neutral.300}"
46
+ },
47
+ "Hover": {
48
+ "$type": "color",
49
+ "$value": "{Color.Neutral.Alpha.500}"
50
+ },
51
+ "Brand": {
52
+ "$type": "color",
53
+ "$value": "{Brand.Color.Primary}"
54
+ },
55
+ "Subtle": {
56
+ "$type": "color",
57
+ "$value": "{Brand.Color.Subtle Light}"
58
+ },
59
+ "Active": {
60
+ "$type": "color",
61
+ "$value": "{Brand.Color.Accent}"
62
+ },
63
+ "Danger": {
64
+ "$type": "color",
65
+ "$value": "{Brand.Color.Functional.Danger}"
66
+ },
67
+ "Success": {
68
+ "$type": "color",
69
+ "$value": "{Brand.Color.Functional.Success}"
70
+ }
71
+ },
72
+ "Border": {
73
+ "Default": {
74
+ "$type": "color",
75
+ "$value": "{Color.Neutral.800}"
76
+ },
77
+ "Subtle": {
78
+ "$type": "color",
79
+ "$value": "{Brand.Color.Subtle}"
80
+ },
81
+ "Strong": {
82
+ "$type": "color",
83
+ "$value": "{Color.Neutral.1000}"
84
+ },
85
+ "Brand": {
86
+ "$type": "color",
87
+ "$value": "{Brand.Color.Primary}"
88
+ },
89
+ "Disabled": {
90
+ "$type": "color",
91
+ "$value": "{Color.Neutral.500}"
92
+ },
93
+ "Danger": {
94
+ "$type": "color",
95
+ "$value": "#ff0000"
96
+ }
97
+ },
98
+ "Overlay": {
99
+ "Backdrop": {
100
+ "$type": "color",
101
+ "$value": "{Color.Neutral.Alpha.400}"
102
+ },
103
+ "Hover": {
104
+ "$type": "color",
105
+ "$value": "{Color.Neutral.Alpha.200}"
106
+ },
107
+ "Active": {
108
+ "$type": "color",
109
+ "$value": "{Color.Neutral.Alpha.400}"
110
+ },
111
+ "Selected": {
112
+ "$type": "color",
113
+ "$value": "{Color.Neutral.Alpha.600}"
114
+ }
115
+ },
116
+ "Focus": {
117
+ "$type": "color",
118
+ "$value": "{Brand.Color.Primary}"
119
+ }
120
+ }
121
+ }