.blueprint-wrapper{width:100%;height:400px;overflow:hidden;display:flex;justify-content:flex-start;align-items:flex-start;position:relative}.blueprint-canvas{font-family:Segoe UI,Roboto,sans-serif;position:relative;width:100%;height:100%;min-height:400px;background:linear-gradient(135deg,#1a1a1a,#2d2d30);background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.02) 1px,transparent 1px);background-size:40px 40px,40px 40px,20px 20px;overflow:hidden;border:2px solid #3f3f46;border-radius:12px;box-shadow:inset 0 1px #ffffff1a,0 4px 20px #00000080}.blueprint-node{position:absolute;min-width:200px;background:linear-gradient(145deg,#393942,#2d2d30,#27272a);border:1px solid #52525b;border-radius:8px;box-shadow:0 8px 25px #0009,0 2px 8px #0006,inset 0 1px #ffffff1a,inset 0 -1px #0003;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:10;backdrop-filter:blur(4px);transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.blueprint-node:not(.dragging):hover{box-shadow:0 12px 35px #000000b3,0 4px 12px #00000080,inset 0 1px #ffffff26,inset 0 -1px #0000004d;transform:translateY(-1px);border-color:#71717a;transition:all .2s cubic-bezier(.4,0,.2,1)}.blueprint-node.dragging{box-shadow:0 20px 50px #000c,0 8px 20px #0009,inset 0 1px #fff3;transform:rotate(.5deg) scale(1.02);z-index:1000;transition:none}.blueprint-node-header{padding:10px 16px;font-size:13px;font-weight:600;color:#fff;border-radius:8px 8px 0 0;background:linear-gradient(145deg,var(--header-color, #4338ca),var(--header-color-dark, #3730a3));border-bottom:1px solid rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.5);letter-spacing:.025em;position:relative}.blueprint-node-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 20%,rgba(255,255,255,.3) 80%,transparent 100%)}.blueprint-node-body{padding:16px}.blueprint-node-pins{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.blueprint-node-inputs,.blueprint-node-outputs{display:flex;flex-direction:column;gap:8px}.blueprint-node-inputs{align-items:flex-start}.blueprint-node-outputs{align-items:flex-end}.pin{display:flex;align-items:center;margin:3px 0;cursor:crosshair;transition:all .2s ease;position:relative}.pin.input-pin{flex-direction:row}.pin.output-pin{flex-direction:row-reverse}.pin:hover{transform:scale(1.05)}.pin:hover .pin-connector{transform:scale(1.3);box-shadow:0 0 12px currentColor,0 0 4px #ffffff4d;filter:brightness(1.2)}.pin-connector{width:14px;height:14px;border:2px solid #1a1a1a;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 4px #0006,inset 0 1px #fff3}.pin.input-pin .pin-connector{margin-right:10px}.pin.output-pin .pin-connector{margin-left:10px}.pin.connected .pin-connector{box-shadow:0 0 8px currentColor,0 2px 4px #0006,inset 0 1px #ffffff4d}.pin-connector.execution{width:14px;height:14px;background:transparent;border:4px solid #ffffff;position:relative;clip-path:polygon(20% 0%,100% 50%,20% 100%);box-shadow:0 2px 4px #0006,inset 0 0 0 1px #ffffff1a}.pin-connector.execution:hover{border-color:#fff;box-shadow:0 0 8px #fff6,0 2px 6px #00000080,inset 0 0 0 1px #fff3}.pin.connected .pin-connector.execution{background:linear-gradient(145deg,#fff,#f0f0f0);border:2px solid #ffffff;box-shadow:0 0 12px #fffc,0 2px 6px #00000080,inset 0 1px #ffffffb3}.pin-connector.boolean{width:12px;height:12px;background:linear-gradient(145deg,#c00,#900);border:1px solid #333;border-radius:2px;box-shadow:0 2px 4px #0006,inset 0 1px #fff3}.pin-connector.data{width:14px;height:14px;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0006,inset 0 1px #fff3}.pin-label{font-size:11px;color:#d1d5db;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:color .2s ease}.pin:hover .pin-label{color:#fff}.connection-cable{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.connection-cable.active{z-index:1000}.connection-cable path{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.connection-cable.active path{filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 2px 4px rgba(0,0,0,.3))}50%{filter:drop-shadow(0 0 16px currentColor) drop-shadow(0 2px 4px rgba(0,0,0,.3))}}.blueprint-node[data-node-type=event] .blueprint-node-header{--header-color: #dc2626;--header-color-dark: #b91c1c}.blueprint-node[data-node-type=function] .blueprint-node-header{--header-color: #0f70c5;--header-color-dark: #0c5a9e}.blueprint-node[data-node-type=flow] .blueprint-node-header{--header-color: #7c3aed;--header-color-dark: #6d28d9}.blueprint-node[data-node-type=variable]{min-width:120px;border-radius:20px;background:linear-gradient(145deg,#10b981,#047857);border:1px solid #34d399;box-shadow:0 4px 15px #10b9814d,0 2px 6px #0006,inset 0 1px #fff3}.blueprint-node[data-node-type=variable] .blueprint-node-header{background:transparent;border:none;padding:8px 16px;text-align:center;border-radius:20px;color:#fff;font-size:12px;font-weight:600}.blueprint-node[data-node-type=variable] .blueprint-node-body{display:none}.blueprint-node[data-node-type=variable]:hover{background:linear-gradient(145deg,#34d399,#059669);box-shadow:0 6px 20px #10b98166,0 2px 8px #00000080,inset 0 1px #ffffff4d}.blueprint-node[data-node-type=utility] .blueprint-node-header{--header-color: #db2777;--header-color-dark: #be185d}.blueprint-node[data-node-type=audio] .blueprint-node-header{--header-color: #ea580c;--header-color-dark: #c2410c}@media (max-width: 1200px){.blueprint-wrapper{height:310px}.blueprint-canvas{zoom:.85;min-height:400px}}@media (max-width: 900px){.blueprint-wrapper{height:420px}.blueprint-canvas{zoom:.7;min-height:400px}}@media (max-width: 768px){.blueprint-wrapper{height:360px}.blueprint-canvas{zoom:.6;min-height:400px}.blueprint-node{min-width:180px}.blueprint-node-header{padding:8px 12px;font-size:12px}.blueprint-node-body{padding:12px}}@media (max-width: 600px){.blueprint-wrapper{height:300px}.blueprint-canvas{zoom:.5;min-height:600px}}@media (max-width: 480px){.blueprint-wrapper{height:240px}.blueprint-canvas{zoom:.4;min-height:600px}}
