@my-life-buddies/cli 0.13.0 → 0.14.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.
package/dist/web/app.css CHANGED
@@ -326,7 +326,8 @@
326
326
  .empty-state p { max-width: 30rem; margin: 0; color: var(--color-ink-soft); font-size: var(--text-sm); line-height: 1.65; }
327
327
 
328
328
  .waterfall { display: grid; gap: var(--space-md); margin-block-start: var(--space-xl); padding-block-end: var(--space-lg); border-block-end: var(--rule-hair) solid var(--color-rule); }
329
- .waterfall-row { display: grid; grid-template-columns: 6rem minmax(5rem, 1fr) 4.5rem; align-items: center; gap: var(--space-md); font-size: var(--text-xs); }
329
+ .timing-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; color:var(--color-muted); font-size:11px; line-height:1.7; }
330
+ .waterfall-row { display: grid; grid-template-columns: 6rem minmax(2rem, 1fr) 8.5rem; align-items: center; gap: var(--space-md); font-size: var(--text-xs); }
330
331
  .waterfall-track { height: 0.375rem; overflow: hidden; border-radius: var(--radius-pill); background: var(--color-paper-soft); }
331
332
  .waterfall-fill { display: block; height: 100%; min-width: var(--space-2xs); transform-origin: left; border-radius: inherit; background: var(--color-ink); }
332
333
  .waterfall-row strong { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 500; text-align: end; }
@@ -518,36 +519,203 @@
518
519
  #buddy-profile-avatar { width: 32px; height: 32px; object-fit: contain; border-radius: 50%; }
519
520
  #buddy-profile-avatar[hidden] { display: none; }
520
521
 
521
- /* The hosted console keeps debugger and simulator side by side, including narrow panels. */
522
- body[data-hosted-preview] { min-width:700px; height:100dvh; min-height:0; display:flex; flex-direction:column; overflow-x:auto; overflow-y:hidden; }
523
- body[data-hosted-preview] .brand { display:none; }
524
- body[data-hosted-preview] .app-shell { flex:1; min-height:0; display:flex; flex-direction:column; }
525
- body[data-hosted-preview] .sidebar { position:static; flex:none; width:auto; padding:8px 16px; border-inline-end:0; border-bottom:1px solid var(--color-rule); }
526
- body[data-hosted-preview] .sidebar-section { margin:0; }
527
- body[data-hosted-preview] .sidebar-label { display:none; }
528
- body[data-hosted-preview] .debug-tabs { display:flex; flex-wrap:wrap; gap:8px; }
529
- body[data-hosted-preview] .debug-tabs button { width:auto; }
530
- body[data-hosted-preview] .application { margin-inline-start:0; flex:1; min-height:0; display:flex; flex-direction:column; }
522
+ /* Hosted debug workbench. DESIGN_VARIANCE 3 / MOTION_INTENSITY 3 / VISUAL_DENSITY 7.
523
+ Brand system retained: 8px controls, 12px work surface, semantic status colors only. */
524
+ body[data-hosted-preview] { --color-paper:#f8fafb; --color-paper-soft:#f1f4f6; --color-rule:#e2e8ec; --color-muted:#5a6c79; min-width:700px; height:100dvh; min-height:0; overflow:hidden; font-size:13px; }
525
+ body[data-hosted-preview] :is(.app-shell,.application) { display:flex; flex-direction:column; height:100%; min-height:0; margin:0; }
526
+ body[data-hosted-preview] .brand, body[data-hosted-preview] .sidebar-label, body[data-hosted-preview] .project-heading { display:none; }
527
+ body[data-hosted-preview] .local-connection { flex:none; border-bottom:1px solid var(--color-rule); background:var(--color-paper-raised); }
528
+ body[data-hosted-preview] .connection-toolbar { display:flex; align-items:center; gap:12px; min-height:68px; padding:12px 20px; }
529
+ body[data-hosted-preview] .connection-project { min-width:0; margin-right:auto; }
530
+ body[data-hosted-preview] .connection-project strong { display:block; overflow:hidden; max-width:42vw; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:600; }
531
+ body[data-hosted-preview] .connection-project > span { display:block; margin-top:4px; color:var(--color-muted); font-size:12px; }
531
532
  body[data-hosted-preview] .topbar { display:contents; }
532
- body[data-hosted-preview] .project-heading { display:none; }
533
- body[data-hosted-preview] .debugger > .sidebar { position:sticky; top:0; z-index:var(--z-sticky); }
534
- body[data-hosted-preview] .workspace { flex:1; min-height:0; grid-template-columns:minmax(340px,1fr) clamp(340px,40%,520px); overflow:hidden; }
535
- body[data-hosted-preview] .debugger { overflow-y:auto; overscroll-behavior:contain; }
536
- body[data-hosted-preview] .simulator-area { position:relative; inset:auto; height:100%; min-height:0; max-height:none; border-block-start:0; border-inline-start:1px solid var(--color-rule); }
537
- body[data-hosted-preview] .run-strip { padding:20px 24px 0; }
538
- body[data-hosted-preview] .run-metrics { margin-top:20px; }
539
- body[data-hosted-preview] .debug-panel { padding:24px; }
540
- body[data-hosted-preview] #dev-control[data-action="stop"] { background:var(--color-paper-raised); color:var(--color-ink); border:1px solid var(--color-rule); }
541
- .local-connection { flex:none; padding:10px 20px; border-bottom:1px solid var(--color-rule); background:var(--color-paper-raised); font-size:13px; }
542
- .local-connection-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 12px; }
543
- .local-connection-heading strong { grid-column:1 / -1; min-width:0; overflow-wrap:anywhere; font-size:12px; font-weight:500; }
544
- .local-connection pre { padding:14px; border-radius:8px; background:var(--color-paper); white-space:pre-wrap; overflow-wrap:anywhere; user-select:all; }
545
- .local-connection p { line-height:1.7; }
546
- #connect-instructions { max-height:250px; overflow-y:auto; }
533
+ body[data-hosted-preview] .topbar-actions { gap:10px; }
534
+ body[data-hosted-preview] .connection-state { padding:0; font-size:12px; min-height:32px; }
535
+ body[data-hosted-preview] .button { min-height:34px; padding:7px 12px; border-radius:8px; font-size:12px; white-space:nowrap; }
536
+ body[data-hosted-preview] .button-secondary, body[data-hosted-preview] #dev-control[data-action="stop"] { background:var(--color-paper-raised); color:var(--color-ink); border:1px solid var(--color-rule-strong); }
537
+ body[data-hosted-preview] .connection-details { position:relative; flex:none; }
538
+ body[data-hosted-preview] .connection-details > summary { padding:9px 0 9px 4px; cursor:pointer; color:var(--color-muted); font-size:12px; white-space:nowrap; }
539
+ body[data-hosted-preview] .connection-detail-body { position:absolute; top:40px; right:0; z-index:var(--z-dropdown); width:min(420px,70vw); padding:16px 20px; border:1px solid var(--color-rule); border-radius:10px; background:var(--color-paper-raised); box-shadow:var(--shadow-sheet); }
540
+ body[data-hosted-preview] .connection-detail-body dl { margin:0; }
541
+ body[data-hosted-preview] .connection-detail-body dl > div { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; padding:7px 0; font-size:12px; border:0; }
542
+ body[data-hosted-preview] .connection-detail-body dt { color:var(--color-muted); }
543
+ body[data-hosted-preview] .connection-detail-body dd { margin:0; text-align:left; overflow-wrap:anywhere; }
544
+ body[data-hosted-preview] .environment-note { padding:8px 0 0; margin-top:8px; border:0; border-top:1px solid var(--color-rule); }
545
+ body[data-hosted-preview] #connect-instructions { padding:16px 20px; border-top:1px solid var(--color-rule); background:var(--color-paper); max-height:240px; overflow:auto; }
546
+ body[data-hosted-preview] .command-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
547
+ body[data-hosted-preview] .command-heading strong { font-size:13px; font-weight:600; }
548
+ body[data-hosted-preview] #connect-instructions pre { padding:12px 14px; margin:12px 0 8px; white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid var(--color-rule); border-radius:8px; background:var(--color-paper-raised); line-height:1.7; font-size:12px; }
549
+ body[data-hosted-preview] #connect-instructions p { margin:0; color:var(--color-muted); font-size:12px; line-height:1.6; }
550
+ body[data-hosted-preview] .workspace { flex:1; min-height:0; grid-template-columns:minmax(350px,1fr) clamp(380px,43%,580px); overflow:hidden; }
551
+ body[data-hosted-preview] .debugger { display:flex; flex-direction:column; min-height:0; overflow:hidden; background:var(--color-paper-raised); }
552
+ body[data-hosted-preview] .hosted-page-heading { flex:none; padding:0 20px 20px; }
553
+ body[data-hosted-preview] .hosted-page-heading p { display:flex; align-items:center; gap:10px; color:var(--color-muted); font-size:12px; margin:0 0 8px; }
554
+ body[data-hosted-preview] .hosted-page-heading p span:first-child { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:60%; }
555
+ body[data-hosted-preview] .hosted-page-heading h1 { margin:0; font-size:26px; line-height:1.3; letter-spacing:-.035em; font-weight:650; }
556
+ body[data-hosted-preview] .local-connection { border-top:1px solid var(--color-rule); }
557
+ /* Hosted tabs are normal flex content, not the standalone sticky sidebar. */
558
+ body[data-hosted-preview] .debugger > .sidebar { flex:none; position:static; z-index:auto; width:auto; padding:0 20px; border:0; border-bottom:1px solid var(--color-rule); }
559
+ body[data-hosted-preview] .sidebar-section { margin:0; }
560
+ body[data-hosted-preview] .debug-tabs { display:flex; flex-wrap:nowrap; gap:20px; margin:0; }
561
+ body[data-hosted-preview] .debug-tabs button { width:auto; min-height:44px; padding:10px 0; font-size:13px; gap:7px; border-radius:0; white-space:nowrap; }
562
+ body[data-hosted-preview] .debug-tabs button svg { width:15px; height:15px; }
563
+ body[data-hosted-preview] .debug-tabs button[aria-selected="true"] { background:transparent; box-shadow:inset 0 -2px var(--color-accent); }
564
+ body[data-hosted-preview] .run-strip { flex:none; padding:18px 20px 14px; border-bottom:1px solid var(--color-rule); }
565
+ body[data-hosted-preview] .run-heading { align-items:center; flex-wrap:wrap; gap:16px; }
566
+ body[data-hosted-preview] .run-identity { flex:1; }
567
+ body[data-hosted-preview] .run-identity > .eyebrow { display:none; }
568
+ body[data-hosted-preview] .run-title-line { margin:0; flex-wrap:nowrap; gap:8px; }
569
+ body[data-hosted-preview] .run-title-line h2 { font-size:17px; letter-spacing:0; }
570
+ body[data-hosted-preview] .status-pill { font-size:11px; padding:3px 7px; }
571
+ body[data-hosted-preview] .run-controls { flex:0 1 340px; min-width:min(100%,340px); max-width:100%; gap:6px; }
572
+ body[data-hosted-preview] .run-picker-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
573
+ body[data-hosted-preview] :is(.run-picker,.run-step) { min-height:30px; border-radius:6px; font-size:11px; padding-block:4px; }
574
+ body[data-hosted-preview] .run-step { width:30px; }
575
+ body[data-hosted-preview] .run-follow { min-height:20px; font-size:11px; gap:6px; }
576
+ body[data-hosted-preview] .run-follow input { width:12px; height:12px; accent-color:var(--color-accent); }
577
+ body[data-hosted-preview] .run-reference { display:block; max-width:200px; font-size:11px; color:var(--color-muted); margin-top:6px; }
578
+ body[data-hosted-preview] .run-reference summary { cursor:pointer; }
579
+ body[data-hosted-preview] #run-id { display:block; margin-top:5px; overflow-wrap:anywhere; white-space:normal; font-family:var(--font-mono); }
580
+ body[data-hosted-preview] #copy-run-id { min-height:24px; padding:4px 0; font-size:11px; }
581
+ body[data-hosted-preview] .run-metrics { gap:20px; margin:14px 0 0; padding:0; }
582
+ body[data-hosted-preview] .run-metrics > div { padding:0; border:0; }
583
+ body[data-hosted-preview] .run-metrics dt { font-size:11px; margin-bottom:5px; }
584
+ body[data-hosted-preview] .run-metrics dd { font-size:15px; font-weight:500; line-height:1.5; }
585
+ body[data-hosted-preview] .debug-panels { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-gutter:stable; }
586
+ body[data-hosted-preview] .debug-panel { min-height:0; padding:22px 20px; }
587
+ body[data-hosted-preview] .overview-grid { display:block; }
588
+ body[data-hosted-preview] .section-heading { border:0; padding:0; margin:0 0 16px; gap:16px; align-items:center; }
589
+ body[data-hosted-preview] .section-heading h3 { font-size:14px; letter-spacing:0; }
590
+ body[data-hosted-preview] .section-heading p { margin:6px 0 0; font-size:12px; color:var(--color-muted); }
591
+ body[data-hosted-preview] .source-label { display:none; }
592
+ body[data-hosted-preview] .run-summary-copy { margin:16px 0 0; font-size:13px; line-height:1.8; color:var(--color-ink-soft); }
593
+ .run-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:18px 0 24px; padding:0; list-style:none; gap:8px; }
594
+ .run-progress li { position:relative; padding-top:16px; border-top:2px solid var(--color-rule); color:var(--color-muted); font-size:12px; line-height:1.5; }
595
+ .run-progress li[data-stage="done"] { border-color:var(--color-accent); color:var(--color-ink); }
596
+ .run-progress li[data-stage="active"] { border-color:var(--color-accent); color:var(--color-accent); font-weight:600; }
597
+ .run-progress li[data-stage="error"] { border-color:var(--color-error); color:var(--color-error); }
598
+ body[data-hosted-preview] .waterfall { margin:0; padding:0; border:0; gap:12px; }
599
+ body[data-hosted-preview] .waterfall-row { grid-template-columns:84px minmax(0,1fr) 132px; gap:12px; font-size:12px; }
600
+ body[data-hosted-preview] .waterfall-track { height:3px; background:transparent; }
601
+ body[data-hosted-preview] .waterfall-fill { min-width:0; background:var(--color-accent); opacity:.45; }
602
+ body[data-hosted-preview] .workbench-state { flex:none; padding:26px 24px; border-bottom:1px solid var(--color-rule); }
603
+ body[data-hosted-preview] .workbench-state h2 { font-size:18px; font-weight:600; margin:0 0 9px; letter-spacing:-.02em; }
604
+ body[data-hosted-preview] .workbench-state p { max-width:480px; color:var(--color-muted); font-size:13px; line-height:1.8; margin:0; }
605
+ body[data-hosted-preview] .state-mark { display:block; width:32px; height:3px; margin-bottom:20px; background:var(--color-accent); border-radius:2px; }
606
+ body[data-hosted-preview][data-has-runs="false"] .run-strip { display:none; }
607
+
608
+ body[data-hosted-preview][data-dev-phase="disconnected"][data-has-runs="false"] .workbench-state { padding-top:56px; padding-bottom:56px; }
609
+ body[data-hosted-preview][data-dev-phase="disconnected"] .topbar-actions { display:none; }
610
+ body[data-hosted-preview][data-dev-phase="disconnected"] :is(.run-progress li,.replying-indicator i) { animation-play-state:paused; }
611
+ body[data-hosted-preview][data-dev-phase="failed"] .state-mark { background:var(--color-error); }
612
+ body[data-hosted-preview] .empty-state { min-height:0; padding:24px 0; }
613
+ body[data-hosted-preview] .timeline { margin:0; }
614
+ body[data-hosted-preview] .timeline-item { grid-template-columns:62px 12px minmax(0,1fr); min-height:62px; gap:10px; }
615
+ body[data-hosted-preview] .timeline-item:not(:last-child)::after { left:77px; }
616
+ body[data-hosted-preview] .timeline-time { font-size:11px; padding-top:2px; }
617
+ body[data-hosted-preview] .timeline-copy strong { font-size:13px; font-weight:500; line-height:1.65; overflow-wrap:anywhere; }
618
+ body[data-hosted-preview] .timeline-copy p { font-size:11px; overflow-wrap:anywhere; }
619
+ body[data-hosted-preview] .timeline-empty { padding:18px 0; font-size:13px; line-height:1.7; }
620
+ body[data-hosted-preview] .context-row { grid-template-columns:36px minmax(0,1fr) 55px; gap:12px; padding:16px 0; }
621
+ body[data-hosted-preview] .context-text { font-size:13px; line-height:1.8; }
622
+ body[data-hosted-preview] .context-role { font-size:12px; }
623
+ body[data-hosted-preview] .protocol-log { margin:0; }
624
+ body[data-hosted-preview] .protocol-entry { border-bottom:1px solid var(--color-rule); }
625
+ body[data-hosted-preview] .protocol-entry summary { display:grid; grid-template-columns:60px minmax(0,1fr) auto; align-items:baseline; gap:12px; padding:12px 0; cursor:pointer; list-style:none; }
626
+ body[data-hosted-preview] .protocol-entry summary::-webkit-details-marker { display:none; }
627
+ body[data-hosted-preview] .protocol-entry time, body[data-hosted-preview] .log-channel { color:var(--color-muted); font-size:11px; }
628
+ body[data-hosted-preview] .log-channel::after { content:""; display:inline-block; width:5px; height:5px; margin-left:12px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(-45deg); vertical-align:2px; }
629
+ body[data-hosted-preview] .protocol-entry[open] .log-channel::after { transform:rotate(45deg); }
630
+ body[data-hosted-preview] .log-summary { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-family:var(--font-body); }
631
+ body[data-hosted-preview] .protocol-entry[data-level="error"] .log-summary { color:var(--color-error); }
632
+ body[data-hosted-preview] .protocol-entry[open] .log-summary { white-space:normal; overflow-wrap:anywhere; }
633
+ body[data-hosted-preview] .log-meta { margin:0 0 8px; color:var(--color-muted); font-size:11px; overflow-wrap:anywhere; }
634
+ body[data-hosted-preview] .runtime-log-text { font-size:12px; line-height:1.7; padding:12px; margin:0 0 14px; border-radius:6px; background:var(--color-paper); }
635
+ body[data-hosted-preview] .simulator-area { position:relative; inset:auto; height:100%; min-height:0; max-height:none; padding:10px 16px 8px; border:1px solid var(--color-rule); border-radius:12px; background:var(--color-paper); }
636
+ body[data-hosted-preview] .simulator-caption { min-height:30px; flex-wrap:nowrap; }
637
+ body[data-hosted-preview] .simulator-caption h2 { font-size:14px; font-weight:600; }
638
+ body[data-hosted-preview] .simulator-device { min-height:30px; padding:5px 8px; font-size:11px; border-radius:6px; white-space:nowrap; }
639
+ body[data-hosted-preview] .simulator-device svg { width:14px; height:14px; }
640
+ body[data-hosted-preview] .simulator-actions { flex-wrap:nowrap; }
641
+ body[data-hosted-preview] .device-stage { padding-top:6px; }
642
+ body[data-hosted-preview] .phone { --phone-width:min(432px,100cqw,49.2cqh); }
643
+ body[data-hosted-preview] .phone iphone-16-max { --width:100%; }
644
+ body[data-hosted-preview] .keyboard-hint { margin-top:4px; min-height:16px; font-size:11px; }
645
+ body[data-hosted-preview] .chat-empty { display:grid; place-items:center; min-height:100%; padding:24px; font-size:12px; line-height:1.8; text-align:center; color:var(--color-phone-muted); }
646
+ body[data-hosted-preview] .error-banner { position:static; transform:none; inset:auto; width:100%; flex:none; margin:0; padding:12px 20px; font-size:13px; border:0; border-bottom:1px solid var(--color-rule); border-radius:0; box-shadow:none; }
647
+ body[data-hosted-preview] .error-banner span { line-height:1.7; max-height:96px; overflow:auto; overflow-wrap:anywhere; }
648
+ body[data-hosted-preview] .error-banner button { flex:none; min-height:28px; white-space:nowrap; }
649
+ body[data-hosted-preview] .pairing-panel { top:80px; }
650
+ @media (prefers-reduced-motion:no-preference) {
651
+ body[data-hosted-preview][data-busy="true"] .state-mark { animation:debug-pulse 1.8s ease-in-out infinite; }
652
+ .run-progress li[data-stage="active"] { animation:debug-pulse 1.8s ease-in-out infinite; }
653
+ @keyframes debug-pulse { 50% { opacity:.4; } }
654
+ }
655
+ @media (prefers-color-scheme:dark) { body[data-hosted-preview] { --color-paper:#131f29; --color-paper-soft:#20303b; --color-rule:#2b3d4a; --color-muted:#a2b5c2; } }
547
656
  @media (max-width:900px) {
548
- body[data-hosted-preview] .workspace { grid-template-columns:minmax(340px,1fr) 320px; }
549
- body[data-hosted-preview] .run-heading { flex-direction:column; gap:12px; }
550
- body[data-hosted-preview] .run-identity, body[data-hosted-preview] .run-controls { flex:auto; width:100%; }
551
- body[data-hosted-preview] .run-strip, body[data-hosted-preview] .debug-panel { padding-inline:16px; }
552
- body[data-hosted-preview] .run-metrics { gap:8px; }
657
+ body[data-hosted-preview] .workspace { grid-template-columns:minmax(350px,1fr) 320px; }
658
+ body[data-hosted-preview] .connection-toolbar { padding-inline:16px; gap:8px; }
659
+ body[data-hosted-preview] .connection-project strong { max-width:190px; }
660
+ body[data-hosted-preview] .debug-tabs { gap:14px; }
661
+ body[data-hosted-preview] .run-heading { align-items:start; flex-wrap:wrap; }
662
+ body[data-hosted-preview] .run-controls { flex-basis:100%; }
663
+ body[data-hosted-preview] .simulator-area { padding-inline:12px; }
664
+ }
665
+
666
+ /* Runtime diagnostics share the existing Preview typography and semantic colors. */
667
+ .diagnostic-source { flex:none; color:var(--color-muted); font-size:11px; }
668
+ .diagnostic-filters { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 12px; }
669
+ .diagnostic-filters label { display:flex; flex:1 1 130px; min-width:0; flex-direction:column; gap:6px; color:var(--color-ink-soft); font-size:11px; }
670
+ .diagnostic-filters .diagnostic-search { flex:1.5 1 160px; }
671
+ .diagnostic-filters :is(select,input) { width:100%; min-width:0; min-height:36px; padding:7px 10px; border:1px solid var(--color-rule-strong); border-radius:6px; background:var(--color-paper-raised); color:var(--color-ink); font:inherit; font-size:12px; }
672
+ .diagnostic-filters :is(select,input):focus-visible { outline:2px solid var(--color-accent); outline-offset:2px; }
673
+ .diagnostic-note { color:var(--color-muted); font-size:11px; line-height:1.8; margin:12px 0 16px; }
674
+ .diagnostic-entry { border-bottom:1px solid var(--color-rule); min-width:0; }
675
+ .diagnostic-entry > summary { display:flex; align-items:start; gap:10px; padding:16px 0; cursor:pointer; list-style:none; }
676
+ .diagnostic-entry > summary::-webkit-details-marker { display:none; }
677
+ .diagnostic-entry > summary::after { content:'›'; color:var(--color-muted); font-size:18px; line-height:20px; flex:none; }
678
+ .diagnostic-entry[open] > summary::after { transform:rotate(90deg); }
679
+ .diagnostic-entry > summary:hover .diagnostic-heading strong { color:var(--color-accent); }
680
+ .diagnostic-entry > summary:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; border-radius:3px; }
681
+ .diagnostic-heading { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
682
+ .diagnostic-heading strong { font-size:13px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
683
+ .diagnostic-preview { color:var(--color-muted); font-size:12px; line-height:1.6; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
684
+ .diagnostic-badge { flex:none; color:var(--color-ink-soft); background:var(--color-paper-soft); border-radius:4px; padding:3px 5px; min-width:36px; font:10px/1.4 var(--font-mono); text-align:center; }
685
+ .diagnostic-badge[data-kind="response"] { color:var(--color-accent); background:var(--color-accent-soft, var(--color-paper-soft)); }
686
+ .diagnostic-entry[data-level="error"] > summary .diagnostic-badge { color:var(--color-error); background:var(--color-error-soft); }
687
+ .diagnostic-entry[data-level="warn"] > summary .diagnostic-badge { color:var(--color-warning); background:var(--color-warning-soft); }
688
+ .diagnostic-entry time { color:var(--color-muted); font:11px/1.8 var(--font-mono); white-space:nowrap; }
689
+ .diagnostic-body { padding:0 0 18px; }
690
+ .diagnostic-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; color:var(--color-muted); font-size:11px; margin:0 0 12px; }
691
+ .diagnostic-meta > span { overflow-wrap:anywhere; min-width:0; }
692
+ .diagnostic-meta button { font-size:11px; }
693
+ .diagnostic-section { border:1px solid var(--color-rule); border-radius:6px; margin:8px 0 0; overflow:hidden; }
694
+ .diagnostic-section > summary { cursor:pointer; padding:10px 12px; font-size:12px; color:var(--color-ink-soft); }
695
+ .diagnostic-section[open] > summary { border-bottom:1px solid var(--color-rule); }
696
+ .diagnostic-section pre { margin:0; padding:14px; max-height:420px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.85 var(--font-mono); background:var(--color-paper-soft); tab-size:2; }
697
+ .diagnostic-metrics { display:flex; flex-wrap:wrap; gap:16px 24px; margin:18px 0; }
698
+ .diagnostic-metrics div { min-width:70px; }
699
+ .diagnostic-metrics dt { color:var(--color-muted); font-size:10px; margin-bottom:6px; }
700
+ .diagnostic-metrics dd { margin:0; font:12px var(--font-mono); color:var(--color-ink); }
701
+ .metric-help { max-width:220px; margin:6px 0 0; color:var(--color-muted); font:11px/1.7 var(--font-body); white-space:normal; overflow-wrap:anywhere; }
702
+ .run-metrics dd:has(.metric-help) { overflow:visible; white-space:normal; }
703
+ .diagnostic-warning { color:var(--color-error); background:var(--color-error-soft); padding:10px 12px; font-size:12px; line-height:1.8; border-radius:6px; overflow-wrap:anywhere; }
704
+ .diagnostic-empty { padding:44px 0 52px; }
705
+ .diagnostic-empty strong { font-size:15px; font-weight:550; }
706
+ .diagnostic-empty p { max-width:420px; color:var(--color-muted); font-size:12px; line-height:1.9; }
707
+ .diagnostic-explanation { margin-top:24px; color:var(--color-muted); font-size:11px; line-height:1.9; }
708
+ .diagnostic-explanation summary { cursor:pointer; }
709
+ .diagnostic-explanation p { margin:10px 0; }
710
+ .diagnostic-history { margin-top:24px; padding-top:16px; border-top:1px solid var(--color-rule); }
711
+ .diagnostic-history > summary { cursor:pointer; font-size:13px; color:var(--color-ink-soft); }
712
+ .diagnostic-history #context-source { font-size:10px; margin-left:8px; color:var(--color-muted); }
713
+ #panel-overview .run-strip, body[data-hosted-preview] #panel-overview .run-strip { padding:0 0 16px; }
714
+ #panel-protocol .protocol-log { display:block; border:0; }
715
+ @media (max-width:650px) {
716
+ .diagnostic-filters { gap:10px; }
717
+ .diagnostic-filters .diagnostic-search { flex-basis:100%; }
718
+ .diagnostic-entry > summary { gap:7px; }
719
+ .diagnostic-entry time { font-size:10px; }
720
+ .diagnostic-source { display:none; }
553
721
  }