loadtoagent 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.ko.md +11 -9
  2. package/docs/PROVIDER-CONTRACTS.md +8 -6
  3. package/main.js +25 -3
  4. package/package.json +1 -1
  5. package/preload.js +7 -2
  6. package/renderer/app-dashboard.js +18 -12
  7. package/renderer/app-graph-view.js +1 -1
  8. package/renderer/app-management.js +91 -45
  9. package/renderer/app-run-modal.js +1 -1
  10. package/renderer/app.js +1 -1
  11. package/renderer/i18n-messages.js +212 -199
  12. package/renderer/index.html +28 -27
  13. package/renderer/styles-agent-map.css +10 -10
  14. package/renderer/styles-cards.css +19 -19
  15. package/renderer/styles-collaboration.css +23 -23
  16. package/renderer/styles-components.css +36 -36
  17. package/renderer/styles-management.css +23 -14
  18. package/renderer/styles-onboarding.css +8 -8
  19. package/renderer/styles-overlays.css +5 -5
  20. package/renderer/styles-product.css +24 -24
  21. package/renderer/styles-quality.css +4 -4
  22. package/renderer/styles-readability.css +179 -1
  23. package/renderer/styles-responsive-runtime.css +5 -5
  24. package/renderer/styles-responsive-workflows.css +2 -2
  25. package/renderer/styles-run-composer.css +23 -23
  26. package/renderer/styles-runtime-overview.css +22 -22
  27. package/renderer/styles-settings.css +21 -21
  28. package/renderer/styles-terminal.css +66 -66
  29. package/renderer/styles-tmux.css +49 -49
  30. package/renderer/styles-workflows.css +48 -48
  31. package/renderer/styles.css +7 -7
  32. package/renderer/terminal-events.js +34 -11
  33. package/renderer/terminal-workbench.js +52 -21
  34. package/renderer/terminal.js +9 -1
  35. package/src/contracts.js +5 -5
  36. package/src/ipc/registerTerminalIpc.js +6 -14
  37. package/src/sessionIntelligence.js +18 -4
  38. package/src/terminalHost.js +100 -26
  39. package/src/terminalHostDaemon.js +1 -0
  40. package/src/terminalManager.js +61 -4
@@ -95,7 +95,7 @@ body.quality-keyboard-mode :focus-visible {
95
95
  .quality-modal-head p {
96
96
  margin: 0 0 4px;
97
97
  color: #5de0b5;
98
- font-size: 10px;
98
+ font-size: 12px;
99
99
  font-weight: 800;
100
100
  letter-spacing: .12em;
101
101
  text-transform: uppercase;
@@ -189,7 +189,7 @@ body.quality-keyboard-mode :focus-visible {
189
189
  min-height: 18px;
190
190
  margin: 10px 3px 0;
191
191
  color: #748497;
192
- font-size: 10px;
192
+ font-size: 12px;
193
193
  }
194
194
 
195
195
  .shortcut-help-list {
@@ -218,14 +218,14 @@ body.quality-keyboard-mode :focus-visible {
218
218
  .shortcut-help-list dd {
219
219
  margin: 0;
220
220
  color: #9caabb;
221
- font-size: 11px;
221
+ font-size: 12px;
222
222
  }
223
223
 
224
224
  .session-result-summary {
225
225
  min-height: 22px;
226
226
  margin: 8px 2px 0;
227
227
  color: #708094;
228
- font-size: 10px;
228
+ font-size: 12px;
229
229
  }
230
230
 
231
231
  .empty-state .ghost-button {
@@ -171,7 +171,7 @@ body[data-current-view="all"] #sessionSection { order: 8; }
171
171
  .nav-item b small,
172
172
  .advanced-tools-nav > summary b small {
173
173
  color: #9eb0bd;
174
- font-size: 11.5px !important;
174
+ font-size: 12px !important;
175
175
  font-weight: 700;
176
176
  }
177
177
 
@@ -860,3 +860,181 @@ body :is(input, textarea)::placeholder {
860
860
  transition-duration: .01ms !important;
861
861
  }
862
862
  }
863
+
864
+ /* 9.8 interaction pass: the last-loaded rules below are deliberate floors. */
865
+ body :is(
866
+ small,
867
+ label,
868
+ time,
869
+ dt,
870
+ dd,
871
+ .meta-chip,
872
+ .context-scale,
873
+ .release-notes button,
874
+ .terminal-tmux-pane,
875
+ .run-provider-docs small,
876
+ .run-step-head small,
877
+ .run-composer .field-label,
878
+ .run-composer .run-folder-field > span,
879
+ .detail-drawer [class*="-meta"],
880
+ .runtime-overview [class*="-label"],
881
+ .runtime-overview [class*="-status"]
882
+ ) {
883
+ font-size: 12px !important;
884
+ line-height: 1.5 !important;
885
+ }
886
+
887
+ body button:not(.icon-button) {
888
+ min-width: 44px;
889
+ min-height: 44px !important;
890
+ font-size: 12px !important;
891
+ line-height: 1.35;
892
+ }
893
+
894
+ body button:not(.icon-button) :is(b, strong, span, small) {
895
+ font-size: 12px !important;
896
+ line-height: 1.45;
897
+ }
898
+
899
+ body .icon-button {
900
+ min-width: 44px;
901
+ min-height: 44px !important;
902
+ font-size: 17px !important;
903
+ }
904
+
905
+ body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, summary, [role="button"]) {
906
+ min-height: 44px !important;
907
+ }
908
+
909
+ body :is(
910
+ .provider-filter,
911
+ .workspace-list,
912
+ .management-control-buttons,
913
+ .terminal-create-actions,
914
+ .terminal-workspace-actions,
915
+ .terminal-key-actions,
916
+ .terminal-tmux-tools,
917
+ .terminal-reorder-actions,
918
+ .tmux-section-actions,
919
+ .tmux-pane-actions,
920
+ .run-modal-actions,
921
+ .modal-actions,
922
+ .app-error-actions,
923
+ .runtime-loop-tabs,
924
+ .detail-meta-actions,
925
+ .mobile-bottom-nav
926
+ ) {
927
+ gap: 8px !important;
928
+ }
929
+
930
+ /* Keep adjacent controls visually and physically distinct at every breakpoint. */
931
+ body :is(
932
+ .view-nav,
933
+ .advanced-tools-list,
934
+ .workspace-row,
935
+ .operations-priority,
936
+ .management-filter-group,
937
+ .management-quick-actions,
938
+ .run-prompt-examples,
939
+ .path-field
940
+ ) {
941
+ gap: 8px !important;
942
+ }
943
+
944
+ .sidebar .section-title {
945
+ height: auto;
946
+ min-height: 44px;
947
+ margin-bottom: 8px;
948
+ padding-block: 2px;
949
+ }
950
+
951
+ .sidebar .workspace-list {
952
+ gap: 8px !important;
953
+ }
954
+
955
+ .run-modal.terminal-modal :is(.field-label, label, small),
956
+ .run-modal.terminal-modal .path-field button {
957
+ font-size: 12px !important;
958
+ line-height: 1.5 !important;
959
+ }
960
+
961
+ .run-modal.terminal-modal :is(input, select, textarea, button) {
962
+ min-height: 44px !important;
963
+ }
964
+
965
+ body :is(
966
+ [class*="-count"],
967
+ [class*="-time"],
968
+ [class*="-stat"],
969
+ [class*="-metric"],
970
+ [class*="-usage"],
971
+ time,
972
+ output,
973
+ .nav-item b,
974
+ .provider-overview-card strong,
975
+ .runtime-overview-counts,
976
+ .terminal-font-controls
977
+ ) {
978
+ font-variant-numeric: tabular-nums;
979
+ }
980
+
981
+ body :is(h1, h2, h3) {
982
+ text-wrap: balance;
983
+ }
984
+
985
+ body :is(p, .section-explain, .terminal-resource-tip, .settings-head span) {
986
+ text-wrap: pretty;
987
+ }
988
+
989
+ body .primary-button {
990
+ background-color: #b8d2e1;
991
+ }
992
+
993
+ body .primary-button:disabled {
994
+ opacity: 1;
995
+ border-color: #40515e;
996
+ background: #26343e;
997
+ color: #d3dde4;
998
+ }
999
+
1000
+ .settings-section :is(.update-state-copy > span, .release-notes > div span, .settings-meta-grid span) {
1001
+ color: #aebdb9;
1002
+ }
1003
+
1004
+ .terminal-workbench :is(.terminal-command-label span, .terminal-console-tools label span, .terminal-tmux-tools label span) {
1005
+ color: #b9c6d0;
1006
+ }
1007
+
1008
+ .run-modal-actions {
1009
+ position: static;
1010
+ }
1011
+
1012
+ .run-shortcut-hint,
1013
+ .run-shortcut-hint span {
1014
+ color: #aebdca;
1015
+ }
1016
+
1017
+ .drawer-title span {
1018
+ color: #9eafbf;
1019
+ }
1020
+
1021
+ @media (max-width: 520px) {
1022
+ body button:not(.icon-button),
1023
+ body :is(input:not([type="checkbox"]):not([type="radio"]), select, summary, [role="button"]) {
1024
+ min-height: 44px !important;
1025
+ }
1026
+
1027
+ .mobile-bottom-nav {
1028
+ gap: 8px !important;
1029
+ }
1030
+ }
1031
+
1032
+ @media (max-width: 720px) {
1033
+ /* The bottom navigation owns its own row instead of covering scrollable content. */
1034
+ .main-stage,
1035
+ body[data-current-view="terminal"] .main-stage {
1036
+ height: calc(100vh - 66px - env(safe-area-inset-bottom));
1037
+ height: calc(100dvh - 66px - env(safe-area-inset-bottom));
1038
+ padding-bottom: 24px;
1039
+ }
1040
+ }
@@ -149,8 +149,8 @@
149
149
  }
150
150
 
151
151
  #terminalSection .terminal-workbench {
152
- height: clamp(620px,calc(100vh - 270px),760px);
153
- min-height: 620px;
152
+ height: clamp(500px,calc(100vh - 270px),760px);
153
+ min-height: 500px;
154
154
  }
155
155
  }
156
156
 
@@ -710,15 +710,15 @@
710
710
 
711
711
  .terminal-controlbar .terminal-key-actions button {
712
712
  padding-inline: 7px;
713
- font-size: 9px;
713
+ font-size: 12px;
714
714
  }
715
715
 
716
716
  .terminal-console-head small {
717
- font-size: 8px;
717
+ font-size: 12px;
718
718
  }
719
719
 
720
720
  .terminal-console-state {
721
- font-size: 8px;
721
+ font-size: 12px;
722
722
  }
723
723
 
724
724
  .terminal-command-form {
@@ -601,11 +601,11 @@
601
601
  }
602
602
 
603
603
  .global-stat span {
604
- font-size: 10px;
604
+ font-size: 12px;
605
605
  }
606
606
 
607
607
  .global-stat em {
608
- font-size: 10px;
608
+ font-size: 12px;
609
609
  }
610
610
 
611
611
  .global-stat strong {
@@ -38,7 +38,7 @@
38
38
 
39
39
  .run-provider-option small {
40
40
  display: block;
41
- font-size: 8px;
41
+ font-size: 12px;
42
42
  }
43
43
 
44
44
  .run-provider-option:disabled {
@@ -50,7 +50,7 @@
50
50
  display: block;
51
51
  margin-bottom: 6px;
52
52
  color: #7e899b;
53
- font-size: 9px;
53
+ font-size: 12px;
54
54
  }
55
55
 
56
56
  .run-modal label>span small {
@@ -66,7 +66,7 @@
66
66
  outline: 0;
67
67
  height: 37px;
68
68
  padding: 0 10px;
69
- font-size: 10px;
69
+ font-size: 12px;
70
70
  }
71
71
 
72
72
  .run-modal textarea {
@@ -78,7 +78,7 @@
78
78
  outline: 0;
79
79
  padding: 10px;
80
80
  resize: vertical;
81
- font-size: 10px;
81
+ font-size: 12px;
82
82
  line-height: 1.55;
83
83
  }
84
84
 
@@ -158,7 +158,7 @@
158
158
  max-width: 520px;
159
159
  margin: 7px 0 0;
160
160
  color: #77889a;
161
- font-size: 11px;
161
+ font-size: 12px;
162
162
  line-height: 1.55;
163
163
  }
164
164
 
@@ -197,7 +197,7 @@
197
197
  border-radius: 9px;
198
198
  background: #18323d;
199
199
  color: #82def4;
200
- font-size: 10px;
200
+ font-size: 12px;
201
201
  font-style: normal;
202
202
  font-weight: 850;
203
203
  box-shadow: inset 0 0 0 1px rgba(126,217,238,.14);
@@ -317,7 +317,7 @@
317
317
  place-items: center;
318
318
  opacity: 0;
319
319
  color: var(--provider);
320
- font-size: 11px;
320
+ font-size: 12px;
321
321
  transform: scale(.25);
322
322
  filter: blur(4px);
323
323
  transition-property: opacity,transform,filter;
@@ -344,7 +344,7 @@
344
344
  border-radius: 11px;
345
345
  background: #080e15;
346
346
  box-shadow: inset 0 0 0 1px #263541;
347
- font-size: 11px;
347
+ font-size: 12px;
348
348
  }
349
349
 
350
350
  .run-composer .path-field button:hover {
@@ -434,7 +434,7 @@
434
434
 
435
435
  .run-advanced>summary i {
436
436
  color: #718594;
437
- font-size: 11px;
437
+ font-size: 12px;
438
438
  font-style: normal;
439
439
  transition-property: transform;
440
440
  transition-duration: 180ms;
@@ -454,7 +454,7 @@
454
454
  border: 0;
455
455
  border-radius: 10px;
456
456
  box-shadow: inset 0 0 0 1px #273541;
457
- font-size: 11px;
457
+ font-size: 12px;
458
458
  }
459
459
 
460
460
  .run-composer .form-error {
@@ -510,7 +510,7 @@
510
510
  .run-provider-help-copy p {
511
511
  margin: 5px 0 0;
512
512
  color: #c7ae7d;
513
- font-size: 11px;
513
+ font-size: 12px;
514
514
  line-height: 1.55;
515
515
  }
516
516
 
@@ -549,14 +549,14 @@
549
549
 
550
550
  .run-provider-docs b {
551
551
  display: block;
552
- font-size: 11px;
552
+ font-size: 12px;
553
553
  }
554
554
 
555
555
  .run-provider-docs small {
556
556
  display: block;
557
557
  margin-top: 3px;
558
558
  color: #9f8b67;
559
- font-size: 9px;
559
+ font-size: 12px;
560
560
  }
561
561
 
562
562
  .run-provider-docs i {
@@ -578,19 +578,19 @@
578
578
  margin-top: 4px;
579
579
  line-height: 1.45;
580
580
  color: #98a6b5;
581
- font-size: 11px;
581
+ font-size: 12px;
582
582
  }
583
583
 
584
584
  .run-composer .field-label {
585
585
  margin-bottom: 7px;
586
586
  color: #98a6b5;
587
- font-size: 11px;
587
+ font-size: 12px;
588
588
  }
589
589
 
590
590
  .run-composer .run-folder-field>span {
591
591
  margin-bottom: 7px;
592
592
  color: #98a6b5;
593
- font-size: 11px;
593
+ font-size: 12px;
594
594
  }
595
595
 
596
596
  .run-provider-copy small {
@@ -600,19 +600,19 @@
600
600
  white-space: nowrap;
601
601
  margin-top: 3px;
602
602
  color: #98a6b5;
603
- font-size: 11px;
603
+ font-size: 12px;
604
604
  }
605
605
 
606
606
  .run-composer .permission-toggle div small {
607
607
  color: #98a6b5;
608
- font-size: 11px;
608
+ font-size: 12px;
609
609
  }
610
610
 
611
611
  .run-prompt-count {
612
612
  flex: 0 0 auto;
613
613
  font-variant-numeric: tabular-nums;
614
614
  color: #98a6b5;
615
- font-size: 11px;
615
+ font-size: 12px;
616
616
  }
617
617
 
618
618
  .run-prompt-count.warning {
@@ -624,7 +624,7 @@
624
624
  display: block;
625
625
  margin-top: 3px;
626
626
  color: #98a6b5;
627
- font-size: 11px;
627
+ font-size: 12px;
628
628
  }
629
629
 
630
630
  .run-provider-copy b {
@@ -659,7 +659,7 @@
659
659
  transition-duration: 150ms;
660
660
  transition-timing-function: ease-out;
661
661
  padding: 0 11px;
662
- font-size: 11px;
662
+ font-size: 12px;
663
663
  }
664
664
 
665
665
  .run-workspace-suggestions button {
@@ -682,7 +682,7 @@
682
682
  overflow: hidden;
683
683
  text-overflow: ellipsis;
684
684
  white-space: nowrap;
685
- font-size: 11px;
685
+ font-size: 12px;
686
686
  }
687
687
 
688
688
  .run-composer .path-field button {
@@ -696,5 +696,5 @@
696
696
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
697
697
  transition-property: transform,background-color,color;
698
698
  transition-duration: 150ms;
699
- font-size: 11px;
699
+ font-size: 12px;
700
700
  }
@@ -72,7 +72,7 @@
72
72
  .runtime-loop-kicker,.runtime-current-signal small,.runtime-loop-footer dt {
73
73
  margin: 0 0 3px;
74
74
  color: #5cccad;
75
- font-size: 10px;
75
+ font-size: 12px;
76
76
  font-weight: 800;
77
77
  letter-spacing: .14em;
78
78
  text-transform: uppercase;
@@ -90,7 +90,7 @@
90
90
  border-radius: 999px;
91
91
  color: #a2b2bc;
92
92
  background: #0c1823;
93
- font-size: 10px;
93
+ font-size: 12px;
94
94
  font-style: normal;
95
95
  }
96
96
  .runtime-overview-counts i { width: 5px; height: 5px; border-radius: 50%; background: #77909e; }
@@ -125,10 +125,10 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
125
125
  .runtime-schedule-card.paused { border-color: #263944; background: #0a151c; opacity: .74; }
126
126
  .runtime-schedule-card.paused .runtime-schedule-time { color: #a9916b; }
127
127
  .runtime-schedule-card::before { position: absolute; inset: 0 auto 0 0; width: 2px; content: ""; background: #3e8e79; }
128
- .runtime-schedule-card>i { position: absolute; top: 13px; right: 13px; color: #486878; font-size: 10px; font-style: normal; }
128
+ .runtime-schedule-card>i { position: absolute; top: 13px; right: 13px; color: #486878; font-size: 12px; font-style: normal; }
129
129
  .runtime-schedule-time { margin-bottom: 6px; color: #7be7c7; font: 750 11px/1.2 var(--font-mono, monospace); letter-spacing: .04em; }
130
130
  .runtime-schedule-card strong { overflow: hidden; color: #edf5f6; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
131
- .runtime-schedule-card small { overflow: hidden; margin-top: 6px; color: #91a6b1; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
131
+ .runtime-schedule-card small { overflow: hidden; margin-top: 6px; color: #91a6b1; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
132
132
 
133
133
  .runtime-schedule-empty,.runtime-loop-empty {
134
134
  display: flex;
@@ -143,11 +143,11 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
143
143
  }
144
144
  .runtime-schedule-empty>span { color: #477383; font-size: 25px; font-weight: 200; }
145
145
  .runtime-schedule-empty b,.runtime-loop-empty b { display: block; color: #a9bbc2; font-size: 12px; }
146
- .runtime-schedule-empty small,.runtime-loop-empty p { display: block; margin: 4px 0 0; color: #7f949e; font-size: 10px; line-height: 1.5; }
146
+ .runtime-schedule-empty small,.runtime-loop-empty p { display: block; margin: 4px 0 0; color: #7f949e; font-size: 12px; line-height: 1.5; }
147
147
 
148
148
  .runtime-loop-lane { min-width: 0; padding: 20px 22px 22px; background: rgba(6,15,24,.82); }
149
149
  .runtime-loop-lane-head { justify-content: space-between; gap: 18px; min-height: 47px; margin-bottom: 16px; }
150
- .runtime-loop-lane-head>div>small { display: block; margin-top: 5px; color: #91a4ad; font-size: 11px; white-space: nowrap; }
150
+ .runtime-loop-lane-head>div>small { display: block; margin-top: 5px; color: #91a4ad; font-size: 12px; white-space: nowrap; }
151
151
  .runtime-loop-tabs { display: flex; flex: 1; justify-content: flex-start; gap: 6px; min-width: 0; padding-bottom: 5px; overflow-x: auto; scrollbar-color: #3d6d63 #0a1721; scrollbar-width: thin; }
152
152
  .runtime-loop-tab {
153
153
  display: grid;
@@ -165,10 +165,10 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
165
165
  }
166
166
  .runtime-loop-tab.selected { border-color: color-mix(in srgb,var(--provider) 62%,#274553); color: #d6e4e7; background: color-mix(in srgb,var(--provider) 8%,#0a151f); }
167
167
  .runtime-loop-tab:focus-visible { outline: 2px solid var(--provider); outline-offset: 2px; }
168
- .runtime-loop-tab-mark { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid color-mix(in srgb,var(--provider) 48%,#293c49); border-radius: 8px; color: var(--provider); font-size: 11px; font-weight: 800; }
168
+ .runtime-loop-tab-mark { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid color-mix(in srgb,var(--provider) 48%,#293c49); border-radius: 8px; color: var(--provider); font-size: 12px; font-weight: 800; }
169
169
  .runtime-loop-tab b,.runtime-loop-tab small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
170
170
  .runtime-loop-tab b { font-size: 12px; }
171
- .runtime-loop-tab small { margin-top: 3px; color: #8fa4ad; font-size: 10px; }
171
+ .runtime-loop-tab small { margin-top: 3px; color: #8fa4ad; font-size: 12px; }
172
172
  .runtime-loop-tab>i { width: 5px; height: 5px; border-radius: 50%; background: #415866; }
173
173
  .runtime-loop-tab.selected>i { background: #51d8b1; box-shadow: 0 0 8px #51d8b1; }
174
174
 
@@ -178,24 +178,24 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
178
178
  .runtime-loop-kicker { display: inline-flex; align-items: center; gap: 7px; }
179
179
  .runtime-loop-kicker i { width: 6px; height: 6px; border-radius: 50%; background: #50d8b1; box-shadow: 0 0 12px rgba(80,216,177,.95); animation: runtime-loop-pulse 1.7s ease-in-out infinite; }
180
180
  .runtime-loop-detail h3 { overflow: hidden; margin: 5px 0 0; color: #f3f9f9; font-size: 18px; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
181
- .runtime-loop-detail header p { margin: 5px 0 0; color: #91a4ad; font-size: 11px; }
182
- .runtime-open-task { min-height: 36px; flex: 0 0 auto; padding: 8px 10px; border: 1px solid #315563; border-radius: 8px; color: #a8bdc5; background: #0c1c27; font-size: 10px; cursor: pointer; }
181
+ .runtime-loop-detail header p { margin: 5px 0 0; color: #91a4ad; font-size: 12px; }
182
+ .runtime-open-task { min-height: 36px; flex: 0 0 auto; padding: 8px 10px; border: 1px solid #315563; border-radius: 8px; color: #a8bdc5; background: #0c1c27; font-size: 12px; cursor: pointer; }
183
183
  .runtime-open-task:hover,.runtime-open-task:focus-visible { border-color: #4fae94; color: #70dfbf; outline: none; }
184
184
  .runtime-open-task span { margin-left: 5px; }
185
185
 
186
186
  .runtime-loop-header-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
187
187
  .runtime-active-phase { display: grid; min-width: 94px; min-height: 38px; align-content: center; padding: 6px 10px; border: 1px solid #2e5b51; border-radius: 9px; background: #0b2521; }
188
- .runtime-active-phase small { color: #6e968d; font-size: 9px; font-weight: 750; letter-spacing: .08em; }
188
+ .runtime-active-phase small { color: #6e968d; font-size: 12px; font-weight: 750; letter-spacing: .08em; }
189
189
  .runtime-active-phase b { margin-top: 2px; color: #70e2bf; font-size: 12px; }
190
190
 
191
191
  .runtime-now-strip { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 13px; min-height: 82px; padding: 13px 17px; border-bottom: 1px solid #203642; background: linear-gradient(90deg,rgba(48,179,139,.14),rgba(10,26,34,.78) 42%,#0a1721); }
192
192
  .runtime-now-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #327562; border-radius: 11px; color: #8ff0cf; background: #0d3028; box-shadow: 0 0 0 4px rgba(74,209,169,.05); font: 800 10px/1 var(--font-mono,monospace); letter-spacing: .08em; }
193
193
  .runtime-now-strip>div { min-width: 0; }
194
- .runtime-now-strip small { display: block; color: #69dcb8; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
194
+ .runtime-now-strip small { display: block; color: #69dcb8; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
195
195
  .runtime-now-strip b,.runtime-now-strip p { display: block; overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
196
196
  .runtime-now-strip b { margin-top: 5px; color: #eef8f6; font-size: 14px; }
197
- .runtime-now-strip p { margin-top: 4px; color: #9bb0b7; font-size: 11px; }
198
- .runtime-now-strip time { align-self: start; padding: 4px 7px; border-radius: 999px; color: #789088; background: #0b1c21; font-size: 9px; white-space: nowrap; }
197
+ .runtime-now-strip p { margin-top: 4px; color: #9bb0b7; font-size: 12px; }
198
+ .runtime-now-strip time { align-self: start; padding: 4px 7px; border-radius: 999px; color: #789088; background: #0b1c21; font-size: 12px; white-space: nowrap; }
199
199
 
200
200
  .runtime-loop-cycle { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; min-height: 182px; padding: 22px 18px 32px; }
201
201
  .runtime-loop-spine { position: absolute; top: 77px; right: 11%; left: 11%; height: 1px; background: #294a56; }
@@ -204,9 +204,9 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
204
204
  .runtime-loop-phase { position: relative; display: grid; min-width: 0; justify-items: center; padding: 11px 9px 12px; border: 1px solid #213743; border-radius: 11px; text-align: center; background: rgba(8,20,28,.86); }
205
205
  .runtime-loop-phase-index { display: flex; width: 100%; align-items: center; justify-content: space-between; margin-bottom: 11px; color: #879da6; font: 750 10px/1 var(--font-mono, monospace); }
206
206
  .runtime-loop-phase-index em { padding: 3px 6px; border-radius: 999px; color: #657982; background: #111f28; font: 750 9px/1 Geist,"Segoe UI",sans-serif; font-style: normal; letter-spacing: 0; }
207
- .runtime-loop-phase>i { position: relative; z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #385967; border-radius: 50%; color: #6f8994; background: #0a1822; font-size: 10px; font-style: normal; }
207
+ .runtime-loop-phase>i { position: relative; z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #385967; border-radius: 50%; color: #6f8994; background: #0a1822; font-size: 12px; font-style: normal; }
208
208
  .runtime-loop-phase>b { margin-top: 9px; color: #a0b3ba; font-size: 13px; }
209
- .runtime-loop-phase>small { margin-top: 4px; color: #8499a2; font-size: 11px; }
209
+ .runtime-loop-phase>small { margin-top: 4px; color: #8499a2; font-size: 12px; }
210
210
  .runtime-loop-phase.done { border-color: #285045; background: rgba(10,35,30,.7); }
211
211
  .runtime-loop-phase.done>i { border-color: #31705f; color: #5ed8b6; background: #0b2621; }
212
212
  .runtime-loop-phase.done>b { color: #99b6b4; }
@@ -215,8 +215,8 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
215
215
  .runtime-loop-phase.active>i { border-color: #5ae0ba; color: #65e4c0; background: #0b2d26; box-shadow: 0 0 0 5px rgba(72,211,174,.08),0 0 18px rgba(72,211,174,.35); }
216
216
  .runtime-loop-phase.active>b { color: #64deb9; }
217
217
  .runtime-loop-return { position: absolute; right: 13%; bottom: 7px; left: 13%; height: 15px; border-right: 1px solid #2e5e58; border-bottom: 1px solid #2e5e58; border-left: 1px solid #2e5e58; border-radius: 0 0 9px 9px; color: #4f9183; }
218
- .runtime-loop-return>span { position: absolute; bottom: -7px; left: -5px; padding: 0 3px; background: #091620; font-size: 11px; }
219
- .runtime-loop-return>b { position: absolute; right: 50%; bottom: -5px; padding: 0 7px; color: #7da39a; background: #091620; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; transform: translateX(50%); }
218
+ .runtime-loop-return>span { position: absolute; bottom: -7px; left: -5px; padding: 0 3px; background: #091620; font-size: 12px; }
219
+ .runtime-loop-return>b { position: absolute; right: 50%; bottom: -5px; padding: 0 7px; color: #7da39a; background: #091620; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; transform: translateX(50%); }
220
220
 
221
221
  .runtime-loop-footer { justify-content: flex-end; gap: 18px; padding: 13px 17px; border-top: 1px solid #243b48; background: #0b1821; }
222
222
  .runtime-current-signal { gap: 10px; min-width: 0; }
@@ -224,11 +224,11 @@ button.runtime-schedule-card:hover,button.runtime-schedule-card:focus-visible {
224
224
  .runtime-current-signal>div { min-width: 0; }
225
225
  .runtime-current-signal small { display: block; }
226
226
  .runtime-current-signal b,.runtime-current-signal p { display: block; overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
227
- .runtime-current-signal b { max-width: 350px; color: #c5d5d8; font-size: 11px; }
228
- .runtime-current-signal p { max-width: 350px; margin-top: 3px; color: #8398a2; font-size: 10px; }
227
+ .runtime-current-signal b { max-width: 350px; color: #c5d5d8; font-size: 12px; }
228
+ .runtime-current-signal p { max-width: 350px; margin-top: 3px; color: #8398a2; font-size: 12px; }
229
229
  .runtime-loop-footer dl { display: grid; width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
230
230
  .runtime-loop-footer dl>div { min-width: 0; padding: 8px 10px; border-left: 2px solid #2f5d54; background: #0b2022; }
231
- .runtime-loop-footer dt { margin-bottom: 4px; color: #7ca29b; font-size: 10px; }
231
+ .runtime-loop-footer dt { margin-bottom: 4px; color: #7ca29b; font-size: 12px; }
232
232
  .runtime-loop-footer dd { margin: 0; color: #d0e1e1; font: 750 11px/1.2 var(--font-mono, monospace); }
233
233
  .runtime-loop-empty { min-height: 228px; justify-content: center; }
234
234
  .runtime-loop-empty-orbit { position: relative; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid #285044; border-radius: 50%; }
@@ -260,7 +260,7 @@ body[data-current-view="runtime"] .automation-overview { max-width: 1640px; marg
260
260
  .runtime-overview-head { align-items: flex-start; padding: 16px; flex-direction: column; }
261
261
  .runtime-overview-emblem { width: 39px; height: 39px; flex-basis: 39px; }
262
262
  .runtime-overview-title h2 { font-size: 16px; }
263
- .runtime-overview-title>div>span { font-size: 11px; }
263
+ .runtime-overview-title>div>span { font-size: 12px; }
264
264
  .runtime-overview-counts { width: 100%; }
265
265
  .runtime-overview-counts>span,.runtime-overview-counts>b { flex: 1; justify-content: center; padding-inline: 6px; }
266
266
  .runtime-schedule-lane,.runtime-loop-lane { padding: 14px; }