lemma-sdk 0.2.19 → 0.2.21

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 (40) hide show
  1. package/README.md +71 -33
  2. package/dist/auth.d.ts +42 -1
  3. package/dist/auth.js +43 -0
  4. package/dist/browser/lemma-client.js +49 -1
  5. package/dist/browser.d.ts +1 -1
  6. package/dist/browser.js +1 -1
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.js +1 -1
  9. package/dist/namespaces/assistants.d.ts +2 -0
  10. package/dist/namespaces/assistants.js +3 -0
  11. package/dist/openapi_client/index.d.ts +3 -0
  12. package/dist/openapi_client/index.js +1 -0
  13. package/dist/openapi_client/models/AvailableModelInfo.d.ts +8 -0
  14. package/dist/openapi_client/models/AvailableModelInfo.js +1 -0
  15. package/dist/openapi_client/models/AvailableModels.d.ts +3 -4
  16. package/dist/openapi_client/models/AvailableModels.js +2 -3
  17. package/dist/openapi_client/models/AvailableModelsListResponse.d.ts +7 -0
  18. package/dist/openapi_client/models/AvailableModelsListResponse.js +1 -0
  19. package/dist/openapi_client/models/BulkCreateRecordsRequest.d.ts +4 -0
  20. package/dist/openapi_client/models/CreateFunctionRequest.d.ts +2 -0
  21. package/dist/openapi_client/models/FunctionResponse.d.ts +2 -0
  22. package/dist/openapi_client/models/FunctionRunResponse.d.ts +4 -0
  23. package/dist/openapi_client/models/FunctionType.d.ts +7 -0
  24. package/dist/openapi_client/models/FunctionType.js +12 -0
  25. package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +2 -0
  26. package/dist/openapi_client/services/ConversationsService.d.ts +8 -0
  27. package/dist/openapi_client/services/ConversationsService.js +12 -0
  28. package/dist/react/components/AssistantChrome.js +13 -23
  29. package/dist/react/components/AssistantExperience.d.ts +12 -4
  30. package/dist/react/components/AssistantExperience.js +40 -40
  31. package/dist/react/components/assistant-types.d.ts +7 -0
  32. package/dist/react/index.d.ts +3 -3
  33. package/dist/react/index.js +1 -1
  34. package/dist/react/styles.css +1246 -5
  35. package/dist/react/useAssistantController.d.ts +2 -1
  36. package/dist/react/useAssistantController.js +34 -1
  37. package/dist/react/useAssistantRuntime.js +25 -4
  38. package/dist/react/useAssistantSession.js +14 -5
  39. package/dist/types.d.ts +1 -1
  40. package/package.json +1 -1
@@ -19,6 +19,10 @@
19
19
  --state-info: #2f6fb2;
20
20
  --state-warning: #c78a2c;
21
21
  --shadow-xs: 0 1px 2px rgba(36, 31, 22, 0.08);
22
+ --assistant-radius-shell: 20px;
23
+ --assistant-radius-item: 16px;
24
+ --assistant-radius-bubble: 16px;
25
+ --assistant-radius-inline: 12px;
22
26
  --shadow-sm: 0 8px 24px rgba(36, 31, 22, 0.08);
23
27
  --shadow-md: 0 18px 36px rgba(36, 31, 22, 0.1);
24
28
  --shadow-lg: 0 24px 48px rgba(36, 31, 22, 0.14);
@@ -105,6 +109,10 @@
105
109
  --state-info: #2f6fb2;
106
110
  --state-warning: #c78a2c;
107
111
  --shadow-xs: 0 1px 2px rgba(36, 31, 22, 0.08);
112
+ --assistant-radius-shell: 20px;
113
+ --assistant-radius-item: 16px;
114
+ --assistant-radius-bubble: 16px;
115
+ --assistant-radius-inline: 12px;
108
116
  --shadow-sm: 0 8px 24px rgba(36, 31, 22, 0.08);
109
117
  --shadow-md: 0 18px 36px rgba(36, 31, 22, 0.1);
110
118
  --shadow-lg: 0 24px 48px rgba(36, 31, 22, 0.14);
@@ -144,6 +152,41 @@
144
152
  height: 100%;
145
153
  }
146
154
 
155
+ .lemma-assistant-experience[data-radius="none"] {
156
+ --assistant-radius-shell: 0px;
157
+ --assistant-radius-item: 0px;
158
+ --assistant-radius-bubble: 0px;
159
+ --assistant-radius-inline: 0px;
160
+ }
161
+
162
+ .lemma-assistant-experience[data-radius="sm"] {
163
+ --assistant-radius-shell: 14px;
164
+ --assistant-radius-item: 10px;
165
+ --assistant-radius-bubble: 10px;
166
+ --assistant-radius-inline: 8px;
167
+ }
168
+
169
+ .lemma-assistant-experience[data-radius="md"] {
170
+ --assistant-radius-shell: 20px;
171
+ --assistant-radius-item: 16px;
172
+ --assistant-radius-bubble: 16px;
173
+ --assistant-radius-inline: 12px;
174
+ }
175
+
176
+ .lemma-assistant-experience[data-radius="lg"] {
177
+ --assistant-radius-shell: 24px;
178
+ --assistant-radius-item: 18px;
179
+ --assistant-radius-bubble: 18px;
180
+ --assistant-radius-inline: 14px;
181
+ }
182
+
183
+ .lemma-assistant-experience[data-radius="xl"] {
184
+ --assistant-radius-shell: 30px;
185
+ --assistant-radius-item: 22px;
186
+ --assistant-radius-bubble: 22px;
187
+ --assistant-radius-inline: 16px;
188
+ }
189
+
147
190
  .lemma-assistant-markdown {
148
191
  color: inherit;
149
192
  line-height: 1.7;
@@ -263,7 +306,7 @@
263
306
  overflow-x: auto;
264
307
  padding: 0.9rem 1rem;
265
308
  border: 1px solid color-mix(in srgb, var(--border-default) 82%, transparent);
266
- border-radius: 16px;
309
+ border-radius: var(--assistant-radius-item);
267
310
  background: color-mix(in srgb, var(--bg-canvas) 74%, var(--bg-surface));
268
311
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 60%, transparent);
269
312
  }
@@ -284,7 +327,7 @@
284
327
  border-collapse: separate;
285
328
  border-spacing: 0;
286
329
  border: 1px solid color-mix(in srgb, var(--border-default) 82%, transparent);
287
- border-radius: 16px;
330
+ border-radius: var(--assistant-radius-inline);
288
331
  background: color-mix(in srgb, var(--bg-surface) 96%, transparent);
289
332
  }
290
333
 
@@ -442,7 +485,7 @@
442
485
  .lemma-assistant-experience-composer {
443
486
  background: var(--bg-surface);
444
487
  border: 1px solid var(--border-default);
445
- border-radius: 20px;
488
+ border-radius: var(--assistant-radius-shell);
446
489
  box-shadow: var(--shadow-lg);
447
490
  }
448
491
 
@@ -470,7 +513,7 @@
470
513
  .lemma-assistant-experience-sidebar-item {
471
514
  display: block;
472
515
  width: 100%;
473
- border-radius: 16px;
516
+ border-radius: var(--assistant-radius-item);
474
517
  }
475
518
 
476
519
  .lemma-assistant-conversation-list-item-title,
@@ -582,6 +625,7 @@
582
625
  background: var(--bg-surface);
583
626
  border-color: color-mix(in srgb, var(--border-default) 88%, transparent);
584
627
  box-shadow: var(--shadow-sm);
628
+ border-radius: var(--assistant-radius-shell);
585
629
  }
586
630
 
587
631
  .lemma-assistant-pending-file-chip {
@@ -589,6 +633,7 @@
589
633
  align-items: center;
590
634
  gap: 6px;
591
635
  max-width: 100%;
636
+ border-radius: var(--assistant-radius-inline);
592
637
  }
593
638
 
594
639
  .lemma-assistant-pending-file-chip-label {
@@ -684,6 +729,7 @@
684
729
 
685
730
  .lemma-assistant-message-user-bubble {
686
731
  max-width: 72ch;
732
+ border-radius: var(--assistant-radius-bubble);
687
733
  }
688
734
 
689
735
  .lemma-assistant-message-text {
@@ -705,7 +751,7 @@
705
751
  .lemma-assistant-tool-rollup-thinking,
706
752
  .lemma-assistant-widget-card-frame,
707
753
  .lemma-assistant-presented-file > *:first-child {
708
- border-radius: 12px;
754
+ border-radius: var(--assistant-radius-inline);
709
755
  }
710
756
 
711
757
  .lemma-assistant-widget-card-frame {
@@ -772,6 +818,1201 @@
772
818
  cursor: default;
773
819
  }
774
820
 
821
+ .lemma-assistant-shell,
822
+ .lemma-assistant-experience {
823
+ width: 100%;
824
+ height: 100%;
825
+ font-family: inherit;
826
+ -webkit-font-smoothing: antialiased;
827
+ }
828
+
829
+ .lemma-assistant-viewport,
830
+ .lemma-assistant-experience-viewport {
831
+ flex: 1 1 auto;
832
+ padding: 16px;
833
+ background: var(--bg-surface);
834
+ }
835
+
836
+ .lemma-assistant-viewport-inner {
837
+ display: flex;
838
+ flex-direction: column;
839
+ gap: 12px;
840
+ }
841
+
842
+ .lemma-assistant-header,
843
+ .lemma-assistant-experience-header,
844
+ .lemma-assistant-conversation-list-header,
845
+ .lemma-assistant-experience-sidebar-header {
846
+ padding: 12px 16px;
847
+ }
848
+
849
+ .lemma-assistant-header-badge {
850
+ display: inline-flex;
851
+ align-items: center;
852
+ justify-content: center;
853
+ width: 28px;
854
+ height: 28px;
855
+ border-radius: 999px;
856
+ background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
857
+ box-shadow: var(--shadow-xs);
858
+ flex: 0 0 auto;
859
+ }
860
+
861
+ .lemma-assistant-header-title,
862
+ .lemma-assistant-conversation-list-title,
863
+ .lemma-assistant-experience-sidebar-title {
864
+ font-size: 13px;
865
+ font-weight: 600;
866
+ line-height: 1.2;
867
+ color: var(--text-primary);
868
+ }
869
+
870
+ .lemma-assistant-header-subtitle,
871
+ .lemma-assistant-conversation-list-meta,
872
+ .lemma-assistant-experience-sidebar-meta {
873
+ margin-top: 4px;
874
+ font-size: 11px;
875
+ color: var(--text-tertiary);
876
+ }
877
+
878
+ .lemma-assistant-conversation-list,
879
+ .lemma-assistant-experience-sidebar {
880
+ display: flex;
881
+ flex-direction: column;
882
+ overflow: hidden;
883
+ }
884
+
885
+ .lemma-assistant-conversation-list-items,
886
+ .lemma-assistant-experience-sidebar-items {
887
+ padding: 12px;
888
+ display: flex;
889
+ flex-direction: column;
890
+ gap: 8px;
891
+ }
892
+
893
+ .lemma-assistant-conversation-list-item,
894
+ .lemma-assistant-experience-sidebar-item {
895
+ cursor: pointer;
896
+ border: 1px solid var(--border-default);
897
+ background: var(--bg-surface);
898
+ padding: 10px 12px;
899
+ text-align: left;
900
+ color: inherit;
901
+ transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
902
+ }
903
+
904
+ .lemma-assistant-conversation-list-item:hover,
905
+ .lemma-assistant-experience-sidebar-item:hover {
906
+ background: var(--bg-subtle);
907
+ }
908
+
909
+ .lemma-assistant-conversation-list-item-active,
910
+ .lemma-assistant-experience-sidebar-item-active {
911
+ border-color: color-mix(in srgb, var(--brand-primary) 44%, var(--border-default));
912
+ background: color-mix(in srgb, var(--brand-glow) 42%, var(--bg-surface));
913
+ }
914
+
915
+ .lemma-assistant-conversation-list-item-title,
916
+ .lemma-assistant-experience-sidebar-item-title {
917
+ font-size: 12px;
918
+ font-weight: 500;
919
+ color: var(--text-primary);
920
+ }
921
+
922
+ .lemma-assistant-conversation-list-item-status,
923
+ .lemma-assistant-experience-sidebar-item-status {
924
+ margin-top: 4px;
925
+ font-size: 10px;
926
+ letter-spacing: 0.08em;
927
+ text-transform: uppercase;
928
+ color: var(--text-tertiary);
929
+ }
930
+
931
+ .lemma-assistant-conversation-list-new,
932
+ .lemma-assistant-experience-sidebar-new,
933
+ .lemma-assistant-experience-plan-button {
934
+ display: inline-flex;
935
+ align-items: center;
936
+ justify-content: center;
937
+ gap: 8px;
938
+ border-radius: 999px;
939
+ border: 1px solid color-mix(in srgb, var(--border-default) 88%, transparent);
940
+ background: color-mix(in srgb, var(--bg-surface) 90%, transparent);
941
+ padding: 6px 12px;
942
+ font-size: 11px;
943
+ font-weight: 500;
944
+ color: var(--text-secondary);
945
+ box-shadow: var(--shadow-xs);
946
+ transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
947
+ }
948
+
949
+ .lemma-assistant-conversation-list-new:hover,
950
+ .lemma-assistant-experience-sidebar-new:hover,
951
+ .lemma-assistant-experience-plan-button:hover {
952
+ color: var(--text-primary);
953
+ background: var(--bg-subtle);
954
+ }
955
+
956
+ .lemma-assistant-model-picker,
957
+ .lemma-assistant-experience-model-picker {
958
+ height: 32px;
959
+ border-radius: 999px;
960
+ border: 1px solid color-mix(in srgb, var(--border-default) 80%, transparent);
961
+ padding: 0 12px;
962
+ font-size: 11px;
963
+ color: var(--text-secondary);
964
+ }
965
+
966
+ .lemma-assistant-ask-overlay {
967
+ display: flex;
968
+ flex-direction: column;
969
+ gap: 8px;
970
+ }
971
+
972
+ .lemma-assistant-ask-overlay-kicker {
973
+ font-size: 11px;
974
+ letter-spacing: 0.12em;
975
+ text-transform: uppercase;
976
+ color: var(--text-tertiary);
977
+ }
978
+
979
+ .lemma-assistant-ask-overlay-copy {
980
+ min-width: 0;
981
+ }
982
+
983
+ .lemma-assistant-ask-overlay-question {
984
+ margin: 4px 0 0;
985
+ font-size: 14px;
986
+ font-weight: 500;
987
+ line-height: 1.5;
988
+ color: var(--text-primary);
989
+ }
990
+
991
+ .lemma-assistant-ask-overlay-skip,
992
+ .lemma-assistant-ask-overlay-continue {
993
+ border: 0;
994
+ border-radius: var(--assistant-radius-inline);
995
+ background: transparent;
996
+ padding: 6px 10px;
997
+ font-size: 12px;
998
+ transition: background-color 160ms ease, color 160ms ease;
999
+ }
1000
+
1001
+ .lemma-assistant-ask-overlay-skip {
1002
+ color: var(--text-tertiary);
1003
+ }
1004
+
1005
+ .lemma-assistant-ask-overlay-skip:hover {
1006
+ background: var(--bg-subtle);
1007
+ color: var(--text-primary);
1008
+ }
1009
+
1010
+ .lemma-assistant-ask-overlay-options {
1011
+ max-height: 260px;
1012
+ padding-right: 4px;
1013
+ display: flex;
1014
+ flex-direction: column;
1015
+ gap: 6px;
1016
+ }
1017
+
1018
+ .lemma-assistant-ask-overlay-option {
1019
+ border: 1px solid var(--border-default);
1020
+ border-radius: calc(var(--assistant-radius-inline) + 2px);
1021
+ background: var(--bg-canvas);
1022
+ padding: 8px 10px;
1023
+ text-align: left;
1024
+ font-size: 13px;
1025
+ color: var(--text-secondary);
1026
+ transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
1027
+ }
1028
+
1029
+ .lemma-assistant-ask-overlay-option:hover {
1030
+ background: var(--bg-subtle);
1031
+ color: var(--text-primary);
1032
+ }
1033
+
1034
+ .lemma-assistant-ask-overlay-option-selected {
1035
+ border-color: color-mix(in srgb, var(--brand-primary) 64%, var(--border-subtle));
1036
+ background: color-mix(in srgb, var(--brand-primary) 14%, transparent);
1037
+ color: var(--text-primary);
1038
+ }
1039
+
1040
+ .lemma-assistant-ask-overlay-option-rank {
1041
+ display: inline-flex;
1042
+ align-items: center;
1043
+ justify-content: center;
1044
+ min-width: 16px;
1045
+ height: 16px;
1046
+ border-radius: 999px;
1047
+ padding: 0 4px;
1048
+ background: var(--brand-primary);
1049
+ color: var(--text-on-brand);
1050
+ font-size: 10px;
1051
+ font-weight: 600;
1052
+ }
1053
+
1054
+ .lemma-assistant-ask-overlay-option-indicator {
1055
+ display: inline-block;
1056
+ width: 10px;
1057
+ height: 10px;
1058
+ border-radius: 999px;
1059
+ border: 1px solid var(--border-default);
1060
+ background: transparent;
1061
+ }
1062
+
1063
+ .lemma-assistant-ask-overlay-option-indicator-selected {
1064
+ border-color: var(--brand-primary);
1065
+ background: var(--brand-primary);
1066
+ }
1067
+
1068
+ .lemma-assistant-ask-overlay-actions {
1069
+ justify-content: flex-end;
1070
+ }
1071
+
1072
+ .lemma-assistant-ask-overlay-continue {
1073
+ background: var(--bg-subtle);
1074
+ color: var(--text-tertiary);
1075
+ font-weight: 500;
1076
+ }
1077
+
1078
+ .lemma-assistant-ask-overlay-continue-enabled {
1079
+ background: var(--brand-primary);
1080
+ color: var(--text-on-brand);
1081
+ }
1082
+
1083
+ .lemma-assistant-ask-overlay-continue-enabled:hover {
1084
+ background: color-mix(in srgb, var(--brand-primary) 88%, var(--text-primary));
1085
+ }
1086
+
1087
+ .lemma-assistant-composer-status-rail {
1088
+ padding: 0 8px 4px;
1089
+ }
1090
+
1091
+ .lemma-assistant-composer-status,
1092
+ .lemma-assistant-experience-status {
1093
+ display: flex;
1094
+ align-items: center;
1095
+ transition: opacity 160ms ease;
1096
+ }
1097
+
1098
+ .lemma-assistant-composer-pending,
1099
+ .lemma-assistant-experience-pending {
1100
+ align-items: center;
1101
+ padding: 0 4px 6px;
1102
+ }
1103
+
1104
+ .lemma-assistant-pending-file-chip {
1105
+ padding: 4px 8px;
1106
+ background: var(--bg-subtle);
1107
+ color: var(--text-secondary);
1108
+ font-size: 11px;
1109
+ }
1110
+
1111
+ .lemma-assistant-pending-file-chip-label {
1112
+ max-width: 180px;
1113
+ }
1114
+
1115
+ .lemma-assistant-pending-file-chip-remove {
1116
+ display: inline-flex;
1117
+ align-items: center;
1118
+ justify-content: center;
1119
+ width: 16px;
1120
+ height: 16px;
1121
+ border-radius: 999px;
1122
+ }
1123
+
1124
+ .lemma-assistant-pending-file-chip-remove:hover {
1125
+ background: var(--bg-canvas);
1126
+ }
1127
+
1128
+ .lemma-assistant-status-pill {
1129
+ min-height: 30px;
1130
+ max-width: 100%;
1131
+ padding: 6px 12px;
1132
+ border-radius: 999px;
1133
+ border: 1px solid color-mix(in srgb, var(--brand-primary) 24%, var(--border-default));
1134
+ background: color-mix(in srgb, var(--brand-glow) 28%, var(--bg-surface));
1135
+ color: var(--text-secondary);
1136
+ font-size: 12px;
1137
+ transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
1138
+ }
1139
+
1140
+ .lemma-assistant-status-pill-subtle {
1141
+ border-color: color-mix(in srgb, var(--border-default) 72%, transparent);
1142
+ background: color-mix(in srgb, var(--bg-surface) 90%, transparent);
1143
+ color: var(--text-tertiary);
1144
+ }
1145
+
1146
+ .lemma-assistant-status-pill-dot,
1147
+ .lemma-assistant-status-pill-dot-core,
1148
+ .lemma-assistant-status-pill-dot-ping {
1149
+ display: inline-flex;
1150
+ width: 10px;
1151
+ height: 10px;
1152
+ border-radius: 999px;
1153
+ }
1154
+
1155
+ .lemma-assistant-status-pill-dot {
1156
+ position: relative;
1157
+ flex: 0 0 auto;
1158
+ }
1159
+
1160
+ .lemma-assistant-status-pill-dot-ping {
1161
+ position: absolute;
1162
+ inset: 0;
1163
+ background: color-mix(in srgb, var(--brand-primary) 45%, transparent);
1164
+ }
1165
+
1166
+ .lemma-assistant-status-pill-dot-core {
1167
+ position: relative;
1168
+ background: var(--brand-primary);
1169
+ }
1170
+
1171
+ .lemma-assistant-status-pill-label {
1172
+ overflow: hidden;
1173
+ text-overflow: ellipsis;
1174
+ white-space: nowrap;
1175
+ }
1176
+
1177
+ .lemma-assistant-presented-files {
1178
+ padding-top: 4px;
1179
+ display: flex;
1180
+ flex-direction: column;
1181
+ gap: 8px;
1182
+ }
1183
+
1184
+ .lemma-assistant-presented-file-card {
1185
+ border: 1px solid color-mix(in srgb, var(--border-default) 78%, transparent);
1186
+ border-radius: var(--assistant-radius-shell);
1187
+ background: linear-gradient(
1188
+ 180deg,
1189
+ color-mix(in srgb, var(--bg-surface) 96%, transparent),
1190
+ color-mix(in srgb, var(--bg-canvas) 76%, transparent)
1191
+ );
1192
+ padding: 10px 12px;
1193
+ }
1194
+
1195
+ .lemma-assistant-presented-file-name {
1196
+ font-size: 14px;
1197
+ font-weight: 500;
1198
+ color: var(--text-primary);
1199
+ }
1200
+
1201
+ .lemma-assistant-presented-file-path {
1202
+ margin-top: 4px;
1203
+ font-size: 12px;
1204
+ color: var(--text-tertiary);
1205
+ word-break: break-word;
1206
+ }
1207
+
1208
+ .lemma-assistant-plan-strip {
1209
+ padding: 10px 12px;
1210
+ }
1211
+
1212
+ .lemma-assistant-plan-strip-summary {
1213
+ gap: 8px;
1214
+ }
1215
+
1216
+ .lemma-assistant-plan-strip-title {
1217
+ font-size: 12px;
1218
+ font-weight: 600;
1219
+ color: var(--text-primary);
1220
+ }
1221
+
1222
+ .lemma-assistant-plan-strip-count,
1223
+ .lemma-assistant-plan-strip-current {
1224
+ font-size: 11px;
1225
+ color: var(--text-tertiary);
1226
+ }
1227
+
1228
+ .lemma-assistant-plan-strip-current {
1229
+ margin-top: 6px;
1230
+ color: var(--text-secondary);
1231
+ white-space: nowrap;
1232
+ overflow: hidden;
1233
+ text-overflow: ellipsis;
1234
+ }
1235
+
1236
+ .lemma-assistant-plan-strip-active {
1237
+ display: inline-flex;
1238
+ align-items: center;
1239
+ border-radius: 999px;
1240
+ background: color-mix(in srgb, var(--brand-primary) 16%, transparent);
1241
+ padding: 2px 6px;
1242
+ font-size: 10px;
1243
+ font-weight: 500;
1244
+ color: var(--brand-primary);
1245
+ }
1246
+
1247
+ .lemma-assistant-plan-strip-hide,
1248
+ .lemma-assistant-plan-strip-toggle {
1249
+ border: 0;
1250
+ background: transparent;
1251
+ padding: 0;
1252
+ font-size: 11px;
1253
+ font-weight: 500;
1254
+ color: var(--text-tertiary);
1255
+ transition: color 160ms ease;
1256
+ }
1257
+
1258
+ .lemma-assistant-plan-strip-toggle {
1259
+ font-size: 10px;
1260
+ color: var(--brand-primary);
1261
+ }
1262
+
1263
+ .lemma-assistant-plan-strip-hide:hover,
1264
+ .lemma-assistant-plan-strip-toggle:hover {
1265
+ color: var(--text-primary);
1266
+ }
1267
+
1268
+ .lemma-assistant-plan-strip-steps {
1269
+ margin-top: 8px;
1270
+ display: flex;
1271
+ flex-direction: column;
1272
+ gap: 4px;
1273
+ }
1274
+
1275
+ .lemma-assistant-plan-strip-step {
1276
+ display: flex;
1277
+ align-items: flex-start;
1278
+ gap: 8px;
1279
+ font-size: 11px;
1280
+ }
1281
+
1282
+ .lemma-assistant-plan-strip-step-dot {
1283
+ margin-top: 4px;
1284
+ width: 8px;
1285
+ height: 8px;
1286
+ border-radius: 999px;
1287
+ flex: 0 0 auto;
1288
+ }
1289
+
1290
+ .lemma-assistant-plan-strip-step-dot-completed {
1291
+ background: var(--state-success);
1292
+ }
1293
+
1294
+ .lemma-assistant-plan-strip-step-dot-in-progress {
1295
+ background: var(--brand-primary);
1296
+ }
1297
+
1298
+ .lemma-assistant-plan-strip-step-dot-pending {
1299
+ background: var(--border-default);
1300
+ }
1301
+
1302
+ .lemma-assistant-plan-strip-step-label {
1303
+ line-height: 1.45;
1304
+ }
1305
+
1306
+ .lemma-assistant-plan-strip-step-label-completed {
1307
+ color: var(--text-tertiary);
1308
+ text-decoration: line-through;
1309
+ }
1310
+
1311
+ .lemma-assistant-plan-strip-step-label-in-progress {
1312
+ color: var(--brand-primary);
1313
+ font-weight: 500;
1314
+ }
1315
+
1316
+ .lemma-assistant-plan-strip-step-label-pending {
1317
+ color: var(--text-secondary);
1318
+ }
1319
+
1320
+ .lemma-assistant-plan-strip-footer {
1321
+ display: flex;
1322
+ align-items: center;
1323
+ gap: 8px;
1324
+ padding-top: 2px;
1325
+ }
1326
+
1327
+ .lemma-assistant-plan-strip-hidden-count {
1328
+ font-size: 10px;
1329
+ color: var(--text-tertiary);
1330
+ }
1331
+
1332
+ .lemma-assistant-thinking {
1333
+ padding: 0 4px;
1334
+ animation: lemma-assistant-fade-in 220ms ease;
1335
+ }
1336
+
1337
+ .lemma-assistant-thinking-label {
1338
+ gap: 10px;
1339
+ font-size: 12px;
1340
+ line-height: 1.4;
1341
+ color: var(--text-tertiary);
1342
+ }
1343
+
1344
+ .lemma-assistant-thinking-dot,
1345
+ .lemma-assistant-tool-rollup-dot {
1346
+ display: inline-flex;
1347
+ width: 8px;
1348
+ height: 8px;
1349
+ border-radius: 999px;
1350
+ background: var(--brand-accent);
1351
+ flex: 0 0 auto;
1352
+ }
1353
+
1354
+ .lemma-assistant-thinking-text,
1355
+ .lemma-assistant-reasoning-label-streaming {
1356
+ font-weight: 600;
1357
+ color: transparent;
1358
+ background: linear-gradient(110deg, var(--text-secondary), 35%, var(--brand-accent), 50%, var(--text-secondary), 65%);
1359
+ background-size: 250% 100%;
1360
+ -webkit-background-clip: text;
1361
+ background-clip: text;
1362
+ animation: lemma-assistant-shimmer 1.6s linear infinite;
1363
+ }
1364
+
1365
+ .lemma-assistant-empty-state-hero {
1366
+ margin-bottom: 24px;
1367
+ }
1368
+
1369
+ .lemma-assistant-empty-state-badge {
1370
+ display: inline-flex;
1371
+ align-items: center;
1372
+ justify-content: center;
1373
+ width: 40px;
1374
+ height: 40px;
1375
+ margin-bottom: 12px;
1376
+ border-radius: 999px;
1377
+ background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
1378
+ box-shadow: var(--shadow-xs);
1379
+ }
1380
+
1381
+ .lemma-assistant-empty-state-badge-icon,
1382
+ .lemma-assistant-experience-header-badge-icon {
1383
+ color: var(--text-on-brand);
1384
+ }
1385
+
1386
+ .lemma-assistant-empty-state-badge-icon {
1387
+ font-size: 18px;
1388
+ }
1389
+
1390
+ .lemma-assistant-empty-state-title {
1391
+ margin: 0;
1392
+ font-size: 15px;
1393
+ font-weight: 600;
1394
+ color: var(--text-primary);
1395
+ }
1396
+
1397
+ .lemma-assistant-empty-state-copy {
1398
+ max-width: 24rem;
1399
+ margin: 6px auto 0;
1400
+ font-size: 13px;
1401
+ line-height: 1.6;
1402
+ color: var(--text-tertiary);
1403
+ }
1404
+
1405
+ .lemma-assistant-empty-state-suggestion {
1406
+ cursor: pointer;
1407
+ justify-content: flex-start;
1408
+ border: 1px solid var(--border-default);
1409
+ border-radius: calc(var(--assistant-radius-inline) + 2px);
1410
+ background: var(--bg-surface);
1411
+ padding: 10px 12px;
1412
+ text-align: left;
1413
+ font-size: 12px;
1414
+ color: var(--text-secondary);
1415
+ transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
1416
+ }
1417
+
1418
+ .lemma-assistant-empty-state-suggestion:hover {
1419
+ border-color: color-mix(in srgb, var(--brand-accent) 52%, var(--border-subtle));
1420
+ background: color-mix(in srgb, var(--brand-glow) 72%, var(--bg-surface));
1421
+ color: var(--text-primary);
1422
+ }
1423
+
1424
+ .lemma-assistant-empty-state-suggestion-icon {
1425
+ font-size: 16px;
1426
+ opacity: 0.72;
1427
+ transition: opacity 160ms ease;
1428
+ }
1429
+
1430
+ .lemma-assistant-empty-state-suggestion:hover .lemma-assistant-empty-state-suggestion-icon {
1431
+ opacity: 1;
1432
+ }
1433
+
1434
+ .lemma-assistant-empty-state-suggestion-text {
1435
+ flex: 1 1 auto;
1436
+ line-height: 1.35;
1437
+ }
1438
+
1439
+ .lemma-assistant-empty-state-suggestion-arrow {
1440
+ color: var(--text-tertiary);
1441
+ opacity: 0;
1442
+ transform: translateX(0);
1443
+ transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
1444
+ }
1445
+
1446
+ .lemma-assistant-empty-state-suggestion:hover .lemma-assistant-empty-state-suggestion-arrow {
1447
+ opacity: 1;
1448
+ color: var(--state-warning);
1449
+ transform: translateX(2px);
1450
+ }
1451
+
1452
+ .lemma-assistant-reasoning,
1453
+ .lemma-assistant-widget-card,
1454
+ .lemma-assistant-tool-rollup,
1455
+ .lemma-assistant-tool-rollup-item {
1456
+ display: flex;
1457
+ flex-direction: column;
1458
+ gap: 8px;
1459
+ }
1460
+
1461
+ .lemma-assistant-reasoning-summary {
1462
+ list-style: none;
1463
+ cursor: pointer;
1464
+ gap: 6px;
1465
+ font-size: 12px;
1466
+ line-height: 1.4;
1467
+ color: var(--text-tertiary);
1468
+ }
1469
+
1470
+ .lemma-assistant-reasoning-summary::-webkit-details-marker {
1471
+ display: none;
1472
+ }
1473
+
1474
+ .lemma-assistant-reasoning-caret,
1475
+ .lemma-assistant-tool-rollup-caret,
1476
+ .lemma-assistant-inline-tool-call-caret {
1477
+ transition: transform 160ms ease;
1478
+ }
1479
+
1480
+ .lemma-assistant-reasoning[open] .lemma-assistant-reasoning-caret {
1481
+ transform: rotate(90deg);
1482
+ }
1483
+
1484
+ .lemma-assistant-reasoning-label {
1485
+ font-weight: 600;
1486
+ color: var(--text-secondary);
1487
+ }
1488
+
1489
+ .lemma-assistant-reasoning-body,
1490
+ .lemma-assistant-tool-rollup-details,
1491
+ .lemma-assistant-tool-details-panel {
1492
+ margin-top: 4px;
1493
+ padding-left: 16px;
1494
+ border-left: 1px solid var(--border-default);
1495
+ }
1496
+
1497
+ .lemma-assistant-reasoning-text,
1498
+ .lemma-assistant-tool-rollup-thinking-text,
1499
+ .lemma-assistant-tool-details-code-text {
1500
+ margin: 0;
1501
+ white-space: pre-wrap;
1502
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
1503
+ }
1504
+
1505
+ .lemma-assistant-reasoning-text {
1506
+ font-size: 11px;
1507
+ line-height: 1.45;
1508
+ color: var(--text-tertiary);
1509
+ }
1510
+
1511
+ .lemma-assistant-tool-details-header {
1512
+ display: flex;
1513
+ align-items: center;
1514
+ justify-content: space-between;
1515
+ gap: 8px;
1516
+ }
1517
+
1518
+ .lemma-assistant-tool-details-title {
1519
+ font-size: 9px;
1520
+ font-weight: 500;
1521
+ letter-spacing: 0.03em;
1522
+ text-transform: none;
1523
+ color: color-mix(in srgb, var(--text-tertiary) 92%, var(--text-secondary));
1524
+ }
1525
+
1526
+ .lemma-assistant-tool-details-label,
1527
+ .lemma-assistant-tool-rollup-thinking-title {
1528
+ font-size: 9px;
1529
+ font-weight: 500;
1530
+ letter-spacing: 0.05em;
1531
+ text-transform: uppercase;
1532
+ color: color-mix(in srgb, var(--text-tertiary) 88%, var(--text-secondary));
1533
+ }
1534
+
1535
+ .lemma-assistant-tool-details-link {
1536
+ border: 0;
1537
+ background: transparent;
1538
+ padding: 0;
1539
+ font-size: 9px;
1540
+ font-weight: 500;
1541
+ color: color-mix(in srgb, var(--state-success) 78%, var(--text-tertiary));
1542
+ }
1543
+
1544
+ .lemma-assistant-tool-details-panel-custom {
1545
+ min-width: 0;
1546
+ }
1547
+
1548
+ .lemma-assistant-tool-details-grid {
1549
+ display: grid;
1550
+ grid-template-columns: repeat(1, minmax(0, 1fr));
1551
+ gap: 8px;
1552
+ }
1553
+
1554
+ @media (min-width: 640px) {
1555
+ .lemma-assistant-tool-details-grid {
1556
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1557
+ }
1558
+ }
1559
+
1560
+ .lemma-assistant-tool-details-section {
1561
+ min-width: 0;
1562
+ }
1563
+
1564
+ .lemma-assistant-tool-details-code {
1565
+ margin-top: 4px;
1566
+ max-height: 96px;
1567
+ overflow: auto;
1568
+ border-radius: var(--assistant-radius-inline);
1569
+ background: color-mix(in srgb, var(--bg-canvas) 70%, transparent);
1570
+ padding: 8px;
1571
+ font-size: 11px;
1572
+ }
1573
+
1574
+ .lemma-assistant-tool-details-code-text,
1575
+ .lemma-assistant-tool-rollup-thinking-text {
1576
+ color: var(--text-secondary);
1577
+ }
1578
+
1579
+ .lemma-assistant-inline-tool-call {
1580
+ border: 0;
1581
+ background: transparent;
1582
+ padding: 0;
1583
+ width: 100%;
1584
+ display: inline-flex;
1585
+ align-items: center;
1586
+ gap: 6px;
1587
+ text-align: left;
1588
+ font-size: 10px;
1589
+ line-height: 1.45;
1590
+ color: var(--text-secondary);
1591
+ transition: color 160ms ease;
1592
+ }
1593
+
1594
+ .lemma-assistant-inline-tool-call:hover {
1595
+ color: var(--text-primary);
1596
+ }
1597
+
1598
+ .lemma-assistant-inline-tool-call[data-state="executing"] {
1599
+ color: var(--state-info);
1600
+ }
1601
+
1602
+ .lemma-assistant-inline-tool-call[data-state="complete"] {
1603
+ color: var(--state-success);
1604
+ }
1605
+
1606
+ .lemma-assistant-inline-tool-call[data-state="failed"] {
1607
+ color: var(--state-error);
1608
+ }
1609
+
1610
+ .lemma-assistant-inline-tool-call-name {
1611
+ font-size: 9.5px;
1612
+ font-weight: 500;
1613
+ white-space: nowrap;
1614
+ color: color-mix(in srgb, currentColor 78%, var(--text-tertiary));
1615
+ }
1616
+
1617
+ .lemma-assistant-inline-tool-call-summary {
1618
+ font-size: 9.5px;
1619
+ color: color-mix(in srgb, currentColor 72%, var(--text-tertiary));
1620
+ overflow: hidden;
1621
+ text-overflow: ellipsis;
1622
+ white-space: nowrap;
1623
+ }
1624
+
1625
+ .lemma-assistant-inline-tool-call-caret {
1626
+ margin-left: auto;
1627
+ }
1628
+
1629
+ .lemma-assistant-inline-tool-call[data-selected="true"] .lemma-assistant-inline-tool-call-caret {
1630
+ transform: rotate(90deg);
1631
+ }
1632
+
1633
+ .lemma-assistant-tool-rollup-toggle {
1634
+ border: 0;
1635
+ background: transparent;
1636
+ padding: 0;
1637
+ gap: 6px;
1638
+ font-size: 9.5px;
1639
+ line-height: 1.45;
1640
+ color: color-mix(in srgb, var(--text-tertiary) 92%, var(--text-secondary));
1641
+ transition: color 160ms ease;
1642
+ }
1643
+
1644
+ .lemma-assistant-tool-rollup-toggle:hover {
1645
+ color: color-mix(in srgb, var(--text-secondary) 92%, var(--text-primary));
1646
+ }
1647
+
1648
+ .lemma-assistant-tool-rollup-toggle[data-expanded="true"] .lemma-assistant-tool-rollup-caret {
1649
+ transform: rotate(90deg);
1650
+ }
1651
+
1652
+ .lemma-assistant-tool-rollup-summary {
1653
+ font-size: 9.5px;
1654
+ color: color-mix(in srgb, var(--text-tertiary) 92%, var(--text-secondary));
1655
+ }
1656
+
1657
+ .lemma-assistant-tool-rollup-summary-working {
1658
+ font-weight: 500;
1659
+ color: color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary));
1660
+ }
1661
+
1662
+ .lemma-assistant-tool-rollup-thinking {
1663
+ border-radius: var(--assistant-radius-inline);
1664
+ background: var(--bg-canvas);
1665
+ padding: 8px 10px;
1666
+ }
1667
+
1668
+ .lemma-assistant-tool-rollup-thinking-text {
1669
+ max-height: 10rem;
1670
+ overflow: auto;
1671
+ font-size: 11px;
1672
+ line-height: 1.45;
1673
+ }
1674
+
1675
+ .lemma-assistant-widget-card-header {
1676
+ align-items: center;
1677
+ }
1678
+
1679
+ .lemma-assistant-widget-card-title {
1680
+ font-size: 9.5px;
1681
+ font-weight: 500;
1682
+ letter-spacing: 0.02em;
1683
+ color: color-mix(in srgb, var(--text-tertiary) 84%, var(--text-secondary));
1684
+ }
1685
+
1686
+ .lemma-assistant-widget-card-badge {
1687
+ display: inline-flex;
1688
+ align-items: center;
1689
+ gap: 4px;
1690
+ border-radius: 6px;
1691
+ padding: 2px 6px;
1692
+ font-size: 10px;
1693
+ font-weight: 500;
1694
+ }
1695
+
1696
+ .lemma-assistant-widget-card-badge-rendering {
1697
+ background: color-mix(in srgb, var(--state-info) 16%, transparent);
1698
+ color: var(--state-info);
1699
+ }
1700
+
1701
+ .lemma-assistant-widget-card-badge-failed {
1702
+ background: color-mix(in srgb, var(--state-error) 12%, transparent);
1703
+ color: var(--state-error);
1704
+ }
1705
+
1706
+ .lemma-assistant-widget-card-badge-ready {
1707
+ background: color-mix(in srgb, var(--state-success) 12%, transparent);
1708
+ color: var(--state-success);
1709
+ }
1710
+
1711
+ .lemma-assistant-widget-card-error,
1712
+ .lemma-assistant-widget-card-missing {
1713
+ margin: 0;
1714
+ font-size: 11px;
1715
+ }
1716
+
1717
+ .lemma-assistant-widget-card-error {
1718
+ color: var(--state-error);
1719
+ }
1720
+
1721
+ .lemma-assistant-widget-card-missing {
1722
+ color: var(--text-secondary);
1723
+ }
1724
+
1725
+ .lemma-assistant-widget-card-frame {
1726
+ display: block;
1727
+ border: 0;
1728
+ background: transparent;
1729
+ }
1730
+
1731
+ .lemma-assistant-message {
1732
+ display: flex;
1733
+ flex-direction: column;
1734
+ gap: 6px;
1735
+ }
1736
+
1737
+ .lemma-assistant-message-assistant {
1738
+ padding: 2px 4px;
1739
+ }
1740
+
1741
+ .lemma-assistant-message-user {
1742
+ display: flex;
1743
+ justify-content: flex-end;
1744
+ max-width: none;
1745
+ }
1746
+
1747
+ .lemma-assistant-message-user-bubble {
1748
+ margin-left: auto;
1749
+ max-width: 72ch;
1750
+ border-radius: var(--assistant-radius-bubble);
1751
+ padding: 10px 14px;
1752
+ background: var(--brand-primary);
1753
+ color: var(--text-on-brand);
1754
+ }
1755
+
1756
+ .lemma-assistant-message-header {
1757
+ font-size: 11px;
1758
+ color: var(--text-tertiary);
1759
+ }
1760
+
1761
+ .lemma-assistant-message-header-dot {
1762
+ display: inline-block;
1763
+ width: 6px;
1764
+ height: 6px;
1765
+ border-radius: 999px;
1766
+ background: color-mix(in srgb, var(--brand-primary) 40%, transparent);
1767
+ flex: 0 0 auto;
1768
+ }
1769
+
1770
+ .lemma-assistant-message-body {
1771
+ display: flex;
1772
+ flex-direction: column;
1773
+ gap: 8px;
1774
+ }
1775
+
1776
+ .lemma-assistant-message-text {
1777
+ font-size: 13px;
1778
+ line-height: 1.6;
1779
+ color: var(--text-secondary);
1780
+ }
1781
+
1782
+ .lemma-assistant-experience {
1783
+ display: flex;
1784
+ flex-direction: column;
1785
+ gap: 12px;
1786
+ }
1787
+
1788
+ .lemma-assistant-experience-sidebar {
1789
+ display: none;
1790
+ }
1791
+
1792
+ .lemma-assistant-experience-main {
1793
+ display: flex;
1794
+ flex: 1 1 auto;
1795
+ min-height: 0;
1796
+ flex-direction: column;
1797
+ gap: 12px;
1798
+ }
1799
+
1800
+ .lemma-assistant-experience-card {
1801
+ display: flex;
1802
+ flex: 1 1 auto;
1803
+ min-height: 0;
1804
+ flex-direction: column;
1805
+ overflow: hidden;
1806
+ }
1807
+
1808
+ .lemma-assistant-experience-new {
1809
+ border: 0;
1810
+ background: transparent;
1811
+ width: 32px;
1812
+ height: 32px;
1813
+ border-radius: 999px;
1814
+ color: var(--text-tertiary);
1815
+ }
1816
+
1817
+ .lemma-assistant-experience-new:hover {
1818
+ background: var(--bg-subtle);
1819
+ color: var(--text-secondary);
1820
+ }
1821
+
1822
+ .lemma-assistant-experience-viewport {
1823
+ min-height: 180px;
1824
+ }
1825
+
1826
+ .lemma-assistant-experience-loading,
1827
+ .lemma-assistant-experience-loading-older {
1828
+ display: flex;
1829
+ justify-content: center;
1830
+ }
1831
+
1832
+ .lemma-assistant-experience-loading {
1833
+ padding: 24px 0;
1834
+ }
1835
+
1836
+ .lemma-assistant-experience-loading-older {
1837
+ padding: 4px 0;
1838
+ }
1839
+
1840
+ .lemma-assistant-experience-loading-text {
1841
+ font-size: 14px;
1842
+ color: var(--text-tertiary);
1843
+ }
1844
+
1845
+ .lemma-assistant-experience-loading-older-text {
1846
+ font-size: 12px;
1847
+ color: var(--text-tertiary);
1848
+ }
1849
+
1850
+ .lemma-assistant-experience-inline-status {
1851
+ display: flex;
1852
+ align-items: center;
1853
+ min-height: 38px;
1854
+ padding: 0 4px;
1855
+ }
1856
+
1857
+ .lemma-assistant-experience-inline-status-pill {
1858
+ transition: opacity 160ms ease;
1859
+ }
1860
+
1861
+ .lemma-assistant-experience-inline-status-pill[data-has-content="true"] {
1862
+ opacity: 0.8;
1863
+ }
1864
+
1865
+ .lemma-assistant-experience-error {
1866
+ display: flex;
1867
+ align-items: flex-start;
1868
+ gap: 10px;
1869
+ border: 1px solid color-mix(in srgb, var(--state-error) 48%, var(--border-subtle));
1870
+ border-radius: calc(var(--assistant-radius-inline) + 2px);
1871
+ background: color-mix(in srgb, var(--state-error) 12%, transparent);
1872
+ padding: 12px;
1873
+ font-size: 12px;
1874
+ color: var(--state-error);
1875
+ }
1876
+
1877
+ .lemma-assistant-experience-error-title {
1878
+ margin: 0;
1879
+ font-weight: 600;
1880
+ }
1881
+
1882
+ .lemma-assistant-experience-error-copy {
1883
+ margin: 4px 0 0;
1884
+ }
1885
+
1886
+ .lemma-assistant-experience-bottom-spacer {
1887
+ height: 56px;
1888
+ flex: 0 0 auto;
1889
+ }
1890
+
1891
+ .lemma-assistant-experience-bottom-anchor {
1892
+ height: 1px;
1893
+ }
1894
+
1895
+ .lemma-assistant-experience-composer-body {
1896
+ display: flex;
1897
+ flex-direction: column;
1898
+ gap: 6px;
1899
+ }
1900
+
1901
+ .lemma-assistant-experience-input-row {
1902
+ position: relative;
1903
+ }
1904
+
1905
+ .lemma-assistant-experience-file-input {
1906
+ display: none;
1907
+ }
1908
+
1909
+ .lemma-assistant-experience-upload,
1910
+ .lemma-assistant-experience-send {
1911
+ border: 0;
1912
+ display: inline-flex;
1913
+ align-items: center;
1914
+ justify-content: center;
1915
+ width: 36px;
1916
+ height: 36px;
1917
+ border-radius: 999px;
1918
+ transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
1919
+ }
1920
+
1921
+ .lemma-assistant-experience-upload {
1922
+ margin: 0 0 6px 4px;
1923
+ background: var(--bg-subtle);
1924
+ color: var(--text-secondary);
1925
+ }
1926
+
1927
+ .lemma-assistant-experience-upload:hover:not(:disabled):not([data-disabled="true"]) {
1928
+ background: var(--bg-canvas);
1929
+ color: var(--text-primary);
1930
+ }
1931
+
1932
+ .lemma-assistant-experience-upload:disabled,
1933
+ .lemma-assistant-experience-upload[data-disabled="true"] {
1934
+ color: var(--text-tertiary);
1935
+ }
1936
+
1937
+ .lemma-assistant-experience-textarea {
1938
+ flex: 1 1 auto;
1939
+ min-height: 48px;
1940
+ max-height: 220px;
1941
+ border: 0;
1942
+ background: transparent;
1943
+ padding: 10px 12px;
1944
+ font-size: 14px;
1945
+ line-height: 1.6;
1946
+ color: var(--text-primary);
1947
+ outline: none;
1948
+ }
1949
+
1950
+ .lemma-assistant-experience-textarea::placeholder {
1951
+ color: var(--text-tertiary);
1952
+ }
1953
+
1954
+ .lemma-assistant-experience-send-wrap {
1955
+ padding: 0 6px 6px 0;
1956
+ }
1957
+
1958
+ .lemma-assistant-experience-send[data-state="busy"] {
1959
+ background: var(--text-primary);
1960
+ color: var(--text-inverse);
1961
+ }
1962
+
1963
+ .lemma-assistant-experience-send[data-state="busy"]:hover {
1964
+ background: color-mix(in srgb, var(--text-primary) 80%, transparent);
1965
+ transform: scale(1.05);
1966
+ }
1967
+
1968
+ .lemma-assistant-experience-send[data-state="ready"] {
1969
+ background: var(--brand-primary);
1970
+ color: var(--text-on-brand);
1971
+ box-shadow: var(--shadow-xs);
1972
+ }
1973
+
1974
+ .lemma-assistant-experience-send[data-state="ready"]:hover {
1975
+ background: color-mix(in srgb, var(--brand-primary) 88%, var(--text-primary));
1976
+ }
1977
+
1978
+ .lemma-assistant-experience-send[data-state="idle"] {
1979
+ background: var(--bg-subtle);
1980
+ color: var(--text-tertiary);
1981
+ }
1982
+
1983
+ @media (min-width: 1024px) {
1984
+ .lemma-assistant-experience[data-show-conversation-list="true"] {
1985
+ display: grid;
1986
+ grid-template-columns: 280px minmax(0, 1fr);
1987
+ align-items: stretch;
1988
+ }
1989
+
1990
+ .lemma-assistant-experience[data-show-conversation-list="true"] .lemma-assistant-experience-sidebar {
1991
+ display: flex;
1992
+ min-height: 0;
1993
+ }
1994
+ }
1995
+
1996
+ @keyframes lemma-assistant-fade-in {
1997
+ from {
1998
+ opacity: 0;
1999
+ }
2000
+
2001
+ to {
2002
+ opacity: 1;
2003
+ }
2004
+ }
2005
+
2006
+ @keyframes lemma-assistant-shimmer {
2007
+ 0% {
2008
+ background-position: 0% 50%;
2009
+ }
2010
+
2011
+ 100% {
2012
+ background-position: 250% 50%;
2013
+ }
2014
+ }
2015
+
775
2016
  @keyframes lemma-assistant-ping {
776
2017
  0% {
777
2018
  opacity: 0.55;