@deriv-ds/design-intelligence-layer 0.1.0 → 0.2.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.
package/src/styles.css CHANGED
@@ -2,25 +2,34 @@
2
2
  * Trading Game Design System — Design Tokens
3
3
  *
4
4
  * Usage in consumer apps:
5
- * import "@trading-game/design-intelligence-layer/styles"
5
+ * import "@deriv-ds/design-intelligence-layer/styles"
6
6
  *
7
7
  * Requires Tailwind CSS v4 in your project.
8
- * Add `@import "@trading-game/design-intelligence-layer/styles"` in your CSS
8
+ * Add `@import "@deriv-ds/design-intelligence-layer/styles"` in your CSS
9
9
  * or import it in your JS entry point.
10
10
  */
11
11
 
12
- /* Fonts — Plus Jakarta Sans (all) */
13
- @import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap");
12
+ /* Fonts — Inter (all) */
13
+ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");
14
14
 
15
15
 
16
16
  /* ── Tailwind theme bridge — maps CSS vars to utility classes ── */
17
17
  @theme inline {
18
- --color-prominent: var(--prominent);
19
- --color-on-prominent: var(--on-prominent);
18
+ /* ── Foundation surface tokens ── */
19
+ --color-primary-surface: var(--background-primary-surface);
20
+ --color-primary-canvas: var(--background-primary-canvas);
21
+ --color-secondary-surface: var(--background-secondary-surface);
22
+ --color-secondary-canvas: var(--background-secondary-canvas);
23
+ /* ── Foundation border tokens ── */
24
+ --color-default: var(--border-default-default);
25
+ --color-selected: var(--border-selected-default);
26
+ /* ── Text tokens (repurposed from bg aliases) ── */
27
+ --color-prominent: var(--text-prominent-default);
28
+ --color-subtle: var(--text-subtle-default);
20
29
  --color-on-prominent-static-inverse: var(--on-prominent-static-inverse);
21
- --font-sans: var(--font-plus-jakarta-sans);
22
- --font-body: var(--font-plus-jakarta-sans);
23
- --font-display: var(--font-plus-jakarta-sans);
30
+ --font-sans: var(--font-inter);
31
+ --font-body: var(--font-inter);
32
+ --font-display: var(--font-inter);
24
33
  --color-sidebar-ring: var(--sidebar-ring);
25
34
  --color-sidebar-border: var(--sidebar-border);
26
35
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
@@ -33,20 +42,12 @@
33
42
  --color-input: var(--input);
34
43
  --color-border: var(--border);
35
44
  /* @deprecated — use border-border-subtle or border-border-prominent */
36
- --color-border-subtle: var(--border-subtle);
37
- --color-border-prominent: var(--border-prominent);
38
45
  --color-secondary-hover: var(--secondary-hover);
39
- --color-on-subtle: var(--on-subtle);
40
- --color-subtle: var(--subtle);
41
46
  --color-primary: var(--primary);
42
47
  --color-primary-hover: var(--primary-hover);
43
- --color-popover-foreground: var(--popover-foreground);
44
- --color-popover: var(--popover);
45
- --color-card-foreground: var(--card-foreground);
46
- --color-card: var(--card);
47
- --color-semantic-win: var(--semantic-win);
48
- --color-semantic-loss: var(--semantic-loss);
49
- --color-semantic-warning: var(--semantic-warning);
48
+
49
+ --color-warning: var(--text-warning-default);
50
+ --color-info: var(--text-information-default);
50
51
  --color-alert-info-text: var(--alert-info-text);
51
52
  --color-alert-info-border: var(--alert-info-border);
52
53
  --color-alert-error-text: var(--alert-error-text);
@@ -54,7 +55,6 @@
54
55
 
55
56
  --color-overlay: var(--overlay);
56
57
  --color-slider-range: var(--slider-range);
57
- --color-semantic-info: var(--semantic-info);
58
58
  --color-tabs: var(--tabs);
59
59
  --color-tabs-active: var(--tabs-active);
60
60
  --spacing-layout-gutter: var(--semantic-layout-gutter);
@@ -83,6 +83,18 @@
83
83
  --ease-enter: var(--primitive-ease-enter);
84
84
  --ease-exit: var(--primitive-ease-exit);
85
85
  --ease-linear: var(--primitive-ease-linear);
86
+ /* ── shadcn/ui compatibility ── */
87
+ --color-background: var(--background);
88
+ --color-foreground: var(--foreground);
89
+ --color-primary-foreground: var(--primary-foreground);
90
+ --color-secondary: var(--secondary);
91
+ --color-secondary-foreground: var(--secondary-foreground);
92
+ --color-muted: var(--muted);
93
+ --color-muted-foreground: var(--muted-foreground);
94
+ --color-accent: var(--accent);
95
+ --color-accent-foreground: var(--accent-foreground);
96
+ --color-destructive: var(--destructive);
97
+ --color-destructive-foreground: var(--destructive-foreground);
86
98
  }
87
99
 
88
100
  /* ══════════════════════════════════════════════════════════════
@@ -93,105 +105,288 @@
93
105
  --font-plus-jakarta-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
94
106
  --radius: 0.625rem;
95
107
 
96
- /* ── Blue scale ── */
97
- --primitive-blue-50: oklch(0.93 0.05 267);
98
- /* #E6E6FF */
99
- --primitive-blue-100: oklch(0.77 0.14 267);
100
- /* #B8B8FF */
101
- --primitive-blue-200: oklch(0.66 0.21 267);
102
- /* #8A8AFF */
103
- --primitive-blue-300: oklch(0.57 0.26 267);
104
- /* #5C5CFF */
105
- --primitive-blue-400: oklch(0.51 0.285 267);
106
- /* #3939FF */
107
- --primitive-blue-500: oklch(0.476 0.297 267.4);
108
- /* #2323FF brand blue */
109
- --primitive-blue-600: oklch(0.40 0.27 265);
110
- /* #0B0BD2 */
111
- --primitive-blue-700: oklch(0.31 0.21 264);
112
- /* #0000A5 */
113
- --primitive-blue-800: oklch(0.23 0.16 264);
114
- /* #000078 */
115
- --primitive-blue-900: oklch(0.15 0.10 264);
116
- /* #00004C */
117
- --primitive-blue-1000: oklch(0.07 0.05 264);
118
- /* #00001F */
119
-
120
- /* ── Monochrome scale ── */
121
- --primitive-mono-50: oklch(1 0 0);
122
- /* #FFFFFF */
123
- --primitive-mono-100: oklch(0.95 0 0);
124
- /* #EEEEEE */
125
- --primitive-mono-200: oklch(0.90 0 0);
126
- /* #EEEEEE */
127
- --primitive-mono-300: oklch(0.84 0 0);
128
- /* #CCCCCC */
129
- --primitive-mono-400: oklch(0.79 0 0);
130
- /* #BBBBBB */
131
- --primitive-mono-500: oklch(0.74 0 0);
132
- /* #AAAAAA */
133
- --primitive-mono-600: oklch(0.63 0 0);
134
- /* #888888 */
135
- --primitive-mono-700: oklch(0.51 0 0);
136
- /* #666666 */
137
- --primitive-mono-800: oklch(0.39 0 0);
138
- /* #444444 */
139
- --primitive-mono-900: oklch(0.25 0 0);
140
- /* #222222 */
141
- --primitive-mono-1000: oklch(0 0 0);
142
- /* #000000 */
108
+ /* ── Slate ── */
109
+ --primitive-slate-50: oklch(1.000 0.000 263.3); /* #ffffff */
110
+ --primitive-slate-75: oklch(0.976 0.002 248.6); /* #f6f7f8 */
111
+ --primitive-slate-100: oklch(0.943 0.004 271.2); /* #ebecef */
112
+ --primitive-slate-200: oklch(0.858 0.009 271.2); /* #ced0d6 */
113
+ --primitive-slate-300: oklch(0.770 0.012 269.5); /* #b1b4bc */
114
+ --primitive-slate-400: oklch(0.680 0.015 268.4); /* #9498a2 */
115
+ --primitive-slate-500: oklch(0.589 0.018 266.2); /* #787d88 */
116
+ --primitive-slate-600: oklch(0.493 0.020 267.6); /* #5c616d */
117
+ --primitive-slate-700: oklch(0.394 0.021 267.5); /* #414652 */
118
+ --primitive-slate-800: oklch(0.361 0.024 268.6); /* #383d4a */
119
+ --primitive-slate-900: oklch(0.329 0.022 267.4); /* #303541 */
120
+ --primitive-slate-1000: oklch(0.294 0.023 270.5); /* #282c38 */
121
+ --primitive-slate-1100: oklch(0.261 0.022 269.3); /* #20242f */
122
+ --primitive-slate-1200: oklch(0.227 0.019 266.2); /* #181c25 */
123
+ --primitive-slate-1300: oklch(0.191 0.015 266.8); /* #11141b */
124
+ --primitive-slate-1400: oklch(0.000 0.000 0.0); /* #000000 */
125
+
126
+ /* ── Blue ── */
127
+ --primitive-blue-100: oklch(0.962 0.021 236.9); /* #e6f5ff */
128
+ --primitive-blue-200: oklch(0.907 0.053 234.5); /* #bfe7ff */
129
+ --primitive-blue-300: oklch(0.853 0.084 236.3); /* #99d8ff */
130
+ --primitive-blue-400: oklch(0.802 0.113 238.0); /* #73c9ff */
131
+ --primitive-blue-500: oklch(0.755 0.138 241.9); /* #53b9ff */
132
+ --primitive-blue-600: oklch(0.715 0.158 246.4); /* #3daaff */
133
+ --primitive-blue-700: oklch(0.676 0.177 251.1); /* #2c9aff */
134
+ --primitive-blue-800: oklch(0.617 0.162 248.9); /* #1789e1 */
135
+ --primitive-blue-900: oklch(0.556 0.147 248.0); /* #0777c4 */
136
+ --primitive-blue-1000: oklch(0.495 0.129 246.5); /* #0066a6 */
137
+ --primitive-blue-1100: oklch(0.432 0.110 245.5); /* #005488 */
138
+ --primitive-blue-1200: oklch(0.365 0.090 244.1); /* #00426a */
139
+ --primitive-blue-1300: oklch(0.296 0.071 242.4); /* #00304d */
143
140
 
144
141
  /* ── Green ── */
145
- --primitive-green-400: oklch(0.492 0.162 144);
146
- /* #008832 */
142
+ --primitive-green-100: oklch(0.966 0.031 150.0); /* #e6fae9 */
143
+ --primitive-green-200: oklch(0.908 0.072 150.4); /* #bfefc8 */
144
+ --primitive-green-300: oklch(0.850 0.109 150.1); /* #99e2a8 */
145
+ --primitive-green-400: oklch(0.782 0.135 150.0); /* #73d089 */
146
+ --primitive-green-500: oklch(0.711 0.155 149.7); /* #4dbc6b */
147
+ --primitive-green-600: oklch(0.633 0.164 149.0); /* #26a44e */
148
+ --primitive-green-700: oklch(0.546 0.160 147.5); /* #008832 */
149
+ --primitive-green-800: oklch(0.528 0.159 146.5); /* #00822a */
150
+ --primitive-green-900: oklch(0.504 0.156 145.6); /* #007a22 */
151
+ --primitive-green-1000: oklch(0.471 0.148 145.1); /* #006f1b */
152
+ --primitive-green-1100: oklch(0.428 0.136 144.7); /* #006114 */
153
+ --primitive-green-1200: oklch(0.375 0.119 144.7); /* #00500f */
154
+ --primitive-green-1300: oklch(0.313 0.099 145.0); /* #003d0a */
147
155
 
148
- /* ── Sky ── */
149
- --primitive-sky-600: #3DAAFF;
150
- /* #3DAAFF */
156
+ /* ── Emerald ── */
157
+ --primitive-emerald-100: oklch(0.980 0.027 179.9); /* #e6fff9 */
158
+ --primitive-emerald-200: oklch(0.952 0.068 175.6); /* #bfffed */
159
+ --primitive-emerald-300: oklch(0.929 0.106 171.8); /* #99ffdf */
160
+ --primitive-emerald-400: oklch(0.895 0.133 170.0); /* #73f9cf */
161
+ --primitive-emerald-500: oklch(0.849 0.149 168.8); /* #4decbc */
162
+ --primitive-emerald-600: oklch(0.792 0.155 167.5); /* #26daa7 */
163
+ --primitive-emerald-700: oklch(0.725 0.150 166.0); /* #00c390 */
164
+ --primitive-emerald-800: oklch(0.701 0.149 164.3); /* #00bb86 */
165
+ --primitive-emerald-900: oklch(0.664 0.143 163.2); /* #00ae7a */
166
+ --primitive-emerald-1000: oklch(0.618 0.135 162.5); /* #009e6d */
167
+ --primitive-emerald-1100: oklch(0.554 0.121 162.4); /* #00885d */
168
+ --primitive-emerald-1200: oklch(0.465 0.097 165.5); /* #006a4c */
169
+ --primitive-emerald-1300: oklch(0.373 0.075 168.3); /* #004d39 */
170
+
171
+ /* ── Yellow ── */
172
+ --primitive-yellow-100: oklch(0.978 0.024 85.8); /* #fff7e6 */
173
+ --primitive-yellow-200: oklch(0.943 0.060 85.0); /* #ffeabf */
174
+ --primitive-yellow-300: oklch(0.911 0.093 84.1); /* #ffdd99 */
175
+ --primitive-yellow-400: oklch(0.876 0.122 81.5); /* #ffce73 */
176
+ --primitive-yellow-500: oklch(0.842 0.146 78.0); /* #ffbe4d */
177
+ --primitive-yellow-600: oklch(0.810 0.163 73.5); /* #ffae26 */
178
+ --primitive-yellow-700: oklch(0.777 0.171 65.3); /* #ff9c13 */
179
+ --primitive-yellow-800: oklch(0.714 0.156 68.3); /* #e18d00 */
180
+ --primitive-yellow-900: oklch(0.649 0.140 70.2); /* #c47d00 */
181
+ --primitive-yellow-1000: oklch(0.579 0.124 72.4); /* #a66c00 */
182
+ --primitive-yellow-1100: oklch(0.505 0.107 74.6); /* #885a00 */
183
+ --primitive-yellow-1200: oklch(0.429 0.089 77.8); /* #6a4800 */
184
+ --primitive-yellow-1300: oklch(0.348 0.072 80.6); /* #4d3500 */
151
185
 
152
186
  /* ── Red ── */
153
- --primitive-red-600: #F92E26;
154
- /* #F92E26 */
155
- --primitive-red-500: oklch(0.653 0.234 18.5);
156
- /* #FF3355 */
157
-
158
- /* ── Orange ── */
159
- --primitive-orange-600: oklch(0.52 0.168 38);
160
- /* #D45200 */
161
- --primitive-orange-500: oklch(0.62 0.185 38);
162
- /* #FF6600 */
163
- --primitive-orange-400: oklch(0.751 0.179 58.3);
164
- /* #FF8C00 */
165
-
166
- /* ── Violet ── */
167
- --primitive-violet-500: oklch(0.601 0.263 301.6);
168
- /* #A040FF */
169
-
170
- /* ── Mono alpha scale ── */
171
- --primitive-mono-alpha-4: oklch(0 0 0 / 4%);
172
- --primitive-mono-alpha-8: oklch(0 0 0 / 8%);
173
- --primitive-mono-alpha-16: oklch(0 0 0 / 16%);
174
- --primitive-mono-alpha-24: oklch(0 0 0 / 24%);
175
- --primitive-mono-alpha-32: oklch(0 0 0 / 32%);
176
- --primitive-mono-alpha-40: oklch(0 0 0 / 40%);
177
- --primitive-mono-alpha-50: oklch(0 0 0 / 50%);
178
- --primitive-mono-alpha-64: oklch(0 0 0 / 64%);
179
- --primitive-mono-alpha-80: oklch(0 0 0 / 80%);
180
-
181
- /* ── Blue alpha scale ── */
182
- --primitive-blue-alpha-4: oklch(0.476 0.297 267.4 / 4%);
183
- --primitive-blue-alpha-8: oklch(0.476 0.297 267.4 / 8%);
184
- --primitive-blue-alpha-16: oklch(0.476 0.297 267.4 / 16%);
185
- --primitive-blue-alpha-24: oklch(0.476 0.297 267.4 / 24%);
186
- --primitive-blue-alpha-32: oklch(0.476 0.297 267.4 / 32%);
187
- --primitive-blue-alpha-40: oklch(0.476 0.297 267.4 / 40%);
188
- --primitive-blue-alpha-50: oklch(0.476 0.297 267.4 / 50%);
189
- --primitive-blue-alpha-64: oklch(0.476 0.297 267.4 / 64%);
190
- --primitive-blue-alpha-80: oklch(0.476 0.297 267.4 / 80%);
191
-
192
- /* ── Overlay ── */
193
- --primitive-black-50: var(--primitive-mono-alpha-50);
194
- /* @deprecated — use --primitive-mono-alpha-50 */
187
+ --primitive-red-100: oklch(0.945 0.027 17.5); /* #ffe6e6 */
188
+ --primitive-red-200: oklch(0.863 0.074 18.6); /* #ffbfbf */
189
+ --primitive-red-300: oklch(0.788 0.123 20.2); /* #ff9999 */
190
+ --primitive-red-400: oklch(0.724 0.171 22.3); /* #ff7373 */
191
+ --primitive-red-500: oklch(0.673 0.215 25.0); /* #ff4d4d */
192
+ --primitive-red-600: oklch(0.634 0.236 28.6); /* #f92e26 */
193
+ --primitive-red-700: oklch(0.588 0.232 29.5); /* #e6190e */
194
+ --primitive-red-800: oklch(0.562 0.228 29.6); /* #db0800 */
195
+ --primitive-red-900: oklch(0.515 0.211 29.2); /* #c40000 */
196
+ --primitive-red-1000: oklch(0.455 0.187 29.2); /* #a60000 */
197
+ --primitive-red-1100: oklch(0.394 0.161 29.2); /* #880000 */
198
+ --primitive-red-1200: oklch(0.329 0.135 29.2); /* #6a0000 */
199
+ --primitive-red-1300: oklch(0.264 0.108 29.2); /* #4d0000 */
200
+
201
+ /* ── Coral ── */
202
+ --primitive-coral-100: oklch(0.945 0.027 17.5); /* #ffe6e6 */
203
+ --primitive-coral-200: oklch(0.864 0.074 15.5); /* #ffbfc2 */
204
+ --primitive-coral-300: oklch(0.794 0.120 15.0); /* #ff9ba3 */
205
+ --primitive-coral-400: oklch(0.743 0.157 16.8); /* #ff7e88 */
206
+ --primitive-coral-500: oklch(0.707 0.186 19.0); /* #ff6671 */
207
+ --primitive-coral-600: oklch(0.682 0.207 21.1); /* #ff535e */
208
+ --primitive-coral-700: oklch(0.665 0.222 22.7); /* #ff444f */
209
+ --primitive-coral-800: oklch(0.593 0.213 23.7); /* #e12e3a */
210
+ --primitive-coral-900: oklch(0.527 0.199 24.9); /* #c41c28 */
211
+ --primitive-coral-1000: oklch(0.462 0.180 26.0); /* #a60e19 */
212
+ --primitive-coral-1100: oklch(0.396 0.159 26.7); /* #88030d */
213
+ --primitive-coral-1200: oklch(0.330 0.135 27.7); /* #6a0004 */
214
+ --primitive-coral-1300: oklch(0.264 0.108 29.2); /* #4d0000 */
215
+
216
+ /* ── Cherry ── */
217
+ --primitive-cherry-100: oklch(0.945 0.027 14.7); /* #ffe6e7 */
218
+ --primitive-cherry-200: oklch(0.865 0.074 11.4); /* #ffbfc6 */
219
+ --primitive-cherry-300: oklch(0.792 0.123 12.0); /* #ff99a6 */
220
+ --primitive-cherry-400: oklch(0.728 0.171 12.6); /* #ff7389 */
221
+ --primitive-cherry-500: oklch(0.679 0.213 14.4); /* #ff4d6e */
222
+ --primitive-cherry-600: oklch(0.625 0.232 15.8); /* #f32656 */
223
+ --primitive-cherry-700: oklch(0.571 0.229 18.2); /* #de0040 */
224
+ --primitive-cherry-800: oklch(0.550 0.221 21.3); /* #d40032 */
225
+ --primitive-cherry-900: oklch(0.517 0.209 23.5); /* #c40025 */
226
+ --primitive-cherry-1000: oklch(0.457 0.185 24.6); /* #a6001a */
227
+ --primitive-cherry-1100: oklch(0.395 0.160 25.3); /* #880011 */
228
+ --primitive-cherry-1200: oklch(0.330 0.134 25.6); /* #6a000a */
229
+ --primitive-cherry-1300: oklch(0.265 0.107 25.7); /* #4d0005 */
230
+
231
+ /* TBD — confirm opacity scale with design */
232
+ /* ── Slate alpha ── */
233
+ --primitive-slate-alpha-50: oklch(0.227 0.019 266.2 / 0%);
234
+ --primitive-slate-alpha-75: oklch(0.227 0.019 266.2 / 4%);
235
+ --primitive-slate-alpha-100: oklch(0.227 0.019 266.2 / 8%);
236
+ --primitive-slate-alpha-200: oklch(0.227 0.019 266.2 / 16%);
237
+ --primitive-slate-alpha-300: oklch(0.227 0.019 266.2 / 24%);
238
+ --primitive-slate-alpha-400: oklch(0.227 0.019 266.2 / 32%);
239
+ --primitive-slate-alpha-500: oklch(0.227 0.019 266.2 / 40%);
240
+ --primitive-slate-alpha-600: oklch(0.227 0.019 266.2 / 48%);
241
+ --primitive-slate-alpha-700: oklch(0.227 0.019 266.2 / 56%);
242
+ --primitive-slate-alpha-800: oklch(0.227 0.019 266.2 / 64%);
243
+ --primitive-slate-alpha-900: oklch(0.227 0.019 266.2 / 72%);
244
+ --primitive-slate-alpha-1000: oklch(0.227 0.019 266.2 / 80%);
245
+ --primitive-slate-alpha-1100: oklch(0.227 0.019 266.2 / 88%);
246
+
247
+ /* TBD — confirm opacity scale with design */
248
+ /* ── Blue alpha ── */
249
+ --primitive-blue-alpha-50: oklch(0.676 0.177 251.1 / 0%);
250
+ --primitive-blue-alpha-75: oklch(0.676 0.177 251.1 / 4%);
251
+ --primitive-blue-alpha-100: oklch(0.676 0.177 251.1 / 8%);
252
+ --primitive-blue-alpha-200: oklch(0.676 0.177 251.1 / 16%);
253
+ --primitive-blue-alpha-300: oklch(0.676 0.177 251.1 / 24%);
254
+ --primitive-blue-alpha-400: oklch(0.676 0.177 251.1 / 32%);
255
+ --primitive-blue-alpha-500: oklch(0.676 0.177 251.1 / 40%);
256
+ --primitive-blue-alpha-600: oklch(0.676 0.177 251.1 / 48%);
257
+ --primitive-blue-alpha-700: oklch(0.676 0.177 251.1 / 56%);
258
+ --primitive-blue-alpha-800: oklch(0.676 0.177 251.1 / 64%);
259
+ --primitive-blue-alpha-900: oklch(0.676 0.177 251.1 / 72%);
260
+ --primitive-blue-alpha-1000: oklch(0.676 0.177 251.1 / 80%);
261
+ --primitive-blue-alpha-1100: oklch(0.676 0.177 251.1 / 88%);
262
+
263
+ /* TBD — confirm opacity scale with design */
264
+ /* ── Green alpha ── */
265
+ --primitive-green-alpha-50: oklch(0.546 0.160 147.5 / 0%);
266
+ --primitive-green-alpha-75: oklch(0.546 0.160 147.5 / 4%);
267
+ --primitive-green-alpha-100: oklch(0.546 0.160 147.5 / 8%);
268
+ --primitive-green-alpha-200: oklch(0.546 0.160 147.5 / 16%);
269
+ --primitive-green-alpha-300: oklch(0.546 0.160 147.5 / 24%);
270
+ --primitive-green-alpha-400: oklch(0.546 0.160 147.5 / 32%);
271
+ --primitive-green-alpha-500: oklch(0.546 0.160 147.5 / 40%);
272
+ --primitive-green-alpha-600: oklch(0.546 0.160 147.5 / 48%);
273
+ --primitive-green-alpha-700: oklch(0.546 0.160 147.5 / 56%);
274
+ --primitive-green-alpha-800: oklch(0.546 0.160 147.5 / 64%);
275
+ --primitive-green-alpha-900: oklch(0.546 0.160 147.5 / 72%);
276
+ --primitive-green-alpha-1000: oklch(0.546 0.160 147.5 / 80%);
277
+ --primitive-green-alpha-1100: oklch(0.546 0.160 147.5 / 88%);
278
+
279
+ /* TBD — confirm opacity scale with design */
280
+ /* ── Emerald alpha ── */
281
+ --primitive-emerald-alpha-50: oklch(0.725 0.150 166.0 / 0%);
282
+ --primitive-emerald-alpha-75: oklch(0.725 0.150 166.0 / 4%);
283
+ --primitive-emerald-alpha-100: oklch(0.725 0.150 166.0 / 8%);
284
+ --primitive-emerald-alpha-200: oklch(0.725 0.150 166.0 / 16%);
285
+ --primitive-emerald-alpha-300: oklch(0.725 0.150 166.0 / 24%);
286
+ --primitive-emerald-alpha-400: oklch(0.725 0.150 166.0 / 32%);
287
+ --primitive-emerald-alpha-500: oklch(0.725 0.150 166.0 / 40%);
288
+ --primitive-emerald-alpha-600: oklch(0.725 0.150 166.0 / 48%);
289
+ --primitive-emerald-alpha-700: oklch(0.725 0.150 166.0 / 56%);
290
+ --primitive-emerald-alpha-800: oklch(0.725 0.150 166.0 / 64%);
291
+ --primitive-emerald-alpha-900: oklch(0.725 0.150 166.0 / 72%);
292
+ --primitive-emerald-alpha-1000: oklch(0.725 0.150 166.0 / 80%);
293
+ --primitive-emerald-alpha-1100: oklch(0.725 0.150 166.0 / 88%);
294
+
295
+ /* TBD — confirm opacity scale with design */
296
+ /* ── Yellow alpha ── */
297
+ --primitive-yellow-alpha-50: oklch(0.777 0.171 65.3 / 0%);
298
+ --primitive-yellow-alpha-75: oklch(0.777 0.171 65.3 / 4%);
299
+ --primitive-yellow-alpha-100: oklch(0.777 0.171 65.3 / 8%);
300
+ --primitive-yellow-alpha-200: oklch(0.777 0.171 65.3 / 16%);
301
+ --primitive-yellow-alpha-300: oklch(0.777 0.171 65.3 / 24%);
302
+ --primitive-yellow-alpha-400: oklch(0.777 0.171 65.3 / 32%);
303
+ --primitive-yellow-alpha-500: oklch(0.777 0.171 65.3 / 40%);
304
+ --primitive-yellow-alpha-600: oklch(0.777 0.171 65.3 / 48%);
305
+ --primitive-yellow-alpha-700: oklch(0.777 0.171 65.3 / 56%);
306
+ --primitive-yellow-alpha-800: oklch(0.777 0.171 65.3 / 64%);
307
+ --primitive-yellow-alpha-900: oklch(0.777 0.171 65.3 / 72%);
308
+ --primitive-yellow-alpha-1000: oklch(0.777 0.171 65.3 / 80%);
309
+ --primitive-yellow-alpha-1100: oklch(0.777 0.171 65.3 / 88%);
310
+
311
+ /* TBD — confirm opacity scale with design */
312
+ /* ── Red alpha ── */
313
+ --primitive-red-alpha-50: oklch(0.588 0.232 29.5 / 0%);
314
+ --primitive-red-alpha-75: oklch(0.588 0.232 29.5 / 4%);
315
+ --primitive-red-alpha-100: oklch(0.588 0.232 29.5 / 8%);
316
+ --primitive-red-alpha-200: oklch(0.588 0.232 29.5 / 16%);
317
+ --primitive-red-alpha-300: oklch(0.588 0.232 29.5 / 24%);
318
+ --primitive-red-alpha-400: oklch(0.588 0.232 29.5 / 32%);
319
+ --primitive-red-alpha-500: oklch(0.588 0.232 29.5 / 40%);
320
+ --primitive-red-alpha-600: oklch(0.588 0.232 29.5 / 48%);
321
+ --primitive-red-alpha-700: oklch(0.588 0.232 29.5 / 56%);
322
+ --primitive-red-alpha-800: oklch(0.588 0.232 29.5 / 64%);
323
+ --primitive-red-alpha-900: oklch(0.588 0.232 29.5 / 72%);
324
+ --primitive-red-alpha-1000: oklch(0.588 0.232 29.5 / 80%);
325
+ --primitive-red-alpha-1100: oklch(0.588 0.232 29.5 / 88%);
326
+
327
+ /* TBD — confirm opacity scale with design */
328
+ /* ── Coral alpha ── */
329
+ --primitive-coral-alpha-50: oklch(0.665 0.222 22.7 / 0%);
330
+ --primitive-coral-alpha-75: oklch(0.665 0.222 22.7 / 4%);
331
+ --primitive-coral-alpha-100: oklch(0.665 0.222 22.7 / 8%);
332
+ --primitive-coral-alpha-200: oklch(0.665 0.222 22.7 / 16%);
333
+ --primitive-coral-alpha-300: oklch(0.665 0.222 22.7 / 24%);
334
+ --primitive-coral-alpha-400: oklch(0.665 0.222 22.7 / 32%);
335
+ --primitive-coral-alpha-500: oklch(0.665 0.222 22.7 / 40%);
336
+ --primitive-coral-alpha-600: oklch(0.665 0.222 22.7 / 48%);
337
+ --primitive-coral-alpha-700: oklch(0.665 0.222 22.7 / 56%);
338
+ --primitive-coral-alpha-800: oklch(0.665 0.222 22.7 / 64%);
339
+ --primitive-coral-alpha-900: oklch(0.665 0.222 22.7 / 72%);
340
+ --primitive-coral-alpha-1000: oklch(0.665 0.222 22.7 / 80%);
341
+ --primitive-coral-alpha-1100: oklch(0.665 0.222 22.7 / 88%);
342
+
343
+ /* TBD — confirm opacity scale with design */
344
+ /* ── Cherry alpha ── */
345
+ --primitive-cherry-alpha-50: oklch(0.571 0.229 18.2 / 0%);
346
+ --primitive-cherry-alpha-75: oklch(0.571 0.229 18.2 / 4%);
347
+ --primitive-cherry-alpha-100: oklch(0.571 0.229 18.2 / 8%);
348
+ --primitive-cherry-alpha-200: oklch(0.571 0.229 18.2 / 16%);
349
+ --primitive-cherry-alpha-300: oklch(0.571 0.229 18.2 / 24%);
350
+ --primitive-cherry-alpha-400: oklch(0.571 0.229 18.2 / 32%);
351
+ --primitive-cherry-alpha-500: oklch(0.571 0.229 18.2 / 40%);
352
+ --primitive-cherry-alpha-600: oklch(0.571 0.229 18.2 / 48%);
353
+ --primitive-cherry-alpha-700: oklch(0.571 0.229 18.2 / 56%);
354
+ --primitive-cherry-alpha-800: oklch(0.571 0.229 18.2 / 64%);
355
+ --primitive-cherry-alpha-900: oklch(0.571 0.229 18.2 / 72%);
356
+ --primitive-cherry-alpha-1000: oklch(0.571 0.229 18.2 / 80%);
357
+ --primitive-cherry-alpha-1100: oklch(0.571 0.229 18.2 / 88%);
358
+
359
+ /* TBD — confirm opacity scale with design */
360
+ /* ── White alpha ── */
361
+ --primitive-white-alpha-50: oklch(1.000 0.000 263.3 / 0%);
362
+ --primitive-white-alpha-75: oklch(1.000 0.000 263.3 / 4%);
363
+ --primitive-white-alpha-100: oklch(1.000 0.000 263.3 / 8%);
364
+ --primitive-white-alpha-200: oklch(1.000 0.000 263.3 / 16%);
365
+ --primitive-white-alpha-300: oklch(1.000 0.000 263.3 / 24%);
366
+ --primitive-white-alpha-400: oklch(1.000 0.000 263.3 / 32%);
367
+ --primitive-white-alpha-500: oklch(1.000 0.000 263.3 / 40%);
368
+ --primitive-white-alpha-600: oklch(1.000 0.000 263.3 / 48%);
369
+ --primitive-white-alpha-700: oklch(1.000 0.000 263.3 / 56%);
370
+ --primitive-white-alpha-800: oklch(1.000 0.000 263.3 / 64%);
371
+ --primitive-white-alpha-900: oklch(1.000 0.000 263.3 / 72%);
372
+ --primitive-white-alpha-1000: oklch(1.000 0.000 263.3 / 80%);
373
+ --primitive-white-alpha-1100: oklch(1.000 0.000 263.3 / 88%);
374
+
375
+ /* TBD — confirm opacity scale with design */
376
+ /* ── Black alpha ── */
377
+ --primitive-black-alpha-50: oklch(0.000 0.000 0.0 / 0%);
378
+ --primitive-black-alpha-75: oklch(0.000 0.000 0.0 / 4%);
379
+ --primitive-black-alpha-100: oklch(0.000 0.000 0.0 / 8%);
380
+ --primitive-black-alpha-200: oklch(0.000 0.000 0.0 / 16%);
381
+ --primitive-black-alpha-300: oklch(0.000 0.000 0.0 / 24%);
382
+ --primitive-black-alpha-400: oklch(0.000 0.000 0.0 / 32%);
383
+ --primitive-black-alpha-500: oklch(0.000 0.000 0.0 / 40%);
384
+ --primitive-black-alpha-600: oklch(0.000 0.000 0.0 / 48%);
385
+ --primitive-black-alpha-700: oklch(0.000 0.000 0.0 / 56%);
386
+ --primitive-black-alpha-800: oklch(0.000 0.000 0.0 / 64%);
387
+ --primitive-black-alpha-900: oklch(0.000 0.000 0.0 / 72%);
388
+ --primitive-black-alpha-1000: oklch(0.000 0.000 0.0 / 80%);
389
+ --primitive-black-alpha-1100: oklch(0.000 0.000 0.0 / 88%);
195
390
 
196
391
  /* ── Transitions — Duration scale ── */
197
392
  --primitive-duration-instant: 50ms;
@@ -229,40 +424,414 @@
229
424
  --primitive-layout-diagram-max-medium: 1135px;
230
425
  }
231
426
 
427
+ /* ══════════════════════════════════════════════════════════════
428
+ LAYER 2A — FOUNDATION SEMANTICS (light defaults / :root)
429
+ Source of truth: light.tokens.json · dark.tokens.json
430
+ Namespaces: background · border · text · icon · elevation
431
+ Use --{namespace}-{role}-{variant} in product and theme code.
432
+ ══════════════════════════════════════════════════════════════ */
433
+ :root {
434
+ /* ── Background ── */
435
+ --background-default-opacity-default: var(--primitive-slate-alpha-75); /* #181C25 @ 4% */
436
+ --background-default-opacity-inverse: var(--primitive-white-alpha-75); /* #FFFFFF @ 4% */
437
+ --background-default-opacity-static-dark: var(--primitive-white-alpha-75); /* #FFFFFF @ 4% */
438
+ --background-default-opacity-static-light: var(--primitive-slate-alpha-75); /* #181C25 @ 4% */
439
+ --background-default-solid-default: var(--primitive-slate-50); /* #FFFFFF */
440
+ --background-default-solid-inverse: var(--primitive-slate-1100); /* #20242F */
441
+ --background-default-solid-static-dark: var(--primitive-slate-50); /* #FFFFFF */
442
+ --background-default-solid-static-light: var(--primitive-slate-1100); /* #20242F */
443
+ --background-error-default: var(--primitive-red-alpha-300); /* #E6190E @ 24% */
444
+ --background-hover-default: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
445
+ --background-hover-inverse: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
446
+ --background-hover-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
447
+ --background-hover-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
448
+ --background-information-default: var(--primitive-blue-alpha-300); /* #2C9AFF @ 24% */
449
+ --background-pressed-default: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
450
+ --background-pressed-inverse: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
451
+ --background-pressed-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
452
+ --background-pressed-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
453
+ --background-primary-canvas: var(--primitive-slate-75); /* #F6F7F8 */
454
+ --background-primary-surface: var(--primitive-slate-50); /* #FFFFFF */
455
+ --background-secondary-canvas: var(--primitive-slate-50); /* #FFFFFF */
456
+ --background-secondary-surface: var(--primitive-slate-75); /* #F6F7F8 */
457
+ --background-selected-default: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
458
+ --background-selected-inverse: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
459
+ --background-selected-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
460
+ --background-selected-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
461
+ --background-success-default: var(--primitive-green-alpha-300); /* #008832 @ 24% */
462
+ --background-warning-default: var(--primitive-yellow-alpha-300); /* #FF9C13 @ 24% */
463
+
464
+ /* ── Border ── */
465
+ --border-default-default: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
466
+ --border-default-inverse: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
467
+ --border-default-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
468
+ --border-default-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
469
+ --border-disabled-default: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
470
+ --border-disabled-inverse: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
471
+ --border-disabled-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
472
+ --border-disabled-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
473
+ --border-error-default: var(--primitive-red-900); /* #C40000 */
474
+ --border-error-inverse: var(--primitive-red-500); /* #FF4D4D */
475
+ --border-error-static-dark: var(--primitive-red-500); /* #FF4D4D */
476
+ --border-error-static-light: var(--primitive-red-900); /* #C40000 */
477
+ --border-information-default: var(--primitive-blue-900); /* #0777C4 */
478
+ --border-information-inverse: var(--primitive-blue-500); /* #53B9FF */
479
+ --border-information-static-dark: var(--primitive-blue-500); /* #53B9FF */
480
+ --border-information-static-light: var(--primitive-blue-900); /* #0777C4 */
481
+ --border-prominent-default: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
482
+ --border-prominent-inverse: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
483
+ --border-prominent-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
484
+ --border-prominent-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
485
+ --border-selected-default: var(--primitive-slate-1200); /* #181C25 */
486
+ --border-selected-inverse: var(--primitive-slate-50); /* #FFFFFF */
487
+ --border-selected-static-dark: var(--primitive-slate-50); /* #FFFFFF */
488
+ --border-selected-static-light: var(--primitive-slate-1200); /* #181C25 */
489
+ --border-subtle-default: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
490
+ --border-subtle-inverse: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
491
+ --border-subtle-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
492
+ --border-subtle-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
493
+ --border-success-default: var(--primitive-green-900); /* #007A22 */
494
+ --border-success-inverse: var(--primitive-green-500); /* #4DBC6B */
495
+ --border-success-static-dark: var(--primitive-green-500); /* #4DBC6B */
496
+ --border-success-static-light: var(--primitive-green-900); /* #007A22 */
497
+ --border-warning-default: var(--primitive-yellow-900); /* #C47D00 */
498
+ --border-warning-inverse: var(--primitive-yellow-500); /* #FFBE4D */
499
+ --border-warning-static-dark: var(--primitive-yellow-500); /* #FFBE4D */
500
+ --border-warning-static-light: var(--primitive-yellow-900); /* #C47D00 */
501
+
502
+ /* ── Text ── */
503
+ --text-disabled-default: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
504
+ --text-disabled-inverse: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
505
+ --text-disabled-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
506
+ --text-disabled-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
507
+ --text-error-default: var(--primitive-red-900); /* #C40000 */
508
+ --text-error-inverse: var(--primitive-red-500); /* #FF4D4D */
509
+ --text-error-static-dark: var(--primitive-red-500); /* #FF4D4D */
510
+ --text-error-static-light: var(--primitive-red-900); /* #C40000 */
511
+ --text-information-default: var(--primitive-blue-900); /* #0777C4 */
512
+ --text-information-inverse: var(--primitive-blue-500); /* #53B9FF */
513
+ --text-information-static-dark: var(--primitive-blue-500); /* #53B9FF */
514
+ --text-information-static-light: var(--primitive-blue-900); /* #0777C4 */
515
+ --text-prominent-default: var(--primitive-slate-1200); /* #181C25 */
516
+ --text-prominent-inverse: var(--primitive-slate-50); /* #FFFFFF */
517
+ --text-prominent-static-dark: var(--primitive-slate-50); /* #FFFFFF */
518
+ --text-prominent-static-light: var(--primitive-slate-1200); /* #181C25 */
519
+ --text-subtle-default: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
520
+ --text-subtle-inverse: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
521
+ --text-subtle-static-dark: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
522
+ --text-subtle-static-light: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
523
+ --text-success-default: var(--primitive-green-900); /* #007A22 */
524
+ --text-success-inverse: var(--primitive-green-500); /* #4DBC6B */
525
+ --text-success-static-dark: var(--primitive-green-500); /* #4DBC6B */
526
+ --text-success-static-light: var(--primitive-green-900); /* #007A22 */
527
+ --text-utility-brand: var(--primitive-coral-700); /* #FF444F */
528
+ --text-utility-demo: oklch(0.672 0.199 42.1); /* #F55F0A */ /* TODO: no matching primitive */
529
+ --text-utility-real: var(--primitive-emerald-700); /* #00C390 */
530
+ --text-warning-default: var(--primitive-yellow-900); /* #C47D00 */
531
+ --text-warning-inverse: var(--primitive-yellow-500); /* #FFBE4D */
532
+ --text-warning-static-dark: var(--primitive-yellow-500); /* #FFBE4D */
533
+ --text-warning-static-light: var(--primitive-yellow-900); /* #C47D00 */
534
+
535
+ /* ── Icon ── */
536
+ --icon-disabled-default: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
537
+ --icon-disabled-inverse: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
538
+ --icon-disabled-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
539
+ --icon-disabled-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
540
+ --icon-error-default: var(--primitive-red-900); /* #C40000 */
541
+ --icon-error-inverse: var(--primitive-red-500); /* #FF4D4D */
542
+ --icon-error-static-dark: var(--primitive-red-500); /* #FF4D4D */
543
+ --icon-error-static-light: var(--primitive-red-900); /* #C40000 */
544
+ --icon-information-default: var(--primitive-blue-900); /* #0777C4 */
545
+ --icon-information-inverse: var(--primitive-blue-500); /* #53B9FF */
546
+ --icon-information-static-dark: var(--primitive-blue-500); /* #53B9FF */
547
+ --icon-information-static-light: var(--primitive-blue-900); /* #0777C4 */
548
+ --icon-prominent-default: var(--primitive-slate-1200); /* #181C25 */
549
+ --icon-prominent-inverse: var(--primitive-slate-50); /* #FFFFFF */
550
+ --icon-prominent-static-dark: var(--primitive-slate-50); /* #FFFFFF */
551
+ --icon-prominent-static-light: var(--primitive-slate-1200); /* #181C25 */
552
+ --icon-subtle-default: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
553
+ --icon-subtle-inverse: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
554
+ --icon-subtle-static-dark: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
555
+ --icon-subtle-static-light: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
556
+ --icon-success-default: var(--primitive-green-900); /* #007A22 */
557
+ --icon-success-inverse: var(--primitive-green-500); /* #4DBC6B */
558
+ --icon-success-static-dark: var(--primitive-green-500); /* #4DBC6B */
559
+ --icon-success-static-light: var(--primitive-green-900); /* #007A22 */
560
+ --icon-utility-brand: var(--primitive-coral-700); /* #FF444F */
561
+ --icon-utility-demo: oklch(0.672 0.199 42.1); /* #F55F0A */ /* TODO: no matching primitive */
562
+ --icon-utility-flag-placeholder: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
563
+ --icon-utility-real: var(--primitive-emerald-700); /* #00C390 */
564
+ --icon-warning-default: var(--primitive-yellow-900); /* #C47D00 */
565
+ --icon-warning-inverse: var(--primitive-yellow-500); /* #FFBE4D */
566
+ --icon-warning-static-dark: var(--primitive-yellow-500); /* #FFBE4D */
567
+ --icon-warning-static-light: var(--primitive-yellow-900); /* #C47D00 */
568
+
569
+ /* ── Elevation — layer values ── */
570
+ --elevation-x: 0px;
571
+ --elevation-100-layer-1-y: 1px;
572
+ --elevation-100-layer-1-blur: 2px;
573
+ --elevation-100-layer-1-spread: 0px;
574
+ --elevation-100-layer-1-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
575
+ --elevation-200-layer-1-y: 1px;
576
+ --elevation-200-layer-1-blur: 2px;
577
+ --elevation-200-layer-1-spread: 0px;
578
+ --elevation-200-layer-1-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
579
+ --elevation-200-layer-2-y: 2px;
580
+ --elevation-200-layer-2-blur: 6px;
581
+ --elevation-200-layer-2-spread: 0px;
582
+ --elevation-200-layer-2-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
583
+ --elevation-300-layer-1-y: 1px;
584
+ --elevation-300-layer-1-blur: 2px;
585
+ --elevation-300-layer-1-spread: 0px;
586
+ --elevation-300-layer-1-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
587
+ --elevation-300-layer-2-y: 4px;
588
+ --elevation-300-layer-2-blur: 12px;
589
+ --elevation-300-layer-2-spread: -1px;
590
+ --elevation-300-layer-2-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
591
+ --elevation-300-layer-3-y: 8px;
592
+ --elevation-300-layer-3-blur: 24px;
593
+ --elevation-300-layer-3-spread: -2px;
594
+ --elevation-300-layer-3-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
595
+ --elevation-400-layer-1-y: 2px;
596
+ --elevation-400-layer-1-blur: 4px;
597
+ --elevation-400-layer-1-spread: 0px;
598
+ --elevation-400-layer-1-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
599
+ --elevation-400-layer-2-y: 8px;
600
+ --elevation-400-layer-2-blur: 24px;
601
+ --elevation-400-layer-2-spread: -4px;
602
+ --elevation-400-layer-2-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
603
+ --elevation-400-layer-3-y: 16px;
604
+ --elevation-400-layer-3-blur: 48px;
605
+ --elevation-400-layer-3-spread: -6px;
606
+ --elevation-400-layer-3-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
607
+ --elevation-500-layer-1-y: 4px;
608
+ --elevation-500-layer-1-blur: 8px;
609
+ --elevation-500-layer-1-spread: 0px;
610
+ --elevation-500-layer-1-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
611
+ --elevation-500-layer-2-y: 16px;
612
+ --elevation-500-layer-2-blur: 48px;
613
+ --elevation-500-layer-2-spread: -6px;
614
+ --elevation-500-layer-2-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
615
+ --elevation-500-layer-3-y: 32px;
616
+ --elevation-500-layer-3-blur: 96px;
617
+ --elevation-500-layer-3-spread: -12px;
618
+ --elevation-500-layer-3-colour: var(--primitive-black-alpha-75); /* #000000 @ 4% */
619
+
620
+ /* ── Elevation — composed box-shadow shorthands ── */
621
+ /* Defined in :root only; CSS var lazy resolution means these auto-adapt when .dark overrides the layer-colour tokens */
622
+ --elevation-100:
623
+ var(--elevation-x) var(--elevation-100-layer-1-y) var(--elevation-100-layer-1-blur) var(--elevation-100-layer-1-spread) var(--elevation-100-layer-1-colour);
624
+ --elevation-200:
625
+ var(--elevation-x) var(--elevation-200-layer-1-y) var(--elevation-200-layer-1-blur) var(--elevation-200-layer-1-spread) var(--elevation-200-layer-1-colour),
626
+ var(--elevation-x) var(--elevation-200-layer-2-y) var(--elevation-200-layer-2-blur) var(--elevation-200-layer-2-spread) var(--elevation-200-layer-2-colour);
627
+ --elevation-300:
628
+ var(--elevation-x) var(--elevation-300-layer-1-y) var(--elevation-300-layer-1-blur) var(--elevation-300-layer-1-spread) var(--elevation-300-layer-1-colour),
629
+ var(--elevation-x) var(--elevation-300-layer-2-y) var(--elevation-300-layer-2-blur) var(--elevation-300-layer-2-spread) var(--elevation-300-layer-2-colour),
630
+ var(--elevation-x) var(--elevation-300-layer-3-y) var(--elevation-300-layer-3-blur) var(--elevation-300-layer-3-spread) var(--elevation-300-layer-3-colour);
631
+ --elevation-400:
632
+ var(--elevation-x) var(--elevation-400-layer-1-y) var(--elevation-400-layer-1-blur) var(--elevation-400-layer-1-spread) var(--elevation-400-layer-1-colour),
633
+ var(--elevation-x) var(--elevation-400-layer-2-y) var(--elevation-400-layer-2-blur) var(--elevation-400-layer-2-spread) var(--elevation-400-layer-2-colour),
634
+ var(--elevation-x) var(--elevation-400-layer-3-y) var(--elevation-400-layer-3-blur) var(--elevation-400-layer-3-spread) var(--elevation-400-layer-3-colour);
635
+ --elevation-500:
636
+ var(--elevation-x) var(--elevation-500-layer-1-y) var(--elevation-500-layer-1-blur) var(--elevation-500-layer-1-spread) var(--elevation-500-layer-1-colour),
637
+ var(--elevation-x) var(--elevation-500-layer-2-y) var(--elevation-500-layer-2-blur) var(--elevation-500-layer-2-spread) var(--elevation-500-layer-2-colour),
638
+ var(--elevation-x) var(--elevation-500-layer-3-y) var(--elevation-500-layer-3-blur) var(--elevation-500-layer-3-spread) var(--elevation-500-layer-3-colour);
639
+ }
640
+
641
+ /* ══════════════════════════════════════════════════════════════
642
+ LAYER 2A — FOUNDATION SEMANTICS (dark overrides)
643
+ Toggle .dark on <html> to switch theme.
644
+ ══════════════════════════════════════════════════════════════ */
645
+ .dark {
646
+ /* ── Background ── */
647
+ --background-default-opacity-default: var(--primitive-white-alpha-75); /* #FFFFFF @ 4% */
648
+ --background-default-opacity-inverse: var(--primitive-slate-alpha-75); /* #181C25 @ 4% */
649
+ --background-default-opacity-static-dark: var(--primitive-white-alpha-75); /* #FFFFFF @ 4% */
650
+ --background-default-opacity-static-light: var(--primitive-slate-alpha-75); /* #181C25 @ 4% */
651
+ --background-default-solid-default: var(--primitive-slate-1100); /* #20242F */
652
+ --background-default-solid-inverse: var(--primitive-slate-50); /* #FFFFFF */
653
+ --background-default-solid-static-dark: var(--primitive-slate-50); /* #FFFFFF */
654
+ --background-default-solid-static-light: var(--primitive-slate-1100); /* #20242F */
655
+ --background-error-default: var(--primitive-red-alpha-300); /* #E6190E @ 24% */
656
+ --background-hover-default: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
657
+ --background-hover-inverse: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
658
+ --background-hover-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
659
+ --background-hover-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
660
+ --background-information-default: var(--primitive-blue-alpha-300); /* #2C9AFF @ 24% */
661
+ --background-pressed-default: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
662
+ --background-pressed-inverse: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
663
+ --background-pressed-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
664
+ --background-pressed-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
665
+ --background-primary-canvas: var(--primitive-slate-1200); /* #181C25 */
666
+ --background-primary-surface: var(--primitive-slate-1300); /* #11141B */
667
+ --background-secondary-canvas: var(--primitive-slate-1200); /* #181C25 */
668
+ --background-secondary-surface: var(--primitive-slate-1100); /* #20242F */
669
+ --background-selected-default: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
670
+ --background-selected-inverse: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
671
+ --background-selected-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
672
+ --background-selected-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
673
+ --background-success-default: var(--primitive-green-alpha-300); /* #008832 @ 24% */
674
+ --background-warning-default: var(--primitive-yellow-alpha-300); /* #FF9C13 @ 24% */
675
+
676
+ /* ── Border ── */
677
+ --border-default-default: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
678
+ --border-default-inverse: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
679
+ --border-default-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
680
+ --border-default-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
681
+ --border-disabled-default: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
682
+ --border-disabled-inverse: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
683
+ --border-disabled-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
684
+ --border-disabled-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
685
+ --border-error-default: var(--primitive-red-500); /* #FF4D4D */
686
+ --border-error-inverse: var(--primitive-red-900); /* #C40000 */
687
+ --border-error-static-dark: var(--primitive-red-500); /* #FF4D4D */
688
+ --border-error-static-light: var(--primitive-red-900); /* #C40000 */
689
+ --border-information-default: var(--primitive-blue-500); /* #53B9FF */
690
+ --border-information-inverse: var(--primitive-blue-900); /* #0777C4 */
691
+ --border-information-static-dark: var(--primitive-blue-500); /* #53B9FF */
692
+ --border-information-static-light: var(--primitive-blue-900); /* #0777C4 */
693
+ --border-prominent-default: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
694
+ --border-prominent-inverse: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
695
+ --border-prominent-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
696
+ --border-prominent-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
697
+ --border-selected-default: var(--primitive-slate-50); /* #FFFFFF */
698
+ --border-selected-inverse: var(--primitive-slate-1200); /* #181C25 */
699
+ --border-selected-static-dark: var(--primitive-slate-50); /* #FFFFFF */
700
+ --border-selected-static-light: var(--primitive-slate-1200); /* #181C25 */
701
+ --border-subtle-default: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
702
+ --border-subtle-inverse: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
703
+ --border-subtle-static-dark: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
704
+ --border-subtle-static-light: var(--primitive-slate-alpha-100); /* #181C25 @ 8% */
705
+ --border-success-default: var(--primitive-green-500); /* #4DBC6B */
706
+ --border-success-inverse: var(--primitive-green-900); /* #007A22 */
707
+ --border-success-static-dark: var(--primitive-green-500); /* #4DBC6B */
708
+ --border-success-static-light: var(--primitive-green-900); /* #007A22 */
709
+ --border-warning-default: var(--primitive-yellow-500); /* #FFBE4D */
710
+ --border-warning-inverse: var(--primitive-yellow-900); /* #C47D00 */
711
+ --border-warning-static-dark: var(--primitive-yellow-500); /* #FFBE4D */
712
+ --border-warning-static-light: var(--primitive-yellow-900); /* #C47D00 */
713
+
714
+ /* ── Text ── */
715
+ --text-disabled-default: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
716
+ --text-disabled-inverse: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
717
+ --text-disabled-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
718
+ --text-disabled-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
719
+ --text-error-default: var(--primitive-red-500); /* #FF4D4D */
720
+ --text-error-inverse: var(--primitive-red-900); /* #C40000 */
721
+ --text-error-static-dark: var(--primitive-red-500); /* #FF4D4D */
722
+ --text-error-static-light: var(--primitive-red-900); /* #C40000 */
723
+ --text-information-default: var(--primitive-blue-500); /* #53B9FF */
724
+ --text-information-inverse: var(--primitive-blue-900); /* #0777C4 */
725
+ --text-information-static-dark: var(--primitive-blue-500); /* #53B9FF */
726
+ --text-information-static-light: var(--primitive-blue-900); /* #0777C4 */
727
+ --text-prominent-default: var(--primitive-slate-50); /* #FFFFFF */
728
+ --text-prominent-inverse: var(--primitive-slate-1200); /* #181C25 */
729
+ --text-prominent-static-dark: var(--primitive-slate-50); /* #FFFFFF */
730
+ --text-prominent-static-light: var(--primitive-slate-1200); /* #181C25 */
731
+ --text-subtle-default: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
732
+ --text-subtle-inverse: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
733
+ --text-subtle-static-dark: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
734
+ --text-subtle-static-light: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
735
+ --text-success-default: var(--primitive-green-500); /* #4DBC6B */
736
+ --text-success-inverse: var(--primitive-green-900); /* #007A22 */
737
+ --text-success-static-dark: var(--primitive-green-500); /* #4DBC6B */
738
+ --text-success-static-light: var(--primitive-green-900); /* #007A22 */
739
+ --text-utility-brand: var(--primitive-coral-700); /* #FF444F */
740
+ --text-utility-demo: oklch(0.672 0.199 42.1); /* #F55F0A */ /* TODO: no matching primitive */
741
+ --text-utility-real: var(--primitive-emerald-700); /* #00C390 */
742
+ --text-warning-default: var(--primitive-yellow-500); /* #FFBE4D */
743
+ --text-warning-inverse: var(--primitive-yellow-900); /* #C47D00 */
744
+ --text-warning-static-dark: var(--primitive-yellow-500); /* #FFBE4D */
745
+ --text-warning-static-light: var(--primitive-yellow-900); /* #C47D00 */
746
+
747
+ /* ── Icon ── */
748
+ --icon-disabled-default: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
749
+ --icon-disabled-inverse: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
750
+ --icon-disabled-static-dark: var(--primitive-white-alpha-200); /* #FFFFFF @ 16% */
751
+ --icon-disabled-static-light: var(--primitive-slate-alpha-200); /* #181C25 @ 16% */
752
+ --icon-error-default: var(--primitive-red-500); /* #FF4D4D */
753
+ --icon-error-inverse: var(--primitive-red-900); /* #C40000 */
754
+ --icon-error-static-dark: var(--primitive-red-500); /* #FF4D4D */
755
+ --icon-error-static-light: var(--primitive-red-900); /* #C40000 */
756
+ --icon-information-default: var(--primitive-blue-500); /* #53B9FF */
757
+ --icon-information-inverse: var(--primitive-blue-900); /* #0777C4 */
758
+ --icon-information-static-dark: var(--primitive-blue-500); /* #53B9FF */
759
+ --icon-information-static-light: var(--primitive-blue-900); /* #0777C4 */
760
+ --icon-prominent-default: var(--primitive-slate-50); /* #FFFFFF */
761
+ --icon-prominent-inverse: var(--primitive-slate-1200); /* #181C25 */
762
+ --icon-prominent-static-dark: var(--primitive-slate-50); /* #FFFFFF */
763
+ --icon-prominent-static-light: var(--primitive-slate-1200); /* #181C25 */
764
+ --icon-subtle-default: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
765
+ --icon-subtle-inverse: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
766
+ --icon-subtle-static-dark: var(--primitive-white-alpha-500); /* #FFFFFF @ 48% */
767
+ --icon-subtle-static-light: var(--primitive-slate-alpha-500); /* #181C25 @ 48% */
768
+ --icon-success-default: var(--primitive-green-500); /* #4DBC6B */
769
+ --icon-success-inverse: var(--primitive-green-900); /* #007A22 */
770
+ --icon-success-static-dark: var(--primitive-green-500); /* #4DBC6B */
771
+ --icon-success-static-light: var(--primitive-green-900); /* #007A22 */
772
+ --icon-utility-brand: var(--primitive-coral-700); /* #FF444F */
773
+ --icon-utility-demo: oklch(0.672 0.199 42.1); /* #F55F0A */ /* TODO: no matching primitive */
774
+ --icon-utility-flag-placeholder: var(--primitive-white-alpha-100); /* #FFFFFF @ 8% */
775
+ --icon-utility-real: var(--primitive-emerald-700); /* #00C390 */
776
+ --icon-warning-default: var(--primitive-yellow-500); /* #FFBE4D */
777
+ --icon-warning-inverse: var(--primitive-yellow-900); /* #C47D00 */
778
+ --icon-warning-static-dark: var(--primitive-yellow-500); /* #FFBE4D */
779
+ --icon-warning-static-light: var(--primitive-yellow-900); /* #C47D00 */
780
+
781
+ /* ── Elevation — colour overrides only (geometry unchanged from :root) ── */
782
+ --elevation-100-layer-1-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
783
+ --elevation-200-layer-1-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
784
+ --elevation-200-layer-2-colour: var(--primitive-black-alpha-200); /* #000000 @ 16% */
785
+ --elevation-300-layer-1-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
786
+ --elevation-300-layer-2-colour: var(--primitive-black-alpha-200); /* #000000 @ 16% */
787
+ --elevation-300-layer-3-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
788
+ --elevation-400-layer-1-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
789
+ --elevation-400-layer-2-colour: var(--primitive-black-alpha-200); /* #000000 @ 16% */
790
+ --elevation-400-layer-3-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
791
+ --elevation-500-layer-1-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
792
+ --elevation-500-layer-2-colour: var(--primitive-black-alpha-200); /* #000000 @ 16% */
793
+ --elevation-500-layer-3-colour: var(--primitive-black-alpha-100); /* #000000 @ 8% */
794
+ }
795
+
232
796
  /* ══════════════════════════════════════════════════════════════
233
797
  LAYER 2 — SEMANTICS
234
- UI role and meaning. References primitives only.
798
+ UI role and meaning. References foundation tokens (Layer 2A).
235
799
  ══════════════════════════════════════════════════════════════ */
236
800
  :root {
237
- --prominent: var(--primitive-mono-50);
238
- --on-prominent: var(--primitive-mono-1000);
239
- --on-prominent-static-inverse: var(--primitive-mono-50);
240
- /* #FFFFFFalways white, never changes between themes */
241
- --primary: var(--primitive-blue-500);
242
- --primary-hover: oklch(0.403 0.251 267.5);
243
- --subtle: oklch(0.96 0 0);
244
- --on-subtle: oklch(0.52 0 0);
245
-
246
- --border-subtle: oklch(0.92 0 0);
247
- --border: var(--border-subtle);
248
- /* @deprecated alias — use --border-subtle or --border-prominent */
249
- --border-prominent: var(--primitive-mono-1000);
250
- /* #000000 */
251
- --secondary-hover: var(--primitive-mono-100);
252
- /* #EEEEEE */
253
- --ring: var(--primitive-blue-500);
801
+ --on-prominent-static-inverse: var(--text-prominent-static-dark);
802
+ /* always #FFFFFF — never changes between themes */
803
+ --primary: var(--primitive-coral-700);
804
+ /* coral-700 (#FF444F)brand colour, same in both themes */
805
+ --primary-hover: var(--primitive-coral-800);
806
+ /* coral-800 (#E12E3A) brand hover, same in both themes */
807
+ --secondary-hover: var(--background-secondary-surface);
808
+ /* TODO PR 3 — replace with button.secondary-normal-bg-hover when component tokens ship */
809
+ --ring: var(--primitive-coral-700);
810
+ /* coral-700 brand colour, same in both themes */
254
811
  --overlay: var(--primitive-black-50);
255
- --semantic-win: var(--primitive-green-400);
256
- --semantic-loss: var(--primitive-red-500);
257
- --semantic-info: var(--primitive-sky-600);
258
- --semantic-error: var(--primitive-red-600);
259
- --semantic-warning: var(--primitive-orange-500);
260
- --tabs: var(--primitive-mono-alpha-4);
261
- --tabs-active: var(--primitive-mono-50);
812
+ /* TODO — no dedicated overlay foundation token; keeping primitive alias. Revisit when overlay token ships. */
813
+ --semantic-error: var(--text-error-default);
814
+ --tabs: var(--background-default-opacity-default);
815
+ --tabs-active: var(--background-primary-surface);
262
816
  --semantic-layout-diagram-max-default: var(--primitive-layout-diagram-max-default);
263
817
  --semantic-layout-diagram-max-small: var(--primitive-layout-diagram-max-small);
264
818
  --semantic-layout-diagram-max-medium: var(--primitive-layout-diagram-max-medium);
265
819
 
820
+ /* ── shadcn/ui compatibility ── */
821
+ --background: var(--background-primary-canvas);
822
+ --foreground: var(--text-prominent-default);
823
+ --primary-foreground: var(--text-prominent-static-dark);
824
+ /* always white on brand/primary bg */
825
+ --secondary: var(--background-secondary-canvas);
826
+ --secondary-foreground: var(--text-prominent-default);
827
+ --muted: var(--background-secondary-surface);
828
+ --muted-foreground: var(--text-subtle-default);
829
+ --accent: var(--background-secondary-canvas);
830
+ --accent-foreground: var(--text-prominent-default);
831
+ --destructive: var(--background-error-default);
832
+ --destructive-foreground: var(--text-prominent-static-dark);
833
+ /* TODO — --chart-1 through --chart-5 need a separate design decision about which palette colours to use for data visualisations */
834
+
266
835
  /* ── Transitions — Semantic duration ── */
267
836
  --transition-duration-interactive: var(--primitive-duration-fast);
268
837
  /* buttons, inputs, badges, checkboxes, toggles, tabs hover */
@@ -324,34 +893,31 @@
324
893
  Component-specific tokens. References semantics or primitives.
325
894
  ══════════════════════════════════════════════════════════════ */
326
895
  :root {
327
- --card: var(--primitive-mono-50);
328
- --card-foreground: oklch(0.07 0.012 165);
329
- --popover: var(--primitive-mono-50);
330
- --popover-foreground: oklch(0.07 0.012 165);
331
- --input: var(--border-subtle);
332
- --alert-info-text: var(--semantic-info);
333
- --alert-info-border: var(--semantic-info);
334
- --alert-error-text: var(--semantic-error);
335
- --alert-error-border: var(--semantic-error);
336
- --slider-range: oklch(0.476 0.297 267.4 / 40%);
337
- --sidebar: var(--primitive-mono-50);
338
- --sidebar-foreground: oklch(0.07 0.012 165);
896
+ --input: var(--border-subtle-default);
897
+ --alert-info-text: var(--text-information-default);
898
+ --alert-info-border: var(--border-information-default);
899
+ --alert-error-text: var(--text-error-default);
900
+ --alert-error-border: var(--border-error-default);
901
+ --slider-range: oklch(0.665 0.222 22.7 / 40%); /* TODO: no matching primitive — coral-700 @ 40%; alpha scale has 32% and 48% stops only */
902
+ /* coral-700 at 40% opacity */
903
+ --sidebar: var(--background-primary-surface);
904
+ --sidebar-foreground: var(--text-prominent-default);
339
905
  --sidebar-primary: var(--primary);
340
- --sidebar-primary-foreground: var(--primitive-mono-50);
341
- --sidebar-accent: oklch(0.96 0 0);
342
- --sidebar-accent-foreground: oklch(0.12 0.015 160);
343
- --sidebar-border: oklch(0.92 0 0);
906
+ --sidebar-primary-foreground: var(--text-prominent-static-dark);
907
+ --sidebar-accent: var(--background-secondary-surface);
908
+ --sidebar-accent-foreground: var(--text-prominent-default);
909
+ --sidebar-border: var(--border-subtle-default);
344
910
  --sidebar-ring: var(--ring);
345
911
  }
346
912
 
347
913
  @layer base {
348
914
  * {
349
- border-color: var(--color-border-subtle);
915
+ border-color: var(--color-default);
350
916
  outline-color: color-mix(in oklch, var(--color-ring) 50%, transparent);
351
917
  }
352
918
 
353
919
  body {
354
- @apply bg-prominent text-on-prominent font-sans antialiased;
920
+ @apply bg-primary-surface text-prominent font-sans antialiased;
355
921
  }
356
922
  }
357
923
 
@@ -366,77 +932,798 @@
366
932
  }
367
933
  }
368
934
 
369
- /* Typography — Heading scale (Plus Jakarta Sans · Semibold 600 · LS 1.5px) */
935
+ /* Typography — Heading scale (Inter · ExtraBold 800 · LS -0.02em) */
936
+ .heading-hero {
937
+ font-family: var(--font-inter);
938
+ font-weight: 800;
939
+ font-size: 64px;
940
+ line-height: 64px;
941
+ letter-spacing: -0.02em;
942
+ }
943
+
370
944
  .heading-h1 {
371
- font-family: var(--font-plus-jakarta-sans);
372
- font-weight: 600;
373
- font-size: 72px;
374
- line-height: 72px;
375
- letter-spacing: 1.5px;
376
- text-transform: uppercase;
945
+ font-family: var(--font-inter);
946
+ font-weight: 800;
947
+ font-size: 56px;
948
+ line-height: 56px;
949
+ letter-spacing: -0.02em;
377
950
  }
378
951
 
379
952
  .heading-h2 {
380
- font-family: var(--font-plus-jakarta-sans);
381
- font-weight: 600;
382
- font-size: 64px;
383
- line-height: 64px;
384
- letter-spacing: 1.5px;
385
- text-transform: uppercase;
953
+ font-family: var(--font-inter);
954
+ font-weight: 800;
955
+ font-size: 40px;
956
+ line-height: 40px;
957
+ letter-spacing: -0.02em;
386
958
  }
387
959
 
388
960
  .heading-h3 {
389
- font-family: var(--font-plus-jakarta-sans);
390
- font-weight: 600;
391
- font-size: 48px;
392
- line-height: 48px;
393
- letter-spacing: 1.5px;
394
- text-transform: uppercase;
961
+ font-family: var(--font-inter);
962
+ font-weight: 800;
963
+ font-size: 32px;
964
+ line-height: 32px;
965
+ letter-spacing: -0.02em;
395
966
  }
396
967
 
397
968
  .heading-h4 {
398
- font-family: var(--font-plus-jakarta-sans);
399
- font-weight: 600;
400
- font-size: 40px;
401
- line-height: 40px;
402
- letter-spacing: 1.5px;
403
- text-transform: uppercase;
969
+ font-family: var(--font-inter);
970
+ font-weight: 800;
971
+ font-size: 24px;
972
+ line-height: 24px;
973
+ letter-spacing: -0.02em;
974
+ }
975
+
976
+ .heading-h5 {
977
+ font-family: var(--font-inter);
978
+ font-weight: 800;
979
+ font-size: 20px;
980
+ line-height: 20px;
981
+ letter-spacing: -0.02em;
404
982
  }
405
983
 
984
+ .heading-h6 {
985
+ font-family: var(--font-inter);
986
+ font-weight: 800;
987
+ font-size: 16px;
988
+ line-height: 16px;
989
+ letter-spacing: -0.02em;
990
+ }
991
+
992
+ /* @deprecated — use heading-h4 */
406
993
  .heading-xs {
407
- font-family: var(--font-plus-jakarta-sans);
408
- font-weight: 600;
994
+ font-family: var(--font-inter);
995
+ font-weight: 800;
409
996
  font-size: 24px;
410
997
  line-height: 24px;
411
- letter-spacing: 1.5px;
412
- text-transform: uppercase;
998
+ letter-spacing: -0.02em;
999
+ }
1000
+
1001
+ /* Typography — Body scale (Inter · Regular 400) */
1002
+ .body-xl {
1003
+ font-family: var(--font-inter);
1004
+ font-weight: 400;
1005
+ font-size: 20px;
1006
+ line-height: 30px;
413
1007
  }
414
1008
 
415
- /* Typography — Body scale (Plus Jakarta Sans · Semibold 600) */
416
1009
  .body-lg {
417
- font-family: var(--font-plus-jakarta-sans);
418
- font-weight: 600;
1010
+ font-family: var(--font-inter);
1011
+ font-weight: 400;
419
1012
  font-size: 18px;
420
- line-height: 28px;
1013
+ line-height: 27px;
421
1014
  }
422
1015
 
423
1016
  .body-md {
424
- font-family: var(--font-plus-jakarta-sans);
425
- font-weight: 600;
1017
+ font-family: var(--font-inter);
1018
+ font-weight: 400;
426
1019
  font-size: 16px;
427
1020
  line-height: 24px;
428
1021
  }
429
1022
 
430
1023
  .body-sm {
431
- font-family: var(--font-plus-jakarta-sans);
432
- font-weight: 600;
433
- font-size: 12px;
434
- line-height: 16px;
1024
+ font-family: var(--font-inter);
1025
+ font-weight: 400;
1026
+ font-size: 14px;
1027
+ line-height: 21px;
435
1028
  }
436
1029
 
437
1030
  .body-xs {
438
- font-family: var(--font-plus-jakarta-sans);
439
- font-weight: 600;
440
- font-size: 8px;
441
- line-height: 12px;
442
- }
1031
+ font-family: var(--font-inter);
1032
+ font-weight: 400;
1033
+ font-size: 12px;
1034
+ line-height: 18px;
1035
+ }
1036
+
1037
+ /* ══════════════════════════════════════════════════════════════
1038
+ LAYER 3 — COMPONENT TOKENS
1039
+ Component-specific tokens. Derived from Figma JSON exports.
1040
+ light_tokens.json (light) + dark_tokens.json (dark).
1041
+ Values reference Layer 1 primitives or Layer 2 semantics only.
1042
+ ══════════════════════════════════════════════════════════════ */
1043
+ :root {
1044
+
1045
+ /* Button */
1046
+ --button-primary-normal-bg-default: var(--primitive-coral-700);
1047
+ --button-primary-normal-bg-hover: var(--primitive-coral-800);
1048
+ --button-primary-normal-bg-pressed: var(--primitive-coral-900);
1049
+ --button-primary-inverse-bg-default: var(--primitive-coral-700);
1050
+ --button-primary-inverse-bg-hover: var(--primitive-coral-800);
1051
+ --button-primary-inverse-bg-pressed: var(--primitive-coral-900);
1052
+ --button-primary-static-light-bg-default: var(--primitive-coral-700);
1053
+ --button-primary-static-light-bg-hover: var(--primitive-coral-800);
1054
+ --button-primary-static-light-bg-pressed: var(--primitive-coral-900);
1055
+ --button-primary-static-dark-bg-default: var(--primitive-coral-700);
1056
+ --button-primary-static-dark-bg-hover: var(--primitive-coral-800);
1057
+ --button-primary-static-dark-bg-pressed: var(--primitive-coral-900);
1058
+ --button-primary-text: var(--primitive-slate-50);
1059
+ --button-primary-icon: var(--primitive-slate-50);
1060
+ --button-secondary-normal-bg-hover: var(--primitive-slate-alpha-100);
1061
+ --button-secondary-normal-bg-pressed: var(--primitive-slate-alpha-200);
1062
+ --button-secondary-normal-border: var(--primitive-slate-1200);
1063
+ --button-secondary-normal-text: var(--primitive-slate-1200);
1064
+ --button-secondary-normal-icon: var(--primitive-slate-1200);
1065
+ --button-secondary-inverse-bg-hover: var(--primitive-white-alpha-100);
1066
+ --button-secondary-inverse-bg-pressed: var(--primitive-white-alpha-200);
1067
+ --button-secondary-inverse-border: var(--primitive-slate-50);
1068
+ --button-secondary-inverse-text: var(--primitive-slate-50);
1069
+ --button-secondary-inverse-icon: var(--primitive-slate-50);
1070
+ --button-secondary-static-light-bg-hover: var(--primitive-slate-alpha-100);
1071
+ --button-secondary-static-light-bg-pressed: var(--primitive-slate-alpha-200);
1072
+ --button-secondary-static-light-border: var(--primitive-slate-1200);
1073
+ --button-secondary-static-light-text: var(--primitive-slate-1200);
1074
+ --button-secondary-static-light-icon: var(--primitive-slate-1200);
1075
+ --button-secondary-static-dark-bg-hover: var(--primitive-white-alpha-100);
1076
+ --button-secondary-static-dark-bg-pressed: var(--primitive-white-alpha-200);
1077
+ --button-secondary-static-dark-border: var(--primitive-slate-50);
1078
+ --button-secondary-static-dark-text: var(--primitive-slate-50);
1079
+ --button-secondary-static-dark-icon: var(--primitive-slate-50);
1080
+ --button-tertiary-normal-bg-default: var(--primitive-slate-100);
1081
+ --button-tertiary-normal-bg-hover: var(--primitive-slate-alpha-100);
1082
+ --button-tertiary-normal-bg-pressed: var(--primitive-slate-alpha-200);
1083
+ --button-tertiary-normal-text: var(--primitive-slate-1200);
1084
+ --button-tertiary-normal-icon: var(--primitive-slate-1200);
1085
+ --button-tertiary-inverse-bg-default: var(--primitive-slate-1000);
1086
+ --button-tertiary-inverse-bg-hover: var(--primitive-white-alpha-100);
1087
+ --button-tertiary-inverse-bg-pressed: var(--primitive-white-alpha-200);
1088
+ --button-tertiary-inverse-text: var(--primitive-slate-50);
1089
+ --button-tertiary-inverse-icon: var(--primitive-slate-50);
1090
+ --button-tertiary-static-light-bg-default: var(--primitive-slate-100);
1091
+ --button-tertiary-static-light-bg-hover: var(--primitive-slate-alpha-100);
1092
+ --button-tertiary-static-light-bg-pressed: var(--primitive-slate-alpha-200);
1093
+ --button-tertiary-static-light-text: var(--primitive-slate-1200);
1094
+ --button-tertiary-static-light-icon: var(--primitive-slate-1200);
1095
+ --button-tertiary-static-dark-bg-default: var(--primitive-slate-1000);
1096
+ --button-tertiary-static-dark-bg-hover: var(--primitive-white-alpha-100);
1097
+ --button-tertiary-static-dark-bg-pressed: var(--primitive-white-alpha-200);
1098
+ --button-tertiary-static-dark-text: var(--primitive-slate-50);
1099
+ --button-tertiary-static-dark-icon: var(--primitive-slate-50);
1100
+ --button-ghost-normal-bg-hover: var(--primitive-slate-alpha-100);
1101
+ --button-ghost-normal-bg-pressed: var(--primitive-slate-alpha-200);
1102
+ --button-ghost-normal-text: var(--primitive-slate-1200);
1103
+ --button-ghost-normal-icon: var(--primitive-slate-1200);
1104
+ --button-ghost-inverse-bg-hover: var(--primitive-white-alpha-100);
1105
+ --button-ghost-inverse-bg-pressed: var(--primitive-white-alpha-200);
1106
+ --button-ghost-inverse-text: var(--primitive-slate-50);
1107
+ --button-ghost-inverse-icon: var(--primitive-slate-50);
1108
+ --button-ghost-static-light-bg-hover: var(--primitive-slate-alpha-100);
1109
+ --button-ghost-static-light-bg-pressed: var(--primitive-slate-alpha-200);
1110
+ --button-ghost-static-light-text: var(--primitive-slate-1200);
1111
+ --button-ghost-static-light-icon: var(--primitive-slate-1200);
1112
+ --button-ghost-static-dark-bg-hover: var(--primitive-white-alpha-100);
1113
+ --button-ghost-static-dark-bg-pressed: var(--primitive-white-alpha-200);
1114
+ --button-ghost-static-dark-text: var(--primitive-slate-50);
1115
+ --button-ghost-static-dark-icon: var(--primitive-slate-50);
1116
+ --button-disabled-normal-bg: var(--primitive-slate-100);
1117
+ --button-disabled-normal-border: var(--primitive-slate-100);
1118
+ --button-disabled-normal-text: var(--primitive-slate-alpha-200);
1119
+ --button-disabled-normal-icon: var(--primitive-slate-alpha-200);
1120
+ --button-disabled-inverse-bg: var(--primitive-slate-1000);
1121
+ --button-disabled-inverse-border: var(--primitive-slate-1000);
1122
+ --button-disabled-inverse-text: var(--primitive-white-alpha-200);
1123
+ --button-disabled-inverse-icon: var(--primitive-white-alpha-200);
1124
+ --button-disabled-static-light-bg: var(--primitive-slate-100);
1125
+ --button-disabled-static-light-border: var(--primitive-slate-100);
1126
+ --button-disabled-static-light-text: var(--primitive-slate-alpha-200);
1127
+ --button-disabled-static-light-icon: var(--primitive-slate-alpha-200);
1128
+ --button-disabled-static-dark-bg: var(--primitive-slate-1000);
1129
+ --button-disabled-static-dark-border: var(--primitive-slate-1000);
1130
+ --button-disabled-static-dark-text: var(--primitive-white-alpha-200);
1131
+ --button-disabled-static-dark-icon: var(--primitive-white-alpha-200);
1132
+
1133
+ /* Field */
1134
+ --field-text-prominent: var(--primitive-slate-1200);
1135
+ --field-text-subtle: var(--primitive-slate-alpha-600);
1136
+ --field-text-disabled: var(--primitive-slate-alpha-300);
1137
+ --field-text-success: var(--primitive-green-900);
1138
+ --field-text-error: var(--primitive-red-900);
1139
+ --field-icon-prominent: var(--primitive-slate-1200);
1140
+ --field-icon-subtle: var(--primitive-slate-alpha-600);
1141
+ --field-icon-disabled: var(--primitive-slate-alpha-300);
1142
+ --field-outline-bg-default: var(--primitive-slate-50);
1143
+ --field-outline-bg-hover: var(--primitive-slate-alpha-100);
1144
+ --field-outline-bg-focus: var(--primitive-slate-50);
1145
+ --field-outline-bg-disabled: var(--primitive-slate-50);
1146
+ --field-outline-border-default: var(--primitive-slate-alpha-200);
1147
+ --field-outline-border-focus: var(--primitive-slate-1200);
1148
+ --field-outline-border-disabled: var(--primitive-slate-alpha-100);
1149
+ --field-outline-border-success: var(--primitive-green-900);
1150
+ --field-outline-border-error: var(--primitive-red-900);
1151
+ --field-fill-bg-default: var(--primitive-slate-alpha-75);
1152
+ --field-fill-bg-hover: var(--primitive-slate-alpha-100);
1153
+ --field-fill-bg-focus: var(--primitive-slate-alpha-75);
1154
+ --field-fill-bg-disabled: var(--primitive-slate-alpha-75);
1155
+ --field-fill-bg-success-default: var(--primitive-green-alpha-100);
1156
+ --field-fill-bg-success-hover: var(--primitive-green-alpha-200);
1157
+ --field-fill-bg-success-focus: var(--primitive-green-alpha-100);
1158
+ --field-fill-bg-error-default: var(--primitive-red-alpha-100);
1159
+ --field-fill-bg-error-hover: var(--primitive-red-alpha-200);
1160
+ --field-fill-bg-error-focus: var(--primitive-red-alpha-100);
1161
+ --field-fill-border-focus: var(--primitive-slate-1200);
1162
+ --field-fill-border-success-focus: var(--primitive-green-900);
1163
+ --field-fill-border-error-focus: var(--primitive-red-900);
1164
+
1165
+ /* Marker */
1166
+ --marker-text-asterisk: var(--primitive-red-900);
1167
+ --marker-text-optional: var(--primitive-slate-alpha-600);
1168
+
1169
+ /* Chip */
1170
+ --chip-bg-hover: var(--primitive-slate-alpha-100);
1171
+ --chip-bg-pressed: var(--primitive-slate-alpha-200);
1172
+ --chip-bg-selected: var(--primitive-slate-alpha-100);
1173
+ --chip-text-prominent: var(--primitive-slate-1200);
1174
+ --chip-text-disabled: var(--primitive-slate-alpha-200);
1175
+ --chip-icon-prominent: var(--primitive-slate-1200);
1176
+ --chip-icon-disabled: var(--primitive-slate-alpha-200);
1177
+ --chip-border-default: var(--primitive-slate-alpha-200);
1178
+ --chip-border-selected: var(--primitive-slate-1200);
1179
+ --chip-border-disabled: var(--primitive-slate-alpha-100);
1180
+
1181
+ /* List Item */
1182
+ --list-item-border-selected: var(--primitive-slate-1200);
1183
+ --list-item-text-prominent: var(--primitive-slate-1200);
1184
+ --list-item-text-disabled: var(--primitive-slate-alpha-200);
1185
+ --list-item-icon-prominent: var(--primitive-slate-1200);
1186
+ --list-item-icon-disabled: var(--primitive-slate-alpha-200);
1187
+ --list-item-flag-placeholder: var(--primitive-slate-alpha-100);
1188
+ --list-item-primary-bg-default: var(--primitive-slate-75);
1189
+ --list-item-primary-bg-hover: var(--primitive-slate-alpha-100);
1190
+ --list-item-primary-bg-pressed: var(--primitive-slate-alpha-200);
1191
+ --list-item-secondary-bg-default: var(--primitive-slate-50);
1192
+ --list-item-secondary-bg-hover: var(--primitive-slate-alpha-100);
1193
+ --list-item-secondary-bg-pressed: var(--primitive-slate-alpha-200);
1194
+
1195
+ /* Search Field */
1196
+ --search-field-text-prominent: var(--primitive-slate-1200);
1197
+ --search-field-text-subtle: var(--primitive-slate-alpha-600);
1198
+ --search-field-text-disabled: var(--primitive-slate-alpha-300);
1199
+ --search-field-icon-prominent: var(--primitive-slate-1200);
1200
+ --search-field-icon-subtle: var(--primitive-slate-alpha-600);
1201
+ --search-field-outline-bg-default: var(--primitive-slate-50);
1202
+ --search-field-outline-bg-hover: var(--primitive-slate-alpha-100);
1203
+ --search-field-outline-bg-focus: var(--primitive-slate-50);
1204
+ --search-field-outline-bg-disabled: var(--primitive-slate-50);
1205
+ --search-field-outline-border-default: var(--primitive-slate-alpha-200);
1206
+ --search-field-outline-border-focus: var(--primitive-slate-1200);
1207
+ --search-field-outline-border-disabled: var(--primitive-slate-alpha-100);
1208
+ --search-field-fill-bg-default: var(--primitive-slate-alpha-75);
1209
+ --search-field-fill-bg-hover: var(--primitive-slate-alpha-100);
1210
+ --search-field-fill-bg-focus: var(--primitive-slate-alpha-75);
1211
+ --search-field-fill-bg-disabled: var(--primitive-slate-alpha-75);
1212
+ --search-field-fill-border-focus: var(--primitive-slate-1200);
1213
+
1214
+ /* Dropdown Field */
1215
+ --dropdown-field-text-prominent: var(--primitive-slate-1200);
1216
+ --dropdown-field-text-subtle: var(--primitive-slate-alpha-600);
1217
+ --dropdown-field-text-disabled: var(--primitive-slate-alpha-300);
1218
+ --dropdown-field-text-error: var(--primitive-red-900);
1219
+ --dropdown-field-icon-prominent: var(--primitive-slate-1200);
1220
+ --dropdown-field-icon-subtle: var(--primitive-slate-alpha-600);
1221
+ --dropdown-field-icon-disabled: var(--primitive-slate-alpha-300);
1222
+ --dropdown-field-outline-bg-default: var(--primitive-slate-50);
1223
+ --dropdown-field-outline-bg-hover: var(--primitive-slate-alpha-100);
1224
+ --dropdown-field-outline-bg-focus: var(--primitive-slate-alpha-200);
1225
+ --dropdown-field-outline-bg-disabled: var(--primitive-slate-50);
1226
+ --dropdown-field-outline-border-default: var(--primitive-slate-alpha-200);
1227
+ --dropdown-field-outline-border-disabled: var(--primitive-slate-alpha-100);
1228
+ --dropdown-field-outline-border-focus: var(--primitive-slate-alpha-200);
1229
+ --dropdown-field-outline-border-error: var(--primitive-red-900);
1230
+ --dropdown-field-fill-bg-neutral-default: var(--primitive-slate-alpha-75);
1231
+ --dropdown-field-fill-bg-neutral-hover: var(--primitive-slate-alpha-100);
1232
+ --dropdown-field-fill-bg-neutral-focus: var(--primitive-slate-alpha-200);
1233
+ --dropdown-field-fill-bg-neutral-disabled: var(--primitive-slate-alpha-75);
1234
+ --dropdown-field-fill-bg-error-default: var(--primitive-red-alpha-100);
1235
+ --dropdown-field-fill-bg-error-hover: var(--primitive-red-alpha-200);
1236
+ --dropdown-field-fill-bg-error-focus: var(--primitive-red-alpha-100);
1237
+
1238
+ /* Menu */
1239
+ --menu-background: var(--primitive-slate-50);
1240
+ --menu-border: var(--primitive-slate-alpha-100);
1241
+
1242
+ /* Code Input */
1243
+ --code-input-fill-bg-default: var(--primitive-slate-alpha-75);
1244
+ --code-input-fill-bg-hover: var(--primitive-slate-alpha-100);
1245
+ --code-input-fill-bg-focus: var(--primitive-slate-alpha-75);
1246
+ --code-input-fill-bg-disabled: var(--primitive-slate-alpha-75);
1247
+ --code-input-fill-bg-success: var(--primitive-green-alpha-100);
1248
+ --code-input-fill-bg-error: var(--primitive-red-alpha-100);
1249
+ --code-input-fill-border-focus: var(--primitive-slate-1200);
1250
+ --code-input-fill-border-error: var(--primitive-red-900);
1251
+ --code-input-fill-border-success: var(--primitive-green-900);
1252
+ --code-input-text-prominent: var(--primitive-slate-1200);
1253
+ --code-input-text-subtle: var(--primitive-slate-alpha-600);
1254
+ --code-input-text-disabled: var(--primitive-slate-alpha-300);
1255
+ --code-input-text-success: var(--primitive-green-900);
1256
+ --code-input-text-error: var(--primitive-red-900);
1257
+
1258
+ /* Tab */
1259
+ --tab-text-default: var(--primitive-slate-alpha-600);
1260
+ --tab-text-selected: var(--primitive-slate-1200);
1261
+ --tab-text-disabled: var(--primitive-slate-alpha-300);
1262
+ --tab-bg-hover: var(--primitive-slate-alpha-100);
1263
+ --tab-bg-pressed: var(--primitive-slate-alpha-200);
1264
+ --tab-border-default: var(--primitive-slate-alpha-100);
1265
+ --tab-border-focus: var(--primitive-slate-1200);
1266
+
1267
+ /* Segmented Control */
1268
+ --segmented-control-text-prominent: var(--primitive-slate-1200);
1269
+ --segmented-control-text-disabled: var(--primitive-slate-alpha-200);
1270
+ --segmented-control-icon-prominent: var(--primitive-slate-1200);
1271
+ --segmented-control-icon-disabled: var(--primitive-slate-alpha-200);
1272
+ --segmented-control-container-bg: var(--primitive-slate-alpha-100);
1273
+ --segmented-control-segment-bg-selected: var(--primitive-slate-50);
1274
+ --segmented-control-segment-bg-hover: var(--primitive-slate-alpha-100);
1275
+ --segmented-control-segment-bg-pressed: var(--primitive-slate-alpha-200);
1276
+
1277
+ /* Tooltip */
1278
+ --tooltip-text-default: var(--primitive-slate-50);
1279
+ --tooltip-text-error: var(--primitive-slate-50);
1280
+ --tooltip-bg-default: var(--primitive-slate-1200);
1281
+ --tooltip-bg-error: var(--primitive-red-900);
1282
+
1283
+ /* Link */
1284
+ --link-primary-default: var(--primitive-coral-700);
1285
+ --link-primary-disabled: var(--primitive-slate-alpha-200);
1286
+ --link-secondary-normal-default: var(--primitive-slate-1200);
1287
+ --link-secondary-normal-disabled: var(--primitive-slate-alpha-200);
1288
+ --link-secondary-inverse-default: var(--primitive-slate-50);
1289
+ --link-secondary-inverse-disabled: var(--primitive-white-alpha-200);
1290
+ --link-secondary-static-light-default: var(--primitive-slate-1200);
1291
+ --link-secondary-static-light-disabled: var(--primitive-slate-alpha-200);
1292
+ --link-secondary-static-dark-default: var(--primitive-slate-50);
1293
+ --link-secondary-static-dark-disabled: var(--primitive-white-alpha-200);
1294
+
1295
+ /* Tag */
1296
+ --tag-text-neutral: var(--primitive-slate-1200);
1297
+ --tag-text-red: var(--primitive-red-900);
1298
+ --tag-text-yellow: var(--primitive-yellow-900);
1299
+ --tag-text-green: var(--primitive-green-900);
1300
+ --tag-text-blue: var(--primitive-blue-900);
1301
+ --tag-icon-default: var(--primitive-slate-1200);
1302
+ --tag-icon-red: var(--primitive-red-900);
1303
+ --tag-icon-yellow: var(--primitive-yellow-900);
1304
+ --tag-icon-green: var(--primitive-green-900);
1305
+ --tag-icon-blue: var(--primitive-blue-900);
1306
+ --tag-outline-border-neutral: var(--primitive-slate-alpha-200);
1307
+ --tag-outline-border-red: var(--primitive-red-900);
1308
+ --tag-outline-border-yellow: var(--primitive-yellow-900);
1309
+ --tag-outline-border-green: var(--primitive-green-900);
1310
+ --tag-outline-border-blue: var(--primitive-blue-900);
1311
+ --tag-fill-bg-neutral: var(--primitive-slate-alpha-100);
1312
+ --tag-fill-bg-red: var(--primitive-red-alpha-100);
1313
+ --tag-fill-bg-yellow: var(--primitive-yellow-alpha-100);
1314
+ --tag-fill-bg-green: var(--primitive-green-alpha-100);
1315
+ --tag-fill-bg-blue: var(--primitive-blue-alpha-100);
1316
+
1317
+ /* Snackbar */
1318
+ --snackbar-bg-default: var(--primitive-slate-1200);
1319
+ --snackbar-bg-fail: var(--primitive-red-900);
1320
+ --snackbar-text: var(--primitive-slate-50);
1321
+ --snackbar-text-fail: var(--primitive-slate-50);
1322
+ --snackbar-icon: var(--primitive-slate-50);
1323
+ --snackbar-icon-fail: var(--primitive-slate-50);
1324
+
1325
+ /* Loading Spinner */
1326
+ --loading-spinner-bg-default: var(--primitive-coral-700);
1327
+
1328
+ /* Badge */
1329
+ --badge-text-default: var(--primitive-slate-50);
1330
+ --badge-bg-number: var(--primitive-red-900);
1331
+ --badge-bg-status-red: var(--primitive-red-900);
1332
+ --badge-bg-status-yellow: var(--primitive-yellow-900);
1333
+ --badge-bg-status-green: var(--primitive-green-900);
1334
+ --badge-bg-status-blue: var(--primitive-blue-900);
1335
+
1336
+ /* Section Message */
1337
+ --section-message-title: var(--primitive-slate-1200);
1338
+ --section-message-description: var(--primitive-slate-alpha-900);
1339
+ --section-message-fill-bg-danger: var(--primitive-red-alpha-200);
1340
+ --section-message-fill-bg-default: var(--primitive-slate-alpha-100);
1341
+ --section-message-fill-bg-information: var(--primitive-blue-alpha-200);
1342
+ --section-message-fill-bg-success: var(--primitive-green-alpha-200);
1343
+ --section-message-fill-bg-warning: var(--primitive-yellow-alpha-200);
1344
+ --section-message-icon-danger: var(--primitive-red-900);
1345
+ --section-message-icon-warning: var(--primitive-yellow-900);
1346
+ --section-message-icon-success: var(--primitive-green-900);
1347
+ --section-message-icon-information: var(--primitive-blue-900);
1348
+ --section-message-icon-close: var(--primitive-slate-1200);
1349
+
1350
+ /* Pagination */
1351
+ --pagination-bg-number-default: var(--primitive-slate-50);
1352
+ --pagination-bg-number-hover: var(--primitive-slate-alpha-100);
1353
+ --pagination-bg-number-selected: var(--primitive-slate-alpha-100);
1354
+ --pagination-bg-number-pressed: var(--primitive-slate-alpha-200);
1355
+ --pagination-bg-dot-default: var(--primitive-slate-alpha-100);
1356
+ --pagination-bg-dot-hover: var(--primitive-slate-alpha-200);
1357
+ --pagination-bg-dot-selected: var(--primitive-slate-1200);
1358
+ --pagination-border-number-selected: var(--primitive-slate-1200);
1359
+ --pagination-text-default: var(--primitive-slate-1200);
1360
+ --pagination-text-disabled: var(--primitive-slate-alpha-200);
1361
+
1362
+ /* Notification */
1363
+ --notification-title-banner: var(--primitive-slate-50);
1364
+ --notification-title-item: var(--primitive-slate-1200);
1365
+ --notification-description-banner: var(--primitive-white-alpha-900);
1366
+ --notification-description-item-unread: var(--primitive-slate-1200);
1367
+ --notification-description-item-read: var(--primitive-slate-alpha-900);
1368
+ --notification-date-time-item: var(--primitive-slate-alpha-600);
1369
+ --notification-icon-delete: var(--primitive-red-900);
1370
+ --notification-text-delete: var(--primitive-red-900);
1371
+ --notification-icon-read-unread: var(--primitive-blue-900);
1372
+ --notification-text-read-unread: var(--primitive-blue-900);
1373
+ --notification-icon-normal-information: var(--primitive-blue-900);
1374
+ --notification-icon-normal-success: var(--primitive-green-900);
1375
+ --notification-icon-normal-warning: var(--primitive-yellow-900);
1376
+ --notification-icon-normal-danger: var(--primitive-red-900);
1377
+ --notification-icon-inverse-information: var(--primitive-blue-500);
1378
+ --notification-icon-inverse-success: var(--primitive-green-500);
1379
+ --notification-icon-inverse-warning: var(--primitive-yellow-500);
1380
+ --notification-icon-inverse-danger: var(--primitive-red-500);
1381
+ --notification-bg-divider: var(--primitive-slate-alpha-100);
1382
+ --notification-bg-icon-information: var(--primitive-blue-alpha-200);
1383
+ --notification-bg-icon-success: var(--primitive-green-alpha-200);
1384
+ --notification-bg-icon-warning: var(--primitive-yellow-alpha-200);
1385
+ --notification-bg-icon-danger: var(--primitive-red-alpha-200);
1386
+ --notification-bg-banner: var(--primitive-slate-1200);
1387
+ --notification-bg-item-default: var(--primitive-slate-50);
1388
+ --notification-bg-item-hover: var(--primitive-slate-alpha-100);
1389
+ --notification-bg-button-default: var(--primitive-slate-alpha-75);
1390
+ --notification-bg-button-press: var(--primitive-slate-alpha-100);
1391
+
1392
+ /* Bottom Sheet */
1393
+ --bottom-sheet-bg-sheet: var(--primitive-slate-50);
1394
+ --bottom-sheet-bg-handle-bar: var(--primitive-black-alpha-300);
1395
+ --bottom-sheet-bg-handle-default: var(--primitive-slate-50);
1396
+ --bottom-sheet-bg-handle-pressed: var(--primitive-black-alpha-100);
1397
+
1398
+ /* Progress Bar */
1399
+ --progress-bar-bg-normal-track-default: var(--primitive-slate-100);
1400
+ --progress-bar-bg-normal-progress-default: var(--primitive-slate-1200);
1401
+ --progress-bar-bg-normal-progress-green: var(--primitive-green-700);
1402
+ --progress-bar-bg-normal-progress-red: var(--primitive-red-700);
1403
+ --progress-bar-bg-normal-progress-yellow: var(--primitive-yellow-700);
1404
+ --progress-bar-bg-normal-progress-blue: var(--primitive-blue-700);
1405
+ --progress-bar-bg-inverse-track-default: var(--primitive-slate-900);
1406
+ --progress-bar-bg-inverse-progress-default: var(--primitive-slate-50);
1407
+ --progress-bar-bg-inverse-progress-green: var(--primitive-green-500);
1408
+ --progress-bar-bg-inverse-progress-red: var(--primitive-red-500);
1409
+ --progress-bar-bg-inverse-progress-yellow: var(--primitive-yellow-500);
1410
+ --progress-bar-bg-inverse-progress-blue: var(--primitive-blue-500);
1411
+ --progress-bar-bg-static-light-track-default: var(--primitive-slate-100);
1412
+ --progress-bar-bg-static-light-progress-default: var(--primitive-slate-1200);
1413
+ --progress-bar-bg-static-light-progress-green: var(--primitive-green-700);
1414
+ --progress-bar-bg-static-light-progress-red: var(--primitive-red-700);
1415
+ --progress-bar-bg-static-light-progress-yellow: var(--primitive-yellow-700);
1416
+ --progress-bar-bg-static-light-progress-blue: var(--primitive-blue-700);
1417
+ --progress-bar-bg-static-dark-track-default: var(--primitive-slate-900);
1418
+ --progress-bar-bg-static-dark-progress-default: var(--primitive-slate-50);
1419
+ --progress-bar-bg-static-dark-progress-green: var(--primitive-green-500);
1420
+ --progress-bar-bg-static-dark-progress-red: var(--primitive-red-500);
1421
+ --progress-bar-bg-static-dark-progress-yellow: var(--primitive-yellow-500);
1422
+ --progress-bar-bg-static-dark-progress-blue: var(--primitive-blue-500);
1423
+ }
1424
+
1425
+ .dark {
1426
+
1427
+ /* Button */
1428
+ --button-secondary-normal-bg-hover: var(--primitive-white-alpha-100);
1429
+ --button-secondary-normal-bg-pressed: var(--primitive-white-alpha-200);
1430
+ --button-secondary-normal-border: var(--primitive-slate-50);
1431
+ --button-secondary-normal-text: var(--primitive-slate-50);
1432
+ --button-secondary-normal-icon: var(--primitive-slate-50);
1433
+ --button-secondary-inverse-bg-hover: var(--primitive-slate-alpha-100);
1434
+ --button-secondary-inverse-bg-pressed: var(--primitive-slate-alpha-200);
1435
+ --button-secondary-inverse-border: var(--primitive-slate-1200);
1436
+ --button-secondary-inverse-text: var(--primitive-slate-1200);
1437
+ --button-secondary-inverse-icon: var(--primitive-slate-1200);
1438
+ --button-tertiary-normal-bg-default: var(--primitive-slate-1000);
1439
+ --button-tertiary-normal-bg-hover: var(--primitive-white-alpha-100);
1440
+ --button-tertiary-normal-bg-pressed: var(--primitive-white-alpha-200);
1441
+ --button-tertiary-normal-text: var(--primitive-slate-50);
1442
+ --button-tertiary-normal-icon: var(--primitive-slate-50);
1443
+ --button-tertiary-inverse-bg-default: var(--primitive-slate-100);
1444
+ --button-tertiary-inverse-bg-hover: var(--primitive-slate-alpha-100);
1445
+ --button-tertiary-inverse-bg-pressed: var(--primitive-slate-alpha-200);
1446
+ --button-tertiary-inverse-text: var(--primitive-slate-1200);
1447
+ --button-tertiary-inverse-icon: var(--primitive-slate-1200);
1448
+ --button-ghost-normal-bg-hover: var(--primitive-white-alpha-100);
1449
+ --button-ghost-normal-bg-pressed: var(--primitive-white-alpha-200);
1450
+ --button-ghost-normal-text: var(--primitive-slate-50);
1451
+ --button-ghost-normal-icon: var(--primitive-slate-50);
1452
+ --button-ghost-inverse-bg-hover: var(--primitive-slate-alpha-100);
1453
+ --button-ghost-inverse-bg-pressed: var(--primitive-slate-alpha-200);
1454
+ --button-ghost-inverse-text: var(--primitive-slate-1200);
1455
+ --button-ghost-inverse-icon: var(--primitive-slate-1200);
1456
+ --button-disabled-normal-bg: var(--primitive-slate-1000);
1457
+ --button-disabled-normal-border: var(--primitive-slate-1000);
1458
+ --button-disabled-normal-text: var(--primitive-white-alpha-200);
1459
+ --button-disabled-normal-icon: var(--primitive-white-alpha-200);
1460
+ --button-disabled-inverse-bg: var(--primitive-slate-100);
1461
+ --button-disabled-inverse-border: var(--primitive-slate-100);
1462
+ --button-disabled-inverse-text: var(--primitive-slate-alpha-200);
1463
+ --button-disabled-inverse-icon: var(--primitive-slate-alpha-200);
1464
+
1465
+ /* Field */
1466
+ --field-text-prominent: var(--primitive-slate-50);
1467
+ --field-text-subtle: var(--primitive-white-alpha-600);
1468
+ --field-text-disabled: var(--primitive-white-alpha-300);
1469
+ --field-text-success: var(--primitive-green-500);
1470
+ --field-text-error: var(--primitive-red-500);
1471
+ --field-icon-prominent: var(--primitive-slate-50);
1472
+ --field-icon-subtle: var(--primitive-white-alpha-600);
1473
+ --field-icon-disabled: var(--primitive-white-alpha-300);
1474
+ --field-outline-bg-default: var(--primitive-slate-1100);
1475
+ --field-outline-bg-hover: var(--primitive-white-alpha-100);
1476
+ --field-outline-bg-focus: var(--primitive-slate-1100);
1477
+ --field-outline-bg-disabled: var(--primitive-slate-1100);
1478
+ --field-outline-border-default: var(--primitive-white-alpha-200);
1479
+ --field-outline-border-focus: var(--primitive-slate-50);
1480
+ --field-outline-border-disabled: var(--primitive-white-alpha-100);
1481
+ --field-outline-border-success: var(--primitive-green-500);
1482
+ --field-outline-border-error: var(--primitive-red-500);
1483
+ --field-fill-bg-default: var(--primitive-white-alpha-75);
1484
+ --field-fill-bg-hover: var(--primitive-white-alpha-100);
1485
+ --field-fill-bg-focus: var(--primitive-white-alpha-75);
1486
+ --field-fill-bg-disabled: var(--primitive-white-alpha-75);
1487
+ --field-fill-bg-success-default: var(--primitive-green-alpha-200);
1488
+ --field-fill-bg-success-hover: var(--primitive-green-alpha-300);
1489
+ --field-fill-bg-success-focus: var(--primitive-green-alpha-200);
1490
+ --field-fill-bg-error-default: var(--primitive-red-alpha-200);
1491
+ --field-fill-bg-error-hover: var(--primitive-red-alpha-300);
1492
+ --field-fill-bg-error-focus: var(--primitive-red-alpha-200);
1493
+ --field-fill-border-focus: var(--primitive-slate-50);
1494
+ --field-fill-border-success-focus: var(--primitive-green-500);
1495
+ --field-fill-border-error-focus: var(--primitive-red-500);
1496
+
1497
+ /* Marker */
1498
+ --marker-text-asterisk: var(--primitive-red-500);
1499
+ --marker-text-optional: var(--primitive-white-alpha-600);
1500
+
1501
+ /* Chip */
1502
+ --chip-bg-hover: var(--primitive-white-alpha-100);
1503
+ --chip-bg-pressed: var(--primitive-white-alpha-200);
1504
+ --chip-bg-selected: var(--primitive-white-alpha-100);
1505
+ --chip-text-prominent: var(--primitive-slate-50);
1506
+ --chip-text-disabled: var(--primitive-white-alpha-200);
1507
+ --chip-icon-prominent: var(--primitive-slate-50);
1508
+ --chip-icon-disabled: var(--primitive-white-alpha-200);
1509
+ --chip-border-default: var(--primitive-white-alpha-200);
1510
+ --chip-border-selected: var(--primitive-slate-50);
1511
+ --chip-border-disabled: var(--primitive-white-alpha-100);
1512
+
1513
+ /* List Item */
1514
+ --list-item-border-selected: var(--primitive-slate-50);
1515
+ --list-item-text-prominent: var(--primitive-slate-50);
1516
+ --list-item-text-disabled: var(--primitive-white-alpha-200);
1517
+ --list-item-icon-prominent: var(--primitive-slate-50);
1518
+ --list-item-icon-disabled: var(--primitive-white-alpha-200);
1519
+ --list-item-flag-placeholder: var(--primitive-white-alpha-100);
1520
+ --list-item-primary-bg-default: var(--primitive-slate-1100);
1521
+ --list-item-primary-bg-hover: var(--primitive-white-alpha-100);
1522
+ --list-item-primary-bg-pressed: var(--primitive-white-alpha-200);
1523
+ --list-item-secondary-bg-default: var(--primitive-slate-1100);
1524
+ --list-item-secondary-bg-hover: var(--primitive-white-alpha-100);
1525
+ --list-item-secondary-bg-pressed: var(--primitive-white-alpha-200);
1526
+
1527
+ /* Search Field */
1528
+ --search-field-text-prominent: var(--primitive-slate-50);
1529
+ --search-field-text-subtle: var(--primitive-white-alpha-600);
1530
+ --search-field-text-disabled: var(--primitive-white-alpha-300);
1531
+ --search-field-icon-prominent: var(--primitive-slate-50);
1532
+ --search-field-icon-subtle: var(--primitive-white-alpha-600);
1533
+ --search-field-outline-bg-default: var(--primitive-slate-1100);
1534
+ --search-field-outline-bg-hover: var(--primitive-white-alpha-100);
1535
+ --search-field-outline-bg-focus: var(--primitive-slate-1100);
1536
+ --search-field-outline-bg-disabled: var(--primitive-slate-1100);
1537
+ --search-field-outline-border-default: var(--primitive-white-alpha-200);
1538
+ --search-field-outline-border-focus: var(--primitive-slate-50);
1539
+ --search-field-outline-border-disabled: var(--primitive-white-alpha-100);
1540
+ --search-field-fill-bg-default: var(--primitive-white-alpha-75);
1541
+ --search-field-fill-bg-hover: var(--primitive-white-alpha-100);
1542
+ --search-field-fill-bg-focus: var(--primitive-white-alpha-75);
1543
+ --search-field-fill-bg-disabled: var(--primitive-white-alpha-75);
1544
+ --search-field-fill-border-focus: var(--primitive-slate-50);
1545
+
1546
+ /* Dropdown Field */
1547
+ --dropdown-field-text-prominent: var(--primitive-slate-50);
1548
+ --dropdown-field-text-subtle: var(--primitive-white-alpha-600);
1549
+ --dropdown-field-text-disabled: var(--primitive-white-alpha-300);
1550
+ --dropdown-field-text-error: var(--primitive-red-500);
1551
+ --dropdown-field-icon-prominent: var(--primitive-slate-50);
1552
+ --dropdown-field-icon-subtle: var(--primitive-white-alpha-600);
1553
+ --dropdown-field-icon-disabled: var(--primitive-white-alpha-300);
1554
+ --dropdown-field-outline-bg-default: var(--primitive-slate-1100);
1555
+ --dropdown-field-outline-bg-hover: var(--primitive-white-alpha-100);
1556
+ --dropdown-field-outline-bg-focus: var(--primitive-white-alpha-200);
1557
+ --dropdown-field-outline-bg-disabled: var(--primitive-slate-1100);
1558
+ --dropdown-field-outline-border-default: var(--primitive-white-alpha-200);
1559
+ --dropdown-field-outline-border-disabled: var(--primitive-white-alpha-100);
1560
+ --dropdown-field-outline-border-focus: var(--primitive-white-alpha-200);
1561
+ --dropdown-field-outline-border-error: var(--primitive-red-500);
1562
+ --dropdown-field-fill-bg-neutral-default: var(--primitive-white-alpha-75);
1563
+ --dropdown-field-fill-bg-neutral-hover: var(--primitive-white-alpha-100);
1564
+ --dropdown-field-fill-bg-neutral-focus: var(--primitive-white-alpha-200);
1565
+ --dropdown-field-fill-bg-neutral-disabled: var(--primitive-white-alpha-75);
1566
+ --dropdown-field-fill-bg-error-default: var(--primitive-red-alpha-200);
1567
+ --dropdown-field-fill-bg-error-hover: var(--primitive-red-alpha-300);
1568
+ --dropdown-field-fill-bg-error-focus: var(--primitive-red-alpha-200);
1569
+
1570
+ /* Menu */
1571
+ --menu-background: var(--primitive-slate-1100);
1572
+ --menu-border: var(--primitive-white-alpha-100);
1573
+
1574
+ /* Code Input */
1575
+ --code-input-fill-bg-default: var(--primitive-white-alpha-75);
1576
+ --code-input-fill-bg-hover: var(--primitive-white-alpha-100);
1577
+ --code-input-fill-bg-focus: var(--primitive-white-alpha-75);
1578
+ --code-input-fill-bg-disabled: var(--primitive-white-alpha-75);
1579
+ --code-input-fill-bg-success: var(--primitive-green-alpha-200);
1580
+ --code-input-fill-bg-error: var(--primitive-red-alpha-200);
1581
+ --code-input-fill-border-focus: var(--primitive-slate-50);
1582
+ --code-input-fill-border-error: var(--primitive-red-500);
1583
+ --code-input-fill-border-success: var(--primitive-green-500);
1584
+ --code-input-text-prominent: var(--primitive-slate-50);
1585
+ --code-input-text-subtle: var(--primitive-white-alpha-600);
1586
+ --code-input-text-disabled: var(--primitive-white-alpha-300);
1587
+ --code-input-text-success: var(--primitive-green-500);
1588
+ --code-input-text-error: var(--primitive-red-500);
1589
+
1590
+ /* Tab */
1591
+ --tab-text-default: var(--primitive-white-alpha-600);
1592
+ --tab-text-selected: var(--primitive-slate-50);
1593
+ --tab-text-disabled: var(--primitive-white-alpha-300);
1594
+ --tab-bg-hover: var(--primitive-white-alpha-100);
1595
+ --tab-bg-pressed: var(--primitive-white-alpha-200);
1596
+ --tab-border-default: var(--primitive-white-alpha-100);
1597
+ --tab-border-focus: var(--primitive-slate-50);
1598
+
1599
+ /* Segmented Control */
1600
+ --segmented-control-text-prominent: var(--primitive-slate-50);
1601
+ --segmented-control-text-disabled: var(--primitive-white-alpha-200);
1602
+ --segmented-control-icon-prominent: var(--primitive-slate-50);
1603
+ --segmented-control-icon-disabled: var(--primitive-white-alpha-200);
1604
+ --segmented-control-container-bg: var(--primitive-slate-1300);
1605
+ --segmented-control-segment-bg-selected: var(--primitive-slate-1000);
1606
+ --segmented-control-segment-bg-hover: var(--primitive-white-alpha-100);
1607
+ --segmented-control-segment-bg-pressed: var(--primitive-white-alpha-200);
1608
+
1609
+ /* Tooltip */
1610
+ --tooltip-text-default: var(--primitive-slate-1200);
1611
+ --tooltip-bg-default: var(--primitive-slate-50);
1612
+
1613
+ /* Link */
1614
+ --link-primary-disabled: var(--primitive-white-alpha-200);
1615
+ --link-secondary-normal-default: var(--primitive-slate-50);
1616
+ --link-secondary-normal-disabled: var(--primitive-white-alpha-200);
1617
+ --link-secondary-inverse-default: var(--primitive-slate-1200);
1618
+ --link-secondary-inverse-disabled: var(--primitive-slate-alpha-200);
1619
+
1620
+ /* Tag */
1621
+ --tag-text-neutral: var(--primitive-slate-50);
1622
+ --tag-text-red: var(--primitive-red-500);
1623
+ --tag-text-yellow: var(--primitive-yellow-500);
1624
+ --tag-text-green: var(--primitive-green-500);
1625
+ --tag-text-blue: var(--primitive-blue-500);
1626
+ --tag-icon-default: var(--primitive-slate-50);
1627
+ --tag-icon-red: var(--primitive-red-500);
1628
+ --tag-icon-yellow: var(--primitive-yellow-500);
1629
+ --tag-icon-green: var(--primitive-green-500);
1630
+ --tag-icon-blue: var(--primitive-blue-500);
1631
+ --tag-outline-border-neutral: var(--primitive-white-alpha-200);
1632
+ --tag-outline-border-red: var(--primitive-red-500);
1633
+ --tag-outline-border-yellow: var(--primitive-yellow-500);
1634
+ --tag-outline-border-green: var(--primitive-green-500);
1635
+ --tag-outline-border-blue: var(--primitive-blue-500);
1636
+ --tag-fill-bg-neutral: var(--primitive-white-alpha-100);
1637
+ --tag-fill-bg-red: var(--primitive-red-alpha-200);
1638
+ --tag-fill-bg-yellow: var(--primitive-yellow-alpha-200);
1639
+ --tag-fill-bg-green: var(--primitive-green-alpha-200);
1640
+ --tag-fill-bg-blue: var(--primitive-blue-alpha-200);
1641
+
1642
+ /* Snackbar */
1643
+ --snackbar-bg-default: var(--primitive-slate-50);
1644
+ --snackbar-text: var(--primitive-slate-1200);
1645
+ --snackbar-icon: var(--primitive-slate-1200);
1646
+
1647
+ /* Badge */
1648
+ --badge-bg-number: var(--primitive-red-500);
1649
+ --badge-bg-status-red: var(--primitive-red-500);
1650
+ --badge-bg-status-yellow: var(--primitive-yellow-500);
1651
+ --badge-bg-status-green: var(--primitive-green-500);
1652
+ --badge-bg-status-blue: var(--primitive-blue-500);
1653
+
1654
+ /* Section Message */
1655
+ --section-message-title: var(--primitive-slate-50);
1656
+ --section-message-description: var(--primitive-white-alpha-900);
1657
+ --section-message-fill-bg-danger: var(--primitive-red-alpha-300);
1658
+ --section-message-fill-bg-default: var(--primitive-white-alpha-100);
1659
+ --section-message-fill-bg-information: var(--primitive-blue-alpha-300);
1660
+ --section-message-fill-bg-success: var(--primitive-green-alpha-300);
1661
+ --section-message-fill-bg-warning: var(--primitive-yellow-alpha-300);
1662
+ --section-message-icon-danger: var(--primitive-red-500);
1663
+ --section-message-icon-warning: var(--primitive-yellow-500);
1664
+ --section-message-icon-success: var(--primitive-green-500);
1665
+ --section-message-icon-information: var(--primitive-blue-500);
1666
+ --section-message-icon-close: var(--primitive-slate-50);
1667
+
1668
+ /* Pagination */
1669
+ --pagination-bg-number-default: var(--primitive-slate-1200);
1670
+ --pagination-bg-number-hover: var(--primitive-white-alpha-100);
1671
+ --pagination-bg-number-selected: var(--primitive-white-alpha-100);
1672
+ --pagination-bg-number-pressed: var(--primitive-white-alpha-200);
1673
+ --pagination-bg-dot-default: var(--primitive-white-alpha-100);
1674
+ --pagination-bg-dot-hover: var(--primitive-white-alpha-200);
1675
+ --pagination-bg-dot-selected: var(--primitive-slate-50);
1676
+ --pagination-border-number-selected: var(--primitive-slate-50);
1677
+ --pagination-text-default: var(--primitive-slate-50);
1678
+ --pagination-text-disabled: var(--primitive-white-alpha-200);
1679
+
1680
+ /* Notification */
1681
+ --notification-title-banner: var(--primitive-slate-1200);
1682
+ --notification-title-item: var(--primitive-slate-50);
1683
+ --notification-description-banner: var(--primitive-slate-alpha-900);
1684
+ --notification-description-item-unread: var(--primitive-slate-50);
1685
+ --notification-description-item-read: var(--primitive-white-alpha-900);
1686
+ --notification-date-time-item: var(--primitive-white-alpha-600);
1687
+ --notification-icon-delete: var(--primitive-red-500);
1688
+ --notification-text-delete: var(--primitive-red-500);
1689
+ --notification-icon-read-unread: var(--primitive-blue-500);
1690
+ --notification-text-read-unread: var(--primitive-blue-500);
1691
+ --notification-icon-normal-information: var(--primitive-blue-500);
1692
+ --notification-icon-normal-success: var(--primitive-green-500);
1693
+ --notification-icon-normal-warning: var(--primitive-yellow-500);
1694
+ --notification-icon-normal-danger: var(--primitive-red-500);
1695
+ --notification-icon-inverse-information: var(--primitive-blue-900);
1696
+ --notification-icon-inverse-success: var(--primitive-green-900);
1697
+ --notification-icon-inverse-warning: var(--primitive-yellow-900);
1698
+ --notification-icon-inverse-danger: var(--primitive-red-900);
1699
+ --notification-bg-divider: var(--primitive-white-alpha-100);
1700
+ --notification-bg-icon-information: var(--primitive-blue-alpha-300);
1701
+ --notification-bg-icon-success: var(--primitive-green-alpha-300);
1702
+ --notification-bg-icon-warning: var(--primitive-yellow-alpha-300);
1703
+ --notification-bg-icon-danger: var(--primitive-red-alpha-300);
1704
+ --notification-bg-banner: var(--primitive-slate-50);
1705
+ --notification-bg-item-default: var(--primitive-slate-1200);
1706
+ --notification-bg-item-hover: var(--primitive-white-alpha-100);
1707
+ --notification-bg-button-default: var(--primitive-white-alpha-75);
1708
+ --notification-bg-button-press: var(--primitive-white-alpha-100);
1709
+
1710
+ /* Bottom Sheet */
1711
+ --bottom-sheet-bg-sheet: var(--primitive-slate-1100);
1712
+ --bottom-sheet-bg-handle-bar: var(--primitive-white-alpha-300);
1713
+ --bottom-sheet-bg-handle-default: var(--primitive-slate-1100);
1714
+ --bottom-sheet-bg-handle-pressed: var(--primitive-white-alpha-100);
1715
+
1716
+ /* Progress Bar */
1717
+ --progress-bar-bg-normal-track-default: var(--primitive-slate-900);
1718
+ --progress-bar-bg-normal-progress-default: var(--primitive-slate-50);
1719
+ --progress-bar-bg-normal-progress-green: var(--primitive-green-500);
1720
+ --progress-bar-bg-normal-progress-red: var(--primitive-red-500);
1721
+ --progress-bar-bg-normal-progress-yellow: var(--primitive-yellow-500);
1722
+ --progress-bar-bg-normal-progress-blue: var(--primitive-blue-500);
1723
+ --progress-bar-bg-inverse-track-default: var(--primitive-slate-100);
1724
+ --progress-bar-bg-inverse-progress-default: var(--primitive-slate-1200);
1725
+ --progress-bar-bg-inverse-progress-green: var(--primitive-green-700);
1726
+ --progress-bar-bg-inverse-progress-red: var(--primitive-red-700);
1727
+ --progress-bar-bg-inverse-progress-yellow: var(--primitive-yellow-700);
1728
+ --progress-bar-bg-inverse-progress-blue: var(--primitive-blue-700);
1729
+ }