.page.svelte-121kn7c{color:#fff;background:#050505;min-height:100vh;padding:1rem 1.25rem 2rem;font-family:system-ui,sans-serif}.top.svelte-121kn7c{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.title.svelte-121kn7c{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.eyebrow.svelte-121kn7c{color:#2dd4bf;text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:.7rem}h1.svelte-121kn7c{letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,3.5vw,1.9rem)}.name-input.svelte-121kn7c{color:#fff;background:0 0;border:1px solid #ffffff2e;border-radius:.35rem;min-width:12rem;padding:.3rem .55rem;font-size:.85rem}.toolbar.svelte-121kn7c{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.btn.svelte-121kn7c{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:999px;align-items:center;padding:.4rem .85rem;font-size:.82rem;text-decoration:none;display:inline-flex}.btn.svelte-121kn7c:hover:not(:disabled){background:#ffffff1f}.btn.primary.svelte-121kn7c{background:#2dd4bf38;border-color:#2dd4bf80}.btn.danger.svelte-121kn7c{background:#ef44442e;border-color:#ef444473}.btn.small.svelte-121kn7c{padding:.28rem .65rem;font-size:.75rem}.menu.svelte-121kn7c{position:relative}.menu.svelte-121kn7c summary:where(.svelte-121kn7c){cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:999px;padding:.4rem .85rem;font-size:.82rem;list-style:none}.menu.svelte-121kn7c summary:where(.svelte-121kn7c)::-webkit-details-marker{display:none}.menu-body.svelte-121kn7c{z-index:30;background:#111;border:1px solid #ffffff2e;border-radius:.5rem;flex-direction:column;min-width:13rem;padding:.3rem;display:flex;position:absolute;top:calc(100% + 4px);left:0}.menu-item.svelte-121kn7c{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.35rem .6rem;font-size:.8rem}.menu-item.svelte-121kn7c:hover{background:#ffffff1a}.popover.svelte-121kn7c{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:.65rem;margin-top:.75rem;padding:.85rem 1rem}.popover.svelte-121kn7c h3:where(.svelte-121kn7c){text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;margin:0 0 .5rem;font-size:.85rem}.popover.svelte-121kn7c textarea:where(.svelte-121kn7c){color:#fff;background:#111;border:1px solid #ffffff2e;border-radius:.5rem;width:100%;padding:.5rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.error.svelte-121kn7c{color:#fca5a5;font-size:.82rem}.empty.svelte-121kn7c{color:#ffffff80;margin:0}.row.svelte-121kn7c{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.workspace.svelte-121kn7c{grid-template-columns:14rem 1fr 19rem;gap:.75rem;min-height:60vh;margin-top:1rem;display:grid}@media (width<=80rem){.workspace.svelte-121kn7c{grid-template-columns:12rem 1fr 16rem}}@media (width<=60rem){.workspace.svelte-121kn7c{grid-template-columns:1fr}}.palette.svelte-121kn7c{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:.65rem;max-height:80vh;padding:.75rem;overflow-y:auto}.palette.svelte-121kn7c h2:where(.svelte-121kn7c){text-transform:uppercase;letter-spacing:.1em;color:#fff9;margin:0 0 .5rem;font-size:.8rem}.palette-family.svelte-121kn7c{margin-top:.6rem}.palette-family.svelte-121kn7c h3:where(.svelte-121kn7c){text-transform:uppercase;letter-spacing:.12em;color:#fff6;margin:0 0 .3rem;font-size:.66rem}.palette.svelte-121kn7c ul:where(.svelte-121kn7c){flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.op-chip.svelte-121kn7c{color:#fff;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.35rem;justify-content:space-between;align-items:center;width:100%;padding:.3rem .55rem;font-size:.78rem;display:flex}.op-chip.svelte-121kn7c:hover{background:#2dd4bf26}.op-label.svelte-121kn7c{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.op-status.svelte-121kn7c{border-radius:.2rem;padding:.05rem .35rem;font-size:.6rem}.status-mvp.svelte-121kn7c{color:#5eead4;background:#2dd4bf2e}.status-planned.svelte-121kn7c{color:#fcd34d;background:#fbbf242e}.status-future.svelte-121kn7c{color:#cbd5e1;background:#94a3b82e}.canvas.svelte-121kn7c{-webkit-user-select:none;user-select:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:24px 24px;border:1px solid #ffffff1f;border-radius:.65rem;min-height:60vh;position:relative;overflow:hidden}.empty-canvas.svelte-121kn7c{color:#ffffff73;text-align:center;pointer-events:none;place-items:center;font-size:.85rem;display:grid;position:absolute;inset:0}.wires.svelte-121kn7c{position:absolute;inset:0;overflow:visible}.wire.svelte-121kn7c{fill:none;stroke:#2dd4bfb3;stroke-width:2px;cursor:pointer}.wire.svelte-121kn7c:hover{stroke:#2dd4bf}.wire.selected.svelte-121kn7c{stroke:#f97316;stroke-width:3px}.wire.invalid.svelte-121kn7c{stroke:#ef4444;stroke-dasharray:4 3}.wire.dragging.svelte-121kn7c{stroke:#ffffff80;stroke-dasharray:4 2;pointer-events:none}.node.svelte-121kn7c{z-index:2;background:#0a0a0a;border:1px solid #ffffff29;border-radius:.5rem;width:180px;font-size:.78rem;position:absolute;box-shadow:0 6px 18px #0006}.node.selected.svelte-121kn7c{border-color:#2dd4bf;box-shadow:0 0 0 2px #2dd4bf66}.node[data-family=SIGNAL].svelte-121kn7c{border-left:3px solid #38bdf8}.node[data-family=MATH].svelte-121kn7c{border-left:3px solid #fbbf24}.node[data-family=TEXTURE].svelte-121kn7c{border-left:3px solid #ec4899}.node[data-family=CONTROL].svelte-121kn7c{border-left:3px solid #c084fc}.node[data-family=OUTPUT].svelte-121kn7c{border-left:3px solid #4ade80}.node-head.svelte-121kn7c{cursor:grab;background:#ffffff0a;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.4rem;padding:.35rem .55rem;display:flex}.node-head.svelte-121kn7c:active{cursor:grabbing}.family-tag.svelte-121kn7c{color:#ffffffa6;letter-spacing:.08em;background:#ffffff1a;border-radius:.2rem;padding:.05rem .3rem;font-size:.55rem}.node-label.svelte-121kn7c{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.node-body.svelte-121kn7c{grid-template-columns:1fr 1fr;padding:.3rem 0;display:grid}.ports.svelte-121kn7c{flex-direction:column;gap:2px;display:flex}.ports.in.svelte-121kn7c{align-items:flex-start;padding-left:.4rem}.ports.out.svelte-121kn7c{align-items:flex-end;padding-right:.4rem}.port.svelte-121kn7c{all:unset;color:#ffffffbf;cursor:pointer;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.port.svelte-121kn7c:hover{color:#2dd4bf}.port.svelte-121kn7c .dot:where(.svelte-121kn7c){background:#1f2937;border:1px solid #ffffff4d;border-radius:50%;width:9px;height:9px;transition:background 80ms,border-color 80ms}.port.svelte-121kn7c:hover .dot:where(.svelte-121kn7c){background:#2dd4bf;border-color:#2dd4bf}.port.in.svelte-121kn7c .dot:where(.svelte-121kn7c){margin-left:-6px}.port.out.svelte-121kn7c .dot:where(.svelte-121kn7c){margin-right:-6px}.port-name.svelte-121kn7c{letter-spacing:.02em}.port-value.svelte-121kn7c{font-variant-numeric:tabular-nums;color:#5eead4;background:#2dd4bf1f;border-radius:.2rem;margin-right:.25rem;padding:.05rem .3rem;font-size:.65rem}.inspector.svelte-121kn7c{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:.65rem;flex-direction:column;gap:.5rem;max-height:80vh;padding:.75rem;display:flex;overflow-y:auto}.inspector.svelte-121kn7c h2:where(.svelte-121kn7c){text-transform:uppercase;letter-spacing:.1em;color:#fff9;margin:0;font-size:.8rem}.kv.svelte-121kn7c{color:#fffc;gap:.4rem;margin:0;font-size:.78rem;display:flex}.kv.svelte-121kn7c span:where(.svelte-121kn7c){color:#ffffff80;min-width:4rem}.field.svelte-121kn7c{flex-direction:column;gap:.2rem;display:flex}.field.svelte-121kn7c label:where(.svelte-121kn7c){text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;gap:.3rem;font-size:.66rem;display:flex}.field.svelte-121kn7c label:where(.svelte-121kn7c) .t:where(.svelte-121kn7c){color:#fff6;text-transform:lowercase;letter-spacing:.02em}.field.svelte-121kn7c input[type=text]:where(.svelte-121kn7c),.field.svelte-121kn7c input[type=number]:where(.svelte-121kn7c),.field.svelte-121kn7c input[type=color]:where(.svelte-121kn7c){color:#fff;background:#111;border:1px solid #ffffff2e;border-radius:.35rem;padding:.35rem .5rem;font-size:.82rem}.check.svelte-121kn7c{color:#fffc;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.params.svelte-121kn7c{border-top:1px solid #ffffff14;flex-direction:column;gap:.45rem;margin-top:.4rem;padding-top:.4rem;display:flex}.params.svelte-121kn7c h3:where(.svelte-121kn7c){text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c;margin:0;font-size:.72rem}.inspector-actions.svelte-121kn7c{border-top:1px solid #ffffff1a;padding-top:.5rem}.validation.svelte-121kn7c{border-radius:.55rem;margin-top:.75rem;padding:.6rem .85rem;font-size:.82rem}.validation[data-state=ok].svelte-121kn7c{background:#2dd4bf14;border:1px solid #2dd4bf4d}.validation[data-state=errors].svelte-121kn7c{background:#ef444414;border:1px solid #ef444459}.validation.svelte-121kn7c .ok:where(.svelte-121kn7c){color:#5eead4;margin:0}.validation.svelte-121kn7c .err:where(.svelte-121kn7c){color:#fca5a5;margin:0}.validation.svelte-121kn7c ul:where(.svelte-121kn7c){color:#ffffffbf;margin:.4rem 0 0;padding-left:1.2rem}.warnings.svelte-121kn7c summary:where(.svelte-121kn7c){cursor:pointer;color:#ffffff8c;margin-top:.35rem;font-size:.78rem}.warnings.svelte-121kn7c ul:where(.svelte-121kn7c){color:#fff9}.advanced.svelte-121kn7c{margin-top:.75rem}.disclosure.svelte-121kn7c{color:#ffffff8c;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem}.json.svelte-121kn7c{color:#ffffffb3;white-space:pre;background:#060606;border:1px solid #ffffff1f;border-radius:.5rem;max-height:30vh;margin:.45rem 0 0;padding:.7rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;overflow:auto}.output-bindings.svelte-121kn7c{background:#0a0a0a;border:1px solid #1f2937;margin:.5rem 1rem}.output-bindings.svelte-121kn7c>summary:where(.svelte-121kn7c){cursor:pointer;text-transform:uppercase;letter-spacing:.12em;color:#9ca3af;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.7rem;list-style:none;display:flex}.output-bindings.svelte-121kn7c>summary:where(.svelte-121kn7c)::-webkit-details-marker{display:none}.output-bindings.svelte-121kn7c>summary:where(.svelte-121kn7c):before{content:"▸";color:#4b5563;transition:transform .15s}.output-bindings[open].svelte-121kn7c>summary:where(.svelte-121kn7c):before{color:#0d9488;transform:rotate(90deg)}.live-dot.svelte-121kn7c{background:#34d399;border-radius:999px;width:.5rem;height:.5rem;margin-left:auto;animation:.8s ease-in-out infinite svelte-121kn7c-live-pulse;display:inline-block;box-shadow:0 0 6px #34d399}@keyframes svelte-121kn7c-live-pulse{50%{opacity:.4}}.binding-actions.svelte-121kn7c{border-top:1px solid #1f2937;flex-wrap:wrap;gap:.3rem;padding:.5rem .75rem;display:flex}.binding-list.svelte-121kn7c{flex-direction:column;padding:0 .75rem .5rem;display:flex}.binding-row.svelte-121kn7c{border-bottom:1px dashed #1f2937;grid-template-columns:1fr .6fr 12px 1.2fr .7fr 1.4fr 1.4fr 50px 40px 24px;align-items:center;gap:.3rem;padding:.3rem 0;font-size:.66rem;display:grid}.binding-row.disabled.svelte-121kn7c{opacity:.45}.binding-row.svelte-121kn7c select:where(.svelte-121kn7c){color:#cbd5e1;background:#0a0a0a;border:1px solid #1f2937;padding:.2rem .3rem;font-family:inherit;font-size:.65rem}.binding-row.svelte-121kn7c .arrow:where(.svelte-121kn7c){color:#6b7280;text-align:center}.binding-row.svelte-121kn7c .knob:where(.svelte-121kn7c){color:#94a3b8;align-items:center;gap:.2rem;display:flex}.binding-row.svelte-121kn7c .knob:where(.svelte-121kn7c) input:where(.svelte-121kn7c){accent-color:#2dd4bf;flex:1;min-width:60px}.binding-row.svelte-121kn7c .num:where(.svelte-121kn7c){color:#6b7280;text-align:right;font-variant-numeric:tabular-nums;min-width:30px}.binding-row.svelte-121kn7c .live:where(.svelte-121kn7c){color:#6b7280;text-align:right;font-variant-numeric:tabular-nums}.binding-row.svelte-121kn7c .live.running:where(.svelte-121kn7c){color:#2dd4bf}.binding-row.svelte-121kn7c .mini:where(.svelte-121kn7c){color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #1f2937;padding:.15rem .35rem;font-family:inherit;font-size:.6rem}.binding-row.svelte-121kn7c .mini:where(.svelte-121kn7c):hover{color:#fff;border-color:#0d9488}.binding-row.svelte-121kn7c .mini.remove:where(.svelte-121kn7c):hover{color:#f87171;border-color:#7f1d1d}.output-bindings.svelte-121kn7c .empty:where(.svelte-121kn7c){color:#6b7280;margin:0;padding:.5rem .75rem;font-size:.7rem}
