@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.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.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--bg:#f4f1e8;--panel:#fffdf8;--ink:#1b1f28;--muted:#5f6677;--line:#dfd7c2;--accent:#14655a;--accent-2:#f19f4d;--danger:#ac3a37;--shadow:0 18px 40px #1422381a}body[data-theme=ocean]{--bg:#e8f2f8;--panel:#f8fcff;--ink:#10233a;--muted:#4d627a;--line:#c7d6e7;--accent:#126d98;--accent-2:#48a8c9;--danger:#a63a47;--shadow:0 18px 40px #0e2e4f1f}body[data-theme=executive]{--bg:#eef0ef;--panel:#fdfefc;--ink:#1f2724;--muted:#5f6963;--line:#cfd5d1;--accent:#2f6653;--accent-2:#bb8a4f;--danger:#9a3a2e;--shadow:0 18px 40px #15231c1f}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 12% 18%, #fffaf0, transparent 45%), radial-gradient(circle at 90% 0%, #d8f0e7, transparent 35%), var(--bg);margin:0;font-family:Manrope,sans-serif}body[data-theme=ocean]{background:radial-gradient(circle at 10% 12%, #e8f8ff, transparent 44%), radial-gradient(circle at 95% 0%, #d8ebff, transparent 36%), var(--bg)}body[data-theme=executive]{background:radial-gradient(circle at 13% 18%, #f9f6ef, transparent 46%), radial-gradient(circle at 90% 0%, #e3eee8, transparent 35%), var(--bg)}#root{min-height:100vh}.app-shell{padding:1rem;position:relative}.app-shell:before,.app-shell:after{content:"";pointer-events:none;z-index:0;opacity:.35;border-radius:50%;width:220px;height:220px;position:fixed}.app-shell:before{background:radial-gradient(circle,#f0bf7f,#0000 65%);top:-70px;right:-40px}.app-shell:after{background:radial-gradient(circle,#89d4c4,#0000 65%);bottom:-70px;left:-40px}.app-header{z-index:1;border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(95deg,#fffdf7,#f2f8f6);border-radius:14px;margin-bottom:1rem;padding:1rem 1.2rem;animation:.35s fade-up;position:relative}.app-header h1{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,2.4vw,2.2rem)}.app-header p{color:var(--muted);margin:.35rem 0 0}.header-row{justify-content:space-between;align-items:start;gap:.8rem;display:flex}.header-stats{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.header-chip{color:#2e5c57;background:#ecf3f1;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.header-chip.ok{color:#1e6d58;background:#def6ee}.header-chip.warning{color:#8a5d1b;background:#fff1d6}.header-chip.error{color:#972d2a;background:#f7dddc}.toolbar-row{flex-wrap:wrap;gap:.45rem;display:flex}.theme-picker{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:.35rem;margin-top:0;padding:.25rem .4rem;display:inline-flex}.theme-picker span{color:var(--muted);font-size:.74rem;font-weight:700}.theme-picker select{border-radius:6px;min-width:106px;padding:.25rem .4rem}.toolbar-row .small-btn{transition:transform .18s,box-shadow .18s}.toolbar-row .small-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #1a31401f}.hidden-file-input{display:none}.notice{border-radius:10px;margin-bottom:.8rem;padding:.65rem .8rem;font-size:.9rem}.notice.warning{background:#ffefd9;border:1px solid #f2cb8d}.notice.error{background:#fbe4e2;border:1px solid #d6a2a0}.layout-grid{z-index:1;grid-template-columns:250px minmax(0,1fr) 340px;align-items:start;gap:.8rem;display:grid;position:relative}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:.8rem;transition:transform .2s,box-shadow .2s}.panel:hover{transform:translateY(-1px);box-shadow:0 14px 24px #12222f1f}.panel h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1rem}.panel p{color:var(--muted);margin:.4rem 0 .8rem;font-size:.88rem}.palette-list{gap:.45rem;display:grid}.palette-item{text-align:left;border:1px solid var(--line);cursor:grab;background:#fff;border-radius:10px;gap:.2rem;padding:.6rem .65rem;font-weight:700;transition:transform .16s,box-shadow .16s;display:grid}.palette-item:active{cursor:grabbing}.palette-item:hover{transform:translate(3px);box-shadow:0 8px 18px #182c3b1a}.palette-title{font-size:.84rem}.palette-icon{color:#524d41;letter-spacing:.4px;background:#f2efe7;border:1px solid #ddd3bf;border-radius:999px;width:fit-content;padding:.08rem .34rem;font-size:.65rem;font-weight:800}.palette-subtitle{color:var(--muted);font-size:.72rem;font-weight:600}.palette-start{border-left:4px solid #2f8f6e}.palette-task{border-left:4px solid #1f79b0}.palette-approval{border-left:4px solid #f0a62c}.palette-automated{border-left:4px solid #aa5936}.palette-end{border-left:4px solid #364a6f}.canvas-shell{border:1px solid var(--line);height:72vh;min-height:520px;box-shadow:var(--shadow);background:linear-gradient(125deg,#f7f4ec,#eff7f4);border-radius:12px;position:relative;overflow:hidden}.drop-burst{border:2px solid var(--accent-2);pointer-events:none;z-index:5;background:#f19f4d33;border-radius:50%;width:14px;height:14px;animation:.52s ease-out forwards burst-pop;position:absolute;transform:translate(-50%,-50%)}.canvas-shell .react-flow__node{transition:transform .18s}.canvas-shell .react-flow__node:hover{transform:translateY(-1px)}.canvas-shell .react-flow__edge-path{transition:stroke-width .15s}.canvas-shell .react-flow__edge:hover .react-flow__edge-path{stroke-width:3px}.workflow-node{background:#fffdf7;border:1px solid #d7ceb7;border-radius:10px;gap:.35rem;min-width:190px;padding:.5rem;animation:.28s ease-out node-pop;display:grid}.workflow-node.selected{box-shadow:0 0 0 2px #14655a59}.node-chip{border-radius:999px;width:fit-content;padding:.18rem .45rem;font-size:.7rem;font-weight:700}.chip-start{color:#1e6d58;background:#def6ee}.chip-task{color:#26557f;background:#ddeffc}.chip-approval{color:#946016;background:#fcefdc}.chip-automated{color:#8a4a2f;background:#f4e1d6}.chip-end{color:#344568;background:#e5e8f4}.node-title{font-size:.88rem}.node-id{color:var(--muted);font-size:.76rem}.right-rail{gap:.8rem;display:grid}.editor-panel,.sandbox-panel{animation:.3s fade-up}.panel-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.muted{color:var(--muted);font-size:.8rem}label{gap:.3rem;margin-top:.55rem;font-size:.8rem;display:grid}input,textarea,select{font:inherit;border:1px solid #d7ceb7;border-radius:8px;padding:.44rem .56rem}textarea{resize:vertical;min-height:70px}.small-btn,.run-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:.35rem .6rem;font-weight:700;transition:transform .17s,box-shadow .17s}.small-btn:hover,.run-btn:hover{transform:translateY(-1px);box-shadow:0 7px 14px #152d3d21}.run-btn{background:var(--accent);color:#fff;border-color:#0d5a50}.run-btn:disabled{opacity:.55;cursor:not-allowed}.small-btn.danger{color:var(--danger);border-color:#e3c1bf}.checkbox-row{grid-auto-flow:column;justify-content:start;align-items:center;gap:.5rem;display:flex}.kv-editor{margin-top:.65rem}.kv-list{gap:.35rem;display:grid}.kv-item{grid-template-columns:1fr 1fr auto;gap:.25rem;display:grid}.dynamic-fields{margin-top:.75rem;display:grid}.condition-builder{background:#fffdf6;border:1px solid #e2d8c1;border-radius:10px;margin-top:.35rem;padding:.55rem}.condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.4rem;display:grid}.condition-actions{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.condition-preview{color:#314a46;margin:.45rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.preset-row{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.preset-chip{cursor:pointer;color:#825522;background:#fff8ea;border:1px solid #d8ccb2;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700;transition:transform .15s,box-shadow .15s}.preset-chip:hover{transform:translateY(-1px);box-shadow:0 6px 12px #42311726}.issues-box{background:#fffbf4;border:1px dashed #d5cab1;border-radius:10px;margin:.6rem 0;padding:.55rem}.issues-box ul{margin:.45rem 0 0;padding-left:1rem}.error{color:#972d2a}.warning{color:#8a5d1b}.error-text{color:#972d2a;font-size:.82rem}.simulation-result ol{margin:.5rem 0 0;padding-left:1rem}.simulation-result li{margin:.3rem 0}.step-badge{border-radius:999px;margin-right:.25rem;padding:.1rem .35rem;font-size:.68rem;font-weight:700;display:inline-block}.step-badge.ok{color:#1e6d58;background:#def6ee}.step-badge.warning{color:#8a5d1b;background:#ffeecd}.step-badge.error{color:#972d2a;background:#f7dddc}.step-warning{color:#7f5b22}.step-error{color:#8e2f2d}.result-stats{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.stat-chip{border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.stat-chip.ok{color:#1e6d58;background:#def6ee}.stat-chip.warning{color:#8a5d1b;background:#ffeecd}.stat-chip.error{color:#972d2a;background:#f7dddc}.context-input{min-height:95px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.app-footer{z-index:1;border:1px solid var(--line);background:#fffef9;border-radius:10px;justify-content:space-between;gap:1rem;margin-top:.8rem;padding:.6rem .7rem;font-size:.8rem;display:flex;position:relative}.canvas-shell .highlighted-node{filter:drop-shadow(0 0 12px #2f8f6e99);animation:.6s ease-in-out infinite node-highlight}@keyframes node-highlight{0%,to{filter:drop-shadow(0 0 12px #2f8f6e99)}50%{filter:drop-shadow(0 0 20px #2f8f6e)}}.sandbox-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sandbox-header h2{background:linear-gradient(135deg,#2f8f6e,#1b5a50);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Space Grotesk,sans-serif;font-size:1.05rem}.context-section{margin:.65rem 0}.label-strong{color:#1a2f3d;font-size:.82rem;font-weight:800}.error-box{background:#fef5f4;border:1px solid #f5c8c5}.error-box strong{color:#972d2a}.result-summary{margin:.6rem 0}.summary-card{background:linear-gradient(135deg,#f0fbf8,#f5faf7);border:1px solid #d5e8e3;border-radius:12px;padding:.8rem}.summary-card.success{border-color:#a8d5ca}.summary-card.warning{background:linear-gradient(135deg,#fffbf2,#fff9f0);border-color:#ffd699}.summary-title{color:#1a3d38;margin-bottom:.4rem;font-size:.95rem;font-weight:800}.summary-stats{flex-wrap:wrap;gap:.5rem;display:flex}.stat-badge{border-radius:10px;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.8rem;font-weight:700;display:flex}.stat-badge.ok{color:#1e6d58;background:#def6ee}.stat-badge.warning{color:#8a5d1b;background:#fff3d9}.stat-badge.error{color:#972d2a;background:#f7dddc}.stat-icon{font-size:.9rem}.animation-controls{background:linear-gradient(135deg,#f8fcfb,#fafbfa);border:1px solid #d8e5e1;border-radius:12px;gap:.5rem;margin:.6rem 0;padding:.75rem;display:grid}.step-progress{gap:.35rem;display:grid}.step-counter{color:#2f5c58;font-size:.8rem;font-weight:700}.progress-bar{background:#e0e8e5;border:1px solid #cdd8d4;border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2f8f6e,#1b6b5d);border-radius:999px;height:100%;transition:width .3s}.animation-buttons{gap:.35rem;display:flex}.step-btn{color:#2f5c58;cursor:pointer;background:#fff;border:1px solid #d0ddd9;border-radius:8px;flex:1;padding:.4rem .5rem;font-size:.82rem;font-weight:700;transition:all .18s}.step-btn:hover:not(:disabled){background:#f0f9f7;border-color:#a8d5ca;transform:translateY(-1px);box-shadow:0 4px 10px #2f8f6e26}.step-btn:disabled{opacity:.45;cursor:not-allowed}.step-btn.secondary{color:#a05832;background:#ffe8dd;border-color:#f5cfc2}.step-btn.secondary:hover:not(:disabled){background:#ffd9c4;border-color:#e5b5a3}.speed-control{color:#2f5c58;align-items:center;gap:.4rem;margin-top:0;font-size:.8rem;font-weight:700;display:flex}.speed-control select{background:#fff;border:1px solid #d0ddd9;border-radius:6px;padding:.3rem .4rem;font-size:.8rem}.current-step-highlight{margin:.6rem 0}.highlight-card{background:linear-gradient(135deg,#f0fbf8,#f8fcfb);border:1px solid #d0e8e2;border-radius:10px;gap:.35rem;padding:.7rem;display:grid}.highlight-label{color:#1b5a50;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:800}.highlight-content{color:#2f5c58;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.step-icon{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:800;display:flex}.step-icon.ok{color:#1e6d58;background:#def6ee}.step-icon.warning{color:#8a5d1b;background:#fff3d9}.step-icon.error{color:#972d2a;background:#f7dddc}.steps-timeline{margin-top:.8rem}.steps-timeline>strong{color:#1a3d38;margin-bottom:.45rem;font-size:.85rem;display:block}.steps-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.step-item{cursor:pointer;background:#fafbfa;border:1px solid #e5e8e6;border-radius:9px;align-items:center;gap:.4rem;padding:.5rem .6rem;font-size:.82rem;transition:all .18s;display:flex}.step-item:hover{background:#f5f9f7;border-color:#d0ddd9;transform:translate(2px)}.step-item.active{background:linear-gradient(135deg,#f0fbf8,#f5faf7);border-color:#a8d5ca;box-shadow:0 4px 12px #2f8f6e1f}.step-item.step-ok{border-left:3px solid #1e6d58}.step-item.step-warning{border-left:3px solid #8a5d1b}.step-item.step-error{border-left:3px solid #972d2a}.step-text{color:#2f5c58;flex:1}.run-btn.primary{color:#fff;background:linear-gradient(135deg,#2f8f6e,#1b5a50);border-color:#0d5a50;font-weight:800;transition:all .2s}.run-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#3da07c,#1f6d5c);transform:translateY(-2px);box-shadow:0 8px 20px #2f8f6e40}.run-btn.primary:disabled{opacity:.5;cursor:not-allowed}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes node-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes burst-pop{0%{opacity:.95;transform:translate(-50%,-50%)scale(.45)}to{opacity:0;transform:translate(-50%,-50%)scale(3.2)}}.tour-backdrop{z-index:20;background:#101a2880;place-items:center;padding:1rem;animation:.22s fade-up;display:grid;position:fixed;inset:0}.tour-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(540px,100%);padding:1rem;box-shadow:0 24px 48px #07142347}.shortcut-card{width:min(560px,100%)}.shortcut-list{gap:.42rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.shortcut-list li{background:#fff8ea;border:1px solid #dfd4be;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.42rem .5rem;font-size:.82rem;display:flex}.shortcut-list kbd{text-align:center;background:#fff;border:1px solid #d3cab5;border-radius:6px;min-width:90px;padding:.15rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:800}.tour-progress{color:#1c6b57;background:#e8f5f1;border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.tour-card h3{margin:.55rem 0 .35rem;font-family:Space Grotesk,sans-serif;font-size:1.2rem}.tour-card p{color:var(--muted);margin:0}.tour-dots{gap:.3rem;margin-top:.75rem;display:flex}.tour-dot{background:#d8ddd9;border-radius:50%;width:10px;height:10px}.tour-dot.active{background:var(--accent)}.tour-actions{justify-content:flex-end;gap:.45rem;margin-top:.9rem;display:flex}@media (width<=1100px){.layout-grid{grid-template-columns:220px minmax(0,1fr)}.right-rail{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.layout-grid{grid-template-columns:1fr}.header-row{flex-direction:column}.theme-picker{justify-content:space-between;width:100%}.canvas-shell{height:56vh;min-height:420px}.right-rail,.condition-grid{grid-template-columns:1fr}.app-footer{flex-direction:column}}
