claude-code-workflow 6.3.26 → 6.3.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/.claude/CLAUDE.md +7 -1
  2. package/.claude/agents/action-planning-agent.md +1 -0
  3. package/.claude/agents/cli-discuss-agent.md +391 -0
  4. package/.claude/agents/cli-execution-agent.md +2 -0
  5. package/.claude/agents/cli-explore-agent.md +2 -1
  6. package/.claude/agents/cli-lite-planning-agent.md +1 -0
  7. package/.claude/agents/cli-planning-agent.md +1 -0
  8. package/.claude/agents/code-developer.md +1 -0
  9. package/.claude/agents/conceptual-planning-agent.md +2 -0
  10. package/.claude/agents/context-search-agent.md +1 -0
  11. package/.claude/agents/debug-explore-agent.md +2 -0
  12. package/.claude/agents/doc-generator.md +1 -0
  13. package/.claude/agents/issue-plan-agent.md +2 -1
  14. package/.claude/agents/issue-queue-agent.md +2 -1
  15. package/.claude/agents/memory-bridge.md +2 -0
  16. package/.claude/agents/test-context-search-agent.md +2 -0
  17. package/.claude/agents/test-fix-agent.md +1 -0
  18. package/.claude/agents/ui-design-agent.md +2 -0
  19. package/.claude/agents/universal-executor.md +1 -0
  20. package/.claude/commands/issue/execute.md +141 -163
  21. package/.claude/commands/workflow/lite-lite-lite.md +798 -0
  22. package/.claude/commands/workflow/multi-cli-plan.md +510 -0
  23. package/.claude/skills/ccw/SKILL.md +262 -372
  24. package/.claude/skills/ccw/command.json +547 -0
  25. package/.claude/skills/ccw-help/SKILL.md +46 -107
  26. package/.claude/skills/ccw-help/command.json +511 -0
  27. package/.claude/skills/skill-tuning/SKILL.md +303 -0
  28. package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -0
  29. package/.claude/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
  30. package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
  31. package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -0
  32. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
  33. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
  34. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
  35. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
  36. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
  37. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
  38. package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
  39. package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
  40. package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -0
  41. package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
  42. package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -0
  43. package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -0
  44. package/.claude/skills/skill-tuning/phases/state-schema.md +378 -0
  45. package/.claude/skills/skill-tuning/specs/category-mappings.json +284 -0
  46. package/.claude/skills/skill-tuning/specs/dimension-mapping.md +212 -0
  47. package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -0
  48. package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -0
  49. package/.claude/skills/skill-tuning/specs/skill-authoring-principles.md +189 -0
  50. package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -0
  51. package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -0
  52. package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -0
  53. package/.claude/workflows/cli-templates/schemas/multi-cli-discussion-schema.json +421 -0
  54. package/.claude/workflows/cli-tools-usage.md +0 -41
  55. package/ccw/dist/core/auth/csrf-middleware.d.ts.map +1 -1
  56. package/ccw/dist/core/auth/csrf-middleware.js +3 -1
  57. package/ccw/dist/core/auth/csrf-middleware.js.map +1 -1
  58. package/ccw/dist/core/data-aggregator.d.ts +2 -0
  59. package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
  60. package/ccw/dist/core/data-aggregator.js +5 -2
  61. package/ccw/dist/core/data-aggregator.js.map +1 -1
  62. package/ccw/dist/core/lite-scanner.d.ts +2 -1
  63. package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
  64. package/ccw/dist/core/lite-scanner.js +295 -6
  65. package/ccw/dist/core/lite-scanner.js.map +1 -1
  66. package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -1
  67. package/ccw/dist/core/routes/codexlens/config-handlers.js +5 -5
  68. package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -1
  69. package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
  70. package/ccw/dist/core/routes/session-routes.js +166 -48
  71. package/ccw/dist/core/routes/session-routes.js.map +1 -1
  72. package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
  73. package/ccw/dist/core/routes/system-routes.js +87 -0
  74. package/ccw/dist/core/routes/system-routes.js.map +1 -1
  75. package/ccw/dist/core/server.js +2 -2
  76. package/ccw/dist/core/server.js.map +1 -1
  77. package/ccw/scripts/IMPLEMENTATION-SUMMARY.md +226 -0
  78. package/ccw/scripts/QUICK-REFERENCE.md +135 -0
  79. package/ccw/scripts/README-memory-embedder.md +157 -0
  80. package/ccw/scripts/__pycache__/memory_embedder.cpython-313.pyc +0 -0
  81. package/ccw/scripts/__pycache__/test_memory_embedder.cpython-313-pytest-8.4.2.pyc +0 -0
  82. package/ccw/scripts/memory-embedder-example.ts +184 -0
  83. package/ccw/scripts/memory_embedder.py +428 -0
  84. package/ccw/scripts/test_memory_embedder.py +245 -0
  85. package/ccw/src/core/auth/csrf-middleware.ts +3 -1
  86. package/ccw/src/core/data-aggregator.ts +7 -2
  87. package/ccw/src/core/lite-scanner.ts +440 -6
  88. package/ccw/src/core/routes/codexlens/config-handlers.ts +12 -9
  89. package/ccw/src/core/routes/session-routes.ts +201 -48
  90. package/ccw/src/core/routes/system-routes.ts +102 -0
  91. package/ccw/src/core/server.ts +2 -2
  92. package/ccw/src/templates/dashboard-css/01-base.css +8 -0
  93. package/ccw/src/templates/dashboard-css/02-session.css +81 -0
  94. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +2442 -0
  95. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +157 -0
  96. package/ccw/src/templates/dashboard-css/32-issue-manager.css +23 -0
  97. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +38 -4
  98. package/ccw/src/templates/dashboard-js/components/hook-manager.js +38 -13
  99. package/ccw/src/templates/dashboard-js/components/navigation.js +24 -4
  100. package/ccw/src/templates/dashboard-js/i18n.js +194 -6
  101. package/ccw/src/templates/dashboard-js/views/api-settings.js +32 -0
  102. package/ccw/src/templates/dashboard-js/views/claude-manager.js +44 -3
  103. package/ccw/src/templates/dashboard-js/views/cli-manager.js +303 -31
  104. package/ccw/src/templates/dashboard-js/views/history.js +44 -6
  105. package/ccw/src/templates/dashboard-js/views/home.js +1 -0
  106. package/ccw/src/templates/dashboard-js/views/issue-manager.js +54 -7
  107. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +1817 -4
  108. package/ccw/src/templates/dashboard.html +5 -0
  109. package/package.json +2 -1
  110. package/.claude/skills/ccw/index/command-capabilities.json +0 -127
  111. package/.claude/skills/ccw/index/intent-rules.json +0 -136
  112. package/.claude/skills/ccw/index/workflow-chains.json +0 -451
  113. package/.claude/skills/ccw/phases/actions/bugfix.md +0 -218
  114. package/.claude/skills/ccw/phases/actions/coupled.md +0 -194
  115. package/.claude/skills/ccw/phases/actions/docs.md +0 -93
  116. package/.claude/skills/ccw/phases/actions/full.md +0 -154
  117. package/.claude/skills/ccw/phases/actions/issue.md +0 -201
  118. package/.claude/skills/ccw/phases/actions/rapid.md +0 -104
  119. package/.claude/skills/ccw/phases/actions/review-fix.md +0 -84
  120. package/.claude/skills/ccw/phases/actions/tdd.md +0 -66
  121. package/.claude/skills/ccw/phases/actions/ui.md +0 -79
  122. package/.claude/skills/ccw/phases/orchestrator.md +0 -435
  123. package/.claude/skills/ccw/specs/intent-classification.md +0 -336
  124. package/.claude/skills/ccw-help/index/all-agents.json +0 -82
  125. package/.claude/skills/ccw-help/index/all-commands.json +0 -882
  126. package/.claude/skills/ccw-help/index/by-category.json +0 -914
  127. package/.claude/skills/ccw-help/index/by-use-case.json +0 -896
  128. package/.claude/skills/ccw-help/index/command-relationships.json +0 -160
  129. package/.claude/skills/ccw-help/index/essential-commands.json +0 -112
@@ -1179,3 +1179,2445 @@
1179
1179
  line-height: 1.5;
1180
1180
  }
1181
1181
 
1182
+ /* ===================================
1183
+ Multi-CLI Discussion View Styles
1184
+ =================================== */
1185
+
1186
+ /* Multi-CLI Card (List View) */
1187
+ .multi-cli-card {
1188
+ background: hsl(var(--card));
1189
+ border: 1px solid hsl(var(--border));
1190
+ border-radius: 0.5rem;
1191
+ padding: 1rem;
1192
+ cursor: pointer;
1193
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1194
+ position: relative;
1195
+ }
1196
+
1197
+ .multi-cli-card::before {
1198
+ content: "";
1199
+ position: absolute;
1200
+ inset: 0;
1201
+ border-radius: 0.5rem;
1202
+ border: 2px solid transparent;
1203
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1204
+ }
1205
+
1206
+ .multi-cli-card:hover {
1207
+ border-color: hsl(var(--purple, 280 60% 50%) / 0.5);
1208
+ box-shadow: 0 4px 16px hsl(var(--purple, 280 60% 50%) / 0.15);
1209
+ transform: translateY(-2px);
1210
+ }
1211
+
1212
+ .multi-cli-card:hover::before {
1213
+ border-color: hsl(var(--purple, 280 60% 50%) / 0.3);
1214
+ }
1215
+
1216
+ .multi-cli-card-header {
1217
+ display: flex;
1218
+ align-items: flex-start;
1219
+ justify-content: space-between;
1220
+ gap: 1rem;
1221
+ margin-bottom: 0.75rem;
1222
+ }
1223
+
1224
+ .multi-cli-card-title {
1225
+ font-weight: 600;
1226
+ font-size: 0.95rem;
1227
+ color: hsl(var(--foreground));
1228
+ line-height: 1.4;
1229
+ flex: 1;
1230
+ }
1231
+
1232
+ .multi-cli-card-meta {
1233
+ display: flex;
1234
+ align-items: center;
1235
+ gap: 0.75rem;
1236
+ flex-wrap: wrap;
1237
+ font-size: 0.8rem;
1238
+ color: hsl(var(--muted-foreground));
1239
+ }
1240
+
1241
+ .multi-cli-round-count {
1242
+ display: inline-flex;
1243
+ align-items: center;
1244
+ gap: 0.25rem;
1245
+ padding: 0.25rem 0.5rem;
1246
+ background: hsl(var(--purple-light, 280 60% 95%));
1247
+ color: hsl(var(--purple, 280 60% 50%));
1248
+ border-radius: 0.25rem;
1249
+ font-size: 0.75rem;
1250
+ font-weight: 500;
1251
+ }
1252
+
1253
+ /* Multi-CLI Status Badges */
1254
+ .multi-cli-status {
1255
+ display: inline-flex;
1256
+ align-items: center;
1257
+ gap: 0.25rem;
1258
+ padding: 0.25rem 0.5rem;
1259
+ border-radius: 0.25rem;
1260
+ font-size: 0.75rem;
1261
+ font-weight: 500;
1262
+ }
1263
+
1264
+ .multi-cli-status.converged,
1265
+ .multi-cli-status.decided {
1266
+ background: hsl(var(--success-light, 142 70% 95%));
1267
+ color: hsl(var(--success, 142 70% 45%));
1268
+ }
1269
+
1270
+ .multi-cli-status.analyzing {
1271
+ background: hsl(var(--warning-light, 45 90% 95%));
1272
+ color: hsl(var(--warning, 45 90% 40%));
1273
+ }
1274
+
1275
+ .multi-cli-status.blocked,
1276
+ .multi-cli-status.conflict {
1277
+ background: hsl(var(--destructive) / 0.1);
1278
+ color: hsl(var(--destructive));
1279
+ }
1280
+
1281
+ .multi-cli-status.pending,
1282
+ .multi-cli-status.exploring,
1283
+ .multi-cli-status.initialized {
1284
+ ) background: hsl(var(--muted));
1285
+ color: hsl(var(--muted-foreground));
1286
+ }
1287
+
1288
+ .multi-cli-status.plan_generated,
1289
+ .multi-cli-status.completed {
1290
+ background: hsl(var(--success-light, 142 70% 95%));
1291
+ color: hsl(var(--success, 142 70% 45%));
1292
+ }
1293
+
1294
+ /* Multi-CLI Detail Page */
1295
+ .multi-cli-detail-page {
1296
+ display: flex;
1297
+ flex-direction: column;
1298
+ gap: 1.5rem;
1299
+ }
1300
+
1301
+ .multi-cli-detail-header {
1302
+ display: flex;
1303
+ align-items: flex-start;
1304
+ justify-content: space-between;
1305
+ gap: 1rem;
1306
+ padding-bottom: 1rem;
1307
+ border-bottom: 1px solid hsl(var(--border));
1308
+ }
1309
+
1310
+ .multi-cli-detail-info {
1311
+ flex: 1;
1312
+ }
1313
+
1314
+ .multi-cli-detail-meta {
1315
+ display: flex;
1316
+ align-items: center;
1317
+ gap: 1rem;
1318
+ flex-wrap: wrap;
1319
+ font-size: 0.85rem;
1320
+ color: hsl(var(--muted-foreground));
1321
+ }
1322
+
1323
+ .multi-cli-detail-meta .info-label {
1324
+ font-weight: 500;
1325
+ color: hsl(var(--muted-foreground));
1326
+ }
1327
+
1328
+ .multi-cli-detail-meta .info-value {
1329
+ color: hsl(var(--foreground));
1330
+ font-weight: 500;
1331
+ }
1332
+
1333
+ .multi-cli-detail-title {
1334
+ font-size: 1.25rem;
1335
+ font-weight: 600;
1336
+ color: hsl(var(--foreground));
1337
+ margin-bottom: 0.5rem;
1338
+ }
1339
+
1340
+ .multi-cli-detail-meta {
1341
+ display: flex;
1342
+ align-items: center;
1343
+ gap: 1rem;
1344
+ flex-wrap: wrap;
1345
+ font-size: 0.85rem;
1346
+ color: hsl(var(--muted-foreground));
1347
+ }
1348
+
1349
+ /* Multi-CLI Tabs */
1350
+ .multi-cli-tabs {
1351
+ display: flex;
1352
+ gap: 0;
1353
+ border-bottom: 1px solid hsl(var(--border));
1354
+ margin-bottom: 1.5rem;
1355
+ overflow-x: auto;
1356
+ background: hsl(var(--muted) / 0.2);
1357
+ padding: 0 0.5rem;
1358
+ border-radius: 0.5rem 0.5rem 0 0;
1359
+ }
1360
+
1361
+ .multi-cli-tab {
1362
+ padding: 0.75rem 1.25rem;
1363
+ font-size: 0.875rem;
1364
+ font-weight: 500;
1365
+ color: hsl(var(--muted-foreground));
1366
+ background: transparent;
1367
+ border: none;
1368
+ border-bottom: 3px solid transparent;
1369
+ cursor: pointer;
1370
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1371
+ white-space: nowrap;
1372
+ border-radius: 0.375rem 0.375rem 0 0;
1373
+ display: flex;
1374
+ align-items: center;
1375
+ gap: 0.5rem;
1376
+ }
1377
+
1378
+ .multi-cli-tab:hover {
1379
+ color: hsl(var(--foreground));
1380
+ background: hsl(var(--hover));
1381
+ border-bottom-color: hsl(var(--purple, 280 60% 50%) / 0.5);
1382
+ }
1383
+
1384
+ .multi-cli-tab.active {
1385
+ color: hsl(var(--purple, 280 60% 50%));
1386
+ border-bottom-color: hsl(var(--purple, 280 60% 50%));
1387
+ background: hsl(var(--purple, 280 60% 50%) / 0.05);
1388
+ font-weight: 600;
1389
+ }
1390
+
1391
+ .multi-cli-tab .tab-icon {
1392
+ width: 1rem;
1393
+ height: 1rem;
1394
+ }
1395
+
1396
+ .multi-cli-tab-content {
1397
+ display: none;
1398
+ animation: fadeIn 0.2s ease;
1399
+ }
1400
+
1401
+ .multi-cli-tab-content.active {
1402
+ display: block;
1403
+ }
1404
+
1405
+ @keyframes fadeIn {
1406
+ from {
1407
+ opacity: 0;
1408
+ transform: translateY(4px);
1409
+ }
1410
+ to {
1411
+ opacity: 1;
1412
+ transform: translateY(0);
1413
+ }
1414
+ }
1415
+
1416
+ /* Multi-CLI Topic Tab */
1417
+ .multi-cli-topic-section {
1418
+ background: hsl(var(--muted) / 0.3);
1419
+ border: 1px solid hsl(var(--border));
1420
+ border-radius: 0.5rem;
1421
+ padding: 1rem;
1422
+ margin-bottom: 1rem;
1423
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1424
+ }
1425
+
1426
+ .multi-cli-topic-section:hover {
1427
+ border-color: hsl(var(--purple, 280 60% 50%) / 0.3);
1428
+ box-shadow: 0 2px 8px hsl(var(--purple, 280 60% 50%) / 0.05);
1429
+ }
1430
+
1431
+ .multi-cli-topic-title {
1432
+ font-size: 1rem;
1433
+ font-weight: 600;
1434
+ color: hsl(var(--foreground));
1435
+ margin-bottom: 0.5rem;
1436
+ display: flex;
1437
+ align-items: center;
1438
+ gap: 0.5rem;
1439
+ letter-spacing: -0.01em;
1440
+ }
1441
+
1442
+ .multi-cli-topic-description {
1443
+ font-size: 0.875rem;
1444
+ color: hsl(var(--foreground));
1445
+ line-height: 1.6;
1446
+ white-space: pre-wrap;
1447
+ }
1448
+
1449
+ /* Topic Meta Container */
1450
+ .topic-meta {
1451
+ display: flex;
1452
+ flex-wrap: wrap;
1453
+ align-items: center;
1454
+ gap: 0.5rem;
1455
+ margin-top: 0.75rem;
1456
+ }
1457
+
1458
+ /* Tag Badge */
1459
+ .tag-badge {
1460
+ display: inline-flex;
1461
+ align-items: center;
1462
+ gap: 0.25rem;
1463
+ padding: 0.25rem 0.5rem;
1464
+ background: hsl(var(--primary) / 0.1);
1465
+ color: hsl(var(--primary));
1466
+ border-radius: 0.25rem;
1467
+ font-size: 0.75rem;
1468
+ font-weight: 500;
1469
+ transition: background 0.2s ease, color 0.2s ease;
1470
+ }
1471
+
1472
+ .tag-badge:hover {
1473
+ background: hsl(var(--primary) / 0.15);
1474
+ }
1475
+
1476
+ /* Additional Multi-CLI Status Variants */
1477
+ .multi-cli-status.plan_generated {
1478
+ background: hsl(var(--success-light, 142 70% 95%));
1479
+ color: hsl(var(--success, 142 70% 45%));
1480
+ }
1481
+
1482
+ .multi-cli-status.initialized,
1483
+ .multi-cli-status.exploring {
1484
+ background: hsl(var(--info-light, 220 80% 95%));
1485
+ color: hsl(var(--info, 220 80% 55%));
1486
+ }
1487
+
1488
+ .multi-cli-status.completed {
1489
+ background: hsl(var(--success-light, 142 70% 95%));
1490
+ color: hsl(var(--success, 142 70% 45%));
1491
+ }
1492
+
1493
+ .multi-cli-complexity-badge {
1494
+ display: inline-flex;
1495
+ align-items: center;
1496
+ gap: 0.25rem;
1497
+ padding: 0.25rem 0.5rem;
1498
+ border-radius: 0.25rem;
1499
+ font-size: 0.75rem;
1500
+ font-weight: 500;
1501
+ }
1502
+
1503
+ .multi-cli-complexity-badge.high {
1504
+ background: hsl(var(--destructive) / 0.1);
1505
+ color: hsl(var(--destructive));
1506
+ }
1507
+
1508
+ .multi-cli-complexity-badge.medium {
1509
+ background: hsl(var(--warning-light, 45 90% 95%));
1510
+ color: hsl(var(--warning, 45 90% 40%));
1511
+ }
1512
+
1513
+ .multi-cli-complexity-badge.low {
1514
+ background: hsl(var(--success-light, 142 70% 95%));
1515
+ color: hsl(var(--success, 142 70% 45%));
1516
+ }
1517
+
1518
+ /* Multi-CLI Files Tab */
1519
+ .multi-cli-files-section {
1520
+ margin-bottom: 1rem;
1521
+ }
1522
+
1523
+ .multi-cli-files-title {
1524
+ font-size: 0.9rem;
1525
+ font-weight: 600;
1526
+ color: hsl(var(--foreground));
1527
+ margin-bottom: 0.75rem;
1528
+ display: flex;
1529
+ align-items: center;
1530
+ gap: 0.5rem;
1531
+ }
1532
+
1533
+ .file-tree {
1534
+ background: hsl(var(--muted) / 0.3);
1535
+ border: 1px solid hsl(var(--border));
1536
+ border-radius: 0.5rem;
1537
+ padding: 0.75rem;
1538
+ }
1539
+
1540
+ .file-tree-node {
1541
+ display: flex;
1542
+ align-items: center;
1543
+ gap: 0.5rem;
1544
+ padding: 0.375rem 0.5rem;
1545
+ font-size: 0.85rem;
1546
+ border-radius: 0.25rem;
1547
+ transition: background 0.15s;
1548
+ }
1549
+
1550
+ .file-tree-node:hover {
1551
+ background: hsl(var(--hover));
1552
+ }
1553
+
1554
+ .file-tree-node.directory {
1555
+ color: hsl(var(--primary));
1556
+ font-weight: 500;
1557
+ }
1558
+
1559
+ .file-tree-node.file {
1560
+ color: hsl(var(--foreground));
1561
+ padding-left: 1.5rem;
1562
+ }
1563
+
1564
+ .file-tree-node .file-icon {
1565
+ width: 1rem;
1566
+ height: 1rem;
1567
+ color: hsl(var(--muted-foreground));
1568
+ }
1569
+
1570
+ .file-tree-node.directory .file-icon {
1571
+ color: hsl(var(--primary));
1572
+ }
1573
+
1574
+ .file-purpose {
1575
+ font-size: 0.75rem;
1576
+ color: hsl(var(--muted-foreground));
1577
+ margin-left: auto;
1578
+ }
1579
+
1580
+ /* Multi-CLI Planning Tab */
1581
+ .multi-cli-planning-section {
1582
+ margin-bottom: 1.5rem;
1583
+ }
1584
+
1585
+ .planning-section-title {
1586
+ font-size: 0.9rem;
1587
+ font-weight: 600;
1588
+ color: hsl(var(--foreground));
1589
+ margin-bottom: 0.75rem;
1590
+ display: flex;
1591
+ align-items: center;
1592
+ gap: 0.5rem;
1593
+ }
1594
+
1595
+ .requirements-list {
1596
+ display: flex;
1597
+ flex-direction: column;
1598
+ gap: 0.5rem;
1599
+ }
1600
+
1601
+ .requirement-item {
1602
+ background: hsl(var(--card));
1603
+ border: 1px solid hsl(var(--border));
1604
+ border-radius: 0.5rem;
1605
+ padding: 0.75rem;
1606
+ }
1607
+
1608
+ .requirement-header {
1609
+ display: flex;
1610
+ align-items: center;
1611
+ gap: 0.5rem;
1612
+ margin-bottom: 0.5rem;
1613
+ }
1614
+
1615
+ .requirement-id {
1616
+ font-weight: 600;
1617
+ font-size: 0.8rem;
1618
+ color: hsl(var(--primary));
1619
+ }
1620
+
1621
+ .requirement-priority {
1622
+ padding: 0.125rem 0.375rem;
1623
+ border-radius: 0.25rem;
1624
+ font-size: 0.7rem;
1625
+ font-weight: 500;
1626
+ }
1627
+
1628
+ .requirement-priority.high {
1629
+ background: hsl(var(--destructive) / 0.1);
1630
+ color: hsl(var(--destructive));
1631
+ }
1632
+
1633
+ .requirement-priority.medium {
1634
+ background: hsl(var(--warning-light, 45 90% 95%));
1635
+ color: hsl(var(--warning, 45 90% 40%));
1636
+ }
1637
+
1638
+ .requirement-priority.low {
1639
+ background: hsl(var(--success-light, 142 70% 95%));
1640
+ color: hsl(var(--success, 142 70% 45%));
1641
+ }
1642
+
1643
+ .requirement-title {
1644
+ font-size: 0.875rem;
1645
+ font-weight: 500;
1646
+ color: hsl(var(--foreground));
1647
+ margin-bottom: 0.25rem;
1648
+ }
1649
+
1650
+ .requirement-description {
1651
+ font-size: 0.8rem;
1652
+ color: hsl(var(--muted-foreground));
1653
+ line-height: 1.5;
1654
+ }
1655
+
1656
+ .impact-items {
1657
+ display: flex;
1658
+ flex-wrap: wrap;
1659
+ gap: 0.5rem;
1660
+ margin-top: 0.5rem;
1661
+ }
1662
+
1663
+ .impact-item {
1664
+ display: inline-flex;
1665
+ align-items: center;
1666
+ gap: 0.25rem;
1667
+ padding: 0.25rem 0.5rem;
1668
+ background: hsl(var(--muted));
1669
+ border-radius: 0.25rem;
1670
+ font-size: 0.75rem;
1671
+ color: hsl(var(--foreground));
1672
+ }
1673
+
1674
+ .impact-item .impact-icon {
1675
+ width: 0.875rem;
1676
+ height: 0.875rem;
1677
+ color: hsl(var(--muted-foreground));
1678
+ }
1679
+
1680
+ /* Multi-CLI Decision Tab */
1681
+ .multi-cli-decision-section {
1682
+ margin-bottom: 1.5rem;
1683
+ }
1684
+
1685
+ .decision-section-title {
1686
+ font-size: 0.9rem;
1687
+ font-weight: 600;
1688
+ color: hsl(var(--foreground));
1689
+ margin-bottom: 0.75rem;
1690
+ display: flex;
1691
+ align-items: center;
1692
+ gap: 0.5rem;
1693
+ }
1694
+
1695
+ .solutions-grid {
1696
+ display: flex;
1697
+ flex-direction: column;
1698
+ gap: 0.75rem;
1699
+ }
1700
+
1701
+ /* Unified Solution Card - used in both Decision and Rounds tabs */
1702
+ .solution-card {
1703
+ background: hsl(var(--card));
1704
+ border: 1px solid hsl(var(--border));
1705
+ border-radius: 0.5rem;
1706
+ overflow: hidden;
1707
+ transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
1708
+ }
1709
+
1710
+ .solution-card:hover {
1711
+ border-color: hsl(var(--primary) / 0.3);
1712
+ box-shadow: 0 4px 12px hsla(var(--primary), 0.1);
1713
+ transform: translateY(-1px);
1714
+ }
1715
+
1716
+ .solution-card.selected {
1717
+ border-color: hsl(var(--success, 142 70% 45%));
1718
+ background: hsl(var(--success, 142 70% 45%) / 0.05);
1719
+ box-shadow: 0 0 0 6px hsl(var(--success, 142 70% 45%) / 0.15);
1720
+ }
1721
+
1722
+ .solution-card.rejected {
1723
+ border-color: hsl(var(--destructive) / 0.5);
1724
+ background: hsl(var(--destructive) / 0.03);
1725
+ opacity: 0.7;
1726
+ text-decoration: line-through;
1727
+ }
1728
+
1729
+ .solution-header {
1730
+ display: flex;
1731
+ align-items: center;
1732
+ justify-content: space-between;
1733
+ gap: 1rem;
1734
+ margin-bottom: 0.75rem;
1735
+ padding: 0.75rem 1rem;
1736
+ background: hsl(var(--muted) / 0.2);
1737
+ border-bottom: 1px solid hsl(var(--border));
1738
+ }
1739
+
1740
+ .solution-title {
1741
+ font-weight: 600;
1742
+ font-size: 0.95rem;
1743
+ color: hsl(var(--foreground));
1744
+ display: flex;
1745
+ align-items: center;
1746
+ gap: 0.5rem;
1747
+ }
1748
+
1749
+ .solution-status {
1750
+ padding: 0.25rem 0.5rem;
1751
+ border-radius: 0.25rem;
1752
+ font-size: 0.75rem;
1753
+ font-weight: 500;
1754
+ }
1755
+
1756
+ .solution-status.selected {
1757
+ background: hsl(var(--success, 142 70% 45%) / 0.15);
1758
+ color: hsl(var(--success, 142 70% 45%));
1759
+ }
1760
+
1761
+ .solution-status.rejected {
1762
+ background: hsl(var(--destructive) / 0.1);
1763
+ color: hsl(var(--destructive));
1764
+ }
1765
+
1766
+ .solution-status.considering {
1767
+ background: hsl(var(--warning-light, 45 90% 95%));
1768
+ color: hsl(var(--warning, 45 90% 40%));
1769
+ }
1770
+
1771
+ .solution-description {
1772
+ font-size: 0.85rem;
1773
+ color: hsl(var(--foreground));
1774
+ line-height: 1.6;
1775
+ margin-bottom: 0.75rem;
1776
+ }
1777
+
1778
+ .solution-meta {
1779
+ display: flex;
1780
+ align-items: center;
1781
+ gap: 1rem;
1782
+ flex-wrap: wrap;
1783
+ }
1784
+
1785
+ .solution-meta-item {
1786
+ display: flex;
1787
+ align-items: center;
1788
+ gap: 0.25rem;
1789
+ font-size: 0.8rem;
1790
+ color: hsl(var(--muted-foreground));
1791
+ }
1792
+
1793
+ .confidence-meter {
1794
+ display: flex;
1795
+ align-items: center;
1796
+ gap: 0.5rem;
1797
+ }
1798
+
1799
+ .confidence-bar {
1800
+ width: 60px;
1801
+ height: 6px;
1802
+ background: hsl(var(--muted));
1803
+ border-radius: 3px;
1804
+ overflow: hidden;
1805
+ }
1806
+
1807
+ .confidence-fill {
1808
+ height: 100%;
1809
+ border-radius: 3px;
1810
+ transition: width 0.3s ease;
1811
+ }
1812
+
1813
+ .confidence-fill.high {
1814
+ background: hsl(var(--success, 142 70% 45%));
1815
+ }
1816
+
1817
+ .confidence-fill.medium {
1818
+ background: hsl(var(--warning, 45 90% 50%));
1819
+ }
1820
+
1821
+ .confidence-fill.low {
1822
+ background: hsl(var(--destructive));
1823
+ }
1824
+
1825
+ .confidence-value {
1826
+ font-size: 0.75rem;
1827
+ font-weight: 500;
1828
+ color: hsl(var(--foreground));
1829
+ }
1830
+
1831
+ /* Multi-CLI Timeline Tab */
1832
+ .multi-cli-timeline {
1833
+ display: flex;
1834
+ flex-direction: column;
1835
+ gap: 0;
1836
+ }
1837
+
1838
+ .timeline-event {
1839
+ display: flex;
1840
+ gap: 1.25rem;
1841
+ position: relative;
1842
+ margin-bottom: 0.25rem;
1843
+ }
1844
+
1845
+ .timeline-marker {
1846
+ display: flex;
1847
+ flex-direction: column;
1848
+ align-items: center;
1849
+ flex-shrink: 0;
1850
+ width: 2.25rem;
1851
+ }
1852
+
1853
+ .timeline-dot {
1854
+ width: 1.5rem;
1855
+ height: 1.5rem;
1856
+ border-radius: 50%;
1857
+ display: flex;
1858
+ align-items: center;
1859
+ justify-content: center;
1860
+ z-index: 1;
1861
+ flex-shrink: 0;
1862
+ box-shadow: 0 0 0 3px currentColor;
1863
+ transition: all 0.2s ease;
1864
+ }
1865
+
1866
+ .timeline-dot:hover {
1867
+ transform: scale(1.2);
1868
+ box-shadow: 0 0 0 8px currentColor;
1869
+ }
1870
+
1871
+ .timeline-dot.proposal {
1872
+ background: hsl(var(--primary));
1873
+ color: white;
1874
+ }
1875
+
1876
+ .timeline-dot.analysis {
1877
+ background: hsl(var(--info, 220 80% 55%));
1878
+ color: white;
1879
+ }
1880
+
1881
+ .timeline-dot.decision {
1882
+ background: hsl(var(--success, 142 70% 45%));
1883
+ color: white;
1884
+ }
1885
+
1886
+ .timeline-dot.conflict {
1887
+ background: hsl(var(--warning, 45 90% 50%));
1888
+ color: hsl(var(--foreground));
1889
+ }
1890
+
1891
+ .timeline-dot.resolution {
1892
+ background: hsl(var(--purple, 280 60% 50%));
1893
+ color: white;
1894
+ }
1895
+
1896
+ .timeline-dot i {
1897
+ width: 0.75rem;
1898
+ height: 0.75rem;
1899
+ }
1900
+
1901
+ .timeline-line {
1902
+ width: 2px;
1903
+ flex: 1;
1904
+ min-height: 1rem;
1905
+ background: hsl(var(--border));
1906
+ margin: 0.25rem 0;
1907
+ }
1908
+
1909
+ .timeline-content {
1910
+ flex: 1;
1911
+ background: hsl(var(--card));
1912
+ border: 1px solid hsl(var(--border));
1913
+ border-radius: 0.5rem;
1914
+ padding: 1rem;
1915
+ margin-bottom: 0.75rem;
1916
+ transition: all 0.2s ease;
1917
+ }
1918
+
1919
+ .timeline-content:hover {
1920
+ border-color: hsl(var(--primary) / 0.4);
1921
+ box-shadow: 0 2px 8px hsl(var(--primary) / 0.05);
1922
+ transform: translateX(4px);
1923
+ }
1924
+
1925
+ .timeline-event-header {
1926
+ display: flex;
1927
+ align-items: center;
1928
+ justify-content: space-between;
1929
+ gap: 0.5rem;
1930
+ margin-bottom: 0.5rem;
1931
+ }
1932
+
1933
+ .timeline-event-type {
1934
+ font-weight: 600;
1935
+ font-size: 0.85rem;
1936
+ color: hsl(var(--foreground));
1937
+ }
1938
+
1939
+ .timeline-event-time {
1940
+ font-size: 0.75rem;
1941
+ color: hsl(var(--muted-foreground));
1942
+ }
1943
+
1944
+ .timeline-event-agent {
1945
+ font-size: 0.75rem;
1946
+ color: hsl(var(--purple, 280 60% 50%));
1947
+ margin-bottom: 0.25rem;
1948
+ }
1949
+
1950
+ .timeline-event-description {
1951
+ font-size: 0.85rem;
1952
+ color: hsl(var(--foreground));
1953
+ line-height: 1.5;
1954
+ }
1955
+
1956
+ /* Multi-CLI Rounds Tab */
1957
+ .multi-cli-rounds-nav {
1958
+ display: flex;
1959
+ gap: 0.5rem;
1960
+ flex-wrap: wrap;
1961
+ margin-bottom: 1rem;
1962
+ padding-bottom: 1rem;
1963
+ border-bottom: 1px solid hsl(var(--border));
1964
+ }
1965
+
1966
+ .round-nav-btn {
1967
+ padding: 0.5rem 1rem;
1968
+ background: hsl(var(--muted));
1969
+ border: 1px solid hsl(var(--border));
1970
+ border-radius: 0.375rem;
1971
+ font-size: 0.85rem;
1972
+ font-weight: 500;
1973
+ color: hsl(var(--foreground));
1974
+ cursor: pointer;
1975
+ transition: all 0.2s ease;
1976
+ }
1977
+
1978
+ .round-nav-btn:hover {
1979
+ background: hsl(var(--hover));
1980
+ border-color: hsl(var(--purple, 280 60% 50%) / 0.5);
1981
+ }
1982
+
1983
+ .round-nav-btn.active {
1984
+ background: hsl(var(--purple, 280 60% 50%));
1985
+ border-color: hsl(var(--purple, 280 60% 50%));
1986
+ color: white;
1987
+ }
1988
+
1989
+ .round-content {
1990
+ background: hsl(var(--muted) / 0.3);
1991
+ border: 1px solid hsl(var(--border));
1992
+ border-radius: 0.5rem;
1993
+ padding: 1rem;
1994
+ }
1995
+
1996
+ .round-header {
1997
+ display: flex;
1998
+ align-items: center;
1999
+ justify-content: space-between;
2000
+ gap: 1rem;
2001
+ margin-bottom: 1rem;
2002
+ padding-bottom: 0.75rem;
2003
+ border-bottom: 1px solid hsl(var(--border));
2004
+ }
2005
+
2006
+ .round-title {
2007
+ font-weight: 600;
2008
+ font-size: 1rem;
2009
+ color: hsl(var(--foreground));
2010
+ }
2011
+
2012
+ .round-timestamp {
2013
+ font-size: 0.8rem;
2014
+ color: hsl(var(--muted-foreground));
2015
+ }
2016
+
2017
+ .round-section {
2018
+ margin-bottom: 1rem;
2019
+ }
2020
+
2021
+ .round-section:last-child {
2022
+ margin-bottom: 0;
2023
+ }
2024
+
2025
+ .round-section-title {
2026
+ font-size: 0.85rem;
2027
+ font-weight: 600;
2028
+ color: hsl(var(--foreground));
2029
+ margin-bottom: 0.5rem;
2030
+ display: flex;
2031
+ align-items: center;
2032
+ gap: 0.5rem;
2033
+ }
2034
+
2035
+ .round-agents {
2036
+ display: flex;
2037
+ flex-direction: column;
2038
+ gap: 0.5rem;
2039
+ }
2040
+
2041
+ .round-agent-item {
2042
+ background: hsl(var(--card));
2043
+ border: 1px solid hsl(var(--border));
2044
+ border-radius: 0.375rem;
2045
+ padding: 0.75rem;
2046
+ }
2047
+
2048
+ .round-agent-name {
2049
+ font-weight: 500;
2050
+ font-size: 0.85rem;
2051
+ color: hsl(var(--purple, 280 60% 50%));
2052
+ margin-bottom: 0.25rem;
2053
+ }
2054
+
2055
+ .round-agent-response {
2056
+ font-size: 0.8rem;
2057
+ color: hsl(var(--foreground));
2058
+ line-height: 1.5;
2059
+ white-space: pre-wrap;
2060
+ }
2061
+
2062
+ .round-convergence {
2063
+ display: flex;
2064
+ align-items: center;
2065
+ gap: 0.75rem;
2066
+ padding: 0.75rem;
2067
+ background: hsl(var(--card));
2068
+ border: 1px solid hsl(var(--border));
2069
+ border-radius: 0.375rem;
2070
+ }
2071
+
2072
+ .convergence-indicator {
2073
+ font-weight: 500;
2074
+ font-size: 0.85rem;
2075
+ }
2076
+
2077
+ .convergence-indicator.converged {
2078
+ color: hsl(var(--success, 142 70% 45%));
2079
+ }
2080
+
2081
+ .convergence-indicator.not-converged {
2082
+ color: hsl(var(--warning, 45 90% 40%));
2083
+ }
2084
+
2085
+ .round-loading {
2086
+ display: flex;
2087
+ align-items: center;
2088
+ justify-content: center;
2089
+ padding: 2rem;
2090
+ color: hsl(var(--muted-foreground));
2091
+ font-size: 0.9rem;
2092
+ }
2093
+
2094
+ /* Multi-CLI Empty States */
2095
+ .multi-cli-empty {
2096
+ display: flex;
2097
+ flex-direction: column;
2098
+ align-items: center;
2099
+ justify-content: center;
2100
+ padding: 4rem 2rem;
2101
+ text-align: center;
2102
+ color: hsl(var(--muted-foreground));
2103
+ background: hsl(var(--muted) / 0.2);
2104
+ border: 1px dashed hsl(var(--border));
2105
+ border-radius: 0.75rem;
2106
+ }
2107
+
2108
+ .multi-cli-empty-icon {
2109
+ width: 3.5rem;
2110
+ height: 3.5rem;
2111
+ margin-bottom: 1.25rem;
2112
+ color: hsl(var(--purple, 280 60% 50%) / 0.4);
2113
+ animation: float 3s ease-in-out infinite;
2114
+ }
2115
+
2116
+ .multi-cli-empty-title {
2117
+ font-size: 1rem;
2118
+ font-weight: 500;
2119
+ margin-bottom: 0.5rem;
2120
+ color: hsl(var(--foreground));
2121
+ }
2122
+
2123
+ .multi-cli-empty-description {
2124
+ font-size: 0.875rem;
2125
+ color: hsl(var(--muted-foreground));
2126
+ line-height: 1.6;
2127
+ }
2128
+
2129
+ @keyframes float {
2130
+ 0%, 100% {
2131
+ transform: translateY(0);
2132
+ }
2133
+ 50% {
2134
+ transform: translateY(-8px);
2135
+ }
2136
+ }
2137
+
2138
+ /* ===================================
2139
+ Multi-CLI Detail Page Extended Styles
2140
+ =================================== */
2141
+
2142
+ /* Scope Lists */
2143
+ .scope-list {
2144
+ display: flex;
2145
+ flex-direction: column;
2146
+ gap: 0.5rem;
2147
+ margin: 0;
2148
+ padding-left: 0;
2149
+ font-size: 0.85rem;
2150
+ }
2151
+
2152
+ .scope-list li {
2153
+ padding: 0.5rem 0.75rem;
2154
+ background: hsl(var(--card));
2155
+ border: 1px solid hsl(var(--border));
2156
+ border-radius: 0.375rem;
2157
+ font-family: var(--font-mono);
2158
+ color: hsl(var(--foreground));
2159
+ line-height: 1.5;
2160
+ transition: all 0.2s ease;
2161
+ }
2162
+
2163
+ .scope-list li:hover {
2164
+ border-color: hsl(var(--primary) / 0.5);
2165
+ transform: translateX(4px);
2166
+ }
2167
+
2168
+ .scope-list.excluded li {
2169
+ background: hsl(var(--destructive) / 0.05);
2170
+ border-color: hsl(var(--destructive) / 0.2);
2171
+ color: hsl(var(--muted-foreground));
2172
+ text-decoration: line-through;
2173
+ opacity: 0.7;
2174
+ }
2175
+
2176
+ .scope-list.excluded li:hover {
2177
+ border-color: hsl(var(--destructive) / 0.4);
2178
+ }
2179
+
2180
+ /* Acceptance List */
2181
+ .acceptance-list {
2182
+ display: flex;
2183
+ flex-direction: column;
2184
+ gap: 0.5rem;
2185
+ }
2186
+
2187
+ .acceptance-item {
2188
+ display: flex;
2189
+ align-items: flex-start;
2190
+ gap: 0.75rem;
2191
+ padding: 0.75rem;
2192
+ background: hsl(var(--card));
2193
+ border: 1px solid hsl(var(--border));
2194
+ border-radius: 0.375rem;
2195
+ transition: border-color 0.2s ease;
2196
+ }
2197
+
2198
+ .acceptance-item:hover {
2199
+ border-color: hsl(var(--primary) / 0.3);
2200
+ }
2201
+
2202
+ .acceptance-item.met {
2203
+ border-color: hsl(var(--success, 142 70% 45%) / 0.5);
2204
+ background: hsl(var(--success, 142 70% 45%) / 0.03);
2205
+ }
2206
+
2207
+ .acceptance-item.unmet {
2208
+ border-color: hsl(var(--destructive) / 0.3);
2209
+ background: hsl(var(--destructive) / 0.02);
2210
+ }
2211
+
2212
+ .acceptance-check {
2213
+ display: flex;
2214
+ align-items: center;
2215
+ justify-content: center;
2216
+ width: 1.25rem;
2217
+ height: 1.25rem;
2218
+ border-radius: 0.25rem;
2219
+ flex-shrink: 0;
2220
+ margin-top: 0.125rem;
2221
+ }
2222
+
2223
+ .acceptance-item.met .acceptance-check {
2224
+ background: hsl(var(--success, 142 70% 45%));
2225
+ color: white;
2226
+ }
2227
+
2228
+ .acceptance-item.unmet .acceptance-check {
2229
+ background: hsl(var(--muted));
2230
+ border: 1px solid hsl(var(--border));
2231
+ color: hsl(var(--muted-foreground));
2232
+ }
2233
+
2234
+ .acceptance-check i {
2235
+ width: 0.75rem;
2236
+ height: 0.75rem;
2237
+ }
2238
+
2239
+ .acceptance-id {
2240
+ font-weight: 600;
2241
+ font-size: 0.75rem;
2242
+ color: hsl(var(--primary));
2243
+ margin-bottom: 0.25rem;
2244
+ }
2245
+
2246
+ .acceptance-desc {
2247
+ font-size: 0.85rem;
2248
+ color: hsl(var(--foreground));
2249
+ line-height: 1.5;
2250
+ }
2251
+
2252
+ /* Decision Status Bar */
2253
+ .decision-status-bar {
2254
+ display: flex;
2255
+ align-items: center;
2256
+ justify-content: space-between;
2257
+ gap: 1rem;
2258
+ padding: 1rem;
2259
+ background: hsl(var(--muted) / 0.3);
2260
+ border: 1px solid hsl(var(--border));
2261
+ border-radius: 0.5rem;
2262
+ margin-bottom: 1rem;
2263
+ }
2264
+
2265
+ .decision-status-bar.converged {
2266
+ border-color: hsl(var(--success, 142 70% 45%) / 0.5);
2267
+ background: hsl(var(--success, 142 70% 45%) / 0.05);
2268
+ }
2269
+
2270
+ .decision-status-bar.divergent {
2271
+ border-color: hsl(var(--warning, 45 90% 50%) / 0.5);
2272
+ background: hsl(var(--warning, 45 90% 50%) / 0.05);
2273
+ }
2274
+
2275
+ .decision-summary {
2276
+ display: flex;
2277
+ flex-direction: column;
2278
+ gap: 0.5rem;
2279
+ flex: 1;
2280
+ }
2281
+
2282
+ .decision-summary-text {
2283
+ font-size: 0.875rem;
2284
+ color: hsl(var(--foreground));
2285
+ line-height: 1.5;
2286
+ }
2287
+
2288
+ .decision-confidence {
2289
+ display: flex;
2290
+ align-items: center;
2291
+ gap: 0.75rem;
2292
+ }
2293
+
2294
+ .decision-confidence-label {
2295
+ font-size: 0.75rem;
2296
+ font-weight: 500;
2297
+ color: hsl(var(--muted-foreground));
2298
+ }
2299
+
2300
+ .decision-confidence-bar {
2301
+ width: 100px;
2302
+ height: 8px;
2303
+ background: hsl(var(--muted));
2304
+ border-radius: 4px;
2305
+ overflow: hidden;
2306
+ }
2307
+
2308
+ .decision-confidence-fill {
2309
+ height: 100%;
2310
+ border-radius: 4px;
2311
+ transition: width 0.3s ease;
2312
+ }
2313
+
2314
+ .decision-status-bar.converged .decision-confidence-fill {
2315
+ background: hsl(var(--success, 142 70% 45%));
2316
+ }
2317
+
2318
+ .decision-status-bar.divergent .decision-confidence-fill {
2319
+ background: hsl(var(--warning, 45 90% 50%));
2320
+ }
2321
+
2322
+ .decision-confidence-value {
2323
+ font-size: 0.8rem;
2324
+ font-weight: 600;
2325
+ color: hsl(var(--foreground));
2326
+ }
2327
+
2328
+ /* Pros and Cons Lists */
2329
+ .pros-list,
2330
+ .cons-list {
2331
+ display: flex;
2332
+ flex-direction: column;
2333
+ gap: 0.5rem;
2334
+ margin: 0;
2335
+ padding: 0;
2336
+ list-style: none;
2337
+ }
2338
+
2339
+ .pro-item,
2340
+ .con-item {
2341
+ display: flex;
2342
+ align-items: flex-start;
2343
+ gap: 0.75rem;
2344
+ padding: 0.75rem 1rem;
2345
+ border-radius: 0.5rem;
2346
+ font-size: 0.85rem;
2347
+ line-height: 1.6;
2348
+ color: hsl(var(--foreground));
2349
+ transition: all 0.2s ease;
2350
+ position: relative;
2351
+ }
2352
+
2353
+ .pro-item {
2354
+ background: hsl(142 71% 45% / 0.08);
2355
+ border-left: 4px solid #10b981;
2356
+ }
2357
+
2358
+ .pro-item:hover {
2359
+ background: hsl(142 71% 45% / 0.12);
2360
+ transform: translateX(4px);
2361
+ }
2362
+
2363
+ .pro-item::before {
2364
+ content: "+";
2365
+ font-weight: 700;
2366
+ color: #10b981;
2367
+ flex-shrink: 0;
2368
+ width: 1.25rem;
2369
+ height: 1.25rem;
2370
+ display: flex;
2371
+ align-items: center;
2372
+ justify-content: center;
2373
+ background: #10b981;
2374
+ color: white;
2375
+ border-radius: 50%;
2376
+ font-size: 1rem;
2377
+ line-height: 1;
2378
+ }
2379
+
2380
+ .con-item {
2381
+ background: hsl(0 84% 60% / 0.08);
2382
+ border-left: 4px solid #ef4444;
2383
+ }
2384
+
2385
+ .con-item:hover {
2386
+ background: hsl(0 84% 60% / 0.12);
2387
+ transform: translateX(4px);
2388
+ }
2389
+
2390
+ .con-item::before {
2391
+ content: "-";
2392
+ font-weight: 700;
2393
+ color: #ef4444;
2394
+ flex-shrink: 0;
2395
+ width: 1.25rem;
2396
+ height: 1.25rem;
2397
+ display: flex;
2398
+ align-items: center;
2399
+ justify-content: center;
2400
+ background: #ef4444;
2401
+ color: white;
2402
+ border-radius: 50%;
2403
+ font-size: 1.25rem;
2404
+ line-height: 1;
2405
+ }
2406
+
2407
+ /* Rounds Navigation */
2408
+ .rounds-nav {
2409
+ display: flex;
2410
+ gap: 0.5rem;
2411
+ flex-wrap: wrap;
2412
+ padding-bottom: 1rem;
2413
+ border-bottom: 1px solid hsl(var(--border));
2414
+ margin-bottom: 1rem;
2415
+ background: hsl(var(--muted) / 0.2);
2416
+ padding: 0.5rem;
2417
+ border-radius: 0.5rem;
2418
+ }
2419
+
2420
+ .round-item {
2421
+ padding: 0.5rem 1rem;
2422
+ background: hsl(var(--card));
2423
+ border: 1px solid hsl(var(--border));
2424
+ border-radius: 0.5rem;
2425
+ font-size: 0.8rem;
2426
+ font-weight: 500;
2427
+ color: hsl(var(--muted-foreground));
2428
+ cursor: pointer;
2429
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2430
+ display: flex;
2431
+ align-items: center;
2432
+ gap: 0.375rem;
2433
+ }
2434
+
2435
+ .round-item:hover {
2436
+ background: hsl(var(--hover));
2437
+ border-color: hsl(var(--purple, 280 60% 50%) / 0.5);
2438
+ color: hsl(var(--foreground));
2439
+ transform: translateY(-2px);
2440
+ box-shadow: 0 2px 8px hsl(var(--purple, 280 60% 50%) / 0.1);
2441
+ }
2442
+
2443
+ .round-item.active {
2444
+ background: hsl(var(--purple, 280 60% 50%));
2445
+ border-color: hsl(var(--purple, 280 60% 50%));
2446
+ color: white;
2447
+ box-shadow: 0 2px 8px hsl(var(--purple, 280 60% 50%) / 0.25);
2448
+ }
2449
+
2450
+ .round-item i {
2451
+ width: 0.875rem;
2452
+ height: 0.875rem;
2453
+ }
2454
+
2455
+ /* Timeline Event Parts */
2456
+ .event-type {
2457
+ display: inline-block;
2458
+ padding: 0.125rem 0.5rem;
2459
+ background: hsl(var(--primary) / 0.1);
2460
+ color: hsl(var(--primary));
2461
+ border-radius: 0.25rem;
2462
+ font-size: 0.7rem;
2463
+ font-weight: 600;
2464
+ text-transform: uppercase;
2465
+ letter-spacing: 0.025em;
2466
+ }
2467
+
2468
+ .event-type.proposal {
2469
+ background: hsl(var(--primary) / 0.1);
2470
+ color: hsl(var(--primary));
2471
+ }
2472
+
2473
+ .event-type.analysis {
2474
+ background: hsl(var(--info, 220 80% 55%) / 0.1);
2475
+ color: hsl(var(--info, 220 80% 55%));
2476
+ }
2477
+
2478
+ .event-type.decision {
2479
+ background: hsl(var(--success, 142 70% 45%) / 0.1);
2480
+ color: hsl(var(--success, 142 70% 45%));
2481
+ }
2482
+
2483
+ .event-type.conflict {
2484
+ background: hsl(var(--warning, 45 90% 50%) / 0.1);
2485
+ color: hsl(var(--warning, 45 90% 40%));
2486
+ }
2487
+
2488
+ .event-type.resolution {
2489
+ background: hsl(var(--purple, 280 60% 50%) / 0.1);
2490
+ color: hsl(var(--purple, 280 60% 50%));
2491
+ }
2492
+
2493
+ .event-contributor {
2494
+ display: inline-flex;
2495
+ align-items: center;
2496
+ gap: 0.25rem;
2497
+ font-size: 0.8rem;
2498
+ font-weight: 500;
2499
+ color: hsl(var(--purple, 280 60% 50%));
2500
+ }
2501
+
2502
+ .event-contributor i {
2503
+ width: 0.875rem;
2504
+ height: 0.875rem;
2505
+ }
2506
+
2507
+ .event-summary {
2508
+ font-size: 0.875rem;
2509
+ font-weight: 500;
2510
+ color: hsl(var(--foreground));
2511
+ line-height: 1.5;
2512
+ margin: 0.5rem 0;
2513
+ }
2514
+
2515
+ .event-evidence {
2516
+ font-size: 0.8rem;
2517
+ color: hsl(var(--muted-foreground));
2518
+ line-height: 1.5;
2519
+ padding: 0.5rem 0.75rem;
2520
+ background: hsl(var(--muted) / 0.5);
2521
+ border-radius: 0.375rem;
2522
+ border-left: 2px solid hsl(var(--border));
2523
+ margin-top: 0.5rem;
2524
+ }
2525
+
2526
+ .event-evidence code {
2527
+ font-size: 0.75rem;
2528
+ padding: 0.125rem 0.375rem;
2529
+ background: hsl(var(--muted));
2530
+ border-radius: 0.25rem;
2531
+ color: hsl(var(--primary));
2532
+ }
2533
+
2534
+ /* File Tree List */
2535
+ .file-tree-list {
2536
+ display: flex;
2537
+ flex-direction: column;
2538
+ gap: 0.25rem;
2539
+ padding: 0.5rem;
2540
+ background: hsl(var(--card));
2541
+ border: 1px solid hsl(var(--border));
2542
+ border-radius: 0.375rem;
2543
+ }
2544
+
2545
+ /* Impact List */
2546
+ .impact-list {
2547
+ display: flex;
2548
+ flex-direction: column;
2549
+ gap: 0.5rem;
2550
+ padding: 0.5rem;
2551
+ background: hsl(var(--card));
2552
+ border: 1px solid hsl(var(--border));
2553
+ border-radius: 0.375rem;
2554
+ }
2555
+
2556
+ .impact-item {
2557
+ display: flex;
2558
+ flex-direction: column;
2559
+ gap: 0.375rem;
2560
+ padding: 0.75rem;
2561
+ background: hsl(var(--muted) / 0.3);
2562
+ border-radius: 0.375rem;
2563
+ border-left: 3px solid hsl(var(--warning));
2564
+ }
2565
+
2566
+ .impact-item.impact-high {
2567
+ border-left-color: hsl(var(--destructive));
2568
+ }
2569
+
2570
+ .impact-item.impact-medium {
2571
+ border-left-color: hsl(var(--warning));
2572
+ }
2573
+
2574
+ .impact-item.impact-low {
2575
+ border-left-color: hsl(var(--success));
2576
+ }
2577
+
2578
+ .impact-header {
2579
+ display: flex;
2580
+ align-items: center;
2581
+ gap: 0.5rem;
2582
+ flex-wrap: wrap;
2583
+ }
2584
+
2585
+ .impact-file {
2586
+ font-family: var(--font-mono);
2587
+ font-size: 0.85rem;
2588
+ color: hsl(var(--foreground));
2589
+ background: hsl(var(--muted));
2590
+ padding: 0.125rem 0.375rem;
2591
+ border-radius: 0.25rem;
2592
+ }
2593
+
2594
+ .impact-line {
2595
+ font-size: 0.8rem;
2596
+ color: hsl(var(--muted-foreground));
2597
+ }
2598
+
2599
+ .impact-score {
2600
+ font-size: 0.75rem;
2601
+ font-weight: 500;
2602
+ padding: 0.125rem 0.5rem;
2603
+ border-radius: 0.25rem;
2604
+ text-transform: uppercase;
2605
+ }
2606
+
2607
+ .impact-score.high {
2608
+ background: hsl(var(--destructive) / 0.15);
2609
+ color: hsl(var(--destructive));
2610
+ }
2611
+
2612
+ .impact-score.medium {
2613
+ background: hsl(var(--warning) / 0.15);
2614
+ color: hsl(var(--warning));
2615
+ }
2616
+
2617
+ .impact-score.low {
2618
+ background: hsl(var(--success) / 0.15);
2619
+ color: hsl(var(--success));
2620
+ }
2621
+
2622
+ .impact-reason {
2623
+ font-size: 0.85rem;
2624
+ color: hsl(var(--muted-foreground));
2625
+ line-height: 1.5;
2626
+ padding-left: 0.25rem;
2627
+ }
2628
+
2629
+ /* Dependencies List */
2630
+ .deps-list {
2631
+ display: flex;
2632
+ flex-direction: column;
2633
+ gap: 0.5rem;
2634
+ padding: 0.5rem;
2635
+ background: hsl(var(--card));
2636
+ border: 1px solid hsl(var(--border));
2637
+ border-radius: 0.375rem;
2638
+ }
2639
+
2640
+ /* Timeline Connecting Line */
2641
+ .timeline-event::before {
2642
+ content: "";
2643
+ position: absolute;
2644
+ left: 0.9375rem;
2645
+ top: 1.75rem;
2646
+ bottom: -0.5rem;
2647
+ width: 2px;
2648
+ background: hsl(var(--border));
2649
+ z-index: 0;
2650
+ }
2651
+
2652
+ .timeline-event:last-child::before {
2653
+ display: none;
2654
+ }
2655
+
2656
+ /* Round Solutions */
2657
+ .round-solutions {
2658
+ margin-top: 1.5rem;
2659
+ }
2660
+
2661
+ .round-solutions > strong {
2662
+ display: block;
2663
+ margin-bottom: 0.75rem;
2664
+ font-size: 0.95rem;
2665
+ color: hsl(var(--foreground));
2666
+ }
2667
+
2668
+ .solutions-list {
2669
+ display: flex;
2670
+ flex-direction: column;
2671
+ gap: 1rem;
2672
+ }
2673
+
2674
+ /* Solution Card Styles (extensions to unified .solution-card above) */
2675
+ .solution-number {
2676
+ display: inline-flex;
2677
+ align-items: center;
2678
+ justify-content: center;
2679
+ min-width: 1.5rem;
2680
+ height: 1.5rem;
2681
+ background: hsl(var(--primary));
2682
+ color: hsl(var(--primary-foreground));
2683
+ border-radius: 0.25rem;
2684
+ font-size: 0.75rem;
2685
+ font-weight: 600;
2686
+ margin-right: 0.5rem;
2687
+ }
2688
+
2689
+ .solution-name {
2690
+ font-weight: 600;
2691
+ font-size: 0.95rem;
2692
+ color: hsl(var(--foreground));
2693
+ flex: 1;
2694
+ }
2695
+
2696
+ .solution-meta {
2697
+ display: flex;
2698
+ flex-direction: column;
2699
+ gap: 0.5rem;
2700
+ font-size: 0.85rem;
2701
+ }
2702
+
2703
+ .source-clis {
2704
+ display: flex;
2705
+ gap: 0.375rem;
2706
+ flex-wrap: wrap;
2707
+ }
2708
+
2709
+ .cli-badge {
2710
+ display: inline-block;
2711
+ padding: 0.125rem 0.5rem;
2712
+ background: hsl(var(--purple, 280 60% 50%) / 0.15);
2713
+ color: hsl(var(--purple, 280 60% 50%));
2714
+ border: 1px solid hsl(var(--purple, 280 60% 50%) / 0.3);
2715
+ border-radius: 0.25rem;
2716
+ font-size: 0.75rem;
2717
+ font-weight: 500;
2718
+ }
2719
+
2720
+ .solution-scores {
2721
+ display: flex;
2722
+ gap: 0.375rem;
2723
+ flex-wrap: wrap;
2724
+ }
2725
+
2726
+ .score-badge {
2727
+ display: inline-block;
2728
+ padding: 0.125rem 0.5rem;
2729
+ border-radius: 0.25rem;
2730
+ font-size: 0.75rem;
2731
+ font-weight: 500;
2732
+ }
2733
+
2734
+ .score-badge.feasibility {
2735
+ background: hsl(var(--success) / 0.15);
2736
+ color: hsl(var(--success));
2737
+ border: 1px solid hsl(var(--success) / 0.3);
2738
+ }
2739
+
2740
+ .score-badge.effort-low {
2741
+ background: hsl(var(--success) / 0.15);
2742
+ color: hsl(var(--success));
2743
+ border: 1px solid hsl(var(--success) / 0.3);
2744
+ }
2745
+
2746
+ .score-badge.effort-medium {
2747
+ background: hsl(var(--warning) / 0.15);
2748
+ color: hsl(var(--warning));
2749
+ border: 1px solid hsl(var(--warning) / 0.3);
2750
+ }
2751
+
2752
+ .score-badge.effort-high {
2753
+ background: hsl(var(--destructive) / 0.15);
2754
+ color: hsl(var(--destructive));
2755
+ border: 1px solid hsl(var(--destructive) / 0.3);
2756
+ }
2757
+
2758
+ .score-badge.risk-low {
2759
+ background: hsl(var(--success) / 0.15);
2760
+ color: hsl(var(--success));
2761
+ border: 1px solid hsl(var(--success) / 0.3);
2762
+ }
2763
+
2764
+ .score-badge.risk-medium {
2765
+ background: hsl(var(--warning) / 0.15);
2766
+ color: hsl(var(--warning));
2767
+ border: 1px solid hsl(var(--warning) / 0.3);
2768
+ }
2769
+
2770
+ .score-badge.risk-high {
2771
+ background: hsl(var(--destructive) / 0.15);
2772
+ color: hsl(var(--destructive));
2773
+ border: 1px solid hsl(var(--destructive) / 0.3);
2774
+ }
2775
+
2776
+ .solution-summary {
2777
+ padding: 1rem;
2778
+ font-size: 0.875rem;
2779
+ color: hsl(var(--foreground));
2780
+ line-height: 1.5;
2781
+ border-bottom: 1px solid hsl(var(--border));
2782
+ }
2783
+
2784
+ .solution-approach,
2785
+ .solution-dependencies,
2786
+ .solution-concerns {
2787
+ border-bottom: 1px solid hsl(var(--border));
2788
+ }
2789
+
2790
+ .solution-approach:last-child,
2791
+ .solution-dependencies:last-child,
2792
+ .solution-concerns:last-child {
2793
+ border-bottom: none;
2794
+ }
2795
+
2796
+ .solution-tasks,
2797
+ .solution-milestones,
2798
+ .internal-deps,
2799
+ .external-deps {
2800
+ margin-top: 0.75rem;
2801
+ }
2802
+
2803
+ .solution-tasks > strong,
2804
+ .solution-milestones > strong,
2805
+ .internal-deps > strong,
2806
+ .external-deps > strong {
2807
+ display: block;
2808
+ margin-bottom: 0.5rem;
2809
+ font-size: 0.85rem;
2810
+ color: hsl(var(--foreground));
2811
+ }
2812
+
2813
+ .task-list,
2814
+ .milestone-list,
2815
+ .dep-list,
2816
+ .concern-list {
2817
+ list-style: none;
2818
+ margin: 0;
2819
+ padding: 0;
2820
+ display: flex;
2821
+ flex-direction: column;
2822
+ gap: 0.375rem;
2823
+ }
2824
+
2825
+ .task-item,
2826
+ .milestone-item,
2827
+ .dep-item,
2828
+ .concern-item {
2829
+ padding: 0.375rem 0.5rem;
2830
+ background: hsl(var(--muted) / 0.2);
2831
+ border-radius: 0.25rem;
2832
+ font-size: 0.85rem;
2833
+ color: hsl(var(--foreground));
2834
+ line-height: 1.4;
2835
+ }
2836
+
2837
+ .task-id {
2838
+ display: inline-block;
2839
+ min-width: 2rem;
2840
+ font-weight: 600;
2841
+ color: hsl(var(--primary));
2842
+ margin-right: 0.5rem;
2843
+ font-size: 0.75rem;
2844
+ }
2845
+
2846
+ .task-name {
2847
+ flex: 1;
2848
+ }
2849
+
2850
+ .task-key-point {
2851
+ display: block;
2852
+ margin-top: 0.25rem;
2853
+ font-size: 0.75rem;
2854
+ color: hsl(var(--muted-foreground));
2855
+ font-style: italic;
2856
+ }
2857
+
2858
+ .execution-flow {
2859
+ margin-top: 0.75rem;
2860
+ }
2861
+
2862
+ .execution-flow > strong {
2863
+ display: block;
2864
+ margin-bottom: 0.5rem;
2865
+ font-size: 0.85rem;
2866
+ color: hsl(var(--foreground));
2867
+ }
2868
+
2869
+ .flow-code {
2870
+ display: block;
2871
+ padding: 0.5rem;
2872
+ background: hsl(var(--muted));
2873
+ border-radius: 0.25rem;
2874
+ font-size: 0.8rem;
2875
+ font-family: var(--font-mono);
2876
+ color: hsl(var(--foreground));
2877
+ overflow-x: auto;
2878
+ }
2879
+
2880
+ /* ===================================
2881
+ Multi-CLI Right Toolbar
2882
+ =================================== */
2883
+
2884
+ /* Container with toolbar layout */
2885
+ .multi-cli-detail-with-toolbar {
2886
+ display: flex;
2887
+ position: relative;
2888
+ gap: 0;
2889
+ }
2890
+
2891
+ .multi-cli-main-content {
2892
+ flex: 1;
2893
+ min-width: 0;
2894
+ transition: margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2895
+ }
2896
+
2897
+ .multi-cli-detail-with-toolbar.toolbar-expanded .multi-cli-main-content {
2898
+ margin-right: 320px;
2899
+ }
2900
+
2901
+ /* Toolbar Container */
2902
+ .multi-cli-toolbar {
2903
+ position: fixed;
2904
+ top: 80px;
2905
+ right: 0;
2906
+ bottom: 0;
2907
+ width: 320px;
2908
+ background: hsl(var(--card));
2909
+ border-left: 1px solid hsl(var(--border));
2910
+ display: flex;
2911
+ flex-direction: column;
2912
+ z-index: 50;
2913
+ transform: translateX(calc(100% - 48px));
2914
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2915
+ box-shadow: -4px 0 16px rgb(0 0 0 / 0.1);
2916
+ }
2917
+
2918
+ .multi-cli-toolbar.expanded {
2919
+ transform: translateX(0);
2920
+ }
2921
+
2922
+ .multi-cli-toolbar.collapsed {
2923
+ transform: translateX(calc(100% - 48px));
2924
+ }
2925
+
2926
+ /* Toggle Button */
2927
+ .toolbar-toggle-btn {
2928
+ position: absolute;
2929
+ left: 0;
2930
+ top: 50%;
2931
+ transform: translate(-50%, -50%);
2932
+ width: 36px;
2933
+ height: 36px;
2934
+ display: flex;
2935
+ align-items: center;
2936
+ justify-content: center;
2937
+ background: hsl(var(--card));
2938
+ border: 1px solid hsl(var(--border));
2939
+ border-radius: 50%;
2940
+ cursor: pointer;
2941
+ z-index: 51;
2942
+ transition: all 0.2s ease;
2943
+ box-shadow: 0 2px 8px rgb(0 0 0 / 0.15);
2944
+ }
2945
+
2946
+ .toolbar-toggle-btn:hover {
2947
+ background: hsl(var(--primary));
2948
+ border-color: hsl(var(--primary));
2949
+ color: hsl(var(--primary-foreground));
2950
+ transform: translate(-50%, -50%) scale(1.1);
2951
+ }
2952
+
2953
+ .toolbar-toggle-btn i {
2954
+ color: hsl(var(--muted-foreground));
2955
+ transition: color 0.2s ease;
2956
+ }
2957
+
2958
+ .toolbar-toggle-btn:hover i {
2959
+ color: hsl(var(--primary-foreground));
2960
+ }
2961
+
2962
+ /* Toolbar Content */
2963
+ .toolbar-content {
2964
+ flex: 1;
2965
+ display: flex;
2966
+ flex-direction: column;
2967
+ overflow: hidden;
2968
+ padding: 0;
2969
+ opacity: 0;
2970
+ transition: opacity 0.2s ease 0.1s;
2971
+ }
2972
+
2973
+ .multi-cli-toolbar.expanded .toolbar-content {
2974
+ opacity: 1;
2975
+ }
2976
+
2977
+ .multi-cli-toolbar.collapsed .toolbar-content {
2978
+ opacity: 0;
2979
+ pointer-events: none;
2980
+ }
2981
+
2982
+ /* Toolbar Header */
2983
+ .toolbar-header {
2984
+ padding: 1rem;
2985
+ border-bottom: 1px solid hsl(var(--border));
2986
+ background: hsl(var(--muted) / 0.3);
2987
+ }
2988
+
2989
+ .toolbar-title {
2990
+ display: flex;
2991
+ align-items: center;
2992
+ gap: 0.5rem;
2993
+ margin: 0;
2994
+ font-size: 0.9rem;
2995
+ font-weight: 600;
2996
+ color: hsl(var(--foreground));
2997
+ }
2998
+
2999
+ .toolbar-title i {
3000
+ color: hsl(var(--primary));
3001
+ }
3002
+
3003
+ .toolbar-count {
3004
+ display: inline-flex;
3005
+ align-items: center;
3006
+ justify-content: center;
3007
+ min-width: 1.5rem;
3008
+ height: 1.5rem;
3009
+ padding: 0 0.375rem;
3010
+ background: hsl(var(--primary) / 0.15);
3011
+ color: hsl(var(--primary));
3012
+ border-radius: 0.75rem;
3013
+ font-size: 0.75rem;
3014
+ font-weight: 600;
3015
+ margin-left: auto;
3016
+ }
3017
+
3018
+ /* Toolbar Actions */
3019
+ .toolbar-actions {
3020
+ display: flex;
3021
+ align-items: center;
3022
+ gap: 0.5rem;
3023
+ padding: 0.75rem 1rem;
3024
+ border-bottom: 1px solid hsl(var(--border));
3025
+ }
3026
+
3027
+ .toolbar-action-btn {
3028
+ display: flex;
3029
+ align-items: center;
3030
+ justify-content: center;
3031
+ width: 32px;
3032
+ height: 32px;
3033
+ background: hsl(var(--muted));
3034
+ border: 1px solid hsl(var(--border));
3035
+ border-radius: 0.375rem;
3036
+ cursor: pointer;
3037
+ transition: all 0.15s ease;
3038
+ }
3039
+
3040
+ .toolbar-action-btn i {
3041
+ color: hsl(var(--muted-foreground));
3042
+ }
3043
+
3044
+ .toolbar-action-btn:hover {
3045
+ background: hsl(var(--primary) / 0.1);
3046
+ border-color: hsl(var(--primary) / 0.3);
3047
+ }
3048
+
3049
+ .toolbar-action-btn:hover i {
3050
+ color: hsl(var(--primary));
3051
+ }
3052
+
3053
+ /* Toolbar Task List */
3054
+ .toolbar-task-list {
3055
+ flex: 1;
3056
+ overflow-y: auto;
3057
+ padding: 0.5rem;
3058
+ scrollbar-width: thin;
3059
+ }
3060
+
3061
+ .toolbar-task-list::-webkit-scrollbar {
3062
+ width: 6px;
3063
+ }
3064
+
3065
+ .toolbar-task-list::-webkit-scrollbar-track {
3066
+ background: transparent;
3067
+ }
3068
+
3069
+ .toolbar-task-list::-webkit-scrollbar-thumb {
3070
+ background: hsl(var(--border));
3071
+ border-radius: 3px;
3072
+ }
3073
+
3074
+ .toolbar-task-item {
3075
+ display: flex;
3076
+ align-items: flex-start;
3077
+ gap: 0.625rem;
3078
+ padding: 0.625rem 0.75rem;
3079
+ background: hsl(var(--muted) / 0.3);
3080
+ border: 1px solid hsl(var(--border));
3081
+ border-radius: 0.5rem;
3082
+ margin-bottom: 0.375rem;
3083
+ cursor: pointer;
3084
+ transition: all 0.2s ease;
3085
+ }
3086
+
3087
+ .toolbar-task-item:hover {
3088
+ background: hsl(var(--primary) / 0.08);
3089
+ border-color: hsl(var(--primary) / 0.3);
3090
+ transform: translateX(-2px);
3091
+ }
3092
+
3093
+ .toolbar-task-item:active {
3094
+ transform: translateX(-2px) scale(0.98);
3095
+ }
3096
+
3097
+ .toolbar-task-num {
3098
+ display: inline-flex;
3099
+ align-items: center;
3100
+ justify-content: center;
3101
+ min-width: 1.5rem;
3102
+ height: 1.5rem;
3103
+ background: hsl(var(--primary));
3104
+ color: hsl(var(--primary-foreground));
3105
+ border-radius: 0.25rem;
3106
+ font-size: 0.7rem;
3107
+ font-weight: 600;
3108
+ flex-shrink: 0;
3109
+ }
3110
+
3111
+ .toolbar-task-info {
3112
+ flex: 1;
3113
+ min-width: 0;
3114
+ display: flex;
3115
+ flex-direction: column;
3116
+ gap: 0.25rem;
3117
+ }
3118
+
3119
+ .toolbar-task-title {
3120
+ font-size: 0.8rem;
3121
+ font-weight: 500;
3122
+ color: hsl(var(--foreground));
3123
+ line-height: 1.4;
3124
+ overflow: hidden;
3125
+ text-overflow: ellipsis;
3126
+ display: -webkit-box;
3127
+ -webkit-line-clamp: 2;
3128
+ -webkit-box-orient: vertical;
3129
+ }
3130
+
3131
+ .toolbar-task-scope {
3132
+ font-size: 0.7rem;
3133
+ color: hsl(var(--muted-foreground));
3134
+ font-family: var(--font-mono);
3135
+ overflow: hidden;
3136
+ text-overflow: ellipsis;
3137
+ white-space: nowrap;
3138
+ }
3139
+
3140
+ /* Toolbar Empty State */
3141
+ .toolbar-empty {
3142
+ display: flex;
3143
+ flex-direction: column;
3144
+ align-items: center;
3145
+ justify-content: center;
3146
+ padding: 2rem 1rem;
3147
+ color: hsl(var(--muted-foreground));
3148
+ text-align: center;
3149
+ gap: 0.75rem;
3150
+ }
3151
+
3152
+ .toolbar-empty i {
3153
+ color: hsl(var(--muted-foreground) / 0.5);
3154
+ }
3155
+
3156
+ .toolbar-empty span {
3157
+ font-size: 0.8rem;
3158
+ }
3159
+
3160
+ /* Toolbar Session Info */
3161
+ .toolbar-session-info {
3162
+ padding: 0.75rem 1rem;
3163
+ border-top: 1px solid hsl(var(--border));
3164
+ background: hsl(var(--muted) / 0.2);
3165
+ margin-top: auto;
3166
+ }
3167
+
3168
+ .toolbar-info-item {
3169
+ display: flex;
3170
+ flex-direction: column;
3171
+ gap: 0.25rem;
3172
+ margin-bottom: 0.5rem;
3173
+ }
3174
+
3175
+ .toolbar-info-item:last-child {
3176
+ margin-bottom: 0;
3177
+ }
3178
+
3179
+ .toolbar-info-label {
3180
+ font-size: 0.65rem;
3181
+ font-weight: 600;
3182
+ text-transform: uppercase;
3183
+ letter-spacing: 0.025em;
3184
+ color: hsl(var(--muted-foreground));
3185
+ }
3186
+
3187
+ .toolbar-info-value {
3188
+ font-size: 0.75rem;
3189
+ color: hsl(var(--foreground));
3190
+ overflow: hidden;
3191
+ text-overflow: ellipsis;
3192
+ white-space: nowrap;
3193
+ }
3194
+
3195
+ .toolbar-info-value.toolbar-summary {
3196
+ display: -webkit-box;
3197
+ -webkit-line-clamp: 3;
3198
+ -webkit-box-orient: vertical;
3199
+ white-space: normal;
3200
+ line-height: 1.4;
3201
+ }
3202
+
3203
+ /* Task Highlight Animation */
3204
+ .fix-task-summary-item.toolbar-highlight {
3205
+ animation: toolbarHighlightPulse 2s ease-out;
3206
+ }
3207
+
3208
+ @keyframes toolbarHighlightPulse {
3209
+ 0% {
3210
+ box-shadow: 0 0 0 0 hsl(var(--primary));
3211
+ }
3212
+ 20% {
3213
+ box-shadow: 0 0 0 4px hsl(var(--primary) / 0.4);
3214
+ border-color: hsl(var(--primary));
3215
+ }
3216
+ 100% {
3217
+ box-shadow: 0 0 0 0 hsl(var(--primary) / 0);
3218
+ border-color: hsl(var(--border));
3219
+ }
3220
+ }
3221
+
3222
+ /* Responsive adjustments */
3223
+ @media (max-width: 1024px) {
3224
+ .multi-cli-toolbar {
3225
+ width: 280px;
3226
+ }
3227
+ }
3228
+
3229
+ @media (max-width: 768px) {
3230
+ .multi-cli-toolbar {
3231
+ width: 100%;
3232
+ top: auto;
3233
+ bottom: 0;
3234
+ height: 50vh;
3235
+ transform: translateY(calc(100% - 48px));
3236
+ border-left: none;
3237
+ border-top: 1px solid hsl(var(--border));
3238
+ border-radius: 1rem 1rem 0 0;
3239
+ }
3240
+
3241
+ .multi-cli-toolbar.expanded {
3242
+ transform: translateY(0);
3243
+ }
3244
+
3245
+ .multi-cli-toolbar.collapsed {
3246
+ transform: translateY(calc(100% - 48px));
3247
+ }
3248
+
3249
+ .toolbar-toggle-btn {
3250
+ left: 50%;
3251
+ top: 0;
3252
+ transform: translate(-50%, -50%);
3253
+ }
3254
+
3255
+ .toolbar-toggle-btn:hover {
3256
+ transform: translate(-50%, -50%) scale(1.1);
3257
+ }
3258
+ }
3259
+
3260
+ /* ========== Discussion Section Styles ========== */
3261
+ .multi-cli-discussion-section {
3262
+ padding: 1rem;
3263
+ }
3264
+
3265
+ .discussion-header {
3266
+ display: flex;
3267
+ align-items: center;
3268
+ justify-content: space-between;
3269
+ margin-bottom: 1rem;
3270
+ padding-bottom: 0.75rem;
3271
+ border-bottom: 1px solid hsl(var(--border) / 0.5);
3272
+ }
3273
+
3274
+ .discussion-title {
3275
+ font-size: 1.125rem;
3276
+ font-weight: 600;
3277
+ color: hsl(var(--foreground));
3278
+ margin: 0;
3279
+ }
3280
+
3281
+ .discussion-status {
3282
+ font-size: 0.75rem;
3283
+ padding: 0.25rem 0.5rem;
3284
+ border-radius: 4px;
3285
+ text-transform: capitalize;
3286
+ }
3287
+
3288
+ .discussion-status.converged { background: hsl(var(--success) / 0.15); color: hsl(var(--success)); }
3289
+ .discussion-status.analyzing { background: hsl(var(--warning) / 0.15); color: hsl(var(--warning)); }
3290
+
3291
+ .discussion-round {
3292
+ margin-bottom: 0.75rem;
3293
+ border: 1px solid hsl(var(--border));
3294
+ border-radius: 8px;
3295
+ overflow: hidden;
3296
+ background: hsl(var(--card));
3297
+ }
3298
+
3299
+ .discussion-round-header {
3300
+ display: flex;
3301
+ align-items: center;
3302
+ gap: 0.75rem;
3303
+ padding: 0.75rem 1rem;
3304
+ background: hsl(var(--muted) / 0.3);
3305
+ cursor: pointer;
3306
+ transition: background-color 0.2s;
3307
+ }
3308
+
3309
+ .discussion-round-header:hover {
3310
+ background: hsl(var(--muted) / 0.5);
3311
+ }
3312
+
3313
+ .round-title-group {
3314
+ display: flex;
3315
+ align-items: center;
3316
+ gap: 0.5rem;
3317
+ flex: 1;
3318
+ }
3319
+
3320
+ .round-badge {
3321
+ font-size: 0.75rem;
3322
+ font-weight: 600;
3323
+ padding: 0.125rem 0.5rem;
3324
+ background: hsl(var(--primary));
3325
+ color: hsl(var(--primary-foreground));
3326
+ border-radius: 4px;
3327
+ }
3328
+
3329
+ .round-timestamp {
3330
+ font-size: 0.75rem;
3331
+ color: hsl(var(--muted-foreground));
3332
+ }
3333
+
3334
+ .round-indicators {
3335
+ display: flex;
3336
+ align-items: center;
3337
+ gap: 0.5rem;
3338
+ }
3339
+
3340
+ .convergence-badge {
3341
+ font-size: 0.7rem;
3342
+ padding: 0.125rem 0.375rem;
3343
+ background: hsl(var(--success) / 0.15);
3344
+ color: hsl(var(--success));
3345
+ border-radius: 4px;
3346
+ }
3347
+
3348
+ .recommendation-badge {
3349
+ font-size: 0.7rem;
3350
+ padding: 0.125rem 0.375rem;
3351
+ border-radius: 4px;
3352
+ text-transform: capitalize;
3353
+ }
3354
+
3355
+ .recommendation-badge.converged { background: hsl(var(--success) / 0.15); color: hsl(var(--success)); }
3356
+ .recommendation-badge.continue { background: hsl(var(--info) / 0.15); color: hsl(var(--info)); }
3357
+ .recommendation-badge.user_input_needed { background: hsl(var(--warning) / 0.15); color: hsl(var(--warning)); }
3358
+
3359
+ .discussion-round-content {
3360
+ padding: 1rem;
3361
+ border-top: 1px solid hsl(var(--border) / 0.5);
3362
+ }
3363
+
3364
+ .round-section-title {
3365
+ font-size: 0.8rem;
3366
+ font-weight: 600;
3367
+ color: hsl(var(--muted-foreground));
3368
+ margin: 0.75rem 0 0.5rem;
3369
+ display: flex;
3370
+ align-items: center;
3371
+ gap: 0.375rem;
3372
+ }
3373
+
3374
+ .round-section-title:first-child {
3375
+ margin-top: 0;
3376
+ }
3377
+
3378
+ .agent-badges {
3379
+ display: flex;
3380
+ flex-wrap: wrap;
3381
+ gap: 0.375rem;
3382
+ }
3383
+
3384
+ .agent-badge {
3385
+ font-size: 0.7rem;
3386
+ padding: 0.125rem 0.5rem;
3387
+ background: hsl(var(--accent));
3388
+ color: hsl(var(--accent-foreground));
3389
+ border-radius: 999px;
3390
+ }
3391
+
3392
+ .solution-cards-grid {
3393
+ display: grid;
3394
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
3395
+ gap: 0.75rem;
3396
+ margin-top: 0.5rem;
3397
+ }
3398
+
3399
+ .solution-mini-card {
3400
+ border: 1px solid hsl(var(--border));
3401
+ border-radius: 6px;
3402
+ padding: 0.75rem;
3403
+ background: hsl(var(--background));
3404
+ }
3405
+
3406
+ .solution-mini-header {
3407
+ display: flex;
3408
+ align-items: center;
3409
+ gap: 0.5rem;
3410
+ margin-bottom: 0.5rem;
3411
+ }
3412
+
3413
+ .solution-mini-title {
3414
+ font-size: 0.8rem;
3415
+ font-weight: 500;
3416
+ flex: 1;
3417
+ }
3418
+
3419
+ .solution-mini-source {
3420
+ font-size: 0.65rem;
3421
+ color: hsl(var(--muted-foreground));
3422
+ }
3423
+
3424
+ .solution-mini-description {
3425
+ font-size: 0.75rem;
3426
+ color: hsl(var(--muted-foreground));
3427
+ line-height: 1.4;
3428
+ }
3429
+
3430
+ /* Discussion Round Expand/Collapse */
3431
+ .discussion-round.collapsed .discussion-round-content {
3432
+ display: none;
3433
+ }
3434
+
3435
+ .discussion-round-header .expand-icon {
3436
+ transition: transform 0.2s;
3437
+ }
3438
+
3439
+ .discussion-round.collapsed .discussion-round-header .expand-icon {
3440
+ transform: rotate(-90deg);
3441
+ }
3442
+
3443
+ /* ========== Association Section Styles ========== */
3444
+ .association-section {
3445
+ margin-bottom: 1.5rem;
3446
+ }
3447
+
3448
+ .association-section-title {
3449
+ font-size: 0.9rem;
3450
+ font-weight: 600;
3451
+ color: hsl(var(--foreground));
3452
+ margin-bottom: 0.75rem;
3453
+ display: flex;
3454
+ align-items: center;
3455
+ gap: 0.375rem;
3456
+ }
3457
+
3458
+ .association-section-title i {
3459
+ color: hsl(var(--primary));
3460
+ }
3461
+
3462
+ .association-cards-grid {
3463
+ display: grid;
3464
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
3465
+ gap: 1rem;
3466
+ }
3467
+
3468
+ .association-card {
3469
+ border: 1px solid hsl(var(--border));
3470
+ border-radius: 8px;
3471
+ padding: 1rem;
3472
+ background: hsl(var(--card));
3473
+ transition: box-shadow 0.2s, border-color 0.2s;
3474
+ }
3475
+
3476
+ .association-card:hover {
3477
+ box-shadow: 0 4px 12px hsl(var(--foreground) / 0.08);
3478
+ border-color: hsl(var(--border));
3479
+ }
3480
+
3481
+ .association-card .card-header {
3482
+ display: flex;
3483
+ align-items: center;
3484
+ gap: 0.5rem;
3485
+ margin-bottom: 0.75rem;
3486
+ }
3487
+
3488
+ .association-card .card-number {
3489
+ width: 1.5rem;
3490
+ height: 1.5rem;
3491
+ border-radius: 50%;
3492
+ background: hsl(var(--primary));
3493
+ color: hsl(var(--primary-foreground));
3494
+ display: flex;
3495
+ align-items: center;
3496
+ justify-content: center;
3497
+ font-size: 0.75rem;
3498
+ font-weight: 600;
3499
+ flex-shrink: 0;
3500
+ }
3501
+
3502
+ .association-card .card-title {
3503
+ font-weight: 500;
3504
+ flex: 1;
3505
+ font-size: 0.9rem;
3506
+ }
3507
+
3508
+ .association-card .card-metrics {
3509
+ display: grid;
3510
+ grid-template-columns: repeat(3, 1fr);
3511
+ gap: 0.5rem;
3512
+ margin-bottom: 0.75rem;
3513
+ }
3514
+
3515
+ .association-card .metric {
3516
+ text-align: center;
3517
+ }
3518
+
3519
+ .association-card .metric-label {
3520
+ display: block;
3521
+ font-size: 0.65rem;
3522
+ color: hsl(var(--muted-foreground));
3523
+ margin-bottom: 0.125rem;
3524
+ }
3525
+
3526
+ .association-card .metric-value {
3527
+ font-size: 0.85rem;
3528
+ font-weight: 600;
3529
+ }
3530
+
3531
+ .association-card .metric-value.effort-low { color: hsl(var(--success)); }
3532
+ .association-card .metric-value.effort-medium { color: hsl(var(--warning)); }
3533
+ .association-card .metric-value.effort-high { color: hsl(var(--error)); }
3534
+
3535
+ .association-card .metric-value.risk-low { color: hsl(var(--success)); }
3536
+ .association-card .metric-value.risk-medium { color: hsl(var(--warning)); }
3537
+ .association-card .metric-value.risk-high { color: hsl(var(--error)); }
3538
+
3539
+ .association-card .card-section-title {
3540
+ font-size: 0.75rem;
3541
+ font-weight: 600;
3542
+ color: hsl(var(--muted-foreground));
3543
+ margin: 0.75rem 0 0.375rem;
3544
+ }
3545
+
3546
+ .dependency-list, .consensus-list {
3547
+ list-style: none;
3548
+ padding: 0;
3549
+ margin: 0.5rem 0 0 0;
3550
+ }
3551
+
3552
+ .dependency-item, .consensus-item {
3553
+ display: flex;
3554
+ align-items: flex-start;
3555
+ gap: 0.5rem;
3556
+ padding: 0.375rem 0;
3557
+ font-size: 0.8rem;
3558
+ border-bottom: 1px solid hsl(var(--border) / 0.3);
3559
+ }
3560
+
3561
+ .dependency-item:last-child, .consensus-item:last-child {
3562
+ border-bottom: none;
3563
+ }
3564
+
3565
+ .dep-type {
3566
+ font-size: 0.65rem;
3567
+ padding: 0.125rem 0.375rem;
3568
+ border-radius: 4px;
3569
+ text-transform: uppercase;
3570
+ flex-shrink: 0;
3571
+ }
3572
+
3573
+ .dep-type.internal { background: hsl(var(--info) / 0.15); color: hsl(var(--info)); }
3574
+ .dep-type.external { background: hsl(var(--warning) / 0.15); color: hsl(var(--warning)); }
3575
+
3576
+ .dep-name {
3577
+ flex: 1;
3578
+ word-break: break-word;
3579
+ }
3580
+
3581
+ .consensus-icon {
3582
+ color: hsl(var(--success));
3583
+ flex-shrink: 0;
3584
+ }
3585
+
3586
+ .consensus-text {
3587
+ flex: 1;
3588
+ line-height: 1.4;
3589
+ }
3590
+
3591
+ /* Association Empty State */
3592
+ .association-empty {
3593
+ text-align: center;
3594
+ padding: 2rem;
3595
+ color: hsl(var(--muted-foreground));
3596
+ }
3597
+
3598
+ .association-empty i {
3599
+ font-size: 2rem;
3600
+ margin-bottom: 0.5rem;
3601
+ opacity: 0.5;
3602
+ }
3603
+
3604
+ .association-empty p {
3605
+ margin: 0;
3606
+ font-size: 0.875rem;
3607
+ }
3608
+
3609
+ /* Discussion/Association Responsive */
3610
+ @media (max-width: 768px) {
3611
+ .association-cards-grid {
3612
+ grid-template-columns: 1fr;
3613
+ }
3614
+
3615
+ .solution-cards-grid {
3616
+ grid-template-columns: 1fr;
3617
+ }
3618
+
3619
+ .association-card .card-metrics {
3620
+ grid-template-columns: repeat(3, 1fr);
3621
+ }
3622
+ }
3623
+