codexmate 0.0.21 → 0.0.22

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 (114) hide show
  1. package/README.md +389 -284
  2. package/README.zh.md +321 -0
  3. package/cli/agents-files.js +224 -162
  4. package/cli/archive-helpers.js +446 -446
  5. package/cli/auth-profiles.js +359 -359
  6. package/cli/builtin-proxy.js +1044 -580
  7. package/cli/claude-proxy.js +998 -998
  8. package/cli/config-bootstrap.js +384 -384
  9. package/cli/config-health.js +338 -338
  10. package/cli/openai-bridge.js +950 -0
  11. package/cli/openclaw-config.js +629 -629
  12. package/cli/session-usage.concurrent.js +28 -0
  13. package/cli/session-usage.js +112 -0
  14. package/cli/session-usage.models.js +176 -0
  15. package/cli/skills.js +1141 -1141
  16. package/cli/zip-commands.js +510 -510
  17. package/cli.js +13214 -13129
  18. package/lib/cli-file-utils.js +151 -151
  19. package/lib/cli-models-utils.js +419 -419
  20. package/lib/cli-network-utils.js +164 -164
  21. package/lib/cli-path-utils.js +69 -69
  22. package/lib/cli-session-utils.js +121 -121
  23. package/lib/cli-sessions.js +386 -386
  24. package/lib/cli-utils.js +155 -155
  25. package/lib/download-artifacts.js +77 -77
  26. package/lib/mcp-stdio.js +440 -440
  27. package/lib/task-orchestrator.js +869 -869
  28. package/lib/text-diff.js +303 -303
  29. package/lib/workflow-engine.js +340 -340
  30. package/package.json +74 -74
  31. package/res/json5.min.js +1 -1
  32. package/res/logo.png +0 -0
  33. package/res/vue.global.prod.js +13 -13
  34. package/web-ui/app.js +575 -530
  35. package/web-ui/index.html +34 -33
  36. package/web-ui/logic.agents-diff.mjs +386 -386
  37. package/web-ui/logic.claude.mjs +168 -168
  38. package/web-ui/logic.mjs +5 -5
  39. package/web-ui/logic.runtime.mjs +128 -124
  40. package/web-ui/logic.sessions.mjs +614 -581
  41. package/web-ui/modules/api.mjs +90 -90
  42. package/web-ui/modules/app.computed.dashboard.mjs +126 -113
  43. package/web-ui/modules/app.computed.index.mjs +17 -15
  44. package/web-ui/modules/app.computed.main-tabs.mjs +198 -195
  45. package/web-ui/modules/app.computed.session.mjs +653 -507
  46. package/web-ui/modules/app.constants.mjs +15 -15
  47. package/web-ui/modules/app.methods.agents.mjs +544 -493
  48. package/web-ui/modules/app.methods.claude-config.mjs +174 -174
  49. package/web-ui/modules/app.methods.codex-config.mjs +795 -640
  50. package/web-ui/modules/app.methods.index.mjs +92 -88
  51. package/web-ui/modules/app.methods.install.mjs +161 -149
  52. package/web-ui/modules/app.methods.navigation.mjs +619 -619
  53. package/web-ui/modules/app.methods.openclaw-core.mjs +814 -814
  54. package/web-ui/modules/app.methods.openclaw-editing.mjs +372 -372
  55. package/web-ui/modules/app.methods.openclaw-persist.mjs +369 -369
  56. package/web-ui/modules/app.methods.providers.mjs +404 -363
  57. package/web-ui/modules/app.methods.runtime.mjs +323 -323
  58. package/web-ui/modules/app.methods.session-actions.mjs +537 -520
  59. package/web-ui/modules/app.methods.session-browser.mjs +626 -626
  60. package/web-ui/modules/app.methods.session-timeline.mjs +448 -448
  61. package/web-ui/modules/app.methods.session-trash.mjs +422 -422
  62. package/web-ui/modules/app.methods.startup-claude.mjs +405 -412
  63. package/web-ui/modules/app.methods.task-orchestration.mjs +471 -471
  64. package/web-ui/modules/config-mode.computed.mjs +126 -126
  65. package/web-ui/modules/config-template-confirm-pref.mjs +33 -0
  66. package/web-ui/modules/i18n.mjs +1609 -0
  67. package/web-ui/modules/plugins.computed.mjs +220 -0
  68. package/web-ui/modules/plugins.methods.mjs +620 -0
  69. package/web-ui/modules/plugins.storage.mjs +37 -0
  70. package/web-ui/modules/skills.computed.mjs +107 -107
  71. package/web-ui/modules/skills.methods.mjs +481 -481
  72. package/web-ui/partials/index/layout-footer.html +13 -13
  73. package/web-ui/partials/index/layout-header.html +461 -402
  74. package/web-ui/partials/index/modal-config-template-agents.html +175 -125
  75. package/web-ui/partials/index/modal-confirm-toast.html +32 -32
  76. package/web-ui/partials/index/modal-health-check.html +72 -72
  77. package/web-ui/partials/index/modal-openclaw-config.html +280 -280
  78. package/web-ui/partials/index/modal-skills.html +200 -184
  79. package/web-ui/partials/index/modals-basic.html +165 -156
  80. package/web-ui/partials/index/panel-config-claude.html +138 -126
  81. package/web-ui/partials/index/panel-config-codex.html +234 -237
  82. package/web-ui/partials/index/panel-config-openclaw.html +78 -78
  83. package/web-ui/partials/index/panel-docs.html +147 -130
  84. package/web-ui/partials/index/panel-market.html +174 -174
  85. package/web-ui/partials/index/panel-orchestration.html +397 -397
  86. package/web-ui/partials/index/panel-plugins.html +243 -0
  87. package/web-ui/partials/index/panel-sessions.html +292 -292
  88. package/web-ui/partials/index/panel-settings.html +258 -190
  89. package/web-ui/partials/index/panel-usage.html +353 -213
  90. package/web-ui/session-helpers.mjs +573 -559
  91. package/web-ui/source-bundle.cjs +233 -233
  92. package/web-ui/styles/base-theme.css +264 -271
  93. package/web-ui/styles/controls-forms.css +362 -360
  94. package/web-ui/styles/docs-panel.css +247 -182
  95. package/web-ui/styles/feedback.css +108 -108
  96. package/web-ui/styles/health-check-dialog.css +144 -144
  97. package/web-ui/styles/layout-shell.css +596 -376
  98. package/web-ui/styles/modals-core.css +464 -464
  99. package/web-ui/styles/navigation-panels.css +382 -348
  100. package/web-ui/styles/openclaw-structured.css +266 -266
  101. package/web-ui/styles/plugins-panel.css +518 -0
  102. package/web-ui/styles/responsive.css +456 -450
  103. package/web-ui/styles/sessions-list.css +400 -400
  104. package/web-ui/styles/sessions-preview.css +411 -411
  105. package/web-ui/styles/sessions-toolbar-trash.css +268 -243
  106. package/web-ui/styles/sessions-usage.css +851 -628
  107. package/web-ui/styles/settings-panel.css +166 -0
  108. package/web-ui/styles/skills-list.css +303 -296
  109. package/web-ui/styles/skills-market.css +396 -335
  110. package/web-ui/styles/task-orchestration.css +776 -776
  111. package/web-ui/styles/titles-cards.css +408 -408
  112. package/web-ui/styles.css +20 -18
  113. package/web-ui.html +17 -17
  114. package/README.en.md +0 -349
@@ -1,776 +1,776 @@
1
- .task-layout-grid {
2
- display: grid;
3
- gap: 16px;
4
- margin-bottom: 16px;
5
- }
6
-
7
- .task-layout-grid-primary {
8
- grid-template-columns: minmax(0, 1fr);
9
- }
10
-
11
- .task-layout-grid-secondary {
12
- grid-template-columns: minmax(0, 1fr);
13
- }
14
-
15
- .task-hero-card,
16
- .task-compose-flow-card,
17
- .task-sidebar-card,
18
- .task-plan-card,
19
- .task-workbench-card,
20
- .task-template-block,
21
- .task-readiness-card,
22
- .task-action-help,
23
- .task-empty-state {
24
- min-width: 0;
25
- border: 1px solid var(--color-border-soft);
26
- border-radius: 18px;
27
- background: var(--color-surface);
28
- box-shadow: var(--shadow-subtle);
29
- }
30
-
31
- .task-hero-card {
32
- padding: 18px;
33
- margin-bottom: 16px;
34
- background: linear-gradient(180deg, rgba(199, 116, 98, 0.10) 0%, rgba(199, 116, 98, 0.03) 100%), var(--color-surface);
35
- }
36
-
37
- .task-hero-main {
38
- display: flex;
39
- align-items: flex-start;
40
- justify-content: space-between;
41
- gap: 16px;
42
- }
43
-
44
- .task-hero-kicker {
45
- font-size: 11px;
46
- font-weight: 700;
47
- letter-spacing: 0.08em;
48
- text-transform: uppercase;
49
- color: var(--color-text-secondary);
50
- margin-bottom: 8px;
51
- }
52
-
53
- .task-hero-copy {
54
- margin-top: 8px;
55
- max-width: 760px;
56
- line-height: 1.65;
57
- }
58
-
59
- .task-hero-actions {
60
- flex: 0 0 auto;
61
- flex-wrap: nowrap;
62
- align-self: flex-start;
63
- }
64
-
65
- .task-hero-actions > .btn-tool-compact {
66
- min-width: 108px;
67
- }
68
-
69
- .task-hero-actions > .btn-tool + .btn-tool,
70
- .task-hero-actions > .btn-tool-compact + .btn-tool,
71
- .task-hero-actions > .btn-tool + .btn-tool-compact,
72
- .task-hero-actions > .btn-tool-compact + .btn-tool-compact {
73
- margin-top: 0;
74
- }
75
-
76
- .task-hero-meta-strip {
77
- display: flex;
78
- flex-wrap: wrap;
79
- gap: 8px;
80
- margin-top: 14px;
81
- }
82
-
83
- .task-hero-meta {
84
- display: inline-flex;
85
- align-items: center;
86
- gap: 6px;
87
- min-height: 34px;
88
- padding: 0 12px;
89
- border-radius: 999px;
90
- background: rgba(255, 255, 255, 0.56);
91
- border: 1px solid rgba(199, 116, 98, 0.14);
92
- color: var(--color-text-secondary);
93
- font-size: 12px;
94
- font-weight: 600;
95
- }
96
-
97
- .task-hero-meta strong {
98
- color: var(--color-text-primary);
99
- }
100
-
101
- .task-compose-flow-card,
102
- .task-sidebar-card,
103
- .task-plan-card,
104
- .task-workbench-card {
105
- padding: 18px;
106
- }
107
-
108
- .task-flow-section + .task-flow-section,
109
- .task-sidebar-group + .task-sidebar-group {
110
- margin-top: 18px;
111
- padding-top: 18px;
112
- border-top: 1px solid var(--color-border-soft);
113
- }
114
-
115
- .task-flow-section-compact {
116
- margin-top: 0;
117
- }
118
-
119
- .task-flow-head {
120
- display: flex;
121
- align-items: flex-start;
122
- gap: 12px;
123
- margin-bottom: 14px;
124
- }
125
-
126
- .task-flow-step {
127
- width: 28px;
128
- height: 28px;
129
- border-radius: 999px;
130
- background: var(--color-brand-light);
131
- color: var(--color-brand-dark);
132
- font-size: 13px;
133
- font-weight: 700;
134
- display: inline-flex;
135
- align-items: center;
136
- justify-content: center;
137
- flex: 0 0 auto;
138
- }
139
-
140
- .task-flow-title,
141
- .task-sidebar-title,
142
- .task-readiness-title,
143
- .task-empty-title,
144
- .task-template-label {
145
- font-size: 14px;
146
- font-weight: 700;
147
- color: var(--color-text-primary);
148
- }
149
-
150
- .task-flow-copy,
151
- .task-readiness-copy,
152
- .task-field-hint,
153
- .task-empty-copy,
154
- .task-action-help-item {
155
- font-size: 12px;
156
- line-height: 1.6;
157
- color: var(--color-text-secondary);
158
- }
159
-
160
- .task-template-block {
161
- padding: 12px 14px;
162
- background: var(--color-surface-alt);
163
- }
164
-
165
- .task-template-panel {
166
- margin-bottom: 14px;
167
- padding: 12px 14px;
168
- border: 1px solid var(--color-border-soft);
169
- border-radius: 16px;
170
- background: var(--color-surface-alt);
171
- }
172
-
173
- .task-template-chip-group,
174
- .task-workflow-suggestions {
175
- display: flex;
176
- flex-wrap: wrap;
177
- gap: 8px;
178
- margin-top: 10px;
179
- }
180
-
181
- .task-template-chip,
182
- .task-workflow-chip,
183
- .task-workbench-tab {
184
- border: 1px solid var(--color-border);
185
- background: var(--color-surface);
186
- color: var(--color-text-primary);
187
- border-radius: 999px;
188
- padding: 7px 12px;
189
- font-size: 12px;
190
- font-weight: 600;
191
- cursor: pointer;
192
- transition:
193
- background var(--transition-fast) var(--ease-smooth),
194
- border-color var(--transition-fast) var(--ease-smooth),
195
- color var(--transition-fast) var(--ease-smooth),
196
- box-shadow var(--transition-fast) var(--ease-smooth);
197
- }
198
-
199
- .task-template-chip:hover,
200
- .task-workflow-chip:hover,
201
- .task-workbench-tab:hover {
202
- background: var(--color-brand-light);
203
- border-color: var(--color-brand);
204
- color: var(--color-brand-dark);
205
- }
206
-
207
- .task-workflow-chip {
208
- display: inline-flex;
209
- align-items: center;
210
- gap: 8px;
211
- }
212
-
213
- .task-workflow-chip small {
214
- color: var(--color-text-secondary);
215
- font-size: 11px;
216
- }
217
-
218
- .task-composer-grid {
219
- display: grid;
220
- grid-template-columns: repeat(2, minmax(0, 1fr));
221
- gap: 12px;
222
- }
223
-
224
- .task-composer-grid-primary {
225
- grid-template-columns: minmax(0, 1fr);
226
- }
227
-
228
- .task-composer-grid-compact {
229
- grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
230
- align-items: stretch;
231
- }
232
-
233
- .task-field-wide {
234
- grid-column: 1 / -1;
235
- }
236
-
237
- .task-goal-field {
238
- padding: 16px;
239
- border-radius: 16px;
240
- background: var(--color-surface-alt);
241
- border: 1px solid var(--color-border-soft);
242
- }
243
-
244
- .task-textarea,
245
- .task-log-block {
246
- width: 100%;
247
- min-height: 92px;
248
- resize: vertical;
249
- padding: 10px 12px;
250
- border-radius: 12px;
251
- border: 1px solid var(--color-border);
252
- background: var(--color-surface);
253
- color: var(--color-text-primary);
254
- font: inherit;
255
- box-sizing: border-box;
256
- }
257
-
258
- .task-textarea-goal {
259
- min-height: 132px;
260
- font-size: 14px;
261
- line-height: 1.65;
262
- }
263
-
264
- .task-toggle-card {
265
- padding: 14px;
266
- border-radius: 16px;
267
- border: 1px solid var(--color-border-soft);
268
- background: var(--color-surface-alt);
269
- }
270
-
271
- .task-toggle-stack {
272
- display: flex;
273
- flex-direction: column;
274
- gap: 10px;
275
- margin-top: 8px;
276
- }
277
-
278
- .task-toggle-inline {
279
- display: flex;
280
- flex-wrap: wrap;
281
- gap: 12px;
282
- margin-top: 8px;
283
- }
284
-
285
- .task-toggle-card-inline {
286
- min-height: 100%;
287
- }
288
-
289
- .task-toggle {
290
- display: inline-flex;
291
- align-items: center;
292
- gap: 8px;
293
- color: var(--color-text-secondary);
294
- font-size: 13px;
295
- }
296
-
297
- .task-config-strip {
298
- display: flex;
299
- flex-wrap: wrap;
300
- gap: 10px;
301
- }
302
-
303
- .task-config-strip-vertical {
304
- flex-direction: column;
305
- }
306
-
307
- .task-config-pill {
308
- display: inline-flex;
309
- align-items: center;
310
- min-height: 34px;
311
- padding: 0 12px;
312
- border-radius: 999px;
313
- background: var(--color-surface-alt);
314
- border: 1px solid var(--color-border);
315
- color: var(--color-text-secondary);
316
- font-size: 12px;
317
- font-weight: 600;
318
- }
319
-
320
- .task-readiness-card,
321
- .task-action-help,
322
- .task-empty-state,
323
- .task-stage-card {
324
- padding: 14px;
325
- background: var(--color-surface-alt);
326
- }
327
-
328
- .task-draft-overview,
329
- .task-draft-inline,
330
- .task-advanced-panel {
331
- margin-top: 14px;
332
- padding: 14px;
333
- border: 1px solid var(--color-border-soft);
334
- border-radius: 16px;
335
- background: var(--color-surface-alt);
336
- }
337
-
338
- .task-draft-inline {
339
- display: flex;
340
- flex-direction: column;
341
- gap: 12px;
342
- }
343
-
344
- .task-draft-inline-head {
345
- display: flex;
346
- align-items: center;
347
- gap: 10px;
348
- flex-wrap: wrap;
349
- }
350
-
351
- .task-draft-inline-copy {
352
- min-width: 0;
353
- }
354
-
355
- .task-draft-overview-head {
356
- display: flex;
357
- align-items: flex-start;
358
- justify-content: space-between;
359
- gap: 12px;
360
- }
361
-
362
- .task-checklist-inline {
363
- display: grid;
364
- grid-template-columns: repeat(2, minmax(0, 1fr));
365
- gap: 10px;
366
- margin-top: 12px;
367
- }
368
-
369
- .task-check-chip {
370
- display: flex;
371
- flex-direction: column;
372
- gap: 4px;
373
- padding: 12px;
374
- border-radius: 14px;
375
- border: 1px solid var(--color-border);
376
- background: var(--color-surface);
377
- }
378
-
379
- .task-check-chip strong {
380
- font-size: 12px;
381
- color: var(--color-text-primary);
382
- }
383
-
384
- .task-check-chip span {
385
- font-size: 12px;
386
- line-height: 1.5;
387
- color: var(--color-text-secondary);
388
- }
389
-
390
- .task-check-chip.done {
391
- border-color: rgba(81, 154, 91, 0.24);
392
- background: rgba(81, 154, 91, 0.08);
393
- }
394
-
395
- .task-draft-overview .task-config-strip {
396
- margin-top: 12px;
397
- }
398
-
399
- .task-advanced-panel[open] {
400
- box-shadow: var(--shadow-subtle);
401
- }
402
-
403
- .task-advanced-summary {
404
- cursor: pointer;
405
- font-size: 13px;
406
- font-weight: 700;
407
- color: var(--color-text-primary);
408
- list-style: none;
409
- }
410
-
411
- .task-advanced-summary::-webkit-details-marker {
412
- display: none;
413
- }
414
-
415
- .task-advanced-panel > .task-composer-grid,
416
- .task-advanced-panel > .selector-grid {
417
- margin-top: 12px;
418
- }
419
-
420
- .task-readiness-head {
421
- display: flex;
422
- align-items: flex-start;
423
- justify-content: space-between;
424
- gap: 12px;
425
- }
426
-
427
- .task-readiness-grid {
428
- display: grid;
429
- grid-template-columns: repeat(2, minmax(0, 1fr));
430
- gap: 10px;
431
- margin-top: 12px;
432
- }
433
-
434
- .task-readiness-item {
435
- display: flex;
436
- flex-direction: column;
437
- gap: 4px;
438
- padding: 12px;
439
- border-radius: 14px;
440
- border: 1px solid var(--color-border);
441
- background: var(--color-surface);
442
- }
443
-
444
- .task-readiness-item strong {
445
- font-size: 12px;
446
- color: var(--color-text-primary);
447
- }
448
-
449
- .task-readiness-item span {
450
- font-size: 12px;
451
- color: var(--color-text-secondary);
452
- line-height: 1.5;
453
- }
454
-
455
- .task-readiness-item.done {
456
- border-color: rgba(81, 154, 91, 0.24);
457
- background: rgba(81, 154, 91, 0.08);
458
- }
459
-
460
- .task-action-row,
461
- .task-plan-summary-strip,
462
- .task-detail-summary-strip {
463
- display: flex;
464
- flex-wrap: wrap;
465
- gap: 10px;
466
- }
467
-
468
- .task-action-row-prominent {
469
- align-items: center;
470
- margin-top: 4px;
471
- }
472
-
473
- .task-action-row > .btn-tool,
474
- .task-section-header .settings-tab-actions > .btn-tool-compact,
475
- .task-action-row-right > .btn-tool,
476
- .task-detail-toolbar > .btn-tool-compact {
477
- min-height: 38px;
478
- height: 38px;
479
- display: inline-flex;
480
- align-items: center;
481
- justify-content: center;
482
- box-sizing: border-box;
483
- }
484
-
485
- .task-action-preview {
486
- min-width: 110px;
487
- }
488
-
489
- .task-action-row-right {
490
- display: flex;
491
- flex-wrap: wrap;
492
- gap: 10px;
493
- }
494
-
495
- .task-action-row-right-prominent > .btn-tool {
496
- min-width: 110px;
497
- }
498
-
499
- .task-action-help-prominent,
500
- .task-action-help-sidebar {
501
- display: flex;
502
- flex-direction: column;
503
- gap: 8px;
504
- margin-top: 12px;
505
- }
506
-
507
- .task-section-header {
508
- align-items: center;
509
- justify-content: space-between;
510
- gap: 12px;
511
- }
512
-
513
- .task-section-header > :first-child {
514
- flex: 1 1 auto;
515
- min-width: 0;
516
- }
517
-
518
- .task-header-actions,
519
- .task-section-header .settings-tab-actions,
520
- .task-detail-toolbar {
521
- display: flex;
522
- flex-wrap: wrap;
523
- gap: 8px;
524
- align-items: center;
525
- justify-content: flex-end;
526
- margin-left: auto;
527
- }
528
-
529
- .task-workbench-tabs {
530
- display: flex;
531
- flex-wrap: wrap;
532
- gap: 8px;
533
- margin-top: 14px;
534
- }
535
-
536
- .task-workbench-tab.active {
537
- background: var(--color-brand-light);
538
- border-color: var(--color-brand);
539
- color: var(--color-brand-dark);
540
- box-shadow: var(--shadow-subtle);
541
- }
542
-
543
- .task-workbench-panel {
544
- margin-top: 14px;
545
- }
546
-
547
- .task-action-caption {
548
- margin-top: 12px;
549
- font-size: 12px;
550
- line-height: 1.6;
551
- color: var(--color-text-secondary);
552
- }
553
-
554
- .task-stage-empty {
555
- display: flex;
556
- align-items: center;
557
- justify-content: space-between;
558
- gap: 16px;
559
- }
560
-
561
- .task-stage-strip {
562
- display: flex;
563
- flex-wrap: wrap;
564
- gap: 8px;
565
- justify-content: flex-end;
566
- }
567
-
568
- .task-stage-pill {
569
- padding: 8px 12px;
570
- border-radius: 999px;
571
- border: 1px solid var(--color-border-soft);
572
- background: var(--color-surface);
573
- font-size: 12px;
574
- font-weight: 600;
575
- color: var(--color-text-secondary);
576
- }
577
-
578
- .task-plan-summary-item {
579
- min-width: 120px;
580
- padding: 12px;
581
- border-radius: 14px;
582
- border: 1px solid var(--color-border);
583
- background: var(--color-surface-alt);
584
- display: flex;
585
- flex-direction: column;
586
- gap: 4px;
587
- }
588
-
589
- .task-plan-summary-label {
590
- font-size: 11px;
591
- color: var(--color-text-muted);
592
- text-transform: uppercase;
593
- letter-spacing: 0.06em;
594
- }
595
-
596
- .task-wave-list,
597
- .task-node-list,
598
- .task-runtime-list,
599
- .task-warning-list,
600
- .task-issues-list {
601
- display: flex;
602
- flex-direction: column;
603
- gap: 10px;
604
- margin-top: 12px;
605
- }
606
-
607
- .task-wave-card,
608
- .task-node-card,
609
- .task-runtime-item,
610
- .task-warning-item,
611
- .task-issue-item {
612
- border: 1px solid var(--color-border);
613
- border-radius: 14px;
614
- background: var(--color-surface-alt);
615
- }
616
-
617
- .task-wave-card,
618
- .task-node-card {
619
- padding: 14px;
620
- }
621
-
622
- .task-warning-item,
623
- .task-issue-item {
624
- padding: 10px 12px;
625
- font-size: 13px;
626
- }
627
-
628
- .task-warning-item {
629
- color: var(--color-text-secondary);
630
- background: rgba(255, 244, 220, 0.7);
631
- }
632
-
633
- .task-issue-item {
634
- color: #8f2d21;
635
- background: rgba(255, 232, 228, 0.75);
636
- }
637
-
638
- .task-wave-title,
639
- .task-node-title,
640
- .task-runtime-item-title {
641
- font-weight: 700;
642
- color: var(--color-text-primary);
643
- }
644
-
645
- .task-wave-nodes,
646
- .task-node-meta,
647
- .task-node-deps,
648
- .task-runtime-item-meta,
649
- .task-runtime-item-summary {
650
- font-size: 12px;
651
- color: var(--color-text-secondary);
652
- line-height: 1.55;
653
- }
654
-
655
- .task-node-head,
656
- .task-runtime-item,
657
- .task-runtime-item-actions {
658
- display: flex;
659
- align-items: flex-start;
660
- justify-content: space-between;
661
- gap: 10px;
662
- }
663
-
664
- .task-runtime-item {
665
- width: 100%;
666
- padding: 14px;
667
- cursor: default;
668
- text-align: left;
669
- }
670
-
671
- .task-runtime-item.clickable {
672
- cursor: pointer;
673
- }
674
-
675
- .task-runtime-item.active {
676
- border-color: rgba(199, 116, 98, 0.3);
677
- background: var(--color-brand-light);
678
- }
679
-
680
- .task-runtime-item-main {
681
- min-width: 0;
682
- flex: 1;
683
- display: flex;
684
- flex-direction: column;
685
- gap: 4px;
686
- }
687
-
688
- .task-runtime-item-actions {
689
- flex-direction: row;
690
- align-items: center;
691
- justify-content: flex-end;
692
- flex-wrap: nowrap;
693
- flex: 0 0 auto;
694
- }
695
-
696
- .task-runtime-item-actions .btn-mini {
697
- min-width: 72px;
698
- min-height: 30px;
699
- height: 30px;
700
- display: inline-flex;
701
- align-items: center;
702
- justify-content: center;
703
- box-sizing: border-box;
704
- }
705
-
706
- .pill.success {
707
- background: rgba(81, 154, 91, 0.14);
708
- color: #285d31;
709
- }
710
-
711
- .pill.warn {
712
- background: rgba(214, 153, 58, 0.16);
713
- color: #7a5110;
714
- }
715
-
716
- .pill.error {
717
- background: rgba(194, 73, 63, 0.16);
718
- color: #8f2d21;
719
- }
720
-
721
- .pill.neutral {
722
- background: rgba(116, 126, 138, 0.14);
723
- color: #45515e;
724
- }
725
-
726
- .task-log-block {
727
- margin: 10px 0 0;
728
- min-height: 120px;
729
- white-space: pre-wrap;
730
- word-break: break-word;
731
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
732
- font-size: 12px;
733
- line-height: 1.55;
734
- }
735
-
736
- @media (max-width: 1200px) {
737
- .task-layout-grid-primary,
738
- .task-layout-grid-secondary {
739
- grid-template-columns: 1fr;
740
- }
741
- }
742
-
743
- @media (max-width: 720px) {
744
- .task-composer-grid,
745
- .task-readiness-grid,
746
- .task-checklist-inline,
747
- .task-composer-grid-compact {
748
- grid-template-columns: 1fr;
749
- }
750
-
751
- .task-hero-main,
752
- .task-flow-head,
753
- .task-draft-overview-head,
754
- .task-stage-empty,
755
- .task-readiness-head,
756
- .task-section-header,
757
- .task-node-head,
758
- .task-runtime-item,
759
- .task-runtime-item-actions {
760
- flex-direction: column;
761
- align-items: stretch;
762
- }
763
-
764
- .task-header-actions,
765
- .task-section-header .settings-tab-actions,
766
- .task-detail-toolbar,
767
- .task-action-row-right {
768
- margin-left: 0;
769
- width: 100%;
770
- justify-content: flex-start;
771
- }
772
-
773
- .task-hero-actions {
774
- flex-wrap: wrap;
775
- }
776
- }
1
+ .task-layout-grid {
2
+ display: grid;
3
+ gap: 16px;
4
+ margin-bottom: 16px;
5
+ }
6
+
7
+ .task-layout-grid-primary {
8
+ grid-template-columns: minmax(0, 1fr);
9
+ }
10
+
11
+ .task-layout-grid-secondary {
12
+ grid-template-columns: minmax(0, 1fr);
13
+ }
14
+
15
+ .task-hero-card,
16
+ .task-compose-flow-card,
17
+ .task-sidebar-card,
18
+ .task-plan-card,
19
+ .task-workbench-card,
20
+ .task-template-block,
21
+ .task-readiness-card,
22
+ .task-action-help,
23
+ .task-empty-state {
24
+ min-width: 0;
25
+ border: 1px solid var(--color-border-soft);
26
+ border-radius: 18px;
27
+ background: var(--color-surface);
28
+ box-shadow: var(--shadow-subtle);
29
+ }
30
+
31
+ .task-hero-card {
32
+ padding: 18px;
33
+ margin-bottom: 16px;
34
+ background: linear-gradient(180deg, rgba(199, 116, 98, 0.10) 0%, rgba(199, 116, 98, 0.03) 100%), var(--color-surface);
35
+ }
36
+
37
+ .task-hero-main {
38
+ display: flex;
39
+ align-items: flex-start;
40
+ justify-content: space-between;
41
+ gap: 16px;
42
+ }
43
+
44
+ .task-hero-kicker {
45
+ font-size: 11px;
46
+ font-weight: 700;
47
+ letter-spacing: 0.08em;
48
+ text-transform: uppercase;
49
+ color: var(--color-text-secondary);
50
+ margin-bottom: 8px;
51
+ }
52
+
53
+ .task-hero-copy {
54
+ margin-top: 8px;
55
+ max-width: 760px;
56
+ line-height: 1.65;
57
+ }
58
+
59
+ .task-hero-actions {
60
+ flex: 0 0 auto;
61
+ flex-wrap: nowrap;
62
+ align-self: flex-start;
63
+ }
64
+
65
+ .task-hero-actions > .btn-tool-compact {
66
+ min-width: 108px;
67
+ }
68
+
69
+ .task-hero-actions > .btn-tool + .btn-tool,
70
+ .task-hero-actions > .btn-tool-compact + .btn-tool,
71
+ .task-hero-actions > .btn-tool + .btn-tool-compact,
72
+ .task-hero-actions > .btn-tool-compact + .btn-tool-compact {
73
+ margin-top: 0;
74
+ }
75
+
76
+ .task-hero-meta-strip {
77
+ display: flex;
78
+ flex-wrap: wrap;
79
+ gap: 8px;
80
+ margin-top: 14px;
81
+ }
82
+
83
+ .task-hero-meta {
84
+ display: inline-flex;
85
+ align-items: center;
86
+ gap: 6px;
87
+ min-height: 34px;
88
+ padding: 0 12px;
89
+ border-radius: 999px;
90
+ background: rgba(255, 255, 255, 0.56);
91
+ border: 1px solid rgba(199, 116, 98, 0.14);
92
+ color: var(--color-text-secondary);
93
+ font-size: 12px;
94
+ font-weight: 600;
95
+ }
96
+
97
+ .task-hero-meta strong {
98
+ color: var(--color-text-primary);
99
+ }
100
+
101
+ .task-compose-flow-card,
102
+ .task-sidebar-card,
103
+ .task-plan-card,
104
+ .task-workbench-card {
105
+ padding: 18px;
106
+ }
107
+
108
+ .task-flow-section + .task-flow-section,
109
+ .task-sidebar-group + .task-sidebar-group {
110
+ margin-top: 18px;
111
+ padding-top: 18px;
112
+ border-top: 1px solid var(--color-border-soft);
113
+ }
114
+
115
+ .task-flow-section-compact {
116
+ margin-top: 0;
117
+ }
118
+
119
+ .task-flow-head {
120
+ display: flex;
121
+ align-items: flex-start;
122
+ gap: 12px;
123
+ margin-bottom: 14px;
124
+ }
125
+
126
+ .task-flow-step {
127
+ width: 28px;
128
+ height: 28px;
129
+ border-radius: 999px;
130
+ background: var(--color-brand-light);
131
+ color: var(--color-brand-dark);
132
+ font-size: 13px;
133
+ font-weight: 700;
134
+ display: inline-flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ flex: 0 0 auto;
138
+ }
139
+
140
+ .task-flow-title,
141
+ .task-sidebar-title,
142
+ .task-readiness-title,
143
+ .task-empty-title,
144
+ .task-template-label {
145
+ font-size: 14px;
146
+ font-weight: 700;
147
+ color: var(--color-text-primary);
148
+ }
149
+
150
+ .task-flow-copy,
151
+ .task-readiness-copy,
152
+ .task-field-hint,
153
+ .task-empty-copy,
154
+ .task-action-help-item {
155
+ font-size: 12px;
156
+ line-height: 1.6;
157
+ color: var(--color-text-secondary);
158
+ }
159
+
160
+ .task-template-block {
161
+ padding: 12px 14px;
162
+ background: var(--color-surface-alt);
163
+ }
164
+
165
+ .task-template-panel {
166
+ margin-bottom: 14px;
167
+ padding: 12px 14px;
168
+ border: 1px solid var(--color-border-soft);
169
+ border-radius: 16px;
170
+ background: var(--color-surface-alt);
171
+ }
172
+
173
+ .task-template-chip-group,
174
+ .task-workflow-suggestions {
175
+ display: flex;
176
+ flex-wrap: wrap;
177
+ gap: 8px;
178
+ margin-top: 10px;
179
+ }
180
+
181
+ .task-template-chip,
182
+ .task-workflow-chip,
183
+ .task-workbench-tab {
184
+ border: 1px solid var(--color-border);
185
+ background: var(--color-surface);
186
+ color: var(--color-text-primary);
187
+ border-radius: 999px;
188
+ padding: 7px 12px;
189
+ font-size: 12px;
190
+ font-weight: 600;
191
+ cursor: pointer;
192
+ transition:
193
+ background var(--transition-fast) var(--ease-smooth),
194
+ border-color var(--transition-fast) var(--ease-smooth),
195
+ color var(--transition-fast) var(--ease-smooth),
196
+ box-shadow var(--transition-fast) var(--ease-smooth);
197
+ }
198
+
199
+ .task-template-chip:hover,
200
+ .task-workflow-chip:hover,
201
+ .task-workbench-tab:hover {
202
+ background: var(--color-brand-light);
203
+ border-color: var(--color-brand);
204
+ color: var(--color-brand-dark);
205
+ }
206
+
207
+ .task-workflow-chip {
208
+ display: inline-flex;
209
+ align-items: center;
210
+ gap: 8px;
211
+ }
212
+
213
+ .task-workflow-chip small {
214
+ color: var(--color-text-secondary);
215
+ font-size: 11px;
216
+ }
217
+
218
+ .task-composer-grid {
219
+ display: grid;
220
+ grid-template-columns: repeat(2, minmax(0, 1fr));
221
+ gap: 12px;
222
+ }
223
+
224
+ .task-composer-grid-primary {
225
+ grid-template-columns: minmax(0, 1fr);
226
+ }
227
+
228
+ .task-composer-grid-compact {
229
+ grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
230
+ align-items: stretch;
231
+ }
232
+
233
+ .task-field-wide {
234
+ grid-column: 1 / -1;
235
+ }
236
+
237
+ .task-goal-field {
238
+ padding: 16px;
239
+ border-radius: 16px;
240
+ background: var(--color-surface-alt);
241
+ border: 1px solid var(--color-border-soft);
242
+ }
243
+
244
+ .task-textarea,
245
+ .task-log-block {
246
+ width: 100%;
247
+ min-height: 92px;
248
+ resize: vertical;
249
+ padding: 10px 12px;
250
+ border-radius: 12px;
251
+ border: 1px solid var(--color-border);
252
+ background: var(--color-surface);
253
+ color: var(--color-text-primary);
254
+ font: inherit;
255
+ box-sizing: border-box;
256
+ }
257
+
258
+ .task-textarea-goal {
259
+ min-height: 132px;
260
+ font-size: 14px;
261
+ line-height: 1.65;
262
+ }
263
+
264
+ .task-toggle-card {
265
+ padding: 14px;
266
+ border-radius: 16px;
267
+ border: 1px solid var(--color-border-soft);
268
+ background: var(--color-surface-alt);
269
+ }
270
+
271
+ .task-toggle-stack {
272
+ display: flex;
273
+ flex-direction: column;
274
+ gap: 10px;
275
+ margin-top: 8px;
276
+ }
277
+
278
+ .task-toggle-inline {
279
+ display: flex;
280
+ flex-wrap: wrap;
281
+ gap: 12px;
282
+ margin-top: 8px;
283
+ }
284
+
285
+ .task-toggle-card-inline {
286
+ min-height: 100%;
287
+ }
288
+
289
+ .task-toggle {
290
+ display: inline-flex;
291
+ align-items: center;
292
+ gap: 8px;
293
+ color: var(--color-text-secondary);
294
+ font-size: 13px;
295
+ }
296
+
297
+ .task-config-strip {
298
+ display: flex;
299
+ flex-wrap: wrap;
300
+ gap: 10px;
301
+ }
302
+
303
+ .task-config-strip-vertical {
304
+ flex-direction: column;
305
+ }
306
+
307
+ .task-config-pill {
308
+ display: inline-flex;
309
+ align-items: center;
310
+ min-height: 34px;
311
+ padding: 0 12px;
312
+ border-radius: 999px;
313
+ background: var(--color-surface-alt);
314
+ border: 1px solid var(--color-border);
315
+ color: var(--color-text-secondary);
316
+ font-size: 12px;
317
+ font-weight: 600;
318
+ }
319
+
320
+ .task-readiness-card,
321
+ .task-action-help,
322
+ .task-empty-state,
323
+ .task-stage-card {
324
+ padding: 14px;
325
+ background: var(--color-surface-alt);
326
+ }
327
+
328
+ .task-draft-overview,
329
+ .task-draft-inline,
330
+ .task-advanced-panel {
331
+ margin-top: 14px;
332
+ padding: 14px;
333
+ border: 1px solid var(--color-border-soft);
334
+ border-radius: 16px;
335
+ background: var(--color-surface-alt);
336
+ }
337
+
338
+ .task-draft-inline {
339
+ display: flex;
340
+ flex-direction: column;
341
+ gap: 12px;
342
+ }
343
+
344
+ .task-draft-inline-head {
345
+ display: flex;
346
+ align-items: center;
347
+ gap: 10px;
348
+ flex-wrap: wrap;
349
+ }
350
+
351
+ .task-draft-inline-copy {
352
+ min-width: 0;
353
+ }
354
+
355
+ .task-draft-overview-head {
356
+ display: flex;
357
+ align-items: flex-start;
358
+ justify-content: space-between;
359
+ gap: 12px;
360
+ }
361
+
362
+ .task-checklist-inline {
363
+ display: grid;
364
+ grid-template-columns: repeat(2, minmax(0, 1fr));
365
+ gap: 10px;
366
+ margin-top: 12px;
367
+ }
368
+
369
+ .task-check-chip {
370
+ display: flex;
371
+ flex-direction: column;
372
+ gap: 4px;
373
+ padding: 12px;
374
+ border-radius: 14px;
375
+ border: 1px solid var(--color-border);
376
+ background: var(--color-surface);
377
+ }
378
+
379
+ .task-check-chip strong {
380
+ font-size: 12px;
381
+ color: var(--color-text-primary);
382
+ }
383
+
384
+ .task-check-chip span {
385
+ font-size: 12px;
386
+ line-height: 1.5;
387
+ color: var(--color-text-secondary);
388
+ }
389
+
390
+ .task-check-chip.done {
391
+ border-color: rgba(81, 154, 91, 0.24);
392
+ background: rgba(81, 154, 91, 0.08);
393
+ }
394
+
395
+ .task-draft-overview .task-config-strip {
396
+ margin-top: 12px;
397
+ }
398
+
399
+ .task-advanced-panel[open] {
400
+ box-shadow: var(--shadow-subtle);
401
+ }
402
+
403
+ .task-advanced-summary {
404
+ cursor: pointer;
405
+ font-size: 13px;
406
+ font-weight: 700;
407
+ color: var(--color-text-primary);
408
+ list-style: none;
409
+ }
410
+
411
+ .task-advanced-summary::-webkit-details-marker {
412
+ display: none;
413
+ }
414
+
415
+ .task-advanced-panel > .task-composer-grid,
416
+ .task-advanced-panel > .selector-grid {
417
+ margin-top: 12px;
418
+ }
419
+
420
+ .task-readiness-head {
421
+ display: flex;
422
+ align-items: flex-start;
423
+ justify-content: space-between;
424
+ gap: 12px;
425
+ }
426
+
427
+ .task-readiness-grid {
428
+ display: grid;
429
+ grid-template-columns: repeat(2, minmax(0, 1fr));
430
+ gap: 10px;
431
+ margin-top: 12px;
432
+ }
433
+
434
+ .task-readiness-item {
435
+ display: flex;
436
+ flex-direction: column;
437
+ gap: 4px;
438
+ padding: 12px;
439
+ border-radius: 14px;
440
+ border: 1px solid var(--color-border);
441
+ background: var(--color-surface);
442
+ }
443
+
444
+ .task-readiness-item strong {
445
+ font-size: 12px;
446
+ color: var(--color-text-primary);
447
+ }
448
+
449
+ .task-readiness-item span {
450
+ font-size: 12px;
451
+ color: var(--color-text-secondary);
452
+ line-height: 1.5;
453
+ }
454
+
455
+ .task-readiness-item.done {
456
+ border-color: rgba(81, 154, 91, 0.24);
457
+ background: rgba(81, 154, 91, 0.08);
458
+ }
459
+
460
+ .task-action-row,
461
+ .task-plan-summary-strip,
462
+ .task-detail-summary-strip {
463
+ display: flex;
464
+ flex-wrap: wrap;
465
+ gap: 10px;
466
+ }
467
+
468
+ .task-action-row-prominent {
469
+ align-items: center;
470
+ margin-top: 4px;
471
+ }
472
+
473
+ .task-action-row > .btn-tool,
474
+ .task-section-header .settings-tab-actions > .btn-tool-compact,
475
+ .task-action-row-right > .btn-tool,
476
+ .task-detail-toolbar > .btn-tool-compact {
477
+ min-height: 38px;
478
+ height: 38px;
479
+ display: inline-flex;
480
+ align-items: center;
481
+ justify-content: center;
482
+ box-sizing: border-box;
483
+ }
484
+
485
+ .task-action-preview {
486
+ min-width: 110px;
487
+ }
488
+
489
+ .task-action-row-right {
490
+ display: flex;
491
+ flex-wrap: wrap;
492
+ gap: 10px;
493
+ }
494
+
495
+ .task-action-row-right-prominent > .btn-tool {
496
+ min-width: 110px;
497
+ }
498
+
499
+ .task-action-help-prominent,
500
+ .task-action-help-sidebar {
501
+ display: flex;
502
+ flex-direction: column;
503
+ gap: 8px;
504
+ margin-top: 12px;
505
+ }
506
+
507
+ .task-section-header {
508
+ align-items: center;
509
+ justify-content: space-between;
510
+ gap: 12px;
511
+ }
512
+
513
+ .task-section-header > :first-child {
514
+ flex: 1 1 auto;
515
+ min-width: 0;
516
+ }
517
+
518
+ .task-header-actions,
519
+ .task-section-header .settings-tab-actions,
520
+ .task-detail-toolbar {
521
+ display: flex;
522
+ flex-wrap: wrap;
523
+ gap: 8px;
524
+ align-items: center;
525
+ justify-content: flex-end;
526
+ margin-left: auto;
527
+ }
528
+
529
+ .task-workbench-tabs {
530
+ display: flex;
531
+ flex-wrap: wrap;
532
+ gap: 8px;
533
+ margin-top: 14px;
534
+ }
535
+
536
+ .task-workbench-tab.active {
537
+ background: var(--color-brand-light);
538
+ border-color: var(--color-brand);
539
+ color: var(--color-brand-dark);
540
+ box-shadow: var(--shadow-subtle);
541
+ }
542
+
543
+ .task-workbench-panel {
544
+ margin-top: 14px;
545
+ }
546
+
547
+ .task-action-caption {
548
+ margin-top: 12px;
549
+ font-size: 12px;
550
+ line-height: 1.6;
551
+ color: var(--color-text-secondary);
552
+ }
553
+
554
+ .task-stage-empty {
555
+ display: flex;
556
+ align-items: center;
557
+ justify-content: space-between;
558
+ gap: 16px;
559
+ }
560
+
561
+ .task-stage-strip {
562
+ display: flex;
563
+ flex-wrap: wrap;
564
+ gap: 8px;
565
+ justify-content: flex-end;
566
+ }
567
+
568
+ .task-stage-pill {
569
+ padding: 8px 12px;
570
+ border-radius: 999px;
571
+ border: 1px solid var(--color-border-soft);
572
+ background: var(--color-surface);
573
+ font-size: 12px;
574
+ font-weight: 600;
575
+ color: var(--color-text-secondary);
576
+ }
577
+
578
+ .task-plan-summary-item {
579
+ min-width: 120px;
580
+ padding: 12px;
581
+ border-radius: 14px;
582
+ border: 1px solid var(--color-border);
583
+ background: var(--color-surface-alt);
584
+ display: flex;
585
+ flex-direction: column;
586
+ gap: 4px;
587
+ }
588
+
589
+ .task-plan-summary-label {
590
+ font-size: 11px;
591
+ color: var(--color-text-muted);
592
+ text-transform: uppercase;
593
+ letter-spacing: 0.06em;
594
+ }
595
+
596
+ .task-wave-list,
597
+ .task-node-list,
598
+ .task-runtime-list,
599
+ .task-warning-list,
600
+ .task-issues-list {
601
+ display: flex;
602
+ flex-direction: column;
603
+ gap: 10px;
604
+ margin-top: 12px;
605
+ }
606
+
607
+ .task-wave-card,
608
+ .task-node-card,
609
+ .task-runtime-item,
610
+ .task-warning-item,
611
+ .task-issue-item {
612
+ border: 1px solid var(--color-border);
613
+ border-radius: 14px;
614
+ background: var(--color-surface-alt);
615
+ }
616
+
617
+ .task-wave-card,
618
+ .task-node-card {
619
+ padding: 14px;
620
+ }
621
+
622
+ .task-warning-item,
623
+ .task-issue-item {
624
+ padding: 10px 12px;
625
+ font-size: 13px;
626
+ }
627
+
628
+ .task-warning-item {
629
+ color: var(--color-text-secondary);
630
+ background: rgba(255, 244, 220, 0.7);
631
+ }
632
+
633
+ .task-issue-item {
634
+ color: #8f2d21;
635
+ background: rgba(255, 232, 228, 0.75);
636
+ }
637
+
638
+ .task-wave-title,
639
+ .task-node-title,
640
+ .task-runtime-item-title {
641
+ font-weight: 700;
642
+ color: var(--color-text-primary);
643
+ }
644
+
645
+ .task-wave-nodes,
646
+ .task-node-meta,
647
+ .task-node-deps,
648
+ .task-runtime-item-meta,
649
+ .task-runtime-item-summary {
650
+ font-size: 12px;
651
+ color: var(--color-text-secondary);
652
+ line-height: 1.55;
653
+ }
654
+
655
+ .task-node-head,
656
+ .task-runtime-item,
657
+ .task-runtime-item-actions {
658
+ display: flex;
659
+ align-items: flex-start;
660
+ justify-content: space-between;
661
+ gap: 10px;
662
+ }
663
+
664
+ .task-runtime-item {
665
+ width: 100%;
666
+ padding: 14px;
667
+ cursor: default;
668
+ text-align: left;
669
+ }
670
+
671
+ .task-runtime-item.clickable {
672
+ cursor: pointer;
673
+ }
674
+
675
+ .task-runtime-item.active {
676
+ border-color: rgba(199, 116, 98, 0.3);
677
+ background: var(--color-brand-light);
678
+ }
679
+
680
+ .task-runtime-item-main {
681
+ min-width: 0;
682
+ flex: 1;
683
+ display: flex;
684
+ flex-direction: column;
685
+ gap: 4px;
686
+ }
687
+
688
+ .task-runtime-item-actions {
689
+ flex-direction: row;
690
+ align-items: center;
691
+ justify-content: flex-end;
692
+ flex-wrap: nowrap;
693
+ flex: 0 0 auto;
694
+ }
695
+
696
+ .task-runtime-item-actions .btn-mini {
697
+ min-width: 72px;
698
+ min-height: 30px;
699
+ height: 30px;
700
+ display: inline-flex;
701
+ align-items: center;
702
+ justify-content: center;
703
+ box-sizing: border-box;
704
+ }
705
+
706
+ .pill.success {
707
+ background: rgba(81, 154, 91, 0.14);
708
+ color: #285d31;
709
+ }
710
+
711
+ .pill.warn {
712
+ background: rgba(214, 153, 58, 0.16);
713
+ color: #7a5110;
714
+ }
715
+
716
+ .pill.error {
717
+ background: rgba(194, 73, 63, 0.16);
718
+ color: #8f2d21;
719
+ }
720
+
721
+ .pill.neutral {
722
+ background: rgba(116, 126, 138, 0.14);
723
+ color: #45515e;
724
+ }
725
+
726
+ .task-log-block {
727
+ margin: 10px 0 0;
728
+ min-height: 120px;
729
+ white-space: pre-wrap;
730
+ word-break: break-word;
731
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
732
+ font-size: 12px;
733
+ line-height: 1.55;
734
+ }
735
+
736
+ @media (max-width: 1200px) {
737
+ .task-layout-grid-primary,
738
+ .task-layout-grid-secondary {
739
+ grid-template-columns: 1fr;
740
+ }
741
+ }
742
+
743
+ @media (max-width: 720px) {
744
+ .task-composer-grid,
745
+ .task-readiness-grid,
746
+ .task-checklist-inline,
747
+ .task-composer-grid-compact {
748
+ grid-template-columns: 1fr;
749
+ }
750
+
751
+ .task-hero-main,
752
+ .task-flow-head,
753
+ .task-draft-overview-head,
754
+ .task-stage-empty,
755
+ .task-readiness-head,
756
+ .task-section-header,
757
+ .task-node-head,
758
+ .task-runtime-item,
759
+ .task-runtime-item-actions {
760
+ flex-direction: column;
761
+ align-items: stretch;
762
+ }
763
+
764
+ .task-header-actions,
765
+ .task-section-header .settings-tab-actions,
766
+ .task-detail-toolbar,
767
+ .task-action-row-right {
768
+ margin-left: 0;
769
+ width: 100%;
770
+ justify-content: flex-start;
771
+ }
772
+
773
+ .task-hero-actions {
774
+ flex-wrap: wrap;
775
+ }
776
+ }