body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--qingfan-color-primary:#1677ff;--qingfan-color-primary-hover:#4096ff;--qingfan-color-primary-active:#0958d9;--qingfan-color-primary-bg:rgba(22,119,255,.08);--qingfan-color-primary-tint:#e6f4ff;--qingfan-color-text:#262626;--qingfan-color-text-secondary:#595959;--qingfan-color-text-tertiary:#8c8c8c;--qingfan-color-text-on-primary:#fff;--qingfan-color-border:#f0f0f0;--qingfan-color-border-secondary:#d9d9d9;--qingfan-color-bg-layout:#f0f2f5;--qingfan-color-bg-container:#fff;--qingfan-color-bg-subtle:#f5f5f5;--qingfan-color-bg-muted:#fafafa;--qingfan-color-header-bg:#001529;--qingfan-color-success:#52c41a;--qingfan-color-warning:#faad14;--qingfan-color-error:#ff4d4f;--qingfan-header-gradient-start:#667eea;--qingfan-header-gradient-end:#764ba2;--qingfan-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--qingfan-radius-sm:4px;--qingfan-radius-md:8px;--qingfan-spacing-sm:8px;--qingfan-spacing-md:12px;--qingfan-spacing-lg:16px;--qingfan-layout-header-height:64px;--qingfan-layout-sider-width:200px;--app-color-primary:var(--qingfan-color-primary);--app-color-primary-hover:var(--qingfan-color-primary-hover);--app-color-primary-active:var(--qingfan-color-primary-active);--app-color-text:var(--qingfan-color-text);--app-color-text-secondary:var(--qingfan-color-text-secondary);--app-color-text-tertiary:var(--qingfan-color-text-tertiary);--app-color-border:var(--qingfan-color-border);--app-color-border-secondary:var(--qingfan-color-border-secondary);--app-color-bg-layout:var(--qingfan-color-bg-layout);--app-color-bg-container:var(--qingfan-color-bg-container);--app-color-bg-subtle:var(--qingfan-color-bg-subtle);--app-color-bg-muted:var(--qingfan-color-bg-muted);--app-color-success:var(--qingfan-color-success);--app-color-warning:var(--qingfan-color-warning);--app-color-error:var(--qingfan-color-error);--app-radius-sm:var(--qingfan-radius-sm);--app-radius-md:var(--qingfan-radius-md);--app-spacing-sm:var(--qingfan-spacing-sm);--app-spacing-md:var(--qingfan-spacing-md);--app-spacing-lg:var(--qingfan-spacing-lg);--app-font-family:var(--qingfan-font-family);--app-header-gradient-start:var(--qingfan-header-gradient-start);--app-header-gradient-end:var(--qingfan-header-gradient-end)}html[data-qingfan-theme=dark]{--qingfan-color-primary:#1668dc;--qingfan-color-primary-hover:#3c89e8;--qingfan-color-primary-active:#1554ad;--qingfan-color-primary-bg:rgba(22,119,255,.2);--qingfan-color-primary-tint:#111a2c;--qingfan-color-text:hsla(0,0%,100%,.85);--qingfan-color-text-secondary:hsla(0,0%,100%,.65);--qingfan-color-text-tertiary:hsla(0,0%,100%,.45);--qingfan-color-text-on-primary:#fff;--qingfan-color-border:#303030;--qingfan-color-border-secondary:#424242;--qingfan-color-bg-layout:#000;--qingfan-color-bg-container:#141414;--qingfan-color-bg-subtle:#1f1f1f;--qingfan-color-bg-muted:#262626;--qingfan-color-header-bg:#001529;--qingfan-color-success:#49aa19;--qingfan-color-warning:#d89614;--qingfan-color-error:#dc4446;--qingfan-header-gradient-start:#667eea;--qingfan-header-gradient-end:#764ba2;--qingfan-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--qingfan-radius-sm:4px;--qingfan-radius-md:8px;--qingfan-spacing-sm:8px;--qingfan-spacing-md:12px;--qingfan-spacing-lg:16px;--qingfan-layout-header-height:64px;--qingfan-layout-sider-width:200px;--app-color-primary:var(--qingfan-color-primary);--app-color-primary-hover:var(--qingfan-color-primary-hover);--app-color-primary-active:var(--qingfan-color-primary-active);--app-color-text:var(--qingfan-color-text);--app-color-text-secondary:var(--qingfan-color-text-secondary);--app-color-text-tertiary:var(--qingfan-color-text-tertiary);--app-color-border:var(--qingfan-color-border);--app-color-border-secondary:var(--qingfan-color-border-secondary);--app-color-bg-layout:var(--qingfan-color-bg-layout);--app-color-bg-container:var(--qingfan-color-bg-container);--app-color-bg-subtle:var(--qingfan-color-bg-subtle);--app-color-bg-muted:var(--qingfan-color-bg-muted);--app-color-success:var(--qingfan-color-success);--app-color-warning:var(--qingfan-color-warning);--app-color-error:var(--qingfan-color-error);--app-radius-sm:var(--qingfan-radius-sm);--app-radius-md:var(--qingfan-radius-md);--app-spacing-sm:var(--qingfan-spacing-sm);--app-spacing-md:var(--qingfan-spacing-md);--app-spacing-lg:var(--qingfan-spacing-lg);--app-font-family:var(--qingfan-font-family);--app-header-gradient-start:var(--qingfan-header-gradient-start);--app-header-gradient-end:var(--qingfan-header-gradient-end)}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-family:var(--qingfan-font-family)}.qingfan-app-shell,body,html{background:#f0f2f5;background:var(--qingfan-color-bg-layout);color:#262626;color:var(--qingfan-color-text)}.qingfan-surface{background:#fff;background:var(--qingfan-color-bg-container);border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border);border-radius:8px;border-radius:var(--qingfan-radius-md)}.qingfan-header-gradient{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--qingfan-header-gradient-start) 0,var(--qingfan-header-gradient-end) 100%)}.git-file-viewer-browser,.git-file-viewer-theme-root{--gfv-color-text:var(--qingfan-color-text,rgba(0,0,0,.88));--gfv-color-text-secondary:var(--qingfan-color-text-secondary,#595959);--gfv-color-text-muted:var(--qingfan-color-text-tertiary,#999);--gfv-color-border:var(--qingfan-color-border,#f0f0f0);--gfv-color-border-secondary:var(--qingfan-color-border-secondary,#d9d9d9);--gfv-color-bg:var(--qingfan-color-bg-container,#fff);--gfv-color-bg-subtle:var(--qingfan-color-bg-subtle,#f5f5f5);--gfv-color-bg-muted:var(--qingfan-color-bg-muted,#fafafa);--gfv-color-bg-active:var(--qingfan-color-primary-bg,rgba(22,119,255,.08));--gfv-color-primary:var(--qingfan-color-primary,#1677ff);--gfv-color-on-primary:#fff;--gfv-color-error:var(--qingfan-color-error,#ff4d4f);--gfv-color-error-bg:color-mix(in srgb,var(--gfv-color-error) 10%,var(--gfv-color-bg));--gfv-color-link:var(--qingfan-color-primary,#1677ff);--gfv-color-mask:color-mix(in srgb,var(--qingfan-color-text,#000) 45%,transparent);background:var(--gfv-color-bg);color:var(--gfv-color-text)}.git-file-viewer-browser,.git-file-viewer-browser .git-file-viewer-layout{display:flex;flex-direction:column;height:100%;min-height:400px}.git-file-viewer-browser .git-file-viewer-layout{flex:1 1;flex-direction:row;overflow:hidden}.git-file-viewer-sidebar{background:var(--gfv-color-bg);border-right:1px solid var(--gfv-color-border);display:flex;flex-direction:column;min-width:200px;overflow:hidden;width:240px}.git-file-viewer-sidebar-toolbar{align-items:center;border-bottom:1px solid var(--gfv-color-border);display:flex;flex:0 0 auto;gap:12px;padding:8px}.git-file-viewer-main{background:var(--gfv-color-bg);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.git-file-viewer-hint{color:var(--gfv-color-text-muted);padding:24px}.git-file-viewer-hint--compact{padding:12px}.git-file-viewer-hint--error{color:var(--gfv-color-error)}.git-file-viewer-branch-select{color:var(--gfv-color-text);min-width:120px;padding:4px 8px}.git-file-viewer-branch-select,.git-file-viewer-refresh-btn{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px}.git-file-viewer-refresh-btn{align-items:center;color:var(--gfv-color-text-secondary);cursor:pointer;display:inline-flex;justify-content:center;padding:4px}.git-file-viewer-refresh-btn:hover:not(:disabled){border-color:var(--gfv-color-primary);color:var(--gfv-color-primary)}.git-file-viewer-refresh-btn:disabled{background:var(--gfv-color-bg-subtle);cursor:not-allowed;opacity:.7}.git-file-viewer-tree-scroll{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto}.git-file-viewer-tree-panel{display:flex;flex:1 1;flex-direction:column;min-height:100%}.git-file-viewer-repo-tree{flex:1 1;min-height:100%;padding:8px}.git-file-viewer-tree-empty{min-height:120px}.git-file-viewer-tree-dir-btn{align-items:center;background:none;border:none;color:var(--gfv-color-text);cursor:pointer;display:flex;gap:4px;padding:2px 4px;text-align:left}.git-file-viewer-tree-dir-btn:hover{color:var(--gfv-color-primary)}.git-file-viewer-tree-file{border-radius:4px;color:var(--gfv-color-text-secondary);cursor:pointer;padding:2px 4px}.git-file-viewer-tree-file.is-selected,.git-file-viewer-tree-file:hover{background:var(--gfv-color-bg-subtle);color:var(--gfv-color-text)}.git-file-viewer-tree-file.is-selected{font-weight:500}.git-file-viewer-tree-dir-btn.is-dragging,.git-file-viewer-tree-file.is-dragging{opacity:.45}.git-file-viewer-tree-dir-btn.is-drop-target{background:var(--gfv-color-bg-subtle);border-radius:4px;outline:1px dashed var(--gfv-color-primary);outline-offset:1px}.git-file-viewer-repo-tree.is-drop-target{background:var(--gfv-color-bg-subtle);border-radius:4px;outline:1px dashed var(--gfv-color-primary);outline-offset:2px}.git-file-viewer-tree-panel.is-drop-target{background:var(--gfv-color-bg-subtle)}.git-file-viewer-tree-context-menu{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:120px;padding:4px 0;position:fixed;z-index:1000}.git-file-viewer-tree-context-menu button{background:none;border:none;color:var(--gfv-color-text);cursor:pointer;display:block;font-size:13px;padding:6px 12px;text-align:left;width:100%}.git-file-viewer-tree-context-menu button:hover{background:var(--gfv-color-bg-subtle)}.git-file-viewer-tree-context-menu-divider{background:var(--gfv-color-border);height:1px;margin:4px 0}.git-file-viewer-new-file-hint{color:var(--gfv-color-text-secondary);font-size:12px;margin-bottom:8px}.git-file-viewer-file-panel{display:flex;flex-direction:column;height:100%}.git-file-viewer-file-panel-header{align-items:center;background:var(--gfv-color-bg-muted);border-bottom:1px solid var(--gfv-color-border);color:var(--gfv-color-text-secondary);display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:6px 12px}.git-file-viewer-file-path{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-file-viewer-file-panel-actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:8px}.git-file-viewer-save-draft-btn{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;color:var(--gfv-color-text);cursor:pointer;font-size:12px;padding:2px 10px;white-space:nowrap}.git-file-viewer-save-draft-btn:hover:not(:disabled){border-color:var(--gfv-color-primary);color:var(--gfv-color-primary)}.git-file-viewer-save-draft-btn:disabled{cursor:not-allowed;opacity:.5}.git-file-viewer-mode-toggle{display:flex;flex-shrink:0;gap:0}.git-file-viewer-mode-btn{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);color:var(--gfv-color-text-secondary);cursor:pointer;font-size:12px;padding:2px 10px}.git-file-viewer-mode-btn:first-child{border-bottom-left-radius:4px;border-right:none;border-top-left-radius:4px}.git-file-viewer-mode-btn:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.git-file-viewer-mode-btn.is-active{background:var(--gfv-color-bg-subtle);color:var(--gfv-color-text)}.git-file-viewer-mode-btn:hover:not(.is-active){color:var(--gfv-color-text)}.git-file-viewer-file-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.git-file-viewer-file-scroll{height:100%;overflow:auto}.git-file-viewer-editor{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;position:relative}.git-source-codemirror,.git-source-codemirror>div{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.git-source-codemirror>div{height:100%}.git-source-codemirror .cm-editor{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:6px;display:flex;flex:1 1;flex-direction:column;height:100%!important;max-height:100%;min-height:0;overflow:hidden}.git-source-codemirror .cm-editor .cm-scroller{flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;min-height:0;overflow:auto!important}.git-file-viewer-editor-cm .cm-editor{border:none;border-radius:0}.git-file-viewer-code-cm{height:100%;min-height:200px}.git-file-viewer-code-cm .cm-editor{background:var(--gfv-color-bg-subtle);border:none;border-radius:0}.git-rebase-merge-compare-cm{flex:1 1;min-height:0}.git-rebase-merge-compare-cm .cm-editor{background:var(--gfv-color-bg);background:var(--gfv-color-bg-subtle,var(--gfv-color-bg));border:none;border-radius:0}.git-rebase-merge-compare-pane .git-source-codemirror{flex:1 1;min-height:0}.git-source-codemirror--merge .cm-editor{background:var(--gfv-color-bg);background:var(--gfv-color-bg-subtle,var(--gfv-color-bg));border:none;border-radius:6px}.cm-diff-line--upstream{background:color-mix(in srgb,#cf1322 14%,transparent)!important}.cm-diff-line--mine{background:color-mix(in srgb,#389e0d 14%,transparent)!important}.git-file-viewer-editor-toolbar{align-items:center;background:var(--gfv-color-bg-muted);border-bottom:1px solid var(--gfv-color-border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:6px 12px}.git-file-viewer-editor-toolbar button,.git-file-viewer-hint button{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;color:var(--gfv-color-text);cursor:pointer;font-size:12px;padding:4px 12px}.git-file-viewer-editor-toolbar button:hover:not(:disabled),.git-file-viewer-hint button:hover{border-color:var(--gfv-color-primary);color:var(--gfv-color-primary)}.git-file-viewer-editor-toolbar button:disabled{cursor:not-allowed;opacity:.5}.git-file-viewer-editor-error{background:var(--gfv-color-error-bg);color:var(--gfv-color-error);flex-shrink:0;padding:8px}.git-file-viewer-commit-dialog-overlay{align-items:center;background:rgba(0,0,0,.45);background:var(--gfv-color-mask,rgba(0,0,0,.45));display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.git-file-viewer-commit-dialog{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.2);color:var(--gfv-color-text);min-width:320px;padding:16px}.git-file-viewer-commit-dialog-title{font-size:14px;font-weight:600;margin-bottom:8px}.git-file-viewer-commit-dialog-input{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;box-sizing:border-box;color:var(--gfv-color-text);margin-bottom:12px;padding:8px 10px;width:100%}.git-file-viewer-commit-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.git-file-viewer-danger-btn{background:#cf1322;border:1px solid #cf1322;border-radius:4px;color:#fff;cursor:pointer;padding:4px 12px}.git-file-viewer-danger-btn:hover:not(:disabled){background:#a8071a;border-color:#a8071a}.git-file-viewer-danger-btn:disabled{cursor:not-allowed;opacity:.5}.git-file-viewer-binary,.git-file-viewer-code,.git-file-viewer-fallback,.git-file-viewer-loading{background:var(--gfv-color-bg-subtle);color:var(--gfv-color-text);font-size:13px;overflow:auto;padding:12px}.git-file-viewer-fallback,.git-file-viewer-loading{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin:0;white-space:pre-wrap;word-break:break-word}.git-file-viewer-loading{color:var(--gfv-color-text-muted)}.git-file-viewer-markdown-host{height:100%;min-height:0}.git-file-viewer-browser .markdown-panel-container,.git-file-viewer-markdown-host{background:var(--gfv-color-bg);color:var(--gfv-color-text)}.git-file-viewer-browser .markdown-content-wrapper,.git-file-viewer-browser .markdown-preview,.git-file-viewer-browser .wmde-markdown{background:var(--gfv-color-bg)!important;color:var(--gfv-color-text)!important}.git-file-viewer-browser .markdown-preview h1,.git-file-viewer-browser .markdown-preview h2,.git-file-viewer-browser .markdown-preview h3,.git-file-viewer-browser .markdown-preview li,.git-file-viewer-browser .markdown-preview p,.git-file-viewer-browser .wmde-markdown-color{color:inherit}.git-file-viewer-browser .mermaid-outer-container{background:var(--gfv-color-bg-subtle)!important;border:1px solid var(--gfv-color-border)}.git-file-viewer-browser .loading-container,.git-file-viewer-browser .markdown-placeholder{color:var(--gfv-color-text-muted)}@keyframes git-file-viewer-spin{to{transform:rotate(1turn)}}.git-control-panel--embedded{background:transparent;border-left:none;height:auto;max-height:none;min-height:0}.git-control-panel--embedded .git-control-panel-list{max-height:min(420px,60vh)}.git-scm-modal-overlay{z-index:1100}.git-scm-anchor{display:inline-flex;vertical-align:middle}.git-scm-dismiss-layer{background:transparent;inset:0;position:fixed;z-index:1099}.git-scm-popover{border:1px solid var(--gfv-color-border-secondary);border-radius:8px;box-shadow:0 6px 16px color-mix(in srgb,var(--gfv-color-text) 12%,transparent);display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 24px));overflow:hidden;position:fixed;width:min(400px,calc(100vw - 16px));z-index:1100}.git-scm-modal-header,.git-scm-panel-header{align-items:center;background:var(--gfv-color-bg);border-bottom:1px solid var(--gfv-color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.git-scm-modal-title,.git-scm-panel-title{color:var(--gfv-color-text);font-size:14px;font-weight:600}.git-scm-modal-close,.git-scm-panel-close{background:none;border:none;color:var(--gfv-color-text-secondary);cursor:pointer;font-size:20px;line-height:1;padding:0 4px}.git-scm-modal-close:hover,.git-scm-panel-close:hover{color:var(--gfv-color-text)}.git-scm-modal-body,.git-scm-panel-body{background:var(--gfv-color-bg);flex:1 1;min-height:0;overflow:auto}.git-scm-modal{border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--gfv-color-text) 18%,transparent);display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 48px));overflow:hidden;width:min(420px,calc(100vw - 32px))}.git-scm-modal,.git-scm-modal-trigger-btn{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary)}.git-scm-modal-trigger-btn{align-items:center;border-radius:4px;color:var(--gfv-color-text);cursor:pointer;display:inline-flex;font-size:12px;gap:6px;height:24px;padding:0 8px}.git-scm-modal-trigger-btn:hover{border-color:var(--gfv-color-primary);color:var(--gfv-color-primary)}.git-scm-modal-trigger-badge{align-items:center;background:var(--gfv-color-primary);border-radius:8px;color:#fff;display:inline-flex;font-size:11px;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 4px}.git-control-panel{background:var(--gfv-color-bg-subtle);border-left:1px solid var(--gfv-color-border);color:var(--gfv-color-text);display:flex;flex-direction:column;font-size:13px;height:100%;min-height:0}.git-control-panel-header{border-bottom:1px solid var(--gfv-color-border);flex-shrink:0;font-weight:600;padding:10px 12px}.git-control-panel-empty{color:var(--gfv-color-text-muted);padding:12px}.git-control-panel-error{background:var(--gfv-color-error-bg);border-radius:4px;color:var(--gfv-color-error);font-size:12px;margin:8px 12px 0;padding:6px 8px}.git-control-panel-list{flex:1 1;min-height:0;overflow:auto;padding:8px}.git-control-panel-repo{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:6px;margin-bottom:12px;padding:8px}.git-control-panel-repo-title{align-items:baseline;display:flex;flex-wrap:wrap;font-weight:600;gap:4px}.git-control-panel-repo-branch{color:var(--gfv-color-text-muted);font-size:12px;font-weight:400}.git-control-panel-repo-label{color:var(--gfv-color-text-muted);font-size:12px;margin-top:4px}.git-control-panel-tabs{background:rgba(0,0,0,.04);background:var(--gfv-color-bg-subtle,rgba(0,0,0,.04));border-radius:6px;display:flex;gap:4px;margin-top:8px;padding:2px}.git-control-panel-tab{background:transparent;border:none;border-radius:4px;color:var(--gfv-color-text-muted);cursor:pointer;flex:1 1;font-size:12px;padding:4px 8px}.git-control-panel-tab--active{background:var(--gfv-color-bg);box-shadow:0 1px 2px color-mix(in srgb,var(--gfv-color-text) 8%,transparent);color:var(--gfv-color-text);font-weight:500}.git-commit-history{margin-top:8px}.git-commit-history-meta{align-items:center;color:var(--gfv-color-text-muted);display:flex;font-size:12px;gap:8px;justify-content:space-between}.git-commit-history-empty{color:var(--gfv-color-text-muted);font-size:12px;margin-top:8px}.git-commit-history-list{list-style:none;margin:8px 0 0;max-height:min(360px,50vh);overflow:auto;padding:0}.git-commit-history-item{border-bottom:1px solid var(--gfv-color-border-secondary);padding:8px 0}.git-commit-history-item:last-child{border-bottom:none}.git-commit-history-item-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.git-commit-history-hash{color:#1677ff;color:var(--gfv-color-link,#1677ff);font-size:11px}.git-commit-history-date{color:var(--gfv-color-text-muted);font-size:11px;white-space:nowrap}.git-commit-history-message{font-size:13px;font-weight:500;line-height:1.4;margin-top:4px;word-break:break-word}.git-commit-history-author{color:var(--gfv-color-text-muted);font-size:11px;margin-top:2px}.git-commit-history-more-btn{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;cursor:pointer;font-size:12px;margin-top:8px;padding:4px 8px;width:100%}.git-commit-history-more-btn:disabled{cursor:not-allowed;opacity:.6}.git-control-panel-repo-meta{align-items:center;color:var(--gfv-color-text-muted);display:flex;font-size:12px;gap:8px;justify-content:space-between;margin-top:6px}.git-control-panel-link-btn{background:none;border:none;color:#1677ff;color:var(--gfv-color-link,#1677ff);cursor:pointer;font-size:12px;padding:0}.git-control-panel-link-btn:disabled{cursor:not-allowed;opacity:.5}.git-control-panel-changes{font-size:12px;margin:8px 0 0;max-height:120px;overflow:auto;padding-left:16px}.git-control-panel-change{word-break:break-all}.git-control-panel-change--staged{color:var(--gfv-color-text)}.git-control-panel-change--conflict{color:#cf1322}.git-control-panel-conflict-meta{color:#cf1322;font-weight:500}.git-control-panel-conflict-meta--done{color:#389e0d;color:var(--gfv-color-success,#389e0d)}.git-control-panel-message{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;box-sizing:border-box;color:var(--gfv-color-text);font:inherit;margin-top:8px;padding:6px 8px;resize:vertical;width:100%}.git-control-panel-actions{display:flex;gap:8px;margin-top:8px}.git-control-panel-actions button{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;color:var(--gfv-color-text);cursor:pointer;flex:1 1;font-size:12px;padding:4px 8px}.git-control-panel-primary-btn{background:var(--gfv-color-primary);border-color:var(--gfv-color-primary);color:var(--gfv-color-on-primary);font-weight:600}.git-control-panel-primary-btn:hover:not(:disabled){filter:brightness(1.05)}.git-control-panel-actions .git-control-panel-primary-btn,.git-rebase-conflict-footer .git-control-panel-primary-btn,.git-rebase-merge-footer .git-control-panel-primary-btn{background:var(--gfv-color-primary);border-color:var(--gfv-color-primary);color:var(--gfv-color-on-primary)}.git-control-panel-actions button:disabled{cursor:not-allowed;opacity:.5}.git-control-panel-error-inline{color:var(--gfv-color-error)}.git-rebase-conflict-panel{background:var(--gfv-color-bg-subtle);border:1px solid var(--gfv-color-border);border-radius:6px;margin-top:10px;padding:10px}.git-rebase-conflict-title{color:var(--gfv-color-text);font-size:13px;font-weight:600;margin-bottom:6px}.git-rebase-conflict-title--done{color:#389e0d;color:var(--gfv-color-success,#389e0d)}.git-rebase-conflict-hint{color:var(--gfv-color-text-secondary);font-size:12px;line-height:1.45;margin:0 0 8px}.git-rebase-conflict-hint--done{color:#389e0d;color:var(--gfv-color-success,#389e0d)}.git-rebase-conflict-list{list-style:none;margin:0;max-height:200px;overflow:auto;padding:0}.git-rebase-conflict-item{align-items:center;border-bottom:1px solid var(--gfv-color-border-secondary);display:flex;flex-direction:row;gap:12px;justify-content:space-between;padding:8px 0}.git-rebase-conflict-item:last-child{border-bottom:none}.git-rebase-conflict-path{flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;min-width:0;word-break:break-all}.git-rebase-conflict-actions{display:flex;flex-shrink:0;gap:6px}.git-rebase-conflict-resolve-btn{background:color-mix(in srgb,#1677ff 8%,var(--gfv-color-bg));background:color-mix(in srgb,var(--gfv-color-primary,#1677ff) 8%,var(--gfv-color-bg));border:1px solid #1677ff;border:1px solid var(--gfv-color-primary,#1677ff);border-radius:4px;color:#1677ff;color:var(--gfv-color-primary,#1677ff);cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px}.git-rebase-conflict-resolve-btn:hover:not(:disabled){background:color-mix(in srgb,#1677ff 14%,var(--gfv-color-bg));background:color-mix(in srgb,var(--gfv-color-primary,#1677ff) 14%,var(--gfv-color-bg))}.git-rebase-conflict-resolve-btn:disabled{cursor:not-allowed;opacity:.5}.git-rebase-conflict-actions button{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;cursor:pointer;font-size:12px;padding:2px 8px}.git-rebase-merge-overlay{align-items:center;background:rgba(0,0,0,.55);background:var(--gfv-color-mask,rgba(0,0,0,.55));box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1200}.git-rebase-merge-modal{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:10px;box-shadow:0 12px 40px color-mix(in srgb,var(--gfv-color-text) 22%,transparent);color:var(--gfv-color-text);display:flex;flex-direction:column;height:min(900px,calc(100vh - 48px));max-height:calc(100vh - 48px);overflow:hidden;width:min(1200px,calc(100vw - 48px))}.git-rebase-merge-header{align-items:flex-start;border-bottom:1px solid var(--gfv-color-border);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 20px}.git-rebase-merge-header-text{flex:1 1;min-width:0}.git-rebase-merge-title{font-size:16px;font-weight:600;margin-bottom:4px}.git-rebase-merge-source{color:#1677ff;color:var(--gfv-color-primary,#1677ff);font-size:13px;margin-bottom:4px}.git-rebase-merge-path{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all}.git-rebase-merge-hint,.git-rebase-merge-path{color:var(--gfv-color-text-secondary);font-size:12px}.git-rebase-merge-hint{border-bottom:1px solid var(--gfv-color-border-secondary);flex-shrink:0;margin:0;padding:10px 20px}.git-rebase-merge-hint code{font-size:11px}.git-rebase-merge-status{flex-shrink:0;font-size:13px;margin:0;padding:8px 20px}.git-rebase-merge-status-loading{background:color-mix(in srgb,#1677ff 8%,var(--gfv-color-bg));background:color-mix(in srgb,var(--gfv-color-primary,#1677ff) 8%,var(--gfv-color-bg));border-bottom:1px solid var(--gfv-color-border-secondary);color:#1677ff;color:var(--gfv-color-primary,#1677ff)}.git-rebase-merge-error{flex-shrink:0;margin:8px 20px 0}.git-rebase-merge-compare{grid-gap:12px;display:grid;flex-shrink:0;gap:12px;grid-template-columns:1fr 1fr;height:200px;min-height:100px;overflow:hidden;padding:12px 20px 0}.git-rebase-merge-compare-pane{background:var(--gfv-color-bg);background:var(--gfv-color-bg-subtle,var(--gfv-color-bg));border:1px solid var(--gfv-color-border-secondary);border-radius:6px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.git-rebase-merge-compare-label{background:var(--gfv-color-bg);border-bottom:1px solid var(--gfv-color-border-secondary);color:var(--gfv-color-text-secondary);flex-shrink:0;font-size:12px;font-weight:600;padding:6px 10px}.git-rebase-merge-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:12px 20px 0}.git-rebase-merge-actions button{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;cursor:pointer;font-size:12px;padding:5px 12px}.git-rebase-merge-actions button:disabled{cursor:not-allowed;opacity:.5}.git-rebase-merge-result-label{color:var(--gfv-color-text-secondary);flex-shrink:0;font-size:12px;font-weight:600;padding:10px 20px 0}.git-rebase-merge-editor-wrap{display:flex;flex:1 1;min-height:100px;padding:12px 20px;position:relative}.git-rebase-merge-editor-wrap .git-source-codemirror--merge{flex:1 1;min-height:0}.git-rebase-merge-editor-loading{align-items:center;background:color-mix(in srgb,var(--gfv-color-bg) 82%,transparent);border-radius:6px;color:#1677ff;color:var(--gfv-color-primary,#1677ff);display:flex;font-size:14px;font-weight:500;inset:12px 20px;justify-content:center;pointer-events:none;position:absolute;z-index:1}.git-rebase-merge-footer{border-top:1px solid var(--gfv-color-border);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:14px 20px}.git-rebase-merge-footer button{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;color:var(--gfv-color-text);cursor:pointer;font-size:13px;padding:6px 14px}.git-rebase-conflict-footer{display:flex;gap:8px;margin-top:10px}.git-rebase-conflict-footer button{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:4px;color:var(--gfv-color-text);cursor:pointer;flex:1 1;font-size:12px;padding:4px 8px}.git-credentials-page{color:var(--gfv-color-text);max-width:640px;padding:16px}.git-credentials-card{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:8px;color:var(--gfv-color-text);padding:24px}.git-credentials-card-title{color:var(--gfv-color-text);font-size:16px;font-weight:600;margin-bottom:16px}.git-credentials-desc{color:var(--gfv-color-text-secondary);display:block;line-height:1.5;margin:0}.git-credentials-form{gap:16px;margin-top:16px}.git-credentials-field,.git-credentials-form{display:flex;flex-direction:column}.git-credentials-label{color:var(--gfv-color-text);font-weight:600}.git-credentials-input,.git-credentials-textarea{background:var(--gfv-color-bg);border:1px solid var(--gfv-color-border-secondary);border-radius:6px;box-sizing:border-box;color:var(--gfv-color-text);font:inherit;margin-top:4px;padding:8px 10px;width:100%}.git-credentials-textarea{min-height:120px;resize:vertical}.git-credentials-input::-moz-placeholder,.git-credentials-textarea::-moz-placeholder{color:var(--gfv-color-text-muted)}.git-credentials-input::placeholder,.git-credentials-textarea::placeholder{color:var(--gfv-color-text-muted)}.git-credentials-input:focus,.git-credentials-textarea:focus{border-color:var(--gfv-color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--gfv-color-primary) 16%,transparent);outline:none}.git-credentials-actions{align-items:center;display:flex;gap:8px}.git-credentials-primary-btn{background:var(--gfv-color-primary);border:1px solid var(--gfv-color-primary);border-radius:6px;color:var(--gfv-color-on-primary);cursor:pointer;font-size:14px;padding:4px 15px}.git-credentials-primary-btn:hover:not(:disabled){filter:brightness(1.05)}.git-credentials-primary-btn:disabled{cursor:not-allowed;opacity:.65}.git-credentials-status{color:var(--gfv-color-text-secondary)}.git-credentials-status--ok{color:#52c41a;color:var(--qingfan-color-success,#52c41a)}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.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 .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{min-height:5px;min-width:5px;pointer-events:none;position:absolute}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.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-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;width:6px}.react-flow__controls{background:#fff;border-radius:4px;box-shadow:0 0 2px 1px #00000014;padding:4px}.react-flow__controls-button{align-items:center!important;background-color:#fff!important;border:1px solid #d9d9d9!important;border:1px solid var(--app-color-border-secondary,var(--ant-color-border,#d9d9d9))!important;display:flex!important;height:24px!important;justify-content:center!important;padding:0!important;width:24px!important}.react-flow__controls-button:hover{background-color:#f0f0f0!important;border-color:#d9d9d9!important;border-color:var(--app-color-border-secondary,var(--ant-color-border,#d9d9d9))!important}.react-flow__controls-button svg{height:14px;width:14px}.react-flow__controls .ant-space{gap:4px!important}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.kbb-layout{background-color:#f0f2f5;background-color:var(--qingfan-color-bg-layout,var(--app-color-bg-layout,#f0f2f5));display:flex;height:100%;width:100%}.kbb-sidebar{background-color:#fff;background-color:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border-right:1px solid #e0e0e0;border-right:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#e0e0e0));display:flex;flex-direction:column;flex-shrink:0;height:100%;width:50px}.kbb-layout--sidebar-right{flex-direction:row-reverse}.kbb-layout--sidebar-right .kbb-sidebar{border-left:1px solid #e0e0e0;border-left:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#e0e0e0));border-right:none}.kbb-sidebar-top{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#e0e0e0));margin-top:10px;padding:10px}.kbb-sidebar-content{flex:1 1;min-height:0;overflow-y:auto;padding:10px 0}.kbb-sidebar-bottom{border-top:1px solid #e0e0e0;border-top:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#e0e0e0));flex-direction:column;gap:16px;margin-bottom:20px;padding-top:20px}.kbb-icon,.kbb-sidebar-bottom{align-items:center;display:flex}.kbb-icon{border-radius:50%;color:#666;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#666));cursor:pointer;font-size:20px;height:40px;justify-content:center;transition:all .3s;width:40px}.kbb-icon:hover{background-color:rgba(0,0,0,.05);transform:scale(1.1)}.kbb-icon--spinning{animation:kbb-spin 1s linear infinite}@keyframes kbb-spin{to{transform:rotate(1turn)}}.kbb-board{background-color:#f0f2f5;background-color:var(--qingfan-color-bg-layout,var(--app-color-bg-layout,#f0f2f5));display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden;padding-top:10px;position:relative}.kbb-main-container{display:flex;flex:1 1;height:100%;overflow:hidden;width:100%}.kbb-title-overlay{backdrop-filter:blur(4px);background-color:color-mix(in srgb,#fff 78%,transparent);background-color:color-mix(in srgb,var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff)) 78%,transparent);border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));border-radius:20px;bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#333;color:var(--qingfan-color-text,var(--app-color-text,#333));font-size:14px;left:50%;max-width:80%;overflow:hidden;padding:8px 16px;position:fixed;text-overflow:ellipsis;transform:translateX(-50%);transition:all .3s ease;white-space:nowrap;z-index:1000}.kbb-title-overlay:hover{background-color:color-mix(in srgb,#fff 92%,transparent);background-color:color-mix(in srgb,var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff)) 92%,transparent);box-shadow:0 4px 12px rgba(0,0,0,.12)}.kbb-refresh-indicator{border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:10px;position:fixed;right:20px;top:30px;z-index:1000}.kbb-layout--sidebar-right .kbb-refresh-indicator{right:66px}.kbb-refresh-spinner{animation:kbb-spin 1s ease-in-out infinite;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--qingfan-color-primary,var(--app-color-primary,#1677ff));height:20px;width:20px}.kbb-empty,.kbb-error,.kbb-loading{align-items:center;color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));display:flex;height:100%;justify-content:center;width:100%}.kbb-error{color:#ff4d4f;color:var(--qingfan-color-error,var(--app-color-error,#ff4d4f))}.kbb-breadcrumb{color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));font-size:13px;padding:8px 16px 0}.kbb-breadcrumb a{color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.kbb-breadcrumb-sep{color:#bfbfbf;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#bfbfbf));margin:0 6px}.kbb-card-wrap{cursor:grab;margin:0;max-width:100%;width:-moz-fit-content;width:fit-content}.kbb-card-wrap .info-card{margin:var(--info-card-margin)}.kbb-card-wrap--dragging{cursor:grabbing}.kbb-card-wrap--terminal{cursor:default}.kbb-card-fanout-strip{color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));font-size:11px;margin-bottom:4px;padding:0 2px}.kbb-custom-tooltip-container{margin-bottom:6px}.kbb-tooltip-warning{color:#ff4d4f;color:var(--app-color-error,#ff4d4f);font-weight:600}.kbb-tooltip-duedate,.kbb-tooltip-priority{font-size:12px;line-height:1.5}.kbb-card-failure-tooltip{color:#cf1322;color:var(--qingfan-color-error,var(--app-color-error,#cf1322));margin-top:4px;max-width:280px;word-break:break-word}.kbb-card-fanout-badge{color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));margin-top:4px}:root{--column-width:calc(var(--info-card-width) + var(--info-card-margin)*2);--kbb-column-divider-color:var( --qingfan-color-border-secondary,#e0e0e0 )}.kbb-column-shell,.kbb-step-column-group{align-self:stretch;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;margin:0;min-height:100%;position:relative}.kbb-columns-row>.kbb-column-shell:not(:last-child),.kbb-columns-row>.kbb-step-column-group:not(:last-child){border-right:2px solid #e0e0e0;border-right:2px solid var(--kbb-column-divider-color)}.kbb-step-column-group{align-items:stretch;flex-direction:row}.kbb-step-column-group .kbb-column{margin:0}.kbb-step-column-group .kbb-column--done{border-left:2px dashed #e0e0e0;border-left:2px dashed var(--kbb-column-divider-color)}.kbb-column{align-items:center;align-self:stretch;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;margin:0;min-height:100%;min-width:calc(var(--info-card-width) + var(--info-card-margin)*2);min-width:var(--column-width);padding-bottom:35px;position:relative;width:calc(var(--info-card-width) + var(--info-card-margin)*2);width:var(--column-width)}.kbb-column-shell .kbb-column,.kbb-step-column-group .kbb-column{margin:0}.kbb-column--done .kbb-column-header{background:#fafafa;background:var(--qingfan-color-bg-layout,#fafafa)}.kbb-column-stories{align-items:center;align-self:stretch;display:flex;flex:1 1 auto;flex-direction:column;min-height:72px;overflow:visible;width:100%}.kbb-column-header{background:#e6f4ff;background:var(--qingfan-color-primary-tint,var(--app-color-primary-tint,#e6f4ff));border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));border-radius:6px;box-sizing:border-box;color:#434343;color:var(--qingfan-color-text,var(--app-color-text,#434343));margin-bottom:6px;min-width:0;padding:4px 8px;width:100%}.kbb-column-header-name-row{align-items:center;display:flex;height:24px;position:relative;width:100%}.kbb-column-header-spacer{align-items:center;display:flex;flex:1 1;justify-content:flex-start}.kbb-column-info-button{align-items:center;background:none;border:none;color:#999;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#999));cursor:pointer;display:inline-flex;font-size:14px;padding:0 4px}.kbb-column-info-button:hover{color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.kbb-column-header-title{color:#333;color:var(--qingfan-color-text,var(--app-color-text,#333));font-size:13px;font-weight:600;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.kbb-column-header-controls{align-items:center;display:flex;flex:1 1;gap:4px;justify-content:flex-end}.kbb-wip-limit{align-items:center;border-radius:3px;display:inline-flex;font-size:12px;justify-content:center;padding:0 4px}.kbb-wip-limit--exceeded{background-color:rgba(255,77,79,.1);border:1px solid #ff4d4f;border:1px solid var(--app-color-error,#ff4d4f);color:#ff4d4f;color:var(--app-color-error,#ff4d4f)}.kbb-column-add-button{align-items:center;background-color:#1677ff;background-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));border:1px solid #1677ff;border:1px solid var(--qingfan-color-primary,var(--app-color-primary,#1677ff));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);cursor:pointer;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:22px;justify-content:center;line-height:1;margin-left:2px;padding:0 6px;width:22px}.kbb-column-add-button,.kbb-column-add-button:hover{color:#fff;color:var(--qingfan-color-text-on-primary,#fff)}.kbb-column-add-button:hover{background-color:#4096ff;background-color:var(--qingfan-color-primary-hover,var(--app-color-primary-hover,#4096ff));border-color:#4096ff;border-color:var(--qingfan-color-primary-hover,var(--app-color-primary-hover,#4096ff));box-shadow:0 2px 6px rgba(0,0,0,.3)}.kbb-column-add-button:active{background-color:#0958d9;background-color:var(--qingfan-color-primary-active,var(--app-color-primary-active,#0958d9));border-color:#0958d9;border-color:var(--qingfan-color-primary-active,var(--app-color-primary-active,#0958d9));transform:translateY(1px)}.kbb-columns-row{align-items:stretch;box-sizing:border-box;display:flex;flex:1 1;flex-direction:row;min-height:0;overflow-x:auto;padding:8px 12px 24px}.kbb-columns-row--in-swimlane{flex:0 0 auto;min-height:88px;min-width:100%;overflow-x:visible;padding:6px 12px;width:-moz-max-content;width:max-content}.kbb-main-container--swimlanes .kbb-swimlane--first .kbb-columns-row--in-swimlane{padding-top:8px}.kbb-main-container--swimlanes .kbb-swimlane:last-child .kbb-columns-row--in-swimlane{padding-bottom:28px}.kbb-member-panel{width:100%}.kbb-member-list{padding:8px}.kbb-member-item{border-radius:4px;display:flex;justify-content:center;margin-bottom:8px;padding:8px 4px}.kbb-member-avatar{align-items:center;background:#f0f0f0;background:var(--qingfan-color-bg-subtle,var(--app-color-bg-subtle,#f0f0f0));border-radius:50%;box-shadow:0 0 0 1px #d9d9d9,0 1px 2px rgba(0,0,0,.06);box-shadow:0 0 0 1px var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9)),0 1px 2px rgba(0,0,0,.06);display:inline-flex;flex-shrink:0;justify-content:center;padding:2px}.theme-dark .kbb-member-avatar,html[data-qingfan-theme=dark] .kbb-member-avatar{background:color-mix(in srgb,#141414 88%,#fff 12%);background:color-mix(in srgb,var(--qingfan-color-bg-container,var(--app-color-bg-container,#141414)) 88%,#fff 12%);box-shadow:0 0 0 1px #424242;box-shadow:0 0 0 1px var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#424242))}.kbb-filter-trigger{align-items:center;background:none;border:none;color:#666;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#666));cursor:pointer;display:inline-flex;font-size:20px;justify-content:center;line-height:1;padding:0;position:relative}.kbb-filter-trigger:hover{color:#333;color:var(--qingfan-color-text,var(--app-color-text,#333))}.kbb-filter-trigger--active{color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.kbb-filter-trigger-dot{background:#1677ff;background:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));border-radius:50%;height:6px;position:absolute;right:-4px;top:-2px;width:6px}.kbb-filter-panel{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 16px);overflow:hidden;padding:12px;position:fixed;z-index:1001}.kbb-filter-panel--wide .kbb-filter-schema-editor{flex:1 1;min-height:0;overflow:auto}.kbb-filter-panel--wide .advanced-search-panel{border:none;box-shadow:none;padding:0}.kbb-filter-panel--wide .advanced-search-conditions-scrollable{max-height:320px}.kbb-filter-panel-header{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--qingfan-color-border,var(--app-color-border,#eee));display:flex;justify-content:space-between;padding-bottom:8px}.kbb-filter-panel-header strong{font-size:14px}.kbb-filter-panel-close{background:none;border:none;color:#999;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#999));cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.kbb-filter-field{display:flex;flex-direction:column;gap:4px}.kbb-filter-field-label{color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));font-size:12px;font-weight:600}.kbb-filter-search{align-items:center;border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:4px;display:flex;gap:6px;padding:4px 10px}.kbb-filter-search-icon{color:#999;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#999));font-size:14px}.kbb-filter-search-input,.kbb-filter-select{background:transparent;border:none;box-sizing:border-box;color:#333;color:var(--qingfan-color-text,var(--app-color-text,#333));font-size:13px;outline:none;width:100%}.kbb-filter-select{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:4px;padding:5px 8px}.kbb-filter-checkbox{align-items:center;color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));cursor:pointer;display:flex;font-size:13px;gap:6px}.kbb-filter-panel-footer{align-items:center;border-top:1px solid #eee;border-top:1px solid var(--qingfan-color-border,var(--app-color-border,#eee));display:flex;gap:8px;justify-content:space-between;padding-top:4px}.kbb-filter-count,.kbb-filter-hint{color:#999;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#999));font-size:12px}.kbb-filter-clear{align-items:center;background:none;border:none;color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:0}.kbb-step-info-floating{max-width:calc(100vw - 16px);position:fixed;width:280px;z-index:9999}.kbb-step-info{background-color:#fff;background-color:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;flex-direction:column;padding:12px;width:100%}.kbb-step-info-header{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--qingfan-color-border,var(--app-color-border,#eee));display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.kbb-step-info-header strong{color:#333;color:var(--qingfan-color-text,var(--app-color-text,#333));font-size:14px}.kbb-step-info-close{background:none;border:none;color:#999;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#999));cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.kbb-step-info-close:hover{color:#666;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#666))}.kbb-step-info-body{min-height:60px;white-space:pre-wrap;word-break:break-word}.kbb-step-info-body,.kbb-step-info-wip{background-color:#f5f5f5;background-color:var(--qingfan-color-bg-subtle,var(--app-color-bg-subtle,#f5f5f5));border-radius:4px;color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));font-size:12px;margin-bottom:8px;padding:8px}.kbb-step-info-wip-row{display:flex;justify-content:space-between;margin-bottom:4px}.kbb-step-info-wip-label{font-weight:600}.kbb-step-info-wip-value{color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.kbb-step-info-wip-value--exceeded{color:#ff4d4f;color:var(--app-color-error,#ff4d4f);font-weight:600}.kbb-step-info-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.kbb-step-info-field-label{color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));font-size:12px;font-weight:600}.kbb-step-info-textarea,.kbb-step-info-wip-input{background-color:#fff;background-color:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:4px;box-sizing:border-box;color:#333;color:var(--qingfan-color-text,var(--app-color-text,#333));font-family:inherit;font-size:12px;padding:6px 8px;width:100%}.kbb-step-info-textarea{min-height:72px;resize:vertical}.kbb-step-info-action{align-items:center;background-color:transparent;border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:4px;color:#595959;color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#595959));cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;width:32px}.kbb-step-info-action--primary{border-color:#1677ff;border-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.kbb-step-info-action--primary:hover:not(:disabled){background-color:#1677ff;background-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));color:#fff;color:var(--qingfan-color-text-on-primary,#fff)}.kbb-step-info-action:disabled{cursor:not-allowed;opacity:.5}.kbb-step-info-wip--preview{margin-bottom:8px}.kbb-step-info-footer{display:flex;gap:4px;justify-content:flex-end}.kbb-step-info-edit{align-items:center;background-color:transparent;border:1px solid #1677ff;border:1px solid var(--qingfan-color-primary,var(--app-color-primary,#1677ff));border-radius:4px;color:#1677ff;color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;width:32px}.kbb-step-info-edit:hover{background-color:#1677ff;background-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff));color:#fff;color:var(--qingfan-color-text-on-primary,#fff)}.kbb-swimlanes{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto;width:100%}.kbb-swimlane{background-color:#f0f2f5;background-color:var(--qingfan-color-bg-layout,var(--app-color-bg-layout,#f0f2f5));display:flex;flex:0 0 auto;flex-direction:column;position:relative;width:100%}.kbb-swimlane-content{align-self:stretch;display:flex;flex:1 1 auto;flex-direction:column;min-height:88px;min-width:0;width:100%}.kbb-swimlane:not(.kbb-swimlane--first):before{border-top:1px dashed #e0e0e0;border-top:1px dashed var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#e0e0e0));content:"";left:12px;position:absolute;right:12px;top:0;z-index:1}.kbb-swimlane--collapsed{min-height:40px}.kbb-swimlane-title-container{bottom:8px;left:20px;pointer-events:none;position:absolute;z-index:2}.kbb-swimlane-title{border:none!important;font-size:12px!important;margin:0;padding:2px 8px!important;pointer-events:auto;transition:background-color .2s}.kbb-swimlane-title--first{cursor:default}.kbb-swimlane-title--expanded,.kbb-swimlane-title--first{background-color:#1677ff!important;background-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))!important;color:#fff!important}.kbb-swimlane-title--expanded{cursor:pointer}.kbb-swimlane-title--collapsed{background-color:#8c8c8c!important;background-color:var(--qingfan-color-text-tertiary,#8c8c8c)!important;color:#fff!important;cursor:pointer}.kbb-member-hover-target{display:inline-flex;line-height:0}.kbb-member-tooltip-email{color:rgba(0,0,0,.65);color:var( --app-color-text-secondary,var(--ant-color-text-secondary,rgba(0,0,0,.65)) );font-size:12px;word-break:break-all}.wf-run-history-modal .ant-modal-body{padding:12px 16px 16px}.wf-run-history-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.wf-run-history-loading{align-items:center;display:flex;justify-content:center;min-height:240px}.wf-run-history-subtitle{color:rgba(0,0,0,.45);color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,rgba(0,0,0,.45)));font-size:13px}.wf-run-history-body{display:flex;gap:12px;height:calc(80vh - 120px);min-height:420px}.wf-run-history-canvas{background:#fafafa;background:var(--qingfan-color-bg-muted,var(--app-color-bg-muted,#fafafa));border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));border-radius:8px;border-radius:var(--qingfan-radius-md,8px);flex:1 1;min-width:0;overflow:hidden}.wf-run-history-empty-hint{align-items:center;color:rgba(0,0,0,.45);color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,rgba(0,0,0,.45)));display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.wf-run-history-detail{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));border-radius:8px;border-radius:var(--qingfan-radius-md,8px);flex-shrink:0;overflow:auto;padding:12px;width:320px}.wf-run-history-detail,.wf-run-history-detail-title{color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)))}.wf-run-history-detail-title{font-weight:600;margin-bottom:12px}.wf-run-history-detail-empty{color:rgba(0,0,0,.45);color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,rgba(0,0,0,.45)))}.wf-attempt-lane{background:color-mix(in srgb,#fff 72%,transparent);background:color-mix(in srgb,var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff)) 72%,transparent);border:1px dashed #d9d9d9;border:1px dashed var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:8px;border-radius:var(--qingfan-radius-md,8px);box-sizing:border-box;color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));height:100%;padding:8px 12px;width:100%}.wf-attempt-lane-title{font-size:13px;font-weight:600}.wf-attempt-lane-sub{color:rgba(0,0,0,.45);color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,rgba(0,0,0,.45)));font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-run-node{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:8px;border-radius:var(--qingfan-radius-md,8px);box-sizing:border-box;color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));min-height:72px;padding:8px 10px;position:relative;width:200px}.wf-run-node--marker{border-style:dashed}.wf-run-node--activity{border-style:solid}.wf-run-node--active{box-shadow:0 0 0 2px #1677ff;box-shadow:0 0 0 2px var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.wf-run-node--selected{border-color:#1677ff;border-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.wf-run-node--failed{border-color:#ff4d4f;border-color:var(--qingfan-color-error,var(--app-color-error,#ff4d4f))}.wf-run-node--blocked{border-color:#faad14;border-color:var(--qingfan-color-warning,var(--app-color-warning,#faad14))}.wf-run-node--rejected{border-color:#9254de}.wf-run-node--abandoned{border-color:#8c8c8c;border-color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#8c8c8c))}.wf-run-node--ongoing{border-color:#1677ff;border-color:var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.wf-run-node--done{border-color:#52c41a;border-color:var(--qingfan-color-success,var(--app-color-success,#52c41a))}.wf-run-node-header{align-items:center;display:flex;gap:6px}.wf-run-node-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-run-node-pill{background:#f5f5f5;background:var(--qingfan-color-bg-subtle,var(--app-color-bg-subtle,#f5f5f5));border-radius:999px;flex-shrink:0;font-size:11px;padding:0 6px}.wf-run-node-meta,.wf-run-node-pill{color:rgba(0,0,0,.65);color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,rgba(0,0,0,.65)))}.wf-run-node-meta{display:flex;font-size:12px;gap:8px;justify-content:space-between;margin-top:6px}.wf-run-node-fanout{height:auto;margin-top:4px;padding:0}.wf-lifecycle-node{align-items:center;background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:999px;box-sizing:border-box;color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:8px 12px;position:relative;width:140px}.wf-lifecycle-node--pending{border-color:#bfbfbf;border-color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#bfbfbf))}.wf-lifecycle-node--done{border-color:#52c41a;border-color:var(--qingfan-color-success,var(--app-color-success,#52c41a))}.wf-lifecycle-node--cancelled{border-color:#ff4d4f;border-color:var(--qingfan-color-error,var(--app-color-error,#ff4d4f))}.wf-lifecycle-node--selected{box-shadow:0 0 0 2px #1677ff;box-shadow:0 0 0 2px var(--qingfan-color-primary,var(--app-color-primary,#1677ff))}.wf-lifecycle-node-label{font-size:13px;font-weight:600}.wf-lifecycle-node-sub{color:rgba(0,0,0,.45);color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,rgba(0,0,0,.45)));font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-run-history-canvas .react-flow{background:#fafafa;background:var(--qingfan-color-bg-muted,var(--app-color-bg-muted,#fafafa))}.wf-run-history-canvas .react-flow__edge-path{stroke:#b1b1b7;stroke:var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#b1b1b7))}.wf-run-history-canvas .react-flow__edge.selected .react-flow__edge-path,.wf-run-history-canvas .react-flow__edge:focus .react-flow__edge-path,.wf-run-history-canvas .react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555;stroke:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#555))}.wf-run-history-canvas .react-flow__background circle{fill:#91919a;fill:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#91919a))}.wf-run-history-canvas .react-flow__controls{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));box-shadow:0 0 2px 1px color-mix(in srgb,#000 8%,transparent);box-shadow:0 0 2px 1px color-mix(in srgb,var(--qingfan-color-text,var(--app-color-text,#000)) 8%,transparent)}.wf-run-history-canvas .react-flow__controls-button{background-color:#fff!important;background-color:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff))!important}.wf-run-history-canvas .react-flow__controls-button:hover{background-color:#f0f0f0!important;background-color:var(--qingfan-color-bg-subtle,var(--app-color-bg-subtle,#f0f0f0))!important}.wf-run-history-canvas .react-flow__controls-button svg{fill:#666;fill:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#666))}.workflow-definition-viewer-modal .ant-modal-content{display:flex;flex-direction:column;max-height:min(85vh,780px);overflow:hidden}.workflow-definition-viewer-modal .ant-modal-body{flex:1 1;min-height:0;overflow:hidden;padding:0}.workflow-definition-viewer-modal__footer{display:flex;gap:8px;justify-content:flex-end}.workflow-definition-viewer-modal__error,.workflow-definition-viewer-modal__loading{align-items:center;display:flex;justify-content:center;min-height:240px;padding:24px}.workflow-definition-viewer-modal__error{color:#cf1322;color:var(--app-color-error,#cf1322)}.workflow-editor-shell--modal{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.workflow-editor-shell--modal .workflow-editor-tabs,.workflow-editor-shell--modal .workflow-editor-tabs>.ant-tabs-content-holder{flex:1 1;min-height:0;overflow:hidden}.workflow-editor-shell--modal .workflow-editor-tabs .ant-tabs-content{height:100%;min-height:0}.workflow-editor-shell--modal .workflow-editor-tabs .ant-tabs-tabpane-active{height:100%;min-height:0;overflow:hidden}.workflow-editor-shell--modal .workflow-editor-tab-panel{flex:1 1;min-height:0;overflow:hidden}.workflow-editor-shell--modal .workflow-editor-tab-panel--meta{overflow-y:auto}.workflow-editor-tab-panel--workflow-only{flex:1 1;min-height:0}.workflow-editor-shell--modal .workflow-editor-tab-panel--workflow-only .workflow-editor-workflow-main{flex:1 1;min-height:0;width:100%}.workflow-editor-shell--modal .workflow-editor-workflow-body{flex:1 1;max-height:100%;min-height:0;overflow:hidden}.workflow-editor-shell--modal .workflow-editor-workflow-graph>.wf-def-graph-panel{min-height:0}.workflow-editor-shell--modal .workflow-editor-step-panel{max-height:100%;overflow:hidden}.dashboard-content-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;width:100%}.dashboard-main-content{flex:1 1;overflow:hidden}.dashboard-main-content,.workflow-editor-page{display:flex;flex-direction:column;min-height:0}.workflow-editor-page{height:100%}.workflow-editor-toolbar{align-items:center;border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.workflow-editor-toolbar-left{align-items:center;display:flex;gap:12px}.workflow-editor-title{color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));font-size:16px;font-weight:600}.workflow-editor-toolbar-actions{align-items:center;display:flex}.workflow-editor-tabs{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.workflow-editor-tabs>.ant-tabs-nav{flex-shrink:0;margin:0;padding:0 16px}.workflow-editor-tabs>.ant-tabs-content-holder{flex:1 1;min-height:0;overflow:hidden}.workflow-editor-tabs .ant-tabs-content{display:flex;flex-direction:column;height:100%}.workflow-editor-tabs .ant-tabs-tabpane{height:100%;min-height:0}.workflow-editor-tabs .ant-tabs-tabpane-active{display:flex!important;flex-direction:column}.workflow-editor-tab-panel{height:100%;min-height:0;overflow:hidden}.workflow-editor-tab-panel--meta{overflow:auto;padding:16px}.workflow-editor-tab-panel--workflow{display:flex;flex:1 1;min-height:0}.workflow-editor-workflow-main{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;overflow:hidden;padding:16px}.workflow-editor-workflow-body{align-items:stretch;display:flex;flex:1 1;gap:12px;min-height:0;overflow:hidden}.workflow-editor-workflow-graph{gap:8px;min-width:0;overflow:hidden}.workflow-editor-workflow-graph,.workflow-editor-workflow-graph>.wf-def-graph-panel{display:flex;flex:1 1;flex-direction:column;min-height:0}.workflow-editor-workflow-graph>.wf-def-graph-panel .wf-def-graph-canvas{flex:1 1;height:auto;min-height:200px}.workflow-editor-workflow-graph>.wf-def-graph-panel .wf-def-graph-canvas .react-flow{height:100%;width:100%}.workflow-editor-workflow-graph>.workflow-definition-diff{flex-shrink:0;max-height:32%;overflow:auto}.workflow-editor-step-panel{align-self:stretch;background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden;padding:12px;width:320px}.workflow-editor-step-panel-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.workflow-editor-step-panel-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px}.workflow-editor-step-panel-title{color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));font-size:14px;font-weight:600}.workflow-editor-step-panel-form .ant-form-item{margin-bottom:12px}.workflow-editor-step-hint{align-items:center;align-self:stretch;background:#fafafa;background:var(--qingfan-color-bg-muted,var(--app-color-bg-muted,#fafafa));border:1px dashed #e8e8e8;border:1px dashed var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#e8e8e8));border-radius:8px;color:#8c8c8c;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#8c8c8c));display:flex;flex-shrink:0;font-size:13px;justify-content:center;overflow:auto;padding:16px;text-align:center;width:280px}.workflow-editor-tab-workflow-label{align-items:center;display:inline-flex;gap:6px}.workflow-editor-tab-draft-tag{font-size:12px;line-height:18px;margin:0!important}.workflow-editor-chat{align-self:stretch;border-left:1px solid #f0f0f0;border-left:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden;width:400px}.workflow-editor-chat .ai-chat-container{height:100%!important}.workflow-definition-section-title{color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));font-size:14px;font-weight:600;margin-bottom:8px}.workflow-definition-empty{color:#999;color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#999));padding:8px 0}.workflow-editor-empty,.workflow-editor-loading{align-items:center;display:flex;flex:1 1;height:100%;justify-content:center;min-height:0;padding:48px}.workflow-definition-diff,.workflow-definition-preview{margin-top:16px}.workflow-definition-meta{margin-bottom:8px}.wf-def-graph-panel{background:#fafafa;background:var(--qingfan-color-bg-layout,var(--app-color-bg-layout,#fafafa));border:1px solid #f0f0f0;border:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));border-radius:8px;min-height:320px;overflow:hidden}.wf-def-graph-title{align-items:center;background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));display:flex;flex-wrap:wrap;font-weight:600;gap:12px;justify-content:space-between;padding:8px 12px}.wf-def-graph-legend{align-items:center;display:flex;font-size:12px;font-weight:400;gap:10px}.wf-def-graph-legend-item{align-items:center;color:rgba(0,0,0,.65);color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,rgba(0,0,0,.65)));display:inline-flex;gap:4px}.wf-def-graph-legend-item:before{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:2px;content:"";height:10px;width:10px}.wf-def-graph-legend--added:before{border-color:#52c41a;border-color:var(--app-color-success,#52c41a);box-shadow:0 0 0 1px color-mix(in srgb,#52c41a 20%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--app-color-success,#52c41a) 20%,transparent)}.wf-def-graph-legend--modified:before{border-color:#faad14;border-color:var(--app-color-warning,#faad14);box-shadow:0 0 0 1px color-mix(in srgb,#faad14 20%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--app-color-warning,#faad14) 20%,transparent)}.wf-def-graph-legend--same:before{border-color:#d9d9d9;border-color:var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9))}.wf-def-graph-legend--removed:before{border-color:#ff4d4f;border-color:var(--app-color-error,#ff4d4f);border-style:dashed;opacity:.75}.wf-def-graph-canvas{height:320px;width:100%}.wf-def-graph-canvas--with-removed{height:380px}.wf-def-graph-panel--diff{margin-top:8px}.wf-def-graph-removed-hint{border-top:1px solid #f0f0f0;border-top:1px solid var(--qingfan-color-border,var(--app-color-border,#f0f0f0));color:rgba(0,0,0,.45);color:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,rgba(0,0,0,.45)));padding:6px 12px 10px}.wf-def-graph-node,.wf-def-graph-removed-hint{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));font-size:12px}.wf-def-graph-node{border:1px solid #d9d9d9;border:1px solid var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9));border-radius:8px;box-sizing:border-box;color:rgba(0,0,0,.88);color:var(--qingfan-color-text,var(--app-color-text,rgba(0,0,0,.88)));padding:6px 10px;width:180px}.wf-def-graph-node-title{font-weight:600;line-height:1.2;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-def-graph-node-sub{align-items:center;display:flex;gap:6px}.wf-def-graph-node-sub-pill{background:rgba(0,0,0,.04);background:var(--qingfan-color-bg-subtle,var(--app-color-bg-subtle,rgba(0,0,0,.04)));border-radius:999px;color:rgba(0,0,0,.65);color:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,rgba(0,0,0,.65)));font-size:11px;padding:2px 8px}.wf-def-graph-node--end,.wf-def-graph-node--start{border-color:#d9d9d9;border-color:var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9))}.wf-def-graph-node--end,.wf-def-graph-node--start,.wf-def-graph-node--step{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff))}.wf-def-graph-node--step{border-width:1px}.wf-def-graph-node--added{border-color:#52c41a;border-color:var(--app-color-success,#52c41a);box-shadow:0 0 0 2px color-mix(in srgb,#52c41a 8%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--app-color-success,#52c41a) 8%,transparent)}.wf-def-graph-node--removed{border-color:#ff4d4f;border-color:var(--app-color-error,#ff4d4f);border-style:dashed;box-shadow:none;opacity:.72;text-decoration:line-through}.wf-def-graph-node--modified{border-color:#faad14;border-color:var(--app-color-warning,#faad14);box-shadow:0 0 0 2px color-mix(in srgb,#faad14 8%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--app-color-warning,#faad14) 8%,transparent)}.wf-def-graph-node--same{border-color:#d9d9d9;border-color:var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#d9d9d9))}.wf-def-graph-panel--interactive .wf-def-graph-node--step{cursor:pointer}.wf-def-graph-panel--interactive .wf-def-graph-node--step:hover{box-shadow:0 2px 8px color-mix(in srgb,#000 8%,transparent);box-shadow:0 2px 8px color-mix(in srgb,var(--qingfan-color-text,var(--app-color-text,#000)) 8%,transparent)}.wf-def-graph-node--selected{outline:2px solid color-mix(in srgb,#1677ff 35%,transparent);outline:2px solid color-mix(in srgb,var(--app-color-primary,#1677ff) 35%,transparent)}.wf-def-graph-canvas .react-flow{background:#fafafa;background:var(--qingfan-color-bg-layout,var(--app-color-bg-layout,#fafafa))}.wf-def-graph-canvas .react-flow__edge-path{stroke:#b1b1b7;stroke:var(--qingfan-color-border-secondary,var(--app-color-border-secondary,#b1b1b7))}.wf-def-graph-canvas .react-flow__edge.selected .react-flow__edge-path,.wf-def-graph-canvas .react-flow__edge:focus .react-flow__edge-path,.wf-def-graph-canvas .react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555;stroke:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#555))}.wf-def-graph-canvas .react-flow__background circle{fill:#91919a;fill:var(--qingfan-color-text-tertiary,var(--app-color-text-tertiary,#91919a))}.wf-def-graph-canvas .react-flow__controls{background:#fff;background:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff));box-shadow:0 0 2px 1px color-mix(in srgb,#000 8%,transparent);box-shadow:0 0 2px 1px color-mix(in srgb,var(--qingfan-color-text,var(--app-color-text,#000)) 8%,transparent)}.wf-def-graph-canvas .react-flow__controls-button{background-color:#fff!important;background-color:var(--qingfan-color-bg-container,var(--app-color-bg-container,#fff))!important}.wf-def-graph-canvas .react-flow__controls-button:hover{background-color:#f0f0f0!important;background-color:var(--qingfan-color-bg-subtle,var(--app-color-bg-subtle,#f0f0f0))!important}.wf-def-graph-canvas .react-flow__controls-button svg{fill:#666;fill:var(--qingfan-color-text-secondary,var(--app-color-text-secondary,#666))}