.context-menu-overlay.svelte-l8h85k{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:#0000001a}.context-menu.svelte-l8h85k{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#222;border:1px solid #444;border-radius:8px;min-width:200px;box-shadow:0 10px 30px #00000080;color:#ddd;font-size:.9rem}.header.svelte-l8h85k{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1a1a1a;border-bottom:1px solid #333;border-radius:8px 8px 0 0}.type.svelte-l8h85k{text-transform:uppercase;font-size:.7rem;font-weight:700;color:#646cff}.close-btn.svelte-l8h85k{background:none;border:none;color:#888;font-size:1.2rem;cursor:pointer}.menu-content.svelte-l8h85k{padding:12px;display:flex;flex-direction:column;gap:12px}.menu-item.svelte-l8h85k{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-action.svelte-l8h85k{padding:8px;border-radius:4px;border:1px solid #444;background:#333;color:#fff;cursor:pointer}.menu-action.delete.svelte-l8h85k{background:#4a1a1a;color:#ff8080;border-color:#6a2a2a}.divider.svelte-l8h85k{height:1px;background:#333;margin:4px 0}.hint.svelte-l8h85k{font-size:.7rem;opacity:.5;text-align:center;margin:0}input[type=range].svelte-l8h85k{flex:1}.cell.svelte-1s06fdw{width:60px;height:60px;border:1px solid rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;background-color:#0c0c0c;position:relative;transition:all .2s;cursor:crosshair}.cell.svelte-1s06fdw:hover{background-color:#151515;border-color:#646cff33}.cell.active.svelte-1s06fdw{background-color:#1a1a1a;box-shadow:inset 0 0 10px #ffffff1a;z-index:10}.cell.svelte-1s06fdw:after{content:"";position:absolute;width:2px;height:2px;background:#ffffff0d;border-radius:50%;pointer-events:none}.has-node.svelte-1s06fdw:after{display:none}.cell.selected.svelte-1s06fdw{background-color:#646cff33;border-color:#646cff;z-index:5}.has-node.svelte-1s06fdw{background-color:#1a1a1a}.node.svelte-1s06fdw{width:50px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;color:#fff;z-index:2;background-color:#262626;border:1px solid #444;position:relative;box-shadow:0 2px 5px #0000004d}.node-content.svelte-1s06fdw{display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.name.svelte-1s06fdw{font-size:7px;font-weight:700;text-transform:uppercase;text-align:center}.setting.svelte-1s06fdw{font-size:8px;opacity:.8;background:#0000004d;padding:1px 3px;border-radius:2px}.dir-indicator.svelte-1s06fdw{font-size:10px;color:#ffeb3b;margin:1px 0}.exit-marker.svelte-1s06fdw{width:6px;height:6px;background-color:#2196f3;border-radius:50%;position:absolute;bottom:2px;left:2px;border:1px solid rgba(255,255,255,.3)}.conn.svelte-1s06fdw{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}.conn.is-active.svelte-1s06fdw{opacity:1;filter:brightness(1.5)}.conn-true.svelte-1s06fdw{background-color:#4caf50}.conn-false.svelte-1s06fdw{background-color:#f44336}.conn-signal.svelte-1s06fdw{background-color:#646cff}.arrow.svelte-1s06fdw{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;position:absolute}.conn-true.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){border-bottom:6px solid #4caf50}.conn-false.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){border-bottom:6px solid #f44336}.conn-signal.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){border-bottom:6px solid #646cff}.conn-n.svelte-1s06fdw{width:2px;height:15px;top:0;left:50%;transform:translate(-50%)}.conn-n.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){top:-4px;transform:rotate(0)}.conn-n.is-input.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){transform:rotate(180deg)}.conn-s.svelte-1s06fdw{width:2px;height:15px;bottom:0;left:50%;transform:translate(-50%)}.conn-s.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){bottom:-4px;transform:rotate(180deg)}.conn-s.is-input.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){transform:rotate(0)}.conn-e.svelte-1s06fdw{height:2px;width:15px;right:0;top:50%;transform:translateY(-50%)}.conn-e.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){right:-4px;transform:rotate(90deg)}.conn-e.is-input.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){transform:rotate(270deg)}.conn-w.svelte-1s06fdw{height:2px;width:15px;left:0;top:50%;transform:translateY(-50%)}.conn-w.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){left:-4px;transform:rotate(-90deg)}.conn-w.is-input.svelte-1s06fdw .arrow:where(.svelte-1s06fdw){transform:rotate(90deg)}.sensor.svelte-1s06fdw{border-color:#4caf5080}.action.svelte-1s06fdw{border-color:#2196f380}.logic.svelte-1s06fdw{border-color:#ff980080}.empty.svelte-1s06fdw{width:100%;height:100%}.grid-container.svelte-1cebjac{display:grid;grid-template-columns:repeat(var(--cols),60px);grid-auto-rows:60px;gap:2px;padding:10px;background-color:#000;border:2px solid #333;border-radius:8px;box-shadow:0 0 20px #00000080;margin:0 auto}.header-trigger.svelte-oiwvqb{position:fixed;top:0;left:260px;right:0;height:30px;z-index:1000;background:transparent;display:flex;justify-content:center}.header-hint.svelte-oiwvqb{margin-top:5px;color:#646cff66;font-size:1.2rem;pointer-events:none;animation:svelte-oiwvqb-pulse 2s infinite ease-in-out}@keyframes svelte-oiwvqb-pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.8;transform:translateY(3px)}}header.svelte-oiwvqb{position:fixed;top:20px;left:calc(50% + 130px);transform:translate(-50%,-150%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 25px;background:#0f0f0f99;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(100,108,255,.2);border-radius:16px;box-shadow:0 10px 40px #0006,0 0 20px #646cff0d;z-index:1001;transition:transform .6s cubic-bezier(.22,1,.36,1);width:fit-content}header.visible.svelte-oiwvqb{transform:translate(-50%)}h1.svelte-oiwvqb{margin:0;color:#646cff;text-shadow:0 0 10px rgba(100,108,255,.5);font-size:1.2rem;letter-spacing:3px;text-transform:uppercase}.controls.svelte-oiwvqb{display:flex;gap:12px;padding:4px}*{box-sizing:border-box}:root{color-scheme:dark;background-color:#0d0d0d}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#0d0d0d;color:#eee;overflow:hidden;height:100vh}main{display:flex;flex-direction:row;height:100vh;width:100vw}.sidebar{width:260px;background-color:#1a1a1a;border-right:1px solid #333;display:flex;flex-direction:column;padding:20px;gap:20px;box-shadow:2px 0 10px #00000080;z-index:100}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.node-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:5px}.node-list::-webkit-scrollbar{width:4px}.node-list::-webkit-scrollbar-track{background:transparent}.node-list::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.node-item{display:flex;flex-direction:column;align-items:flex-start;padding:10px;background-color:#262626;border:1px solid #444;border-radius:6px;cursor:pointer;transition:all .2s;text-align:left}.node-item:hover{background-color:#333;border-color:#646cff}.node-item.selected{background-color:#333;border-color:#646cff;box-shadow:0 0 10px #646cff4d}.node-name{font-weight:700;font-size:.9rem}.node-type{font-size:.7rem;text-transform:uppercase;opacity:.6;margin-top:4px}.node-item.sensor{border-left:4px solid #4caf50}.node-item.action{border-left:4px solid #2196f3}.node-item.logic{border-left:4px solid #ff9800}.selection-tools{margin-top:auto;border-top:1px solid #333;padding-top:20px}.help{font-size:.8rem;color:#aaa;margin-top:15px}.help p{margin:4px 0}.workspace{flex:1;display:flex;flex-direction:column;padding:20px;gap:20px;background-color:#0d0d0d;min-width:0}h2,h3{margin:0;font-size:1.2rem;color:#646cff}h3{font-size:1rem;margin-bottom:10px}.controls{display:none}button{background-color:#333;color:#fff;border:1px solid #444;padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500}button:hover:not(:disabled){background-color:#444;border-color:#646cff}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background-color:#646cff;border-color:#646cff}button.danger{color:#f44336;border-color:#f44336}button.clear-btn{padding:4px 8px;font-size:.7rem;opacity:.7}.separator{width:1px;background-color:#444;margin:0 10px}.grid-wrapper{flex:1;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:40px}footer{text-align:center;opacity:.6;font-size:.9em;padding:10px 0}
