@w6w/embed 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +166 -2
  3. package/dist/W6WEmbedProvider.d.ts +29 -0
  4. package/dist/chrome/CallFromCodeButton.d.ts +155 -0
  5. package/dist/chrome/CallableSettingsModal.d.ts +17 -0
  6. package/dist/chrome/ConfirmModal.d.ts +20 -0
  7. package/dist/chrome/DangerZone.d.ts +19 -0
  8. package/dist/chrome/ExecutionProfileHeader.d.ts +69 -0
  9. package/dist/chrome/HistoryButton.d.ts +8 -0
  10. package/dist/chrome/HistoryModal.d.ts +9 -0
  11. package/dist/chrome/HistoryView.d.ts +15 -0
  12. package/dist/chrome/ImportSpecModal.d.ts +40 -0
  13. package/dist/chrome/JsonToggle.d.ts +51 -0
  14. package/dist/chrome/Modal.d.ts +20 -0
  15. package/dist/chrome/RightRail.d.ts +24 -0
  16. package/dist/chrome/TagEditor.d.ts +23 -0
  17. package/dist/chrome/VersionHistoryModal.d.ts +38 -0
  18. package/dist/chrome/history-open-run.d.ts +7 -0
  19. package/dist/chrome/index.d.ts +36 -0
  20. package/dist/chrome/workspace.d.ts +67 -0
  21. package/dist/client-context-CX61Bgw-.js +16 -0
  22. package/dist/client-context-CX61Bgw-.js.map +1 -0
  23. package/dist/draft/autosave-flush.d.ts +63 -0
  24. package/dist/draft/autosave.d.ts +68 -0
  25. package/dist/draft/client-context.d.ts +8 -0
  26. package/dist/draft/draft-registry.d.ts +14 -0
  27. package/dist/draft/index.d.ts +15 -0
  28. package/dist/draft/use-workflow-draft.d.ts +67 -0
  29. package/dist/draft/workflow-save.d.ts +48 -0
  30. package/dist/draft-registry-YF0tqNN0.js +49 -0
  31. package/dist/draft-registry-YF0tqNN0.js.map +1 -0
  32. package/dist/draft.d.ts +2 -0
  33. package/dist/draft.mjs +18 -0
  34. package/dist/draft.mjs.map +1 -0
  35. package/dist/editor/WorkflowEditor.d.ts +12 -0
  36. package/dist/editor/WorkflowSettingsModal.d.ts +17 -0
  37. package/dist/editor/definition.d.ts +31 -0
  38. package/dist/editor/editor-apps.d.ts +7 -0
  39. package/dist/editor/types.d.ts +34 -0
  40. package/dist/editor.d.ts +9 -0
  41. package/dist/editor.mjs +2170 -0
  42. package/dist/editor.mjs.map +1 -0
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.mjs +67 -0
  45. package/dist/index.mjs.map +1 -0
  46. package/dist/lib/callable-descriptors.d.ts +77 -0
  47. package/dist/lib/callable-kind.d.ts +13 -0
  48. package/dist/lib/code-rail.d.ts +45 -0
  49. package/dist/lib/document-sources.d.ts +26 -0
  50. package/dist/lib/error-handler-self.d.ts +25 -0
  51. package/dist/lib/history-query.d.ts +135 -0
  52. package/dist/lib/import-paste.d.ts +41 -0
  53. package/dist/lib/index.d.ts +17 -0
  54. package/dist/lib/new-id.d.ts +10 -0
  55. package/dist/lib/rail-settings.d.ts +196 -0
  56. package/dist/lib/save-invalidation.d.ts +24 -0
  57. package/dist/lib/sdk-snippets.d.ts +96 -0
  58. package/dist/lib/settings-rail.d.ts +68 -0
  59. package/dist/lib/slug.d.ts +69 -0
  60. package/dist/lib/spec-import-invalidation.d.ts +48 -0
  61. package/dist/lib/tag-editor.d.ts +36 -0
  62. package/dist/lib/trigger-preview.d.ts +89 -0
  63. package/dist/lib/workflow-live-run.d.ts +165 -0
  64. package/dist/lib/workflow-poll.d.ts +8 -0
  65. package/dist/lib/workflow-route.d.ts +26 -0
  66. package/dist/lib/workflow-settings.d.ts +72 -0
  67. package/dist/lib/workflow-validity.d.ts +92 -0
  68. package/dist/lib/workflow-variables.d.ts +106 -0
  69. package/dist/lib.d.ts +2 -0
  70. package/dist/lib.mjs +62 -0
  71. package/dist/lib.mjs.map +1 -0
  72. package/dist/project-context-Dbk0Gr1K.js +16 -0
  73. package/dist/project-context-Dbk0Gr1K.js.map +1 -0
  74. package/dist/project-context.d.ts +11 -0
  75. package/dist/rail/CodeTool.d.ts +2 -0
  76. package/dist/rail/ErrorHandlingTool.d.ts +22 -0
  77. package/dist/rail/ExpressionScope.d.ts +21 -0
  78. package/dist/rail/SettingsTool.d.ts +27 -0
  79. package/dist/rail/editor-tools.d.ts +2 -0
  80. package/dist/rail/rail-env.d.ts +18 -0
  81. package/dist/rail/settings-sections.d.ts +93 -0
  82. package/dist/repos/documents.d.ts +102 -0
  83. package/dist/repos/history.d.ts +24 -0
  84. package/dist/repos/index.d.ts +22 -0
  85. package/dist/repos/spec-import.d.ts +44 -0
  86. package/dist/repos/step-tests.d.ts +19 -0
  87. package/dist/repos/vars.d.ts +25 -0
  88. package/dist/repos/vault.d.ts +24 -0
  89. package/dist/repos/versions.d.ts +112 -0
  90. package/dist/repos.d.ts +2 -0
  91. package/dist/repos.mjs +94 -0
  92. package/dist/repos.mjs.map +1 -0
  93. package/dist/slug-ByKQgxrf.js +642 -0
  94. package/dist/slug-ByKQgxrf.js.map +1 -0
  95. package/dist/spec-import-HgO7ZkLZ.js +898 -0
  96. package/dist/spec-import-HgO7ZkLZ.js.map +1 -0
  97. package/dist/spec-import-invalidation-D3retX4Q.js +18 -0
  98. package/dist/spec-import-invalidation-D3retX4Q.js.map +1 -0
  99. package/dist/use-workflow-draft-oI02dsP-.js +314 -0
  100. package/dist/use-workflow-draft-oI02dsP-.js.map +1 -0
  101. package/package.json +84 -3
  102. package/src/styles.css +829 -0
package/src/styles.css ADDED
@@ -0,0 +1,829 @@
1
+ @import "@w6w/ui/styles.css";
2
+
3
+ /* Editor chrome for <WorkflowEditor/>, copied from Studio's src/styles.css.
4
+ Every rule is scoped under `.w6w-embed-root`; nothing here styles a host
5
+ element. The palette resolves from the NEAREST `[data-theme]` ancestor:
6
+ Studio's token names are aliases of ui's inherited `--w6w-*` tokens, and the
7
+ two tokens ui lacks are namespaced `--w6w-embed-*` and declared the way ui
8
+ declares its palette (`:where([data-theme=…])`, zero specificity). No
9
+ `[data-theme] .w6w-embed-root` descendant blocks: with `<html>` and the
10
+ wrapper disagreeing they would tie on specificity and source order would
11
+ decide. */
12
+ :where([data-theme="light"]) {
13
+ --w6w-embed-accent-2: #248a4a;
14
+ --w6w-embed-warn: #9a5a11;
15
+ }
16
+ :where([data-theme="dark"]) {
17
+ --w6w-embed-accent-2: #3b6;
18
+ --w6w-embed-warn: #ffb86b;
19
+ }
20
+
21
+ .w6w-embed-root {
22
+ --bg: var(--w6w-bg);
23
+ --panel: var(--w6w-panel);
24
+ --panel-2: var(--w6w-panel-2);
25
+ --border: var(--w6w-border);
26
+ --text: var(--w6w-text);
27
+ --muted: var(--w6w-muted);
28
+ --accent: var(--w6w-accent);
29
+ --danger: var(--w6w-danger);
30
+ --icon-swatch: var(--w6w-icon-swatch);
31
+ --radius: var(--w6w-radius, 10px);
32
+
33
+ /* OS fallback, used only when no ancestor carries `data-theme`. */
34
+ --w6w-embed-accent-2-os: #248a4a;
35
+ --w6w-embed-warn-os: #9a5a11;
36
+ --accent-2: var(--w6w-embed-accent-2, var(--w6w-embed-accent-2-os));
37
+ --warn: var(--w6w-embed-warn, var(--w6w-embed-warn-os));
38
+
39
+ /* Studio's `body {}` text defaults, moved onto the root. */
40
+ font-family: var(--w6w-font-sans);
41
+ background: var(--bg);
42
+ color: var(--text);
43
+ font-size: 14px;
44
+ }
45
+ @media (prefers-color-scheme: dark) {
46
+ .w6w-embed-root {
47
+ --w6w-embed-accent-2-os: #3b6;
48
+ --w6w-embed-warn-os: #ffb86b;
49
+ }
50
+ }
51
+
52
+ /* Studio's `* {}` box-sizing, scoped. */
53
+ .w6w-embed-root,
54
+ .w6w-embed-root * {
55
+ box-sizing: border-box;
56
+ }
57
+
58
+ .w6w-embed-root code {
59
+ font-family: var(--w6w-font-mono);
60
+ font-size: 0.85em;
61
+ }
62
+
63
+ .w6w-embed-root .muted {
64
+ color: var(--muted);
65
+ }
66
+
67
+ .w6w-embed-root .small {
68
+ font-size: 0.85em;
69
+ }
70
+
71
+ .w6w-embed-root .right-rail {
72
+ position: sticky;
73
+ top: 0;
74
+ align-self: start;
75
+ height: 100%;
76
+ display: flex;
77
+ border-left: 1px solid var(--border);
78
+ background: var(--panel);
79
+ }
80
+
81
+ .w6w-embed-root .right-rail-strip {
82
+ width: 48px;
83
+ flex-shrink: 0;
84
+ display: flex;
85
+ flex-direction: column;
86
+ align-items: center;
87
+ gap: var(--w6w-sp-1);
88
+ padding: var(--w6w-sp-2) 0;
89
+ overflow-y: auto;
90
+ }
91
+
92
+ .w6w-embed-root .right-rail-tool-btn {
93
+ display: inline-flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ width: 36px;
97
+ height: 36px;
98
+ border: none;
99
+ border-radius: 8px;
100
+ background: transparent;
101
+ color: var(--muted);
102
+ cursor: pointer;
103
+ }
104
+
105
+ .w6w-embed-root .right-rail-tool-btn:hover {
106
+ background: var(--panel-2);
107
+ color: var(--text);
108
+ }
109
+
110
+ .w6w-embed-root .right-rail-tool-btn.active {
111
+ background: var(--panel-2);
112
+ color: var(--text);
113
+ }
114
+
115
+ .w6w-embed-root .right-rail-panel {
116
+ width: 320px;
117
+ flex-shrink: 0;
118
+ border-left: 1px solid var(--border);
119
+ overflow-y: auto;
120
+ padding: var(--w6w-sp-4);
121
+ }
122
+
123
+ .w6w-embed-root .right-rail-panel-head h3 {
124
+ margin: 0 0 var(--w6w-sp-3);
125
+ }
126
+
127
+ .w6w-embed-root .rail-settings-panel {
128
+ display: flex;
129
+ flex-direction: column;
130
+ gap: var(--w6w-sp-4);
131
+ }
132
+
133
+ .w6w-embed-root .rail-meta-list {
134
+ display: grid;
135
+ grid-template-columns: max-content minmax(0, 1fr);
136
+ gap: var(--w6w-sp-1-5) var(--w6w-sp-3);
137
+ margin: 0;
138
+ /*Allow long values to wrap inside the available rail width.*/
139
+ flex: 1;
140
+ min-width: 0;
141
+ }
142
+
143
+ .w6w-embed-root .rail-meta-list dt {
144
+ color: var(--text);
145
+ font-size: var(--w6w-fs-sm);
146
+ font-weight: var(--w6w-fw-semibold);
147
+ line-height: var(--w6w-lh-tight);
148
+ }
149
+
150
+ .w6w-embed-root .rail-meta-list dd {
151
+ margin: 0;
152
+ min-width: 0;
153
+ color: var(--muted);
154
+ /*lint-tokens-allow: T3.1.1 rail value size, em-relative to the rail; no w6w-fs token is byte-equal to 0.85em*/
155
+ font-size: 0.85em;
156
+ line-height: var(--w6w-lh-normal);
157
+ overflow-wrap: anywhere;
158
+ }
159
+
160
+ .w6w-embed-root .rail-link-icon {
161
+ display: inline-flex;
162
+ align-items: center;
163
+ gap: var(--w6w-sp-1);
164
+ border: none;
165
+ border-radius: 0;
166
+ padding: 0;
167
+ margin: 0;
168
+ background: transparent;
169
+ color: var(--w6w-accent);
170
+ text-decoration: underline;
171
+ font: inherit;
172
+ cursor: pointer;
173
+ }
174
+
175
+ .w6w-embed-root .rail-link-icon:hover {
176
+ color: var(--accent);
177
+ }
178
+
179
+ .w6w-embed-root .rail-danger-zone {
180
+ padding-top: var(--w6w-sp-4);
181
+ border-top: 1px solid var(--border);
182
+ }
183
+
184
+ .w6w-embed-root .rail-danger-zone--panel {
185
+ /*No margin-top here: `.rail-settings-panel`'s flex `gap` already spaces
186
+ this section from the one above it equally with every other section
187
+ (ST9's own invariant) — an extra margin here would double that gap.*/
188
+ padding: var(--w6w-sp-3);
189
+ border: 1px solid var(--danger);
190
+ border-radius: 8px;
191
+ background: color-mix(in srgb, var(--danger) 10%, var(--panel-2));
192
+ }
193
+
194
+ .w6w-embed-root .rail-danger-zone-delete {
195
+ display: inline-flex;
196
+ align-items: center;
197
+ gap: var(--w6w-sp-1-5);
198
+ }
199
+
200
+ .w6w-embed-root .rail-spec-menu-row {
201
+ margin: var(--w6w-sp-2) 0;
202
+ }
203
+
204
+ .w6w-embed-root .rail-code-langs {
205
+ display: grid;
206
+ grid-template-columns: repeat(2, 1fr);
207
+ gap: var(--w6w-sp-2);
208
+ margin-bottom: var(--w6w-sp-2);
209
+ }
210
+
211
+ .w6w-embed-root .rail-code-lang {
212
+ display: flex;
213
+ flex-direction: column;
214
+ align-items: center;
215
+ gap: var(--w6w-sp-1);
216
+ padding: var(--w6w-sp-3) var(--w6w-sp-2);
217
+ border: 1px solid var(--border);
218
+ border-radius: var(--radius);
219
+ background: transparent;
220
+ color: var(--muted);
221
+ cursor: pointer;
222
+ font: inherit;
223
+ font-size: 0.8rem;
224
+ /*The glyph is the recognition; the name is the meaning. Both, always — a
225
+ monochrome mark alone would make `curl` and `CLI` a coin toss.*/
226
+ }
227
+
228
+ .w6w-embed-root .rail-code-lang:hover {
229
+ background: var(--panel-2);
230
+ border-color: var(--border-strong, var(--border));
231
+ color: var(--text);
232
+ }
233
+
234
+ .w6w-embed-root .rail-code-lang:focus-visible {
235
+ outline: 2px solid var(--accent, currentColor);
236
+ outline-offset: 2px;
237
+ }
238
+
239
+ @media (max-width: 820px) {
240
+ .w6w-embed-root .right-rail {
241
+ position: fixed;
242
+ top: 0;
243
+ right: 0;
244
+ height: 100%;
245
+ z-index: 30;
246
+ }
247
+ }
248
+
249
+ .w6w-embed-root .page-head h2 {
250
+ margin: var(--w6w-sp-1) 0;
251
+ }
252
+
253
+ .w6w-embed-root .row {
254
+ display: flex;
255
+ gap: var(--w6w-sp-2);
256
+ align-items: center;
257
+ margin-top: var(--w6w-sp-2);
258
+ }
259
+
260
+ .w6w-embed-root .row input {
261
+ margin-top: 0;
262
+ }
263
+
264
+ .w6w-embed-root .btn {
265
+ background: var(--accent);
266
+ color: white;
267
+ border: none;
268
+ border-radius: 8px;
269
+ padding: var(--w6w-sp-2) 14px;
270
+ font-size: 14px;
271
+ cursor: pointer;
272
+ }
273
+
274
+ .w6w-embed-root .btn:hover {
275
+ filter: brightness(1.08);
276
+ }
277
+
278
+ .w6w-embed-root .btn:disabled {
279
+ opacity: 0.5;
280
+ cursor: default;
281
+ }
282
+
283
+ .w6w-embed-root .btn.ghost {
284
+ background: transparent;
285
+ border: 1px solid var(--border);
286
+ color: var(--text);
287
+ text-decoration: none;
288
+ }
289
+
290
+ .w6w-embed-root .btn.ghost:hover {
291
+ background: var(--panel-2);
292
+ }
293
+
294
+ .w6w-embed-root .btn.ghost.active {
295
+ background: var(--panel-2);
296
+ color: var(--text);
297
+ border-color: var(--accent);
298
+ }
299
+
300
+ .w6w-embed-root .btn.link {
301
+ background: none;
302
+ border: none;
303
+ padding: 0;
304
+ color: var(--accent);
305
+ text-decoration: underline;
306
+ font-size: inherit;
307
+ cursor: pointer;
308
+ }
309
+
310
+ .w6w-embed-root .btn.link:hover {
311
+ filter: brightness(1.15);
312
+ }
313
+
314
+ .w6w-embed-root .btn.danger {
315
+ background: var(--danger);
316
+ color: white;
317
+ }
318
+
319
+ .w6w-embed-root .list {
320
+ list-style: none;
321
+ padding: 0;
322
+ margin: 0;
323
+ display: flex;
324
+ flex-direction: column;
325
+ }
326
+
327
+ .w6w-embed-root .list li {
328
+ display: flex;
329
+ align-items: center;
330
+ gap: var(--w6w-sp-3);
331
+ padding: var(--w6w-sp-2-5) 0;
332
+ border-bottom: 1px solid var(--border);
333
+ }
334
+
335
+ .w6w-embed-root .list li:last-child {
336
+ border-bottom: none;
337
+ }
338
+
339
+ .w6w-embed-root .list-main {
340
+ flex: 1;
341
+ min-width: 0;
342
+ }
343
+
344
+ .w6w-embed-root .list li.selectable {
345
+ padding: 0;
346
+ display: block;
347
+ }
348
+
349
+ .w6w-embed-root .row-select {
350
+ display: flex;
351
+ align-items: center;
352
+ gap: var(--w6w-sp-3);
353
+ width: 100%;
354
+ padding: var(--w6w-sp-2-5);
355
+ border: none;
356
+ border-radius: var(--radius);
357
+ background: transparent;
358
+ color: inherit;
359
+ font: inherit;
360
+ text-align: left;
361
+ cursor: pointer;
362
+ }
363
+
364
+ .w6w-embed-root .row-select:hover {
365
+ background: var(--panel-2);
366
+ }
367
+
368
+ .w6w-embed-root .row-select:focus-visible {
369
+ outline: 2px solid var(--accent);
370
+ outline-offset: -2px;
371
+ }
372
+
373
+ .w6w-embed-root .row-select.selected {
374
+ background: var(--panel-2);
375
+ }
376
+
377
+ .w6w-embed-root .list li.linked {
378
+ padding: 0;
379
+ }
380
+
381
+ .w6w-embed-root .badge {
382
+ display: inline-block;
383
+ padding: 1px var(--w6w-sp-2);
384
+ border-radius: 999px;
385
+ background: var(--panel-2);
386
+ border: 1px solid var(--border);
387
+ font-size: 11px;
388
+ color: var(--muted);
389
+ }
390
+
391
+ .w6w-embed-root .error {
392
+ color: var(--danger);
393
+ margin-top: var(--w6w-sp-2);
394
+ }
395
+
396
+ .w6w-embed-root .ok {
397
+ color: var(--accent-2);
398
+ }
399
+
400
+ .w6w-embed-root .row.signup-id-row {
401
+ align-items: flex-end;
402
+ }
403
+
404
+ .w6w-embed-root .row.field-row {
405
+ align-items: flex-start;
406
+ }
407
+
408
+ .w6w-embed-root .row.field-row > .field {
409
+ flex: 1;
410
+ min-width: 0;
411
+ }
412
+
413
+ .w6w-embed-root .modal-backdrop {
414
+ position: fixed;
415
+ inset: 0;
416
+ background: rgba(0, 0, 0, 0.55);
417
+ display: grid;
418
+ place-items: center;
419
+ padding: var(--w6w-sp-5);
420
+ z-index: 50;
421
+ }
422
+
423
+ .w6w-embed-root .modal {
424
+ background: var(--panel);
425
+ border: 1px solid var(--border);
426
+ border-radius: var(--radius);
427
+ width: 100%;
428
+ max-width: 520px;
429
+ max-height: 90vh;
430
+ overflow: auto;
431
+ padding: var(--w6w-sp-5);
432
+ display: flex;
433
+ flex-direction: column;
434
+ gap: var(--w6w-sp-3);
435
+ }
436
+
437
+ .w6w-embed-root .modal-wide {
438
+ max-width: 820px;
439
+ }
440
+
441
+ .w6w-embed-root .modal-xl {
442
+ max-width: 1240px;
443
+ }
444
+
445
+ .w6w-embed-root .modal-head {
446
+ display: flex;
447
+ align-items: center;
448
+ justify-content: space-between;
449
+ gap: var(--w6w-sp-2);
450
+ }
451
+
452
+ .w6w-embed-root .modal h3 {
453
+ margin: 0;
454
+ }
455
+
456
+ .w6w-embed-root .modal-body {
457
+ display: flex;
458
+ flex-direction: column;
459
+ gap: var(--w6w-sp-3);
460
+ flex: 1;
461
+ min-height: 0;
462
+ overflow-y: auto;
463
+ }
464
+
465
+ .w6w-embed-root .modal-actions {
466
+ display: flex;
467
+ gap: var(--w6w-sp-2);
468
+ justify-content: flex-end;
469
+ flex-shrink: 0;
470
+ }
471
+
472
+ .w6w-embed-root .field {
473
+ display: flex;
474
+ flex-direction: column;
475
+ gap: var(--w6w-sp-1);
476
+ }
477
+
478
+ .w6w-embed-root .field label {
479
+ font-size: 0.9em;
480
+ color: var(--muted);
481
+ margin-bottom: 0;
482
+ }
483
+
484
+ .w6w-embed-root .field .hint {
485
+ color: var(--muted);
486
+ font-size: 0.8em;
487
+ }
488
+
489
+ .w6w-embed-root .result {
490
+ background: var(--panel-2);
491
+ border: 1px solid var(--border);
492
+ border-radius: 8px;
493
+ padding: var(--w6w-sp-2-5) var(--w6w-sp-3);
494
+ font-family: var(--w6w-font-mono);
495
+ font-size: 0.85em;
496
+ white-space: pre-wrap;
497
+ word-break: break-word;
498
+ }
499
+
500
+ .w6w-embed-root .result.ok {
501
+ border-color: var(--accent-2);
502
+ color: var(--accent-2);
503
+ background: color-mix(in srgb, var(--accent-2) 14%, var(--panel-2));
504
+ }
505
+
506
+ .w6w-embed-root .result.warn {
507
+ border-color: var(--warn);
508
+ color: var(--warn);
509
+ background: color-mix(in srgb, var(--warn) 14%, var(--panel-2));
510
+ }
511
+
512
+ .w6w-embed-root .result.error {
513
+ border-color: var(--danger);
514
+ color: var(--danger);
515
+ background: color-mix(in srgb, var(--danger) 14%, var(--panel-2));
516
+ }
517
+
518
+ .w6w-embed-root .result.notice {
519
+ display: flex;
520
+ align-items: flex-start;
521
+ gap: var(--w6w-sp-2-5);
522
+ font-family: inherit;
523
+ font-size: 0.95em;
524
+ font-weight: 500;
525
+ padding: var(--w6w-sp-3) 14px;
526
+ animation: w6w-embed-notice-in 140ms ease-out;
527
+ }
528
+
529
+ .w6w-embed-root .result.notice .notice-icon {
530
+ flex: none;
531
+ width: 18px;
532
+ height: 18px;
533
+ margin-top: 1px;
534
+ border-radius: 999px;
535
+ background: currentColor;
536
+ color: var(--panel);
537
+ display: inline-flex;
538
+ align-items: center;
539
+ justify-content: center;
540
+ font-size: 12px;
541
+ font-weight: 700;
542
+ line-height: 1;
543
+ }
544
+
545
+ .w6w-embed-root .result.notice .notice-text {
546
+ flex: 1;
547
+ min-width: 0;
548
+ }
549
+
550
+ @keyframes w6w-embed-notice-in {
551
+ from {
552
+ opacity: 0;
553
+ transform: translateY(-4px);
554
+ }
555
+ to {
556
+ opacity: 1;
557
+ transform: none;
558
+ }
559
+ }
560
+
561
+ @media (prefers-reduced-motion: reduce) {
562
+ .w6w-embed-root .result.notice {
563
+ animation: none;
564
+ }
565
+ }
566
+
567
+ .w6w-embed-root .tag {
568
+ display: inline-block;
569
+ background: var(--panel-2);
570
+ border: 1px solid var(--border);
571
+ border-radius: 999px;
572
+ padding: var(--w6w-sp-0-5) var(--w6w-sp-2);
573
+ font-size: 0.75em;
574
+ color: var(--muted);
575
+ margin-right: var(--w6w-sp-1);
576
+ }
577
+
578
+ .w6w-embed-root .tag.warn {
579
+ color: #ffb86b;
580
+ border-color: #ffb86b;
581
+ }
582
+
583
+ .w6w-embed-root .tag.danger {
584
+ color: var(--danger);
585
+ border-color: var(--danger);
586
+ }
587
+
588
+ .w6w-embed-root .list-main :not(.tag) + .tag {
589
+ margin-left: var(--w6w-sp-1);
590
+ }
591
+
592
+ .w6w-embed-root .tag-list {
593
+ display: flex;
594
+ flex-wrap: wrap;
595
+ gap: var(--w6w-sp-1-5);
596
+ }
597
+
598
+ .w6w-embed-root .tag.removable {
599
+ display: inline-flex;
600
+ align-items: center;
601
+ gap: var(--w6w-sp-1);
602
+ margin-right: 0;
603
+ }
604
+
605
+ .w6w-embed-root .wf-row-tags {
606
+ display: flex;
607
+ flex-wrap: wrap;
608
+ gap: var(--w6w-sp-1);
609
+ margin-top: var(--w6w-sp-1);
610
+ }
611
+
612
+ .w6w-embed-root .wf-col {
613
+ flex-shrink: 0;
614
+ text-align: right;
615
+ }
616
+
617
+ .w6w-embed-root .wf-col-stats {
618
+ min-width: 60px;
619
+ }
620
+
621
+ .w6w-embed-root .wf-status.draft {
622
+ color: var(--muted);
623
+ }
624
+
625
+ .w6w-embed-root .wf-status.active {
626
+ color: var(--accent-2);
627
+ border-color: var(--accent-2);
628
+ }
629
+
630
+ .w6w-embed-root .wf-status.archived {
631
+ color: var(--danger);
632
+ border-color: var(--danger);
633
+ }
634
+
635
+ .w6w-embed-root .wf-head-actions {
636
+ display: inline-flex;
637
+ align-items: center;
638
+ gap: var(--w6w-sp-1-5);
639
+ }
640
+
641
+ .w6w-embed-root .wf-publish.active {
642
+ color: var(--accent-2);
643
+ border-color: var(--accent-2);
644
+ }
645
+
646
+ .w6w-embed-root dialog.modal {
647
+ position: fixed;
648
+ inset: 0;
649
+ margin: auto;
650
+ background: var(--panel);
651
+ color: var(--text);
652
+ border: 1px solid var(--border);
653
+ }
654
+
655
+ .w6w-embed-root dialog.modal h3,
656
+ .w6w-embed-root dialog.modal h4,
657
+ .w6w-embed-root dialog.modal label,
658
+ .w6w-embed-root dialog.modal p {
659
+ color: var(--text);
660
+ }
661
+
662
+ .w6w-embed-root dialog.modal::backdrop {
663
+ background: rgba(0, 0, 0, 0.55);
664
+ }
665
+
666
+ .w6w-embed-root .rail-settings-head {
667
+ display: flex;
668
+ align-items: center;
669
+ justify-content: space-between;
670
+ gap: var(--w6w-sp-3);
671
+ }
672
+
673
+ .w6w-embed-root .rail-settings-head h3 {
674
+ margin: 0;
675
+ }
676
+
677
+ .w6w-embed-root .wf-fullbleed {
678
+ display: flex;
679
+ flex-direction: column;
680
+ height: calc(100vh - 56px);
681
+ }
682
+
683
+ .w6w-embed-root .wf-fullbleed-head {
684
+ display: flex;
685
+ align-items: center;
686
+ gap: var(--w6w-sp-4);
687
+ padding: var(--w6w-sp-2-5) var(--w6w-sp-4);
688
+ border-bottom: 1px solid var(--border);
689
+ background: var(--panel);
690
+ }
691
+
692
+ .w6w-embed-root .exec-profile-title {
693
+ margin: 0;
694
+ font-size: var(--w6w-fs-lg);
695
+ font-weight: var(--w6w-fw-semibold);
696
+ line-height: var(--w6w-lh-tight);
697
+ }
698
+
699
+ .w6w-embed-root .wf-fullbleed-head .wf-toolbar {
700
+ flex: 1;
701
+ }
702
+
703
+ .w6w-embed-root .wf-back-btn {
704
+ border: none;
705
+ background: transparent;
706
+ padding: 0;
707
+ font: inherit;
708
+ text-decoration: underline;
709
+ cursor: pointer;
710
+ }
711
+
712
+ .w6w-embed-root .wf-back-btn:hover {
713
+ color: var(--accent);
714
+ }
715
+
716
+ .w6w-embed-root .wf-fullbleed-head input.wf-title-input {
717
+ width: auto;
718
+ max-width: 60ch;
719
+ margin: 0;
720
+ padding: var(--w6w-sp-1) var(--w6w-sp-0-5);
721
+ border: none;
722
+ border-radius: 0;
723
+ background: transparent;
724
+ color: var(--text);
725
+ font-size: 18px;
726
+ font-weight: 600;
727
+ font-family: inherit;
728
+ }
729
+
730
+ .w6w-embed-root .wf-title-input::placeholder {
731
+ color: var(--muted);
732
+ font-weight: 500;
733
+ }
734
+
735
+ .w6w-embed-root .wf-fullbleed-head input.wf-title-input:focus {
736
+ outline: none;
737
+ border: none;
738
+ background: transparent;
739
+ }
740
+
741
+ .w6w-embed-root .wf-fullbleed-canvas {
742
+ flex: 1;
743
+ min-height: 0;
744
+ }
745
+
746
+ .w6w-embed-root .wf-run-area {
747
+ display: flex;
748
+ flex-direction: column;
749
+ height: 100%;
750
+ min-height: 0;
751
+ }
752
+
753
+ .w6w-embed-root .wf-run-canvas {
754
+ flex: 1;
755
+ min-height: 0;
756
+ }
757
+
758
+ .w6w-embed-root .wf-run-log {
759
+ border-top: 1px solid var(--border);
760
+ background: var(--panel-2);
761
+ max-height: 40vh;
762
+ overflow: auto;
763
+ padding: var(--w6w-sp-3);
764
+ }
765
+
766
+ @media (max-width: 899px) {
767
+ .w6w-embed-root .wf-run-log {
768
+ position: fixed;
769
+ inset: auto 0 0 0;
770
+ max-height: 60vh;
771
+ box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.25);
772
+ z-index: 20;
773
+ }
774
+ }
775
+
776
+ @media (min-width: 1200px) {
777
+ .w6w-embed-root .wf-run-area {
778
+ flex-direction: row;
779
+ }
780
+
781
+ .w6w-embed-root .wf-run-log {
782
+ border-top: none;
783
+ border-left: 1px solid var(--border);
784
+ max-height: none;
785
+ width: 360px;
786
+ flex-shrink: 0;
787
+ }
788
+ }
789
+
790
+ .w6w-embed-root .wf-fullbleed-foot {
791
+ padding: var(--w6w-sp-2) var(--w6w-sp-4);
792
+ border-top: 1px solid var(--border);
793
+ background: var(--panel);
794
+ }
795
+
796
+ .w6w-embed-root .wf-fullbleed-foot .row {
797
+ margin-top: 0;
798
+ }
799
+
800
+ .w6w-embed-root .code-tabs {
801
+ display: flex;
802
+ align-items: center;
803
+ gap: var(--w6w-sp-1);
804
+ margin-bottom: var(--w6w-sp-2);
805
+ }
806
+
807
+ .w6w-embed-root .code-tabs-spacer {
808
+ flex: 1;
809
+ }
810
+
811
+ .w6w-embed-root .code-tab {
812
+ background: transparent;
813
+ border: 1px solid transparent;
814
+ border-radius: var(--radius);
815
+ color: var(--muted);
816
+ cursor: pointer;
817
+ font: inherit;
818
+ padding: var(--w6w-sp-1) var(--w6w-sp-3);
819
+ }
820
+
821
+ .w6w-embed-root .code-tab:hover {
822
+ color: var(--text);
823
+ }
824
+
825
+ .w6w-embed-root .code-tab.active {
826
+ background: var(--panel);
827
+ border-color: var(--border);
828
+ color: var(--text);
829
+ }