@skillcdn/console 0.0.0-stage → 0.1.0

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 (128) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +79 -2
  3. package/dist/api.d.ts +7 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +11 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/cli/cli.d.ts +32 -0
  8. package/dist/cli/cli.d.ts.map +1 -0
  9. package/dist/cli/cli.js +553 -0
  10. package/dist/cli/cli.js.map +1 -0
  11. package/dist/cli/credentials.d.ts +16 -0
  12. package/dist/cli/credentials.d.ts.map +1 -0
  13. package/dist/cli/credentials.js +46 -0
  14. package/dist/cli/credentials.js.map +1 -0
  15. package/dist/cli/format.d.ts +16 -0
  16. package/dist/cli/format.d.ts.map +1 -0
  17. package/dist/cli/format.js +151 -0
  18. package/dist/cli/format.js.map +1 -0
  19. package/dist/cli/help.d.ts +16 -0
  20. package/dist/cli/help.d.ts.map +1 -0
  21. package/dist/cli/help.js +180 -0
  22. package/dist/cli/help.js.map +1 -0
  23. package/dist/cli/main.d.ts +3 -0
  24. package/dist/cli/main.d.ts.map +1 -0
  25. package/dist/cli/main.js +25 -0
  26. package/dist/cli/main.js.map +1 -0
  27. package/dist/cli/terminal.d.ts +12 -0
  28. package/dist/cli/terminal.d.ts.map +1 -0
  29. package/dist/cli/terminal.js +68 -0
  30. package/dist/cli/terminal.js.map +1 -0
  31. package/dist/client.d.ts +92 -0
  32. package/dist/client.d.ts.map +1 -0
  33. package/dist/client.js +117 -0
  34. package/dist/client.js.map +1 -0
  35. package/dist/components/board.d.ts +20 -0
  36. package/dist/components/board.d.ts.map +1 -0
  37. package/dist/components/board.js +19 -0
  38. package/dist/components/board.js.map +1 -0
  39. package/dist/components/decision-form.d.ts +13 -0
  40. package/dist/components/decision-form.d.ts.map +1 -0
  41. package/dist/components/decision-form.js +23 -0
  42. package/dist/components/decision-form.js.map +1 -0
  43. package/dist/components/decision-list.d.ts +22 -0
  44. package/dist/components/decision-list.d.ts.map +1 -0
  45. package/dist/components/decision-list.js +28 -0
  46. package/dist/components/decision-list.js.map +1 -0
  47. package/dist/components/event-feed.d.ts +13 -0
  48. package/dist/components/event-feed.d.ts.map +1 -0
  49. package/dist/components/event-feed.js +59 -0
  50. package/dist/components/event-feed.js.map +1 -0
  51. package/dist/components/markdown.d.ts +4 -0
  52. package/dist/components/markdown.d.ts.map +1 -0
  53. package/dist/components/markdown.js +34 -0
  54. package/dist/components/markdown.js.map +1 -0
  55. package/dist/components/people.d.ts +11 -0
  56. package/dist/components/people.d.ts.map +1 -0
  57. package/dist/components/people.js +7 -0
  58. package/dist/components/people.js.map +1 -0
  59. package/dist/components/runs.d.ts +27 -0
  60. package/dist/components/runs.d.ts.map +1 -0
  61. package/dist/components/runs.js +45 -0
  62. package/dist/components/runs.js.map +1 -0
  63. package/dist/components/shell.d.ts +22 -0
  64. package/dist/components/shell.d.ts.map +1 -0
  65. package/dist/components/shell.js +16 -0
  66. package/dist/components/shell.js.map +1 -0
  67. package/dist/components/sign-in.d.ts +11 -0
  68. package/dist/components/sign-in.d.ts.map +1 -0
  69. package/dist/components/sign-in.js +15 -0
  70. package/dist/components/sign-in.js.map +1 -0
  71. package/dist/components/skills.d.ts +7 -0
  72. package/dist/components/skills.d.ts.map +1 -0
  73. package/dist/components/skills.js +26 -0
  74. package/dist/components/skills.js.map +1 -0
  75. package/dist/components/task-form.d.ts +14 -0
  76. package/dist/components/task-form.d.ts.map +1 -0
  77. package/dist/components/task-form.js +34 -0
  78. package/dist/components/task-form.js.map +1 -0
  79. package/dist/components/task-view.d.ts +22 -0
  80. package/dist/components/task-view.d.ts.map +1 -0
  81. package/dist/components/task-view.js +32 -0
  82. package/dist/components/task-view.js.map +1 -0
  83. package/dist/components/tokens.d.ts +26 -0
  84. package/dist/components/tokens.d.ts.map +1 -0
  85. package/dist/components/tokens.js +42 -0
  86. package/dist/components/tokens.js.map +1 -0
  87. package/dist/components/ui.d.ts +61 -0
  88. package/dist/components/ui.d.ts.map +1 -0
  89. package/dist/components/ui.js +109 -0
  90. package/dist/components/ui.js.map +1 -0
  91. package/dist/console.css +1382 -0
  92. package/dist/console.d.ts +44 -0
  93. package/dist/console.d.ts.map +1 -0
  94. package/dist/console.js +181 -0
  95. package/dist/console.js.map +1 -0
  96. package/dist/data.d.ts +41 -0
  97. package/dist/data.d.ts.map +1 -0
  98. package/dist/data.js +208 -0
  99. package/dist/data.js.map +1 -0
  100. package/dist/index.d.ts +19 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +23 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/limits.d.ts +37 -0
  105. package/dist/limits.d.ts.map +1 -0
  106. package/dist/limits.js +40 -0
  107. package/dist/limits.js.map +1 -0
  108. package/dist/router.d.ts +37 -0
  109. package/dist/router.d.ts.map +1 -0
  110. package/dist/router.js +55 -0
  111. package/dist/router.js.map +1 -0
  112. package/dist/routes.d.ts +47 -0
  113. package/dist/routes.d.ts.map +1 -0
  114. package/dist/routes.js +53 -0
  115. package/dist/routes.js.map +1 -0
  116. package/dist/schemas.d.ts +789 -0
  117. package/dist/schemas.d.ts.map +1 -0
  118. package/dist/schemas.js +341 -0
  119. package/dist/schemas.js.map +1 -0
  120. package/dist/text.d.ts +6 -0
  121. package/dist/text.d.ts.map +1 -0
  122. package/dist/text.js +31 -0
  123. package/dist/text.js.map +1 -0
  124. package/dist/vocabulary.d.ts +35 -0
  125. package/dist/vocabulary.d.ts.map +1 -0
  126. package/dist/vocabulary.js +57 -0
  127. package/dist/vocabulary.js.map +1 -0
  128. package/package.json +70 -3
@@ -0,0 +1,1382 @@
1
+ /*
2
+ * The styles of the default console: the design tokens, the reset the pages need, and one class
3
+ * per building block, all prefixed `sc-` so that a custom console's own styles never collide
4
+ * with them. Re-skinning starts and mostly ends with the tokens. Dark, with one accent.
5
+ */
6
+
7
+ :root {
8
+ color-scheme: dark;
9
+
10
+ --sc-color-bg: #0c1118;
11
+ --sc-color-bg-subtle: #111823;
12
+ --sc-color-bg-inset: #18202c;
13
+ --sc-color-bg-raised: #1d2735;
14
+ --sc-color-border: #263142;
15
+ --sc-color-border-strong: #3a4859;
16
+ --sc-color-text: #e7ebf0;
17
+ --sc-color-text-muted: #9ba6b4;
18
+ --sc-color-text-faint: #76829a;
19
+ --sc-color-accent: #6ea1ff;
20
+ --sc-color-accent-hover: #8fb6ff;
21
+ --sc-color-accent-solid: #3b6fd4;
22
+ --sc-color-accent-solid-hover: #4a7ce0;
23
+ --sc-color-accent-contrast: #ffffff;
24
+ --sc-color-accent-subtle: #13203a;
25
+ --sc-color-point: #ffb13a;
26
+ --sc-color-point-subtle: #2a1d0b;
27
+ --sc-color-success: #4cc38a;
28
+ --sc-color-success-subtle: #0d1f16;
29
+ --sc-color-warning: #e3b341;
30
+ --sc-color-warning-subtle: #241c0a;
31
+ --sc-color-danger: #ff7b85;
32
+ --sc-color-danger-subtle: #2a1014;
33
+ --sc-color-selection: rgba(59, 111, 212, 0.6);
34
+
35
+ --sc-font-sans:
36
+ system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo",
37
+ "Malgun Gothic", "Noto Sans KR", Arial, sans-serif;
38
+ --sc-font-mono:
39
+ ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
40
+
41
+ --sc-text-xs: 0.75rem;
42
+ --sc-text-sm: 0.875rem;
43
+ --sc-text-md: 1rem;
44
+ --sc-text-lg: 1.125rem;
45
+ --sc-text-xl: 1.375rem;
46
+ --sc-text-2xl: 1.75rem;
47
+ --sc-leading-tight: 1.25;
48
+ --sc-leading-normal: 1.55;
49
+ --sc-weight-medium: 500;
50
+ --sc-weight-bold: 650;
51
+
52
+ --sc-space-1: 0.25rem;
53
+ --sc-space-2: 0.5rem;
54
+ --sc-space-3: 0.75rem;
55
+ --sc-space-4: 1rem;
56
+ --sc-space-5: 1.5rem;
57
+ --sc-space-6: 2rem;
58
+ --sc-space-7: 3rem;
59
+
60
+ --sc-radius-sm: 4px;
61
+ --sc-radius-md: 8px;
62
+ --sc-radius-lg: 12px;
63
+ --sc-radius-full: 999px;
64
+ --sc-border: 1px solid var(--sc-color-border);
65
+
66
+ --sc-width-page: 84rem;
67
+ --sc-width-prose: 46rem;
68
+ --sc-column-width: 17rem;
69
+ --sc-focus-ring: 2px solid var(--sc-color-accent);
70
+ --sc-transition: 120ms ease-out;
71
+ --sc-shadow: 0 0.5rem 1.5rem -0.75rem rgba(0, 0, 0, 0.6);
72
+ }
73
+
74
+ /* Reset: only what the pages need. */
75
+
76
+ *,
77
+ *::before,
78
+ *::after {
79
+ box-sizing: border-box;
80
+ }
81
+
82
+ html {
83
+ -webkit-text-size-adjust: 100%;
84
+ text-size-adjust: 100%;
85
+ }
86
+
87
+ body {
88
+ margin: 0;
89
+ min-height: 100dvh;
90
+ background: var(--sc-color-bg);
91
+ color: var(--sc-color-text);
92
+ font-family: var(--sc-font-sans);
93
+ font-size: var(--sc-text-md);
94
+ line-height: var(--sc-leading-normal);
95
+ -webkit-font-smoothing: antialiased;
96
+ }
97
+
98
+ :lang(ko) {
99
+ word-break: keep-all;
100
+ overflow-wrap: anywhere;
101
+ }
102
+
103
+ h1,
104
+ h2,
105
+ h3,
106
+ h4,
107
+ p,
108
+ ul,
109
+ ol,
110
+ dl,
111
+ dd,
112
+ figure,
113
+ pre {
114
+ margin: 0;
115
+ }
116
+
117
+ h1,
118
+ h2,
119
+ h3,
120
+ h4 {
121
+ line-height: var(--sc-leading-tight);
122
+ font-weight: var(--sc-weight-bold);
123
+ letter-spacing: -0.01em;
124
+ }
125
+
126
+ ul,
127
+ ol {
128
+ padding: 0;
129
+ list-style: none;
130
+ }
131
+
132
+ a {
133
+ color: var(--sc-color-accent);
134
+ text-decoration-thickness: 1px;
135
+ text-underline-offset: 0.18em;
136
+ }
137
+
138
+ a:hover {
139
+ color: var(--sc-color-accent-hover);
140
+ }
141
+
142
+ code,
143
+ kbd,
144
+ pre,
145
+ samp {
146
+ font-family: var(--sc-font-mono);
147
+ font-size: 0.92em;
148
+ }
149
+
150
+ button,
151
+ input,
152
+ select,
153
+ textarea {
154
+ font: inherit;
155
+ color: inherit;
156
+ }
157
+
158
+ button {
159
+ cursor: pointer;
160
+ }
161
+
162
+ :focus-visible {
163
+ outline: var(--sc-focus-ring);
164
+ outline-offset: 2px;
165
+ border-radius: var(--sc-radius-sm);
166
+ }
167
+
168
+ img,
169
+ svg {
170
+ display: block;
171
+ max-width: 100%;
172
+ }
173
+
174
+ ::selection {
175
+ background: var(--sc-color-selection);
176
+ color: var(--sc-color-accent-contrast);
177
+ }
178
+
179
+ .sc-visually-hidden {
180
+ position: absolute;
181
+ width: 1px;
182
+ height: 1px;
183
+ margin: -1px;
184
+ padding: 0;
185
+ overflow: hidden;
186
+ clip-path: inset(50%);
187
+ white-space: nowrap;
188
+ border: 0;
189
+ }
190
+
191
+ .sc-muted {
192
+ color: var(--sc-color-text-muted);
193
+ }
194
+
195
+ /* The shell: a header with the name, the pages and the person; the page below it. */
196
+
197
+ .sc-shell {
198
+ display: flex;
199
+ flex-direction: column;
200
+ min-height: 100dvh;
201
+ }
202
+
203
+ .sc-skip {
204
+ position: absolute;
205
+ top: var(--sc-space-2);
206
+ left: var(--sc-space-2);
207
+ z-index: 20;
208
+ padding: var(--sc-space-2) var(--sc-space-3);
209
+ border-radius: var(--sc-radius-md);
210
+ background: var(--sc-color-accent-solid);
211
+ color: var(--sc-color-accent-contrast);
212
+ transform: translateY(-200%);
213
+ }
214
+
215
+ .sc-skip:focus {
216
+ transform: none;
217
+ color: var(--sc-color-accent-contrast);
218
+ }
219
+
220
+ .sc-header {
221
+ position: sticky;
222
+ top: 0;
223
+ z-index: 10;
224
+ border-bottom: var(--sc-border);
225
+ background: color-mix(in srgb, var(--sc-color-bg) 88%, transparent);
226
+ backdrop-filter: blur(12px);
227
+ }
228
+
229
+ .sc-header-inner {
230
+ display: flex;
231
+ align-items: center;
232
+ gap: var(--sc-space-5);
233
+ max-width: var(--sc-width-page);
234
+ min-height: 3.5rem;
235
+ margin-inline: auto;
236
+ padding-inline: var(--sc-space-5);
237
+ }
238
+
239
+ .sc-brand {
240
+ color: var(--sc-color-text);
241
+ font-weight: var(--sc-weight-bold);
242
+ letter-spacing: -0.01em;
243
+ text-decoration: none;
244
+ white-space: nowrap;
245
+ }
246
+
247
+ .sc-nav {
248
+ display: flex;
249
+ gap: var(--sc-space-1);
250
+ }
251
+
252
+ .sc-nav-link {
253
+ display: inline-flex;
254
+ align-items: center;
255
+ gap: var(--sc-space-2);
256
+ padding: var(--sc-space-1) var(--sc-space-3);
257
+ border-radius: var(--sc-radius-md);
258
+ color: var(--sc-color-text-muted);
259
+ font-size: var(--sc-text-sm);
260
+ font-weight: var(--sc-weight-medium);
261
+ text-decoration: none;
262
+ transition:
263
+ background var(--sc-transition),
264
+ color var(--sc-transition);
265
+ }
266
+
267
+ .sc-nav-link:hover {
268
+ background: var(--sc-color-bg-inset);
269
+ color: var(--sc-color-text);
270
+ }
271
+
272
+ .sc-nav-current {
273
+ background: var(--sc-color-bg-inset);
274
+ color: var(--sc-color-text);
275
+ }
276
+
277
+ .sc-nav-count {
278
+ display: inline-flex;
279
+ align-items: center;
280
+ justify-content: center;
281
+ min-width: 1.25rem;
282
+ padding-inline: var(--sc-space-1);
283
+ border-radius: var(--sc-radius-full);
284
+ background: var(--sc-color-point-subtle);
285
+ color: var(--sc-color-point);
286
+ font-size: var(--sc-text-xs);
287
+ line-height: 1.25rem;
288
+ }
289
+
290
+ .sc-header-end {
291
+ display: flex;
292
+ align-items: center;
293
+ gap: var(--sc-space-3);
294
+ margin-left: auto;
295
+ }
296
+
297
+ .sc-live {
298
+ width: 0.5rem;
299
+ height: 0.5rem;
300
+ border-radius: 50%;
301
+ background: var(--sc-color-text-faint);
302
+ }
303
+
304
+ .sc-live-on {
305
+ background: var(--sc-color-success);
306
+ box-shadow: 0 0 0 3px var(--sc-color-success-subtle);
307
+ }
308
+
309
+ .sc-main {
310
+ flex: 1;
311
+ width: 100%;
312
+ max-width: var(--sc-width-page);
313
+ margin-inline: auto;
314
+ padding: var(--sc-space-6) var(--sc-space-5) var(--sc-space-7);
315
+ }
316
+
317
+ .sc-page-head {
318
+ display: flex;
319
+ flex-wrap: wrap;
320
+ align-items: center;
321
+ justify-content: space-between;
322
+ gap: var(--sc-space-3);
323
+ margin-bottom: var(--sc-space-5);
324
+ }
325
+
326
+ .sc-page-title {
327
+ font-size: var(--sc-text-2xl);
328
+ }
329
+
330
+ .sc-section-title {
331
+ display: flex;
332
+ align-items: center;
333
+ gap: var(--sc-space-2);
334
+ margin-bottom: var(--sc-space-3);
335
+ font-size: var(--sc-text-lg);
336
+ }
337
+
338
+ .sc-panel {
339
+ margin-bottom: var(--sc-space-5);
340
+ padding: var(--sc-space-5);
341
+ border: var(--sc-border);
342
+ border-radius: var(--sc-radius-lg);
343
+ background: var(--sc-color-bg-subtle);
344
+ }
345
+
346
+ .sc-loading {
347
+ display: grid;
348
+ place-items: center;
349
+ min-height: 50dvh;
350
+ padding: var(--sc-space-5);
351
+ }
352
+
353
+ /* Buttons */
354
+
355
+ .sc-button {
356
+ display: inline-flex;
357
+ align-items: center;
358
+ justify-content: center;
359
+ gap: var(--sc-space-2);
360
+ min-height: 2.5rem;
361
+ padding: 0 var(--sc-space-4);
362
+ border: 1px solid transparent;
363
+ border-radius: var(--sc-radius-md);
364
+ font-size: var(--sc-text-sm);
365
+ font-weight: var(--sc-weight-medium);
366
+ line-height: 1;
367
+ white-space: nowrap;
368
+ text-decoration: none;
369
+ transition:
370
+ background var(--sc-transition),
371
+ border-color var(--sc-transition),
372
+ color var(--sc-transition);
373
+ }
374
+
375
+ .sc-button:disabled {
376
+ opacity: 0.55;
377
+ cursor: not-allowed;
378
+ }
379
+
380
+ .sc-button-sm {
381
+ min-height: 2rem;
382
+ padding: 0 var(--sc-space-3);
383
+ font-size: var(--sc-text-xs);
384
+ }
385
+
386
+ .sc-button-primary {
387
+ background: var(--sc-color-accent-solid);
388
+ color: var(--sc-color-accent-contrast);
389
+ }
390
+
391
+ .sc-button-primary:hover:not(:disabled) {
392
+ background: var(--sc-color-accent-solid-hover);
393
+ color: var(--sc-color-accent-contrast);
394
+ }
395
+
396
+ .sc-button-secondary {
397
+ background: var(--sc-color-bg);
398
+ border-color: var(--sc-color-border-strong);
399
+ color: var(--sc-color-text);
400
+ }
401
+
402
+ .sc-button-secondary:hover:not(:disabled) {
403
+ background: var(--sc-color-bg-subtle);
404
+ }
405
+
406
+ .sc-button-ghost {
407
+ background: transparent;
408
+ color: var(--sc-color-text-muted);
409
+ }
410
+
411
+ .sc-button-ghost:hover:not(:disabled) {
412
+ background: var(--sc-color-bg-inset);
413
+ color: var(--sc-color-text);
414
+ }
415
+
416
+ .sc-button-danger {
417
+ background: var(--sc-color-danger-subtle);
418
+ border-color: var(--sc-color-danger);
419
+ color: var(--sc-color-danger);
420
+ }
421
+
422
+ /* Badges */
423
+
424
+ .sc-badge {
425
+ display: inline-flex;
426
+ align-items: center;
427
+ gap: var(--sc-space-1);
428
+ padding: var(--sc-space-1) var(--sc-space-2);
429
+ border: 1px solid var(--sc-color-border);
430
+ border-radius: var(--sc-radius-full);
431
+ font-size: var(--sc-text-xs);
432
+ font-weight: var(--sc-weight-medium);
433
+ line-height: 1.2;
434
+ white-space: nowrap;
435
+ }
436
+
437
+ .sc-badge-neutral {
438
+ background: var(--sc-color-bg-subtle);
439
+ color: var(--sc-color-text-muted);
440
+ }
441
+
442
+ .sc-badge-accent {
443
+ background: var(--sc-color-accent-subtle);
444
+ border-color: transparent;
445
+ color: var(--sc-color-accent);
446
+ }
447
+
448
+ .sc-badge-point {
449
+ background: var(--sc-color-point-subtle);
450
+ border-color: transparent;
451
+ color: var(--sc-color-point);
452
+ }
453
+
454
+ .sc-badge-success {
455
+ background: var(--sc-color-success-subtle);
456
+ border-color: transparent;
457
+ color: var(--sc-color-success);
458
+ }
459
+
460
+ .sc-badge-warning {
461
+ background: var(--sc-color-warning-subtle);
462
+ border-color: transparent;
463
+ color: var(--sc-color-warning);
464
+ }
465
+
466
+ .sc-badge-danger {
467
+ background: var(--sc-color-danger-subtle);
468
+ border-color: transparent;
469
+ color: var(--sc-color-danger);
470
+ }
471
+
472
+ /* People */
473
+
474
+ .sc-avatar {
475
+ flex: none;
476
+ aspect-ratio: 1;
477
+ object-fit: cover;
478
+ border: var(--sc-border);
479
+ border-radius: 22%;
480
+ background: var(--sc-color-bg-inset);
481
+ }
482
+
483
+ .sc-avatar-initial {
484
+ display: inline-grid;
485
+ place-items: center;
486
+ color: var(--sc-color-text-muted);
487
+ font-size: 0.6em;
488
+ font-weight: var(--sc-weight-bold);
489
+ line-height: 1;
490
+ }
491
+
492
+ .sc-avatar-sm {
493
+ width: 1.5rem;
494
+ height: 1.5rem;
495
+ }
496
+
497
+ .sc-avatar-md {
498
+ width: 2.25rem;
499
+ height: 2.25rem;
500
+ }
501
+
502
+ .sc-avatar-lg {
503
+ width: 4rem;
504
+ height: 4rem;
505
+ }
506
+
507
+ .sc-person {
508
+ display: inline-flex;
509
+ align-items: center;
510
+ gap: var(--sc-space-2);
511
+ vertical-align: middle;
512
+ }
513
+
514
+ .sc-person-login {
515
+ font-weight: var(--sc-weight-medium);
516
+ }
517
+
518
+ /* Callouts, empty states, spinner */
519
+
520
+ .sc-callout {
521
+ display: flex;
522
+ align-items: flex-start;
523
+ justify-content: space-between;
524
+ gap: var(--sc-space-4);
525
+ margin-bottom: var(--sc-space-4);
526
+ padding: var(--sc-space-4);
527
+ border: 1px solid var(--sc-color-border-strong);
528
+ border-radius: var(--sc-radius-md);
529
+ background: var(--sc-color-bg-subtle);
530
+ font-size: var(--sc-text-sm);
531
+ }
532
+
533
+ .sc-callout-warning {
534
+ border-color: var(--sc-color-warning);
535
+ background: var(--sc-color-warning-subtle);
536
+ }
537
+
538
+ .sc-callout-danger {
539
+ border-color: var(--sc-color-danger);
540
+ background: var(--sc-color-danger-subtle);
541
+ }
542
+
543
+ .sc-callout-title {
544
+ font-weight: var(--sc-weight-bold);
545
+ }
546
+
547
+ .sc-callout-body {
548
+ color: var(--sc-color-text-muted);
549
+ }
550
+
551
+ .sc-callout-title + .sc-callout-body {
552
+ margin-top: var(--sc-space-1);
553
+ }
554
+
555
+ .sc-empty {
556
+ padding: var(--sc-space-6) var(--sc-space-5);
557
+ border: 1px dashed var(--sc-color-border-strong);
558
+ border-radius: var(--sc-radius-lg);
559
+ text-align: center;
560
+ }
561
+
562
+ .sc-empty-title {
563
+ font-weight: var(--sc-weight-bold);
564
+ }
565
+
566
+ .sc-empty-body {
567
+ max-width: 34rem;
568
+ margin: var(--sc-space-2) auto 0;
569
+ color: var(--sc-color-text-muted);
570
+ font-size: var(--sc-text-sm);
571
+ }
572
+
573
+ .sc-empty-action {
574
+ margin-top: var(--sc-space-4);
575
+ }
576
+
577
+ .sc-spinner {
578
+ display: inline-flex;
579
+ }
580
+
581
+ .sc-spinner-ring {
582
+ width: 1.25rem;
583
+ height: 1.25rem;
584
+ border: 2px solid var(--sc-color-border-strong);
585
+ border-top-color: var(--sc-color-accent);
586
+ border-radius: 50%;
587
+ }
588
+
589
+ @media (prefers-reduced-motion: no-preference) {
590
+ .sc-spinner-ring {
591
+ animation: sc-spin 700ms linear infinite;
592
+ }
593
+ }
594
+
595
+ @keyframes sc-spin {
596
+ to {
597
+ transform: rotate(360deg);
598
+ }
599
+ }
600
+
601
+ .sc-time {
602
+ color: var(--sc-color-text-faint);
603
+ font-size: var(--sc-text-xs);
604
+ white-space: nowrap;
605
+ }
606
+
607
+ /* Forms */
608
+
609
+ .sc-form {
610
+ display: grid;
611
+ gap: var(--sc-space-4);
612
+ }
613
+
614
+ .sc-field {
615
+ display: grid;
616
+ gap: var(--sc-space-1);
617
+ min-width: 0;
618
+ margin: 0;
619
+ padding: 0;
620
+ border: 0;
621
+ }
622
+
623
+ .sc-field-inline {
624
+ grid-auto-flow: column;
625
+ align-items: center;
626
+ gap: var(--sc-space-2);
627
+ }
628
+
629
+ .sc-field-label {
630
+ color: var(--sc-color-text-muted);
631
+ font-size: var(--sc-text-xs);
632
+ font-weight: var(--sc-weight-medium);
633
+ letter-spacing: 0.04em;
634
+ text-transform: uppercase;
635
+ }
636
+
637
+ .sc-field-row {
638
+ display: grid;
639
+ grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
640
+ gap: var(--sc-space-4);
641
+ }
642
+
643
+ .sc-input {
644
+ width: 100%;
645
+ min-height: 2.5rem;
646
+ padding: var(--sc-space-2) var(--sc-space-3);
647
+ border: 1px solid var(--sc-color-border-strong);
648
+ border-radius: var(--sc-radius-md);
649
+ background: var(--sc-color-bg);
650
+ color: var(--sc-color-text);
651
+ font-size: var(--sc-text-sm);
652
+ }
653
+
654
+ .sc-input:focus {
655
+ outline: var(--sc-focus-ring);
656
+ outline-offset: 0;
657
+ border-color: var(--sc-color-accent);
658
+ }
659
+
660
+ .sc-textarea {
661
+ min-height: 6rem;
662
+ resize: vertical;
663
+ font-family: var(--sc-font-mono);
664
+ line-height: 1.6;
665
+ }
666
+
667
+ .sc-link-row {
668
+ display: grid;
669
+ grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto;
670
+ gap: var(--sc-space-2);
671
+ align-items: center;
672
+ }
673
+
674
+ .sc-links,
675
+ .sc-options {
676
+ gap: var(--sc-space-2);
677
+ }
678
+
679
+ .sc-form-actions {
680
+ display: flex;
681
+ flex-wrap: wrap;
682
+ gap: var(--sc-space-2);
683
+ }
684
+
685
+ .sc-form-error {
686
+ color: var(--sc-color-danger);
687
+ font-size: var(--sc-text-sm);
688
+ }
689
+
690
+ /* The board */
691
+
692
+ .sc-board {
693
+ display: grid;
694
+ grid-auto-flow: column;
695
+ grid-auto-columns: var(--sc-column-width);
696
+ gap: var(--sc-space-4);
697
+ overflow-x: auto;
698
+ padding-bottom: var(--sc-space-4);
699
+ scroll-snap-type: x proximity;
700
+ }
701
+
702
+ .sc-column {
703
+ display: flex;
704
+ flex-direction: column;
705
+ min-height: 20rem;
706
+ border: var(--sc-border);
707
+ border-radius: var(--sc-radius-lg);
708
+ background: var(--sc-color-bg-subtle);
709
+ scroll-snap-align: start;
710
+ }
711
+
712
+ .sc-column-header {
713
+ display: flex;
714
+ align-items: center;
715
+ justify-content: space-between;
716
+ padding: var(--sc-space-3) var(--sc-space-4);
717
+ border-bottom: var(--sc-border);
718
+ }
719
+
720
+ .sc-column-header h2 {
721
+ font-size: var(--sc-text-sm);
722
+ font-weight: var(--sc-weight-bold);
723
+ letter-spacing: 0.02em;
724
+ text-transform: uppercase;
725
+ }
726
+
727
+ .sc-column-count {
728
+ display: inline-flex;
729
+ align-items: center;
730
+ justify-content: center;
731
+ min-width: 1.5rem;
732
+ padding-inline: var(--sc-space-2);
733
+ border-radius: var(--sc-radius-full);
734
+ background: var(--sc-color-bg-inset);
735
+ color: var(--sc-color-text-muted);
736
+ font-size: var(--sc-text-xs);
737
+ font-weight: var(--sc-weight-medium);
738
+ line-height: 1.5rem;
739
+ }
740
+
741
+ .sc-column-done .sc-column-title {
742
+ color: var(--sc-color-success);
743
+ }
744
+
745
+ .sc-column-dropped .sc-column-title {
746
+ color: var(--sc-color-text-faint);
747
+ }
748
+
749
+ .sc-column-body {
750
+ display: grid;
751
+ align-content: start;
752
+ gap: var(--sc-space-3);
753
+ padding: var(--sc-space-3);
754
+ }
755
+
756
+ .sc-card {
757
+ display: grid;
758
+ gap: var(--sc-space-2);
759
+ padding: var(--sc-space-3);
760
+ border: var(--sc-border);
761
+ border-radius: var(--sc-radius-md);
762
+ background: var(--sc-color-bg);
763
+ transition:
764
+ border-color var(--sc-transition),
765
+ background var(--sc-transition);
766
+ }
767
+
768
+ .sc-card:hover {
769
+ border-color: var(--sc-color-border-strong);
770
+ background: var(--sc-color-bg-raised);
771
+ }
772
+
773
+ .sc-card-title {
774
+ color: var(--sc-color-text);
775
+ font-size: var(--sc-text-sm);
776
+ font-weight: var(--sc-weight-medium);
777
+ text-decoration: none;
778
+ overflow-wrap: anywhere;
779
+ }
780
+
781
+ .sc-card-title:hover {
782
+ color: var(--sc-color-accent);
783
+ }
784
+
785
+ .sc-card-number {
786
+ color: var(--sc-color-text-faint);
787
+ font-family: var(--sc-font-mono);
788
+ font-size: 0.9em;
789
+ }
790
+
791
+ .sc-card-meta {
792
+ display: flex;
793
+ flex-wrap: wrap;
794
+ align-items: center;
795
+ gap: var(--sc-space-1);
796
+ }
797
+
798
+ .sc-card-spacer {
799
+ flex: 1;
800
+ }
801
+
802
+ .sc-card-move select {
803
+ width: 100%;
804
+ min-height: 1.75rem;
805
+ padding: 0 var(--sc-space-2);
806
+ border: 1px solid var(--sc-color-border);
807
+ border-radius: var(--sc-radius-sm);
808
+ background: var(--sc-color-bg-subtle);
809
+ color: var(--sc-color-text-muted);
810
+ font-size: var(--sc-text-xs);
811
+ }
812
+
813
+ /* One task */
814
+
815
+ .sc-task {
816
+ display: grid;
817
+ gap: var(--sc-space-5);
818
+ max-width: var(--sc-width-prose);
819
+ }
820
+
821
+ .sc-task-header {
822
+ display: grid;
823
+ gap: var(--sc-space-2);
824
+ }
825
+
826
+ .sc-task-parent {
827
+ color: var(--sc-color-text-muted);
828
+ font-size: var(--sc-text-sm);
829
+ }
830
+
831
+ .sc-task-title {
832
+ font-size: var(--sc-text-2xl);
833
+ overflow-wrap: anywhere;
834
+ }
835
+
836
+ .sc-task-badges {
837
+ display: flex;
838
+ flex-wrap: wrap;
839
+ gap: var(--sc-space-1);
840
+ }
841
+
842
+ .sc-facts {
843
+ display: grid;
844
+ grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
845
+ gap: var(--sc-space-3);
846
+ padding: var(--sc-space-4);
847
+ border: var(--sc-border);
848
+ border-radius: var(--sc-radius-md);
849
+ background: var(--sc-color-bg-subtle);
850
+ font-size: var(--sc-text-sm);
851
+ }
852
+
853
+ .sc-facts dt {
854
+ color: var(--sc-color-text-faint);
855
+ font-size: var(--sc-text-xs);
856
+ font-weight: var(--sc-weight-medium);
857
+ letter-spacing: 0.04em;
858
+ text-transform: uppercase;
859
+ }
860
+
861
+ .sc-facts dd {
862
+ margin-top: var(--sc-space-1);
863
+ }
864
+
865
+ .sc-task-actions {
866
+ display: flex;
867
+ flex-wrap: wrap;
868
+ align-items: end;
869
+ gap: var(--sc-space-2);
870
+ }
871
+
872
+ .sc-task-section {
873
+ display: grid;
874
+ gap: var(--sc-space-3);
875
+ }
876
+
877
+ .sc-link-list li + li,
878
+ .sc-subtasks li + li {
879
+ margin-top: var(--sc-space-2);
880
+ }
881
+
882
+ .sc-subtasks a {
883
+ color: var(--sc-color-text);
884
+ text-decoration: none;
885
+ }
886
+
887
+ .sc-subtasks a:hover {
888
+ color: var(--sc-color-accent);
889
+ }
890
+
891
+ /* Decisions */
892
+
893
+ .sc-decisions {
894
+ display: grid;
895
+ gap: var(--sc-space-6);
896
+ max-width: var(--sc-width-prose);
897
+ }
898
+
899
+ .sc-decision {
900
+ display: grid;
901
+ gap: var(--sc-space-3);
902
+ padding: var(--sc-space-4);
903
+ border: 1px solid var(--sc-color-warning);
904
+ border-radius: var(--sc-radius-lg);
905
+ background: var(--sc-color-bg-subtle);
906
+ }
907
+
908
+ .sc-decision + .sc-decision {
909
+ margin-top: var(--sc-space-3);
910
+ }
911
+
912
+ .sc-decision-answered {
913
+ border-color: var(--sc-color-border);
914
+ }
915
+
916
+ .sc-decision-question {
917
+ font-size: var(--sc-text-lg);
918
+ overflow-wrap: anywhere;
919
+ }
920
+
921
+ .sc-decision-meta {
922
+ display: flex;
923
+ flex-wrap: wrap;
924
+ align-items: center;
925
+ gap: var(--sc-space-1) var(--sc-space-2);
926
+ margin-top: var(--sc-space-1);
927
+ color: var(--sc-color-text-muted);
928
+ font-size: var(--sc-text-sm);
929
+ }
930
+
931
+ .sc-decision-waiting {
932
+ color: var(--sc-color-warning);
933
+ font-size: var(--sc-text-sm);
934
+ }
935
+
936
+ .sc-answer {
937
+ display: grid;
938
+ gap: var(--sc-space-1);
939
+ padding: var(--sc-space-3) var(--sc-space-4);
940
+ border-left: 3px solid var(--sc-color-success);
941
+ background: var(--sc-color-bg);
942
+ border-radius: 0 var(--sc-radius-md) var(--sc-radius-md) 0;
943
+ }
944
+
945
+ .sc-answer-option {
946
+ font-weight: var(--sc-weight-bold);
947
+ }
948
+
949
+ .sc-answer-note {
950
+ color: var(--sc-color-text-muted);
951
+ font-size: var(--sc-text-sm);
952
+ white-space: pre-wrap;
953
+ }
954
+
955
+ .sc-answer-form {
956
+ display: grid;
957
+ gap: var(--sc-space-3);
958
+ }
959
+
960
+ .sc-options-list {
961
+ display: grid;
962
+ gap: var(--sc-space-2);
963
+ }
964
+
965
+ .sc-option {
966
+ display: flex;
967
+ align-items: center;
968
+ gap: var(--sc-space-3);
969
+ padding: var(--sc-space-2) var(--sc-space-3);
970
+ border: 1px solid var(--sc-color-border-strong);
971
+ border-radius: var(--sc-radius-md);
972
+ background: var(--sc-color-bg);
973
+ cursor: pointer;
974
+ transition:
975
+ border-color var(--sc-transition),
976
+ background var(--sc-transition);
977
+ }
978
+
979
+ .sc-option:hover {
980
+ background: var(--sc-color-bg-raised);
981
+ }
982
+
983
+ .sc-option-chosen {
984
+ border-color: var(--sc-color-accent);
985
+ background: var(--sc-color-accent-subtle);
986
+ }
987
+
988
+ .sc-option input {
989
+ margin: 0;
990
+ accent-color: var(--sc-color-accent);
991
+ }
992
+
993
+ /* The feed */
994
+
995
+ .sc-feed {
996
+ display: grid;
997
+ gap: var(--sc-space-2);
998
+ max-width: var(--sc-width-prose);
999
+ }
1000
+
1001
+ .sc-feed-item {
1002
+ display: grid;
1003
+ grid-template-columns: auto minmax(0, 1fr) auto;
1004
+ align-items: center;
1005
+ gap: var(--sc-space-3);
1006
+ padding: var(--sc-space-2) var(--sc-space-3);
1007
+ border: var(--sc-border);
1008
+ border-radius: var(--sc-radius-md);
1009
+ background: var(--sc-color-bg-subtle);
1010
+ font-size: var(--sc-text-sm);
1011
+ }
1012
+
1013
+ .sc-feed-words {
1014
+ overflow-wrap: anywhere;
1015
+ }
1016
+
1017
+ .sc-feed-words a {
1018
+ color: var(--sc-color-text);
1019
+ }
1020
+
1021
+ .sc-feed-words a:hover {
1022
+ color: var(--sc-color-accent);
1023
+ }
1024
+
1025
+ /* Signing in */
1026
+
1027
+ .sc-sign-in {
1028
+ display: grid;
1029
+ gap: var(--sc-space-4);
1030
+ max-width: 28rem;
1031
+ margin: 12dvh auto 0;
1032
+ padding: var(--sc-space-6);
1033
+ border: var(--sc-border);
1034
+ border-radius: var(--sc-radius-lg);
1035
+ background: var(--sc-color-bg-subtle);
1036
+ box-shadow: var(--sc-shadow);
1037
+ }
1038
+
1039
+ .sc-sign-in-title {
1040
+ font-size: var(--sc-text-2xl);
1041
+ }
1042
+
1043
+ .sc-sign-in-lead {
1044
+ color: var(--sc-color-text-muted);
1045
+ }
1046
+
1047
+ .sc-sign-in-button {
1048
+ justify-self: start;
1049
+ }
1050
+
1051
+ /* Prose: what people and agents write, rendered from Markdown. Element selectors on purpose. */
1052
+
1053
+ .sc-prose {
1054
+ max-width: var(--sc-width-prose);
1055
+ overflow-wrap: anywhere;
1056
+ }
1057
+
1058
+ .sc-prose > * + * {
1059
+ margin-top: var(--sc-space-3);
1060
+ }
1061
+
1062
+ .sc-prose h1,
1063
+ .sc-prose h2,
1064
+ .sc-prose h3,
1065
+ .sc-prose h4 {
1066
+ margin-top: var(--sc-space-5);
1067
+ }
1068
+
1069
+ .sc-prose h1 {
1070
+ font-size: var(--sc-text-xl);
1071
+ }
1072
+
1073
+ .sc-prose h2 {
1074
+ font-size: var(--sc-text-lg);
1075
+ }
1076
+
1077
+ .sc-prose h3,
1078
+ .sc-prose h4 {
1079
+ font-size: var(--sc-text-md);
1080
+ }
1081
+
1082
+ .sc-prose ul,
1083
+ .sc-prose ol {
1084
+ padding-left: var(--sc-space-5);
1085
+ }
1086
+
1087
+ .sc-prose ul {
1088
+ list-style: disc;
1089
+ }
1090
+
1091
+ .sc-prose ol {
1092
+ list-style: decimal;
1093
+ }
1094
+
1095
+ .sc-prose li + li {
1096
+ margin-top: var(--sc-space-1);
1097
+ }
1098
+
1099
+ .sc-prose blockquote {
1100
+ padding-left: var(--sc-space-4);
1101
+ border-left: 2px solid var(--sc-color-border-strong);
1102
+ color: var(--sc-color-text-muted);
1103
+ }
1104
+
1105
+ .sc-prose code {
1106
+ padding: 0.1em 0.35em;
1107
+ border-radius: var(--sc-radius-sm);
1108
+ background: var(--sc-color-bg-inset);
1109
+ }
1110
+
1111
+ .sc-prose pre {
1112
+ padding: var(--sc-space-4);
1113
+ border: var(--sc-border);
1114
+ border-radius: var(--sc-radius-md);
1115
+ background: var(--sc-color-bg-inset);
1116
+ font-size: var(--sc-text-sm);
1117
+ line-height: 1.6;
1118
+ white-space: pre-wrap;
1119
+ }
1120
+
1121
+ .sc-prose pre code {
1122
+ padding: 0;
1123
+ background: none;
1124
+ }
1125
+
1126
+ .sc-prose table {
1127
+ display: block;
1128
+ width: max-content;
1129
+ max-width: 100%;
1130
+ overflow-x: auto;
1131
+ border-collapse: collapse;
1132
+ font-size: var(--sc-text-sm);
1133
+ }
1134
+
1135
+ .sc-prose th,
1136
+ .sc-prose td {
1137
+ padding: var(--sc-space-2) var(--sc-space-3);
1138
+ border: var(--sc-border);
1139
+ text-align: left;
1140
+ vertical-align: top;
1141
+ }
1142
+
1143
+ .sc-prose th {
1144
+ background: var(--sc-color-bg-subtle);
1145
+ }
1146
+
1147
+ .sc-prose img {
1148
+ display: inline-block;
1149
+ max-width: 100%;
1150
+ height: auto;
1151
+ border-radius: var(--sc-radius-md);
1152
+ }
1153
+
1154
+ .sc-prose-image-text {
1155
+ color: var(--sc-color-text-faint);
1156
+ font-style: italic;
1157
+ }
1158
+
1159
+ .sc-prose input[type="checkbox"] {
1160
+ margin-right: var(--sc-space-2);
1161
+ }
1162
+
1163
+ @media (max-width: 40rem) {
1164
+ .sc-header-inner {
1165
+ gap: var(--sc-space-3);
1166
+ padding-inline: var(--sc-space-4);
1167
+ }
1168
+
1169
+ .sc-main {
1170
+ padding-inline: var(--sc-space-4);
1171
+ }
1172
+
1173
+ .sc-board {
1174
+ grid-auto-columns: min(var(--sc-column-width), 85vw);
1175
+ }
1176
+
1177
+ .sc-feed-item {
1178
+ grid-template-columns: 1fr;
1179
+ }
1180
+ }
1181
+
1182
+ /* Tokens: the ones a person holds, and the one just made, shown once. */
1183
+
1184
+ .sc-lead {
1185
+ max-width: var(--sc-width-prose);
1186
+ margin-bottom: var(--sc-space-5);
1187
+ color: var(--sc-color-text-muted);
1188
+ }
1189
+
1190
+ .sc-token-list {
1191
+ display: grid;
1192
+ gap: var(--sc-space-3);
1193
+ }
1194
+
1195
+ .sc-token {
1196
+ display: flex;
1197
+ flex-wrap: wrap;
1198
+ align-items: center;
1199
+ justify-content: space-between;
1200
+ gap: var(--sc-space-3);
1201
+ padding: var(--sc-space-4);
1202
+ border: var(--sc-border);
1203
+ border-radius: var(--sc-radius-md);
1204
+ background: var(--sc-color-bg-subtle);
1205
+ }
1206
+
1207
+ .sc-token-name {
1208
+ font-weight: var(--sc-weight-medium);
1209
+ }
1210
+
1211
+ .sc-token-meta {
1212
+ display: flex;
1213
+ flex-wrap: wrap;
1214
+ gap: var(--sc-space-3);
1215
+ margin-top: var(--sc-space-1);
1216
+ color: var(--sc-color-text-muted);
1217
+ font-size: var(--sc-text-sm);
1218
+ }
1219
+
1220
+ .sc-secret {
1221
+ display: flex;
1222
+ flex-wrap: wrap;
1223
+ align-items: center;
1224
+ gap: var(--sc-space-2);
1225
+ margin: var(--sc-space-3) 0;
1226
+ }
1227
+
1228
+ .sc-secret-value {
1229
+ padding: var(--sc-space-2) var(--sc-space-3);
1230
+ border: var(--sc-border);
1231
+ border-radius: var(--sc-radius-sm);
1232
+ background: var(--sc-color-bg-inset);
1233
+ font-size: var(--sc-text-sm);
1234
+ word-break: break-all;
1235
+ user-select: all;
1236
+ }
1237
+
1238
+ /* People: everyone of the board, with what each may do. */
1239
+
1240
+ .sc-people {
1241
+ display: grid;
1242
+ gap: var(--sc-space-2);
1243
+ }
1244
+
1245
+ .sc-person-row {
1246
+ display: flex;
1247
+ flex-wrap: wrap;
1248
+ align-items: center;
1249
+ gap: var(--sc-space-3);
1250
+ padding: var(--sc-space-3) var(--sc-space-4);
1251
+ border: var(--sc-border);
1252
+ border-radius: var(--sc-radius-md);
1253
+ background: var(--sc-color-bg-subtle);
1254
+ }
1255
+
1256
+ .sc-person-name {
1257
+ flex: 1;
1258
+ color: var(--sc-color-text-muted);
1259
+ font-size: var(--sc-text-sm);
1260
+ }
1261
+
1262
+ /* Skills: the organization's, as SkillCDN serves them at the console's address. */
1263
+
1264
+ .sc-skills {
1265
+ display: grid;
1266
+ gap: var(--sc-space-2);
1267
+ }
1268
+
1269
+ .sc-skill {
1270
+ padding: var(--sc-space-3) var(--sc-space-4);
1271
+ border: var(--sc-border);
1272
+ border-radius: var(--sc-radius-md);
1273
+ background: var(--sc-color-bg-subtle);
1274
+ }
1275
+
1276
+ .sc-skill-head {
1277
+ display: flex;
1278
+ flex-wrap: wrap;
1279
+ align-items: baseline;
1280
+ gap: var(--sc-space-3);
1281
+ margin: 0;
1282
+ }
1283
+
1284
+ .sc-skill-name {
1285
+ font-weight: 600;
1286
+ }
1287
+
1288
+ .sc-skill-description {
1289
+ margin: var(--sc-space-2) 0 0;
1290
+ }
1291
+
1292
+ .sc-skill-uri {
1293
+ display: block;
1294
+ margin-top: var(--sc-space-2);
1295
+ color: var(--sc-color-text-muted);
1296
+ font-size: var(--sc-text-sm);
1297
+ word-break: break-all;
1298
+ }
1299
+
1300
+ .sc-sign-in-ways {
1301
+ display: flex;
1302
+ flex-wrap: wrap;
1303
+ gap: var(--sc-space-3);
1304
+ }
1305
+
1306
+ /* Runs: an agent at work on a task, what it reported and handed in. */
1307
+
1308
+ .sc-runs {
1309
+ display: grid;
1310
+ gap: var(--sc-space-3);
1311
+ }
1312
+
1313
+ .sc-run {
1314
+ display: grid;
1315
+ gap: var(--sc-space-3);
1316
+ padding: var(--sc-space-4);
1317
+ border: var(--sc-border);
1318
+ border-radius: var(--sc-radius-md);
1319
+ background: var(--sc-color-bg-subtle);
1320
+ }
1321
+
1322
+ .sc-run-header {
1323
+ display: flex;
1324
+ flex-wrap: wrap;
1325
+ align-items: center;
1326
+ gap: var(--sc-space-2);
1327
+ }
1328
+
1329
+ .sc-run-agent {
1330
+ font-weight: var(--sc-weight-medium);
1331
+ }
1332
+
1333
+ .sc-run-meta {
1334
+ display: inline-flex;
1335
+ flex-wrap: wrap;
1336
+ align-items: center;
1337
+ gap: var(--sc-space-1);
1338
+ color: var(--sc-color-text-muted);
1339
+ font-size: var(--sc-text-sm);
1340
+ }
1341
+
1342
+ .sc-run-waiting {
1343
+ color: var(--sc-color-warning);
1344
+ font-size: var(--sc-text-sm);
1345
+ }
1346
+
1347
+ .sc-run-reports {
1348
+ display: grid;
1349
+ gap: var(--sc-space-3);
1350
+ padding-left: 0;
1351
+ list-style: none;
1352
+ }
1353
+
1354
+ .sc-report {
1355
+ display: grid;
1356
+ gap: var(--sc-space-1);
1357
+ padding-left: var(--sc-space-3);
1358
+ border-left: 2px solid var(--sc-color-border-strong);
1359
+ }
1360
+
1361
+ .sc-run-summary {
1362
+ padding-top: var(--sc-space-2);
1363
+ border-top: var(--sc-border);
1364
+ }
1365
+
1366
+ .sc-connect {
1367
+ display: grid;
1368
+ gap: var(--sc-space-3);
1369
+ margin-top: var(--sc-space-5);
1370
+ }
1371
+
1372
+ .sc-code {
1373
+ overflow-x: auto;
1374
+ padding: var(--sc-space-3) var(--sc-space-4);
1375
+ border: var(--sc-border);
1376
+ border-radius: var(--sc-radius-sm);
1377
+ background: var(--sc-color-bg-inset);
1378
+ font-family: var(--sc-font-mono);
1379
+ font-size: var(--sc-text-sm);
1380
+ white-space: pre-wrap;
1381
+ word-break: break-all;
1382
+ }