claude-code-memory-explorer 0.10.0 → 0.11.0

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/public/style.css CHANGED
@@ -23,6 +23,7 @@
23
23
  --scope-project: #7ab5a0;
24
24
  --scope-local: #8a9bb5;
25
25
  --scope-rule: #a89bc4;
26
+ --scope-skill: #7a9bc4;
26
27
  --scope-memory: #c4a06a;
27
28
  --scope-agent-memory: #8aa8a3;
28
29
  --scope-policy: #b58a8a;
@@ -39,6 +40,8 @@
39
40
  box-sizing: border-box;
40
41
  }
41
42
  body {
43
+ /* native widgets (select popups, form controls) follow color-scheme, not CSS vars */
44
+ color-scheme: dark;
42
45
  background: var(--bg-deep);
43
46
  color: var(--text-primary);
44
47
  font-family: var(--font-sans);
@@ -236,20 +239,20 @@ body {
236
239
  .budget-bar {
237
240
  background: var(--bg-surface);
238
241
  border-bottom: 1px solid var(--border);
239
- padding: 6px 16px 8px;
242
+ padding: 4px 16px 6px;
240
243
  flex-shrink: 0;
241
244
  }
242
245
  .budget-label {
243
246
  display: flex;
244
247
  justify-content: space-between;
245
- font-size: 10px;
248
+ font-size: 9px;
246
249
  color: var(--text-muted);
247
- margin-bottom: 4px;
250
+ margin-bottom: 3px;
248
251
  text-transform: uppercase;
249
252
  letter-spacing: 0.3px;
250
253
  }
251
254
  .budget-track {
252
- height: 6px;
255
+ height: 4px;
253
256
  background: var(--bg-elevated);
254
257
  border-radius: 3px;
255
258
  overflow: hidden;
@@ -391,6 +394,7 @@ body.light .tree-agent-item .file-name {
391
394
  .tree-item.selected {
392
395
  background: var(--accent-dim);
393
396
  color: var(--accent);
397
+ box-shadow: inset 2px 0 0 var(--accent);
394
398
  }
395
399
  .tree-item .tree-chevron,
396
400
  .tree-item .tree-chevron-spacer {
@@ -429,6 +433,8 @@ body.light .tree-agent-item .file-name {
429
433
  font-size: 10px;
430
434
  color: var(--text-muted);
431
435
  font-family: var(--font-mono);
436
+ font-variant-numeric: tabular-nums;
437
+ opacity: 0.7;
432
438
  flex-shrink: 0;
433
439
  }
434
440
  .tree-child .file-name {
@@ -456,40 +462,75 @@ body.light .tree-conditional .file-name {
456
462
  }
457
463
  .preview-title .file-path {
458
464
  font-family: var(--font-mono);
459
- font-size: 12px;
460
- color: var(--text-tertiary);
465
+ font-size: 15px;
466
+ font-weight: 600;
467
+ color: var(--text-primary);
461
468
  overflow: hidden;
462
469
  text-overflow: ellipsis;
463
470
  }
471
+ .preview-desc {
472
+ font-size: 12px;
473
+ color: var(--text-secondary);
474
+ line-height: 1.5;
475
+ max-width: 90ch;
476
+ margin: 0 0 8px;
477
+ display: -webkit-box;
478
+ -webkit-line-clamp: 3;
479
+ -webkit-box-orient: vertical;
480
+ overflow: hidden;
481
+ cursor: default;
482
+ }
483
+ .preview-desc.expanded {
484
+ -webkit-line-clamp: unset;
485
+ }
464
486
  .preview-badges {
465
487
  display: flex;
466
488
  gap: 6px;
467
489
  flex-wrap: wrap;
490
+ align-items: center;
468
491
  }
469
492
  .preview-imports {
470
493
  display: flex;
471
- gap: 8px;
494
+ gap: 6px;
472
495
  flex-wrap: wrap;
473
- margin-top: 6px;
496
+ margin-top: 8px;
497
+ }
498
+ .preview-imports .import-link {
499
+ display: inline-flex;
500
+ align-items: center;
501
+ padding: 2px 9px;
502
+ background: var(--bg-elevated);
503
+ border: 1px solid var(--border);
504
+ border-radius: 10px;
505
+ font-family: var(--font-mono);
506
+ font-size: 11px;
507
+ color: var(--accent-text);
508
+ text-decoration: none;
509
+ }
510
+ .preview-imports .import-link:hover {
511
+ border-color: var(--accent);
512
+ text-decoration: none;
513
+ }
514
+ .preview-imports .import-link.unresolved {
515
+ background: transparent;
516
+ border-style: dashed;
474
517
  }
475
518
  .preview-filepath {
476
- padding: 5px 16px;
519
+ margin-top: 8px;
477
520
  font-family: var(--font-mono);
478
- font-size: 12px;
479
- color: var(--text-tertiary);
480
- background: var(--bg-deep);
481
- border-bottom: 1px solid var(--border);
521
+ font-size: 11px;
522
+ color: var(--text-muted);
482
523
  overflow: hidden;
483
524
  text-overflow: ellipsis;
484
525
  white-space: nowrap;
485
526
  }
486
527
  .preview-code {
487
528
  font-family: var(--font-mono);
488
- font-size: 13px;
529
+ font-size: 14px;
489
530
  line-height: 1.6;
490
531
  color: var(--text-primary);
491
- white-space: pre-wrap;
492
- word-break: break-word;
532
+ /* pre (not pre-wrap): keeps markdown tables and code aligned; long lines scroll horizontally */
533
+ white-space: pre;
493
534
  padding: 12px 16px;
494
535
  margin: 0;
495
536
  overflow: auto;
@@ -510,6 +551,17 @@ body.light .tree-conditional .file-name {
510
551
  color: var(--text-muted);
511
552
  opacity: 0.6;
512
553
  }
554
+ .hl-fm-block {
555
+ display: inline-block;
556
+ min-width: 100%;
557
+ width: max-content;
558
+ padding: 4px 10px;
559
+ margin-bottom: 16px;
560
+ background: var(--bg-elevated);
561
+ border-left: 2px solid var(--accent);
562
+ border-radius: 0 4px 4px 0;
563
+ opacity: 0.85;
564
+ }
513
565
  .import-link {
514
566
  color: var(--accent);
515
567
  cursor: pointer;
@@ -620,6 +672,10 @@ body.light .tree-conditional .file-name {
620
672
  background: rgba(168, 155, 196, 0.18);
621
673
  color: var(--scope-rule);
622
674
  }
675
+ .scope-skill {
676
+ background: rgba(122, 155, 196, 0.18);
677
+ color: var(--scope-skill);
678
+ }
623
679
  .scope-memory {
624
680
  background: rgba(196, 149, 106, 0.18);
625
681
  color: var(--scope-memory);
@@ -642,13 +698,21 @@ body.light .tree-conditional .file-name {
642
698
  }
643
699
  .tag-badge {
644
700
  display: inline-block;
645
- font-size: 9px;
646
- padding: 1px 5px;
701
+ font-size: 10px;
702
+ padding: 1px 6px;
647
703
  background: var(--bg-elevated);
704
+ border: 1px solid var(--border);
648
705
  border-radius: 3px;
649
706
  color: var(--text-tertiary);
650
707
  font-family: var(--font-mono);
651
708
  }
709
+ .tag-badge .tag-k {
710
+ color: var(--text-muted);
711
+ margin-right: 5px;
712
+ }
713
+ .tag-badge .tag-k::after {
714
+ content: ':';
715
+ }
652
716
  /* #endregion BADGES */
653
717
 
654
718
  /* #region SUMMARY_BAR */
@@ -700,6 +764,19 @@ body.light .tree-conditional .file-name {
700
764
  max-height: 80vh;
701
765
  overflow-y: auto;
702
766
  }
767
+ .modal.modal-wide {
768
+ width: 1140px;
769
+ }
770
+ /* the analysis box loses its standalone framing inside the modal; the modal header carries the title */
771
+ #analysisModal .analysis-box {
772
+ margin: 0;
773
+ border: none;
774
+ padding: 0;
775
+ background: transparent;
776
+ }
777
+ #analysisModal .analysis-title {
778
+ display: none;
779
+ }
703
780
  .modal-header {
704
781
  display: flex;
705
782
  align-items: center;
@@ -785,17 +862,29 @@ body.light .tree-conditional .file-name {
785
862
  .modal-close-btn:hover {
786
863
  background: var(--bg-hover);
787
864
  }
865
+ /* matches the marketplace app's action-btn look */
788
866
  .action-btn {
789
- padding: 6px 14px;
867
+ padding: 4px 10px;
790
868
  border-radius: 4px;
869
+ font-size: 10px;
870
+ font-weight: 500;
871
+ cursor: pointer;
791
872
  border: 1px solid var(--border);
792
873
  background: var(--bg-elevated);
793
- color: var(--text-secondary);
794
- cursor: pointer;
795
- font-size: 12px;
874
+ color: var(--text-tertiary);
875
+ font-family: var(--font-mono);
876
+ transition: all 0.15s ease;
877
+ white-space: nowrap;
878
+ text-transform: uppercase;
879
+ letter-spacing: 0.03em;
796
880
  }
797
881
  .action-btn:hover {
798
- background: var(--bg-hover);
882
+ border-color: var(--accent);
883
+ color: var(--text-secondary);
884
+ }
885
+ .action-btn:disabled {
886
+ opacity: 0.35;
887
+ cursor: not-allowed;
799
888
  }
800
889
  .action-btn.primary {
801
890
  background: var(--accent);
@@ -806,12 +895,10 @@ body.light .tree-conditional .file-name {
806
895
  filter: brightness(1.1);
807
896
  }
808
897
  .action-btn.danger {
809
- background: var(--error);
810
- border-color: var(--error);
811
- color: #fff;
898
+ color: var(--error);
812
899
  }
813
900
  .action-btn.danger:hover {
814
- filter: brightness(1.1);
901
+ border-color: var(--error);
815
902
  }
816
903
  .modal-filepath {
817
904
  font-family: 'IBM Plex Mono', monospace;
@@ -857,13 +944,18 @@ body.light .tree-conditional .file-name {
857
944
  padding-right: 12px;
858
945
  }
859
946
  kbd {
860
- background: var(--bg-elevated);
947
+ background: var(--bg-hover);
861
948
  border: 1px solid var(--border);
862
- border-radius: 3px;
863
- padding: 1px 5px;
949
+ border-radius: 4px;
950
+ padding: 2px 6px;
864
951
  font-family: var(--font-mono);
865
- font-size: 10px;
952
+ font-size: 11px;
866
953
  color: var(--text-secondary);
954
+ white-space: nowrap;
955
+ }
956
+ .topbar-btn kbd {
957
+ font-size: 10px;
958
+ line-height: 1;
867
959
  }
868
960
  .recent-projects-label {
869
961
  font-size: 11px;
@@ -967,9 +1059,10 @@ kbd {
967
1059
 
968
1060
  /* #region LIGHT_THEME */
969
1061
  body.light {
1062
+ color-scheme: light;
970
1063
  --bg-deep: #e8e6e3;
971
1064
  --bg-surface: #efede9;
972
- --bg-elevated: #fbfaf9;
1065
+ --bg-elevated: #f7f4f0;
973
1066
  --bg-hover: #d2d0cc;
974
1067
  --border: #cfcbc4;
975
1068
  --text-primary: #0a0a0a;
@@ -1007,3 +1100,485 @@ body.light {
1007
1100
  }
1008
1101
  }
1009
1102
  /* #endregion RESPONSIVE */
1103
+
1104
+ /* #region ANALYZER */
1105
+ .analysis-box {
1106
+ margin: 12px 16px 0;
1107
+ border: 1px solid var(--border);
1108
+ border-radius: 8px;
1109
+ background: var(--bg-surface);
1110
+ padding: 12px 14px;
1111
+ font-family: var(--font-mono);
1112
+ }
1113
+ .analysis-head {
1114
+ display: flex;
1115
+ align-items: center;
1116
+ gap: 10px;
1117
+ }
1118
+ .analysis-title {
1119
+ font-family: var(--font-serif);
1120
+ font-size: 15px;
1121
+ color: var(--text-primary);
1122
+ }
1123
+ .analysis-meta {
1124
+ flex: 1;
1125
+ font-size: 11px;
1126
+ color: var(--text-muted);
1127
+ }
1128
+ .analysis-summary {
1129
+ margin-top: 8px;
1130
+ font-size: 12px;
1131
+ color: var(--text-secondary);
1132
+ line-height: 1.5;
1133
+ }
1134
+ .analysis-empty {
1135
+ margin-top: 10px;
1136
+ font-size: 12px;
1137
+ color: var(--success);
1138
+ }
1139
+ .analysis-status {
1140
+ display: flex;
1141
+ align-items: center;
1142
+ gap: 8px;
1143
+ font-size: 12px;
1144
+ color: var(--text-secondary);
1145
+ }
1146
+ .analysis-status-error {
1147
+ color: var(--error);
1148
+ }
1149
+ .analysis-spinner {
1150
+ width: 12px;
1151
+ height: 12px;
1152
+ border: 2px solid var(--border);
1153
+ border-top-color: var(--accent);
1154
+ border-radius: 50%;
1155
+ flex-shrink: 0;
1156
+ animation: spin 0.9s linear infinite;
1157
+ }
1158
+ .analysis-card {
1159
+ margin-top: 10px;
1160
+ padding: 10px 12px;
1161
+ border: 1px solid var(--border);
1162
+ border-left-width: 3px;
1163
+ border-radius: 6px;
1164
+ background: var(--bg-elevated);
1165
+ overflow: hidden;
1166
+ transition:
1167
+ opacity 0.25s,
1168
+ transform 0.25s,
1169
+ max-height 0.3s,
1170
+ margin 0.3s,
1171
+ padding 0.3s;
1172
+ }
1173
+ .analysis-card.leaving {
1174
+ opacity: 0;
1175
+ transform: translateX(24px);
1176
+ max-height: 0;
1177
+ margin-top: 0;
1178
+ padding-top: 0;
1179
+ padding-bottom: 0;
1180
+ border-width: 0;
1181
+ }
1182
+ .analysis-card.sev-high {
1183
+ border-left-color: var(--error);
1184
+ }
1185
+ .analysis-card.sev-med {
1186
+ border-left-color: var(--warning);
1187
+ }
1188
+ .analysis-card.sev-low {
1189
+ border-left-color: var(--text-muted);
1190
+ }
1191
+ .analysis-card-head {
1192
+ display: flex;
1193
+ align-items: center;
1194
+ gap: 8px;
1195
+ }
1196
+ .analysis-card-title {
1197
+ font-size: 12px;
1198
+ font-weight: 600;
1199
+ color: var(--text-primary);
1200
+ }
1201
+ .analysis-card-detail {
1202
+ margin-top: 6px;
1203
+ font-size: 12px;
1204
+ color: var(--text-secondary);
1205
+ line-height: 1.5;
1206
+ }
1207
+ .analysis-card-suggestion {
1208
+ margin-top: 6px;
1209
+ font-size: 12px;
1210
+ color: var(--accent-text);
1211
+ line-height: 1.5;
1212
+ }
1213
+ .analysis-card-suggestion::before {
1214
+ content: 'fix: ';
1215
+ color: var(--text-muted);
1216
+ }
1217
+ .analysis-card-files {
1218
+ margin-top: 8px;
1219
+ display: flex;
1220
+ flex-wrap: wrap;
1221
+ gap: 6px;
1222
+ }
1223
+ .kind-badge {
1224
+ font-size: 10px;
1225
+ text-transform: uppercase;
1226
+ letter-spacing: 0.5px;
1227
+ padding: 1px 6px;
1228
+ border-radius: 4px;
1229
+ background: var(--bg-hover);
1230
+ color: var(--text-tertiary);
1231
+ flex-shrink: 0;
1232
+ }
1233
+ .kind-badge.kind-contradiction,
1234
+ .kind-badge.kind-invalidate {
1235
+ background: var(--error-dim);
1236
+ color: var(--error);
1237
+ }
1238
+ .kind-badge.kind-duplicate,
1239
+ .kind-badge.kind-merge {
1240
+ background: var(--warning-dim);
1241
+ color: var(--warning);
1242
+ }
1243
+ .kind-badge.kind-promote {
1244
+ background: var(--success-dim);
1245
+ color: var(--success);
1246
+ }
1247
+ .analysis-card-title {
1248
+ flex: 1;
1249
+ }
1250
+ .action-btn.primary {
1251
+ background: var(--accent-dim);
1252
+ border-color: var(--accent);
1253
+ color: var(--accent-text);
1254
+ }
1255
+ .action-btn.primary:disabled {
1256
+ opacity: 0.4;
1257
+ cursor: default;
1258
+ }
1259
+
1260
+ /* per-card actions — appear on hover */
1261
+ .card-actions {
1262
+ display: flex;
1263
+ gap: 6px;
1264
+ opacity: 0;
1265
+ transition: opacity 0.15s;
1266
+ flex-shrink: 0;
1267
+ }
1268
+ .analysis-card:hover .card-actions {
1269
+ opacity: 1;
1270
+ }
1271
+ .card-btn {
1272
+ display: inline-flex;
1273
+ align-items: center;
1274
+ gap: 4px;
1275
+ background: var(--bg-surface);
1276
+ border: 1px solid var(--border);
1277
+ border-radius: 6px;
1278
+ color: var(--text-tertiary);
1279
+ font-family: var(--font-mono);
1280
+ font-size: 10px;
1281
+ padding: 2px 8px;
1282
+ cursor: pointer;
1283
+ white-space: nowrap;
1284
+ }
1285
+ .card-btn:hover {
1286
+ border-color: var(--accent);
1287
+ color: var(--accent-text);
1288
+ }
1289
+ .card-btn svg {
1290
+ width: 11px;
1291
+ height: 11px;
1292
+ }
1293
+
1294
+ /* file chips — under the title, scope-tagged */
1295
+ .file-chip {
1296
+ display: inline-flex;
1297
+ align-items: center;
1298
+ gap: 5px;
1299
+ padding: 1px 9px;
1300
+ background: var(--bg-surface);
1301
+ border: 1px solid var(--border);
1302
+ border-radius: 10px;
1303
+ font-family: var(--font-mono);
1304
+ font-size: 11px;
1305
+ color: var(--accent-text);
1306
+ text-decoration: none;
1307
+ }
1308
+ .file-chip svg {
1309
+ width: 10px;
1310
+ height: 10px;
1311
+ opacity: 0.7;
1312
+ }
1313
+ a.file-chip:hover {
1314
+ border-color: var(--accent);
1315
+ }
1316
+ .file-chip .fscope {
1317
+ font-size: 8px;
1318
+ text-transform: uppercase;
1319
+ letter-spacing: 0.5px;
1320
+ opacity: 0.85;
1321
+ }
1322
+ .file-chip .fscope-memory {
1323
+ color: var(--scope-memory);
1324
+ }
1325
+ .file-chip .fscope-skill {
1326
+ color: var(--scope-skill);
1327
+ }
1328
+ .file-chip .fscope-agent {
1329
+ color: var(--scope-agent-memory);
1330
+ }
1331
+ .file-chip .fscope-user {
1332
+ color: var(--scope-user);
1333
+ }
1334
+ .file-chip .fscope-project {
1335
+ color: var(--scope-project);
1336
+ }
1337
+ .file-chip .fscope-local {
1338
+ color: var(--scope-local);
1339
+ }
1340
+ .no-files {
1341
+ font-size: 10px;
1342
+ color: var(--text-muted);
1343
+ font-style: italic;
1344
+ }
1345
+
1346
+ /* severity filter strip */
1347
+ .runs-strip {
1348
+ display: flex;
1349
+ gap: 6px;
1350
+ align-items: center;
1351
+ margin-top: 8px;
1352
+ flex-wrap: wrap;
1353
+ }
1354
+ .runs-label {
1355
+ font-family: var(--font-mono);
1356
+ font-size: 10px;
1357
+ text-transform: uppercase;
1358
+ letter-spacing: 0.08em;
1359
+ color: var(--text-muted);
1360
+ margin-right: 2px;
1361
+ }
1362
+ .run-chip {
1363
+ display: inline-flex;
1364
+ align-items: center;
1365
+ gap: 6px;
1366
+ font-family: var(--font-mono);
1367
+ font-size: 11px;
1368
+ padding: 3px 10px;
1369
+ border-radius: 5px;
1370
+ border: 1px solid var(--border);
1371
+ color: var(--text-tertiary);
1372
+ cursor: pointer;
1373
+ background: transparent;
1374
+ user-select: none;
1375
+ }
1376
+ .run-chip:hover {
1377
+ border-color: var(--accent);
1378
+ color: var(--text-primary);
1379
+ }
1380
+ .run-chip-x {
1381
+ border: none;
1382
+ background: transparent;
1383
+ color: var(--text-muted);
1384
+ font-size: 13px;
1385
+ line-height: 1;
1386
+ padding: 0;
1387
+ margin-right: -4px;
1388
+ cursor: pointer;
1389
+ }
1390
+ .run-chip-x:hover {
1391
+ color: var(--error);
1392
+ }
1393
+ .run-chip.active {
1394
+ border-color: var(--accent);
1395
+ color: var(--accent-text);
1396
+ background: var(--accent-dim);
1397
+ }
1398
+ .sev-strip {
1399
+ display: flex;
1400
+ gap: 8px;
1401
+ align-items: center;
1402
+ margin-top: 10px;
1403
+ flex-wrap: wrap;
1404
+ }
1405
+ .sev-pill {
1406
+ font-family: var(--font-mono);
1407
+ font-size: 11px;
1408
+ padding: 2px 10px;
1409
+ border-radius: 20px;
1410
+ border: 1px solid var(--border);
1411
+ color: var(--text-tertiary);
1412
+ cursor: pointer;
1413
+ background: transparent;
1414
+ display: inline-flex;
1415
+ align-items: center;
1416
+ gap: 6px;
1417
+ }
1418
+ .sev-pill .dot {
1419
+ width: 7px;
1420
+ height: 7px;
1421
+ border-radius: 50%;
1422
+ }
1423
+ .sev-pill[data-sev='high'] .dot {
1424
+ background: var(--error);
1425
+ }
1426
+ .sev-pill[data-sev='med'] .dot {
1427
+ background: var(--warning);
1428
+ }
1429
+ .sev-pill[data-sev='low'] .dot {
1430
+ background: var(--text-muted);
1431
+ }
1432
+ .sev-pill.active {
1433
+ border-color: var(--accent);
1434
+ color: var(--text-primary);
1435
+ background: var(--accent-dim);
1436
+ }
1437
+ .sev-pill:hover {
1438
+ border-color: var(--accent);
1439
+ }
1440
+ .dismissed-note {
1441
+ font-size: 11px;
1442
+ color: var(--text-muted);
1443
+ margin-left: auto;
1444
+ }
1445
+ .dismissed-note a {
1446
+ color: var(--accent-text);
1447
+ cursor: pointer;
1448
+ text-decoration: none;
1449
+ }
1450
+ .dismissed-note a:hover {
1451
+ text-decoration: underline;
1452
+ }
1453
+
1454
+ /* scope picker */
1455
+ .scope-panel {
1456
+ background: var(--bg-elevated);
1457
+ border: 1px solid var(--border);
1458
+ border-radius: 8px;
1459
+ padding: 12px 14px;
1460
+ margin-top: 10px;
1461
+ }
1462
+ .scope-panel-title {
1463
+ font-size: 11px;
1464
+ text-transform: uppercase;
1465
+ letter-spacing: 1px;
1466
+ color: var(--text-muted);
1467
+ margin-bottom: 8px;
1468
+ }
1469
+ .scope-tree {
1470
+ font-size: 12px;
1471
+ }
1472
+ .scope-group {
1473
+ margin-bottom: 6px;
1474
+ }
1475
+ .scope-row {
1476
+ display: flex;
1477
+ align-items: center;
1478
+ gap: 8px;
1479
+ padding: 3px 4px;
1480
+ border-radius: 5px;
1481
+ cursor: pointer;
1482
+ user-select: none;
1483
+ }
1484
+ .scope-row:hover {
1485
+ background: var(--bg-hover);
1486
+ }
1487
+ .scope-row input {
1488
+ accent-color: var(--accent);
1489
+ cursor: pointer;
1490
+ pointer-events: none;
1491
+ }
1492
+ .scope-tag {
1493
+ font-size: 9px;
1494
+ text-transform: uppercase;
1495
+ letter-spacing: 0.5px;
1496
+ padding: 0 6px;
1497
+ border-radius: 3px;
1498
+ flex-shrink: 0;
1499
+ }
1500
+ .scope-tag.t-memory {
1501
+ background: rgba(196, 160, 106, 0.18);
1502
+ color: var(--scope-memory);
1503
+ }
1504
+ .scope-tag.t-skill {
1505
+ background: rgba(122, 155, 196, 0.18);
1506
+ color: var(--scope-skill);
1507
+ }
1508
+ .scope-tag.t-agent {
1509
+ background: rgba(138, 168, 163, 0.18);
1510
+ color: var(--scope-agent-memory);
1511
+ }
1512
+ .scope-tag.t-claudemd {
1513
+ background: rgba(122, 181, 160, 0.18);
1514
+ color: var(--scope-project);
1515
+ }
1516
+ .scope-meta {
1517
+ color: var(--text-muted);
1518
+ font-size: 10px;
1519
+ margin-left: auto;
1520
+ }
1521
+ .scope-children {
1522
+ margin-left: 26px;
1523
+ border-left: 1px solid var(--border);
1524
+ padding-left: 10px;
1525
+ }
1526
+ .scope-caret {
1527
+ width: 14px;
1528
+ text-align: center;
1529
+ color: var(--text-muted);
1530
+ cursor: pointer;
1531
+ flex-shrink: 0;
1532
+ }
1533
+ .scope-group.collapsed .scope-children {
1534
+ display: none;
1535
+ }
1536
+ /* keep the footer (count + model + run) visible: the tree scrolls, not the modal */
1537
+ .scope-tree {
1538
+ max-height: 48vh;
1539
+ overflow-y: auto;
1540
+ }
1541
+ .scope-footer {
1542
+ display: flex;
1543
+ align-items: center;
1544
+ gap: 10px;
1545
+ margin-top: 10px;
1546
+ padding-top: 10px;
1547
+ border-top: 1px solid var(--border);
1548
+ }
1549
+ .scope-hint {
1550
+ font-size: 11px;
1551
+ color: var(--text-muted);
1552
+ flex: 1;
1553
+ }
1554
+ /* segmented model toggle — a native <select> popup ignores the page theme on
1555
+ some platforms, so the options are plain buttons */
1556
+ .scope-model {
1557
+ display: inline-flex;
1558
+ border: 1px solid var(--border);
1559
+ border-radius: 5px;
1560
+ overflow: hidden;
1561
+ }
1562
+ .scope-model-opt {
1563
+ background: transparent;
1564
+ color: var(--text-muted);
1565
+ border: none;
1566
+ border-right: 1px solid var(--border);
1567
+ font-family: inherit;
1568
+ font-size: 11px;
1569
+ line-height: 1;
1570
+ padding: 6px 10px;
1571
+ cursor: pointer;
1572
+ }
1573
+ .scope-model-opt:last-child {
1574
+ border-right: none;
1575
+ }
1576
+ .scope-model-opt:hover {
1577
+ color: var(--text-primary);
1578
+ background: var(--bg-hover);
1579
+ }
1580
+ .scope-model-opt.active {
1581
+ background: var(--bg-tertiary);
1582
+ color: var(--accent);
1583
+ }
1584
+ /* #endregion ANALYZER */