aitable-workflow-cli 0.1.18 → 0.1.19

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.
@@ -1 +0,0 @@
1
- .console{display:grid;grid-template-columns:200px 1fr;height:100%;min-height:0;overflow:hidden}.console__rail{display:flex;flex-direction:column;gap:4px;padding:16px 10px;border-right:1px solid var(--border);background:var(--bg-panel);min-height:0}.console__brand{display:flex;align-items:center;gap:8px;padding:4px 8px 14px}.console__brand-mark{width:22px;height:22px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--accent);flex:0 0 auto}.console__brand-text{font-size:13px;font-weight:650;color:var(--text-strong)}.console__nav{display:flex;flex-direction:column;gap:2px}.console__nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:13px;text-align:left;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.console__nav-item:hover{background:var(--bg-fill-tertiary);color:var(--text)}.console__nav-item.is-active{background:var(--accent-tint);border-color:var(--accent-soft);color:var(--accent-strong);font-weight:600}.console__fallback{margin-top:auto;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-soft);font-size:12px;cursor:pointer}.console__fallback:hover{color:var(--text);border-color:var(--border-strong)}.console__main{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.console__topbar{display:flex;align-items:center;gap:10px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex:0 0 auto}.console__topbar-title{font-size:15px;font-weight:650;color:var(--text-strong)}.console__spacer{flex:1}.console__status{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted)}.console__status--running{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.console__status--error{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.console__status--stopped{background:var(--amber-bg);border-color:var(--amber-border);color:var(--amber)}.console__run{font-size:13px;padding:5px 14px}.console__run--danger{border-color:var(--red-border);color:var(--red)}.console__run--danger:hover:not(:disabled){background:var(--red-bg)}.console__error{display:flex;align-items:center;gap:8px;margin:12px 24px 0;padding:10px 14px;border-radius:var(--radius);background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);font-size:13px;flex:0 0 auto}.console-auth-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;margin-bottom:16px;border-radius:var(--radius);background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);font-size:13px}.console-auth-banner__text{flex:1 1 auto;min-width:200px}.console-auth-banner__btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 14px;border-radius:var(--radius-sm);text-decoration:none;white-space:nowrap}.console-auth-banner__wait{font-size:12px;opacity:.8}.console-auth-banner__err{flex-basis:100%;font-size:12px}.console__retry{margin-left:auto;font-size:12px;padding:3px 12px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--red-border);color:var(--red);cursor:pointer}.console__loading{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.console-page{padding:24px;overflow-y:auto;min-height:0;flex:1}.console-page--frame{overflow:hidden;display:flex;flex-direction:column}.console-section{max-width:920px;margin:0 auto 28px}.console-section--frame{max-width:none;display:flex;flex-direction:column;min-height:0;flex:1;margin:0}.console-section__title{font-size:17px;font-weight:650;color:var(--text-strong);margin:0 0 6px}.console-section__sub{font-size:13px;color:var(--text-muted);margin:0 0 16px;line-height:1.65}.console-section__tablelink{font-size:13px;color:var(--text-muted);margin:0 0 16px}.console-section__tablelink a{color:var(--blue);text-decoration:none}.console-section__tablelink a:hover{text-decoration:underline}.console-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.console-quick__card{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:var(--shadow-xs)}.console-quick__card.is-done{border-color:var(--green-border);background:var(--bg-elevated)}.console-quick__badge{position:absolute;top:14px;right:14px}.console-quick__title{font-size:14px;font-weight:650;color:var(--text-strong);padding-right:24px}.console-quick__desc{font-size:12px;color:var(--text-muted);line-height:1.6;min-height:38px}.console-quick__hint{font-size:12px;color:var(--amber)}.console-quick__hint.is-done{color:var(--green)}.console-quick__hint.is-loading{color:var(--text-faint)}.console-quick__badge.is-loading svg{animation:console-quick-spin 1.2s linear infinite}@keyframes console-quick-spin{to{transform:rotate(360deg)}}.console-quick__cta{margin-top:6px;align-self:flex-start;font-size:13px;padding:5px 14px}.console-build{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft)}.console-build__btn{font-size:14px;padding:8px 20px}.console-build__rebuild{font-size:13px;padding:6px 14px}.console-build__hint{font-size:12px;color:var(--text-muted)}.console-intro{display:flex;flex-direction:column;gap:14px}.console-intro__item{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-panel)}.console-intro__icon{width:30px;height:30px;flex:0 0 auto;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--accent-tint)}.console-intro__head{font-size:13px;font-weight:600;color:var(--text-strong);margin-bottom:4px}.console-intro__body{font-size:12.5px;color:var(--text-muted);line-height:1.7}.console-sub{padding:24px;max-width:960px;margin:0 auto;width:100%;overflow-y:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:14px}.console-sub__head{display:flex;flex-direction:column;gap:4px}.console-sub__back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 4px;margin-bottom:6px;border:none;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.console-sub__back:hover{color:var(--text);background:transparent}.console-sub__title{font-size:17px;font-weight:650;color:var(--text-strong);margin:0}.console-sub__desc{font-size:13px;color:var(--text-muted);margin:0}.console-sub__add{align-self:flex-start;font-size:12px;padding:5px 12px}.console-sub__foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px}.console-sub__ok{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--green)}.console-sub__err{display:inline-flex;align-items:flex-start;gap:5px;font-size:12px;color:var(--red);line-height:1.6}.console-sub__warn{display:inline-flex;align-items:flex-start;gap:5px;font-size:12px;color:var(--amber);line-height:1.6}.console-sub__saving{font-size:12px;color:var(--text-muted)}.console-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-panel)}.console-card__head{display:flex;align-items:center;gap:8px}.console-card__title{font-size:13px;font-weight:600;color:var(--text)}.console-card__remove{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);font-size:11px;cursor:pointer}.console-card__remove:hover{color:var(--red);border-color:var(--red-border)}.console-field{display:flex;flex-direction:column;gap:5px}.console-field__label{font-size:12px;font-weight:500;color:var(--text-muted)}.console-field__textarea{font-family:var(--mono);font-size:12px;resize:vertical}.console-note{display:flex;gap:9px;padding:12px 14px;border-radius:var(--radius);background:var(--blue-bg);border:1px solid var(--blue-border);color:var(--text);font-size:12.5px;line-height:1.7}.console-note--warn{background:var(--amber-bg);border-color:var(--amber-border)}.console-note--ok{background:var(--green-bg);border-color:var(--green-border)}.console-note--err{background:var(--red-bg);border-color:var(--red-border)}.console-note code{font-family:var(--mono);font-size:11.5px;padding:1px 4px;border-radius:var(--radius-xs);background:var(--bg-fill-tertiary)}.console-note__title{font-weight:600;color:var(--text-strong);margin-bottom:3px}.console-note__howto{margin-top:6px;color:var(--text-muted)}.console-kb{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.console-kb__card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel)}.console-kb__head{display:flex;align-items:center;gap:8px}.console-kb__title{font-size:14px;font-weight:650;color:var(--text-strong)}.console-kb__head>.console-kb__stats{margin-left:auto}.console-kb__card .console-frame{margin-top:2px;flex:none}.console-kb__card .console-frame__stage{min-height:420px}.console-kb__desc{font-size:12.5px;color:var(--text-muted);line-height:1.7;margin:0}.console-kb__title-row{display:flex;align-items:center;gap:10px}.console-kb__count{padding:2px 9px;border-radius:var(--radius-pill);background:var(--bg-fill-secondary);border:1px solid var(--border-soft);color:var(--text-muted);font-size:11px}.console-kb__badge{padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg-fill-secondary);border:1px solid var(--border-soft);color:var(--text-muted);font-size:11px}.console-kb__switch{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.console-kb__switch input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.console-kb__stats{font-size:12px;color:var(--text-soft)}.console-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:14px;flex:0 0 auto}.console-tabs__tab{display:flex;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer}.console-tabs__tab:hover{color:var(--text);background:transparent}.console-tabs__tab.is-active{color:var(--text-strong);font-weight:600;border-bottom-color:var(--accent)}.console-tabs__dot{width:6px;height:6px;border-radius:50%;background:var(--amber)}.console-sync{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px;flex:0 0 auto}.console-sync__hint{font-size:12px;color:var(--text-muted)}.console-frame{display:flex;flex-direction:column;min-height:0;flex:1;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elevated);margin-top:12px}.console-frame__iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;display:block}.console-frame__stage{position:relative;flex:1;min-height:320px}.console-frame__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-subtle);color:var(--text-faint);font-size:12.5px}.console-frame__spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--text-faint);border-radius:50%;animation:console-quick-spin 1.2s linear infinite}.console-frame__foot{display:flex;align-items:center;gap:6px;padding:6px 12px;border-top:1px solid var(--border-soft);background:var(--bg-subtle);font-size:11.5px;color:var(--text-muted);flex:0 0 auto}.console-frame__link{margin-left:auto;color:var(--accent);text-decoration:none}.console-frame__link:hover{text-decoration:underline}.console-frame__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;min-height:260px;margin-top:12px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-subtle)}.console-frame__empty-text{max-width:420px;text-align:center;font-size:13px;color:var(--text-muted);line-height:1.7;margin:0}.console__done{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:60vh;text-align:center}.console__done-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green-bg);border:1px solid var(--green-border)}.console__done-title{font-size:19px;font-weight:650;color:var(--text-strong);margin:8px 0 0}.console__done-text{font-size:14px;color:var(--text-muted);margin:0}.console__done-hint{font-size:13px;color:var(--text-soft);margin:0}.group-select__item input[type=checkbox],.group-bot-table__switch input[type=checkbox],.addbot__option input[type=radio]{width:16px;height:16px;flex:0 0 auto;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;accent-color:var(--accent);cursor:pointer}.group-select__search{margin-bottom:12px}.group-select__list{display:flex;flex-direction:column;gap:2px;max-height:380px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--radius);padding:6px}.group-select__item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}.group-select__item:hover{background:var(--bg-subtle)}.group-select__name{flex:1;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-select__type{font-size:12px;color:var(--text-soft);white-space:nowrap}.group-select__count{font-size:13px;color:var(--text-muted)}.group-select__foot-actions{display:flex;gap:8px;margin-left:auto}.console-retry{margin-left:8px;border:none;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.group-bot-table{border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden}.group-bot-table__head,.group-bot-table__row{display:grid;grid-template-columns:2fr 1fr 2fr 1fr;align-items:center;gap:8px;padding:10px 14px}.group-bot-table__head{background:var(--bg-subtle);font-size:12px;font-weight:600;color:var(--text-soft)}.group-bot-table__row{border-top:1px solid var(--border-soft);font-size:13px;color:var(--text)}.group-bot-table__col--name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-bot-table__bot-name{display:inline-flex;align-items:center;gap:5px}.group-bot-table__edit{margin-left:8px;border:none;background:transparent;color:var(--accent);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.group-bot-table__switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft);cursor:pointer}.addbot__option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:var(--radius);margin-bottom:10px;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}.addbot__option.is-active{border-color:var(--accent);background:var(--accent-tint)}.addbot__option.is-disabled{opacity:.55;cursor:not-allowed}.addbot__option-title{font-size:13px;font-weight:600;color:var(--text-strong)}.addbot__option-desc{font-size:12px;color:var(--text-soft);margin-top:2px}.addbot__option>div{flex:1;min-width:0}.addbot__creds{margin:-2px 0 10px;padding:10px 12px;background:var(--bg-subtle);border-radius:var(--radius)}:root{--bg: #faf9f7;--bg-app: #faf9f7;--bg-panel: #fdfcfa;--bg-subtle: #f4f5f7;--bg-muted: #eef1f5;--bg-fill-tertiary: rgba(0, 0, 0, .03);--bg-fill-secondary: rgba(0, 0, 0, .06);--bg-fill: rgba(0, 0, 0, .12);--bg-elevated: #fffefc;--border: #e1e5eb;--border-strong: #c9d0da;--border-soft: #edf0f4;--text: #1a1916;--text-strong: #0d0c0a;--text-muted: #74716b;--text-soft: #989590;--text-faint: #b3b0a8;--accent: #c96442;--accent-strong: #b45a3b;--accent-soft: #f5d8cb;--accent-tint: #fbeee5;--accent-hover: #b45a3b;--green: #1f7a3a;--green-bg: #e8f7ee;--green-border: #c6ead2;--blue: #2348b8;--blue-bg: #e8efff;--blue-border: #c8d6ff;--purple: #6c3aa6;--purple-bg: #f3ecf9;--purple-border: #e4d4f1;--red: #9c2a25;--red-bg: #fdecea;--red-border: #f5c6c2;--amber: #b26200;--amber-bg: #fff3e0;--amber-border: #f5dcae;--shadow-xs: 0 1px 0 rgba(28, 27, 26, .04);--shadow-sm: 0 1px 2px rgba(28, 27, 26, .05), 0 1px 3px rgba(28, 27, 26, .04);--shadow-md: 0 6px 24px rgba(28, 27, 26, .07), 0 2px 6px rgba(28, 27, 26, .04);--shadow-lg: 0 24px 60px rgba(28, 27, 26, .16), 0 8px 16px rgba(28, 27, 26, .07);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-pill: 999px;--ease-out: cubic-bezier(.23, 1, .32, 1);--dur-quick: .12s;--dur-enter: .2s;--dur-exit: .14s;--selected: #2563eb;--selected-soft: rgba(37, 99, 235, .16);--serif: "Source Serif Pro", "Source Serif 4", Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei UI", "Noto Sans", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--prose-font-size: 15px;--prose-line-height: 1.75;--code-header-bg: #f4f5f7;--code-body-bg: #f9fafb;--code-font-size: 13px;--code-line-height: 1.65;--agent-claude: #d4a574;--agent-codex: #10a37f;--agent-qoder: #6366f1;--agent-qwenwork: #7c3aed;--agent-llm: #8c8c8c}[data-theme=dark]{color-scheme:dark;--bg: #1a1917;--bg-app: #1a1917;--bg-panel: #222120;--bg-subtle: #252321;--bg-muted: #2e2c29;--bg-fill-tertiary: rgba(255, 255, 255, .06);--bg-fill-secondary: rgba(255, 255, 255, .1);--bg-fill: rgba(255, 255, 255, .16);--bg-elevated: #2a2825;--border: #333128;--border-strong: #46433c;--border-soft: #2a2825;--text: #e8e4dc;--text-strong: #f2ede4;--text-muted: #9a9690;--text-soft: #6e6b65;--text-faint: #4e4b46;--accent: #d97a56;--accent-strong: #e8896a;--accent-soft: #3d2318;--accent-tint: #2e1a12;--accent-hover: #e8896a;--green: #4caf72;--green-bg: #0f2a18;--green-border: #1a4028;--blue: #6b8fe8;--blue-bg: #0f1a38;--blue-border: #1a2c58;--purple: #a87dd4;--purple-bg: #1e1030;--purple-border: #321a50;--red: #e06b65;--red-bg: #2a0e0c;--red-border: #451714;--amber: #e09a40;--amber-bg: #2a1a04;--amber-border: #4a3410;--shadow-xs: 0 1px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 6px 24px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .25);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .3);--code-header-bg: #1e1e20;--code-body-bg: #18181b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),transform var(--dur-quick) var(--ease-out)}button:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}a.primary{font:inherit;padding:6px 12px;border:1px solid transparent;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),transform var(--dur-quick) var(--ease-out)}button.primary,a.primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500;line-height:1.2;box-shadow:0 1px #b45a3b2e inset,var(--shadow-xs)}button.primary:hover:not(:disabled),a.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.primary-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-panel);border-color:var(--accent);color:var(--accent);font-weight:500;line-height:1.2}button.primary-ghost:hover:not(:disabled){background:var(--accent-tint)}button.ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border-color:var(--border);color:var(--text);line-height:1.2}button.ghost:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}button.subtle{background:var(--bg-subtle);border-color:transparent;color:var(--text)}button.subtle:hover:not(:disabled){background:var(--bg-muted)}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;width:100%;transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--selected);box-shadow:0 0 0 3px var(--selected-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-fill);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:content-box}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.app-root{height:100vh;display:grid;grid-template-rows:48px 1fr;background:var(--bg-app);overflow:hidden}.chrome{display:flex;align-items:center;gap:16px;padding:0 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 88%,var(--bg-subtle));-webkit-user-select:none;user-select:none}.chrome__brand{display:flex;align-items:center;gap:8px;font-weight:650;font-size:14px;color:var(--text-strong);letter-spacing:.2px;text-decoration:none;background:none;border:none;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}.chrome__brand:hover{background:var(--bg-fill-tertiary)}.chrome__brand-mark{width:24px;height:24px;border-radius:var(--radius-sm);display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.chrome__spacer{flex:1}.chrome__theme{width:32px;height:32px;padding:0;display:grid;place-items:center;border-radius:var(--radius-sm);background:transparent;border-color:transparent;color:var(--text-muted)}.stepper{display:flex;align-items:center;gap:2px}.stepper__item{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:var(--radius-pill);background:transparent;border:1px solid transparent;color:var(--text-soft);font-size:13px;font-weight:500;text-decoration:none;transition:all var(--dur-quick) var(--ease-out)}.stepper__item:hover:not(:disabled){color:var(--text);background:var(--bg-subtle)}.stepper__item.is-active{color:var(--accent);background:var(--accent-tint);border-color:var(--accent-soft)}.stepper__item.is-done{color:var(--green)}.stepper__num{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--bg-fill-secondary);color:var(--text-muted)}.stepper__item.is-active .stepper__num{background:var(--accent);color:#fff}.stepper__item.is-done .stepper__num{background:var(--green);color:#fff}.stepper__sep{width:16px;height:1px;background:var(--border)}.body{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:0;overflow:hidden}.body.body--rail-collapsed{grid-template-columns:36px minmax(0,1fr)}.body--norail{grid-template-columns:1fr}.rail{border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 60%,var(--bg-app));display:flex;flex-direction:column;min-height:0;padding:12px 10px;gap:4px}.rail__head{display:flex;align-items:center;gap:6px}.rail__title{flex:1;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);padding:4px 8px 8px}.rail__item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--radius);background:transparent;border-color:transparent;color:var(--text);text-align:left;font-size:13.5px}.rail__list{display:flex;flex-direction:column;gap:4px;min-height:0;overflow:auto}.rail__item-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.rail__item-title,.rail__item-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail__item-title{line-height:1.25}.rail__item-sub{font-size:11px;color:var(--text-faint);font-weight:400}.rail__item:hover:not(:disabled){background:var(--bg-subtle)}.rail__item.is-active{background:var(--accent-tint);color:var(--accent-strong);font-weight:550}.rail__item-icon{color:var(--text-muted);flex:0 0 auto}.rail__item.is-active .rail__item-icon{color:var(--accent)}.rail__badge{margin-left:auto;font-size:11px;background:var(--bg-fill-secondary);color:var(--text-muted);border-radius:var(--radius-pill);padding:1px 7px;min-width:18px;text-align:center}.rail__new{margin-top:8px}.rail__project{position:relative;display:flex;flex-direction:column}.rail__item--project{font-weight:600;padding-right:28px}.rail__item--workflow{padding-left:32px;font-size:12.5px;color:var(--text-soft);margin-top:4px}.rail__workflow-list,.rail__workflow-empty{display:flex;flex-direction:column;gap:2px;padding-left:4px}.rail__workflow-card-wrap{position:relative}.rail__workflow-add,.rail__workflow-new{margin-top:4px;color:var(--text-muted)}.rail__workflow-add:hover,.rail__workflow-new:hover{color:var(--accent)}.rail__workflow-error{padding:6px 10px 6px 32px;font-size:11.5px;color:var(--danger, #dc2626)}.rail__workflow-list .rail__item-delete{opacity:1;top:4px;right:4px}.rail__item-delete{position:absolute;top:6px;right:6px;width:20px;height:20px;display:grid;place-items:center;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-muted);opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease;cursor:pointer}.rail__project:hover .rail__item-delete,.rail__item-delete:focus-visible{opacity:1}.rail__item-delete:hover{background:var(--danger-bg, rgba(220, 38, 38, .12));color:var(--danger, #dc2626);border-color:var(--border-soft)}.rail__spacer{flex:1}.rail__foot{font-size:11px;color:var(--text-faint);padding:8px;line-height:1.5;border-top:1px solid var(--border-soft)}.rail__collapse,.rail-peek{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);background:transparent;border-color:transparent;color:var(--text-muted)}.rail__collapse:hover,.rail-peek:hover{background:var(--bg-subtle);color:var(--text)}.rail-peek{align-self:start;margin:10px 4px}.split{display:grid;grid-template-columns:var(--chat-width, minmax(420px, 44%)) 7px minmax(0,1fr);min-height:0;overflow:hidden}.split--chatonly{grid-template-columns:1fr}.split--work-hidden{grid-template-columns:minmax(0,1fr)}.split.split--chat-collapsed{grid-template-columns:36px minmax(0,1fr)}.split-chat-peek{width:28px;height:44px;align-self:center;justify-self:center;display:grid;place-items:center;border-radius:var(--radius-pill);color:var(--text-muted);background:var(--bg-subtle);border-color:var(--border)}.split-chat-peek:hover{color:var(--accent);border-color:var(--accent-soft)}.split-resizer{width:7px;min-height:0;cursor:col-resize;border:0;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 70%,var(--bg-app));padding:0}.split-resizer:hover,.split-resizer:active{background:var(--accent-soft)}.split__chat{border-right:1px solid var(--border);min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-app)}.split__work{min-width:0;min-height:0;overflow:hidden;background:var(--bg-panel);display:flex;flex-direction:column}.work-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);min-height:46px}.work-head__title{font-weight:600;color:var(--text-strong)}.work-head__sub{font-size:12px;color:var(--text-muted)}.work-head__spacer{flex:1}.work-head__cta{margin-left:auto;padding:6px 13px;font-size:13px}.work-body{flex:1;min-height:0;overflow:auto}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:550;border:1px solid transparent}.pill--green{color:var(--green);background:var(--green-bg);border-color:var(--green-border)}.pill--blue{color:var(--blue);background:var(--blue-bg);border-color:var(--blue-border)}.pill--amber{color:var(--amber);background:var(--amber-bg);border-color:var(--amber-border)}.pill--red{color:var(--red);background:var(--red-bg);border-color:var(--red-border)}.pill--muted{color:var(--text-muted);background:var(--bg-subtle);border-color:var(--border)}.empty-hint{color:var(--text-soft);font-size:13px;text-align:center;padding:40px 24px;line-height:1.7}.step-list{display:flex;flex-direction:column;gap:8px}.step-list__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel)}.step-list__engine{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.3px;color:#fff;padding:2px 8px;border-radius:var(--radius-pill)}.step-list__name{font-size:13.5px;color:var(--text-strong);font-weight:500}.step-list__item .pill{margin-left:auto}.cfg-grid{display:flex;flex-direction:column;gap:10px}.cfg-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);overflow:hidden;transition:border-color var(--dur-enter) var(--ease-out)}.cfg-card.is-done{border-color:var(--green-border)}.cfg-card__head{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle)}.cfg-card__icon{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-muted)}.cfg-card.is-done .cfg-card__icon{color:var(--green)}.cfg-card__title{font-size:13px;font-weight:600;color:var(--text-strong)}.cfg-card__status{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-faint)}.cfg-card__status.is-done{color:var(--green)}.cfg-card__body{padding:11px 12px;font-size:13px}.cfg-muted{color:var(--text-soft);font-size:12.5px}.cfg-label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--text-soft)}.cfg-input,.cfg-textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text);background:var(--bg-panel);font-family:inherit}.cfg-textarea{font-family:ui-monospace,SF Mono,Menlo,monospace;resize:vertical;line-height:1.5}.cfg-input:focus,.cfg-textarea:focus{outline:none;border-color:var(--accent)}.cfg-value{color:var(--text);display:inline-flex;align-items:center;flex-wrap:wrap}.cfg-sop{margin:0;color:var(--text);line-height:1.6;font-size:12.5px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.agent-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;color:var(--text-strong);background:color-mix(in srgb,var(--c) 12%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}.agent-chip__dot{width:8px;height:8px;border-radius:50%;background:var(--c)}.cfg-cta{margin-top:16px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--green-border);background:var(--green-bg);border-radius:var(--radius-md)}.cfg-cta__text{flex:1;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--green);font-weight:500}.cfg-cta--pending{border-color:var(--amber-border);background:var(--amber-bg)}.cfg-cta__text--pending{color:var(--amber)}.cfg-cta__btn{flex:0 0 auto;white-space:nowrap}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:720px;margin:0 auto;padding:72px 24px 48px}.home-hero__mark{width:56px;height:56px;border-radius:var(--radius-lg);display:grid;place-items:center;margin-bottom:20px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-md)}.home-hero__title{font-size:30px;margin:0 0 12px;color:var(--text-strong)}.home-hero__desc{margin:0 0 28px;color:var(--text-muted);font-size:15px;line-height:1.7}.home-hero__ctas{display:flex;gap:12px;align-items:center}.home-hero__error{margin-top:10px;font-size:12.5px;color:var(--danger, #dc2626)}.home-hero__cta{padding:10px 22px;font-size:15px}.home-hero__cta--ghost{border:1px solid var(--border-strong);background:transparent;color:var(--text);border-radius:var(--radius);cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:8px;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out)}.home-hero__cta--ghost:hover{background:var(--bg-subtle);border-color:var(--accent)}.home-beats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px;width:100%}.home-beat{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-xs);text-align:center}.home-beat__idx{position:absolute;top:8px;left:10px;font-family:var(--mono);font-size:11px;color:var(--text-faint)}.home-beat__icon{width:34px;height:34px;border-radius:var(--radius-pill);display:grid;place-items:center;color:var(--accent);background:var(--accent-tint);margin-bottom:4px}.home-beat__label{font-size:14px;font-weight:600;color:var(--text-strong)}.home-beat__desc{font-size:11.5px;color:var(--text-muted);line-height:1.5}.home-projects{width:100%;max-width:640px;margin:32px auto 0;text-align:left}.home-projects__title{font-size:13px;color:var(--text-muted);margin-bottom:8px}.home-projects__empty{font-size:13px;color:var(--text-soft);padding:12px 0}.home-projects__retry{margin-left:8px;padding:0;border:0;background:none;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.home-projects__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.home-projects__item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius);color:var(--text);text-decoration:none;transition:background var(--dur-quick) var(--ease-out)}.home-projects__item:hover{background:var(--bg-subtle)}.home-projects__name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-projects__id{font-size:11px;color:var(--text-faint)}.rail__machines{margin-top:4px;color:var(--text-muted);font-size:13px;border-top:1px solid var(--border-soft);padding-top:8px}.rail__machines:hover{color:var(--accent)}.engine-selector{display:flex;flex-direction:column;gap:8px}.engine-selector__group{display:flex;flex-direction:column;gap:4px}.engine-selector__label{font-size:12px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.engine-option{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}.engine-option:hover{border-color:var(--accent);background:var(--bg-fill-tertiary)}.engine-option.is-selected{border-color:var(--accent);background:var(--selected-soft)}.engine-option--disabled{cursor:default;opacity:.5}.engine-option--disabled:hover{border-color:var(--border);background:var(--bg-panel)}.engine-option__info{display:flex;flex-direction:column;gap:2px;flex:1}.engine-option__name{font-size:14px;font-weight:600;color:var(--text-strong)}.engine-option__caps{font-size:12px;color:var(--text-muted)}.engine-selected{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}.engine-change-btn{margin-left:auto;font-size:12px;padding:2px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.engine-change-btn:hover{background:var(--bg-fill-tertiary);color:var(--text)}.engine-empty{padding:12px;background:var(--bg-fill-secondary);border-radius:var(--radius);text-align:center}.engine-empty__text{font-size:13px;color:var(--text-muted);margin-bottom:6px}.engine-empty__link{color:var(--accent);background:none;border:none;cursor:pointer;font:inherit;font-weight:500;text-decoration:underline;padding:0}.agent-selector{display:flex;flex-direction:column;gap:4px}.agent-option{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur-quick) var(--ease-out)}.agent-option:hover:not(:disabled){border-color:var(--accent)}.agent-option.is-selected{border-color:var(--accent);background:var(--selected-soft)}.agent-option.is-unavailable{opacity:.45;cursor:default}.agent-option__check{width:18px;height:18px;display:grid;place-items:center;border:1.5px solid var(--border);border-radius:3px;color:var(--accent)}.agent-option.is-selected .agent-option__check{background:var(--accent);border-color:var(--accent);color:#fff}.agent-option__info{display:flex;flex-direction:column;gap:1px;flex:1}.agent-option__name{font-size:13px;font-weight:600;color:var(--text-strong)}.agent-option__vendor{font-size:11px;color:var(--text-muted)}.agent-option__badge{font-size:11px;color:var(--text-faint);font-style:italic}.engine-bar{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;margin-bottom:8px}.engine-bar--offline{border-color:var(--red-border);background:var(--red-bg)}.engine-bar__name{font-weight:600;color:var(--text-strong)}.engine-bar__caps{color:var(--text-muted);font-size:12px}.engine-bar__offline-text{color:var(--red);font-weight:500}.engine-bar__waiting{color:var(--text-muted);font-style:italic;font-size:12px}.engine-bar__action{font-size:12px;font-family:inherit;padding:2px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);text-decoration:none;cursor:pointer}.engine-bar__action:hover{background:var(--bg-fill-tertiary);color:var(--text)}.engine-switch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:grid;place-items:center;z-index:200}.engine-switch-dialog{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;min-width:360px;max-width:480px;box-shadow:var(--shadow-lg)}.engine-switch-dialog__title{font-size:16px;font-weight:600;color:var(--text-strong);margin-bottom:12px}.engine-switch-dialog__empty{font-size:13px;color:var(--text-muted);padding:16px;text-align:center}.engine-switch-dialog__option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;text-align:left;font-size:14px;color:var(--text);margin-bottom:6px;transition:border-color var(--dur-quick) var(--ease-out)}.engine-switch-dialog__option:hover{border-color:var(--accent)}.engine-switch-dialog__caps{font-size:12px;color:var(--text-muted);margin-left:auto}.engine-switch-dialog__cancel{width:100%;padding:8px;margin-top:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px}.stage-skeleton{display:flex;flex-direction:column;gap:12px;padding:24px}.stage-skeleton__bar,.stage-skeleton__card{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--border) 37%,var(--bg-subtle) 63%);background-size:400% 100%;animation:stage-skeleton-shimmer 1.4s ease infinite;border-radius:6px}.stage-skeleton__bar{height:14px;width:60%}.stage-skeleton__bar--wide{width:82%}.stage-skeleton__bar--narrow{width:38%}.stage-skeleton__card{flex:1;min-height:180px;border-radius:10px}@keyframes stage-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000059;animation:modal-fade-in var(--dur-enter) var(--ease-out)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-card{width:100%;max-width:520px;background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-scale-in var(--dur-enter) var(--ease-out)}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-card__head{display:flex;align-items:center;gap:8px;padding:16px 20px 12px;border-bottom:1px solid var(--border-soft)}.modal-card__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius);background:var(--amber-bg);color:var(--amber)}.modal-card__title{flex:1;font-size:15px;font-weight:600;color:var(--text-strong)}.modal-card__close{display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.modal-card__close:hover{background:var(--bg-fill-tertiary);color:var(--text)}.modal-card__body{padding:16px 20px}.modal-card__section-label{font-size:13px;color:var(--text-muted);margin-bottom:10px}.modal-card__section-label--warn{margin-top:16px;color:var(--amber)}.modal-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.modal-card__item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);font-size:13px}.modal-card__item--error{background:var(--red-bg);border:1px solid var(--red-border)}.modal-card__item--warn{background:var(--amber-bg);border:1px solid var(--amber-border)}.modal-card__item-scope{font-size:11px;font-weight:600;color:var(--text-soft);white-space:nowrap}.modal-card__item-target{font-family:var(--mono);font-size:12px;color:var(--text-strong);font-weight:600;white-space:nowrap}.modal-card__item-label{flex:1;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-card__locate{flex:0 0 auto;border:none;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:background var(--dur-quick) var(--ease-out);white-space:nowrap}.modal-card__locate:hover{background:var(--accent-tint)}.modal-card__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border-soft)}.modal-card__btn{padding:7px 16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out)}.modal-card__btn:hover{background:var(--bg-subtle)}.modal-card__btn.primary{border-color:transparent}.chat{display:flex;flex-direction:column;min-height:0;height:100%}.chat__head{padding:12px 16px;border-bottom:1px solid var(--border);min-height:46px;display:flex;flex-direction:column;justify-content:center}.chat__head-title{font-weight:600;color:var(--text-strong)}.chat__head-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.chat__body{flex:1;min-height:0;overflow:auto;padding:18px 16px;display:flex;flex-direction:column;gap:16px}.chat__empty{color:var(--text-soft);font-size:13.5px;text-align:center;padding:48px 20px;line-height:1.7}.msg{display:flex;gap:10px}.msg--user{justify-content:flex-end}.msg--user .msg__bubble{max-width:82%;background:var(--accent-tint);border:1px solid var(--accent-soft);color:var(--text-strong);padding:9px 13px;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);font-size:13.5px;white-space:pre-wrap;line-height:1.55}.msg__avatar{width:26px;height:26px;flex:0 0 auto;border-radius:var(--radius-pill);display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));margin-top:2px}.msg__content{min-width:0;flex:1;display:flex;flex-direction:column;gap:10px}.msg__text{margin:0;font-size:14px;line-height:1.68;color:var(--text);white-space:pre-wrap}.msg__text--agent{align-self:flex-start;background:var(--accent-tint);border:1px solid var(--accent-soft);border-radius:10px;padding:8px 12px}.think-block{align-self:flex-start;max-width:100%;border:1px dashed var(--accent-soft);border-radius:10px;background:transparent;padding:2px 4px}.think-block__summary{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted, #8a8f98);cursor:pointer;list-style:none;padding:4px 8px;-webkit-user-select:none;user-select:none}.think-block__summary::-webkit-details-marker{display:none}.think-block__body{margin:4px 8px 6px;font-size:12.5px;line-height:1.6;font-style:italic;color:var(--text-muted, #8a8f98);white-space:pre-wrap}.msg__form-hint{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12.5px;color:var(--accent-strong);background:var(--accent-tint);border:1px solid var(--accent-soft);border-radius:var(--radius-pill);padding:5px 12px}.chat__typing{display:inline-flex;gap:4px;padding:4px 2px;align-self:flex-start}.chat__typing span,.questions-panel-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint);animation:chat-bounce 1.2s infinite ease-in-out}.chat__typing span:nth-child(2){animation-delay:.15s}.chat__typing span:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat__composer{display:flex;gap:8px;align-items:flex-end;padding:12px 14px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 70%,var(--bg-app))}.chat__input{resize:none;max-height:140px;line-height:1.5;border-radius:var(--radius-md)}.chat__send{width:38px;height:38px;flex:0 0 auto;padding:0}.todo-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);overflow:hidden}.todo-card__head{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid var(--border-soft);font-size:12px;font-weight:600;color:var(--text-strong);background:var(--bg-subtle)}.todo-card__count{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-muted)}.todo-card__list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:2px}.todo-item{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:var(--radius-sm);font-size:13px}.todo-item.is-done .todo-item__text{color:var(--text-muted)}.todo-item.is-active{background:var(--accent-tint)}.todo-item__mark{width:16px;height:16px;flex:0 0 auto;display:grid;place-items:center;color:var(--green)}.todo-item.is-active .todo-item__mark{color:var(--accent)}.todo-item__dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--text-faint)}.todo-item__spinner,.tool-card__spinner{width:13px;height:13px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tool-card{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);font-size:13px}.tool-card.is-done{border-color:var(--green-border)}.tool-card.is-error{border-color:var(--red-border)}.tool-card__icon{width:18px;height:18px;flex:0 0 auto;display:grid;place-items:center;color:var(--green)}.tool-card.is-error .tool-card__icon{color:var(--red)}.tool-card__label{min-width:max-content;color:var(--text-strong);font-weight:500;white-space:nowrap;word-break:keep-all}.tool-card__detail{min-width:0;color:var(--text-muted);font-size:12px;margin-left:auto;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-form{margin:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-md);overflow:hidden;max-height:100%;min-height:0;display:flex;flex-direction:column}.question-form-locked{background:var(--bg-subtle);box-shadow:none;opacity:.94}.question-form-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--accent-tint) 0%,var(--bg-panel) 100%)}.question-form-locked .question-form-head{background:var(--bg-subtle)}.question-form-icon{width:28px;height:28px;border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.question-form-titles{flex:1;min-width:0}.question-form-title{font-size:14px;font-weight:600;color:var(--text)}.question-form-desc{margin-top:2px;font-size:12px;color:var(--text-muted);line-height:1.45}.question-form-pill{font-size:10px;letter-spacing:.04em;padding:3px 8px;border-radius:var(--radius-pill);background:var(--bg-panel);border:1px solid var(--border);color:var(--text-muted)}.question-form-body{display:flex;flex-direction:column;gap:14px;padding:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.qf-field{display:flex;flex-direction:column;gap:6px}.qf-label{font-size:12px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:4px}.qf-required{color:var(--accent)}.qf-help{font-size:11px;color:var(--text-muted);margin-top:-2px;line-height:1.4}.qf-error{font-size:11px;color:var(--danger, #e5484d);line-height:1.4}.qf-field-error>.qf-label{color:var(--danger, #e5484d)}.qf-options{display:flex;flex-wrap:wrap;gap:6px}.qf-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-panel);font-size:12px;cursor:pointer;transition:border-color .12s var(--ease-out),background .12s var(--ease-out),color .12s var(--ease-out)}.qf-chip input{width:auto;margin:0;display:none}.qf-chip-copy{display:flex;flex-direction:column;gap:2px;line-height:1.2}.qf-chip-desc{color:var(--text-muted);font-size:11px}.qf-chip-on .qf-chip-desc{color:inherit;opacity:.72}.qf-chip:hover{border-color:var(--border-strong)}.qf-chip-disabled{cursor:not-allowed;opacity:.48}.qf-chip-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover);font-weight:500}.question-form-locked .qf-chip{cursor:default}.qf-choices{display:flex;flex-direction:column;gap:6px}.qf-choice{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);font-size:13px;cursor:pointer;transition:border-color .12s var(--ease-out),background .12s var(--ease-out)}.qf-choice input{width:15px;height:15px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}.qf-choice input:focus{box-shadow:none}.qf-choice:hover{border-color:var(--border-strong)}.qf-choice.is-on{border-color:var(--accent);background:var(--accent-tint)}.qf-choice.is-disabled{cursor:default;opacity:.55}.question-form-locked .qf-choice{cursor:default}.qf-input,.qf-select,.qf-textarea{font-size:13px}.qf-textarea{resize:vertical;min-height:64px}.qf-range-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.qf-range{width:100%;min-width:0}.qf-range-value{min-width:38px;padding:3px 6px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-muted);font-size:11px;text-align:center}.qf-color{width:44px;height:34px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel)}.qf-switch{display:inline-flex;width:fit-content;align-items:center;cursor:pointer}.qf-switch input{position:absolute;opacity:0;pointer-events:none}.qf-switch span{position:relative;width:38px;height:22px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-subtle);transition:background-color .14s var(--ease-out),border-color .14s var(--ease-out)}.qf-switch span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:var(--radius-pill);background:var(--bg-panel);box-shadow:var(--shadow-sm);transition:transform .14s var(--ease-out)}.qf-switch input:checked+span{border-color:var(--accent);background:var(--accent-soft)}.qf-switch input:checked+span:after{transform:translate(16px)}.question-form-foot{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--border);background:var(--bg-subtle)}.qf-hint,.qf-locked-note{flex:1;font-size:11px;color:var(--text-muted);line-height:1.4}.questions-panel{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.questions-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.questions-panel-skeleton{color:var(--text-soft);font-size:13px;text-align:center;padding:40px 20px}.questions-panel-typing{display:inline-flex;gap:4px;align-self:center;padding:4px}.questions-panel-dot:nth-child(2){animation-delay:.15s}.questions-panel-dot:nth-child(3){animation-delay:.3s}.questions-panel-foot{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 70%,var(--bg-app))}.questions-panel-status{flex:1;font-size:11.5px;color:var(--text-muted)}.role-panel{display:flex;flex-direction:column;gap:8px}.role-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);overflow:hidden;transition:border-color var(--dur-enter) var(--ease-out)}.role-item.is-open{border-color:var(--accent-border, var(--accent));box-shadow:var(--shadow-sm)}.role-item__head{display:flex;align-items:center;gap:8px;padding:8px 10px}.role-item__toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:none;background:transparent;cursor:pointer;color:var(--text-muted);text-align:left}.role-item__avatar{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border-radius:var(--radius-pill);color:var(--accent);background:var(--accent-tint)}.role-item__name{flex:1;min-width:0;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;font-size:13px;font-weight:600;color:var(--text-strong);background:transparent}.role-item__name:hover{border-color:var(--border-soft)}.role-item__name:focus{outline:none;border-color:var(--accent);background:var(--bg-subtle)}.role-item__summary{flex:0 0 auto;font-size:11px;color:var(--text-soft);white-space:nowrap}.role-item__remove{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.role-item__remove:hover{background:var(--red-bg, var(--bg-fill-tertiary));color:var(--red, var(--text))}.role-item__body{display:flex;flex-direction:column;gap:12px;padding:4px 12px 14px}.role-field{display:flex;flex-direction:column;gap:6px}.role-field__label{font-size:11.5px;font-weight:600;color:var(--text-muted)}.role-persona{width:100%;min-height:58px}.role-choices{display:flex;flex-wrap:wrap;gap:6px}.role-choice{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-panel);font-size:12px;color:var(--text-muted);cursor:pointer;transition:border-color .12s var(--ease-out),background .12s var(--ease-out),color .12s var(--ease-out)}.role-choice input{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.role-choice:hover{border-color:var(--border-strong)}.role-choice.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover);font-weight:500}.role-item__chips{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 10px}.role-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg-fill-tertiary);color:var(--text-soft)}.role-add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:12.5px;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.role-add:hover{border-color:var(--accent);color:var(--accent)}.kb-folder-list{display:flex;flex-wrap:wrap;gap:6px}.kb-folder-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 10px;border-radius:var(--radius-pill);background:var(--accent-tint);border:1px solid var(--accent-soft);color:var(--accent-strong, var(--accent));font-size:12px;font-weight:500}.kb-folder-chip__remove{display:grid;place-items:center;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:var(--text-soft);cursor:pointer;padding:0;transition:background .12s var(--ease-out),color .12s var(--ease-out)}.kb-folder-chip__remove:hover{background:var(--red-bg, var(--bg-fill-tertiary));color:var(--red, var(--text))}.kb-folder-pick{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:7px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:12.5px;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.kb-folder-pick:hover{border-color:var(--accent);color:var(--accent)}.design-workspace{display:flex;flex:1;min-height:0;min-width:0}.design-workspace--tabbed{flex-direction:column}.dw-preview,.dw-code-view{display:flex;flex:1;min-height:0;min-width:0}.dw-panel{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0}.dw-panel--canvas{border-right:1px solid var(--border)}.dw-panel__head{display:flex;align-items:center;gap:7px;padding:7px 10px 7px 14px;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle);font-size:12px;color:var(--text-muted);flex:0 0 auto}.dw-panel__title{font-weight:600;color:var(--text)}.dw-panel__collapse{margin-left:auto;display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.dw-panel__collapse:hover{background:var(--bg-fill-tertiary);color:var(--text)}.dw-rail{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 0 40px;padding:12px 0;border:none;background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.dw-rail--left{border-right:1px solid var(--border)}.dw-rail--right{border-left:1px solid var(--border)}.dw-rail:hover{background:var(--bg-muted);color:var(--text)}.dw-rail__label{writing-mode:vertical-rl;font-size:12px;font-weight:600;letter-spacing:.04em}.wf-canvas{position:relative;min-width:0;flex:1;min-height:0;background:var(--bg-subtle)}.wf-canvas .react-flow__attribution{display:none}.wf-canvas .react-flow__controls{box-shadow:var(--shadow-sm);border-radius:var(--radius-sm);overflow:hidden}.wf-canvas .react-flow__controls-button{background:var(--bg-elevated);border-bottom:1px solid var(--border-soft);color:var(--text-muted)}.wf-canvas .react-flow__controls-button:hover{background:var(--bg-muted)}.wf-canvas .react-flow__controls-button svg{fill:currentColor}.wf-node{--engine: var(--agent-llm);position:relative;display:flex;width:208px;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:border-color var(--dur-enter) var(--ease-out),box-shadow var(--dur-enter) var(--ease-out),transform var(--dur-enter) var(--ease-out)}.wf-node__bar{width:4px;flex:0 0 4px;background:var(--engine)}.wf-node__body{flex:1;min-width:0;padding:10px 12px}.wf-node__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.wf-node__engine{font-size:10.5px;font-weight:600;letter-spacing:.02em;color:#fff;background:var(--engine);padding:2px 7px;border-radius:var(--radius-pill)}.wf-node__flag{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-pill);color:var(--text-soft);background:var(--bg-fill-tertiary)}.wf-node__flag--human{color:var(--amber);background:var(--amber-bg)}.wf-node__name{font-size:13.5px;font-weight:600;color:var(--text-strong);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-node__recipe{margin-top:3px;font-family:var(--mono);font-size:11px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-node__handle{width:7px;height:7px;background:var(--border-strong);border:1.5px solid var(--bg-elevated)}.wf-node.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-md)}.wf-node.is-running{border-color:var(--engine);animation:wf-node-pulse 1.6s var(--ease-out) infinite}.wf-node.is-success{border-color:var(--green-border)}.wf-node.is-error{border-color:var(--red-border)}.wf-node.is-review{border-color:var(--amber-border)}@keyframes wf-node-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-md)}}.wf-node.is-config-missing{border-color:var(--red-border)}.wf-node.is-config-missing .wf-node__bar{background:var(--red)}.wf-node__top-right{display:flex;align-items:center;gap:4px}.wf-node__config-badge{font-size:10px;font-weight:700;color:var(--red);background:var(--red-bg);padding:1px 6px;border-radius:var(--radius-pill);border:1px solid var(--red-border);white-space:nowrap}.wf-node__config-warn{margin-top:6px;padding-top:5px;border-top:1px solid var(--border-soft);font-size:11px;color:var(--red);font-weight:500}.dw-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle);flex:0 0 auto}.dw-tabs__tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:500;cursor:pointer;transition:color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out)}.dw-tabs__tab:hover{color:var(--text)}.dw-tabs__tab.is-active{color:var(--text-strong);font-weight:600;border-bottom-color:var(--accent)}.step-config-form{display:flex;flex-direction:column;width:320px;min-width:280px;max-width:380px;border-left:1px solid var(--border);background:var(--bg-panel);overflow-y:auto}.step-config-form__head{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle)}.step-config-form__title{font-size:13px;font-weight:600;color:var(--text-strong)}.step-config-form__meta{padding:6px 14px;border-bottom:1px solid var(--border-soft)}.step-config-form__recipe{font-family:var(--mono);font-size:11.5px;color:var(--text-soft)}.step-config-form__body{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:16px}.step-config-form__group{border:none;padding:0;margin:0}.step-config-form__group-title{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-soft)}.step-config-form__field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.step-config-form__label{font-size:12px;font-weight:600;color:var(--text-muted)}.step-config-form__help{font-size:11px;color:var(--text-soft)}.step-config-form__required-hint{font-size:11px;color:var(--red);font-weight:500}.step-config-form__env-ref{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.step-config-form__env-mapping{font-family:var(--mono);font-size:11px;color:var(--text-soft);padding:2px 6px;border-radius:var(--radius-xs);background:var(--bg-fill-tertiary)}.step-config-form__foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border-soft)}.step-config-form__btn{padding:6px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:12.5px;cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}.step-config-form__btn:hover{background:var(--bg-subtle)}.step-config-form__btn.primary{border-color:transparent}.is-required-empty{border-color:var(--red-border)!important;box-shadow:0 0 0 1px var(--red-border)}.design-progress{justify-content:center;gap:16px;padding:28px;background:radial-gradient(circle at 20% 10%,var(--accent-tint),transparent 34%),var(--bg-panel)}.design-progress__hero{display:flex;align-items:flex-start;gap:12px;max-width:640px}.design-progress__icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-sm)}.design-progress__title{font-size:18px;font-weight:700;color:var(--text-strong)}.design-progress__message{margin-top:5px;color:var(--text-muted);font-size:13.5px;line-height:1.6}.design-progress .todo-card{max-width:640px;width:100%;box-shadow:var(--shadow-sm)}.design-progress__meta{display:flex;flex-wrap:wrap;gap:8px;max-width:640px;color:var(--text-soft);font-size:12px}.design-progress__meta span{padding:4px 9px;border:1px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--bg-subtle)}.code-panel{display:grid;grid-template-columns:180px minmax(0,1fr);min-width:0;flex:1;min-height:0;background:var(--bg-panel)}.code-panel.tree-collapsed{grid-template-columns:32px minmax(0,1fr)}.code-tree__bar{display:flex;align-items:center;gap:6px;padding:2px 2px 6px;margin-bottom:2px;border-bottom:1px solid var(--border-soft)}.code-tree__heading{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-soft)}.code-tree__toggle,.code-tree__expand{display:grid;place-items:center;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.code-tree__toggle{margin-left:auto}.code-tree__expand{margin:8px auto 0;border-right:1px solid var(--border-soft);border-radius:0;width:32px;height:32px}.code-tree__toggle:hover,.code-tree__expand:hover{background:var(--bg-fill-tertiary);color:var(--text)}.code-tree{display:flex;flex-direction:column;gap:2px;padding:10px 8px;overflow-y:auto;border-right:1px solid var(--border-soft);background:var(--bg-subtle)}.code-tree__file{display:flex;align-items:center;gap:7px;width:100%;padding:6px 9px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:12.5px;font-family:var(--mono);text-align:left;cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}.code-tree__file:hover{background:var(--bg-fill-tertiary);color:var(--text)}.code-tree__file-text{display:flex;flex-direction:column;min-width:0;gap:1px}.code-tree__file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-tree__file-summary{color:var(--text-soft);font-family:var(--font-sans);font-size:11px;font-weight:500}.code-tree__file.is-nested{padding-left:20px}.code-tree__file.is-active{background:var(--bg-fill-secondary);color:var(--text-strong);font-weight:600}.code-tree__file.is-linked{color:var(--accent);background:var(--accent-tint)}.code-tree__folder{display:flex;align-items:center;gap:7px;padding:8px 9px 4px;color:var(--text-soft);font-size:11.5px;font-weight:600;letter-spacing:.02em}.code-editor{display:flex;flex-direction:column;min-width:0;min-height:0}.code-editor__head{display:flex;align-items:center;gap:7px;padding:8px 14px;border-bottom:1px solid var(--border-soft);color:var(--text-muted);font-size:12px;font-family:var(--mono);background:var(--code-header-bg)}.code-editor__lang{margin-left:auto;font-size:10.5px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em}.code-editor__body{flex:1;min-height:0}.code-editor__loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-soft);font-size:13px}.setup-theater{padding:16px}.setup-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:420px;margin:48px auto 0}.setup-intro__icon{width:60px;height:60px;border-radius:var(--radius-lg);display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-md)}.setup-intro__title{margin:4px 0 0;font-size:19px;color:var(--text-strong)}.setup-intro__desc{margin:0;color:var(--text-muted);font-size:14px;line-height:1.7}.setup-intro__desc b{color:var(--accent)}.setup-intro__cta{margin-top:8px;padding:10px 22px;font-size:15px}.setup-recovery-card{width:100%;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);text-align:left}.setup-recovery-card__title{font-size:13px;font-weight:600;color:var(--text-strong)}.setup-recovery-card__desc{margin:6px 0 10px;font-size:12.5px;line-height:1.6;color:var(--text-muted)}.setup-recovery-card__form{display:flex;gap:8px;align-items:center}.setup-recovery-card__form input{min-width:0}.setup-recovery-card__form button{flex:0 0 auto}.setup-section{margin-bottom:22px}.setup-section__head{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:13.5px;font-weight:600;color:var(--text-strong)}.setup-section__count{margin-left:auto;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--text-soft)}.setup-group-label{margin:10px 0 8px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--text-soft)}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.field-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-xs)}.field-chip--process{border-style:dashed;background:var(--bg-subtle)}.field-chip__name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-chip__type{flex:0 0 auto;font-size:11px;color:var(--text-soft);background:var(--bg-fill-tertiary);padding:2px 7px;border-radius:var(--radius-pill)}.view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.view-card{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-xs)}.view-card__kind{display:inline-block;font-size:11px;font-weight:600;color:#fff;padding:2px 8px;border-radius:var(--radius-pill);background:var(--text-soft)}.view-card__kind--grid{background:var(--blue)}.view-card__kind--kanban{background:var(--purple)}.view-card__kind--calendar{background:var(--green)}.view-card__kind--form{background:var(--accent)}.view-card__name{margin:8px 0 3px;font-size:13.5px;font-weight:600;color:var(--text-strong)}.view-card__desc{font-size:12px;color:var(--text-muted);line-height:1.5}.table-link-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:20px;border:1px solid var(--green-border);border-radius:var(--radius-lg);background:var(--green-bg)}.table-link-card__info{display:flex;align-items:center;gap:12px}.table-link-card__badge{width:30px;height:30px;flex:0 0 auto;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--green)}.table-link-card__title{font-size:14px;font-weight:600;color:var(--text-strong)}.table-link-card__sub{margin-top:2px;font-size:12.5px;color:var(--text-muted)}.table-link-card__open{flex:0 0 auto;text-decoration:none;padding:9px 16px}.adjust{padding:32px 40px 100px;overflow-y:auto;width:100%;max-width:1100px;margin:0 auto}.adjust__head{margin-bottom:16px}.adjust__title{font-size:20px;font-weight:700;color:var(--text-strong);margin:0}.adjust__sub{font-size:14px;color:var(--text-muted);margin:6px 0 0}.adjust__hint{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:16px;border-radius:var(--radius);background:var(--bg-fill-tertiary);font-size:13px;color:var(--text-muted)}.adjust__hint code{font-family:var(--mono);font-size:12px}.adjust__loading{padding:32px;text-align:center;color:var(--text-muted);font-size:14px}.adjust__error{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius);background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);font-size:13px;margin-bottom:16px}.adjust__retry{margin-left:auto;font-size:12px;padding:3px 12px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--red-border);color:var(--red);cursor:pointer}.adjust__retry:hover{background:var(--red-bg)}.adjust__done{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:10px;text-align:center}.adjust__done-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--green-bg);border:1px solid var(--green-border)}.adjust__done-title{font-size:20px;font-weight:650;color:var(--text-strong);margin:8px 0 0}.adjust__done-text{color:var(--text-muted);font-size:14px;margin:0}.adjust__done-hint{color:var(--text-soft);font-size:13px;margin:0}.adjust__tab-area{width:80%;margin:0 auto}.adjust__tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.adjust__tab{display:flex;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out);position:relative}.adjust__tab:hover{color:var(--text)}.adjust__tab.is-active{color:var(--text-strong);font-weight:600;border-bottom-color:var(--accent)}.adjust__tab-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0}.adjust__tab-content{min-height:300px}.adjust__tab-inner{display:flex;flex-direction:column;gap:16px}.adjust__section{border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px;background:var(--bg-panel)}.adjust__section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);margin:0 0 12px}.adjust__engine-row{display:flex;align-items:center;gap:10px}.adjust__engine-select{min-width:280px}.adjust__engine-warn{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--red);max-width:400px}.adjust__engine-ok{display:flex;align-items:center}.adjust__engine-saving{font-size:12px;color:var(--text-muted)}.adjust__hint-text{font-size:12px;color:var(--text-soft);margin:6px 0 0}.adjust__empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--text-muted);font-size:14px}.role-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-panel);overflow:hidden}.role-card.is-ok{border-color:var(--green-border)}.role-card__head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.role-card__name{font-weight:600;font-size:14px;color:var(--text);flex:1}.role-card__status{font-size:12px;color:var(--text-muted)}.role-card__status.is-ok{color:var(--green);display:flex;align-items:center;gap:4px}.role-card__body{padding:8px 0}.role-card__kb{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-soft)}.role-card__kb-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.wf-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-panel);overflow:hidden}.wf-card.is-done{border-color:var(--green-border)}.wf-card__head{display:flex;align-items:center;gap:8px;padding:12px 16px;width:100%;background:transparent;border:none;cursor:pointer;font-size:14px;color:var(--text);text-align:left}.wf-card__head:hover{background:var(--bg-fill-tertiary)}.wf-card__icon{color:var(--text-muted)}.wf-card__name{font-weight:600;flex:1}.wf-card__badge{font-size:12px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.wf-card__badge--process{background:var(--bg-fill-tertiary);color:var(--amber);border-color:var(--border-soft)}.wf-card__status{font-size:12px;color:var(--text-muted)}.wf-card__status.is-ok{color:var(--green);display:flex;align-items:center;gap:4px}.wf-card__chevron{transition:transform var(--dur-quick) var(--ease-out);color:var(--text-soft)}.wf-card__chevron.is-open{transform:rotate(90deg)}.wf-card__body{border-top:1px solid var(--border-soft)}.wf-card__tracker{padding:8px 8px 0;border-bottom:1px solid var(--border-soft)}.wf-card__canvas-row{display:flex;min-height:340px}.wf-card__canvas-row.has-panel{min-height:380px}.wf-card__canvas{flex:1;min-width:0;position:relative}.wf-card__canvas .wf-canvas{height:100%;min-height:340px}.wf-card__panel{width:320px;min-width:280px;max-width:380px;border-left:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-elevated);overflow-y:auto}.wf-card__panel-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.wf-card__panel-close{margin-left:auto;background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:var(--radius-xs)}.wf-card__panel-close:hover{background:var(--bg-fill-secondary)}.wf-card__panel-body{flex:1;overflow-y:auto;padding:4px 0}.wf-card__panel-divider{padding:8px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);border-top:1px solid var(--border-soft);margin-top:4px}.wf-card__events{border-top:1px solid var(--border-soft);padding:8px 0 4px}.wf-card__events-title{display:flex;align-items:center;gap:6px;padding:4px 16px 8px;font-size:12px;font-weight:600;color:var(--text-muted)}@media (max-width: 768px){.adjust{padding:20px 16px 100px}.wf-card__canvas-row{flex-direction:column}.wf-card__panel{width:100%;max-width:none;border-left:none;border-top:1px solid var(--border)}.adjust__engine-row{flex-direction:column;align-items:flex-start}.adjust__engine-select{min-width:100%}}.prov-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-panel);padding:12px 14px;margin-top:10px}.prov-card__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prov-card__label{font-size:13px;font-weight:600;color:var(--text)}.prov-card__store{font-size:11px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.prov-card__instances{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.prov-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--green-tint, rgba(0, 160, 90, .1));border:1px solid var(--green-border, rgba(0, 160, 90, .3));font-size:12px;color:var(--text)}.prov-chip__remove{display:inline-flex;border:none;background:none;cursor:pointer;color:var(--text-muted);padding:0}.prov-chip__remove:hover{color:var(--red)}.prov-card__empty{margin-top:8px;font-size:12px;color:var(--text-muted)}.prov-add-btn{margin-top:10px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px dashed var(--border);border-radius:var(--radius-sm, 6px);background:none;cursor:pointer;font-size:12px;color:var(--accent)}.prov-add-btn:hover{background:var(--accent-tint)}.prov-form{margin-top:10px;padding:12px;border:1px solid var(--border-soft);border-radius:var(--radius-sm, 6px);background:var(--bg);display:flex;flex-direction:column;gap:8px}.prov-form__field{display:flex;flex-direction:column;gap:4px}.prov-form__label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text)}.prov-form__hint{font-size:11px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.process-errors{border:1px solid var(--red-border);border-radius:var(--radius);background:var(--red-bg);padding:12px 16px;margin-top:16px}.process-errors__head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--red);margin-bottom:8px}.process-errors__copy{margin-left:auto;font-size:12px;padding:2px 10px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--red-border);color:var(--red);cursor:pointer}.process-errors__copy:hover{background:var(--bg-fill-tertiary)}.process-errors__item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-top:1px solid var(--border-soft)}.process-errors__item:first-of-type{border-top:none}.process-errors__item--warn{opacity:.85}.process-errors__icon{flex-shrink:0;margin-top:1px}.process-errors__body{display:flex;flex-direction:column;gap:2px;min-width:0}.process-errors__key{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.process-errors__msg{font-size:13px;color:var(--text);word-break:break-word;line-height:1.5}.cfg-card__head--toggle{cursor:pointer;width:100%;text-align:left;border:none;background:none;padding:12px 16px;display:flex;align-items:center;gap:8px;font:inherit;color:inherit}.cfg-card__head--toggle:hover{background:var(--bg-fill-tertiary)}.cfg-card__counts{display:flex;gap:8px;margin-left:auto}.cfg-count{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill)}.cfg-count--error{background:var(--red-bg);color:var(--red)}.cfg-count--warn{background:var(--amber-bg);color:var(--amber)}.cfg-card__chevron{transition:transform var(--dur-quick) var(--ease-out);color:var(--text-muted)}.cfg-card__chevron.is-open{transform:rotate(90deg)}.cfg-item{padding:10px 16px;border-bottom:1px solid var(--border-soft)}.cfg-item:last-child{border-bottom:none}.cfg-item__head{display:flex;align-items:center;gap:8px}.cfg-item__status{flex:0 0 auto}.cfg-item__label{font-size:13px;font-weight:550;color:var(--text-strong)}.cfg-item__badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-pill)}.cfg-item__badge--sensitive{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.cfg-item__badge--required{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.cfg-item__desc{font-size:12px;color:var(--text-muted);margin:4px 0 0 22px}.cfg-item__value-row{display:flex;align-items:center;gap:8px;margin:6px 0 0 22px}.cfg-item__value{font-size:13px;font-family:var(--mono);color:var(--text);word-break:break-all}.cfg-item__value--multiline{white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto;display:block;flex:1}.cfg-item__edit-btn{font-size:12px;padding:2px 10px;border-radius:var(--radius-sm);background:var(--bg-fill-tertiary);border:1px solid var(--border);color:var(--accent);cursor:pointer;transition:all var(--dur-quick) var(--ease-out)}.cfg-item__edit-btn:hover{background:var(--accent-tint);border-color:var(--accent-soft)}.cfg-item__edit{margin:8px 0 0 22px;display:flex;flex-direction:column;gap:8px}.cfg-item__input{width:100%;box-sizing:border-box}.cfg-item__edit-actions{display:flex;gap:8px}.cfg-item__save-btn{font-size:12px;padding:4px 14px}.cfg-item__cancel-btn{font-size:12px;padding:4px 14px;border-radius:var(--radius-sm);background:var(--bg-fill-tertiary);border:1px solid var(--border);color:var(--text-muted);cursor:pointer}.cfg-item__cancel-btn:hover{background:var(--bg-fill-secondary)}.cfg-item__kb-error{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--red);margin-top:4px}.cfg-item__suggest{font-size:12px;color:var(--text-muted);margin-top:4px}.cfg-item__suggest code{font-family:var(--font-mono, monospace);color:var(--accent);background:var(--accent-tint);padding:1px 5px;border-radius:4px}.cfg-item__kb-success{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--green);padding:4px 0}.env-map{display:flex;flex-direction:column;gap:8px}.env-map__hint{font-size:12px;color:var(--text-muted);margin:0}.env-map__hint code{font-family:var(--mono);color:var(--accent);background:var(--accent-tint);padding:1px 5px;border-radius:4px;margin:0 2px}.env-map__entry{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:var(--bg-fill-tertiary)}.env-map__entry-head{display:flex;align-items:center;gap:8px}.env-map__entry-index{font-size:12px;color:var(--text-muted);flex-shrink:0}.env-map__key-input{flex:1;font-family:var(--mono)}.env-map__remove-btn{flex-shrink:0;padding:4px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center}.env-map__remove-btn:hover{color:var(--red);border-color:var(--red)}.env-map__fields{display:flex;flex-direction:column;gap:4px;margin-left:24px}.env-map__field{display:flex;align-items:center;gap:8px}.env-map__field-name{font-size:12px;font-family:var(--mono);color:var(--text-muted);min-width:96px;text-align:right;flex-shrink:0}.env-map__field-input{flex:1}.env-map__add-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 12px;border-radius:var(--radius-sm);background:var(--bg-fill-tertiary);border:1px dashed var(--border);color:var(--accent);cursor:pointer}.env-map__add-btn:hover{background:var(--accent-tint);border-color:var(--accent-soft)}.env-map__error{font-size:12px;color:var(--red)}.kb-panel{margin:8px 0 0 22px;display:flex;flex-direction:column;gap:8px}.kb-panel__results{display:flex;flex-direction:column;gap:4px}.kb-panel__result{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;padding:4px 0;white-space:pre-wrap}.kb-panel__result.is-ok{color:var(--green)}.kb-panel__result.is-error{color:var(--red)}.kb-panel__rows{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-fill-tertiary)}.kb-panel__row{display:flex;align-items:center;gap:8px}.kb-panel__type-select{flex:0 0 auto;width:120px;font-size:12px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer}.kb-panel__file-area{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.kb-panel__file-info{font-size:12px;color:var(--text);flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.kb-panel__file-placeholder{font-size:12px;color:var(--text-muted)}.kb-panel__file-btn{flex:0 0 auto;font-size:11px;padding:3px 8px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);color:var(--accent);cursor:pointer;white-space:nowrap}.kb-panel__file-btn:hover{background:var(--accent-tint);border-color:var(--accent-soft)}.kb-panel__url-input{flex:1;font-size:12px;min-width:0}.kb-panel__row-remove{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-xs)}.kb-panel__row-remove:hover{background:var(--bg-fill-secondary);color:var(--red)}.kb-panel__actions{display:flex;align-items:center;gap:8px}.kb-panel__import-btn{font-size:12px;padding:4px 14px}.cfg-workflow-group{border-top:1px solid var(--border-soft)}.cfg-workflow-group:first-child{border-top:none}.cfg-workflow-group__head{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-fill-tertiary)}.cfg-workflow-group__status{margin-left:auto;font-size:11px}.cfg-workflow-group__status.is-ok{color:var(--green)}.cfg-summary{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-panel);border-top:1px solid var(--border);box-shadow:var(--shadow-md);z-index:10}.cfg-summary--ok{border-top-color:var(--green-border);background:color-mix(in srgb,var(--green-bg) 30%,var(--bg-panel))}.cfg-summary__stats{display:flex;align-items:center;gap:16px}.cfg-summary__stat{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted)}.cfg-summary__stat--error{color:var(--red);font-weight:600}.cfg-summary__stat--warn{color:var(--amber)}.cfg-summary__btn{padding:8px 20px;font-size:14px}.file-ref{margin-top:6px}.file-ref__toggle{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;background:var(--surface-2, rgba(0, 0, 0, .02));border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:left}.file-ref__toggle:hover{border-color:var(--text-muted)}.file-ref__chevron{display:inline-flex;transition:transform .15s ease;color:var(--text-muted)}.file-ref__chevron.is-open{transform:rotate(90deg)}.file-ref__path{font-family:var(--mono);font-size:12px;color:var(--text)}.file-ref__summary{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:var(--mono)}.file-ref__missing{margin-left:auto;font-size:11px;color:var(--amber)}.file-ref__locked-hint{display:flex;align-items:center;gap:4px;margin-top:4px;padding-left:2px;font-size:11px;color:var(--text-muted)}.file-ref__body{margin-top:6px;padding:8px;border:1px solid var(--border);border-radius:6px}.file-ref__pre{margin:0;max-height:320px;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre;color:var(--text)}.file-ref__editor{width:100%;min-height:320px;font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre;overflow-wrap:normal;overflow-x:auto}.file-ref__actions{display:flex;align-items:center;gap:8px;margin-top:8px}.file-ref__btn{font-size:12px;padding:4px 12px;border-radius:5px;cursor:pointer}.file-ref__hint{font-size:11px;color:var(--text-muted)}.file-ref__hint--inline{margin-left:auto}.file-ref__saved{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--green)}.file-ref__error{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;padding:6px 8px;font-size:12px;color:var(--red);background:var(--red-bg);border-radius:5px;word-break:break-word}.test-stage{display:grid;grid-template-columns:1fr 280px 320px;flex:1;min-height:0;min-width:0}.test-main{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border)}.test-main__head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle)}.test-guide,.test-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:18px;padding:40px 32px;text-align:center}.test-guide__icon,.test-intro__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-lg);background:var(--accent)}.test-guide__title,.test-intro__title{font-size:18px;font-weight:700;color:var(--text-strong);margin:0}.test-intro__desc{font-size:14px;color:var(--text-muted);max-width:400px;line-height:1.6}.test-guide__steps{display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;max-width:380px}.test-guide__step{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);font-size:13.5px;color:var(--text)}.test-guide__step-num{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:12px;font-weight:700}.test-guide__link{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-size:12px;font-weight:500;text-decoration:none}.test-guide__link:hover{text-decoration:underline}.test-guide__cta,.test-intro__cta{margin-top:8px}.test-result{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:14px;padding:40px 32px;text-align:center}.test-result__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-pill)}.test-result__icon--success{background:var(--green)}.test-result__icon--failed{background:var(--red)}.test-result__title{font-size:16px;font-weight:700;color:var(--text-strong);margin:0}.test-result__desc{font-size:13.5px;color:var(--text-muted);max-width:400px;line-height:1.6}.test-result__actions{display:flex;gap:8px;margin-top:8px}.test-result__cta,.test-result__btn{padding:8px 18px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:13px;cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}.test-result__btn:hover{background:var(--bg-subtle)}.test-result__btn.primary{border-color:transparent}.test-flow{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow-y:auto}.test-flow__head{padding:10px 14px;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle);font-size:12px;font-weight:600;color:var(--text-muted)}.test-logs{display:flex;flex-direction:column;min-width:0;overflow-y:auto}.test-logs__head{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--border-soft);background:var(--bg-subtle);font-size:12px;font-weight:600;color:var(--text-muted)}.test-logs__body{flex:1;overflow-y:auto}.run-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:440px;margin:52px auto 0}.run-intro__icon{width:60px;height:60px;border-radius:var(--radius-lg);display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-md)}.run-intro__title{margin:4px 0 0;font-size:19px;color:var(--text-strong)}.run-intro__desc{margin:0;color:var(--text-muted);font-size:14px;line-height:1.7}.run-intro__cta{margin-top:8px;padding:10px 22px;font-size:15px}.run-stage{display:grid;grid-template-columns:288px minmax(0,1fr) 320px;height:100%;min-height:0;background:var(--bg-panel)}.run-board{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--bg-subtle)}.run-board__head,.run-flow__head,.run-logs__head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border-soft);font-size:13px;font-weight:600;color:var(--text-strong)}.run-board__stat{margin-left:auto;font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--text-soft)}.run-board__list{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.run-board__foot{padding:10px 16px;border-top:1px solid var(--border-soft);font-size:11.5px;color:var(--text-soft)}.run-live-start{width:100%;justify-content:center}.run-live-stop{width:100%;justify-content:center;margin-top:8px}.ticket-card{display:block;width:100%;text-align:left;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}.ticket-card:hover{border-color:var(--border-strong)}.ticket-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ticket-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.ticket-card__prio{font-size:11px;color:var(--text-soft)}.ticket-card__title{font-size:13.5px;font-weight:600;color:var(--text-strong);line-height:1.35}.ticket-card__meta{margin-top:3px;font-size:11.5px;color:var(--text-muted)}.ticket-card__progress{display:flex;align-items:center;gap:8px;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--text-soft)}.ticket-card__await{color:var(--amber);font-weight:600;font-family:var(--sans)}.run-flow{display:flex;flex-direction:column;min-width:0;min-height:0}.run-flow__head{flex-direction:column;align-items:flex-start;gap:2px}.run-flow__title{font-size:15px;font-weight:600;color:var(--text-strong)}.run-flow__sub{font-size:12.5px;font-weight:400;color:var(--text-muted)}.step-chain{flex:1;min-height:0;overflow-y:auto;padding:20px 24px}.chain-node{position:relative}.chain-node__line{position:absolute;left:11px;top:-18px;height:18px;width:2px;background:var(--border-strong)}.chain-node__line.is-done{background:var(--green)}.chain-node__line.is-active{background:linear-gradient(var(--green),var(--accent))}.chain-node__row{display:flex;gap:12px;padding-bottom:18px}.chain-node__dot{flex:0 0 auto;width:24px;height:24px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--bg-muted);border:2px solid var(--border-strong)}.chain-node.is-done .chain-node__dot{background:var(--green);border-color:var(--green)}.chain-node.is-active .chain-node__dot{background:var(--accent-tint);border-color:var(--accent)}.chain-node__pulse{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent);animation:chain-pulse 1.3s var(--ease-out) infinite}.chain-node__idle{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--text-faint)}@keyframes chain-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft);opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.7}}.chain-node__body{flex:1;min-width:0;padding-top:1px}.chain-node__name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;font-weight:600;color:var(--text-strong)}.chain-node__label{white-space:nowrap}.chain-node.is-pending .chain-node__name{color:var(--text-soft);font-weight:500}.chain-node__engine{font-size:10.5px;font-weight:600;color:#fff;background:var(--c, var(--agent-llm));padding:1px 7px;border-radius:var(--radius-pill)}.chain-node__recipe{margin-top:3px;font-family:var(--mono);font-size:11.5px;color:var(--text-soft)}.chain-node__approve{display:flex;gap:8px;margin-top:10px}.btn-approve{padding:6px 14px;font-size:13px}.btn-reject{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;font-size:13px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out)}.btn-reject:hover{border-color:var(--red-border);color:var(--red)}.run-logs{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--bg-subtle)}.run-logs__sub{margin-left:auto;font-size:11px;font-weight:400;color:var(--text-soft);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-logs__body{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.log-line{display:flex;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-soft)}.log-line__icon{flex:0 0 auto;width:18px;height:18px;border-radius:var(--radius-pill);display:grid;place-items:center;color:var(--text-soft);background:var(--bg-fill-tertiary)}.log-line--ai .log-line__icon{color:var(--purple);background:var(--purple-bg)}.log-line--ok .log-line__icon{color:var(--green);background:var(--green-bg)}.log-line--warn .log-line__icon{color:var(--amber);background:var(--amber-bg)}.log-line--error .log-line__icon{color:var(--red);background:var(--red-bg)}.log-line__content{min-width:0}.log-line__step{display:block;font-size:10.5px;font-weight:600;color:var(--text-soft);margin-bottom:1px}.log-line__text{font-size:12.5px;color:var(--text);line-height:1.5}.import-panel{width:100%;max-width:600px;background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-scale-in var(--dur-enter) var(--ease-out)}.import-panel__head{display:flex;align-items:center;padding:16px 20px 12px;border-bottom:1px solid var(--border-soft)}.import-panel__title{flex:1;font-size:16px;font-weight:700;color:var(--text-strong)}.import-panel__body{padding:20px;display:flex;flex-direction:column;gap:16px}.import-panel__sources{display:flex;gap:10px}.import-source{flex:1;display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);font-size:13.5px;color:var(--text);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out);white-space:nowrap}.import-source input[type=radio]{accent-color:var(--accent);margin:0;flex:0 0 auto}.import-source:hover{border-color:var(--border-strong)}.import-source.is-selected{border-color:var(--accent);background:var(--accent-tint)}.import-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-subtle);color:var(--text-muted);font-size:13px;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.import-drop:hover{border-color:var(--accent);color:var(--accent)}.import-preview__title{font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.import-preview__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.import-preview__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--mono)}.import-preview__item--ok{color:var(--green)}.import-preview__item--warning{color:var(--amber)}.import-preview__item--error{color:var(--red)}.import-preview__icon{flex:0 0 auto;font-weight:700}.import-preview__path{flex:1;color:var(--text)}.import-preview__detail{font-family:var(--sans);font-size:11.5px;color:var(--text-soft)}.import-env-warn{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius);background:var(--amber-bg);border:1px solid var(--amber-border);color:var(--amber);font-size:12.5px;font-weight:500}.import-panel__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border-soft)}.import-templates{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.import-template{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);font-size:13.5px;cursor:pointer;text-align:left;transition:border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}.import-template:hover{border-color:var(--accent);background:var(--bg-fill-tertiary)}.import-template.is-selected{border-color:var(--accent);background:var(--accent-tint)}.import-template__icon{color:var(--text-muted);flex:0 0 auto}.import-template__name{flex:1;font-weight:500}.import-confirm{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0;text-align:center}.import-confirm__icon{width:48px;height:48px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--accent-tint);color:var(--accent)}.import-confirm__title{margin:0;font-size:16px;font-weight:600;color:var(--text-strong)}.import-confirm__desc{margin:0;font-size:13px;color:var(--text-muted);line-height:1.6}.import-confirm__input{width:100%;max-width:320px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--bg-panel);text-align:center}.import-confirm__input:focus{outline:none;border-color:var(--accent)}.auth-page{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);font-family:var(--sans)}.auth-card{width:380px;max-width:calc(100vw - 32px);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:36px 32px 32px}.auth-card__brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.auth-card__brand-mark{width:32px;height:32px;border-radius:var(--radius-sm);display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.auth-card__brand-name{font-size:18px;font-weight:650;color:var(--text-strong);letter-spacing:.2px}.auth-card__title{font-size:20px;font-weight:600;color:var(--text-strong);text-align:center;margin:0 0 24px}.auth-field{margin-bottom:16px}.auth-field__label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.auth-field__input{width:100%;padding:9px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}.auth-field__input::placeholder{color:var(--text-faint)}.auth-field__input:focus{outline:none;border-color:var(--selected);box-shadow:0 0 0 3px var(--selected-soft)}.auth-field__input.is-error{border-color:var(--red)}.auth-field__hint{font-size:12px;color:var(--red);margin-top:4px;min-height:16px}.auth-error{font-size:13px;color:var(--red);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:16px;text-align:center}.auth-submit{width:100%;padding:10px 16px;font-size:15px;margin-top:4px}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:20px;font-size:13px;color:var(--text-muted)}.auth-footer__link{color:var(--accent);cursor:pointer;font-weight:500;background:none;border:none;padding:0;font:inherit;text-decoration:none}.auth-footer__link:hover{color:var(--accent-hover);text-decoration:underline}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:auth-spin .6s linear infinite;vertical-align:middle;margin-right:6px}.account-page{max-width:720px;margin:0 auto;padding:24px 20px 48px}.account-section{margin-bottom:32px}.account-section__title{font-size:16px;font-weight:600;color:var(--text-strong);margin:0 0 12px}.account-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-xs)}.account-card__loading{color:var(--text-muted);font-size:14px}.account-card__row{display:flex;align-items:center;gap:14px;margin-bottom:12px}.account-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--bg-fill-secondary);display:grid;place-items:center;color:var(--text-muted);flex-shrink:0;overflow:hidden}.account-card__avatar-img{width:100%;height:100%;object-fit:cover}.account-card__info{display:flex;align-items:center;gap:10px}.account-card__username{font-size:17px;font-weight:600;color:var(--text-strong)}.account-card__role{font-size:12px;font-weight:500;padding:2px 8px;border-radius:var(--radius-pill);background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.account-card__role--admin{background:var(--purple-bg);color:var(--purple);border-color:var(--purple-border)}.account-card__detail{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);padding-top:8px;border-top:1px solid var(--border-soft)}.account-card__label{color:var(--text-soft)}.account-card__value{color:var(--text)}.machine-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-xs);transition:border-color var(--dur-quick) var(--ease-out)}.machine-card:hover{border-color:var(--border-strong)}.machine-card__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.machine-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.machine-status--online{background:var(--green);box-shadow:0 0 4px var(--green)}.machine-status--offline{background:var(--text-faint)}.machine-card__name{font-size:14px;font-weight:600;color:var(--text-strong)}.machine-card__slug{font-size:12px;color:var(--text-soft);font-family:var(--mono)}.machine-card__desc{font-size:13px;color:var(--text-muted);margin-bottom:8px}.machine-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-soft);margin-bottom:10px}.machine-card__id{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;color:var(--text-muted)}.machine-card__copy{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-soft);display:inline-flex;align-items:center;border-radius:var(--radius-xs);transition:color var(--dur-quick) var(--ease-out)}.machine-card__copy:hover{color:var(--accent)}.machine-card__seen{font-size:12px;color:var(--text-soft);white-space:nowrap}.machine-card__actions{display:flex;justify-content:flex-end}.machine-card__revoke{font-size:12px;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--red-border);background:var(--red-bg);color:var(--red);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.machine-card__revoke:hover{background:var(--red);color:#fff}.machine-list__loading,.machine-list__empty{font-size:14px;color:var(--text-muted);padding:20px;text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius)}.machine-list__error{font-size:14px;color:var(--red);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.machine-list__retry{font-size:13px;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--red-border);background:transparent;color:var(--red);cursor:pointer}.machine-list__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.machine-list__count{font-size:13px;color:var(--text-muted)}.machine-list__header-actions{display:inline-flex;align-items:center;gap:8px}.machine-list__refresh{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);cursor:pointer}.machine-list__refresh:hover{background:var(--bg-hover, rgba(127, 127, 127, .08))}.machine-list__add{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:6px 14px}.machine-list__grid{display:grid;gap:10px}.machine-form{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.machine-form__title{font-size:15px;font-weight:600;color:var(--text-strong);margin-bottom:16px}.machine-form__error{font-size:13px;color:var(--red);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:12px}.machine-form__field{margin-bottom:12px}.machine-form__label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.machine-form__required{color:var(--red)}.machine-form__input{width:100%;padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}.machine-form__input::placeholder{color:var(--text-faint)}.machine-form__input:focus{outline:none;border-color:var(--selected);box-shadow:0 0 0 3px var(--selected-soft)}.machine-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.machine-form__cancel{font-size:13px;padding:7px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.machine-form__cancel:hover{background:var(--bg-fill-tertiary)}.machine-form__submit{font-size:13px;padding:7px 16px}.machine-form__submit:disabled{opacity:.6;cursor:not-allowed}.user-menu{position:relative;margin-left:8px}.user-menu__trigger{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out)}.user-menu__trigger:hover{background:var(--bg-fill-tertiary);border-color:var(--border)}.user-menu__name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:4px;z-index:100;animation:userMenuFadeIn var(--dur-enter) var(--ease-out)}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;color:var(--text);text-decoration:none;background:transparent;border:none;border-radius:var(--radius-xs);cursor:pointer;text-align:left;transition:background var(--dur-quick) var(--ease-out)}.user-menu__item:hover{background:var(--bg-fill-tertiary)}.user-menu__item--danger{color:var(--red)}.user-menu__item--danger:hover{background:var(--red-bg)}.user-menu__divider{height:1px;background:var(--border-soft);margin:4px 8px}.work-head__left{display:flex;align-items:center;gap:12px}.account-back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out);white-space:nowrap}.account-back-btn:hover{background:var(--bg-fill-tertiary);border-color:var(--border-strong)}.daemon-connect-card{background:var(--bg-panel);border:1px solid var(--green-border, var(--border));border-radius:var(--radius);padding:20px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.daemon-connect-card__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.daemon-connect-card__title{font-size:15px;font-weight:600;color:var(--text-strong)}.daemon-connect-card__warn{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--orange, #e67e22);background:var(--orange-bg, rgba(230, 126, 34, .08));border:1px solid var(--orange-border, rgba(230, 126, 34, .2));border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:16px}.daemon-connect-card__section{margin-bottom:14px}.daemon-connect-card__label{font-size:12px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.daemon-connect-card__copyable{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}.daemon-connect-card__copyable--cmd{align-items:flex-start}.daemon-connect-card__code{flex:1;font-family:var(--mono);font-size:13px;color:var(--text);word-break:break-all;-webkit-user-select:all;user-select:all}.daemon-connect-card__pre{flex:1;font-family:var(--mono);font-size:13px;color:var(--text);margin:0;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;line-height:1.6}.daemon-connect-card__copy-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.daemon-connect-card__copy-btn:hover{background:var(--accent);color:#fff}.daemon-connect-card__hint{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.5}.daemon-connect-card__hint code{font-family:var(--mono);font-size:12px;background:var(--bg-fill-secondary);padding:1px 4px;border-radius:3px}.daemon-connect-card__actions{display:flex;justify-content:flex-end;margin-top:16px}.daemon-connect-card__close{font-size:13px;padding:7px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}.daemon-connect-card__close:hover{background:var(--bg-fill-tertiary)}.machine-card__runtimes{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.machine-card__runtimes--offline{margin-bottom:8px}.machine-card__runtime-tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-pill);background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.machine-card__runtime-tag--dws{background:var(--purple-bg);color:var(--purple);border-color:var(--purple-border)}.machine-card__runtime-hint{font-size:12px;color:var(--text-faint);font-style:italic}.machine-card__edit-row{display:flex;align-items:center;gap:4px;flex:1}.machine-card__edit-input{flex:1;padding:3px 8px;font-size:14px;font-weight:600;border:1px solid var(--selected);border-radius:var(--radius-xs);background:var(--bg-elevated);color:var(--text-strong);outline:none;box-shadow:0 0 0 2px var(--selected-soft)}.machine-card__edit-save,.machine-card__edit-cancel{width:24px;height:24px;display:grid;place-items:center;border:none;border-radius:var(--radius-xs);cursor:pointer;background:transparent;color:var(--text-soft);transition:color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}.machine-card__edit-save:hover{color:var(--green);background:var(--bg-fill-tertiary)}.machine-card__edit-cancel:hover{color:var(--red);background:var(--bg-fill-tertiary)}.machine-card__actions{display:flex;justify-content:flex-end;gap:8px}.machine-card__action-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.machine-card__action-btn:hover{background:var(--bg-fill-tertiary);color:var(--text)}.machine-card__command{margin:8px 0;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.machine-card__command-label{font-size:11px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.machine-card__command-box{display:flex;align-items:flex-start;gap:8px}.machine-card__command-pre{flex:1;font-family:var(--mono);font-size:12px;color:var(--text);margin:0;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;line-height:1.6}.machine-card__command-copy{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--dur-quick) var(--ease-out)}.machine-card__command-copy:hover{background:var(--accent);color:#fff}.machine-card__command-hint{font-size:11px;color:var(--text-faint);margin-top:6px}.machine-card__command-hint code{font-family:var(--mono);background:var(--bg-fill-secondary);padding:1px 3px;border-radius:2px}.machine-card__action-btn.is-active{border-color:var(--accent);color:var(--accent)}.trace-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--text-strong) 32%,transparent);display:flex;justify-content:flex-end;z-index:300}.trace-panel{position:relative;display:flex;flex-direction:column;width:380px;max-width:92vw;height:100%;background:var(--bg-panel);border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}.trace-panel__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--border-soft)}.trace-panel__title{margin:0;font-size:12px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--text-muted)}.trace-panel__close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.trace-panel__close:hover{background:var(--bg-fill);color:var(--text-strong)}.trace-panel__body{flex:1;overflow-y:auto;padding:16px 18px 24px}.trace-grp{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:9px;margin-bottom:14px}.trace-av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-pill);background:var(--bg-fill);color:var(--text-muted);line-height:0;margin-top:1px}.trace-body{min-width:0}.trace-head{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:2px}.trace-text{position:relative;font-size:14px;line-height:1.55;color:var(--text);overflow-wrap:anywhere;min-width:0;white-space:pre-wrap}.trace-text--thinking{font-style:italic;color:var(--text-soft)}.trace-tool,.trace-status{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;color:var(--text-muted);margin:4px 0;overflow-wrap:anywhere}.trace-tool svg,.trace-status svg{flex:none;margin-top:2px;color:var(--text-faint)}.trace-toolret{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;color:var(--text-faint);margin:2px 0 4px 12px;overflow-wrap:anywhere}.trace-toolret svg{flex:none;margin-top:2px;color:var(--text-faint)}.trace-toolret__label{min-width:0}.trace-toolret--expandable{cursor:pointer}.trace-toolret__summary{display:flex;align-items:flex-start;gap:6px;list-style:none;cursor:pointer}.trace-toolret__summary::-webkit-details-marker{display:none}.trace-toolret__summary:after{content:"展开";flex:none;margin-left:auto;font-size:11px;color:var(--accent, var(--text-muted))}.trace-toolret--expandable[open] .trace-toolret__summary:after{content:"收起"}.trace-toolret__full{margin:4px 0 0;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-fill);color:var(--text);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto}.trace-perm{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.5;color:var(--amber);background:var(--amber-bg);border:1px solid var(--amber-border);border-radius:var(--radius-sm);padding:4px 8px;margin:4px 0;overflow-wrap:anywhere}.trace-perm svg{flex:none;margin-top:2px;color:var(--amber)}.trace-perm__label{min-width:0;font-weight:500}.trace-perm__summary{display:flex;align-items:flex-start;gap:6px;list-style:none;cursor:pointer}.trace-perm__summary::-webkit-details-marker{display:none}.trace-perm__summary:after{content:"展开";flex:none;margin-left:auto;font-size:11px;color:var(--amber)}.trace-perm--expandable[open] .trace-perm__summary:after{content:"收起"}.trace-perm__full{margin:6px 0 0;padding:6px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--amber-bg) 60%,transparent);color:var(--text);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto}.trace-text--foldable{cursor:pointer}.trace-text__summary{list-style:none;cursor:pointer;overflow-wrap:anywhere}.trace-text__summary::-webkit-details-marker{display:none}.trace-text__summary:after{content:" 展开";font-size:11px;font-style:normal;color:var(--accent, var(--text-muted))}.trace-text--foldable[open] .trace-text__summary:after{content:" 收起"}.trace-text__full{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.trace-empty{font-size:13px;line-height:1.6;color:var(--text-faint)}.trace-cursor{display:inline-block;width:2px;height:13px;background:var(--text-strong);vertical-align:-2px;margin-left:1px;animation:trace-blink 1s step-end infinite}@keyframes trace-blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.trace-cursor{animation:none}}