DetailPanel.module.css 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. .panel {
  2. width: 100%;
  3. height: 100%;
  4. background: var(--bg-panel);
  5. display: flex;
  6. flex-direction: column;
  7. box-shadow: -1px 0 0 0 var(--border-light);
  8. }
  9. .header {
  10. height: var(--topbar-height);
  11. padding: 0 var(--space-lg);
  12. border-bottom: 1px solid var(--border-light);
  13. display: flex;
  14. align-items: center;
  15. justify-content: space-between;
  16. flex-shrink: 0;
  17. }
  18. .title {
  19. font-size: 16px;
  20. font-weight: 600;
  21. color: var(--text-primary);
  22. }
  23. .close {
  24. border: none;
  25. background: transparent;
  26. width: 28px;
  27. height: 28px;
  28. display: flex;
  29. align-items: center;
  30. justify-content: center;
  31. font-size: 20px;
  32. color: var(--text-tertiary);
  33. cursor: pointer;
  34. border-radius: var(--radius-sm);
  35. transition: all var(--transition-fast);
  36. }
  37. .close:hover {
  38. background: var(--bg-surface-hover);
  39. color: var(--text-secondary);
  40. }
  41. .content {
  42. padding: var(--space-lg);
  43. overflow-y: auto;
  44. overflow-x: hidden;
  45. flex: 1;
  46. }
  47. .sectionTitle {
  48. font-size: 14px;
  49. font-weight: 600;
  50. color: var(--text-secondary);
  51. margin: var(--space-lg) 0 var(--space-md);
  52. text-transform: uppercase;
  53. letter-spacing: 0.05em;
  54. display: flex;
  55. align-items: center;
  56. }
  57. .sectionTitle:first-child {
  58. margin-top: 0;
  59. }
  60. .section {
  61. margin-bottom: var(--space-lg);
  62. }
  63. .label {
  64. font-size: 12px;
  65. font-weight: 500;
  66. color: var(--text-tertiary);
  67. margin-bottom: var(--space-xs);
  68. }
  69. .value {
  70. font-size: 14px;
  71. line-height: 1.6;
  72. color: var(--text-primary);
  73. word-break: break-all;
  74. overflow-wrap: anywhere;
  75. background: var(--bg-surface-hover);
  76. padding: var(--space-sm) var(--space-md);
  77. border-radius: var(--radius-md);
  78. border: 1px solid var(--border-light);
  79. white-space: pre-wrap;
  80. min-width: 0;
  81. max-width: 100%;
  82. box-sizing: border-box;
  83. }
  84. .value * {
  85. word-break: break-all;
  86. overflow-wrap: anywhere;
  87. max-width: 100%;
  88. white-space: pre-wrap;
  89. }
  90. .value pre,
  91. .value code {
  92. white-space: pre-wrap;
  93. word-break: break-all;
  94. overflow-wrap: anywhere;
  95. overflow-x: auto;
  96. max-width: 100%;
  97. }
  98. .value p {
  99. margin: 1em 0;
  100. }
  101. .value p:first-child {
  102. margin-top: 0;
  103. }
  104. .value p:last-child {
  105. margin-bottom: 0;
  106. }
  107. .toolCalls {
  108. display: flex;
  109. flex-direction: column;
  110. gap: var(--space-sm);
  111. }
  112. .toolCall {
  113. background: var(--bg-node-goal);
  114. border: 1px solid var(--color-primary);
  115. border-radius: var(--radius-md);
  116. padding: var(--space-sm);
  117. }
  118. .toolName {
  119. font-weight: 600;
  120. color: var(--color-primary);
  121. margin-bottom: var(--space-xs);
  122. font-size: 13px;
  123. }
  124. .toolArgs {
  125. font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  126. font-size: 12px;
  127. background: rgba(255, 255, 255, 0.5);
  128. padding: var(--space-xs) var(--space-sm);
  129. border-radius: var(--radius-sm);
  130. margin: 0;
  131. white-space: pre-wrap;
  132. overflow-wrap: break-word;
  133. word-break: break-all;
  134. overflow-x: auto;
  135. max-width: 100%;
  136. color: var(--text-secondary);
  137. }
  138. .toolResult {
  139. background: var(--bg-surface-hover);
  140. border: 1px solid var(--border-light);
  141. border-radius: var(--radius-md);
  142. padding: var(--space-sm);
  143. overflow: hidden;
  144. }
  145. .resultContent {
  146. overflow-x: auto;
  147. max-width: 100%;
  148. }
  149. .messages {
  150. display: flex;
  151. flex-direction: column;
  152. gap: var(--space-md);
  153. }
  154. .messageItem {
  155. border-left: 2px solid var(--border-medium);
  156. padding-left: var(--space-md);
  157. }
  158. .knowledgeList {
  159. display: flex;
  160. flex-direction: column;
  161. gap: var(--space-md);
  162. margin-top: var(--space-sm);
  163. }
  164. .knowledgeItem {
  165. background: var(--bg-surface-hover);
  166. border: 1px solid var(--border-light);
  167. border-radius: var(--radius-lg);
  168. padding: var(--space-md);
  169. transition: all var(--transition-fast);
  170. }
  171. .knowledgeItem:hover {
  172. border-color: var(--color-primary-light);
  173. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  174. }
  175. .knowledgeHeader {
  176. display: flex;
  177. justify-content: space-between;
  178. align-items: center;
  179. margin-bottom: var(--space-sm);
  180. }
  181. .knowledgeId {
  182. font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  183. font-size: 12px;
  184. color: var(--text-tertiary);
  185. font-weight: 500;
  186. }
  187. .knowledgeMetrics {
  188. display: flex;
  189. gap: var(--space-md);
  190. font-size: 13px;
  191. }
  192. .metricScore {
  193. color: #f59e0b; /* Amber 500 */
  194. font-weight: 500;
  195. }
  196. .metricQuality {
  197. color: #8b5cf6; /* Purple 500 */
  198. font-weight: 500;
  199. }
  200. .metricHelpful {
  201. color: #10b981; /* Emerald 500 */
  202. font-weight: 500;
  203. }
  204. .metricHarmful {
  205. color: #ef4444; /* Red 500 */
  206. font-weight: 500;
  207. }
  208. .knowledgeTags {
  209. display: flex;
  210. flex-wrap: wrap;
  211. gap: var(--space-xs);
  212. margin-bottom: var(--space-sm);
  213. }
  214. .tag {
  215. font-size: 11px;
  216. font-weight: 600;
  217. text-transform: uppercase;
  218. padding: 2px 8px;
  219. background: var(--color-primary-light);
  220. color: var(--color-primary);
  221. border-radius: var(--radius-full);
  222. letter-spacing: 0.02em;
  223. }
  224. .knowledgeScenario {
  225. font-size: 13px;
  226. color: var(--text-secondary);
  227. line-height: 1.5;
  228. margin-bottom: var(--space-sm);
  229. padding-bottom: var(--space-sm);
  230. border-bottom: 1px dashed var(--border-light);
  231. }
  232. .knowledgeContent {
  233. font-size: 14px;
  234. color: var(--text-primary);
  235. line-height: 1.6;
  236. }
  237. .knowledgeContent p {
  238. margin: 0;
  239. }