.process-workspace{display:grid;grid-template-columns:214px minmax(0,1fr);border:1px solid #fff;border-radius:18px;background:#f5faff99;overflow:hidden;min-height:620px;color:#233247}
.process-nav{padding:17px 10px;background:#e2edf4a6;border-right:1px solid #c8d6df;min-width:0}
.process-nav-heading{display:flex;justify-content:space-between;font-weight:600;font-size:12px;color:#536879;padding:4px 12px 12px}
.process-reference-heading{border-top:1px solid #c8d6df;margin-top:18px;padding-top:18px}
.process-nav-item{width:100%;border:0;background:transparent;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:12px;color:#36516a;line-height:1.5;font-size:13px}
.process-nav-item small{white-space:nowrap;font-size:10px;color:#536879;font-variant-numeric:tabular-nums}
.process-nav-item:hover{background:#f6fbff}
.process-nav-item.active{background:#233850;color:#f7fbff}
.process-nav-item.active small{color:#d8e5f2}
.process-main{min-width:0;display:flex;flex-direction:column}
.process-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px 12px}
.process-heading h2{margin:0;font-size:19px;font-weight:600;color:#233247}
.process-heading p{margin:6px 0 0;color:#536879;font-size:12px}
.process-heading .segment{flex-shrink:0}
.process-purpose{padding:0 22px 12px;color:#536879;font-size:12px}
.process-purpose summary{cursor:pointer;width:max-content}
.process-purpose p{line-height:1.9;max-width:75ch;margin:10px 0}
.process-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #c8d6df;border-bottom:1px solid #c8d6df;background:#eff6fb}
.process-canvas-toolbar>span{color:#536879;font-size:11px}
.process-canvas-toolbar>div{display:flex;gap:5px;align-items:center}
.process-canvas-toolbar output{min-width:42px;text-align:center;color:#405a70;font-size:12px;font-variant-numeric:tabular-nums}
.process-canvas-toolbar .btn{min-height:32px}
.process-canvas{height:520px;min-height:360px;position:relative;overflow:auto;background:#f8fbfd;cursor:grab;scrollbar-color:#9cb3c4 #e6eef4}
.process-canvas:active{cursor:grabbing}
.process-loading,.process-error{padding:34px;color:#536879;text-align:center}
.process-error{color:#984636}
.process-pending{border:0;background:transparent;color:#856329;font-size:12px;padding:0 0 0 14px;text-decoration:underline;text-underline-offset:3px}
.process-pending-label{color:#856329;background:#f5eddf;padding:4px 8px;border-radius:5px;font-size:11px;white-space:nowrap}
.process-node-list{padding:0 22px 20px}
.process-node-list>button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;width:100%;border:0;border-top:1px solid #c8d6df;background:transparent;padding:17px 0;color:#29445d}
.process-node-list>button:hover{background:#f6fbff}
.process-node-list>button>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.process-node-list>button>div:last-child{display:flex;align-items:center;gap:12px}
.process-node-list b{font-size:14px;font-weight:600;line-height:1.65}
.process-node-list span{color:#536879;font-size:12px;line-height:1.6}
.process-node-list .process-node-code{font-size:10px;color:#536879}
.process-node-list .process-pending-label{color:#856329}
.process-node-context{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid #c8d6df;color:#536879;font-size:12px}
.process-node-context span{color:#536879;font-variant-numeric:tabular-nums}
.process-subjects{display:flex;gap:7px;flex-wrap:wrap}
.process-subject{display:inline-block;background:#e5edf3;color:#34556f;padding:5px 9px;border-radius:5px;font-size:12px;line-height:1.6}
.process-unmatched{color:#856329;background:#f5eddf;padding:12px;border-radius:8px;line-height:1.8;font-size:12px}
.process-execution-mode{color:#536879;margin-top:22px;font-size:12px}
.process-original{border-top:1px solid #c8d6df;padding-top:17px;margin-top:26px;font-size:12px;color:#536879;line-height:1.8}
.process-original summary{cursor:pointer;font-weight:600}
.process-source-info h3{font-size:15px;overflow-wrap:anywhere;margin:0 0 8px}
.process-source-info p{font-size:12px;color:#536879}
.process-detail .detail-section ul{padding-left:20px;font-size:13px;line-height:1.9;color:#3b536b}
.process-mapping-list>div{padding:14px 0;border-bottom:1px solid #c8d6df}
.process-mapping-list small{display:block;line-height:1.8;color:#536879;margin-bottom:10px}
.process-detail .process-node-list{padding:0}
.process-detail .modal-header h2{font-size:21px;line-height:1.6;max-width:42ch}
.process-workspace.expanded{position:fixed;inset:14px;z-index:40;background:#eaf3f9;box-shadow:0 20px 60px #20395438}
.process-workspace.expanded .process-main{min-height:0}
.process-workspace.expanded .process-canvas{flex:1;height:auto}
@media(max-width:1100px){.process-workspace{grid-template-columns:184px minmax(0,1fr)}.process-canvas-toolbar>span{display:none}.process-canvas-toolbar{justify-content:flex-end}.process-heading{align-items:flex-start;flex-direction:column}.process-nav-item{padding:10px;font-size:12px}}
@media(max-width:700px){.process-workspace{display:block;min-height:0}.process-nav{border-right:0;border-bottom:1px solid #c8d6df;display:flex;overflow:auto;gap:7px;padding:12px}.process-nav-heading{display:none}.process-nav-item{width:auto;flex-shrink:0;max-width:210px;white-space:nowrap;background:#eef6fb}.process-heading{padding:18px 16px 12px}.process-heading h2{font-size:18px}.process-purpose{padding:0 16px 12px}.process-canvas{height:430px}.process-canvas-toolbar{padding:8px;justify-content:center}.process-canvas-toolbar>div{gap:3px;flex-wrap:wrap}.process-canvas-toolbar .btn{font-size:11px}.process-node-list{padding:0 16px 14px}.process-node-list>button{gap:10px}.process-node-list>button>div:last-child{flex-direction:column}.process-workspace.expanded{inset:5px;display:flex;flex-direction:column}.process-workspace.expanded .process-main{flex:1}.process-detail .modal-header h2{font-size:18px}.process-nav-item small{display:none}}

.process-difference-count{margin-left:12px;color:#856329}.process-unmatched p{margin:6px 0 0}.process-node-list>button>div:last-child{flex-wrap:wrap;justify-content:flex-end}

.process-canvas-toolbar select{width:230px;max-width:45%;min-width:100px;min-height:34px;background:#fbfdff;border:1px solid #c6d5df;border-radius:8px;color:#405a70;font:inherit;font-size:12px;padding:6px 10px;text-overflow:ellipsis}
.process-location{margin:0;padding:8px 14px;background:#eff6fb;color:#536879;font-size:12px;line-height:1.6;border-bottom:1px solid #c8d6df;overflow-wrap:anywhere}
.process-location:empty{display:none}
@media(max-width:1100px){.process-canvas-toolbar{justify-content:space-between}}
@media(max-width:700px){.process-canvas-toolbar{flex-wrap:wrap;justify-content:center}.process-canvas-toolbar select{max-width:100%;width:100%}}

/* The editor inherits the shared mist-blue shell; the diagram remains a clear work surface. */
.workspace:has(.flow-editor) .workspace-footer{display:none}
main:has(.flow-editor){padding:20px 24px 18px;max-width:none;min-height:0}
.fe-page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.fe-page-heading>div{display:flex;align-items:baseline;gap:16px;min-width:0}
.fe-page-heading h1{font-size:26px;line-height:1.4;letter-spacing:-.4px;font-weight:600;margin:0;color:var(--ink)}
.fe-page-heading span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-editor{--fe-line:var(--line);--fe-ink:var(--ink);--fe-muted:var(--muted);--fe-blue:#365d81;--fe-chrome:#f3f9fdba;display:flex;flex-direction:column;height:calc(100dvh - 194px);min-height:560px;background:#f5faff99;border:1px solid #fff;border-radius:18px;overflow:hidden;color:var(--fe-ink);position:relative;font-family:inherit}
.flow-editor.is-expanded{position:fixed;inset:14px;z-index:40;height:auto;min-height:0;background:#eaf3f9;box-shadow:0 20px 60px #20395438}
.flow-editor button{cursor:pointer}
.flow-editor .btn{border-radius:10px;font-size:12px;min-height:34px;border-color:#fff;background:#f6fbffb3;color:#344c62}
.flow-editor .btn:hover{background:#fff}
.flow-editor .btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.flow-editor .btn.primary:hover{background:#354863}
.flow-editor :focus-visible{outline:2px solid var(--fe-blue);outline-offset:2px}
.flow-editor ::selection{background:#bfd2e5;color:#15243a}
.flow-editor ::-webkit-scrollbar{width:7px;height:7px}
.flow-editor ::-webkit-scrollbar-thumb{background:#b7c7d5;border-radius:6px}
.flow-editor ::-webkit-scrollbar-track{background:transparent}
.fe-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--fe-line);min-height:62px;background:var(--fe-chrome)}
.fe-flow-picker{display:flex;align-items:center;gap:10px;min-width:100px;flex:1;color:var(--fe-blue)}
.fe-flow-picker select{border:0;background:transparent;font-family:inherit;font-size:17px;font-weight:650;color:var(--fe-ink);max-width:300px;width:100%;padding:6px 22px 6px 0;text-overflow:ellipsis}
.fe-header-actions{display:flex;align-items:center;gap:10px}
.fe-header-actions>.btn{padding:6px 15px}
.fe-save-state{font-size:11px;color:var(--fe-muted);white-space:nowrap}
.fe-save-state.is-dirty{color:#8b601a}
.fe-switch{display:inline-flex;align-items:center;padding:4px;gap:2px;background:#dce8f080;border:1px solid #ffffffb3;border-radius:12px;flex-shrink:0}
.fe-switch button{font-size:12px;font-weight:500;line-height:1.5;font-family:inherit;border:0;border-radius:8px;padding:5px 9px;background:transparent;color:var(--fe-muted);white-space:nowrap;display:flex;align-items:center;gap:5px}
.fe-switch button.active{background:#f8fcff;color:var(--fe-ink);box-shadow:0 3px 8px #243f5910}
.fe-switch button:hover{color:var(--fe-blue)}
.fe-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--fe-line);min-height:48px;background:var(--fe-chrome);z-index:5}
.fe-tools,.fe-zoom{display:flex;align-items:center;gap:4px}
.fe-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;font-family:inherit;font-weight:500;font-size:12px;line-height:1.5;border:0;border-radius:8px;padding:5px 8px;background:transparent;color:#38546e;white-space:nowrap}
.fe-tool:hover{background:#dce8f0;color:var(--fe-blue)}
.fe-tool:disabled,.flow-editor button:disabled{opacity:.4;cursor:default}
.fe-divider{height:18px;width:1px;background:var(--fe-line);margin:0 5px}
.fe-find{position:relative;width:250px;max-width:32%;min-width:150px}
.fe-find>label{display:flex;align-items:center;gap:8px;background:#f7fbffa3;border:1px solid #c6d5df;border-radius:10px;padding:0 10px;color:#5d7385;min-height:34px}
.fe-find:focus-within>label{border-color:#819ab4;background:#fbfdff}
.fe-find input{border:0;outline:0!important;box-shadow:none!important;background:transparent;color:var(--fe-ink);font-size:12px;line-height:1.5;padding:6px 0;min-width:0;width:100%;caret-color:var(--fe-blue)}
.fe-find input::placeholder{color:#607488}
.fe-find-results{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-width:calc(100vw - 56px);max-height:350px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 28px #19364b2b;padding:6px}
.fe-find-results[hidden]{display:none}
.fe-search-heading{font-size:11px;color:#607488;padding:8px 10px;border-bottom:1px solid #e6ecf1;margin-bottom:4px}
.fe-find-results button{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px;border:0;background:transparent;border-radius:5px;color:#25455f;font-size:12px;line-height:1.6;text-align:left;width:100%}
.fe-find-results button:hover,.fe-find-results button:focus-visible{background:#edf5fb}
.fe-find-results button small{flex-shrink:0;color:#64788b;font-size:10px}
.fe-find-results p{font-size:12px;line-height:1.7;color:#607488;padding:10px}
.fe-stage-wrap{position:relative;z-index:4;flex-shrink:0}
.fe-stages{display:flex;align-items:stretch;gap:0;background:#e6f0f6b3;border-bottom:1px solid var(--fe-line);min-height:52px;overflow:auto;scrollbar-width:thin;flex-shrink:0}
.fe-stages>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:88px;color:var(--fe-muted);font-size:11px}
.fe-stages button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:150px;padding:11px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:#4c6478;white-space:nowrap}
.fe-stages button+button:before{content:'';position:absolute;left:-3px;top:calc(50% - 3px);width:6px;height:6px;transform:rotate(-45deg);border-right:1px solid #8ea8bb;border-bottom:1px solid #8ea8bb;pointer-events:none}
.fe-stages button>svg{flex-shrink:0;opacity:.7}
.fe-stages button b{font-size:12px;font-weight:500}
.fe-stages button small{font-size:10px;font-variant-numeric:tabular-nums;color:#526d82}
.fe-stage-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:21px;height:21px;border:1px solid #b8cddd;border-radius:6px;color:#526d82;font-size:10px;font-variant-numeric:tabular-nums;background:#f1f7fb}
.fe-stages button:hover{background:#f6fbffa6}
.fe-stages button[aria-pressed=true]{color:#233850;background:#f5faffcc;border-bottom-color:#365d81}
.fe-stages button[aria-pressed=true] b{font-weight:600}
.fe-stages button[aria-pressed=true] .fe-stage-number{background:#233850;color:#f7fbff;border-color:#233850}
.fe-stages .fe-stage-manage{flex:0 0 auto;min-width:44px;padding:8px 10px;border-left:1px solid var(--fe-line)}
.fe-stages .fe-stage-manage:before{display:none}
.fe-body{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}
.fe-canvas{position:relative;flex:1;min-width:0;overflow:hidden;touch-action:none;outline:none;user-select:none;background:#fbfdff}
.fe-canvas[data-mode=pan],.fe-canvas.is-panning{cursor:grab}
.fe-canvas:active{cursor:grabbing}
.fe-svg{display:block;width:100%;height:100%;overflow:hidden;isolation:isolate}
.fe-node{cursor:pointer;outline:none;--node-fill:#fbfdff;--node-stroke:#90adc4;--node-ink:#29465f}
.fe-canvas[data-mode=select] .fe-node{cursor:move}
.fe-node>rect,.fe-node>polygon{fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:1.2}
.fe-node:hover>rect,.fe-node:hover>polygon{stroke:#365d81;stroke-width:2}
.fe-node.is-selected>rect,.fe-node.is-selected>polygon,.fe-node:focus-visible>rect,.fe-node:focus-visible>polygon{stroke:#365d81;stroke-width:2.8;fill:#e8f2f9}
.fe-node.is-related:not(.is-selected)>rect,.fe-node.is-related:not(.is-selected)>polygon{stroke:#507e9f;stroke-width:2}
.fe-node.is-dimmed,.fe-region.is-dimmed{opacity:.22}
.fe-canvas[data-mode=pan] .fe-node.is-dimmed{filter:grayscale(.7)}
.fe-node text{fill:var(--node-ink);pointer-events:none;font-family:inherit}
.fe-node-title{font-size:14px;font-weight:550}
.fe-node-code{font-size:10px;font-weight:500;fill:#61778b!important}
.fe-node-type{font-size:9px;fill:#61778b!important}
.fe-terminal-title{font-size:14px;font-weight:550}
.fe-decision-label{font-size:13px;font-weight:600}
.fe-decision-code{font-size:9px;fill:#61778b!important}
.fe-subprocess-line{stroke:var(--node-stroke);fill:none}
.fe-edge{cursor:pointer;outline:none}
.fe-edge-hit{stroke:transparent;stroke-width:16;fill:none}
.fe-edge-halo{stroke:#fff;stroke-width:5;fill:none;stroke-linejoin:round;pointer-events:none}
.fe-edge-line{stroke:#72899b;stroke-dasharray:none;stroke-width:1.5;fill:none;stroke-linejoin:round}
.fe-bridges{pointer-events:none}
.fe-bridges .fe-edge-line{stroke-dasharray:none}
.fe-edge.is-muted{opacity:.25}
.fe-edge.is-selected .fe-edge-line,.fe-edge:focus-visible .fe-edge-line,.fe-edge:hover .fe-edge-line{stroke:#72899b;stroke-width:2.4}
.fe-edge text{font-family:inherit;font-size:11px;fill:#344d62}
.fe-condition-target{font-size:10px!important;fill:#667f91!important}
.fe-condition.is-missing text{fill:#89621f}
.fe-condition.is-return rect{stroke:#b0bbc5}
.fe-condition.is-branch rect{fill:#fff;stroke:#c5d4df}
.fe-edge rect{fill:#fff;stroke:#dce4ec;stroke-width:.6}
.fe-condition.is-selected rect,.fe-condition:hover rect,.fe-condition:focus-visible rect{fill:#e8f2f9;stroke:#365d81}
.fe-open-end{fill:#fff8e8;stroke:#a77d3d;stroke-width:2}
.fe-region{fill:#fff5e1;stroke:#b18e52;stroke-width:1.2}
.fe-region text{stroke:none;fill:#896126;font:10px sans-serif}
.fe-lane-bg{fill:#fbfdff}
.fe-lane-bg.is-alternate{fill:#eff5f9}
.fe-lane-separator{stroke:#d3e0e9;stroke-width:1}
.fe-arrow{fill:#72899b}
.fe-arrow.is-active,.fe-arrow-active{fill:#72899b}
.fe-route-handle{cursor:move;outline:none;touch-action:none}
.fe-route-hit{fill:transparent;stroke:none;pointer-events:all}
.fe-route-dot{fill:#fff;stroke:#507e9f;stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:none}
.fe-route-handle:hover .fe-route-dot,.fe-route-handle:focus-visible .fe-route-dot{fill:#e4eef6;stroke:#365d81;stroke-width:2}
.fe-stage-band{fill:#dce9f326;stroke:#c2d4e3;stroke-width:1;stroke-dasharray:4 5;pointer-events:none}
.fe-stage-labels{position:absolute;inset:0 0 auto;height:34px;overflow:hidden;pointer-events:none;z-index:2}
.fe-stage-label{position:absolute;top:0;display:flex;align-items:center;gap:8px;height:34px;padding:6px 12px;background:#e7f0f7f2;color:#3e5b74;border:0;border-right:1px solid #c2d4e3;border-bottom:1px solid #c2d4e3;font-family:inherit;font-size:11px;line-height:1.5;text-align:left;white-space:nowrap;overflow:hidden;pointer-events:auto}
.fe-stage-label b{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.fe-stage-label .fe-stage-number{min-width:19px;height:19px;font-size:9px}
.fe-stage-label small{margin-left:auto;font-size:10px;color:#526d82;font-variant-numeric:tabular-nums}
.fe-stage-label:hover,.fe-stage-label[aria-pressed=true]{background:#dbe9f3;color:#233850}
.fe-lane-heads{position:absolute;inset:0 auto 0 0;width:140px;pointer-events:none;overflow:hidden}
.fe-lane-head{position:absolute;left:0;width:100%;border:0;border-right:1px solid #c5d6e3;border-bottom:1px solid #d3e0e9;background:#e7f0f6;text-align:left;padding:14px 12px;color:#304e67;display:flex;justify-content:center;flex-direction:column;gap:8px;pointer-events:auto;overflow:hidden}
.fe-lane-head:hover{background:#e4edf5}
.fe-lane-label{flex-shrink:0;min-width:0;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.5}.fe-lane-label b{font-weight:600;overflow-wrap:normal}.fe-lane-label small{font-size:10px;font-weight:400;line-height:1.5}
.fe-lane-head .fe-word{white-space:nowrap}
.fe-lane-head small{font-size:10px;color:#5b7287}
.fe-lane-head.is-compact{padding:4px 10px;gap:0}
.fe-lane-head.is-compact .fe-lane-label b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fe-minimap{position:absolute;right:12px;bottom:12px;width:136px;height:66px;background:#fffffff2;border:1px solid #c9d5df;border-radius:5px;cursor:crosshair}
.fe-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 12px;background:var(--fe-chrome);border-top:1px solid var(--fe-line);min-height:42px}
.fe-flow-summary{display:flex;align-items:center;gap:12px;font-size:11px;color:#52677b;white-space:nowrap}
.fe-flow-summary button{border:0;background:transparent;color:#89601e;font-size:11px;padding:4px 0}
.fe-zoom output{font-size:11px;color:#415f75;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.fe-zoom [aria-label=缩小] span,.fe-zoom [aria-label=放大] span{display:none}
.fe-more{position:relative;line-height:0}
.fe-more summary{list-style:none;cursor:pointer;padding:7px;border-radius:5px}
.fe-more summary::-webkit-details-marker{display:none}
.fe-more>div{position:absolute;bottom:36px;right:0;display:flex;flex-direction:column;gap:3px;background:#fff;box-shadow:0 8px 24px #243f5929;border-radius:8px;padding:7px;z-index:6;min-width:160px}
.fe-more .btn{border:0;justify-content:flex-start;line-height:1.5}
.fe-notice{padding:8px 16px;background:#fff6e5;color:#785827;font-size:12px;line-height:1.5;border-bottom:1px solid #e8d9b8}
.fe-notice[hidden]{display:none}
.fe-inspector{width:380px;flex-shrink:0;background:#f2f8fce6;border-left:1px solid var(--fe-line);display:flex;flex-direction:column;min-height:0;z-index:3}
.fe-inspector[hidden]{display:none}
.fe-inspector>header{padding:11px 18px;display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid var(--fe-line);background:#eaf3f9}
.fe-inspector h2{font-size:13px;font-weight:600;margin:0;color:#52677b}
.fe-inspector [aria-label=返回画布] span{display:none}
.fe-read-content{flex:1;overflow:auto;padding:20px 22px 28px;scrollbar-width:thin;scrollbar-color:#b7c7d5 transparent}
.fe-node-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#607488;margin-bottom:10px}
.fe-node-context>span{background:#eef3f7;padding:3px 6px;border-radius:3px;color:#49677f}
.fe-node-context>small{font-size:10px;margin-left:auto}
.fe-read-content h3{font-size:20px;line-height:1.55;font-weight:600;letter-spacing:0;color:#243e57;margin:0 0 20px;overflow-wrap:anywhere}
.fe-read-content h4{font-size:12px;font-weight:600;line-height:1.5;color:#52677b;margin:0 0 9px}
.fe-read-roles{display:grid;grid-template-columns:32px 1fr;align-items:start;gap:10px 12px;border-bottom:1px solid #e3e9ee;padding-bottom:20px}
.fe-read-roles h4{padding-top:5px;margin:0;font-size:11px}
.fe-read-roles>div{display:flex;flex-wrap:wrap;gap:5px}
.fe-role-support{grid-column:1/-1;font-size:11px;line-height:1.7;color:#52677b}.fe-role-support summary{cursor:pointer}.fe-role-support>div{display:flex;flex-wrap:wrap;gap:5px;padding-top:10px}
.fe-read-roles span{font-size:11px;line-height:1.6;background:#edf4f9;color:#335b78;padding:4px 7px;border-radius:4px}
.fe-read-section{margin-top:24px}
.fe-read-content:has(.fe-decision-branches) h3{margin-bottom:12px}
.fe-decision-branches{margin-top:8px}
.fe-decision-branches .fe-next-list button{padding:8px 0}
.fe-decision-branches+.fe-read-roles{margin-top:20px}
.fe-read-section p{font-size:13px;line-height:1.85;color:#2f4a62;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.fe-description-list{margin:0;padding-left:19px;font-size:13px;line-height:1.85;color:var(--fe-ink);overflow-wrap:anywhere;list-style:disc}
.fe-description-list li+li{margin-top:9px}
.fe-description-list li::marker{color:var(--fe-muted)}
.fe-source-difference{margin-top:14px;font-size:11px;line-height:1.8;color:var(--fe-muted)}
.fe-source-difference summary{cursor:pointer}
.fe-source-difference summary span{margin-left:6px;font-size:10px}
.fe-source-difference p{margin:10px 0;overflow-wrap:anywhere}
.fe-source-difference dl{margin:0;padding:0 0 12px;border-bottom:1px solid var(--fe-line);display:grid;gap:9px}
.fe-source-difference dt{font-size:10px}
.fe-source-difference dd{margin:2px 0 0;font-size:12px;color:var(--fe-ink);overflow-wrap:anywhere}
.fe-read-section.fe-completion{background:#f0f6fa;padding:14px 15px;border-radius:5px}
.fe-read-content .fe-unset{color:#64788b;background:transparent}
.fe-next-list{display:flex;flex-direction:column;gap:0}
.fe-next-list button{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;width:100%;border:0;border-bottom:1px solid #d3e0e9;padding:11px 0;text-align:left;color:#365d81;background:transparent;font-size:12px;line-height:1.7}
.fe-next-list button:hover{background:#f2f7fb}
.fe-next-list button>svg{grid-column:2;grid-row:1 / span 2;width:14px;flex-shrink:0}
.fe-branch-label{font-size:10px;color:#64788b;grid-column:1}
.fe-read-source{border-top:1px solid #dce4ec;margin-top:26px;padding-top:15px;font-size:11px;line-height:1.8;color:#607488}
.fe-read-source summary{cursor:pointer;font-size:12px}
.fe-read-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--fe-line);padding:11px 18px;background:#eaf3f9}
.fe-inspector form{min-height:0;flex:1;display:flex;flex-direction:column}
.fe-form-fields{padding:18px;overflow:auto;flex:1;scrollbar-width:thin}
.fe-inspector .field{margin-bottom:16px;gap:6px;font-size:12px;color:#52677b}
.fe-inspector .field>span{font-size:12px;color:#52677b}
.fe-inspector input,.fe-inspector textarea,.fe-inspector select{border:1px solid #c6d5df;background:#fbfdff;color:#233f56;border-radius:7px;font-size:12px;line-height:1.7;padding:8px 10px;width:100%;max-width:100%;caret-color:#365d81}
.fe-inspector textarea{resize:vertical}
.fe-inspector .pick{background:#f8fcff;border:1px solid #c6d5df;border-radius:7px}
.fe-inspector .pick summary{padding:9px;font-size:12px;line-height:1.6;color:#305670}
.fe-inspector .pick-list{position:static;max-height:220px;overflow:auto;background:#f3f7fa;border:0;box-shadow:none}
.fe-inspector .pick input{width:15px;accent-color:#365d81}
.fe-inspector .pick-list label{align-items:start;line-height:1.7;font-size:12px}
.fe-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fe-node-module-nav{position:sticky;top:-18px;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-18px -18px 18px;padding:8px 10px 0;background:#f2f8fc;border-bottom:1px solid var(--fe-line)}
.fe-node-module-nav button{min-width:0;padding:12px 2px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font-size:12px;font-weight:500;color:#526d82;white-space:nowrap}
.fe-node-module-nav button:hover{color:#1f415f;background:#e8f1f7}
.fe-node-module-nav button[aria-selected=true]{color:#233f56;border-bottom-color:#365d81;font-weight:600;background:#e8f1f7}
.fe-node-module-nav button:focus-visible{outline:2px solid #365d81;outline-offset:-3px}
.fe-node-module[hidden],.fe-node-module [hidden]{display:none}
.fe-node-module .field small{font-size:11px;line-height:1.65;color:#526d82}
.fe-node-module .fe-form-row>.field{min-width:0}
.fe-node-module .field>span>b{margin-left:4px}
.fe-tone-picker{padding:0;margin:0 0 18px;border:0;min-width:0}
.fe-tone-picker legend{padding:0;margin-bottom:10px;font-size:12px;color:#52677b}
.fe-tone-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fe-tone-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;color:#526d82;font-size:11px;--swatch-fill:#fbfdff;--swatch-border:#90adc4;--swatch-ink:#29465f}
.fe-tone-option.tone-teal{--swatch-fill:#eff8f5;--swatch-border:#8cb5a8;--swatch-ink:#25564b}
.fe-tone-option.tone-amber{--swatch-fill:#fffaf0;--swatch-border:#c4ac7a;--swatch-ink:#6e5426}
.fe-tone-option.tone-slate{--swatch-fill:#f0f3f6;--swatch-border:#aab8c6;--swatch-ink:#3d5268}
.fe-inspector .fe-tone-option input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;inset:0}
.fe-tone-swatch{width:100%;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--swatch-border);border-radius:7px;background:var(--swatch-fill);color:var(--swatch-ink)}
.fe-tone-swatch svg{visibility:hidden}
.fe-tone-option:has(input:checked){font-weight:600;color:var(--swatch-ink)}
.fe-tone-option input:checked+.fe-tone-swatch{border:2px solid var(--swatch-ink)}
.fe-tone-option input:checked+.fe-tone-swatch svg{visibility:visible}
.fe-tone-option input:focus-visible+.fe-tone-swatch{outline:2px solid #365d81;outline-offset:3px}
.fe-tone-option:hover .fe-tone-swatch{border-color:var(--swatch-ink)}
.fe-stage-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:12px 0;border-bottom:1px solid #d3e0e9}
.fe-stage-manage-row>.field{grid-column:1;margin-bottom:0}
.fe-stage-manage-row input{min-width:0}
.fe-stage-manage-row>div{display:flex;gap:2px;grid-column:2;grid-row:1 / span 2;align-self:center}
.fe-stage-manage-row button{min-width:29px;min-height:32px;padding:4px;border:0;border-radius:7px;background:transparent;color:#49677f;display:inline-flex;align-items:center;justify-content:center}
.fe-stage-manage-row button>span{display:none}
.fe-stage-manage-row button:hover{background:#dce9f3}
.fe-stage-manage-row button[data-action=fe-stage-up]>svg,.fe-stage-manage-row button[data-action=fe-stage-down]>svg{transform:rotate(90deg)}
.fe-stage-manage-row button[data-action=fe-stage-remove]{color:#984636}
.fe-stage-manage-row>small{grid-column:1;grid-row:2;font-size:11px;line-height:1.6;color:#526d82;font-variant-numeric:tabular-nums}
.fe-route-controls{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 12px}
.fe-route-controls button,.fe-route-controls label{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #c6d5df;border-radius:8px;background:#f8fcff;color:#49677f;font-family:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.fe-route-controls input{width:auto;margin:0;accent-color:#365d81}
.fe-route-controls button:hover,.fe-route-controls label:hover{background:#e8f2f9}
.fe-route-controls button[aria-pressed=true],.fe-route-controls .active,.fe-route-controls label:has(input:checked){border-color:#365d81;background:#e1edf6;color:#233850}
.fe-route-controls .fe-field-hint{flex-basis:100%;margin:3px 0 0;font-size:11px}
.fe-form-section{border-top:1px solid #dce4ec;padding:14px 0;margin-top:4px}
.fe-form-section summary{font-size:12px;font-weight:600;color:#305670;cursor:pointer;margin-bottom:14px}
.fe-form-section p,.fe-field-hint{font-size:12px;line-height:1.8;color:#52677b;overflow-wrap:anywhere}
.fe-pending-note{font-size:11px!important;line-height:1.8!important;background:#fff6e5;color:#7c5b26!important;border-radius:5px;padding:10px;margin:14px 0}
.fe-inspector-actions{display:flex;justify-content:space-between;border-top:1px solid #dce4ec;padding-top:10px;margin-top:12px;gap:6px;flex-wrap:wrap}
.fe-inspector-actions [data-action=fe-delete]{color:#a0493c}
.fe-inspector form>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 18px;border-top:1px solid var(--fe-line);background:#eaf3f9}
.fe-form-error{font-size:12px;color:#a14736;line-height:1.7;margin:0}
.fe-form-error:empty{display:none}
.fe-original-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#516c80}
.fe-body>.process-canvas{height:auto;min-height:0;flex:1}
.fe-issue-list{display:flex;flex-direction:column;gap:8px}
.fe-issue-list button{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;border:1px solid #c8dae5;border-radius:7px;padding:13px;background:#fff;color:#34546d;line-height:1.7;font-size:13px}
.fe-issue-list small{font-size:11px;color:#8c652e;grid-column:1}
@media(max-width:1300px){.fe-inspector{width:340px}.fe-read-content{padding:18px}.fe-tools [aria-label=撤销] span,.fe-tools [aria-label=重做] span{display:none}.fe-save-state{display:none}.fe-flow-picker select{font-size:15px}.fe-stages>span{width:85px}.fe-stages button{min-width:116px}}
@media(max-width:1000px){main:has(.flow-editor){padding:12px}.flow-editor{height:calc(100dvh - 140px)}.fe-page-heading{margin-bottom:12px}.fe-page-heading h1{font-size:21px}.fe-page-heading>div>span{display:none}.fe-inspector{position:absolute;inset:0;width:100%;border:0}.fe-inspector [aria-label=返回画布] span{display:inline}.fe-read-content{padding:22px 28px}.fe-read-content h3{max-width:38ch}.fe-read-section p{max-width:70ch}.fe-header{padding:10px 12px;gap:8px}.fe-header-actions{gap:5px}.fe-header-actions>.fe-tool span{display:none}.fe-find{min-width:120px}.fe-stages>span{display:none}.fe-footer{padding:5px 8px;gap:6px}.fe-flow-summary{gap:8px}.fe-lane-head{padding:10px}.fe-lane-head>span{font-size:11px}.fe-minimap{width:114px;height:58px}}
@media(max-width:600px){main:has(.flow-editor){padding:8px}.fe-page-heading{display:none}.flow-editor{height:calc(100dvh - 86px);min-height:560px;border-radius:14px}.fe-header{padding:8px;gap:6px;min-height:50px;flex-wrap:wrap}.fe-header-actions{width:100%;justify-content:flex-end}.fe-header-actions>.fe-switch{margin-right:auto}.fe-flow-picker{flex-basis:100%}.fe-flow-picker>svg{display:none}.fe-flow-picker select{font-size:13px;max-width:none}.fe-header-actions>.btn{padding:5px 9px;min-height:30px;font-size:11px}.fe-header-actions .fe-switch button{font-size:10px;padding:4px 5px}.fe-header-actions>.fe-tool{min-width:26px;padding:4px}.fe-toolbar{padding:6px;gap:6px;flex-wrap:wrap}.fe-tools{gap:1px}.fe-tool{font-size:11px;min-height:30px;padding:4px 6px}.fe-tools .fe-switch button{font-size:11px;padding:4px 7px}.fe-tools .fe-switch svg{display:none}.fe-find{flex:1;min-width:100px;max-width:none}.fe-find input{font-size:11px}.fe-find>label{min-height:30px;padding:0 6px;gap:4px}.fe-find-results{width:100%;max-width:none}.fe-stages{min-height:42px}.fe-stages button{min-width:115px;padding:10px}.fe-stages button>svg{flex-shrink:0;opacity:.7}
.fe-stages button b{font-size:11px}.fe-flow-summary>span{display:none}.fe-zoom{gap:0}.fe-zoom .fe-tool{padding:4px;min-width:28px}.fe-zoom [aria-label=全图] span{display:none}.fe-zoom [aria-label="100%"] svg{display:none}.fe-zoom output{min-width:32px}.fe-lane-head{padding:8px}.fe-lane-head small{font-size:9px}.fe-read-content{padding:18px 20px}.fe-read-content h3{font-size:19px}.fe-inspector>header{padding:8px 14px}.fe-read-footer,.fe-inspector form>footer{padding:10px 14px}.flow-editor.is-expanded{inset:6px;min-height:0}}
@media(prefers-reduced-motion:no-preference){.fe-inspector{animation:fe-reveal .16s cubic-bezier(.16,1,.3,1)}@keyframes fe-reveal{from{clip-path:inset(0 0 0 8%)}to{clip-path:inset(0)}}}

.fe-flow-summary button.fe-tool{color:var(--fe-blue);min-height:30px}
.fe-route-controls>.field{flex:1 1 100%;display:flex;align-items:stretch;flex-direction:column;gap:6px;padding:0;border:0;background:none;cursor:default}
.fe-route-controls>.field:hover{background:none}
.fe-route-controls>.field input{width:100%}
.fe-stage-label{background:#e7f0f7}
@media(max-width:1000px){.fe-inspector{background:#eaf2f8}}
@media(max-width:1000px){.fe-toolbar{flex-wrap:wrap}.fe-tools{width:100%;overflow-x:auto;flex-shrink:0}.fe-find{flex:1 1 100%;max-width:none}.fe-stages button{flex:0 0 auto;min-width:174px;padding-inline:16px}}

/* Direct node-to-node connections, separate from node movement. */
.fe-connect-port{opacity:0;pointer-events:none;cursor:crosshair;outline:none}
.fe-node:hover .fe-connect-port,.fe-node.is-selected .fe-connect-port,.fe-node:focus-within .fe-connect-port,.fe-canvas.is-connecting .fe-connect-port{opacity:1;pointer-events:auto}
.fe-connect-hit{fill:transparent;stroke:none}
.fe-connect-dot{fill:#f7fbff;stroke:#365d81;stroke-width:1.5}
.fe-connect-port path{stroke:#365d81;stroke-width:1.5;pointer-events:none}
.fe-connect-port:hover .fe-connect-dot,.fe-connect-port:focus-visible .fe-connect-dot{fill:#dce9f3;stroke-width:2.4}
.fe-canvas.is-connecting,.fe-canvas.is-connecting .fe-node{cursor:crosshair}
.fe-node.is-connect-source>rect,.fe-node.is-connect-source>polygon{stroke:#72899b;stroke-width:2.4}
.fe-node.is-connect-target>rect,.fe-node.is-connect-target>polygon{fill:#dcece9;stroke:#427d71;stroke-width:3}
.fe-connect-port.is-source-port .fe-connect-dot{fill:#72899b}
.fe-connect-port.is-source-port path{stroke:#fff}
.fe-connect-preview{pointer-events:none}
.fe-connect-preview path{stroke:#72899b;stroke-width:2;stroke-dasharray:none;fill:none;vector-effect:non-scaling-stroke}
.fe-connect-preview circle{fill:#72899b}
.fe-connect-preview rect{fill:#edf5fbea;stroke:#517799;stroke-width:1.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.fe-connect-preview text{fill:#365d81;font-size:14px;font-weight:600}
.fe-read-footer{gap:6px;flex-wrap:wrap}
.fe-read-footer [data-action=fe-edit-item]{margin-left:auto}
.fe-tools>.fe-tool.active{background:#dce9f3;color:#29465f;box-shadow:inset 0 0 0 1px #adc4d5}
.fe-tools>*{flex-shrink:0}
@media(max-width:600px){
 .flow-editor:has(.is-connecting) .fe-footer{flex-wrap:wrap}
 .flow-editor:has(.is-connecting) .fe-flow-summary{width:100%;justify-content:space-between}
 .flow-editor:has(.is-connecting) .fe-flow-summary>span{display:block;font-size:10px;line-height:1.5}
 .flow-editor:has(.is-connecting) .fe-flow-summary>.fe-tool{flex-shrink:0}
 .flow-editor:has(.is-connecting) .fe-zoom{margin-left:auto}
}
@media(hover:none){.fe-connect-port{opacity:1;pointer-events:auto}}

/* Endpoint choices and compact condition callouts share the editor's visual language. */
.fe-port-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fe-condition-leader{stroke:#72899b;stroke-width:1;fill:none;stroke-dasharray:none}
.fe-node.is-connect-target .fe-connect-dot{stroke-width:2;fill:#e8f2f9}
.fe-connect-port.is-target-port .fe-connect-dot{fill:#365d81;stroke:#fff;stroke-width:2}

/* Browsing keeps the diagram and details readable, with no editing affordances. */
.flow-editor[data-mode=pan] [data-layout-only]{display:none!important}
.fe-icon-tools{display:flex;align-items:center;gap:4px}
.fe-icon-tools .fe-tool{width:32px;height:32px;padding:7px;justify-content:center;min-height:32px}
.fe-icon-tools .fe-tool span{display:none!important}
.fe-icon-tools [data-action=fe-delete]{color:#964c45}
.fe-icon-tools [data-action=fe-delete]:hover{background:#f6e5e2;color:#86382f}

.fe-endpoint-handle{cursor:grab;outline:none;touch-action:none}
.fe-endpoint-hit{fill:transparent;stroke:none}
.fe-endpoint-dot{fill:#365d81;stroke:#f7fbff;stroke-width:2}
.fe-endpoint-handle:hover .fe-endpoint-dot,.fe-endpoint-handle:focus-visible .fe-endpoint-dot{fill:#23435f;stroke:#aac7de;stroke-width:3}
.fe-canvas.is-reconnecting,.fe-canvas.is-reconnecting .fe-endpoint-handle{cursor:grabbing}
.fe-node.is-reconnect-node .fe-connect-port{opacity:1;pointer-events:auto}
.fe-canvas.is-reconnecting .fe-node:not(.is-reconnect-node) .fe-connect-port{opacity:0;pointer-events:none}

/* Condition labels remain draggable only while arranging the diagram. */
.fe-condition[data-label-edge] { cursor: grab; }
.fe-condition[data-label-edge]:active { cursor: grabbing; }
.fe-condition[data-label-edge]:hover rect, .fe-condition[data-label-edge]:focus-visible rect { stroke: #547b98; stroke-width: 1.5; }
.fe-condition-leader { pointer-events: none; }

/* Flow authoring uses the same quiet surfaces as the rest of the workspace. */
.fe-flow-identity,.fe-toolbar-end{display:flex;align-items:center;gap:8px;min-width:0}.fe-flow-identity .fe-flow-picker{min-width:180px}.fe-toolbar-end .fe-find{width:240px;max-width:100%}.fe-page-heading .fe-header-actions{flex-wrap:wrap}.fe-code-preview{display:flex;align-items:center;min-height:42px;padding:8px 12px;border:1px solid #c7d9e5;border-radius:8px;color:#506c83;background:#eaf2f7;font-variant-numeric:tabular-nums}.fe-node-execution{font-size:10px;fill:#587b94;pointer-events:none}.fe-route-handle[data-axis=x]{cursor:ew-resize}.fe-route-handle[data-axis=y]{cursor:ns-resize}.fe-deleted-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #c7d9e5}
@media(max-width:1100px){.fe-toolbar{flex-wrap:wrap}.fe-toolbar-end{margin-left:auto}.fe-page-heading{gap:12px;flex-wrap:wrap}.fe-header .fe-flow-picker{max-width:320px}}@media(max-width:650px){.fe-toolbar-end{width:100%}.fe-toolbar-end .fe-find{flex:1}.fe-flow-identity{flex-wrap:wrap}.fe-header{align-items:flex-start}.fe-page-heading .fe-header-actions{gap:4px}}
/* Connections use the same readable source → condition → destination structure in both modes. */
.fe-transition-edit,.fe-transition-read{display:grid;gap:0;margin-bottom:24px}
.fe-transition-edit .field{margin-bottom:0}
.fe-endpoint,.fe-transition-node{padding:14px;border:1px solid var(--line,#c7d9e5);border-radius:10px;background:var(--surface,#f6fbff)}
.fe-transition-condition{position:relative;padding:18px 0 18px 27px;margin-left:14px;border-left:1px solid #a5bacb}
.fe-transition-arrow{position:absolute;left:-7px;top:calc(50% - 12px);background:#eaf3f8;color:#3d6380;font-size:20px}
.fe-choice-field,.fe-port-picker{border:0;padding:0;margin:0 0 20px;min-width:0}
.fe-choice-field legend,.fe-port-picker legend{font-size:13px;font-weight:600;margin-bottom:10px;color:#526e83}
.fe-visual-options{display:flex;gap:8px}
.fe-visual-options label{flex:1;position:relative;min-width:0}
.fe-visual-options input,.fe-port-picker input{position:absolute;opacity:0;width:1px;height:1px}
.fe-visual-options span{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #c8d9e5;border-radius:9px;padding:10px 7px;color:#607b8e;font-size:12px;background:#f6fbff}
.fe-visual-options svg{width:80px;height:27px}
.fe-visual-options input:checked+span,.fe-port-picker input:checked+span{background:#dcebf4;border-color:#426c8b;color:#254b67;box-shadow:inset 0 0 0 1px #426c8b}
.fe-visual-options input:focus-visible+span,.fe-port-picker input:focus-visible+span{outline:2px solid #315b78;outline-offset:3px}
.fe-edge-layout{border-top:1px solid #c8d9e5;padding-top:16px}
.fe-edge-layout summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;font-size:13px;list-style:none;margin-bottom:16px}
.fe-edge-layout summary::-webkit-details-marker{display:none}
.fe-edge-layout[open] summary svg{transform:rotate(180deg)}
.fe-port-pickers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fe-port-picker>div{display:grid;grid-template:repeat(3,30px)/repeat(3,1fr);gap:3px}
.fe-port-picker label{position:relative}.fe-port-picker span{height:100%;display:grid;place-items:center;border:1px solid #c8d9e5;border-radius:6px;font-size:12px;cursor:pointer}
.port-auto{grid-area:2/2}.port-top{grid-area:1/2}.port-right{grid-area:2/3}.port-bottom{grid-area:3/2}.port-left{grid-area:2/1}
.fe-edge-actions{display:flex;flex-wrap:wrap;gap:8px}.fe-edge-actions .btn{font-size:12px;padding:7px 10px}
.fe-transition-node{display:grid;grid-template-columns:1fr auto;text-align:left;color:inherit;gap:5px;cursor:pointer}
.fe-transition-node small{grid-column:1/-1;color:#607b8e;font-size:11px}.fe-transition-node strong{font-size:14px;line-height:1.7;font-weight:600}.fe-transition-node svg{align-self:center}
.fe-transition-link{margin-left:24px;padding:22px 0 22px 22px;border-left:2px solid #7898ad;position:relative;display:grid;gap:6px}
.fe-transition-link:after{content:'';position:absolute;bottom:0;left:-5px;border:4px solid transparent;border-top-color:#7898ad;transform:translateY(4px)}
.fe-transition-link.is-return{border-left-style:solid}.fe-transition-link span{font-size:13px}.fe-transition-link small{font-size:11px;color:#668096}
.fe-more>div{min-width:196px;padding:6px;gap:2px}
.fe-more>div>.btn{display:flex;gap:10px;align-items:center;justify-content:flex-start;min-height:38px;width:100%;padding:9px 12px!important;margin:0!important;border:0;border-radius:6px;background:transparent;text-align:left;box-shadow:none;font-size:13px}
.fe-more>div>.btn:hover{background:#e8f1f7}.fe-more>div>.btn svg{flex:0 0 16px}
.fe-control-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 16px;border-bottom:1px solid #c7d9e5;background:#f3f9fc;font-size:12px;color:#5f7789}
.fe-control-bar>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fe-control-bar .fe-tool{font-size:12px;padding:5px 8px}.fe-control-bar .btn{font-size:12px;padding:6px 10px}
.fe-version-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;background:#e3edf5;color:#375870;font-size:12px;font-weight:600}.fe-version-status.is-final{background:#deeee9;color:#2c6459}
.fe-lock-status{font-size:11px}.fe-version-list{display:grid;gap:0}.fe-version-list article{padding:20px 0;border-bottom:1px solid #c9d9e3}.fe-version-list article:first-child{padding-top:0}.fe-version-heading{display:flex;align-items:center;gap:12px}.fe-version-heading>strong{font-size:20px;font-variant-numeric:tabular-nums}.fe-version-heading>span:last-child{font-size:12px;color:#5e798e}.fe-version-list p{line-height:1.7;margin:12px 0 8px;white-space:pre-wrap}.fe-version-list small{display:block;font-size:12px;color:#637d90;margin-bottom:12px}.fe-version-list .btn{padding:7px 12px;font-size:12px}
.fe-conflict-section{margin-bottom:26px}.fe-conflict-section fieldset{border:0;padding:0;margin:18px 0}.fe-conflict-section legend{font-size:13px;line-height:1.7;margin-bottom:10px}
.fe-conflict-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fe-conflict-options label{position:relative;display:flex;align-items:flex-start;gap:8px;background:#f5faff;border:1px solid #c8d9e5;padding:12px;border-radius:8px;min-width:0;cursor:pointer}.fe-conflict-options label:has(input:checked){border-color:#416d8d;background:#deedf6}.fe-conflict-options input{margin-top:4px;flex:none}.fe-conflict-options span{min-width:0}.fe-conflict-options strong{font-size:13px}.fe-conflict-options pre{font:12px/1.7 inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;margin:8px 0 0}
.flow-editor[data-preview=true] [data-action=fe-select],.flow-editor[data-preview=true] [data-action=fe-flow-settings],.flow-editor[data-preview=true] [data-action=fe-save],.flow-editor[data-preview=true] [data-action=fe-discard]{display:none}

/* All node types share one palette; emphasis is explicit, never a business status. */
.fe-node.is-highlighted{--node-fill:#dceaf4;--node-stroke:#547b98}
.fe-highlight-icon{pointer-events:none}
.fe-highlight-icon path{fill:#547b98;stroke:#365d81;stroke-width:1.2;stroke-linejoin:round}
.fe-highlight-toggle{display:flex;align-items:center;gap:12px;padding:16px 0;cursor:pointer}
.fe-highlight-toggle input{accent-color:#365d81;width:18px;height:18px}
.fe-highlight-toggle strong,.fe-highlight-toggle small{display:block}
.fe-highlight-toggle small{color:var(--fe-muted);margin-top:5px;font-size:12px}
.fe-highlight-preview{display:grid;place-items:center;width:42px;height:36px;border-radius:6px;border:1px solid #90adc4;background:#fbfdff;color:#547b98}
.fe-highlight-toggle input:checked~.fe-highlight-preview{background:#dceaf4;border-color:#547b98}
.fe-version-changes{padding-left:18px;margin:12px 0;font-size:13px;line-height:1.7;color:var(--fe-ink);overflow-wrap:anywhere}
.fe-version-changes li{margin:6px 0;white-space:pre-wrap}
.fe-version-list details summary{cursor:pointer;color:#365d81;font-size:13px}

.fe-version-actions{display:flex;gap:8px;flex-wrap:wrap}
.fe-select{display:block;position:relative;min-width:0;width:100%}
.fe-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important;overflow:hidden}
.fe-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #bfd1df;border-radius:9px;background:#f8fbfd;color:#29465d;font:inherit;font-size:13px;line-height:1.6;padding:9px 12px;min-height:39px;cursor:pointer}
.fe-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-select-trigger>svg{flex-shrink:0}
.fe-select-trigger:hover,.fe-select-trigger[aria-expanded=true]{border-color:#6f92ad;background:#edf4f9}.fe-select-trigger:focus-visible{outline:2px solid #547b98;outline-offset:2px}
.fe-flow-picker .fe-select{min-width:180px;max-width:310px}.fe-flow-picker .fe-select-trigger{font-weight:650;font-size:17px;border-color:transparent;background:transparent;padding:8px 10px}.fe-flow-picker .fe-select-trigger:hover,.fe-flow-picker .fe-select-trigger[aria-expanded=true]{background:#e4eef5;border-color:#c4d5e1}
.fe-select-popup{position:fixed;z-index:10000;display:flex;flex-direction:column;overflow:hidden;padding:6px;background:#f8fbfd;color:#29465d;border:1px solid #bdcfdc;border-radius:12px;box-shadow:0 12px 32px #203b5326;font:13px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}
.fe-select-search{width:100%;min-height:36px;border:1px solid #c4d5e1;border-radius:7px;background:white;padding:6px 10px;color:#29465d;font:inherit;margin-bottom:5px}
.fe-select-options{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.fe-select-options>button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:39px;padding:9px 12px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.fe-select-options>button>span{overflow-wrap:anywhere}.fe-select-options>button>svg{flex-shrink:0}.fe-select-options>button:hover,.fe-select-options>button:focus-visible{background:#e8f1f7;outline:none}.fe-select-options>button[aria-selected=true]{background:#ddeaf3;color:#203c55;font-weight:600}.fe-select-options>p{padding:10px;margin:0;color:#657f92}
.fe-racis-grid{border:1px solid #c6d7e3;border-radius:9px;overflow:hidden;margin:12px 0}.fe-racis-head,.fe-racis-row{display:grid;grid-template-columns:minmax(100px,1fr) repeat(4,30px);gap:3px;align-items:center;padding:9px 8px}.fe-racis-head{font-size:11px;color:#607d94;background:#e7f0f6}.fe-racis-head>span:not(:first-child){text-align:center}.fe-racis-row{border-top:1px solid #d4e1ea;background:#f8fbfd;font-size:12px;line-height:1.6}.fe-racis-row>span{overflow-wrap:anywhere}.fe-racis-row small{display:block;color:#658096;font-size:10px;margin-top:3px}.fe-racis-row label{position:relative;cursor:pointer}.fe-racis-row input{position:absolute;opacity:0;width:1px!important}.fe-racis-row label>span{display:grid;place-items:center;border:1px solid #c7d7e3;border-radius:6px;min-height:29px;color:#758a9a;font-size:12px}.fe-racis-row input:checked+span{background:#355971;color:white;border-color:#355971}.fe-racis-row input:focus-visible+span{outline:2px solid #547b98;outline-offset:2px}
.fe-racis-legend{margin:14px 0;color:#536f85;font-size:12px;line-height:1.7}.fe-racis-legend>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#355971;list-style:none}.fe-racis-legend>summary::-webkit-details-marker{display:none}.fe-racis-legend dl{margin:10px 0;padding:12px;background:#eaf2f7;border-radius:8px}.fe-racis-legend dl>div+div{margin-top:10px}.fe-racis-legend dt{font-weight:600}.fe-racis-legend dt>b{display:inline-block;width:22px}.fe-racis-legend dd{margin:2px 0 0 22px}.fe-racis-legend>p{font-size:11px!important;line-height:1.7!important}.fe-racis-read-row{display:flex;gap:12px;align-items:start;margin:12px 0}.fe-racis-code{display:grid;place-items:center;min-width:29px;height:29px;border:1px solid #c1d3e0;background:#e5eff6;border-radius:7px;color:#355971;font-size:13px;font-weight:600}.fe-racis-read-row small{font-size:11px;color:#6a8194}.fe-racis-read-row p{margin:3px 0!important;font-size:13px!important}
.fe-racis-head>span>small{display:block;font-size:10px;font-weight:400;line-height:1.35;margin-top:3px;white-space:nowrap}
.revision-audio{margin-top:20px;padding-top:18px;border-top:1px solid var(--line,#d4e0e9);color:var(--ink,#23384f)}
.ra-heading,.ra-meta,.ra-live,.ra-failed-actions{display:flex;align-items:center;gap:10px}
.ra-heading{justify-content:space-between;font-size:13px;font-weight:600}
.ra-heading .btn{padding:7px 10px;min-height:34px;font-size:12px;gap:6px}
.ra-hint{font-size:12px;color:var(--muted,#647b8d);margin:8px 0 12px;line-height:1.5}
.ra-list{display:grid;gap:12px;margin-top:14px}
.ra-item{padding:12px;border:1px solid var(--line,#d4e0e9);border-radius:10px;background:var(--surface,#fff);min-width:0}
.ra-meta{flex-wrap:wrap;gap:5px 10px;font-size:12px;margin-bottom:8px}
.ra-meta>span{font-weight:600}.ra-meta small{color:var(--muted,#647b8d);font-size:11px}
.ra-delete{margin-left:auto;border:0;background:none;color:var(--muted,#647b8d);cursor:pointer;padding:5px;display:inline-flex;border-radius:5px}
.ra-delete:hover{color:#a44839;background:#fff2ed}
.revision-audio audio{display:block;width:100%;height:36px;margin:8px 0;min-width:0}
.ra-download{font-size:11px;color:var(--muted,#647b8d);text-underline-offset:3px}
.ra-live{padding:12px;margin:12px 0;background:#f6f8fa;border:1px solid var(--line,#d4e0e9);border-radius:9px;font-size:12px;flex-wrap:wrap}
.ra-live output{font-variant-numeric:tabular-nums}.ra-live button{margin-left:auto}
.ra-dot{width:7px;height:7px;background:#b94b49;border-radius:50%}
.ra-error,.ra-play-error{font-size:12px;color:#a44839;line-height:1.6}.ra-play-error{display:block}.ra-play-error[hidden]{display:none}
.ra-failed-actions{flex-wrap:wrap;margin:8px 0}.ra-failed-actions .btn{font-size:12px;padding:7px 10px}

/* Word export: ordered scope, using the existing dialog palette. */
.fe-word-dialog{width:min(640px,94vw)}.fe-word-picker>p{margin:0 0 16px;color:var(--muted);line-height:1.7}.fe-word-shortcuts{display:flex;gap:8px;margin-bottom:14px}.fe-word-list{display:grid;gap:6px;max-height:43vh;overflow:auto}.fe-word-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white,#fff)}.fe-word-row.selected{background:#eef4f8;border-color:#bfd0dd}.fe-word-row label{display:flex;gap:12px;align-items:center;flex:1;min-width:0;cursor:pointer}.fe-word-row input{width:16px;height:16px;accent-color:#273d54;flex-shrink:0}.fe-word-row b{font-size:14px;font-weight:600;display:block}.fe-word-row small{display:block;color:var(--muted);font-size:11px}.fe-word-number{color:var(--muted);font-size:12px;min-width:16px;text-align:center}.fe-word-row>div{display:flex;gap:2px}.fe-word-row .icon-btn{width:30px;height:30px}.fe-word-picker>.fe-word-status{margin:16px 0 4px;color:var(--ink);font-size:13px}.fe-word-picker>small{color:var(--muted);font-size:12px}.fe-word-dialog .modal-footer>div:first-child{order:2}.fe-word-dialog .modal-footer>div:last-child{margin-left:auto}

.fe-word-row [data-word-move="-1"] svg{transform:rotate(180deg)}

/* Discovery controls: node lookup is separate from persistent participant filters. */
.fe-export-actions{display:flex;align-items:center;gap:4px;padding-right:12px;margin-right:4px;border-right:1px solid var(--fe-line)}
.fe-header .fe-flow-picker{min-width:150px;max-width:270px}
.fe-header .fe-flow-identity{flex:1;flex-wrap:wrap;gap:4px}
.fe-header-actions{flex-shrink:0}
.fe-toolbar-end .fe-find{width:258px}
.fe-filters{padding:12px 16px;background:var(--fe-chrome);border-bottom:1px solid var(--fe-line);flex-shrink:0}
.fe-filters[hidden]{display:none}
.fe-filter-fields{display:flex;gap:20px;align-items:center}
.fe-filter-fields>label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-size:12px;color:var(--fe-muted)}
.fe-filter-fields>label>span{flex-shrink:0}
.fe-filter-fields .fe-select{flex:1;min-width:0}
.fe-filter-fields .fe-select-trigger{width:100%;min-height:34px;font-size:12px}
.fe-filter-feedback{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--fe-muted)}
.fe-filter-feedback>[data-filter-status]{margin-right:auto}
.fe-filter-feedback .fe-tool{min-height:26px;padding:2px 6px;font-size:12px}
.fe-search-heading{display:flex;justify-content:space-between;gap:8px}
.fe-search-heading small{font-weight:400}
.fe-node.is-filter-match>rect,.fe-node.is-filter-match>polygon{stroke:#365d81;stroke-width:2.4;fill:#e8f1f7}
.fe-flow-motion{pointer-events:none;fill:none;stroke:#72899b;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.fe-direction-legend{display:flex;align-items:center;gap:12px}
.fe-direction-legend>b{color:var(--fe-ink)}
.fe-direction-legend .is-incoming{color:#597487}
.fe-direction-legend .is-outgoing{color:#365d81;font-weight:600}
.fe-direction-legend span::before{content:'→';margin-right:5px}
.fe-flow-summary .fe-tool{min-height:28px;font-size:12px;padding:3px 6px}
.fe-flow-summary{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.fe-flow-motion{display:none}}
@media(max-width:1200px){.fe-header{flex-wrap:wrap}.fe-header-actions{margin-left:auto}.fe-header .fe-flow-identity{flex-wrap:nowrap}.fe-toolbar-end{flex:1;justify-content:flex-end}.fe-filter-fields{gap:12px}.fe-filter-fields>label{flex-direction:column;align-items:stretch;gap:4px}}
@media(max-width:650px){.fe-header .fe-flow-identity{flex-wrap:wrap}.fe-export-actions{margin-right:auto;padding-right:6px}.fe-export-actions .fe-tool span{display:inline}.fe-filter-fields{flex-wrap:wrap}.fe-filter-fields>label{flex-basis:100%}.fe-filter-feedback{flex-wrap:wrap}.fe-filter-feedback>[data-filter-status]{flex-basis:100%}.fe-flow-summary{gap:6px}.fe-search-heading small{display:none}}
.fe-summary-area{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:wrap}
.fe-check-status{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#36536d;font-size:12px;white-space:nowrap}
.fe-check-status:hover,.fe-check-status[aria-expanded=true]{background:#e1edf5;border-color:#c3d5e3}
.fe-check-status:focus-visible,.fe-check-item:focus-visible{outline:2px solid #365d81;outline-offset:2px}
.fe-check-count{font-size:11px;font-weight:600;border-radius:4px;padding:2px 5px}
.fe-check-count.is-error{color:#9b4036;background:#f5e8e5}.fe-check-count.is-warning{color:#8b642a;background:#f7efdF}
.fe-check-ok{color:#61798b;font-size:11px}
.fe-body.has-checks>#fe-inspector{display:none}
.fe-check-panel{background:#f2f7fb}.fe-check-panel[hidden]{display:none}
.fe-check-content{padding:14px 18px 22px;overflow:auto;overscroll-behavior:contain}
.fe-check-hint,.fe-check-scope{color:#60788b;font-size:12px;line-height:1.7;margin:0 0 16px}
.fe-check-scope{font-size:11px;border-top:1px solid #cbdce7;padding-top:14px;margin:20px 0 0}
.fe-check-group{margin:0 0 18px}.fe-check-group h3{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 9px;color:#29465d}.fe-check-group h3 span{color:#6a8296;font-size:12px;font-weight:400}
.fe-check-group ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.fe-check-item{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%;padding:12px;border:1px solid #d2dfe8;border-left:3px solid #b98645;border-radius:5px;background:#fbfdff;text-align:left;white-space:normal;line-height:1.6}
.fe-check-item.is-error{border-left-color:#ac5a50}.fe-check-item:hover{background:#eaf2f8;border-color:#a9c0d2}
.fe-check-item strong{font-size:12px;color:#29465d;overflow-wrap:anywhere}.fe-check-item>span{font-size:12px;color:#5a7285}.fe-check-item small{display:flex;align-items:center;gap:5px;font-size:11px;color:#365d81}
.fe-check-empty{text-align:center;padding:28px 4px;color:#526f85}.fe-check-empty h3{font-size:15px;margin:12px 0 8px}.fe-check-empty p{font-size:12px;line-height:1.8;margin:0}
@media(max-width:1100px){.fe-summary-area{gap:4px}.fe-check-ok{display:none}.fe-footer{flex-wrap:wrap}.fe-zoom{margin-left:auto}}
@media(max-width:600px){.fe-check-status{font-size:11px;padding:4px}.fe-check-count{font-size:10px}.fe-check-content{padding:12px 16px}.fe-summary-area{flex:1}.fe-footer .fe-flow-summary{display:none}}

.fe-node-lead{font-size:10px;fill:#365d70;pointer-events:none}
.fe-dimension-handle{position:absolute;z-index:5;padding:0;border:0;border-radius:0;background:transparent;touch-action:none;pointer-events:auto;color:#55738b}
.fe-dimension-handle:hover,.fe-dimension-handle:focus-visible{background:#335e8833;outline:2px solid #52768f;outline-offset:-2px}
.fe-stage-resize{top:0;bottom:0;width:12px;cursor:col-resize}.fe-stage-resize:after{content:"";position:absolute;left:5px;top:8px;bottom:8px;border-left:2px solid #8ca8ba}
.fe-lane-resize{left:0;right:0;height:12px;cursor:row-resize}.fe-lane-resize:after{content:"";position:absolute;left:35%;right:35%;top:5px;border-top:2px solid #8ca8ba}
.fe-subject-field{min-width:0;border:0;padding:0;margin:18px 0}.fe-subject-field legend{font-size:12px;font-weight:650;margin-bottom:8px;color:#526e83}
.fe-selected-subjects{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:#718294;margin-bottom:8px}
.fe-subject-chip{position:relative;max-width:100%;text-align:left;display:grid;gap:2px;padding:7px 24px 7px 9px;background:#e2edf5;border:1px solid #bdd0df;border-radius:7px;color:#284d68;font-size:12px;overflow-wrap:anywhere}
.fe-subject-chip small{font-size:10px;color:#617d90}.fe-subject-chip svg{position:absolute;right:6px;top:8px}
.fe-subject-field details{border:1px solid #c5d5df;border-radius:8px;background:#f9fcff}.fe-subject-field summary{padding:10px;cursor:pointer;font-size:12px;color:#365c76;list-style:none;display:flex;gap:8px;align-items:center}.fe-subject-field summary svg{margin-left:auto}.fe-subject-field summary span{color:#728b9e}
.fe-subject-field input[type=search]{width:calc(100% - 16px);margin:0 8px 8px;padding:8px;font-size:12px}.fe-subject-list{max-height:280px;overflow:auto;padding:0 8px 8px}.fe-subject-list h5{position:sticky;top:0;margin:0;padding:8px 4px;background:#edf4f8;font-size:11px;font-weight:650;color:#526f84}
.fe-subject-option{display:grid!important;grid-template-columns:16px auto 1fr;gap:6px;align-items:start;padding:9px 5px;border-bottom:1px solid #e1ebf1;font-size:12px;line-height:1.5;cursor:pointer}.fe-subject-option:hover{background:#eaf2f8}.fe-subject-option input{width:14px!important;height:14px;margin:2px 0;accent-color:#365d81}.fe-subject-badge{font-size:10px;white-space:nowrap;padding:1px 4px;border:1px solid #c8d9e3;border-radius:4px;background:white;color:#53748a}.fe-subject-option small{display:none}
.fe-subject-field [hidden],.fe-lane-match[hidden]{display:none!important}
.fe-lane-match{padding:10px;background:#e8f2f4;border-radius:7px;margin:8px 0 18px;font-size:11px;color:#3c6972}.fe-lane-match p{margin:0 0 6px}.fe-lane-match button{display:block;width:100%;text-align:left;background:#f6fbfc;border:1px solid #c8dce0;border-radius:5px;padding:6px 8px;margin:4px 0;font-size:11px;color:#3d6374}.fe-lane-match button.is-selected{border-color:#4d7986;background:#dcecf0}
.fe-system-picker{position:relative;padding:8px;border:1px solid #c5d5df;border-radius:8px;background:#f9fcff}.fe-system-storage{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;padding:0!important;pointer-events:none}.fe-system-picker [data-system-chips]{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.fe-system-picker [data-system-search]{width:100%;font-size:12px;padding:8px}.fe-system-chip{display:inline-flex;gap:6px;align-items:center;font-size:12px;border:1px solid #bdd0df;border-radius:5px;padding:5px 7px;background:#e3eef5;color:#315670}.fe-system-options{display:flex;flex-wrap:wrap;gap:5px;max-height:150px;overflow:auto;margin-top:8px}.fe-system-options button{font-size:11px;text-align:left;padding:5px 7px;border:1px solid #d2dfe7;border-radius:5px;color:#476c85;background:#f3f8fb}.fe-system-options .fe-system-create{border-color:#719ca3;color:#366b70}
.fe-layout-preview{position:relative;width:100%;height:420px;overflow:hidden;background:#f1f7fb;border:1px solid #c6d6e2;border-radius:9px}.modal:has(.fe-layout-preview){width:min(1100px,95vw);max-width:95vw}
