.re-layout{--bg-base:var(--color-bg-base);--bg-surface:var(--color-bg-surface);--bg-subtle:var(--color-bg-subtle);--bg-hover:var(--color-bg-hover);--border-default:var(--color-border-default);--border-subtle:var(--color-border-subtle);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-tertiary);--text-faint:var(--color-text-disabled);--accent-blue:var(--color-info);--accent-green:var(--color-success);--accent-amber:var(--color-warning);--accent-red:var(--color-danger);--arkh-500:var(--color-arkh-500);--arkh-700:var(--color-arkh-700);flex-direction:column;height:100%;min-height:0;display:flex}.re-body{flex:1;min-height:0;display:flex;position:relative}.re-palette{background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;gap:14px;width:220px;padding:14px 12px;display:flex;overflow-y:auto}.re-palette-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:0 4px 6px;font-size:10px;font-weight:600}.re-palette-list{flex-direction:column;gap:4px;display:flex}.re-palette-item{cursor:grab;color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-family:inherit;font-size:12px;font-weight:500;transition:all .1s;display:flex}.re-palette-item:hover{background:var(--bg-hover);border-color:var(--border-subtle)}.re-palette-item:active{cursor:grabbing}.re-palette-item.dragging{opacity:.4}.re-palette-item .pal-icon{background:var(--bg-subtle);width:22px;height:22px;color:var(--text-secondary);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.re-palette-item.act-msg .pal-icon{background:color-mix(in srgb, var(--accent-green) 14%, transparent);color:var(--accent-green)}.re-palette-item.act-wait .pal-icon{background:color-mix(in srgb, var(--accent-amber) 16%, transparent);color:var(--accent-amber)}.re-palette-item.act-action .pal-icon{background:color-mix(in srgb, var(--arkh-500) 14%, transparent);color:var(--arkh-500)}.re-palette-item.act-chain .pal-icon{background:color-mix(in srgb, var(--accent-blue) 14%, transparent);color:var(--accent-blue)}.re-palette-hint{color:var(--text-muted);padding:0 4px;font-size:10px;line-height:1.4}.re-canvas{background:var(--bg-base);flex:1;min-width:0;position:relative;overflow:auto}.re-canvas-bg{background-image:radial-gradient(circle, color-mix(in srgb, var(--text-faint) 35%, transparent) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:22px 22px;position:absolute;inset:0}.re-flow{justify-content:flex-start;align-items:center;gap:0;min-width:max-content;min-height:100%;padding:60px 48px;display:flex;position:relative}.re-conn{background:var(--border-default);flex-shrink:0;width:44px;height:2px;transition:background .2s;position:relative}.re-conn:after{content:"";border-left:5px solid var(--border-default);border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;transition:border-color .2s;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.re-conn.sim-on{background:var(--accent-green)}.re-conn.sim-on:after{border-left-color:var(--accent-green)}.re-conn.sim-off{background:color-mix(in srgb, var(--accent-red) 50%, transparent)}.re-conn.sim-off:after{border-left-color:color-mix(in srgb, var(--accent-red) 50%, transparent)}.re-conn-label{color:var(--text-muted);white-space:nowrap;background:var(--bg-base);font-size:10px;font-family:var(--font-mono);border:1px solid var(--border-subtle);z-index:2;border-radius:4px;padding:2px 6px;position:absolute;top:-10px;left:50%;transform:translate(-50%,-100%)}.re-drop{flex-shrink:0;place-items:center;width:44px;height:80px;display:grid;position:relative}.re-drop-inner{color:#0000;border:2px dashed #0000;border-radius:6px;place-items:center;width:100%;height:32px;font-size:11px;font-weight:600;transition:all .12s;display:grid}.re-drop.over .re-drop-inner{border-color:var(--arkh-500);background:color-mix(in srgb, var(--arkh-500) 10%, transparent);color:var(--arkh-500);width:80px;height:64px}.re-node{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;flex-shrink:0;min-width:240px;max-width:320px;transition:box-shadow .16s,border-color .16s,opacity .2s;position:relative}.re-node:hover{border-color:color-mix(in srgb, var(--arkh-500) 40%, var(--border-default));box-shadow:0 6px 20px color-mix(in srgb, var(--arkh-500) 8%, transparent)}.re-node-head{border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.re-node-kind{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;font-size:10px;font-weight:600;display:inline-flex}.re-node-kind .kind-dot{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.re-node-rm{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;padding:2px;display:grid}.re-node-rm:hover{background:var(--bg-hover);color:var(--accent-red)}.re-node-body{flex-direction:column;gap:8px;padding:12px;display:flex}.re-node-title-row{align-items:center;gap:8px;min-width:0;display:flex}.re-node-title-row>.re-chip{flex:1;justify-content:space-between;min-width:0;max-width:100%}.re-node-icon{background:var(--bg-subtle);width:28px;height:28px;color:var(--text-secondary);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.re-node-title{color:var(--text-primary);flex:1;min-width:0;font-size:13px;font-weight:600}.re-node-title-muted{color:var(--text-muted);font-size:12px;font-weight:500}.re-node-trigger{border-top:3px solid var(--accent-blue)}.re-node-trigger .re-node-kind .kind-dot{background:var(--accent-blue)}.re-node-trigger .re-node-icon{background:color-mix(in srgb, var(--accent-blue) 14%, transparent);color:var(--accent-blue)}.re-node-cond{border-top:3px solid var(--accent-amber)}.re-node-cond .re-node-kind .kind-dot{background:var(--accent-amber)}.re-node-cond .re-node-icon{background:color-mix(in srgb, var(--accent-amber) 14%, transparent);color:var(--accent-amber)}.re-node-action{border-top:3px solid var(--arkh-500)}.re-node-action .re-node-kind .kind-dot{background:var(--arkh-500)}.re-node-action .re-node-icon{background:color-mix(in srgb, var(--arkh-500) 14%, transparent);color:var(--arkh-500)}.re-node-action.acc-msg{border-top-color:var(--accent-green)}.re-node-action.acc-msg .re-node-icon{background:color-mix(in srgb, var(--accent-green) 14%, transparent);color:var(--accent-green)}.re-node-action.acc-wait{border-top-color:var(--accent-amber)}.re-node-action.acc-wait .re-node-icon{background:color-mix(in srgb, var(--accent-amber) 14%, transparent);color:var(--accent-amber)}.re-node-action.acc-chain{border-top-color:var(--accent-blue)}.re-node-action.acc-chain .re-node-icon{background:color-mix(in srgb, var(--accent-blue) 14%, transparent);color:var(--accent-blue)}.re-node-end{border-top:3px solid var(--text-faint);min-width:130px}.re-node-end .re-node-icon{background:var(--bg-subtle);color:var(--text-muted)}.re-node.sim-passed{box-shadow:0 0 0 2px var(--accent-green), 0 6px 20px color-mix(in srgb, var(--accent-green) 14%, transparent)}.re-node.sim-blocked{box-shadow:0 0 0 2px var(--accent-red), 0 6px 20px color-mix(in srgb, var(--accent-red) 14%, transparent)}.re-node.sim-skipped{opacity:.4}.re-chips{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12px;line-height:1.5;display:flex}.re-chip{background:var(--bg-base);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;align-items:center;gap:4px;max-width:240px;padding:3px 7px 3px 8px;font-family:inherit;font-size:12px;font-weight:500;transition:all .1s;display:inline-flex;overflow:hidden}.re-chip:hover{border-color:var(--arkh-500);background:color-mix(in srgb, var(--arkh-500) 6%, var(--bg-base))}.re-chip .chip-caret{color:var(--text-muted);flex-shrink:0;margin-left:2px}.re-chip.chip-mono{font-family:var(--font-mono);font-size:11px}.re-chip.chip-empty{color:var(--text-muted);border-style:dashed;font-style:italic;font-weight:400}.re-chip.chip-active{border-color:var(--arkh-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--arkh-500) 18%, transparent)}.re-chip.chip-error{border-color:var(--color-danger);color:var(--color-danger)}.re-chip-label{color:var(--text-muted);font-size:11px;font-weight:400}.re-chip-rm{color:var(--text-muted);padding:3px 5px}.re-chip-add{border:1px dashed var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-family:inherit;font-size:11px;display:inline-flex}.re-chip-add:hover{color:var(--arkh-500);border-color:var(--arkh-500)}.re-add-slot{border:2px dashed var(--border-default);width:200px;height:110px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;font-family:inherit;font-size:12px;font-weight:500;transition:all .12s;display:flex}.re-add-slot:hover,.re-add-slot.over{border-color:var(--arkh-500);color:var(--arkh-500);background:color-mix(in srgb, var(--arkh-500) 6%, transparent)}.re-add-slot-hint{opacity:.7;font-size:10px}.re-popover{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:10px;min-width:240px;max-width:360px;padding:0;overflow:hidden;box-shadow:0 16px 48px #0000002e,0 4px 12px #00000014}.re-pop-head{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:10px 12px 6px;font-size:11px;font-weight:600;display:flex}.re-pop-body{max-height:360px;padding:4px 8px 10px;overflow-y:auto}.re-pop-search{border:1px solid var(--color-border-default);background:var(--color-bg-base);width:calc(100% - 8px);color:var(--color-text-primary);border-radius:6px;outline:none;margin:4px 4px 8px;padding:7px 10px;font-family:inherit;font-size:13px}.re-pop-search:focus{border-color:var(--color-arkh-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-arkh-500) 15%, transparent)}.re-pop-list{flex-direction:column;gap:1px;display:flex}.re-pop-opt{cursor:pointer;text-align:left;color:var(--color-text-primary);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-family:inherit;font-size:13px;display:flex}.re-pop-opt:hover{background:var(--color-bg-hover)}.re-pop-opt.selected{background:color-mix(in srgb, var(--color-arkh-500) 10%, transparent);color:var(--color-arkh-700)}.re-pop-opt-icon{background:var(--color-bg-subtle);width:22px;height:22px;color:var(--color-text-secondary);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.re-pop-opt-meta{color:var(--color-text-tertiary);font-size:11px;font-family:var(--font-mono);margin-left:auto}.re-pop-opt-desc{color:var(--color-text-tertiary);margin-top:1px;font-size:11px}.re-pop-opt-text{flex-direction:column;flex:1;min-width:0;display:flex}.re-pop-opt-mono{font-family:var(--font-mono);font-size:12px}.re-pop-empty{color:var(--color-text-tertiary);padding:12px;font-size:12px}.re-pop-input{border:1px solid var(--color-border-default);background:var(--color-bg-base);color:var(--color-text-primary);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.re-pop-input-block{width:calc(100% - 16px);margin:0 8px 8px}.re-pop-input-flex{flex:1;margin:0}.re-pop-input-wrap{padding:8px}.re-pop-input:focus{border-color:var(--color-arkh-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-arkh-500) 15%, transparent)}.re-pop-row{gap:6px;padding:0 8px 8px;display:flex}.re-pop-foot{border-top:1px solid var(--color-border-subtle);background:var(--color-bg-subtle);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;display:flex}.re-pop-help{color:var(--color-text-tertiary);padding:4px 12px 10px;font-size:11px;line-height:1.4}.re-pop-custom-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:4px 12px 6px;font-size:10px;font-weight:600}.re-cond-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.re-cond-add{margin-top:4px}.re-cond-op-toggle{background:color-mix(in srgb, var(--accent-amber) 14%, transparent);color:var(--accent-amber);letter-spacing:.04em;cursor:pointer;font-size:10px;font-weight:700;font-family:var(--font-mono);border:none;border-radius:4px;padding:2px 8px}.re-cond-op-toggle:hover{background:color-mix(in srgb, var(--accent-amber) 24%, transparent)}.re-msg-preview{background:color-mix(in srgb, var(--accent-green) 8%, var(--bg-base));border-left:2px solid var(--accent-green);color:var(--text-secondary);white-space:normal;border-radius:4px;max-width:100%;margin-top:4px;padding:8px 10px;font-size:11px;font-style:italic;line-height:1.45}.re-sim-bar{border-top:1px solid var(--border-default);background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.re-sim-bar.active{background:color-mix(in srgb, var(--arkh-500) 4%, var(--bg-surface));border-top:1px solid color-mix(in srgb, var(--arkh-500) 40%, var(--border-default))}.re-sim-title{color:var(--text-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.re-sim-title .pulse{background:var(--arkh-500);border-radius:50%;width:8px;height:8px;animation:1.6s infinite re-pulse}@keyframes re-pulse{0%,to{opacity:.4}50%{opacity:1;box-shadow:0 0 0 4px color-mix(in srgb, var(--arkh-500) 20%, transparent)}}.re-sim-pick{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.re-sim-result{border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.re-sim-result.pass{background:color-mix(in srgb, var(--accent-green) 14%, transparent);color:var(--accent-green)}.re-sim-result.fail{background:color-mix(in srgb, var(--accent-red) 14%, transparent);color:var(--accent-red)}.re-sim-result.partial{background:color-mix(in srgb, var(--accent-amber) 14%, transparent);color:var(--accent-amber)}.re-sim-stats{color:var(--text-muted);gap:12px;font-size:11px;display:inline-flex}.re-sim-stats b{color:var(--text-primary);font-weight:600}.re-sim-stat-good{color:var(--accent-green)}.re-sim-stat-bad{color:var(--accent-red)}.re-footer{border-top:1px solid var(--border-default);background:var(--bg-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;display:flex}.re-footer-hints{color:var(--text-muted);align-items:center;gap:12px;font-size:11px;display:inline-flex}.re-footer-mono{font-family:var(--font-mono)}.re-pop-multi{flex-wrap:wrap;gap:4px;padding:0 8px 8px;display:flex}.re-pop-multi-opt{border:1px solid var(--color-border-default);background:var(--color-bg-base);cursor:pointer;color:var(--color-text-secondary);border-radius:999px;padding:4px 10px;font-family:inherit;font-size:11px}.re-pop-multi-opt.on{background:color-mix(in srgb, var(--color-arkh-500) 12%, transparent);border-color:var(--color-arkh-500);color:var(--color-arkh-700);font-weight:600}.re-layout .react-flow__controls{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--color-radius-md,8px);box-shadow:var(--shadow-sm,0 1px 2px 0 #0000000a);overflow:hidden}.re-layout .react-flow__controls-button{background:var(--bg-surface);border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background-color .12s;display:flex}.re-layout .react-flow__controls-button:last-child{border-bottom:none}.re-layout .react-flow__controls-button:hover{background:var(--bg-hover)}.re-layout .react-flow__controls-button svg{fill:var(--text-secondary);width:12px;height:12px}.re-layout .react-flow__minimap{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--color-radius-md,8px);overflow:hidden}.re-layout .react-flow__minimap-svg{background:var(--bg-base)}.re-layout .react-flow__minimap-node{fill:var(--bg-hover);stroke:var(--border-default);stroke-width:1px}.re-layout .react-flow__edge-path{stroke:var(--border-default);stroke-width:1.5px}.re-layout .react-flow__edge-text{fill:var(--text-secondary);font-size:10px;font-weight:500}.re-layout .react-flow__edge-textbg{fill:var(--bg-base)}.re-layout .react-flow__pane,.re-layout .react-flow__node{pointer-events:all}.re-layout .react-flow__node .re-node,.re-layout .react-flow__node .re-add-slot,.re-layout .react-flow__node .re-drop,.re-layout .react-flow__node .re-chip,.re-layout .react-flow__node button,.re-layout .react-flow__node input,.re-layout .react-flow__node textarea{pointer-events:auto}
