agentweaver 0.1.18 → 0.1.20

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 (50) hide show
  1. package/README.md +54 -6
  2. package/dist/artifacts.js +9 -0
  3. package/dist/executors/git-commit-executor.js +24 -6
  4. package/dist/flow-state.js +3 -8
  5. package/dist/git/git-diff-parser.js +223 -0
  6. package/dist/git/git-service.js +562 -0
  7. package/dist/git/git-stage-selection.js +24 -0
  8. package/dist/git/git-status-parser.js +171 -0
  9. package/dist/git/git-types.js +1 -0
  10. package/dist/index.js +454 -108
  11. package/dist/interactive/auto-flow.js +644 -0
  12. package/dist/interactive/controller.js +489 -7
  13. package/dist/interactive/progress.js +194 -1
  14. package/dist/interactive/state.js +34 -0
  15. package/dist/interactive/web/index.js +237 -5
  16. package/dist/interactive/web/protocol.js +222 -1
  17. package/dist/interactive/web/server.js +497 -3
  18. package/dist/interactive/web/static/app.js +2462 -37
  19. package/dist/interactive/web/static/index.html +113 -11
  20. package/dist/interactive/web/static/styles.css +1 -1
  21. package/dist/interactive/web/static/styles.input.css +1383 -149
  22. package/dist/pipeline/auto-flow-blocks.js +307 -0
  23. package/dist/pipeline/auto-flow-config.js +273 -0
  24. package/dist/pipeline/auto-flow-identity.js +49 -0
  25. package/dist/pipeline/auto-flow-presets.js +52 -0
  26. package/dist/pipeline/auto-flow-resolver.js +830 -0
  27. package/dist/pipeline/auto-flow-types.js +17 -0
  28. package/dist/pipeline/context.js +1 -0
  29. package/dist/pipeline/declarative-flows.js +27 -1
  30. package/dist/pipeline/flow-specs/auto-common-guided.json +11 -0
  31. package/dist/pipeline/flow-specs/auto-golang.json +12 -1
  32. package/dist/pipeline/flow-specs/bugz/bug-analyze.json +54 -1
  33. package/dist/pipeline/flow-specs/gitlab/gitlab-diff-review.json +19 -1
  34. package/dist/pipeline/flow-specs/gitlab/gitlab-review.json +33 -1
  35. package/dist/pipeline/flow-specs/review/review-project.json +19 -1
  36. package/dist/pipeline/flow-specs/task-source/manual-jira-input.json +70 -0
  37. package/dist/pipeline/node-registry.js +9 -0
  38. package/dist/pipeline/nodes/codex-prompt-node.js +8 -1
  39. package/dist/pipeline/nodes/flow-run-node.js +5 -3
  40. package/dist/pipeline/nodes/git-status-node.js +2 -168
  41. package/dist/pipeline/nodes/manual-jira-task-input-node.js +146 -0
  42. package/dist/pipeline/nodes/opencode-prompt-node.js +8 -1
  43. package/dist/pipeline/nodes/plan-codex-node.js +8 -1
  44. package/dist/pipeline/spec-loader.js +14 -4
  45. package/dist/runtime/artifact-catalog.js +403 -0
  46. package/dist/runtime/settings.js +114 -0
  47. package/dist/scope.js +14 -4
  48. package/package.json +1 -1
  49. package/dist/pipeline/flow-specs/auto-common.json +0 -179
  50. package/dist/pipeline/flow-specs/auto-simple.json +0 -141
@@ -18,6 +18,11 @@
18
18
  <span id="session-status">Idle</span>
19
19
  </div>
20
20
  <div class="topbar-actions">
21
+ <button id="theme-toggle-button" class="theme-toggle" type="button" aria-pressed="false" aria-label="Switch to dark theme">
22
+ <span class="theme-toggle-track" aria-hidden="true"><span class="theme-toggle-thumb"></span></span>
23
+ <span id="theme-toggle-label" class="theme-toggle-label">Light</span>
24
+ </button>
25
+ <button id="artifact-open-button" type="button" hidden>Artifacts</button>
21
26
  <button id="run-button" type="button">Run</button>
22
27
  <button id="interrupt-button" type="button">Interrupt</button>
23
28
  <button id="help-button" type="button" aria-pressed="false">Help</button>
@@ -32,23 +37,45 @@
32
37
  <div id="flows-list" class="flows-list" role="tree" tabindex="0"></div>
33
38
  </aside>
34
39
 
35
- <section class="details-pane" aria-label="Selected flow details">
36
- <div class="pane-heading">
37
- <h2>Flow Details</h2>
38
- </div>
39
- <pre id="description-text" class="text-panel compact">No flow selected.</pre>
40
- <div class="split-panels">
40
+ <section class="details-pane" aria-label="Selected flow workspace">
41
+ <div id="auto-flow-editor" class="auto-flow-editor" hidden></div>
42
+ <div id="auto-flow-resizer" class="auto-flow-resizer" role="separator" aria-orientation="horizontal" aria-label="Resize flow editor" tabindex="0" hidden></div>
43
+ <div id="split-panels" class="split-panels">
41
44
  <section class="work-panel" aria-label="Progress">
42
45
  <div class="pane-heading">
43
46
  <h2 id="progress-title">Progress</h2>
47
+ <span id="progress-flow-label" class="progress-flow-label" hidden></span>
44
48
  </div>
45
- <pre id="progress-text" class="text-panel">No progress yet.</pre>
49
+ <div id="progress-text" class="progress-tree" role="tree" tabindex="0">No progress yet.</div>
46
50
  </section>
47
- <section class="work-panel" aria-label="Task summary">
51
+ <div id="workspace-resizer" class="workspace-resizer" role="separator" aria-orientation="vertical" aria-label="Resize workspace panels" tabindex="0"></div>
52
+ <section class="git-workspace" aria-label="Git Workspace">
48
53
  <div class="pane-heading">
49
- <h2 id="summary-title">Task Summary</h2>
54
+ <h2>Git Workspace</h2>
55
+ <button id="git-refresh-button" type="button">Refresh</button>
56
+ </div>
57
+ <div class="git-body">
58
+ <div id="git-summary" class="git-summary">Git workspace has not been refreshed yet.</div>
59
+ <div class="git-actions">
60
+ <input id="git-branch-input" type="text" placeholder="new-branch-name" aria-label="New branch name">
61
+ <button id="git-create-branch-button" type="button">Create Branch</button>
62
+ <select id="git-checkout-select" aria-label="Checkout branch"></select>
63
+ <button id="git-checkout-button" type="button">Checkout</button>
64
+ <button id="git-fetch-button" type="button">Fetch</button>
65
+ <button id="git-pull-button" type="button">Pull FF</button>
66
+ </div>
67
+ <div id="git-files" class="git-files" role="list"></div>
68
+ <div class="git-commit-row">
69
+ <textarea id="git-commit-message" rows="2" placeholder="Commit message" aria-label="Commit message"></textarea>
70
+ <div class="git-commit-actions">
71
+ <button id="git-stage-button" type="button">Stage</button>
72
+ <button id="git-unstage-button" type="button">Unstage</button>
73
+ <button id="git-commit-button" class="primary" type="button">Commit</button>
74
+ <button id="git-push-button" type="button">Push</button>
75
+ </div>
76
+ </div>
77
+ <div id="git-feedback" class="git-feedback" role="status" aria-live="polite"></div>
50
78
  </div>
51
- <pre id="summary-text" class="text-panel">No task summary yet.</pre>
52
79
  </section>
53
80
  </div>
54
81
  </section>
@@ -56,7 +83,13 @@
56
83
  <section class="log-pane" aria-label="Activity log">
57
84
  <div class="pane-heading">
58
85
  <h2 id="log-title">Activity</h2>
59
- <button id="clear-log-button" type="button">Clear Log</button>
86
+ <div class="log-actions">
87
+ <label class="log-autoscroll">
88
+ <input id="log-autoscroll-toggle" type="checkbox" checked>
89
+ <span>Auto-scroll</span>
90
+ </label>
91
+ <button id="clear-log-button" type="button">Clear Log</button>
92
+ </div>
60
93
  </div>
61
94
  <pre id="log-text" class="text-panel log-output"></pre>
62
95
  </section>
@@ -71,6 +104,75 @@
71
104
  </main>
72
105
  </div>
73
106
 
107
+ <aside id="artifact-drawer" class="artifact-drawer" aria-label="Artifact Explorer" hidden>
108
+ <div class="artifact-drawer-header">
109
+ <div>
110
+ <h2 id="artifact-title">Artifact Explorer</h2>
111
+ <p id="artifact-meta"></p>
112
+ </div>
113
+ <button id="artifact-close-button" type="button">Close</button>
114
+ </div>
115
+ <div id="artifact-message" class="artifact-message"></div>
116
+ <div class="artifact-drawer-body">
117
+ <section class="artifact-list-pane" aria-label="Artifacts by phase">
118
+ <div class="pane-heading">
119
+ <h2>Artifacts</h2>
120
+ </div>
121
+ <div id="artifact-list" class="artifact-list"></div>
122
+ </section>
123
+ <section class="artifact-preview" aria-label="Selected artifact preview">
124
+ <div class="artifact-preview-header">
125
+ <div class="artifact-selected">
126
+ <h2 id="artifact-selected-title">Preview</h2>
127
+ <p id="artifact-selected-meta">Select an artifact to preview it.</p>
128
+ </div>
129
+ <div class="artifact-toolbar" aria-label="Selected artifact actions">
130
+ <button id="artifact-copy-content-button" type="button" disabled>Copy content</button>
131
+ <button id="artifact-copy-reference-button" type="button" disabled>Copy path/reference</button>
132
+ <a id="artifact-open-raw-link" class="artifact-action-link disabled" target="_blank" rel="noopener noreferrer" aria-disabled="true">Open raw</a>
133
+ <a id="artifact-download-link" class="artifact-action-link disabled" aria-disabled="true">Download</a>
134
+ <button id="artifact-toolbar-close-button" type="button">Close</button>
135
+ </div>
136
+ <p id="artifact-action-status" class="artifact-action-status" role="status" aria-live="polite"></p>
137
+ </div>
138
+ <div id="artifact-preview-text" class="artifact-preview-content text-panel compact">Select an artifact to preview it.</div>
139
+ </section>
140
+ </div>
141
+ </aside>
142
+
143
+ <aside id="git-diff-drawer" class="git-diff-drawer" aria-label="Git Diff Viewer" hidden>
144
+ <div class="git-diff-drawer-header">
145
+ <div>
146
+ <h2 id="git-diff-title">Git Diff Viewer</h2>
147
+ <p id="git-diff-meta">Select a changed file to inspect its diff.</p>
148
+ </div>
149
+ <button id="git-diff-close-button" type="button">Close</button>
150
+ </div>
151
+ <div id="git-diff-status" class="git-diff-status" role="status" aria-live="polite"></div>
152
+ <div class="git-diff-drawer-body">
153
+ <section class="git-diff-file-pane" aria-label="Changed files">
154
+ <div class="pane-heading">
155
+ <h2>Changed Files</h2>
156
+ </div>
157
+ <div id="git-diff-file-list" class="git-diff-file-list"></div>
158
+ </section>
159
+ <section class="git-diff-preview" aria-label="Selected file diff">
160
+ <div class="git-diff-preview-header">
161
+ <div class="git-diff-selected">
162
+ <h2 id="git-diff-selected-title">Diff</h2>
163
+ <p id="git-diff-selected-meta">No file selected.</p>
164
+ </div>
165
+ <div id="git-diff-mode-controls" class="git-diff-mode-controls" role="group" aria-label="Diff mode">
166
+ <button type="button" data-git-diff-mode="head">All</button>
167
+ <button type="button" data-git-diff-mode="staged">Staged</button>
168
+ <button type="button" data-git-diff-mode="worktree">Unstaged</button>
169
+ </div>
170
+ </div>
171
+ <div id="git-diff-body" class="git-diff-body">Select a changed file to inspect its diff.</div>
172
+ </section>
173
+ </div>
174
+ </aside>
175
+
74
176
  <div id="modal-root" class="modal-root" aria-live="polite"></div>
75
177
  <script src="/static/app.js" defer></script>
76
178
  </body>
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-leading:initial;--tw-tracking:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.hidden{display:none}}:root{color-scheme:dark;--aw-bg:#070b0a;--aw-bg-soft:#0b1210;--aw-panel:#0f1714;--aw-panel-muted:#111d19;--aw-border:#22352e;--aw-border-strong:#36564a;--aw-text:#e8f3ed;--aw-muted:#91a79b;--aw-dim:#6f8379;--aw-accent:#38e08f;--aw-accent-strong:#7af7bd;--aw-accent-soft:#38e08f21;--aw-cyan:#65d8ff;--aw-danger:#ff6b6b;--aw-success:#38e08f;--aw-warning:#f2c94c;--aw-shadow:0 28px 90px #00000073;--aw-glow:0 0 0 1px #38e08f14, 0 18px 60px #38e08f14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:calc(var(--spacing) * 0);background:linear-gradient(180deg, #38e08f14, transparent 24rem), radial-gradient(circle at 88% 8%, #65d8ff17, transparent 24rem), var(--aw-bg);color:var(--aw-text);overflow:hidden}button,input,select,textarea{font:inherit}button{min-height:calc(var(--spacing) * 8);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border:1px solid var(--aw-border-strong);color:var(--aw-text);cursor:pointer;background:linear-gradient(#ffffff09,#ffffff04);display:inline-flex}button:hover,button:focus-visible{border-color:var(--aw-accent);color:var(--aw-accent-strong);outline:2px solid #0000;box-shadow:0 0 0 3px #38e08f1f}button.primary{color:var(--aw-accent-strong);background:linear-gradient(#38e08f42,#38e08f21);border-color:#38e08fbf}button.danger{color:#ffb3b3;border-color:#ff6b6bad}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.topbar{align-items:center;gap:calc(var(--spacing) * 4);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--aw-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070b0ae0;grid-template-columns:minmax(220px,1fr) auto auto;display:grid}.identity{min-width:0}h1,h2,p{letter-spacing:0;margin:0}h1{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--aw-text)}h1:before{content:"▰";color:var(--aw-accent);margin-right:.55rem;font-size:.78em}h2{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);text-transform:uppercase;color:var(--aw-muted)}.identity p,.status-strip{color:var(--aw-muted);font-size:13px;line-height:1.35}.identity p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-strip,.topbar-actions,.pane-heading,.modal-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.topbar-actions{justify-content:flex-end}.connection{min-width:calc(var(--spacing) * 24);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);border:1px solid;border-radius:3.40282e38px;justify-content:center;display:inline-flex}.connection-connecting{color:var(--aw-warning);background:#f2c94c21}.connection-connected{color:var(--aw-success);background:#38e08f24}.connection-disconnected,.connection-error,.connection-closed{color:var(--aw-danger);background:#ff6b6b1f}.workspace{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 3);grid-template-columns:minmax(230px,300px) minmax(380px,1fr) minmax(300px,440px);display:grid}.flows-pane,.details-pane,.log-pane,.help-panel,.work-panel{min-height:calc(var(--spacing) * 0);border-radius:var(--radius-lg);border:1px solid var(--aw-border);box-shadow:var(--aw-glow);background:linear-gradient(#0f1714f5,#0a100ef5);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.details-pane{grid-template-rows:auto minmax(92px,.24fr) minmax(0,1fr);gap:10px}.split-panels{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.pane-heading{min-height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border-bottom:1px solid var(--aw-border);background:linear-gradient(#ffffff09,#ffffff03);justify-content:space-between}.flows-list{min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 2);overflow:auto}.flow-row{align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);text-align:left;background-color:#0000;border-width:1px;border-color:#0000;grid-template-columns:20px minmax(0,1fr);min-height:36px;display:grid}.flow-row:hover,.flow-row:focus-visible{background:#38e08f14}.flow-row.selected{background:var(--aw-accent-soft);color:var(--aw-accent-strong);border-color:#38e08f9e}.flow-row.folder{font-weight:700}.flow-icon{color:var(--aw-dim);text-align:center}.flow-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--aw-dim);grid-column:2;font-size:11px;overflow:hidden}.text-panel{margin:calc(var(--spacing) * 0);min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 3);overflow-wrap:anywhere;white-space:pre-wrap;color:#d7eadf;background:#070b0a6b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;overflow:auto}.text-panel.compact{border-bottom:1px solid var(--aw-border)}.log-output{color:#d8f7e7;background:linear-gradient(#38e08f09,#0000 8rem),#050806}.help-panel{z-index:6;width:min(520px,100vw - 24px);max-height:calc(100vh - 88px);box-shadow:var(--aw-shadow);position:absolute;top:72px;right:12px}.modal-root:empty{display:none}.modal-root{inset:calc(var(--spacing) * 0);z-index:20;padding:calc(var(--spacing) * 5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020504b8;place-items:center;display:grid;position:fixed}.modal{border-radius:var(--radius-lg);border:1px solid var(--aw-border-strong);background:var(--aw-panel);width:min(720px,100%);max-height:min(760px,100vh - 40px);box-shadow:var(--aw-shadow);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.modal.form-flow-routing-editor{width:min(940px,100%)}.modal-header,.modal-body,.modal-footer{padding:12px 14px}.modal-header{border-bottom:1px solid var(--aw-border)}.modal-header p,.field-help,.field-option small,.modal-note{color:var(--aw-muted);font-size:13px}.modal-body{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);display:grid;overflow:auto}.modal-footer{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-top:1px solid var(--aw-border);display:flex}.modal-actions{flex-wrap:wrap;justify-content:flex-end}.form-fields{gap:calc(var(--spacing) * 3);display:grid}.form-fields.route-fields{gap:0}.field-pair{align-items:flex-start;gap:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--aw-border);grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);display:grid}.field-pair:first-child{padding-top:0}.field-pair:last-child{border-bottom:0;padding-bottom:0}.field{gap:calc(var(--spacing) * 1.5);display:grid}.field label,.field-title{font-weight:700}.field input[type=text],.field textarea,.field select{min-height:calc(var(--spacing) * 9);border-radius:var(--radius-md);width:100%;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);border:1px solid var(--aw-border-strong);color:var(--aw-text);background:#070b0a}.field input[type=text]:focus,.field textarea:focus,.field select:focus{border-color:var(--aw-accent);outline:2px solid #0000;box-shadow:0 0 0 3px #38e08f1f}.field textarea{resize:vertical}.check-row,.field-option{align-items:flex-start;gap:calc(var(--spacing) * 2);display:flex}.option-list{gap:calc(var(--spacing) * 1.5);display:grid}.error-text{color:var(--aw-danger);font-weight:700}::selection{color:var(--aw-text);background:#38e08f52}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#284137;border:2px solid #08100d;border-radius:999px}::-webkit-scrollbar-track{background:#08100d}@media (max-width:1080px){body{overflow:auto}.app-shell{height:auto;min-height:100%}.workspace{grid-template-rows:minmax(260px,42vh) minmax(320px,1fr);grid-template-columns:minmax(220px,.35fr) minmax(0,1fr)}.log-pane{grid-column:1/-1;min-height:320px}}@media (max-width:760px){.topbar{grid-template-columns:1fr;gap:10px}.status-strip,.topbar-actions{flex-wrap:wrap;justify-content:flex-start}.workspace,.split-panels{grid-template-columns:1fr}.workspace{grid-template-rows:260px 520px 340px}.field-pair{grid-template-columns:1fr;gap:12px}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-leading:initial;--tw-tracking:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}}:root{color-scheme:light;--aw-bg:#f4f7f5;--aw-bg-soft:#edf3ef;--aw-panel:#fff;--aw-panel-muted:#f7faf8;--aw-border:#d4dfd9;--aw-border-strong:#a9bcb1;--aw-text:#17231e;--aw-muted:#5d7066;--aw-dim:#7a8b82;--aw-accent:#168254;--aw-accent-strong:#0d6b45;--aw-accent-soft:#1682541a;--aw-cyan:#0e7490;--aw-danger:#c03535;--aw-success:#168254;--aw-warning:#946500;--aw-shadow:0 18px 52px #1a2a2226;--aw-glow:0 0 0 1px #16825412, 0 16px 44px #1a2a2212;--aw-body-bg:linear-gradient(180deg, #16825414, transparent 24rem), radial-gradient(circle at 88% 8%, #0e749014, transparent 24rem), var(--aw-bg);--aw-control-bg:linear-gradient(180deg, #fffffff5, #f2f8f5eb);--aw-primary-bg:linear-gradient(180deg, #1682542e, #16825417);--aw-danger-text:#a62f2f;--aw-success-text:#0d6b45;--aw-warning-text:#755400;--aw-running-text:#0c6580;--aw-pending-text:#405349;--aw-control-ring:#16825429;--aw-topbar-bg:#ffffffdb;--aw-panel-bg:linear-gradient(180deg, #fffffffa, #f7faf8fa);--aw-heading-bg:linear-gradient(180deg, #1934270a, #19342703);--aw-surface-bg:#eff6f2c2;--aw-surface-subtle-bg:#f8fbf9d1;--aw-input-bg:#fff;--aw-text-panel-text:#21322a;--aw-log-bg:linear-gradient(180deg, #1682540b, transparent 8rem), #f8faf8;--aw-drawer-bg:#fffffffa;--aw-modal-overlay:#d8e2ddad;--aw-code-bg:#0e749014;--aw-code-text:#17231e;--aw-pre-bg:#f7faf8e0;--aw-pre-text:#21322a;--aw-muted-bg:#17231e0d;--aw-inset-border:#17231e14;--aw-warning-soft:#9465001f;--aw-success-soft:#1682541c;--aw-running-soft:#0e74901c;--aw-danger-soft:#c035351c;--aw-file-badge-bg:#0e749014;--aw-diff-border:#becdc5eb;--aw-diff-line-number-bg:#eef4f0db;--aw-diff-add-bg:#1682541f;--aw-diff-add-text:#0d5f3d;--aw-diff-delete-bg:#c035351c;--aw-diff-delete-text:#932222;--aw-diff-context-bg:#ffffffb8;--aw-scrollbar-thumb:#b8c8bf;--aw-scrollbar-track:#edf3ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--aw-bg:#070b0a;--aw-bg-soft:#0b1210;--aw-panel:#0f1714;--aw-panel-muted:#111d19;--aw-border:#22352e;--aw-border-strong:#36564a;--aw-text:#e8f3ed;--aw-muted:#91a79b;--aw-dim:#6f8379;--aw-accent:#38e08f;--aw-accent-strong:#7af7bd;--aw-accent-soft:#38e08f21;--aw-cyan:#65d8ff;--aw-danger:#ff6b6b;--aw-success:#38e08f;--aw-warning:#f2c94c;--aw-shadow:0 28px 90px #00000073;--aw-glow:0 0 0 1px #38e08f14, 0 18px 60px #38e08f14;--aw-body-bg:linear-gradient(180deg, #38e08f14, transparent 24rem), radial-gradient(circle at 88% 8%, #65d8ff17, transparent 24rem), var(--aw-bg);--aw-control-bg:linear-gradient(180deg, #ffffff09, #ffffff04);--aw-primary-bg:linear-gradient(180deg, #38e08f42, #38e08f21);--aw-danger-text:#ffb3b3;--aw-success-text:#9df0c2;--aw-warning-text:#ffe49a;--aw-running-text:#bfefff;--aw-pending-text:#c2d0c8;--aw-control-ring:#38e08f1f;--aw-topbar-bg:#070b0ae0;--aw-panel-bg:linear-gradient(180deg, #0f1714f5, #0a100ef5);--aw-heading-bg:linear-gradient(180deg, #ffffff09, #ffffff03);--aw-surface-bg:#070b0a6b;--aw-surface-subtle-bg:#0307065c;--aw-input-bg:#070b0a;--aw-text-panel-text:#d7eadf;--aw-log-bg:linear-gradient(180deg, #38e08f09, transparent 8rem), #050806;--aw-drawer-bg:#0a100efa;--aw-modal-overlay:#020504b8;--aw-code-bg:#65d8ff14;--aw-code-text:#d8f7e7;--aw-pre-bg:#0307069e;--aw-pre-text:#d7eadf;--aw-muted-bg:#ffffff09;--aw-inset-border:#ffffff14;--aw-warning-soft:#f2c94c1f;--aw-success-soft:#38e08f24;--aw-running-soft:#65d8ff1f;--aw-danger-soft:#ff6b6b1f;--aw-file-badge-bg:#65d8ff17;--aw-diff-border:#22352eb8;--aw-diff-line-number-bg:#070b0a8c;--aw-diff-add-bg:#38e08f21;--aw-diff-add-text:#dcffe9;--aw-diff-delete-bg:#ff6b6b1f;--aw-diff-delete-text:#ffd6d6;--aw-diff-context-bg:#ffffff04;--aw-scrollbar-thumb:#284137;--aw-scrollbar-track:#08100d}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:calc(var(--spacing) * 0);background:var(--aw-body-bg);color:var(--aw-text);overflow:hidden}button,input,select,textarea{font:inherit}button{min-height:calc(var(--spacing) * 8);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border:1px solid var(--aw-border-strong);background:var(--aw-control-bg);color:var(--aw-text);cursor:pointer;display:inline-flex}button:hover,button:focus-visible{border-color:var(--aw-accent);color:var(--aw-accent-strong);box-shadow:0 0 0 3px var(--aw-control-ring);outline:2px solid #0000}button.primary{background:var(--aw-primary-bg);color:var(--aw-accent-strong);border-color:#38e08fbf}button.danger{color:var(--aw-danger-text);border-color:#ff6b6bad}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.topbar{align-items:center;gap:calc(var(--spacing) * 4);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--aw-border);background:var(--aw-topbar-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:minmax(220px,1fr) auto auto;display:grid}.identity{min-width:0}h1,h2,p{letter-spacing:0;margin:0}h1{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--aw-text)}h1:before{content:"▰";color:var(--aw-accent);margin-right:.55rem;font-size:.78em}h2{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);text-transform:uppercase;color:var(--aw-muted)}.identity p,.status-strip{color:var(--aw-muted);font-size:13px;line-height:1.35}.identity p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-strip,.topbar-actions,.pane-heading,.modal-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.topbar-actions{justify-content:flex-end}.log-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.log-autoscroll{align-items:center;gap:calc(var(--spacing) * 1.5);color:var(--aw-muted);font-size:12px;font-weight:700;line-height:1;display:inline-flex}.log-autoscroll input{width:13px;height:13px;margin:0}.theme-toggle{padding-inline:calc(var(--spacing) * 2.5);min-width:92px}.theme-toggle-track{border:1px solid var(--aw-border-strong);background:var(--aw-surface-bg);border-radius:999px;flex:none;width:34px;height:18px;position:relative}.theme-toggle-thumb{background:var(--aw-accent-strong);border-radius:999px;width:12px;height:12px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000038}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(16px)}.theme-toggle-label{font-size:12px;line-height:1}.connection{min-width:calc(var(--spacing) * 24);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);border:1px solid;border-radius:3.40282e38px;justify-content:center;display:inline-flex}.connection-connecting{color:var(--aw-warning);background:#f2c94c21}.connection-connected{color:var(--aw-success);background:#38e08f24}.connection-disconnected,.connection-error,.connection-closed{color:var(--aw-danger);background:#ff6b6b1f}.workspace{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 3);grid-template-columns:minmax(230px,300px) minmax(380px,1fr) minmax(300px,440px);display:grid}.flows-pane,.details-pane,.log-pane,.help-panel,.work-panel,.git-workspace{min-height:calc(var(--spacing) * 0);border-radius:var(--radius-lg);border:1px solid var(--aw-border);background:var(--aw-panel-bg);box-shadow:var(--aw-glow);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.details-pane{grid-template-rows:auto auto minmax(0,1fr);gap:0}.split-panels{min-height:calc(var(--spacing) * 0);--aw-work-panel-width:36%;grid-template-columns:minmax(220px, var(--aw-work-panel-width)) 12px minmax(360px, 1fr);grid-row:3;grid-auto-rows:minmax(0,1fr);display:grid}.workspace-resizer{cursor:col-resize;border-left:1px solid var(--aw-border);border-right:1px solid var(--aw-border);background:var(--aw-heading-bg);position:relative}.workspace-resizer:before{content:"";background:var(--aw-border-strong);opacity:.7;border-radius:999px;width:3px;height:min(220px,42%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workspace-resizer:hover:before,.workspace-resizer:focus-visible:before,.workspace-resizer.resizing:before{background:var(--aw-accent);opacity:1}.workspace-resizer:focus-visible{box-shadow:inset 0 0 0 2px var(--aw-accent);outline:2px solid #0000}.workspace-split-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.pane-heading{min-height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border-bottom:1px solid var(--aw-border);background:var(--aw-heading-bg);justify-content:space-between}.flows-list{min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 2);overflow:auto}.flow-row{align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);text-align:left;background-color:#0000;border-width:1px;border-color:#0000;grid-template-columns:20px minmax(0,1fr);min-height:36px;display:grid}.flow-row:hover,.flow-row:focus-visible{background:#38e08f14}.flow-row.selected{background:var(--aw-accent-soft);color:var(--aw-accent-strong);border-color:#38e08f9e}.flow-row.folder{font-weight:700}.flow-icon{color:var(--aw-dim);text-align:center}.flow-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--aw-dim);grid-column:2;font-size:11px;overflow:hidden}.text-panel{margin:calc(var(--spacing) * 0);min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 3);overflow-wrap:anywhere;white-space:pre-wrap;background:var(--aw-surface-bg);color:var(--aw-text-panel-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;overflow:auto}.text-panel.compact{border-bottom:1px solid var(--aw-border)}.progress-tree{margin:calc(var(--spacing) * 0);min-height:calc(var(--spacing) * 0);align-content:flex-start;gap:calc(var(--spacing) * 1);padding:calc(var(--spacing) * 2);background:var(--aw-surface-bg);color:var(--aw-text-panel-text);font-size:12px;line-height:1.35;display:grid;overflow:auto}.progress-tree.fallback{overflow-wrap:anywhere;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;line-height:1.5;display:block}.progress-flow-label{min-width:calc(var(--spacing) * 0);text-overflow:ellipsis;white-space:nowrap;color:var(--aw-text);text-transform:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:800;overflow:hidden}.progress-row{min-width:calc(var(--spacing) * 0);align-items:flex-start;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);border-width:1px;border-color:#0000;grid-template-columns:18px minmax(0,1fr);min-height:32px;display:grid}.progress-marker{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);border:1px solid;border-radius:3.40282e38px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.progress-row-body{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * .5);display:grid}.progress-label,.progress-detail{min-width:calc(var(--spacing) * 0);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-detail{color:var(--aw-muted);font-size:11px}.progress-row.kind-group .progress-label{font-weight:800}.progress-row.kind-phase .progress-label{font-weight:700}.progress-row.kind-step .progress-label,.progress-row.kind-termination .progress-label{font-weight:600}.progress-row.status-done{color:var(--aw-success-text);background:var(--aw-success-soft)}.progress-row.status-done .progress-marker{background:var(--aw-success-soft)}.progress-row.status-running{background:var(--aw-running-soft);color:var(--aw-running-text);border-color:#65d8ff8f;box-shadow:inset 3px 0 #65d8ffd1}.progress-row.status-running .progress-marker{background:var(--aw-running-soft)}.progress-row.status-pending{color:var(--aw-pending-text)}.progress-row.status-pending .progress-marker{color:var(--aw-muted);background:var(--aw-muted-bg)}.progress-row.status-skipped{color:var(--aw-dim);background:var(--aw-muted-bg)}.progress-row.status-skipped .progress-marker{background:var(--aw-muted-bg)}.progress-row.status-success{color:var(--aw-success-text);background:var(--aw-success-soft)}.progress-row.status-success .progress-marker{background:var(--aw-success-soft)}.progress-row.status-waiting-user,.progress-row.status-stopped,.progress-row.status-blocked{background:var(--aw-warning-soft);color:var(--aw-warning-text);border-color:#f2c94c94}.progress-row.status-failed,.progress-row.status-invalid{background:var(--aw-danger-soft);color:var(--aw-danger-text);border-color:#ff6b6ba8}.progress-row.status-disabled,.progress-row.status-empty{color:var(--aw-dim);background:var(--aw-muted-bg)}.auto-flow-editor{gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 2);padding-bottom:calc(var(--spacing) * 2);height:min(56vh,520px);min-height:120px;max-height:min(72vh,640px);font-size:12px;display:grid;overflow:auto}.auto-flow-resizer{cursor:row-resize;border-top:1px solid var(--aw-border);border-bottom:1px solid var(--aw-border);background:var(--aw-heading-bg);height:12px;position:relative}.auto-flow-resizer:before{content:"";background:var(--aw-border-strong);opacity:.7;border-radius:999px;width:min(220px,42%);height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auto-flow-resizer:hover:before,.auto-flow-resizer:focus-visible:before,.auto-flow-resizer.resizing:before{background:var(--aw-accent);opacity:1}.auto-flow-resizer:focus-visible{box-shadow:inset 0 0 0 2px var(--aw-accent);outline:2px solid #0000}.auto-flow-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.auto-flow-toolbar,.auto-flow-block,.auto-flow-insert,.auto-flow-params{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.auto-flow-toolbar{padding-block:calc(var(--spacing) * 1.5);z-index:2;margin-inline:calc(var(--spacing) * -2);padding-inline:calc(var(--spacing) * 2);border-bottom:1px solid var(--aw-border);background:var(--aw-panel-bg);position:sticky;top:0}.auto-flow-toolbar button{min-height:26px;padding:3px 10px;font-size:12px}.auto-flow-status,.auto-flow-pill,.auto-flow-locked{border-style:var(--tw-border-style);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);border-width:1px;border-radius:3.40282e38px;justify-content:center;align-items:center;min-height:16px;padding:1px 5px;font-size:10px;line-height:1;display:inline-flex}.auto-flow-status.valid,.auto-flow-pill.status-success,.auto-flow-pill.status-running{color:var(--aw-accent-strong);background:var(--aw-success-soft);border-color:#38e08fad}.auto-flow-status.invalid,.auto-flow-pill.status-invalid,.auto-flow-pill.status-failed{color:var(--aw-danger-text);background:var(--aw-danger-soft);border-color:#ff6b6ba8}.auto-flow-pill.status-disabled,.auto-flow-pill.status-empty,.auto-flow-locked{color:var(--aw-dim);border-color:var(--aw-border);background:var(--aw-muted-bg)}.auto-flow-message,.auto-flow-reason,.auto-flow-empty{color:var(--aw-muted);font-size:11px;line-height:1.25}.auto-flow-diagnostics{gap:calc(var(--spacing) * 1);border-radius:var(--radius-md);border-style:var(--tw-border-style);padding:calc(var(--spacing) * 2);color:var(--aw-danger-text);background:var(--aw-danger-soft);border-width:1px;border-color:#ff6b6b80;font-size:12px;display:grid}.auto-flow-slots{gap:calc(var(--spacing) * 1.5);display:grid}.auto-flow-slot{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--aw-border);background:var(--aw-surface-bg);gap:3px;padding:6px 8px;display:grid}.auto-flow-slot-title,.auto-flow-block-label{align-items:center;gap:calc(var(--spacing) * 1.5);flex-wrap:wrap;line-height:1.2;display:flex}.auto-flow-slot-title strong,.auto-flow-block-label strong{font-size:13px}.auto-flow-blocks{gap:calc(var(--spacing) * .5);display:grid}.auto-flow-block{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--aw-inset-border);background:var(--aw-muted-bg);padding:5px 7px}.auto-flow-block-main{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * .5);display:grid}.auto-flow-params input,.auto-flow-insert select{border-radius:var(--radius-md);border:1px solid var(--aw-border-strong);min-height:26px;color:var(--aw-text);background:var(--aw-input-bg);padding:2px 6px;font-size:11px}.git-body{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1.5);padding:calc(var(--spacing) * 1.5);background:var(--aw-surface-bg);grid-template-rows:auto auto minmax(72px,1fr) auto auto;display:grid;overflow:auto}.git-summary,.git-feedback,.git-empty{color:var(--aw-muted);font-size:12px;line-height:1.4}.git-summary strong{color:var(--aw-text)}.git-actions,.git-commit-actions{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.git-actions input,.git-actions select,.git-commit-row textarea{min-height:calc(var(--spacing) * 8);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);border:1px solid var(--aw-border-strong);background:var(--aw-input-bg);min-width:0;color:var(--aw-text);font-size:12px}.git-actions input{width:min(210px,100%)}.git-actions select{width:min(190px,100%)}.git-files{align-content:flex-start;gap:calc(var(--spacing) * .5);border-radius:var(--radius-md);padding:calc(var(--spacing) * 1);border:1px solid var(--aw-border);background:var(--aw-surface-subtle-bg);display:grid;overflow:auto}.git-tree-node{gap:calc(var(--spacing) * 0);display:grid}.git-tree-row{align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);min-height:24px;color:var(--aw-text-panel-text);border:1px solid #0000;grid-template-columns:auto auto minmax(0,1fr) auto auto;font-size:11px;line-height:1.25;display:grid}.git-tree-row.without-type{grid-template-columns:auto minmax(0,1fr) auto auto}.git-tree-row:hover{border-color:var(--aw-border-strong);background:var(--aw-muted-bg)}.git-tree-row input{width:13px;height:13px;margin:0}.git-tree-group{color:var(--aw-accent-strong);background:var(--aw-success-soft)}.git-tree-dir{color:var(--aw-text)}.git-file-type{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);text-transform:uppercase;border:1px solid var(--aw-border-strong);min-height:14px;color:var(--aw-cyan);background:var(--aw-file-badge-bg);border-radius:3.40282e38px;justify-content:center;align-items:center;padding:1px 4px;font-size:9px;line-height:1;display:inline-flex}.git-file-type.staged{color:var(--aw-accent-strong);background:var(--aw-success-soft);border-color:#38e08fb8}.git-file-path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.git-file-meta{color:var(--aw-dim);font-size:10px}.git-diff-open{min-height:22px;padding:1px 6px;font-size:10px}.git-commit-row{gap:calc(var(--spacing) * 2);grid-template-columns:minmax(0,1fr) auto;display:grid}.git-commit-row textarea{resize:vertical;width:100%}.git-feedback.error{color:var(--aw-danger-text)}.git-feedback.success{color:var(--aw-success-text)}.log-output{background:var(--aw-log-bg);color:var(--aw-code-text)}.help-panel{z-index:6;width:min(520px,100vw - 24px);max-height:calc(100vh - 88px);box-shadow:var(--aw-shadow);position:absolute;top:72px;right:12px}.artifact-drawer{top:calc(var(--spacing) * 0);right:calc(var(--spacing) * 0);z-index:10;border-left:1px solid var(--aw-border-strong);background:var(--aw-drawer-bg);width:min(1120px,100vw - 32px);height:100%;box-shadow:var(--aw-shadow);grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed}.artifact-drawer-header{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--aw-border);background:var(--aw-heading-bg);display:flex}.artifact-drawer-header p,.artifact-message,.artifact-empty,.artifact-row-main span,.artifact-selected p,.artifact-action-status{color:var(--aw-muted);font-size:13px}.artifact-message{border-bottom:1px solid var(--aw-border);padding:10px 14px}.artifact-drawer-body{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 0);grid-template-columns:minmax(300px,.42fr) minmax(420px,1fr);display:grid}.artifact-list-pane,.artifact-preview{min-height:calc(var(--spacing) * 0);grid-template-rows:auto minmax(0,1fr);display:grid}.artifact-list-pane{border-right:1px solid var(--aw-border)}.artifact-list{min-height:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);overflow:auto}.artifact-group{gap:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 2);display:grid}.artifact-group h3{margin:calc(var(--spacing) * 0);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);text-transform:uppercase;color:var(--aw-dim)}.artifact-subgroup{gap:calc(var(--spacing) * 1);border-left-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 1);padding-left:calc(var(--spacing) * 3);border-left-width:1px;border-color:var(--aw-border)}.artifact-subgroup h4{margin:calc(var(--spacing) * 0);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);color:var(--aw-muted)}.artifact-row{align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);padding:calc(var(--spacing) * 2);border:1px solid var(--aw-border);background:var(--aw-surface-bg);grid-template-columns:minmax(0,1fr) auto;display:grid}.artifact-row.selected{background:var(--aw-accent-soft);border-color:#38e08f9e}.artifact-row-main{min-height:calc(var(--spacing) * 0);justify-content:stretch;gap:calc(var(--spacing) * 1);border-style:var(--tw-border-style);padding:calc(var(--spacing) * 0);text-align:left;box-shadow:none;background-color:#0000;border-width:0;display:grid}.artifact-row-main:hover,.artifact-row-main:focus-visible{box-shadow:none}.artifact-row-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.artifact-row-meta{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1);grid-template-columns:auto auto minmax(0,1fr);display:grid}.artifact-row-meta span{min-width:calc(var(--spacing) * 0);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.artifact-row-meta span:not(:last-child):after{content:"|";color:var(--aw-dim);margin-left:.25rem}.artifact-row-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.artifact-row-actions a,.artifact-action-link{color:var(--aw-cyan);font-size:12px;font-weight:700;text-decoration:none}.artifact-row-actions a:hover,.artifact-row-actions a:focus-visible,.artifact-action-link:hover,.artifact-action-link:focus-visible{color:var(--aw-accent-strong);text-decoration:underline}.artifact-preview{grid-template-rows:auto minmax(0,1fr)}.artifact-preview-header{gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border-bottom:1px solid var(--aw-border);background:var(--aw-heading-bg);display:grid}.artifact-selected{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1);display:grid}.artifact-selected h2,.artifact-selected p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.artifact-toolbar{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.artifact-action-link{min-height:calc(var(--spacing) * 8);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);border:1px solid var(--aw-border-strong);background:var(--aw-control-bg);justify-content:center;align-items:center;display:inline-flex}.artifact-action-link.disabled{color:var(--aw-dim);cursor:not-allowed;opacity:.48;pointer-events:none;text-decoration:none}.artifact-action-status{min-height:18px}.artifact-preview-content{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);align-content:start;display:grid;overflow:auto}.artifact-rendered-markdown{gap:calc(var(--spacing) * 3);color:var(--aw-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6;display:grid}.artifact-rendered-markdown h1,.artifact-rendered-markdown h2,.artifact-rendered-markdown h3,.artifact-rendered-markdown h4,.artifact-rendered-markdown h5,.artifact-rendered-markdown h6{color:var(--aw-text);text-transform:none;margin:0;font-weight:750}.artifact-rendered-markdown h1{font-size:22px}.artifact-rendered-markdown h1:before{content:none}.artifact-rendered-markdown h2{font-size:18px}.artifact-rendered-markdown h3{font-size:15px}.artifact-rendered-markdown p,.artifact-rendered-markdown ul,.artifact-rendered-markdown ol{margin:0}.artifact-rendered-markdown ul,.artifact-rendered-markdown ol{padding-left:1.35rem}.artifact-rendered-markdown a,.artifact-placeholder-actions a{color:var(--aw-cyan);font-weight:700}.artifact-rendered-markdown code,.artifact-rendered-markdown pre,.artifact-text-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.artifact-rendered-markdown code{border:1px solid var(--aw-border);background:var(--aw-code-bg);color:var(--aw-code-text);border-radius:4px;padding:.08rem .28rem}.artifact-rendered-markdown pre,.artifact-text-preview{margin:calc(var(--spacing) * 0);border-radius:var(--radius-md);padding:calc(var(--spacing) * 3);border:1px solid var(--aw-border);background:var(--aw-pre-bg);color:var(--aw-pre-text);overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.5;overflow:auto}.artifact-rendered-markdown pre code{background:0 0;border:0;padding:0}.artifact-rendered-markdown table{border-collapse:collapse;width:100%;font-size:13px}.artifact-rendered-markdown th,.artifact-rendered-markdown td{border:1px solid var(--aw-border);text-align:left;vertical-align:top;padding:6px 8px}.artifact-rendered-markdown th{background:var(--aw-muted-bg);color:var(--aw-accent-strong)}.artifact-json-viewer{gap:calc(var(--spacing) * 3);display:grid}.artifact-preview-modes{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.artifact-preview-warning,.artifact-truncation{border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);background:var(--aw-warning-soft);color:var(--aw-warning-text);border:1px solid #f2c94c6b;font-size:13px}.artifact-kind-label{width:fit-content;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);text-transform:uppercase;border:1px solid var(--aw-border-strong);color:var(--aw-cyan);background:var(--aw-file-badge-bg);border-radius:3.40282e38px;display:inline-flex}.artifact-placeholder{gap:calc(var(--spacing) * 3);border-radius:var(--radius-md);padding:calc(var(--spacing) * 3);border:1px dashed var(--aw-border-strong);background:var(--aw-surface-bg);display:grid}.artifact-placeholder dl{gap:calc(var(--spacing) * 2);grid-template-columns:minmax(80px,auto) minmax(0,1fr);margin:0;display:grid}.artifact-placeholder dt{color:var(--aw-muted);font-weight:700}.artifact-placeholder dd{overflow-wrap:anywhere;margin:0}.artifact-placeholder-actions{gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.artifact-empty{border-radius:var(--radius-md);padding:calc(var(--spacing) * 3);border:1px dashed var(--aw-border);background:var(--aw-surface-bg)}.git-diff-drawer{top:calc(var(--spacing) * 0);right:calc(var(--spacing) * 0);z-index:10;border-left:1px solid var(--aw-border-strong);background:var(--aw-drawer-bg);width:min(1240px,100vw - 24px);height:100%;box-shadow:var(--aw-shadow);grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed}.git-diff-drawer-header{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--aw-border);background:var(--aw-heading-bg);display:flex}.git-diff-drawer-header p,.git-diff-status,.git-diff-empty,.git-diff-file span,.git-diff-selected p{color:var(--aw-muted);font-size:13px}.git-diff-status{border-bottom:1px solid var(--aw-border);min-height:38px;padding:10px 14px}.git-diff-drawer-body{min-height:calc(var(--spacing) * 0);grid-template-columns:minmax(270px,.28fr) minmax(620px,1fr);display:grid}.git-diff-file-pane,.git-diff-preview{min-height:calc(var(--spacing) * 0);grid-template-rows:auto minmax(0,1fr);display:grid}.git-diff-file-pane{border-right:1px solid var(--aw-border)}.git-diff-file-list{min-height:calc(var(--spacing) * 0);align-content:flex-start;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 3);display:grid;overflow:auto}.git-diff-file{justify-content:stretch;gap:calc(var(--spacing) * 1);border-radius:var(--radius-md);width:100%;padding:calc(var(--spacing) * 2);text-align:left;border:1px solid var(--aw-border);background:var(--aw-surface-bg);box-shadow:none;display:grid}.git-diff-file.selected{background:var(--aw-running-soft);border-color:#65d8ffb8}.git-diff-file strong,.git-diff-file span{min-width:calc(var(--spacing) * 0);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.git-diff-preview{grid-template-rows:auto minmax(0,1fr)}.git-diff-preview-header{gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border-bottom:1px solid var(--aw-border);background:var(--aw-heading-bg);grid-template-columns:minmax(0,1fr) auto;display:grid}.git-diff-selected{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1);display:grid}.git-diff-selected h2,.git-diff-selected p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.git-diff-mode-controls{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.git-diff-body{min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 3);background:var(--aw-surface-bg);color:var(--aw-text-panel-text);font-size:12px;overflow:auto}.git-diff-table{border:1px solid var(--aw-border);border-radius:6px;grid-auto-rows:minmax(26px,auto);min-width:760px;display:grid;overflow:hidden}.git-diff-hunk,.git-diff-row{grid-template-columns:58px minmax(260px,1fr) 58px minmax(260px,1fr);display:grid}.git-diff-hunk{border-top:1px solid var(--aw-border);border-bottom:1px solid var(--aw-border);background:var(--aw-running-soft);color:var(--aw-running-text);grid-column:1/-1;padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-weight:700}.git-diff-table .git-diff-hunk:first-child{border-top:0}.git-diff-row{border-bottom:1px solid var(--aw-diff-border)}.git-diff-row:last-child{border-bottom:0}.git-diff-line-number,.git-diff-code{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.git-diff-line-number{color:var(--aw-dim);text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--aw-diff-border);background:var(--aw-diff-line-number-bg)}.git-diff-code.left{border-right:1px solid var(--aw-border)}.git-diff-row.row-add .right,.git-diff-row.row-modify .right{background:var(--aw-diff-add-bg);color:var(--aw-diff-add-text)}.git-diff-row.row-delete .left,.git-diff-row.row-modify .left{background:var(--aw-diff-delete-bg);color:var(--aw-diff-delete-text)}.git-diff-row.row-context .git-diff-code{background:var(--aw-diff-context-bg)}.modal-root:empty{display:none}.modal-root{inset:calc(var(--spacing) * 0);z-index:20;padding:calc(var(--spacing) * 5);background:var(--aw-modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;display:grid;position:fixed}.modal{border-radius:var(--radius-lg);border:1px solid var(--aw-border-strong);background:var(--aw-panel);width:min(720px,100%);max-height:min(760px,100vh - 40px);box-shadow:var(--aw-shadow);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.modal.form-flow-routing-editor{width:min(940px,100%)}.modal-header,.modal-body,.modal-footer{padding:12px 14px}.modal-header{border-bottom:1px solid var(--aw-border)}.modal-header p,.field-help,.field-option small,.modal-note{color:var(--aw-muted);font-size:13px}.modal-body{min-height:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);display:grid;overflow:auto}.modal-footer{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-top:1px solid var(--aw-border);display:flex}.modal-actions{flex-wrap:wrap;justify-content:flex-end}.form-fields{gap:calc(var(--spacing) * 3);display:grid}.form-fields.route-fields{gap:0}.field-pair{align-items:flex-start;gap:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--aw-border);grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);display:grid}.field-pair:first-child{padding-top:0}.field-pair:last-child{border-bottom:0;padding-bottom:0}.field{gap:calc(var(--spacing) * 1.5);display:grid}.field label,.field-title{font-weight:700}.field input[type=text],.field textarea,.field select{min-height:calc(var(--spacing) * 9);border-radius:var(--radius-md);width:100%;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);border:1px solid var(--aw-border-strong);background:var(--aw-input-bg);color:var(--aw-text)}.field input[type=text]:focus,.field textarea:focus,.field select:focus{border-color:var(--aw-accent);box-shadow:0 0 0 3px var(--aw-control-ring);outline:2px solid #0000}.field textarea{resize:vertical}.check-row,.field-option{align-items:flex-start;gap:calc(var(--spacing) * 2);display:flex}.option-list{gap:calc(var(--spacing) * 1.5);display:grid}.error-text{color:var(--aw-danger);font-weight:700}::selection{background:var(--aw-accent-soft);color:var(--aw-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--aw-scrollbar-thumb);border:2px solid var(--aw-scrollbar-track);border-radius:999px}::-webkit-scrollbar-track{background:var(--aw-scrollbar-track)}@media (max-width:1080px){body{overflow:auto}.app-shell{height:auto;min-height:100%}.workspace{grid-template-rows:minmax(260px,42vh) minmax(520px,1fr);grid-template-columns:minmax(220px,.35fr) minmax(0,1fr)}.log-pane{grid-column:1/-1;min-height:320px}.artifact-drawer{width:min(960px,100vw - 18px)}.git-diff-drawer{width:min(1000px,100vw - 18px)}.artifact-drawer-body{grid-template-columns:minmax(280px,.45fr) minmax(360px,1fr)}.git-diff-drawer-body{grid-template-columns:minmax(250px,.35fr) minmax(520px,1fr)}}@media (max-width:760px){.topbar{grid-template-columns:1fr;gap:10px}.status-strip,.topbar-actions{flex-wrap:wrap;justify-content:flex-start}.workspace,.split-panels{grid-template-columns:1fr}.workspace-resizer{display:none}.workspace{grid-template-rows:260px 760px 340px}.artifact-drawer{border-left:0;border-top:1px solid var(--aw-border-strong);grid-template-rows:auto auto minmax(0,1fr);width:100vw;height:min(92vh,760px);top:auto;bottom:0}.git-diff-drawer{border-left:0;border-top:1px solid var(--aw-border-strong);width:100vw;height:min(94vh,820px);top:auto;bottom:0}.artifact-drawer-header{align-items:flex-start}.artifact-drawer-body{grid-template-rows:minmax(190px,.42fr) minmax(260px,1fr);grid-template-columns:1fr}.git-diff-drawer-body{grid-template-rows:minmax(160px,.32fr) minmax(360px,1fr);grid-template-columns:1fr}.artifact-list-pane,.git-diff-file-pane{border-right:0;border-bottom:1px solid var(--aw-border)}.git-diff-preview-header{grid-template-columns:1fr}.git-diff-mode-controls{justify-content:flex-start}.artifact-row{grid-template-columns:1fr}.artifact-row-actions{justify-content:flex-start}.artifact-row-meta{grid-template-columns:minmax(0,1fr)}.artifact-row-meta span:not(:last-child):after{content:"";margin-left:0}.artifact-selected h2,.artifact-selected p{white-space:normal;overflow-wrap:anywhere}.field-pair{grid-template-columns:1fr;gap:12px}.git-commit-row{grid-template-columns:1fr}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}