@quinkit/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/index.d.cts +1445 -0
  2. package/dist/index.d.ts +1445 -0
  3. package/dist/index.js +2567 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +2366 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +97 -0
  8. package/src/styles/globals.css +150 -0
  9. package/src/styles/theme-switcher.tsx +95 -0
  10. package/src/styles/themes/.gitkeep +0 -0
  11. package/src/styles/themes/dashboard-data.css +64 -0
  12. package/src/styles/themes/dashboard-executive.css +64 -0
  13. package/src/styles/themes/dashboard-glass.css +64 -0
  14. package/src/styles/themes/dashboard.css +46 -0
  15. package/src/styles/themes/ecommerce-luxury.css +64 -0
  16. package/src/styles/themes/ecommerce-minimal.css +64 -0
  17. package/src/styles/themes/ecommerce-playful.css +64 -0
  18. package/src/styles/themes/ecommerce.css +36 -0
  19. package/src/styles/themes/edtech-campus.css +64 -0
  20. package/src/styles/themes/edtech-kids.css +64 -0
  21. package/src/styles/themes/edtech-professional.css +64 -0
  22. package/src/styles/themes/edtech.css +36 -0
  23. package/src/styles/themes/fintech-crypto.css +64 -0
  24. package/src/styles/themes/fintech-modern.css +64 -0
  25. package/src/styles/themes/fintech-wealth.css +64 -0
  26. package/src/styles/themes/fintech.css +46 -0
  27. package/src/styles/themes/healthcare-clinical.css +64 -0
  28. package/src/styles/themes/healthcare-urgent.css +64 -0
  29. package/src/styles/themes/healthcare-wellness.css +64 -0
  30. package/src/styles/themes/healthcare.css +46 -0
  31. package/src/styles/tokens/.gitkeep +0 -0
  32. package/src/styles/tokens/charts.css +26 -0
  33. package/src/styles/tokens/dark.css +36 -0
  34. package/src/styles/tokens/palettes.css +2663 -0
  35. package/src/styles/tokens/primitives.css +34 -0
  36. package/src/styles/tokens/semantic.css +35 -0
  37. package/src/styles/tokens/typography.css +82 -0
@@ -0,0 +1,2663 @@
1
+ /* palettes.css — multi-source palette overrides for the UI library.
2
+ * Generated: each palette overrides only accent-family + harmonising
3
+ * neutrals. background / foreground / card come from semantic.css (light)
4
+ * and dark.css (dark), so every palette works in both modes.
5
+ *
6
+ * Usage: <html data-palette="linear-minimal">
7
+ * <html class="dark" data-palette="linear-minimal">
8
+ */
9
+
10
+ /* ========================================================================
11
+ Neutral
12
+ ======================================================================== */
13
+
14
+ /* Neutral Slate — shadcn-style near-monochrome slate. Safe default with a faint cool cast. */
15
+ /* inspired by: shadcn/ui neutral, Radix Slate */
16
+ [data-palette="neutral-slate"] {
17
+ --ui-color-primary: oklch(0.21 0.028 266);
18
+ --ui-color-primary-foreground: oklch(0.985 0 0);
19
+ --ui-color-secondary: oklch(0.962 0.006 265);
20
+ --ui-color-secondary-foreground: oklch(0.29 0.018 265);
21
+ --ui-color-accent: oklch(0.958 0.008 266);
22
+ --ui-color-accent-foreground: oklch(0.24 0.03 266);
23
+ --ui-color-muted: oklch(0.968 0.006 265);
24
+ --ui-color-muted-foreground: oklch(0.53 0.024 265);
25
+ --ui-color-border: oklch(0.918 0.006 265);
26
+ --ui-color-input: oklch(0.918 0.006 265);
27
+ --ui-color-ring: oklch(0.55 0.03 266);
28
+ --ui-color-chart-1: oklch(0.35 0.028 266);
29
+ --ui-color-chart-2: oklch(0.48 0.028 266);
30
+ --ui-color-chart-3: oklch(0.6 0.028 266);
31
+ --ui-color-chart-4: oklch(0.7 0.028 266);
32
+ --ui-color-chart-5: oklch(0.8 0.028 266);
33
+ }
34
+
35
+ .dark[data-palette="neutral-slate"],
36
+ [data-palette="neutral-slate"].dark {
37
+ --ui-color-primary: oklch(0.922 0.01 266);
38
+ --ui-color-primary-foreground: oklch(0.205 0.02 266);
39
+ --ui-color-secondary: oklch(0.274 0.01 265);
40
+ --ui-color-secondary-foreground: oklch(0.972 0.01 265);
41
+ --ui-color-accent: oklch(0.3 0.012 266);
42
+ --ui-color-accent-foreground: oklch(0.96 0.008 266);
43
+ --ui-color-muted: oklch(0.274 0.01 265);
44
+ --ui-color-muted-foreground: oklch(0.712 0.016 265);
45
+ --ui-color-border: oklch(0.305 0.01 265);
46
+ --ui-color-input: oklch(0.33 0.01 265);
47
+ --ui-color-ring: oklch(0.72 0.03 266);
48
+ --ui-color-chart-1: oklch(0.92 0.01 266);
49
+ --ui-color-chart-2: oklch(0.82 0.01 266);
50
+ --ui-color-chart-3: oklch(0.72 0.01 266);
51
+ --ui-color-chart-4: oklch(0.62 0.01 266);
52
+ --ui-color-chart-5: oklch(0.52 0.01 266);
53
+ }
54
+
55
+ /* Executive Slate — Deeper corporate slate-blue. Reads authoritative without a loud accent. */
56
+ /* inspired by: Atlassian, Carbon Design, Radix Slate */
57
+ [data-palette="executive-slate"] {
58
+ --ui-color-primary: oklch(0.33 0.052 256);
59
+ --ui-color-primary-foreground: oklch(0.985 0 0);
60
+ --ui-color-secondary: oklch(0.962 0.008 255);
61
+ --ui-color-secondary-foreground: oklch(0.29 0.024 255);
62
+ --ui-color-accent: oklch(0.94 0.02 256);
63
+ --ui-color-accent-foreground: oklch(0.3 0.06 256);
64
+ --ui-color-muted: oklch(0.968 0.008 255);
65
+ --ui-color-muted-foreground: oklch(0.53 0.032 255);
66
+ --ui-color-border: oklch(0.918 0.008 255);
67
+ --ui-color-input: oklch(0.918 0.008 255);
68
+ --ui-color-ring: oklch(0.52 0.07 256);
69
+ --ui-color-chart-1: oklch(0.5 0.13 256);
70
+ --ui-color-chart-2: oklch(0.62 0.15 296);
71
+ --ui-color-chart-3: oklch(0.62 0.15 351);
72
+ --ui-color-chart-4: oklch(0.62 0.15 46);
73
+ --ui-color-chart-5: oklch(0.62 0.15 111);
74
+ }
75
+
76
+ .dark[data-palette="executive-slate"],
77
+ [data-palette="executive-slate"].dark {
78
+ --ui-color-primary: oklch(0.8 0.06 256);
79
+ --ui-color-primary-foreground: oklch(0.2 0.04 256);
80
+ --ui-color-secondary: oklch(0.274 0.01 255);
81
+ --ui-color-secondary-foreground: oklch(0.972 0.01 255);
82
+ --ui-color-accent: oklch(0.32 0.03 256);
83
+ --ui-color-accent-foreground: oklch(0.94 0.02 256);
84
+ --ui-color-muted: oklch(0.274 0.01 255);
85
+ --ui-color-muted-foreground: oklch(0.712 0.016 255);
86
+ --ui-color-border: oklch(0.305 0.01 255);
87
+ --ui-color-input: oklch(0.33 0.01 255);
88
+ --ui-color-ring: oklch(0.7 0.07 256);
89
+ --ui-color-chart-1: oklch(0.7 0.13 256);
90
+ --ui-color-chart-2: oklch(0.72 0.14 296);
91
+ --ui-color-chart-3: oklch(0.72 0.14 351);
92
+ --ui-color-chart-4: oklch(0.72 0.14 46);
93
+ --ui-color-chart-5: oklch(0.72 0.14 111);
94
+ }
95
+
96
+ /* Vercel Mono — Pure achromatic. Zero chroma end to end for a crisp black/white identity. */
97
+ /* inspired by: Vercel, Resend, Geist */
98
+ [data-palette="vercel-mono"] {
99
+ --ui-color-primary: oklch(0.2 0 0);
100
+ --ui-color-primary-foreground: oklch(0.99 0 0);
101
+ --ui-color-secondary: oklch(0.962 0 0);
102
+ --ui-color-secondary-foreground: oklch(0.29 0 0);
103
+ --ui-color-accent: oklch(0.95 0 0);
104
+ --ui-color-accent-foreground: oklch(0.2 0 0);
105
+ --ui-color-muted: oklch(0.968 0 0);
106
+ --ui-color-muted-foreground: oklch(0.53 0 0);
107
+ --ui-color-border: oklch(0.918 0 0);
108
+ --ui-color-input: oklch(0.918 0 0);
109
+ --ui-color-ring: oklch(0.55 0 0);
110
+ --ui-color-chart-1: oklch(0.35 0 0);
111
+ --ui-color-chart-2: oklch(0.48 0 0);
112
+ --ui-color-chart-3: oklch(0.6 0 0);
113
+ --ui-color-chart-4: oklch(0.7 0 0);
114
+ --ui-color-chart-5: oklch(0.8 0 0);
115
+ }
116
+
117
+ .dark[data-palette="vercel-mono"],
118
+ [data-palette="vercel-mono"].dark {
119
+ --ui-color-primary: oklch(0.95 0 0);
120
+ --ui-color-primary-foreground: oklch(0.16 0 0);
121
+ --ui-color-secondary: oklch(0.274 0 0);
122
+ --ui-color-secondary-foreground: oklch(0.972 0 0);
123
+ --ui-color-accent: oklch(0.29 0 0);
124
+ --ui-color-accent-foreground: oklch(0.97 0 0);
125
+ --ui-color-muted: oklch(0.274 0 0);
126
+ --ui-color-muted-foreground: oklch(0.712 0 0);
127
+ --ui-color-border: oklch(0.305 0 0);
128
+ --ui-color-input: oklch(0.33 0 0);
129
+ --ui-color-ring: oklch(0.7 0 0);
130
+ --ui-color-chart-1: oklch(0.92 0 0);
131
+ --ui-color-chart-2: oklch(0.82 0 0);
132
+ --ui-color-chart-3: oklch(0.72 0 0);
133
+ --ui-color-chart-4: oklch(0.62 0 0);
134
+ --ui-color-chart-5: oklch(0.52 0 0);
135
+ }
136
+
137
+ /* Warm Sand — Notion-style warm neutral. Beige undertone that feels calmer than cool greys. */
138
+ /* inspired by: Notion, Radix Sand, Open Props */
139
+ [data-palette="warm-sand"] {
140
+ --ui-color-primary: oklch(0.28 0.02 70);
141
+ --ui-color-primary-foreground: oklch(0.99 0 0);
142
+ --ui-color-secondary: oklch(0.962 0.01 75);
143
+ --ui-color-secondary-foreground: oklch(0.29 0.03 75);
144
+ --ui-color-accent: oklch(0.94 0.02 75);
145
+ --ui-color-accent-foreground: oklch(0.3 0.03 70);
146
+ --ui-color-muted: oklch(0.968 0.01 75);
147
+ --ui-color-muted-foreground: oklch(0.53 0.04 75);
148
+ --ui-color-border: oklch(0.918 0.01 75);
149
+ --ui-color-input: oklch(0.918 0.01 75);
150
+ --ui-color-ring: oklch(0.55 0.03 70);
151
+ --ui-color-chart-1: oklch(0.35 0.02 70);
152
+ --ui-color-chart-2: oklch(0.48 0.02 70);
153
+ --ui-color-chart-3: oklch(0.6 0.02 70);
154
+ --ui-color-chart-4: oklch(0.7 0.02 70);
155
+ --ui-color-chart-5: oklch(0.8 0.02 70);
156
+ }
157
+
158
+ .dark[data-palette="warm-sand"],
159
+ [data-palette="warm-sand"].dark {
160
+ --ui-color-primary: oklch(0.9 0.018 78);
161
+ --ui-color-primary-foreground: oklch(0.22 0.02 70);
162
+ --ui-color-secondary: oklch(0.274 0.01 75);
163
+ --ui-color-secondary-foreground: oklch(0.972 0.01 75);
164
+ --ui-color-accent: oklch(0.32 0.02 75);
165
+ --ui-color-accent-foreground: oklch(0.94 0.02 78);
166
+ --ui-color-muted: oklch(0.274 0.01 75);
167
+ --ui-color-muted-foreground: oklch(0.712 0.016 75);
168
+ --ui-color-border: oklch(0.305 0.01 75);
169
+ --ui-color-input: oklch(0.33 0.01 75);
170
+ --ui-color-ring: oklch(0.72 0.03 78);
171
+ --ui-color-chart-1: oklch(0.92 0.018 78);
172
+ --ui-color-chart-2: oklch(0.82 0.018 78);
173
+ --ui-color-chart-3: oklch(0.72 0.018 78);
174
+ --ui-color-chart-4: oklch(0.62 0.018 78);
175
+ --ui-color-chart-5: oklch(0.52 0.018 78);
176
+ }
177
+
178
+ /* ========================================================================
179
+ SaaS
180
+ ======================================================================== */
181
+
182
+ /* Default Blue — Classic product blue. The dependable primary most teams expect. */
183
+ /* inspired by: Tailwind blue, shadcn/ui */
184
+ [data-palette="default-blue"] {
185
+ --ui-color-primary: oklch(0.55 0.2 256);
186
+ --ui-color-primary-foreground: oklch(0.985 0 0);
187
+ --ui-color-secondary: oklch(0.962 0.006 255);
188
+ --ui-color-secondary-foreground: oklch(0.29 0.018 255);
189
+ --ui-color-accent: oklch(0.95 0.03 256);
190
+ --ui-color-accent-foreground: oklch(0.35 0.14 256);
191
+ --ui-color-muted: oklch(0.968 0.006 255);
192
+ --ui-color-muted-foreground: oklch(0.53 0.024 255);
193
+ --ui-color-border: oklch(0.918 0.006 255);
194
+ --ui-color-input: oklch(0.918 0.006 255);
195
+ --ui-color-ring: oklch(0.55 0.2 256);
196
+ --ui-color-chart-1: oklch(0.55 0.2 256);
197
+ --ui-color-chart-2: oklch(0.62 0.15 296);
198
+ --ui-color-chart-3: oklch(0.62 0.15 351);
199
+ --ui-color-chart-4: oklch(0.62 0.15 46);
200
+ --ui-color-chart-5: oklch(0.62 0.15 111);
201
+ }
202
+
203
+ .dark[data-palette="default-blue"],
204
+ [data-palette="default-blue"].dark {
205
+ --ui-color-primary: oklch(0.66 0.18 256);
206
+ --ui-color-primary-foreground: oklch(0.16 0.03 256);
207
+ --ui-color-secondary: oklch(0.274 0.01 255);
208
+ --ui-color-secondary-foreground: oklch(0.972 0.01 255);
209
+ --ui-color-accent: oklch(0.32 0.06 256);
210
+ --ui-color-accent-foreground: oklch(0.9 0.06 256);
211
+ --ui-color-muted: oklch(0.274 0.01 255);
212
+ --ui-color-muted-foreground: oklch(0.712 0.016 255);
213
+ --ui-color-border: oklch(0.305 0.01 255);
214
+ --ui-color-input: oklch(0.33 0.01 255);
215
+ --ui-color-ring: oklch(0.66 0.18 256);
216
+ --ui-color-chart-1: oklch(0.66 0.18 256);
217
+ --ui-color-chart-2: oklch(0.72 0.14 296);
218
+ --ui-color-chart-3: oklch(0.72 0.14 351);
219
+ --ui-color-chart-4: oklch(0.72 0.14 46);
220
+ --ui-color-chart-5: oklch(0.72 0.14 111);
221
+ }
222
+
223
+ /* Linear Minimal — Monochrome UI with a single restrained violet-blue accent — Linear's signature. */
224
+ /* inspired by: Linear, Vercel, shadcn/ui */
225
+ [data-palette="linear-minimal"] {
226
+ --ui-color-primary: oklch(0.3 0.03 286);
227
+ --ui-color-primary-foreground: oklch(0.99 0 0);
228
+ --ui-color-secondary: oklch(0.962 0.007 285);
229
+ --ui-color-secondary-foreground: oklch(0.29 0.021 285);
230
+ --ui-color-accent: oklch(0.58 0.2 286);
231
+ --ui-color-accent-foreground: oklch(0.99 0 0);
232
+ --ui-color-muted: oklch(0.968 0.007 285);
233
+ --ui-color-muted-foreground: oklch(0.53 0.028 285);
234
+ --ui-color-border: oklch(0.918 0.007 285);
235
+ --ui-color-input: oklch(0.918 0.007 285);
236
+ --ui-color-ring: oklch(0.58 0.2 286);
237
+ --ui-color-chart-1: oklch(0.5 0.13 286);
238
+ --ui-color-chart-2: oklch(0.62 0.15 326);
239
+ --ui-color-chart-3: oklch(0.62 0.15 21);
240
+ --ui-color-chart-4: oklch(0.62 0.15 76);
241
+ --ui-color-chart-5: oklch(0.62 0.15 141);
242
+ }
243
+
244
+ .dark[data-palette="linear-minimal"],
245
+ [data-palette="linear-minimal"].dark {
246
+ --ui-color-primary: oklch(0.9 0.012 286);
247
+ --ui-color-primary-foreground: oklch(0.2 0.02 286);
248
+ --ui-color-secondary: oklch(0.274 0.01 285);
249
+ --ui-color-secondary-foreground: oklch(0.972 0.01 285);
250
+ --ui-color-accent: oklch(0.68 0.18 288);
251
+ --ui-color-accent-foreground: oklch(0.16 0.03 288);
252
+ --ui-color-muted: oklch(0.274 0.01 285);
253
+ --ui-color-muted-foreground: oklch(0.712 0.016 285);
254
+ --ui-color-border: oklch(0.305 0.01 285);
255
+ --ui-color-input: oklch(0.33 0.01 285);
256
+ --ui-color-ring: oklch(0.68 0.18 288);
257
+ --ui-color-chart-1: oklch(0.92 0.012 286);
258
+ --ui-color-chart-2: oklch(0.82 0.012 286);
259
+ --ui-color-chart-3: oklch(0.72 0.012 286);
260
+ --ui-color-chart-4: oklch(0.62 0.012 286);
261
+ --ui-color-chart-5: oklch(0.52 0.012 286);
262
+ }
263
+
264
+ /* GitHub Neutral — Neutral grey shell with Primer's dependable blue for actions and links. */
265
+ /* inspired by: GitHub Primer */
266
+ [data-palette="github-neutral"] {
267
+ --ui-color-primary: oklch(0.52 0.17 252);
268
+ --ui-color-primary-foreground: oklch(0.985 0 0);
269
+ --ui-color-secondary: oklch(0.962 0.004 250);
270
+ --ui-color-secondary-foreground: oklch(0.29 0.012 250);
271
+ --ui-color-accent: oklch(0.95 0.02 252);
272
+ --ui-color-accent-foreground: oklch(0.34 0.12 252);
273
+ --ui-color-muted: oklch(0.968 0.004 250);
274
+ --ui-color-muted-foreground: oklch(0.53 0.016 250);
275
+ --ui-color-border: oklch(0.918 0.004 250);
276
+ --ui-color-input: oklch(0.918 0.004 250);
277
+ --ui-color-ring: oklch(0.52 0.17 252);
278
+ --ui-color-chart-1: oklch(0.52 0.17 252);
279
+ --ui-color-chart-2: oklch(0.62 0.15 292);
280
+ --ui-color-chart-3: oklch(0.62 0.15 347);
281
+ --ui-color-chart-4: oklch(0.62 0.15 42);
282
+ --ui-color-chart-5: oklch(0.62 0.15 107);
283
+ }
284
+
285
+ .dark[data-palette="github-neutral"],
286
+ [data-palette="github-neutral"].dark {
287
+ --ui-color-primary: oklch(0.68 0.15 248);
288
+ --ui-color-primary-foreground: oklch(0.16 0.03 248);
289
+ --ui-color-secondary: oklch(0.274 0.01 250);
290
+ --ui-color-secondary-foreground: oklch(0.972 0.01 250);
291
+ --ui-color-accent: oklch(0.3 0.03 248);
292
+ --ui-color-accent-foreground: oklch(0.9 0.05 248);
293
+ --ui-color-muted: oklch(0.274 0.01 250);
294
+ --ui-color-muted-foreground: oklch(0.712 0.016 250);
295
+ --ui-color-border: oklch(0.305 0.01 250);
296
+ --ui-color-input: oklch(0.33 0.01 250);
297
+ --ui-color-ring: oklch(0.68 0.15 248);
298
+ --ui-color-chart-1: oklch(0.68 0.15 248);
299
+ --ui-color-chart-2: oklch(0.72 0.14 288);
300
+ --ui-color-chart-3: oklch(0.72 0.14 343);
301
+ --ui-color-chart-4: oklch(0.72 0.14 38);
302
+ --ui-color-chart-5: oklch(0.72 0.14 103);
303
+ }
304
+
305
+ /* Atlassian Blue — Bright azure with a lighter sky accent — energetic but still corporate. */
306
+ /* inspired by: Atlassian Design System */
307
+ [data-palette="atlassian-blue"] {
308
+ --ui-color-primary: oklch(0.55 0.18 250);
309
+ --ui-color-primary-foreground: oklch(0.985 0 0);
310
+ --ui-color-secondary: oklch(0.962 0.006 250);
311
+ --ui-color-secondary-foreground: oklch(0.29 0.018 250);
312
+ --ui-color-accent: oklch(0.7 0.12 232);
313
+ --ui-color-accent-foreground: oklch(0.2 0.06 250);
314
+ --ui-color-muted: oklch(0.968 0.006 250);
315
+ --ui-color-muted-foreground: oklch(0.53 0.024 250);
316
+ --ui-color-border: oklch(0.918 0.006 250);
317
+ --ui-color-input: oklch(0.918 0.006 250);
318
+ --ui-color-ring: oklch(0.55 0.18 250);
319
+ --ui-color-chart-1: oklch(0.55 0.18 250);
320
+ --ui-color-chart-2: oklch(0.62 0.15 290);
321
+ --ui-color-chart-3: oklch(0.62 0.15 345);
322
+ --ui-color-chart-4: oklch(0.62 0.15 40);
323
+ --ui-color-chart-5: oklch(0.62 0.15 105);
324
+ }
325
+
326
+ .dark[data-palette="atlassian-blue"],
327
+ [data-palette="atlassian-blue"].dark {
328
+ --ui-color-primary: oklch(0.68 0.16 248);
329
+ --ui-color-primary-foreground: oklch(0.16 0.03 248);
330
+ --ui-color-secondary: oklch(0.274 0.01 250);
331
+ --ui-color-secondary-foreground: oklch(0.972 0.01 250);
332
+ --ui-color-accent: oklch(0.55 0.1 232);
333
+ --ui-color-accent-foreground: oklch(0.96 0.02 232);
334
+ --ui-color-muted: oklch(0.274 0.01 250);
335
+ --ui-color-muted-foreground: oklch(0.712 0.016 250);
336
+ --ui-color-border: oklch(0.305 0.01 250);
337
+ --ui-color-input: oklch(0.33 0.01 250);
338
+ --ui-color-ring: oklch(0.68 0.16 248);
339
+ --ui-color-chart-1: oklch(0.68 0.16 248);
340
+ --ui-color-chart-2: oklch(0.72 0.14 288);
341
+ --ui-color-chart-3: oklch(0.72 0.14 343);
342
+ --ui-color-chart-4: oklch(0.72 0.14 38);
343
+ --ui-color-chart-5: oklch(0.72 0.14 103);
344
+ }
345
+
346
+ /* Analytics Cyan — Cyan primary tuned for chart-heavy screens; ships a 5-colour data ramp. */
347
+ /* inspired by: Tailwind cyan, Chakra teal */
348
+ [data-palette="analytics-cyan"] {
349
+ --ui-color-primary: oklch(0.6 0.13 212);
350
+ --ui-color-primary-foreground: oklch(0.99 0 0);
351
+ --ui-color-secondary: oklch(0.962 0.006 210);
352
+ --ui-color-secondary-foreground: oklch(0.29 0.018 210);
353
+ --ui-color-accent: oklch(0.94 0.03 212);
354
+ --ui-color-accent-foreground: oklch(0.34 0.1 212);
355
+ --ui-color-muted: oklch(0.968 0.006 210);
356
+ --ui-color-muted-foreground: oklch(0.53 0.024 210);
357
+ --ui-color-border: oklch(0.918 0.006 210);
358
+ --ui-color-input: oklch(0.918 0.006 210);
359
+ --ui-color-ring: oklch(0.6 0.13 212);
360
+ --ui-color-chart-1: oklch(0.6 0.13 212);
361
+ --ui-color-chart-2: oklch(0.62 0.15 262);
362
+ --ui-color-chart-3: oklch(0.68 0.14 155);
363
+ --ui-color-chart-4: oklch(0.72 0.14 75);
364
+ --ui-color-chart-5: oklch(0.62 0.18 25);
365
+ }
366
+
367
+ .dark[data-palette="analytics-cyan"],
368
+ [data-palette="analytics-cyan"].dark {
369
+ --ui-color-primary: oklch(0.72 0.12 208);
370
+ --ui-color-primary-foreground: oklch(0.16 0.03 208);
371
+ --ui-color-secondary: oklch(0.274 0.01 210);
372
+ --ui-color-secondary-foreground: oklch(0.972 0.01 210);
373
+ --ui-color-accent: oklch(0.3 0.04 208);
374
+ --ui-color-accent-foreground: oklch(0.92 0.04 208);
375
+ --ui-color-muted: oklch(0.274 0.01 210);
376
+ --ui-color-muted-foreground: oklch(0.712 0.016 210);
377
+ --ui-color-border: oklch(0.305 0.01 210);
378
+ --ui-color-input: oklch(0.33 0.01 210);
379
+ --ui-color-ring: oklch(0.72 0.12 208);
380
+ --ui-color-chart-1: oklch(0.72 0.12 208);
381
+ --ui-color-chart-2: oklch(0.7 0.14 262);
382
+ --ui-color-chart-3: oklch(0.74 0.13 155);
383
+ --ui-color-chart-4: oklch(0.78 0.13 75);
384
+ --ui-color-chart-5: oklch(0.7 0.16 25);
385
+ }
386
+
387
+ /* ========================================================================
388
+ Healthcare
389
+ ======================================================================== */
390
+
391
+ /* Medical Teal — Low-chroma teal — clean and clinical, never neon. Calm on long shifts. */
392
+ /* inspired by: Radix Teal, IBM Carbon */
393
+ [data-palette="medical-teal"] {
394
+ --ui-color-primary: oklch(0.55 0.1 190);
395
+ --ui-color-primary-foreground: oklch(0.99 0 0);
396
+ --ui-color-secondary: oklch(0.962 0.005 190);
397
+ --ui-color-secondary-foreground: oklch(0.29 0.015 190);
398
+ --ui-color-accent: oklch(0.95 0.02 190);
399
+ --ui-color-accent-foreground: oklch(0.33 0.07 190);
400
+ --ui-color-muted: oklch(0.968 0.005 190);
401
+ --ui-color-muted-foreground: oklch(0.53 0.02 190);
402
+ --ui-color-border: oklch(0.918 0.005 190);
403
+ --ui-color-input: oklch(0.918 0.005 190);
404
+ --ui-color-ring: oklch(0.55 0.1 190);
405
+ --ui-color-chart-1: oklch(0.55 0.1 190);
406
+ --ui-color-chart-2: oklch(0.58 0.11 235);
407
+ --ui-color-chart-3: oklch(0.66 0.1 155);
408
+ --ui-color-chart-4: oklch(0.7 0.1 90);
409
+ --ui-color-chart-5: oklch(0.6 0.12 30);
410
+ }
411
+
412
+ .dark[data-palette="medical-teal"],
413
+ [data-palette="medical-teal"].dark {
414
+ --ui-color-primary: oklch(0.72 0.1 188);
415
+ --ui-color-primary-foreground: oklch(0.16 0.03 188);
416
+ --ui-color-secondary: oklch(0.274 0.01 190);
417
+ --ui-color-secondary-foreground: oklch(0.972 0.01 190);
418
+ --ui-color-accent: oklch(0.3 0.03 188);
419
+ --ui-color-accent-foreground: oklch(0.92 0.04 188);
420
+ --ui-color-muted: oklch(0.274 0.01 190);
421
+ --ui-color-muted-foreground: oklch(0.712 0.016 190);
422
+ --ui-color-border: oklch(0.305 0.01 190);
423
+ --ui-color-input: oklch(0.33 0.01 190);
424
+ --ui-color-ring: oklch(0.72 0.1 188);
425
+ --ui-color-chart-1: oklch(0.72 0.1 188);
426
+ --ui-color-chart-2: oklch(0.7 0.11 235);
427
+ --ui-color-chart-3: oklch(0.74 0.1 155);
428
+ --ui-color-chart-4: oklch(0.78 0.1 90);
429
+ --ui-color-chart-5: oklch(0.7 0.12 30);
430
+ }
431
+
432
+ /* Clinical Blue — Trustworthy desaturated blue with high text contrast for dense records. */
433
+ /* inspired by: Fluent 2, Radix Blue */
434
+ [data-palette="clinical-blue"] {
435
+ --ui-color-primary: oklch(0.55 0.11 236);
436
+ --ui-color-primary-foreground: oklch(0.99 0 0);
437
+ --ui-color-secondary: oklch(0.962 0.005 235);
438
+ --ui-color-secondary-foreground: oklch(0.29 0.015 235);
439
+ --ui-color-accent: oklch(0.95 0.02 236);
440
+ --ui-color-accent-foreground: oklch(0.33 0.08 236);
441
+ --ui-color-muted: oklch(0.968 0.005 235);
442
+ --ui-color-muted-foreground: oklch(0.53 0.02 235);
443
+ --ui-color-border: oklch(0.918 0.005 235);
444
+ --ui-color-input: oklch(0.918 0.005 235);
445
+ --ui-color-ring: oklch(0.55 0.11 236);
446
+ --ui-color-chart-1: oklch(0.55 0.13 236);
447
+ --ui-color-chart-2: oklch(0.62 0.15 276);
448
+ --ui-color-chart-3: oklch(0.62 0.15 331);
449
+ --ui-color-chart-4: oklch(0.62 0.15 26);
450
+ --ui-color-chart-5: oklch(0.62 0.15 91);
451
+ }
452
+
453
+ .dark[data-palette="clinical-blue"],
454
+ [data-palette="clinical-blue"].dark {
455
+ --ui-color-primary: oklch(0.72 0.1 232);
456
+ --ui-color-primary-foreground: oklch(0.16 0.03 232);
457
+ --ui-color-secondary: oklch(0.274 0.01 235);
458
+ --ui-color-secondary-foreground: oklch(0.972 0.01 235);
459
+ --ui-color-accent: oklch(0.3 0.03 232);
460
+ --ui-color-accent-foreground: oklch(0.92 0.04 232);
461
+ --ui-color-muted: oklch(0.274 0.01 235);
462
+ --ui-color-muted-foreground: oklch(0.712 0.016 235);
463
+ --ui-color-border: oklch(0.305 0.01 235);
464
+ --ui-color-input: oklch(0.33 0.01 235);
465
+ --ui-color-ring: oklch(0.72 0.1 232);
466
+ --ui-color-chart-1: oklch(0.7 0.13 232);
467
+ --ui-color-chart-2: oklch(0.72 0.14 272);
468
+ --ui-color-chart-3: oklch(0.72 0.14 327);
469
+ --ui-color-chart-4: oklch(0.72 0.14 22);
470
+ --ui-color-chart-5: oklch(0.72 0.14 87);
471
+ }
472
+
473
+ /* Calm Cyan — Very soft sky-cyan. The gentlest medical option; reduces visual stress. */
474
+ /* inspired by: Radix Sky, Polaris */
475
+ [data-palette="calm-cyan"] {
476
+ --ui-color-primary: oklch(0.62 0.09 206);
477
+ --ui-color-primary-foreground: oklch(0.99 0 0);
478
+ --ui-color-secondary: oklch(0.962 0.005 205);
479
+ --ui-color-secondary-foreground: oklch(0.29 0.015 205);
480
+ --ui-color-accent: oklch(0.96 0.02 206);
481
+ --ui-color-accent-foreground: oklch(0.35 0.07 206);
482
+ --ui-color-muted: oklch(0.968 0.005 205);
483
+ --ui-color-muted-foreground: oklch(0.53 0.02 205);
484
+ --ui-color-border: oklch(0.918 0.005 205);
485
+ --ui-color-input: oklch(0.918 0.005 205);
486
+ --ui-color-ring: oklch(0.62 0.09 206);
487
+ --ui-color-chart-1: oklch(0.62 0.13 206);
488
+ --ui-color-chart-2: oklch(0.62 0.15 246);
489
+ --ui-color-chart-3: oklch(0.62 0.15 301);
490
+ --ui-color-chart-4: oklch(0.62 0.15 356);
491
+ --ui-color-chart-5: oklch(0.62 0.15 61);
492
+ }
493
+
494
+ .dark[data-palette="calm-cyan"],
495
+ [data-palette="calm-cyan"].dark {
496
+ --ui-color-primary: oklch(0.75 0.08 203);
497
+ --ui-color-primary-foreground: oklch(0.16 0.03 203);
498
+ --ui-color-secondary: oklch(0.274 0.01 205);
499
+ --ui-color-secondary-foreground: oklch(0.972 0.01 205);
500
+ --ui-color-accent: oklch(0.3 0.03 203);
501
+ --ui-color-accent-foreground: oklch(0.93 0.03 203);
502
+ --ui-color-muted: oklch(0.274 0.01 205);
503
+ --ui-color-muted-foreground: oklch(0.712 0.016 205);
504
+ --ui-color-border: oklch(0.305 0.01 205);
505
+ --ui-color-input: oklch(0.33 0.01 205);
506
+ --ui-color-ring: oklch(0.75 0.08 203);
507
+ --ui-color-chart-1: oklch(0.7 0.13 203);
508
+ --ui-color-chart-2: oklch(0.72 0.14 243);
509
+ --ui-color-chart-3: oklch(0.72 0.14 298);
510
+ --ui-color-chart-4: oklch(0.72 0.14 353);
511
+ --ui-color-chart-5: oklch(0.72 0.14 58);
512
+ }
513
+
514
+ /* ========================================================================
515
+ Fintech
516
+ ======================================================================== */
517
+
518
+ /* Fintech Navy — Deep navy primary. Premium and trustworthy; pairs with a full data ramp. */
519
+ /* inspired by: Plaid, Stripe, Ramp */
520
+ [data-palette="fintech-navy"] {
521
+ --ui-color-primary: oklch(0.35 0.09 256);
522
+ --ui-color-primary-foreground: oklch(0.99 0 0);
523
+ --ui-color-secondary: oklch(0.962 0.007 255);
524
+ --ui-color-secondary-foreground: oklch(0.29 0.021 255);
525
+ --ui-color-accent: oklch(0.94 0.03 256);
526
+ --ui-color-accent-foreground: oklch(0.3 0.09 256);
527
+ --ui-color-muted: oklch(0.968 0.007 255);
528
+ --ui-color-muted-foreground: oklch(0.53 0.028 255);
529
+ --ui-color-border: oklch(0.918 0.007 255);
530
+ --ui-color-input: oklch(0.918 0.007 255);
531
+ --ui-color-ring: oklch(0.45 0.12 256);
532
+ --ui-color-chart-1: oklch(0.45 0.12 256);
533
+ --ui-color-chart-2: oklch(0.6 0.13 200);
534
+ --ui-color-chart-3: oklch(0.62 0.12 155);
535
+ --ui-color-chart-4: oklch(0.74 0.13 85);
536
+ --ui-color-chart-5: oklch(0.6 0.16 25);
537
+ }
538
+
539
+ .dark[data-palette="fintech-navy"],
540
+ [data-palette="fintech-navy"].dark {
541
+ --ui-color-primary: oklch(0.72 0.13 250);
542
+ --ui-color-primary-foreground: oklch(0.16 0.03 250);
543
+ --ui-color-secondary: oklch(0.274 0.01 255);
544
+ --ui-color-secondary-foreground: oklch(0.972 0.01 255);
545
+ --ui-color-accent: oklch(0.32 0.05 250);
546
+ --ui-color-accent-foreground: oklch(0.92 0.05 250);
547
+ --ui-color-muted: oklch(0.274 0.01 255);
548
+ --ui-color-muted-foreground: oklch(0.712 0.016 255);
549
+ --ui-color-border: oklch(0.305 0.01 255);
550
+ --ui-color-input: oklch(0.33 0.01 255);
551
+ --ui-color-ring: oklch(0.72 0.13 250);
552
+ --ui-color-chart-1: oklch(0.72 0.13 250);
553
+ --ui-color-chart-2: oklch(0.7 0.13 200);
554
+ --ui-color-chart-3: oklch(0.72 0.13 155);
555
+ --ui-color-chart-4: oklch(0.8 0.13 85);
556
+ --ui-color-chart-5: oklch(0.7 0.16 25);
557
+ }
558
+
559
+ /* Finance Gold — Navy base with a restrained gold accent — signals premium without glare. */
560
+ /* inspired by: private banking, Adobe Spectrum */
561
+ [data-palette="finance-gold"] {
562
+ --ui-color-primary: oklch(0.3 0.06 250);
563
+ --ui-color-primary-foreground: oklch(0.99 0 0);
564
+ --ui-color-secondary: oklch(0.962 0.006 250);
565
+ --ui-color-secondary-foreground: oklch(0.29 0.018 250);
566
+ --ui-color-accent: oklch(0.76 0.13 85);
567
+ --ui-color-accent-foreground: oklch(0.26 0.06 85);
568
+ --ui-color-muted: oklch(0.968 0.006 250);
569
+ --ui-color-muted-foreground: oklch(0.53 0.024 250);
570
+ --ui-color-border: oklch(0.918 0.006 250);
571
+ --ui-color-input: oklch(0.918 0.006 250);
572
+ --ui-color-ring: oklch(0.72 0.13 85);
573
+ --ui-color-chart-1: oklch(0.72 0.13 85);
574
+ --ui-color-chart-2: oklch(0.4 0.08 250);
575
+ --ui-color-chart-3: oklch(0.62 0.12 155);
576
+ --ui-color-chart-4: oklch(0.6 0.13 205);
577
+ --ui-color-chart-5: oklch(0.58 0.15 25);
578
+ }
579
+
580
+ .dark[data-palette="finance-gold"],
581
+ [data-palette="finance-gold"].dark {
582
+ --ui-color-primary: oklch(0.86 0.05 250);
583
+ --ui-color-primary-foreground: oklch(0.2 0.03 250);
584
+ --ui-color-secondary: oklch(0.274 0.01 250);
585
+ --ui-color-secondary-foreground: oklch(0.972 0.01 250);
586
+ --ui-color-accent: oklch(0.8 0.13 85);
587
+ --ui-color-accent-foreground: oklch(0.24 0.06 85);
588
+ --ui-color-muted: oklch(0.274 0.01 250);
589
+ --ui-color-muted-foreground: oklch(0.712 0.016 250);
590
+ --ui-color-border: oklch(0.305 0.01 250);
591
+ --ui-color-input: oklch(0.33 0.01 250);
592
+ --ui-color-ring: oklch(0.8 0.13 85);
593
+ --ui-color-chart-1: oklch(0.8 0.13 85);
594
+ --ui-color-chart-2: oklch(0.72 0.1 250);
595
+ --ui-color-chart-3: oklch(0.72 0.12 155);
596
+ --ui-color-chart-4: oklch(0.7 0.12 205);
597
+ --ui-color-chart-5: oklch(0.68 0.15 25);
598
+ }
599
+
600
+ /* Emerald Wealth — Confident emerald for gains-and-growth products; full green-led data ramp. */
601
+ /* inspired by: Ramp, Supabase, Radix Grass */
602
+ [data-palette="emerald-wealth"] {
603
+ --ui-color-primary: oklch(0.52 0.12 160);
604
+ --ui-color-primary-foreground: oklch(0.99 0 0);
605
+ --ui-color-secondary: oklch(0.962 0.006 160);
606
+ --ui-color-secondary-foreground: oklch(0.29 0.018 160);
607
+ --ui-color-accent: oklch(0.95 0.03 160);
608
+ --ui-color-accent-foreground: oklch(0.32 0.1 160);
609
+ --ui-color-muted: oklch(0.968 0.006 160);
610
+ --ui-color-muted-foreground: oklch(0.53 0.024 160);
611
+ --ui-color-border: oklch(0.918 0.006 160);
612
+ --ui-color-input: oklch(0.918 0.006 160);
613
+ --ui-color-ring: oklch(0.52 0.12 160);
614
+ --ui-color-chart-1: oklch(0.52 0.12 160);
615
+ --ui-color-chart-2: oklch(0.6 0.13 200);
616
+ --ui-color-chart-3: oklch(0.72 0.13 90);
617
+ --ui-color-chart-4: oklch(0.58 0.16 25);
618
+ --ui-color-chart-5: oklch(0.55 0.14 285);
619
+ }
620
+
621
+ .dark[data-palette="emerald-wealth"],
622
+ [data-palette="emerald-wealth"].dark {
623
+ --ui-color-primary: oklch(0.7 0.13 158);
624
+ --ui-color-primary-foreground: oklch(0.16 0.03 158);
625
+ --ui-color-secondary: oklch(0.274 0.01 160);
626
+ --ui-color-secondary-foreground: oklch(0.972 0.01 160);
627
+ --ui-color-accent: oklch(0.3 0.04 158);
628
+ --ui-color-accent-foreground: oklch(0.92 0.04 158);
629
+ --ui-color-muted: oklch(0.274 0.01 160);
630
+ --ui-color-muted-foreground: oklch(0.712 0.016 160);
631
+ --ui-color-border: oklch(0.305 0.01 160);
632
+ --ui-color-input: oklch(0.33 0.01 160);
633
+ --ui-color-ring: oklch(0.7 0.13 158);
634
+ --ui-color-chart-1: oklch(0.7 0.13 158);
635
+ --ui-color-chart-2: oklch(0.7 0.13 200);
636
+ --ui-color-chart-3: oklch(0.8 0.13 90);
637
+ --ui-color-chart-4: oklch(0.68 0.16 25);
638
+ --ui-color-chart-5: oklch(0.68 0.14 285);
639
+ }
640
+
641
+ /* Risk Amber — Steady slate-blue primary with an amber signalling accent for thresholds. */
642
+ /* inspired by: Ant Design Volcano, risk dashboards */
643
+ [data-palette="risk-amber"] {
644
+ --ui-color-primary: oklch(0.4 0.06 256);
645
+ --ui-color-primary-foreground: oklch(0.99 0 0);
646
+ --ui-color-secondary: oklch(0.962 0.006 255);
647
+ --ui-color-secondary-foreground: oklch(0.29 0.018 255);
648
+ --ui-color-accent: oklch(0.74 0.15 70);
649
+ --ui-color-accent-foreground: oklch(0.28 0.07 70);
650
+ --ui-color-muted: oklch(0.968 0.006 255);
651
+ --ui-color-muted-foreground: oklch(0.53 0.024 255);
652
+ --ui-color-border: oklch(0.918 0.006 255);
653
+ --ui-color-input: oklch(0.918 0.006 255);
654
+ --ui-color-ring: oklch(0.74 0.15 70);
655
+ --ui-color-chart-1: oklch(0.5 0.13 256);
656
+ --ui-color-chart-2: oklch(0.62 0.15 296);
657
+ --ui-color-chart-3: oklch(0.62 0.15 351);
658
+ --ui-color-chart-4: oklch(0.62 0.15 46);
659
+ --ui-color-chart-5: oklch(0.62 0.15 111);
660
+ }
661
+
662
+ .dark[data-palette="risk-amber"],
663
+ [data-palette="risk-amber"].dark {
664
+ --ui-color-primary: oklch(0.8 0.06 256);
665
+ --ui-color-primary-foreground: oklch(0.2 0.03 256);
666
+ --ui-color-secondary: oklch(0.274 0.01 255);
667
+ --ui-color-secondary-foreground: oklch(0.972 0.01 255);
668
+ --ui-color-accent: oklch(0.78 0.15 70);
669
+ --ui-color-accent-foreground: oklch(0.24 0.07 70);
670
+ --ui-color-muted: oklch(0.274 0.01 255);
671
+ --ui-color-muted-foreground: oklch(0.712 0.016 255);
672
+ --ui-color-border: oklch(0.305 0.01 255);
673
+ --ui-color-input: oklch(0.33 0.01 255);
674
+ --ui-color-ring: oklch(0.78 0.15 70);
675
+ --ui-color-chart-1: oklch(0.7 0.13 256);
676
+ --ui-color-chart-2: oklch(0.72 0.14 296);
677
+ --ui-color-chart-3: oklch(0.72 0.14 351);
678
+ --ui-color-chart-4: oklch(0.72 0.14 46);
679
+ --ui-color-chart-5: oklch(0.72 0.14 111);
680
+ }
681
+
682
+ /* ========================================================================
683
+ E-commerce
684
+ ======================================================================== */
685
+
686
+ /* Commerce Rose — Warm rose that reads friendly and clickable — good for buy buttons. */
687
+ /* inspired by: Tailwind rose, Shopify Polaris */
688
+ [data-palette="ecommerce-rose"] {
689
+ --ui-color-primary: oklch(0.58 0.2 15);
690
+ --ui-color-primary-foreground: oklch(0.99 0 0);
691
+ --ui-color-secondary: oklch(0.962 0.006 15);
692
+ --ui-color-secondary-foreground: oklch(0.29 0.018 15);
693
+ --ui-color-accent: oklch(0.95 0.03 15);
694
+ --ui-color-accent-foreground: oklch(0.35 0.14 15);
695
+ --ui-color-muted: oklch(0.968 0.006 15);
696
+ --ui-color-muted-foreground: oklch(0.53 0.024 15);
697
+ --ui-color-border: oklch(0.918 0.006 15);
698
+ --ui-color-input: oklch(0.918 0.006 15);
699
+ --ui-color-ring: oklch(0.58 0.2 15);
700
+ --ui-color-chart-1: oklch(0.58 0.2 15);
701
+ --ui-color-chart-2: oklch(0.62 0.15 55);
702
+ --ui-color-chart-3: oklch(0.62 0.15 110);
703
+ --ui-color-chart-4: oklch(0.62 0.15 165);
704
+ --ui-color-chart-5: oklch(0.62 0.15 230);
705
+ }
706
+
707
+ .dark[data-palette="ecommerce-rose"],
708
+ [data-palette="ecommerce-rose"].dark {
709
+ --ui-color-primary: oklch(0.68 0.19 12);
710
+ --ui-color-primary-foreground: oklch(0.16 0.03 12);
711
+ --ui-color-secondary: oklch(0.274 0.01 15);
712
+ --ui-color-secondary-foreground: oklch(0.972 0.01 15);
713
+ --ui-color-accent: oklch(0.32 0.05 12);
714
+ --ui-color-accent-foreground: oklch(0.92 0.05 12);
715
+ --ui-color-muted: oklch(0.274 0.01 15);
716
+ --ui-color-muted-foreground: oklch(0.712 0.016 15);
717
+ --ui-color-border: oklch(0.305 0.01 15);
718
+ --ui-color-input: oklch(0.33 0.01 15);
719
+ --ui-color-ring: oklch(0.68 0.19 12);
720
+ --ui-color-chart-1: oklch(0.68 0.19 12);
721
+ --ui-color-chart-2: oklch(0.72 0.14 52);
722
+ --ui-color-chart-3: oklch(0.72 0.14 107);
723
+ --ui-color-chart-4: oklch(0.72 0.14 162);
724
+ --ui-color-chart-5: oklch(0.72 0.14 227);
725
+ }
726
+
727
+ /* Luxury Black & Gold — Near-black primary with a champagne-gold accent for high-end catalogues. */
728
+ /* inspired by: luxury retail, Adobe Spectrum */
729
+ [data-palette="luxury-black-gold"] {
730
+ --ui-color-primary: oklch(0.22 0.012 90);
731
+ --ui-color-primary-foreground: oklch(0.99 0 0);
732
+ --ui-color-secondary: oklch(0.962 0.008 90);
733
+ --ui-color-secondary-foreground: oklch(0.29 0.024 90);
734
+ --ui-color-accent: oklch(0.78 0.12 88);
735
+ --ui-color-accent-foreground: oklch(0.26 0.06 88);
736
+ --ui-color-muted: oklch(0.968 0.008 90);
737
+ --ui-color-muted-foreground: oklch(0.53 0.032 90);
738
+ --ui-color-border: oklch(0.918 0.008 90);
739
+ --ui-color-input: oklch(0.918 0.008 90);
740
+ --ui-color-ring: oklch(0.78 0.12 88);
741
+ --ui-color-chart-1: oklch(0.35 0.012 90);
742
+ --ui-color-chart-2: oklch(0.48 0.012 90);
743
+ --ui-color-chart-3: oklch(0.6 0.012 90);
744
+ --ui-color-chart-4: oklch(0.7 0.012 90);
745
+ --ui-color-chart-5: oklch(0.8 0.012 90);
746
+ }
747
+
748
+ .dark[data-palette="luxury-black-gold"],
749
+ [data-palette="luxury-black-gold"].dark {
750
+ --ui-color-primary: oklch(0.9 0.02 90);
751
+ --ui-color-primary-foreground: oklch(0.18 0.02 90);
752
+ --ui-color-secondary: oklch(0.274 0.01 90);
753
+ --ui-color-secondary-foreground: oklch(0.972 0.01 90);
754
+ --ui-color-accent: oklch(0.8 0.12 88);
755
+ --ui-color-accent-foreground: oklch(0.22 0.06 88);
756
+ --ui-color-muted: oklch(0.274 0.01 90);
757
+ --ui-color-muted-foreground: oklch(0.712 0.016 90);
758
+ --ui-color-border: oklch(0.305 0.01 90);
759
+ --ui-color-input: oklch(0.33 0.01 90);
760
+ --ui-color-ring: oklch(0.8 0.12 88);
761
+ --ui-color-chart-1: oklch(0.92 0.02 90);
762
+ --ui-color-chart-2: oklch(0.82 0.02 90);
763
+ --ui-color-chart-3: oklch(0.72 0.02 90);
764
+ --ui-color-chart-4: oklch(0.62 0.02 90);
765
+ --ui-color-chart-5: oklch(0.52 0.02 90);
766
+ }
767
+
768
+ /* Commerce Green — Polaris-adjacent commerce green; success-forward and trustworthy at checkout. */
769
+ /* inspired by: Shopify Polaris */
770
+ [data-palette="commerce-green"] {
771
+ --ui-color-primary: oklch(0.55 0.13 155);
772
+ --ui-color-primary-foreground: oklch(0.99 0 0);
773
+ --ui-color-secondary: oklch(0.962 0.006 155);
774
+ --ui-color-secondary-foreground: oklch(0.29 0.018 155);
775
+ --ui-color-accent: oklch(0.95 0.03 155);
776
+ --ui-color-accent-foreground: oklch(0.32 0.1 155);
777
+ --ui-color-muted: oklch(0.968 0.006 155);
778
+ --ui-color-muted-foreground: oklch(0.53 0.024 155);
779
+ --ui-color-border: oklch(0.918 0.006 155);
780
+ --ui-color-input: oklch(0.918 0.006 155);
781
+ --ui-color-ring: oklch(0.55 0.13 155);
782
+ --ui-color-chart-1: oklch(0.55 0.13 155);
783
+ --ui-color-chart-2: oklch(0.62 0.15 195);
784
+ --ui-color-chart-3: oklch(0.62 0.15 250);
785
+ --ui-color-chart-4: oklch(0.62 0.15 305);
786
+ --ui-color-chart-5: oklch(0.62 0.15 10);
787
+ }
788
+
789
+ .dark[data-palette="commerce-green"],
790
+ [data-palette="commerce-green"].dark {
791
+ --ui-color-primary: oklch(0.7 0.14 152);
792
+ --ui-color-primary-foreground: oklch(0.16 0.03 152);
793
+ --ui-color-secondary: oklch(0.274 0.01 155);
794
+ --ui-color-secondary-foreground: oklch(0.972 0.01 155);
795
+ --ui-color-accent: oklch(0.3 0.04 152);
796
+ --ui-color-accent-foreground: oklch(0.92 0.04 152);
797
+ --ui-color-muted: oklch(0.274 0.01 155);
798
+ --ui-color-muted-foreground: oklch(0.712 0.016 155);
799
+ --ui-color-border: oklch(0.305 0.01 155);
800
+ --ui-color-input: oklch(0.33 0.01 155);
801
+ --ui-color-ring: oklch(0.7 0.14 152);
802
+ --ui-color-chart-1: oklch(0.7 0.14 152);
803
+ --ui-color-chart-2: oklch(0.72 0.14 192);
804
+ --ui-color-chart-3: oklch(0.72 0.14 247);
805
+ --ui-color-chart-4: oklch(0.72 0.14 302);
806
+ --ui-color-chart-5: oklch(0.72 0.14 7);
807
+ }
808
+
809
+ /* Lifestyle Coral — Vibrant coral for playful consumer brands; energetic without being neon. */
810
+ /* inspired by: Tailwind orange, DaisyUI */
811
+ [data-palette="lifestyle-coral"] {
812
+ --ui-color-primary: oklch(0.66 0.16 40);
813
+ --ui-color-primary-foreground: oklch(0.99 0 0);
814
+ --ui-color-secondary: oklch(0.962 0.006 40);
815
+ --ui-color-secondary-foreground: oklch(0.29 0.018 40);
816
+ --ui-color-accent: oklch(0.96 0.03 40);
817
+ --ui-color-accent-foreground: oklch(0.38 0.12 40);
818
+ --ui-color-muted: oklch(0.968 0.006 40);
819
+ --ui-color-muted-foreground: oklch(0.53 0.024 40);
820
+ --ui-color-border: oklch(0.918 0.006 40);
821
+ --ui-color-input: oklch(0.918 0.006 40);
822
+ --ui-color-ring: oklch(0.66 0.16 40);
823
+ --ui-color-chart-1: oklch(0.66 0.16 40);
824
+ --ui-color-chart-2: oklch(0.62 0.15 80);
825
+ --ui-color-chart-3: oklch(0.62 0.15 135);
826
+ --ui-color-chart-4: oklch(0.62 0.15 190);
827
+ --ui-color-chart-5: oklch(0.62 0.15 255);
828
+ }
829
+
830
+ .dark[data-palette="lifestyle-coral"],
831
+ [data-palette="lifestyle-coral"].dark {
832
+ --ui-color-primary: oklch(0.72 0.15 38);
833
+ --ui-color-primary-foreground: oklch(0.18 0.03 38);
834
+ --ui-color-secondary: oklch(0.274 0.01 40);
835
+ --ui-color-secondary-foreground: oklch(0.972 0.01 40);
836
+ --ui-color-accent: oklch(0.32 0.05 38);
837
+ --ui-color-accent-foreground: oklch(0.93 0.05 38);
838
+ --ui-color-muted: oklch(0.274 0.01 40);
839
+ --ui-color-muted-foreground: oklch(0.712 0.016 40);
840
+ --ui-color-border: oklch(0.305 0.01 40);
841
+ --ui-color-input: oklch(0.33 0.01 40);
842
+ --ui-color-ring: oklch(0.72 0.15 38);
843
+ --ui-color-chart-1: oklch(0.7 0.15 38);
844
+ --ui-color-chart-2: oklch(0.72 0.14 78);
845
+ --ui-color-chart-3: oklch(0.72 0.14 133);
846
+ --ui-color-chart-4: oklch(0.72 0.14 188);
847
+ --ui-color-chart-5: oklch(0.72 0.14 253);
848
+ }
849
+
850
+ /* ========================================================================
851
+ EdTech
852
+ ======================================================================== */
853
+
854
+ /* EdTech Playful — Friendly violet primary with an amber reward accent for motivation loops. */
855
+ /* inspired by: Duolingo, Mantine Grape */
856
+ [data-palette="edtech-playful"] {
857
+ --ui-color-primary: oklch(0.55 0.2 292);
858
+ --ui-color-primary-foreground: oklch(0.99 0 0);
859
+ --ui-color-secondary: oklch(0.962 0.007 290);
860
+ --ui-color-secondary-foreground: oklch(0.29 0.021 290);
861
+ --ui-color-accent: oklch(0.78 0.15 78);
862
+ --ui-color-accent-foreground: oklch(0.28 0.07 78);
863
+ --ui-color-muted: oklch(0.968 0.007 290);
864
+ --ui-color-muted-foreground: oklch(0.53 0.028 290);
865
+ --ui-color-border: oklch(0.918 0.007 290);
866
+ --ui-color-input: oklch(0.918 0.007 290);
867
+ --ui-color-ring: oklch(0.55 0.2 292);
868
+ --ui-color-chart-1: oklch(0.55 0.2 292);
869
+ --ui-color-chart-2: oklch(0.62 0.15 332);
870
+ --ui-color-chart-3: oklch(0.62 0.15 27);
871
+ --ui-color-chart-4: oklch(0.62 0.15 82);
872
+ --ui-color-chart-5: oklch(0.62 0.15 147);
873
+ }
874
+
875
+ .dark[data-palette="edtech-playful"],
876
+ [data-palette="edtech-playful"].dark {
877
+ --ui-color-primary: oklch(0.7 0.18 292);
878
+ --ui-color-primary-foreground: oklch(0.16 0.03 292);
879
+ --ui-color-secondary: oklch(0.274 0.01 290);
880
+ --ui-color-secondary-foreground: oklch(0.972 0.01 290);
881
+ --ui-color-accent: oklch(0.8 0.15 78);
882
+ --ui-color-accent-foreground: oklch(0.24 0.07 78);
883
+ --ui-color-muted: oklch(0.274 0.01 290);
884
+ --ui-color-muted-foreground: oklch(0.712 0.016 290);
885
+ --ui-color-border: oklch(0.305 0.01 290);
886
+ --ui-color-input: oklch(0.33 0.01 290);
887
+ --ui-color-ring: oklch(0.7 0.18 292);
888
+ --ui-color-chart-1: oklch(0.7 0.18 292);
889
+ --ui-color-chart-2: oklch(0.72 0.14 332);
890
+ --ui-color-chart-3: oklch(0.72 0.14 27);
891
+ --ui-color-chart-4: oklch(0.72 0.14 82);
892
+ --ui-color-chart-5: oklch(0.72 0.14 147);
893
+ }
894
+
895
+ /* Learning Purple — Focused purple for serious learning platforms; calmer than the playful set. */
896
+ /* inspired by: Mantine Grape, Chakra purple */
897
+ [data-palette="learning-purple"] {
898
+ --ui-color-primary: oklch(0.5 0.18 300);
899
+ --ui-color-primary-foreground: oklch(0.99 0 0);
900
+ --ui-color-secondary: oklch(0.962 0.006 300);
901
+ --ui-color-secondary-foreground: oklch(0.29 0.018 300);
902
+ --ui-color-accent: oklch(0.95 0.03 300);
903
+ --ui-color-accent-foreground: oklch(0.34 0.13 300);
904
+ --ui-color-muted: oklch(0.968 0.006 300);
905
+ --ui-color-muted-foreground: oklch(0.53 0.024 300);
906
+ --ui-color-border: oklch(0.918 0.006 300);
907
+ --ui-color-input: oklch(0.918 0.006 300);
908
+ --ui-color-ring: oklch(0.5 0.18 300);
909
+ --ui-color-chart-1: oklch(0.5 0.18 300);
910
+ --ui-color-chart-2: oklch(0.62 0.15 340);
911
+ --ui-color-chart-3: oklch(0.62 0.15 35);
912
+ --ui-color-chart-4: oklch(0.62 0.15 90);
913
+ --ui-color-chart-5: oklch(0.62 0.15 155);
914
+ }
915
+
916
+ .dark[data-palette="learning-purple"],
917
+ [data-palette="learning-purple"].dark {
918
+ --ui-color-primary: oklch(0.68 0.16 300);
919
+ --ui-color-primary-foreground: oklch(0.16 0.03 300);
920
+ --ui-color-secondary: oklch(0.274 0.01 300);
921
+ --ui-color-secondary-foreground: oklch(0.972 0.01 300);
922
+ --ui-color-accent: oklch(0.32 0.05 300);
923
+ --ui-color-accent-foreground: oklch(0.92 0.05 300);
924
+ --ui-color-muted: oklch(0.274 0.01 300);
925
+ --ui-color-muted-foreground: oklch(0.712 0.016 300);
926
+ --ui-color-border: oklch(0.305 0.01 300);
927
+ --ui-color-input: oklch(0.33 0.01 300);
928
+ --ui-color-ring: oklch(0.68 0.16 300);
929
+ --ui-color-chart-1: oklch(0.68 0.16 300);
930
+ --ui-color-chart-2: oklch(0.72 0.14 340);
931
+ --ui-color-chart-3: oklch(0.72 0.14 35);
932
+ --ui-color-chart-4: oklch(0.72 0.14 90);
933
+ --ui-color-chart-5: oklch(0.72 0.14 155);
934
+ }
935
+
936
+ /* Gamified Green — High-energy green built for progress bars, streaks and reward states. */
937
+ /* inspired by: Duolingo, Supabase */
938
+ [data-palette="gamified-green"] {
939
+ --ui-color-primary: oklch(0.62 0.17 145);
940
+ --ui-color-primary-foreground: oklch(0.99 0 0);
941
+ --ui-color-secondary: oklch(0.962 0.006 145);
942
+ --ui-color-secondary-foreground: oklch(0.29 0.018 145);
943
+ --ui-color-accent: oklch(0.78 0.15 78);
944
+ --ui-color-accent-foreground: oklch(0.28 0.07 78);
945
+ --ui-color-muted: oklch(0.968 0.006 145);
946
+ --ui-color-muted-foreground: oklch(0.53 0.024 145);
947
+ --ui-color-border: oklch(0.918 0.006 145);
948
+ --ui-color-input: oklch(0.918 0.006 145);
949
+ --ui-color-ring: oklch(0.62 0.17 145);
950
+ --ui-color-chart-1: oklch(0.62 0.17 145);
951
+ --ui-color-chart-2: oklch(0.62 0.15 185);
952
+ --ui-color-chart-3: oklch(0.62 0.15 240);
953
+ --ui-color-chart-4: oklch(0.62 0.15 295);
954
+ --ui-color-chart-5: oklch(0.62 0.15 0);
955
+ }
956
+
957
+ .dark[data-palette="gamified-green"],
958
+ [data-palette="gamified-green"].dark {
959
+ --ui-color-primary: oklch(0.72 0.16 143);
960
+ --ui-color-primary-foreground: oklch(0.16 0.03 143);
961
+ --ui-color-secondary: oklch(0.274 0.01 145);
962
+ --ui-color-secondary-foreground: oklch(0.972 0.01 145);
963
+ --ui-color-accent: oklch(0.8 0.15 78);
964
+ --ui-color-accent-foreground: oklch(0.24 0.07 78);
965
+ --ui-color-muted: oklch(0.274 0.01 145);
966
+ --ui-color-muted-foreground: oklch(0.712 0.016 145);
967
+ --ui-color-border: oklch(0.305 0.01 145);
968
+ --ui-color-input: oklch(0.33 0.01 145);
969
+ --ui-color-ring: oklch(0.72 0.16 143);
970
+ --ui-color-chart-1: oklch(0.7 0.16 143);
971
+ --ui-color-chart-2: oklch(0.72 0.14 183);
972
+ --ui-color-chart-3: oklch(0.72 0.14 238);
973
+ --ui-color-chart-4: oklch(0.72 0.14 293);
974
+ --ui-color-chart-5: oklch(0.72 0.14 358);
975
+ }
976
+
977
+ /* Achievement Amber — Friendly blue base with a gold achievement accent for badges and awards. */
978
+ /* inspired by: Tailwind amber, Duolingo */
979
+ [data-palette="achievement-amber"] {
980
+ --ui-color-primary: oklch(0.58 0.16 256);
981
+ --ui-color-primary-foreground: oklch(0.99 0 0);
982
+ --ui-color-secondary: oklch(0.962 0.006 255);
983
+ --ui-color-secondary-foreground: oklch(0.29 0.018 255);
984
+ --ui-color-accent: oklch(0.76 0.14 76);
985
+ --ui-color-accent-foreground: oklch(0.28 0.07 76);
986
+ --ui-color-muted: oklch(0.968 0.006 255);
987
+ --ui-color-muted-foreground: oklch(0.53 0.024 255);
988
+ --ui-color-border: oklch(0.918 0.006 255);
989
+ --ui-color-input: oklch(0.918 0.006 255);
990
+ --ui-color-ring: oklch(0.76 0.14 76);
991
+ --ui-color-chart-1: oklch(0.58 0.16 256);
992
+ --ui-color-chart-2: oklch(0.62 0.15 296);
993
+ --ui-color-chart-3: oklch(0.62 0.15 351);
994
+ --ui-color-chart-4: oklch(0.62 0.15 46);
995
+ --ui-color-chart-5: oklch(0.62 0.15 111);
996
+ }
997
+
998
+ .dark[data-palette="achievement-amber"],
999
+ [data-palette="achievement-amber"].dark {
1000
+ --ui-color-primary: oklch(0.68 0.15 254);
1001
+ --ui-color-primary-foreground: oklch(0.16 0.03 254);
1002
+ --ui-color-secondary: oklch(0.274 0.01 255);
1003
+ --ui-color-secondary-foreground: oklch(0.972 0.01 255);
1004
+ --ui-color-accent: oklch(0.8 0.14 76);
1005
+ --ui-color-accent-foreground: oklch(0.24 0.07 76);
1006
+ --ui-color-muted: oklch(0.274 0.01 255);
1007
+ --ui-color-muted-foreground: oklch(0.712 0.016 255);
1008
+ --ui-color-border: oklch(0.305 0.01 255);
1009
+ --ui-color-input: oklch(0.33 0.01 255);
1010
+ --ui-color-ring: oklch(0.8 0.14 76);
1011
+ --ui-color-chart-1: oklch(0.68 0.15 254);
1012
+ --ui-color-chart-2: oklch(0.72 0.14 294);
1013
+ --ui-color-chart-3: oklch(0.72 0.14 349);
1014
+ --ui-color-chart-4: oklch(0.72 0.14 44);
1015
+ --ui-color-chart-5: oklch(0.72 0.14 109);
1016
+ }
1017
+
1018
+ /* ========================================================================
1019
+ AI/Dev
1020
+ ======================================================================== */
1021
+
1022
+ /* AI Cyber — Electric violet-magenta with a cyan accent — modern, dark-mode-first. */
1023
+ /* inspired by: Raycast, Clerk, Railway */
1024
+ [data-palette="ai-cyber"] {
1025
+ --ui-color-primary: oklch(0.55 0.22 306);
1026
+ --ui-color-primary-foreground: oklch(0.99 0 0);
1027
+ --ui-color-secondary: oklch(0.962 0.008 305);
1028
+ --ui-color-secondary-foreground: oklch(0.29 0.024 305);
1029
+ --ui-color-accent: oklch(0.7 0.14 200);
1030
+ --ui-color-accent-foreground: oklch(0.2 0.06 200);
1031
+ --ui-color-muted: oklch(0.968 0.008 305);
1032
+ --ui-color-muted-foreground: oklch(0.53 0.032 305);
1033
+ --ui-color-border: oklch(0.918 0.008 305);
1034
+ --ui-color-input: oklch(0.918 0.008 305);
1035
+ --ui-color-ring: oklch(0.55 0.22 306);
1036
+ --ui-color-chart-1: oklch(0.55 0.22 306);
1037
+ --ui-color-chart-2: oklch(0.62 0.15 346);
1038
+ --ui-color-chart-3: oklch(0.62 0.15 41);
1039
+ --ui-color-chart-4: oklch(0.62 0.15 96);
1040
+ --ui-color-chart-5: oklch(0.62 0.15 161);
1041
+ }
1042
+
1043
+ .dark[data-palette="ai-cyber"],
1044
+ [data-palette="ai-cyber"].dark {
1045
+ --ui-color-primary: oklch(0.68 0.22 306);
1046
+ --ui-color-primary-foreground: oklch(0.16 0.03 306);
1047
+ --ui-color-secondary: oklch(0.274 0.01 305);
1048
+ --ui-color-secondary-foreground: oklch(0.972 0.01 305);
1049
+ --ui-color-accent: oklch(0.72 0.13 200);
1050
+ --ui-color-accent-foreground: oklch(0.16 0.04 200);
1051
+ --ui-color-muted: oklch(0.274 0.01 305);
1052
+ --ui-color-muted-foreground: oklch(0.712 0.016 305);
1053
+ --ui-color-border: oklch(0.305 0.01 305);
1054
+ --ui-color-input: oklch(0.33 0.01 305);
1055
+ --ui-color-ring: oklch(0.68 0.22 306);
1056
+ --ui-color-chart-1: oklch(0.68 0.22 306);
1057
+ --ui-color-chart-2: oklch(0.72 0.14 346);
1058
+ --ui-color-chart-3: oklch(0.72 0.14 41);
1059
+ --ui-color-chart-4: oklch(0.72 0.14 96);
1060
+ --ui-color-chart-5: oklch(0.72 0.14 161);
1061
+ }
1062
+
1063
+ /* Raycast Dark — Warm red-orange accent designed to sing on near-black surfaces. */
1064
+ /* inspired by: Raycast */
1065
+ [data-palette="raycast-dark"] {
1066
+ --ui-color-primary: oklch(0.58 0.2 25);
1067
+ --ui-color-primary-foreground: oklch(0.99 0 0);
1068
+ --ui-color-secondary: oklch(0.962 0.007 25);
1069
+ --ui-color-secondary-foreground: oklch(0.29 0.021 25);
1070
+ --ui-color-accent: oklch(0.95 0.03 25);
1071
+ --ui-color-accent-foreground: oklch(0.36 0.14 25);
1072
+ --ui-color-muted: oklch(0.968 0.007 25);
1073
+ --ui-color-muted-foreground: oklch(0.53 0.028 25);
1074
+ --ui-color-border: oklch(0.918 0.007 25);
1075
+ --ui-color-input: oklch(0.918 0.007 25);
1076
+ --ui-color-ring: oklch(0.58 0.2 25);
1077
+ --ui-color-chart-1: oklch(0.58 0.2 25);
1078
+ --ui-color-chart-2: oklch(0.62 0.15 65);
1079
+ --ui-color-chart-3: oklch(0.62 0.15 120);
1080
+ --ui-color-chart-4: oklch(0.62 0.15 175);
1081
+ --ui-color-chart-5: oklch(0.62 0.15 240);
1082
+ }
1083
+
1084
+ .dark[data-palette="raycast-dark"],
1085
+ [data-palette="raycast-dark"].dark {
1086
+ --ui-color-primary: oklch(0.68 0.19 25);
1087
+ --ui-color-primary-foreground: oklch(0.16 0.03 25);
1088
+ --ui-color-secondary: oklch(0.274 0.01 25);
1089
+ --ui-color-secondary-foreground: oklch(0.972 0.01 25);
1090
+ --ui-color-accent: oklch(0.32 0.06 25);
1091
+ --ui-color-accent-foreground: oklch(0.92 0.05 25);
1092
+ --ui-color-muted: oklch(0.274 0.01 25);
1093
+ --ui-color-muted-foreground: oklch(0.712 0.016 25);
1094
+ --ui-color-border: oklch(0.305 0.01 25);
1095
+ --ui-color-input: oklch(0.33 0.01 25);
1096
+ --ui-color-ring: oklch(0.68 0.19 25);
1097
+ --ui-color-chart-1: oklch(0.68 0.19 25);
1098
+ --ui-color-chart-2: oklch(0.72 0.14 65);
1099
+ --ui-color-chart-3: oklch(0.72 0.14 120);
1100
+ --ui-color-chart-4: oklch(0.72 0.14 175);
1101
+ --ui-color-chart-5: oklch(0.72 0.14 240);
1102
+ }
1103
+
1104
+ /* Railway Violet — Violet primary paired with a cyan data accent for infra/observability views. */
1105
+ /* inspired by: Railway, Clerk */
1106
+ [data-palette="railway-violet"] {
1107
+ --ui-color-primary: oklch(0.52 0.2 296);
1108
+ --ui-color-primary-foreground: oklch(0.99 0 0);
1109
+ --ui-color-secondary: oklch(0.962 0.007 295);
1110
+ --ui-color-secondary-foreground: oklch(0.29 0.021 295);
1111
+ --ui-color-accent: oklch(0.7 0.13 200);
1112
+ --ui-color-accent-foreground: oklch(0.2 0.06 200);
1113
+ --ui-color-muted: oklch(0.968 0.007 295);
1114
+ --ui-color-muted-foreground: oklch(0.53 0.028 295);
1115
+ --ui-color-border: oklch(0.918 0.007 295);
1116
+ --ui-color-input: oklch(0.918 0.007 295);
1117
+ --ui-color-ring: oklch(0.52 0.2 296);
1118
+ --ui-color-chart-1: oklch(0.52 0.2 296);
1119
+ --ui-color-chart-2: oklch(0.66 0.13 200);
1120
+ --ui-color-chart-3: oklch(0.68 0.13 155);
1121
+ --ui-color-chart-4: oklch(0.74 0.14 75);
1122
+ --ui-color-chart-5: oklch(0.62 0.18 25);
1123
+ }
1124
+
1125
+ .dark[data-palette="railway-violet"],
1126
+ [data-palette="railway-violet"].dark {
1127
+ --ui-color-primary: oklch(0.7 0.18 296);
1128
+ --ui-color-primary-foreground: oklch(0.16 0.03 296);
1129
+ --ui-color-secondary: oklch(0.274 0.01 295);
1130
+ --ui-color-secondary-foreground: oklch(0.972 0.01 295);
1131
+ --ui-color-accent: oklch(0.72 0.12 200);
1132
+ --ui-color-accent-foreground: oklch(0.16 0.04 200);
1133
+ --ui-color-muted: oklch(0.274 0.01 295);
1134
+ --ui-color-muted-foreground: oklch(0.712 0.016 295);
1135
+ --ui-color-border: oklch(0.305 0.01 295);
1136
+ --ui-color-input: oklch(0.33 0.01 295);
1137
+ --ui-color-ring: oklch(0.7 0.18 296);
1138
+ --ui-color-chart-1: oklch(0.7 0.18 296);
1139
+ --ui-color-chart-2: oklch(0.72 0.12 200);
1140
+ --ui-color-chart-3: oklch(0.74 0.13 155);
1141
+ --ui-color-chart-4: oklch(0.8 0.13 75);
1142
+ --ui-color-chart-5: oklch(0.7 0.16 25);
1143
+ }
1144
+
1145
+ /* Terminal Green — Phosphor green on monochrome neutrals — a deliberate retro-terminal feel. */
1146
+ /* inspired by: phosphor terminals, Open Props */
1147
+ [data-palette="terminal-green"] {
1148
+ --ui-color-primary: oklch(0.52 0.14 146);
1149
+ --ui-color-primary-foreground: oklch(0.99 0 0);
1150
+ --ui-color-secondary: oklch(0.962 0.004 145);
1151
+ --ui-color-secondary-foreground: oklch(0.29 0.012 145);
1152
+ --ui-color-accent: oklch(0.95 0.03 146);
1153
+ --ui-color-accent-foreground: oklch(0.32 0.1 146);
1154
+ --ui-color-muted: oklch(0.968 0.004 145);
1155
+ --ui-color-muted-foreground: oklch(0.53 0.016 145);
1156
+ --ui-color-border: oklch(0.918 0.004 145);
1157
+ --ui-color-input: oklch(0.918 0.004 145);
1158
+ --ui-color-ring: oklch(0.52 0.14 146);
1159
+ --ui-color-chart-1: oklch(0.52 0.14 146);
1160
+ --ui-color-chart-2: oklch(0.62 0.15 186);
1161
+ --ui-color-chart-3: oklch(0.62 0.15 241);
1162
+ --ui-color-chart-4: oklch(0.62 0.15 296);
1163
+ --ui-color-chart-5: oklch(0.62 0.15 1);
1164
+ }
1165
+
1166
+ .dark[data-palette="terminal-green"],
1167
+ [data-palette="terminal-green"].dark {
1168
+ --ui-color-primary: oklch(0.8 0.19 145);
1169
+ --ui-color-primary-foreground: oklch(0.16 0.03 145);
1170
+ --ui-color-secondary: oklch(0.274 0.01 145);
1171
+ --ui-color-secondary-foreground: oklch(0.972 0.01 145);
1172
+ --ui-color-accent: oklch(0.3 0.05 145);
1173
+ --ui-color-accent-foreground: oklch(0.92 0.06 145);
1174
+ --ui-color-muted: oklch(0.274 0.01 145);
1175
+ --ui-color-muted-foreground: oklch(0.712 0.016 145);
1176
+ --ui-color-border: oklch(0.305 0.01 145);
1177
+ --ui-color-input: oklch(0.33 0.01 145);
1178
+ --ui-color-ring: oklch(0.8 0.19 145);
1179
+ --ui-color-chart-1: oklch(0.7 0.19 145);
1180
+ --ui-color-chart-2: oklch(0.72 0.14 185);
1181
+ --ui-color-chart-3: oklch(0.72 0.14 240);
1182
+ --ui-color-chart-4: oklch(0.72 0.14 295);
1183
+ --ui-color-chart-5: oklch(0.72 0.14 0);
1184
+ }
1185
+
1186
+ /* APPEND TO: packages/ui/src/styles/tokens/palettes.css */
1187
+ /* 36 brand-derived palettes — original OKLCH inspired by real products. */
1188
+
1189
+ /* Stone Warm — Warm taupe-stone neutrals with an amber undertone; sits between sand and slate. */
1190
+ /* inspired by: Tailwind Stone, Notion (original OKLCH, brand-derived) */
1191
+ [data-palette="stone-warm"] {
1192
+ --ui-color-primary: oklch(0.3 0.006 34);
1193
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1194
+ --ui-color-secondary: oklch(0.962 0.006 70);
1195
+ --ui-color-secondary-foreground: oklch(0.29 0.018 70);
1196
+ --ui-color-accent: oklch(0.95 0.03 34);
1197
+ --ui-color-accent-foreground: oklch(0.3 0.07 34);
1198
+ --ui-color-muted: oklch(0.968 0.006 70);
1199
+ --ui-color-muted-foreground: oklch(0.5 0.024 70);
1200
+ --ui-color-border: oklch(0.916 0.006 70);
1201
+ --ui-color-input: oklch(0.916 0.006 70);
1202
+ --ui-color-ring: oklch(0.3 0.006 34);
1203
+ --ui-color-chart-1: oklch(0.6 0.15 34);
1204
+ --ui-color-chart-2: oklch(0.62 0.15 74);
1205
+ --ui-color-chart-3: oklch(0.62 0.15 129);
1206
+ --ui-color-chart-4: oklch(0.62 0.15 184);
1207
+ --ui-color-chart-5: oklch(0.62 0.15 249);
1208
+ }
1209
+
1210
+ .dark[data-palette="stone-warm"],
1211
+ [data-palette="stone-warm"].dark {
1212
+ --ui-color-primary: oklch(0.68 0.006 34);
1213
+ --ui-color-primary-foreground: oklch(0.2 0.02 34);
1214
+ --ui-color-secondary: oklch(0.274 0.01 70);
1215
+ --ui-color-secondary-foreground: oklch(0.972 0.01 70);
1216
+ --ui-color-accent: oklch(0.3 0.05 34);
1217
+ --ui-color-accent-foreground: oklch(0.92 0.04 34);
1218
+ --ui-color-muted: oklch(0.274 0.01 70);
1219
+ --ui-color-muted-foreground: oklch(0.712 0.016 70);
1220
+ --ui-color-border: oklch(0.305 0.01 70);
1221
+ --ui-color-input: oklch(0.33 0.01 70);
1222
+ --ui-color-ring: oklch(0.68 0.006 34);
1223
+ --ui-color-chart-1: oklch(0.6 0.15 34);
1224
+ --ui-color-chart-2: oklch(0.72 0.14 74);
1225
+ --ui-color-chart-3: oklch(0.72 0.14 129);
1226
+ --ui-color-chart-4: oklch(0.72 0.14 184);
1227
+ --ui-color-chart-5: oklch(0.72 0.14 249);
1228
+ }
1229
+
1230
+ /* Zinc Cool — True cool zinc neutrals, a touch cooler than slate. Quiet and technical. */
1231
+ /* inspired by: Tailwind Zinc, Radix Mauve (original OKLCH, brand-derived) */
1232
+ [data-palette="zinc-cool"] {
1233
+ --ui-color-primary: oklch(0.3 0.006 286);
1234
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1235
+ --ui-color-secondary: oklch(0.962 0.006 286);
1236
+ --ui-color-secondary-foreground: oklch(0.29 0.018 286);
1237
+ --ui-color-accent: oklch(0.95 0.03 286);
1238
+ --ui-color-accent-foreground: oklch(0.3 0.07 286);
1239
+ --ui-color-muted: oklch(0.968 0.006 286);
1240
+ --ui-color-muted-foreground: oklch(0.5 0.024 286);
1241
+ --ui-color-border: oklch(0.916 0.006 286);
1242
+ --ui-color-input: oklch(0.916 0.006 286);
1243
+ --ui-color-ring: oklch(0.3 0.006 286);
1244
+ --ui-color-chart-1: oklch(0.6 0.15 286);
1245
+ --ui-color-chart-2: oklch(0.62 0.15 326);
1246
+ --ui-color-chart-3: oklch(0.62 0.15 21);
1247
+ --ui-color-chart-4: oklch(0.62 0.15 76);
1248
+ --ui-color-chart-5: oklch(0.62 0.15 141);
1249
+ }
1250
+
1251
+ .dark[data-palette="zinc-cool"],
1252
+ [data-palette="zinc-cool"].dark {
1253
+ --ui-color-primary: oklch(0.68 0.006 286);
1254
+ --ui-color-primary-foreground: oklch(0.2 0.02 286);
1255
+ --ui-color-secondary: oklch(0.274 0.01 286);
1256
+ --ui-color-secondary-foreground: oklch(0.972 0.01 286);
1257
+ --ui-color-accent: oklch(0.3 0.05 286);
1258
+ --ui-color-accent-foreground: oklch(0.92 0.04 286);
1259
+ --ui-color-muted: oklch(0.274 0.01 286);
1260
+ --ui-color-muted-foreground: oklch(0.712 0.016 286);
1261
+ --ui-color-border: oklch(0.305 0.01 286);
1262
+ --ui-color-input: oklch(0.33 0.01 286);
1263
+ --ui-color-ring: oklch(0.68 0.006 286);
1264
+ --ui-color-chart-1: oklch(0.6 0.15 286);
1265
+ --ui-color-chart-2: oklch(0.72 0.14 326);
1266
+ --ui-color-chart-3: oklch(0.72 0.14 21);
1267
+ --ui-color-chart-4: oklch(0.72 0.14 76);
1268
+ --ui-color-chart-5: oklch(0.72 0.14 141);
1269
+ }
1270
+
1271
+ /* Ink Black — Pitch-black achromatic system for high-focus, no-colour interfaces. */
1272
+ /* inspired by: Arc Browser, Things 3 (original OKLCH, brand-derived) */
1273
+ [data-palette="ink-black"] {
1274
+ --ui-color-primary: oklch(0.3 0 0);
1275
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1276
+ --ui-color-secondary: oklch(0.962 0 0);
1277
+ --ui-color-secondary-foreground: oklch(0.29 0 0);
1278
+ --ui-color-accent: oklch(0.95 0.03 90);
1279
+ --ui-color-accent-foreground: oklch(0.3 0.07 90);
1280
+ --ui-color-muted: oklch(0.968 0 0);
1281
+ --ui-color-muted-foreground: oklch(0.5 0 0);
1282
+ --ui-color-border: oklch(0.916 0 0);
1283
+ --ui-color-input: oklch(0.916 0 0);
1284
+ --ui-color-ring: oklch(0.3 0 0);
1285
+ --ui-color-chart-1: oklch(0.35 0 0);
1286
+ --ui-color-chart-2: oklch(0.48 0 0);
1287
+ --ui-color-chart-3: oklch(0.6 0 0);
1288
+ --ui-color-chart-4: oklch(0.7 0 0);
1289
+ --ui-color-chart-5: oklch(0.8 0 0);
1290
+ }
1291
+
1292
+ .dark[data-palette="ink-black"],
1293
+ [data-palette="ink-black"].dark {
1294
+ --ui-color-primary: oklch(0.68 0 0);
1295
+ --ui-color-primary-foreground: oklch(0.2 0.02 90);
1296
+ --ui-color-secondary: oklch(0.274 0 0);
1297
+ --ui-color-secondary-foreground: oklch(0.972 0 0);
1298
+ --ui-color-accent: oklch(0.3 0.05 90);
1299
+ --ui-color-accent-foreground: oklch(0.92 0.04 90);
1300
+ --ui-color-muted: oklch(0.274 0 0);
1301
+ --ui-color-muted-foreground: oklch(0.712 0 0);
1302
+ --ui-color-border: oklch(0.305 0 0);
1303
+ --ui-color-input: oklch(0.33 0 0);
1304
+ --ui-color-ring: oklch(0.68 0 0);
1305
+ --ui-color-chart-1: oklch(0.92 0 0);
1306
+ --ui-color-chart-2: oklch(0.82 0 0);
1307
+ --ui-color-chart-3: oklch(0.72 0 0);
1308
+ --ui-color-chart-4: oklch(0.62 0 0);
1309
+ --ui-color-chart-5: oklch(0.52 0 0);
1310
+ }
1311
+
1312
+ /* Parchment — Off-white cream character via warm neutrals; softer and calmer than grey. */
1313
+ /* inspired by: Notion, paper stationery (original OKLCH, brand-derived) */
1314
+ [data-palette="parchment"] {
1315
+ --ui-color-primary: oklch(0.328 0.018 78);
1316
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1317
+ --ui-color-secondary: oklch(0.962 0.006 75);
1318
+ --ui-color-secondary-foreground: oklch(0.29 0.018 75);
1319
+ --ui-color-accent: oklch(0.95 0.03 78);
1320
+ --ui-color-accent-foreground: oklch(0.3 0.07 78);
1321
+ --ui-color-muted: oklch(0.968 0.006 75);
1322
+ --ui-color-muted-foreground: oklch(0.5 0.024 75);
1323
+ --ui-color-border: oklch(0.916 0.006 75);
1324
+ --ui-color-input: oklch(0.916 0.006 75);
1325
+ --ui-color-ring: oklch(0.328 0.018 78);
1326
+ --ui-color-chart-1: oklch(0.6 0.15 78);
1327
+ --ui-color-chart-2: oklch(0.62 0.15 118);
1328
+ --ui-color-chart-3: oklch(0.62 0.15 173);
1329
+ --ui-color-chart-4: oklch(0.62 0.15 228);
1330
+ --ui-color-chart-5: oklch(0.62 0.15 293);
1331
+ }
1332
+
1333
+ .dark[data-palette="parchment"],
1334
+ [data-palette="parchment"].dark {
1335
+ --ui-color-primary: oklch(0.68 0.018 78);
1336
+ --ui-color-primary-foreground: oklch(0.2 0.02 78);
1337
+ --ui-color-secondary: oklch(0.274 0.01 75);
1338
+ --ui-color-secondary-foreground: oklch(0.972 0.01 75);
1339
+ --ui-color-accent: oklch(0.3 0.05 78);
1340
+ --ui-color-accent-foreground: oklch(0.92 0.04 78);
1341
+ --ui-color-muted: oklch(0.274 0.01 75);
1342
+ --ui-color-muted-foreground: oklch(0.712 0.016 75);
1343
+ --ui-color-border: oklch(0.305 0.01 75);
1344
+ --ui-color-input: oklch(0.33 0.01 75);
1345
+ --ui-color-ring: oklch(0.68 0.018 78);
1346
+ --ui-color-chart-1: oklch(0.6 0.15 78);
1347
+ --ui-color-chart-2: oklch(0.72 0.14 118);
1348
+ --ui-color-chart-3: oklch(0.72 0.14 173);
1349
+ --ui-color-chart-4: oklch(0.72 0.14 228);
1350
+ --ui-color-chart-5: oklch(0.72 0.14 293);
1351
+ }
1352
+
1353
+ /* Stripe Indigo — Stripe's blurple indigo — refined, developer-first, trustworthy fintech-SaaS. */
1354
+ /* inspired by: Stripe (original OKLCH, brand-derived) */
1355
+ [data-palette="stripe-indigo"] {
1356
+ --ui-color-primary: oklch(0.558 0.235 278);
1357
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1358
+ --ui-color-secondary: oklch(0.962 0.006 278);
1359
+ --ui-color-secondary-foreground: oklch(0.29 0.018 278);
1360
+ --ui-color-accent: oklch(0.745 0.138 288);
1361
+ --ui-color-accent-foreground: oklch(0.2 0.02 288);
1362
+ --ui-color-muted: oklch(0.968 0.006 278);
1363
+ --ui-color-muted-foreground: oklch(0.5 0.024 278);
1364
+ --ui-color-border: oklch(0.916 0.006 278);
1365
+ --ui-color-input: oklch(0.916 0.006 278);
1366
+ --ui-color-ring: oklch(0.558 0.235 278);
1367
+ --ui-color-chart-1: oklch(0.6 0.15 278);
1368
+ --ui-color-chart-2: oklch(0.62 0.15 318);
1369
+ --ui-color-chart-3: oklch(0.62 0.15 13);
1370
+ --ui-color-chart-4: oklch(0.62 0.15 68);
1371
+ --ui-color-chart-5: oklch(0.62 0.15 133);
1372
+ }
1373
+
1374
+ .dark[data-palette="stripe-indigo"],
1375
+ [data-palette="stripe-indigo"].dark {
1376
+ --ui-color-primary: oklch(0.798 0.2 278);
1377
+ --ui-color-primary-foreground: oklch(0.2 0.02 278);
1378
+ --ui-color-secondary: oklch(0.274 0.01 278);
1379
+ --ui-color-secondary-foreground: oklch(0.972 0.01 278);
1380
+ --ui-color-accent: oklch(0.745 0.138 288);
1381
+ --ui-color-accent-foreground: oklch(0.2 0.02 288);
1382
+ --ui-color-muted: oklch(0.274 0.01 278);
1383
+ --ui-color-muted-foreground: oklch(0.712 0.016 278);
1384
+ --ui-color-border: oklch(0.305 0.01 278);
1385
+ --ui-color-input: oklch(0.33 0.01 278);
1386
+ --ui-color-ring: oklch(0.798 0.2 278);
1387
+ --ui-color-chart-1: oklch(0.6 0.15 278);
1388
+ --ui-color-chart-2: oklch(0.72 0.14 318);
1389
+ --ui-color-chart-3: oklch(0.72 0.14 13);
1390
+ --ui-color-chart-4: oklch(0.72 0.14 68);
1391
+ --ui-color-chart-5: oklch(0.72 0.14 133);
1392
+ }
1393
+
1394
+ /* Notion Blue — Notion's clean action-blue; task-focused and unobtrusive. */
1395
+ /* inspired by: Notion (original OKLCH, brand-derived) */
1396
+ [data-palette="notion-blue"] {
1397
+ --ui-color-primary: oklch(0.606 0.167 253);
1398
+ --ui-color-primary-foreground: oklch(0.2 0.02 253);
1399
+ --ui-color-secondary: oklch(0.962 0.006 250);
1400
+ --ui-color-secondary-foreground: oklch(0.29 0.018 250);
1401
+ --ui-color-accent: oklch(0.95 0.03 253);
1402
+ --ui-color-accent-foreground: oklch(0.3 0.07 253);
1403
+ --ui-color-muted: oklch(0.968 0.006 250);
1404
+ --ui-color-muted-foreground: oklch(0.5 0.024 250);
1405
+ --ui-color-border: oklch(0.916 0.006 250);
1406
+ --ui-color-input: oklch(0.916 0.006 250);
1407
+ --ui-color-ring: oklch(0.606 0.167 253);
1408
+ --ui-color-chart-1: oklch(0.6 0.15 253);
1409
+ --ui-color-chart-2: oklch(0.62 0.15 293);
1410
+ --ui-color-chart-3: oklch(0.62 0.15 348);
1411
+ --ui-color-chart-4: oklch(0.62 0.15 43);
1412
+ --ui-color-chart-5: oklch(0.62 0.15 108);
1413
+ }
1414
+
1415
+ .dark[data-palette="notion-blue"],
1416
+ [data-palette="notion-blue"].dark {
1417
+ --ui-color-primary: oklch(0.68 0.167 253);
1418
+ --ui-color-primary-foreground: oklch(0.2 0.02 253);
1419
+ --ui-color-secondary: oklch(0.274 0.01 250);
1420
+ --ui-color-secondary-foreground: oklch(0.972 0.01 250);
1421
+ --ui-color-accent: oklch(0.3 0.05 253);
1422
+ --ui-color-accent-foreground: oklch(0.92 0.04 253);
1423
+ --ui-color-muted: oklch(0.274 0.01 250);
1424
+ --ui-color-muted-foreground: oklch(0.712 0.016 250);
1425
+ --ui-color-border: oklch(0.305 0.01 250);
1426
+ --ui-color-input: oklch(0.33 0.01 250);
1427
+ --ui-color-ring: oklch(0.68 0.167 253);
1428
+ --ui-color-chart-1: oklch(0.6 0.15 253);
1429
+ --ui-color-chart-2: oklch(0.72 0.14 293);
1430
+ --ui-color-chart-3: oklch(0.72 0.14 348);
1431
+ --ui-color-chart-4: oklch(0.72 0.14 43);
1432
+ --ui-color-chart-5: oklch(0.72 0.14 108);
1433
+ }
1434
+
1435
+ /* Figma Purple — Figma's brand purple — playful, design-tool energy without losing polish. */
1436
+ /* inspired by: Figma (original OKLCH, brand-derived) */
1437
+ [data-palette="figma-purple"] {
1438
+ --ui-color-primary: oklch(0.631 0.235 300);
1439
+ --ui-color-primary-foreground: oklch(0.2 0.02 300);
1440
+ --ui-color-secondary: oklch(0.962 0.006 300);
1441
+ --ui-color-secondary-foreground: oklch(0.29 0.018 300);
1442
+ --ui-color-accent: oklch(0.95 0.03 300);
1443
+ --ui-color-accent-foreground: oklch(0.3 0.07 300);
1444
+ --ui-color-muted: oklch(0.968 0.006 300);
1445
+ --ui-color-muted-foreground: oklch(0.5 0.024 300);
1446
+ --ui-color-border: oklch(0.916 0.006 300);
1447
+ --ui-color-input: oklch(0.916 0.006 300);
1448
+ --ui-color-ring: oklch(0.631 0.235 300);
1449
+ --ui-color-chart-1: oklch(0.6 0.15 300);
1450
+ --ui-color-chart-2: oklch(0.62 0.15 340);
1451
+ --ui-color-chart-3: oklch(0.62 0.15 35);
1452
+ --ui-color-chart-4: oklch(0.62 0.15 90);
1453
+ --ui-color-chart-5: oklch(0.62 0.15 155);
1454
+ }
1455
+
1456
+ .dark[data-palette="figma-purple"],
1457
+ [data-palette="figma-purple"].dark {
1458
+ --ui-color-primary: oklch(0.68 0.2 300);
1459
+ --ui-color-primary-foreground: oklch(0.2 0.02 300);
1460
+ --ui-color-secondary: oklch(0.274 0.01 300);
1461
+ --ui-color-secondary-foreground: oklch(0.972 0.01 300);
1462
+ --ui-color-accent: oklch(0.3 0.05 300);
1463
+ --ui-color-accent-foreground: oklch(0.92 0.04 300);
1464
+ --ui-color-muted: oklch(0.274 0.01 300);
1465
+ --ui-color-muted-foreground: oklch(0.712 0.016 300);
1466
+ --ui-color-border: oklch(0.305 0.01 300);
1467
+ --ui-color-input: oklch(0.33 0.01 300);
1468
+ --ui-color-ring: oklch(0.68 0.2 300);
1469
+ --ui-color-chart-1: oklch(0.6 0.15 300);
1470
+ --ui-color-chart-2: oklch(0.72 0.14 340);
1471
+ --ui-color-chart-3: oklch(0.72 0.14 35);
1472
+ --ui-color-chart-4: oklch(0.72 0.14 90);
1473
+ --ui-color-chart-5: oklch(0.72 0.14 155);
1474
+ }
1475
+
1476
+ /* Intercom Blue — Friendly conversational blue for support and messaging surfaces. */
1477
+ /* inspired by: Intercom (original OKLCH, brand-derived) */
1478
+ [data-palette="intercom-blue"] {
1479
+ --ui-color-primary: oklch(0.634 0.171 251);
1480
+ --ui-color-primary-foreground: oklch(0.2 0.02 251);
1481
+ --ui-color-secondary: oklch(0.962 0.006 245);
1482
+ --ui-color-secondary-foreground: oklch(0.29 0.018 245);
1483
+ --ui-color-accent: oklch(0.95 0.03 251);
1484
+ --ui-color-accent-foreground: oklch(0.3 0.07 251);
1485
+ --ui-color-muted: oklch(0.968 0.006 245);
1486
+ --ui-color-muted-foreground: oklch(0.5 0.024 245);
1487
+ --ui-color-border: oklch(0.916 0.006 245);
1488
+ --ui-color-input: oklch(0.916 0.006 245);
1489
+ --ui-color-ring: oklch(0.634 0.171 251);
1490
+ --ui-color-chart-1: oklch(0.6 0.15 251);
1491
+ --ui-color-chart-2: oklch(0.62 0.15 291);
1492
+ --ui-color-chart-3: oklch(0.62 0.15 346);
1493
+ --ui-color-chart-4: oklch(0.62 0.15 41);
1494
+ --ui-color-chart-5: oklch(0.62 0.15 106);
1495
+ }
1496
+
1497
+ .dark[data-palette="intercom-blue"],
1498
+ [data-palette="intercom-blue"].dark {
1499
+ --ui-color-primary: oklch(0.68 0.171 251);
1500
+ --ui-color-primary-foreground: oklch(0.2 0.02 251);
1501
+ --ui-color-secondary: oklch(0.274 0.01 245);
1502
+ --ui-color-secondary-foreground: oklch(0.972 0.01 245);
1503
+ --ui-color-accent: oklch(0.3 0.05 251);
1504
+ --ui-color-accent-foreground: oklch(0.92 0.04 251);
1505
+ --ui-color-muted: oklch(0.274 0.01 245);
1506
+ --ui-color-muted-foreground: oklch(0.712 0.016 245);
1507
+ --ui-color-border: oklch(0.305 0.01 245);
1508
+ --ui-color-input: oklch(0.33 0.01 245);
1509
+ --ui-color-ring: oklch(0.68 0.171 251);
1510
+ --ui-color-chart-1: oklch(0.6 0.15 251);
1511
+ --ui-color-chart-2: oklch(0.72 0.14 291);
1512
+ --ui-color-chart-3: oklch(0.72 0.14 346);
1513
+ --ui-color-chart-4: oklch(0.72 0.14 41);
1514
+ --ui-color-chart-5: oklch(0.72 0.14 106);
1515
+ }
1516
+
1517
+ /* Salesforce Sky — Salesforce Lightning sky-blue; enterprise-familiar and dependable. */
1518
+ /* inspired by: Salesforce Lightning (original OKLCH, brand-derived) */
1519
+ [data-palette="salesforce-sky"] {
1520
+ --ui-color-primary: oklch(0.543 0.167 252);
1521
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1522
+ --ui-color-secondary: oklch(0.962 0.006 245);
1523
+ --ui-color-secondary-foreground: oklch(0.29 0.018 245);
1524
+ --ui-color-accent: oklch(0.95 0.03 252);
1525
+ --ui-color-accent-foreground: oklch(0.3 0.07 252);
1526
+ --ui-color-muted: oklch(0.968 0.006 245);
1527
+ --ui-color-muted-foreground: oklch(0.5 0.024 245);
1528
+ --ui-color-border: oklch(0.916 0.006 245);
1529
+ --ui-color-input: oklch(0.916 0.006 245);
1530
+ --ui-color-ring: oklch(0.543 0.167 252);
1531
+ --ui-color-chart-1: oklch(0.6 0.15 252);
1532
+ --ui-color-chart-2: oklch(0.62 0.15 292);
1533
+ --ui-color-chart-3: oklch(0.62 0.15 347);
1534
+ --ui-color-chart-4: oklch(0.62 0.15 42);
1535
+ --ui-color-chart-5: oklch(0.62 0.15 107);
1536
+ }
1537
+
1538
+ .dark[data-palette="salesforce-sky"],
1539
+ [data-palette="salesforce-sky"].dark {
1540
+ --ui-color-primary: oklch(0.783 0.167 252);
1541
+ --ui-color-primary-foreground: oklch(0.2 0.02 252);
1542
+ --ui-color-secondary: oklch(0.274 0.01 245);
1543
+ --ui-color-secondary-foreground: oklch(0.972 0.01 245);
1544
+ --ui-color-accent: oklch(0.3 0.05 252);
1545
+ --ui-color-accent-foreground: oklch(0.92 0.04 252);
1546
+ --ui-color-muted: oklch(0.274 0.01 245);
1547
+ --ui-color-muted-foreground: oklch(0.712 0.016 245);
1548
+ --ui-color-border: oklch(0.305 0.01 245);
1549
+ --ui-color-input: oklch(0.33 0.01 245);
1550
+ --ui-color-ring: oklch(0.783 0.167 252);
1551
+ --ui-color-chart-1: oklch(0.6 0.15 252);
1552
+ --ui-color-chart-2: oklch(0.72 0.14 292);
1553
+ --ui-color-chart-3: oklch(0.72 0.14 347);
1554
+ --ui-color-chart-4: oklch(0.72 0.14 42);
1555
+ --ui-color-chart-5: oklch(0.72 0.14 107);
1556
+ }
1557
+
1558
+ /* Stripe Gradient — Indigo-to-cyan gradient identity; premium fintech with a modern sheen. */
1559
+ /* inspired by: Stripe (original OKLCH, brand-derived) */
1560
+ [data-palette="stripe-gradient"] {
1561
+ --ui-color-primary: oklch(0.558 0.235 278);
1562
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1563
+ --ui-color-secondary: oklch(0.962 0.006 270);
1564
+ --ui-color-secondary-foreground: oklch(0.29 0.018 270);
1565
+ --ui-color-accent: oklch(0.705 0.167 244);
1566
+ --ui-color-accent-foreground: oklch(0.2 0.02 244);
1567
+ --ui-color-muted: oklch(0.968 0.006 270);
1568
+ --ui-color-muted-foreground: oklch(0.5 0.024 270);
1569
+ --ui-color-border: oklch(0.916 0.006 270);
1570
+ --ui-color-input: oklch(0.916 0.006 270);
1571
+ --ui-color-ring: oklch(0.558 0.235 278);
1572
+ --ui-color-chart-1: oklch(0.6 0.15 278);
1573
+ --ui-color-chart-2: oklch(0.62 0.15 318);
1574
+ --ui-color-chart-3: oklch(0.62 0.15 13);
1575
+ --ui-color-chart-4: oklch(0.62 0.15 68);
1576
+ --ui-color-chart-5: oklch(0.62 0.15 133);
1577
+ }
1578
+
1579
+ .dark[data-palette="stripe-gradient"],
1580
+ [data-palette="stripe-gradient"].dark {
1581
+ --ui-color-primary: oklch(0.798 0.2 278);
1582
+ --ui-color-primary-foreground: oklch(0.2 0.02 278);
1583
+ --ui-color-secondary: oklch(0.274 0.01 270);
1584
+ --ui-color-secondary-foreground: oklch(0.972 0.01 270);
1585
+ --ui-color-accent: oklch(0.705 0.167 244);
1586
+ --ui-color-accent-foreground: oklch(0.2 0.02 244);
1587
+ --ui-color-muted: oklch(0.274 0.01 270);
1588
+ --ui-color-muted-foreground: oklch(0.712 0.016 270);
1589
+ --ui-color-border: oklch(0.305 0.01 270);
1590
+ --ui-color-input: oklch(0.33 0.01 270);
1591
+ --ui-color-ring: oklch(0.798 0.2 278);
1592
+ --ui-color-chart-1: oklch(0.6 0.15 278);
1593
+ --ui-color-chart-2: oklch(0.72 0.14 318);
1594
+ --ui-color-chart-3: oklch(0.72 0.14 13);
1595
+ --ui-color-chart-4: oklch(0.72 0.14 68);
1596
+ --ui-color-chart-5: oklch(0.72 0.14 133);
1597
+ }
1598
+
1599
+ /* Plaid Navy — Deep institutional navy; the trust-signal colour of financial plumbing. */
1600
+ /* inspired by: Plaid (original OKLCH, brand-derived) */
1601
+ [data-palette="plaid-navy"] {
1602
+ --ui-color-primary: oklch(0.3 0.062 264);
1603
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1604
+ --ui-color-secondary: oklch(0.962 0.006 255);
1605
+ --ui-color-secondary-foreground: oklch(0.29 0.018 255);
1606
+ --ui-color-accent: oklch(0.95 0.03 264);
1607
+ --ui-color-accent-foreground: oklch(0.3 0.07 264);
1608
+ --ui-color-muted: oklch(0.968 0.006 255);
1609
+ --ui-color-muted-foreground: oklch(0.5 0.024 255);
1610
+ --ui-color-border: oklch(0.916 0.006 255);
1611
+ --ui-color-input: oklch(0.916 0.006 255);
1612
+ --ui-color-ring: oklch(0.3 0.062 264);
1613
+ --ui-color-chart-1: oklch(0.6 0.15 264);
1614
+ --ui-color-chart-2: oklch(0.62 0.15 304);
1615
+ --ui-color-chart-3: oklch(0.62 0.15 359);
1616
+ --ui-color-chart-4: oklch(0.62 0.15 54);
1617
+ --ui-color-chart-5: oklch(0.62 0.15 119);
1618
+ }
1619
+
1620
+ .dark[data-palette="plaid-navy"],
1621
+ [data-palette="plaid-navy"].dark {
1622
+ --ui-color-primary: oklch(0.68 0.062 264);
1623
+ --ui-color-primary-foreground: oklch(0.2 0.02 264);
1624
+ --ui-color-secondary: oklch(0.274 0.01 255);
1625
+ --ui-color-secondary-foreground: oklch(0.972 0.01 255);
1626
+ --ui-color-accent: oklch(0.3 0.05 264);
1627
+ --ui-color-accent-foreground: oklch(0.92 0.04 264);
1628
+ --ui-color-muted: oklch(0.274 0.01 255);
1629
+ --ui-color-muted-foreground: oklch(0.712 0.016 255);
1630
+ --ui-color-border: oklch(0.305 0.01 255);
1631
+ --ui-color-input: oklch(0.33 0.01 255);
1632
+ --ui-color-ring: oklch(0.68 0.062 264);
1633
+ --ui-color-chart-1: oklch(0.6 0.15 264);
1634
+ --ui-color-chart-2: oklch(0.72 0.14 304);
1635
+ --ui-color-chart-3: oklch(0.72 0.14 359);
1636
+ --ui-color-chart-4: oklch(0.72 0.14 54);
1637
+ --ui-color-chart-5: oklch(0.72 0.14 119);
1638
+ }
1639
+
1640
+ /* Robinhood Green — Aggressive growth-green for markets-up moments; energetic and modern. */
1641
+ /* inspired by: Robinhood (original OKLCH, brand-derived) */
1642
+ [data-palette="robinhood-green"] {
1643
+ --ui-color-primary: oklch(0.722 0.24 143);
1644
+ --ui-color-primary-foreground: oklch(0.2 0.02 143);
1645
+ --ui-color-secondary: oklch(0.962 0.006 150);
1646
+ --ui-color-secondary-foreground: oklch(0.29 0.018 150);
1647
+ --ui-color-accent: oklch(0.95 0.03 143);
1648
+ --ui-color-accent-foreground: oklch(0.3 0.07 143);
1649
+ --ui-color-muted: oklch(0.968 0.006 150);
1650
+ --ui-color-muted-foreground: oklch(0.5 0.024 150);
1651
+ --ui-color-border: oklch(0.916 0.006 150);
1652
+ --ui-color-input: oklch(0.916 0.006 150);
1653
+ --ui-color-ring: oklch(0.722 0.24 143);
1654
+ --ui-color-chart-1: oklch(0.6 0.15 143);
1655
+ --ui-color-chart-2: oklch(0.62 0.15 183);
1656
+ --ui-color-chart-3: oklch(0.62 0.15 238);
1657
+ --ui-color-chart-4: oklch(0.62 0.15 293);
1658
+ --ui-color-chart-5: oklch(0.62 0.15 358);
1659
+ }
1660
+
1661
+ .dark[data-palette="robinhood-green"],
1662
+ [data-palette="robinhood-green"].dark {
1663
+ --ui-color-primary: oklch(0.722 0.2 143);
1664
+ --ui-color-primary-foreground: oklch(0.2 0.02 143);
1665
+ --ui-color-secondary: oklch(0.274 0.01 150);
1666
+ --ui-color-secondary-foreground: oklch(0.972 0.01 150);
1667
+ --ui-color-accent: oklch(0.3 0.05 143);
1668
+ --ui-color-accent-foreground: oklch(0.92 0.04 143);
1669
+ --ui-color-muted: oklch(0.274 0.01 150);
1670
+ --ui-color-muted-foreground: oklch(0.712 0.016 150);
1671
+ --ui-color-border: oklch(0.305 0.01 150);
1672
+ --ui-color-input: oklch(0.33 0.01 150);
1673
+ --ui-color-ring: oklch(0.722 0.2 143);
1674
+ --ui-color-chart-1: oklch(0.6 0.15 143);
1675
+ --ui-color-chart-2: oklch(0.72 0.14 183);
1676
+ --ui-color-chart-3: oklch(0.72 0.14 238);
1677
+ --ui-color-chart-4: oklch(0.72 0.14 293);
1678
+ --ui-color-chart-5: oklch(0.72 0.14 358);
1679
+ }
1680
+
1681
+ /* Coinbase Blue — Coinbase's corporate trust-blue; steadying for volatile products. */
1682
+ /* inspired by: Coinbase (original OKLCH, brand-derived) */
1683
+ [data-palette="coinbase-blue"] {
1684
+ --ui-color-primary: oklch(0.528 0.24 263);
1685
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1686
+ --ui-color-secondary: oklch(0.962 0.006 262);
1687
+ --ui-color-secondary-foreground: oklch(0.29 0.018 262);
1688
+ --ui-color-accent: oklch(0.95 0.03 263);
1689
+ --ui-color-accent-foreground: oklch(0.3 0.07 263);
1690
+ --ui-color-muted: oklch(0.968 0.006 262);
1691
+ --ui-color-muted-foreground: oklch(0.5 0.024 262);
1692
+ --ui-color-border: oklch(0.916 0.006 262);
1693
+ --ui-color-input: oklch(0.916 0.006 262);
1694
+ --ui-color-ring: oklch(0.528 0.24 263);
1695
+ --ui-color-chart-1: oklch(0.6 0.15 263);
1696
+ --ui-color-chart-2: oklch(0.62 0.15 303);
1697
+ --ui-color-chart-3: oklch(0.62 0.15 358);
1698
+ --ui-color-chart-4: oklch(0.62 0.15 53);
1699
+ --ui-color-chart-5: oklch(0.62 0.15 118);
1700
+ }
1701
+
1702
+ .dark[data-palette="coinbase-blue"],
1703
+ [data-palette="coinbase-blue"].dark {
1704
+ --ui-color-primary: oklch(0.748 0.2 263);
1705
+ --ui-color-primary-foreground: oklch(0.2 0.02 263);
1706
+ --ui-color-secondary: oklch(0.274 0.01 262);
1707
+ --ui-color-secondary-foreground: oklch(0.972 0.01 262);
1708
+ --ui-color-accent: oklch(0.3 0.05 263);
1709
+ --ui-color-accent-foreground: oklch(0.92 0.04 263);
1710
+ --ui-color-muted: oklch(0.274 0.01 262);
1711
+ --ui-color-muted-foreground: oklch(0.712 0.016 262);
1712
+ --ui-color-border: oklch(0.305 0.01 262);
1713
+ --ui-color-input: oklch(0.33 0.01 262);
1714
+ --ui-color-ring: oklch(0.748 0.2 263);
1715
+ --ui-color-chart-1: oklch(0.6 0.15 263);
1716
+ --ui-color-chart-2: oklch(0.72 0.14 303);
1717
+ --ui-color-chart-3: oklch(0.72 0.14 358);
1718
+ --ui-color-chart-4: oklch(0.72 0.14 53);
1719
+ --ui-color-chart-5: oklch(0.72 0.14 118);
1720
+ }
1721
+
1722
+ /* Solana Gradient — Purple-to-teal web3 gradient; high-energy, unmistakably crypto-native. */
1723
+ /* inspired by: Solana (original OKLCH, brand-derived) */
1724
+ [data-palette="solana-gradient"] {
1725
+ --ui-color-primary: oklch(0.578 0.24 299);
1726
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1727
+ --ui-color-secondary: oklch(0.962 0.006 290);
1728
+ --ui-color-secondary-foreground: oklch(0.29 0.018 290);
1729
+ --ui-color-accent: oklch(0.82 0.199 157);
1730
+ --ui-color-accent-foreground: oklch(0.2 0.02 157);
1731
+ --ui-color-muted: oklch(0.968 0.006 290);
1732
+ --ui-color-muted-foreground: oklch(0.5 0.024 290);
1733
+ --ui-color-border: oklch(0.916 0.006 290);
1734
+ --ui-color-input: oklch(0.916 0.006 290);
1735
+ --ui-color-ring: oklch(0.578 0.24 299);
1736
+ --ui-color-chart-1: oklch(0.6 0.15 299);
1737
+ --ui-color-chart-2: oklch(0.62 0.15 339);
1738
+ --ui-color-chart-3: oklch(0.62 0.15 34);
1739
+ --ui-color-chart-4: oklch(0.62 0.15 89);
1740
+ --ui-color-chart-5: oklch(0.62 0.15 154);
1741
+ }
1742
+
1743
+ .dark[data-palette="solana-gradient"],
1744
+ [data-palette="solana-gradient"].dark {
1745
+ --ui-color-primary: oklch(0.818 0.2 299);
1746
+ --ui-color-primary-foreground: oklch(0.2 0.02 299);
1747
+ --ui-color-secondary: oklch(0.274 0.01 290);
1748
+ --ui-color-secondary-foreground: oklch(0.972 0.01 290);
1749
+ --ui-color-accent: oklch(0.82 0.199 157);
1750
+ --ui-color-accent-foreground: oklch(0.2 0.02 157);
1751
+ --ui-color-muted: oklch(0.274 0.01 290);
1752
+ --ui-color-muted-foreground: oklch(0.712 0.016 290);
1753
+ --ui-color-border: oklch(0.305 0.01 290);
1754
+ --ui-color-input: oklch(0.33 0.01 290);
1755
+ --ui-color-ring: oklch(0.818 0.2 299);
1756
+ --ui-color-chart-1: oklch(0.6 0.15 299);
1757
+ --ui-color-chart-2: oklch(0.72 0.14 339);
1758
+ --ui-color-chart-3: oklch(0.72 0.14 34);
1759
+ --ui-color-chart-4: oklch(0.72 0.14 89);
1760
+ --ui-color-chart-5: oklch(0.72 0.14 154);
1761
+ }
1762
+
1763
+ /* Epic Blue — The dependable EHR blue that dominates US healthcare IT; calm authority. */
1764
+ /* inspired by: Epic Systems (original OKLCH, brand-derived) */
1765
+ [data-palette="epic-blue"] {
1766
+ --ui-color-primary: oklch(0.533 0.129 253);
1767
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1768
+ --ui-color-secondary: oklch(0.962 0.006 240);
1769
+ --ui-color-secondary-foreground: oklch(0.29 0.018 240);
1770
+ --ui-color-accent: oklch(0.95 0.03 253);
1771
+ --ui-color-accent-foreground: oklch(0.3 0.07 253);
1772
+ --ui-color-muted: oklch(0.968 0.006 240);
1773
+ --ui-color-muted-foreground: oklch(0.5 0.024 240);
1774
+ --ui-color-border: oklch(0.916 0.006 240);
1775
+ --ui-color-input: oklch(0.916 0.006 240);
1776
+ --ui-color-ring: oklch(0.533 0.129 253);
1777
+ --ui-color-chart-1: oklch(0.6 0.15 253);
1778
+ --ui-color-chart-2: oklch(0.62 0.15 293);
1779
+ --ui-color-chart-3: oklch(0.62 0.15 348);
1780
+ --ui-color-chart-4: oklch(0.62 0.15 43);
1781
+ --ui-color-chart-5: oklch(0.62 0.15 108);
1782
+ }
1783
+
1784
+ .dark[data-palette="epic-blue"],
1785
+ [data-palette="epic-blue"].dark {
1786
+ --ui-color-primary: oklch(0.753 0.129 253);
1787
+ --ui-color-primary-foreground: oklch(0.2 0.02 253);
1788
+ --ui-color-secondary: oklch(0.274 0.01 240);
1789
+ --ui-color-secondary-foreground: oklch(0.972 0.01 240);
1790
+ --ui-color-accent: oklch(0.3 0.05 253);
1791
+ --ui-color-accent-foreground: oklch(0.92 0.04 253);
1792
+ --ui-color-muted: oklch(0.274 0.01 240);
1793
+ --ui-color-muted-foreground: oklch(0.712 0.016 240);
1794
+ --ui-color-border: oklch(0.305 0.01 240);
1795
+ --ui-color-input: oklch(0.33 0.01 240);
1796
+ --ui-color-ring: oklch(0.753 0.129 253);
1797
+ --ui-color-chart-1: oklch(0.6 0.15 253);
1798
+ --ui-color-chart-2: oklch(0.72 0.14 293);
1799
+ --ui-color-chart-3: oklch(0.72 0.14 348);
1800
+ --ui-color-chart-4: oklch(0.72 0.14 43);
1801
+ --ui-color-chart-5: oklch(0.72 0.14 108);
1802
+ }
1803
+
1804
+ /* Headspace Orange — Warm mindful orange; approachable and human for wellness journeys. */
1805
+ /* inspired by: Headspace (original OKLCH, brand-derived) */
1806
+ [data-palette="headspace-orange"] {
1807
+ --ui-color-primary: oklch(0.714 0.169 49);
1808
+ --ui-color-primary-foreground: oklch(0.2 0.02 49);
1809
+ --ui-color-secondary: oklch(0.962 0.006 45);
1810
+ --ui-color-secondary-foreground: oklch(0.29 0.018 45);
1811
+ --ui-color-accent: oklch(0.95 0.03 49);
1812
+ --ui-color-accent-foreground: oklch(0.3 0.07 49);
1813
+ --ui-color-muted: oklch(0.968 0.006 45);
1814
+ --ui-color-muted-foreground: oklch(0.5 0.024 45);
1815
+ --ui-color-border: oklch(0.916 0.006 45);
1816
+ --ui-color-input: oklch(0.916 0.006 45);
1817
+ --ui-color-ring: oklch(0.714 0.169 49);
1818
+ --ui-color-chart-1: oklch(0.6 0.15 49);
1819
+ --ui-color-chart-2: oklch(0.62 0.15 89);
1820
+ --ui-color-chart-3: oklch(0.62 0.15 144);
1821
+ --ui-color-chart-4: oklch(0.62 0.15 199);
1822
+ --ui-color-chart-5: oklch(0.62 0.15 264);
1823
+ }
1824
+
1825
+ .dark[data-palette="headspace-orange"],
1826
+ [data-palette="headspace-orange"].dark {
1827
+ --ui-color-primary: oklch(0.714 0.169 49);
1828
+ --ui-color-primary-foreground: oklch(0.2 0.02 49);
1829
+ --ui-color-secondary: oklch(0.274 0.01 45);
1830
+ --ui-color-secondary-foreground: oklch(0.972 0.01 45);
1831
+ --ui-color-accent: oklch(0.3 0.05 49);
1832
+ --ui-color-accent-foreground: oklch(0.92 0.04 49);
1833
+ --ui-color-muted: oklch(0.274 0.01 45);
1834
+ --ui-color-muted-foreground: oklch(0.712 0.016 45);
1835
+ --ui-color-border: oklch(0.305 0.01 45);
1836
+ --ui-color-input: oklch(0.33 0.01 45);
1837
+ --ui-color-ring: oklch(0.714 0.169 49);
1838
+ --ui-color-chart-1: oklch(0.6 0.15 49);
1839
+ --ui-color-chart-2: oklch(0.72 0.14 89);
1840
+ --ui-color-chart-3: oklch(0.72 0.14 144);
1841
+ --ui-color-chart-4: oklch(0.72 0.14 199);
1842
+ --ui-color-chart-5: oklch(0.72 0.14 264);
1843
+ }
1844
+
1845
+ /* Noom Green — Action-oriented wellness green; encourages progress without alarm. */
1846
+ /* inspired by: Noom (original OKLCH, brand-derived) */
1847
+ [data-palette="noom-green"] {
1848
+ --ui-color-primary: oklch(0.624 0.126 159);
1849
+ --ui-color-primary-foreground: oklch(0.2 0.02 159);
1850
+ --ui-color-secondary: oklch(0.962 0.006 160);
1851
+ --ui-color-secondary-foreground: oklch(0.29 0.018 160);
1852
+ --ui-color-accent: oklch(0.95 0.03 159);
1853
+ --ui-color-accent-foreground: oklch(0.3 0.07 159);
1854
+ --ui-color-muted: oklch(0.968 0.006 160);
1855
+ --ui-color-muted-foreground: oklch(0.5 0.024 160);
1856
+ --ui-color-border: oklch(0.916 0.006 160);
1857
+ --ui-color-input: oklch(0.916 0.006 160);
1858
+ --ui-color-ring: oklch(0.624 0.126 159);
1859
+ --ui-color-chart-1: oklch(0.6 0.15 159);
1860
+ --ui-color-chart-2: oklch(0.62 0.15 199);
1861
+ --ui-color-chart-3: oklch(0.62 0.15 254);
1862
+ --ui-color-chart-4: oklch(0.62 0.15 309);
1863
+ --ui-color-chart-5: oklch(0.62 0.15 14);
1864
+ }
1865
+
1866
+ .dark[data-palette="noom-green"],
1867
+ [data-palette="noom-green"].dark {
1868
+ --ui-color-primary: oklch(0.68 0.126 159);
1869
+ --ui-color-primary-foreground: oklch(0.2 0.02 159);
1870
+ --ui-color-secondary: oklch(0.274 0.01 160);
1871
+ --ui-color-secondary-foreground: oklch(0.972 0.01 160);
1872
+ --ui-color-accent: oklch(0.3 0.05 159);
1873
+ --ui-color-accent-foreground: oklch(0.92 0.04 159);
1874
+ --ui-color-muted: oklch(0.274 0.01 160);
1875
+ --ui-color-muted-foreground: oklch(0.712 0.016 160);
1876
+ --ui-color-border: oklch(0.305 0.01 160);
1877
+ --ui-color-input: oklch(0.33 0.01 160);
1878
+ --ui-color-ring: oklch(0.68 0.126 159);
1879
+ --ui-color-chart-1: oklch(0.6 0.15 159);
1880
+ --ui-color-chart-2: oklch(0.72 0.14 199);
1881
+ --ui-color-chart-3: oklch(0.72 0.14 254);
1882
+ --ui-color-chart-4: oklch(0.72 0.14 309);
1883
+ --ui-color-chart-5: oklch(0.72 0.14 14);
1884
+ }
1885
+
1886
+ /* Teladoc Teal — Digital-care teal where trust meets a modern clinical feel. */
1887
+ /* inspired by: Teladoc, telehealth (original OKLCH, brand-derived) */
1888
+ [data-palette="teladoc-teal"] {
1889
+ --ui-color-primary: oklch(0.631 0.107 203);
1890
+ --ui-color-primary-foreground: oklch(0.2 0.02 203);
1891
+ --ui-color-secondary: oklch(0.962 0.006 195);
1892
+ --ui-color-secondary-foreground: oklch(0.29 0.018 195);
1893
+ --ui-color-accent: oklch(0.95 0.03 203);
1894
+ --ui-color-accent-foreground: oklch(0.3 0.07 203);
1895
+ --ui-color-muted: oklch(0.968 0.006 195);
1896
+ --ui-color-muted-foreground: oklch(0.5 0.024 195);
1897
+ --ui-color-border: oklch(0.916 0.006 195);
1898
+ --ui-color-input: oklch(0.916 0.006 195);
1899
+ --ui-color-ring: oklch(0.631 0.107 203);
1900
+ --ui-color-chart-1: oklch(0.6 0.15 203);
1901
+ --ui-color-chart-2: oklch(0.62 0.15 243);
1902
+ --ui-color-chart-3: oklch(0.62 0.15 298);
1903
+ --ui-color-chart-4: oklch(0.62 0.15 353);
1904
+ --ui-color-chart-5: oklch(0.62 0.15 58);
1905
+ }
1906
+
1907
+ .dark[data-palette="teladoc-teal"],
1908
+ [data-palette="teladoc-teal"].dark {
1909
+ --ui-color-primary: oklch(0.68 0.107 203);
1910
+ --ui-color-primary-foreground: oklch(0.2 0.02 203);
1911
+ --ui-color-secondary: oklch(0.274 0.01 195);
1912
+ --ui-color-secondary-foreground: oklch(0.972 0.01 195);
1913
+ --ui-color-accent: oklch(0.3 0.05 203);
1914
+ --ui-color-accent-foreground: oklch(0.92 0.04 203);
1915
+ --ui-color-muted: oklch(0.274 0.01 195);
1916
+ --ui-color-muted-foreground: oklch(0.712 0.016 195);
1917
+ --ui-color-border: oklch(0.305 0.01 195);
1918
+ --ui-color-input: oklch(0.33 0.01 195);
1919
+ --ui-color-ring: oklch(0.68 0.107 203);
1920
+ --ui-color-chart-1: oklch(0.6 0.15 203);
1921
+ --ui-color-chart-2: oklch(0.72 0.14 243);
1922
+ --ui-color-chart-3: oklch(0.72 0.14 298);
1923
+ --ui-color-chart-4: oklch(0.72 0.14 353);
1924
+ --ui-color-chart-5: oklch(0.72 0.14 58);
1925
+ }
1926
+
1927
+ /* Amazon Orange — The conversion orange; maximum call-to-action energy on white. */
1928
+ /* inspired by: Amazon (original OKLCH, brand-derived) */
1929
+ [data-palette="amazon-orange"] {
1930
+ --ui-color-primary: oklch(0.772 0.174 65);
1931
+ --ui-color-primary-foreground: oklch(0.2 0.02 65);
1932
+ --ui-color-secondary: oklch(0.962 0.006 65);
1933
+ --ui-color-secondary-foreground: oklch(0.29 0.018 65);
1934
+ --ui-color-accent: oklch(0.95 0.03 65);
1935
+ --ui-color-accent-foreground: oklch(0.3 0.07 65);
1936
+ --ui-color-muted: oklch(0.968 0.006 65);
1937
+ --ui-color-muted-foreground: oklch(0.5 0.024 65);
1938
+ --ui-color-border: oklch(0.916 0.006 65);
1939
+ --ui-color-input: oklch(0.916 0.006 65);
1940
+ --ui-color-ring: oklch(0.772 0.174 65);
1941
+ --ui-color-chart-1: oklch(0.6 0.15 65);
1942
+ --ui-color-chart-2: oklch(0.62 0.15 105);
1943
+ --ui-color-chart-3: oklch(0.62 0.15 160);
1944
+ --ui-color-chart-4: oklch(0.62 0.15 215);
1945
+ --ui-color-chart-5: oklch(0.62 0.15 280);
1946
+ }
1947
+
1948
+ .dark[data-palette="amazon-orange"],
1949
+ [data-palette="amazon-orange"].dark {
1950
+ --ui-color-primary: oklch(0.772 0.174 65);
1951
+ --ui-color-primary-foreground: oklch(0.2 0.02 65);
1952
+ --ui-color-secondary: oklch(0.274 0.01 65);
1953
+ --ui-color-secondary-foreground: oklch(0.972 0.01 65);
1954
+ --ui-color-accent: oklch(0.3 0.05 65);
1955
+ --ui-color-accent-foreground: oklch(0.92 0.04 65);
1956
+ --ui-color-muted: oklch(0.274 0.01 65);
1957
+ --ui-color-muted-foreground: oklch(0.712 0.016 65);
1958
+ --ui-color-border: oklch(0.305 0.01 65);
1959
+ --ui-color-input: oklch(0.33 0.01 65);
1960
+ --ui-color-ring: oklch(0.772 0.174 65);
1961
+ --ui-color-chart-1: oklch(0.6 0.15 65);
1962
+ --ui-color-chart-2: oklch(0.72 0.14 105);
1963
+ --ui-color-chart-3: oklch(0.72 0.14 160);
1964
+ --ui-color-chart-4: oklch(0.72 0.14 215);
1965
+ --ui-color-chart-5: oklch(0.72 0.14 280);
1966
+ }
1967
+
1968
+ /* Shopify Green — Polaris commerce green; success-forward and merchant-trustworthy. */
1969
+ /* inspired by: Shopify Polaris (original OKLCH, brand-derived) */
1970
+ [data-palette="shopify-green"] {
1971
+ --ui-color-primary: oklch(0.533 0.108 168);
1972
+ --ui-color-primary-foreground: oklch(0.985 0 0);
1973
+ --ui-color-secondary: oklch(0.962 0.006 165);
1974
+ --ui-color-secondary-foreground: oklch(0.29 0.018 165);
1975
+ --ui-color-accent: oklch(0.95 0.03 168);
1976
+ --ui-color-accent-foreground: oklch(0.3 0.07 168);
1977
+ --ui-color-muted: oklch(0.968 0.006 165);
1978
+ --ui-color-muted-foreground: oklch(0.5 0.024 165);
1979
+ --ui-color-border: oklch(0.916 0.006 165);
1980
+ --ui-color-input: oklch(0.916 0.006 165);
1981
+ --ui-color-ring: oklch(0.533 0.108 168);
1982
+ --ui-color-chart-1: oklch(0.6 0.15 168);
1983
+ --ui-color-chart-2: oklch(0.62 0.15 208);
1984
+ --ui-color-chart-3: oklch(0.62 0.15 263);
1985
+ --ui-color-chart-4: oklch(0.62 0.15 318);
1986
+ --ui-color-chart-5: oklch(0.62 0.15 23);
1987
+ }
1988
+
1989
+ .dark[data-palette="shopify-green"],
1990
+ [data-palette="shopify-green"].dark {
1991
+ --ui-color-primary: oklch(0.753 0.108 168);
1992
+ --ui-color-primary-foreground: oklch(0.2 0.02 168);
1993
+ --ui-color-secondary: oklch(0.274 0.01 165);
1994
+ --ui-color-secondary-foreground: oklch(0.972 0.01 165);
1995
+ --ui-color-accent: oklch(0.3 0.05 168);
1996
+ --ui-color-accent-foreground: oklch(0.92 0.04 168);
1997
+ --ui-color-muted: oklch(0.274 0.01 165);
1998
+ --ui-color-muted-foreground: oklch(0.712 0.016 165);
1999
+ --ui-color-border: oklch(0.305 0.01 165);
2000
+ --ui-color-input: oklch(0.33 0.01 165);
2001
+ --ui-color-ring: oklch(0.753 0.108 168);
2002
+ --ui-color-chart-1: oklch(0.6 0.15 168);
2003
+ --ui-color-chart-2: oklch(0.72 0.14 208);
2004
+ --ui-color-chart-3: oklch(0.72 0.14 263);
2005
+ --ui-color-chart-4: oklch(0.72 0.14 318);
2006
+ --ui-color-chart-5: oklch(0.72 0.14 23);
2007
+ }
2008
+
2009
+ /* Netflix Red — Streaming red built for dark, immersive, content-first interfaces. */
2010
+ /* inspired by: Netflix (original OKLCH, brand-derived) */
2011
+ [data-palette="netflix-red"] {
2012
+ --ui-color-primary: oklch(0.581 0.235 28);
2013
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2014
+ --ui-color-secondary: oklch(0.962 0.006 28);
2015
+ --ui-color-secondary-foreground: oklch(0.29 0.018 28);
2016
+ --ui-color-accent: oklch(0.95 0.03 28);
2017
+ --ui-color-accent-foreground: oklch(0.3 0.07 28);
2018
+ --ui-color-muted: oklch(0.968 0.006 28);
2019
+ --ui-color-muted-foreground: oklch(0.5 0.024 28);
2020
+ --ui-color-border: oklch(0.916 0.006 28);
2021
+ --ui-color-input: oklch(0.916 0.006 28);
2022
+ --ui-color-ring: oklch(0.581 0.235 28);
2023
+ --ui-color-chart-1: oklch(0.6 0.15 28);
2024
+ --ui-color-chart-2: oklch(0.62 0.15 68);
2025
+ --ui-color-chart-3: oklch(0.62 0.15 123);
2026
+ --ui-color-chart-4: oklch(0.62 0.15 178);
2027
+ --ui-color-chart-5: oklch(0.62 0.15 243);
2028
+ }
2029
+
2030
+ .dark[data-palette="netflix-red"],
2031
+ [data-palette="netflix-red"].dark {
2032
+ --ui-color-primary: oklch(0.801 0.2 28);
2033
+ --ui-color-primary-foreground: oklch(0.2 0.02 28);
2034
+ --ui-color-secondary: oklch(0.274 0.01 28);
2035
+ --ui-color-secondary-foreground: oklch(0.972 0.01 28);
2036
+ --ui-color-accent: oklch(0.3 0.05 28);
2037
+ --ui-color-accent-foreground: oklch(0.92 0.04 28);
2038
+ --ui-color-muted: oklch(0.274 0.01 28);
2039
+ --ui-color-muted-foreground: oklch(0.712 0.016 28);
2040
+ --ui-color-border: oklch(0.305 0.01 28);
2041
+ --ui-color-input: oklch(0.33 0.01 28);
2042
+ --ui-color-ring: oklch(0.801 0.2 28);
2043
+ --ui-color-chart-1: oklch(0.6 0.15 28);
2044
+ --ui-color-chart-2: oklch(0.72 0.14 68);
2045
+ --ui-color-chart-3: oklch(0.72 0.14 123);
2046
+ --ui-color-chart-4: oklch(0.72 0.14 178);
2047
+ --ui-color-chart-5: oklch(0.72 0.14 243);
2048
+ }
2049
+
2050
+ /* Etsy Orange — Warm artisan orange; friendly, handcrafted marketplace character. */
2051
+ /* inspired by: Etsy (original OKLCH, brand-derived) */
2052
+ [data-palette="etsy-orange"] {
2053
+ --ui-color-primary: oklch(0.673 0.189 42);
2054
+ --ui-color-primary-foreground: oklch(0.2 0.02 42);
2055
+ --ui-color-secondary: oklch(0.962 0.006 40);
2056
+ --ui-color-secondary-foreground: oklch(0.29 0.018 40);
2057
+ --ui-color-accent: oklch(0.95 0.03 42);
2058
+ --ui-color-accent-foreground: oklch(0.3 0.07 42);
2059
+ --ui-color-muted: oklch(0.968 0.006 40);
2060
+ --ui-color-muted-foreground: oklch(0.5 0.024 40);
2061
+ --ui-color-border: oklch(0.916 0.006 40);
2062
+ --ui-color-input: oklch(0.916 0.006 40);
2063
+ --ui-color-ring: oklch(0.673 0.189 42);
2064
+ --ui-color-chart-1: oklch(0.6 0.15 42);
2065
+ --ui-color-chart-2: oklch(0.62 0.15 82);
2066
+ --ui-color-chart-3: oklch(0.62 0.15 137);
2067
+ --ui-color-chart-4: oklch(0.62 0.15 192);
2068
+ --ui-color-chart-5: oklch(0.62 0.15 257);
2069
+ }
2070
+
2071
+ .dark[data-palette="etsy-orange"],
2072
+ [data-palette="etsy-orange"].dark {
2073
+ --ui-color-primary: oklch(0.68 0.189 42);
2074
+ --ui-color-primary-foreground: oklch(0.2 0.02 42);
2075
+ --ui-color-secondary: oklch(0.274 0.01 40);
2076
+ --ui-color-secondary-foreground: oklch(0.972 0.01 40);
2077
+ --ui-color-accent: oklch(0.3 0.05 42);
2078
+ --ui-color-accent-foreground: oklch(0.92 0.04 42);
2079
+ --ui-color-muted: oklch(0.274 0.01 40);
2080
+ --ui-color-muted-foreground: oklch(0.712 0.016 40);
2081
+ --ui-color-border: oklch(0.305 0.01 40);
2082
+ --ui-color-input: oklch(0.33 0.01 40);
2083
+ --ui-color-ring: oklch(0.68 0.189 42);
2084
+ --ui-color-chart-1: oklch(0.6 0.15 42);
2085
+ --ui-color-chart-2: oklch(0.72 0.14 82);
2086
+ --ui-color-chart-3: oklch(0.72 0.14 137);
2087
+ --ui-color-chart-4: oklch(0.72 0.14 192);
2088
+ --ui-color-chart-5: oklch(0.72 0.14 257);
2089
+ }
2090
+
2091
+ /* Duolingo Green — The gamified owl-green; vibrant, rewarding, unmistakably playful. */
2092
+ /* inspired by: Duolingo (original OKLCH, brand-derived) */
2093
+ [data-palette="duolingo-green"] {
2094
+ --ui-color-primary: oklch(0.748 0.229 138);
2095
+ --ui-color-primary-foreground: oklch(0.2 0.02 138);
2096
+ --ui-color-secondary: oklch(0.962 0.006 138);
2097
+ --ui-color-secondary-foreground: oklch(0.29 0.018 138);
2098
+ --ui-color-accent: oklch(0.95 0.03 138);
2099
+ --ui-color-accent-foreground: oklch(0.3 0.07 138);
2100
+ --ui-color-muted: oklch(0.968 0.006 138);
2101
+ --ui-color-muted-foreground: oklch(0.5 0.024 138);
2102
+ --ui-color-border: oklch(0.916 0.006 138);
2103
+ --ui-color-input: oklch(0.916 0.006 138);
2104
+ --ui-color-ring: oklch(0.748 0.229 138);
2105
+ --ui-color-chart-1: oklch(0.6 0.15 138);
2106
+ --ui-color-chart-2: oklch(0.62 0.15 178);
2107
+ --ui-color-chart-3: oklch(0.62 0.15 233);
2108
+ --ui-color-chart-4: oklch(0.62 0.15 288);
2109
+ --ui-color-chart-5: oklch(0.62 0.15 353);
2110
+ }
2111
+
2112
+ .dark[data-palette="duolingo-green"],
2113
+ [data-palette="duolingo-green"].dark {
2114
+ --ui-color-primary: oklch(0.748 0.2 138);
2115
+ --ui-color-primary-foreground: oklch(0.2 0.02 138);
2116
+ --ui-color-secondary: oklch(0.274 0.01 138);
2117
+ --ui-color-secondary-foreground: oklch(0.972 0.01 138);
2118
+ --ui-color-accent: oklch(0.3 0.05 138);
2119
+ --ui-color-accent-foreground: oklch(0.92 0.04 138);
2120
+ --ui-color-muted: oklch(0.274 0.01 138);
2121
+ --ui-color-muted-foreground: oklch(0.712 0.016 138);
2122
+ --ui-color-border: oklch(0.305 0.01 138);
2123
+ --ui-color-input: oklch(0.33 0.01 138);
2124
+ --ui-color-ring: oklch(0.748 0.2 138);
2125
+ --ui-color-chart-1: oklch(0.6 0.15 138);
2126
+ --ui-color-chart-2: oklch(0.72 0.14 178);
2127
+ --ui-color-chart-3: oklch(0.72 0.14 233);
2128
+ --ui-color-chart-4: oklch(0.72 0.14 288);
2129
+ --ui-color-chart-5: oklch(0.72 0.14 353);
2130
+ }
2131
+
2132
+ /* Khan Blue — Approachable learning blue (Khan's own identity leans teal-green — this is the bluer take). */
2133
+ /* inspired by: Khan Academy (original OKLCH, brand-derived) */
2134
+ [data-palette="khan-blue"] {
2135
+ --ui-color-primary: oklch(0.644 0.149 243);
2136
+ --ui-color-primary-foreground: oklch(0.2 0.02 243);
2137
+ --ui-color-secondary: oklch(0.962 0.006 240);
2138
+ --ui-color-secondary-foreground: oklch(0.29 0.018 240);
2139
+ --ui-color-accent: oklch(0.95 0.03 243);
2140
+ --ui-color-accent-foreground: oklch(0.3 0.07 243);
2141
+ --ui-color-muted: oklch(0.968 0.006 240);
2142
+ --ui-color-muted-foreground: oklch(0.5 0.024 240);
2143
+ --ui-color-border: oklch(0.916 0.006 240);
2144
+ --ui-color-input: oklch(0.916 0.006 240);
2145
+ --ui-color-ring: oklch(0.644 0.149 243);
2146
+ --ui-color-chart-1: oklch(0.6 0.15 243);
2147
+ --ui-color-chart-2: oklch(0.62 0.15 283);
2148
+ --ui-color-chart-3: oklch(0.62 0.15 338);
2149
+ --ui-color-chart-4: oklch(0.62 0.15 33);
2150
+ --ui-color-chart-5: oklch(0.62 0.15 98);
2151
+ }
2152
+
2153
+ .dark[data-palette="khan-blue"],
2154
+ [data-palette="khan-blue"].dark {
2155
+ --ui-color-primary: oklch(0.68 0.149 243);
2156
+ --ui-color-primary-foreground: oklch(0.2 0.02 243);
2157
+ --ui-color-secondary: oklch(0.274 0.01 240);
2158
+ --ui-color-secondary-foreground: oklch(0.972 0.01 240);
2159
+ --ui-color-accent: oklch(0.3 0.05 243);
2160
+ --ui-color-accent-foreground: oklch(0.92 0.04 243);
2161
+ --ui-color-muted: oklch(0.274 0.01 240);
2162
+ --ui-color-muted-foreground: oklch(0.712 0.016 240);
2163
+ --ui-color-border: oklch(0.305 0.01 240);
2164
+ --ui-color-input: oklch(0.33 0.01 240);
2165
+ --ui-color-ring: oklch(0.68 0.149 243);
2166
+ --ui-color-chart-1: oklch(0.6 0.15 243);
2167
+ --ui-color-chart-2: oklch(0.72 0.14 283);
2168
+ --ui-color-chart-3: oklch(0.72 0.14 338);
2169
+ --ui-color-chart-4: oklch(0.72 0.14 33);
2170
+ --ui-color-chart-5: oklch(0.72 0.14 98);
2171
+ }
2172
+
2173
+ /* Coursera Blue — Professional navy-blue for credential-serious learning. */
2174
+ /* inspired by: Coursera (original OKLCH, brand-derived) */
2175
+ [data-palette="coursera-blue"] {
2176
+ --ui-color-primary: oklch(0.493 0.204 260);
2177
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2178
+ --ui-color-secondary: oklch(0.962 0.006 262);
2179
+ --ui-color-secondary-foreground: oklch(0.29 0.018 262);
2180
+ --ui-color-accent: oklch(0.95 0.03 260);
2181
+ --ui-color-accent-foreground: oklch(0.3 0.07 260);
2182
+ --ui-color-muted: oklch(0.968 0.006 262);
2183
+ --ui-color-muted-foreground: oklch(0.5 0.024 262);
2184
+ --ui-color-border: oklch(0.916 0.006 262);
2185
+ --ui-color-input: oklch(0.916 0.006 262);
2186
+ --ui-color-ring: oklch(0.493 0.204 260);
2187
+ --ui-color-chart-1: oklch(0.6 0.15 260);
2188
+ --ui-color-chart-2: oklch(0.62 0.15 300);
2189
+ --ui-color-chart-3: oklch(0.62 0.15 355);
2190
+ --ui-color-chart-4: oklch(0.62 0.15 50);
2191
+ --ui-color-chart-5: oklch(0.62 0.15 115);
2192
+ }
2193
+
2194
+ .dark[data-palette="coursera-blue"],
2195
+ [data-palette="coursera-blue"].dark {
2196
+ --ui-color-primary: oklch(0.713 0.2 260);
2197
+ --ui-color-primary-foreground: oklch(0.2 0.02 260);
2198
+ --ui-color-secondary: oklch(0.274 0.01 262);
2199
+ --ui-color-secondary-foreground: oklch(0.972 0.01 262);
2200
+ --ui-color-accent: oklch(0.3 0.05 260);
2201
+ --ui-color-accent-foreground: oklch(0.92 0.04 260);
2202
+ --ui-color-muted: oklch(0.274 0.01 262);
2203
+ --ui-color-muted-foreground: oklch(0.712 0.016 262);
2204
+ --ui-color-border: oklch(0.305 0.01 262);
2205
+ --ui-color-input: oklch(0.33 0.01 262);
2206
+ --ui-color-ring: oklch(0.713 0.2 260);
2207
+ --ui-color-chart-1: oklch(0.6 0.15 260);
2208
+ --ui-color-chart-2: oklch(0.72 0.14 300);
2209
+ --ui-color-chart-3: oklch(0.72 0.14 355);
2210
+ --ui-color-chart-4: oklch(0.72 0.14 50);
2211
+ --ui-color-chart-5: oklch(0.72 0.14 115);
2212
+ }
2213
+
2214
+ /* Udemy Purple — Vibrant marketplace purple; energetic course-shopping feel. */
2215
+ /* inspired by: Udemy (original OKLCH, brand-derived) */
2216
+ [data-palette="udemy-purple"] {
2217
+ --ui-color-primary: oklch(0.584 0.24 307);
2218
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2219
+ --ui-color-secondary: oklch(0.962 0.006 300);
2220
+ --ui-color-secondary-foreground: oklch(0.29 0.018 300);
2221
+ --ui-color-accent: oklch(0.95 0.03 307);
2222
+ --ui-color-accent-foreground: oklch(0.3 0.07 307);
2223
+ --ui-color-muted: oklch(0.968 0.006 300);
2224
+ --ui-color-muted-foreground: oklch(0.5 0.024 300);
2225
+ --ui-color-border: oklch(0.916 0.006 300);
2226
+ --ui-color-input: oklch(0.916 0.006 300);
2227
+ --ui-color-ring: oklch(0.584 0.24 307);
2228
+ --ui-color-chart-1: oklch(0.6 0.15 307);
2229
+ --ui-color-chart-2: oklch(0.62 0.15 347);
2230
+ --ui-color-chart-3: oklch(0.62 0.15 42);
2231
+ --ui-color-chart-4: oklch(0.62 0.15 97);
2232
+ --ui-color-chart-5: oklch(0.62 0.15 162);
2233
+ }
2234
+
2235
+ .dark[data-palette="udemy-purple"],
2236
+ [data-palette="udemy-purple"].dark {
2237
+ --ui-color-primary: oklch(0.804 0.2 307);
2238
+ --ui-color-primary-foreground: oklch(0.2 0.02 307);
2239
+ --ui-color-secondary: oklch(0.274 0.01 300);
2240
+ --ui-color-secondary-foreground: oklch(0.972 0.01 300);
2241
+ --ui-color-accent: oklch(0.3 0.05 307);
2242
+ --ui-color-accent-foreground: oklch(0.92 0.04 307);
2243
+ --ui-color-muted: oklch(0.274 0.01 300);
2244
+ --ui-color-muted-foreground: oklch(0.712 0.016 300);
2245
+ --ui-color-border: oklch(0.305 0.01 300);
2246
+ --ui-color-input: oklch(0.33 0.01 300);
2247
+ --ui-color-ring: oklch(0.804 0.2 307);
2248
+ --ui-color-chart-1: oklch(0.6 0.15 307);
2249
+ --ui-color-chart-2: oklch(0.72 0.14 347);
2250
+ --ui-color-chart-3: oklch(0.72 0.14 42);
2251
+ --ui-color-chart-4: oklch(0.72 0.14 97);
2252
+ --ui-color-chart-5: oklch(0.72 0.14 162);
2253
+ }
2254
+
2255
+ /* VS Code Dark — VS Code's editor blue on a cool dark shell; instantly familiar to devs. */
2256
+ /* inspired by: Visual Studio Code (original OKLCH, brand-derived) */
2257
+ [data-palette="vscode-dark"] {
2258
+ --ui-color-primary: oklch(0.547 0.155 249);
2259
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2260
+ --ui-color-secondary: oklch(0.962 0.006 240);
2261
+ --ui-color-secondary-foreground: oklch(0.29 0.018 240);
2262
+ --ui-color-accent: oklch(0.95 0.03 249);
2263
+ --ui-color-accent-foreground: oklch(0.3 0.07 249);
2264
+ --ui-color-muted: oklch(0.968 0.006 240);
2265
+ --ui-color-muted-foreground: oklch(0.5 0.024 240);
2266
+ --ui-color-border: oklch(0.916 0.006 240);
2267
+ --ui-color-input: oklch(0.916 0.006 240);
2268
+ --ui-color-ring: oklch(0.547 0.155 249);
2269
+ --ui-color-chart-1: oklch(0.6 0.15 249);
2270
+ --ui-color-chart-2: oklch(0.62 0.15 289);
2271
+ --ui-color-chart-3: oklch(0.62 0.15 344);
2272
+ --ui-color-chart-4: oklch(0.62 0.15 39);
2273
+ --ui-color-chart-5: oklch(0.62 0.15 104);
2274
+ }
2275
+
2276
+ .dark[data-palette="vscode-dark"],
2277
+ [data-palette="vscode-dark"].dark {
2278
+ --ui-color-primary: oklch(0.787 0.155 249);
2279
+ --ui-color-primary-foreground: oklch(0.2 0.02 249);
2280
+ --ui-color-secondary: oklch(0.274 0.01 240);
2281
+ --ui-color-secondary-foreground: oklch(0.972 0.01 240);
2282
+ --ui-color-accent: oklch(0.3 0.05 249);
2283
+ --ui-color-accent-foreground: oklch(0.92 0.04 249);
2284
+ --ui-color-muted: oklch(0.274 0.01 240);
2285
+ --ui-color-muted-foreground: oklch(0.712 0.016 240);
2286
+ --ui-color-border: oklch(0.305 0.01 240);
2287
+ --ui-color-input: oklch(0.33 0.01 240);
2288
+ --ui-color-ring: oklch(0.787 0.155 249);
2289
+ --ui-color-chart-1: oklch(0.6 0.15 249);
2290
+ --ui-color-chart-2: oklch(0.72 0.14 289);
2291
+ --ui-color-chart-3: oklch(0.72 0.14 344);
2292
+ --ui-color-chart-4: oklch(0.72 0.14 39);
2293
+ --ui-color-chart-5: oklch(0.72 0.14 104);
2294
+ }
2295
+
2296
+ /* iTerm Green — Phosphor terminal green on near-black; deliberate retro-CLI aesthetic. */
2297
+ /* inspired by: iTerm2, classic terminals (original OKLCH, brand-derived) */
2298
+ [data-palette="iterm-green"] {
2299
+ --ui-color-primary: oklch(0.761 0.2 150);
2300
+ --ui-color-primary-foreground: oklch(0.2 0.02 150);
2301
+ --ui-color-secondary: oklch(0.962 0 0);
2302
+ --ui-color-secondary-foreground: oklch(0.29 0 0);
2303
+ --ui-color-accent: oklch(0.95 0.03 150);
2304
+ --ui-color-accent-foreground: oklch(0.3 0.07 150);
2305
+ --ui-color-muted: oklch(0.968 0 0);
2306
+ --ui-color-muted-foreground: oklch(0.5 0 0);
2307
+ --ui-color-border: oklch(0.916 0 0);
2308
+ --ui-color-input: oklch(0.916 0 0);
2309
+ --ui-color-ring: oklch(0.761 0.2 150);
2310
+ --ui-color-chart-1: oklch(0.35 0 0);
2311
+ --ui-color-chart-2: oklch(0.48 0 0);
2312
+ --ui-color-chart-3: oklch(0.6 0 0);
2313
+ --ui-color-chart-4: oklch(0.7 0 0);
2314
+ --ui-color-chart-5: oklch(0.8 0 0);
2315
+ }
2316
+
2317
+ .dark[data-palette="iterm-green"],
2318
+ [data-palette="iterm-green"].dark {
2319
+ --ui-color-primary: oklch(0.761 0.2 150);
2320
+ --ui-color-primary-foreground: oklch(0.2 0.02 150);
2321
+ --ui-color-secondary: oklch(0.274 0 0);
2322
+ --ui-color-secondary-foreground: oklch(0.972 0 0);
2323
+ --ui-color-accent: oklch(0.3 0.05 150);
2324
+ --ui-color-accent-foreground: oklch(0.92 0.04 150);
2325
+ --ui-color-muted: oklch(0.274 0 0);
2326
+ --ui-color-muted-foreground: oklch(0.712 0 0);
2327
+ --ui-color-border: oklch(0.305 0 0);
2328
+ --ui-color-input: oklch(0.33 0 0);
2329
+ --ui-color-ring: oklch(0.761 0.2 150);
2330
+ --ui-color-chart-1: oklch(0.92 0 0);
2331
+ --ui-color-chart-2: oklch(0.82 0 0);
2332
+ --ui-color-chart-3: oklch(0.72 0 0);
2333
+ --ui-color-chart-4: oklch(0.62 0 0);
2334
+ --ui-color-chart-5: oklch(0.52 0 0);
2335
+ }
2336
+
2337
+ /* Supabase Emerald — Bold Supabase emerald that pops on dark developer surfaces. */
2338
+ /* inspired by: Supabase (original OKLCH, brand-derived) */
2339
+ [data-palette="supabase-emerald"] {
2340
+ --ui-color-primary: oklch(0.762 0.154 159);
2341
+ --ui-color-primary-foreground: oklch(0.2 0.02 159);
2342
+ --ui-color-secondary: oklch(0.962 0.006 158);
2343
+ --ui-color-secondary-foreground: oklch(0.29 0.018 158);
2344
+ --ui-color-accent: oklch(0.95 0.03 159);
2345
+ --ui-color-accent-foreground: oklch(0.3 0.07 159);
2346
+ --ui-color-muted: oklch(0.968 0.006 158);
2347
+ --ui-color-muted-foreground: oklch(0.5 0.024 158);
2348
+ --ui-color-border: oklch(0.916 0.006 158);
2349
+ --ui-color-input: oklch(0.916 0.006 158);
2350
+ --ui-color-ring: oklch(0.762 0.154 159);
2351
+ --ui-color-chart-1: oklch(0.6 0.15 159);
2352
+ --ui-color-chart-2: oklch(0.62 0.15 199);
2353
+ --ui-color-chart-3: oklch(0.62 0.15 254);
2354
+ --ui-color-chart-4: oklch(0.62 0.15 309);
2355
+ --ui-color-chart-5: oklch(0.62 0.15 14);
2356
+ }
2357
+
2358
+ .dark[data-palette="supabase-emerald"],
2359
+ [data-palette="supabase-emerald"].dark {
2360
+ --ui-color-primary: oklch(0.762 0.154 159);
2361
+ --ui-color-primary-foreground: oklch(0.2 0.02 159);
2362
+ --ui-color-secondary: oklch(0.274 0.01 158);
2363
+ --ui-color-secondary-foreground: oklch(0.972 0.01 158);
2364
+ --ui-color-accent: oklch(0.3 0.05 159);
2365
+ --ui-color-accent-foreground: oklch(0.92 0.04 159);
2366
+ --ui-color-muted: oklch(0.274 0.01 158);
2367
+ --ui-color-muted-foreground: oklch(0.712 0.016 158);
2368
+ --ui-color-border: oklch(0.305 0.01 158);
2369
+ --ui-color-input: oklch(0.33 0.01 158);
2370
+ --ui-color-ring: oklch(0.762 0.154 159);
2371
+ --ui-color-chart-1: oklch(0.6 0.15 159);
2372
+ --ui-color-chart-2: oklch(0.72 0.14 199);
2373
+ --ui-color-chart-3: oklch(0.72 0.14 254);
2374
+ --ui-color-chart-4: oklch(0.72 0.14 309);
2375
+ --ui-color-chart-5: oklch(0.72 0.14 14);
2376
+ }
2377
+
2378
+ /* Neon Cyber — Electric magenta + cyan on black; maximum-energy neon-on-dark. */
2379
+ /* inspired by: cyberpunk UIs (original OKLCH, brand-derived) */
2380
+ [data-palette="neon-cyber"] {
2381
+ --ui-color-primary: oklch(0.669 0.24 354);
2382
+ --ui-color-primary-foreground: oklch(0.2 0.02 354);
2383
+ --ui-color-secondary: oklch(0.962 0.006 320);
2384
+ --ui-color-secondary-foreground: oklch(0.29 0.018 320);
2385
+ --ui-color-accent: oklch(0.82 0.146 209);
2386
+ --ui-color-accent-foreground: oklch(0.2 0.02 209);
2387
+ --ui-color-muted: oklch(0.968 0.006 320);
2388
+ --ui-color-muted-foreground: oklch(0.5 0.024 320);
2389
+ --ui-color-border: oklch(0.916 0.006 320);
2390
+ --ui-color-input: oklch(0.916 0.006 320);
2391
+ --ui-color-ring: oklch(0.669 0.24 354);
2392
+ --ui-color-chart-1: oklch(0.6 0.15 354);
2393
+ --ui-color-chart-2: oklch(0.62 0.15 34);
2394
+ --ui-color-chart-3: oklch(0.62 0.15 89);
2395
+ --ui-color-chart-4: oklch(0.62 0.15 144);
2396
+ --ui-color-chart-5: oklch(0.62 0.15 209);
2397
+ }
2398
+
2399
+ .dark[data-palette="neon-cyber"],
2400
+ [data-palette="neon-cyber"].dark {
2401
+ --ui-color-primary: oklch(0.68 0.2 354);
2402
+ --ui-color-primary-foreground: oklch(0.2 0.02 354);
2403
+ --ui-color-secondary: oklch(0.274 0.01 320);
2404
+ --ui-color-secondary-foreground: oklch(0.972 0.01 320);
2405
+ --ui-color-accent: oklch(0.82 0.146 209);
2406
+ --ui-color-accent-foreground: oklch(0.2 0.02 209);
2407
+ --ui-color-muted: oklch(0.274 0.01 320);
2408
+ --ui-color-muted-foreground: oklch(0.712 0.016 320);
2409
+ --ui-color-border: oklch(0.305 0.01 320);
2410
+ --ui-color-input: oklch(0.33 0.01 320);
2411
+ --ui-color-ring: oklch(0.68 0.2 354);
2412
+ --ui-color-chart-1: oklch(0.6 0.15 354);
2413
+ --ui-color-chart-2: oklch(0.72 0.14 34);
2414
+ --ui-color-chart-3: oklch(0.72 0.14 89);
2415
+ --ui-color-chart-4: oklch(0.72 0.14 144);
2416
+ --ui-color-chart-5: oklch(0.72 0.14 209);
2417
+ }
2418
+
2419
+ /* Government Blue — USWDS accessible authority-blue; conservative, high-legibility, trusted. */
2420
+ /* inspired by: US Web Design System (original OKLCH, brand-derived) */
2421
+ [data-palette="gov-blue"] {
2422
+ --ui-color-primary: oklch(0.473 0.132 249);
2423
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2424
+ --ui-color-secondary: oklch(0.962 0.006 245);
2425
+ --ui-color-secondary-foreground: oklch(0.29 0.018 245);
2426
+ --ui-color-accent: oklch(0.95 0.03 249);
2427
+ --ui-color-accent-foreground: oklch(0.3 0.07 249);
2428
+ --ui-color-muted: oklch(0.968 0.006 245);
2429
+ --ui-color-muted-foreground: oklch(0.5 0.024 245);
2430
+ --ui-color-border: oklch(0.916 0.006 245);
2431
+ --ui-color-input: oklch(0.916 0.006 245);
2432
+ --ui-color-ring: oklch(0.473 0.132 249);
2433
+ --ui-color-chart-1: oklch(0.6 0.15 249);
2434
+ --ui-color-chart-2: oklch(0.62 0.15 289);
2435
+ --ui-color-chart-3: oklch(0.62 0.15 344);
2436
+ --ui-color-chart-4: oklch(0.62 0.15 39);
2437
+ --ui-color-chart-5: oklch(0.62 0.15 104);
2438
+ }
2439
+
2440
+ .dark[data-palette="gov-blue"],
2441
+ [data-palette="gov-blue"].dark {
2442
+ --ui-color-primary: oklch(0.693 0.132 249);
2443
+ --ui-color-primary-foreground: oklch(0.2 0.02 249);
2444
+ --ui-color-secondary: oklch(0.274 0.01 245);
2445
+ --ui-color-secondary-foreground: oklch(0.972 0.01 245);
2446
+ --ui-color-accent: oklch(0.3 0.05 249);
2447
+ --ui-color-accent-foreground: oklch(0.92 0.04 249);
2448
+ --ui-color-muted: oklch(0.274 0.01 245);
2449
+ --ui-color-muted-foreground: oklch(0.712 0.016 245);
2450
+ --ui-color-border: oklch(0.305 0.01 245);
2451
+ --ui-color-input: oklch(0.33 0.01 245);
2452
+ --ui-color-ring: oklch(0.693 0.132 249);
2453
+ --ui-color-chart-1: oklch(0.6 0.15 249);
2454
+ --ui-color-chart-2: oklch(0.72 0.14 289);
2455
+ --ui-color-chart-3: oklch(0.72 0.14 344);
2456
+ --ui-color-chart-4: oklch(0.72 0.14 39);
2457
+ --ui-color-chart-5: oklch(0.72 0.14 104);
2458
+ }
2459
+
2460
+ /* IBM Carbon — Carbon's signature blue; rigorous, enterprise-grade, data-dense. */
2461
+ /* inspired by: IBM Carbon Design (original OKLCH, brand-derived) */
2462
+ [data-palette="ibm-carbon"] {
2463
+ --ui-color-primary: oklch(0.557 0.24 262);
2464
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2465
+ --ui-color-secondary: oklch(0.962 0.006 262);
2466
+ --ui-color-secondary-foreground: oklch(0.29 0.018 262);
2467
+ --ui-color-accent: oklch(0.95 0.03 262);
2468
+ --ui-color-accent-foreground: oklch(0.3 0.07 262);
2469
+ --ui-color-muted: oklch(0.968 0.006 262);
2470
+ --ui-color-muted-foreground: oklch(0.5 0.024 262);
2471
+ --ui-color-border: oklch(0.916 0.006 262);
2472
+ --ui-color-input: oklch(0.916 0.006 262);
2473
+ --ui-color-ring: oklch(0.557 0.24 262);
2474
+ --ui-color-chart-1: oklch(0.6 0.15 262);
2475
+ --ui-color-chart-2: oklch(0.62 0.15 302);
2476
+ --ui-color-chart-3: oklch(0.62 0.15 357);
2477
+ --ui-color-chart-4: oklch(0.62 0.15 52);
2478
+ --ui-color-chart-5: oklch(0.62 0.15 117);
2479
+ }
2480
+
2481
+ .dark[data-palette="ibm-carbon"],
2482
+ [data-palette="ibm-carbon"].dark {
2483
+ --ui-color-primary: oklch(0.777 0.2 262);
2484
+ --ui-color-primary-foreground: oklch(0.2 0.02 262);
2485
+ --ui-color-secondary: oklch(0.274 0.01 262);
2486
+ --ui-color-secondary-foreground: oklch(0.972 0.01 262);
2487
+ --ui-color-accent: oklch(0.3 0.05 262);
2488
+ --ui-color-accent-foreground: oklch(0.92 0.04 262);
2489
+ --ui-color-muted: oklch(0.274 0.01 262);
2490
+ --ui-color-muted-foreground: oklch(0.712 0.016 262);
2491
+ --ui-color-border: oklch(0.305 0.01 262);
2492
+ --ui-color-input: oklch(0.33 0.01 262);
2493
+ --ui-color-ring: oklch(0.777 0.2 262);
2494
+ --ui-color-chart-1: oklch(0.6 0.15 262);
2495
+ --ui-color-chart-2: oklch(0.72 0.14 302);
2496
+ --ui-color-chart-3: oklch(0.72 0.14 357);
2497
+ --ui-color-chart-4: oklch(0.72 0.14 52);
2498
+ --ui-color-chart-5: oklch(0.72 0.14 117);
2499
+ }
2500
+
2501
+ /* Microsoft Fluent — Fluent 2 product-blue; polished, familiar, business-ready. */
2502
+ /* inspired by: Microsoft Fluent 2 (original OKLCH, brand-derived) */
2503
+ [data-palette="microsoft-fluent"] {
2504
+ --ui-color-primary: oklch(0.526 0.149 252);
2505
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2506
+ --ui-color-secondary: oklch(0.962 0.006 250);
2507
+ --ui-color-secondary-foreground: oklch(0.29 0.018 250);
2508
+ --ui-color-accent: oklch(0.95 0.03 252);
2509
+ --ui-color-accent-foreground: oklch(0.3 0.07 252);
2510
+ --ui-color-muted: oklch(0.968 0.006 250);
2511
+ --ui-color-muted-foreground: oklch(0.5 0.024 250);
2512
+ --ui-color-border: oklch(0.916 0.006 250);
2513
+ --ui-color-input: oklch(0.916 0.006 250);
2514
+ --ui-color-ring: oklch(0.526 0.149 252);
2515
+ --ui-color-chart-1: oklch(0.6 0.15 252);
2516
+ --ui-color-chart-2: oklch(0.62 0.15 292);
2517
+ --ui-color-chart-3: oklch(0.62 0.15 347);
2518
+ --ui-color-chart-4: oklch(0.62 0.15 42);
2519
+ --ui-color-chart-5: oklch(0.62 0.15 107);
2520
+ }
2521
+
2522
+ .dark[data-palette="microsoft-fluent"],
2523
+ [data-palette="microsoft-fluent"].dark {
2524
+ --ui-color-primary: oklch(0.746 0.149 252);
2525
+ --ui-color-primary-foreground: oklch(0.2 0.02 252);
2526
+ --ui-color-secondary: oklch(0.274 0.01 250);
2527
+ --ui-color-secondary-foreground: oklch(0.972 0.01 250);
2528
+ --ui-color-accent: oklch(0.3 0.05 252);
2529
+ --ui-color-accent-foreground: oklch(0.92 0.04 252);
2530
+ --ui-color-muted: oklch(0.274 0.01 250);
2531
+ --ui-color-muted-foreground: oklch(0.712 0.016 250);
2532
+ --ui-color-border: oklch(0.305 0.01 250);
2533
+ --ui-color-input: oklch(0.33 0.01 250);
2534
+ --ui-color-ring: oklch(0.746 0.149 252);
2535
+ --ui-color-chart-1: oklch(0.6 0.15 252);
2536
+ --ui-color-chart-2: oklch(0.72 0.14 292);
2537
+ --ui-color-chart-3: oklch(0.72 0.14 347);
2538
+ --ui-color-chart-4: oklch(0.72 0.14 42);
2539
+ --ui-color-chart-5: oklch(0.72 0.14 107);
2540
+ }
2541
+
2542
+ /* Dribbble Pink — Hot creative pink; expressive portfolio energy that still reads pro. */
2543
+ /* inspired by: Dribbble (original OKLCH, brand-derived) */
2544
+ [data-palette="dribbble-pink"] {
2545
+ --ui-color-primary: oklch(0.652 0.199 1);
2546
+ --ui-color-primary-foreground: oklch(0.2 0.02 1);
2547
+ --ui-color-secondary: oklch(0.962 0.006 10);
2548
+ --ui-color-secondary-foreground: oklch(0.29 0.018 10);
2549
+ --ui-color-accent: oklch(0.95 0.03 1);
2550
+ --ui-color-accent-foreground: oklch(0.3 0.07 1);
2551
+ --ui-color-muted: oklch(0.968 0.006 10);
2552
+ --ui-color-muted-foreground: oklch(0.5 0.024 10);
2553
+ --ui-color-border: oklch(0.916 0.006 10);
2554
+ --ui-color-input: oklch(0.916 0.006 10);
2555
+ --ui-color-ring: oklch(0.652 0.199 1);
2556
+ --ui-color-chart-1: oklch(0.6 0.15 1);
2557
+ --ui-color-chart-2: oklch(0.62 0.15 41);
2558
+ --ui-color-chart-3: oklch(0.62 0.15 96);
2559
+ --ui-color-chart-4: oklch(0.62 0.15 151);
2560
+ --ui-color-chart-5: oklch(0.62 0.15 216);
2561
+ }
2562
+
2563
+ .dark[data-palette="dribbble-pink"],
2564
+ [data-palette="dribbble-pink"].dark {
2565
+ --ui-color-primary: oklch(0.68 0.199 1);
2566
+ --ui-color-primary-foreground: oklch(0.2 0.02 1);
2567
+ --ui-color-secondary: oklch(0.274 0.01 10);
2568
+ --ui-color-secondary-foreground: oklch(0.972 0.01 10);
2569
+ --ui-color-accent: oklch(0.3 0.05 1);
2570
+ --ui-color-accent-foreground: oklch(0.92 0.04 1);
2571
+ --ui-color-muted: oklch(0.274 0.01 10);
2572
+ --ui-color-muted-foreground: oklch(0.712 0.016 10);
2573
+ --ui-color-border: oklch(0.305 0.01 10);
2574
+ --ui-color-input: oklch(0.33 0.01 10);
2575
+ --ui-color-ring: oklch(0.68 0.199 1);
2576
+ --ui-color-chart-1: oklch(0.6 0.15 1);
2577
+ --ui-color-chart-2: oklch(0.72 0.14 41);
2578
+ --ui-color-chart-3: oklch(0.72 0.14 96);
2579
+ --ui-color-chart-4: oklch(0.72 0.14 151);
2580
+ --ui-color-chart-5: oklch(0.72 0.14 216);
2581
+ }
2582
+
2583
+ /* Behance Blue — Confident electric blue for professional creative showcases. */
2584
+ /* inspired by: Behance (original OKLCH, brand-derived) */
2585
+ [data-palette="behance-blue"] {
2586
+ --ui-color-primary: oklch(0.551 0.235 262);
2587
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2588
+ --ui-color-secondary: oklch(0.962 0.006 262);
2589
+ --ui-color-secondary-foreground: oklch(0.29 0.018 262);
2590
+ --ui-color-accent: oklch(0.95 0.03 262);
2591
+ --ui-color-accent-foreground: oklch(0.3 0.07 262);
2592
+ --ui-color-muted: oklch(0.968 0.006 262);
2593
+ --ui-color-muted-foreground: oklch(0.5 0.024 262);
2594
+ --ui-color-border: oklch(0.916 0.006 262);
2595
+ --ui-color-input: oklch(0.916 0.006 262);
2596
+ --ui-color-ring: oklch(0.551 0.235 262);
2597
+ --ui-color-chart-1: oklch(0.6 0.15 262);
2598
+ --ui-color-chart-2: oklch(0.62 0.15 302);
2599
+ --ui-color-chart-3: oklch(0.62 0.15 357);
2600
+ --ui-color-chart-4: oklch(0.62 0.15 52);
2601
+ --ui-color-chart-5: oklch(0.62 0.15 117);
2602
+ }
2603
+
2604
+ .dark[data-palette="behance-blue"],
2605
+ [data-palette="behance-blue"].dark {
2606
+ --ui-color-primary: oklch(0.791 0.2 262);
2607
+ --ui-color-primary-foreground: oklch(0.2 0.02 262);
2608
+ --ui-color-secondary: oklch(0.274 0.01 262);
2609
+ --ui-color-secondary-foreground: oklch(0.972 0.01 262);
2610
+ --ui-color-accent: oklch(0.3 0.05 262);
2611
+ --ui-color-accent-foreground: oklch(0.92 0.04 262);
2612
+ --ui-color-muted: oklch(0.274 0.01 262);
2613
+ --ui-color-muted-foreground: oklch(0.712 0.016 262);
2614
+ --ui-color-border: oklch(0.305 0.01 262);
2615
+ --ui-color-input: oklch(0.33 0.01 262);
2616
+ --ui-color-ring: oklch(0.791 0.2 262);
2617
+ --ui-color-chart-1: oklch(0.6 0.15 262);
2618
+ --ui-color-chart-2: oklch(0.72 0.14 302);
2619
+ --ui-color-chart-3: oklch(0.72 0.14 357);
2620
+ --ui-color-chart-4: oklch(0.72 0.14 52);
2621
+ --ui-color-chart-5: oklch(0.72 0.14 117);
2622
+ }
2623
+
2624
+ /* Awwwards Dark — Near-black canvas with a single electric-blue pop; gallery-grade drama. */
2625
+ /* inspired by: Awwwards (original OKLCH, brand-derived) */
2626
+ [data-palette="awwwards-dark"] {
2627
+ --ui-color-primary: oklch(0.512 0.24 267);
2628
+ --ui-color-primary-foreground: oklch(0.985 0 0);
2629
+ --ui-color-secondary: oklch(0.962 0.006 266);
2630
+ --ui-color-secondary-foreground: oklch(0.29 0.018 266);
2631
+ --ui-color-accent: oklch(0.95 0.03 267);
2632
+ --ui-color-accent-foreground: oklch(0.3 0.07 267);
2633
+ --ui-color-muted: oklch(0.968 0.006 266);
2634
+ --ui-color-muted-foreground: oklch(0.5 0.024 266);
2635
+ --ui-color-border: oklch(0.916 0.006 266);
2636
+ --ui-color-input: oklch(0.916 0.006 266);
2637
+ --ui-color-ring: oklch(0.512 0.24 267);
2638
+ --ui-color-chart-1: oklch(0.6 0.15 267);
2639
+ --ui-color-chart-2: oklch(0.62 0.15 307);
2640
+ --ui-color-chart-3: oklch(0.62 0.15 2);
2641
+ --ui-color-chart-4: oklch(0.62 0.15 57);
2642
+ --ui-color-chart-5: oklch(0.62 0.15 122);
2643
+ }
2644
+
2645
+ .dark[data-palette="awwwards-dark"],
2646
+ [data-palette="awwwards-dark"].dark {
2647
+ --ui-color-primary: oklch(0.732 0.2 267);
2648
+ --ui-color-primary-foreground: oklch(0.2 0.02 267);
2649
+ --ui-color-secondary: oklch(0.274 0.01 266);
2650
+ --ui-color-secondary-foreground: oklch(0.972 0.01 266);
2651
+ --ui-color-accent: oklch(0.3 0.05 267);
2652
+ --ui-color-accent-foreground: oklch(0.92 0.04 267);
2653
+ --ui-color-muted: oklch(0.274 0.01 266);
2654
+ --ui-color-muted-foreground: oklch(0.712 0.016 266);
2655
+ --ui-color-border: oklch(0.305 0.01 266);
2656
+ --ui-color-input: oklch(0.33 0.01 266);
2657
+ --ui-color-ring: oklch(0.732 0.2 267);
2658
+ --ui-color-chart-1: oklch(0.6 0.15 267);
2659
+ --ui-color-chart-2: oklch(0.72 0.14 307);
2660
+ --ui-color-chart-3: oklch(0.72 0.14 2);
2661
+ --ui-color-chart-4: oklch(0.72 0.14 57);
2662
+ --ui-color-chart-5: oklch(0.72 0.14 122);
2663
+ }