.np-diagram{--xy-background-color:transparent;--xy-background-pattern-color:transparent;--xy-node-background-color:transparent;--xy-node-border:none;--xy-node-border-radius:0;--xy-node-boxshadow-hover:none;--xy-node-boxshadow-selected:none;--xy-edge-stroke:#c9a66b;--xy-edge-stroke-width:1.15;--xy-attribution-background-color:transparent;color:var(--text);font-family:var(--font-ibm-mono), "IBM Plex Mono", ui-monospace, monospace}.np-diagram .react-flow__node-zone{overflow:visible}.np-diagram .react-flow__node{box-shadow:none;font-size:inherit;text-align:left;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.np-diagram .react-flow__node.selected,.np-diagram .react-flow__node:focus,.np-diagram .react-flow__node:focus-visible{box-shadow:none;outline:none}.np-diagram .react-flow__edge-path,.np-diagram .react-flow__connection-path{stroke-linecap:square}.np-diagram .react-flow__edge-text,.np-diagram .react-flow__edge-textbg,.np-diagram .react-flow__attribution,.np-diagram .react-flow__controls,.np-diagram .react-flow__minimap,.np-diagram .react-flow__panel{display:none}.np-diagram .react-flow__handle{background:var(--brass);opacity:.55;border:none;border-radius:0;width:6px;height:6px}.np-diagram .react-flow__handle-top{top:-3px}.np-diagram .react-flow__handle-bottom{bottom:-3px}.np-diagram .react-flow__background{background:0 0}.np-node-shell{width:100%;height:100%}.np-node{box-sizing:border-box;border:1px solid var(--brass);background:#0c0d0f;flex-direction:column;justify-content:flex-start;width:100%;height:100%;min-height:100%;padding:10px 12px 12px;display:flex;position:relative;overflow:hidden}.np-node-hatch{background-image:repeating-linear-gradient(-45deg, transparent, transparent 5px, color-mix(in srgb, var(--brass) 14%, transparent) 5px, color-mix(in srgb, var(--brass) 14%, transparent) 6px);background-color:#0c0d0f}.np-node-compute,.np-node-management{border-color:var(--power)}.np-node-storage,.np-node-platform{border-color:var(--cool)}.np-node-tick{pointer-events:none;width:8px;height:8px;position:absolute}.np-node-tick-tl{border-top:1px solid;border-left:1px solid;top:-1px;left:-1px}.np-node-tick-br{border-bottom:1px solid;border-right:1px solid;bottom:-1px;right:-1px}.np-node-code,.np-zone-code{font-family:var(--font-ibm-mono), "IBM Plex Mono", ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:10px}.np-node-label{font-family:var(--font-ibm-sans), "IBM Plex Sans", system-ui, sans-serif;letter-spacing:.04em;color:var(--text);margin:0;font-size:13px;line-height:1.25}.np-node-platform .np-node-label{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-family:var(--font-ibm-mono), "IBM Plex Mono", ui-monospace, monospace}.np-node-sub,.np-node-meta{font-family:var(--font-ibm-mono), "IBM Plex Mono", ui-monospace, monospace;margin:6px 0 0;font-size:10px;line-height:1.35}.np-node-sub{color:var(--text-dim)}.np-node-ports{gap:5px;margin-top:auto;padding-top:8px;display:flex}.np-node-port{width:7px;height:7px}.np-zone{pointer-events:none;box-sizing:border-box;background:repeating-linear-gradient(-45deg, transparent, transparent 6px, color-mix(in srgb, var(--brass) 9%, transparent) 6px, color-mix(in srgb, var(--brass) 9%, transparent) 7px), color-mix(in srgb, var(--bg-2) 88%, transparent);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent)}.np-zone-head{align-items:baseline;gap:10px;padding:10px 14px 0;display:flex}.np-zone-label{font-family:var(--font-ibm-mono), "IBM Plex Mono", ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;font-size:10px}.np-stack{flex-direction:column;gap:14px;display:flex}.np-stack-zone{border:1px solid color-mix(in srgb, var(--brass) 40%, transparent);background:color-mix(in srgb, var(--bg-2) 90%, transparent);padding:12px}.np-stack-zone-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.np-stack-nodes{flex-wrap:wrap;gap:10px;display:flex}.np-stack-nodes>.np-node-shell{flex:148px;width:calc(50% - 5px);min-width:148px;height:auto;min-height:76px}.np-stack-nodes>.np-node-shell .np-node{min-height:76px}.np-diagram-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto}.np-diagram-canvas{position:relative}.np-diagram-pending{border:1px solid var(--line);background:var(--bg-2);justify-content:center;align-items:center;min-height:12rem;display:flex}.np-diagram-pending p{font-family:var(--font-ibm-mono), "IBM Plex Mono", ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);font-size:10px}
