lemma-sdk 0.2.27 → 0.2.30

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 (90) hide show
  1. package/README.md +113 -233
  2. package/bin/lemma-sdk.js +108 -0
  3. package/dist/browser/lemma-client.js +125 -4
  4. package/dist/client.d.ts +2 -0
  5. package/dist/client.js +3 -0
  6. package/dist/config.d.ts +2 -2
  7. package/dist/config.js +2 -2
  8. package/dist/datastore-query.d.ts +54 -0
  9. package/dist/datastore-query.js +157 -0
  10. package/dist/index.d.ts +7 -0
  11. package/dist/index.js +3 -0
  12. package/dist/namespaces/datastore.d.ts +9 -0
  13. package/dist/namespaces/datastore.js +13 -0
  14. package/dist/namespaces/records.d.ts +1 -1
  15. package/dist/openapi_client/index.d.ts +4 -0
  16. package/dist/openapi_client/index.js +1 -0
  17. package/dist/openapi_client/models/ConvertedArtifactResponse.d.ts +6 -0
  18. package/dist/openapi_client/models/ConvertedArtifactResponse.js +1 -0
  19. package/dist/openapi_client/models/ConvertedFileResponse.d.ts +10 -0
  20. package/dist/openapi_client/models/ConvertedFileResponse.js +1 -0
  21. package/dist/openapi_client/models/CreateFolderRequest.d.ts +3 -1
  22. package/dist/openapi_client/models/FlowRunEntity.d.ts +1 -0
  23. package/dist/openapi_client/models/ScheduledFlowStart.d.ts +3 -6
  24. package/dist/openapi_client/models/ScheduledFlowStartType.d.ts +4 -0
  25. package/dist/openapi_client/models/ScheduledFlowStartType.js +9 -0
  26. package/dist/openapi_client/models/WorkflowInstallRequest.d.ts +5 -0
  27. package/dist/openapi_client/models/WorkflowTimeInstallConfig.d.ts +19 -0
  28. package/dist/openapi_client/models/WorkflowTimeInstallConfig.js +1 -0
  29. package/dist/openapi_client/services/FilesService.d.ts +27 -1
  30. package/dist/openapi_client/services/FilesService.js +69 -1
  31. package/dist/openapi_client/services/WorkflowsService.d.ts +1 -1
  32. package/dist/openapi_client/services/WorkflowsService.js +1 -1
  33. package/dist/react/assistant-output.d.ts +6 -0
  34. package/dist/react/assistant-output.js +90 -0
  35. package/dist/react/components/AssistantExperience.js +6 -4
  36. package/dist/react/index.d.ts +42 -8
  37. package/dist/react/index.js +21 -4
  38. package/dist/react/useAgentRun.d.ts +17 -0
  39. package/dist/react/useAgentRun.js +58 -0
  40. package/dist/react/useAssistantRun.d.ts +9 -0
  41. package/dist/react/useAssistantRun.js +19 -9
  42. package/dist/react/useAssistantSession.d.ts +5 -0
  43. package/dist/react/useAssistantSession.js +123 -70
  44. package/dist/react/useBulkRecords.d.ts +20 -0
  45. package/dist/react/useBulkRecords.js +72 -0
  46. package/dist/react/useConversation.d.ts +18 -0
  47. package/dist/react/useConversation.js +59 -0
  48. package/dist/react/useConversationMessages.d.ts +59 -0
  49. package/dist/react/useConversationMessages.js +167 -0
  50. package/dist/react/useConversations.d.ts +48 -0
  51. package/dist/react/useConversations.js +182 -0
  52. package/dist/react/useCreateRecord.d.ts +18 -0
  53. package/dist/react/useCreateRecord.js +58 -0
  54. package/dist/react/useDeleteRecord.d.ts +21 -0
  55. package/dist/react/useDeleteRecord.js +59 -0
  56. package/dist/react/useForeignKeyOptions.d.ts +31 -0
  57. package/dist/react/useForeignKeyOptions.js +150 -0
  58. package/dist/react/useJoinedRecords.d.ts +18 -0
  59. package/dist/react/useJoinedRecords.js +79 -0
  60. package/dist/react/useMembers.d.ts +22 -0
  61. package/dist/react/useMembers.js +59 -0
  62. package/dist/react/useRecord.d.ts +18 -0
  63. package/dist/react/useRecord.js +64 -0
  64. package/dist/react/useRecordForm.d.ts +42 -0
  65. package/dist/react/useRecordForm.js +238 -0
  66. package/dist/react/useRecordSchema.d.ts +20 -0
  67. package/dist/react/useRecordSchema.js +24 -0
  68. package/dist/react/useRecords.d.ts +18 -0
  69. package/dist/react/useRecords.js +106 -0
  70. package/dist/react/useRelatedRecords.d.ts +43 -0
  71. package/dist/react/useRelatedRecords.js +232 -0
  72. package/dist/react/useReverseRelatedRecords.d.ts +47 -0
  73. package/dist/react/useReverseRelatedRecords.js +226 -0
  74. package/dist/react/useSchemaForm.d.ts +24 -0
  75. package/dist/react/useSchemaForm.js +116 -0
  76. package/dist/react/useTable.d.ts +16 -0
  77. package/dist/react/useTable.js +59 -0
  78. package/dist/react/useTables.d.ts +22 -0
  79. package/dist/react/useTables.js +71 -0
  80. package/dist/react/useUpdateRecord.d.ts +21 -0
  81. package/dist/react/useUpdateRecord.js +62 -0
  82. package/dist/react/useWorkflowStart.d.ts +33 -0
  83. package/dist/react/useWorkflowStart.js +155 -0
  84. package/dist/record-form.d.ts +30 -0
  85. package/dist/record-form.js +199 -0
  86. package/dist/schema-form.d.ts +41 -0
  87. package/dist/schema-form.js +200 -0
  88. package/dist/types.d.ts +5 -1
  89. package/package.json +10 -5
  90. package/dist/react/styles.css +0 -2401
@@ -1,2401 +0,0 @@
1
- .lemma-assistant-theme {
2
- color-scheme: light;
3
- --bg-canvas: #f5f7fb;
4
- --bg-surface: #ffffff;
5
- --bg-subtle: #f3f4f6;
6
- --border-default: #d4dae5;
7
- --border-subtle: #e6ebf2;
8
- --text-primary: #111827;
9
- --text-secondary: #374151;
10
- --text-tertiary: #6b7280;
11
- --text-inverse: #ffffff;
12
- --text-on-brand: #ffffff;
13
- --brand-primary: #1d4ed8;
14
- --brand-secondary: #1e3a8a;
15
- --brand-accent: #2563eb;
16
- --brand-glow: #dbeafe;
17
- --state-success: #15803d;
18
- --state-error: #b91c1c;
19
- --state-info: #1d4ed8;
20
- --state-warning: #b45309;
21
- --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.08);
22
- --assistant-radius-shell: 6px;
23
- --assistant-radius-item: 4px;
24
- --assistant-radius-bubble: 4px;
25
- --assistant-radius-inline: 3px;
26
- --shadow-sm: 0 2px 6px rgba(15, 23, 42, 0.08);
27
- --shadow-md: 0 6px 16px rgba(15, 23, 42, 0.1);
28
- --shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);
29
- color: var(--text-primary);
30
- font-family:
31
- "Inter",
32
- "Segoe UI",
33
- ui-sans-serif,
34
- system-ui,
35
- -apple-system,
36
- BlinkMacSystemFont,
37
- sans-serif;
38
- font-size: 16px;
39
- line-height: 1.5;
40
- }
41
-
42
- .lemma-assistant-theme,
43
- .lemma-assistant-theme * {
44
- box-sizing: border-box;
45
- }
46
-
47
- .lemma-assistant-theme button,
48
- .lemma-assistant-theme input,
49
- .lemma-assistant-theme select,
50
- .lemma-assistant-theme textarea {
51
- font: inherit;
52
- }
53
-
54
- .lemma-assistant-theme a {
55
- color: inherit;
56
- }
57
-
58
- .lemma-assistant-theme textarea::placeholder,
59
- .lemma-assistant-theme input::placeholder {
60
- color: var(--text-tertiary);
61
- }
62
-
63
- @media (prefers-color-scheme: dark) {
64
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]),
65
- .lemma-assistant-theme[data-lemma-theme="auto"] {
66
- color-scheme: dark;
67
- --bg-canvas: #0f172a;
68
- --bg-surface: #111827;
69
- --bg-subtle: #1f2937;
70
- --border-default: #334155;
71
- --border-subtle: #273448;
72
- --text-primary: #f8fafc;
73
- --text-secondary: #d1d5db;
74
- --text-tertiary: #94a3b8;
75
- --text-inverse: #0f172a;
76
- --text-on-brand: #ffffff;
77
- --brand-primary: #2563eb;
78
- --brand-secondary: #1d4ed8;
79
- --brand-accent: #60a5fa;
80
- --brand-glow: rgba(30, 64, 175, 0.24);
81
- --state-success: #4ade80;
82
- --state-error: #f87171;
83
- --state-info: #60a5fa;
84
- --state-warning: #fbbf24;
85
- --shadow-xs: 0 1px 2px rgba(2, 6, 23, 0.35);
86
- --shadow-sm: 0 2px 8px rgba(2, 6, 23, 0.35);
87
- --shadow-md: 0 8px 20px rgba(2, 6, 23, 0.45);
88
- --shadow-lg: 0 12px 28px rgba(2, 6, 23, 0.55);
89
- }
90
- }
91
-
92
- :where(.light, [data-theme="light"], [data-color-scheme="light"], [data-mode="light"]) .lemma-assistant-theme:not([data-lemma-theme="dark"]),
93
- .lemma-assistant-theme[data-lemma-theme="light"] {
94
- color-scheme: light;
95
- --bg-canvas: #f5f7fb;
96
- --bg-surface: #ffffff;
97
- --bg-subtle: #f3f4f6;
98
- --border-default: #d4dae5;
99
- --border-subtle: #e6ebf2;
100
- --text-primary: #111827;
101
- --text-secondary: #374151;
102
- --text-tertiary: #6b7280;
103
- --text-inverse: #ffffff;
104
- --text-on-brand: #ffffff;
105
- --brand-primary: #1d4ed8;
106
- --brand-secondary: #1e3a8a;
107
- --brand-accent: #2563eb;
108
- --brand-glow: #dbeafe;
109
- --state-success: #15803d;
110
- --state-error: #b91c1c;
111
- --state-info: #1d4ed8;
112
- --state-warning: #b45309;
113
- --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.08);
114
- --assistant-radius-shell: 6px;
115
- --assistant-radius-item: 4px;
116
- --assistant-radius-bubble: 4px;
117
- --assistant-radius-inline: 3px;
118
- --shadow-sm: 0 2px 6px rgba(15, 23, 42, 0.08);
119
- --shadow-md: 0 6px 16px rgba(15, 23, 42, 0.1);
120
- --shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);
121
- }
122
-
123
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]),
124
- .lemma-assistant-theme[data-lemma-theme="dark"] {
125
- color-scheme: dark;
126
- --bg-canvas: #0f172a;
127
- --bg-surface: #111827;
128
- --bg-subtle: #1f2937;
129
- --border-default: #334155;
130
- --border-subtle: #273448;
131
- --text-primary: #f8fafc;
132
- --text-secondary: #d1d5db;
133
- --text-tertiary: #94a3b8;
134
- --text-inverse: #0f172a;
135
- --text-on-brand: #ffffff;
136
- --brand-primary: #2563eb;
137
- --brand-secondary: #1d4ed8;
138
- --brand-accent: #60a5fa;
139
- --brand-glow: rgba(30, 64, 175, 0.24);
140
- --state-success: #4ade80;
141
- --state-error: #f87171;
142
- --state-info: #60a5fa;
143
- --state-warning: #fbbf24;
144
- --shadow-xs: 0 1px 2px rgba(2, 6, 23, 0.35);
145
- --shadow-sm: 0 2px 8px rgba(2, 6, 23, 0.35);
146
- --shadow-md: 0 8px 20px rgba(2, 6, 23, 0.45);
147
- --shadow-lg: 0 12px 28px rgba(2, 6, 23, 0.55);
148
- }
149
-
150
- .lemma-assistant-embedded {
151
- display: flex;
152
- flex-direction: column;
153
- min-height: 0;
154
- height: 100%;
155
- }
156
-
157
- .lemma-assistant-experience[data-radius="none"] {
158
- --assistant-radius-shell: 0px;
159
- --assistant-radius-item: 0px;
160
- --assistant-radius-bubble: 0px;
161
- --assistant-radius-inline: 0px;
162
- }
163
-
164
- .lemma-assistant-experience[data-radius="sm"] {
165
- --assistant-radius-shell: 6px;
166
- --assistant-radius-item: 4px;
167
- --assistant-radius-bubble: 4px;
168
- --assistant-radius-inline: 3px;
169
- }
170
-
171
- .lemma-assistant-experience[data-radius="md"] {
172
- --assistant-radius-shell: 10px;
173
- --assistant-radius-item: 8px;
174
- --assistant-radius-bubble: 8px;
175
- --assistant-radius-inline: 6px;
176
- }
177
-
178
- .lemma-assistant-experience[data-radius="lg"] {
179
- --assistant-radius-shell: 14px;
180
- --assistant-radius-item: 12px;
181
- --assistant-radius-bubble: 12px;
182
- --assistant-radius-inline: 8px;
183
- }
184
-
185
- .lemma-assistant-experience[data-radius="xl"] {
186
- --assistant-radius-shell: 18px;
187
- --assistant-radius-item: 16px;
188
- --assistant-radius-bubble: 16px;
189
- --assistant-radius-inline: 10px;
190
- }
191
-
192
- .lemma-assistant-markdown {
193
- color: inherit;
194
- line-height: 1.7;
195
- word-break: break-word;
196
- }
197
-
198
- .lemma-assistant-markdown > :first-child {
199
- margin-top: 0;
200
- }
201
-
202
- .lemma-assistant-markdown > :last-child {
203
- margin-bottom: 0;
204
- }
205
-
206
- .lemma-assistant-markdown p,
207
- .lemma-assistant-markdown ul,
208
- .lemma-assistant-markdown ol,
209
- .lemma-assistant-markdown pre,
210
- .lemma-assistant-markdown blockquote,
211
- .lemma-assistant-markdown table,
212
- .lemma-assistant-markdown hr {
213
- margin: 0 0 0.95em;
214
- }
215
-
216
- .lemma-assistant-markdown h1,
217
- .lemma-assistant-markdown h2,
218
- .lemma-assistant-markdown h3,
219
- .lemma-assistant-markdown h4 {
220
- margin: 1.15em 0 0.55em;
221
- line-height: 1.25;
222
- color: var(--text-primary);
223
- }
224
-
225
- .lemma-assistant-markdown h1 {
226
- font-size: 1.4rem;
227
- }
228
-
229
- .lemma-assistant-markdown h2 {
230
- font-size: 1.2rem;
231
- }
232
-
233
- .lemma-assistant-markdown h3 {
234
- font-size: 1.05rem;
235
- }
236
-
237
- .lemma-assistant-markdown h4 {
238
- font-size: 0.95rem;
239
- }
240
-
241
- .lemma-assistant-markdown ul,
242
- .lemma-assistant-markdown ol {
243
- padding-left: 1.35rem;
244
- }
245
-
246
- .lemma-assistant-markdown ul {
247
- list-style: disc;
248
- }
249
-
250
- .lemma-assistant-markdown ol {
251
- list-style: decimal;
252
- }
253
-
254
- .lemma-assistant-markdown li + li {
255
- margin-top: 0.3rem;
256
- }
257
-
258
- .lemma-assistant-markdown li > ul,
259
- .lemma-assistant-markdown li > ol {
260
- margin-top: 0.35rem;
261
- margin-bottom: 0;
262
- }
263
-
264
- .lemma-assistant-markdown a {
265
- color: var(--state-info);
266
- text-decoration: underline;
267
- text-decoration-color: color-mix(in srgb, var(--state-info) 56%, transparent);
268
- text-underline-offset: 0.16em;
269
- }
270
-
271
- .lemma-assistant-markdown a:hover {
272
- color: color-mix(in srgb, var(--state-info) 82%, var(--text-primary));
273
- }
274
-
275
- .lemma-assistant-markdown strong {
276
- color: var(--text-primary);
277
- font-weight: 650;
278
- }
279
-
280
- .lemma-assistant-markdown em {
281
- color: var(--text-secondary);
282
- }
283
-
284
- .lemma-assistant-markdown hr {
285
- border: 0;
286
- border-top: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
287
- }
288
-
289
- .lemma-assistant-markdown blockquote {
290
- padding: 0.15rem 0 0.15rem 0.9rem;
291
- border-left: 3px solid color-mix(in srgb, var(--brand-accent) 60%, var(--border-default));
292
- color: var(--text-secondary);
293
- }
294
-
295
- .lemma-assistant-markdown :not(pre) > code {
296
- display: inline-block;
297
- margin: 0 0.08rem;
298
- padding: 0.1rem 0.42rem;
299
- border: 1px solid color-mix(in srgb, var(--border-default) 82%, transparent);
300
- border-radius: var(--assistant-radius-inline);
301
- background: color-mix(in srgb, var(--bg-subtle) 88%, transparent);
302
- color: var(--text-primary);
303
- font-size: 0.92em;
304
- line-height: 1.45;
305
- }
306
-
307
- .lemma-assistant-markdown pre {
308
- overflow-x: auto;
309
- padding: 0.9rem 1rem;
310
- border: 1px solid color-mix(in srgb, var(--border-default) 82%, transparent);
311
- border-radius: var(--assistant-radius-item);
312
- background: color-mix(in srgb, var(--bg-canvas) 74%, var(--bg-surface));
313
- box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 60%, transparent);
314
- }
315
-
316
- .lemma-assistant-markdown pre code {
317
- padding: 0;
318
- border: 0;
319
- background: transparent;
320
- color: inherit;
321
- font-size: 0.92em;
322
- line-height: 1.65;
323
- }
324
-
325
- .lemma-assistant-markdown table {
326
- display: block;
327
- width: 100%;
328
- overflow-x: auto;
329
- border-collapse: separate;
330
- border-spacing: 0;
331
- border: 1px solid color-mix(in srgb, var(--border-default) 82%, transparent);
332
- border-radius: var(--assistant-radius-inline);
333
- background: color-mix(in srgb, var(--bg-surface) 96%, transparent);
334
- }
335
-
336
- .lemma-assistant-markdown thead {
337
- background: color-mix(in srgb, var(--bg-subtle) 76%, transparent);
338
- }
339
-
340
- .lemma-assistant-markdown th,
341
- .lemma-assistant-markdown td {
342
- padding: 0.7rem 0.85rem;
343
- border-bottom: 1px solid color-mix(in srgb, var(--border-default) 72%, transparent);
344
- text-align: left;
345
- vertical-align: top;
346
- }
347
-
348
- .lemma-assistant-markdown tr:last-child td {
349
- border-bottom: 0;
350
- }
351
-
352
- .lemma-assistant-markdown img {
353
- max-width: 100%;
354
- border-radius: var(--assistant-radius-inline);
355
- }
356
-
357
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown,
358
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown h1,
359
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown h2,
360
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown h3,
361
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown h4,
362
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown strong,
363
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown em,
364
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown a,
365
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown code,
366
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown pre code {
367
- color: inherit;
368
- }
369
-
370
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown a {
371
- text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
372
- }
373
-
374
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown blockquote {
375
- border-left-color: color-mix(in srgb, currentColor 34%, transparent);
376
- color: inherit;
377
- }
378
-
379
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown :not(pre) > code {
380
- border-color: color-mix(in srgb, currentColor 18%, transparent);
381
- background: color-mix(in srgb, currentColor 10%, transparent);
382
- color: inherit;
383
- }
384
-
385
- .lemma-assistant-message-user-bubble .lemma-assistant-markdown pre {
386
- border-color: color-mix(in srgb, currentColor 18%, transparent);
387
- background: color-mix(in srgb, currentColor 8%, transparent);
388
- }
389
-
390
- .lemma-assistant-shell,
391
- .lemma-assistant-experience,
392
- .lemma-assistant-shell-sidebar,
393
- .lemma-assistant-experience-sidebar,
394
- .lemma-assistant-experience-main,
395
- .lemma-assistant-experience-card,
396
- .lemma-assistant-viewport,
397
- .lemma-assistant-experience-viewport {
398
- min-width: 0;
399
- min-height: 0;
400
- }
401
-
402
- .lemma-assistant-shell {
403
- display: flex;
404
- flex-direction: column;
405
- gap: 12px;
406
- }
407
-
408
- .lemma-assistant-shell-sidebar {
409
- display: none;
410
- }
411
-
412
- @media (min-width: 1024px) {
413
- .lemma-assistant-shell.lemma-assistant-shell--with-sidebar.lemma-assistant-shell--sidebar-visible {
414
- display: grid;
415
- grid-template-columns: 280px minmax(0, 1fr);
416
- gap: 12px;
417
- align-items: stretch;
418
- }
419
-
420
- .lemma-assistant-shell.lemma-assistant-shell--with-sidebar.lemma-assistant-shell--sidebar-visible > .lemma-assistant-shell-sidebar {
421
- display: block;
422
- height: 100%;
423
- }
424
- }
425
-
426
- .lemma-assistant-header,
427
- .lemma-assistant-experience-header {
428
- display: flex;
429
- align-items: center;
430
- justify-content: space-between;
431
- gap: 12px;
432
- background: transparent;
433
- border-bottom: 0;
434
- box-shadow: none;
435
- }
436
-
437
-
438
- .lemma-assistant-header[data-tone="default"],
439
- .lemma-assistant-experience-header[data-tone="default"] {
440
- background: var(--bg-surface);
441
- border-bottom: 1px solid var(--border-default);
442
- }
443
-
444
- .lemma-assistant-header[data-tone="flat"],
445
- .lemma-assistant-experience-header[data-tone="flat"] {
446
- background: transparent;
447
- border-bottom: 0;
448
- box-shadow: none;
449
- padding-bottom: 0;
450
- }
451
-
452
- .lemma-assistant-header-copy,
453
- .lemma-assistant-experience-header-copy {
454
- display: flex;
455
- align-items: center;
456
- gap: 10px;
457
- min-width: 0;
458
- }
459
-
460
- .lemma-assistant-header-titles,
461
- .lemma-assistant-experience-header-titles,
462
- .lemma-assistant-conversation-list-copy,
463
- .lemma-assistant-experience-sidebar-copy {
464
- min-width: 0;
465
- }
466
-
467
- .lemma-assistant-header-title,
468
- .lemma-assistant-header-subtitle,
469
- .lemma-assistant-experience-header-title,
470
- .lemma-assistant-experience-header-subtitle {
471
- margin: 0;
472
- }
473
-
474
- .lemma-assistant-header-controls,
475
- .lemma-assistant-experience-header-controls {
476
- display: flex;
477
- align-items: center;
478
- gap: 6px;
479
- flex-wrap: wrap;
480
- justify-content: flex-end;
481
- }
482
-
483
- .lemma-assistant-conversation-list,
484
- .lemma-assistant-experience-sidebar,
485
- .lemma-assistant-experience-card {
486
- background: var(--bg-surface);
487
- border: 1px solid var(--border-default);
488
- border-radius: var(--assistant-radius-shell);
489
- box-shadow: var(--shadow-sm);
490
- }
491
-
492
- .lemma-assistant-conversation-list-header,
493
- .lemma-assistant-experience-sidebar-header {
494
- border-bottom: 1px solid var(--border-default);
495
- }
496
-
497
- .lemma-assistant-conversation-list-header-row,
498
- .lemma-assistant-experience-sidebar-header-row {
499
- display: flex;
500
- align-items: center;
501
- justify-content: space-between;
502
- gap: 12px;
503
- }
504
-
505
- .lemma-assistant-conversation-list-items,
506
- .lemma-assistant-experience-sidebar-items {
507
- flex: 1 1 auto;
508
- min-height: 0;
509
- overflow-y: auto;
510
- }
511
-
512
- .lemma-assistant-conversation-list-item,
513
- .lemma-assistant-experience-sidebar-item {
514
- display: block;
515
- width: 100%;
516
- border-radius: var(--assistant-radius-item);
517
- }
518
-
519
- .lemma-assistant-conversation-list-item-title,
520
- .lemma-assistant-experience-sidebar-item-title {
521
- white-space: nowrap;
522
- overflow: hidden;
523
- text-overflow: ellipsis;
524
- }
525
-
526
- .lemma-assistant-model-picker,
527
- .lemma-assistant-experience-model-picker {
528
- appearance: none;
529
- min-width: 132px;
530
- border-color: color-mix(in srgb, var(--border-default) 86%, transparent);
531
- background: var(--bg-surface);
532
- }
533
-
534
- .lemma-assistant-viewport,
535
- .lemma-assistant-experience-viewport {
536
- overflow-y: auto;
537
- min-height: 0;
538
- }
539
-
540
- .lemma-assistant-viewport-inner {
541
- width: 100%;
542
- max-width: 80rem;
543
- margin: 0 auto;
544
- }
545
-
546
- .lemma-assistant-composer,
547
- .lemma-assistant-experience-composer {
548
- position: relative;
549
- padding: 0;
550
- background: transparent;
551
- border: 0;
552
- border-radius: 0;
553
- box-shadow: none;
554
- }
555
-
556
-
557
- .lemma-assistant-composer[data-tone="subtle"],
558
- .lemma-assistant-experience-composer[data-tone="subtle"] {
559
- background: transparent;
560
- border: 0;
561
- box-shadow: none;
562
- }
563
-
564
- .lemma-assistant-composer[data-tone="flat"],
565
- .lemma-assistant-experience-composer[data-tone="flat"] {
566
- background: transparent;
567
- border: 0;
568
- box-shadow: none;
569
- padding: 0;
570
- }
571
-
572
- .lemma-assistant-composer-floating,
573
- .lemma-assistant-experience-plan {
574
- position: absolute;
575
- left: 0;
576
- right: 0;
577
- bottom: calc(100% + 8px);
578
- z-index: 20;
579
- pointer-events: auto;
580
- }
581
-
582
- .lemma-assistant-composer-status-rail {
583
- min-height: 34px;
584
- }
585
-
586
- .lemma-assistant-composer-status,
587
- .lemma-assistant-experience-status {
588
- min-height: 26px;
589
- }
590
-
591
- .lemma-assistant-composer-pending,
592
- .lemma-assistant-experience-pending {
593
- display: flex;
594
- flex-wrap: wrap;
595
- gap: 6px;
596
- }
597
-
598
- .lemma-assistant-conversation-list-new,
599
- .lemma-assistant-experience-sidebar-new {
600
- border-color: color-mix(in srgb, var(--border-default) 88%, transparent);
601
- }
602
-
603
-
604
- .lemma-assistant-experience-new,
605
- .lemma-assistant-conversation-list-new,
606
- .lemma-assistant-experience-sidebar-new {
607
- background: var(--bg-surface);
608
- border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
609
- }
610
-
611
- .lemma-assistant-experience-new {
612
- border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
613
- }
614
-
615
- .lemma-assistant-experience[data-chrome-style="subtle"] .lemma-assistant-experience-card,
616
- .lemma-assistant-experience[data-chrome-style="subtle"] .lemma-assistant-experience-sidebar {
617
- box-shadow: var(--shadow-sm);
618
- }
619
-
620
- .lemma-assistant-experience[data-chrome-style="flat"] .lemma-assistant-experience-card,
621
- .lemma-assistant-experience[data-chrome-style="flat"] .lemma-assistant-experience-sidebar {
622
- background: transparent;
623
- border-color: transparent;
624
- box-shadow: none;
625
- }
626
-
627
- .lemma-assistant-plan-strip {
628
- background: var(--bg-surface);
629
- border-color: color-mix(in srgb, var(--border-default) 88%, transparent);
630
- box-shadow: none;
631
- border-radius: var(--assistant-radius-shell);
632
- }
633
-
634
- .lemma-assistant-pending-file-chip {
635
- display: inline-flex;
636
- align-items: center;
637
- gap: 6px;
638
- max-width: 100%;
639
- border-radius: var(--assistant-radius-inline);
640
- }
641
-
642
- .lemma-assistant-pending-file-chip-label {
643
- overflow: hidden;
644
- text-overflow: ellipsis;
645
- white-space: nowrap;
646
- }
647
-
648
- .lemma-assistant-pending-file-chip-remove {
649
- border: 0;
650
- background: transparent;
651
- color: inherit;
652
- cursor: pointer;
653
- }
654
-
655
- .lemma-assistant-status-pill {
656
- display: inline-flex;
657
- align-items: center;
658
- gap: 8px;
659
- }
660
-
661
- .lemma-assistant-status-pill-dot {
662
- position: relative;
663
- }
664
-
665
- .lemma-assistant-status-pill-dot-ping {
666
- animation: lemma-assistant-ping 1.4s ease-out infinite;
667
- }
668
-
669
- .lemma-assistant-ask-overlay-header,
670
- .lemma-assistant-ask-overlay-actions,
671
- .lemma-assistant-experience-input-row {
672
- display: flex;
673
- }
674
-
675
- .lemma-assistant-ask-overlay-header {
676
- align-items: flex-start;
677
- justify-content: space-between;
678
- gap: 12px;
679
- }
680
-
681
- .lemma-assistant-ask-overlay-options {
682
- overflow-y: auto;
683
- }
684
-
685
- .lemma-assistant-ask-overlay-option {
686
- display: block;
687
- width: 100%;
688
- }
689
-
690
- .lemma-assistant-ask-overlay-option-label {
691
- display: inline-flex;
692
- align-items: center;
693
- gap: 8px;
694
- }
695
-
696
- .lemma-assistant-plan-strip-header,
697
- .lemma-assistant-plan-strip-summary,
698
- .lemma-assistant-thinking-label,
699
- .lemma-assistant-widget-card-header,
700
- .lemma-assistant-message-header,
701
- .lemma-assistant-tool-rollup-toggle {
702
- display: flex;
703
- align-items: center;
704
- }
705
-
706
- .lemma-assistant-plan-strip-header,
707
- .lemma-assistant-widget-card-header {
708
- justify-content: space-between;
709
- gap: 8px;
710
- }
711
-
712
- .lemma-assistant-plan-strip-steps,
713
- .lemma-assistant-message-body,
714
- .lemma-assistant-presented-files,
715
- .lemma-assistant-tool-rollup,
716
- .lemma-assistant-tool-rollup-details,
717
- .lemma-assistant-widget-card,
718
- .lemma-assistant-reasoning,
719
- .lemma-assistant-empty-state {
720
- min-width: 0;
721
- }
722
-
723
- .lemma-assistant-message {
724
- max-width: 78ch;
725
- }
726
-
727
- .lemma-assistant-message-user {
728
- display: flex;
729
- justify-content: flex-end;
730
- max-width: none;
731
- }
732
-
733
- .lemma-assistant-message-user-bubble {
734
- max-width: 72ch;
735
- border-radius: var(--assistant-radius-bubble);
736
- }
737
-
738
- .lemma-assistant-message-text {
739
- line-height: 1.65;
740
- }
741
-
742
- .lemma-assistant-tool-rollup-toggle,
743
- .lemma-assistant-message-header,
744
- .lemma-assistant-thinking-label,
745
- .lemma-assistant-reasoning-summary {
746
- gap: 6px;
747
- }
748
-
749
- .lemma-assistant-tool-rollup-details,
750
- .lemma-assistant-reasoning-body {
751
- border-left: 1px solid var(--border-default);
752
- }
753
-
754
- .lemma-assistant-tool-rollup-thinking,
755
- .lemma-assistant-widget-card-frame,
756
- .lemma-assistant-presented-file > *:first-child {
757
- border-radius: var(--assistant-radius-inline);
758
- }
759
-
760
- .lemma-assistant-widget-card-frame {
761
- width: 100%;
762
- }
763
-
764
- .lemma-assistant-empty-state {
765
- padding: 20px 8px;
766
- text-align: center;
767
- }
768
-
769
- .lemma-assistant-empty-state-hero {
770
- display: flex;
771
- flex-direction: column;
772
- align-items: center;
773
- justify-content: center;
774
- }
775
-
776
- .lemma-assistant-empty-state-suggestions {
777
- display: grid;
778
- grid-template-columns: repeat(1, minmax(0, 1fr));
779
- gap: 10px;
780
- max-width: 500px;
781
- margin: 0 auto;
782
- }
783
-
784
- @media (min-width: 640px) {
785
- .lemma-assistant-empty-state-suggestions {
786
- grid-template-columns: repeat(2, minmax(0, 1fr));
787
- }
788
- }
789
-
790
- .lemma-assistant-empty-state-suggestion {
791
- display: flex;
792
- align-items: center;
793
- gap: 10px;
794
- }
795
-
796
- .lemma-assistant-experience-composer-body,
797
- .lemma-assistant-composer-body {
798
- min-width: 0;
799
- }
800
-
801
- .lemma-assistant-experience-input-row {
802
- align-items: center;
803
- gap: 8px;
804
- }
805
-
806
- .lemma-assistant-experience-textarea {
807
- width: 100%;
808
- resize: none;
809
- }
810
-
811
- .lemma-assistant-experience-upload,
812
- .lemma-assistant-experience-send,
813
- .lemma-assistant-experience-new,
814
- .lemma-assistant-conversation-list-new {
815
- cursor: pointer;
816
- }
817
-
818
- .lemma-assistant-experience-upload:disabled,
819
- .lemma-assistant-experience-send:disabled,
820
- .lemma-assistant-model-picker:disabled {
821
- cursor: default;
822
- }
823
-
824
- .lemma-assistant-shell,
825
- .lemma-assistant-experience {
826
- width: 100%;
827
- height: 100%;
828
- font-family: inherit;
829
- -webkit-font-smoothing: antialiased;
830
- }
831
-
832
- .lemma-assistant-viewport,
833
- .lemma-assistant-experience-viewport {
834
- flex: 1 1 auto;
835
- padding: 16px;
836
- background: var(--bg-surface);
837
- }
838
-
839
- .lemma-assistant-viewport-inner {
840
- display: flex;
841
- flex-direction: column;
842
- gap: 12px;
843
- }
844
-
845
- .lemma-assistant-experience-live-region {
846
- display: flex;
847
- flex-direction: column;
848
- gap: 12px;
849
- min-width: 0;
850
- }
851
-
852
- .lemma-assistant-scroll-to-bottom {
853
- position: sticky;
854
- bottom: 12px;
855
- margin-left: auto;
856
- width: 34px;
857
- height: 34px;
858
- border: 1px solid color-mix(in srgb, var(--border-default) 84%, transparent);
859
- border-radius: var(--assistant-radius-inline);
860
- background: var(--bg-surface);
861
- color: var(--text-secondary);
862
- box-shadow: var(--shadow-sm);
863
- cursor: pointer;
864
- z-index: 10;
865
- transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
866
- }
867
-
868
- .lemma-assistant-scroll-to-bottom:hover {
869
- border-color: color-mix(in srgb, var(--brand-primary) 52%, var(--border-default));
870
- color: var(--text-primary);
871
- background: color-mix(in srgb, var(--bg-subtle) 90%, var(--bg-surface));
872
- }
873
-
874
- .lemma-assistant-header,
875
- .lemma-assistant-experience-header,
876
- .lemma-assistant-conversation-list-header,
877
- .lemma-assistant-experience-sidebar-header {
878
- padding: 12px 16px;
879
- }
880
-
881
- .lemma-assistant-header-badge {
882
- display: inline-flex;
883
- align-items: center;
884
- justify-content: center;
885
- width: 28px;
886
- height: 28px;
887
- border-radius: var(--assistant-radius-inline);
888
- background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
889
- box-shadow: var(--shadow-xs);
890
- flex: 0 0 auto;
891
- }
892
-
893
- .lemma-assistant-header-title,
894
- .lemma-assistant-conversation-list-title,
895
- .lemma-assistant-experience-sidebar-title {
896
- font-size: 14px;
897
- font-weight: 600;
898
- line-height: 1.2;
899
- color: var(--text-primary);
900
- }
901
-
902
- .lemma-assistant-header-subtitle,
903
- .lemma-assistant-conversation-list-meta,
904
- .lemma-assistant-experience-sidebar-meta {
905
- margin-top: 4px;
906
- font-size: 12px;
907
- color: var(--text-tertiary);
908
- }
909
-
910
- .lemma-assistant-conversation-list,
911
- .lemma-assistant-experience-sidebar {
912
- display: flex;
913
- flex-direction: column;
914
- overflow: hidden;
915
- }
916
-
917
- .lemma-assistant-conversation-list-items,
918
- .lemma-assistant-experience-sidebar-items {
919
- padding: 12px;
920
- display: flex;
921
- flex-direction: column;
922
- gap: 8px;
923
- }
924
-
925
- .lemma-assistant-conversation-list-item,
926
- .lemma-assistant-experience-sidebar-item {
927
- cursor: pointer;
928
- border: 1px solid var(--border-default);
929
- background: var(--bg-surface);
930
- padding: 10px 12px;
931
- text-align: left;
932
- color: inherit;
933
- transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
934
- }
935
-
936
- .lemma-assistant-conversation-list-item:hover,
937
- .lemma-assistant-experience-sidebar-item:hover {
938
- background: var(--bg-subtle);
939
- }
940
-
941
- .lemma-assistant-conversation-list-item-active,
942
- .lemma-assistant-experience-sidebar-item-active {
943
- border-color: color-mix(in srgb, var(--brand-primary) 44%, var(--border-default));
944
- background: color-mix(in srgb, var(--brand-glow) 42%, var(--bg-surface));
945
- }
946
-
947
- .lemma-assistant-conversation-list-item-title,
948
- .lemma-assistant-experience-sidebar-item-title {
949
- font-size: 13px;
950
- font-weight: 500;
951
- color: var(--text-primary);
952
- }
953
-
954
- .lemma-assistant-conversation-list-item-status,
955
- .lemma-assistant-experience-sidebar-item-status {
956
- margin-top: 4px;
957
- font-size: 11px;
958
- letter-spacing: 0.08em;
959
- text-transform: uppercase;
960
- color: var(--text-tertiary);
961
- }
962
-
963
- .lemma-assistant-conversation-list-new,
964
- .lemma-assistant-experience-sidebar-new,
965
- .lemma-assistant-experience-plan-button {
966
- display: inline-flex;
967
- align-items: center;
968
- justify-content: center;
969
- gap: 8px;
970
- border-radius: var(--assistant-radius-inline);
971
- border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
972
- background: var(--bg-surface);
973
- padding: 6px 12px;
974
- font-size: 12px;
975
- font-weight: 500;
976
- color: var(--text-secondary);
977
- box-shadow: none;
978
- transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
979
- }
980
-
981
- .lemma-assistant-conversation-list-new:hover,
982
- .lemma-assistant-experience-sidebar-new:hover,
983
- .lemma-assistant-experience-plan-button:hover {
984
- color: var(--text-primary);
985
- background: var(--bg-subtle);
986
- }
987
-
988
- .lemma-assistant-model-picker,
989
- .lemma-assistant-experience-model-picker {
990
- height: 32px;
991
- border-radius: var(--assistant-radius-inline);
992
- border: 1px solid color-mix(in srgb, var(--border-default) 80%, transparent);
993
- padding: 0 12px;
994
- font-size: 12px;
995
- color: var(--text-secondary);
996
- }
997
-
998
- .lemma-assistant-ask-overlay {
999
- display: flex;
1000
- flex-direction: column;
1001
- gap: 8px;
1002
- }
1003
-
1004
- .lemma-assistant-ask-overlay-kicker {
1005
- font-size: 11px;
1006
- letter-spacing: 0.12em;
1007
- text-transform: uppercase;
1008
- color: var(--text-tertiary);
1009
- }
1010
-
1011
- .lemma-assistant-ask-overlay-copy {
1012
- min-width: 0;
1013
- }
1014
-
1015
- .lemma-assistant-ask-overlay-question {
1016
- margin: 4px 0 0;
1017
- font-size: 14px;
1018
- font-weight: 500;
1019
- line-height: 1.5;
1020
- color: var(--text-primary);
1021
- }
1022
-
1023
- .lemma-assistant-ask-overlay-skip,
1024
- .lemma-assistant-ask-overlay-continue {
1025
- border: 0;
1026
- border-radius: var(--assistant-radius-inline);
1027
- background: transparent;
1028
- padding: 6px 10px;
1029
- font-size: 12px;
1030
- transition: background-color 160ms ease, color 160ms ease;
1031
- }
1032
-
1033
- .lemma-assistant-ask-overlay-skip {
1034
- color: var(--text-tertiary);
1035
- }
1036
-
1037
- .lemma-assistant-ask-overlay-skip:hover {
1038
- background: var(--bg-subtle);
1039
- color: var(--text-primary);
1040
- }
1041
-
1042
- .lemma-assistant-ask-overlay-options {
1043
- max-height: 260px;
1044
- padding-right: 4px;
1045
- display: flex;
1046
- flex-direction: column;
1047
- gap: 6px;
1048
- }
1049
-
1050
- .lemma-assistant-ask-overlay-option {
1051
- border: 1px solid var(--border-default);
1052
- border-radius: calc(var(--assistant-radius-inline) + 2px);
1053
- background: var(--bg-canvas);
1054
- padding: 8px 10px;
1055
- text-align: left;
1056
- font-size: 13px;
1057
- color: var(--text-secondary);
1058
- transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
1059
- }
1060
-
1061
- .lemma-assistant-ask-overlay-option:hover {
1062
- background: var(--bg-subtle);
1063
- color: var(--text-primary);
1064
- }
1065
-
1066
- .lemma-assistant-ask-overlay-option-selected {
1067
- border-color: color-mix(in srgb, var(--brand-primary) 64%, var(--border-subtle));
1068
- background: color-mix(in srgb, var(--brand-primary) 14%, transparent);
1069
- color: var(--text-primary);
1070
- }
1071
-
1072
- .lemma-assistant-ask-overlay-option-rank {
1073
- display: inline-flex;
1074
- align-items: center;
1075
- justify-content: center;
1076
- min-width: 16px;
1077
- height: 16px;
1078
- border-radius: 999px;
1079
- padding: 0 4px;
1080
- background: var(--brand-primary);
1081
- color: var(--text-on-brand);
1082
- font-size: 10px;
1083
- font-weight: 600;
1084
- }
1085
-
1086
- .lemma-assistant-ask-overlay-option-indicator {
1087
- display: inline-block;
1088
- width: 10px;
1089
- height: 10px;
1090
- border-radius: 999px;
1091
- border: 1px solid var(--border-default);
1092
- background: transparent;
1093
- }
1094
-
1095
- .lemma-assistant-ask-overlay-option-indicator-selected {
1096
- border-color: var(--brand-primary);
1097
- background: var(--brand-primary);
1098
- }
1099
-
1100
- .lemma-assistant-ask-overlay-actions {
1101
- justify-content: flex-end;
1102
- }
1103
-
1104
- .lemma-assistant-ask-overlay-continue {
1105
- background: var(--bg-subtle);
1106
- color: var(--text-tertiary);
1107
- font-weight: 500;
1108
- }
1109
-
1110
- .lemma-assistant-ask-overlay-continue-enabled {
1111
- background: var(--brand-primary);
1112
- color: var(--text-on-brand);
1113
- }
1114
-
1115
- .lemma-assistant-ask-overlay-continue-enabled:hover {
1116
- background: color-mix(in srgb, var(--brand-primary) 88%, var(--text-primary));
1117
- }
1118
-
1119
- .lemma-assistant-composer-status-rail {
1120
- padding: 0 8px 4px;
1121
- }
1122
-
1123
- .lemma-assistant-composer-status,
1124
- .lemma-assistant-experience-status {
1125
- display: flex;
1126
- align-items: center;
1127
- transition: opacity 160ms ease;
1128
- }
1129
-
1130
- .lemma-assistant-composer-pending,
1131
- .lemma-assistant-experience-pending {
1132
- align-items: center;
1133
- padding: 0 4px 6px;
1134
- }
1135
-
1136
- .lemma-assistant-pending-file-chip {
1137
- padding: 4px 8px;
1138
- background: var(--bg-subtle);
1139
- color: var(--text-secondary);
1140
- font-size: 12px;
1141
- }
1142
-
1143
- .lemma-assistant-pending-file-chip-label {
1144
- max-width: 180px;
1145
- }
1146
-
1147
- .lemma-assistant-pending-file-chip-remove {
1148
- display: inline-flex;
1149
- align-items: center;
1150
- justify-content: center;
1151
- width: 16px;
1152
- height: 16px;
1153
- border-radius: var(--assistant-radius-inline);
1154
- }
1155
-
1156
- .lemma-assistant-pending-file-chip-remove:hover {
1157
- background: var(--bg-canvas);
1158
- }
1159
-
1160
- .lemma-assistant-status-pill {
1161
- min-height: 30px;
1162
- max-width: 100%;
1163
- padding: 6px 12px;
1164
- border-radius: var(--assistant-radius-inline);
1165
- border: 1px solid color-mix(in srgb, var(--brand-primary) 24%, var(--border-default));
1166
- background: color-mix(in srgb, var(--brand-glow) 28%, var(--bg-surface));
1167
- color: var(--text-secondary);
1168
- font-size: 13px;
1169
- transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
1170
- }
1171
-
1172
- .lemma-assistant-status-pill-subtle {
1173
- border-color: color-mix(in srgb, var(--border-default) 72%, transparent);
1174
- background: color-mix(in srgb, var(--bg-surface) 90%, transparent);
1175
- color: var(--text-tertiary);
1176
- }
1177
-
1178
- .lemma-assistant-status-pill-dot,
1179
- .lemma-assistant-status-pill-dot-core,
1180
- .lemma-assistant-status-pill-dot-ping {
1181
- display: inline-flex;
1182
- width: 10px;
1183
- height: 10px;
1184
- border-radius: 999px;
1185
- }
1186
-
1187
- .lemma-assistant-status-pill-dot {
1188
- position: relative;
1189
- flex: 0 0 auto;
1190
- }
1191
-
1192
- .lemma-assistant-status-pill-dot-ping {
1193
- position: absolute;
1194
- inset: 0;
1195
- background: color-mix(in srgb, var(--brand-primary) 45%, transparent);
1196
- }
1197
-
1198
- .lemma-assistant-status-pill-dot-core {
1199
- position: relative;
1200
- background: var(--brand-primary);
1201
- }
1202
-
1203
- .lemma-assistant-status-pill-label {
1204
- overflow: hidden;
1205
- text-overflow: ellipsis;
1206
- white-space: nowrap;
1207
- }
1208
-
1209
- .lemma-assistant-presented-files {
1210
- padding-top: 4px;
1211
- display: flex;
1212
- flex-direction: column;
1213
- gap: 8px;
1214
- }
1215
-
1216
- .lemma-assistant-presented-file-card {
1217
- border: 1px solid color-mix(in srgb, var(--border-default) 78%, transparent);
1218
- border-radius: var(--assistant-radius-shell);
1219
- background: linear-gradient(
1220
- 180deg,
1221
- color-mix(in srgb, var(--bg-surface) 96%, transparent),
1222
- color-mix(in srgb, var(--bg-canvas) 76%, transparent)
1223
- );
1224
- padding: 10px 12px;
1225
- }
1226
-
1227
- .lemma-assistant-presented-file-name {
1228
- font-size: 14px;
1229
- font-weight: 500;
1230
- color: var(--text-primary);
1231
- }
1232
-
1233
- .lemma-assistant-presented-file-path {
1234
- margin-top: 4px;
1235
- font-size: 12px;
1236
- color: var(--text-tertiary);
1237
- word-break: break-word;
1238
- }
1239
-
1240
- .lemma-assistant-plan-strip {
1241
- padding: 10px 12px;
1242
- }
1243
-
1244
- .lemma-assistant-plan-strip-summary {
1245
- gap: 8px;
1246
- }
1247
-
1248
- .lemma-assistant-plan-strip-title {
1249
- font-size: 12px;
1250
- font-weight: 600;
1251
- color: var(--text-primary);
1252
- }
1253
-
1254
- .lemma-assistant-plan-strip-count,
1255
- .lemma-assistant-plan-strip-current {
1256
- font-size: 11px;
1257
- color: var(--text-tertiary);
1258
- }
1259
-
1260
- .lemma-assistant-plan-strip-current {
1261
- margin-top: 6px;
1262
- color: var(--text-secondary);
1263
- white-space: nowrap;
1264
- overflow: hidden;
1265
- text-overflow: ellipsis;
1266
- }
1267
-
1268
- .lemma-assistant-plan-strip-active {
1269
- display: inline-flex;
1270
- align-items: center;
1271
- border-radius: var(--assistant-radius-inline);
1272
- background: color-mix(in srgb, var(--brand-primary) 16%, transparent);
1273
- padding: 2px 6px;
1274
- font-size: 10px;
1275
- font-weight: 500;
1276
- color: var(--brand-primary);
1277
- }
1278
-
1279
- .lemma-assistant-plan-strip-hide,
1280
- .lemma-assistant-plan-strip-toggle {
1281
- border: 0;
1282
- background: transparent;
1283
- padding: 0;
1284
- font-size: 11px;
1285
- font-weight: 500;
1286
- color: var(--text-tertiary);
1287
- transition: color 160ms ease;
1288
- }
1289
-
1290
- .lemma-assistant-plan-strip-toggle {
1291
- font-size: 10px;
1292
- color: var(--brand-primary);
1293
- }
1294
-
1295
- .lemma-assistant-plan-strip-hide:hover,
1296
- .lemma-assistant-plan-strip-toggle:hover {
1297
- color: var(--text-primary);
1298
- }
1299
-
1300
- .lemma-assistant-plan-strip-steps {
1301
- margin-top: 8px;
1302
- display: flex;
1303
- flex-direction: column;
1304
- gap: 4px;
1305
- }
1306
-
1307
- .lemma-assistant-plan-strip-step {
1308
- display: flex;
1309
- align-items: flex-start;
1310
- gap: 8px;
1311
- font-size: 11px;
1312
- }
1313
-
1314
- .lemma-assistant-plan-strip-step-dot {
1315
- margin-top: 4px;
1316
- width: 8px;
1317
- height: 8px;
1318
- border-radius: 999px;
1319
- flex: 0 0 auto;
1320
- }
1321
-
1322
- .lemma-assistant-plan-strip-step-dot-completed {
1323
- background: var(--state-success);
1324
- }
1325
-
1326
- .lemma-assistant-plan-strip-step-dot-in-progress {
1327
- background: var(--brand-primary);
1328
- }
1329
-
1330
- .lemma-assistant-plan-strip-step-dot-pending {
1331
- background: var(--border-default);
1332
- }
1333
-
1334
- .lemma-assistant-plan-strip-step-label {
1335
- line-height: 1.45;
1336
- }
1337
-
1338
- .lemma-assistant-plan-strip-step-label-completed {
1339
- color: var(--text-tertiary);
1340
- text-decoration: line-through;
1341
- }
1342
-
1343
- .lemma-assistant-plan-strip-step-label-in-progress {
1344
- color: var(--brand-primary);
1345
- font-weight: 500;
1346
- }
1347
-
1348
- .lemma-assistant-plan-strip-step-label-pending {
1349
- color: var(--text-secondary);
1350
- }
1351
-
1352
- .lemma-assistant-plan-strip-footer {
1353
- display: flex;
1354
- align-items: center;
1355
- gap: 8px;
1356
- padding-top: 2px;
1357
- }
1358
-
1359
- .lemma-assistant-plan-strip-hidden-count {
1360
- font-size: 10px;
1361
- color: var(--text-tertiary);
1362
- }
1363
-
1364
- .lemma-assistant-thinking {
1365
- padding: 0 4px;
1366
- animation: lemma-assistant-fade-in 220ms ease;
1367
- }
1368
-
1369
- .lemma-assistant-thinking-label {
1370
- gap: 10px;
1371
- font-size: 12px;
1372
- line-height: 1.4;
1373
- color: var(--text-tertiary);
1374
- }
1375
-
1376
- .lemma-assistant-thinking-dot,
1377
- .lemma-assistant-tool-rollup-dot {
1378
- display: inline-flex;
1379
- width: 8px;
1380
- height: 8px;
1381
- border-radius: 999px;
1382
- background: var(--brand-accent);
1383
- flex: 0 0 auto;
1384
- }
1385
-
1386
- .lemma-assistant-thinking-dot {
1387
- animation: lemma-assistant-dot-pulse 1.25s ease-in-out infinite;
1388
- }
1389
-
1390
- .lemma-assistant-thinking-text {
1391
- font-weight: 600;
1392
- color: var(--text-secondary);
1393
- }
1394
-
1395
- .lemma-assistant-reasoning-label-streaming {
1396
- font-weight: 600;
1397
- color: transparent;
1398
- background: linear-gradient(110deg, var(--text-secondary), 35%, var(--brand-accent), 50%, var(--text-secondary), 65%);
1399
- background-size: 250% 100%;
1400
- -webkit-background-clip: text;
1401
- background-clip: text;
1402
- animation: lemma-assistant-shimmer 1.6s linear infinite;
1403
- }
1404
-
1405
- .lemma-assistant-empty-state-hero {
1406
- margin-bottom: 24px;
1407
- }
1408
-
1409
- .lemma-assistant-empty-state-badge {
1410
- display: inline-flex;
1411
- align-items: center;
1412
- justify-content: center;
1413
- width: 40px;
1414
- height: 40px;
1415
- margin-bottom: 12px;
1416
- border-radius: var(--assistant-radius-inline);
1417
- background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
1418
- box-shadow: var(--shadow-xs);
1419
- }
1420
-
1421
- .lemma-assistant-empty-state-badge-icon,
1422
- .lemma-assistant-experience-header-badge-icon {
1423
- display: block;
1424
- width: 18px;
1425
- height: 18px;
1426
- color: var(--text-on-brand);
1427
- }
1428
-
1429
- .lemma-assistant-empty-state-badge-icon {
1430
- width: 20px;
1431
- height: 20px;
1432
- }
1433
-
1434
- .lemma-assistant-empty-state-title {
1435
- margin: 0;
1436
- font-size: 15px;
1437
- font-weight: 600;
1438
- color: var(--text-primary);
1439
- }
1440
-
1441
- .lemma-assistant-empty-state-copy {
1442
- max-width: 24rem;
1443
- margin: 6px auto 0;
1444
- font-size: 13px;
1445
- line-height: 1.6;
1446
- color: var(--text-tertiary);
1447
- }
1448
-
1449
- .lemma-assistant-empty-state-suggestion {
1450
- cursor: pointer;
1451
- justify-content: flex-start;
1452
- border: 1px solid var(--border-default);
1453
- border-left: 3px solid transparent;
1454
- border-radius: calc(var(--assistant-radius-inline) + 2px);
1455
- background: var(--bg-surface);
1456
- padding: 10px 12px;
1457
- text-align: left;
1458
- font-size: 12px;
1459
- color: var(--text-secondary);
1460
- transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
1461
- }
1462
-
1463
- .lemma-assistant-empty-state-suggestion:hover {
1464
- border-color: color-mix(in srgb, var(--brand-accent) 52%, var(--border-subtle));
1465
- border-left-color: color-mix(in srgb, var(--brand-accent) 72%, var(--brand-primary));
1466
- background: color-mix(in srgb, var(--brand-glow) 72%, var(--bg-surface));
1467
- color: var(--text-primary);
1468
- }
1469
-
1470
- .lemma-assistant-empty-state-suggestion-icon {
1471
- font-size: 16px;
1472
- opacity: 0.72;
1473
- transition: opacity 160ms ease;
1474
- }
1475
-
1476
- .lemma-assistant-empty-state-suggestion:hover .lemma-assistant-empty-state-suggestion-icon {
1477
- opacity: 1;
1478
- }
1479
-
1480
- .lemma-assistant-empty-state-suggestion-text {
1481
- flex: 1 1 auto;
1482
- line-height: 1.35;
1483
- }
1484
-
1485
- .lemma-assistant-empty-state-suggestion-arrow {
1486
- color: var(--text-tertiary);
1487
- opacity: 0;
1488
- transform: translateX(0);
1489
- transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
1490
- }
1491
-
1492
- .lemma-assistant-empty-state-suggestion:hover .lemma-assistant-empty-state-suggestion-arrow {
1493
- opacity: 1;
1494
- color: var(--state-warning);
1495
- transform: translateX(2px);
1496
- }
1497
-
1498
- .lemma-assistant-reasoning,
1499
- .lemma-assistant-widget-card,
1500
- .lemma-assistant-tool-rollup,
1501
- .lemma-assistant-tool-rollup-item {
1502
- display: flex;
1503
- flex-direction: column;
1504
- gap: 8px;
1505
- }
1506
-
1507
- .lemma-assistant-reasoning-summary {
1508
- list-style: none;
1509
- cursor: pointer;
1510
- gap: 6px;
1511
- font-size: 12px;
1512
- line-height: 1.4;
1513
- color: var(--text-tertiary);
1514
- }
1515
-
1516
- .lemma-assistant-reasoning-summary::-webkit-details-marker {
1517
- display: none;
1518
- }
1519
-
1520
- .lemma-assistant-reasoning-caret,
1521
- .lemma-assistant-tool-rollup-caret,
1522
- .lemma-assistant-inline-tool-call-caret {
1523
- transition: transform 160ms ease;
1524
- }
1525
-
1526
- .lemma-assistant-reasoning[open] .lemma-assistant-reasoning-caret {
1527
- transform: rotate(90deg);
1528
- }
1529
-
1530
- .lemma-assistant-reasoning-label {
1531
- font-weight: 600;
1532
- color: var(--text-secondary);
1533
- }
1534
-
1535
- .lemma-assistant-reasoning-body {
1536
- margin-top: 4px;
1537
- padding-left: 16px;
1538
- border-left: 1px solid var(--border-default);
1539
- }
1540
-
1541
- .lemma-assistant-tool-rollup-details {
1542
- display: flex;
1543
- flex-direction: column;
1544
- gap: 8px;
1545
- margin-left: 4px;
1546
- padding-left: 12px;
1547
- border-left: 1px solid color-mix(in srgb, var(--border-default) 86%, transparent);
1548
- }
1549
-
1550
- .lemma-assistant-tool-details-panel {
1551
- margin-top: 6px;
1552
- padding: 10px 12px;
1553
- border: 1px solid color-mix(in srgb, var(--border-default) 86%, transparent);
1554
- border-radius: var(--assistant-radius-inline);
1555
- background: color-mix(in srgb, var(--bg-surface) 96%, var(--bg-canvas));
1556
- }
1557
-
1558
- .lemma-assistant-reasoning-text,
1559
- .lemma-assistant-tool-rollup-thinking-text,
1560
- .lemma-assistant-tool-details-code-text {
1561
- margin: 0;
1562
- white-space: pre-wrap;
1563
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
1564
- }
1565
-
1566
- .lemma-assistant-reasoning-text {
1567
- font-size: 11px;
1568
- line-height: 1.45;
1569
- color: var(--text-tertiary);
1570
- }
1571
-
1572
- .lemma-assistant-tool-details-header {
1573
- display: flex;
1574
- align-items: flex-start;
1575
- justify-content: space-between;
1576
- gap: 8px;
1577
- margin-bottom: 8px;
1578
- }
1579
-
1580
- .lemma-assistant-tool-details-heading {
1581
- display: flex;
1582
- flex-direction: column;
1583
- gap: 2px;
1584
- min-width: 0;
1585
- }
1586
-
1587
- .lemma-assistant-tool-details-title {
1588
- font-size: 14px;
1589
- font-weight: 600;
1590
- letter-spacing: 0;
1591
- text-transform: none;
1592
- color: var(--text-primary);
1593
- }
1594
-
1595
- .lemma-assistant-tool-details-meta {
1596
- font-size: 12px;
1597
- color: var(--text-tertiary);
1598
- }
1599
-
1600
- .lemma-assistant-tool-details-label,
1601
- .lemma-assistant-tool-rollup-thinking-title {
1602
- font-size: 12px;
1603
- font-weight: 600;
1604
- letter-spacing: 0.02em;
1605
- text-transform: none;
1606
- color: color-mix(in srgb, var(--text-tertiary) 88%, var(--text-secondary));
1607
- }
1608
-
1609
- .lemma-assistant-tool-details-link {
1610
- border: 1px solid color-mix(in srgb, var(--border-default) 85%, transparent);
1611
- border-radius: var(--assistant-radius-inline);
1612
- background: var(--bg-surface);
1613
- padding: 3px 8px;
1614
- font-size: 11px;
1615
- font-weight: 600;
1616
- color: var(--text-secondary);
1617
- }
1618
-
1619
- .lemma-assistant-tool-details-panel-custom {
1620
- min-width: 0;
1621
- }
1622
-
1623
- .lemma-assistant-tool-details-stack {
1624
- display: flex;
1625
- flex-direction: column;
1626
- gap: 0;
1627
- }
1628
-
1629
- .lemma-assistant-tool-details-section {
1630
- min-width: 0;
1631
- padding: 8px 0;
1632
- }
1633
-
1634
- .lemma-assistant-tool-details-section + .lemma-assistant-tool-details-section {
1635
- border-top: 1px solid color-mix(in srgb, var(--border-default) 82%, transparent);
1636
- }
1637
-
1638
- .lemma-assistant-tool-details-list {
1639
- margin: 6px 0 0;
1640
- display: flex;
1641
- flex-direction: column;
1642
- gap: 6px;
1643
- }
1644
-
1645
- .lemma-assistant-tool-details-list-item {
1646
- display: grid;
1647
- grid-template-columns: minmax(96px, auto) minmax(0, 1fr);
1648
- gap: 8px;
1649
- align-items: start;
1650
- }
1651
-
1652
- .lemma-assistant-tool-details-key {
1653
- margin: 0;
1654
- font-size: 12px;
1655
- font-weight: 600;
1656
- color: var(--text-tertiary);
1657
- text-transform: none;
1658
- }
1659
-
1660
- .lemma-assistant-tool-details-value {
1661
- margin: 0;
1662
- font-size: 13px;
1663
- line-height: 1.55;
1664
- color: var(--text-primary);
1665
- overflow-wrap: anywhere;
1666
- }
1667
-
1668
- .lemma-assistant-tool-details-empty {
1669
- margin: 6px 0 0;
1670
- font-size: 12px;
1671
- color: var(--text-tertiary);
1672
- }
1673
-
1674
- .lemma-assistant-tool-details-more {
1675
- margin-top: 6px;
1676
- font-size: 11px;
1677
- color: var(--text-tertiary);
1678
- }
1679
-
1680
- .lemma-assistant-tool-details-raw {
1681
- margin-top: 8px;
1682
- }
1683
-
1684
- .lemma-assistant-tool-details-raw-row {
1685
- display: flex;
1686
- flex-wrap: wrap;
1687
- gap: 14px;
1688
- }
1689
-
1690
- .lemma-assistant-tool-details-raw-summary {
1691
- cursor: pointer;
1692
- list-style: none;
1693
- font-size: 12px;
1694
- font-weight: 600;
1695
- color: color-mix(in srgb, var(--text-tertiary) 84%, var(--text-secondary));
1696
- }
1697
-
1698
- .lemma-assistant-tool-details-raw-summary::-webkit-details-marker {
1699
- display: none;
1700
- }
1701
-
1702
- .lemma-assistant-tool-details-code {
1703
- margin-top: 6px;
1704
- max-height: 180px;
1705
- overflow: auto;
1706
- border-radius: var(--assistant-radius-inline);
1707
- background: color-mix(in srgb, var(--bg-canvas) 70%, transparent);
1708
- padding: 10px;
1709
- font-size: 12px;
1710
- }
1711
-
1712
- .lemma-assistant-tool-details-code-text,
1713
- .lemma-assistant-tool-rollup-thinking-text {
1714
- color: var(--text-secondary);
1715
- }
1716
-
1717
- .lemma-assistant-inline-tool-call {
1718
- border: 0;
1719
- background: transparent;
1720
- padding: 4px 0;
1721
- width: 100%;
1722
- display: grid;
1723
- grid-template-columns: 18px minmax(0, 1fr);
1724
- gap: 10px;
1725
- text-align: left;
1726
- font-size: 14px;
1727
- line-height: 1.5;
1728
- color: var(--text-secondary);
1729
- transition: color 160ms ease, background-color 160ms ease;
1730
- }
1731
-
1732
- .lemma-assistant-inline-tool-call:hover {
1733
- color: var(--text-primary);
1734
- }
1735
-
1736
- .lemma-assistant-inline-tool-call[data-state="executing"] {
1737
- color: var(--state-info);
1738
- }
1739
-
1740
- .lemma-assistant-inline-tool-call[data-state="complete"] {
1741
- color: var(--state-success);
1742
- }
1743
-
1744
- .lemma-assistant-inline-tool-call[data-state="failed"] {
1745
- color: var(--state-error);
1746
- }
1747
-
1748
- .lemma-assistant-inline-tool-call-rail {
1749
- display: flex;
1750
- flex-direction: column;
1751
- align-items: center;
1752
- padding-top: 6px;
1753
- }
1754
-
1755
- .lemma-assistant-inline-tool-call-node {
1756
- width: 9px;
1757
- height: 9px;
1758
- border-radius: 999px;
1759
- background: color-mix(in srgb, currentColor 80%, var(--text-tertiary));
1760
- }
1761
-
1762
- .lemma-assistant-inline-tool-call-stem {
1763
- width: 1px;
1764
- flex: 1 1 auto;
1765
- min-height: 18px;
1766
- margin-top: 6px;
1767
- background: color-mix(in srgb, var(--border-default) 86%, transparent);
1768
- }
1769
-
1770
- .lemma-assistant-inline-tool-call-main {
1771
- display: flex;
1772
- flex-direction: column;
1773
- gap: 3px;
1774
- min-width: 0;
1775
- }
1776
-
1777
- .lemma-assistant-inline-tool-call-head {
1778
- display: flex;
1779
- align-items: flex-start;
1780
- gap: 8px;
1781
- min-width: 0;
1782
- }
1783
-
1784
- .lemma-assistant-inline-tool-call-name {
1785
- font-size: 14px;
1786
- font-weight: 600;
1787
- white-space: normal;
1788
- color: var(--text-primary);
1789
- flex: 1 1 auto;
1790
- }
1791
-
1792
- .lemma-assistant-inline-tool-call-status {
1793
- display: inline-flex;
1794
- align-items: center;
1795
- border-radius: var(--assistant-radius-inline);
1796
- padding: 2px 8px;
1797
- font-size: 12px;
1798
- font-weight: 600;
1799
- white-space: nowrap;
1800
- color: var(--text-secondary);
1801
- background: color-mix(in srgb, var(--bg-subtle) 82%, var(--bg-surface));
1802
- }
1803
-
1804
- .lemma-assistant-inline-tool-call[data-state="executing"] .lemma-assistant-inline-tool-call-status {
1805
- color: var(--state-info);
1806
- background: color-mix(in srgb, var(--state-info) 14%, transparent);
1807
- }
1808
-
1809
- .lemma-assistant-inline-tool-call[data-state="complete"] .lemma-assistant-inline-tool-call-status {
1810
- color: var(--state-success);
1811
- background: color-mix(in srgb, var(--state-success) 14%, transparent);
1812
- }
1813
-
1814
- .lemma-assistant-inline-tool-call[data-state="failed"] .lemma-assistant-inline-tool-call-status {
1815
- color: var(--state-error);
1816
- background: color-mix(in srgb, var(--state-error) 14%, transparent);
1817
- }
1818
-
1819
- .lemma-assistant-inline-tool-call-meta {
1820
- font-size: 12px;
1821
- color: var(--text-tertiary);
1822
- }
1823
-
1824
- .lemma-assistant-inline-tool-call-summary {
1825
- display: inline-flex;
1826
- align-items: center;
1827
- width: fit-content;
1828
- max-width: 100%;
1829
- border-radius: var(--assistant-radius-inline);
1830
- padding: 3px 9px;
1831
- font-size: 12px;
1832
- color: color-mix(in srgb, currentColor 82%, var(--text-tertiary));
1833
- background: color-mix(in srgb, var(--bg-subtle) 78%, var(--bg-surface));
1834
- overflow-wrap: anywhere;
1835
- white-space: normal;
1836
- }
1837
-
1838
- .lemma-assistant-inline-tool-call-caret {
1839
- color: var(--text-tertiary);
1840
- margin-top: 1px;
1841
- }
1842
-
1843
- .lemma-assistant-inline-tool-call[data-selected="true"] .lemma-assistant-inline-tool-call-caret {
1844
- transform: rotate(90deg);
1845
- }
1846
-
1847
- .lemma-assistant-tool-rollup-banner {
1848
- border: 0;
1849
- background: transparent;
1850
- width: 100%;
1851
- padding: 4px 0 6px;
1852
- display: flex;
1853
- align-items: center;
1854
- gap: 12px;
1855
- cursor: pointer;
1856
- color: var(--text-tertiary);
1857
- }
1858
-
1859
- .lemma-assistant-tool-rollup-banner:hover {
1860
- color: var(--text-secondary);
1861
- }
1862
-
1863
- .lemma-assistant-tool-rollup-banner:focus-visible {
1864
- outline: 2px solid color-mix(in srgb, var(--brand-primary) 64%, transparent);
1865
- outline-offset: 2px;
1866
- border-radius: var(--assistant-radius-inline);
1867
- }
1868
-
1869
- .lemma-assistant-tool-rollup-banner-line {
1870
- flex: 1 1 auto;
1871
- min-width: 18px;
1872
- height: 1px;
1873
- background: color-mix(in srgb, var(--border-default) 84%, transparent);
1874
- }
1875
-
1876
- .lemma-assistant-tool-rollup-banner-copy {
1877
- display: inline-flex;
1878
- align-items: center;
1879
- gap: 8px;
1880
- min-width: 0;
1881
- }
1882
-
1883
- .lemma-assistant-tool-rollup-banner-label {
1884
- font-size: 13px;
1885
- line-height: 1.4;
1886
- white-space: nowrap;
1887
- overflow: hidden;
1888
- text-overflow: ellipsis;
1889
- }
1890
-
1891
- .lemma-assistant-tool-rollup-banner-label-working {
1892
- color: color-mix(in srgb, var(--text-secondary) 82%, var(--text-primary));
1893
- }
1894
-
1895
- .lemma-assistant-tool-rollup-banner-caret {
1896
- font-size: 16px;
1897
- line-height: 1;
1898
- transition: transform 160ms ease;
1899
- }
1900
-
1901
- .lemma-assistant-tool-rollup-banner-caret[data-expanded="true"] {
1902
- transform: rotate(90deg);
1903
- }
1904
-
1905
- .lemma-assistant-tool-rollup-header {
1906
- display: flex;
1907
- align-items: center;
1908
- gap: 8px;
1909
- margin-bottom: 2px;
1910
- }
1911
-
1912
- .lemma-assistant-tool-rollup-summary {
1913
- font-size: 12px;
1914
- color: color-mix(in srgb, var(--text-tertiary) 92%, var(--text-secondary));
1915
- }
1916
-
1917
- .lemma-assistant-tool-rollup-summary-working {
1918
- font-weight: 500;
1919
- color: color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary));
1920
- }
1921
-
1922
- .lemma-assistant-tool-rollup-thinking {
1923
- border-radius: var(--assistant-radius-inline);
1924
- border: 1px solid color-mix(in srgb, var(--border-default) 72%, transparent);
1925
- border-left: 2px solid color-mix(in srgb, var(--border-default) 86%, transparent);
1926
- background: color-mix(in srgb, var(--bg-subtle) 42%, transparent);
1927
- padding: 7px 10px;
1928
- }
1929
-
1930
- .lemma-assistant-tool-rollup-thinking-text {
1931
- max-height: 7rem;
1932
- overflow: auto;
1933
- font-size: 12px;
1934
- line-height: 1.5;
1935
- color: color-mix(in srgb, var(--text-tertiary) 92%, var(--text-secondary));
1936
- }
1937
-
1938
- .lemma-assistant-tool-rollup-thinking-title {
1939
- font-size: 11px;
1940
- font-weight: 500;
1941
- color: color-mix(in srgb, var(--text-tertiary) 94%, var(--text-secondary));
1942
- }
1943
-
1944
- .lemma-assistant-widget-card-header {
1945
- align-items: center;
1946
- }
1947
-
1948
- .lemma-assistant-widget-card-title {
1949
- font-size: 9.5px;
1950
- font-weight: 500;
1951
- letter-spacing: 0.02em;
1952
- color: color-mix(in srgb, var(--text-tertiary) 84%, var(--text-secondary));
1953
- }
1954
-
1955
- .lemma-assistant-widget-card-badge {
1956
- display: inline-flex;
1957
- align-items: center;
1958
- gap: 4px;
1959
- border-radius: var(--assistant-radius-inline);
1960
- padding: 2px 6px;
1961
- font-size: 10px;
1962
- font-weight: 500;
1963
- }
1964
-
1965
- .lemma-assistant-widget-card-badge-rendering {
1966
- background: color-mix(in srgb, var(--state-info) 16%, transparent);
1967
- color: var(--state-info);
1968
- }
1969
-
1970
- .lemma-assistant-widget-card-badge-failed {
1971
- background: color-mix(in srgb, var(--state-error) 12%, transparent);
1972
- color: var(--state-error);
1973
- }
1974
-
1975
- .lemma-assistant-widget-card-badge-ready {
1976
- background: color-mix(in srgb, var(--state-success) 12%, transparent);
1977
- color: var(--state-success);
1978
- }
1979
-
1980
- .lemma-assistant-widget-card-error,
1981
- .lemma-assistant-widget-card-missing {
1982
- margin: 0;
1983
- font-size: 11px;
1984
- }
1985
-
1986
- .lemma-assistant-widget-card-error {
1987
- color: var(--state-error);
1988
- }
1989
-
1990
- .lemma-assistant-widget-card-missing {
1991
- color: var(--text-secondary);
1992
- }
1993
-
1994
- .lemma-assistant-widget-card-frame {
1995
- display: block;
1996
- border: 0;
1997
- background: transparent;
1998
- }
1999
-
2000
- .lemma-assistant-message {
2001
- display: flex;
2002
- flex-direction: column;
2003
- gap: 6px;
2004
- position: relative;
2005
- }
2006
-
2007
- .lemma-assistant-message-timestamp {
2008
- position: static;
2009
- font-size: 11px;
2010
- color: var(--text-tertiary);
2011
- line-height: 1.2;
2012
- }
2013
-
2014
- .lemma-assistant-message-timestamp-user {
2015
- align-self: flex-end;
2016
- margin-right: 4px;
2017
- opacity: 0.78;
2018
- }
2019
-
2020
- .lemma-assistant-message-assistant {
2021
- padding: 2px 4px;
2022
- }
2023
-
2024
- .lemma-assistant-message-user {
2025
- display: flex;
2026
- align-items: flex-end;
2027
- justify-content: flex-end;
2028
- max-width: none;
2029
- }
2030
-
2031
- .lemma-assistant-message-user-bubble {
2032
- margin-left: auto;
2033
- max-width: 72ch;
2034
- border-radius: var(--assistant-radius-bubble);
2035
- padding: 10px 14px;
2036
- background: var(--brand-primary);
2037
- color: var(--text-on-brand);
2038
- }
2039
-
2040
- .lemma-assistant-message-header {
2041
- font-size: 12px;
2042
- color: var(--text-tertiary);
2043
- }
2044
-
2045
- .lemma-assistant-message-header-dot {
2046
- display: inline-block;
2047
- width: 6px;
2048
- height: 6px;
2049
- border-radius: var(--assistant-radius-inline);
2050
- background: color-mix(in srgb, var(--brand-primary) 40%, transparent);
2051
- flex: 0 0 auto;
2052
- }
2053
-
2054
- .lemma-assistant-message-body {
2055
- display: flex;
2056
- flex-direction: column;
2057
- gap: 8px;
2058
- }
2059
-
2060
- .lemma-assistant-message-text {
2061
- font-size: 14px;
2062
- line-height: 1.6;
2063
- color: var(--text-secondary);
2064
- }
2065
-
2066
- .lemma-assistant-experience {
2067
- display: flex;
2068
- flex-direction: column;
2069
- gap: 12px;
2070
- }
2071
-
2072
- .lemma-assistant-experience-sidebar {
2073
- display: none;
2074
- }
2075
-
2076
- .lemma-assistant-experience-main {
2077
- display: flex;
2078
- flex: 1 1 auto;
2079
- min-height: 0;
2080
- flex-direction: column;
2081
- gap: 12px;
2082
- }
2083
-
2084
- .lemma-assistant-experience-card {
2085
- display: flex;
2086
- flex: 1 1 auto;
2087
- min-height: 0;
2088
- flex-direction: column;
2089
- overflow: hidden;
2090
- }
2091
-
2092
- .lemma-assistant-experience-new {
2093
- border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
2094
- background: var(--bg-surface);
2095
- width: 32px;
2096
- height: 32px;
2097
- border-radius: var(--assistant-radius-inline);
2098
- color: var(--text-tertiary);
2099
- }
2100
-
2101
- .lemma-assistant-experience-new:hover {
2102
- background: var(--bg-subtle);
2103
- color: var(--text-secondary);
2104
- }
2105
-
2106
- .lemma-assistant-experience-viewport {
2107
- min-height: 180px;
2108
- }
2109
-
2110
- .lemma-assistant-experience-loading,
2111
- .lemma-assistant-experience-loading-older {
2112
- display: flex;
2113
- justify-content: center;
2114
- }
2115
-
2116
- .lemma-assistant-experience-loading {
2117
- padding: 24px 0;
2118
- }
2119
-
2120
- .lemma-assistant-experience-loading-older {
2121
- padding: 4px 0;
2122
- }
2123
-
2124
- .lemma-assistant-experience-loading-text {
2125
- font-size: 14px;
2126
- color: var(--text-tertiary);
2127
- }
2128
-
2129
- .lemma-assistant-experience-loading-older-text {
2130
- font-size: 12px;
2131
- color: var(--text-tertiary);
2132
- }
2133
-
2134
- .lemma-assistant-experience-inline-status {
2135
- display: flex;
2136
- align-items: center;
2137
- min-height: 38px;
2138
- padding: 0 4px;
2139
- }
2140
-
2141
- .lemma-assistant-experience-inline-status-pill {
2142
- transition: opacity 160ms ease;
2143
- }
2144
-
2145
- .lemma-assistant-experience-inline-status-pill[data-has-content="true"] {
2146
- opacity: 0.8;
2147
- }
2148
-
2149
- .lemma-assistant-experience-error {
2150
- display: flex;
2151
- align-items: flex-start;
2152
- gap: 10px;
2153
- border: 1px solid color-mix(in srgb, var(--state-error) 48%, var(--border-subtle));
2154
- border-radius: calc(var(--assistant-radius-inline) + 2px);
2155
- background: color-mix(in srgb, var(--state-error) 12%, transparent);
2156
- padding: 12px;
2157
- font-size: 12px;
2158
- color: var(--state-error);
2159
- }
2160
-
2161
- .lemma-assistant-experience-error-title {
2162
- margin: 0;
2163
- font-weight: 600;
2164
- }
2165
-
2166
- .lemma-assistant-experience-error-copy {
2167
- margin: 4px 0 0;
2168
- }
2169
-
2170
- .lemma-assistant-experience-bottom-spacer {
2171
- height: 56px;
2172
- flex: 0 0 auto;
2173
- }
2174
-
2175
- .lemma-assistant-experience-bottom-anchor {
2176
- height: 1px;
2177
- }
2178
-
2179
- .lemma-assistant-experience-composer-body {
2180
- display: flex;
2181
- flex-direction: column;
2182
- gap: 6px;
2183
- }
2184
-
2185
- .lemma-assistant-experience-input-row {
2186
- position: relative;
2187
- padding: 6px 8px;
2188
- border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
2189
- border-radius: var(--assistant-radius-inline);
2190
- background: var(--bg-surface);
2191
- transition: border-color 160ms ease, box-shadow 160ms ease;
2192
- }
2193
-
2194
- .lemma-assistant-experience-input-row:focus-within {
2195
- border-color: color-mix(in srgb, var(--brand-primary) 62%, var(--border-default));
2196
- box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand-primary) 22%, transparent);
2197
- }
2198
-
2199
- .lemma-assistant-experience-file-input {
2200
- display: none;
2201
- }
2202
-
2203
- .lemma-assistant-experience-upload,
2204
- .lemma-assistant-experience-send {
2205
- border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
2206
- display: inline-flex;
2207
- align-items: center;
2208
- justify-content: center;
2209
- width: 36px;
2210
- height: 36px;
2211
- border-radius: var(--assistant-radius-inline);
2212
- transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
2213
- }
2214
-
2215
- .lemma-assistant-experience-upload {
2216
- align-self: center;
2217
- margin: 0;
2218
- background: var(--bg-subtle);
2219
- color: var(--text-secondary);
2220
- }
2221
-
2222
- .lemma-assistant-experience-upload:hover:not(:disabled):not([data-disabled="true"]) {
2223
- background: var(--bg-canvas);
2224
- color: var(--text-primary);
2225
- }
2226
-
2227
- .lemma-assistant-experience-upload:disabled,
2228
- .lemma-assistant-experience-upload[data-disabled="true"] {
2229
- color: var(--text-tertiary);
2230
- }
2231
-
2232
- .lemma-assistant-experience-textarea {
2233
- flex: 1 1 auto;
2234
- min-height: 48px;
2235
- max-height: 220px;
2236
- border: 0;
2237
- background: transparent;
2238
- padding: 10px 12px;
2239
- font-size: 15px;
2240
- line-height: 1.6;
2241
- color: var(--text-primary);
2242
- outline: none;
2243
- transition: height 140ms ease;
2244
- }
2245
-
2246
- .lemma-assistant-experience-textarea::placeholder {
2247
- color: var(--text-tertiary);
2248
- }
2249
-
2250
- .lemma-assistant-experience-send-wrap {
2251
- align-self: center;
2252
- padding: 0;
2253
- }
2254
-
2255
- .lemma-assistant-experience-send[data-state="busy"] {
2256
- background: var(--text-primary);
2257
- color: var(--text-inverse);
2258
- }
2259
-
2260
- .lemma-assistant-experience-send[data-state="busy"]:hover {
2261
- background: color-mix(in srgb, var(--text-primary) 80%, transparent);
2262
- transform: scale(1.05);
2263
- }
2264
-
2265
- .lemma-assistant-experience-send[data-state="ready"] {
2266
- background: var(--brand-primary);
2267
- color: var(--text-on-brand);
2268
- box-shadow: var(--shadow-xs);
2269
- }
2270
-
2271
- .lemma-assistant-experience-send[data-state="ready"]:hover {
2272
- background: color-mix(in srgb, var(--brand-primary) 88%, var(--text-primary));
2273
- }
2274
-
2275
- .lemma-assistant-experience-send[data-state="idle"] {
2276
- background: var(--bg-subtle);
2277
- color: var(--text-tertiary);
2278
- }
2279
-
2280
- @media (min-width: 1024px) {
2281
- .lemma-assistant-experience[data-show-conversation-list="true"] {
2282
- display: grid;
2283
- grid-template-columns: 280px minmax(0, 1fr);
2284
- align-items: stretch;
2285
- }
2286
-
2287
- .lemma-assistant-experience[data-show-conversation-list="true"] .lemma-assistant-experience-sidebar {
2288
- display: flex;
2289
- min-height: 0;
2290
- }
2291
- }
2292
-
2293
- @media (prefers-color-scheme: dark) {
2294
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]) .lemma-assistant-status-pill,
2295
- .lemma-assistant-theme[data-lemma-theme="auto"] .lemma-assistant-status-pill {
2296
- background: color-mix(in srgb, var(--brand-glow) 45%, var(--bg-surface));
2297
- }
2298
-
2299
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]) .lemma-assistant-experience-sidebar-item-active,
2300
- .lemma-assistant-theme[data-lemma-theme="auto"] .lemma-assistant-experience-sidebar-item-active,
2301
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]) .lemma-assistant-conversation-list-item-active,
2302
- .lemma-assistant-theme[data-lemma-theme="auto"] .lemma-assistant-conversation-list-item-active {
2303
- background: var(--bg-surface);
2304
- border-color: color-mix(in srgb, var(--brand-primary) 52%, var(--border-default));
2305
- }
2306
-
2307
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]) .lemma-assistant-markdown pre,
2308
- .lemma-assistant-theme[data-lemma-theme="auto"] .lemma-assistant-markdown pre,
2309
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]) .lemma-assistant-tool-details-code,
2310
- .lemma-assistant-theme[data-lemma-theme="auto"] .lemma-assistant-tool-details-code {
2311
- background: color-mix(in srgb, var(--bg-canvas) 88%, var(--bg-surface));
2312
- }
2313
-
2314
- .lemma-assistant-theme:not([data-lemma-theme="light"]):not([data-lemma-theme="dark"]) .lemma-assistant-tool-rollup-thinking,
2315
- .lemma-assistant-theme[data-lemma-theme="auto"] .lemma-assistant-tool-rollup-thinking {
2316
- background: color-mix(in srgb, var(--bg-subtle) 34%, transparent);
2317
- border-color: color-mix(in srgb, var(--border-default) 74%, transparent);
2318
- border-left-color: color-mix(in srgb, var(--border-default) 88%, transparent);
2319
- }
2320
- }
2321
-
2322
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]) .lemma-assistant-status-pill,
2323
- .lemma-assistant-theme[data-lemma-theme="dark"] .lemma-assistant-status-pill {
2324
- background: color-mix(in srgb, var(--brand-glow) 45%, var(--bg-surface));
2325
- }
2326
-
2327
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]) .lemma-assistant-experience-sidebar-item-active,
2328
- .lemma-assistant-theme[data-lemma-theme="dark"] .lemma-assistant-experience-sidebar-item-active,
2329
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]) .lemma-assistant-conversation-list-item-active,
2330
- .lemma-assistant-theme[data-lemma-theme="dark"] .lemma-assistant-conversation-list-item-active {
2331
- background: var(--bg-surface);
2332
- border-color: color-mix(in srgb, var(--brand-primary) 52%, var(--border-default));
2333
- }
2334
-
2335
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]) .lemma-assistant-markdown pre,
2336
- .lemma-assistant-theme[data-lemma-theme="dark"] .lemma-assistant-markdown pre,
2337
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]) .lemma-assistant-tool-details-code,
2338
- .lemma-assistant-theme[data-lemma-theme="dark"] .lemma-assistant-tool-details-code {
2339
- background: color-mix(in srgb, var(--bg-canvas) 88%, var(--bg-surface));
2340
- }
2341
-
2342
- :where(.dark, [data-theme="dark"], [data-color-scheme="dark"], [data-mode="dark"]) .lemma-assistant-theme:not([data-lemma-theme="light"]) .lemma-assistant-tool-rollup-thinking,
2343
- .lemma-assistant-theme[data-lemma-theme="dark"] .lemma-assistant-tool-rollup-thinking {
2344
- background: color-mix(in srgb, var(--bg-subtle) 34%, transparent);
2345
- border-color: color-mix(in srgb, var(--border-default) 74%, transparent);
2346
- border-left-color: color-mix(in srgb, var(--border-default) 88%, transparent);
2347
- }
2348
-
2349
- @keyframes lemma-assistant-fade-in {
2350
- from {
2351
- opacity: 0;
2352
- }
2353
-
2354
- to {
2355
- opacity: 1;
2356
- }
2357
- }
2358
-
2359
- @keyframes lemma-assistant-shimmer {
2360
- 0% {
2361
- background-position: 0% 50%;
2362
- }
2363
-
2364
- 100% {
2365
- background-position: 250% 50%;
2366
- }
2367
- }
2368
-
2369
- @keyframes lemma-assistant-dot-pulse {
2370
- 0% {
2371
- transform: scale(0.9);
2372
- opacity: 0.55;
2373
- }
2374
-
2375
- 50% {
2376
- transform: scale(1.15);
2377
- opacity: 1;
2378
- }
2379
-
2380
- 100% {
2381
- transform: scale(0.9);
2382
- opacity: 0.55;
2383
- }
2384
- }
2385
-
2386
- @keyframes lemma-assistant-ping {
2387
- 0% {
2388
- opacity: 0.55;
2389
- transform: scale(0.8);
2390
- }
2391
-
2392
- 70% {
2393
- opacity: 0;
2394
- transform: scale(1.8);
2395
- }
2396
-
2397
- 100% {
2398
- opacity: 0;
2399
- transform: scale(1.8);
2400
- }
2401
- }