@kage-core/kage-graph-mcp 1.1.34 → 1.1.35

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/viewer/styles.css CHANGED
@@ -35,7 +35,7 @@ body {
35
35
 
36
36
  button, input, select { font: inherit; }
37
37
  h1, h2, p { margin: 0; }
38
- h1 { font-size: clamp(22px, 3vw, 36px); line-height: 1; letter-spacing: 0; }
38
+ h1 { font-size: clamp(20px, 2vw, 28px); line-height: 1; letter-spacing: 0; }
39
39
  h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; }
40
40
 
41
41
  .app-header {
@@ -43,10 +43,11 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
43
43
  grid-template-columns: minmax(360px, 1fr) auto auto;
44
44
  grid-template-areas:
45
45
  "brand links picker"
46
+ "sections sections autoload"
46
47
  "status status autoload";
47
- gap: 16px;
48
+ gap: 10px 16px;
48
49
  align-items: center;
49
- padding: 14px 18px;
50
+ padding: 10px 14px;
50
51
  border-bottom: 1px solid var(--line);
51
52
  background: rgba(5, 8, 6, 0.94);
52
53
  backdrop-filter: blur(16px);
@@ -62,20 +63,20 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
62
63
  }
63
64
  .eyebrow {
64
65
  display: inline-flex;
65
- margin-bottom: 5px;
66
+ margin-bottom: 4px;
66
67
  color: var(--terminal-strong);
67
- font-size: 11px;
68
+ font-size: 10px;
68
69
  font-weight: 800;
69
70
  letter-spacing: 0.08em;
70
71
  text-transform: uppercase;
71
72
  }
72
73
  .brand-block h1::before {
73
- content: "> ";
74
- color: var(--terminal-strong);
74
+ content: "";
75
75
  }
76
76
  .app-header p {
77
- margin-top: 6px;
77
+ margin-top: 4px;
78
78
  color: var(--muted);
79
+ font-size: 12px;
79
80
  overflow-wrap: anywhere;
80
81
  }
81
82
 
@@ -89,8 +90,8 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
89
90
  .site-links a {
90
91
  display: inline-flex;
91
92
  align-items: center;
92
- min-height: 28px;
93
- padding: 4px 9px;
93
+ min-height: 26px;
94
+ padding: 3px 9px;
94
95
  border: 1px solid var(--line);
95
96
  border-radius: 4px;
96
97
  background: rgba(13, 25, 19, 0.86);
@@ -105,6 +106,34 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
105
106
  color: var(--terminal-strong);
106
107
  }
107
108
 
109
+ .viewer-sections {
110
+ grid-area: sections;
111
+ display: flex;
112
+ flex-wrap: wrap;
113
+ gap: 6px;
114
+ align-items: center;
115
+ }
116
+
117
+ .viewer-section {
118
+ min-height: 28px;
119
+ padding: 0 11px;
120
+ border-color: rgba(65, 255, 143, 0.18);
121
+ background: rgba(13, 25, 19, 0.72);
122
+ box-shadow: none;
123
+ color: var(--terminal-dim);
124
+ font-size: 11px;
125
+ }
126
+ .viewer-section:hover {
127
+ border-color: rgba(65, 255, 143, 0.30);
128
+ color: var(--terminal-strong);
129
+ }
130
+ .viewer-section.active,
131
+ .viewer-section[aria-selected="true"] {
132
+ border-color: var(--terminal-strong);
133
+ background: rgba(65, 255, 143, 0.12);
134
+ color: var(--terminal-strong);
135
+ }
136
+
108
137
  .status-strip {
109
138
  grid-area: status;
110
139
  display: flex;
@@ -117,8 +146,8 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
117
146
  grid-area: autoload;
118
147
  display: inline-flex;
119
148
  align-items: center;
120
- min-height: 28px;
121
- padding: 4px 9px;
149
+ min-height: 26px;
150
+ padding: 3px 9px;
122
151
  border: 1px solid var(--line);
123
152
  border-radius: 4px;
124
153
  background: #040805;
@@ -136,8 +165,8 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
136
165
  display: inline-flex;
137
166
  align-items: center;
138
167
  gap: 7px;
139
- min-height: 28px;
140
- padding: 4px 9px;
168
+ min-height: 24px;
169
+ padding: 3px 8px;
141
170
  border: 1px solid var(--line-strong);
142
171
  border-radius: 4px;
143
172
  background: rgba(13, 25, 19, 0.92);
@@ -155,7 +184,7 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
155
184
  display: inline-flex;
156
185
  align-items: center;
157
186
  justify-content: center;
158
- min-height: 38px;
187
+ min-height: 34px;
159
188
  padding: 0 13px;
160
189
  border: 1px solid var(--terminal-strong);
161
190
  border-radius: 4px;
@@ -184,22 +213,265 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
184
213
  }
185
214
 
186
215
  .layout {
216
+ position: relative;
187
217
  display: grid;
188
- grid-template-columns: minmax(0, 1fr) 380px;
189
- grid-template-rows: minmax(680px, calc(100vh - 108px)) auto minmax(220px, 30vh) minmax(260px, 32vh) minmax(270px, 34vh);
190
- grid-template-areas:
191
- "graph details"
192
- "controls details"
193
- "review proof"
194
- "intelligence intelligence"
195
- "entities edges";
218
+ grid-template-columns: minmax(0, 1fr);
219
+ grid-template-rows: minmax(720px, calc(100vh - 108px));
220
+ grid-template-areas: "stage";
196
221
  gap: 12px;
197
222
  padding: 12px;
198
223
  min-height: calc(100vh - 78px);
224
+ align-items: stretch;
199
225
  }
200
226
 
201
227
  .layout > * { min-width: 0; }
202
228
 
229
+ .dashboard-panel {
230
+ grid-area: stage;
231
+ display: none;
232
+ min-height: 720px;
233
+ padding: 26px;
234
+ border: 1px solid var(--line);
235
+ border-radius: 8px;
236
+ background: rgba(8, 17, 13, 0.92);
237
+ box-shadow: var(--shadow);
238
+ overflow: auto;
239
+ }
240
+
241
+ body.viewer-section-overview .dashboard-panel { display: block; }
242
+ body.viewer-section-overview .graph-panel { display: none; }
243
+ body.viewer-section-overview .workspace-shell { display: none; }
244
+ body.viewer-section-graph .dashboard-panel { display: none; }
245
+
246
+ .dashboard-hero {
247
+ display: grid;
248
+ grid-template-columns: minmax(0, 1fr) auto;
249
+ gap: 20px;
250
+ align-items: start;
251
+ margin-bottom: 20px;
252
+ }
253
+ .dashboard-kicker {
254
+ display: inline-flex;
255
+ margin-bottom: 8px;
256
+ color: var(--terminal-dim);
257
+ font-size: 11px;
258
+ font-weight: 820;
259
+ text-transform: uppercase;
260
+ }
261
+ .dashboard-hero h2 {
262
+ max-width: 880px;
263
+ color: var(--text);
264
+ font-size: clamp(24px, 3.2vw, 44px);
265
+ line-height: 1.05;
266
+ text-transform: none;
267
+ letter-spacing: 0;
268
+ }
269
+ .dashboard-hero p {
270
+ max-width: 760px;
271
+ margin-top: 10px;
272
+ color: var(--muted);
273
+ font-size: 14px;
274
+ }
275
+ .dashboard-actions {
276
+ display: flex;
277
+ flex-wrap: wrap;
278
+ justify-content: flex-end;
279
+ gap: 8px;
280
+ }
281
+ .dashboard-actions button,
282
+ .dashboard-card button {
283
+ min-height: 32px;
284
+ border-color: rgba(65, 255, 143, 0.22);
285
+ background: rgba(65, 255, 143, 0.08);
286
+ box-shadow: none;
287
+ color: var(--terminal-strong);
288
+ }
289
+
290
+ .dashboard-stats {
291
+ display: grid;
292
+ grid-template-columns: repeat(6, minmax(0, 1fr));
293
+ gap: 10px;
294
+ margin-bottom: 18px;
295
+ }
296
+ .dashboard-stat {
297
+ min-height: 82px;
298
+ padding: 14px;
299
+ border: 1px solid rgba(65, 255, 143, 0.16);
300
+ border-radius: 8px;
301
+ background: rgba(3, 6, 4, 0.54);
302
+ }
303
+ .dashboard-stat strong {
304
+ display: block;
305
+ color: var(--terminal-strong);
306
+ font-size: 24px;
307
+ line-height: 1;
308
+ }
309
+ .dashboard-stat span {
310
+ display: block;
311
+ margin-top: 8px;
312
+ color: var(--terminal-dim);
313
+ font-size: 11px;
314
+ font-weight: 760;
315
+ text-transform: uppercase;
316
+ }
317
+
318
+ .dashboard-grid {
319
+ display: grid;
320
+ grid-template-columns: repeat(3, minmax(0, 1fr));
321
+ gap: 12px;
322
+ }
323
+ .dashboard-card {
324
+ min-height: 260px;
325
+ display: flex;
326
+ flex-direction: column;
327
+ gap: 10px;
328
+ padding: 16px;
329
+ border: 1px solid rgba(65, 255, 143, 0.15);
330
+ border-radius: 8px;
331
+ background: rgba(3, 6, 4, 0.46);
332
+ }
333
+ .dashboard-card-head {
334
+ display: flex;
335
+ align-items: center;
336
+ justify-content: space-between;
337
+ gap: 10px;
338
+ color: var(--terminal-dim);
339
+ font-size: 11px;
340
+ font-weight: 820;
341
+ text-transform: uppercase;
342
+ }
343
+ .dashboard-card-head strong {
344
+ color: var(--code);
345
+ font-size: 10px;
346
+ }
347
+ .dashboard-card h3 {
348
+ color: var(--text);
349
+ font-size: 17px;
350
+ line-height: 1.2;
351
+ }
352
+ .dashboard-card p {
353
+ color: var(--muted);
354
+ font-size: 12px;
355
+ }
356
+ .dashboard-card ul {
357
+ flex: 1;
358
+ display: grid;
359
+ align-content: start;
360
+ gap: 7px;
361
+ margin: 0;
362
+ padding: 0;
363
+ list-style: none;
364
+ }
365
+ .dashboard-card li {
366
+ display: flex;
367
+ justify-content: space-between;
368
+ gap: 10px;
369
+ padding-top: 7px;
370
+ border-top: 1px solid rgba(65, 255, 143, 0.10);
371
+ color: var(--muted);
372
+ font-size: 11px;
373
+ }
374
+ .dashboard-card li strong {
375
+ color: var(--terminal);
376
+ overflow-wrap: anywhere;
377
+ }
378
+ .dashboard-card li span {
379
+ color: var(--terminal-dim);
380
+ text-align: right;
381
+ overflow-wrap: anywhere;
382
+ }
383
+
384
+ .workspace-shell {
385
+ position: absolute;
386
+ z-index: 9;
387
+ top: 12px;
388
+ right: 24px;
389
+ bottom: 12px;
390
+ width: min(430px, calc(100% - 48px));
391
+ min-height: 0;
392
+ display: grid;
393
+ grid-template-rows: auto minmax(0, 1fr);
394
+ gap: 10px;
395
+ opacity: 0;
396
+ pointer-events: none;
397
+ transform: translateX(20px);
398
+ transition: opacity 150ms ease, transform 150ms ease;
399
+ }
400
+
401
+ body.viewer-workspace-open .workspace-shell {
402
+ opacity: 1;
403
+ pointer-events: auto;
404
+ transform: translateX(0);
405
+ }
406
+
407
+ .workspace-top {
408
+ min-width: 0;
409
+ display: grid;
410
+ grid-template-columns: minmax(0, 1fr) 38px;
411
+ gap: 6px;
412
+ }
413
+
414
+ .workspace-tabs {
415
+ min-width: 0;
416
+ display: grid;
417
+ grid-template-columns: repeat(5, minmax(0, 1fr));
418
+ gap: 6px;
419
+ padding: 6px;
420
+ border: 1px solid var(--line);
421
+ border-radius: 6px;
422
+ background: rgba(8, 17, 13, 0.94);
423
+ box-shadow: var(--shadow);
424
+ }
425
+
426
+ .workspace-close {
427
+ min-width: 0;
428
+ min-height: 100%;
429
+ padding: 0;
430
+ border-color: rgba(65, 255, 143, 0.22);
431
+ background: rgba(8, 17, 13, 0.94);
432
+ box-shadow: var(--shadow);
433
+ color: var(--terminal-dim);
434
+ font-size: 13px;
435
+ font-weight: 900;
436
+ }
437
+ .workspace-close:hover {
438
+ color: var(--terminal-strong);
439
+ background: rgba(65, 255, 143, 0.10);
440
+ }
441
+
442
+ .workspace-tab {
443
+ min-width: 0;
444
+ min-height: 34px;
445
+ padding: 0 8px;
446
+ border-color: rgba(65, 255, 143, 0.16);
447
+ background: #030604;
448
+ color: var(--terminal-dim);
449
+ font-size: 10px;
450
+ font-weight: 820;
451
+ overflow: hidden;
452
+ text-overflow: ellipsis;
453
+ white-space: nowrap;
454
+ }
455
+ .workspace-tab.active,
456
+ .workspace-tab[aria-selected="true"] {
457
+ border-color: var(--terminal);
458
+ background: rgba(65, 255, 143, 0.12);
459
+ color: var(--terminal-strong);
460
+ }
461
+
462
+ .workspace-body {
463
+ min-height: 0;
464
+ display: grid;
465
+ grid-template-rows: minmax(0, 1fr);
466
+ gap: 10px;
467
+ }
468
+
469
+ .workspace-body > * {
470
+ grid-area: auto;
471
+ min-height: 0;
472
+ display: none;
473
+ }
474
+
203
475
  .control-panel, .graph-panel, .details-panel, .table-panel, .review-panel, .proof-panel, .intelligence-panel {
204
476
  border: 1px solid var(--line);
205
477
  border-radius: 6px;
@@ -208,20 +480,39 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
208
480
  }
209
481
 
210
482
  .control-panel {
211
- grid-area: controls;
212
483
  min-height: 0;
213
484
  overflow: auto;
214
485
  padding: 12px;
215
486
  }
216
487
 
488
+ body.viewer-tab-controls .control-panel { display: block; }
489
+ body.viewer-tab-inspector .details-panel { display: flex; }
490
+ body.viewer-tab-intelligence .intelligence-panel { display: block; }
491
+ body.viewer-tab-review .workspace-body {
492
+ grid-template-rows: minmax(0, 1.05fr) minmax(0, 0.95fr);
493
+ }
494
+ body.viewer-tab-review .review-panel,
495
+ body.viewer-tab-review .proof-panel {
496
+ display: block;
497
+ }
498
+ body.viewer-tab-tables .workspace-body {
499
+ grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
500
+ }
501
+ body.viewer-tab-tables .entities-panel,
502
+ body.viewer-tab-tables .edges-panel {
503
+ display: block;
504
+ }
505
+
506
+ .workspace-shell .metrics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
507
+
217
508
  @media (min-width: 1121px) {
218
- .control-panel {
509
+ body.viewer-tab-controls .control-panel {
219
510
  display: grid;
220
- grid-template-columns: repeat(7, minmax(118px, 1fr)) auto;
511
+ grid-template-columns: repeat(2, minmax(0, 1fr));
221
512
  gap: 10px;
222
513
  align-items: end;
223
514
  }
224
- .control-panel .panel-heading, .metrics-grid, .legend { grid-column: 1 / -1; }
515
+ .control-panel .panel-heading, .metrics-grid, .path-finder, .legend { grid-column: 1 / -1; }
225
516
  .control-panel label, .control-panel button { margin-top: 0; }
226
517
  }
227
518
 
@@ -271,6 +562,95 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
271
562
  }
272
563
  .control-panel button { width: 100%; margin-top: 12px; }
273
564
 
565
+ .path-finder {
566
+ display: grid;
567
+ gap: 8px;
568
+ margin: 0 0 2px;
569
+ padding: 10px;
570
+ border: 1px solid rgba(106, 215, 255, 0.26);
571
+ border-radius: 4px;
572
+ background: rgba(5, 16, 18, 0.58);
573
+ }
574
+ .path-finder-header {
575
+ display: flex;
576
+ align-items: center;
577
+ justify-content: space-between;
578
+ gap: 10px;
579
+ }
580
+ .path-finder-header span {
581
+ margin: 0;
582
+ color: var(--code);
583
+ font-size: 11px;
584
+ font-weight: 820;
585
+ letter-spacing: 0.06em;
586
+ text-transform: uppercase;
587
+ }
588
+ .path-finder-header button {
589
+ width: auto;
590
+ min-height: 26px;
591
+ padding: 0 9px;
592
+ border-color: var(--line);
593
+ color: var(--terminal-dim);
594
+ font-size: 10px;
595
+ }
596
+ .path-finder-inputs {
597
+ display: grid;
598
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 92px;
599
+ gap: 8px;
600
+ }
601
+ .path-finder-inputs input,
602
+ .path-finder-inputs button {
603
+ margin: 0;
604
+ }
605
+ .path-status {
606
+ color: var(--terminal-dim);
607
+ font-size: 11px;
608
+ overflow-wrap: anywhere;
609
+ }
610
+ .path-status.ok { color: var(--terminal-strong); }
611
+ .path-status.warn { color: var(--warn); }
612
+ .path-result {
613
+ display: none;
614
+ max-height: 138px;
615
+ overflow: auto;
616
+ padding-right: 2px;
617
+ }
618
+ .path-result.visible {
619
+ display: grid;
620
+ gap: 6px;
621
+ }
622
+ .path-step {
623
+ width: 100%;
624
+ min-height: 0;
625
+ display: grid;
626
+ gap: 3px;
627
+ margin: 0;
628
+ padding: 7px 8px;
629
+ border-color: rgba(106, 215, 255, 0.24);
630
+ background: rgba(106, 215, 255, 0.045);
631
+ color: var(--text);
632
+ text-align: left;
633
+ white-space: normal;
634
+ box-shadow: none;
635
+ }
636
+ .path-step:hover {
637
+ border-color: var(--code);
638
+ background: rgba(106, 215, 255, 0.085);
639
+ }
640
+ .path-step strong {
641
+ color: var(--code);
642
+ font-size: 11px;
643
+ overflow-wrap: anywhere;
644
+ }
645
+ .path-step span {
646
+ margin: 0;
647
+ color: var(--terminal-dim);
648
+ font-size: 10px;
649
+ font-weight: 740;
650
+ overflow-wrap: anywhere;
651
+ text-transform: none;
652
+ }
653
+
274
654
  .panel-heading {
275
655
  display: flex;
276
656
  align-items: center;
@@ -333,7 +713,7 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
333
713
  .line { width: 24px; height: 2px; display: inline-block; background: var(--edge); }
334
714
 
335
715
  .graph-panel {
336
- grid-area: graph;
716
+ grid-area: stage;
337
717
  position: relative;
338
718
  min-height: 640px;
339
719
  overflow: hidden;
@@ -363,6 +743,69 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
363
743
  white-space: nowrap;
364
744
  }
365
745
 
746
+ .graph-quickbar {
747
+ position: absolute;
748
+ z-index: 6;
749
+ top: 62px;
750
+ right: 12px;
751
+ display: flex;
752
+ flex-wrap: wrap;
753
+ justify-content: flex-end;
754
+ gap: 8px;
755
+ max-width: min(760px, calc(100% - 24px));
756
+ pointer-events: none;
757
+ }
758
+
759
+ .quick-group {
760
+ pointer-events: auto;
761
+ display: inline-flex;
762
+ align-items: center;
763
+ gap: 4px;
764
+ min-height: 34px;
765
+ padding: 4px;
766
+ border: 1px solid rgba(65, 255, 143, 0.16);
767
+ border-radius: 6px;
768
+ background: rgba(4, 10, 7, 0.88);
769
+ box-shadow: 0 10px 28px rgba(0, 0, 0, 0.30);
770
+ backdrop-filter: blur(12px);
771
+ }
772
+
773
+ .quick-group span {
774
+ padding: 0 7px;
775
+ color: var(--terminal-dim);
776
+ font-size: 10px;
777
+ font-weight: 800;
778
+ text-transform: uppercase;
779
+ }
780
+
781
+ .quick-group button {
782
+ min-height: 25px;
783
+ padding: 0 9px;
784
+ border-color: transparent;
785
+ background: transparent;
786
+ box-shadow: none;
787
+ color: var(--terminal-dim);
788
+ font-size: 10px;
789
+ font-weight: 820;
790
+ }
791
+
792
+ .quick-group button:hover {
793
+ border-color: rgba(65, 255, 143, 0.18);
794
+ background: rgba(65, 255, 143, 0.08);
795
+ color: var(--terminal-strong);
796
+ }
797
+
798
+ .quick-group button.active,
799
+ .quick-group button[aria-pressed="true"] {
800
+ border-color: rgba(65, 255, 143, 0.26);
801
+ background: rgba(65, 255, 143, 0.14);
802
+ color: var(--terminal-strong);
803
+ }
804
+
805
+ .quick-actions button {
806
+ color: var(--code);
807
+ }
808
+
366
809
  .graph-canvas-wrap {
367
810
  position: relative;
368
811
  min-height: 600px;
@@ -496,12 +939,9 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
496
939
  .empty-state.hidden { display: none; }
497
940
 
498
941
  .details-panel {
499
- grid-area: details;
500
- align-self: start;
501
- display: flex;
502
942
  flex-direction: column;
503
- height: min(960px, calc(100vh - 108px));
504
- max-height: calc(100vh - 108px);
943
+ height: 100%;
944
+ max-height: none;
505
945
  min-height: 0;
506
946
  overflow: hidden;
507
947
  padding: 12px;
@@ -586,11 +1026,6 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
586
1026
  font-size: 11px;
587
1027
  }
588
1028
 
589
- .entities-panel { grid-area: entities; }
590
- .edges-panel { grid-area: edges; }
591
- .review-panel { grid-area: review; }
592
- .proof-panel { grid-area: proof; }
593
- .intelligence-panel { grid-area: intelligence; }
594
1029
  .table-panel { min-height: 0; overflow: hidden; }
595
1030
  .review-panel, .proof-panel, .intelligence-panel { min-height: 0; overflow: hidden; }
596
1031
  .list { height: calc(100% - 48px); overflow: auto; padding: 0 8px 10px; }
@@ -614,6 +1049,15 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
614
1049
  grid-template-columns: repeat(3, minmax(0, 1fr));
615
1050
  gap: 8px;
616
1051
  }
1052
+
1053
+ .workspace-shell .intelligence-list,
1054
+ .workspace-shell .intel-deep-grid {
1055
+ grid-template-columns: 1fr;
1056
+ }
1057
+
1058
+ .workspace-shell .proof-list {
1059
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1060
+ }
617
1061
  .intel-card {
618
1062
  min-height: 160px;
619
1063
  padding: 11px;
@@ -906,6 +1350,7 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
906
1350
  grid-template-areas:
907
1351
  "brand"
908
1352
  "links"
1353
+ "sections"
909
1354
  "status"
910
1355
  "autoload"
911
1356
  "picker";
@@ -918,28 +1363,29 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
918
1363
  .status-pill { min-height: 24px; padding: 3px 8px; }
919
1364
  .layout {
920
1365
  grid-template-columns: 1fr;
921
- grid-template-rows: minmax(620px, 78vh) auto auto minmax(220px, 36vh) minmax(220px, 36vh) minmax(220px, 36vh) minmax(220px, 36vh) minmax(220px, 36vh);
922
- grid-template-areas:
923
- "graph"
924
- "controls"
925
- "details"
926
- "review"
927
- "proof"
928
- "intelligence"
929
- "entities"
930
- "edges";
1366
+ grid-template-rows: minmax(620px, 72vh);
1367
+ grid-template-areas: "stage";
1368
+ }
1369
+ .dashboard-panel { min-height: 620px; padding: 18px; }
1370
+ .dashboard-hero { grid-template-columns: 1fr; }
1371
+ .dashboard-actions { justify-content: flex-start; }
1372
+ .dashboard-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1373
+ .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1374
+ .workspace-shell {
1375
+ top: 8px;
1376
+ right: 8px;
1377
+ bottom: 8px;
1378
+ width: min(430px, calc(100% - 16px));
1379
+ min-height: 0;
931
1380
  }
932
1381
  .metrics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
933
- .control-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
934
- .control-panel .panel-heading, .metrics-grid, .legend { grid-column: 1 / -1; }
1382
+ body.viewer-tab-controls .control-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
1383
+ .control-panel .panel-heading, .metrics-grid, .path-finder, .legend { grid-column: 1 / -1; }
935
1384
  .control-panel label, .control-panel button { margin-top: 0; }
936
1385
  .graph-panel { min-height: 620px; }
937
1386
  #graphCanvas, .three-graph, .graph-canvas-wrap, #graphSvg { min-height: 560px; }
938
- .intelligence-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
939
- .intel-deep-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
940
1387
  .details-panel {
941
- height: auto;
942
- max-height: 70vh;
1388
+ height: 100%;
943
1389
  }
944
1390
  .detail-section-list { max-height: 220px; }
945
1391
  }
@@ -947,13 +1393,31 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
947
1393
  @media (max-width: 620px) {
948
1394
  .app-header { padding: 12px; }
949
1395
  .layout { padding: 8px; gap: 8px; }
950
- .control-panel { grid-template-columns: 1fr; }
1396
+ .viewer-sections { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
1397
+ .dashboard-panel { min-height: 560px; padding: 14px; }
1398
+ .dashboard-hero h2 { font-size: 26px; }
1399
+ .dashboard-stats, .dashboard-grid { grid-template-columns: 1fr; }
1400
+ .dashboard-card { min-height: 0; }
1401
+ .workspace-tabs {
1402
+ grid-template-columns: repeat(5, minmax(76px, 1fr));
1403
+ overflow-x: auto;
1404
+ }
1405
+ body.viewer-tab-controls .control-panel { grid-template-columns: 1fr; }
951
1406
  .metrics-grid { grid-template-columns: 1fr 1fr; }
952
1407
  .proof-list { grid-template-columns: 1fr 1fr; }
953
1408
  .intelligence-list { grid-template-columns: 1fr; }
954
1409
  .intel-deep-grid { grid-template-columns: 1fr; }
1410
+ .path-finder-inputs { grid-template-columns: 1fr; }
955
1411
  .graph-toolbar { align-items: flex-start; flex-direction: column; }
956
1412
  .graph-actions { width: 100%; }
957
1413
  .interaction-hint { flex: 1; white-space: normal; }
1414
+ .graph-quickbar {
1415
+ top: 112px;
1416
+ left: 10px;
1417
+ right: 10px;
1418
+ justify-content: flex-start;
1419
+ }
1420
+ .quick-group { max-width: 100%; overflow-x: auto; }
1421
+ .quick-group span { display: none; }
958
1422
  #graphCanvas, .three-graph, .graph-canvas-wrap, #graphSvg { min-height: 450px; }
959
1423
  }