@hef2024/llmasaservice-ui 0.16.8 → 0.16.9

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.
package/dist/index.css CHANGED
@@ -898,2342 +898,2407 @@ button[data-pending=true]::after {
898
898
  border-left: 3px solid #7b68ee;
899
899
  }
900
900
 
901
- /* src/AIChatPanel.css */
901
+ /* src/AIAgentPanel.css */
902
902
  :root {
903
- --ai-chat-user-bg: #e5e7eb;
904
- --ai-chat-user-text: #1f2937;
905
- --ai-chat-assistant-bg: transparent;
906
- --ai-chat-assistant-text: #374151;
907
- --ai-chat-message-radius: 12px;
908
- --ai-chat-message-padding: 12px 16px;
909
- --ai-chat-message-max-width: 85%;
910
- --ai-chat-input-bg: #ffffff;
911
- --ai-chat-input-border: #d1d5db;
912
- --ai-chat-input-text: #1f2937;
913
- --ai-chat-input-placeholder: #9ca3af;
914
- --ai-chat-input-focus-border: #3b82f6;
915
- --ai-chat-input-focus-ring: rgba(59, 130, 246, 0.2);
916
- --ai-chat-input-radius: 12px;
917
- --ai-chat-suggestion-bg: #f3f4f6;
918
- --ai-chat-suggestion-border: #e5e7eb;
919
- --ai-chat-suggestion-text: #374151;
920
- --ai-chat-suggestion-hover-bg: #e5e7eb;
921
- --ai-chat-thinking-bg: #f0f9ff;
922
- --ai-chat-thinking-border: #bae6fd;
923
- --ai-chat-thinking-text: #0c4a6e;
924
- --ai-chat-thinking-icon: #0369a1;
925
- --ai-chat-loading-dot: #9ca3af;
926
- --ai-chat-footer-text: #9ca3af;
927
- --ai-chat-footer-link: #3b82f6;
928
- --ai-chat-tools-ready: #22c55e;
929
- --ai-chat-tools-loading: #f59e0b;
930
- --ai-chat-tools-error: #ef4444;
903
+ --ai-panel-width: 720px;
904
+ --ai-panel-min-width: 520px;
905
+ --ai-panel-max-width: 1200px;
906
+ --ai-panel-collapsed-width: 48px;
907
+ --ai-panel-border-radius: 0;
908
+ --ai-panel-transition: 0.2s ease;
909
+ --ai-sidebar-bg: #f8f9fa;
910
+ --ai-sidebar-border: #e5e7eb;
911
+ --ai-sidebar-text: #374151;
912
+ --ai-sidebar-text-muted: #6b7280;
913
+ --ai-sidebar-hover: #f3f4f6;
914
+ --ai-sidebar-active: #e5e7eb;
915
+ --ai-header-bg: #ffffff;
916
+ --ai-header-border: #e5e7eb;
917
+ --ai-header-height: 52px;
918
+ --ai-agent-badge-bg: #dbeafe;
919
+ --ai-agent-badge-text: #1d4ed8;
920
+ --ai-agent-selector-bg: #ffffff;
921
+ --ai-agent-selector-border: #e5e7eb;
922
+ --ai-conversation-bg: transparent;
923
+ --ai-conversation-hover: rgba(0, 0, 0, 0.04);
924
+ --ai-conversation-active: rgba(0, 0, 0, 0.08);
925
+ --ai-conversation-title-color: #1f2937;
926
+ --ai-conversation-preview-color: #6b7280;
927
+ --ai-conversation-meta-color: #9ca3af;
928
+ --ai-group-label-color: #9ca3af;
929
+ --ai-group-label-size: 0.75rem;
930
+ --ai-button-primary-bg: #3b82f6;
931
+ --ai-button-primary-text: #ffffff;
932
+ --ai-button-primary-hover: #2563eb;
933
+ --ai-button-secondary-bg: #f3f4f6;
934
+ --ai-button-secondary-text: #374151;
935
+ --ai-button-secondary-border: #d1d5db;
936
+ --ai-button-secondary-hover: #e5e7eb;
937
+ --ai-button-ghost-hover: rgba(0, 0, 0, 0.06);
938
+ --ai-button-destructive-bg: #ef4444;
939
+ --ai-button-destructive-text: #ffffff;
940
+ --ai-button-destructive-hover: #dc2626;
941
+ --ai-button-radius: 6px;
942
+ --ai-input-bg: #ffffff;
943
+ --ai-input-border: #d1d5db;
944
+ --ai-input-text: #1f2937;
945
+ --ai-input-placeholder: #9ca3af;
946
+ --ai-input-focus-border: #3b82f6;
947
+ --ai-input-focus-ring: rgba(59, 130, 246, 0.2);
948
+ --ai-input-radius: 6px;
949
+ --ai-select-bg: #ffffff;
950
+ --ai-select-border: #d1d5db;
951
+ --ai-select-text: #1f2937;
952
+ --ai-select-hover: #f9fafb;
953
+ --ai-select-item-hover: #f3f4f6;
954
+ --ai-select-item-selected: #eff6ff;
955
+ --ai-tooltip-bg: #1f2937;
956
+ --ai-tooltip-text: #ffffff;
957
+ --ai-tooltip-radius: 4px;
958
+ --ai-dialog-bg: #ffffff;
959
+ --ai-dialog-border: #e5e7eb;
960
+ --ai-dialog-overlay: rgba(0, 0, 0, 0.5);
961
+ --ai-dialog-title-color: #1f2937;
962
+ --ai-dialog-description-color: #6b7280;
963
+ --ai-dialog-radius: 8px;
964
+ --ai-scrollbar-track: transparent;
965
+ --ai-scrollbar-thumb: #d1d5db;
966
+ --ai-scrollbar-thumb-hover: #9ca3af;
967
+ --ai-scrollbar-width: 6px;
968
+ --ai-context-bg: #f9fafb;
969
+ --ai-context-border: #e5e7eb;
970
+ --ai-context-text: #6b7280;
971
+ --ai-context-warning: #f59e0b;
972
+ --ai-loading-spinner: #3b82f6;
973
+ --ai-resize-handle-width: 4px;
974
+ --ai-resize-handle-color: transparent;
975
+ --ai-resize-handle-hover: #3b82f6;
976
+ --ai-chat-bg: #ffffff;
931
977
  }
932
978
  .dark-theme {
933
- --ai-chat-user-bg: #374151;
934
- --ai-chat-user-text: #f9fafb;
935
- --ai-chat-assistant-bg: transparent;
936
- --ai-chat-assistant-text: #e5e7eb;
937
- --ai-chat-input-bg: #1f2937;
938
- --ai-chat-input-border: #374151;
939
- --ai-chat-input-text: #f9fafb;
940
- --ai-chat-input-placeholder: #6b7280;
941
- --ai-chat-input-focus-border: #60a5fa;
942
- --ai-chat-input-focus-ring: rgba(96, 165, 250, 0.2);
943
- --ai-chat-suggestion-bg: #1f2937;
944
- --ai-chat-suggestion-border: #374151;
945
- --ai-chat-suggestion-text: #e5e7eb;
946
- --ai-chat-suggestion-hover-bg: #374151;
947
- --ai-chat-thinking-bg: #0c4a6e;
948
- --ai-chat-thinking-border: #0369a1;
949
- --ai-chat-thinking-text: #e0f2fe;
950
- --ai-chat-thinking-icon: #7dd3fc;
951
- --ai-chat-loading-dot: #6b7280;
952
- --ai-chat-footer-text: #6b7280;
953
- --ai-chat-footer-link: #60a5fa;
979
+ --ai-sidebar-bg: #1f2937;
980
+ --ai-sidebar-border: #374151;
981
+ --ai-sidebar-text: #f3f4f6;
982
+ --ai-sidebar-text-muted: #9ca3af;
983
+ --ai-sidebar-hover: #374151;
984
+ --ai-sidebar-active: #4b5563;
985
+ --ai-header-bg: #111827;
986
+ --ai-header-border: #374151;
987
+ --ai-agent-badge-bg: #1e3a5f;
988
+ --ai-agent-badge-text: #60a5fa;
989
+ --ai-agent-selector-bg: #1f2937;
990
+ --ai-agent-selector-border: #374151;
991
+ --ai-conversation-hover: rgba(255, 255, 255, 0.04);
992
+ --ai-conversation-active: rgba(255, 255, 255, 0.08);
993
+ --ai-conversation-title-color: #f3f4f6;
994
+ --ai-conversation-preview-color: #9ca3af;
995
+ --ai-conversation-meta-color: #6b7280;
996
+ --ai-group-label-color: #6b7280;
997
+ --ai-button-primary-bg: #3b82f6;
998
+ --ai-button-primary-text: #ffffff;
999
+ --ai-button-primary-hover: #60a5fa;
1000
+ --ai-button-secondary-bg: #374151;
1001
+ --ai-button-secondary-text: #f3f4f6;
1002
+ --ai-button-secondary-border: #4b5563;
1003
+ --ai-button-secondary-hover: #4b5563;
1004
+ --ai-button-ghost-hover: rgba(255, 255, 255, 0.08);
1005
+ --ai-input-bg: #1f2937;
1006
+ --ai-input-border: #374151;
1007
+ --ai-input-text: #f3f4f6;
1008
+ --ai-input-placeholder: #6b7280;
1009
+ --ai-input-focus-border: #3b82f6;
1010
+ --ai-input-focus-ring: rgba(59, 130, 246, 0.3);
1011
+ --ai-select-bg: #1f2937;
1012
+ --ai-select-border: #374151;
1013
+ --ai-select-text: #f3f4f6;
1014
+ --ai-select-hover: #374151;
1015
+ --ai-select-item-hover: #374151;
1016
+ --ai-select-item-selected: #1e3a5f;
1017
+ --ai-tooltip-bg: #374151;
1018
+ --ai-tooltip-text: #f3f4f6;
1019
+ --ai-dialog-bg: #1f2937;
1020
+ --ai-dialog-border: #374151;
1021
+ --ai-dialog-overlay: rgba(0, 0, 0, 0.7);
1022
+ --ai-dialog-title-color: #f3f4f6;
1023
+ --ai-dialog-description-color: #9ca3af;
1024
+ --ai-scrollbar-thumb: #4b5563;
1025
+ --ai-scrollbar-thumb-hover: #6b7280;
1026
+ --ai-context-bg: #111827;
1027
+ --ai-context-border: #374151;
1028
+ --ai-context-text: #9ca3af;
1029
+ --ai-chat-bg: #111827;
954
1030
  }
955
- .ai-chat-panel {
1031
+ .ai-agent-panel {
956
1032
  display: flex;
957
- flex-direction: column;
958
- flex: 1;
959
- width: 100%;
960
- min-width: 0;
961
- min-height: 0;
962
- overflow: hidden;
963
- background-color: var(--ai-chat-bg, #ffffff);
1033
+ flex-direction: row;
1034
+ align-self: stretch;
1035
+ height: 100%;
1036
+ max-height: 100%;
1037
+ background-color: var(--ai-sidebar-bg);
1038
+ border-left: 1px solid var(--ai-sidebar-border);
964
1039
  font-family:
965
1040
  -apple-system,
966
1041
  BlinkMacSystemFont,
967
1042
  "Segoe UI",
968
1043
  Roboto,
1044
+ "Helvetica Neue",
1045
+ Arial,
969
1046
  sans-serif;
970
1047
  font-size: 14px;
971
- color: var(--ai-chat-assistant-text);
1048
+ position: relative;
1049
+ transition: width var(--ai-panel-transition);
1050
+ box-sizing: border-box;
1051
+ overflow: hidden;
972
1052
  }
973
- .dark-theme.ai-chat-panel {
974
- background-color: var(--ai-chat-bg, #111827);
1053
+ .ai-agent-panel--left {
1054
+ border-left: none;
1055
+ border-right: 1px solid var(--ai-sidebar-border);
975
1056
  }
976
- .ai-chat-panel__title {
977
- padding: 12px 16px;
978
- font-size: 16px;
979
- font-weight: 600;
980
- border-bottom: 1px solid var(--ai-sidebar-border, #e5e7eb);
981
- flex-shrink: 0;
1057
+ .ai-agent-panel--sidebar-left {
1058
+ flex-direction: row;
982
1059
  }
983
- .ai-chat-panel__messages {
984
- flex: 1;
985
- overflow-y: auto;
986
- overflow-x: hidden;
987
- padding: 16px;
988
- display: flex;
989
- flex-direction: column;
990
- gap: 16px;
991
- min-width: 0;
992
- min-height: 0;
1060
+ .ai-agent-panel--sidebar-left .ai-agent-panel__sidebar {
1061
+ order: 1;
1062
+ border-right: 1px solid var(--ai-sidebar-border);
1063
+ border-left: none;
993
1064
  }
994
- .ai-chat-entry {
995
- display: flex;
996
- flex-direction: column;
997
- gap: 12px;
1065
+ .ai-agent-panel--sidebar-left .ai-agent-panel__chat {
1066
+ order: 2;
998
1067
  }
999
- .ai-chat-message {
1000
- display: flex;
1001
- flex-direction: column;
1002
- max-width: var(--ai-chat-message-max-width);
1003
- min-width: 0;
1004
- word-wrap: break-word;
1005
- overflow-wrap: break-word;
1068
+ .ai-agent-panel--sidebar-right {
1069
+ flex-direction: row;
1006
1070
  }
1007
- .ai-chat-message--user {
1008
- align-self: flex-end;
1071
+ .ai-agent-panel--sidebar-right .ai-agent-panel__sidebar {
1072
+ order: 2;
1073
+ border-left: 1px solid var(--ai-sidebar-border);
1074
+ border-right: none;
1009
1075
  }
1010
- .ai-chat-message--user .ai-chat-message__content {
1011
- background-color: var(--ai-chat-user-bg);
1012
- color: var(--ai-chat-user-text);
1013
- border-radius: var(--ai-chat-message-radius);
1014
- border-bottom-right-radius: 4px;
1015
- padding: var(--ai-chat-message-padding);
1076
+ .ai-agent-panel--sidebar-right .ai-agent-panel__chat {
1077
+ order: 1;
1016
1078
  }
1017
- .ai-chat-message--assistant {
1018
- align-self: flex-start;
1019
- max-width: 100%;
1020
- }
1021
- .ai-chat-message--assistant .ai-chat-message__content {
1022
- background-color: var(--ai-chat-assistant-bg);
1023
- color: var(--ai-chat-assistant-text);
1024
- padding: 4px 0;
1025
- word-wrap: break-word;
1026
- overflow-wrap: break-word;
1027
- min-width: 0;
1028
- }
1029
- .ai-chat-message__content p {
1030
- margin: 0 0 0.75em 0;
1031
- line-height: 1.6;
1032
- }
1033
- .ai-chat-message__content p:last-child {
1034
- margin-bottom: 0;
1035
- }
1036
- .ai-chat-message__content ul,
1037
- .ai-chat-message__content ol {
1038
- margin: 0 0 1em 0;
1039
- padding-left: 1.5em;
1040
- line-height: 1.6;
1079
+ .ai-agent-panel--collapsed {
1080
+ width: var(--ai-panel-collapsed-width) !important;
1041
1081
  }
1042
- .ai-chat-message__content li {
1043
- margin: 0.5em 0;
1044
- line-height: 1.6;
1082
+ .ai-agent-panel__resize-handle {
1083
+ width: var(--ai-resize-handle-width);
1084
+ min-width: var(--ai-resize-handle-width);
1085
+ align-self: stretch;
1086
+ background-color: var(--ai-resize-handle-color);
1087
+ cursor: ew-resize;
1088
+ transition: background-color 0.15s;
1089
+ z-index: 100;
1090
+ flex-shrink: 0;
1091
+ order: 0;
1045
1092
  }
1046
- .ai-chat-message__content li:first-child {
1047
- margin-top: 0;
1093
+ .ai-agent-panel__resize-handle:hover {
1094
+ background-color: var(--ai-resize-handle-hover);
1048
1095
  }
1049
- .ai-chat-message__content li:last-child {
1050
- margin-bottom: 0;
1096
+ .ai-agent-panel__resize-handle:active {
1097
+ background-color: var(--ai-resize-handle-hover);
1051
1098
  }
1052
- .ai-chat-message__content ul ul,
1053
- .ai-chat-message__content ol ol,
1054
- .ai-chat-message__content ul ol,
1055
- .ai-chat-message__content ol ul {
1056
- margin-top: 0.5em;
1057
- margin-bottom: 0.5em;
1099
+ .ai-agent-panel:hover .ai-agent-panel__resize-handle {
1100
+ background-color: rgba(100, 100, 100, 0.15);
1058
1101
  }
1059
- .ai-chat-message__content h1,
1060
- .ai-chat-message__content h2,
1061
- .ai-chat-message__content h3,
1062
- .ai-chat-message__content h4,
1063
- .ai-chat-message__content h5,
1064
- .ai-chat-message__content h6 {
1065
- margin: 1.25em 0 0.75em 0;
1066
- line-height: 1.4;
1067
- font-weight: 600;
1102
+ .ai-agent-panel--right .ai-agent-panel__resize-handle {
1103
+ order: -1 !important;
1068
1104
  }
1069
- .ai-chat-message__content h1:first-child,
1070
- .ai-chat-message__content h2:first-child,
1071
- .ai-chat-message__content h3:first-child,
1072
- .ai-chat-message__content h4:first-child,
1073
- .ai-chat-message__content h5:first-child,
1074
- .ai-chat-message__content h6:first-child {
1075
- margin-top: 0;
1105
+ .ai-agent-panel--left .ai-agent-panel__resize-handle {
1106
+ order: 99 !important;
1076
1107
  }
1077
- .ai-chat-message__content table {
1078
- margin: 1em 0;
1079
- border-collapse: collapse;
1108
+ .ai-agent-panel__collapsed-bar {
1109
+ display: flex;
1110
+ flex-direction: column;
1111
+ align-items: center;
1112
+ padding: 8px;
1113
+ gap: 4px;
1080
1114
  width: 100%;
1115
+ height: 100%;
1116
+ cursor: pointer;
1117
+ transition: background-color 0.15s, box-shadow 0.15s;
1081
1118
  }
1082
- .ai-chat-message__content th,
1083
- .ai-chat-message__content td {
1084
- padding: 0.5em 0.75em;
1085
- border: 1px solid rgba(0, 0, 0, 0.1);
1086
- line-height: 1.5;
1087
- }
1088
- .dark-theme .ai-chat-message__content th,
1089
- .dark-theme .ai-chat-message__content td {
1090
- border-color: rgba(255, 255, 255, 0.1);
1091
- }
1092
- .ai-chat-message__content th {
1093
- font-weight: 600;
1094
- background-color: rgba(0, 0, 0, 0.05);
1119
+ .ai-agent-panel__collapsed-bar:hover {
1120
+ background-color: var(--ai-sidebar-hover);
1121
+ box-shadow: inset 2px 0 0 var(--ai-button-primary-bg);
1095
1122
  }
1096
- .dark-theme .ai-chat-message__content th {
1097
- background-color: rgba(255, 255, 255, 0.05);
1123
+ .ai-agent-panel--left .ai-agent-panel__collapsed-bar:hover {
1124
+ box-shadow: inset -2px 0 0 var(--ai-button-primary-bg);
1098
1125
  }
1099
- .ai-chat-message__content tr {
1100
- line-height: 1.5;
1126
+ .ai-agent-panel__collapsed-divider {
1127
+ width: 24px;
1128
+ height: 1px;
1129
+ background-color: var(--ai-sidebar-border);
1130
+ margin: 4px 0;
1101
1131
  }
1102
- .ai-chat-message__content blockquote {
1103
- margin: 1em 0;
1104
- padding: 0.5em 1em;
1105
- border-left: 4px solid rgba(0, 0, 0, 0.2);
1106
- background-color: rgba(0, 0, 0, 0.02);
1107
- line-height: 1.6;
1132
+ .ai-agent-panel__collapsed-spacer {
1133
+ flex: 1;
1108
1134
  }
1109
- .dark-theme .ai-chat-message__content blockquote {
1110
- border-left-color: rgba(255, 255, 255, 0.2);
1111
- background-color: rgba(255, 255, 255, 0.02);
1135
+ .ai-agent-panel__agent-icon {
1136
+ font-weight: 600;
1137
+ font-size: 12px;
1112
1138
  }
1113
- .ai-chat-message__content hr {
1114
- margin: 1.5em 0;
1115
- border: none;
1116
- border-top: 1px solid rgba(0, 0, 0, 0.1);
1139
+ .ai-agent-panel__agent-avatar {
1140
+ width: 24px;
1141
+ height: 24px;
1142
+ border-radius: 50%;
1143
+ object-fit: cover;
1117
1144
  }
1118
- .dark-theme .ai-chat-message__content hr {
1119
- border-top-color: rgba(255, 255, 255, 0.1);
1145
+ .ai-agent-panel__agent-icon {
1146
+ position: relative;
1120
1147
  }
1121
- .ai-chat-message__content code {
1122
- background-color: rgba(0, 0, 0, 0.05);
1123
- padding: 0.2em 0.4em;
1124
- border-radius: 4px;
1125
- font-size: 0.9em;
1126
- font-family:
1127
- "SF Mono",
1128
- Monaco,
1129
- Consolas,
1130
- monospace;
1148
+ .ai-agent-panel__agent-icon--active {
1131
1149
  }
1132
- .dark-theme .ai-chat-message__content code {
1133
- background-color: rgba(255, 255, 255, 0.1);
1150
+ .ai-agent-panel__agent-active-indicator {
1151
+ position: absolute;
1152
+ bottom: 2px;
1153
+ right: 2px;
1154
+ width: 8px;
1155
+ height: 8px;
1156
+ border-radius: 50%;
1157
+ background-color: var(--ai-button-primary-bg);
1158
+ border: 2px solid var(--ai-sidebar-bg);
1134
1159
  }
1135
- .ai-chat-message__content pre {
1136
- margin: 0.75em 0;
1137
- border-radius: 8px;
1160
+ .ai-agent-panel__sidebar {
1161
+ width: 200px;
1162
+ min-width: 180px;
1163
+ max-width: 280px;
1164
+ height: 100%;
1165
+ max-height: 100%;
1166
+ flex-shrink: 0;
1167
+ display: flex;
1168
+ flex-direction: column;
1169
+ border-right: 1px solid var(--ai-sidebar-border);
1170
+ background-color: var(--ai-sidebar-bg);
1138
1171
  overflow: hidden;
1139
1172
  }
1140
- .ai-chat-message__content pre code {
1141
- background: none;
1142
- padding: 0;
1143
- }
1144
- .ai-chat-message__content a {
1145
- color: var(--ai-chat-footer-link);
1146
- text-decoration: none;
1173
+ .ai-agent-panel--left .ai-agent-panel__sidebar {
1174
+ border-right: none;
1175
+ border-left: 1px solid var(--ai-sidebar-border);
1147
1176
  }
1148
- .ai-chat-message__content a:hover {
1149
- text-decoration: underline;
1177
+ .ai-agent-panel__header {
1178
+ display: flex;
1179
+ align-items: center;
1180
+ justify-content: space-between;
1181
+ padding: 8px;
1182
+ height: var(--ai-header-height);
1183
+ border-bottom: 1px solid var(--ai-header-border);
1184
+ background-color: var(--ai-header-bg);
1185
+ gap: 8px;
1150
1186
  }
1151
- .ai-chat-message__actions {
1187
+ .ai-agent-panel__header-actions {
1152
1188
  display: flex;
1189
+ align-items: center;
1153
1190
  gap: 4px;
1154
- margin-top: 8px;
1155
- opacity: 0;
1156
- transition: opacity 0.2s;
1157
- }
1158
- .ai-chat-message:hover .ai-chat-message__actions {
1159
- opacity: 1;
1191
+ flex: 1;
1160
1192
  }
1161
- .ai-chat-thinking {
1162
- background-color: var(--ai-chat-thinking-bg);
1163
- border: 1px solid var(--ai-chat-thinking-border);
1164
- border-radius: 8px;
1165
- padding: 12px;
1166
- margin-bottom: 12px;
1167
- font-size: 13px;
1193
+ .ai-agent-panel__conversations {
1194
+ flex: 1;
1195
+ overflow-y: auto;
1196
+ padding: 8px;
1168
1197
  }
1169
- .ai-chat-thinking__header {
1198
+ .ai-agent-panel__empty {
1170
1199
  display: flex;
1200
+ flex-direction: column;
1171
1201
  align-items: center;
1172
- gap: 8px;
1173
- margin-bottom: 8px;
1174
- color: var(--ai-chat-thinking-text);
1202
+ justify-content: center;
1203
+ padding: 32px 16px;
1204
+ color: var(--ai-sidebar-text-muted);
1205
+ text-align: center;
1175
1206
  }
1176
- .ai-chat-thinking__icon {
1177
- color: var(--ai-chat-thinking-icon);
1207
+ .ai-agent-panel__empty svg {
1208
+ width: 32px;
1209
+ height: 32px;
1210
+ margin-bottom: 12px;
1211
+ opacity: 0.5;
1178
1212
  }
1179
- .ai-chat-thinking__title {
1180
- font-weight: 600;
1181
- flex: 1;
1213
+ .ai-agent-panel__empty p {
1214
+ margin: 0;
1182
1215
  }
1183
- .ai-chat-thinking__nav {
1184
- display: flex;
1185
- align-items: center;
1186
- gap: 4px;
1216
+ .ai-agent-panel__empty-hint {
1187
1217
  font-size: 12px;
1218
+ margin-top: 4px !important;
1219
+ opacity: 0.7;
1188
1220
  }
1189
- .ai-chat-thinking__nav button {
1190
- background: none;
1191
- border: none;
1192
- color: var(--ai-chat-thinking-icon);
1193
- cursor: pointer;
1194
- padding: 2px 6px;
1195
- font-size: 14px;
1196
- border-radius: 4px;
1221
+ .ai-agent-panel__group {
1222
+ margin-bottom: 16px;
1197
1223
  }
1198
- .ai-chat-thinking__nav button:hover:not(:disabled) {
1199
- background-color: rgba(0, 0, 0, 0.1);
1200
- }
1201
- .ai-chat-thinking__nav button:disabled {
1202
- opacity: 0.4;
1203
- cursor: not-allowed;
1204
- }
1205
- .ai-chat-thinking__content {
1206
- color: var(--ai-chat-thinking-text);
1207
- opacity: 0.9;
1208
- line-height: 1.5;
1224
+ .ai-agent-panel__group-label {
1225
+ font-size: var(--ai-group-label-size);
1226
+ font-weight: 600;
1227
+ color: var(--ai-group-label-color);
1228
+ text-transform: uppercase;
1229
+ letter-spacing: 0.05em;
1230
+ padding: 8px 8px 4px;
1209
1231
  }
1210
- .ai-chat-loading {
1232
+ .ai-agent-panel__group-label--clickable {
1211
1233
  display: flex;
1212
1234
  align-items: center;
1213
- gap: 4px;
1214
- color: var(--ai-chat-loading-dot);
1215
- }
1216
- .ai-chat-loading__dots {
1217
- display: flex;
1218
- gap: 4px;
1219
- }
1220
- .ai-chat-loading__dot {
1221
- width: 6px;
1222
- height: 6px;
1223
- background-color: var(--ai-chat-loading-dot);
1224
- border-radius: 50%;
1225
- animation: ai-chat-dot-bounce 1.4s ease-in-out infinite both;
1235
+ justify-content: space-between;
1236
+ cursor: pointer;
1237
+ user-select: none;
1238
+ transition: color 0.15s;
1226
1239
  }
1227
- .ai-chat-loading__dot:nth-child(1) {
1228
- animation-delay: -0.32s;
1240
+ .ai-agent-panel__group-label--clickable:hover {
1241
+ color: var(--ai-sidebar-text);
1229
1242
  }
1230
- .ai-chat-loading__dot:nth-child(2) {
1231
- animation-delay: -0.16s;
1243
+ .ai-agent-panel__group-chevron {
1244
+ font-size: 8px;
1245
+ opacity: 0.6;
1246
+ transition: opacity 0.15s;
1232
1247
  }
1233
- @keyframes ai-chat-dot-bounce {
1234
- 0%, 80%, 100% {
1235
- transform: scale(0.6);
1236
- opacity: 0.4;
1237
- }
1238
- 40% {
1239
- transform: scale(1);
1240
- opacity: 1;
1241
- }
1248
+ .ai-agent-panel__group-label--clickable:hover .ai-agent-panel__group-chevron {
1249
+ opacity: 1;
1242
1250
  }
1243
- .ai-chat-suggestions {
1251
+ .ai-agent-panel__conversation {
1244
1252
  display: flex;
1245
- flex-wrap: wrap;
1253
+ align-items: flex-start;
1254
+ padding: 4px 8px;
1255
+ border-radius: 6px;
1256
+ cursor: pointer;
1257
+ transition: background-color 0.15s;
1246
1258
  gap: 8px;
1247
- margin-top: 8px;
1248
- width: 100%;
1249
- min-width: 0;
1250
- }
1251
- .ai-chat-suggestions__button {
1252
- font-size: 13px;
1253
- white-space: normal;
1254
- text-align: left;
1255
- height: auto;
1256
- padding: 8px 12px;
1257
- min-width: 0;
1258
- max-width: 100%;
1259
- word-wrap: break-word;
1260
- overflow-wrap: break-word;
1261
1259
  }
1262
- .ai-chat-panel__new-conversation {
1263
- padding: 8px 16px;
1264
- display: flex;
1265
- justify-content: center;
1266
- flex-shrink: 0;
1267
- }
1268
- .ai-chat-new-conversation {
1269
- width: 100%;
1260
+ .ai-agent-panel__conversation:hover {
1261
+ background-color: var(--ai-conversation-hover);
1270
1262
  }
1271
- .ai-chat-panel__input {
1272
- display: flex;
1273
- align-items: flex-end;
1274
- gap: 8px;
1275
- padding: 12px 16px;
1276
- border-top: 1px solid var(--ai-sidebar-border, #e5e7eb);
1277
- flex-shrink: 0;
1263
+ .ai-agent-panel__conversation--active {
1264
+ background-color: var(--ai-conversation-active);
1278
1265
  }
1279
- .ai-chat-input {
1266
+ .ai-agent-panel__conversation-content {
1280
1267
  flex: 1;
1281
- min-height: 40px;
1282
- max-height: 200px;
1283
- padding: 10px 14px;
1284
- background-color: var(--ai-chat-input-bg);
1285
- border: 1px solid var(--ai-chat-input-border);
1286
- border-radius: var(--ai-chat-input-radius);
1287
- color: var(--ai-chat-input-text);
1288
- font-size: 14px;
1289
- font-family: inherit;
1290
- line-height: 1.5;
1291
- resize: none;
1292
- outline: none;
1293
- transition: border-color 0.2s, box-shadow 0.2s;
1268
+ min-width: 0;
1294
1269
  }
1295
- .ai-chat-input::placeholder {
1296
- color: var(--ai-chat-input-placeholder);
1270
+ .ai-agent-panel__conversation-title {
1271
+ font-weight: 400;
1272
+ font-size: 11px;
1273
+ color: var(--ai-conversation-preview-color);
1274
+ white-space: nowrap;
1275
+ overflow: hidden;
1276
+ text-overflow: ellipsis;
1277
+ margin-bottom: 2px;
1297
1278
  }
1298
- .ai-chat-input:focus {
1299
- border-color: var(--ai-chat-input-focus-border);
1300
- box-shadow: 0 0 0 3px var(--ai-chat-input-focus-ring);
1279
+ .ai-agent-panel__conversation-preview {
1280
+ font-size: 11px;
1281
+ color: var(--ai-conversation-preview-color);
1282
+ white-space: nowrap;
1283
+ overflow: hidden;
1284
+ text-overflow: ellipsis;
1285
+ margin-bottom: 2px;
1301
1286
  }
1302
- .ai-chat-send-button {
1287
+ .ai-agent-panel__conversation-meta {
1303
1288
  display: flex;
1304
1289
  align-items: center;
1305
- justify-content: center;
1306
- width: 24px;
1307
- height: 24px;
1308
- padding: 0;
1309
- border: none;
1310
- border-radius: 6px;
1311
- background-color: var(--ai-button-primary-bg, #3b82f6);
1312
- color: white;
1313
- cursor: pointer;
1314
- transition: background-color 0.15s, opacity 0.15s;
1315
- flex-shrink: 0;
1316
- }
1317
- .ai-chat-send-button:hover:not(:disabled) {
1318
- background-color: var(--ai-button-primary-hover, #2563eb);
1290
+ gap: 6px;
1291
+ font-size: 11px;
1292
+ color: var(--ai-conversation-meta-color);
1319
1293
  }
1320
- .ai-chat-send-button--disabled,
1321
- .ai-chat-send-button:disabled {
1322
- opacity: 0.4;
1323
- cursor: not-allowed;
1294
+ .ai-agent-panel__conversation-agent {
1295
+ font-size: 10px;
1296
+ color: var(--ai-agent-badge-text);
1297
+ background-color: var(--ai-agent-badge-bg);
1298
+ padding: 1px 4px;
1299
+ border-radius: 3px;
1324
1300
  }
1325
- .ai-chat-send-button--stop {
1326
- background-color: var(--ai-chat-tools-error, #ef4444);
1301
+ .ai-agent-panel__conversation-delete {
1302
+ opacity: 0;
1303
+ transition: opacity 0.15s;
1327
1304
  }
1328
- .ai-chat-send-button--stop:hover:not(:disabled) {
1329
- background-color: #dc2626;
1305
+ .ai-agent-panel__conversation:hover .ai-agent-panel__conversation-delete {
1306
+ opacity: 1;
1330
1307
  }
1331
- .ai-chat-panel__footer {
1308
+ .ai-agent-panel__context-summary {
1332
1309
  display: flex;
1333
1310
  align-items: center;
1334
- justify-content: space-between;
1335
- padding: 8px 16px;
1311
+ gap: 8px;
1312
+ padding: 10px 12px;
1313
+ border-top: 1px solid var(--ai-context-border);
1314
+ background-color: var(--ai-context-bg);
1336
1315
  font-size: 12px;
1337
- color: var(--ai-chat-footer-text);
1338
- border-top: 1px solid var(--ai-sidebar-border, #e5e7eb);
1339
- flex-shrink: 0;
1340
- }
1341
- .ai-chat-tools-status {
1342
- display: flex;
1343
- align-items: center;
1344
- gap: 6px;
1345
- }
1346
- .ai-chat-tools-status__dot {
1347
- width: 8px;
1348
- height: 8px;
1349
- border-radius: 50%;
1316
+ color: var(--ai-context-text);
1350
1317
  }
1351
- .ai-chat-tools-status__dot.ready {
1352
- background-color: var(--ai-chat-tools-ready);
1318
+ .ai-agent-panel__context-summary svg {
1319
+ width: 14px;
1320
+ height: 14px;
1321
+ opacity: 0.6;
1353
1322
  }
1354
- .ai-chat-tools-status__dot.loading {
1355
- background-color: var(--ai-chat-tools-loading);
1356
- animation: ai-chat-pulse 1.5s ease-in-out infinite;
1323
+ .ai-agent-panel__context-warning {
1324
+ color: var(--ai-context-warning);
1325
+ font-weight: 500;
1357
1326
  }
1358
- .ai-chat-tools-status__dot.error {
1359
- background-color: var(--ai-chat-tools-error);
1327
+ .ai-agent-panel__chat {
1328
+ position: relative;
1329
+ flex: 1;
1330
+ background-color: var(--ai-chat-bg);
1331
+ min-width: 0;
1332
+ min-height: 0;
1333
+ overflow: hidden;
1360
1334
  }
1361
- @keyframes ai-chat-pulse {
1362
- 0%, 100% {
1363
- opacity: 1;
1364
- }
1365
- 50% {
1366
- opacity: 0.4;
1367
- }
1335
+ .ai-agent-panel__agent-selector {
1336
+ padding: 8px 12px;
1337
+ border-bottom: 1px solid var(--ai-sidebar-border);
1368
1338
  }
1369
- .ai-chat-powered-by {
1339
+ .ai-agent-panel__loading {
1340
+ position: absolute;
1341
+ top: 0;
1342
+ left: 0;
1343
+ right: 0;
1344
+ bottom: 0;
1370
1345
  display: flex;
1346
+ flex-direction: column;
1371
1347
  align-items: center;
1372
- gap: 6px;
1348
+ justify-content: center;
1349
+ gap: 12px;
1350
+ color: var(--ai-sidebar-text-muted);
1351
+ background-color: var(--ai-chat-bg);
1373
1352
  }
1374
- .ai-chat-powered-by a {
1353
+ .ai-agent-panel__conversation-loading-overlay {
1354
+ position: absolute;
1355
+ top: 0;
1356
+ left: 0;
1357
+ right: 0;
1358
+ bottom: 0;
1375
1359
  display: flex;
1360
+ flex-direction: column;
1376
1361
  align-items: center;
1377
- gap: 4px;
1378
- color: var(--ai-chat-footer-link);
1379
- text-decoration: none;
1362
+ justify-content: center;
1363
+ gap: 12px;
1364
+ background-color: var(--ai-chat-bg);
1365
+ color: var(--ai-sidebar-text-muted);
1366
+ z-index: 10;
1367
+ backdrop-filter: blur(2px);
1380
1368
  }
1381
- .ai-chat-powered-by a:hover {
1382
- text-decoration: underline;
1383
- }
1384
- .ai-chat-icon {
1385
- width: 20px;
1386
- height: 20px;
1369
+ .ai-agent-panel__loading-spinner {
1370
+ width: 24px;
1371
+ height: 24px;
1372
+ border: 2px solid var(--ai-sidebar-border);
1373
+ border-top-color: var(--ai-loading-spinner);
1374
+ border-radius: 50%;
1375
+ animation: ai-spin 0.8s linear infinite;
1387
1376
  }
1388
- .ai-chat-icon-sm {
1389
- width: 16px;
1390
- height: 16px;
1377
+ @keyframes ai-spin {
1378
+ to {
1379
+ transform: rotate(360deg);
1380
+ }
1391
1381
  }
1392
- .ai-chat-panel__messages::-webkit-scrollbar {
1393
- width: 6px;
1382
+ .ai-button {
1383
+ display: inline-flex;
1384
+ align-items: center;
1385
+ justify-content: center;
1386
+ border: none;
1387
+ cursor: pointer;
1388
+ font-family: inherit;
1389
+ font-weight: 500;
1390
+ transition: all 0.15s;
1391
+ border-radius: var(--ai-button-radius);
1394
1392
  }
1395
- .ai-chat-panel__messages::-webkit-scrollbar-track {
1396
- background: transparent;
1393
+ .ai-button:disabled {
1394
+ opacity: 0.5;
1395
+ cursor: not-allowed;
1397
1396
  }
1398
- .ai-chat-panel__messages::-webkit-scrollbar-thumb {
1399
- background-color: rgba(0, 0, 0, 0.2);
1400
- border-radius: 3px;
1397
+ .ai-button--primary {
1398
+ background-color: var(--ai-button-primary-bg);
1399
+ color: var(--ai-button-primary-text);
1401
1400
  }
1402
- .dark-theme .ai-chat-panel__messages::-webkit-scrollbar-thumb {
1403
- background-color: rgba(255, 255, 255, 0.2);
1401
+ .ai-button--primary:hover:not(:disabled) {
1402
+ background-color: var(--ai-button-primary-hover);
1404
1403
  }
1405
- .ai-chat-panel__messages::-webkit-scrollbar-thumb:hover {
1406
- background-color: rgba(0, 0, 0, 0.3);
1404
+ .ai-button--secondary {
1405
+ background-color: var(--ai-button-secondary-bg);
1406
+ color: var(--ai-button-secondary-text);
1407
+ border: 1px solid var(--ai-button-secondary-border);
1407
1408
  }
1408
- .dark-theme .ai-chat-panel__messages::-webkit-scrollbar-thumb:hover {
1409
- background-color: rgba(255, 255, 255, 0.3);
1409
+ .ai-button--secondary:hover:not(:disabled) {
1410
+ background-color: var(--ai-button-secondary-hover);
1410
1411
  }
1411
- @media (max-width: 480px) {
1412
- .ai-chat-message {
1413
- max-width: 95%;
1414
- }
1415
- .ai-chat-suggestions {
1416
- flex-direction: column;
1417
- }
1418
- .ai-chat-suggestions__button {
1419
- width: 100%;
1420
- }
1412
+ .ai-button--ghost {
1413
+ background-color: transparent;
1414
+ color: var(--ai-sidebar-text);
1421
1415
  }
1422
- .ai-chat-panel {
1423
- container-type: inline-size;
1424
- container-name: chat-panel;
1416
+ .ai-button--ghost:hover:not(:disabled) {
1417
+ background-color: var(--ai-button-ghost-hover);
1425
1418
  }
1426
- @container chat-panel (max-width: 380px) {
1427
- .ai-chat-suggestions {
1428
- flex-direction: column;
1429
- }
1430
- .ai-chat-suggestions__button {
1431
- width: 100%;
1432
- min-width: 0;
1433
- text-align: left;
1434
- word-wrap: break-word;
1435
- overflow-wrap: break-word;
1436
- hyphens: auto;
1437
- }
1438
- .ai-chat-message__content {
1439
- word-wrap: break-word;
1440
- overflow-wrap: break-word;
1441
- hyphens: auto;
1442
- }
1443
- .ai-chat-panel__messages {
1444
- padding: 12px;
1445
- }
1446
- .ai-chat-panel__input {
1447
- padding: 10px 12px;
1448
- }
1449
- .ai-chat-input {
1450
- min-height: 36px;
1451
- padding: 8px 12px;
1452
- font-size: 13px;
1453
- }
1419
+ .ai-button--outline {
1420
+ background-color: transparent;
1421
+ color: var(--ai-sidebar-text);
1422
+ border: 1px solid var(--ai-button-secondary-border);
1454
1423
  }
1455
- @container chat-panel (max-width: 320px) {
1456
- .ai-chat-panel__messages {
1457
- padding: 8px;
1458
- }
1459
- .ai-chat-panel__input {
1460
- padding: 8px;
1461
- gap: 6px;
1462
- }
1463
- .ai-chat-suggestions__button {
1464
- padding: 6px 10px;
1465
- font-size: 12px;
1466
- }
1467
- .ai-chat-send-button {
1468
- width: 36px;
1469
- height: 36px;
1470
- }
1424
+ .ai-button--outline:hover:not(:disabled) {
1425
+ background-color: var(--ai-button-ghost-hover);
1471
1426
  }
1472
- .ai-chat-panel__input-container {
1473
- margin: 12px 16px;
1474
- border: 1px solid var(--ai-chat-input-border);
1475
- border-radius: var(--ai-chat-input-radius);
1476
- background-color: var(--ai-chat-input-bg);
1477
- flex-shrink: 0;
1478
- transition: border-color 0.2s, box-shadow 0.2s;
1427
+ .ai-button--destructive {
1428
+ background-color: var(--ai-button-destructive-bg);
1429
+ color: var(--ai-button-destructive-text);
1479
1430
  }
1480
- .ai-chat-panel__input-container:focus-within {
1481
- border-color: var(--ai-chat-input-focus-border);
1482
- box-shadow: 0 0 0 3px var(--ai-chat-input-focus-ring);
1431
+ .ai-button--destructive:hover:not(:disabled) {
1432
+ background-color: var(--ai-button-destructive-hover);
1483
1433
  }
1484
- .ai-chat-panel__input-container--dropdown-open {
1485
- border-color: var(--ai-chat-input-focus-border);
1434
+ .ai-button--default {
1435
+ padding: 8px 16px;
1436
+ font-size: 14px;
1486
1437
  }
1487
- .ai-chat-panel__input-container .ai-chat-panel__input {
1488
- border-top: none;
1489
- padding: 8px 8px 4px 8px;
1438
+ .ai-button--sm {
1439
+ padding: 6px 12px;
1440
+ font-size: 13px;
1490
1441
  }
1491
- .ai-chat-panel__input-container .ai-chat-input {
1492
- border: none;
1493
- background: transparent;
1494
- padding: 4px 8px;
1495
- border-radius: 0;
1442
+ .ai-button--lg {
1443
+ padding: 10px 20px;
1444
+ font-size: 15px;
1496
1445
  }
1497
- .ai-chat-panel__input-container .ai-chat-input:focus {
1498
- border-color: transparent;
1499
- box-shadow: none;
1446
+ .ai-button--icon {
1447
+ width: 32px;
1448
+ height: 32px;
1449
+ padding: 0;
1500
1450
  }
1501
- .ai-chat-panel__input-footer {
1451
+ .ai-input-wrapper {
1452
+ position: relative;
1502
1453
  display: flex;
1503
1454
  align-items: center;
1504
- justify-content: space-between;
1505
- gap: 8px;
1506
- padding: 0 8px 8px 8px;
1507
- flex-shrink: 0;
1455
+ width: 100%;
1508
1456
  }
1509
- .ai-chat-panel__input-footer-spacer {
1510
- flex: 1;
1457
+ .ai-input-icon {
1458
+ position: absolute;
1459
+ left: 10px;
1460
+ color: var(--ai-input-placeholder);
1461
+ pointer-events: none;
1462
+ display: flex;
1511
1463
  }
1512
- .ai-chat-agent-selector {
1464
+ .ai-input-wrapper .ai-input {
1465
+ padding-left: 34px;
1466
+ }
1467
+ .ai-input {
1468
+ width: 100%;
1469
+ padding: 8px 12px;
1470
+ font-size: 14px;
1471
+ font-family: inherit;
1472
+ color: var(--ai-input-text);
1473
+ background-color: var(--ai-input-bg);
1474
+ border: 1px solid var(--ai-input-border);
1475
+ border-radius: var(--ai-input-radius);
1476
+ outline: none;
1477
+ transition: border-color 0.15s, box-shadow 0.15s;
1478
+ }
1479
+ .ai-input::placeholder {
1480
+ color: var(--ai-input-placeholder);
1481
+ }
1482
+ .ai-input:focus {
1483
+ border-color: var(--ai-input-focus-border);
1484
+ box-shadow: 0 0 0 3px var(--ai-input-focus-ring);
1485
+ }
1486
+ .ai-select {
1513
1487
  position: relative;
1488
+ width: 100%;
1514
1489
  }
1515
- .ai-chat-agent-selector__trigger {
1490
+ .ai-select--disabled {
1491
+ opacity: 0.5;
1492
+ pointer-events: none;
1493
+ }
1494
+ .ai-select-trigger {
1516
1495
  display: flex;
1517
1496
  align-items: center;
1518
- gap: 4px;
1519
- padding: 2px 6px;
1520
- background: transparent;
1521
- border: none;
1522
- border-radius: 4px;
1523
- color: var(--ai-chat-footer-text, #6b7280);
1524
- font-size: 12px;
1497
+ justify-content: space-between;
1498
+ width: 100%;
1499
+ padding: 8px 12px;
1500
+ font-size: 14px;
1525
1501
  font-family: inherit;
1502
+ color: var(--ai-select-text);
1503
+ background-color: var(--ai-select-bg);
1504
+ border: 1px solid var(--ai-select-border);
1505
+ border-radius: var(--ai-input-radius);
1526
1506
  cursor: pointer;
1527
- transition: background-color 0.15s, color 0.15s;
1507
+ transition: border-color 0.15s;
1528
1508
  }
1529
- .ai-chat-agent-selector__trigger:hover {
1530
- background-color: var(--ai-button-ghost-hover, rgba(0, 0, 0, 0.04));
1531
- color: var(--ai-chat-assistant-text);
1509
+ .ai-select-trigger:hover {
1510
+ background-color: var(--ai-select-hover);
1532
1511
  }
1533
- .ai-chat-agent-selector__trigger:disabled {
1534
- opacity: 0.5;
1535
- cursor: not-allowed;
1512
+ .ai-select-value {
1513
+ display: flex;
1514
+ align-items: center;
1515
+ gap: 8px;
1536
1516
  }
1537
- .ai-chat-agent-selector__label {
1538
- font-weight: 500;
1517
+ .ai-select-placeholder {
1518
+ color: var(--ai-input-placeholder);
1539
1519
  }
1540
- .ai-chat-agent-selector__dropdown-inside .ai-chat-agent-selector__option {
1541
- border-radius: 0;
1520
+ .ai-select-icon {
1521
+ display: flex;
1542
1522
  }
1543
- .ai-chat-agent-selector__dropdown-inside .ai-chat-agent-selector__option:first-child {
1544
- border-top-left-radius: 0;
1545
- border-top-right-radius: 0;
1523
+ .ai-select-chevron {
1524
+ color: var(--ai-input-placeholder);
1546
1525
  }
1547
- .ai-chat-agent-selector__dropdown-inside .ai-chat-agent-selector__option:last-child {
1548
- border-bottom-left-radius: calc(var(--ai-chat-input-radius) - 1px);
1549
- border-bottom-right-radius: calc(var(--ai-chat-input-radius) - 1px);
1550
- }
1551
- .ai-chat-agent-selector__dropdown {
1526
+ .ai-select-content {
1552
1527
  position: absolute;
1553
- bottom: 100%;
1528
+ top: 100%;
1554
1529
  left: 0;
1555
- min-width: 200px;
1556
- max-width: 280px;
1557
- margin-bottom: 6px;
1558
- background-color: var(--ai-select-bg, #ffffff);
1559
- border: 1px solid var(--ai-select-border, #d1d5db);
1560
- border-radius: 8px;
1561
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
1562
- z-index: 1000;
1563
- overflow: hidden;
1564
- animation: ai-chat-dropdown-appear 0.15s ease-out;
1565
- }
1566
- .dark-theme .ai-chat-agent-selector__dropdown {
1567
- background-color: var(--ai-select-bg, #1f2937);
1568
- border-color: var(--ai-select-border, #374151);
1569
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
1570
- }
1571
- .ai-chat-agent-selector__dropdown-inside {
1572
- background-color: var(--ai-select-bg, #f9fafb);
1573
- overflow: hidden;
1574
- animation: ai-chat-dropdown-inside-appear 0.15s ease-out;
1575
- max-height: 200px;
1530
+ right: 0;
1531
+ margin-top: 4px;
1532
+ background-color: var(--ai-select-bg);
1533
+ border: 1px solid var(--ai-select-border);
1534
+ border-radius: var(--ai-input-radius);
1535
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1536
+ z-index: 100;
1537
+ max-height: 240px;
1576
1538
  overflow-y: auto;
1577
1539
  }
1578
- .dark-theme .ai-chat-agent-selector__dropdown-inside {
1579
- background-color: var(--ai-select-bg, #1f2937);
1580
- }
1581
- @keyframes ai-chat-dropdown-inside-appear {
1582
- from {
1583
- opacity: 0;
1584
- max-height: 0;
1585
- }
1586
- to {
1587
- opacity: 1;
1588
- max-height: 200px;
1589
- }
1590
- }
1591
- @keyframes ai-chat-dropdown-appear {
1592
- from {
1593
- opacity: 0;
1594
- transform: translateY(4px);
1595
- }
1596
- to {
1597
- opacity: 1;
1598
- transform: translateY(0);
1599
- }
1600
- }
1601
- .ai-chat-agent-selector__option {
1540
+ .ai-select-item {
1602
1541
  display: flex;
1603
1542
  align-items: center;
1604
- gap: 8px;
1605
1543
  width: 100%;
1606
- padding: 8px 10px;
1544
+ padding: 10px 12px;
1545
+ font-size: 14px;
1546
+ font-family: inherit;
1547
+ color: var(--ai-select-text);
1607
1548
  background: none;
1608
1549
  border: none;
1609
- color: var(--ai-select-text, #1f2937);
1610
- font-size: 12px;
1611
- font-family: inherit;
1612
- text-align: left;
1613
1550
  cursor: pointer;
1551
+ text-align: left;
1552
+ gap: 8px;
1614
1553
  transition: background-color 0.15s;
1615
1554
  }
1616
- .dark-theme .ai-chat-agent-selector__option {
1617
- color: var(--ai-select-text, #f3f4f6);
1618
- }
1619
- .ai-chat-agent-selector__option:hover {
1620
- background-color: var(--ai-select-item-hover, #f3f4f6);
1621
- }
1622
- .dark-theme .ai-chat-agent-selector__option:hover {
1623
- background-color: var(--ai-select-item-hover, #374151);
1624
- }
1625
- .ai-chat-agent-selector__option--selected {
1626
- background-color: var(--ai-select-item-selected, #eff6ff);
1627
- }
1628
- .dark-theme .ai-chat-agent-selector__option--selected {
1629
- background-color: var(--ai-select-item-selected, #1e3a5f);
1630
- }
1631
- .ai-chat-agent-selector__avatar {
1632
- width: 20px;
1633
- height: 20px;
1634
- border-radius: 50%;
1635
- object-fit: cover;
1636
- flex-shrink: 0;
1555
+ .ai-select-item:hover {
1556
+ background-color: var(--ai-select-item-hover);
1637
1557
  }
1638
- .ai-chat-agent-selector__option-avatar {
1639
- width: 24px;
1640
- height: 24px;
1641
- border-radius: 50%;
1642
- object-fit: cover;
1643
- flex-shrink: 0;
1558
+ .ai-select-item--selected {
1559
+ background-color: var(--ai-select-item-selected);
1644
1560
  }
1645
- .ai-chat-agent-selector__option-icon {
1561
+ .ai-select-item-icon {
1646
1562
  display: flex;
1647
- color: var(--ai-chat-footer-text, #9ca3af);
1648
1563
  }
1649
- .ai-chat-agent-selector__option-content {
1564
+ .ai-select-item-content {
1650
1565
  flex: 1;
1651
1566
  min-width: 0;
1652
1567
  }
1653
- .ai-chat-agent-selector__option-label {
1568
+ .ai-select-item-label {
1654
1569
  display: block;
1655
1570
  font-weight: 500;
1656
1571
  }
1657
- .ai-chat-agent-selector__option-description {
1572
+ .ai-select-item-description {
1658
1573
  display: block;
1659
- font-size: 11px;
1660
- color: var(--ai-sidebar-text-muted, #6b7280);
1574
+ font-size: 12px;
1575
+ color: var(--ai-sidebar-text-muted);
1661
1576
  margin-top: 2px;
1662
- white-space: nowrap;
1663
- overflow: hidden;
1664
- text-overflow: ellipsis;
1665
- }
1666
- .ai-chat-agent-selector__option-check {
1667
- display: flex;
1668
- color: var(--ai-button-primary-bg, #3b82f6);
1669
- }
1670
- @container chat-panel (max-width: 380px) {
1671
- .ai-chat-panel__input-container {
1672
- margin: 10px 12px;
1673
- }
1674
- .ai-chat-panel__input-footer {
1675
- padding: 0 6px 6px 6px;
1676
- }
1677
- .ai-chat-agent-selector__trigger {
1678
- padding: 2px 6px;
1679
- font-size: 12px;
1680
- }
1681
- .ai-chat-agent-selector__dropdown {
1682
- min-width: 180px;
1683
- }
1684
- .ai-chat-agent-selector__dropdown-inside {
1685
- max-height: 160px;
1686
- }
1687
- .ai-chat-send-button {
1688
- width: 22px;
1689
- height: 22px;
1690
- }
1691
1577
  }
1692
- @container chat-panel (max-width: 320px) {
1693
- .ai-chat-panel__input-container {
1694
- margin: 8px;
1695
- }
1696
- .ai-chat-panel__input-footer {
1697
- padding: 0 6px 4px 6px;
1698
- }
1699
- .ai-chat-send-button {
1700
- width: 20px;
1701
- height: 20px;
1702
- }
1578
+ .ai-select-item-check {
1579
+ color: var(--ai-button-primary-bg);
1703
1580
  }
1704
- .ai-chat-agent-suggestion {
1705
- display: flex;
1706
- align-items: center;
1707
- justify-content: space-between;
1708
- gap: 12px;
1709
- padding: 12px 16px;
1710
- margin: 12px 0;
1711
- background-color: var(--ai-chat-suggestion-bg);
1712
- border: 1px solid var(--ai-chat-suggestion-border);
1713
- border-radius: 8px;
1714
- transition: border-color 0.15s, box-shadow 0.15s;
1581
+ .ai-scroll-area {
1582
+ overflow: hidden;
1583
+ position: relative;
1715
1584
  }
1716
- .ai-chat-agent-suggestion:hover {
1717
- border-color: var(--ai-chat-input-focus-border);
1718
- box-shadow: 0 0 0 2px var(--ai-chat-input-focus-ring);
1585
+ .ai-scroll-area-viewport {
1586
+ height: 100%;
1587
+ overflow-y: auto;
1588
+ scrollbar-width: thin;
1589
+ scrollbar-color: var(--ai-scrollbar-thumb) var(--ai-scrollbar-track);
1719
1590
  }
1720
- .ai-chat-agent-suggestion__content {
1721
- display: flex;
1722
- align-items: center;
1723
- gap: 10px;
1724
- flex: 1;
1725
- min-width: 0;
1591
+ .ai-scroll-area-viewport::-webkit-scrollbar {
1592
+ width: var(--ai-scrollbar-width);
1726
1593
  }
1727
- .ai-chat-agent-suggestion__icon {
1728
- display: flex;
1729
- align-items: center;
1730
- justify-content: center;
1731
- width: 32px;
1732
- height: 32px;
1733
- border-radius: 8px;
1734
- background-color: var(--ai-button-primary-bg, #3b82f6);
1735
- color: white;
1736
- flex-shrink: 0;
1594
+ .ai-scroll-area-viewport::-webkit-scrollbar-track {
1595
+ background: var(--ai-scrollbar-track);
1737
1596
  }
1738
- .ai-chat-agent-suggestion__icon svg {
1739
- width: 16px;
1740
- height: 16px;
1597
+ .ai-scroll-area-viewport::-webkit-scrollbar-thumb {
1598
+ background-color: var(--ai-scrollbar-thumb);
1599
+ border-radius: 3px;
1741
1600
  }
1742
- .ai-chat-agent-suggestion__text {
1743
- display: flex;
1744
- flex-direction: column;
1745
- gap: 2px;
1746
- min-width: 0;
1601
+ .ai-scroll-area-viewport::-webkit-scrollbar-thumb:hover {
1602
+ background-color: var(--ai-scrollbar-thumb-hover);
1747
1603
  }
1748
- .ai-chat-agent-suggestion__label {
1749
- font-weight: 600;
1750
- font-size: 14px;
1751
- color: var(--ai-chat-assistant-text);
1604
+ .ai-tooltip-trigger {
1605
+ position: relative;
1606
+ display: inline-flex;
1752
1607
  }
1753
- .ai-chat-agent-suggestion__reason {
1608
+ .ai-tooltip {
1609
+ position: absolute;
1610
+ z-index: 1000;
1611
+ padding: 6px 10px;
1754
1612
  font-size: 12px;
1755
- color: var(--ai-sidebar-text-muted, #6b7280);
1613
+ color: var(--ai-tooltip-text);
1614
+ background-color: var(--ai-tooltip-bg);
1615
+ border-radius: var(--ai-tooltip-radius);
1756
1616
  white-space: nowrap;
1757
- overflow: hidden;
1758
- text-overflow: ellipsis;
1759
- }
1760
- .ai-chat-agent-suggestion__button {
1761
- flex-shrink: 0;
1617
+ pointer-events: none;
1618
+ animation: ai-tooltip-fade-in 0.15s ease;
1762
1619
  }
1763
- .dark-theme .ai-chat-agent-suggestion {
1764
- background-color: var(--ai-chat-suggestion-bg);
1765
- border-color: var(--ai-chat-suggestion-border);
1620
+ @keyframes ai-tooltip-fade-in {
1621
+ from {
1622
+ opacity: 0;
1623
+ transform: scale(0.95);
1624
+ }
1625
+ to {
1626
+ opacity: 1;
1627
+ transform: scale(1);
1628
+ }
1766
1629
  }
1767
- .dark-theme .ai-chat-agent-suggestion__label {
1768
- color: var(--ai-chat-assistant-text);
1630
+ .ai-tooltip--top {
1631
+ bottom: 100%;
1632
+ left: 50%;
1633
+ transform: translateX(-50%);
1634
+ margin-bottom: 6px;
1769
1635
  }
1770
- .dark-theme .ai-chat-agent-suggestion__reason {
1771
- color: var(--ai-sidebar-text-muted, #9ca3af);
1772
- }
1773
- .ai-chat-agent-suggestion__avatar {
1774
- width: 32px;
1775
- height: 32px;
1776
- border-radius: 8px;
1777
- object-fit: cover;
1778
- flex-shrink: 0;
1779
- }
1780
- .ai-chat-agent-suggestion--invalid {
1781
- opacity: 0.7;
1782
- }
1783
- .ai-chat-agent-suggestion--invalid:hover {
1784
- border-color: var(--ai-chat-suggestion-border);
1785
- box-shadow: none;
1786
- }
1787
- .ai-chat-agent-suggestion__unavailable {
1788
- font-size: 12px;
1789
- color: var(--ai-sidebar-text-muted, #6b7280);
1790
- font-style: italic;
1791
- flex-shrink: 0;
1636
+ .ai-tooltip--bottom {
1637
+ top: 100%;
1638
+ left: 50%;
1639
+ transform: translateX(-50%);
1640
+ margin-top: 6px;
1792
1641
  }
1793
- .ai-chat-agent-suggestion--switched {
1794
- background-color: rgba(34, 197, 94, 0.08);
1795
- border-color: rgba(34, 197, 94, 0.3);
1642
+ .ai-tooltip--left {
1643
+ right: 100%;
1644
+ top: 50%;
1645
+ transform: translateY(-50%);
1646
+ margin-right: 6px;
1796
1647
  }
1797
- .ai-chat-agent-suggestion--switched:hover {
1798
- border-color: rgba(34, 197, 94, 0.4);
1799
- box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.1);
1648
+ .ai-tooltip--right {
1649
+ left: 100%;
1650
+ top: 50%;
1651
+ transform: translateY(-50%);
1652
+ margin-left: 6px;
1800
1653
  }
1801
- .ai-chat-agent-suggestion__icon--switched {
1802
- background-color: #22c55e;
1654
+ .ai-tooltip-arrow {
1655
+ display: none;
1803
1656
  }
1804
- .ai-chat-agent-suggestion__switched-badge {
1657
+ .ai-dialog-overlay {
1658
+ position: fixed;
1659
+ top: 0;
1660
+ left: 0;
1661
+ right: 0;
1662
+ bottom: 0;
1663
+ background-color: var(--ai-dialog-overlay);
1805
1664
  display: flex;
1806
1665
  align-items: center;
1807
- gap: 4px;
1808
- padding: 6px 12px;
1809
- background-color: rgba(34, 197, 94, 0.1);
1810
- color: #16a34a;
1811
- border-radius: 6px;
1812
- font-size: 12px;
1813
- font-weight: 600;
1814
- flex-shrink: 0;
1815
- }
1816
- .dark-theme .ai-chat-agent-suggestion--switched {
1817
- background-color: rgba(34, 197, 94, 0.12);
1818
- border-color: rgba(34, 197, 94, 0.25);
1819
- }
1820
- .dark-theme .ai-chat-agent-suggestion__switched-badge {
1821
- background-color: rgba(34, 197, 94, 0.15);
1822
- color: #4ade80;
1666
+ justify-content: center;
1667
+ z-index: 10000;
1668
+ animation: ai-dialog-overlay-fade-in 0.2s ease;
1823
1669
  }
1824
- @container chat-panel (max-width: 380px) {
1825
- .ai-chat-agent-suggestion {
1826
- flex-direction: column;
1827
- align-items: stretch;
1828
- gap: 10px;
1829
- padding: 10px 12px;
1830
- }
1831
- .ai-chat-agent-suggestion__button {
1832
- width: 100%;
1670
+ @keyframes ai-dialog-overlay-fade-in {
1671
+ from {
1672
+ opacity: 0;
1833
1673
  }
1834
- .ai-chat-agent-suggestion__reason {
1835
- white-space: normal;
1674
+ to {
1675
+ opacity: 1;
1836
1676
  }
1837
1677
  }
1838
- .ai-chat-context-pill-wrapper {
1678
+ .ai-dialog {
1839
1679
  position: relative;
1840
- flex-shrink: 0;
1841
- }
1842
- .ai-chat-context-pill {
1843
- display: flex;
1844
- align-items: center;
1845
- gap: 6px;
1846
- padding: 4px 10px;
1847
- background: var(--ai-chat-suggestion-bg, #f3f4f6);
1848
- border: none;
1849
- border-radius: 999px;
1850
- color: var(--ai-sidebar-text-muted, #6b7280);
1851
- font-size: 12px;
1852
- cursor: pointer;
1853
- transition: all 0.15s ease;
1854
- font-family: inherit;
1855
- }
1856
- .ai-chat-context-pill:hover {
1857
- background: var(--ai-chat-suggestion-hover-bg, #e5e7eb);
1858
- color: var(--ai-chat-input-text, #1f2937);
1859
- }
1860
- .ai-chat-context-pill--active {
1861
- background: var(--ai-chat-suggestion-hover-bg, #e5e7eb);
1862
- color: var(--ai-chat-input-text, #1f2937);
1863
- }
1864
- .ai-chat-context-pill--warning {
1865
- color: #f59e0b;
1866
- }
1867
- .ai-chat-context-pill__count {
1868
- display: none;
1869
- border-radius: 999px;
1870
- }
1871
- .ai-chat-context-pill__label {
1872
- font-weight: 400;
1873
- color: var(--ai-sidebar-text-muted, #6b7280);
1874
- font-size: 12px;
1875
- }
1876
- .ai-chat-context-pill__tokens {
1877
- display: none;
1878
- }
1879
- .ai-chat-context-popover {
1880
- position: absolute;
1881
- bottom: calc(100% + 8px);
1882
- left: 50%;
1883
- transform: translateX(-50%);
1884
- min-width: 280px;
1885
- max-width: 360px;
1886
- background: var(--ai-chat-input-bg, #ffffff);
1887
- border: 1px solid var(--ai-chat-input-border, #e5e7eb);
1888
- border-radius: 12px;
1889
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
1890
- z-index: 1000;
1891
- overflow: hidden;
1892
- animation: contextPopoverSlideUp 0.15s ease-out;
1893
- }
1894
- .ai-chat-context-popover--detail {
1895
- position: fixed;
1896
- bottom: 80px;
1897
- left: 50%;
1898
- transform: translateX(-50%);
1899
- width: calc(100vw - 100px);
1900
- max-width: 800px;
1901
- min-width: 500px;
1902
- max-height: calc(100vh - 200px);
1903
- z-index: 1001;
1680
+ background-color: var(--ai-dialog-bg);
1681
+ border: 1px solid var(--ai-dialog-border);
1682
+ border-radius: var(--ai-dialog-radius);
1683
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
1684
+ max-width: 420px;
1685
+ width: 90%;
1686
+ animation: ai-dialog-slide-in 0.2s ease;
1904
1687
  }
1905
- @keyframes contextPopoverSlideUp {
1688
+ @keyframes ai-dialog-slide-in {
1906
1689
  from {
1907
1690
  opacity: 0;
1908
- transform: translateX(-50%) translateY(4px);
1691
+ transform: scale(0.95) translateY(-10px);
1909
1692
  }
1910
1693
  to {
1911
1694
  opacity: 1;
1912
- transform: translateX(-50%) translateY(0);
1695
+ transform: scale(1) translateY(0);
1913
1696
  }
1914
1697
  }
1915
- .ai-chat-context-popover__header {
1916
- display: flex;
1917
- align-items: center;
1918
- justify-content: space-between;
1919
- padding: 12px 14px;
1920
- border-bottom: 1px solid var(--ai-chat-suggestion-border, #e5e7eb);
1698
+ .ai-dialog-header {
1699
+ padding: 20px 20px 12px;
1921
1700
  }
1922
- .ai-chat-context-popover__title {
1701
+ .ai-dialog-title {
1702
+ margin: 0;
1703
+ font-size: 16px;
1923
1704
  font-weight: 600;
1924
- font-size: 13px;
1925
- color: var(--ai-chat-input-text, #1f2937);
1705
+ color: var(--ai-dialog-title-color);
1926
1706
  }
1927
- .ai-chat-context-popover__close {
1707
+ .ai-dialog-description {
1708
+ margin: 8px 0 0;
1709
+ font-size: 14px;
1710
+ color: var(--ai-dialog-description-color);
1711
+ line-height: 1.5;
1712
+ }
1713
+ .ai-dialog-content {
1714
+ padding: 0 20px 20px;
1715
+ }
1716
+ .ai-dialog-footer {
1717
+ display: flex;
1718
+ justify-content: flex-end;
1719
+ gap: 8px;
1720
+ padding: 16px 20px;
1721
+ border-top: 1px solid var(--ai-dialog-border);
1722
+ }
1723
+ .ai-dialog-close {
1724
+ position: absolute;
1725
+ top: 12px;
1726
+ right: 12px;
1727
+ width: 28px;
1728
+ height: 28px;
1928
1729
  display: flex;
1929
1730
  align-items: center;
1930
1731
  justify-content: center;
1931
- width: 24px;
1932
- height: 24px;
1933
- background: transparent;
1732
+ background: none;
1934
1733
  border: none;
1935
- border-radius: 6px;
1936
- color: var(--ai-sidebar-text-muted, #9ca3af);
1937
- font-size: 18px;
1734
+ color: var(--ai-sidebar-text-muted);
1938
1735
  cursor: pointer;
1939
- transition: all 0.15s;
1940
- }
1941
- .ai-chat-context-popover__close:hover {
1942
- background: var(--ai-chat-suggestion-bg, #f3f4f6);
1943
- color: var(--ai-chat-input-text, #1f2937);
1944
- }
1945
- .ai-chat-context-popover__token-bar {
1946
- padding: 10px 14px;
1947
- background: var(--ai-chat-suggestion-bg, #f9fafb);
1948
- }
1949
- .ai-chat-context-popover__token-info {
1950
- display: flex;
1951
- align-items: baseline;
1952
- gap: 4px;
1953
- margin-bottom: 6px;
1954
- font-size: 12px;
1955
- }
1956
- .ai-chat-context-popover__token-info > span:first-child {
1957
- font-weight: 600;
1958
- color: var(--ai-chat-input-text, #1f2937);
1959
- }
1960
- .ai-chat-context-popover__token-limit {
1961
- color: var(--ai-sidebar-text-muted, #9ca3af);
1962
- }
1963
- .ai-chat-context-popover__tokens--warning {
1964
- color: #f59e0b !important;
1736
+ border-radius: 4px;
1737
+ transition: background-color 0.15s, color 0.15s;
1965
1738
  }
1966
- .ai-chat-context-popover__progress {
1967
- height: 4px;
1968
- background: var(--ai-chat-suggestion-border, #e5e7eb);
1969
- border-radius: 2px;
1970
- overflow: hidden;
1739
+ .ai-dialog-close:hover {
1740
+ background-color: var(--ai-button-ghost-hover);
1741
+ color: var(--ai-sidebar-text);
1971
1742
  }
1972
- .ai-chat-context-popover__progress-bar {
1973
- height: 100%;
1974
- background: #22c55e;
1975
- border-radius: 2px;
1976
- transition: width 0.3s ease;
1743
+ @media (max-width: 600px) {
1744
+ .ai-agent-panel {
1745
+ width: 100% !important;
1746
+ }
1747
+ .ai-agent-panel__sidebar {
1748
+ width: 240px;
1749
+ min-width: unset;
1750
+ max-width: 280px;
1751
+ position: absolute;
1752
+ left: 0;
1753
+ top: 0;
1754
+ bottom: 0;
1755
+ z-index: 100;
1756
+ transform: translateX(-100%);
1757
+ transition: transform var(--ai-panel-transition);
1758
+ }
1759
+ .ai-agent-panel--left .ai-agent-panel__sidebar {
1760
+ transform: translateX(100%);
1761
+ left: auto;
1762
+ right: 0;
1763
+ }
1764
+ .ai-agent-panel__sidebar--open {
1765
+ transform: translateX(0);
1766
+ }
1767
+ .ai-agent-panel__resize-handle {
1768
+ display: none;
1769
+ }
1770
+ .ai-agent-panel__chat {
1771
+ min-width: 0;
1772
+ }
1977
1773
  }
1978
- .ai-chat-context-popover__progress-bar--warning {
1979
- background: #f59e0b;
1774
+ .ai-agent-panel[style*=width] {
1775
+ flex-shrink: 0;
1980
1776
  }
1981
- .ai-chat-context-popover__summary {
1982
- display: flex;
1983
- flex-direction: column;
1777
+ .ai-agent-panel__chat {
1778
+ container-type: inline-size;
1779
+ container-name: agent-chat;
1984
1780
  }
1985
- .ai-chat-context-popover__sections {
1986
- display: flex;
1987
- flex-direction: column;
1988
- max-height: 200px;
1989
- overflow-y: auto;
1781
+ @container agent-chat (max-width: 380px) {
1782
+ .ai-agent-panel__agent-selector {
1783
+ padding: 6px 8px;
1784
+ }
1785
+ .ai-agent-panel__initial-message {
1786
+ padding: 12px;
1787
+ font-size: 13px;
1788
+ word-wrap: break-word;
1789
+ overflow-wrap: break-word;
1790
+ hyphens: auto;
1791
+ }
1792
+ .ai-agent-panel__empty-state {
1793
+ padding: 16px 12px;
1794
+ }
1795
+ .ai-agent-panel__empty-icon {
1796
+ width: 40px;
1797
+ height: 40px;
1798
+ }
1799
+ .ai-agent-panel__empty-title {
1800
+ font-size: 14px;
1801
+ }
1802
+ .ai-agent-panel__empty-description {
1803
+ font-size: 12px;
1804
+ }
1990
1805
  }
1991
- .ai-chat-context-popover__section-item {
1806
+ @container agent-chat (max-width: 320px) {
1807
+ .ai-agent-panel__header-actions {
1808
+ gap: 4px;
1809
+ }
1810
+ .ai-agent-panel__header-button {
1811
+ padding: 4px;
1812
+ }
1813
+ .ai-agent-panel__agent-selector .ai-select {
1814
+ font-size: 13px;
1815
+ }
1816
+ }
1817
+ .ai-agent-panel__group--active {
1818
+ background-color: var(--ai-conversation-active);
1819
+ border-radius: 6px;
1820
+ margin-bottom: 8px;
1821
+ padding: 4px;
1822
+ }
1823
+ .ai-agent-panel__group--active .ai-agent-panel__group-label {
1824
+ color: var(--ai-button-primary-bg);
1825
+ font-weight: 600;
1826
+ }
1827
+ .ai-agent-panel__conversation--active-item {
1992
1828
  display: flex;
1993
1829
  align-items: center;
1994
- gap: 10px;
1995
- padding: 10px 14px;
1996
- border-bottom: 1px solid var(--ai-chat-suggestion-border, #f3f4f6);
1997
- transition: background 0.1s;
1830
+ justify-content: space-between;
1831
+ background-color: var(--ai-sidebar-bg);
1832
+ border-radius: 4px;
1833
+ margin: 2px 0;
1998
1834
  }
1999
- .ai-chat-context-popover__section-item:last-child {
2000
- border-bottom: none;
1835
+ .ai-agent-panel__conversation--active-item .ai-agent-panel__conversation-content {
1836
+ flex: 1;
1837
+ min-width: 0;
2001
1838
  }
2002
- .ai-chat-context-popover__section-item--clickable {
2003
- cursor: pointer;
1839
+ .ai-agent-panel__conversation--active-item .ai-agent-panel__conversation-title {
1840
+ display: flex;
1841
+ align-items: center;
1842
+ gap: 6px;
2004
1843
  }
2005
- .ai-chat-context-popover__section-item--clickable:hover {
2006
- background: var(--ai-chat-suggestion-bg, #f9fafb);
1844
+ .ai-agent-panel__conversation--current {
1845
+ background-color: var(--ai-conversation-active) !important;
1846
+ border-left: 2px solid var(--ai-button-primary-bg);
2007
1847
  }
2008
- .ai-chat-context-popover__section-icon {
2009
- font-size: 14px;
1848
+ .ai-agent-panel__conversation--in-active {
2010
1849
  opacity: 0.7;
2011
1850
  }
2012
- .ai-chat-context-popover__section-title {
2013
- flex: 1;
2014
- font-size: 13px;
2015
- font-weight: 500;
2016
- color: var(--ai-chat-input-text, #1f2937);
2017
- white-space: nowrap;
2018
- overflow: hidden;
2019
- text-overflow: ellipsis;
2020
- }
2021
- .ai-chat-context-popover__section-tokens {
2022
- font-size: 11px;
2023
- color: var(--ai-sidebar-text-muted, #9ca3af);
2024
- flex-shrink: 0;
1851
+ .ai-agent-panel__conversation--in-active:hover {
1852
+ opacity: 1;
2025
1853
  }
2026
- .ai-chat-context-popover__expand-btn {
1854
+ .ai-agent-panel__conversation-close {
2027
1855
  display: flex;
2028
1856
  align-items: center;
2029
1857
  justify-content: center;
2030
- width: 100%;
2031
- padding: 10px 14px;
2032
- background: transparent;
1858
+ width: 20px;
1859
+ height: 20px;
1860
+ padding: 0;
1861
+ margin-right: 4px;
1862
+ background: none;
2033
1863
  border: none;
2034
- border-top: 1px solid var(--ai-chat-suggestion-border, #e5e7eb);
2035
- color: var(--ai-button-primary-bg, #3b82f6);
2036
- font-size: 12px;
2037
- font-weight: 500;
1864
+ border-radius: 4px;
1865
+ color: var(--ai-sidebar-text-muted);
2038
1866
  cursor: pointer;
2039
- transition: background 0.15s;
1867
+ opacity: 0;
1868
+ transition:
1869
+ opacity 0.15s,
1870
+ background-color 0.15s,
1871
+ color 0.15s;
2040
1872
  }
2041
- .ai-chat-context-popover__expand-btn:hover {
2042
- background: var(--ai-chat-suggestion-bg, #f9fafb);
1873
+ .ai-agent-panel__conversation--active-item:hover .ai-agent-panel__conversation-close {
1874
+ opacity: 1;
2043
1875
  }
2044
- .ai-chat-context-popover__detail {
1876
+ .ai-agent-panel__conversation-close:hover {
1877
+ background-color: var(--ai-button-ghost-hover);
1878
+ color: var(--ai-sidebar-text);
1879
+ }
1880
+ .ai-agent-panel__active-badge {
1881
+ color: var(--ai-button-primary-bg);
1882
+ font-size: 8px;
1883
+ margin-right: 2px;
1884
+ }
1885
+ .ai-agent-panel__loading-dot {
1886
+ display: inline-block;
1887
+ width: 8px;
1888
+ height: 8px;
1889
+ border-radius: 50%;
1890
+ background-color: var(--ai-button-primary-bg);
1891
+ animation: ai-pulse 1.5s ease-in-out infinite;
1892
+ }
1893
+ @keyframes ai-pulse {
1894
+ 0%, 100% {
1895
+ opacity: 1;
1896
+ transform: scale(1);
1897
+ }
1898
+ 50% {
1899
+ opacity: 0.5;
1900
+ transform: scale(0.8);
1901
+ }
1902
+ }
1903
+ .ai-agent-panel__group-divider {
1904
+ height: 1px;
1905
+ background-color: var(--ai-sidebar-border);
1906
+ margin: 12px 8px;
1907
+ }
1908
+ .ai-agent-panel__chat-wrapper {
1909
+ position: absolute;
1910
+ top: 0;
1911
+ left: 0;
1912
+ right: 0;
1913
+ bottom: 0;
2045
1914
  display: flex;
2046
1915
  flex-direction: column;
2047
- height: 100%;
2048
- max-height: calc(100vh - 250px);
2049
- min-height: 300px;
1916
+ overflow: hidden;
2050
1917
  }
2051
- .ai-chat-context-popover__back {
1918
+ .ai-agent-panel__empty-chat {
1919
+ position: absolute;
1920
+ top: 0;
1921
+ left: 0;
1922
+ right: 0;
1923
+ bottom: 0;
2052
1924
  display: flex;
1925
+ flex-direction: column;
2053
1926
  align-items: center;
2054
- gap: 2px;
2055
- padding: 4px 8px;
2056
- margin-right: 8px;
2057
- background: transparent;
2058
- border: none;
2059
- border-radius: 6px;
2060
- color: var(--ai-sidebar-text-muted, #6b7280);
2061
- font-size: 12px;
2062
- cursor: pointer;
2063
- transition: all 0.15s;
1927
+ justify-content: center;
1928
+ gap: 16px;
1929
+ color: var(--ai-sidebar-text-muted);
1930
+ text-align: center;
1931
+ padding: 32px;
2064
1932
  }
2065
- .ai-chat-context-popover__back:hover {
2066
- background: var(--ai-chat-suggestion-bg, #f3f4f6);
2067
- color: var(--ai-chat-input-text, #1f2937);
1933
+ .ai-agent-panel__empty-chat svg {
1934
+ width: 48px;
1935
+ height: 48px;
1936
+ opacity: 0.5;
2068
1937
  }
2069
- .ai-chat-context-popover__detail-sections {
2070
- flex: 1;
2071
- overflow-y: auto;
2072
- padding: 12px;
2073
- min-height: 0;
1938
+ .ai-agent-panel__empty-chat p {
1939
+ margin: 0;
1940
+ font-size: 14px;
2074
1941
  }
2075
- .ai-chat-context-popover__detail-section {
2076
- margin-bottom: 6px;
2077
- background: var(--ai-chat-suggestion-bg, #f9fafb);
2078
- border-radius: 8px;
2079
- overflow: hidden;
1942
+ .ai-agent-panel__sidebar--collapsed {
1943
+ width: var(--ai-panel-collapsed-width) !important;
1944
+ min-width: var(--ai-panel-collapsed-width) !important;
1945
+ max-width: var(--ai-panel-collapsed-width) !important;
2080
1946
  }
2081
- .ai-chat-context-popover__detail-section-header {
1947
+ .ai-agent-panel__history-collapsed-bar {
2082
1948
  display: flex;
1949
+ flex-direction: column;
2083
1950
  align-items: center;
2084
- justify-content: space-between;
2085
- padding: 10px 12px;
2086
- cursor: pointer;
2087
- user-select: none;
2088
- list-style: none;
2089
- font-size: 13px;
1951
+ padding: 8px 4px;
1952
+ gap: 4px;
1953
+ width: 100%;
1954
+ height: 100%;
1955
+ background-color: var(--ai-sidebar-bg);
1956
+ cursor: pointer;
1957
+ transition: background-color 0.15s, box-shadow 0.15s;
2090
1958
  }
2091
- .ai-chat-context-popover__detail-section-header::-webkit-details-marker {
2092
- display: none;
1959
+ .ai-agent-panel__history-collapsed-bar:hover {
1960
+ background-color: var(--ai-sidebar-hover);
1961
+ box-shadow: inset -2px 0 0 var(--ai-button-primary-bg);
2093
1962
  }
2094
- .ai-chat-context-popover__detail-section-title {
2095
- font-weight: 600;
2096
- color: var(--ai-chat-input-text, #1f2937);
1963
+ .ai-agent-panel--sidebar-right .ai-agent-panel__history-collapsed-bar:hover {
1964
+ box-shadow: inset 2px 0 0 var(--ai-button-primary-bg);
2097
1965
  }
2098
- .ai-chat-context-popover__detail-section-meta {
2099
- display: flex;
2100
- align-items: center;
2101
- gap: 8px;
2102
- font-size: 11px;
2103
- color: var(--ai-sidebar-text-muted, #9ca3af);
1966
+ .ai-agent-panel__history-collapsed-spacer {
1967
+ flex: 1;
2104
1968
  }
2105
- .ai-chat-context-popover__detail-section-meta code {
2106
- background: var(--ai-chat-suggestion-hover-bg, #e5e7eb);
2107
- padding: 2px 6px;
2108
- border-radius: 4px;
2109
- font-family: "SF Mono", monospace;
2110
- font-size: 10px;
1969
+ .ai-agent-panel--sidebar-left .ai-agent-panel__sidebar--collapsed {
1970
+ border-right: 1px solid var(--ai-sidebar-border);
2111
1971
  }
2112
- .ai-chat-context-popover__detail-content {
2113
- margin: 0;
2114
- padding: 12px 14px;
2115
- background: var(--ai-chat-input-bg, #ffffff);
2116
- border-top: 1px solid var(--ai-chat-suggestion-border, #e5e7eb);
2117
- font-family:
2118
- "SF Mono",
2119
- "Monaco",
2120
- "Fira Code",
2121
- monospace;
2122
- font-size: 12px;
2123
- line-height: 1.6;
2124
- color: var(--ai-chat-input-text, #374151);
2125
- overflow-x: auto;
2126
- white-space: pre-wrap;
2127
- word-break: break-word;
2128
- max-height: 400px;
2129
- overflow-y: auto;
1972
+ .ai-agent-panel--sidebar-right .ai-agent-panel__sidebar--collapsed {
1973
+ border-left: 1px solid var(--ai-sidebar-border);
2130
1974
  }
2131
- .dark-theme .ai-chat-context-pill {
2132
- background: var(--ai-chat-suggestion-bg, #374151);
1975
+ .ai-agent-panel--no-history .ai-agent-panel__sidebar {
1976
+ display: none;
2133
1977
  }
2134
- .dark-theme .ai-chat-context-pill:hover,
2135
- .dark-theme .ai-chat-context-pill--active {
2136
- background: var(--ai-chat-suggestion-hover-bg, #4b5563);
1978
+ .ai-agent-panel--no-history .ai-agent-panel__chat {
1979
+ flex: 1;
1980
+ border: none;
2137
1981
  }
2138
- .dark-theme .ai-chat-context-popover {
2139
- background: var(--ai-chat-input-bg, #1f2937);
2140
- border-color: var(--ai-chat-input-border, #374151);
2141
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
1982
+ .ai-agent-panel__context-notification {
1983
+ position: absolute;
1984
+ bottom: 70px;
1985
+ left: 50%;
1986
+ transform: translateX(-50%);
1987
+ z-index: 50;
1988
+ display: flex;
1989
+ align-items: center;
1990
+ gap: 8px;
1991
+ padding: 8px 16px;
1992
+ background-color: var(--ai-agent-badge-bg);
1993
+ color: var(--ai-agent-badge-text);
1994
+ border-radius: 20px;
1995
+ font-size: 13px;
1996
+ font-weight: 500;
1997
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
1998
+ animation: ai-context-notification-in 0.3s ease-out, ai-context-notification-out 0.3s ease-in 2.7s forwards;
1999
+ pointer-events: none;
2142
2000
  }
2143
- .dark-theme .ai-chat-context-popover__token-bar {
2144
- background: var(--ai-chat-suggestion-bg, #111827);
2001
+ .ai-agent-panel__context-notification svg {
2002
+ flex-shrink: 0;
2003
+ animation: ai-sparkle-pulse 0.6s ease-in-out infinite alternate;
2145
2004
  }
2146
- .dark-theme .ai-chat-context-popover__detail-content {
2147
- background: #111827;
2005
+ @keyframes ai-context-notification-in {
2006
+ 0% {
2007
+ opacity: 0;
2008
+ transform: translateX(-50%) translateY(10px) scale(0.9);
2009
+ }
2010
+ 100% {
2011
+ opacity: 1;
2012
+ transform: translateX(-50%) translateY(0) scale(1);
2013
+ }
2148
2014
  }
2149
- @container chat-panel (max-width: 380px) {
2150
- .ai-chat-context-pill__label {
2151
- font-size: 11px;
2015
+ @keyframes ai-context-notification-out {
2016
+ 0% {
2017
+ opacity: 1;
2018
+ transform: translateX(-50%) translateY(0) scale(1);
2152
2019
  }
2153
- .ai-chat-context-popover {
2154
- min-width: 260px;
2155
- left: auto;
2156
- right: 0;
2157
- transform: none;
2020
+ 100% {
2021
+ opacity: 0;
2022
+ transform: translateX(-50%) translateY(10px) scale(0.9);
2158
2023
  }
2159
- @keyframes contextPopoverSlideUp {
2160
- from {
2161
- opacity: 0;
2162
- transform: translateY(4px);
2163
- }
2164
- to {
2165
- opacity: 1;
2166
- transform: translateY(0);
2167
- }
2024
+ }
2025
+ @keyframes ai-sparkle-pulse {
2026
+ 0% {
2027
+ opacity: 0.7;
2028
+ transform: scale(0.9);
2029
+ }
2030
+ 100% {
2031
+ opacity: 1;
2032
+ transform: scale(1.1);
2168
2033
  }
2169
2034
  }
2170
2035
 
2171
- /* src/AIAgentPanel.css */
2036
+ /* src/AIChatPanel.css */
2172
2037
  :root {
2173
- --ai-panel-width: 720px;
2174
- --ai-panel-min-width: 520px;
2175
- --ai-panel-max-width: 1200px;
2176
- --ai-panel-collapsed-width: 48px;
2177
- --ai-panel-border-radius: 0;
2178
- --ai-panel-transition: 0.2s ease;
2179
- --ai-sidebar-bg: #f8f9fa;
2180
- --ai-sidebar-border: #e5e7eb;
2181
- --ai-sidebar-text: #374151;
2182
- --ai-sidebar-text-muted: #6b7280;
2183
- --ai-sidebar-hover: #f3f4f6;
2184
- --ai-sidebar-active: #e5e7eb;
2185
- --ai-header-bg: #ffffff;
2186
- --ai-header-border: #e5e7eb;
2187
- --ai-header-height: 52px;
2188
- --ai-agent-badge-bg: #dbeafe;
2189
- --ai-agent-badge-text: #1d4ed8;
2190
- --ai-agent-selector-bg: #ffffff;
2191
- --ai-agent-selector-border: #e5e7eb;
2192
- --ai-conversation-bg: transparent;
2193
- --ai-conversation-hover: rgba(0, 0, 0, 0.04);
2194
- --ai-conversation-active: rgba(0, 0, 0, 0.08);
2195
- --ai-conversation-title-color: #1f2937;
2196
- --ai-conversation-preview-color: #6b7280;
2197
- --ai-conversation-meta-color: #9ca3af;
2198
- --ai-group-label-color: #9ca3af;
2199
- --ai-group-label-size: 0.75rem;
2200
- --ai-button-primary-bg: #3b82f6;
2201
- --ai-button-primary-text: #ffffff;
2202
- --ai-button-primary-hover: #2563eb;
2203
- --ai-button-secondary-bg: #f3f4f6;
2204
- --ai-button-secondary-text: #374151;
2205
- --ai-button-secondary-border: #d1d5db;
2206
- --ai-button-secondary-hover: #e5e7eb;
2207
- --ai-button-ghost-hover: rgba(0, 0, 0, 0.06);
2208
- --ai-button-destructive-bg: #ef4444;
2209
- --ai-button-destructive-text: #ffffff;
2210
- --ai-button-destructive-hover: #dc2626;
2211
- --ai-button-radius: 6px;
2212
- --ai-input-bg: #ffffff;
2213
- --ai-input-border: #d1d5db;
2214
- --ai-input-text: #1f2937;
2215
- --ai-input-placeholder: #9ca3af;
2216
- --ai-input-focus-border: #3b82f6;
2217
- --ai-input-focus-ring: rgba(59, 130, 246, 0.2);
2218
- --ai-input-radius: 6px;
2219
- --ai-select-bg: #ffffff;
2220
- --ai-select-border: #d1d5db;
2221
- --ai-select-text: #1f2937;
2222
- --ai-select-hover: #f9fafb;
2223
- --ai-select-item-hover: #f3f4f6;
2224
- --ai-select-item-selected: #eff6ff;
2225
- --ai-tooltip-bg: #1f2937;
2226
- --ai-tooltip-text: #ffffff;
2227
- --ai-tooltip-radius: 4px;
2228
- --ai-dialog-bg: #ffffff;
2229
- --ai-dialog-border: #e5e7eb;
2230
- --ai-dialog-overlay: rgba(0, 0, 0, 0.5);
2231
- --ai-dialog-title-color: #1f2937;
2232
- --ai-dialog-description-color: #6b7280;
2233
- --ai-dialog-radius: 8px;
2234
- --ai-scrollbar-track: transparent;
2235
- --ai-scrollbar-thumb: #d1d5db;
2236
- --ai-scrollbar-thumb-hover: #9ca3af;
2237
- --ai-scrollbar-width: 6px;
2238
- --ai-context-bg: #f9fafb;
2239
- --ai-context-border: #e5e7eb;
2240
- --ai-context-text: #6b7280;
2241
- --ai-context-warning: #f59e0b;
2242
- --ai-loading-spinner: #3b82f6;
2243
- --ai-resize-handle-width: 4px;
2244
- --ai-resize-handle-color: transparent;
2245
- --ai-resize-handle-hover: #3b82f6;
2246
- --ai-chat-bg: #ffffff;
2038
+ --ai-chat-user-bg: #e5e7eb;
2039
+ --ai-chat-user-text: #1f2937;
2040
+ --ai-chat-assistant-bg: transparent;
2041
+ --ai-chat-assistant-text: #374151;
2042
+ --ai-chat-message-radius: 12px;
2043
+ --ai-chat-message-padding: 12px 16px;
2044
+ --ai-chat-message-max-width: 85%;
2045
+ --ai-chat-input-bg: #ffffff;
2046
+ --ai-chat-input-border: #d1d5db;
2047
+ --ai-chat-input-text: #1f2937;
2048
+ --ai-chat-input-placeholder: #9ca3af;
2049
+ --ai-chat-input-focus-border: #3b82f6;
2050
+ --ai-chat-input-focus-ring: rgba(59, 130, 246, 0.2);
2051
+ --ai-chat-input-radius: 12px;
2052
+ --ai-chat-suggestion-bg: #f3f4f6;
2053
+ --ai-chat-suggestion-border: #e5e7eb;
2054
+ --ai-chat-suggestion-text: #374151;
2055
+ --ai-chat-suggestion-hover-bg: #e5e7eb;
2056
+ --ai-chat-thinking-bg: #f0f9ff;
2057
+ --ai-chat-thinking-border: #bae6fd;
2058
+ --ai-chat-thinking-text: #0c4a6e;
2059
+ --ai-chat-thinking-icon: #0369a1;
2060
+ --ai-chat-loading-dot: #9ca3af;
2061
+ --ai-chat-footer-text: #9ca3af;
2062
+ --ai-chat-footer-link: #3b82f6;
2063
+ --ai-chat-tools-ready: #22c55e;
2064
+ --ai-chat-tools-loading: #f59e0b;
2065
+ --ai-chat-tools-error: #ef4444;
2247
2066
  }
2248
2067
  .dark-theme {
2249
- --ai-sidebar-bg: #1f2937;
2250
- --ai-sidebar-border: #374151;
2251
- --ai-sidebar-text: #f3f4f6;
2252
- --ai-sidebar-text-muted: #9ca3af;
2253
- --ai-sidebar-hover: #374151;
2254
- --ai-sidebar-active: #4b5563;
2255
- --ai-header-bg: #111827;
2256
- --ai-header-border: #374151;
2257
- --ai-agent-badge-bg: #1e3a5f;
2258
- --ai-agent-badge-text: #60a5fa;
2259
- --ai-agent-selector-bg: #1f2937;
2260
- --ai-agent-selector-border: #374151;
2261
- --ai-conversation-hover: rgba(255, 255, 255, 0.04);
2262
- --ai-conversation-active: rgba(255, 255, 255, 0.08);
2263
- --ai-conversation-title-color: #f3f4f6;
2264
- --ai-conversation-preview-color: #9ca3af;
2265
- --ai-conversation-meta-color: #6b7280;
2266
- --ai-group-label-color: #6b7280;
2267
- --ai-button-primary-bg: #3b82f6;
2268
- --ai-button-primary-text: #ffffff;
2269
- --ai-button-primary-hover: #60a5fa;
2270
- --ai-button-secondary-bg: #374151;
2271
- --ai-button-secondary-text: #f3f4f6;
2272
- --ai-button-secondary-border: #4b5563;
2273
- --ai-button-secondary-hover: #4b5563;
2274
- --ai-button-ghost-hover: rgba(255, 255, 255, 0.08);
2275
- --ai-input-bg: #1f2937;
2276
- --ai-input-border: #374151;
2277
- --ai-input-text: #f3f4f6;
2278
- --ai-input-placeholder: #6b7280;
2279
- --ai-input-focus-border: #3b82f6;
2280
- --ai-input-focus-ring: rgba(59, 130, 246, 0.3);
2281
- --ai-select-bg: #1f2937;
2282
- --ai-select-border: #374151;
2283
- --ai-select-text: #f3f4f6;
2284
- --ai-select-hover: #374151;
2285
- --ai-select-item-hover: #374151;
2286
- --ai-select-item-selected: #1e3a5f;
2287
- --ai-tooltip-bg: #374151;
2288
- --ai-tooltip-text: #f3f4f6;
2289
- --ai-dialog-bg: #1f2937;
2290
- --ai-dialog-border: #374151;
2291
- --ai-dialog-overlay: rgba(0, 0, 0, 0.7);
2292
- --ai-dialog-title-color: #f3f4f6;
2293
- --ai-dialog-description-color: #9ca3af;
2294
- --ai-scrollbar-thumb: #4b5563;
2295
- --ai-scrollbar-thumb-hover: #6b7280;
2296
- --ai-context-bg: #111827;
2297
- --ai-context-border: #374151;
2298
- --ai-context-text: #9ca3af;
2299
- --ai-chat-bg: #111827;
2068
+ --ai-chat-user-bg: #374151;
2069
+ --ai-chat-user-text: #f9fafb;
2070
+ --ai-chat-assistant-bg: transparent;
2071
+ --ai-chat-assistant-text: #e5e7eb;
2072
+ --ai-chat-input-bg: #1f2937;
2073
+ --ai-chat-input-border: #374151;
2074
+ --ai-chat-input-text: #f9fafb;
2075
+ --ai-chat-input-placeholder: #6b7280;
2076
+ --ai-chat-input-focus-border: #60a5fa;
2077
+ --ai-chat-input-focus-ring: rgba(96, 165, 250, 0.2);
2078
+ --ai-chat-suggestion-bg: #1f2937;
2079
+ --ai-chat-suggestion-border: #374151;
2080
+ --ai-chat-suggestion-text: #e5e7eb;
2081
+ --ai-chat-suggestion-hover-bg: #374151;
2082
+ --ai-chat-thinking-bg: #0c4a6e;
2083
+ --ai-chat-thinking-border: #0369a1;
2084
+ --ai-chat-thinking-text: #e0f2fe;
2085
+ --ai-chat-thinking-icon: #7dd3fc;
2086
+ --ai-chat-loading-dot: #6b7280;
2087
+ --ai-chat-footer-text: #6b7280;
2088
+ --ai-chat-footer-link: #60a5fa;
2300
2089
  }
2301
- .ai-agent-panel {
2090
+ .ai-chat-panel {
2302
2091
  display: flex;
2303
- flex-direction: row;
2304
- align-self: stretch;
2305
- height: 100%;
2306
- max-height: 100%;
2307
- background-color: var(--ai-sidebar-bg);
2308
- border-left: 1px solid var(--ai-sidebar-border);
2092
+ flex-direction: column;
2093
+ flex: 1;
2094
+ width: 100%;
2095
+ min-width: 0;
2096
+ min-height: 0;
2097
+ overflow: hidden;
2098
+ background-color: var(--ai-chat-bg, #ffffff);
2309
2099
  font-family:
2310
2100
  -apple-system,
2311
2101
  BlinkMacSystemFont,
2312
2102
  "Segoe UI",
2313
2103
  Roboto,
2314
- "Helvetica Neue",
2315
- Arial,
2316
2104
  sans-serif;
2317
2105
  font-size: 14px;
2318
- position: relative;
2319
- transition: width var(--ai-panel-transition);
2320
- box-sizing: border-box;
2321
- overflow: hidden;
2106
+ color: var(--ai-chat-assistant-text);
2322
2107
  }
2323
- .ai-agent-panel--left {
2324
- border-left: none;
2325
- border-right: 1px solid var(--ai-sidebar-border);
2108
+ .dark-theme.ai-chat-panel {
2109
+ background-color: var(--ai-chat-bg, #111827);
2326
2110
  }
2327
- .ai-agent-panel--sidebar-left {
2328
- flex-direction: row;
2111
+ .ai-chat-panel__title {
2112
+ padding: 12px 16px;
2113
+ font-size: 16px;
2114
+ font-weight: 600;
2115
+ border-bottom: 1px solid var(--ai-sidebar-border, #e5e7eb);
2116
+ flex-shrink: 0;
2117
+ }
2118
+ .ai-chat-panel__messages {
2119
+ flex: 1;
2120
+ overflow-y: auto;
2121
+ overflow-x: hidden;
2122
+ padding: 16px;
2123
+ display: flex;
2124
+ flex-direction: column;
2125
+ gap: 16px;
2126
+ min-width: 0;
2127
+ min-height: 0;
2128
+ }
2129
+ .ai-chat-entry {
2130
+ display: flex;
2131
+ flex-direction: column;
2132
+ gap: 12px;
2133
+ }
2134
+ .ai-chat-message {
2135
+ display: flex;
2136
+ flex-direction: column;
2137
+ max-width: var(--ai-chat-message-max-width);
2138
+ min-width: 0;
2139
+ word-wrap: break-word;
2140
+ overflow-wrap: break-word;
2141
+ }
2142
+ .ai-chat-message--user {
2143
+ align-self: flex-end;
2144
+ }
2145
+ .ai-chat-message--user .ai-chat-message__content {
2146
+ background-color: var(--ai-chat-user-bg);
2147
+ color: var(--ai-chat-user-text);
2148
+ border-radius: var(--ai-chat-message-radius);
2149
+ border-bottom-right-radius: 4px;
2150
+ padding: var(--ai-chat-message-padding);
2151
+ }
2152
+ .ai-chat-message--assistant {
2153
+ align-self: flex-start;
2154
+ max-width: 100%;
2155
+ }
2156
+ .ai-chat-message--assistant .ai-chat-message__content {
2157
+ background-color: var(--ai-chat-assistant-bg);
2158
+ color: var(--ai-chat-assistant-text);
2159
+ padding: 4px 0;
2160
+ word-wrap: break-word;
2161
+ overflow-wrap: break-word;
2162
+ min-width: 0;
2163
+ }
2164
+ .ai-chat-message__content p {
2165
+ margin: 0 0 0.75em 0;
2166
+ line-height: 1.6;
2167
+ }
2168
+ .ai-chat-message__content p:last-child {
2169
+ margin-bottom: 0;
2170
+ }
2171
+ .ai-chat-message__content ul,
2172
+ .ai-chat-message__content ol {
2173
+ margin: 0 0 1em 0;
2174
+ padding-left: 1.5em;
2175
+ line-height: 1.6;
2176
+ }
2177
+ .ai-chat-message__content li {
2178
+ margin: 0.5em 0;
2179
+ line-height: 1.6;
2180
+ }
2181
+ .ai-chat-message__content li:first-child {
2182
+ margin-top: 0;
2183
+ }
2184
+ .ai-chat-message__content li:last-child {
2185
+ margin-bottom: 0;
2186
+ }
2187
+ .ai-chat-message__content ul ul,
2188
+ .ai-chat-message__content ol ol,
2189
+ .ai-chat-message__content ul ol,
2190
+ .ai-chat-message__content ol ul {
2191
+ margin-top: 0.5em;
2192
+ margin-bottom: 0.5em;
2193
+ }
2194
+ .ai-chat-message__content h1,
2195
+ .ai-chat-message__content h2,
2196
+ .ai-chat-message__content h3,
2197
+ .ai-chat-message__content h4,
2198
+ .ai-chat-message__content h5,
2199
+ .ai-chat-message__content h6 {
2200
+ margin: 1.25em 0 0.75em 0;
2201
+ line-height: 1.4;
2202
+ font-weight: 600;
2203
+ }
2204
+ .ai-chat-message__content h1:first-child,
2205
+ .ai-chat-message__content h2:first-child,
2206
+ .ai-chat-message__content h3:first-child,
2207
+ .ai-chat-message__content h4:first-child,
2208
+ .ai-chat-message__content h5:first-child,
2209
+ .ai-chat-message__content h6:first-child {
2210
+ margin-top: 0;
2211
+ }
2212
+ .ai-chat-message__content table {
2213
+ margin: 1em 0;
2214
+ border-collapse: collapse;
2215
+ width: 100%;
2216
+ }
2217
+ .ai-chat-message__content th,
2218
+ .ai-chat-message__content td {
2219
+ padding: 0.5em 0.75em;
2220
+ border: 1px solid rgba(0, 0, 0, 0.1);
2221
+ line-height: 1.5;
2222
+ }
2223
+ .dark-theme .ai-chat-message__content th,
2224
+ .dark-theme .ai-chat-message__content td {
2225
+ border-color: rgba(255, 255, 255, 0.1);
2226
+ }
2227
+ .ai-chat-message__content th {
2228
+ font-weight: 600;
2229
+ background-color: rgba(0, 0, 0, 0.05);
2230
+ }
2231
+ .dark-theme .ai-chat-message__content th {
2232
+ background-color: rgba(255, 255, 255, 0.05);
2233
+ }
2234
+ .ai-chat-message__content tr {
2235
+ line-height: 1.5;
2236
+ }
2237
+ .ai-chat-message__content blockquote {
2238
+ margin: 1em 0;
2239
+ padding: 0.5em 1em;
2240
+ border-left: 4px solid rgba(0, 0, 0, 0.2);
2241
+ background-color: rgba(0, 0, 0, 0.02);
2242
+ line-height: 1.6;
2243
+ }
2244
+ .dark-theme .ai-chat-message__content blockquote {
2245
+ border-left-color: rgba(255, 255, 255, 0.2);
2246
+ background-color: rgba(255, 255, 255, 0.02);
2247
+ }
2248
+ .ai-chat-message__content hr {
2249
+ margin: 1.5em 0;
2250
+ border: none;
2251
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
2252
+ }
2253
+ .dark-theme .ai-chat-message__content hr {
2254
+ border-top-color: rgba(255, 255, 255, 0.1);
2255
+ }
2256
+ .ai-chat-message__content code {
2257
+ background-color: rgba(0, 0, 0, 0.05);
2258
+ padding: 0.2em 0.4em;
2259
+ border-radius: 4px;
2260
+ font-size: 0.9em;
2261
+ font-family:
2262
+ "SF Mono",
2263
+ Monaco,
2264
+ Consolas,
2265
+ monospace;
2266
+ }
2267
+ .dark-theme .ai-chat-message__content code {
2268
+ background-color: rgba(255, 255, 255, 0.1);
2269
+ }
2270
+ .ai-chat-message__content pre {
2271
+ margin: 0.75em 0;
2272
+ border-radius: 8px;
2273
+ overflow: hidden;
2274
+ }
2275
+ .ai-chat-message__content pre code {
2276
+ background: none;
2277
+ padding: 0;
2329
2278
  }
2330
- .ai-agent-panel--sidebar-left .ai-agent-panel__sidebar {
2331
- order: 1;
2332
- border-right: 1px solid var(--ai-sidebar-border);
2333
- border-left: none;
2279
+ .ai-chat-message__content a {
2280
+ color: var(--ai-chat-footer-link);
2281
+ text-decoration: none;
2334
2282
  }
2335
- .ai-agent-panel--sidebar-left .ai-agent-panel__chat {
2336
- order: 2;
2283
+ .ai-chat-message__content a:hover {
2284
+ text-decoration: underline;
2337
2285
  }
2338
- .ai-agent-panel--sidebar-right {
2339
- flex-direction: row;
2286
+ .ai-chat-message__actions {
2287
+ display: flex;
2288
+ gap: 4px;
2289
+ margin-top: 8px;
2290
+ opacity: 0;
2291
+ transition: opacity 0.2s;
2340
2292
  }
2341
- .ai-agent-panel--sidebar-right .ai-agent-panel__sidebar {
2342
- order: 2;
2343
- border-left: 1px solid var(--ai-sidebar-border);
2344
- border-right: none;
2293
+ .ai-chat-message:hover .ai-chat-message__actions {
2294
+ opacity: 1;
2345
2295
  }
2346
- .ai-agent-panel--sidebar-right .ai-agent-panel__chat {
2347
- order: 1;
2296
+ .ai-chat-thinking {
2297
+ background-color: var(--ai-chat-thinking-bg);
2298
+ border: 1px solid var(--ai-chat-thinking-border);
2299
+ border-radius: 8px;
2300
+ padding: 12px;
2301
+ margin-bottom: 12px;
2302
+ font-size: 13px;
2348
2303
  }
2349
- .ai-agent-panel--collapsed {
2350
- width: var(--ai-panel-collapsed-width) !important;
2304
+ .ai-chat-thinking__header {
2305
+ display: flex;
2306
+ align-items: center;
2307
+ gap: 8px;
2308
+ margin-bottom: 8px;
2309
+ color: var(--ai-chat-thinking-text);
2351
2310
  }
2352
- .ai-agent-panel__resize-handle {
2353
- width: var(--ai-resize-handle-width);
2354
- min-width: var(--ai-resize-handle-width);
2355
- align-self: stretch;
2356
- background-color: var(--ai-resize-handle-color);
2357
- cursor: ew-resize;
2358
- transition: background-color 0.15s;
2359
- z-index: 100;
2360
- flex-shrink: 0;
2361
- order: 0;
2311
+ .ai-chat-thinking__icon {
2312
+ color: var(--ai-chat-thinking-icon);
2362
2313
  }
2363
- .ai-agent-panel__resize-handle:hover {
2364
- background-color: var(--ai-resize-handle-hover);
2314
+ .ai-chat-thinking__title {
2315
+ font-weight: 600;
2316
+ flex: 1;
2365
2317
  }
2366
- .ai-agent-panel__resize-handle:active {
2367
- background-color: var(--ai-resize-handle-hover);
2318
+ .ai-chat-thinking__nav {
2319
+ display: flex;
2320
+ align-items: center;
2321
+ gap: 4px;
2322
+ font-size: 12px;
2368
2323
  }
2369
- .ai-agent-panel:hover .ai-agent-panel__resize-handle {
2370
- background-color: rgba(100, 100, 100, 0.15);
2324
+ .ai-chat-thinking__nav button {
2325
+ background: none;
2326
+ border: none;
2327
+ color: var(--ai-chat-thinking-icon);
2328
+ cursor: pointer;
2329
+ padding: 2px 6px;
2330
+ font-size: 14px;
2331
+ border-radius: 4px;
2371
2332
  }
2372
- .ai-agent-panel--right .ai-agent-panel__resize-handle {
2373
- order: -1 !important;
2333
+ .ai-chat-thinking__nav button:hover:not(:disabled) {
2334
+ background-color: rgba(0, 0, 0, 0.1);
2374
2335
  }
2375
- .ai-agent-panel--left .ai-agent-panel__resize-handle {
2376
- order: 99 !important;
2336
+ .ai-chat-thinking__nav button:disabled {
2337
+ opacity: 0.4;
2338
+ cursor: not-allowed;
2377
2339
  }
2378
- .ai-agent-panel__collapsed-bar {
2340
+ .ai-chat-thinking__content {
2341
+ color: var(--ai-chat-thinking-text);
2342
+ opacity: 0.9;
2343
+ line-height: 1.5;
2344
+ }
2345
+ .ai-chat-loading {
2379
2346
  display: flex;
2380
- flex-direction: column;
2381
2347
  align-items: center;
2382
- padding: 8px;
2383
2348
  gap: 4px;
2349
+ color: var(--ai-chat-loading-dot);
2350
+ }
2351
+ .ai-chat-loading__dots {
2352
+ display: flex;
2353
+ gap: 4px;
2354
+ }
2355
+ .ai-chat-loading__dot {
2356
+ width: 6px;
2357
+ height: 6px;
2358
+ background-color: var(--ai-chat-loading-dot);
2359
+ border-radius: 50%;
2360
+ animation: ai-chat-dot-bounce 1.4s ease-in-out infinite both;
2361
+ }
2362
+ .ai-chat-loading__dot:nth-child(1) {
2363
+ animation-delay: -0.32s;
2364
+ }
2365
+ .ai-chat-loading__dot:nth-child(2) {
2366
+ animation-delay: -0.16s;
2367
+ }
2368
+ @keyframes ai-chat-dot-bounce {
2369
+ 0%, 80%, 100% {
2370
+ transform: scale(0.6);
2371
+ opacity: 0.4;
2372
+ }
2373
+ 40% {
2374
+ transform: scale(1);
2375
+ opacity: 1;
2376
+ }
2377
+ }
2378
+ .ai-chat-suggestions {
2379
+ display: flex;
2380
+ flex-wrap: wrap;
2381
+ gap: 8px;
2382
+ margin-top: 8px;
2384
2383
  width: 100%;
2385
- height: 100%;
2386
- cursor: pointer;
2387
- transition: background-color 0.15s, box-shadow 0.15s;
2384
+ min-width: 0;
2388
2385
  }
2389
- .ai-agent-panel__collapsed-bar:hover {
2390
- background-color: var(--ai-sidebar-hover);
2391
- box-shadow: inset 2px 0 0 var(--ai-button-primary-bg);
2386
+ .ai-chat-suggestions__button {
2387
+ font-size: 13px;
2388
+ white-space: normal;
2389
+ text-align: left;
2390
+ height: auto;
2391
+ padding: 8px 12px;
2392
+ min-width: 0;
2393
+ max-width: 100%;
2394
+ word-wrap: break-word;
2395
+ overflow-wrap: break-word;
2392
2396
  }
2393
- .ai-agent-panel--left .ai-agent-panel__collapsed-bar:hover {
2394
- box-shadow: inset -2px 0 0 var(--ai-button-primary-bg);
2397
+ .ai-chat-panel__new-conversation {
2398
+ padding: 8px 16px;
2399
+ display: flex;
2400
+ justify-content: center;
2401
+ flex-shrink: 0;
2395
2402
  }
2396
- .ai-agent-panel__collapsed-divider {
2397
- width: 24px;
2398
- height: 1px;
2399
- background-color: var(--ai-sidebar-border);
2400
- margin: 4px 0;
2403
+ .ai-chat-new-conversation {
2404
+ width: 100%;
2401
2405
  }
2402
- .ai-agent-panel__collapsed-spacer {
2406
+ .ai-chat-panel__input {
2407
+ display: flex;
2408
+ align-items: flex-end;
2409
+ gap: 8px;
2410
+ padding: 12px 16px;
2411
+ border-top: 1px solid var(--ai-sidebar-border, #e5e7eb);
2412
+ flex-shrink: 0;
2413
+ }
2414
+ .ai-chat-input {
2403
2415
  flex: 1;
2416
+ min-height: 40px;
2417
+ max-height: 200px;
2418
+ padding: 10px 14px;
2419
+ background-color: var(--ai-chat-input-bg);
2420
+ border: 1px solid var(--ai-chat-input-border);
2421
+ border-radius: var(--ai-chat-input-radius);
2422
+ color: var(--ai-chat-input-text);
2423
+ font-size: 14px;
2424
+ font-family: inherit;
2425
+ line-height: 1.5;
2426
+ resize: none;
2427
+ outline: none;
2428
+ transition: border-color 0.2s, box-shadow 0.2s;
2404
2429
  }
2405
- .ai-agent-panel__agent-icon {
2406
- font-weight: 600;
2407
- font-size: 12px;
2430
+ .ai-chat-input::placeholder {
2431
+ color: var(--ai-chat-input-placeholder);
2408
2432
  }
2409
- .ai-agent-panel__agent-avatar {
2433
+ .ai-chat-input:focus {
2434
+ border-color: var(--ai-chat-input-focus-border);
2435
+ box-shadow: 0 0 0 3px var(--ai-chat-input-focus-ring);
2436
+ }
2437
+ .ai-chat-send-button {
2438
+ display: flex;
2439
+ align-items: center;
2440
+ justify-content: center;
2410
2441
  width: 24px;
2411
2442
  height: 24px;
2412
- border-radius: 50%;
2413
- object-fit: cover;
2414
- }
2415
- .ai-agent-panel__agent-icon {
2416
- position: relative;
2443
+ padding: 0;
2444
+ border: none;
2445
+ border-radius: 6px;
2446
+ background-color: var(--ai-button-primary-bg, #3b82f6);
2447
+ color: white;
2448
+ cursor: pointer;
2449
+ transition: background-color 0.15s, opacity 0.15s;
2450
+ flex-shrink: 0;
2417
2451
  }
2418
- .ai-agent-panel__agent-icon--active {
2452
+ .ai-chat-send-button:hover:not(:disabled) {
2453
+ background-color: var(--ai-button-primary-hover, #2563eb);
2419
2454
  }
2420
- .ai-agent-panel__agent-active-indicator {
2421
- position: absolute;
2422
- bottom: 2px;
2423
- right: 2px;
2424
- width: 8px;
2425
- height: 8px;
2426
- border-radius: 50%;
2427
- background-color: var(--ai-button-primary-bg);
2428
- border: 2px solid var(--ai-sidebar-bg);
2455
+ .ai-chat-send-button--disabled,
2456
+ .ai-chat-send-button:disabled {
2457
+ opacity: 0.4;
2458
+ cursor: not-allowed;
2429
2459
  }
2430
- .ai-agent-panel__sidebar {
2431
- width: 200px;
2432
- min-width: 180px;
2433
- max-width: 280px;
2434
- height: 100%;
2435
- max-height: 100%;
2436
- flex-shrink: 0;
2437
- display: flex;
2438
- flex-direction: column;
2439
- border-right: 1px solid var(--ai-sidebar-border);
2440
- background-color: var(--ai-sidebar-bg);
2441
- overflow: hidden;
2460
+ .ai-chat-send-button--stop {
2461
+ background-color: var(--ai-chat-tools-error, #ef4444);
2442
2462
  }
2443
- .ai-agent-panel--left .ai-agent-panel__sidebar {
2444
- border-right: none;
2445
- border-left: 1px solid var(--ai-sidebar-border);
2463
+ .ai-chat-send-button--stop:hover:not(:disabled) {
2464
+ background-color: #dc2626;
2446
2465
  }
2447
- .ai-agent-panel__header {
2466
+ .ai-chat-panel__footer {
2448
2467
  display: flex;
2449
2468
  align-items: center;
2450
2469
  justify-content: space-between;
2451
- padding: 8px;
2452
- height: var(--ai-header-height);
2453
- border-bottom: 1px solid var(--ai-header-border);
2454
- background-color: var(--ai-header-bg);
2455
- gap: 8px;
2470
+ padding: 8px 16px;
2471
+ font-size: 12px;
2472
+ color: var(--ai-chat-footer-text);
2473
+ border-top: 1px solid var(--ai-sidebar-border, #e5e7eb);
2474
+ flex-shrink: 0;
2456
2475
  }
2457
- .ai-agent-panel__header-actions {
2476
+ .ai-chat-tools-status {
2458
2477
  display: flex;
2459
2478
  align-items: center;
2460
- gap: 4px;
2461
- flex: 1;
2462
- }
2463
- .ai-agent-panel__conversations {
2464
- flex: 1;
2465
- overflow-y: auto;
2466
- padding: 8px;
2479
+ gap: 6px;
2467
2480
  }
2468
- .ai-agent-panel__empty {
2469
- display: flex;
2470
- flex-direction: column;
2471
- align-items: center;
2472
- justify-content: center;
2473
- padding: 32px 16px;
2474
- color: var(--ai-sidebar-text-muted);
2475
- text-align: center;
2481
+ .ai-chat-tools-status__dot {
2482
+ width: 8px;
2483
+ height: 8px;
2484
+ border-radius: 50%;
2476
2485
  }
2477
- .ai-agent-panel__empty svg {
2478
- width: 32px;
2479
- height: 32px;
2480
- margin-bottom: 12px;
2481
- opacity: 0.5;
2486
+ .ai-chat-tools-status__dot.ready {
2487
+ background-color: var(--ai-chat-tools-ready);
2482
2488
  }
2483
- .ai-agent-panel__empty p {
2484
- margin: 0;
2489
+ .ai-chat-tools-status__dot.loading {
2490
+ background-color: var(--ai-chat-tools-loading);
2491
+ animation: ai-chat-pulse 1.5s ease-in-out infinite;
2485
2492
  }
2486
- .ai-agent-panel__empty-hint {
2487
- font-size: 12px;
2488
- margin-top: 4px !important;
2489
- opacity: 0.7;
2493
+ .ai-chat-tools-status__dot.error {
2494
+ background-color: var(--ai-chat-tools-error);
2490
2495
  }
2491
- .ai-agent-panel__group {
2492
- margin-bottom: 16px;
2496
+ @keyframes ai-chat-pulse {
2497
+ 0%, 100% {
2498
+ opacity: 1;
2499
+ }
2500
+ 50% {
2501
+ opacity: 0.4;
2502
+ }
2493
2503
  }
2494
- .ai-agent-panel__group-label {
2495
- font-size: var(--ai-group-label-size);
2496
- font-weight: 600;
2497
- color: var(--ai-group-label-color);
2498
- text-transform: uppercase;
2499
- letter-spacing: 0.05em;
2500
- padding: 8px 8px 4px;
2504
+ .ai-chat-powered-by {
2505
+ display: flex;
2506
+ align-items: center;
2507
+ gap: 6px;
2501
2508
  }
2502
- .ai-agent-panel__group-label--clickable {
2509
+ .ai-chat-powered-by a {
2503
2510
  display: flex;
2504
2511
  align-items: center;
2505
- justify-content: space-between;
2506
- cursor: pointer;
2507
- user-select: none;
2508
- transition: color 0.15s;
2512
+ gap: 4px;
2513
+ color: var(--ai-chat-footer-link);
2514
+ text-decoration: none;
2509
2515
  }
2510
- .ai-agent-panel__group-label--clickable:hover {
2511
- color: var(--ai-sidebar-text);
2516
+ .ai-chat-powered-by a:hover {
2517
+ text-decoration: underline;
2512
2518
  }
2513
- .ai-agent-panel__group-chevron {
2514
- font-size: 8px;
2515
- opacity: 0.6;
2516
- transition: opacity 0.15s;
2519
+ .ai-chat-icon {
2520
+ width: 20px;
2521
+ height: 20px;
2517
2522
  }
2518
- .ai-agent-panel__group-label--clickable:hover .ai-agent-panel__group-chevron {
2519
- opacity: 1;
2523
+ .ai-chat-icon-sm {
2524
+ width: 16px;
2525
+ height: 16px;
2520
2526
  }
2521
- .ai-agent-panel__conversation {
2522
- display: flex;
2523
- align-items: flex-start;
2524
- padding: 4px 8px;
2525
- border-radius: 6px;
2526
- cursor: pointer;
2527
- transition: background-color 0.15s;
2528
- gap: 8px;
2527
+ .ai-chat-panel__messages::-webkit-scrollbar {
2528
+ width: 6px;
2529
2529
  }
2530
- .ai-agent-panel__conversation:hover {
2531
- background-color: var(--ai-conversation-hover);
2530
+ .ai-chat-panel__messages::-webkit-scrollbar-track {
2531
+ background: transparent;
2532
2532
  }
2533
- .ai-agent-panel__conversation--active {
2534
- background-color: var(--ai-conversation-active);
2533
+ .ai-chat-panel__messages::-webkit-scrollbar-thumb {
2534
+ background-color: rgba(0, 0, 0, 0.2);
2535
+ border-radius: 3px;
2535
2536
  }
2536
- .ai-agent-panel__conversation-content {
2537
- flex: 1;
2538
- min-width: 0;
2537
+ .dark-theme .ai-chat-panel__messages::-webkit-scrollbar-thumb {
2538
+ background-color: rgba(255, 255, 255, 0.2);
2539
2539
  }
2540
- .ai-agent-panel__conversation-title {
2541
- font-weight: 400;
2542
- font-size: 11px;
2543
- color: var(--ai-conversation-preview-color);
2544
- white-space: nowrap;
2545
- overflow: hidden;
2546
- text-overflow: ellipsis;
2547
- margin-bottom: 2px;
2540
+ .ai-chat-panel__messages::-webkit-scrollbar-thumb:hover {
2541
+ background-color: rgba(0, 0, 0, 0.3);
2548
2542
  }
2549
- .ai-agent-panel__conversation-preview {
2550
- font-size: 11px;
2551
- color: var(--ai-conversation-preview-color);
2552
- white-space: nowrap;
2553
- overflow: hidden;
2554
- text-overflow: ellipsis;
2555
- margin-bottom: 2px;
2543
+ .dark-theme .ai-chat-panel__messages::-webkit-scrollbar-thumb:hover {
2544
+ background-color: rgba(255, 255, 255, 0.3);
2556
2545
  }
2557
- .ai-agent-panel__conversation-meta {
2558
- display: flex;
2559
- align-items: center;
2560
- gap: 6px;
2561
- font-size: 11px;
2562
- color: var(--ai-conversation-meta-color);
2546
+ @media (max-width: 480px) {
2547
+ .ai-chat-message {
2548
+ max-width: 95%;
2549
+ }
2550
+ .ai-chat-suggestions {
2551
+ flex-direction: column;
2552
+ }
2553
+ .ai-chat-suggestions__button {
2554
+ width: 100%;
2555
+ }
2563
2556
  }
2564
- .ai-agent-panel__conversation-agent {
2565
- font-size: 10px;
2566
- color: var(--ai-agent-badge-text);
2567
- background-color: var(--ai-agent-badge-bg);
2568
- padding: 1px 4px;
2569
- border-radius: 3px;
2557
+ .ai-chat-panel {
2558
+ container-type: inline-size;
2559
+ container-name: chat-panel;
2570
2560
  }
2571
- .ai-agent-panel__conversation-delete {
2572
- opacity: 0;
2573
- transition: opacity 0.15s;
2561
+ @container chat-panel (max-width: 380px) {
2562
+ .ai-chat-suggestions {
2563
+ flex-direction: column;
2564
+ }
2565
+ .ai-chat-suggestions__button {
2566
+ width: 100%;
2567
+ min-width: 0;
2568
+ text-align: left;
2569
+ word-wrap: break-word;
2570
+ overflow-wrap: break-word;
2571
+ hyphens: auto;
2572
+ }
2573
+ .ai-chat-message__content {
2574
+ word-wrap: break-word;
2575
+ overflow-wrap: break-word;
2576
+ hyphens: auto;
2577
+ }
2578
+ .ai-chat-panel__messages {
2579
+ padding: 12px;
2580
+ }
2581
+ .ai-chat-panel__input {
2582
+ padding: 10px 12px;
2583
+ }
2584
+ .ai-chat-input {
2585
+ min-height: 36px;
2586
+ padding: 8px 12px;
2587
+ font-size: 13px;
2588
+ }
2574
2589
  }
2575
- .ai-agent-panel__conversation:hover .ai-agent-panel__conversation-delete {
2576
- opacity: 1;
2590
+ @container chat-panel (max-width: 320px) {
2591
+ .ai-chat-panel__messages {
2592
+ padding: 8px;
2593
+ }
2594
+ .ai-chat-panel__input {
2595
+ padding: 8px;
2596
+ gap: 6px;
2597
+ }
2598
+ .ai-chat-suggestions__button {
2599
+ padding: 6px 10px;
2600
+ font-size: 12px;
2601
+ }
2602
+ .ai-chat-send-button {
2603
+ width: 36px;
2604
+ height: 36px;
2605
+ }
2577
2606
  }
2578
- .ai-agent-panel__context-summary {
2579
- display: flex;
2580
- align-items: center;
2581
- gap: 8px;
2582
- padding: 10px 12px;
2583
- border-top: 1px solid var(--ai-context-border);
2584
- background-color: var(--ai-context-bg);
2585
- font-size: 12px;
2586
- color: var(--ai-context-text);
2607
+ .ai-chat-panel__input-container {
2608
+ margin: 12px 16px;
2609
+ border: 1px solid var(--ai-chat-input-border);
2610
+ border-radius: var(--ai-chat-input-radius);
2611
+ background-color: var(--ai-chat-input-bg);
2612
+ flex-shrink: 0;
2613
+ transition: border-color 0.2s, box-shadow 0.2s;
2587
2614
  }
2588
- .ai-agent-panel__context-summary svg {
2589
- width: 14px;
2590
- height: 14px;
2591
- opacity: 0.6;
2615
+ .ai-chat-panel__input-container:focus-within {
2616
+ border-color: var(--ai-chat-input-focus-border);
2617
+ box-shadow: 0 0 0 3px var(--ai-chat-input-focus-ring);
2592
2618
  }
2593
- .ai-agent-panel__context-warning {
2594
- color: var(--ai-context-warning);
2595
- font-weight: 500;
2619
+ .ai-chat-panel__input-container--dropdown-open {
2620
+ border-color: var(--ai-chat-input-focus-border);
2596
2621
  }
2597
- .ai-agent-panel__chat {
2598
- position: relative;
2599
- flex: 1;
2600
- background-color: var(--ai-chat-bg);
2601
- min-width: 0;
2602
- min-height: 0;
2603
- overflow: hidden;
2622
+ .ai-chat-panel__input-container .ai-chat-panel__input {
2623
+ border-top: none;
2624
+ padding: 8px 8px 4px 8px;
2604
2625
  }
2605
- .ai-agent-panel__agent-selector {
2606
- padding: 8px 12px;
2607
- border-bottom: 1px solid var(--ai-sidebar-border);
2626
+ .ai-chat-panel__input-container .ai-chat-input {
2627
+ border: none;
2628
+ background: transparent;
2629
+ padding: 4px 8px;
2630
+ border-radius: 0;
2608
2631
  }
2609
- .ai-agent-panel__loading {
2610
- display: flex;
2611
- flex-direction: column;
2612
- align-items: center;
2613
- justify-content: center;
2614
- flex: 1;
2615
- gap: 12px;
2616
- color: var(--ai-sidebar-text-muted);
2632
+ .ai-chat-panel__input-container .ai-chat-input:focus {
2633
+ border-color: transparent;
2634
+ box-shadow: none;
2617
2635
  }
2618
- .ai-agent-panel__conversation-loading-overlay {
2619
- position: absolute;
2620
- top: 0;
2621
- left: 0;
2622
- right: 0;
2623
- bottom: 0;
2636
+ .ai-chat-panel__input-footer {
2624
2637
  display: flex;
2625
- flex-direction: column;
2626
2638
  align-items: center;
2627
- justify-content: center;
2628
- gap: 12px;
2629
- background-color: var(--ai-chat-bg);
2630
- color: var(--ai-sidebar-text-muted);
2631
- z-index: 10;
2632
- backdrop-filter: blur(2px);
2639
+ justify-content: space-between;
2640
+ gap: 8px;
2641
+ padding: 0 8px 8px 8px;
2642
+ flex-shrink: 0;
2633
2643
  }
2634
- .ai-agent-panel__loading-spinner {
2635
- width: 24px;
2636
- height: 24px;
2637
- border: 2px solid var(--ai-sidebar-border);
2638
- border-top-color: var(--ai-loading-spinner);
2639
- border-radius: 50%;
2640
- animation: ai-spin 0.8s linear infinite;
2644
+ .ai-chat-panel__input-footer-spacer {
2645
+ flex: 1;
2641
2646
  }
2642
- @keyframes ai-spin {
2643
- to {
2644
- transform: rotate(360deg);
2645
- }
2647
+ .ai-chat-agent-selector {
2648
+ position: relative;
2646
2649
  }
2647
- .ai-button {
2648
- display: inline-flex;
2650
+ .ai-chat-agent-selector__trigger {
2651
+ display: flex;
2649
2652
  align-items: center;
2650
- justify-content: center;
2653
+ gap: 4px;
2654
+ padding: 2px 6px;
2655
+ background: transparent;
2651
2656
  border: none;
2652
- cursor: pointer;
2657
+ border-radius: 4px;
2658
+ color: var(--ai-chat-footer-text, #6b7280);
2659
+ font-size: 12px;
2653
2660
  font-family: inherit;
2654
- font-weight: 500;
2655
- transition: all 0.15s;
2656
- border-radius: var(--ai-button-radius);
2661
+ cursor: pointer;
2662
+ transition: background-color 0.15s, color 0.15s;
2657
2663
  }
2658
- .ai-button:disabled {
2664
+ .ai-chat-agent-selector__trigger:hover {
2665
+ background-color: var(--ai-button-ghost-hover, rgba(0, 0, 0, 0.04));
2666
+ color: var(--ai-chat-assistant-text);
2667
+ }
2668
+ .ai-chat-agent-selector__trigger:disabled {
2659
2669
  opacity: 0.5;
2660
2670
  cursor: not-allowed;
2661
2671
  }
2662
- .ai-button--primary {
2663
- background-color: var(--ai-button-primary-bg);
2664
- color: var(--ai-button-primary-text);
2672
+ .ai-chat-agent-selector__label {
2673
+ font-weight: 500;
2665
2674
  }
2666
- .ai-button--primary:hover:not(:disabled) {
2667
- background-color: var(--ai-button-primary-hover);
2675
+ .ai-chat-agent-selector__dropdown-inside .ai-chat-agent-selector__option {
2676
+ border-radius: 0;
2668
2677
  }
2669
- .ai-button--secondary {
2670
- background-color: var(--ai-button-secondary-bg);
2671
- color: var(--ai-button-secondary-text);
2672
- border: 1px solid var(--ai-button-secondary-border);
2678
+ .ai-chat-agent-selector__dropdown-inside .ai-chat-agent-selector__option:first-child {
2679
+ border-top-left-radius: 0;
2680
+ border-top-right-radius: 0;
2673
2681
  }
2674
- .ai-button--secondary:hover:not(:disabled) {
2675
- background-color: var(--ai-button-secondary-hover);
2682
+ .ai-chat-agent-selector__dropdown-inside .ai-chat-agent-selector__option:last-child {
2683
+ border-bottom-left-radius: calc(var(--ai-chat-input-radius) - 1px);
2684
+ border-bottom-right-radius: calc(var(--ai-chat-input-radius) - 1px);
2676
2685
  }
2677
- .ai-button--ghost {
2678
- background-color: transparent;
2679
- color: var(--ai-sidebar-text);
2686
+ .ai-chat-agent-selector__dropdown {
2687
+ position: absolute;
2688
+ bottom: 100%;
2689
+ left: 0;
2690
+ min-width: 200px;
2691
+ max-width: 280px;
2692
+ margin-bottom: 6px;
2693
+ background-color: var(--ai-select-bg, #ffffff);
2694
+ border: 1px solid var(--ai-select-border, #d1d5db);
2695
+ border-radius: 8px;
2696
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
2697
+ z-index: 1000;
2698
+ overflow: hidden;
2699
+ animation: ai-chat-dropdown-appear 0.15s ease-out;
2680
2700
  }
2681
- .ai-button--ghost:hover:not(:disabled) {
2682
- background-color: var(--ai-button-ghost-hover);
2701
+ .dark-theme .ai-chat-agent-selector__dropdown {
2702
+ background-color: var(--ai-select-bg, #1f2937);
2703
+ border-color: var(--ai-select-border, #374151);
2704
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
2683
2705
  }
2684
- .ai-button--outline {
2685
- background-color: transparent;
2686
- color: var(--ai-sidebar-text);
2687
- border: 1px solid var(--ai-button-secondary-border);
2706
+ .ai-chat-agent-selector__dropdown-inside {
2707
+ background-color: var(--ai-select-bg, #f9fafb);
2708
+ overflow: hidden;
2709
+ animation: ai-chat-dropdown-inside-appear 0.15s ease-out;
2710
+ max-height: 200px;
2711
+ overflow-y: auto;
2688
2712
  }
2689
- .ai-button--outline:hover:not(:disabled) {
2690
- background-color: var(--ai-button-ghost-hover);
2713
+ .dark-theme .ai-chat-agent-selector__dropdown-inside {
2714
+ background-color: var(--ai-select-bg, #1f2937);
2691
2715
  }
2692
- .ai-button--destructive {
2693
- background-color: var(--ai-button-destructive-bg);
2694
- color: var(--ai-button-destructive-text);
2716
+ @keyframes ai-chat-dropdown-inside-appear {
2717
+ from {
2718
+ opacity: 0;
2719
+ max-height: 0;
2720
+ }
2721
+ to {
2722
+ opacity: 1;
2723
+ max-height: 200px;
2724
+ }
2695
2725
  }
2696
- .ai-button--destructive:hover:not(:disabled) {
2697
- background-color: var(--ai-button-destructive-hover);
2726
+ @keyframes ai-chat-dropdown-appear {
2727
+ from {
2728
+ opacity: 0;
2729
+ transform: translateY(4px);
2730
+ }
2731
+ to {
2732
+ opacity: 1;
2733
+ transform: translateY(0);
2734
+ }
2698
2735
  }
2699
- .ai-button--default {
2700
- padding: 8px 16px;
2701
- font-size: 14px;
2736
+ .ai-chat-agent-selector__option {
2737
+ display: flex;
2738
+ align-items: center;
2739
+ gap: 8px;
2740
+ width: 100%;
2741
+ padding: 8px 10px;
2742
+ background: none;
2743
+ border: none;
2744
+ color: var(--ai-select-text, #1f2937);
2745
+ font-size: 12px;
2746
+ font-family: inherit;
2747
+ text-align: left;
2748
+ cursor: pointer;
2749
+ transition: background-color 0.15s;
2702
2750
  }
2703
- .ai-button--sm {
2704
- padding: 6px 12px;
2705
- font-size: 13px;
2751
+ .dark-theme .ai-chat-agent-selector__option {
2752
+ color: var(--ai-select-text, #f3f4f6);
2706
2753
  }
2707
- .ai-button--lg {
2708
- padding: 10px 20px;
2709
- font-size: 15px;
2754
+ .ai-chat-agent-selector__option:hover {
2755
+ background-color: var(--ai-select-item-hover, #f3f4f6);
2710
2756
  }
2711
- .ai-button--icon {
2712
- width: 32px;
2713
- height: 32px;
2714
- padding: 0;
2757
+ .dark-theme .ai-chat-agent-selector__option:hover {
2758
+ background-color: var(--ai-select-item-hover, #374151);
2715
2759
  }
2716
- .ai-input-wrapper {
2717
- position: relative;
2718
- display: flex;
2719
- align-items: center;
2720
- width: 100%;
2760
+ .ai-chat-agent-selector__option--selected {
2761
+ background-color: var(--ai-select-item-selected, #eff6ff);
2721
2762
  }
2722
- .ai-input-icon {
2723
- position: absolute;
2724
- left: 10px;
2725
- color: var(--ai-input-placeholder);
2726
- pointer-events: none;
2763
+ .dark-theme .ai-chat-agent-selector__option--selected {
2764
+ background-color: var(--ai-select-item-selected, #1e3a5f);
2765
+ }
2766
+ .ai-chat-agent-selector__avatar {
2767
+ width: 20px;
2768
+ height: 20px;
2769
+ border-radius: 50%;
2770
+ object-fit: cover;
2771
+ flex-shrink: 0;
2772
+ }
2773
+ .ai-chat-agent-selector__option-avatar {
2774
+ width: 24px;
2775
+ height: 24px;
2776
+ border-radius: 50%;
2777
+ object-fit: cover;
2778
+ flex-shrink: 0;
2779
+ }
2780
+ .ai-chat-agent-selector__option-icon {
2727
2781
  display: flex;
2782
+ color: var(--ai-chat-footer-text, #9ca3af);
2728
2783
  }
2729
- .ai-input-wrapper .ai-input {
2730
- padding-left: 34px;
2784
+ .ai-chat-agent-selector__option-content {
2785
+ flex: 1;
2786
+ min-width: 0;
2731
2787
  }
2732
- .ai-input {
2733
- width: 100%;
2734
- padding: 8px 12px;
2735
- font-size: 14px;
2736
- font-family: inherit;
2737
- color: var(--ai-input-text);
2738
- background-color: var(--ai-input-bg);
2739
- border: 1px solid var(--ai-input-border);
2740
- border-radius: var(--ai-input-radius);
2741
- outline: none;
2742
- transition: border-color 0.15s, box-shadow 0.15s;
2788
+ .ai-chat-agent-selector__option-label {
2789
+ display: block;
2790
+ font-weight: 500;
2743
2791
  }
2744
- .ai-input::placeholder {
2745
- color: var(--ai-input-placeholder);
2792
+ .ai-chat-agent-selector__option-description {
2793
+ display: block;
2794
+ font-size: 11px;
2795
+ color: var(--ai-sidebar-text-muted, #6b7280);
2796
+ margin-top: 2px;
2797
+ white-space: nowrap;
2798
+ overflow: hidden;
2799
+ text-overflow: ellipsis;
2746
2800
  }
2747
- .ai-input:focus {
2748
- border-color: var(--ai-input-focus-border);
2749
- box-shadow: 0 0 0 3px var(--ai-input-focus-ring);
2801
+ .ai-chat-agent-selector__option-check {
2802
+ display: flex;
2803
+ color: var(--ai-button-primary-bg, #3b82f6);
2750
2804
  }
2751
- .ai-select {
2752
- position: relative;
2753
- width: 100%;
2805
+ @container chat-panel (max-width: 380px) {
2806
+ .ai-chat-panel__input-container {
2807
+ margin: 10px 12px;
2808
+ }
2809
+ .ai-chat-panel__input-footer {
2810
+ padding: 0 6px 6px 6px;
2811
+ }
2812
+ .ai-chat-agent-selector__trigger {
2813
+ padding: 2px 6px;
2814
+ font-size: 12px;
2815
+ }
2816
+ .ai-chat-agent-selector__dropdown {
2817
+ min-width: 180px;
2818
+ }
2819
+ .ai-chat-agent-selector__dropdown-inside {
2820
+ max-height: 160px;
2821
+ }
2822
+ .ai-chat-send-button {
2823
+ width: 22px;
2824
+ height: 22px;
2825
+ }
2754
2826
  }
2755
- .ai-select--disabled {
2756
- opacity: 0.5;
2757
- pointer-events: none;
2827
+ @container chat-panel (max-width: 320px) {
2828
+ .ai-chat-panel__input-container {
2829
+ margin: 8px;
2830
+ }
2831
+ .ai-chat-panel__input-footer {
2832
+ padding: 0 6px 4px 6px;
2833
+ }
2834
+ .ai-chat-send-button {
2835
+ width: 20px;
2836
+ height: 20px;
2837
+ }
2758
2838
  }
2759
- .ai-select-trigger {
2839
+ .ai-chat-agent-suggestion {
2760
2840
  display: flex;
2761
2841
  align-items: center;
2762
2842
  justify-content: space-between;
2763
- width: 100%;
2764
- padding: 8px 12px;
2765
- font-size: 14px;
2766
- font-family: inherit;
2767
- color: var(--ai-select-text);
2768
- background-color: var(--ai-select-bg);
2769
- border: 1px solid var(--ai-select-border);
2770
- border-radius: var(--ai-input-radius);
2771
- cursor: pointer;
2772
- transition: border-color 0.15s;
2843
+ gap: 12px;
2844
+ padding: 12px 16px;
2845
+ margin: 12px 0;
2846
+ background-color: var(--ai-chat-suggestion-bg);
2847
+ border: 1px solid var(--ai-chat-suggestion-border);
2848
+ border-radius: 8px;
2849
+ transition: border-color 0.15s, box-shadow 0.15s;
2773
2850
  }
2774
- .ai-select-trigger:hover {
2775
- background-color: var(--ai-select-hover);
2851
+ .ai-chat-agent-suggestion:hover {
2852
+ border-color: var(--ai-chat-input-focus-border);
2853
+ box-shadow: 0 0 0 2px var(--ai-chat-input-focus-ring);
2776
2854
  }
2777
- .ai-select-value {
2855
+ .ai-chat-agent-suggestion__content {
2778
2856
  display: flex;
2779
2857
  align-items: center;
2780
- gap: 8px;
2781
- }
2782
- .ai-select-placeholder {
2783
- color: var(--ai-input-placeholder);
2858
+ gap: 10px;
2859
+ flex: 1;
2860
+ min-width: 0;
2784
2861
  }
2785
- .ai-select-icon {
2862
+ .ai-chat-agent-suggestion__icon {
2786
2863
  display: flex;
2864
+ align-items: center;
2865
+ justify-content: center;
2866
+ width: 32px;
2867
+ height: 32px;
2868
+ border-radius: 8px;
2869
+ background-color: var(--ai-button-primary-bg, #3b82f6);
2870
+ color: white;
2871
+ flex-shrink: 0;
2787
2872
  }
2788
- .ai-select-chevron {
2789
- color: var(--ai-input-placeholder);
2790
- }
2791
- .ai-select-content {
2792
- position: absolute;
2793
- top: 100%;
2794
- left: 0;
2795
- right: 0;
2796
- margin-top: 4px;
2797
- background-color: var(--ai-select-bg);
2798
- border: 1px solid var(--ai-select-border);
2799
- border-radius: var(--ai-input-radius);
2800
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
2801
- z-index: 100;
2802
- max-height: 240px;
2803
- overflow-y: auto;
2873
+ .ai-chat-agent-suggestion__icon svg {
2874
+ width: 16px;
2875
+ height: 16px;
2804
2876
  }
2805
- .ai-select-item {
2877
+ .ai-chat-agent-suggestion__text {
2806
2878
  display: flex;
2807
- align-items: center;
2808
- width: 100%;
2809
- padding: 10px 12px;
2879
+ flex-direction: column;
2880
+ gap: 2px;
2881
+ min-width: 0;
2882
+ }
2883
+ .ai-chat-agent-suggestion__label {
2884
+ font-weight: 600;
2810
2885
  font-size: 14px;
2811
- font-family: inherit;
2812
- color: var(--ai-select-text);
2813
- background: none;
2814
- border: none;
2815
- cursor: pointer;
2816
- text-align: left;
2817
- gap: 8px;
2818
- transition: background-color 0.15s;
2886
+ color: var(--ai-chat-assistant-text);
2819
2887
  }
2820
- .ai-select-item:hover {
2821
- background-color: var(--ai-select-item-hover);
2888
+ .ai-chat-agent-suggestion__reason {
2889
+ font-size: 12px;
2890
+ color: var(--ai-sidebar-text-muted, #6b7280);
2891
+ white-space: nowrap;
2892
+ overflow: hidden;
2893
+ text-overflow: ellipsis;
2822
2894
  }
2823
- .ai-select-item--selected {
2824
- background-color: var(--ai-select-item-selected);
2895
+ .ai-chat-agent-suggestion__button {
2896
+ flex-shrink: 0;
2825
2897
  }
2826
- .ai-select-item-icon {
2827
- display: flex;
2898
+ .dark-theme .ai-chat-agent-suggestion {
2899
+ background-color: var(--ai-chat-suggestion-bg);
2900
+ border-color: var(--ai-chat-suggestion-border);
2828
2901
  }
2829
- .ai-select-item-content {
2830
- flex: 1;
2831
- min-width: 0;
2902
+ .dark-theme .ai-chat-agent-suggestion__label {
2903
+ color: var(--ai-chat-assistant-text);
2832
2904
  }
2833
- .ai-select-item-label {
2834
- display: block;
2835
- font-weight: 500;
2905
+ .dark-theme .ai-chat-agent-suggestion__reason {
2906
+ color: var(--ai-sidebar-text-muted, #9ca3af);
2836
2907
  }
2837
- .ai-select-item-description {
2838
- display: block;
2839
- font-size: 12px;
2840
- color: var(--ai-sidebar-text-muted);
2841
- margin-top: 2px;
2908
+ .ai-chat-agent-suggestion__avatar {
2909
+ width: 32px;
2910
+ height: 32px;
2911
+ border-radius: 8px;
2912
+ object-fit: cover;
2913
+ flex-shrink: 0;
2842
2914
  }
2843
- .ai-select-item-check {
2844
- color: var(--ai-button-primary-bg);
2915
+ .ai-chat-agent-suggestion--invalid {
2916
+ opacity: 0.7;
2845
2917
  }
2846
- .ai-scroll-area {
2847
- overflow: hidden;
2848
- position: relative;
2918
+ .ai-chat-agent-suggestion--invalid:hover {
2919
+ border-color: var(--ai-chat-suggestion-border);
2920
+ box-shadow: none;
2849
2921
  }
2850
- .ai-scroll-area-viewport {
2851
- height: 100%;
2852
- overflow-y: auto;
2853
- scrollbar-width: thin;
2854
- scrollbar-color: var(--ai-scrollbar-thumb) var(--ai-scrollbar-track);
2922
+ .ai-chat-agent-suggestion__unavailable {
2923
+ font-size: 12px;
2924
+ color: var(--ai-sidebar-text-muted, #6b7280);
2925
+ font-style: italic;
2926
+ flex-shrink: 0;
2855
2927
  }
2856
- .ai-scroll-area-viewport::-webkit-scrollbar {
2857
- width: var(--ai-scrollbar-width);
2928
+ .ai-chat-agent-suggestion--switched {
2929
+ background-color: rgba(34, 197, 94, 0.08);
2930
+ border-color: rgba(34, 197, 94, 0.3);
2858
2931
  }
2859
- .ai-scroll-area-viewport::-webkit-scrollbar-track {
2860
- background: var(--ai-scrollbar-track);
2932
+ .ai-chat-agent-suggestion--switched:hover {
2933
+ border-color: rgba(34, 197, 94, 0.4);
2934
+ box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.1);
2861
2935
  }
2862
- .ai-scroll-area-viewport::-webkit-scrollbar-thumb {
2863
- background-color: var(--ai-scrollbar-thumb);
2864
- border-radius: 3px;
2936
+ .ai-chat-agent-suggestion__icon--switched {
2937
+ background-color: #22c55e;
2865
2938
  }
2866
- .ai-scroll-area-viewport::-webkit-scrollbar-thumb:hover {
2867
- background-color: var(--ai-scrollbar-thumb-hover);
2939
+ .ai-chat-agent-suggestion__switched-badge {
2940
+ display: flex;
2941
+ align-items: center;
2942
+ gap: 4px;
2943
+ padding: 6px 12px;
2944
+ background-color: rgba(34, 197, 94, 0.1);
2945
+ color: #16a34a;
2946
+ border-radius: 6px;
2947
+ font-size: 12px;
2948
+ font-weight: 600;
2949
+ flex-shrink: 0;
2868
2950
  }
2869
- .ai-tooltip-trigger {
2870
- position: relative;
2871
- display: inline-flex;
2951
+ .dark-theme .ai-chat-agent-suggestion--switched {
2952
+ background-color: rgba(34, 197, 94, 0.12);
2953
+ border-color: rgba(34, 197, 94, 0.25);
2872
2954
  }
2873
- .ai-tooltip {
2874
- position: absolute;
2875
- z-index: 1000;
2876
- padding: 6px 10px;
2877
- font-size: 12px;
2878
- color: var(--ai-tooltip-text);
2879
- background-color: var(--ai-tooltip-bg);
2880
- border-radius: var(--ai-tooltip-radius);
2881
- white-space: nowrap;
2882
- pointer-events: none;
2883
- animation: ai-tooltip-fade-in 0.15s ease;
2955
+ .dark-theme .ai-chat-agent-suggestion__switched-badge {
2956
+ background-color: rgba(34, 197, 94, 0.15);
2957
+ color: #4ade80;
2884
2958
  }
2885
- @keyframes ai-tooltip-fade-in {
2886
- from {
2887
- opacity: 0;
2888
- transform: scale(0.95);
2959
+ @container chat-panel (max-width: 380px) {
2960
+ .ai-chat-agent-suggestion {
2961
+ flex-direction: column;
2962
+ align-items: stretch;
2963
+ gap: 10px;
2964
+ padding: 10px 12px;
2889
2965
  }
2890
- to {
2891
- opacity: 1;
2892
- transform: scale(1);
2966
+ .ai-chat-agent-suggestion__button {
2967
+ width: 100%;
2968
+ }
2969
+ .ai-chat-agent-suggestion__reason {
2970
+ white-space: normal;
2893
2971
  }
2894
2972
  }
2895
- .ai-tooltip--top {
2896
- bottom: 100%;
2897
- left: 50%;
2898
- transform: translateX(-50%);
2899
- margin-bottom: 6px;
2973
+ .ai-chat-context-pill-wrapper {
2974
+ position: relative;
2975
+ flex-shrink: 0;
2900
2976
  }
2901
- .ai-tooltip--bottom {
2902
- top: 100%;
2903
- left: 50%;
2904
- transform: translateX(-50%);
2905
- margin-top: 6px;
2977
+ .ai-chat-context-pill {
2978
+ display: flex;
2979
+ align-items: center;
2980
+ gap: 6px;
2981
+ padding: 4px 10px;
2982
+ background: var(--ai-chat-suggestion-bg, #f3f4f6);
2983
+ border: none;
2984
+ border-radius: 999px;
2985
+ color: var(--ai-sidebar-text-muted, #6b7280);
2986
+ font-size: 12px;
2987
+ cursor: pointer;
2988
+ transition: all 0.15s ease;
2989
+ font-family: inherit;
2990
+ }
2991
+ .ai-chat-context-pill:hover {
2992
+ background: var(--ai-chat-suggestion-hover-bg, #e5e7eb);
2993
+ color: var(--ai-chat-input-text, #1f2937);
2906
2994
  }
2907
- .ai-tooltip--left {
2908
- right: 100%;
2909
- top: 50%;
2910
- transform: translateY(-50%);
2911
- margin-right: 6px;
2995
+ .ai-chat-context-pill--active {
2996
+ background: var(--ai-chat-suggestion-hover-bg, #e5e7eb);
2997
+ color: var(--ai-chat-input-text, #1f2937);
2912
2998
  }
2913
- .ai-tooltip--right {
2914
- left: 100%;
2915
- top: 50%;
2916
- transform: translateY(-50%);
2917
- margin-left: 6px;
2999
+ .ai-chat-context-pill--warning {
3000
+ color: #f59e0b;
2918
3001
  }
2919
- .ai-tooltip-arrow {
3002
+ .ai-chat-context-pill__count {
2920
3003
  display: none;
3004
+ border-radius: 999px;
2921
3005
  }
2922
- .ai-dialog-overlay {
2923
- position: fixed;
2924
- top: 0;
2925
- left: 0;
2926
- right: 0;
2927
- bottom: 0;
2928
- background-color: var(--ai-dialog-overlay);
2929
- display: flex;
2930
- align-items: center;
2931
- justify-content: center;
2932
- z-index: 10000;
2933
- animation: ai-dialog-overlay-fade-in 0.2s ease;
3006
+ .ai-chat-context-pill__label {
3007
+ font-weight: 400;
3008
+ color: var(--ai-sidebar-text-muted, #6b7280);
3009
+ font-size: 12px;
2934
3010
  }
2935
- @keyframes ai-dialog-overlay-fade-in {
2936
- from {
2937
- opacity: 0;
2938
- }
2939
- to {
2940
- opacity: 1;
2941
- }
3011
+ .ai-chat-context-pill__tokens {
3012
+ display: none;
2942
3013
  }
2943
- .ai-dialog {
2944
- position: relative;
2945
- background-color: var(--ai-dialog-bg);
2946
- border: 1px solid var(--ai-dialog-border);
2947
- border-radius: var(--ai-dialog-radius);
2948
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
2949
- max-width: 420px;
2950
- width: 90%;
2951
- animation: ai-dialog-slide-in 0.2s ease;
3014
+ .ai-chat-context-popover {
3015
+ position: absolute;
3016
+ bottom: calc(100% + 8px);
3017
+ left: 50%;
3018
+ transform: translateX(-50%);
3019
+ min-width: 280px;
3020
+ max-width: 360px;
3021
+ background: var(--ai-chat-input-bg, #ffffff);
3022
+ border: 1px solid var(--ai-chat-input-border, #e5e7eb);
3023
+ border-radius: 12px;
3024
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
3025
+ z-index: 1000;
3026
+ overflow: hidden;
3027
+ animation: contextPopoverSlideUp 0.15s ease-out;
2952
3028
  }
2953
- @keyframes ai-dialog-slide-in {
3029
+ .ai-chat-context-popover--detail {
3030
+ position: fixed;
3031
+ bottom: 80px;
3032
+ left: 50%;
3033
+ transform: translateX(-50%);
3034
+ width: calc(100vw - 100px);
3035
+ max-width: 800px;
3036
+ min-width: 500px;
3037
+ max-height: calc(100vh - 200px);
3038
+ z-index: 1001;
3039
+ }
3040
+ @keyframes contextPopoverSlideUp {
2954
3041
  from {
2955
3042
  opacity: 0;
2956
- transform: scale(0.95) translateY(-10px);
3043
+ transform: translateX(-50%) translateY(4px);
2957
3044
  }
2958
3045
  to {
2959
3046
  opacity: 1;
2960
- transform: scale(1) translateY(0);
3047
+ transform: translateX(-50%) translateY(0);
2961
3048
  }
2962
3049
  }
2963
- .ai-dialog-header {
2964
- padding: 20px 20px 12px;
3050
+ .ai-chat-context-popover__header {
3051
+ display: flex;
3052
+ align-items: center;
3053
+ justify-content: space-between;
3054
+ padding: 12px 14px;
3055
+ border-bottom: 1px solid var(--ai-chat-suggestion-border, #e5e7eb);
2965
3056
  }
2966
- .ai-dialog-title {
2967
- margin: 0;
2968
- font-size: 16px;
3057
+ .ai-chat-context-popover__title {
2969
3058
  font-weight: 600;
2970
- color: var(--ai-dialog-title-color);
2971
- }
2972
- .ai-dialog-description {
2973
- margin: 8px 0 0;
2974
- font-size: 14px;
2975
- color: var(--ai-dialog-description-color);
2976
- line-height: 1.5;
2977
- }
2978
- .ai-dialog-content {
2979
- padding: 0 20px 20px;
2980
- }
2981
- .ai-dialog-footer {
2982
- display: flex;
2983
- justify-content: flex-end;
2984
- gap: 8px;
2985
- padding: 16px 20px;
2986
- border-top: 1px solid var(--ai-dialog-border);
3059
+ font-size: 13px;
3060
+ color: var(--ai-chat-input-text, #1f2937);
2987
3061
  }
2988
- .ai-dialog-close {
2989
- position: absolute;
2990
- top: 12px;
2991
- right: 12px;
2992
- width: 28px;
2993
- height: 28px;
3062
+ .ai-chat-context-popover__close {
2994
3063
  display: flex;
2995
3064
  align-items: center;
2996
3065
  justify-content: center;
2997
- background: none;
3066
+ width: 24px;
3067
+ height: 24px;
3068
+ background: transparent;
2998
3069
  border: none;
2999
- color: var(--ai-sidebar-text-muted);
3070
+ border-radius: 6px;
3071
+ color: var(--ai-sidebar-text-muted, #9ca3af);
3072
+ font-size: 18px;
3000
3073
  cursor: pointer;
3001
- border-radius: 4px;
3002
- transition: background-color 0.15s, color 0.15s;
3074
+ transition: all 0.15s;
3003
3075
  }
3004
- .ai-dialog-close:hover {
3005
- background-color: var(--ai-button-ghost-hover);
3006
- color: var(--ai-sidebar-text);
3076
+ .ai-chat-context-popover__close:hover {
3077
+ background: var(--ai-chat-suggestion-bg, #f3f4f6);
3078
+ color: var(--ai-chat-input-text, #1f2937);
3007
3079
  }
3008
- @media (max-width: 600px) {
3009
- .ai-agent-panel {
3010
- width: 100% !important;
3011
- }
3012
- .ai-agent-panel__sidebar {
3013
- width: 240px;
3014
- min-width: unset;
3015
- max-width: 280px;
3016
- position: absolute;
3017
- left: 0;
3018
- top: 0;
3019
- bottom: 0;
3020
- z-index: 100;
3021
- transform: translateX(-100%);
3022
- transition: transform var(--ai-panel-transition);
3023
- }
3024
- .ai-agent-panel--left .ai-agent-panel__sidebar {
3025
- transform: translateX(100%);
3026
- left: auto;
3027
- right: 0;
3028
- }
3029
- .ai-agent-panel__sidebar--open {
3030
- transform: translateX(0);
3031
- }
3032
- .ai-agent-panel__resize-handle {
3033
- display: none;
3034
- }
3035
- .ai-agent-panel__chat {
3036
- min-width: 0;
3037
- }
3080
+ .ai-chat-context-popover__token-bar {
3081
+ padding: 10px 14px;
3082
+ background: var(--ai-chat-suggestion-bg, #f9fafb);
3038
3083
  }
3039
- .ai-agent-panel[style*=width] {
3040
- flex-shrink: 0;
3084
+ .ai-chat-context-popover__token-info {
3085
+ display: flex;
3086
+ align-items: baseline;
3087
+ gap: 4px;
3088
+ margin-bottom: 6px;
3089
+ font-size: 12px;
3041
3090
  }
3042
- .ai-agent-panel__chat {
3043
- container-type: inline-size;
3044
- container-name: agent-chat;
3091
+ .ai-chat-context-popover__token-info > span:first-child {
3092
+ font-weight: 600;
3093
+ color: var(--ai-chat-input-text, #1f2937);
3045
3094
  }
3046
- @container agent-chat (max-width: 380px) {
3047
- .ai-agent-panel__agent-selector {
3048
- padding: 6px 8px;
3049
- }
3050
- .ai-agent-panel__initial-message {
3051
- padding: 12px;
3052
- font-size: 13px;
3053
- word-wrap: break-word;
3054
- overflow-wrap: break-word;
3055
- hyphens: auto;
3056
- }
3057
- .ai-agent-panel__empty-state {
3058
- padding: 16px 12px;
3059
- }
3060
- .ai-agent-panel__empty-icon {
3061
- width: 40px;
3062
- height: 40px;
3063
- }
3064
- .ai-agent-panel__empty-title {
3065
- font-size: 14px;
3066
- }
3067
- .ai-agent-panel__empty-description {
3068
- font-size: 12px;
3069
- }
3095
+ .ai-chat-context-popover__token-limit {
3096
+ color: var(--ai-sidebar-text-muted, #9ca3af);
3070
3097
  }
3071
- @container agent-chat (max-width: 320px) {
3072
- .ai-agent-panel__header-actions {
3073
- gap: 4px;
3074
- }
3075
- .ai-agent-panel__header-button {
3076
- padding: 4px;
3077
- }
3078
- .ai-agent-panel__agent-selector .ai-select {
3079
- font-size: 13px;
3080
- }
3098
+ .ai-chat-context-popover__tokens--warning {
3099
+ color: #f59e0b !important;
3081
3100
  }
3082
- .ai-agent-panel__group--active {
3083
- background-color: var(--ai-conversation-active);
3084
- border-radius: 6px;
3085
- margin-bottom: 8px;
3086
- padding: 4px;
3101
+ .ai-chat-context-popover__progress {
3102
+ height: 4px;
3103
+ background: var(--ai-chat-suggestion-border, #e5e7eb);
3104
+ border-radius: 2px;
3105
+ overflow: hidden;
3087
3106
  }
3088
- .ai-agent-panel__group--active .ai-agent-panel__group-label {
3089
- color: var(--ai-button-primary-bg);
3090
- font-weight: 600;
3107
+ .ai-chat-context-popover__progress-bar {
3108
+ height: 100%;
3109
+ background: #22c55e;
3110
+ border-radius: 2px;
3111
+ transition: width 0.3s ease;
3091
3112
  }
3092
- .ai-agent-panel__conversation--active-item {
3113
+ .ai-chat-context-popover__progress-bar--warning {
3114
+ background: #f59e0b;
3115
+ }
3116
+ .ai-chat-context-popover__summary {
3117
+ display: flex;
3118
+ flex-direction: column;
3119
+ }
3120
+ .ai-chat-context-popover__sections {
3121
+ display: flex;
3122
+ flex-direction: column;
3123
+ max-height: 200px;
3124
+ overflow-y: auto;
3125
+ }
3126
+ .ai-chat-context-popover__section-item {
3093
3127
  display: flex;
3094
3128
  align-items: center;
3095
- justify-content: space-between;
3096
- background-color: var(--ai-sidebar-bg);
3097
- border-radius: 4px;
3098
- margin: 2px 0;
3129
+ gap: 10px;
3130
+ padding: 10px 14px;
3131
+ border-bottom: 1px solid var(--ai-chat-suggestion-border, #f3f4f6);
3132
+ transition: background 0.1s;
3099
3133
  }
3100
- .ai-agent-panel__conversation--active-item .ai-agent-panel__conversation-content {
3101
- flex: 1;
3102
- min-width: 0;
3134
+ .ai-chat-context-popover__section-item:last-child {
3135
+ border-bottom: none;
3103
3136
  }
3104
- .ai-agent-panel__conversation--active-item .ai-agent-panel__conversation-title {
3105
- display: flex;
3106
- align-items: center;
3107
- gap: 6px;
3137
+ .ai-chat-context-popover__section-item--clickable {
3138
+ cursor: pointer;
3108
3139
  }
3109
- .ai-agent-panel__conversation--current {
3110
- background-color: var(--ai-conversation-active) !important;
3111
- border-left: 2px solid var(--ai-button-primary-bg);
3140
+ .ai-chat-context-popover__section-item--clickable:hover {
3141
+ background: var(--ai-chat-suggestion-bg, #f9fafb);
3112
3142
  }
3113
- .ai-agent-panel__conversation--in-active {
3143
+ .ai-chat-context-popover__section-icon {
3144
+ font-size: 14px;
3114
3145
  opacity: 0.7;
3115
3146
  }
3116
- .ai-agent-panel__conversation--in-active:hover {
3117
- opacity: 1;
3147
+ .ai-chat-context-popover__section-title {
3148
+ flex: 1;
3149
+ font-size: 13px;
3150
+ font-weight: 500;
3151
+ color: var(--ai-chat-input-text, #1f2937);
3152
+ white-space: nowrap;
3153
+ overflow: hidden;
3154
+ text-overflow: ellipsis;
3118
3155
  }
3119
- .ai-agent-panel__conversation-close {
3156
+ .ai-chat-context-popover__section-tokens {
3157
+ font-size: 11px;
3158
+ color: var(--ai-sidebar-text-muted, #9ca3af);
3159
+ flex-shrink: 0;
3160
+ }
3161
+ .ai-chat-context-popover__expand-btn {
3120
3162
  display: flex;
3121
3163
  align-items: center;
3122
3164
  justify-content: center;
3123
- width: 20px;
3124
- height: 20px;
3125
- padding: 0;
3126
- margin-right: 4px;
3127
- background: none;
3165
+ width: 100%;
3166
+ padding: 10px 14px;
3167
+ background: transparent;
3128
3168
  border: none;
3129
- border-radius: 4px;
3130
- color: var(--ai-sidebar-text-muted);
3169
+ border-top: 1px solid var(--ai-chat-suggestion-border, #e5e7eb);
3170
+ color: var(--ai-button-primary-bg, #3b82f6);
3171
+ font-size: 12px;
3172
+ font-weight: 500;
3131
3173
  cursor: pointer;
3132
- opacity: 0;
3133
- transition:
3134
- opacity 0.15s,
3135
- background-color 0.15s,
3136
- color 0.15s;
3137
- }
3138
- .ai-agent-panel__conversation--active-item:hover .ai-agent-panel__conversation-close {
3139
- opacity: 1;
3174
+ transition: background 0.15s;
3140
3175
  }
3141
- .ai-agent-panel__conversation-close:hover {
3142
- background-color: var(--ai-button-ghost-hover);
3143
- color: var(--ai-sidebar-text);
3176
+ .ai-chat-context-popover__expand-btn:hover {
3177
+ background: var(--ai-chat-suggestion-bg, #f9fafb);
3144
3178
  }
3145
- .ai-agent-panel__active-badge {
3146
- color: var(--ai-button-primary-bg);
3147
- font-size: 8px;
3148
- margin-right: 2px;
3179
+ .ai-chat-context-popover__detail {
3180
+ display: flex;
3181
+ flex-direction: column;
3182
+ height: 100%;
3183
+ max-height: calc(100vh - 250px);
3184
+ min-height: 300px;
3149
3185
  }
3150
- .ai-agent-panel__loading-dot {
3151
- display: inline-block;
3152
- width: 8px;
3153
- height: 8px;
3154
- border-radius: 50%;
3155
- background-color: var(--ai-button-primary-bg);
3156
- animation: ai-pulse 1.5s ease-in-out infinite;
3186
+ .ai-chat-context-popover__back {
3187
+ display: flex;
3188
+ align-items: center;
3189
+ gap: 2px;
3190
+ padding: 4px 8px;
3191
+ margin-right: 8px;
3192
+ background: transparent;
3193
+ border: none;
3194
+ border-radius: 6px;
3195
+ color: var(--ai-sidebar-text-muted, #6b7280);
3196
+ font-size: 12px;
3197
+ cursor: pointer;
3198
+ transition: all 0.15s;
3157
3199
  }
3158
- @keyframes ai-pulse {
3159
- 0%, 100% {
3160
- opacity: 1;
3161
- transform: scale(1);
3162
- }
3163
- 50% {
3164
- opacity: 0.5;
3165
- transform: scale(0.8);
3166
- }
3200
+ .ai-chat-context-popover__back:hover {
3201
+ background: var(--ai-chat-suggestion-bg, #f3f4f6);
3202
+ color: var(--ai-chat-input-text, #1f2937);
3167
3203
  }
3168
- .ai-agent-panel__group-divider {
3169
- height: 1px;
3170
- background-color: var(--ai-sidebar-border);
3171
- margin: 12px 8px;
3204
+ .ai-chat-context-popover__detail-sections {
3205
+ flex: 1;
3206
+ overflow-y: auto;
3207
+ padding: 12px;
3208
+ min-height: 0;
3172
3209
  }
3173
- .ai-agent-panel__chat-wrapper {
3174
- position: absolute;
3175
- top: 0;
3176
- left: 0;
3177
- right: 0;
3178
- bottom: 0;
3179
- display: flex;
3180
- flex-direction: column;
3210
+ .ai-chat-context-popover__detail-section {
3211
+ margin-bottom: 6px;
3212
+ background: var(--ai-chat-suggestion-bg, #f9fafb);
3213
+ border-radius: 8px;
3181
3214
  overflow: hidden;
3182
3215
  }
3183
- .ai-agent-panel__empty-chat {
3184
- position: absolute;
3185
- top: 0;
3186
- left: 0;
3187
- right: 0;
3188
- bottom: 0;
3216
+ .ai-chat-context-popover__detail-section-header {
3189
3217
  display: flex;
3190
- flex-direction: column;
3191
3218
  align-items: center;
3192
- justify-content: center;
3193
- gap: 16px;
3194
- color: var(--ai-sidebar-text-muted);
3195
- text-align: center;
3196
- padding: 32px;
3197
- }
3198
- .ai-agent-panel__empty-chat svg {
3199
- width: 48px;
3200
- height: 48px;
3201
- opacity: 0.5;
3219
+ justify-content: space-between;
3220
+ padding: 10px 12px;
3221
+ cursor: pointer;
3222
+ user-select: none;
3223
+ list-style: none;
3224
+ font-size: 13px;
3202
3225
  }
3203
- .ai-agent-panel__empty-chat p {
3204
- margin: 0;
3205
- font-size: 14px;
3226
+ .ai-chat-context-popover__detail-section-header::-webkit-details-marker {
3227
+ display: none;
3206
3228
  }
3207
- .ai-agent-panel__sidebar--collapsed {
3208
- width: var(--ai-panel-collapsed-width) !important;
3209
- min-width: var(--ai-panel-collapsed-width) !important;
3210
- max-width: var(--ai-panel-collapsed-width) !important;
3229
+ .ai-chat-context-popover__detail-section-title {
3230
+ font-weight: 600;
3231
+ color: var(--ai-chat-input-text, #1f2937);
3211
3232
  }
3212
- .ai-agent-panel__history-collapsed-bar {
3233
+ .ai-chat-context-popover__detail-section-meta {
3213
3234
  display: flex;
3214
- flex-direction: column;
3215
3235
  align-items: center;
3216
- padding: 8px 4px;
3217
- gap: 4px;
3218
- width: 100%;
3219
- height: 100%;
3220
- background-color: var(--ai-sidebar-bg);
3221
- cursor: pointer;
3222
- transition: background-color 0.15s, box-shadow 0.15s;
3236
+ gap: 8px;
3237
+ font-size: 11px;
3238
+ color: var(--ai-sidebar-text-muted, #9ca3af);
3223
3239
  }
3224
- .ai-agent-panel__history-collapsed-bar:hover {
3225
- background-color: var(--ai-sidebar-hover);
3226
- box-shadow: inset -2px 0 0 var(--ai-button-primary-bg);
3240
+ .ai-chat-context-popover__detail-section-meta code {
3241
+ background: var(--ai-chat-suggestion-hover-bg, #e5e7eb);
3242
+ padding: 2px 6px;
3243
+ border-radius: 4px;
3244
+ font-family: "SF Mono", monospace;
3245
+ font-size: 10px;
3227
3246
  }
3228
- .ai-agent-panel--sidebar-right .ai-agent-panel__history-collapsed-bar:hover {
3229
- box-shadow: inset 2px 0 0 var(--ai-button-primary-bg);
3247
+ .ai-chat-context-popover__detail-content {
3248
+ margin: 0;
3249
+ padding: 12px 14px;
3250
+ background: var(--ai-chat-input-bg, #ffffff);
3251
+ border-top: 1px solid var(--ai-chat-suggestion-border, #e5e7eb);
3252
+ font-family:
3253
+ "SF Mono",
3254
+ "Monaco",
3255
+ "Fira Code",
3256
+ monospace;
3257
+ font-size: 12px;
3258
+ line-height: 1.6;
3259
+ color: var(--ai-chat-input-text, #374151);
3260
+ overflow-x: auto;
3261
+ white-space: pre-wrap;
3262
+ word-break: break-word;
3263
+ max-height: 400px;
3264
+ overflow-y: auto;
3230
3265
  }
3231
- .ai-agent-panel__history-collapsed-spacer {
3232
- flex: 1;
3266
+ .dark-theme .ai-chat-context-pill {
3267
+ background: var(--ai-chat-suggestion-bg, #374151);
3233
3268
  }
3234
- .ai-agent-panel--sidebar-left .ai-agent-panel__sidebar--collapsed {
3235
- border-right: 1px solid var(--ai-sidebar-border);
3269
+ .dark-theme .ai-chat-context-pill:hover,
3270
+ .dark-theme .ai-chat-context-pill--active {
3271
+ background: var(--ai-chat-suggestion-hover-bg, #4b5563);
3236
3272
  }
3237
- .ai-agent-panel--sidebar-right .ai-agent-panel__sidebar--collapsed {
3238
- border-left: 1px solid var(--ai-sidebar-border);
3273
+ .dark-theme .ai-chat-context-popover {
3274
+ background: var(--ai-chat-input-bg, #1f2937);
3275
+ border-color: var(--ai-chat-input-border, #374151);
3276
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
3277
+ }
3278
+ .dark-theme .ai-chat-context-popover__token-bar {
3279
+ background: var(--ai-chat-suggestion-bg, #111827);
3280
+ }
3281
+ .dark-theme .ai-chat-context-popover__detail-content {
3282
+ background: #111827;
3283
+ }
3284
+ @container chat-panel (max-width: 380px) {
3285
+ .ai-chat-context-pill__label {
3286
+ font-size: 11px;
3287
+ }
3288
+ .ai-chat-context-popover {
3289
+ min-width: 260px;
3290
+ left: auto;
3291
+ right: 0;
3292
+ transform: none;
3293
+ }
3294
+ @keyframes contextPopoverSlideUp {
3295
+ from {
3296
+ opacity: 0;
3297
+ transform: translateY(4px);
3298
+ }
3299
+ to {
3300
+ opacity: 1;
3301
+ transform: translateY(0);
3302
+ }
3303
+ }
3239
3304
  }