agentgui 1.0.115 → 1.0.117

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/static/index.html CHANGED
@@ -912,6 +912,717 @@
912
912
  @media (min-width: 769px) and (max-width: 1024px) {
913
913
  :root { --sidebar-width: 260px; }
914
914
  }
915
+
916
+ /* ===== SVG ICON SIZING (Tailwind utilities not loaded) ===== */
917
+ .block-text svg, .block-code svg, .block-thinking svg,
918
+ .block-tool-use svg, .block-tool-result svg, .block-image svg,
919
+ .block-bash svg, .block-system svg, .block-generic svg,
920
+ .block-error svg, .block-result svg,
921
+ .event-streaming-start svg, .event-streaming-complete svg,
922
+ .event-file-read svg, .event-file-write svg,
923
+ .event-git-status svg, .event-command svg, .event-error svg,
924
+ .event-tool-use svg, .event-generic svg {
925
+ width: 1.25rem;
926
+ height: 1.25rem;
927
+ flex-shrink: 0;
928
+ }
929
+
930
+ .icon-sm svg { width: 1rem !important; height: 1rem !important; }
931
+ .icon-lg svg { width: 1.5rem !important; height: 1.5rem !important; }
932
+
933
+ /* ===== STREAMING BLOCK STYLES ===== */
934
+ .block-text {
935
+ margin-bottom: 0.75rem;
936
+ padding: 1rem;
937
+ background: var(--color-bg-primary);
938
+ border-radius: 0.5rem;
939
+ border: 1px solid var(--color-border);
940
+ line-height: 1.7;
941
+ font-size: 0.9rem;
942
+ }
943
+
944
+ .block-code {
945
+ margin-bottom: 0.75rem;
946
+ border-radius: 0.5rem;
947
+ overflow: hidden;
948
+ border: 1px solid var(--color-border);
949
+ }
950
+
951
+ .block-code .code-header {
952
+ display: flex;
953
+ align-items: center;
954
+ justify-content: space-between;
955
+ gap: 0.5rem;
956
+ background: #1f2937;
957
+ padding: 0.5rem 1rem;
958
+ border-bottom: 1px solid #374151;
959
+ }
960
+
961
+ .block-code .code-header .lang-badge {
962
+ font-size: 0.7rem;
963
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
964
+ color: #9ca3af;
965
+ text-transform: uppercase;
966
+ letter-spacing: 0.05em;
967
+ }
968
+
969
+ .block-code .copy-code-btn {
970
+ background: none;
971
+ border: none;
972
+ color: #9ca3af;
973
+ cursor: pointer;
974
+ padding: 0.25rem;
975
+ border-radius: 0.25rem;
976
+ display: flex;
977
+ align-items: center;
978
+ transition: all 0.15s;
979
+ }
980
+
981
+ .block-code .copy-code-btn:hover { color: #e5e7eb; background: #374151; }
982
+
983
+ .block-code pre {
984
+ margin: 0;
985
+ padding: 1rem;
986
+ background: #111827;
987
+ color: #e5e7eb;
988
+ overflow-x: auto;
989
+ font-size: 0.8rem;
990
+ line-height: 1.5;
991
+ }
992
+
993
+ .block-thinking {
994
+ margin-bottom: 0.75rem;
995
+ border-radius: 0.5rem;
996
+ border: 2px solid #c4b5fd;
997
+ background: #f5f3ff;
998
+ overflow: hidden;
999
+ }
1000
+
1001
+ html.dark .block-thinking { border-color: #5b21b6; background: #1e1033; }
1002
+
1003
+ .block-thinking summary {
1004
+ padding: 0.75rem 1rem;
1005
+ cursor: pointer;
1006
+ display: flex;
1007
+ align-items: center;
1008
+ gap: 0.5rem;
1009
+ font-weight: 600;
1010
+ font-size: 0.85rem;
1011
+ color: #5b21b6;
1012
+ user-select: none;
1013
+ background: none;
1014
+ border-radius: 0;
1015
+ }
1016
+
1017
+ html.dark .block-thinking summary { color: #c4b5fd; }
1018
+ .block-thinking summary:hover { background: rgba(139,92,246,0.08); }
1019
+
1020
+ .block-thinking .thinking-content {
1021
+ padding: 0.75rem 1rem;
1022
+ border-top: 1px solid #c4b5fd;
1023
+ font-size: 0.85rem;
1024
+ color: #5b21b6;
1025
+ white-space: pre-wrap;
1026
+ line-height: 1.6;
1027
+ }
1028
+
1029
+ html.dark .block-thinking .thinking-content { border-color: #5b21b6; color: #c4b5fd; }
1030
+
1031
+ /* --- Tool Use Block --- */
1032
+ .block-tool-use {
1033
+ margin-bottom: 0.75rem;
1034
+ border-radius: 0.5rem;
1035
+ border: 1px solid #a5f3fc;
1036
+ background: #ecfeff;
1037
+ overflow: hidden;
1038
+ }
1039
+
1040
+ html.dark .block-tool-use { border-color: #155e75; background: #0c1a24; }
1041
+
1042
+ .block-tool-use .tool-header {
1043
+ padding: 0.625rem 1rem;
1044
+ border-bottom: 1px solid #a5f3fc;
1045
+ display: flex;
1046
+ align-items: center;
1047
+ gap: 0.5rem;
1048
+ background: #cffafe;
1049
+ }
1050
+
1051
+ html.dark .block-tool-use .tool-header { border-color: #155e75; background: #0e2a3a; }
1052
+
1053
+ .block-tool-use .tool-header .tool-icon {
1054
+ display: flex;
1055
+ align-items: center;
1056
+ color: #0891b2;
1057
+ }
1058
+
1059
+ html.dark .block-tool-use .tool-header .tool-icon { color: #22d3ee; }
1060
+
1061
+ .block-tool-use .tool-header .tool-name {
1062
+ font-weight: 600;
1063
+ font-size: 0.85rem;
1064
+ color: #155e75;
1065
+ }
1066
+
1067
+ html.dark .block-tool-use .tool-header .tool-name { color: #67e8f9; }
1068
+
1069
+ .block-tool-use .tool-header .tool-name code {
1070
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1071
+ background: #a5f3fc;
1072
+ padding: 0.125rem 0.5rem;
1073
+ border-radius: 0.25rem;
1074
+ font-size: 0.8rem;
1075
+ }
1076
+
1077
+ html.dark .block-tool-use .tool-header .tool-name code { background: #164e63; }
1078
+
1079
+ .block-tool-use .tool-params {
1080
+ padding: 0.75rem 1rem;
1081
+ }
1082
+
1083
+ .block-tool-use .tool-params .param-label {
1084
+ font-size: 0.7rem;
1085
+ text-transform: uppercase;
1086
+ letter-spacing: 0.05em;
1087
+ color: #0e7490;
1088
+ font-weight: 600;
1089
+ margin-bottom: 0.375rem;
1090
+ }
1091
+
1092
+ html.dark .block-tool-use .tool-params .param-label { color: #22d3ee; }
1093
+
1094
+ /* Tool parameter display styles */
1095
+ .tool-param-file {
1096
+ display: flex;
1097
+ align-items: center;
1098
+ gap: 0.5rem;
1099
+ padding: 0.5rem 0.75rem;
1100
+ background: var(--color-bg-primary);
1101
+ border: 1px solid #a5f3fc;
1102
+ border-radius: 0.375rem;
1103
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1104
+ font-size: 0.8rem;
1105
+ color: var(--color-text-primary);
1106
+ overflow-x: auto;
1107
+ }
1108
+
1109
+ html.dark .tool-param-file { border-color: #155e75; }
1110
+
1111
+ .tool-param-file .file-icon { color: #0891b2; flex-shrink: 0; font-size: 1rem; }
1112
+ .tool-param-file .file-dir { color: var(--color-text-secondary); }
1113
+ .tool-param-file .file-name { font-weight: 600; color: var(--color-text-primary); }
1114
+
1115
+ .tool-param-command {
1116
+ background: #111827;
1117
+ border-radius: 0.375rem;
1118
+ padding: 0.625rem 0.875rem;
1119
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1120
+ font-size: 0.8rem;
1121
+ color: #e5e7eb;
1122
+ overflow-x: auto;
1123
+ display: flex;
1124
+ align-items: flex-start;
1125
+ gap: 0.5rem;
1126
+ }
1127
+
1128
+ .tool-param-command .prompt-char { color: #34d399; font-weight: 700; flex-shrink: 0; }
1129
+ .tool-param-command .command-text { white-space: pre-wrap; word-break: break-all; }
1130
+
1131
+ .tool-param-diff {
1132
+ border-radius: 0.375rem;
1133
+ overflow: hidden;
1134
+ border: 1px solid var(--color-border);
1135
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1136
+ font-size: 0.75rem;
1137
+ }
1138
+
1139
+ .tool-param-diff .diff-header {
1140
+ padding: 0.375rem 0.75rem;
1141
+ background: var(--color-bg-secondary);
1142
+ border-bottom: 1px solid var(--color-border);
1143
+ font-weight: 600;
1144
+ font-size: 0.7rem;
1145
+ text-transform: uppercase;
1146
+ letter-spacing: 0.03em;
1147
+ color: var(--color-text-secondary);
1148
+ }
1149
+
1150
+ .tool-param-diff .diff-old {
1151
+ padding: 0.5rem 0.75rem;
1152
+ background: #fef2f2;
1153
+ color: #991b1b;
1154
+ border-bottom: 1px solid var(--color-border);
1155
+ white-space: pre-wrap;
1156
+ word-break: break-all;
1157
+ max-height: 200px;
1158
+ overflow-y: auto;
1159
+ }
1160
+
1161
+ html.dark .tool-param-diff .diff-old { background: #1c0f0f; color: #fca5a5; }
1162
+
1163
+ .tool-param-diff .diff-new {
1164
+ padding: 0.5rem 0.75rem;
1165
+ background: #f0fdf4;
1166
+ color: #166534;
1167
+ white-space: pre-wrap;
1168
+ word-break: break-all;
1169
+ max-height: 200px;
1170
+ overflow-y: auto;
1171
+ }
1172
+
1173
+ html.dark .tool-param-diff .diff-new { background: #0a1f0f; color: #86efac; }
1174
+
1175
+ .tool-param-query {
1176
+ display: flex;
1177
+ align-items: center;
1178
+ gap: 0.5rem;
1179
+ padding: 0.5rem 0.75rem;
1180
+ background: var(--color-bg-primary);
1181
+ border: 1px solid #a5f3fc;
1182
+ border-radius: 0.375rem;
1183
+ font-size: 0.85rem;
1184
+ }
1185
+
1186
+ html.dark .tool-param-query { border-color: #155e75; }
1187
+ .tool-param-query .query-icon { flex-shrink: 0; font-size: 1rem; }
1188
+
1189
+ .tool-param-url {
1190
+ display: flex;
1191
+ align-items: center;
1192
+ gap: 0.5rem;
1193
+ padding: 0.5rem 0.75rem;
1194
+ background: var(--color-bg-primary);
1195
+ border: 1px solid #a5f3fc;
1196
+ border-radius: 0.375rem;
1197
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1198
+ font-size: 0.8rem;
1199
+ color: #2563eb;
1200
+ word-break: break-all;
1201
+ }
1202
+
1203
+ html.dark .tool-param-url { border-color: #155e75; color: #60a5fa; }
1204
+ .tool-param-url .url-icon { flex-shrink: 0; font-size: 1rem; }
1205
+
1206
+ .tool-param-todos {
1207
+ display: flex;
1208
+ flex-direction: column;
1209
+ gap: 0.25rem;
1210
+ }
1211
+
1212
+ .tool-param-todos .todo-item {
1213
+ display: flex;
1214
+ align-items: flex-start;
1215
+ gap: 0.5rem;
1216
+ padding: 0.375rem 0.5rem;
1217
+ border-radius: 0.25rem;
1218
+ font-size: 0.8rem;
1219
+ background: var(--color-bg-primary);
1220
+ border: 1px solid var(--color-border);
1221
+ }
1222
+
1223
+ .tool-param-todos .todo-status {
1224
+ flex-shrink: 0;
1225
+ font-size: 0.85rem;
1226
+ margin-top: 0.05rem;
1227
+ }
1228
+
1229
+ .tool-param-todos .todo-text { flex: 1; line-height: 1.4; }
1230
+
1231
+ .tool-param-json {
1232
+ background: var(--color-bg-primary);
1233
+ border: 1px solid #a5f3fc;
1234
+ border-radius: 0.375rem;
1235
+ overflow: hidden;
1236
+ }
1237
+
1238
+ html.dark .tool-param-json { border-color: #155e75; }
1239
+
1240
+ .tool-param-json pre {
1241
+ margin: 0;
1242
+ padding: 0.625rem 0.875rem;
1243
+ font-size: 0.75rem;
1244
+ overflow-x: auto;
1245
+ max-height: 200px;
1246
+ overflow-y: auto;
1247
+ white-space: pre-wrap;
1248
+ word-break: break-all;
1249
+ }
1250
+
1251
+ .tool-param-content-preview {
1252
+ border-radius: 0.375rem;
1253
+ overflow: hidden;
1254
+ border: 1px solid var(--color-border);
1255
+ }
1256
+
1257
+ .tool-param-content-preview .preview-header {
1258
+ padding: 0.375rem 0.75rem;
1259
+ background: var(--color-bg-secondary);
1260
+ font-size: 0.7rem;
1261
+ font-weight: 600;
1262
+ text-transform: uppercase;
1263
+ letter-spacing: 0.03em;
1264
+ color: var(--color-text-secondary);
1265
+ border-bottom: 1px solid var(--color-border);
1266
+ display: flex;
1267
+ justify-content: space-between;
1268
+ align-items: center;
1269
+ }
1270
+
1271
+ .tool-param-content-preview .preview-body {
1272
+ padding: 0.5rem 0.75rem;
1273
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1274
+ font-size: 0.75rem;
1275
+ max-height: 200px;
1276
+ overflow-y: auto;
1277
+ white-space: pre-wrap;
1278
+ word-break: break-all;
1279
+ background: var(--color-bg-code);
1280
+ color: #d1d5db;
1281
+ }
1282
+
1283
+ .tool-param-content-preview .preview-truncated {
1284
+ padding: 0.25rem 0.75rem;
1285
+ font-size: 0.7rem;
1286
+ color: var(--color-text-secondary);
1287
+ background: var(--color-bg-secondary);
1288
+ text-align: center;
1289
+ border-top: 1px solid var(--color-border);
1290
+ }
1291
+
1292
+ /* --- Tool Result Block --- */
1293
+ .block-tool-result {
1294
+ margin-bottom: 0.75rem;
1295
+ border-radius: 0.5rem;
1296
+ overflow: hidden;
1297
+ }
1298
+
1299
+ .block-tool-result.result-success { border: 1px solid #86efac; background: #f0fdf4; }
1300
+ .block-tool-result.result-error { border: 1px solid #fca5a5; background: #fef2f2; }
1301
+ html.dark .block-tool-result.result-success { border-color: #166534; background: #0a1f0f; }
1302
+ html.dark .block-tool-result.result-error { border-color: #991b1b; background: #1c0f0f; }
1303
+
1304
+ .block-tool-result .result-header {
1305
+ padding: 0.5rem 1rem;
1306
+ display: flex;
1307
+ align-items: center;
1308
+ justify-content: space-between;
1309
+ }
1310
+
1311
+ .block-tool-result.result-success .result-header { background: #dcfce7; border-bottom: 1px solid #86efac; }
1312
+ .block-tool-result.result-error .result-header { background: #fee2e2; border-bottom: 1px solid #fca5a5; }
1313
+ html.dark .block-tool-result.result-success .result-header { background: #0f2b1a; border-color: #166534; }
1314
+ html.dark .block-tool-result.result-error .result-header { background: #2c1010; border-color: #991b1b; }
1315
+
1316
+ .block-tool-result .result-header .status-label {
1317
+ display: flex;
1318
+ align-items: center;
1319
+ gap: 0.375rem;
1320
+ font-weight: 600;
1321
+ font-size: 0.8rem;
1322
+ }
1323
+
1324
+ .block-tool-result.result-success .status-label { color: #166534; }
1325
+ .block-tool-result.result-error .status-label { color: #991b1b; }
1326
+ html.dark .block-tool-result.result-success .status-label { color: #86efac; }
1327
+ html.dark .block-tool-result.result-error .status-label { color: #fca5a5; }
1328
+
1329
+ .block-tool-result .result-body {
1330
+ padding: 0.625rem 1rem;
1331
+ font-size: 0.8rem;
1332
+ white-space: pre-wrap;
1333
+ word-break: break-all;
1334
+ overflow-x: auto;
1335
+ max-height: 400px;
1336
+ overflow-y: auto;
1337
+ line-height: 1.5;
1338
+ }
1339
+
1340
+ .block-tool-result.result-success .result-body { color: #14532d; }
1341
+ .block-tool-result.result-error .result-body { color: #7f1d1d; }
1342
+ html.dark .block-tool-result.result-success .result-body { color: #bbf7d0; }
1343
+ html.dark .block-tool-result.result-error .result-body { color: #fecaca; }
1344
+
1345
+ .block-tool-result .result-body.collapsed { max-height: 150px; position: relative; }
1346
+ .block-tool-result .result-body.collapsed::after {
1347
+ content: '';
1348
+ position: absolute;
1349
+ bottom: 0;
1350
+ left: 0;
1351
+ right: 0;
1352
+ height: 3rem;
1353
+ background: linear-gradient(transparent, var(--color-bg-primary));
1354
+ pointer-events: none;
1355
+ }
1356
+
1357
+ .block-tool-result .expand-btn {
1358
+ display: block;
1359
+ width: 100%;
1360
+ padding: 0.375rem;
1361
+ background: var(--color-bg-secondary);
1362
+ border: none;
1363
+ border-top: 1px solid var(--color-border);
1364
+ cursor: pointer;
1365
+ font-size: 0.75rem;
1366
+ color: var(--color-primary);
1367
+ font-weight: 500;
1368
+ text-align: center;
1369
+ }
1370
+
1371
+ .block-tool-result .expand-btn:hover { background: var(--color-border); }
1372
+
1373
+ .block-tool-result .result-id {
1374
+ font-size: 0.65rem;
1375
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1376
+ opacity: 0.6;
1377
+ }
1378
+
1379
+ /* --- Result Summary Block --- */
1380
+ .block-result {
1381
+ margin-bottom: 0.75rem;
1382
+ border-radius: 0.5rem;
1383
+ overflow: hidden;
1384
+ }
1385
+
1386
+ .block-result.result-ok {
1387
+ background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
1388
+ border: 1px solid #86efac;
1389
+ }
1390
+
1391
+ .block-result.result-err {
1392
+ background: linear-gradient(135deg, #fef2f2, #fff1f2);
1393
+ border: 1px solid #fca5a5;
1394
+ }
1395
+
1396
+ html.dark .block-result.result-ok { background: linear-gradient(135deg, #0a1f0f, #0f2b1a); border-color: #166534; }
1397
+ html.dark .block-result.result-err { background: linear-gradient(135deg, #1c0f0f, #2c1010); border-color: #991b1b; }
1398
+
1399
+ .block-result .result-summary-header {
1400
+ padding: 0.625rem 1rem;
1401
+ display: flex;
1402
+ align-items: center;
1403
+ gap: 0.5rem;
1404
+ }
1405
+
1406
+ .block-result.result-ok .result-summary-header { color: #166534; }
1407
+ .block-result.result-err .result-summary-header { color: #991b1b; }
1408
+ html.dark .block-result.result-ok .result-summary-header { color: #86efac; }
1409
+ html.dark .block-result.result-err .result-summary-header { color: #fca5a5; }
1410
+
1411
+ .block-result .result-summary-header .result-title { font-weight: 700; font-size: 0.9rem; }
1412
+
1413
+ .block-result .result-stats {
1414
+ display: flex;
1415
+ gap: 1.5rem;
1416
+ padding: 0 1rem 0.625rem;
1417
+ font-size: 0.8rem;
1418
+ flex-wrap: wrap;
1419
+ }
1420
+
1421
+ .block-result .result-stat {
1422
+ display: flex;
1423
+ align-items: center;
1424
+ gap: 0.375rem;
1425
+ }
1426
+
1427
+ .block-result .result-stat .stat-icon { font-size: 0.9rem; opacity: 0.7; }
1428
+ .block-result .result-stat .stat-value { font-weight: 600; }
1429
+ .block-result .result-stat .stat-label { color: var(--color-text-secondary); font-size: 0.75rem; }
1430
+
1431
+ .block-result .result-content {
1432
+ padding: 0.625rem 1rem;
1433
+ border-top: 1px solid var(--color-border);
1434
+ font-size: 0.85rem;
1435
+ white-space: pre-wrap;
1436
+ word-break: break-word;
1437
+ max-height: 300px;
1438
+ overflow-y: auto;
1439
+ line-height: 1.5;
1440
+ }
1441
+
1442
+ /* --- System Block --- */
1443
+ .block-system {
1444
+ margin-bottom: 0.75rem;
1445
+ border-radius: 0.5rem;
1446
+ border: 1px solid #c7d2fe;
1447
+ background: #eef2ff;
1448
+ overflow: hidden;
1449
+ }
1450
+
1451
+ html.dark .block-system { border-color: #3730a3; background: #15103a; }
1452
+
1453
+ .block-system .system-header {
1454
+ padding: 0.625rem 1rem;
1455
+ background: #e0e7ff;
1456
+ border-bottom: 1px solid #c7d2fe;
1457
+ font-weight: 600;
1458
+ font-size: 0.85rem;
1459
+ color: #3730a3;
1460
+ }
1461
+
1462
+ html.dark .block-system .system-header { background: #1e1b4b; border-color: #3730a3; color: #a5b4fc; }
1463
+
1464
+ .block-system .system-body {
1465
+ padding: 0.75rem 1rem;
1466
+ font-size: 0.8rem;
1467
+ color: #3730a3;
1468
+ display: flex;
1469
+ flex-direction: column;
1470
+ gap: 0.375rem;
1471
+ }
1472
+
1473
+ html.dark .block-system .system-body { color: #c7d2fe; }
1474
+
1475
+ .block-system .system-body .sys-field { display: flex; align-items: baseline; gap: 0.5rem; }
1476
+ .block-system .system-body .sys-label { font-weight: 600; flex-shrink: 0; min-width: 5rem; }
1477
+ .block-system .system-body .sys-value { font-family: 'Monaco','Menlo','Ubuntu Mono', monospace; font-size: 0.75rem; }
1478
+ .block-system .system-body .sys-value code { background: #c7d2fe; padding: 0.0625rem 0.375rem; border-radius: 0.25rem; }
1479
+ html.dark .block-system .system-body .sys-value code { background: #312e81; }
1480
+
1481
+ .block-system .tools-list {
1482
+ display: flex;
1483
+ flex-wrap: wrap;
1484
+ gap: 0.25rem;
1485
+ margin-top: 0.25rem;
1486
+ }
1487
+
1488
+ .block-system .tools-list .tool-badge {
1489
+ display: inline-block;
1490
+ padding: 0.125rem 0.5rem;
1491
+ background: #c7d2fe;
1492
+ color: #3730a3;
1493
+ border-radius: 1rem;
1494
+ font-size: 0.65rem;
1495
+ font-weight: 500;
1496
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1497
+ }
1498
+
1499
+ html.dark .block-system .tools-list .tool-badge { background: #312e81; color: #a5b4fc; }
1500
+
1501
+ /* --- Bash Block --- */
1502
+ .block-bash {
1503
+ margin-bottom: 0.75rem;
1504
+ border-radius: 0.5rem;
1505
+ overflow: hidden;
1506
+ border: 1px solid #374151;
1507
+ background: #111827;
1508
+ }
1509
+
1510
+ .block-bash .bash-command {
1511
+ padding: 0.625rem 1rem;
1512
+ border-bottom: 1px solid #374151;
1513
+ display: flex;
1514
+ align-items: flex-start;
1515
+ gap: 0.5rem;
1516
+ }
1517
+
1518
+ .block-bash .bash-command .prompt { color: #34d399; font-weight: 700; flex-shrink: 0; }
1519
+ .block-bash .bash-command code {
1520
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1521
+ color: #e5e7eb;
1522
+ font-size: 0.8rem;
1523
+ overflow-x: auto;
1524
+ flex: 1;
1525
+ }
1526
+
1527
+ .block-bash .bash-output {
1528
+ padding: 0.625rem 1rem;
1529
+ color: #9ca3af;
1530
+ font-size: 0.75rem;
1531
+ overflow-x: auto;
1532
+ white-space: pre-wrap;
1533
+ max-height: 300px;
1534
+ overflow-y: auto;
1535
+ }
1536
+
1537
+ /* --- Generic Block --- */
1538
+ .block-generic {
1539
+ margin-bottom: 0.75rem;
1540
+ padding: 0.75rem 1rem;
1541
+ border-radius: 0.5rem;
1542
+ border: 1px solid var(--color-border);
1543
+ background: var(--color-bg-secondary);
1544
+ }
1545
+
1546
+ .block-generic .generic-type {
1547
+ font-size: 0.7rem;
1548
+ text-transform: uppercase;
1549
+ letter-spacing: 0.05em;
1550
+ color: var(--color-text-secondary);
1551
+ font-weight: 600;
1552
+ margin-bottom: 0.375rem;
1553
+ }
1554
+
1555
+ .block-generic .generic-fields {
1556
+ display: flex;
1557
+ flex-direction: column;
1558
+ gap: 0.25rem;
1559
+ font-size: 0.8rem;
1560
+ }
1561
+
1562
+ .block-generic .generic-field {
1563
+ display: flex;
1564
+ gap: 0.5rem;
1565
+ }
1566
+
1567
+ .block-generic .generic-field .field-key {
1568
+ font-weight: 600;
1569
+ color: var(--color-text-secondary);
1570
+ flex-shrink: 0;
1571
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1572
+ font-size: 0.75rem;
1573
+ }
1574
+
1575
+ .block-generic .generic-field .field-value {
1576
+ font-family: 'Monaco','Menlo','Ubuntu Mono', monospace;
1577
+ font-size: 0.75rem;
1578
+ word-break: break-all;
1579
+ }
1580
+
1581
+ /* --- Error Block --- */
1582
+ .block-error {
1583
+ margin-bottom: 0.75rem;
1584
+ padding: 0.75rem 1rem;
1585
+ border-radius: 0.5rem;
1586
+ border: 1px solid #fca5a5;
1587
+ background: #fef2f2;
1588
+ }
1589
+
1590
+ html.dark .block-error { border-color: #991b1b; background: #1c0f0f; }
1591
+
1592
+ /* --- Image Block --- */
1593
+ .block-image {
1594
+ margin-bottom: 0.75rem;
1595
+ border-radius: 0.5rem;
1596
+ overflow: hidden;
1597
+ border: 1px solid var(--color-border);
1598
+ }
1599
+
1600
+ .block-image img { max-width: 100%; height: auto; max-height: 24rem; object-fit: contain; display: block; }
1601
+ .block-image .image-caption { padding: 0.5rem 0.75rem; background: var(--color-bg-secondary); font-size: 0.8rem; color: var(--color-text-secondary); }
1602
+
1603
+ /* ===== STREAMING EVENTS ===== */
1604
+ .event-streaming-start {
1605
+ margin-bottom: 0.75rem;
1606
+ padding: 0.75rem 1rem;
1607
+ background: #eff6ff;
1608
+ border: 1px solid #bfdbfe;
1609
+ border-radius: 0.5rem;
1610
+ display: flex;
1611
+ align-items: center;
1612
+ gap: 0.625rem;
1613
+ }
1614
+
1615
+ html.dark .event-streaming-start { background: #0c1a2e; border-color: #1e40af; }
1616
+
1617
+ .event-streaming-complete {
1618
+ margin-bottom: 0.75rem;
1619
+ padding: 0.75rem 1rem;
1620
+ background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
1621
+ border: 1px solid #86efac;
1622
+ border-radius: 0.5rem;
1623
+ }
1624
+
1625
+ html.dark .event-streaming-complete { background: linear-gradient(135deg, #0a1f0f, #0f2b1a); border-color: #166534; }
915
1626
  </style>
916
1627
  </head>
917
1628
  <body>