:root{--bg:#f4f4f6;--bg-center:#fcfcfd;--grid:#e4e4ea;--grid-strong:#d2d2da;--panel:#fff;--text:#1b1b1f;--muted:#6b6b76;--border:#d4d4db;--accent:#3b6cf6;--warning:#e08a00;--error:#d93838;--type-float:#3b9c6c;--type-int:#2f8fa8;--type-segment:#d9772b;--type-bigfloat:#8a5cf5;--type-bigint:#b04fc0;--type-any:#8a8a96;--shadow:0 4px 16px #0000001f;--gap:8px;--radius:6px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:13px/1.4 system-ui,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16161a;--bg-center:#202027;--grid:#222228;--grid-strong:#2e2e36;--panel:#222228;--text:#e8e8ee;--muted:#9a9aa6;--border:#3a3a44;--accent:#6d93ff;--warning:#f0a830;--error:#ff6464;--shadow:0 4px 16px #00000080}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit;color:inherit}.app{flex-direction:column;height:100%;display:flex}.main-menu{align-items:center;gap:var(--gap);padding:var(--gap);background:var(--panel);border-bottom:1px solid var(--border);z-index:3;display:flex}.brand{padding:0 var(--gap);font-weight:600}.menu{position:relative}.menu-end{gap:var(--gap);margin-left:auto;display:flex}.menu-button,.menu-entry,.icon-button{border-radius:var(--radius);padding:4px var(--gap);cursor:pointer;background:0 0;border:1px solid #0000}.menu-button:hover,.menu-button.open,.menu-entry:hover,.icon-button:hover{background:var(--bg);border-color:var(--border)}.menu-list{gap:var(--gap);min-width:200px;padding:var(--gap);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px)}.menu-list.left{left:0}.menu-list.right{right:0}.menu-group{flex-direction:column;display:flex}.menu-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 var(--gap) 4px;font-size:11px}.menu-entry{text-align:left}.stage{flex:1;min-height:0;position:relative}.canvas{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.world{transform-origin:0 0;position:absolute;top:0;left:0}.empty{color:var(--muted);pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;inset:0}.links{width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.link-hit{fill:none;stroke:#0000;stroke-width:12px;cursor:pointer}.link-line{fill:none;stroke:var(--muted);stroke-width:2px;pointer-events:none}.link.selected .link-line{stroke:var(--accent);stroke-width:3px}.link-convert{fill:var(--panel);stroke:var(--muted);stroke-width:2px;cursor:pointer}.link-convert:hover{stroke:var(--accent)}.link-line.pending{stroke-dasharray:6 4}.node{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:140px;box-shadow:var(--shadow);cursor:default;flex-direction:column;display:flex;position:absolute}.node.selected{outline:2px solid var(--accent)}.node.warning{border-color:var(--warning);box-shadow:0 0 0 2px var(--warning), var(--shadow)}.node.error{border-color:var(--error);box-shadow:0 0 0 2px var(--error), var(--shadow)}.node-title{align-items:center;gap:var(--gap);padding:4px 4px 4px var(--gap);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;cursor:move;-webkit-user-select:none;user-select:none;font-weight:600;display:flex;position:relative}.node-name{flex:1}.node-help-button{width:18px;height:18px;color:inherit;cursor:pointer;visibility:hidden;background:0 0;border:none;border-radius:4px;place-items:center;padding:0;font-size:12px;font-weight:700;display:grid}.node:hover .node-help-button,.node-help-button.open{visibility:visible}@media (hover:none){.node-help-button{visibility:visible}}.node-help-button:hover,.node-help-button.open{background:color-mix(in srgb, currentColor 25%, transparent)}.node-help{width:280px;padding:var(--gap);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:default;z-index:1;margin:0;font-size:12px;font-weight:400;position:absolute;top:calc(100% + 4px);left:0}.node.helping{z-index:1}.slot{align-items:center;gap:var(--gap);padding:2px var(--gap);-webkit-user-select:none;user-select:none;display:flex;position:relative}.slot.output{justify-content:flex-end}.slot-value{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.dot{border:2px solid var(--panel);background:var(--muted);cursor:crosshair;border-radius:50%;flex:none;width:12px;height:12px}.slot.input .dot{margin-left:calc(-1 * var(--gap) - 6px)}.slot.output .dot{margin-right:calc(-1 * var(--gap) - 6px)}.dot.type-list-float{background:var(--type-float)}.dot.type-list-int{background:var(--type-int)}.dot.type-list-segment{background:var(--type-segment)}.dot.type-bigfloat{background:var(--type-bigfloat)}.dot.type-bigint{background:var(--type-bigint)}.dot.type-list-any{background:var(--type-any)}.dot.target{outline:3px solid var(--accent)}.node-param{padding:4px var(--gap)}.node-body{margin:4px var(--gap) var(--gap);border:1px solid var(--border);position:relative;overflow:hidden}.resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 50%, var(--muted) 50%);width:14px;height:14px;position:absolute;bottom:0;right:0}.table-view{font-variant-numeric:tabular-nums;background:var(--panel);font-size:12px;overflow:auto}.table-row{gap:var(--gap);width:max-content;padding:0 var(--gap);white-space:nowrap;align-items:center;display:grid}.table-row span{text-overflow:ellipsis;text-align:right;overflow:hidden}.table-head{z-index:1;background:var(--bg);height:20px;color:var(--muted);border-bottom:1px solid var(--border);position:sticky;top:0}.table-rank{color:var(--muted)}.field-number,.field-text{background:var(--bg);border:1px solid var(--border);border-radius:4px;width:100%;min-width:0;padding:3px 6px}.field-text{font-family:ui-monospace,Consolas,monospace}.field-slider{align-items:center;gap:var(--gap);display:flex}.field-slider input[type=range]{flex:1;min-width:80px}.field-slider .field-number{width:64px}.field-choice{background:var(--bg);border:1px solid var(--border);width:100%;font:inherit;color:inherit;border-radius:4px;padding:3px 6px}.field-color{border:1px solid var(--border);background:0 0;border-radius:4px;width:48px;height:24px;padding:0}.floating{z-index:2;width:300px;max-width:calc(100% - 2 * var(--gap));max-height:calc(100% - 2 * var(--gap));background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute}.floating-bar{align-items:center;gap:var(--gap);padding:4px 4px 4px var(--gap);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.floating-title{align-items:center;gap:var(--gap);flex-wrap:wrap;flex:1;font-weight:600;display:flex}.floating-body{padding:var(--gap);border-top:1px solid var(--border);overflow:auto}.hint{color:var(--muted);margin:0}.params{gap:var(--gap);flex-direction:column;display:flex}.param{flex-direction:column;gap:2px;display:flex}.param-label{color:var(--muted)}.search-menu{z-index:4;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:240px;box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute}.search-field{margin:var(--gap);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:4px 6px}.search-list{gap:var(--gap);max-height:320px;padding:var(--gap);border-top:1px solid var(--border);flex-direction:column;display:flex;overflow:auto}.search-list .hint{padding:0 var(--gap)}.search-entry{text-align:left;padding:4px var(--gap);cursor:pointer;background:0 0;border:none;border-radius:4px}.search-entry.active{background:var(--accent);color:#fff}.count{color:#fff;border-radius:10px;padding:0 6px;font-size:12px;font-weight:400}.count.error{background:var(--error)}.count.warning{background:var(--warning)}.count.info{background:var(--muted)}.console{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.console-line{padding:2px 0 2px var(--gap);border-left:3px solid var(--muted);cursor:pointer}.console-line.error{border-color:var(--error)}.console-line.warning{border-color:var(--warning)}.console-node{font-weight:600}.toast{left:50%;bottom:var(--gap);z-index:3;padding:var(--gap) calc(2 * var(--gap));background:var(--panel);border:1px solid var(--error);border-radius:var(--radius);box-shadow:var(--shadow);position:absolute;transform:translate(-50%)}
