larkup 0.1.14

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 (141) hide show
  1. package/.env +2 -0
  2. package/app/actions/vercel.ts +417 -0
  3. package/app/api/chat/route.ts +192 -0
  4. package/app/api/chat/status/route.ts +55 -0
  5. package/app/api/chat/suggestions/route.ts +115 -0
  6. package/app/api/config/route.ts +73 -0
  7. package/app/api/config/test/route.ts +67 -0
  8. package/app/api/config/test-embedding/route.ts +40 -0
  9. package/app/api/config/test-llm/route.ts +47 -0
  10. package/app/api/config/test-provider/route.ts +36 -0
  11. package/app/api/demo/route.ts +176 -0
  12. package/app/api/deploy/ssh/route.ts +340 -0
  13. package/app/api/documents/route.ts +90 -0
  14. package/app/api/firecrawl/local/route.ts +46 -0
  15. package/app/api/index/route.ts +113 -0
  16. package/app/api/jobs/[id]/route.ts +44 -0
  17. package/app/api/jobs/route.ts +116 -0
  18. package/app/api/parse-file/route.ts +39 -0
  19. package/app/api/search/google/route.ts +162 -0
  20. package/app/api/search/route.ts +29 -0
  21. package/app/api/server/download/route.ts +112 -0
  22. package/app/api/server/generate/route.ts +46 -0
  23. package/app/api/server/local/route.ts +42 -0
  24. package/app/api/servers/route.ts +137 -0
  25. package/app/api/vector-stores/install/route.ts +65 -0
  26. package/app/api/vector-stores/status/route.ts +26 -0
  27. package/app/chat/page.tsx +15 -0
  28. package/app/configure/page.tsx +53 -0
  29. package/app/data/page.tsx +15 -0
  30. package/app/demo/page.tsx +15 -0
  31. package/app/favicon.ico +0 -0
  32. package/app/globals.css +190 -0
  33. package/app/index-data/page.tsx +15 -0
  34. package/app/layout.tsx +51 -0
  35. package/app/page.tsx +34 -0
  36. package/app/server/page.tsx +22 -0
  37. package/app/simple/chat/page.tsx +17 -0
  38. package/app/simple/docs/page.tsx +21 -0
  39. package/app/simple/layout.tsx +9 -0
  40. package/app/simple/settings/page.tsx +627 -0
  41. package/app/template.tsx +16 -0
  42. package/app/themes.css +733 -0
  43. package/components/alerts/generic-alert.tsx +74 -0
  44. package/components/app-sidebar.tsx +187 -0
  45. package/components/app-topnav.tsx +195 -0
  46. package/components/chat/chat-settings-modal.tsx +209 -0
  47. package/components/chat/chat-workspace.tsx +348 -0
  48. package/components/chat/knowledge-base-result.tsx +97 -0
  49. package/components/chat/message-item.tsx +103 -0
  50. package/components/client-layout-wrapper.tsx +182 -0
  51. package/components/configure/configure-form.tsx +1683 -0
  52. package/components/configure/store-fields.tsx +152 -0
  53. package/components/data/corpus-panel.tsx +499 -0
  54. package/components/data/data-workspace.tsx +272 -0
  55. package/components/data/firecrawl-notice.tsx +236 -0
  56. package/components/data/jobs-panel.tsx +485 -0
  57. package/components/data/paste-panel.tsx +79 -0
  58. package/components/data/scrape-panel.tsx +964 -0
  59. package/components/data/upload-panel.tsx +714 -0
  60. package/components/demo/demo-workspace.tsx +419 -0
  61. package/components/global-settings.tsx +286 -0
  62. package/components/index/index-workspace.tsx +482 -0
  63. package/components/onboarding/simple-setup.tsx +702 -0
  64. package/components/onboarding/tech-setup.tsx +121 -0
  65. package/components/onboarding/welcome-screen.tsx +183 -0
  66. package/components/page-header.tsx +44 -0
  67. package/components/server/code-viewer.tsx +87 -0
  68. package/components/server/deploy-button.tsx +1390 -0
  69. package/components/server/server-workspace.tsx +392 -0
  70. package/components/simple/sdk-connect-dialog.tsx +201 -0
  71. package/components/simple/simple-index-button.tsx +83 -0
  72. package/components/simple/simple-sidebar.tsx +161 -0
  73. package/components/theme-customizer-provider.tsx +171 -0
  74. package/components/theme-switcher.tsx +445 -0
  75. package/components/ui/alert-dialog.tsx +187 -0
  76. package/components/ui/alert.tsx +76 -0
  77. package/components/ui/badge.tsx +52 -0
  78. package/components/ui/button.tsx +59 -0
  79. package/components/ui/card.tsx +103 -0
  80. package/components/ui/checkbox.tsx +28 -0
  81. package/components/ui/collapsible.tsx +21 -0
  82. package/components/ui/dialog.tsx +159 -0
  83. package/components/ui/dropdown-menu.tsx +281 -0
  84. package/components/ui/input.tsx +22 -0
  85. package/components/ui/label.tsx +20 -0
  86. package/components/ui/popover.tsx +90 -0
  87. package/components/ui/progress.tsx +83 -0
  88. package/components/ui/provider-icon.tsx +94 -0
  89. package/components/ui/scroll-area.tsx +55 -0
  90. package/components/ui/select.tsx +248 -0
  91. package/components/ui/separator.tsx +25 -0
  92. package/components/ui/sheet.tsx +138 -0
  93. package/components/ui/skeleton.tsx +13 -0
  94. package/components/ui/sonner.tsx +63 -0
  95. package/components/ui/switch.tsx +32 -0
  96. package/components/ui/table.tsx +116 -0
  97. package/components/ui/tabs.tsx +84 -0
  98. package/components/ui/textarea.tsx +18 -0
  99. package/components/ui/tooltip.tsx +66 -0
  100. package/components/workspace/delete-server-dialog.tsx +71 -0
  101. package/components/workspace/server-form-dialog.tsx +103 -0
  102. package/components/workspace/server-switcher.tsx +163 -0
  103. package/components/workspace/workspace-provider.tsx +177 -0
  104. package/components/workspace/workspace-top-bar.tsx +23 -0
  105. package/components.json +21 -0
  106. package/lib/error-formatter.ts +15 -0
  107. package/lib/utils.ts +6 -0
  108. package/next-env.d.ts +6 -0
  109. package/next.config.mjs +18 -0
  110. package/package.json +65 -0
  111. package/postcss.config.mjs +8 -0
  112. package/public/docker.png +0 -0
  113. package/public/favicon.ico +0 -0
  114. package/public/github.svg +3 -0
  115. package/public/hetzner.svg +1 -0
  116. package/public/icons/aws.svg +38 -0
  117. package/public/icons/azure.svg +1 -0
  118. package/public/icons/chroma.png +0 -0
  119. package/public/icons/cohere.svg +30 -0
  120. package/public/icons/digital-ocean.webp +0 -0
  121. package/public/icons/firecrawl2.png +0 -0
  122. package/public/icons/gcp.svg +1 -0
  123. package/public/icons/gemini.svg +1 -0
  124. package/public/icons/jina.svg +1 -0
  125. package/public/icons/lancedb2.png +0 -0
  126. package/public/icons/mistral.svg +469 -0
  127. package/public/icons/nomic.png +0 -0
  128. package/public/icons/openai.svg +1 -0
  129. package/public/icons/pgvector2.png +0 -0
  130. package/public/icons/pinecone.png +0 -0
  131. package/public/icons/qdrant.svg +35 -0
  132. package/public/icons/supabase.png +0 -0
  133. package/public/icons/vercel copy.svg +1 -0
  134. package/public/icons/vercel.svg +1 -0
  135. package/public/icons/voyage-light.png +0 -0
  136. package/public/icons/weaviate.webp +0 -0
  137. package/public/logo-light.png +0 -0
  138. package/public/logo.png +0 -0
  139. package/public/logo9.png +0 -0
  140. package/public/vercel.svg +1 -0
  141. package/tsconfig.json +33 -0
package/app/themes.css ADDED
@@ -0,0 +1,733 @@
1
+ /* Theme Variations */
2
+
3
+ /*
4
+ 1. GAIA Theme
5
+ Green primary, soft grays, rounded corners
6
+ */
7
+ .theme-gaia {
8
+ --background: oklch(0.9911 0 0);
9
+ --foreground: oklch(0.2046 0 0);
10
+ --card: oklch(0.9911 0 0);
11
+ --card-foreground: oklch(0.2046 0 0);
12
+ --panel: oklch(0.97 0 0);
13
+ --panel-foreground: oklch(0.2046 0 0);
14
+ --popover: oklch(0.9911 0 0);
15
+ --popover-foreground: oklch(0.4386 0 0);
16
+ --primary: oklch(0.55 0.15 150); /* Darker emerald green */
17
+ --primary-foreground: oklch(0.98 0 0);
18
+ --secondary: oklch(0.95 0 0);
19
+ --secondary-foreground: oklch(0.2046 0 0);
20
+ --muted: oklch(0.9461 0 0);
21
+ --muted-foreground: oklch(0.4 0 0);
22
+ --accent: oklch(0.9461 0 0);
23
+ --accent-foreground: oklch(0.2435 0 0);
24
+ --border: oklch(0.9037 0 0);
25
+ --input: oklch(0.93 0 0);
26
+ --ring: oklch(0.55 0.15 150);
27
+ --sidebar: oklch(0.9911 0 0);
28
+ --sidebar-foreground: oklch(0.5452 0 0);
29
+ --sidebar-primary: oklch(0.55 0.15 150);
30
+ --sidebar-primary-foreground: oklch(0.98 0 0);
31
+ --sidebar-border: oklch(0.9037 0 0);
32
+ }
33
+ .dark.theme-gaia,
34
+ .theme-gaia .dark {
35
+ --background: oklch(0.1822 0 0);
36
+ --foreground: oklch(0.95 0 0);
37
+ --card: oklch(0.2046 0 0);
38
+ --card-foreground: oklch(0.95 0 0);
39
+ --panel: oklch(0.16 0 0);
40
+ --panel-foreground: oklch(0.95 0 0);
41
+ --popover: oklch(0.2603 0 0);
42
+ --popover-foreground: oklch(0.8 0 0);
43
+ --primary: oklch(0.55 0.15 150);
44
+ --primary-foreground: oklch(0.1 0 0);
45
+ --secondary: oklch(0.2603 0 0);
46
+ --secondary-foreground: oklch(0.9851 0 0);
47
+ --muted: oklch(0.2393 0 0);
48
+ --muted-foreground: oklch(0.7122 0 0);
49
+ --accent: oklch(0.3132 0 0);
50
+ --accent-foreground: oklch(0.9851 0 0);
51
+ --border: oklch(0.2809 0 0);
52
+ --input: oklch(0.2603 0 0);
53
+ --ring: oklch(0.55 0.15 150);
54
+ --sidebar: oklch(0.1822 0 0);
55
+ --sidebar-foreground: oklch(0.6301 0 0);
56
+ --sidebar-primary: oklch(0.55 0.15 150);
57
+ --sidebar-primary-foreground: oklch(0.1 0 0);
58
+ --sidebar-border: oklch(0.2809 0 0);
59
+ }
60
+
61
+ /*
62
+ 2. DOCKER Theme
63
+ Docker Blue, stark whites, light grays, semi-box UI
64
+ */
65
+ .theme-docker {
66
+ --background: #fbfaf8; /* oklch(0.98 0.002 240); */
67
+ --foreground: oklch(0.2 0.01 240);
68
+ --card: oklch(1 0 0);
69
+ --card-foreground: oklch(0.2 0.01 240);
70
+ --panel: oklch(1 0 0);
71
+ --panel-foreground: oklch(0.2 0.01 240);
72
+ --popover: oklch(1 0 0);
73
+ --popover-foreground: oklch(0.2 0.01 240);
74
+ --primary: #1d63ed;
75
+ --primary-foreground: oklch(1 0 0);
76
+ --secondary: oklch(0.95 0.005 240);
77
+ --secondary-foreground: #1d63ed;
78
+ --muted: oklch(0.94 0.005 240);
79
+ --muted-foreground: oklch(0.4 0.01 240);
80
+ --accent: oklch(0.95 0.005 240);
81
+ --accent-foreground: #1d63ed;
82
+ --border: oklch(0.85 0.005 240);
83
+ --input: oklch(0.9 0.005 240);
84
+ --ring: #1d63ed;
85
+ --sidebar: oklch(1 0 0);
86
+ --sidebar-foreground: oklch(0.4 0.01 240);
87
+ --sidebar-primary: #1d63ed;
88
+ --sidebar-primary-foreground: oklch(1 0 0);
89
+ --sidebar-border: oklch(0.85 0.005 240);
90
+ }
91
+ .dark.theme-docker,
92
+ .theme-docker .dark {
93
+ --background: oklch(0.15 0.01 240);
94
+ --foreground: oklch(0.95 0.005 240);
95
+ --card: oklch(0.18 0.01 240);
96
+ --card-foreground: oklch(0.95 0.005 240);
97
+ --panel: oklch(0.18 0.01 240);
98
+ --panel-foreground: oklch(0.95 0.005 240);
99
+ --popover: oklch(0.18 0.01 240);
100
+ --popover-foreground: oklch(0.95 0.005 240);
101
+ --primary: #1d63ed;
102
+ --primary-foreground: oklch(1 0 0);
103
+ --secondary: oklch(0.22 0.01 240);
104
+ --secondary-foreground: oklch(0.95 0.005 240);
105
+ --muted: oklch(0.2 0.01 240);
106
+ --muted-foreground: oklch(0.6 0.01 240);
107
+ --accent: oklch(0.22 0.01 240);
108
+ --accent-foreground: oklch(0.95 0.005 240);
109
+ --border: oklch(0.25 0.01 240);
110
+ --input: oklch(0.25 0.01 240);
111
+ --ring: #1d63ed;
112
+ --sidebar: oklch(0.15 0.01 240);
113
+ --sidebar-foreground: oklch(0.7 0.01 240);
114
+ --sidebar-primary: #1d63ed;
115
+ --sidebar-primary-foreground: oklch(1 0 0);
116
+ --sidebar-border: oklch(0.25 0.01 240);
117
+ }
118
+
119
+ /*
120
+ 3. PINECONE Theme
121
+ Deep indigo/purple, technical, sharp contrast
122
+ */
123
+ .theme-pinecone {
124
+ --background: oklch(1 0 0);
125
+ --foreground: oklch(0.15 0.02 280);
126
+ --card: oklch(1 0 0);
127
+ --card-foreground: oklch(0.15 0.02 280);
128
+ --panel: oklch(1 0 0);
129
+ --panel-foreground: oklch(0.15 0.02 280);
130
+ --popover: oklch(1 0 0);
131
+ --popover-foreground: oklch(0.15 0.02 280);
132
+ --primary: #6e56cf;
133
+ --primary-foreground: oklch(1 0 0);
134
+ --secondary: oklch(0.94 0.01 280);
135
+ --secondary-foreground: #6e56cf;
136
+ --muted: oklch(0.95 0.01 280);
137
+ --muted-foreground: oklch(0.45 0.01 280);
138
+ --accent: oklch(0.94 0.01 280);
139
+ --accent-foreground: #6e56cf;
140
+ --border: oklch(0.88 0.01 280);
141
+ --input: oklch(0.9 0.01 280);
142
+ --ring: #6e56cf;
143
+ --sidebar: oklch(0.99 0.005 280);
144
+ --sidebar-foreground: oklch(0.45 0.01 280);
145
+ --sidebar-primary: #6e56cf;
146
+ --sidebar-primary-foreground: oklch(1 0 0);
147
+ --sidebar-border: oklch(0.88 0.01 280);
148
+ }
149
+ .dark.theme-pinecone,
150
+ .theme-pinecone .dark {
151
+ --background: oklch(0.1 0.01 280);
152
+ --foreground: oklch(0.96 0.005 280);
153
+ --card: oklch(0.13 0.01 280);
154
+ --card-foreground: oklch(0.96 0.005 280);
155
+ --panel: oklch(0.12 0.01 280);
156
+ --panel-foreground: oklch(0.96 0.005 280);
157
+ --popover: oklch(0.13 0.01 280);
158
+ --popover-foreground: oklch(0.96 0.005 280);
159
+ --primary: #8a73ed;
160
+ --primary-foreground: oklch(1 0 0);
161
+ --secondary: oklch(0.18 0.01 280);
162
+ --secondary-foreground: oklch(0.96 0.005 280);
163
+ --muted: oklch(0.16 0.01 280);
164
+ --muted-foreground: oklch(0.6 0.01 280);
165
+ --accent: oklch(0.18 0.01 280);
166
+ --accent-foreground: oklch(0.96 0.005 280);
167
+ --border: oklch(0.2 0.01 280);
168
+ --input: oklch(0.2 0.01 280);
169
+ --ring: #8a73ed;
170
+ --sidebar: oklch(0.12 0.01 280);
171
+ --sidebar-foreground: oklch(0.6 0.01 280);
172
+ --sidebar-primary: #8a73ed;
173
+ --sidebar-primary-foreground: oklch(1 0 0);
174
+ --sidebar-border: oklch(0.2 0.01 280);
175
+ }
176
+
177
+ /*
178
+ 4. VERCEL Theme
179
+ Black/white stark minimal, zero border radius by default
180
+ */
181
+ .theme-vercel {
182
+ --background: oklch(1 0 0);
183
+ --foreground: oklch(0.1 0 0);
184
+ --card: oklch(1 0 0);
185
+ --card-foreground: oklch(0.1 0 0);
186
+ --panel: oklch(0.98 0 0);
187
+ --panel-foreground: oklch(0.1 0 0);
188
+ --popover: oklch(1 0 0);
189
+ --popover-foreground: oklch(0.1 0 0);
190
+ --primary: oklch(0.1 0 0);
191
+ --primary-foreground: oklch(1 0 0);
192
+ --secondary: oklch(0.95 0 0);
193
+ --secondary-foreground: oklch(0.1 0 0);
194
+ --muted: oklch(0.96 0 0);
195
+ --muted-foreground: oklch(0.4 0 0);
196
+ --accent: oklch(0.96 0 0);
197
+ --accent-foreground: oklch(0.1 0 0);
198
+ --border: oklch(0.9 0 0);
199
+ --input: oklch(0.92 0 0);
200
+ --ring: oklch(0.1 0 0);
201
+ --sidebar: oklch(0.98 0 0);
202
+ --sidebar-foreground: oklch(0.4 0 0);
203
+ --sidebar-primary: oklch(0.1 0 0);
204
+ --sidebar-primary-foreground: oklch(1 0 0);
205
+ --sidebar-border: oklch(0.9 0 0);
206
+ }
207
+ .dark.theme-vercel,
208
+ .theme-vercel .dark {
209
+ --background: oklch(0.1 0 0);
210
+ --foreground: oklch(0.98 0 0);
211
+ --card: oklch(0.1 0 0);
212
+ --card-foreground: oklch(0.98 0 0);
213
+ --panel: oklch(0.12 0 0);
214
+ --panel-foreground: oklch(0.98 0 0);
215
+ --popover: oklch(0.1 0 0);
216
+ --popover-foreground: oklch(0.98 0 0);
217
+ --primary: oklch(0.98 0 0);
218
+ --primary-foreground: oklch(0.1 0 0);
219
+ --secondary: oklch(0.15 0 0);
220
+ --secondary-foreground: oklch(0.98 0 0);
221
+ --muted: oklch(0.15 0 0);
222
+ --muted-foreground: oklch(0.6 0 0);
223
+ --accent: oklch(0.15 0 0);
224
+ --accent-foreground: oklch(0.98 0 0);
225
+ --border: oklch(0.2 0 0);
226
+ --input: oklch(0.2 0 0);
227
+ --ring: oklch(0.98 0 0);
228
+ --sidebar: oklch(0.1 0 0);
229
+ --sidebar-foreground: oklch(0.6 0 0);
230
+ --sidebar-primary: oklch(0.98 0 0);
231
+ --sidebar-primary-foreground: oklch(0.1 0 0);
232
+ --sidebar-border: oklch(0.2 0 0);
233
+ }
234
+
235
+ /*
236
+ 5. ELEVENLABS Theme
237
+ Cream/soft backgrounds, very rounded, subtle red/orange accents
238
+ */
239
+ .theme-elevenlabs {
240
+ --background: #fbfaf8; /* Creamy white from screenshot */
241
+ --foreground: oklch(0.2 0.01 40);
242
+ --card: #ffffff;
243
+ --card-foreground: oklch(0.2 0.01 40);
244
+ --panel: #faf9f5;
245
+ --panel-foreground: oklch(0.2 0.01 40);
246
+ --popover: oklch(1 0 0);
247
+ --popover-foreground: oklch(0.2 0.01 40);
248
+ --primary: #000000;
249
+ --primary-foreground: #ffffff;
250
+ --secondary: oklch(0.94 0.01 85);
251
+ --secondary-foreground: oklch(0.2 0.01 40);
252
+ --muted: oklch(0.95 0.01 85);
253
+ --muted-foreground: oklch(0.5 0.01 40);
254
+ --accent: oklch(0.94 0.01 85);
255
+ --accent-foreground: oklch(0.2 0.01 40);
256
+ --border: oklch(0.9 0.01 85);
257
+ --input: oklch(0.92 0.01 85);
258
+ --ring: #000000;
259
+ --sidebar: oklch(0.99 0.002 85);
260
+ --sidebar-foreground: oklch(0.4 0.01 40);
261
+ --sidebar-primary: #000000;
262
+ --sidebar-primary-foreground: #ffffff;
263
+ --sidebar-border: oklch(0.9 0.01 85);
264
+ }
265
+ .dark.theme-elevenlabs,
266
+ .theme-elevenlabs .dark {
267
+ --background: oklch(0.15 0.01 40);
268
+ --foreground: oklch(0.96 0.005 85);
269
+ --card: oklch(0.18 0.01 40);
270
+ --card-foreground: oklch(0.96 0.005 85);
271
+ --panel: oklch(0.16 0.01 40);
272
+ --panel-foreground: oklch(0.96 0.005 85);
273
+ --popover: oklch(0.18 0.01 40);
274
+ --popover-foreground: oklch(0.96 0.005 85);
275
+ --primary: #ffffff;
276
+ --primary-foreground: #000000;
277
+ --secondary: oklch(0.22 0.01 40);
278
+ --secondary-foreground: oklch(0.96 0.005 85);
279
+ --muted: oklch(0.2 0.01 40);
280
+ --muted-foreground: oklch(0.7 0.01 40);
281
+ --accent: oklch(0.22 0.01 40);
282
+ --accent-foreground: oklch(0.96 0.005 85);
283
+ --border: oklch(0.25 0.01 40);
284
+ --input: oklch(0.25 0.01 40);
285
+ --ring: #ffffff;
286
+ --sidebar: oklch(0.15 0.01 40);
287
+ --sidebar-foreground: oklch(0.7 0.01 40);
288
+ --sidebar-primary: #ffffff;
289
+ --sidebar-primary-foreground: #000000;
290
+ --sidebar-border: oklch(0.25 0.01 40);
291
+ }
292
+
293
+ /*
294
+ 6. ESPRESSO Theme
295
+ */
296
+ .theme-espresso {
297
+ --background: #f7f1ea;
298
+ --foreground: #2c1a10;
299
+ --card: #ffffff;
300
+ --card-foreground: #2c1a10;
301
+ --panel: #ede4d8;
302
+ --panel-foreground: #2c1a10;
303
+ --popover: #ffffff;
304
+ --popover-foreground: #2c1a10;
305
+ --primary: #6b3f2a;
306
+ --primary-foreground: #ffffff;
307
+ --secondary: #e3d5c5;
308
+ --secondary-foreground: #6b3f2a;
309
+ --muted: #e3d5c5;
310
+ --muted-foreground: #8b5a40;
311
+ --accent: #e3d5c5;
312
+ --accent-foreground: #6b3f2a;
313
+ --border: #d6c5b3;
314
+ --input: #d6c5b3;
315
+ --ring: #6b3f2a;
316
+ --sidebar: #ede4d8;
317
+ --sidebar-foreground: #4a2e1b;
318
+ --sidebar-primary: #6b3f2a;
319
+ --sidebar-primary-foreground: #ffffff;
320
+ --sidebar-border: #d6c5b3;
321
+ }
322
+ .dark.theme-espresso,
323
+ .theme-espresso .dark {
324
+ --background: #1c1008;
325
+ --foreground: #f7f1ea;
326
+ --card: #3a2415;
327
+ --card-foreground: #f7f1ea;
328
+ --panel: #2b1a0e;
329
+ --panel-foreground: #f7f1ea;
330
+ --popover: #3a2415;
331
+ --popover-foreground: #f7f1ea;
332
+ --primary: #6b3f2a;
333
+ --primary-foreground: #ffffff;
334
+ --secondary: #2b1a0e;
335
+ --secondary-foreground: #f7f1ea;
336
+ --muted: #2b1a0e;
337
+ --muted-foreground: #a88b7d;
338
+ --accent: #2b1a0e;
339
+ --accent-foreground: #f7f1ea;
340
+ --border: #4a2e1b;
341
+ --input: #4a2e1b;
342
+ --ring: #6b3f2a;
343
+ --sidebar: #2b1a0e;
344
+ --sidebar-foreground: #d6c5b3;
345
+ --sidebar-primary: #6b3f2a;
346
+ --sidebar-primary-foreground: #ffffff;
347
+ --sidebar-border: #4a2e1b;
348
+ }
349
+
350
+ /*
351
+ 7. WARM SIENNA Theme
352
+ */
353
+ .theme-sienna {
354
+ --background: #f7f1ea;
355
+ --foreground: #2c1a10;
356
+ --card: #ffffff;
357
+ --card-foreground: #2c1a10;
358
+ --panel: #ede4d8;
359
+ --panel-foreground: #2c1a10;
360
+ --popover: #ffffff;
361
+ --popover-foreground: #2c1a10;
362
+ --primary: #a0522d;
363
+ --primary-foreground: #ffffff;
364
+ --secondary: #e3d5c5;
365
+ --secondary-foreground: #a0522d;
366
+ --muted: #e3d5c5;
367
+ --muted-foreground: #8b5a40;
368
+ --accent: #e3d5c5;
369
+ --accent-foreground: #a0522d;
370
+ --border: #d6c5b3;
371
+ --input: #d6c5b3;
372
+ --ring: #a0522d;
373
+ --sidebar: #ede4d8;
374
+ --sidebar-foreground: #4a2e1b;
375
+ --sidebar-primary: #a0522d;
376
+ --sidebar-primary-foreground: #ffffff;
377
+ --sidebar-border: #d6c5b3;
378
+ }
379
+ .dark.theme-sienna,
380
+ .theme-sienna .dark {
381
+ --background: #1c1008;
382
+ --foreground: #f7f1ea;
383
+ --card: #3a2415;
384
+ --card-foreground: #f7f1ea;
385
+ --panel: #2b1a0e;
386
+ --panel-foreground: #f7f1ea;
387
+ --popover: #3a2415;
388
+ --popover-foreground: #f7f1ea;
389
+ --primary: #a0522d;
390
+ --primary-foreground: #ffffff;
391
+ --secondary: #2b1a0e;
392
+ --secondary-foreground: #f7f1ea;
393
+ --muted: #2b1a0e;
394
+ --muted-foreground: #a88b7d;
395
+ --accent: #2b1a0e;
396
+ --accent-foreground: #f7f1ea;
397
+ --border: #4a2e1b;
398
+ --input: #4a2e1b;
399
+ --ring: #a0522d;
400
+ --sidebar: #2b1a0e;
401
+ --sidebar-foreground: #d6c5b3;
402
+ --sidebar-primary: #a0522d;
403
+ --sidebar-primary-foreground: #ffffff;
404
+ --sidebar-border: #4a2e1b;
405
+ }
406
+
407
+ /*
408
+ 8. CARAMEL Theme
409
+ */
410
+ .theme-caramel {
411
+ --background: #f7f1ea;
412
+ --foreground: #2c1a10;
413
+ --card: #ffffff;
414
+ --card-foreground: #2c1a10;
415
+ --panel: #ede4d8;
416
+ --panel-foreground: #2c1a10;
417
+ --popover: #ffffff;
418
+ --popover-foreground: #2c1a10;
419
+ --primary: #c47c3e;
420
+ --primary-foreground: #ffffff;
421
+ --secondary: #e3d5c5;
422
+ --secondary-foreground: #c47c3e;
423
+ --muted: #e3d5c5;
424
+ --muted-foreground: #8b5a40;
425
+ --accent: #e3d5c5;
426
+ --accent-foreground: #c47c3e;
427
+ --border: #d6c5b3;
428
+ --input: #d6c5b3;
429
+ --ring: #c47c3e;
430
+ --sidebar: #ede4d8;
431
+ --sidebar-foreground: #4a2e1b;
432
+ --sidebar-primary: #c47c3e;
433
+ --sidebar-primary-foreground: #ffffff;
434
+ --sidebar-border: #d6c5b3;
435
+ }
436
+ .dark.theme-caramel,
437
+ .theme-caramel .dark {
438
+ --background: #1c1008;
439
+ --foreground: #f7f1ea;
440
+ --card: #3a2415;
441
+ --card-foreground: #f7f1ea;
442
+ --panel: #2b1a0e;
443
+ --panel-foreground: #f7f1ea;
444
+ --popover: #3a2415;
445
+ --popover-foreground: #f7f1ea;
446
+ --primary: #c47c3e;
447
+ --primary-foreground: #ffffff;
448
+ --secondary: #2b1a0e;
449
+ --secondary-foreground: #f7f1ea;
450
+ --muted: #2b1a0e;
451
+ --muted-foreground: #a88b7d;
452
+ --accent: #2b1a0e;
453
+ --accent-foreground: #f7f1ea;
454
+ --border: #4a2e1b;
455
+ --input: #4a2e1b;
456
+ --ring: #c47c3e;
457
+ --sidebar: #2b1a0e;
458
+ --sidebar-foreground: #d6c5b3;
459
+ --sidebar-primary: #c47c3e;
460
+ --sidebar-primary-foreground: #ffffff;
461
+ --sidebar-border: #4a2e1b;
462
+ }
463
+
464
+ /* Background Overrides */
465
+ .bg-warm {
466
+ --background: #f7f1ea !important;
467
+ --sidebar: #ede4d8 !important;
468
+ --card: #ffffff !important;
469
+ --popover: #ffffff !important;
470
+ --border: #d6c5b3 !important;
471
+ --input: #d6c5b3 !important;
472
+ --foreground: #2c1a10 !important;
473
+ --card-foreground: #2c1a10 !important;
474
+ --popover-foreground: #2c1a10 !important;
475
+ --sidebar-foreground: #4a2e1b !important;
476
+ --sidebar-border: #d6c5b3 !important;
477
+ --muted: #e3d5c5 !important;
478
+ --muted-foreground: #8b5a40 !important;
479
+ --secondary: #e3d5c5 !important;
480
+ --accent: #e3d5c5 !important;
481
+ }
482
+ .dark.bg-warm,
483
+ .bg-warm .dark {
484
+ --background: #1c1008 !important;
485
+ --sidebar: #2b1a0e !important;
486
+ --card: #3a2415 !important;
487
+ --popover: #3a2415 !important;
488
+ --border: #4a2e1b !important;
489
+ --input: #4a2e1b !important;
490
+ --foreground: #f7f1ea !important;
491
+ --card-foreground: #f7f1ea !important;
492
+ --popover-foreground: #f7f1ea !important;
493
+ --sidebar-foreground: #d6c5b3 !important;
494
+ --sidebar-border: #4a2e1b !important;
495
+ --muted: #2b1a0e !important;
496
+ --muted-foreground: #a88b7d !important;
497
+ --secondary: #2b1a0e !important;
498
+ --accent: #2b1a0e !important;
499
+ }
500
+
501
+ .bg-soft {
502
+ --background: #fbfaf8 !important;
503
+ --sidebar: #f4f2ec !important;
504
+ --card: #ffffff !important;
505
+ --popover: #ffffff !important;
506
+ --border: #e8e4db !important;
507
+ --input: #e8e4db !important;
508
+ --foreground: #2a2825 !important;
509
+ --card-foreground: #2a2825 !important;
510
+ --popover-foreground: #2a2825 !important;
511
+ --sidebar-foreground: #5c5852 !important;
512
+ --sidebar-border: #e8e4db !important;
513
+ --muted: #e8e4db !important;
514
+ --muted-foreground: #8a857d !important;
515
+ --secondary: #e8e4db !important;
516
+ --accent: #e8e4db !important;
517
+ }
518
+ .dark.bg-soft,
519
+ .bg-soft .dark {
520
+ --background: #1c1a18 !important;
521
+ --sidebar: #24211f !important;
522
+ --card: #2c2825 !important;
523
+ --popover: #2c2825 !important;
524
+ --border: #3a3532 !important;
525
+ --input: #3a3532 !important;
526
+ --foreground: #e8e4db !important;
527
+ --card-foreground: #e8e4db !important;
528
+ --popover-foreground: #e8e4db !important;
529
+ --sidebar-foreground: #b5b0a6 !important;
530
+ --sidebar-border: #3a3532 !important;
531
+ --muted: #2c2825 !important;
532
+ --muted-foreground: #8a857d !important;
533
+ --secondary: #2c2825 !important;
534
+ --accent: #2c2825 !important;
535
+ }
536
+
537
+ .bg-default {
538
+ --background: #fff !important;
539
+ --sidebar: #f4f4f4 !important;
540
+ --card: #ffffff !important;
541
+ --popover: #ffffff !important;
542
+ --border: #e5e5e5 !important;
543
+ --input: #e5e5e5 !important;
544
+ --foreground: #171717 !important;
545
+ --card-foreground: #171717 !important;
546
+ --popover-foreground: #171717 !important;
547
+ --sidebar-foreground: #525252 !important;
548
+ --sidebar-border: #e5e5e5 !important;
549
+ --muted: #f5f5f5 !important;
550
+ --muted-foreground: #737373 !important;
551
+ --secondary: #f5f5f5 !important;
552
+ --accent: #f5f5f5 !important;
553
+ }
554
+ .dark.bg-default,
555
+ .bg-default .dark {
556
+ --background: #0a0a0a !important;
557
+ --sidebar: #141414 !important;
558
+ --card: #1c1c1c !important;
559
+ --popover: #1c1c1c !important;
560
+ --border: #2e2e2e !important;
561
+ --input: #2e2e2e !important;
562
+ --foreground: #fafafa !important;
563
+ --card-foreground: #fafafa !important;
564
+ --popover-foreground: #fafafa !important;
565
+ --sidebar-foreground: #a1a1a1 !important;
566
+ --sidebar-border: #2e2e2e !important;
567
+ --muted: #1a1a1a !important;
568
+ --muted-foreground: #a1a1a1 !important;
569
+ --secondary: #1a1a1a !important;
570
+ --accent: #1a1a1a !important;
571
+ }
572
+
573
+ .bg-pure {
574
+ --background: #ffffff !important;
575
+ --sidebar: #f7f7f7 !important;
576
+ --card: #ffffff !important;
577
+ --popover: #ffffff !important;
578
+ --border: #eaeaea !important;
579
+ --input: #eaeaea !important;
580
+ --foreground: #111111 !important;
581
+ --card-foreground: #111111 !important;
582
+ --popover-foreground: #111111 !important;
583
+ --sidebar-foreground: #555555 !important;
584
+ --sidebar-border: #eaeaea !important;
585
+ --muted: #f3f3f3 !important;
586
+ --muted-foreground: #777777 !important;
587
+ --secondary: #f3f3f3 !important;
588
+ --accent: #f3f3f3 !important;
589
+ }
590
+ .dark.bg-pure,
591
+ .bg-pure .dark {
592
+ --background: #0a0a0a !important;
593
+ --sidebar: #141414 !important;
594
+ --card: #1c1c1c !important;
595
+ --popover: #1c1c1c !important;
596
+ --border: #2e2e2e !important;
597
+ --input: #2e2e2e !important;
598
+ --foreground: #fafafa !important;
599
+ --card-foreground: #fafafa !important;
600
+ --popover-foreground: #fafafa !important;
601
+ --sidebar-foreground: #a1a1a1 !important;
602
+ --sidebar-border: #2e2e2e !important;
603
+ --muted: #1a1a1a !important;
604
+ --muted-foreground: #a1a1a1 !important;
605
+ --secondary: #1a1a1a !important;
606
+ --accent: #1a1a1a !important;
607
+ }
608
+
609
+ /* Border Radius Overrides */
610
+
611
+ .bg-silver {
612
+ --background: #f8f8f8 !important;
613
+ --sidebar: #f0f0f0 !important;
614
+ --card: #ffffff !important;
615
+ --popover: #ffffff !important;
616
+ --border: #e0e0e0 !important;
617
+ --input: #e0e0e0 !important;
618
+ --foreground: #1a1a1a !important;
619
+ --card-foreground: #1a1a1a !important;
620
+ --popover-foreground: #1a1a1a !important;
621
+ --sidebar-foreground: #555555 !important;
622
+ --sidebar-border: #e0e0e0 !important;
623
+ --muted: #f0f0f0 !important;
624
+ --muted-foreground: #777777 !important;
625
+ --secondary: #f0f0f0 !important;
626
+ --accent: #f0f0f0 !important;
627
+ }
628
+ .dark.bg-silver,
629
+ .bg-silver .dark {
630
+ --background: #0c0c0c !important;
631
+ --sidebar: #161616 !important;
632
+ --card: #1e1e1e !important;
633
+ --popover: #1e1e1e !important;
634
+ --border: #303030 !important;
635
+ --input: #303030 !important;
636
+ --foreground: #f8f8f8 !important;
637
+ --card-foreground: #f8f8f8 !important;
638
+ --popover-foreground: #f8f8f8 !important;
639
+ --sidebar-foreground: #a0a0a0 !important;
640
+ --sidebar-border: #303030 !important;
641
+ --muted: #1c1c1c !important;
642
+ --muted-foreground: #a0a0a0 !important;
643
+ --secondary: #1c1c1c !important;
644
+ --accent: #1c1c1c !important;
645
+ }
646
+
647
+ .bg-sage {
648
+ --background: #edede8 !important;
649
+ --sidebar: #e4e4de !important;
650
+ --card: #f8f8f5 !important;
651
+ --popover: #f8f8f5 !important;
652
+ --border: #d5d5ce !important;
653
+ --input: #d5d5ce !important;
654
+ --foreground: #1c1c1a !important;
655
+ --card-foreground: #1c1c1a !important;
656
+ --popover-foreground: #1c1c1a !important;
657
+ --sidebar-foreground: #5a5a55 !important;
658
+ --sidebar-border: #d5d5ce !important;
659
+ --muted: #deded8 !important;
660
+ --muted-foreground: #7a7a74 !important;
661
+ --secondary: #deded8 !important;
662
+ --accent: #deded8 !important;
663
+ }
664
+ .dark.bg-sage,
665
+ .bg-sage .dark {
666
+ --background: #18181a !important;
667
+ --sidebar: #212123 !important;
668
+ --card: #28282a !important;
669
+ --popover: #28282a !important;
670
+ --border: #38383a !important;
671
+ --input: #38383a !important;
672
+ --foreground: #edede8 !important;
673
+ --card-foreground: #edede8 !important;
674
+ --popover-foreground: #edede8 !important;
675
+ --sidebar-foreground: #ababab !important;
676
+ --sidebar-border: #38383a !important;
677
+ --muted: #262628 !important;
678
+ --muted-foreground: #8a8a86 !important;
679
+ --secondary: #262628 !important;
680
+ --accent: #262628 !important;
681
+ }
682
+
683
+ .bg-stone {
684
+ --background: #f5f5f2 !important;
685
+ --sidebar: #ececea !important;
686
+ --card: #fefefe !important;
687
+ --popover: #fefefe !important;
688
+ --border: #ddddd9 !important;
689
+ --input: #ddddd9 !important;
690
+ --foreground: #1e1e1c !important;
691
+ --card-foreground: #1e1e1c !important;
692
+ --popover-foreground: #1e1e1c !important;
693
+ --sidebar-foreground: #585856 !important;
694
+ --sidebar-border: #ddddd9 !important;
695
+ --muted: #e6e6e3 !important;
696
+ --muted-foreground: #7e7e7a !important;
697
+ --secondary: #e6e6e3 !important;
698
+ --accent: #e6e6e3 !important;
699
+ }
700
+ .dark.bg-stone,
701
+ .bg-stone .dark {
702
+ --background: #19191a !important;
703
+ --sidebar: #222223 !important;
704
+ --card: #29292a !important;
705
+ --popover: #29292a !important;
706
+ --border: #39393a !important;
707
+ --input: #39393a !important;
708
+ --foreground: #f5f5f2 !important;
709
+ --card-foreground: #f5f5f2 !important;
710
+ --popover-foreground: #f5f5f2 !important;
711
+ --sidebar-foreground: #acacaa !important;
712
+ --sidebar-border: #39393a !important;
713
+ --muted: #272728 !important;
714
+ --muted-foreground: #8c8c88 !important;
715
+ --secondary: #272728 !important;
716
+ --accent: #272728 !important;
717
+ }
718
+
719
+ .radius-0 {
720
+ --radius: 0rem !important;
721
+ }
722
+ .radius-sm {
723
+ --radius: 0.3rem !important;
724
+ }
725
+ .radius-default {
726
+ --radius: 0.625rem !important;
727
+ }
728
+ .radius-lg {
729
+ --radius: 1rem !important;
730
+ }
731
+ .radius-full {
732
+ --radius: 9999px !important;
733
+ }