@calliopelabs/ui 0.13.0 → 0.14.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 (73) hide show
  1. package/README.md +50 -3
  2. package/dist/agent/AgentChat.d.ts +56 -0
  3. package/dist/agent/AgentChat.js +76 -0
  4. package/dist/agent/AgentLauncher.d.ts +25 -0
  5. package/dist/agent/AgentLauncher.js +25 -0
  6. package/dist/agent/AgentProvider.d.ts +82 -0
  7. package/dist/agent/AgentProvider.js +176 -0
  8. package/dist/agent/CalliopeAgent.d.ts +43 -0
  9. package/dist/agent/CalliopeAgent.js +111 -0
  10. package/dist/agent/controller.d.ts +148 -0
  11. package/dist/agent/controller.js +463 -0
  12. package/dist/agent/copilotkit/CopilotKitAgentProvider.d.ts +41 -0
  13. package/dist/agent/copilotkit/CopilotKitAgentProvider.js +145 -0
  14. package/dist/agent/copilotkit/index.d.ts +6 -0
  15. package/dist/agent/copilotkit/index.js +6 -0
  16. package/dist/agent/engine.d.ts +41 -0
  17. package/dist/agent/engine.js +93 -0
  18. package/dist/agent/index.d.ts +15 -0
  19. package/dist/agent/index.js +15 -0
  20. package/dist/agent/mock.d.ts +34 -0
  21. package/dist/agent/mock.js +112 -0
  22. package/dist/agent/surface.d.ts +30 -0
  23. package/dist/agent/surface.js +90 -0
  24. package/dist/agent/tool.d.ts +98 -0
  25. package/dist/agent/tool.js +81 -0
  26. package/dist/appearance/brands.d.ts +14 -12
  27. package/dist/appearance/brands.js +18 -51
  28. package/dist/chat/AgentProgress.d.ts +19 -0
  29. package/dist/chat/AgentProgress.js +34 -0
  30. package/dist/chat/Composer.d.ts +31 -0
  31. package/dist/chat/Composer.js +44 -0
  32. package/dist/chat/MessageBubble.d.ts +23 -0
  33. package/dist/chat/MessageBubble.js +26 -0
  34. package/dist/chat/MessageList.d.ts +36 -0
  35. package/dist/chat/MessageList.js +68 -0
  36. package/dist/chat/ModelPicker.d.ts +17 -0
  37. package/dist/chat/ModelPicker.js +13 -0
  38. package/dist/chat/ToolCallCard.d.ts +27 -0
  39. package/dist/chat/ToolCallCard.js +52 -0
  40. package/dist/chat/model.d.ts +123 -0
  41. package/dist/chat/model.js +337 -0
  42. package/dist/chat/patch.d.ts +12 -0
  43. package/dist/chat/patch.js +149 -0
  44. package/dist/chat/useAgUiRun.d.ts +52 -0
  45. package/dist/chat/useAgUiRun.js +137 -0
  46. package/dist/index.d.ts +9 -0
  47. package/dist/index.js +10 -0
  48. package/dist/primitives/Button.d.ts +1 -1
  49. package/dist/provider/messages.d.ts +66 -0
  50. package/dist/provider/messages.js +71 -0
  51. package/dist/theme/mappings/palette.d.ts +52 -0
  52. package/dist/theme/mappings/palette.js +208 -0
  53. package/dist/theme/mappings/render.d.ts +9 -0
  54. package/dist/theme/mappings/render.js +520 -0
  55. package/dist/theme/mappings/targets.d.ts +43 -0
  56. package/dist/theme/mappings/targets.js +222 -0
  57. package/dist/theme/tokens.d.ts +10 -9
  58. package/dist/theme/tokens.generated.d.ts +353 -0
  59. package/dist/theme/tokens.generated.js +357 -0
  60. package/dist/theme/tokens.js +20 -264
  61. package/dist/tokens/README.jupyterlab.md +125 -0
  62. package/dist/tokens/README.md +15 -0
  63. package/dist/tokens/README.native.md +29 -0
  64. package/dist/tokens/README.plain.md +84 -0
  65. package/dist/tokens/README.python.md +33 -0
  66. package/dist/tokens/README.vscode.md +114 -0
  67. package/dist/tokens/jupyterlab.css +1710 -0
  68. package/dist/tokens/plain.css +930 -0
  69. package/dist/tokens/tokens.native.d.ts +85 -0
  70. package/dist/tokens/tokens.native.js +773 -0
  71. package/dist/tokens/tokens.py +1043 -0
  72. package/dist/tokens/vscode.css +1138 -0
  73. package/package.json +35 -2
@@ -0,0 +1,930 @@
1
+ /*
2
+ * @calliopelabs/ui tokens as plain CSS variables.
3
+ * Generated by `npm run theme` from the design tokens (tokens/*.json). Do not edit by hand.
4
+ *
5
+ * Every colour token under its own name as a concrete value (no var()
6
+ * chains, no color-mix, no product machinery), plus corners, motion and type.
7
+ * For static sites and apps that only read variables. data-ground and
8
+ * data-accent on <html> (or any element) choose the ground and accent.
9
+ * See README.plain.md.
10
+ */
11
+
12
+ /* Default: Black ground, Green accent */
13
+ :root {
14
+ --radius: 2px;
15
+ --motion-fast: 120ms;
16
+ --motion-base: 200ms;
17
+ --motion-slow: 320ms;
18
+ --font-sans: var(--font-plex-sans, "IBM Plex Sans"), system-ui, sans-serif;
19
+ --font-mono: var(--font-plex-mono, "IBM Plex Mono"), ui-monospace, SFMono-Regular, Menlo, monospace;
20
+ --font-head: var(--font-dm-sans, "DM Sans"), system-ui, sans-serif;
21
+ color-scheme: dark;
22
+ --background: #000000;
23
+ --foreground: #f0f2f1;
24
+ --card: #0a0a0a;
25
+ --card-foreground: #f0f2f1;
26
+ --popover: #141414;
27
+ --popover-foreground: #f0f2f1;
28
+ --primary: #2f9e52;
29
+ --primary-foreground: #04241b;
30
+ --secondary: #161616;
31
+ --secondary-foreground: #f0f2f1;
32
+ --muted: #111111;
33
+ --muted-foreground: #848b88;
34
+ --accent: #1b1b1b;
35
+ --accent-foreground: #f0f2f1;
36
+ --destructive: #ff6b6b;
37
+ --border: rgba(255, 255, 255, 0.1);
38
+ --input: rgba(255, 255, 255, 0.1);
39
+ --ring: #2f9e52;
40
+ --chart-1: #2f9e52;
41
+ --chart-2: #8fd82a;
42
+ --chart-3: #cbf39d;
43
+ --chart-4: #e0b34a;
44
+ --chart-5: #0b6644;
45
+ --sidebar: #0a0a0a;
46
+ --sidebar-foreground: #f0f2f1;
47
+ --sidebar-primary: #2f9e52;
48
+ --sidebar-primary-foreground: #04241b;
49
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
50
+ --sidebar-accent-foreground: #f0f2f1;
51
+ --sidebar-border: rgba(255, 255, 255, 0.08);
52
+ --sidebar-ring: #2f9e52;
53
+ --sidebar-muted-foreground: #848b88;
54
+ --surface-0: #000000;
55
+ --surface-1: #0a0a0a;
56
+ --surface-2: #141414;
57
+ --success: #8fd82a;
58
+ --success-fg: #a6e34d;
59
+ --success-bg: rgba(143, 216, 42, 0.1);
60
+ --success-border: rgba(143, 216, 42, 0.35);
61
+ --warning: #f0c34e;
62
+ --warning-fg: #f0c34e;
63
+ --warning-bg: rgba(240, 195, 78, 0.1);
64
+ --warning-border: rgba(240, 195, 78, 0.35);
65
+ --info: #2f9e52;
66
+ --info-fg: #5cbb79;
67
+ --info-bg: rgba(47, 158, 82, 0.14);
68
+ --info-border: rgba(47, 158, 82, 0.4);
69
+ --danger: #ff6b6b;
70
+ --danger-fg: #ff8a8a;
71
+ --danger-bg: rgba(255, 107, 107, 0.1);
72
+ --danger-border: rgba(255, 107, 107, 0.35);
73
+ }
74
+
75
+ /* Ground: Black (dark) */
76
+ [data-ground="black"] {
77
+ color-scheme: dark;
78
+ --background: #000000;
79
+ --foreground: #f0f2f1;
80
+ --card: #0a0a0a;
81
+ --card-foreground: #f0f2f1;
82
+ --popover: #141414;
83
+ --popover-foreground: #f0f2f1;
84
+ --primary: #2f9e52;
85
+ --primary-foreground: #04241b;
86
+ --secondary: #161616;
87
+ --secondary-foreground: #f0f2f1;
88
+ --muted: #111111;
89
+ --muted-foreground: #848b88;
90
+ --accent: #1b1b1b;
91
+ --accent-foreground: #f0f2f1;
92
+ --destructive: #ff6b6b;
93
+ --border: rgba(255, 255, 255, 0.1);
94
+ --input: rgba(255, 255, 255, 0.1);
95
+ --ring: #2f9e52;
96
+ --chart-1: #2f9e52;
97
+ --chart-2: #8fd82a;
98
+ --chart-3: #cbf39d;
99
+ --chart-4: #e0b34a;
100
+ --chart-5: #0b6644;
101
+ --sidebar: #0a0a0a;
102
+ --sidebar-foreground: #f0f2f1;
103
+ --sidebar-primary: #2f9e52;
104
+ --sidebar-primary-foreground: #04241b;
105
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
106
+ --sidebar-accent-foreground: #f0f2f1;
107
+ --sidebar-border: rgba(255, 255, 255, 0.08);
108
+ --sidebar-ring: #2f9e52;
109
+ --sidebar-muted-foreground: #848b88;
110
+ --surface-0: #000000;
111
+ --surface-1: #0a0a0a;
112
+ --surface-2: #141414;
113
+ --success: #8fd82a;
114
+ --success-fg: #a6e34d;
115
+ --success-bg: rgba(143, 216, 42, 0.1);
116
+ --success-border: rgba(143, 216, 42, 0.35);
117
+ --warning: #f0c34e;
118
+ --warning-fg: #f0c34e;
119
+ --warning-bg: rgba(240, 195, 78, 0.1);
120
+ --warning-border: rgba(240, 195, 78, 0.35);
121
+ --info: #2f9e52;
122
+ --info-fg: #5cbb79;
123
+ --info-bg: rgba(47, 158, 82, 0.14);
124
+ --info-border: rgba(47, 158, 82, 0.4);
125
+ --danger: #ff6b6b;
126
+ --danger-fg: #ff8a8a;
127
+ --danger-bg: rgba(255, 107, 107, 0.1);
128
+ --danger-border: rgba(255, 107, 107, 0.35);
129
+ }
130
+
131
+ /* Accent: Green on Black */
132
+ [data-ground="black"][data-accent="green"] {
133
+ --primary: #2f9e52;
134
+ --primary-foreground: #04241b;
135
+ --ring: #2f9e52;
136
+ --chart-1: #2f9e52;
137
+ --chart-3: #cbf39d;
138
+ --chart-4: #e0b34a;
139
+ --chart-5: #0b6644;
140
+ --sidebar-primary: #2f9e52;
141
+ --sidebar-primary-foreground: #04241b;
142
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
143
+ --sidebar-ring: #2f9e52;
144
+ }
145
+
146
+ /* Accent: Copper on Black */
147
+ [data-ground="black"][data-accent="copper"] {
148
+ --primary: #c97b4a;
149
+ --primary-foreground: #140a04;
150
+ --ring: #c97b4a;
151
+ --chart-1: #c97b4a;
152
+ --chart-3: #d9c7a3;
153
+ --chart-4: #e0b34a;
154
+ --chart-5: #2f9e52;
155
+ --sidebar-primary: #c97b4a;
156
+ --sidebar-primary-foreground: #140a04;
157
+ --sidebar-accent: rgba(201, 123, 74, 0.16);
158
+ --sidebar-ring: #c97b4a;
159
+ }
160
+
161
+ /* Accent: Ice on Black */
162
+ [data-ground="black"][data-accent="ice"] {
163
+ --primary: #6e9fc4;
164
+ --primary-foreground: #06131c;
165
+ --ring: #6e9fc4;
166
+ --chart-1: #6e9fc4;
167
+ --chart-3: #b9d4e4;
168
+ --chart-4: #e0b34a;
169
+ --chart-5: #2f9e52;
170
+ --sidebar-primary: #6e9fc4;
171
+ --sidebar-primary-foreground: #06131c;
172
+ --sidebar-accent: rgba(110, 159, 196, 0.16);
173
+ --sidebar-ring: #6e9fc4;
174
+ }
175
+
176
+ /* Accent: Periwinkle on Black */
177
+ [data-ground="black"][data-accent="periwinkle"] {
178
+ --primary: #8b8fd9;
179
+ --primary-foreground: #0b0c1a;
180
+ --ring: #8b8fd9;
181
+ --chart-1: #8b8fd9;
182
+ --chart-3: #c3c5ec;
183
+ --chart-4: #e0b34a;
184
+ --chart-5: #2f9e52;
185
+ --sidebar-primary: #8b8fd9;
186
+ --sidebar-primary-foreground: #0b0c1a;
187
+ --sidebar-accent: rgba(139, 143, 217, 0.16);
188
+ --sidebar-ring: #8b8fd9;
189
+ }
190
+
191
+ /* Accent: Amber on Black */
192
+ [data-ground="black"][data-accent="amber"] {
193
+ --primary: #e0b34a;
194
+ --primary-foreground: #1a1204;
195
+ --ring: #e0b34a;
196
+ --chart-1: #e0b34a;
197
+ --chart-3: #cbf39d;
198
+ --chart-4: #c97b4a;
199
+ --chart-5: #0b6644;
200
+ --sidebar-primary: #e0b34a;
201
+ --sidebar-primary-foreground: #1a1204;
202
+ --sidebar-accent: rgba(224, 179, 74, 0.16);
203
+ --sidebar-ring: #e0b34a;
204
+ }
205
+
206
+ /* Ground: Charcoal (dark) */
207
+ [data-ground="charcoal"] {
208
+ color-scheme: dark;
209
+ --background: #0e0f10;
210
+ --foreground: #f0f2f1;
211
+ --card: #161819;
212
+ --card-foreground: #f0f2f1;
213
+ --popover: #1e2022;
214
+ --popover-foreground: #f0f2f1;
215
+ --primary: #2f9e52;
216
+ --primary-foreground: #04241b;
217
+ --secondary: #202325;
218
+ --secondary-foreground: #f0f2f1;
219
+ --muted: #191b1c;
220
+ --muted-foreground: #8b9194;
221
+ --accent: #232628;
222
+ --accent-foreground: #f0f2f1;
223
+ --destructive: #ff6b6b;
224
+ --border: rgba(255, 255, 255, 0.1);
225
+ --input: rgba(255, 255, 255, 0.1);
226
+ --ring: #2f9e52;
227
+ --chart-1: #2f9e52;
228
+ --chart-2: #8fd82a;
229
+ --chart-3: #cbf39d;
230
+ --chart-4: #e0b34a;
231
+ --chart-5: #0b6644;
232
+ --sidebar: #161819;
233
+ --sidebar-foreground: #f0f2f1;
234
+ --sidebar-primary: #2f9e52;
235
+ --sidebar-primary-foreground: #04241b;
236
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
237
+ --sidebar-accent-foreground: #f0f2f1;
238
+ --sidebar-border: rgba(255, 255, 255, 0.08);
239
+ --sidebar-ring: #2f9e52;
240
+ --sidebar-muted-foreground: #8b9194;
241
+ --surface-0: #0e0f10;
242
+ --surface-1: #161819;
243
+ --surface-2: #1e2022;
244
+ --success: #8fd82a;
245
+ --success-fg: #a6e34d;
246
+ --success-bg: rgba(143, 216, 42, 0.1);
247
+ --success-border: rgba(143, 216, 42, 0.35);
248
+ --warning: #f0c34e;
249
+ --warning-fg: #f0c34e;
250
+ --warning-bg: rgba(240, 195, 78, 0.1);
251
+ --warning-border: rgba(240, 195, 78, 0.35);
252
+ --info: #2f9e52;
253
+ --info-fg: #5cbb79;
254
+ --info-bg: rgba(47, 158, 82, 0.14);
255
+ --info-border: rgba(47, 158, 82, 0.4);
256
+ --danger: #ff6b6b;
257
+ --danger-fg: #ff8a8a;
258
+ --danger-bg: rgba(255, 107, 107, 0.1);
259
+ --danger-border: rgba(255, 107, 107, 0.35);
260
+ }
261
+
262
+ /* Accent: Green on Charcoal */
263
+ [data-ground="charcoal"][data-accent="green"] {
264
+ --primary: #2f9e52;
265
+ --primary-foreground: #04241b;
266
+ --ring: #2f9e52;
267
+ --chart-1: #2f9e52;
268
+ --chart-3: #cbf39d;
269
+ --chart-4: #e0b34a;
270
+ --chart-5: #0b6644;
271
+ --sidebar-primary: #2f9e52;
272
+ --sidebar-primary-foreground: #04241b;
273
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
274
+ --sidebar-ring: #2f9e52;
275
+ }
276
+
277
+ /* Accent: Copper on Charcoal */
278
+ [data-ground="charcoal"][data-accent="copper"] {
279
+ --primary: #c97b4a;
280
+ --primary-foreground: #140a04;
281
+ --ring: #c97b4a;
282
+ --chart-1: #c97b4a;
283
+ --chart-3: #d9c7a3;
284
+ --chart-4: #e0b34a;
285
+ --chart-5: #2f9e52;
286
+ --sidebar-primary: #c97b4a;
287
+ --sidebar-primary-foreground: #140a04;
288
+ --sidebar-accent: rgba(201, 123, 74, 0.16);
289
+ --sidebar-ring: #c97b4a;
290
+ }
291
+
292
+ /* Accent: Ice on Charcoal */
293
+ [data-ground="charcoal"][data-accent="ice"] {
294
+ --primary: #6e9fc4;
295
+ --primary-foreground: #06131c;
296
+ --ring: #6e9fc4;
297
+ --chart-1: #6e9fc4;
298
+ --chart-3: #b9d4e4;
299
+ --chart-4: #e0b34a;
300
+ --chart-5: #2f9e52;
301
+ --sidebar-primary: #6e9fc4;
302
+ --sidebar-primary-foreground: #06131c;
303
+ --sidebar-accent: rgba(110, 159, 196, 0.16);
304
+ --sidebar-ring: #6e9fc4;
305
+ }
306
+
307
+ /* Accent: Periwinkle on Charcoal */
308
+ [data-ground="charcoal"][data-accent="periwinkle"] {
309
+ --primary: #8b8fd9;
310
+ --primary-foreground: #0b0c1a;
311
+ --ring: #8b8fd9;
312
+ --chart-1: #8b8fd9;
313
+ --chart-3: #c3c5ec;
314
+ --chart-4: #e0b34a;
315
+ --chart-5: #2f9e52;
316
+ --sidebar-primary: #8b8fd9;
317
+ --sidebar-primary-foreground: #0b0c1a;
318
+ --sidebar-accent: rgba(139, 143, 217, 0.16);
319
+ --sidebar-ring: #8b8fd9;
320
+ }
321
+
322
+ /* Accent: Amber on Charcoal */
323
+ [data-ground="charcoal"][data-accent="amber"] {
324
+ --primary: #e0b34a;
325
+ --primary-foreground: #1a1204;
326
+ --ring: #e0b34a;
327
+ --chart-1: #e0b34a;
328
+ --chart-3: #cbf39d;
329
+ --chart-4: #c97b4a;
330
+ --chart-5: #0b6644;
331
+ --sidebar-primary: #e0b34a;
332
+ --sidebar-primary-foreground: #1a1204;
333
+ --sidebar-accent: rgba(224, 179, 74, 0.16);
334
+ --sidebar-ring: #e0b34a;
335
+ }
336
+
337
+ /* Ground: Graphite (dark) */
338
+ [data-ground="graphite"] {
339
+ color-scheme: dark;
340
+ --background: #111214;
341
+ --foreground: #f0f2f1;
342
+ --card: #18191b;
343
+ --card-foreground: #f0f2f1;
344
+ --popover: #202124;
345
+ --popover-foreground: #f0f2f1;
346
+ --primary: #2f9e52;
347
+ --primary-foreground: #04241b;
348
+ --secondary: #222326;
349
+ --secondary-foreground: #f0f2f1;
350
+ --muted: #1b1c1e;
351
+ --muted-foreground: #8e9296;
352
+ --accent: #26272a;
353
+ --accent-foreground: #f0f2f1;
354
+ --destructive: #ff6b6b;
355
+ --border: rgba(255, 255, 255, 0.09);
356
+ --input: rgba(255, 255, 255, 0.1);
357
+ --ring: #2f9e52;
358
+ --chart-1: #2f9e52;
359
+ --chart-2: #8fd82a;
360
+ --chart-3: #cbf39d;
361
+ --chart-4: #e0b34a;
362
+ --chart-5: #0b6644;
363
+ --sidebar: #161719;
364
+ --sidebar-foreground: #f0f2f1;
365
+ --sidebar-primary: #2f9e52;
366
+ --sidebar-primary-foreground: #04241b;
367
+ --sidebar-accent: rgba(47, 158, 82, 0.14);
368
+ --sidebar-accent-foreground: #f0f2f1;
369
+ --sidebar-border: rgba(255, 255, 255, 0.07);
370
+ --sidebar-ring: #2f9e52;
371
+ --sidebar-muted-foreground: #8e9296;
372
+ --surface-0: #111214;
373
+ --surface-1: #18191b;
374
+ --surface-2: #202124;
375
+ --success: #8fd82a;
376
+ --success-fg: #a6e34d;
377
+ --success-bg: rgba(143, 216, 42, 0.1);
378
+ --success-border: rgba(143, 216, 42, 0.35);
379
+ --warning: #f0c34e;
380
+ --warning-fg: #f0c34e;
381
+ --warning-bg: rgba(240, 195, 78, 0.1);
382
+ --warning-border: rgba(240, 195, 78, 0.35);
383
+ --info: #2f9e52;
384
+ --info-fg: #5cbb79;
385
+ --info-bg: rgba(47, 158, 82, 0.14);
386
+ --info-border: rgba(47, 158, 82, 0.4);
387
+ --danger: #ff6b6b;
388
+ --danger-fg: #ff8a8a;
389
+ --danger-bg: rgba(255, 107, 107, 0.1);
390
+ --danger-border: rgba(255, 107, 107, 0.35);
391
+ }
392
+
393
+ /* Accent: Green on Graphite */
394
+ [data-ground="graphite"][data-accent="green"] {
395
+ --primary: #2f9e52;
396
+ --primary-foreground: #04241b;
397
+ --ring: #2f9e52;
398
+ --chart-1: #2f9e52;
399
+ --chart-3: #cbf39d;
400
+ --chart-4: #e0b34a;
401
+ --chart-5: #0b6644;
402
+ --sidebar-primary: #2f9e52;
403
+ --sidebar-primary-foreground: #04241b;
404
+ --sidebar-accent: rgba(47, 158, 82, 0.14);
405
+ --sidebar-ring: #2f9e52;
406
+ }
407
+
408
+ /* Accent: Copper on Graphite */
409
+ [data-ground="graphite"][data-accent="copper"] {
410
+ --primary: #c97b4a;
411
+ --primary-foreground: #140a04;
412
+ --ring: #c97b4a;
413
+ --chart-1: #c97b4a;
414
+ --chart-3: #d9c7a3;
415
+ --chart-4: #e0b34a;
416
+ --chart-5: #2f9e52;
417
+ --sidebar-primary: #c97b4a;
418
+ --sidebar-primary-foreground: #140a04;
419
+ --sidebar-accent: rgba(201, 123, 74, 0.14);
420
+ --sidebar-ring: #c97b4a;
421
+ }
422
+
423
+ /* Accent: Ice on Graphite */
424
+ [data-ground="graphite"][data-accent="ice"] {
425
+ --primary: #6e9fc4;
426
+ --primary-foreground: #06131c;
427
+ --ring: #6e9fc4;
428
+ --chart-1: #6e9fc4;
429
+ --chart-3: #b9d4e4;
430
+ --chart-4: #e0b34a;
431
+ --chart-5: #2f9e52;
432
+ --sidebar-primary: #6e9fc4;
433
+ --sidebar-primary-foreground: #06131c;
434
+ --sidebar-accent: rgba(110, 159, 196, 0.14);
435
+ --sidebar-ring: #6e9fc4;
436
+ }
437
+
438
+ /* Accent: Periwinkle on Graphite */
439
+ [data-ground="graphite"][data-accent="periwinkle"] {
440
+ --primary: #8b8fd9;
441
+ --primary-foreground: #0b0c1a;
442
+ --ring: #8b8fd9;
443
+ --chart-1: #8b8fd9;
444
+ --chart-3: #c3c5ec;
445
+ --chart-4: #e0b34a;
446
+ --chart-5: #2f9e52;
447
+ --sidebar-primary: #8b8fd9;
448
+ --sidebar-primary-foreground: #0b0c1a;
449
+ --sidebar-accent: rgba(139, 143, 217, 0.14);
450
+ --sidebar-ring: #8b8fd9;
451
+ }
452
+
453
+ /* Accent: Amber on Graphite */
454
+ [data-ground="graphite"][data-accent="amber"] {
455
+ --primary: #e0b34a;
456
+ --primary-foreground: #1a1204;
457
+ --ring: #e0b34a;
458
+ --chart-1: #e0b34a;
459
+ --chart-3: #cbf39d;
460
+ --chart-4: #c97b4a;
461
+ --chart-5: #0b6644;
462
+ --sidebar-primary: #e0b34a;
463
+ --sidebar-primary-foreground: #1a1204;
464
+ --sidebar-accent: rgba(224, 179, 74, 0.14);
465
+ --sidebar-ring: #e0b34a;
466
+ }
467
+
468
+ /* Ground: Emerald (dark) */
469
+ [data-ground="emerald"] {
470
+ color-scheme: dark;
471
+ --background: #050b08;
472
+ --foreground: #f0f2f1;
473
+ --card: #0a1310;
474
+ --card-foreground: #f0f2f1;
475
+ --popover: #0d1814;
476
+ --popover-foreground: #f0f2f1;
477
+ --primary: #2f9e52;
478
+ --primary-foreground: #04241b;
479
+ --secondary: #121d18;
480
+ --secondary-foreground: #f0f2f1;
481
+ --muted: #101a15;
482
+ --muted-foreground: #8ba199;
483
+ --accent: #16261f;
484
+ --accent-foreground: #f0f2f1;
485
+ --destructive: #ff6b6b;
486
+ --border: rgba(255, 255, 255, 0.1);
487
+ --input: rgba(255, 255, 255, 0.1);
488
+ --ring: #2f9e52;
489
+ --chart-1: #2f9e52;
490
+ --chart-2: #8fd82a;
491
+ --chart-3: #cbf39d;
492
+ --chart-4: #e0b34a;
493
+ --chart-5: #0b6644;
494
+ --sidebar: #0a1310;
495
+ --sidebar-foreground: #f0f2f1;
496
+ --sidebar-primary: #2f9e52;
497
+ --sidebar-primary-foreground: #04241b;
498
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
499
+ --sidebar-accent-foreground: #f0f2f1;
500
+ --sidebar-border: rgba(255, 255, 255, 0.08);
501
+ --sidebar-ring: #2f9e52;
502
+ --sidebar-muted-foreground: #8ba199;
503
+ --surface-0: #050b08;
504
+ --surface-1: #0a1310;
505
+ --surface-2: #0d1814;
506
+ --success: #8fd82a;
507
+ --success-fg: #a6e34d;
508
+ --success-bg: rgba(143, 216, 42, 0.1);
509
+ --success-border: rgba(143, 216, 42, 0.35);
510
+ --warning: #f0c34e;
511
+ --warning-fg: #f0c34e;
512
+ --warning-bg: rgba(240, 195, 78, 0.1);
513
+ --warning-border: rgba(240, 195, 78, 0.35);
514
+ --info: #2f9e52;
515
+ --info-fg: #5cbb79;
516
+ --info-bg: rgba(47, 158, 82, 0.14);
517
+ --info-border: rgba(47, 158, 82, 0.4);
518
+ --danger: #ff6b6b;
519
+ --danger-fg: #ff8a8a;
520
+ --danger-bg: rgba(255, 107, 107, 0.1);
521
+ --danger-border: rgba(255, 107, 107, 0.35);
522
+ }
523
+
524
+ /* Accent: Green on Emerald */
525
+ [data-ground="emerald"][data-accent="green"] {
526
+ --primary: #2f9e52;
527
+ --primary-foreground: #04241b;
528
+ --ring: #2f9e52;
529
+ --chart-1: #2f9e52;
530
+ --chart-3: #cbf39d;
531
+ --chart-4: #e0b34a;
532
+ --chart-5: #0b6644;
533
+ --sidebar-primary: #2f9e52;
534
+ --sidebar-primary-foreground: #04241b;
535
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
536
+ --sidebar-ring: #2f9e52;
537
+ }
538
+
539
+ /* Accent: Copper on Emerald */
540
+ [data-ground="emerald"][data-accent="copper"] {
541
+ --primary: #c97b4a;
542
+ --primary-foreground: #140a04;
543
+ --ring: #c97b4a;
544
+ --chart-1: #c97b4a;
545
+ --chart-3: #d9c7a3;
546
+ --chart-4: #e0b34a;
547
+ --chart-5: #2f9e52;
548
+ --sidebar-primary: #c97b4a;
549
+ --sidebar-primary-foreground: #140a04;
550
+ --sidebar-accent: rgba(201, 123, 74, 0.16);
551
+ --sidebar-ring: #c97b4a;
552
+ }
553
+
554
+ /* Accent: Ice on Emerald */
555
+ [data-ground="emerald"][data-accent="ice"] {
556
+ --primary: #6e9fc4;
557
+ --primary-foreground: #06131c;
558
+ --ring: #6e9fc4;
559
+ --chart-1: #6e9fc4;
560
+ --chart-3: #b9d4e4;
561
+ --chart-4: #e0b34a;
562
+ --chart-5: #2f9e52;
563
+ --sidebar-primary: #6e9fc4;
564
+ --sidebar-primary-foreground: #06131c;
565
+ --sidebar-accent: rgba(110, 159, 196, 0.16);
566
+ --sidebar-ring: #6e9fc4;
567
+ }
568
+
569
+ /* Accent: Periwinkle on Emerald */
570
+ [data-ground="emerald"][data-accent="periwinkle"] {
571
+ --primary: #8b8fd9;
572
+ --primary-foreground: #0b0c1a;
573
+ --ring: #8b8fd9;
574
+ --chart-1: #8b8fd9;
575
+ --chart-3: #c3c5ec;
576
+ --chart-4: #e0b34a;
577
+ --chart-5: #2f9e52;
578
+ --sidebar-primary: #8b8fd9;
579
+ --sidebar-primary-foreground: #0b0c1a;
580
+ --sidebar-accent: rgba(139, 143, 217, 0.16);
581
+ --sidebar-ring: #8b8fd9;
582
+ }
583
+
584
+ /* Accent: Amber on Emerald */
585
+ [data-ground="emerald"][data-accent="amber"] {
586
+ --primary: #e0b34a;
587
+ --primary-foreground: #1a1204;
588
+ --ring: #e0b34a;
589
+ --chart-1: #e0b34a;
590
+ --chart-3: #cbf39d;
591
+ --chart-4: #c97b4a;
592
+ --chart-5: #0b6644;
593
+ --sidebar-primary: #e0b34a;
594
+ --sidebar-primary-foreground: #1a1204;
595
+ --sidebar-accent: rgba(224, 179, 74, 0.16);
596
+ --sidebar-ring: #e0b34a;
597
+ }
598
+
599
+ /* Ground: Navy (dark) */
600
+ [data-ground="navy"] {
601
+ color-scheme: dark;
602
+ --background: #0b1120;
603
+ --foreground: #f0f2f1;
604
+ --card: #152141;
605
+ --card-foreground: #f0f2f1;
606
+ --popover: #1a284a;
607
+ --popover-foreground: #f0f2f1;
608
+ --primary: #2f9e52;
609
+ --primary-foreground: #04241b;
610
+ --secondary: #1d2b50;
611
+ --secondary-foreground: #f0f2f1;
612
+ --muted: #182545;
613
+ --muted-foreground: #97a6c2;
614
+ --accent: #213157;
615
+ --accent-foreground: #f0f2f1;
616
+ --destructive: #ff6b6b;
617
+ --border: rgba(255, 255, 255, 0.1);
618
+ --input: rgba(255, 255, 255, 0.1);
619
+ --ring: #2f9e52;
620
+ --chart-1: #2f9e52;
621
+ --chart-2: #8fd82a;
622
+ --chart-3: #cbf39d;
623
+ --chart-4: #e0b34a;
624
+ --chart-5: #0b6644;
625
+ --sidebar: #152141;
626
+ --sidebar-foreground: #f0f2f1;
627
+ --sidebar-primary: #2f9e52;
628
+ --sidebar-primary-foreground: #04241b;
629
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
630
+ --sidebar-accent-foreground: #f0f2f1;
631
+ --sidebar-border: rgba(255, 255, 255, 0.08);
632
+ --sidebar-ring: #2f9e52;
633
+ --sidebar-muted-foreground: #97a6c2;
634
+ --surface-0: #0b1120;
635
+ --surface-1: #152141;
636
+ --surface-2: #1a284a;
637
+ --success: #8fd82a;
638
+ --success-fg: #a6e34d;
639
+ --success-bg: rgba(143, 216, 42, 0.1);
640
+ --success-border: rgba(143, 216, 42, 0.35);
641
+ --warning: #f0c34e;
642
+ --warning-fg: #f0c34e;
643
+ --warning-bg: rgba(240, 195, 78, 0.1);
644
+ --warning-border: rgba(240, 195, 78, 0.35);
645
+ --info: #2f9e52;
646
+ --info-fg: #5cbb79;
647
+ --info-bg: rgba(47, 158, 82, 0.14);
648
+ --info-border: rgba(47, 158, 82, 0.4);
649
+ --danger: #ff6b6b;
650
+ --danger-fg: #ff8a8a;
651
+ --danger-bg: rgba(255, 107, 107, 0.1);
652
+ --danger-border: rgba(255, 107, 107, 0.35);
653
+ }
654
+
655
+ /* Accent: Green on Navy */
656
+ [data-ground="navy"][data-accent="green"] {
657
+ --primary: #2f9e52;
658
+ --primary-foreground: #04241b;
659
+ --ring: #2f9e52;
660
+ --chart-1: #2f9e52;
661
+ --chart-3: #cbf39d;
662
+ --chart-4: #e0b34a;
663
+ --chart-5: #0b6644;
664
+ --sidebar-primary: #2f9e52;
665
+ --sidebar-primary-foreground: #04241b;
666
+ --sidebar-accent: rgba(47, 158, 82, 0.16);
667
+ --sidebar-ring: #2f9e52;
668
+ }
669
+
670
+ /* Accent: Copper on Navy */
671
+ [data-ground="navy"][data-accent="copper"] {
672
+ --primary: #c97b4a;
673
+ --primary-foreground: #140a04;
674
+ --ring: #c97b4a;
675
+ --chart-1: #c97b4a;
676
+ --chart-3: #d9c7a3;
677
+ --chart-4: #e0b34a;
678
+ --chart-5: #2f9e52;
679
+ --sidebar-primary: #c97b4a;
680
+ --sidebar-primary-foreground: #140a04;
681
+ --sidebar-accent: rgba(201, 123, 74, 0.16);
682
+ --sidebar-ring: #c97b4a;
683
+ }
684
+
685
+ /* Accent: Ice on Navy */
686
+ [data-ground="navy"][data-accent="ice"] {
687
+ --primary: #6e9fc4;
688
+ --primary-foreground: #06131c;
689
+ --ring: #6e9fc4;
690
+ --chart-1: #6e9fc4;
691
+ --chart-3: #b9d4e4;
692
+ --chart-4: #e0b34a;
693
+ --chart-5: #2f9e52;
694
+ --sidebar-primary: #6e9fc4;
695
+ --sidebar-primary-foreground: #06131c;
696
+ --sidebar-accent: rgba(110, 159, 196, 0.16);
697
+ --sidebar-ring: #6e9fc4;
698
+ }
699
+
700
+ /* Accent: Periwinkle on Navy */
701
+ [data-ground="navy"][data-accent="periwinkle"] {
702
+ --primary: #8b8fd9;
703
+ --primary-foreground: #0b0c1a;
704
+ --ring: #8b8fd9;
705
+ --chart-1: #8b8fd9;
706
+ --chart-3: #c3c5ec;
707
+ --chart-4: #e0b34a;
708
+ --chart-5: #2f9e52;
709
+ --sidebar-primary: #8b8fd9;
710
+ --sidebar-primary-foreground: #0b0c1a;
711
+ --sidebar-accent: rgba(139, 143, 217, 0.16);
712
+ --sidebar-ring: #8b8fd9;
713
+ }
714
+
715
+ /* Accent: Amber on Navy */
716
+ [data-ground="navy"][data-accent="amber"] {
717
+ --primary: #e0b34a;
718
+ --primary-foreground: #1a1204;
719
+ --ring: #e0b34a;
720
+ --chart-1: #e0b34a;
721
+ --chart-3: #cbf39d;
722
+ --chart-4: #c97b4a;
723
+ --chart-5: #0b6644;
724
+ --sidebar-primary: #e0b34a;
725
+ --sidebar-primary-foreground: #1a1204;
726
+ --sidebar-accent: rgba(224, 179, 74, 0.16);
727
+ --sidebar-ring: #e0b34a;
728
+ }
729
+
730
+ /* Ground: Paper (light) */
731
+ [data-ground="paper"] {
732
+ color-scheme: light;
733
+ --background: #faf6ee;
734
+ --foreground: #1e1d1b;
735
+ --card: #fffdf9;
736
+ --card-foreground: #1e1d1b;
737
+ --popover: #fffdf9;
738
+ --popover-foreground: #1e1d1b;
739
+ --primary: #26803f;
740
+ --primary-foreground: #f3fbf7;
741
+ --secondary: #f3eee4;
742
+ --secondary-foreground: #1e1d1b;
743
+ --muted: #f3eee4;
744
+ --muted-foreground: #5c5b58;
745
+ --accent: #f0e6da;
746
+ --accent-foreground: #1e1d1b;
747
+ --destructive: #d40c1a;
748
+ --border: #dedad2;
749
+ --input: #dedad2;
750
+ --ring: #26803f;
751
+ --chart-1: #26803f;
752
+ --chart-2: #5c9c1a;
753
+ --chart-3: #8a7a5c;
754
+ --chart-4: #b8860b;
755
+ --chart-5: #26803f;
756
+ --sidebar: #f5f0e4;
757
+ --sidebar-foreground: #1e1d1b;
758
+ --sidebar-primary: #26803f;
759
+ --sidebar-primary-foreground: #f3fbf7;
760
+ --sidebar-accent: #f0e6da;
761
+ --sidebar-accent-foreground: #1e1d1b;
762
+ --sidebar-border: #dedad2;
763
+ --sidebar-ring: #26803f;
764
+ --sidebar-muted-foreground: #5c5b58;
765
+ --surface-0: #faf6ee;
766
+ --surface-1: #fffdf9;
767
+ --surface-2: #fffdf9;
768
+ --success: #508d23;
769
+ --success-fg: #305a12;
770
+ --success-bg: #e3f5da;
771
+ --success-border: #b4d7a2;
772
+ --warning: #cb7a00;
773
+ --warning-fg: #824c12;
774
+ --warning-bg: #fef0d4;
775
+ --warning-border: #e8c184;
776
+ --info: #2f8543;
777
+ --info-fg: #1b622d;
778
+ --info-bg: #e2f4e3;
779
+ --info-border: #acd8b1;
780
+ --danger: #df2225;
781
+ --danger-fg: #bb0916;
782
+ --danger-bg: #ffeae9;
783
+ --danger-border: #ffb1aa;
784
+ }
785
+
786
+ /* Accent: Green on Paper */
787
+ [data-ground="paper"][data-accent="green"] {
788
+ --primary: #26803f;
789
+ --ring: #26803f;
790
+ --chart-1: #26803f;
791
+ --sidebar-primary: #26803f;
792
+ --sidebar-ring: #26803f;
793
+ }
794
+
795
+ /* Accent: Copper on Paper */
796
+ [data-ground="paper"][data-accent="copper"] {
797
+ --primary: #9c5730;
798
+ --ring: #9c5730;
799
+ --chart-1: #9c5730;
800
+ --sidebar-primary: #9c5730;
801
+ --sidebar-ring: #9c5730;
802
+ }
803
+
804
+ /* Accent: Ice on Paper */
805
+ [data-ground="paper"][data-accent="ice"] {
806
+ --primary: #3d6f95;
807
+ --ring: #3d6f95;
808
+ --chart-1: #3d6f95;
809
+ --sidebar-primary: #3d6f95;
810
+ --sidebar-ring: #3d6f95;
811
+ }
812
+
813
+ /* Accent: Periwinkle on Paper */
814
+ [data-ground="paper"][data-accent="periwinkle"] {
815
+ --primary: #5a5fae;
816
+ --ring: #5a5fae;
817
+ --chart-1: #5a5fae;
818
+ --sidebar-primary: #5a5fae;
819
+ --sidebar-ring: #5a5fae;
820
+ }
821
+
822
+ /* Accent: Amber on Paper */
823
+ [data-ground="paper"][data-accent="amber"] {
824
+ --primary: #8a6410;
825
+ --ring: #8a6410;
826
+ --chart-1: #8a6410;
827
+ --sidebar-primary: #8a6410;
828
+ --sidebar-ring: #8a6410;
829
+ }
830
+
831
+ /* Ground: Mist (light) */
832
+ [data-ground="mist"] {
833
+ color-scheme: light;
834
+ --background: #f2f7f9;
835
+ --foreground: #1e1d1b;
836
+ --card: #ffffff;
837
+ --card-foreground: #1e1d1b;
838
+ --popover: #ffffff;
839
+ --popover-foreground: #1e1d1b;
840
+ --primary: #26803f;
841
+ --primary-foreground: #f3fbf7;
842
+ --secondary: #e9eff2;
843
+ --secondary-foreground: #1e1d1b;
844
+ --muted: #e9eff2;
845
+ --muted-foreground: #5c5b58;
846
+ --accent: #dfeaf0;
847
+ --accent-foreground: #1e1d1b;
848
+ --destructive: #d40c1a;
849
+ --border: #d6dcdf;
850
+ --input: #d6dcdf;
851
+ --ring: #26803f;
852
+ --chart-1: #26803f;
853
+ --chart-2: #5c9c1a;
854
+ --chart-3: #8a7a5c;
855
+ --chart-4: #b8860b;
856
+ --chart-5: #26803f;
857
+ --sidebar: #e9f1f5;
858
+ --sidebar-foreground: #1e1d1b;
859
+ --sidebar-primary: #26803f;
860
+ --sidebar-primary-foreground: #f3fbf7;
861
+ --sidebar-accent: #dfeaf0;
862
+ --sidebar-accent-foreground: #1e1d1b;
863
+ --sidebar-border: #d6dcdf;
864
+ --sidebar-ring: #26803f;
865
+ --sidebar-muted-foreground: #5c5b58;
866
+ --surface-0: #f2f7f9;
867
+ --surface-1: #ffffff;
868
+ --surface-2: #ffffff;
869
+ --success: #508d23;
870
+ --success-fg: #305a12;
871
+ --success-bg: #e3f5da;
872
+ --success-border: #b4d7a2;
873
+ --warning: #cb7a00;
874
+ --warning-fg: #824c12;
875
+ --warning-bg: #fef0d4;
876
+ --warning-border: #e8c184;
877
+ --info: #2f8543;
878
+ --info-fg: #1b622d;
879
+ --info-bg: #e2f4e3;
880
+ --info-border: #acd8b1;
881
+ --danger: #df2225;
882
+ --danger-fg: #bb0916;
883
+ --danger-bg: #ffeae9;
884
+ --danger-border: #ffb1aa;
885
+ }
886
+
887
+ /* Accent: Green on Mist */
888
+ [data-ground="mist"][data-accent="green"] {
889
+ --primary: #26803f;
890
+ --ring: #26803f;
891
+ --chart-1: #26803f;
892
+ --sidebar-primary: #26803f;
893
+ --sidebar-ring: #26803f;
894
+ }
895
+
896
+ /* Accent: Copper on Mist */
897
+ [data-ground="mist"][data-accent="copper"] {
898
+ --primary: #9c5730;
899
+ --ring: #9c5730;
900
+ --chart-1: #9c5730;
901
+ --sidebar-primary: #9c5730;
902
+ --sidebar-ring: #9c5730;
903
+ }
904
+
905
+ /* Accent: Ice on Mist */
906
+ [data-ground="mist"][data-accent="ice"] {
907
+ --primary: #3d6f95;
908
+ --ring: #3d6f95;
909
+ --chart-1: #3d6f95;
910
+ --sidebar-primary: #3d6f95;
911
+ --sidebar-ring: #3d6f95;
912
+ }
913
+
914
+ /* Accent: Periwinkle on Mist */
915
+ [data-ground="mist"][data-accent="periwinkle"] {
916
+ --primary: #5a5fae;
917
+ --ring: #5a5fae;
918
+ --chart-1: #5a5fae;
919
+ --sidebar-primary: #5a5fae;
920
+ --sidebar-ring: #5a5fae;
921
+ }
922
+
923
+ /* Accent: Amber on Mist */
924
+ [data-ground="mist"][data-accent="amber"] {
925
+ --primary: #8a6410;
926
+ --ring: #8a6410;
927
+ --chart-1: #8a6410;
928
+ --sidebar-primary: #8a6410;
929
+ --sidebar-ring: #8a6410;
930
+ }