.fs-studio{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden;box-shadow:0 18px 44px color-mix(in srgb,var(--bg) 78%,var(--line))}
.fs-studio button,.fs-studio input,.fs-studio textarea,.fs-studio select{font:inherit}
.fs-studio-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,var(--panel2),var(--panel))}
.fs-studio-head>div:first-child{display:grid;gap:2px}.fs-studio-head strong{color:var(--ink);font-size:15px}.fs-kicker,.fs-panel-head span,.fs-field-kicker,.fs-toolbar label,.fs-canvas-head>span{color:var(--cyan);font:10px "JetBrains Mono",monospace;letter-spacing:.07em;text-transform:uppercase}
.fs-head-states{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.fs-head-states span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg2);color:var(--muted);font:10px "JetBrains Mono",monospace}.fs-head-states .is-complete{border-color:var(--green);color:var(--green)}.fs-head-states .is-error{border-color:var(--red);color:var(--red)}
.fs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg2)}.fs-toolbar-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fs-toolbar select,.fs-inspector select{min-height:34px;padding:6px 28px 6px 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--ink);outline:0}.fs-toolbar select:focus,.fs-inspector select:focus{border-color:var(--cyan)}
.fs-button,.fs-icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--ink);font-size:11px!important;font-weight:700;cursor:pointer;transition:border-color .16s,color .16s,background .16s,transform .16s}.fs-button:hover,.fs-icon-button:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}.fs-button:focus-visible,.fs-icon-button:focus-visible,.fs-palette-item:focus-visible,.fs-node:focus-visible,.fs-port:focus-visible,.fs-edge:focus-visible{outline:3px solid color-mix(in srgb,var(--cyan) 34%,var(--bg));outline-offset:2px}.fs-button:disabled,.fs-icon-button:disabled{opacity:.42;cursor:not-allowed;transform:none}.fs-button-primary{border-color:var(--cyan);background:var(--cyan);color:var(--bg)}.fs-button-primary:hover{color:var(--bg)}.fs-button-danger{border-color:color-mix(in srgb,var(--red) 55%,var(--line));color:var(--red)}.fs-button-connect[aria-pressed="true"]{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 13%,var(--panel2));color:var(--amber)}
.fs-layout{display:grid;grid-template-columns:178px minmax(0,1fr) 250px;min-height:680px}.fs-palette,.fs-inspector{min-width:0;padding:14px;background:var(--panel)}.fs-palette{border-right:1px solid var(--line)}.fs-inspector{border-left:1px solid var(--line);overflow:auto}.fs-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:11px}.fs-panel-head small{color:var(--muted);font-size:9px;text-align:right}
.fs-palette-item{display:flex;align-items:center;gap:9px;width:100%;margin:7px 0;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--bg2);color:var(--ink);text-align:left;cursor:grab;touch-action:none;user-select:none;transition:border-color .16s,background .16s,transform .16s}.fs-palette-item:hover,.fs-palette-item[aria-pressed="true"]{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,var(--bg2));transform:translateY(-1px)}.fs-palette-item>span:last-child{min-width:0}.fs-palette-item b,.fs-palette-item small{display:block}.fs-palette-item b{font-size:11px}.fs-palette-item small{margin-top:2px;color:var(--muted);font-size:9px}.fs-palette-mark{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 42px;height:30px;border:1px solid var(--cyan);background:var(--panel2);color:var(--cyan);font:700 8px "JetBrains Mono",monospace}.fs-palette-item[data-flow-type="start"] .fs-palette-mark,.fs-palette-item[data-flow-type="end"] .fs-palette-mark{border-color:var(--green);border-radius:18px;color:var(--green)}.fs-palette-item[data-flow-type="io"] .fs-palette-mark{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border:0;background:var(--violet);color:var(--bg2)}.fs-palette-item[data-flow-type="decision"] .fs-palette-mark{width:30px;flex-basis:30px;height:30px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:0;background:var(--amber);color:var(--bg2)}.fs-palette-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.55}
.fs-workspace{display:flex;min-width:0;flex-direction:column;background:var(--bg2)}.fs-canvas-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:47px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.fs-zoom{display:flex;align-items:center;gap:5px}.fs-zoom output{min-width:46px;color:var(--muted);font:10px "JetBrains Mono",monospace;text-align:center}.fs-icon-button{width:34px;padding:0;font-size:17px!important}
.fs-canvas{position:relative;flex:1;min-height:590px;overflow:auto;overscroll-behavior:contain;background-color:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--muted) 24%,var(--bg)) 1px,var(--bg) 1px);background-size:20px 20px;touch-action:pan-x pan-y;outline:0}.fs-canvas:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--cyan) 45%,var(--bg))}.fs-sizer{position:relative;min-width:100%;min-height:100%}.fs-world{position:absolute;left:0;top:0;width:1800px;height:1100px;transform-origin:top left}.fs-edge-layer,.fs-node-layer{position:absolute;inset:0;width:100%;height:100%}.fs-node-layer{pointer-events:none}
.fs-empty-canvas{position:absolute;left:50%;top:45%;width:340px;max-width:80%;padding:18px;border:1px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,var(--bg));color:var(--muted);font-size:13px;line-height:1.55;text-align:center;transform:translate(-50%,-50%);pointer-events:none}.fs-empty-canvas b{display:block;margin-bottom:5px;color:var(--cyan)}
.fs-node{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:grab;touch-action:none;user-select:none;outline:0}.fs-node.is-dragging{cursor:grabbing;z-index:8}.fs-node-shape{position:absolute;inset:0;background:var(--panel2);border:2px solid var(--cyan);border-radius:5px;box-shadow:0 7px 16px color-mix(in srgb,var(--bg) 72%,var(--line))}.fs-node-label{position:relative;z-index:2;display:-webkit-box;max-width:82%;max-height:58px;overflow:hidden;color:var(--ink);font:700 12px/1.3 "Manrope",sans-serif;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.fs-node-id{position:absolute;right:8px;bottom:5px;z-index:2;color:var(--muted);font:8px "JetBrains Mono",monospace}.fs-node-start .fs-node-shape,.fs-node-end .fs-node-shape{border-color:var(--green);border-radius:999px;background:color-mix(in srgb,var(--green) 8%,var(--panel2))}.fs-node-io .fs-node-shape{border:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:var(--violet)}.fs-node-io .fs-node-shape::after{content:"";position:absolute;inset:2px;clip-path:inherit;background:var(--panel2)}.fs-node-decision .fs-node-shape{border:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:var(--amber)}.fs-node-decision .fs-node-shape::after{content:"";position:absolute;inset:2px;clip-path:inherit;background:var(--panel2)}.fs-node.is-selected::after{content:"";position:absolute;inset:-7px;border:2px dashed var(--cyan);border-radius:10px;pointer-events:none}.fs-node-start.is-selected::after,.fs-node-end.is-selected::after{border-radius:999px}.fs-node.is-selected .fs-node-shape{box-shadow:0 0 0 4px color-mix(in srgb,var(--cyan) 18%,var(--bg)),0 8px 18px color-mix(in srgb,var(--bg) 72%,var(--line))}
.fs-port{position:absolute;z-index:10;width:16px;height:16px;padding:0;border:3px solid var(--bg);border-radius:50%;background:var(--muted);cursor:crosshair;pointer-events:auto;touch-action:none}.fs-port:hover,.fs-port:focus-visible{background:var(--cyan);transform:scale(1.2)}.fs-port[data-port="n"]{left:50%;top:-8px;transform:translateX(-50%)}.fs-port[data-port="e"]{right:-8px;top:50%;transform:translateY(-50%)}.fs-port[data-port="s"]{left:50%;bottom:-8px;transform:translateX(-50%)}.fs-port[data-port="w"]{left:-8px;top:50%;transform:translateY(-50%)}.fs-port[data-port="n"]:hover,.fs-port[data-port="n"]:focus-visible,.fs-port[data-port="s"]:hover,.fs-port[data-port="s"]:focus-visible{transform:translateX(-50%) scale(1.2)}.fs-port[data-port="e"]:hover,.fs-port[data-port="e"]:focus-visible,.fs-port[data-port="w"]:hover,.fs-port[data-port="w"]:focus-visible{transform:translateY(-50%) scale(1.2)}.fs-port.is-source{background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 28%,var(--bg))}
.fs-edge{cursor:pointer;outline:0}.fs-edge-visible{fill:none;stroke:var(--muted);stroke-width:2;vector-effect:non-scaling-stroke}.fs-edge-hit{fill:none;stroke:var(--bg);stroke-width:16;opacity:0;pointer-events:stroke;vector-effect:non-scaling-stroke}.fs-edge:hover .fs-edge-visible,.fs-edge.is-selected .fs-edge-visible{stroke:var(--cyan);stroke-width:3}.fs-edge-label{fill:var(--ink);stroke:var(--bg);stroke-width:6;paint-order:stroke;stroke-linejoin:round;font:700 11px "JetBrains Mono",monospace;text-anchor:middle;dominant-baseline:central;pointer-events:none}.fs-edge.is-selected .fs-edge-label{fill:var(--cyan)}.fs-arrow-head{fill:var(--muted)}
.fs-status{min-height:39px;padding:10px 12px;border-top:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:11px;line-height:1.55}.fs-status.is-good{color:var(--green)}.fs-status.is-bad{color:var(--red)}
.fs-inspector label,.fs-connect-panel>label{display:block;margin:9px 0 5px;color:var(--muted);font-size:10px}.fs-inspector textarea,.fs-inspector input[type="text"],.fs-inspector input[type="number"]{min-height:35px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--bg2);color:var(--ink);font:11px/1.5 "JetBrains Mono",monospace;outline:0}.fs-inspector textarea{min-height:72px;resize:vertical}.fs-inspector textarea:focus,.fs-inspector input:focus{border-color:var(--cyan)}.fs-empty-inspector{padding:11px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:10px;line-height:1.55}.fs-inspector-section{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--bg2)}.fs-inspector-section strong{display:block;margin:4px 0 9px;color:var(--ink);font-size:12px;overflow-wrap:anywhere}.fs-coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.fs-coordinate-grid label{margin-bottom:0}.fs-coordinate-grid input{margin-top:4px}.fs-delete-selected{width:100%;margin-top:10px}.fs-connect-panel{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.fs-connect-panel select{width:100%}.fs-connect-panel .fs-button{width:100%;margin-top:10px}.fs-connect-panel input{width:100%}
.fs-drag-ghost{position:fixed;z-index:10000;max-width:180px;padding:8px 12px;border:1px solid var(--cyan);border-radius:8px;background:var(--panel2);color:var(--ink);font:700 11px "Manrope",sans-serif;box-shadow:0 10px 28px color-mix(in srgb,var(--bg) 72%,var(--line));pointer-events:none;transform:translate(12px,12px)}
.fs-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1050px){.fs-layout{grid-template-columns:170px minmax(0,1fr)}.fs-inspector{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(270px,1.3fr);gap:14px;border-top:1px solid var(--line);border-left:0}.fs-inspector>.fs-panel-head,.fs-inspector>.fs-delete-selected{grid-column:1}.fs-empty-inspector,.fs-inspector-section{grid-column:1}.fs-connect-panel{grid-column:2;grid-row:1/5;margin:0;padding:0 0 0 14px;border-top:0;border-left:1px solid var(--line)}}
@media(max-width:760px){.fs-studio-head{align-items:flex-start;flex-direction:column}.fs-head-states{justify-content:flex-start}.fs-toolbar{align-items:stretch;flex-direction:column}.fs-toolbar-group{width:100%}.fs-toolbar-group .fs-button{flex:1}.fs-example-tools select{flex:1;min-width:0}.fs-layout{display:block}.fs-palette{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-right:0;border-bottom:1px solid var(--line)}.fs-palette>.fs-panel-head,.fs-palette-note{grid-column:1/-1}.fs-palette-item{margin:0}.fs-canvas{min-height:520px;max-height:70vh}.fs-inspector{display:block}.fs-connect-panel{margin-top:16px;padding:14px 0 0;border-top:1px solid var(--line);border-left:0}.fs-canvas-head{align-items:flex-start;flex-direction:column}.fs-zoom{width:100%}.fs-zoom .fs-button{margin-left:auto}.fs-status{min-height:54px}}
@media(max-width:460px){.fs-palette{grid-template-columns:1fr}.fs-palette>.fs-panel-head,.fs-palette-note{grid-column:1}.fs-palette-item{min-height:52px}.fs-toolbar-group .fs-button{flex:1 1 42%}.fs-example-tools label{width:100%}.fs-canvas{min-height:470px}.fs-node-label{font-size:11px}.grid3 .info-card{margin:0}}
@media(prefers-reduced-motion:reduce){.fs-button,.fs-icon-button,.fs-palette-item{transition:none}.fs-button:hover,.fs-icon-button:hover,.fs-palette-item:hover{transform:none}}

.fs-button-primary,.fs-button-primary:hover,.fs-palette-item[data-flow-type="io"] .fs-palette-mark,.fs-palette-item[data-flow-type="decision"] .fs-palette-mark{color:var(--accent-ink)}
.fs-button-connect[aria-pressed="true"]{color:var(--ink)}
