open-chat-studio-widget 0.4.5 → 0.4.6

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 (35) hide show
  1. package/README.md +118 -94
  2. package/dist/cjs/{index-bcb28089.js → index-c9203be6.js} +29 -3
  3. package/dist/cjs/index-c9203be6.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/open-chat-studio-widget.cjs.entry.js +314 -73
  6. package/dist/cjs/open-chat-studio-widget.cjs.entry.js.map +1 -1
  7. package/dist/cjs/open-chat-studio-widget.cjs.js +2 -2
  8. package/dist/collection/components/ocs-chat/heroicons.js +11 -2
  9. package/dist/collection/components/ocs-chat/heroicons.js.map +1 -1
  10. package/dist/collection/components/ocs-chat/ocs-chat.css +1042 -129
  11. package/dist/collection/components/ocs-chat/ocs-chat.js +367 -78
  12. package/dist/collection/components/ocs-chat/ocs-chat.js.map +1 -1
  13. package/dist/components/open-chat-studio-widget.js +323 -78
  14. package/dist/components/open-chat-studio-widget.js.map +1 -1
  15. package/dist/esm/{index-205c77bc.js → index-0349ca51.js} +29 -3
  16. package/dist/esm/index-0349ca51.js.map +1 -0
  17. package/dist/esm/loader.js +3 -3
  18. package/dist/esm/open-chat-studio-widget.entry.js +314 -73
  19. package/dist/esm/open-chat-studio-widget.entry.js.map +1 -1
  20. package/dist/esm/open-chat-studio-widget.js +3 -3
  21. package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js +1 -1
  22. package/dist/open-chat-studio-widget/open-chat-studio-widget.esm.js.map +1 -1
  23. package/dist/open-chat-studio-widget/p-16df1b20.entry.js +4 -0
  24. package/dist/open-chat-studio-widget/p-16df1b20.entry.js.map +1 -0
  25. package/dist/open-chat-studio-widget/{p-78d09c6b.js → p-3dc66a9a.js} +3 -3
  26. package/dist/open-chat-studio-widget/p-3dc66a9a.js.map +1 -0
  27. package/dist/types/components/ocs-chat/heroicons.d.ts +4 -1
  28. package/dist/types/components/ocs-chat/ocs-chat.d.ts +51 -9
  29. package/dist/types/components.d.ts +24 -0
  30. package/package.json +1 -1
  31. package/dist/cjs/index-bcb28089.js.map +0 -1
  32. package/dist/esm/index-205c77bc.js.map +0 -1
  33. package/dist/open-chat-studio-widget/p-5d6bd56a.entry.js +0 -4
  34. package/dist/open-chat-studio-widget/p-5d6bd56a.entry.js.map +0 -1
  35. package/dist/open-chat-studio-widget/p-78d09c6b.js.map +0 -1
@@ -507,7 +507,7 @@ video {
507
507
  border-radius: 0.5rem;
508
508
  text-align: left;
509
509
  transition-duration: 200ms;
510
- padding: var(--starter-question-padding, 0.75em);
510
+ padding: 0.75em;
511
511
  background-color: var(--starter-question-bg-color);
512
512
  border: 1px solid var(--starter-question-border-color);
513
513
  color: var(--starter-question-text-color);
@@ -540,7 +540,7 @@ video {
540
540
  border: 1px solid var(--button-border-color);
541
541
  z-index: var(--chat-z-index, 50);
542
542
  font-size: var(--button-font-size);
543
- padding: var(--button-padding, 0.75em);
543
+ padding: 0.5em;
544
544
  }
545
545
  .chat-btn-text:hover, .chat-btn-icon:hover {
546
546
  color: var(--button-text-color-hover, #1d4ed8);
@@ -558,20 +558,20 @@ video {
558
558
  font-weight: 500;
559
559
  }
560
560
  .chat-btn-text img {
561
- width: var(--button-icon-size);
562
- height: var(--button-icon-size);
563
561
  flex-shrink: 0;
564
562
  -o-object-fit: contain;
565
563
  object-fit: contain;
564
+ width: var(--button-icon-size);
565
+ height: var(--button-icon-size);
566
566
  }
567
567
  /* Icon-only button */
568
568
  .chat-btn-icon {
569
569
  }
570
570
  .chat-btn-icon img {
571
- width: var(--button-icon-size);
572
- height: var(--button-icon-size);
573
571
  -o-object-fit: contain;
574
572
  object-fit: contain;
573
+ width: var(--button-icon-size);
574
+ height: var(--button-icon-size);
575
575
  }
576
576
  .chat-btn-text.round,
577
577
  .chat-btn-icon.round {
@@ -579,7 +579,7 @@ video {
579
579
  }
580
580
  /* Error message styling */
581
581
  .error-message {
582
- padding: var(--error-message-padding, 0.5em);
582
+ padding: 0.5em;
583
583
  color: var(--error-text-color);
584
584
  }
585
585
  /* Chat window positioning classes */
@@ -649,7 +649,7 @@ video {
649
649
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
650
650
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
651
651
  transition-duration: 150ms;
652
- padding: var(--header-padding, 0.5em);
652
+ padding: 0.5em;
653
653
  background-color: var(--header-bg-color);
654
654
  border-bottom: 1px solid var(--header-border-color);
655
655
  font-size: var(--header-font-size);
@@ -701,9 +701,9 @@ video {
701
701
  color: var(--header-button-text-color);
702
702
  }
703
703
  .header-button svg {
704
- width: var(--header-button-icon-size);
705
- height: var(--header-button-icon-size);
706
- }
704
+ width: var(--header-button-icon-size);
705
+ height: var(--header-button-icon-size);
706
+ }
707
707
  .header-button:hover {
708
708
  background-color: var(--header-button-bg-hover-color);
709
709
  }
@@ -761,7 +761,7 @@ video {
761
761
  background-color: var(--scrollbar-thumb-hover-color);
762
762
  }
763
763
  .messages-container {
764
- padding: var(--container-padding, 1em);
764
+ padding: 1em;
765
765
  }
766
766
  /* Message bubbles */
767
767
  .message-row {
@@ -775,7 +775,7 @@ video {
775
775
  }
776
776
  .message-bubble {
777
777
  border-radius: 0.5rem;
778
- padding: var(--message-padding-y, 0.5em) var(--message-padding-x, 1em);
778
+ padding: 0.5em 1em;
779
779
  }
780
780
  .message-bubble-user {
781
781
  background-color: var(--message-user-bg-color);
@@ -802,13 +802,6 @@ video {
802
802
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
803
803
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
804
804
  }
805
- .attachment-link {
806
- display: block;
807
- text-decoration-line: underline;
808
- }
809
- .attachment-link:hover {
810
- text-decoration-line: none;
811
- }
812
805
  /* Welcome messages */
813
806
  .welcome-messages > :not([hidden]) ~ :not([hidden]) {
814
807
  --tw-space-y-reverse: 0;
@@ -892,7 +885,7 @@ video {
892
885
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
893
886
  }
894
887
  .starter-questions {
895
- padding: var(--container-padding, 1em);
888
+ padding: 1em;
896
889
  }
897
890
  .starter-question-row {
898
891
  display: flex;
@@ -900,7 +893,7 @@ video {
900
893
  }
901
894
  /* Input area */
902
895
  .input-area {
903
- padding: var(--container-padding, 1em) var(--container-padding, 1em) 0 var(--container-padding, 1em);
896
+ padding: 1em 1em 0 1em;
904
897
  background-color: var(--input-bg-color);
905
898
  border-top: 1px solid var(--input-border-color);
906
899
  }
@@ -920,7 +913,8 @@ video {
920
913
  outline-color: #93c5fd;
921
914
  }
922
915
  .message-textarea {
923
- padding: var(--input-textarea-padding-y, 0.5em) var(--input-textarea-padding-x, 0.75em);
916
+ background-color: var(--input-bg-color);
917
+ padding: 0.5em 0.75em;
924
918
  color: var(--input-text-color);
925
919
  border: 1px solid var(--input-border-color);
926
920
  }
@@ -933,7 +927,7 @@ video {
933
927
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
934
928
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
935
929
  transition-duration: 200ms;
936
- padding: var(--send-button-padding-y, 0.5em) var(--send-button-padding-x, 1em);
930
+ padding: 0.5em 1em;
937
931
  }
938
932
  .send-button-enabled {
939
933
  background-color: var(--send-button-bg-color);
@@ -947,6 +941,70 @@ video {
947
941
  background-color: var(--send-button-bg-disabled-color);
948
942
  color: var(--send-button-text-disabled-color);
949
943
  }
944
+ /* Confirmation dialog */
945
+ .confirmation-overlay {
946
+ position: fixed;
947
+ inset: 0px;
948
+ display: flex;
949
+ align-items: center;
950
+ justify-content: center;
951
+ background-color: var(--confirmation-overlay-bg-color);
952
+ z-index: 9999;
953
+ }
954
+ .confirmation-dialog {
955
+ margin-left: 1rem;
956
+ margin-right: 1rem;
957
+ width: 100%;
958
+ max-width: 24rem;
959
+ background-color: var(--confirmation-dialog-bg-color);
960
+ border: 1px solid var(--confirmation-dialog-border-color);
961
+ border-radius: 0.75em;
962
+ box-shadow: 0 0.625em 1.5625em var(--confirmation-dialog-shadow-color);
963
+ }
964
+ .confirmation-content {
965
+ padding: 1.5em;
966
+ }
967
+ .confirmation-title {
968
+ margin-bottom: 0.5rem;
969
+ font-weight: 600;
970
+ color: var(--confirmation-title-color);
971
+ font-size: var(--confirmation-title-font-size);
972
+ }
973
+ .confirmation-message {
974
+ margin-bottom: 1rem;
975
+ color: var(--confirmation-message-color);
976
+ font-size: var(--confirmation-message-font-size);
977
+ }
978
+ .confirmation-buttons {
979
+ display: flex;
980
+ justify-content: flex-end;
981
+ gap: 0.75em;
982
+ }
983
+ .confirmation-button {
984
+ border-radius: 0.375rem;
985
+ font-weight: 500;
986
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
987
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
988
+ transition-duration: 200ms;
989
+ padding: 0.5em 1em;
990
+ }
991
+ .confirmation-button-cancel {
992
+ background-color: var(--confirmation-button-cancel-bg-color);
993
+ color: var(--confirmation-button-cancel-text-color);
994
+ }
995
+ .confirmation-button-cancel:hover {
996
+ background-color: var(--confirmation-button-cancel-bg-hover-color);
997
+ }
998
+ .confirmation-button-confirm {
999
+ background-color: var(--confirmation-button-confirm-bg-color);
1000
+ color: var(--confirmation-button-confirm-text-color);
1001
+ }
1002
+ .confirmation-button-confirm:hover {
1003
+ background-color: var(--confirmation-button-confirm-bg-hover-color);
1004
+ }
1005
+ .\!visible {
1006
+ visibility: visible !important;
1007
+ }
950
1008
  .visible {
951
1009
  visibility: visible;
952
1010
  }
@@ -962,6 +1020,9 @@ video {
962
1020
  .table {
963
1021
  display: table;
964
1022
  }
1023
+ .hidden {
1024
+ display: none;
1025
+ }
965
1026
  .w-full {
966
1027
  width: 100%;
967
1028
  }
@@ -977,6 +1038,14 @@ video {
977
1038
  .justify-center {
978
1039
  justify-content: center;
979
1040
  }
1041
+ .gap-\[0\.5em\] {
1042
+ gap: 0.5em;
1043
+ }
1044
+ .space-y-\[0\.25em\] > :not([hidden]) ~ :not([hidden]) {
1045
+ --tw-space-y-reverse: 0;
1046
+ margin-top: calc(0.25em * calc(1 - var(--tw-space-y-reverse)));
1047
+ margin-bottom: calc(0.25em * var(--tw-space-y-reverse));
1048
+ }
980
1049
  .border {
981
1050
  border-width: 1px;
982
1051
  }
@@ -1002,10 +1071,12 @@ video {
1002
1071
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
1003
1072
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1004
1073
  }
1074
+ .filter {
1075
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
1076
+ }
1005
1077
  :host {
1006
1078
  /**
1007
1079
  * @prop --chat-z-index: Z-index for chat widget (50)
1008
- * @prop --container-padding: General container padding (1em)
1009
1080
  *
1010
1081
  * @prop --button-background-color: Button background color (#ffffff)
1011
1082
  * @prop --button-background-color-hover: Button background color on hover (#f3f4f6)
@@ -1013,7 +1084,6 @@ video {
1013
1084
  * @prop --button-text-color-hover: Button text color on hover (#1d4ed8)
1014
1085
  * @prop --button-border-color: Button border color (#6b7280)
1015
1086
  * @prop --button-border-color-hover: Button border color on hover (#374151)
1016
- * @prop --button-padding: Button padding (0.75em)
1017
1087
  * @prop --button-font-size: Button text font size (0.875em)
1018
1088
  * @prop --button-icon-size: Button icon size (1.5em)
1019
1089
  *
@@ -1031,7 +1101,6 @@ video {
1031
1101
  * @prop --header-border-color: Header border color (#f3f4f6)
1032
1102
  * @prop --header-button-text-color: Header button text color (#6b7280)
1033
1103
  * @prop --header-button-bg-hover-color: Header button background on hover (#f3f4f6)
1034
- * @prop --header-padding: Header padding (0.5em)
1035
1104
  * @prop --header-font-size: Header font size (1em)
1036
1105
  * @prop --header-button-icon-size: Icon size for buttons in the header (1.5em)
1037
1106
  * @prop --header-text-font-size: Font size for the text in the header (1em)
@@ -1042,34 +1111,33 @@ video {
1042
1111
  * @prop --starter-question-text-color: Starter question text color (#3b82f6)
1043
1112
  * @prop --starter-question-border-color: Starter question border color (#3b82f6)
1044
1113
  * @prop --starter-question-border-hover-color: Starter question border on hover (#2563eb)
1045
- * @prop --starter-question-padding: Starter question padding (0.75em)
1046
1114
  *
1047
- * @prop --message-user-bg-color: User message background color (#3b82f6)
1048
- * @prop --message-user-text-color: User message text color (#ffffff)
1049
- * @prop --message-assistant-bg-color: Assistant message background color (#e5e7eb)
1050
- * @prop --message-assistant-text-color: Assistant message text color (#1f2937)
1051
- * @prop --message-system-bg-color: System message background color (#f3f4f6)
1052
- * @prop --message-system-text-color: System message text color (#4b5563)
1115
+ * @prop --message-user-bg-color: User message background color (#e4edfb)
1116
+ * @prop --message-user-text-color: User message text color (#1f2937)
1117
+ * @prop --message-user-link-color: User message link color (#155dfc)
1118
+
1119
+ * @prop --message-assistant-bg-color: Assistant message background color (#eae7e8)
1120
+ * @prop --message-assistant-text-color: Assistant message text color (--message-user-text-color)
1121
+ * @prop --message-assistant-link-color: Assistant message link color (--message-user-link-color)
1122
+
1123
+ * @prop --message-system-bg-color: System message background color (#fbe4f8)
1124
+ * @prop --message-system-text-color: System message text color (--message-user-text-color)
1125
+ * @prop --message-system-link-color: System message link color (--message-user-link-color)
1126
+
1053
1127
  * @prop --message-timestamp-color: User message timestamp color (rgba(255, 255, 255, 0.7))
1054
1128
  * @prop --message-timestamp-assistant-color: Assistant message timestamp color (rgba(75, 85, 99, 0.7))
1055
- * @prop --message-padding-x: Message horizontal padding (1em)
1056
- * @prop --message-padding-y: Message vertical padding (0.5em)
1057
1129
  *
1058
1130
  * @prop --input-bg-color: Input area background color (transparent)
1059
1131
  * @prop --input-border-color: Input field border color (#d1d5db)
1060
1132
  * @prop --input-text-color: Input text color (#111827)
1061
1133
  * @prop --input-placeholder-color: Input placeholder text color (#6b7280)
1062
1134
  * @prop --input-outline-focus-color: Input field focus ring color (#3b82f6)
1063
- * @prop --input-textarea-padding-x: Input textarea horizontal padding (0.75em)
1064
- * @prop --input-textarea-padding-y: Input textarea vertical padding (0.5em)
1065
1135
  *
1066
1136
  * @prop --send-button-bg-color: Send button background color (#3b82f6)
1067
1137
  * @prop --send-button-bg-hover-color: Send button background on hover (#2563eb)
1068
1138
  * @prop --send-button-text-color: Send button text color (#ffffff)
1069
1139
  * @prop --send-button-bg-disabled-color: Send button background when disabled (#d1d5db)
1070
1140
  * @prop --send-button-text-disabled-color: Send button text when disabled (#6b7280)
1071
- * @prop --send-button-padding-x: Send button horizontal padding (1em)
1072
- * @prop --send-button-padding-y: Send button vertical padding (0.5em)
1073
1141
  *
1074
1142
  * @prop --loading-text-color: Loading text color (#6b7280)
1075
1143
  * @prop --loading-spinner-track-color: Loading spinner track color (#e5e7eb)
@@ -1083,7 +1151,7 @@ video {
1083
1151
  * @prop --scrollbar-thumb-hover-color: Scrollbar thumb hover color (#9ca3af)
1084
1152
  *
1085
1153
  * @prop --error-text-color: Error text color (#ef4444)
1086
- * @prop --error-message-padding: Error message padding (0.5em)
1154
+ * @prop --success-text-color: Success text color (#10b981)
1087
1155
  *
1088
1156
  * @prop --code-bg-user-color: Code background in user messages (--message-user-bg-color + 20% white)
1089
1157
  * @prop --code-text-user-color: Code text color in user messages (--message-user-text-color)
@@ -1091,20 +1159,50 @@ video {
1091
1159
  * @prop --code-bg-assistant-color: Code background in assistant messages (--message-assistant-bg-color + 50% white)
1092
1160
  * @prop --code-text-assistant-color: Code text color in assistant messages (--message-assistant-text-color)
1093
1161
  * @prop --code-border-assistant-color: Code border in assistant messages (--message-assistant-bg-color + 10% black)
1162
+ *
1163
+ * @prop --confirmation-overlay-bg-color: Confirmation dialog overlay background color (rgba(0, 0, 0, 0.5))
1164
+ * @prop --confirmation-dialog-bg-color: Confirmation dialog background color (uses --chat-window-bg-color)
1165
+ * @prop --confirmation-dialog-border-color: Confirmation dialog border color (uses --chat-window-border-color)
1166
+ * @prop --confirmation-dialog-shadow-color: Confirmation dialog shadow color (uses --chat-window-shadow-color)
1167
+ * @prop --confirmation-title-color: Confirmation dialog title text color (uses #111827)
1168
+ * @prop --confirmation-title-font-size: Confirmation dialog title font size (1.125em)
1169
+ * @prop --confirmation-message-color: Confirmation dialog message text color (uses --loading-text-color)
1170
+ * @prop --confirmation-message-font-size: Confirmation dialog message font size (uses 1em)
1171
+ * @prop --confirmation-button-cancel-bg-color: Cancel button background color (uses --button-background-color-hover)
1172
+ * @prop --confirmation-button-cancel-bg-hover-color: Cancel button background on hover (uses #e5e7eb)
1173
+ * @prop --confirmation-button-cancel-text-color: Cancel button text color (uses --header-button-text-color)
1174
+ * @prop --confirmation-button-confirm-bg-color: Confirm button background color (uses --error-text-color)
1175
+ * @prop --confirmation-button-confirm-bg-hover-color: Confirm button background on hover (uses --error-text-color)
1176
+ * @prop --confirmation-button-confirm-text-color: Confirm button text color (uses --send-button-text-color)
1177
+ * @prop --file-attachment-button-bg-color: Attach file button background color (transparent)
1178
+ * @prop --file-attachment-button-bg-hover-color: Attach file button background hover color (--header-button-bg-hover-color)
1179
+ * @prop --file-attachment-button-text-color: Attach file button text color (--header-button-text-color)
1180
+ * @prop --file-attachment-button-text-disabled-color: Attach file button disabled text color (--send-button-text-disabled-color)
1181
+ *
1182
+ * @prop --selected-files-bg-color: Selected files container background color (--chat-window-bg-color)
1183
+ * @prop --selected-files-border-color: Selected files container border color (--header-border-color)
1184
+ *
1185
+ * @prop --selected-file-bg-color: Selected file item background color (--message-system-bg-color)
1186
+ * @prop --selected-file-font-size: Selected file item font size (--chat-window-font-size-sm)
1187
+ * @prop --selected-file-name-color: Selected file name color (--message-assistant-text-color)
1188
+ * @prop --selected-file-size-color: Selected file size display color (--input-placeholder-color)
1189
+ * @prop --selected-file-icon-size: Selected file item icon size (1.25em)
1190
+ * @prop --selected-file-remove-icon-color: Selected file remove icon color (--error-text-color)
1191
+ * @prop --selected-file-remove-icon-hover-color: Selected file remove icon hover (#dc2626)
1192
+ *
1193
+ * @prop --message-attachment-icon-size: Message attachment icon size (1em)
1094
1194
  */
1095
1195
  /* Global variables */
1096
1196
  --chat-z-index: 50;
1097
- --container-padding: 1em;
1098
1197
 
1099
1198
  /* Button variables */
1100
1199
  --button-background-color: #ffffff;
1101
1200
  --button-background-color-hover: #f3f4f6;
1102
1201
  --button-text-color: #111827;
1103
1202
  --button-text-color-hover: #1d4ed8;
1104
- --button-border-color: transparent;
1105
- --button-border-color-hover: #d1d5db;
1106
- --button-padding: 0.5em;
1107
- --button-font-size: 0.875em; /* text-sm */
1203
+ --button-border-color: #d1d5db;
1204
+ --button-border-color-hover: #6b7280;
1205
+ --button-font-size: 1em; /* text-sm */
1108
1206
  --button-icon-size: 1.5em;
1109
1207
 
1110
1208
  /* Chat window variables */
@@ -1123,7 +1221,6 @@ video {
1123
1221
  --header-border-color: #f3f4f6;
1124
1222
  --header-button-text-color: #6b7280;
1125
1223
  --header-button-bg-hover-color: #f3f4f6;
1126
- --header-padding: 0.5em;
1127
1224
  --header-font-size: 1em;
1128
1225
  --header-text-font-size: 1em;
1129
1226
  --header-text-color: #525762;
@@ -1135,19 +1232,22 @@ video {
1135
1232
  --starter-question-text-color: #3b82f6;
1136
1233
  --starter-question-border-color: #3b82f6;
1137
1234
  --starter-question-border-hover-color: #2563eb;
1138
- --starter-question-padding: 0.75em;
1139
1235
 
1140
1236
  /* Message bubble variables */
1141
- --message-user-bg-color: #3b82f6;
1142
- --message-user-text-color: #ffffff;
1143
- --message-assistant-bg-color: #e5e7eb;
1144
- --message-assistant-text-color: #1f2937;
1145
- --message-system-bg-color: #f3f4f6;
1146
- --message-system-text-color: #4b5563;
1237
+ --message-user-bg-color: #e4edfb;
1238
+ --message-user-text-color: #1f2937;
1239
+ --message-user-link-color: #155dfc;
1240
+
1241
+ --message-assistant-bg-color: #eae7e8;
1242
+ --message-assistant-text-color: var(--message-user-text-color);
1243
+ --message-assistant-link-color: var(--message-user-link-color);
1244
+
1245
+ --message-system-bg-color: #fbe4f8;
1246
+ --message-system-text-color: var(--message-user-text-color);
1247
+ --message-system-link-color: var(--message-user-link-color);
1248
+
1147
1249
  --message-timestamp-color: rgba(255, 255, 255, 0.7);
1148
1250
  --message-timestamp-assistant-color: rgba(75, 85, 99, 0.7);
1149
- --message-padding-x: 1em;
1150
- --message-padding-y: 0.5em;
1151
1251
 
1152
1252
  /* Input area variables */
1153
1253
  --input-bg-color: transparent;
@@ -1155,8 +1255,6 @@ video {
1155
1255
  --input-text-color: #111827;
1156
1256
  --input-placeholder-color: #6b7280;
1157
1257
  --input-outline-focus-color: #3b82f6;
1158
- --input-textarea-padding-x: 0.75em;
1159
- --input-textarea-padding-y: 0.5em;
1160
1258
 
1161
1259
  /* Send button variables */
1162
1260
  --send-button-bg-color: #3b82f6;
@@ -1164,8 +1262,6 @@ video {
1164
1262
  --send-button-text-color: #ffffff;
1165
1263
  --send-button-bg-disabled-color: #d1d5db;
1166
1264
  --send-button-text-disabled-color: #6b7280;
1167
- --send-button-padding-x: 1em;
1168
- --send-button-padding-y: 0.5em;
1169
1265
 
1170
1266
  /* Loading variables */
1171
1267
  --loading-text-color: #6b7280;
@@ -1183,7 +1279,7 @@ video {
1183
1279
 
1184
1280
  /* Error variables */
1185
1281
  --error-text-color: #ef4444;
1186
- --error-message-padding: 0.5em;
1282
+ --success-text-color: #10b981; /* Complementary green to existing blue palette */;
1187
1283
 
1188
1284
  /* Markdown code variables */
1189
1285
  --code-bg-user-color: color-mix(in srgb, var(--message-user-bg-color) 80%, white 20%);
@@ -1193,10 +1289,51 @@ video {
1193
1289
  --code-text-assistant-color: var(--message-assistant-text-color);
1194
1290
  --code-border-assistant-color: color-mix(in srgb, var(--message-assistant-bg-color) 90%, black 10%);;
1195
1291
 
1292
+ --confirmation-overlay-bg-color: rgba(0, 0, 0, 0.5);
1293
+ --confirmation-dialog-bg-color: var(--chat-window-bg-color);
1294
+ --confirmation-dialog-border-color: var(--chat-window-border-color);
1295
+ --confirmation-dialog-shadow-color: var(--chat-window-shadow-color);
1296
+ --confirmation-title-color: #111827;
1297
+ --confirmation-title-font-size: 1.125em;
1298
+ --confirmation-message-color: var(--loading-text-color);
1299
+ --confirmation-message-font-size: 1em;
1300
+ --confirmation-button-cancel-bg-color: var(--button-background-color-hover);
1301
+ --confirmation-button-cancel-bg-hover-color: #e5e7eb;
1302
+ --confirmation-button-cancel-text-color: var(--header-button-text-color);
1303
+ --confirmation-button-confirm-bg-color: var(--error-text-color);
1304
+ --confirmation-button-confirm-bg-hover-color: var(--error-text-color);
1305
+ --confirmation-button-confirm-text-color: var(--send-button-text-color);
1306
+
1307
+ /* File upload variables */
1308
+ --file-attachment-button-bg-color: transparent;
1309
+ --file-attachment-button-bg-hover-color: var(--header-button-bg-hover-color); /* #f3f4f6 */
1310
+ --file-attachment-button-text-color: var(--header-button-text-color); /* #6b7280 */
1311
+ --file-attachment-button-text-disabled-color: var(--send-button-text-disabled-color); /* #6b7280 */
1312
+
1313
+ /* Selected files variables */
1314
+ --selected-files-bg-color: var(--chat-window-bg-color); /* transparent */
1315
+ --selected-files-border-color: var(--header-border-color); /* #f3f4f6 */
1316
+
1317
+ /* Selected file item variables */
1318
+ --selected-file-bg-color: var(--message-system-bg-color); /* #f3f4f6 */
1319
+
1320
+ /* Selected file text variables */
1321
+ --selected-file-font-size: var(--chat-window-font-size-sm);
1322
+ --selected-file-name-color: var(--message-assistant-text-color); /* #1f2937 */
1323
+ --selected-file-size-color: var(--input-placeholder-color); /* #6b7280 */
1324
+
1325
+ /* Selected file icon variables */
1326
+ --selected-file-icon-size: 1.25em;
1327
+ --selected-file-remove-icon-color: var(--error-text-color); /* #ef4444 */
1328
+ --selected-file-remove-icon-hover-color: #dc2626; /* Darker red for hover */
1329
+
1330
+ /* Message attachment variables */
1331
+ --message-attachment-icon-size: 1em;
1332
+
1196
1333
  display: block;
1197
1334
  position: fixed;
1198
- right: 20px;
1199
- bottom: 20px;
1335
+ right: 30px;
1336
+ bottom: 30px;
1200
1337
  }
1201
1338
  textarea {
1202
1339
  max-height: 8rem;
@@ -1218,10 +1355,6 @@ textarea::-webkit-scrollbar-thumb {
1218
1355
  textarea::-webkit-scrollbar-thumb:hover {
1219
1356
  background-color: var(--scrollbar-thumb-hover-color);
1220
1357
  }
1221
- .loading-spinner {
1222
- width: var(--loading-spinner-size);
1223
- height: var(--loading-spinner-size);
1224
- }
1225
1358
  @keyframes spin {
1226
1359
 
1227
1360
  to {
@@ -1234,6 +1367,8 @@ textarea::-webkit-scrollbar-thumb:hover {
1234
1367
  border-width: 2px;
1235
1368
  border-color: var(--loading-spinner-track-color);
1236
1369
  border-top-color: var(--loading-spinner-fill-color);
1370
+ width: var(--loading-spinner-size);
1371
+ height: var(--loading-spinner-size);
1237
1372
  }
1238
1373
  .overflow-y-auto::-webkit-scrollbar {
1239
1374
  width: 0.375rem;
@@ -1904,76 +2039,854 @@ textarea::-webkit-scrollbar-thumb:hover {
1904
2039
  --tw-prose-invert-th-borders: #4b5563;
1905
2040
  --tw-prose-invert-td-borders: #374151;
1906
2041
  max-width: none;
2042
+ }
2043
+ .chat-markdown :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2044
+ text-decoration-line: none;
2045
+ }
2046
+ .chat-markdown :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))):hover {
2047
+ text-decoration-line: underline;
2048
+ }
2049
+ .chat-markdown {
1907
2050
  font-size: 1em;
1908
- --tw-prose-body: var(--message-assistant-text-color);
1909
- --tw-prose-headings: var(--message-assistant-text-color);
1910
- --tw-prose-lead: var(--message-assistant-text-color);
1911
- --tw-prose-links: var(--message-assistant-text-color);
1912
- --tw-prose-bold: var(--message-assistant-text-color);
1913
- --tw-prose-counters: var(--message-assistant-text-color);
1914
- --tw-prose-bullets: var(--message-assistant-text-color);
1915
- --tw-prose-hr: var(--message-assistant-text-color);
1916
- --tw-prose-quotes: var(--message-assistant-text-color);
1917
- --tw-prose-quote-borders: var(--message-assistant-text-color);
1918
- --tw-prose-captions: var(--message-assistant-text-color);
1919
- --tw-prose-kbd: var(--message-assistant-text-color);
1920
- --tw-prose-kbd-shadows: var(--message-assistant-text-color);
1921
- --tw-prose-code: var(--code-text-assistant-color);
1922
- --tw-prose-pre-code: var(--code-text-assistant-color);
1923
- --tw-prose-pre-bg: var(--code-bg-assistant-color);
1924
- --tw-prose-th-borders: var(--message-assistant-text-color);
1925
- --tw-prose-td-borders: var(--message-assistant-text-color);
1926
-
1927
- --tw-prose-invert-body: var(--message-user-text-color);
1928
- --tw-prose-invert-headings: var(--message-user-text-color);
1929
- --tw-prose-invert-lead: var(--message-user-text-color);
1930
- --tw-prose-invert-links: var(--message-user-text-color);
1931
- --tw-prose-invert-bold: var(--message-user-text-color);
1932
- --tw-prose-invert-counters: var(--message-user-text-color);
1933
- --tw-prose-invert-bullets: var(--message-user-text-color);
1934
- --tw-prose-invert-hr: var(--message-user-text-color);
1935
- --tw-prose-invert-quotes: var(--message-user-text-color);
1936
- --tw-prose-invert-quote-borders: var(--message-user-text-color);
1937
- --tw-prose-invert-captions: var(--message-user-text-color);
1938
- --tw-prose-invert-kbd: var(--message-user-text-color);
1939
- --tw-prose-invert-kbd-shadows: var(--message-user-text-color);
1940
- --tw-prose-invert-code: var(--code-text-user-color);
1941
- --tw-prose-invert-pre-code: var(--code-text-user-color);
1942
- --tw-prose-invert-pre-bg: var(--code-bg-user-color);
1943
- --tw-prose-invert-th-borders: var(--message-user-text-color);
1944
- --tw-prose-invert-td-borders: var(--message-user-text-color);
1945
2051
  }
1946
2052
  /* override spacing */
1947
2053
  .chat-markdown > * {
1948
2054
  margin-top: 0.1em;
1949
2055
  margin-bottom: 0.1em;
1950
2056
  }
1951
- .message-bubble-user .chat-markdown {
1952
- --tw-prose-body: var(--tw-prose-invert-body);
1953
- --tw-prose-headings: var(--tw-prose-invert-headings);
1954
- --tw-prose-lead: var(--tw-prose-invert-lead);
1955
- --tw-prose-links: var(--tw-prose-invert-links);
1956
- --tw-prose-bold: var(--tw-prose-invert-bold);
1957
- --tw-prose-counters: var(--tw-prose-invert-counters);
1958
- --tw-prose-bullets: var(--tw-prose-invert-bullets);
1959
- --tw-prose-hr: var(--tw-prose-invert-hr);
1960
- --tw-prose-quotes: var(--tw-prose-invert-quotes);
1961
- --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
1962
- --tw-prose-captions: var(--tw-prose-invert-captions);
1963
- --tw-prose-kbd: var(--tw-prose-invert-kbd);
1964
- --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
1965
- --tw-prose-code: var(--tw-prose-invert-code);
1966
- --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
1967
- --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
1968
- --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
1969
- --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
2057
+ .message-bubble-assistant .chat-markdown {
2058
+ color: var(--tw-prose-body);
2059
+ max-width: 65ch;
1970
2060
  }
1971
- .message-bubble-user .chat-markdown pre {
1972
- border: 1px solid var(--code-border-user-color);
2061
+ .message-bubble-assistant .chat-markdown :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2062
+ margin-top: 1.25em;
2063
+ margin-bottom: 1.25em;
1973
2064
  }
1974
- .message-bubble-assistant .chat-markdown pre {
1975
- border: 1px solid var(--code-border-assistant-color);
2065
+ .message-bubble-assistant .chat-markdown :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2066
+ color: var(--tw-prose-lead);
2067
+ font-size: 1.25em;
2068
+ line-height: 1.6;
2069
+ margin-top: 1.2em;
2070
+ margin-bottom: 1.2em;
1976
2071
  }
1977
- .loading:after {
1978
- content: ' .';
2072
+ .message-bubble-assistant .chat-markdown :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2073
+ color: var(--tw-prose-links);
2074
+ text-decoration: underline;
2075
+ font-weight: 500;
2076
+ }
2077
+ .message-bubble-assistant .chat-markdown :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2078
+ color: var(--tw-prose-bold);
2079
+ font-weight: 600;
2080
+ }
2081
+ .message-bubble-assistant .chat-markdown :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2082
+ color: inherit;
2083
+ }
2084
+ .message-bubble-assistant .chat-markdown :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2085
+ color: inherit;
2086
+ }
2087
+ .message-bubble-assistant .chat-markdown :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2088
+ color: inherit;
2089
+ }
2090
+ .message-bubble-assistant .chat-markdown :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2091
+ list-style-type: decimal;
2092
+ margin-top: 1.25em;
2093
+ margin-bottom: 1.25em;
2094
+ padding-inline-start: 1.625em;
2095
+ }
2096
+ .message-bubble-assistant .chat-markdown :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2097
+ list-style-type: upper-alpha;
2098
+ }
2099
+ .message-bubble-assistant .chat-markdown :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2100
+ list-style-type: lower-alpha;
2101
+ }
2102
+ .message-bubble-assistant .chat-markdown :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2103
+ list-style-type: upper-alpha;
2104
+ }
2105
+ .message-bubble-assistant .chat-markdown :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2106
+ list-style-type: lower-alpha;
2107
+ }
2108
+ .message-bubble-assistant .chat-markdown :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2109
+ list-style-type: upper-roman;
2110
+ }
2111
+ .message-bubble-assistant .chat-markdown :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2112
+ list-style-type: lower-roman;
2113
+ }
2114
+ .message-bubble-assistant .chat-markdown :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2115
+ list-style-type: upper-roman;
2116
+ }
2117
+ .message-bubble-assistant .chat-markdown :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2118
+ list-style-type: lower-roman;
2119
+ }
2120
+ .message-bubble-assistant .chat-markdown :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2121
+ list-style-type: decimal;
2122
+ }
2123
+ .message-bubble-assistant .chat-markdown :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2124
+ list-style-type: disc;
2125
+ margin-top: 1.25em;
2126
+ margin-bottom: 1.25em;
2127
+ padding-inline-start: 1.625em;
2128
+ }
2129
+ .message-bubble-assistant .chat-markdown :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
2130
+ font-weight: 400;
2131
+ color: var(--tw-prose-counters);
2132
+ }
2133
+ .message-bubble-assistant .chat-markdown :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
2134
+ color: var(--tw-prose-bullets);
2135
+ }
2136
+ .message-bubble-assistant .chat-markdown :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2137
+ color: var(--tw-prose-headings);
2138
+ font-weight: 600;
2139
+ margin-top: 1.25em;
2140
+ }
2141
+ .message-bubble-assistant .chat-markdown :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2142
+ border-color: var(--tw-prose-hr);
2143
+ border-top-width: 1px;
2144
+ margin-top: 3em;
2145
+ margin-bottom: 3em;
2146
+ }
2147
+ .message-bubble-assistant .chat-markdown :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2148
+ font-weight: 500;
2149
+ font-style: italic;
2150
+ color: var(--tw-prose-quotes);
2151
+ border-inline-start-width: 0.25rem;
2152
+ border-inline-start-color: var(--tw-prose-quote-borders);
2153
+ quotes: "\201C""\201D""\2018""\2019";
2154
+ margin-top: 1.6em;
2155
+ margin-bottom: 1.6em;
2156
+ padding-inline-start: 1em;
2157
+ }
2158
+ .message-bubble-assistant .chat-markdown :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
2159
+ content: open-quote;
2160
+ }
2161
+ .message-bubble-assistant .chat-markdown :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
2162
+ content: close-quote;
2163
+ }
2164
+ .message-bubble-assistant .chat-markdown :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2165
+ color: var(--tw-prose-headings);
2166
+ font-weight: 800;
2167
+ font-size: 2.25em;
2168
+ margin-top: 0;
2169
+ margin-bottom: 0.8888889em;
2170
+ line-height: 1.1111111;
2171
+ }
2172
+ .message-bubble-assistant .chat-markdown :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2173
+ font-weight: 900;
2174
+ color: inherit;
2175
+ }
2176
+ .message-bubble-assistant .chat-markdown :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2177
+ color: var(--tw-prose-headings);
2178
+ font-weight: 700;
2179
+ font-size: 1.5em;
2180
+ margin-top: 2em;
2181
+ margin-bottom: 1em;
2182
+ line-height: 1.3333333;
2183
+ }
2184
+ .message-bubble-assistant .chat-markdown :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2185
+ font-weight: 800;
2186
+ color: inherit;
2187
+ }
2188
+ .message-bubble-assistant .chat-markdown :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2189
+ color: var(--tw-prose-headings);
2190
+ font-weight: 600;
2191
+ font-size: 1.25em;
2192
+ margin-top: 1.6em;
2193
+ margin-bottom: 0.6em;
2194
+ line-height: 1.6;
2195
+ }
2196
+ .message-bubble-assistant .chat-markdown :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2197
+ font-weight: 700;
2198
+ color: inherit;
2199
+ }
2200
+ .message-bubble-assistant .chat-markdown :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2201
+ color: var(--tw-prose-headings);
2202
+ font-weight: 600;
2203
+ margin-top: 1.5em;
2204
+ margin-bottom: 0.5em;
2205
+ line-height: 1.5;
2206
+ }
2207
+ .message-bubble-assistant .chat-markdown :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2208
+ font-weight: 700;
2209
+ color: inherit;
2210
+ }
2211
+ .message-bubble-assistant .chat-markdown :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2212
+ margin-top: 2em;
2213
+ margin-bottom: 2em;
2214
+ }
2215
+ .message-bubble-assistant .chat-markdown :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2216
+ display: block;
2217
+ margin-top: 2em;
2218
+ margin-bottom: 2em;
2219
+ }
2220
+ .message-bubble-assistant .chat-markdown :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2221
+ margin-top: 2em;
2222
+ margin-bottom: 2em;
2223
+ }
2224
+ .message-bubble-assistant .chat-markdown :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2225
+ font-weight: 500;
2226
+ font-family: inherit;
2227
+ color: var(--tw-prose-kbd);
2228
+ box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
2229
+ font-size: 0.875em;
2230
+ border-radius: 0.3125rem;
2231
+ padding-top: 0.1875em;
2232
+ padding-inline-end: 0.375em;
2233
+ padding-bottom: 0.1875em;
2234
+ padding-inline-start: 0.375em;
2235
+ }
2236
+ .message-bubble-assistant .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2237
+ color: var(--tw-prose-code);
2238
+ font-weight: 600;
2239
+ font-size: 0.875em;
2240
+ }
2241
+ .message-bubble-assistant .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
2242
+ content: "`";
2243
+ }
2244
+ .message-bubble-assistant .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
2245
+ content: "`";
2246
+ }
2247
+ .message-bubble-assistant .chat-markdown :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2248
+ color: inherit;
2249
+ }
2250
+ .message-bubble-assistant .chat-markdown :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2251
+ color: inherit;
2252
+ }
2253
+ .message-bubble-assistant .chat-markdown :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2254
+ color: inherit;
2255
+ font-size: 0.875em;
2256
+ }
2257
+ .message-bubble-assistant .chat-markdown :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2258
+ color: inherit;
2259
+ font-size: 0.9em;
2260
+ }
2261
+ .message-bubble-assistant .chat-markdown :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2262
+ color: inherit;
2263
+ }
2264
+ .message-bubble-assistant .chat-markdown :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2265
+ color: inherit;
2266
+ }
2267
+ .message-bubble-assistant .chat-markdown :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2268
+ color: inherit;
2269
+ }
2270
+ .message-bubble-assistant .chat-markdown :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2271
+ color: var(--tw-prose-pre-code);
2272
+ background-color: var(--tw-prose-pre-bg);
2273
+ overflow-x: auto;
2274
+ font-weight: 400;
2275
+ font-size: 0.875em;
2276
+ line-height: 1.7142857;
2277
+ margin-top: 1.7142857em;
2278
+ margin-bottom: 1.7142857em;
2279
+ border-radius: 0.375rem;
2280
+ padding-top: 0.8571429em;
2281
+ padding-inline-end: 1.1428571em;
2282
+ padding-bottom: 0.8571429em;
2283
+ padding-inline-start: 1.1428571em;
2284
+ }
2285
+ .message-bubble-assistant .chat-markdown :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2286
+ background-color: transparent;
2287
+ border-width: 0;
2288
+ border-radius: 0;
2289
+ padding: 0;
2290
+ font-weight: inherit;
2291
+ color: inherit;
2292
+ font-size: inherit;
2293
+ font-family: inherit;
2294
+ line-height: inherit;
2295
+ }
2296
+ .message-bubble-assistant .chat-markdown :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
2297
+ content: none;
2298
+ }
2299
+ .message-bubble-assistant .chat-markdown :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
2300
+ content: none;
2301
+ }
2302
+ .message-bubble-assistant .chat-markdown :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2303
+ width: 100%;
2304
+ table-layout: auto;
2305
+ margin-top: 2em;
2306
+ margin-bottom: 2em;
2307
+ font-size: 0.875em;
2308
+ line-height: 1.7142857;
2309
+ }
2310
+ .message-bubble-assistant .chat-markdown :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2311
+ border-bottom-width: 1px;
2312
+ border-bottom-color: var(--tw-prose-th-borders);
2313
+ }
2314
+ .message-bubble-assistant .chat-markdown :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2315
+ color: var(--tw-prose-headings);
2316
+ font-weight: 600;
2317
+ vertical-align: bottom;
2318
+ padding-inline-end: 0.5714286em;
2319
+ padding-bottom: 0.5714286em;
2320
+ padding-inline-start: 0.5714286em;
2321
+ }
2322
+ .message-bubble-assistant .chat-markdown :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2323
+ border-bottom-width: 1px;
2324
+ border-bottom-color: var(--tw-prose-td-borders);
2325
+ }
2326
+ .message-bubble-assistant .chat-markdown :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2327
+ border-bottom-width: 0;
2328
+ }
2329
+ .message-bubble-assistant .chat-markdown :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2330
+ vertical-align: baseline;
2331
+ }
2332
+ .message-bubble-assistant .chat-markdown :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2333
+ border-top-width: 1px;
2334
+ border-top-color: var(--tw-prose-th-borders);
2335
+ }
2336
+ .message-bubble-assistant .chat-markdown :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2337
+ vertical-align: top;
2338
+ }
2339
+ .message-bubble-assistant .chat-markdown :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2340
+ text-align: start;
2341
+ }
2342
+ .message-bubble-assistant .chat-markdown :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2343
+ margin-top: 0;
2344
+ margin-bottom: 0;
2345
+ }
2346
+ .message-bubble-assistant .chat-markdown :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2347
+ color: var(--tw-prose-captions);
2348
+ font-size: 0.875em;
2349
+ line-height: 1.4285714;
2350
+ margin-top: 0.8571429em;
2351
+ }
2352
+ .message-bubble-assistant .chat-markdown {
2353
+ --tw-prose-body: #374151;
2354
+ --tw-prose-headings: #111827;
2355
+ --tw-prose-lead: #4b5563;
2356
+ --tw-prose-links: #111827;
2357
+ --tw-prose-bold: #111827;
2358
+ --tw-prose-counters: #6b7280;
2359
+ --tw-prose-bullets: #d1d5db;
2360
+ --tw-prose-hr: #e5e7eb;
2361
+ --tw-prose-quotes: #111827;
2362
+ --tw-prose-quote-borders: #e5e7eb;
2363
+ --tw-prose-captions: #6b7280;
2364
+ --tw-prose-kbd: #111827;
2365
+ --tw-prose-kbd-shadows: 17 24 39;
2366
+ --tw-prose-code: #111827;
2367
+ --tw-prose-pre-code: #e5e7eb;
2368
+ --tw-prose-pre-bg: #1f2937;
2369
+ --tw-prose-th-borders: #d1d5db;
2370
+ --tw-prose-td-borders: #e5e7eb;
2371
+ --tw-prose-invert-body: #d1d5db;
2372
+ --tw-prose-invert-headings: #fff;
2373
+ --tw-prose-invert-lead: #9ca3af;
2374
+ --tw-prose-invert-links: #fff;
2375
+ --tw-prose-invert-bold: #fff;
2376
+ --tw-prose-invert-counters: #9ca3af;
2377
+ --tw-prose-invert-bullets: #4b5563;
2378
+ --tw-prose-invert-hr: #374151;
2379
+ --tw-prose-invert-quotes: #f3f4f6;
2380
+ --tw-prose-invert-quote-borders: #374151;
2381
+ --tw-prose-invert-captions: #9ca3af;
2382
+ --tw-prose-invert-kbd: #fff;
2383
+ --tw-prose-invert-kbd-shadows: 255 255 255;
2384
+ --tw-prose-invert-code: #fff;
2385
+ --tw-prose-invert-pre-code: #d1d5db;
2386
+ --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
2387
+ --tw-prose-invert-th-borders: #4b5563;
2388
+ --tw-prose-invert-td-borders: #374151;
2389
+ font-size: 1rem;
2390
+ line-height: 1.75;
2391
+ }
2392
+ .message-bubble-assistant .chat-markdown :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2393
+ margin-top: 0;
2394
+ margin-bottom: 0;
2395
+ }
2396
+ .message-bubble-assistant .chat-markdown :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2397
+ margin-top: 0.5em;
2398
+ margin-bottom: 0.5em;
2399
+ }
2400
+ .message-bubble-assistant .chat-markdown :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2401
+ padding-inline-start: 0.375em;
2402
+ }
2403
+ .message-bubble-assistant .chat-markdown :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2404
+ padding-inline-start: 0.375em;
2405
+ }
2406
+ .message-bubble-assistant .chat-markdown :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2407
+ margin-top: 0.75em;
2408
+ margin-bottom: 0.75em;
2409
+ }
2410
+ .message-bubble-assistant .chat-markdown :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2411
+ margin-top: 1.25em;
2412
+ }
2413
+ .message-bubble-assistant .chat-markdown :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2414
+ margin-bottom: 1.25em;
2415
+ }
2416
+ .message-bubble-assistant .chat-markdown :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2417
+ margin-top: 1.25em;
2418
+ }
2419
+ .message-bubble-assistant .chat-markdown :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2420
+ margin-bottom: 1.25em;
2421
+ }
2422
+ .message-bubble-assistant .chat-markdown :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2423
+ margin-top: 0.75em;
2424
+ margin-bottom: 0.75em;
2425
+ }
2426
+ .message-bubble-assistant .chat-markdown :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2427
+ margin-top: 1.25em;
2428
+ margin-bottom: 1.25em;
2429
+ }
2430
+ .message-bubble-assistant .chat-markdown :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2431
+ margin-top: 0.5em;
2432
+ padding-inline-start: 1.625em;
2433
+ }
2434
+ .message-bubble-assistant .chat-markdown :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2435
+ margin-top: 0;
2436
+ }
2437
+ .message-bubble-assistant .chat-markdown :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2438
+ margin-top: 0;
2439
+ }
2440
+ .message-bubble-assistant .chat-markdown :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2441
+ margin-top: 0;
2442
+ }
2443
+ .message-bubble-assistant .chat-markdown :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2444
+ margin-top: 0;
2445
+ }
2446
+ .message-bubble-assistant .chat-markdown :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2447
+ padding-inline-start: 0;
2448
+ }
2449
+ .message-bubble-assistant .chat-markdown :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2450
+ padding-inline-end: 0;
2451
+ }
2452
+ .message-bubble-assistant .chat-markdown :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2453
+ padding-top: 0.5714286em;
2454
+ padding-inline-end: 0.5714286em;
2455
+ padding-bottom: 0.5714286em;
2456
+ padding-inline-start: 0.5714286em;
2457
+ }
2458
+ .message-bubble-assistant .chat-markdown :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2459
+ padding-inline-start: 0;
2460
+ }
2461
+ .message-bubble-assistant .chat-markdown :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2462
+ padding-inline-end: 0;
2463
+ }
2464
+ .message-bubble-assistant .chat-markdown :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2465
+ margin-top: 2em;
2466
+ margin-bottom: 2em;
2467
+ }
2468
+ .message-bubble-assistant .chat-markdown :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2469
+ margin-top: 0;
2470
+ }
2471
+ .message-bubble-assistant .chat-markdown :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2472
+ margin-bottom: 0;
2473
+ }
2474
+ .message-bubble-assistant .chat-markdown {
2475
+ font-size: 0.875rem;
2476
+ line-height: 1.7142857;
2477
+ }
2478
+ .message-bubble-assistant .chat-markdown :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2479
+ margin-top: 1.1428571em;
2480
+ margin-bottom: 1.1428571em;
2481
+ }
2482
+ .message-bubble-assistant .chat-markdown :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2483
+ font-size: 1.2857143em;
2484
+ line-height: 1.5555556;
2485
+ margin-top: 0.8888889em;
2486
+ margin-bottom: 0.8888889em;
2487
+ }
2488
+ .message-bubble-assistant .chat-markdown :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2489
+ margin-top: 1.3333333em;
2490
+ margin-bottom: 1.3333333em;
2491
+ padding-inline-start: 1.1111111em;
2492
+ }
2493
+ .message-bubble-assistant .chat-markdown :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2494
+ font-size: 2.1428571em;
2495
+ margin-top: 0;
2496
+ margin-bottom: 0.8em;
2497
+ line-height: 1.2;
2498
+ }
2499
+ .message-bubble-assistant .chat-markdown :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2500
+ font-size: 1.4285714em;
2501
+ margin-top: 1.6em;
2502
+ margin-bottom: 0.8em;
2503
+ line-height: 1.4;
2504
+ }
2505
+ .message-bubble-assistant .chat-markdown :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2506
+ font-size: 1.2857143em;
2507
+ margin-top: 1.5555556em;
2508
+ margin-bottom: 0.4444444em;
2509
+ line-height: 1.5555556;
2510
+ }
2511
+ .message-bubble-assistant .chat-markdown :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2512
+ margin-top: 1.4285714em;
2513
+ margin-bottom: 0.5714286em;
2514
+ line-height: 1.4285714;
2515
+ }
2516
+ .message-bubble-assistant .chat-markdown :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2517
+ margin-top: 1.7142857em;
2518
+ margin-bottom: 1.7142857em;
2519
+ }
2520
+ .message-bubble-assistant .chat-markdown :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2521
+ margin-top: 1.7142857em;
2522
+ margin-bottom: 1.7142857em;
2523
+ }
2524
+ .message-bubble-assistant .chat-markdown :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2525
+ margin-top: 0;
2526
+ margin-bottom: 0;
2527
+ }
2528
+ .message-bubble-assistant .chat-markdown :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2529
+ margin-top: 1.7142857em;
2530
+ margin-bottom: 1.7142857em;
2531
+ }
2532
+ .message-bubble-assistant .chat-markdown :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2533
+ font-size: 0.8571429em;
2534
+ border-radius: 0.3125rem;
2535
+ padding-top: 0.1428571em;
2536
+ padding-inline-end: 0.3571429em;
2537
+ padding-bottom: 0.1428571em;
2538
+ padding-inline-start: 0.3571429em;
2539
+ }
2540
+ .message-bubble-assistant .chat-markdown :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2541
+ font-size: 0.8571429em;
2542
+ }
2543
+ .message-bubble-assistant .chat-markdown :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2544
+ font-size: 0.9em;
2545
+ }
2546
+ .message-bubble-assistant .chat-markdown :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2547
+ font-size: 0.8888889em;
2548
+ }
2549
+ .message-bubble-assistant .chat-markdown :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2550
+ font-size: 0.8571429em;
2551
+ line-height: 1.6666667;
2552
+ margin-top: 1.6666667em;
2553
+ margin-bottom: 1.6666667em;
2554
+ border-radius: 0.25rem;
2555
+ padding-top: 0.6666667em;
2556
+ padding-inline-end: 1em;
2557
+ padding-bottom: 0.6666667em;
2558
+ padding-inline-start: 1em;
2559
+ }
2560
+ .message-bubble-assistant .chat-markdown :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2561
+ margin-top: 1.1428571em;
2562
+ margin-bottom: 1.1428571em;
2563
+ padding-inline-start: 1.5714286em;
2564
+ }
2565
+ .message-bubble-assistant .chat-markdown :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2566
+ margin-top: 1.1428571em;
2567
+ margin-bottom: 1.1428571em;
2568
+ padding-inline-start: 1.5714286em;
2569
+ }
2570
+ .message-bubble-assistant .chat-markdown :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2571
+ margin-top: 0.2857143em;
2572
+ margin-bottom: 0.2857143em;
2573
+ }
2574
+ .message-bubble-assistant .chat-markdown :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2575
+ padding-inline-start: 0.4285714em;
2576
+ }
2577
+ .message-bubble-assistant .chat-markdown :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2578
+ padding-inline-start: 0.4285714em;
2579
+ }
2580
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2581
+ margin-top: 0.5714286em;
2582
+ margin-bottom: 0.5714286em;
2583
+ }
2584
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2585
+ margin-top: 1.1428571em;
2586
+ }
2587
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2588
+ margin-bottom: 1.1428571em;
2589
+ }
2590
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2591
+ margin-top: 1.1428571em;
2592
+ }
2593
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2594
+ margin-bottom: 1.1428571em;
2595
+ }
2596
+ .message-bubble-assistant .chat-markdown :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2597
+ margin-top: 0.5714286em;
2598
+ margin-bottom: 0.5714286em;
2599
+ }
2600
+ .message-bubble-assistant .chat-markdown :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2601
+ margin-top: 1.1428571em;
2602
+ margin-bottom: 1.1428571em;
2603
+ }
2604
+ .message-bubble-assistant .chat-markdown :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2605
+ margin-top: 1.1428571em;
2606
+ }
2607
+ .message-bubble-assistant .chat-markdown :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2608
+ margin-top: 0.2857143em;
2609
+ padding-inline-start: 1.5714286em;
2610
+ }
2611
+ .message-bubble-assistant .chat-markdown :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2612
+ margin-top: 2.8571429em;
2613
+ margin-bottom: 2.8571429em;
2614
+ }
2615
+ .message-bubble-assistant .chat-markdown :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2616
+ margin-top: 0;
2617
+ }
2618
+ .message-bubble-assistant .chat-markdown :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2619
+ margin-top: 0;
2620
+ }
2621
+ .message-bubble-assistant .chat-markdown :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2622
+ margin-top: 0;
2623
+ }
2624
+ .message-bubble-assistant .chat-markdown :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2625
+ margin-top: 0;
2626
+ }
2627
+ .message-bubble-assistant .chat-markdown :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2628
+ font-size: 0.8571429em;
2629
+ line-height: 1.5;
2630
+ }
2631
+ .message-bubble-assistant .chat-markdown :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2632
+ padding-inline-end: 1em;
2633
+ padding-bottom: 0.6666667em;
2634
+ padding-inline-start: 1em;
2635
+ }
2636
+ .message-bubble-assistant .chat-markdown :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2637
+ padding-inline-start: 0;
2638
+ }
2639
+ .message-bubble-assistant .chat-markdown :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2640
+ padding-inline-end: 0;
2641
+ }
2642
+ .message-bubble-assistant .chat-markdown :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2643
+ padding-top: 0.6666667em;
2644
+ padding-inline-end: 1em;
2645
+ padding-bottom: 0.6666667em;
2646
+ padding-inline-start: 1em;
2647
+ }
2648
+ .message-bubble-assistant .chat-markdown :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2649
+ padding-inline-start: 0;
2650
+ }
2651
+ .message-bubble-assistant .chat-markdown :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2652
+ padding-inline-end: 0;
2653
+ }
2654
+ .message-bubble-assistant .chat-markdown :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2655
+ margin-top: 1.7142857em;
2656
+ margin-bottom: 1.7142857em;
2657
+ }
2658
+ .message-bubble-assistant .chat-markdown :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2659
+ margin-top: 0;
2660
+ margin-bottom: 0;
2661
+ }
2662
+ .message-bubble-assistant .chat-markdown :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2663
+ font-size: 0.8571429em;
2664
+ line-height: 1.3333333;
2665
+ margin-top: 0.6666667em;
2666
+ }
2667
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2668
+ margin-top: 0;
2669
+ }
2670
+ .message-bubble-assistant .chat-markdown :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
2671
+ margin-bottom: 0;
2672
+ }
2673
+ .message-bubble-assistant .chat-markdown {
2674
+ --tw-prose-body: #374151;
2675
+ --tw-prose-headings: #111827;
2676
+ --tw-prose-lead: #4b5563;
2677
+ --tw-prose-links: #111827;
2678
+ --tw-prose-bold: #111827;
2679
+ --tw-prose-counters: #6b7280;
2680
+ --tw-prose-bullets: #d1d5db;
2681
+ --tw-prose-hr: #e5e7eb;
2682
+ --tw-prose-quotes: #111827;
2683
+ --tw-prose-quote-borders: #e5e7eb;
2684
+ --tw-prose-captions: #6b7280;
2685
+ --tw-prose-kbd: #111827;
2686
+ --tw-prose-kbd-shadows: 17 24 39;
2687
+ --tw-prose-code: #111827;
2688
+ --tw-prose-pre-code: #e5e7eb;
2689
+ --tw-prose-pre-bg: #1f2937;
2690
+ --tw-prose-th-borders: #d1d5db;
2691
+ --tw-prose-td-borders: #e5e7eb;
2692
+ --tw-prose-invert-body: #d1d5db;
2693
+ --tw-prose-invert-headings: #fff;
2694
+ --tw-prose-invert-lead: #9ca3af;
2695
+ --tw-prose-invert-links: #fff;
2696
+ --tw-prose-invert-bold: #fff;
2697
+ --tw-prose-invert-counters: #9ca3af;
2698
+ --tw-prose-invert-bullets: #4b5563;
2699
+ --tw-prose-invert-hr: #374151;
2700
+ --tw-prose-invert-quotes: #f3f4f6;
2701
+ --tw-prose-invert-quote-borders: #374151;
2702
+ --tw-prose-invert-captions: #9ca3af;
2703
+ --tw-prose-invert-kbd: #fff;
2704
+ --tw-prose-invert-kbd-shadows: 255 255 255;
2705
+ --tw-prose-invert-code: #fff;
2706
+ --tw-prose-invert-pre-code: #d1d5db;
2707
+ --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
2708
+ --tw-prose-invert-th-borders: #4b5563;
2709
+ --tw-prose-invert-td-borders: #374151;
2710
+ max-width: none;
2711
+ }
2712
+ .message-bubble-assistant .chat-markdown :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2713
+ text-decoration-line: none;
2714
+ }
2715
+ .message-bubble-assistant .chat-markdown :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))):hover {
2716
+ text-decoration-line: underline;
2717
+ }
2718
+ .message-bubble-assistant .chat-markdown {
2719
+ --tw-prose-body: var(--message-assistant-text-color);
2720
+ --tw-prose-headings: var(--message-assistant-text-color);
2721
+ --tw-prose-lead: var(--message-assistant-text-color);
2722
+ --tw-prose-links: var(--message-assistant-link-color);
2723
+ --tw-prose-bold: var(--message-assistant-text-color);
2724
+ --tw-prose-counters: var(--message-assistant-text-color);
2725
+ --tw-prose-bullets: var(--message-assistant-text-color);
2726
+ --tw-prose-hr: var(--message-assistant-text-color);
2727
+ --tw-prose-quotes: var(--message-assistant-text-color);
2728
+ --tw-prose-quote-borders: var(--message-assistant-text-color);
2729
+ --tw-prose-captions: var(--message-assistant-text-color);
2730
+ --tw-prose-kbd: var(--message-assistant-text-color);
2731
+ --tw-prose-kbd-shadows: var(--message-assistant-text-color);
2732
+ --tw-prose-code: var(--code-text-assistant-color);
2733
+ --tw-prose-pre-code: var(--code-text-assistant-color);
2734
+ --tw-prose-pre-bg: var(--code-bg-assistant-color);
2735
+ --tw-prose-th-borders: var(--message-assistant-text-color);
2736
+ --tw-prose-td-borders: var(--message-assistant-text-color);
2737
+ }
2738
+ .message-bubble-user .chat-markdown {
2739
+ --tw-prose-body: var(--message-user-text-color);
2740
+ --tw-prose-headings: var(--message-user-text-color);
2741
+ --tw-prose-lead: var(--message-user-text-color);
2742
+ --tw-prose-links: var(--message-user-link-color);
2743
+ --tw-prose-bold: var(--message-user-text-color);
2744
+ --tw-prose-counters: var(--message-user-text-color);
2745
+ --tw-prose-bullets: var(--message-user-text-color);
2746
+ --tw-prose-hr: var(--message-user-text-color);
2747
+ --tw-prose-quotes: var(--message-user-text-color);
2748
+ --tw-prose-quote-borders: var(--message-user-text-color);
2749
+ --tw-prose-captions: var(--message-user-text-color);
2750
+ --tw-prose-kbd: var(--message-user-text-color);
2751
+ --tw-prose-kbd-shadows: var(--message-user-text-color);
2752
+ --tw-prose-code: var(--code-text-user-color);
2753
+ --tw-prose-pre-code: var(--code-text-user-color);
2754
+ --tw-prose-pre-bg: var(--code-bg-user-color);
2755
+ --tw-prose-th-borders: var(--message-user-text-color);
2756
+ --tw-prose-td-borders: var(--message-user-text-color);
2757
+ }
2758
+ .message-bubble-system .chat-markdown {
2759
+ --tw-prose-body: var(--message-system-text-color);
2760
+ --tw-prose-headings: var(--message-system-text-color);
2761
+ --tw-prose-lead: var(--message-system-text-color);
2762
+ --tw-prose-links: var(--message-system-link-color);
2763
+ --tw-prose-bold: var(--message-system-text-color);
2764
+ --tw-prose-counters: var(--message-system-text-color);
2765
+ --tw-prose-bullets: var(--message-system-text-color);
2766
+ --tw-prose-hr: var(--message-system-text-color);
2767
+ --tw-prose-quotes: var(--message-system-text-color);
2768
+ --tw-prose-quote-borders: var(--message-system-text-color);
2769
+ --tw-prose-captions: var(--message-system-text-color);
2770
+ --tw-prose-kbd: var(--message-system-text-color);
2771
+ --tw-prose-kbd-shadows: var(--message-system-text-color);
2772
+ --tw-prose-code: var(--message-system-text-color);
2773
+ --tw-prose-pre-code: var(--message-system-text-color);
2774
+ --tw-prose-pre-bg: var(--message-system-text-color);
2775
+ --tw-prose-th-borders: var(--message-system-text-color);
2776
+ --tw-prose-td-borders: var(--message-system-text-color);
2777
+ }
2778
+ .message-bubble-user .chat-markdown pre {
2779
+ border: 1px solid var(--code-border-user-color);
2780
+ }
2781
+ .message-bubble-assistant .chat-markdown pre {
2782
+ border: 1px solid var(--code-border-assistant-color);
2783
+ }
2784
+ .loading:after {
2785
+ content: ' .';
2786
+ }
2787
+ /* File Upload Button */
2788
+ .file-attachment-button {
2789
+ border-radius: 0.375rem;
2790
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
2791
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2792
+ transition-duration: 200ms;
2793
+ }
2794
+ .file-attachment-button:disabled {
2795
+ cursor: not-allowed;
2796
+ opacity: 0.5;
2797
+ }
2798
+ .file-attachment-button {
2799
+ padding: 0.375em;
2800
+ background-color: var(--file-attachment-button-bg-color);
2801
+ color: var(--file-attachment-button-text-color);
2802
+ }
2803
+ .file-attachment-button svg {
2804
+ width: 1.5em;
2805
+ height: 1.5em;
2806
+ }
2807
+ .file-attachment-button:hover:not(:disabled) {
2808
+ background-color: var(--file-attachment-button-bg-hover-color);
2809
+ }
2810
+ .file-attachment-button:disabled {
2811
+ color: var(--file-attachment-button-text-disabled-color);
2812
+ }
2813
+ /* Selected Files Container */
2814
+ .selected-files-container {
2815
+ padding: 1em 1em 0.5em 1em;
2816
+ background-color: var(--selected-files-bg-color);
2817
+ border-top: 1px solid var(--selected-files-border-color);
2818
+ }
2819
+ /* Selected File Item */
2820
+ .selected-file-item {
2821
+ display: flex;
2822
+ align-items: center;
2823
+ justify-content: space-between;
2824
+ background-color: var(--selected-file-bg-color);
2825
+ border-radius: 0.375em;
2826
+ padding: 0.25em 0.5em;
2827
+ font-size: var(--selected-file-font-size);
2828
+ color: var(--selected-file-name-color);
2829
+ }
2830
+ .selected-file-icon {
2831
+ display: flex;
2832
+ align-items: center;
2833
+ justify-content: center;
2834
+ }
2835
+ .selected-file-icon svg {
2836
+ width: var(--selected-file-icon-size);
2837
+ height: var(--selected-file-icon-size);
2838
+ }
2839
+ .selected-file-size {
2840
+ color: var(--selected-file-size-color);
2841
+ }
2842
+ .selected-file-error {
2843
+ color: var(--error-text-color);
2844
+ }
2845
+ .selected-file-success-icon {
2846
+ display: flex;
2847
+ align-items: center;
2848
+ justify-content: center;
2849
+ color: var(--success-text-color);
2850
+ width: var(--selected-file-icon-size);
2851
+ height: var(--selected-file-icon-size);
2852
+ }
2853
+ .selected-file-remove-button {
2854
+ font-weight: 700;
2855
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
2856
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2857
+ transition-duration: 200ms;
2858
+ color: var(--selected-file-remove-icon-color);
2859
+ padding: 0.375em;
2860
+ }
2861
+ .selected-file-remove-button svg {
2862
+ width: var(--selected-file-icon-size);
2863
+ height: var(--selected-file-icon-size);
2864
+ }
2865
+ .selected-file-remove-button:hover {
2866
+ color: var(--selected-file-remove-icon-hover-color);
2867
+ }
2868
+ /* Message Attachments */
2869
+ .message-attachments {
2870
+ margin-top: 0.5em;
2871
+ }
2872
+ .message-attachments > :not([hidden]) ~ :not([hidden]) {
2873
+ --tw-space-y-reverse: 0;
2874
+ margin-top: calc(0.25em * calc(1 - var(--tw-space-y-reverse)));
2875
+ margin-bottom: calc(0.25em * var(--tw-space-y-reverse));
2876
+ }
2877
+ .message-attachments {
2878
+ font-size: var(--chat-window-font-size-sm);
2879
+ }
2880
+ .message-attachment-icon {
2881
+ display: flex;
2882
+ align-items: center;
2883
+ justify-content: center;
2884
+ width: var(--message-attachment-icon-size);
2885
+ height: var(--message-attachment-icon-size);
2886
+ }
2887
+ /* Update Send Button for Upload State */
2888
+ .send-button-disabled {
2889
+ cursor: not-allowed;
2890
+ background-color: var(--send-button-bg-disabled-color);
2891
+ color: var(--send-button-text-disabled-color);
1979
2892
  }