@mtharrison/loupe 1.1.0 → 1.1.1

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.
@@ -1,3 +1,5 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap";
2
+
1
3
  /* client/src/styles.css */
2
4
  :root {
3
5
  color-scheme: light;
@@ -19,6 +21,11 @@
19
21
  --shadow: 0 22px 60px rgba(30, 48, 72, 0.16);
20
22
  --radius: 22px;
21
23
  --page-gutter: 1.5rem;
24
+ --brand-font:
25
+ "Space Grotesk",
26
+ "Avenir Next",
27
+ "Segoe UI",
28
+ sans-serif;
22
29
  }
23
30
  :root[data-theme=dark] {
24
31
  color-scheme: dark;
@@ -179,14 +186,16 @@ pre {
179
186
  min-height: 100dvh;
180
187
  padding: var(--page-gutter);
181
188
  justify-items: center;
182
- align-items: center;
189
+ align-items: stretch;
183
190
  justify-self: center;
191
+ width: 100%;
184
192
  }
185
193
  .board-shell {
186
194
  display: flex;
187
195
  flex: 1;
188
196
  flex-direction: column;
189
197
  height: 100%;
198
+ width: 100%;
190
199
  gap: 0.85rem;
191
200
  min-height: 0;
192
201
  overflow: hidden;
@@ -205,6 +214,7 @@ pre {
205
214
  box-shadow: 0 0 72px rgba(37, 57, 87, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.6);
206
215
  }
207
216
  .inspector-shell {
217
+ width: 100%;
208
218
  min-height: 0;
209
219
  gap: 0.9rem;
210
220
  }
@@ -247,10 +257,13 @@ pre {
247
257
  align-items: center;
248
258
  color: #132e48;
249
259
  }
250
- .brand-wordmark-svg {
260
+ .brand-wordmark-text {
251
261
  display: block;
252
- width: clamp(8rem, 13vw, 10.15rem);
253
- height: auto;
262
+ font-family: var(--brand-font);
263
+ font-size: clamp(1.65rem, 2.5vw, 2.15rem);
264
+ font-weight: 700;
265
+ letter-spacing: -0.06em;
266
+ line-height: 0.95;
254
267
  }
255
268
  .brand-subtitle {
256
269
  color: var(--muted-foreground);
@@ -382,13 +395,19 @@ pre {
382
395
  .workspace-grid {
383
396
  display: grid;
384
397
  flex: 1;
385
- grid-template-columns: minmax(40rem, 46rem) minmax(0, 1fr);
398
+ grid-template-columns: minmax(30rem, 36rem) minmax(0, 1fr);
386
399
  gap: 0.9rem;
387
- align-items: start;
400
+ align-items: stretch;
388
401
  min-height: 0;
389
402
  overflow: auto;
390
403
  padding-right: 0.2rem;
391
404
  }
405
+ .workspace-grid.is-sidebar-collapsed {
406
+ grid-template-columns: minmax(0, 1fr);
407
+ }
408
+ .workspace-grid.is-sidebar-collapsed .session-sidebar-card {
409
+ display: none;
410
+ }
392
411
  .workspace-grid::-webkit-scrollbar {
393
412
  width: 10px;
394
413
  }
@@ -407,9 +426,11 @@ pre {
407
426
  }
408
427
  .sidebar-card {
409
428
  min-width: 0;
429
+ height: 100%;
410
430
  }
411
431
  .timeline-card {
412
432
  min-width: 0;
433
+ height: 100%;
413
434
  }
414
435
  .navigator-card,
415
436
  .content-card {
@@ -427,39 +448,126 @@ pre {
427
448
  flex: 1;
428
449
  flex-direction: column;
429
450
  }
430
- .session-sidebar-toolbar {
451
+ .session-nav-section {
431
452
  display: flex;
432
- align-items: center;
433
- justify-content: space-between;
434
- gap: 0.75rem;
453
+ flex-direction: column;
454
+ gap: 0.55rem;
435
455
  margin: 0.4rem 0.4rem 0;
436
- padding: 0.88rem 0.92rem;
456
+ padding: 0.72rem 0.78rem;
437
457
  border: 1px solid var(--line);
438
458
  border-radius: 16px;
439
459
  background: rgba(250, 252, 255, 0.9);
440
460
  box-shadow: 0 8px 22px rgba(32, 50, 76, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.7);
441
461
  }
442
- .session-sidebar-toolbar-copy {
462
+ .session-nav-header {
463
+ display: flex;
464
+ align-items: center;
465
+ justify-content: space-between;
466
+ gap: 0.75rem;
467
+ }
468
+ .session-nav-title-row {
443
469
  display: flex;
470
+ align-items: center;
471
+ gap: 0.5rem;
444
472
  min-width: 0;
445
- flex-direction: column;
446
- gap: 0.18rem;
447
473
  }
448
- .session-sidebar-toolbar-title {
474
+ .session-nav-title {
449
475
  font-size: 0.82rem;
450
476
  font-weight: 700;
451
477
  letter-spacing: 0.08em;
452
478
  text-transform: uppercase;
453
479
  color: var(--muted-foreground);
454
480
  }
455
- .session-sidebar-toolbar-meta {
481
+ .session-nav-filter-badge {
482
+ min-height: 1.3rem;
483
+ padding: 0.12rem 0.44rem;
484
+ font-size: 0.66rem;
485
+ }
486
+ .session-nav-meta {
456
487
  color: var(--muted-foreground);
457
488
  font-size: 0.84rem;
458
489
  }
459
- .session-sidebar-select {
460
- width: auto;
461
- min-width: min(14rem, 100%);
462
- max-width: 16rem;
490
+ .session-nav-list {
491
+ display: flex;
492
+ flex-direction: column;
493
+ gap: 0.4rem;
494
+ max-height: min(16rem, 34vh);
495
+ overflow: auto;
496
+ padding-right: 0.12rem;
497
+ scrollbar-gutter: stable;
498
+ }
499
+ .session-nav-card {
500
+ display: flex;
501
+ width: 100%;
502
+ min-width: 0;
503
+ flex-direction: column;
504
+ gap: 0.28rem;
505
+ padding: 0.62rem 0.7rem;
506
+ border: 1px solid rgba(40, 93, 168, 0.08);
507
+ border-radius: 14px;
508
+ background: rgba(255, 255, 255, 0.92);
509
+ color: inherit;
510
+ text-align: left;
511
+ box-shadow: 0 6px 16px rgba(32, 50, 76, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.72);
512
+ transition:
513
+ border-color 160ms ease,
514
+ background 160ms ease,
515
+ box-shadow 160ms ease,
516
+ transform 160ms ease;
517
+ }
518
+ .session-nav-card:hover {
519
+ border-color: rgba(40, 93, 168, 0.16);
520
+ background: rgba(247, 251, 255, 0.96);
521
+ box-shadow: 0 10px 24px rgba(32, 50, 76, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.78);
522
+ }
523
+ .session-nav-card.is-active {
524
+ border-color: rgba(40, 93, 168, 0.26);
525
+ background:
526
+ linear-gradient(
527
+ 180deg,
528
+ rgba(241, 247, 255, 0.98),
529
+ rgba(233, 242, 255, 0.94));
530
+ box-shadow: inset 3px 0 0 rgba(40, 93, 168, 0.84), 0 12px 28px rgba(32, 50, 76, 0.12);
531
+ }
532
+ .session-nav-card-header,
533
+ .session-nav-card-footer {
534
+ display: flex;
535
+ align-items: center;
536
+ justify-content: space-between;
537
+ gap: 0.65rem;
538
+ }
539
+ .session-nav-card-title {
540
+ min-width: 0;
541
+ font-size: 0.9rem;
542
+ font-weight: 650;
543
+ letter-spacing: -0.02em;
544
+ overflow: hidden;
545
+ text-overflow: ellipsis;
546
+ white-space: nowrap;
547
+ }
548
+ .session-nav-card-time {
549
+ flex: 0 0 auto;
550
+ color: var(--muted-foreground);
551
+ font-size: 0.74rem;
552
+ font-weight: 600;
553
+ white-space: nowrap;
554
+ }
555
+ .session-nav-card-meta {
556
+ color: var(--muted-foreground);
557
+ font-size: 0.75rem;
558
+ line-height: 1.4;
559
+ }
560
+ .session-nav-card-id {
561
+ min-width: 0;
562
+ color: var(--muted-foreground);
563
+ font-family:
564
+ "SFMono-Regular",
565
+ ui-monospace,
566
+ "Cascadia Code",
567
+ "Source Code Pro",
568
+ Menlo,
569
+ monospace;
570
+ font-size: 0.71rem;
463
571
  }
464
572
  .session-sidebar-shell .hierarchy-timeline-panel {
465
573
  margin: 0;
@@ -474,12 +582,59 @@ pre {
474
582
  max-height: none;
475
583
  flex: 1;
476
584
  }
585
+ .session-sidebar-shell .hierarchy-timeline-axis,
586
+ .session-sidebar-shell .hierarchy-timeline-row {
587
+ grid-template-columns: 4.1rem minmax(0, 1fr) minmax(6.5rem, 8rem);
588
+ gap: 0.45rem;
589
+ }
590
+ .session-sidebar-shell .hierarchy-timeline-row-labels {
591
+ padding: 0.72rem 0.5rem 0.72rem 1.2rem;
592
+ }
593
+ .session-sidebar-shell .hierarchy-timeline-row-bars {
594
+ grid-template-columns: minmax(5.75rem, 1fr) auto;
595
+ column-gap: 0.35rem;
596
+ padding-top: 0.72rem;
597
+ padding-bottom: 0.72rem;
598
+ padding-left: 0.4rem;
599
+ padding-right: 1rem;
600
+ }
601
+ .session-sidebar-shell .hierarchy-timeline-axis-label {
602
+ font-size: 0.64rem;
603
+ }
604
+ .session-sidebar-shell .hierarchy-timeline-row-title {
605
+ flex-wrap: nowrap;
606
+ }
607
+ .session-sidebar-shell .hierarchy-timeline-row-title-text,
608
+ .session-sidebar-shell .hierarchy-timeline-row-meta {
609
+ overflow: hidden;
610
+ text-overflow: ellipsis;
611
+ white-space: nowrap;
612
+ }
613
+ .session-sidebar-shell .hierarchy-timeline-row-title-text {
614
+ font-size: 0.85rem;
615
+ }
616
+ .session-sidebar-shell .hierarchy-timeline-row-meta {
617
+ font-size: 0.72rem;
618
+ }
619
+ .session-sidebar-shell .hierarchy-timeline-panel {
620
+ gap: 0.65rem;
621
+ padding: 0.8rem 0.82rem 0.86rem;
622
+ }
477
623
  .session-sidebar-empty {
478
624
  display: flex;
479
625
  flex: 1;
480
626
  min-height: 0;
481
627
  padding: 0.95rem;
482
628
  }
629
+ .session-sidebar-empty-state {
630
+ display: flex;
631
+ flex: 1;
632
+ min-height: 0;
633
+ flex-direction: column;
634
+ align-items: center;
635
+ justify-content: center;
636
+ gap: 0.85rem;
637
+ }
483
638
  .content-card {
484
639
  overflow: hidden;
485
640
  }
@@ -533,12 +688,15 @@ pre {
533
688
  .sheet-close:focus-visible,
534
689
  .nav-item:focus-visible,
535
690
  .nav-switch-button:focus-visible,
691
+ .session-nav-card:focus-visible,
536
692
  .theme-switch-button:focus-visible,
537
693
  .expandable-toggle:focus-visible,
538
694
  .tree-node-toggle:focus-visible,
539
695
  .tree-node-select:focus-visible,
540
696
  .trace-row:focus-visible,
541
697
  .tabs-trigger:focus-visible,
698
+ .trace-detail-breadcrumb-segment:focus-visible,
699
+ .ui-badge-button:focus-visible,
542
700
  .ui-input:focus-visible,
543
701
  .ui-select:focus-visible {
544
702
  outline: 2px solid rgba(40, 93, 168, 0.28);
@@ -601,6 +759,11 @@ pre {
601
759
  background: rgba(40, 93, 168, 0.08);
602
760
  color: var(--primary-strong);
603
761
  }
762
+ .session-panel-toggle.is-active {
763
+ border-color: rgba(40, 93, 168, 0.2);
764
+ background: rgba(40, 93, 168, 0.08);
765
+ color: var(--primary-strong);
766
+ }
604
767
  .clear-traces-button.is-confirming {
605
768
  border-color: rgba(181, 82, 93, 0.34);
606
769
  background: rgba(181, 82, 93, 0.08);
@@ -617,6 +780,18 @@ pre {
617
780
  letter-spacing: 0.03em;
618
781
  text-transform: uppercase;
619
782
  }
783
+ .ui-badge-button {
784
+ border: 0;
785
+ cursor: pointer;
786
+ transition:
787
+ transform 160ms ease,
788
+ filter 160ms ease,
789
+ box-shadow 160ms ease;
790
+ }
791
+ .ui-badge-button:hover {
792
+ transform: translateY(-1px);
793
+ filter: brightness(0.98);
794
+ }
620
795
  .ui-badge-secondary {
621
796
  background: rgba(73, 102, 148, 0.1);
622
797
  color: var(--muted-foreground);
@@ -628,20 +803,20 @@ pre {
628
803
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
629
804
  }
630
805
  .ui-badge[data-semantic=session] {
631
- --semantic-badge-color: rgba(54, 103, 214, 0.92);
806
+ --semantic-badge-color: rgba(86, 107, 147, 0.92);
632
807
  }
633
808
  .ui-badge[data-semantic=actor] {
634
- --semantic-badge-color: rgba(71, 160, 92, 0.9);
809
+ --semantic-badge-color: rgba(60, 110, 214, 0.9);
635
810
  }
636
811
  .ui-badge[data-semantic=child-actor],
637
812
  .ui-badge[data-semantic=stage] {
638
- --semantic-badge-color: rgba(130, 95, 214, 0.9);
813
+ --semantic-badge-color: rgba(34, 154, 161, 0.9);
639
814
  }
640
815
  .ui-badge[data-semantic=guardrail] {
641
- --semantic-badge-color: rgba(219, 150, 58, 0.92);
816
+ --semantic-badge-color: rgba(184, 129, 44, 0.92);
642
817
  }
643
818
  .ui-badge[data-semantic=call] {
644
- --semantic-badge-color: rgba(61, 108, 225, 0.9);
819
+ --semantic-badge-color: rgba(92, 121, 171, 0.9);
645
820
  }
646
821
  .ui-badge[data-semantic=system] {
647
822
  --semantic-badge-color: rgba(40, 93, 168, 0.92);
@@ -1135,11 +1310,13 @@ pre {
1135
1310
  .hierarchy-timeline-row {
1136
1311
  --timeline-time-column: 4.75rem;
1137
1312
  --timeline-column-gap: 0.45rem;
1138
- --timeline-indent: 0.94rem;
1139
- --timeline-gutter-base: 1.16rem;
1313
+ --timeline-indent: 1rem;
1314
+ --timeline-gutter-base: 1.25rem;
1315
+ --timeline-connector-base: 0.22rem;
1140
1316
  --timeline-gutter-width: calc( var(--timeline-depth, 0) * var(--timeline-indent) + var(--timeline-gutter-base) );
1141
- --timeline-branch-offset: calc( var(--timeline-depth, 0) * var(--timeline-indent) + 0.12rem );
1142
- --timeline-row-color: rgba(69, 104, 222, 0.88);
1317
+ --timeline-row-color: rgba(92, 121, 171, 0.9);
1318
+ --timeline-bar-stroke: color-mix(in srgb, var(--timeline-row-color) 74%, white);
1319
+ --timeline-connector-color: color-mix( in srgb, var(--timeline-row-color) 28%, rgba(84, 100, 125, 0.18) );
1143
1320
  position: relative;
1144
1321
  display: grid;
1145
1322
  grid-template-columns: var(--timeline-time-column) minmax(0, 1fr) minmax(13rem, 19rem);
@@ -1215,20 +1392,20 @@ pre {
1215
1392
  box-shadow: inset 3px 0 0 rgba(40, 93, 168, 0.74), 0 8px 20px rgba(32, 50, 76, 0.06);
1216
1393
  }
1217
1394
  .hierarchy-timeline-row.is-session {
1218
- --timeline-row-color: rgba(54, 103, 214, 0.92);
1395
+ --timeline-row-color: rgba(86, 107, 147, 0.92);
1219
1396
  }
1220
1397
  .hierarchy-timeline-row.is-actor {
1221
- --timeline-row-color: rgba(71, 160, 92, 0.9);
1398
+ --timeline-row-color: rgba(60, 110, 214, 0.9);
1222
1399
  }
1223
1400
  .hierarchy-timeline-row.is-child-actor,
1224
1401
  .hierarchy-timeline-row.is-stage {
1225
- --timeline-row-color: rgba(130, 95, 214, 0.9);
1402
+ --timeline-row-color: rgba(34, 154, 161, 0.9);
1226
1403
  }
1227
1404
  .hierarchy-timeline-row.is-guardrail {
1228
- --timeline-row-color: rgba(219, 150, 58, 0.92);
1405
+ --timeline-row-color: rgba(184, 129, 44, 0.92);
1229
1406
  }
1230
1407
  .hierarchy-timeline-row.is-trace {
1231
- --timeline-row-color: rgba(61, 108, 225, 0.9);
1408
+ --timeline-row-color: rgba(92, 121, 171, 0.9);
1232
1409
  }
1233
1410
  .hierarchy-timeline-row-time {
1234
1411
  align-self: stretch;
@@ -1258,27 +1435,60 @@ pre {
1258
1435
  min-width: 0;
1259
1436
  }
1260
1437
  .hierarchy-timeline-row-gutter::before {
1438
+ display: none;
1439
+ }
1440
+ .hierarchy-timeline-row-gutter::after {
1441
+ display: none;
1442
+ }
1443
+ .hierarchy-timeline-row.is-root .hierarchy-timeline-row-gutter::before,
1444
+ .hierarchy-timeline-row.is-root .hierarchy-timeline-row-gutter::after {
1445
+ display: none;
1446
+ }
1447
+ .hierarchy-timeline-row-ancestor,
1448
+ .hierarchy-timeline-row-connector {
1449
+ position: absolute;
1450
+ top: -0.15rem;
1451
+ bottom: -0.15rem;
1452
+ width: var(--timeline-indent);
1453
+ left: calc(var(--timeline-connector-index, 0) * var(--timeline-indent) + var(--timeline-connector-base));
1454
+ }
1455
+ .hierarchy-timeline-row-ancestor::before,
1456
+ .hierarchy-timeline-row-connector-top,
1457
+ .hierarchy-timeline-row-connector-bottom {
1261
1458
  content: "";
1262
1459
  position: absolute;
1263
- top: -0.14rem;
1264
- left: var(--timeline-branch-offset);
1265
- bottom: -0.14rem;
1460
+ left: calc(var(--timeline-indent) * 0.5);
1266
1461
  width: 1px;
1267
- background: color-mix(in srgb, var(--timeline-row-color) 18%, rgba(84, 100, 125, 0.12));
1462
+ background: var(--timeline-connector-color);
1268
1463
  }
1269
- .hierarchy-timeline-row-gutter::after {
1270
- content: "";
1464
+ .hierarchy-timeline-row-ancestor::before {
1465
+ top: 0;
1466
+ bottom: 0;
1467
+ opacity: 0;
1468
+ }
1469
+ .hierarchy-timeline-row-ancestor.has-line::before {
1470
+ opacity: 1;
1471
+ }
1472
+ .hierarchy-timeline-row-connector-top {
1473
+ top: 0;
1474
+ bottom: 50%;
1475
+ }
1476
+ .hierarchy-timeline-row-connector-elbow {
1271
1477
  position: absolute;
1272
1478
  top: 50%;
1273
- left: var(--timeline-branch-offset);
1274
- right: 0.08rem;
1479
+ left: calc(var(--timeline-indent) * 0.5);
1480
+ width: calc(var(--timeline-indent) * 0.62);
1275
1481
  height: 1px;
1276
- background: color-mix(in srgb, var(--timeline-row-color) 18%, rgba(84, 100, 125, 0.12));
1482
+ background: var(--timeline-connector-color);
1277
1483
  transform: translateY(-50%);
1278
1484
  }
1279
- .hierarchy-timeline-row.is-root .hierarchy-timeline-row-gutter::before,
1280
- .hierarchy-timeline-row.is-root .hierarchy-timeline-row-gutter::after {
1281
- display: none;
1485
+ .hierarchy-timeline-row-connector-bottom {
1486
+ top: 50%;
1487
+ bottom: 0;
1488
+ opacity: 0;
1489
+ }
1490
+ .hierarchy-timeline-row-connector-bottom.has-line {
1491
+ opacity: 1;
1282
1492
  }
1283
1493
  .hierarchy-timeline-row-labels {
1284
1494
  position: relative;
@@ -1295,6 +1505,23 @@ pre {
1295
1505
  min-width: 0;
1296
1506
  flex-wrap: wrap;
1297
1507
  }
1508
+ .hierarchy-timeline-row-flag {
1509
+ display: inline-flex;
1510
+ align-items: center;
1511
+ min-height: 1.3rem;
1512
+ padding: 0.12rem 0.42rem;
1513
+ border-radius: 999px;
1514
+ background: rgba(34, 154, 161, 0.1);
1515
+ color: #1d6970;
1516
+ font-size: 0.68rem;
1517
+ font-weight: 700;
1518
+ letter-spacing: 0.04em;
1519
+ text-transform: uppercase;
1520
+ }
1521
+ .hierarchy-timeline-row-flag.is-highlight {
1522
+ background: rgba(184, 129, 44, 0.1);
1523
+ color: #865815;
1524
+ }
1298
1525
  .hierarchy-timeline-row-title-text {
1299
1526
  min-width: 0;
1300
1527
  font-size: 0.92rem;
@@ -1320,14 +1547,11 @@ pre {
1320
1547
  .hierarchy-timeline-row-bars {
1321
1548
  display: grid;
1322
1549
  grid-template-columns: minmax(10rem, 1fr) auto;
1323
- grid-template-areas: "track duration" "action action";
1324
1550
  column-gap: 0.65rem;
1325
- row-gap: 0.45rem;
1326
1551
  align-items: center;
1327
1552
  padding: 0.58rem 0.82rem 0.58rem 0.18rem;
1328
1553
  }
1329
1554
  .hierarchy-timeline-row-track {
1330
- grid-area: track;
1331
1555
  position: relative;
1332
1556
  height: 1rem;
1333
1557
  }
@@ -1337,7 +1561,8 @@ pre {
1337
1561
  left: 0;
1338
1562
  right: 0;
1339
1563
  top: 50%;
1340
- height: 1px;
1564
+ height: 0.3rem;
1565
+ border-radius: 999px;
1341
1566
  background: rgba(84, 100, 125, 0.12);
1342
1567
  transform: translateY(-50%);
1343
1568
  }
@@ -1346,10 +1571,10 @@ pre {
1346
1571
  top: 50%;
1347
1572
  left: calc(var(--timeline-offset, 0) * 100%);
1348
1573
  width: max(0.5rem, calc(var(--timeline-span, 0.1) * 100%));
1349
- height: 0.72rem;
1574
+ height: 0.5rem;
1350
1575
  border-radius: 999px;
1351
- background: color-mix(in srgb, var(--timeline-row-color) 24%, transparent);
1352
- border: 1px solid color-mix(in srgb, var(--timeline-row-color) 72%, white);
1576
+ background: color-mix(in srgb, var(--timeline-row-color) 24%, white);
1577
+ border: 1px solid var(--timeline-bar-stroke);
1353
1578
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 1px 2px rgba(32, 50, 76, 0.08);
1354
1579
  transform: translateY(-50%);
1355
1580
  }
@@ -1359,9 +1584,9 @@ pre {
1359
1584
  position: absolute;
1360
1585
  top: 50%;
1361
1586
  width: 2px;
1362
- height: 0.9rem;
1587
+ height: 0.7rem;
1363
1588
  border-radius: 999px;
1364
- background: color-mix(in srgb, var(--timeline-row-color) 92%, white);
1589
+ background: var(--timeline-bar-stroke);
1365
1590
  transform: translateY(-50%);
1366
1591
  }
1367
1592
  .hierarchy-timeline-row-bar::before {
@@ -1371,7 +1596,6 @@ pre {
1371
1596
  right: -1px;
1372
1597
  }
1373
1598
  .hierarchy-timeline-row-duration {
1374
- grid-area: duration;
1375
1599
  color: var(--muted-foreground);
1376
1600
  font-family:
1377
1601
  ui-monospace,
@@ -1384,36 +1608,6 @@ pre {
1384
1608
  text-align: right;
1385
1609
  white-space: nowrap;
1386
1610
  }
1387
- .hierarchy-timeline-row-action {
1388
- grid-area: action;
1389
- display: flex;
1390
- align-items: center;
1391
- justify-content: flex-end;
1392
- min-width: 0;
1393
- }
1394
- .hierarchy-timeline-row-inspect {
1395
- display: inline-flex;
1396
- align-items: center;
1397
- justify-content: center;
1398
- align-self: flex-end;
1399
- min-height: 2rem;
1400
- padding: 0.42rem 0.72rem;
1401
- border: 1px solid rgba(40, 93, 168, 0.18);
1402
- border-radius: 999px;
1403
- border-color: rgba(40, 93, 168, 0.18);
1404
- background: rgba(40, 93, 168, 0.08);
1405
- color: var(--primary-strong);
1406
- font-size: 0.75rem;
1407
- font-weight: 700;
1408
- line-height: 1;
1409
- pointer-events: none;
1410
- user-select: none;
1411
- white-space: nowrap;
1412
- }
1413
- .hierarchy-timeline-row.is-clickable:hover .hierarchy-timeline-row-inspect {
1414
- border-color: rgba(40, 93, 168, 0.26);
1415
- background: rgba(40, 93, 168, 0.12);
1416
- }
1417
1611
  .trace-detail-header {
1418
1612
  display: flex;
1419
1613
  align-items: flex-start;
@@ -1444,13 +1638,34 @@ pre {
1444
1638
  color: rgba(84, 100, 125, 0.5);
1445
1639
  }
1446
1640
  .trace-detail-breadcrumb-segment {
1641
+ border: 0;
1642
+ background: transparent;
1643
+ color: inherit;
1644
+ cursor: pointer;
1645
+ padding: 0;
1447
1646
  white-space: nowrap;
1647
+ transition:
1648
+ color 160ms ease,
1649
+ text-decoration-color 160ms ease,
1650
+ background 160ms ease;
1651
+ }
1652
+ .trace-detail-breadcrumb-segment:hover {
1653
+ color: var(--primary-strong);
1654
+ text-decoration: underline;
1655
+ text-decoration-thickness: 1px;
1656
+ text-underline-offset: 0.18em;
1448
1657
  }
1449
1658
  .trace-detail-breadcrumb-segment.is-current {
1450
1659
  border-radius: 999px;
1451
1660
  padding: 0.18rem 0.56rem;
1452
1661
  background: rgba(40, 93, 168, 0.08);
1453
1662
  color: var(--primary-strong);
1663
+ text-decoration: none;
1664
+ }
1665
+ .trace-detail-filter-pills {
1666
+ display: flex;
1667
+ flex-wrap: wrap;
1668
+ gap: 0.45rem;
1454
1669
  }
1455
1670
  .trace-detail-title-row {
1456
1671
  display: flex;
@@ -1521,8 +1736,9 @@ pre {
1521
1736
  flex: 1;
1522
1737
  min-height: 0;
1523
1738
  grid-template-columns: minmax(0, 1fr);
1739
+ grid-template-rows: minmax(0, 1fr);
1524
1740
  gap: 1rem;
1525
- align-items: start;
1741
+ align-items: stretch;
1526
1742
  }
1527
1743
  .trace-detail-main.has-secondary-inspector {
1528
1744
  grid-template-columns: minmax(0, 2.05fr) minmax(14.5rem, 0.72fr);
@@ -1574,17 +1790,52 @@ pre {
1574
1790
  align-items: center;
1575
1791
  justify-content: space-between;
1576
1792
  gap: 0.65rem;
1793
+ min-width: 0;
1794
+ }
1795
+ .trace-detail-tabs-shell {
1796
+ display: flex;
1797
+ min-width: 0;
1798
+ flex: 1;
1799
+ overflow-x: auto;
1800
+ overflow-y: hidden;
1801
+ scrollbar-width: none;
1802
+ }
1803
+ .trace-detail-tabs-shell::-webkit-scrollbar {
1804
+ display: none;
1805
+ }
1806
+ .trace-detail-tabs-shell > .tabs-root {
1807
+ min-width: max-content;
1577
1808
  }
1578
1809
  .trace-detail-json-toggle {
1810
+ flex: 0 0 auto;
1579
1811
  min-height: 2.4rem;
1580
1812
  padding: 0.52rem 0.82rem;
1581
1813
  color: var(--muted-foreground);
1582
1814
  }
1583
1815
  .trace-detail-scroll {
1816
+ display: flex;
1817
+ flex-direction: column;
1584
1818
  min-height: 0;
1585
1819
  flex: 1;
1586
- overflow: auto;
1820
+ overflow-x: hidden;
1821
+ overflow-y: scroll;
1587
1822
  padding-right: 0.2rem;
1823
+ scrollbar-gutter: stable;
1824
+ }
1825
+ .trace-detail-pane {
1826
+ display: flex;
1827
+ width: 100%;
1828
+ min-height: 100%;
1829
+ flex: 1 0 auto;
1830
+ flex-direction: column;
1831
+ }
1832
+ .trace-detail-pane > .detail-grid,
1833
+ .trace-detail-pane > .conversation-layout,
1834
+ .trace-detail-pane > .empty-state {
1835
+ min-height: 100%;
1836
+ }
1837
+ .trace-detail-pane > .detail-grid {
1838
+ align-content: start;
1588
1839
  }
1589
1840
  .trace-detail-empty {
1590
1841
  display: flex;
@@ -1798,16 +2049,22 @@ pre {
1798
2049
  opacity: 1;
1799
2050
  }
1800
2051
  .detail-tabs {
2052
+ display: inline-flex;
2053
+ width: max-content;
2054
+ min-width: max-content;
2055
+ flex-wrap: nowrap;
1801
2056
  padding: 0.24rem;
1802
2057
  border-radius: 16px;
1803
2058
  background: rgba(243, 247, 251, 0.98);
1804
2059
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 1px 2px rgba(32, 50, 76, 0.04);
1805
2060
  }
1806
2061
  .detail-tabs .tabs-trigger {
2062
+ flex: 0 0 auto;
1807
2063
  padding: 0.62rem 0.94rem;
1808
2064
  font-size: 0.84rem;
1809
2065
  font-weight: 700;
1810
2066
  letter-spacing: -0.01em;
2067
+ white-space: nowrap;
1811
2068
  }
1812
2069
  .tabs-root[data-value=conversation] .tabs-trigger[data-tab-value=conversation],
1813
2070
  .tabs-root[data-value=request] .tabs-trigger[data-tab-value=request],
@@ -1955,12 +2212,60 @@ pre {
1955
2212
  display: flex;
1956
2213
  flex-direction: column;
1957
2214
  gap: 0;
2215
+ min-width: 0;
1958
2216
  }
1959
2217
  .conversation-thread > * + * {
1960
2218
  margin-top: 0.95rem;
1961
2219
  padding-top: 0.95rem;
1962
2220
  border-top: 1px solid rgba(88, 105, 130, 0.12);
1963
2221
  }
2222
+ .conversation-context-rail {
2223
+ display: none;
2224
+ min-width: 0;
2225
+ }
2226
+ .conversation-context-rail-header {
2227
+ display: flex;
2228
+ flex-direction: column;
2229
+ gap: 0.18rem;
2230
+ }
2231
+ .conversation-context-rail-title {
2232
+ font-size: 0.82rem;
2233
+ font-weight: 700;
2234
+ letter-spacing: 0.08em;
2235
+ text-transform: uppercase;
2236
+ color: var(--muted-foreground);
2237
+ }
2238
+ .conversation-context-rail-copy {
2239
+ color: var(--muted-foreground);
2240
+ font-size: 0.82rem;
2241
+ line-height: 1.4;
2242
+ }
2243
+ .conversation-context-rail .detail-grid {
2244
+ gap: 0.75rem;
2245
+ }
2246
+ .detail-inline-context-layout {
2247
+ display: grid;
2248
+ grid-template-columns: minmax(0, 1.2fr) minmax(24rem, 32rem);
2249
+ align-items: start;
2250
+ gap: 1rem;
2251
+ min-width: 0;
2252
+ }
2253
+ .detail-inline-context-main {
2254
+ min-width: 0;
2255
+ }
2256
+ .detail-inline-context-layout .conversation-thread > * {
2257
+ width: 100%;
2258
+ }
2259
+ .detail-inline-context-layout .conversation-thread .conversation-row {
2260
+ width: 100%;
2261
+ max-width: none;
2262
+ }
2263
+ .detail-inline-context-layout .conversation-context-rail {
2264
+ display: flex;
2265
+ flex-direction: column;
2266
+ gap: 0.75rem;
2267
+ min-width: 0;
2268
+ }
1964
2269
  .conversation-row {
1965
2270
  --message-accent: rgba(120, 137, 159, 0.24);
1966
2271
  --message-border-color: rgba(88, 105, 130, 0.12);
@@ -1974,8 +2279,14 @@ pre {
1974
2279
  gap: 0.45rem;
1975
2280
  max-width: min(52rem, 100%);
1976
2281
  }
2282
+ .conversation-row.is-user,
2283
+ .conversation-row.is-assistant,
2284
+ .conversation-row.is-system,
2285
+ .conversation-row.is-tool,
2286
+ .conversation-row.is-tool-call {
2287
+ align-self: flex-start;
2288
+ }
1977
2289
  .conversation-row.is-user {
1978
- align-self: flex-end;
1979
2290
  --message-accent: rgba(46, 181, 129, 0.58);
1980
2291
  --message-border-color: rgba(46, 181, 129, 0.28);
1981
2292
  --message-surface: rgba(232, 251, 242, 0.98);
@@ -1983,12 +2294,6 @@ pre {
1983
2294
  --message-label-border: rgba(46, 181, 129, 0.26);
1984
2295
  --message-label-surface: rgba(46, 181, 129, 0.16);
1985
2296
  }
1986
- .conversation-row.is-assistant,
1987
- .conversation-row.is-system,
1988
- .conversation-row.is-tool,
1989
- .conversation-row.is-tool-call {
1990
- align-self: flex-start;
1991
- }
1992
2297
  .conversation-row.is-assistant {
1993
2298
  --message-accent: rgba(151, 96, 255, 0.48);
1994
2299
  --message-border-color: rgba(151, 96, 255, 0.24);
@@ -2045,8 +2350,120 @@ pre {
2045
2350
  padding: 0.9rem 1rem;
2046
2351
  box-shadow: inset 3px 0 0 var(--message-accent), inset 0 1px 0 rgba(255, 255, 255, 0.72);
2047
2352
  }
2048
- .conversation-row.is-user .conversation-role {
2049
- align-self: flex-end;
2353
+ .message-insight-banner {
2354
+ display: flex;
2355
+ flex-direction: column;
2356
+ gap: 0.55rem;
2357
+ margin-bottom: 0.85rem;
2358
+ }
2359
+ .message-insight-card {
2360
+ display: flex;
2361
+ flex-direction: column;
2362
+ gap: 0.35rem;
2363
+ padding: 0.7rem 0.8rem;
2364
+ border: 1px solid rgba(184, 129, 44, 0.16);
2365
+ border-radius: 12px;
2366
+ background: rgba(255, 248, 236, 0.9);
2367
+ }
2368
+ .message-insight-card.is-highlight {
2369
+ border-color: rgba(86, 107, 147, 0.16);
2370
+ background: rgba(241, 246, 255, 0.88);
2371
+ }
2372
+ .message-insight-card-header {
2373
+ display: flex;
2374
+ align-items: center;
2375
+ justify-content: space-between;
2376
+ gap: 0.5rem;
2377
+ flex-wrap: wrap;
2378
+ }
2379
+ .message-insight-card-tags,
2380
+ .structured-markup-tags {
2381
+ display: flex;
2382
+ flex-wrap: wrap;
2383
+ gap: 0.35rem;
2384
+ }
2385
+ .message-insight-card-copy {
2386
+ color: var(--foreground);
2387
+ font-size: 0.82rem;
2388
+ line-height: 1.45;
2389
+ }
2390
+ .trace-insights-content {
2391
+ display: flex;
2392
+ flex-direction: column;
2393
+ gap: 0.7rem;
2394
+ }
2395
+ .trace-insight-item {
2396
+ display: flex;
2397
+ flex-direction: column;
2398
+ gap: 0.35rem;
2399
+ padding: 0.78rem 0.85rem;
2400
+ border: 1px solid rgba(86, 107, 147, 0.14);
2401
+ border-radius: 12px;
2402
+ background: rgba(243, 247, 255, 0.84);
2403
+ }
2404
+ .trace-insight-item.is-structured {
2405
+ border-color: rgba(34, 154, 161, 0.16);
2406
+ background: rgba(240, 252, 252, 0.9);
2407
+ }
2408
+ .trace-insight-item-header,
2409
+ .trace-insight-item-tags {
2410
+ display: flex;
2411
+ align-items: center;
2412
+ gap: 0.45rem;
2413
+ flex-wrap: wrap;
2414
+ }
2415
+ .trace-insight-item-header {
2416
+ justify-content: space-between;
2417
+ }
2418
+ .trace-insight-item-source {
2419
+ color: var(--muted-foreground);
2420
+ font-size: 0.74rem;
2421
+ font-family:
2422
+ ui-monospace,
2423
+ SFMono-Regular,
2424
+ Menlo,
2425
+ Consolas,
2426
+ monospace;
2427
+ }
2428
+ .trace-insight-item-copy {
2429
+ color: var(--foreground);
2430
+ font-size: 0.83rem;
2431
+ line-height: 1.5;
2432
+ }
2433
+ .structured-markup-block {
2434
+ display: flex;
2435
+ flex-direction: column;
2436
+ gap: 0.75rem;
2437
+ }
2438
+ .structured-markup-header {
2439
+ display: flex;
2440
+ align-items: center;
2441
+ justify-content: space-between;
2442
+ gap: 0.5rem;
2443
+ flex-wrap: wrap;
2444
+ }
2445
+ .structured-markup-pre {
2446
+ margin: 0;
2447
+ padding: 0.9rem 1rem;
2448
+ border-radius: 12px;
2449
+ border: 1px solid rgba(34, 154, 161, 0.18);
2450
+ background: rgba(240, 252, 252, 0.92);
2451
+ line-height: 1.5;
2452
+ overflow: auto;
2453
+ }
2454
+ .structured-markup-token.is-tag-name {
2455
+ color: #1b6a72;
2456
+ font-weight: 700;
2457
+ }
2458
+ .structured-markup-token.is-tag-punctuation,
2459
+ .structured-markup-token.is-attr-punctuation {
2460
+ color: var(--muted-foreground);
2461
+ }
2462
+ .structured-markup-token.is-attr-name {
2463
+ color: #7a4d13;
2464
+ }
2465
+ .structured-markup-token.is-attr-value {
2466
+ color: #245fd6;
2050
2467
  }
2051
2468
  .conversation-row.is-user .conversation-bubble {
2052
2469
  --expandable-fade-color: rgba(232, 251, 242, 0.98);
@@ -2702,7 +3119,10 @@ pre {
2702
3119
  :root[data-theme=dark] .sheet-close:focus-visible,
2703
3120
  :root[data-theme=dark] .nav-item:focus-visible,
2704
3121
  :root[data-theme=dark] .nav-switch-button:focus-visible,
3122
+ :root[data-theme=dark] .session-nav-card:focus-visible,
2705
3123
  :root[data-theme=dark] .theme-switch-button:focus-visible,
3124
+ :root[data-theme=dark] .trace-detail-breadcrumb-segment:focus-visible,
3125
+ :root[data-theme=dark] .ui-badge-button:focus-visible,
2706
3126
  :root[data-theme=dark] .expandable-toggle:focus-visible,
2707
3127
  :root[data-theme=dark] .tree-node-toggle:focus-visible,
2708
3128
  :root[data-theme=dark] .tree-node-select:focus-visible,
@@ -2731,11 +3151,24 @@ pre {
2731
3151
  background: rgba(134, 184, 255, 0.14);
2732
3152
  color: var(--primary-strong);
2733
3153
  }
2734
- :root[data-theme=dark] .session-sidebar-toolbar {
3154
+ :root[data-theme=dark] .session-nav-section {
2735
3155
  border-color: rgba(128, 153, 189, 0.14);
2736
3156
  background: rgba(16, 24, 36, 0.82);
2737
3157
  box-shadow: 0 10px 24px rgba(2, 10, 24, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
2738
3158
  }
3159
+ :root[data-theme=dark] .session-nav-card {
3160
+ border-color: rgba(128, 153, 189, 0.12);
3161
+ background: rgba(18, 27, 40, 0.92);
3162
+ box-shadow: 0 12px 28px rgba(2, 10, 24, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
3163
+ }
3164
+ :root[data-theme=dark] .session-nav-card:hover,
3165
+ :root[data-theme=dark] .session-nav-card.is-active {
3166
+ border-color: rgba(134, 184, 255, 0.18);
3167
+ background: rgba(29, 43, 64, 0.88);
3168
+ }
3169
+ :root[data-theme=dark] .session-nav-card.is-active {
3170
+ box-shadow: inset 3px 0 0 rgba(134, 184, 255, 0.82), 0 16px 32px rgba(2, 10, 24, 0.28);
3171
+ }
2739
3172
  :root[data-theme=dark] .trace-group-button,
2740
3173
  :root[data-theme=dark] .nav-item,
2741
3174
  :root[data-theme=dark] .tree-node-card,
@@ -2877,17 +3310,22 @@ pre {
2877
3310
  :root[data-theme=dark] .hierarchy-timeline-row-gutter::after {
2878
3311
  background: color-mix(in srgb, var(--timeline-row-color) 24%, rgba(128, 153, 189, 0.14));
2879
3312
  }
3313
+ :root[data-theme=dark] .hierarchy-timeline-row-ancestor::before,
3314
+ :root[data-theme=dark] .hierarchy-timeline-row-connector-top,
3315
+ :root[data-theme=dark] .hierarchy-timeline-row-connector-elbow,
3316
+ :root[data-theme=dark] .hierarchy-timeline-row-connector-bottom {
3317
+ background: color-mix(in srgb, var(--timeline-row-color) 32%, rgba(128, 153, 189, 0.18));
3318
+ }
2880
3319
  :root[data-theme=dark] .hierarchy-timeline-row.is-structure .hierarchy-timeline-row-title-text {
2881
3320
  color: color-mix(in srgb, var(--timeline-row-color) 48%, white);
2882
3321
  }
2883
- :root[data-theme=dark] .hierarchy-timeline-row-inspect {
2884
- border-color: rgba(134, 184, 255, 0.18);
2885
- background: rgba(134, 184, 255, 0.12);
2886
- color: rgba(186, 214, 255, 0.96);
3322
+ :root[data-theme=dark] .hierarchy-timeline-row-flag {
3323
+ background: rgba(34, 154, 161, 0.18);
3324
+ color: #9be5e8;
2887
3325
  }
2888
- :root[data-theme=dark] .hierarchy-timeline-row.is-clickable:hover .hierarchy-timeline-row-inspect {
2889
- border-color: rgba(134, 184, 255, 0.24);
2890
- background: rgba(134, 184, 255, 0.18);
3326
+ :root[data-theme=dark] .hierarchy-timeline-row-flag.is-highlight {
3327
+ background: rgba(184, 129, 44, 0.18);
3328
+ color: #f0c780;
2891
3329
  }
2892
3330
  :root[data-theme=dark] .trace-detail-breadcrumb {
2893
3331
  color: rgba(182, 197, 219, 0.74);
@@ -2899,6 +3337,9 @@ pre {
2899
3337
  background: rgba(134, 184, 255, 0.14);
2900
3338
  color: rgba(186, 214, 255, 0.96);
2901
3339
  }
3340
+ :root[data-theme=dark] .trace-detail-breadcrumb-segment:hover {
3341
+ color: rgba(186, 214, 255, 0.96);
3342
+ }
2902
3343
  :root[data-theme=dark] .trace-detail-subtitle,
2903
3344
  :root[data-theme=dark] .trace-detail-json-toggle {
2904
3345
  color: rgba(182, 197, 219, 0.74);
@@ -3025,6 +3466,35 @@ pre {
3025
3466
  :root[data-theme=dark] .tool-call-bubble {
3026
3467
  --expandable-fade-color: rgba(44, 31, 16, 0.99);
3027
3468
  }
3469
+ :root[data-theme=dark] .message-insight-card {
3470
+ border-color: rgba(184, 129, 44, 0.24);
3471
+ background: rgba(61, 45, 18, 0.8);
3472
+ }
3473
+ :root[data-theme=dark] .message-insight-card.is-highlight {
3474
+ border-color: rgba(86, 107, 147, 0.24);
3475
+ background: rgba(27, 38, 57, 0.82);
3476
+ }
3477
+ :root[data-theme=dark] .trace-insight-item {
3478
+ border-color: rgba(86, 107, 147, 0.24);
3479
+ background: rgba(27, 38, 57, 0.82);
3480
+ }
3481
+ :root[data-theme=dark] .trace-insight-item.is-structured {
3482
+ border-color: rgba(34, 154, 161, 0.22);
3483
+ background: rgba(14, 43, 46, 0.58);
3484
+ }
3485
+ :root[data-theme=dark] .structured-markup-pre {
3486
+ border-color: rgba(34, 154, 161, 0.22);
3487
+ background: rgba(14, 43, 46, 0.58);
3488
+ }
3489
+ :root[data-theme=dark] .structured-markup-token.is-tag-name {
3490
+ color: #8de0e6;
3491
+ }
3492
+ :root[data-theme=dark] .structured-markup-token.is-attr-name {
3493
+ color: #efc27d;
3494
+ }
3495
+ :root[data-theme=dark] .structured-markup-token.is-attr-value {
3496
+ color: #9bc0ff;
3497
+ }
3028
3498
  :root[data-theme=dark] .markdown-body code {
3029
3499
  background: rgba(101, 134, 182, 0.18);
3030
3500
  }
@@ -3133,7 +3603,9 @@ pre {
3133
3603
  }
3134
3604
  }
3135
3605
  @media (max-width: 1180px) {
3136
- .workspace-grid,
3606
+ .workspace-grid {
3607
+ grid-template-columns: minmax(24rem, 28rem) minmax(0, 1fr);
3608
+ }
3137
3609
  .filters-grid,
3138
3610
  .filters-secondary-row {
3139
3611
  grid-template-columns: minmax(0, 1fr);
@@ -3146,8 +3618,7 @@ pre {
3146
3618
  .inspector-status {
3147
3619
  justify-content: space-between;
3148
3620
  }
3149
- .navigator-header,
3150
- .trace-detail-toolbar {
3621
+ .navigator-header {
3151
3622
  flex-direction: column;
3152
3623
  align-items: stretch;
3153
3624
  }
@@ -3170,6 +3641,62 @@ pre {
3170
3641
  width: min(100vw, 48rem);
3171
3642
  }
3172
3643
  }
3644
+ @media (max-width: 960px) {
3645
+ .app-shell {
3646
+ height: auto;
3647
+ min-height: 100dvh;
3648
+ overflow-y: auto;
3649
+ }
3650
+ .app-frame {
3651
+ height: auto;
3652
+ min-height: 100dvh;
3653
+ }
3654
+ .board-shell {
3655
+ flex: 0 0 auto;
3656
+ height: auto;
3657
+ min-height: calc(100dvh - (var(--page-gutter) * 2));
3658
+ overflow: visible;
3659
+ }
3660
+ .workspace-grid,
3661
+ .filters-grid,
3662
+ .filters-secondary-row {
3663
+ grid-template-columns: minmax(0, 1fr);
3664
+ }
3665
+ .workspace-grid {
3666
+ flex: 0 0 auto;
3667
+ overflow: visible;
3668
+ min-height: auto;
3669
+ }
3670
+ .sidebar-card,
3671
+ .timeline-card,
3672
+ .session-sidebar-shell,
3673
+ .trace-detail-panel,
3674
+ .trace-detail-main,
3675
+ .trace-detail-primary,
3676
+ .trace-detail-secondary {
3677
+ min-height: auto;
3678
+ height: auto;
3679
+ }
3680
+ .content-scroll,
3681
+ .session-nav-list,
3682
+ .hierarchy-timeline-list,
3683
+ .session-sidebar-shell .hierarchy-timeline-list,
3684
+ .trace-detail-scroll,
3685
+ .trace-detail-secondary {
3686
+ overflow: visible;
3687
+ max-height: none;
3688
+ }
3689
+ .trace-detail-scroll {
3690
+ padding-right: 0;
3691
+ }
3692
+ .session-sidebar-shell .hierarchy-timeline-panel {
3693
+ flex: 0 0 auto;
3694
+ }
3695
+ .trace-detail-toolbar {
3696
+ flex-direction: column;
3697
+ align-items: stretch;
3698
+ }
3699
+ }
3173
3700
  @media (max-width: 720px) {
3174
3701
  :root {
3175
3702
  --page-gutter: 1rem;
@@ -3208,7 +3735,7 @@ pre {
3208
3735
  .sheet-header-actions {
3209
3736
  justify-content: flex-end;
3210
3737
  }
3211
- .tabs-list {
3738
+ .tabs-list:not(.detail-tabs) {
3212
3739
  width: 100%;
3213
3740
  }
3214
3741
  .trace-detail-title-row {
@@ -3268,9 +3795,6 @@ pre {
3268
3795
  grid-column: auto;
3269
3796
  grid-template-columns: minmax(0, 1fr) auto;
3270
3797
  }
3271
- .trace-detail-secondary .hierarchy-timeline-row-action {
3272
- justify-content: flex-start;
3273
- }
3274
3798
  .hierarchy-timeline-header,
3275
3799
  .hierarchy-timeline-header-side {
3276
3800
  flex-direction: column;
@@ -3306,7 +3830,4 @@ pre {
3306
3830
  grid-column: auto;
3307
3831
  grid-template-columns: minmax(0, 1fr) auto;
3308
3832
  }
3309
- .hierarchy-timeline-row-action {
3310
- justify-content: flex-start;
3311
- }
3312
3833
  }