.flow-container{--flow-container-height:400px;--flow-bg-color:transparent;--flow-node-min-width:0;--flow-node-bg:#fff;--flow-node-color:inherit;--flow-node-border:1px solid #1a192b;--flow-node-border-radius:3px;--flow-node-padding:5px;--flow-node-shadow:none;--flow-node-transition:none;--flow-node-hover-border-color:transparent;--flow-node-selected-border-color:#555;--flow-node-selected-shadow:0 0 0 .5px #555;--flow-node-focus-outline:2px solid Highlight;--flow-node-focus-outline-offset:2px;--flow-edge-focus-stroke:currentColor;--flow-edge-focus-stroke-width:2.5;--flow-handle-size:10px;--flow-handle-bg:#333;--flow-handle-border:1px solid #fff;--flow-handle-active-bg:transparent;--flow-handle-invalid-bg:#ef4444;--flow-edge-stroke:#b1b1b7;--flow-edge-stroke-width:1.5;--flow-edge-transition:stroke .3s ease;--flow-edge-animated-dasharray:6 3;--flow-edge-animated-duration:.5s;--flow-edge-pulse-duration:2s;--flow-edge-pulse-min-opacity:.3;--flow-edge-dot-size:4;--flow-edge-dot-fill:currentColor;--flow-edge-dot-duration:2s;--flow-edge-stroke-selected:#555;--flow-edge-stroke-width-selected:2.5;--flow-edge-reconnecting-opacity:.25;--flow-edge-reconnecting-transition:opacity .15s;--flow-connectionline-stroke:var(--flow-edge-stroke);--flow-connectionline-stroke-width:var(--flow-edge-stroke-width);--flow-edge-label-bg:#fff;--flow-edge-label-border:none;--flow-edge-label-border-radius:0;--flow-edge-label-padding:2px 8px;--flow-edge-label-font-size:11px;--flow-edge-label-color:inherit;--flow-node-toolbar-padding:4px 6px;--flow-node-toolbar-bg:transparent;--flow-node-toolbar-border:none;--flow-node-toolbar-border-radius:0;--flow-node-toolbar-btn-bg:transparent;--flow-node-toolbar-btn-border:none;--flow-node-toolbar-btn-color:inherit;--flow-node-toolbar-btn-padding:4px 8px;--flow-node-toolbar-btn-border-radius:0;--flow-node-toolbar-btn-font-size:12px;--flow-node-toolbar-btn-hover-bg:transparent;--flow-drag-handle-bg:transparent;--flow-drag-handle-border-bottom:none;--flow-drag-handle-padding:6px 12px;--flow-drag-handle-border-radius:0;--flow-drag-handle-font-size:12px;--flow-drag-handle-font-weight:600;--flow-drag-handle-color:inherit;--flow-node-locked-opacity:1;--flow-node-locked-border-style:solid;--flow-resizer-bg:transparent;--flow-resizer-border:none;--flow-resizer-hover-bg:transparent;--flow-controls-gap:1px;--flow-controls-btn-width:28px;--flow-controls-btn-height:28px;--flow-controls-btn-bg:#fefefe;--flow-controls-btn-border:1px solid #eee;--flow-controls-btn-color:inherit;--flow-controls-btn-border-radius:0;--flow-controls-btn-hover-bg:#f4f4f4;--flow-selection-bg:#0059dc14;--flow-selection-border:1px dotted #0059dccc;--flow-selection-border-radius:0;--flow-bg-pattern-color:#00000026;--flow-bg-pattern-gap:20;--flow-minimap-border:1px solid #eee;--flow-minimap-border-radius:0;--flow-minimap-bg:#fff;--flow-minimap-node-color:#e2e2e2;--flow-minimap-mask-color:#f0f0f099;--flow-panel-bg:transparent;--flow-panel-border:none;--flow-panel-border-radius:0;--flow-panel-min-width:100px;--flow-panel-min-height:60px;--flow-panel-resize-bg:transparent;--flow-panel-resize-border-radius:0;--flow-panel-resize-hover-bg:transparent;--flow-node-group-bg:transparent;--flow-node-group-border:none;--flow-node-group-border-radius:0;--flow-node-group-shadow:none;--flow-node-group-font-size:inherit;--flow-node-group-text-transform:none;--flow-node-group-letter-spacing:normal;--flow-node-group-padding:0;--flow-node-group-hover-border-color:transparent;--flow-layout-animation-duration:.3s;width:100%;height:var(--flow-container-height,400px);background-color:var(--flow-bg-color);touch-action:none;-webkit-touch-callout:none;direction:ltr;position:relative;overflow:hidden}.flow-viewport{transform-origin:0 0;position:absolute;top:0;left:0}.flow-container[data-fit-view]:not(.flow-ready) .flow-viewport{opacity:0}.flow-node{box-sizing:border-box;transform-origin:0 0;z-index:2;opacity:1;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;text-align:center;min-width:var(--flow-node-min-width);background:var(--flow-node-bg);color:var(--flow-node-color);border:var(--flow-node-border);border-top:var(--flow-node-border-top,var(--flow-node-border));border-radius:var(--flow-node-border-radius);padding:var(--flow-node-padding);box-shadow:var(--flow-node-shadow);transition:var(--flow-node-transition);position:absolute}.flow-node:hover{border-color:var(--flow-node-hover-border-color)}.flow-node:active{cursor:grabbing}.flow-node-selected{border-color:var(--flow-node-selected-border-color);box-shadow:var(--flow-node-selected-shadow)}.flow-node:focus-visible{outline:var(--flow-node-focus-outline);outline-offset:var(--flow-node-focus-outline-offset)}.flow-node:focus:not(:focus-visible){outline:none}.flow-node-circle{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;display:flex}.flow-node-diamond,.flow-node-hexagon,.flow-node-parallelogram,.flow-node-triangle{justify-content:center;align-items:center;display:flex}.flow-node-diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.flow-node-hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.flow-node-parallelogram{clip-path:polygon(15% 0%,100% 0%,85% 100%,0% 100%)}.flow-node-triangle{clip-path:polygon(50% 0%,100% 100%,0% 100%);padding-top:30%}.flow-node-diamond:after,.flow-node-hexagon:after,.flow-node-parallelogram:after,.flow-node-triangle:after{content:"";clip-path:inherit;background:var(--flow-node-bg,#fff);z-index:0;pointer-events:none;position:absolute;inset:2px}.flow-node-diamond.flow-node-selected:after,.flow-node-hexagon.flow-node-selected:after,.flow-node-parallelogram.flow-node-selected:after,.flow-node-triangle.flow-node-selected:after{inset:3px}.flow-node-diamond>*,.flow-node-hexagon>*,.flow-node-parallelogram>*,.flow-node-triangle>*{z-index:1;position:relative}.flow-node-cylinder{border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative}.flow-node-cylinder:before{content:"";background:inherit;border:inherit;z-index:1;border-bottom:none;border-radius:50%;height:24%;position:absolute;top:0;left:0;right:0}.flow-node-stadium{border-radius:9999px;justify-content:center;align-items:center;display:flex}.flow-handle{z-index:10;width:var(--flow-handle-size);height:var(--flow-handle-size);background:var(--flow-handle-bg);border:var(--flow-handle-border);touch-action:none;border-radius:50%;min-width:5px;min-height:5px;position:absolute}.flow-handle-source{cursor:crosshair}.flow-handle[data-flow-handle-position=top]{top:-5px;left:50%;transform:translate(-50%)}.flow-handle[data-flow-handle-position=bottom]{bottom:-5px;left:50%;transform:translate(-50%)}.flow-handle[data-flow-handle-position=right]{top:50%;right:-5px;transform:translateY(-50%)}.flow-handle[data-flow-handle-position=left]{top:50%;left:-5px;transform:translateY(-50%)}.flow-handle[data-flow-handle-position=top-left]{top:-5px;left:-5px}.flow-handle[data-flow-handle-position=top-right]{top:-5px;right:-5px}.flow-handle[data-flow-handle-position=bottom-left]{bottom:-5px;left:-5px}.flow-handle[data-flow-handle-position=bottom-right]{bottom:-5px;right:-5px}.flow-handle-active[data-flow-handle-position=top],.flow-handle-active[data-flow-handle-position=bottom]{background:var(--flow-handle-active-bg);transform:translate(-50%)scale(1.5)}.flow-handle-active[data-flow-handle-position=right],.flow-handle-active[data-flow-handle-position=left]{background:var(--flow-handle-active-bg);transform:translateY(-50%)scale(1.5)}.flow-handle-active[data-flow-handle-position=top-left],.flow-handle-active[data-flow-handle-position=top-right],.flow-handle-active[data-flow-handle-position=bottom-left],.flow-handle-active[data-flow-handle-position=bottom-right]{background:var(--flow-handle-active-bg);transform:scale(1.5)}.flow-handle-invalid.flow-handle-active{background:var(--flow-handle-invalid-bg)!important}.flow-node-diamond .flow-handle,.flow-node-hexagon .flow-handle,.flow-node-parallelogram .flow-handle,.flow-node-triangle .flow-handle,.flow-node-circle .flow-handle,.flow-node-cylinder .flow-handle,.flow-node-stadium .flow-handle{bottom:auto;right:auto;transform:translate(-50%,-50%)}.flow-node-diamond .flow-handle[data-flow-handle-position=top]{top:0;left:50%}.flow-node-diamond .flow-handle[data-flow-handle-position=right]{top:50%;left:100%}.flow-node-diamond .flow-handle[data-flow-handle-position=bottom]{top:100%;left:50%}.flow-node-diamond .flow-handle[data-flow-handle-position=left]{top:50%;left:0}.flow-node-diamond .flow-handle[data-flow-handle-position=top-right]{top:25%;left:75%}.flow-node-diamond .flow-handle[data-flow-handle-position=top-left]{top:25%;left:25%}.flow-node-diamond .flow-handle[data-flow-handle-position=bottom-right]{top:75%;left:75%}.flow-node-diamond .flow-handle[data-flow-handle-position=bottom-left]{top:75%;left:25%}.flow-node-hexagon .flow-handle[data-flow-handle-position=top]{top:0;left:50%}.flow-node-hexagon .flow-handle[data-flow-handle-position=right]{top:50%;left:100%}.flow-node-hexagon .flow-handle[data-flow-handle-position=bottom]{top:100%;left:50%}.flow-node-hexagon .flow-handle[data-flow-handle-position=left]{top:50%;left:0}.flow-node-hexagon .flow-handle[data-flow-handle-position=top-right]{top:0;left:75%}.flow-node-hexagon .flow-handle[data-flow-handle-position=top-left]{top:0;left:25%}.flow-node-hexagon .flow-handle[data-flow-handle-position=bottom-right]{top:100%;left:75%}.flow-node-hexagon .flow-handle[data-flow-handle-position=bottom-left]{top:100%;left:25%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=top]{top:0;left:57.5%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=right]{top:50%;left:92.5%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=bottom]{top:100%;left:42.5%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=left]{top:50%;left:7.5%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=top-right]{top:0;left:100%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=top-left]{top:0;left:15%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=bottom-right]{top:100%;left:85%}.flow-node-parallelogram .flow-handle[data-flow-handle-position=bottom-left]{top:100%;left:0}.flow-node-triangle .flow-handle[data-flow-handle-position=top]{top:0;left:50%}.flow-node-triangle .flow-handle[data-flow-handle-position=right]{top:50%;left:75%}.flow-node-triangle .flow-handle[data-flow-handle-position=bottom]{top:100%;left:50%}.flow-node-triangle .flow-handle[data-flow-handle-position=left]{top:50%;left:25%}.flow-node-triangle .flow-handle[data-flow-handle-position=top-right]{top:25%;left:62.5%}.flow-node-triangle .flow-handle[data-flow-handle-position=top-left]{top:25%;left:37.5%}.flow-node-triangle .flow-handle[data-flow-handle-position=bottom-right]{top:100%;left:100%}.flow-node-triangle .flow-handle[data-flow-handle-position=bottom-left]{top:100%;left:0}.flow-node-circle .flow-handle[data-flow-handle-position=top]{top:0;left:50%}.flow-node-circle .flow-handle[data-flow-handle-position=right]{top:50%;left:100%}.flow-node-circle .flow-handle[data-flow-handle-position=bottom]{top:100%;left:50%}.flow-node-circle .flow-handle[data-flow-handle-position=left]{top:50%;left:0}.flow-node-circle .flow-handle[data-flow-handle-position=top-right]{top:14.64%;left:85.36%}.flow-node-circle .flow-handle[data-flow-handle-position=top-left]{top:14.64%;left:14.64%}.flow-node-circle .flow-handle[data-flow-handle-position=bottom-right]{top:85.36%;left:85.36%}.flow-node-circle .flow-handle[data-flow-handle-position=bottom-left]{top:85.36%;left:14.64%}.flow-node-cylinder .flow-handle[data-flow-handle-position=top]{top:12%;left:50%}.flow-node-cylinder .flow-handle[data-flow-handle-position=right]{top:50%;left:100%}.flow-node-cylinder .flow-handle[data-flow-handle-position=bottom]{top:88%;left:50%}.flow-node-cylinder .flow-handle[data-flow-handle-position=left]{top:50%;left:0}.flow-node-cylinder .flow-handle[data-flow-handle-position=top-right]{top:12%;left:100%}.flow-node-cylinder .flow-handle[data-flow-handle-position=top-left]{top:12%;left:0}.flow-node-cylinder .flow-handle[data-flow-handle-position=bottom-right]{top:88%;left:100%}.flow-node-cylinder .flow-handle[data-flow-handle-position=bottom-left]{top:88%;left:0}.flow-node-stadium .flow-handle[data-flow-handle-position=top]{top:0;left:50%}.flow-node-stadium .flow-handle[data-flow-handle-position=right]{top:50%;left:100%}.flow-node-stadium .flow-handle[data-flow-handle-position=bottom]{top:100%;left:50%}.flow-node-stadium .flow-handle[data-flow-handle-position=left]{top:50%;left:0}.flow-node-diamond .flow-handle-active,.flow-node-hexagon .flow-handle-active,.flow-node-parallelogram .flow-handle-active,.flow-node-triangle .flow-handle-active,.flow-node-circle .flow-handle-active,.flow-node-cylinder .flow-handle-active,.flow-node-stadium .flow-handle-active{background:var(--flow-handle-active-bg);transform:translate(-50%,-50%)scale(1.5)}.flow-edges{z-index:1;pointer-events:none;position:absolute;top:0;left:0}.flow-edge-svg{opacity:1;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.flow-edges path{fill:none;stroke:var(--flow-edge-stroke);stroke-width:var(--flow-edge-stroke-width);transition:var(--flow-edge-transition);pointer-events:visibleStroke}.flow-edge-gradient stop{transition:stop-color .3s}@keyframes flow-edge-dash{to{stroke-dashoffset:-24px}}.flow-edge-animated{stroke-dasharray:var(--flow-edge-animated-dasharray);animation:flow-edge-dash var(--flow-edge-animated-duration) linear infinite}@keyframes flow-edge-pulse{0%,to{opacity:1}50%{opacity:var(--flow-edge-pulse-min-opacity)}}.flow-edge-pulse{animation:flow-edge-pulse var(--flow-edge-pulse-duration) ease-in-out infinite}.flow-edge-dot{fill:var(--flow-edge-dot-fill)}.flow-edge-particle{pointer-events:none}.flow-edge-label{z-index:1;white-space:nowrap;pointer-events:none;opacity:1;background:var(--flow-edge-label-bg);border:var(--flow-edge-label-border);border-radius:var(--flow-edge-label-border-radius);padding:var(--flow-edge-label-padding);font-size:var(--flow-edge-label-font-size);color:var(--flow-edge-label-color);position:absolute;transform:translate(-50%,-50%)}.flow-edge-label-hover,.flow-edge-label-on-select{opacity:0;pointer-events:none;transition:opacity .15s}.flow-edge-label-hover.flow-edge-hovered,.flow-edge-label-hover.flow-edge-label-selected,.flow-edge-label-on-select.flow-edge-label-selected{opacity:1;pointer-events:auto}.flow-edge-selected path:not([stroke=transparent]){stroke:var(--flow-edge-stroke-selected);stroke-width:var(--flow-edge-stroke-width-selected)}.flow-edge-svg g:focus{outline:none}.flow-edge-focused path:not([style*=transparent]){stroke:var(--flow-edge-focus-stroke)!important;stroke-width:var(--flow-edge-focus-stroke-width)!important}.flow-edge-reconnecting{opacity:var(--flow-edge-reconnecting-opacity);transition:var(--flow-edge-reconnecting-transition);cursor:grabbing}.flow-edge-reconnecting path{pointer-events:none!important}.flow-node-locked{cursor:default;opacity:var(--flow-node-locked-opacity);border-style:var(--flow-node-locked-border-style)}.flow-node-locked:active{cursor:default}.flow-node-annotation{min-width:0;box-shadow:none;cursor:default;pointer-events:none;background:0 0;border:none;padding:0}.flow-node-annotation:hover{border-color:#0000}.flow-node-annotation:active{cursor:default}.flow-node-hidden{display:none!important}.flow-node-condensed{overflow:hidden}.flow-node-filtered,.flow-edge-filtered{opacity:0;pointer-events:none}.flow-connecting .flow-handle-target{outline:2px solid var(--flow-accent-color,#3b82f6);outline-offset:2px;border-radius:50%}.flow-connecting .flow-handle-target.flow-handle-invalid{outline-color:var(--flow-handle-invalid-bg)}.flow-row-selected{background:var(--flow-row-selected-bg,#3b82f61a);outline:1px solid var(--flow-row-selected-border-color,#3b82f6);outline-offset:-1px}.flow-node-no-connect .flow-handle{cursor:not-allowed}.flow-handles-hidden>.flow-handle{display:none}.flow-handles-hover>.flow-handle{opacity:0;pointer-events:none;transition:opacity .15s}.flow-handles-hover:hover>.flow-handle{opacity:1;pointer-events:auto}.flow-handles-select>.flow-handle{opacity:0;pointer-events:none;transition:opacity .15s}.flow-handles-select.flow-node-selected>.flow-handle{opacity:1;pointer-events:auto}.flow-node-toolbar{z-index:20;pointer-events:auto;white-space:nowrap;padding:var(--flow-node-toolbar-padding);background:var(--flow-node-toolbar-bg);border:var(--flow-node-toolbar-border);border-radius:var(--flow-node-toolbar-border-radius);gap:4px;display:flex;position:absolute}.flow-node-toolbar button{cursor:pointer;background:var(--flow-node-toolbar-btn-bg);border:var(--flow-node-toolbar-btn-border);color:var(--flow-node-toolbar-btn-color);padding:var(--flow-node-toolbar-btn-padding);border-radius:var(--flow-node-toolbar-btn-border-radius);font-size:var(--flow-node-toolbar-btn-font-size);transition:background .15s}.flow-node-toolbar button:hover{background:var(--flow-node-toolbar-btn-hover-bg)}.flow-edge-toolbar{z-index:20;pointer-events:auto;white-space:nowrap;padding:var(--flow-node-toolbar-padding);background:var(--flow-node-toolbar-bg);border:var(--flow-node-toolbar-border);border-radius:var(--flow-node-toolbar-border-radius);gap:4px;display:flex;position:absolute}.flow-edge-toolbar button{cursor:pointer;background:var(--flow-node-toolbar-btn-bg);border:var(--flow-node-toolbar-btn-border);color:var(--flow-node-toolbar-btn-color);padding:var(--flow-node-toolbar-btn-padding);border-radius:var(--flow-node-toolbar-btn-border-radius);font-size:var(--flow-node-toolbar-btn-font-size);transition:background .15s}.flow-edge-toolbar button:hover{background:var(--flow-node-toolbar-btn-hover-bg)}.flow-edge-control-point{fill:var(--flow-edge-control-point-color,#3b82f6);stroke:var(--flow-edge-control-point-stroke,#fff);stroke-width:1.5px;cursor:grab;pointer-events:all;transition:fill .15s,r .15s}.flow-edge-control-point:hover{fill:var(--flow-edge-control-point-active,#2563eb)}.flow-edge-control-point.dragging{fill:var(--flow-edge-control-point-active,#2563eb);cursor:grabbing}.flow-edge-midpoint{fill:var(--flow-edge-control-point-color,#3b82f6);stroke:none;opacity:0;pointer-events:all;cursor:crosshair;transition:opacity .15s}.flow-edge-selected .flow-edge-midpoint,.flow-edge:hover .flow-edge-midpoint{opacity:.3}.flow-edge-midpoint:hover{opacity:.8}.flow-drag-handle{cursor:grab;background:var(--flow-drag-handle-bg);border-bottom:var(--flow-drag-handle-border-bottom);padding:var(--flow-drag-handle-padding);border-radius:var(--flow-drag-handle-border-radius);font-size:var(--flow-drag-handle-font-size);font-weight:var(--flow-drag-handle-font-weight);color:var(--flow-drag-handle-color)}.flow-drag-handle:active{cursor:grabbing}.flow-node-has-handle{cursor:default;padding:0}.flow-node-has-handle:active{cursor:default}.flow-resizer-handle{z-index:5;background:var(--flow-resizer-bg);border:var(--flow-resizer-border);touch-action:none;border-radius:2px;position:absolute}.flow-resizer-handle:hover{background:var(--flow-resizer-hover-bg)}.flow-resizer-handle-top-left{width:8px;height:8px;top:-4px;left:-4px}.flow-resizer-handle-top-right{width:8px;height:8px;top:-4px;right:-4px}.flow-resizer-handle-bottom-left{width:8px;height:8px;bottom:-4px;left:-4px}.flow-resizer-handle-bottom-right{width:8px;height:8px;bottom:-4px;right:-4px}.flow-resizer-handle-top{width:16px;height:6px;top:-3px;left:50%;transform:translate(-50%)}.flow-resizer-handle-bottom{width:16px;height:6px;bottom:-3px;left:50%;transform:translate(-50%)}.flow-resizer-handle-left{width:6px;height:16px;top:50%;left:-3px;transform:translateY(-50%)}.flow-resizer-handle-right{width:6px;height:16px;top:50%;right:-3px;transform:translateY(-50%)}.flow-rotate-handle{top:calc(-1 * var(--flow-rotate-handle-offset,24px));width:var(--flow-rotate-handle-size,14px);height:var(--flow-rotate-handle-size,14px);z-index:15;pointer-events:auto;touch-action:none;border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}.flow-rotate-handle:before{content:"";width:1px;height:calc(var(--flow-rotate-handle-offset,24px) - var(--flow-rotate-handle-size,14px));position:absolute;top:100%;left:50%;transform:translate(-50%)}.flow-controls{z-index:12;pointer-events:auto;gap:var(--flow-controls-gap);display:flex;position:absolute}.flow-controls-vertical{flex-direction:column}.flow-controls-horizontal{flex-direction:row}.flow-controls-bottom-left{bottom:12px;left:12px}.flow-controls-bottom-right{bottom:12px;right:12px}.flow-controls-top-left{top:12px;left:12px}.flow-controls-top-right{top:12px;right:12px}.flow-controls button{cursor:pointer;width:var(--flow-controls-btn-width);height:var(--flow-controls-btn-height);background:var(--flow-controls-btn-bg);border:var(--flow-controls-btn-border);color:var(--flow-controls-btn-color);justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s;display:flex}.flow-controls button:hover{background:var(--flow-controls-btn-hover-bg)}.flow-controls button:disabled{pointer-events:none;opacity:.4}.flow-controls-vertical button:first-child{border-radius:var(--flow-controls-btn-border-radius) var(--flow-controls-btn-border-radius) 0 0}.flow-controls-vertical button:last-child{border-radius:0 0 var(--flow-controls-btn-border-radius) var(--flow-controls-btn-border-radius)}.flow-controls-vertical button:only-child{border-radius:var(--flow-controls-btn-border-radius)}.flow-controls-horizontal button:first-child{border-radius:var(--flow-controls-btn-border-radius) 0 0 var(--flow-controls-btn-border-radius)}.flow-controls-horizontal button:last-child{border-radius:0 var(--flow-controls-btn-border-radius) var(--flow-controls-btn-border-radius) 0}.flow-controls-horizontal button:only-child{border-radius:var(--flow-controls-btn-border-radius)}.flow-controls-external{z-index:auto;position:static}.flow-selection-box{z-index:7;pointer-events:none;background:var(--flow-selection-bg);border:var(--flow-selection-border);border-radius:var(--flow-selection-border-radius);display:none;position:absolute}.flow-selection-box-active{display:block}.flow-selection-full{border:1px dashed var(--flow-selection-full-border-color,#3b82f666);background:var(--flow-selection-full-bg,#3b82f60f)}.flow-lasso-svg{z-index:7;pointer-events:none;display:none;position:absolute;top:0;left:0;overflow:visible}.flow-lasso-active{display:block}.flow-lasso-path{fill:var(--flow-selection-bg);stroke:var(--flow-lasso-stroke,#e9456080);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.flow-lasso-full .flow-lasso-path{fill:var(--flow-selection-full-bg,#3b82f60f);stroke:var(--flow-lasso-stroke-full,#3b82f699);stroke-dasharray:4 3}.flow-loading-overlay{z-index:50;pointer-events:none;background:var(--flow-loading-bg,#ffffffd9);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.flow-loading-indicator{flex-direction:column;align-items:center;gap:12px;display:flex}.flow-loading-indicator-node{background:var(--flow-loading-indicator-color,#00000014);border-radius:8px;width:120px;height:40px;animation:1.5s ease-in-out infinite flow-loading-pulse}.flow-loading-indicator-text{color:var(--flow-loading-text-color,#0006);font-size:13px}@keyframes flow-loading-pulse{0%,to{opacity:.4}50%{opacity:1}}.flow-loading-fade{transition:opacity .3s}.flow-loading-fade-out{opacity:0;pointer-events:none}.flow-minimap{z-index:12;pointer-events:auto;border:var(--flow-minimap-border);border-radius:var(--flow-minimap-border-radius);position:absolute;overflow:hidden}.flow-minimap-bottom-right{bottom:12px;right:12px}.flow-minimap-bottom-left{bottom:12px;left:12px}.flow-minimap-top-right{top:12px;right:12px}.flow-minimap-top-left{top:12px;left:12px}.flow-minimap svg{display:block}.flow-minimap-bg{fill:var(--flow-minimap-bg)}.flow-minimap-nodes rect{fill:var(--flow-minimap-node-color)}.flow-minimap-mask{fill:var(--flow-minimap-mask-color)}.flow-panel{z-index:11;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;background:var(--flow-panel-bg);border:var(--flow-panel-border);border-radius:var(--flow-panel-border-radius);min-width:var(--flow-panel-min-width);min-height:var(--flow-panel-min-height);position:absolute;overflow:auto}.flow-panel:active{cursor:grabbing}.flow-panel-static,.flow-panel-static:active,.flow-panel-locked,.flow-panel-locked:active{cursor:default}.flow-panel-no-resize{cursor:grab}.flow-panel-no-resize:active{cursor:grabbing}.flow-panel-no-resize.flow-panel-locked,.flow-panel-no-resize.flow-panel-locked:active{cursor:default}.flow-panel>*{-webkit-user-select:text;user-select:text}.flow-panel-top{top:12px;left:50%;transform:translate(-50%)}.flow-panel-bottom{bottom:12px;left:50%;transform:translate(-50%)}.flow-panel-left{top:50%;left:12px;transform:translateY(-50%)}.flow-panel-right{top:50%;right:12px;transform:translateY(-50%)}.flow-panel-top-left{top:12px;left:12px}.flow-panel-top-right{top:12px;right:12px}.flow-panel-bottom-left{bottom:12px;left:12px}.flow-panel-bottom-right{bottom:12px;right:12px}.flow-panel-resize-handle{cursor:nwse-resize;-webkit-user-select:none;user-select:none;background:var(--flow-panel-resize-bg);border-radius:var(--flow-panel-resize-border-radius);width:14px;height:14px;position:absolute;bottom:0;right:0}.flow-panel-resize-handle:hover{background:var(--flow-panel-resize-hover-bg)}.flow-node-group{z-index:0;cursor:grab;background:var(--flow-node-group-bg);border:var(--flow-node-group-border);border-radius:var(--flow-node-group-border-radius);box-shadow:var(--flow-node-group-shadow);font-size:var(--flow-node-group-font-size);text-transform:var(--flow-node-group-text-transform);letter-spacing:var(--flow-node-group-letter-spacing);padding:var(--flow-node-group-padding)}.flow-node-group:hover{border-color:var(--flow-node-group-hover-border-color)}.flow-node-group.flow-node-selected{box-shadow:var(--flow-node-selected-shadow)}.flow-node-invalid{transition:border-color .2s,box-shadow .2s;border:var(--flow-node-invalid-border)!important;box-shadow:var(--flow-node-invalid-shadow)!important}.flow-node-drop-target{transition:border-color .15s,box-shadow .15s;border:var(--flow-node-drop-target-border)!important;box-shadow:var(--flow-node-drop-target-shadow)!important}.flow-node.flow-reorder-dragging{opacity:.95;box-shadow:0 4px 12px #00000026}.flow-layout-animating .flow-node{transition:left var(--flow-layout-animation-duration) ease, top var(--flow-layout-animation-duration) ease}.flow-animation-locked{pointer-events:none;cursor:default}.flow-animation-locked .flow-node{cursor:default}.flow-animation-locked .flow-handle{cursor:default;pointer-events:none}.flow-guide-path{fill:none;stroke:var(--flow-guide-path-color,#94a3b8);stroke-width:var(--flow-guide-path-width,1);stroke-dasharray:var(--flow-guide-path-dash,4 4);opacity:var(--flow-guide-path-opacity,.5);pointer-events:none}.flow-devtools{z-index:60;pointer-events:none;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:12px;left:56px}.flow-devtools>*{pointer-events:auto}.flow-devtools-toggle{background:var(--flow-devtools-btn-bg,var(--demo-overlay-btn-bg,#ffffffe6));border:var(--flow-devtools-btn-border,var(--demo-overlay-btn-border,1px solid #0000001a));width:28px;height:28px;color:var(--flow-devtools-btn-color,var(--demo-overlay-btn-color,#374151));cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.flow-devtools-toggle:hover{background:var(--flow-devtools-btn-hover,var(--demo-overlay-btn-hover,#fff))}.flow-devtools-panel{background:var(--flow-devtools-panel-bg,var(--demo-overlay-btn-bg,#ffffffe6));border:var(--flow-devtools-panel-border,var(--demo-overlay-btn-border,1px solid #0000001a));border-radius:6px;min-width:160px;max-height:320px;padding:0;font-size:11px;line-height:1;overflow-y:auto}.flow-devtools-section{padding:6px 10px}.flow-devtools-section+.flow-devtools-section{border-top:1px solid var(--flow-devtools-divider,#00000014)}.flow-devtools-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--flow-devtools-title-color,var(--demo-text-muted,#6b7280));justify-content:space-between;align-items:center;margin-bottom:4px;font-size:10px;font-weight:600;display:flex}.flow-devtools-row{justify-content:space-between;gap:12px;padding:2px 0;display:flex}.flow-devtools-label{color:var(--flow-devtools-label-color,var(--demo-text-muted,#6b7280))}.flow-devtools-value{color:var(--flow-devtools-value-color,var(--demo-text,#1f2937));font-variant-numeric:tabular-nums}.flow-devtools-clear-btn{border:1px solid var(--flow-devtools-divider,#00000014);color:var(--flow-devtools-label-color,var(--demo-text-muted,#6b7280));cursor:pointer;background:0 0;border-radius:3px;padding:1px 6px;font-size:9px}.flow-devtools-clear-btn:hover{background:#0000000a}.flow-devtools-event-list{max-height:120px;overflow-y:auto}.flow-devtools-event-entry{align-items:baseline;gap:6px;padding:1px 0;font-size:10px;display:flex}.flow-devtools-event-name{color:var(--flow-devtools-value-color,var(--demo-text,#1f2937));white-space:nowrap;font-weight:500}.flow-devtools-event-age{color:var(--flow-devtools-label-color,var(--demo-text-muted,#6b7280));white-space:nowrap;font-size:9px}.flow-devtools-event-detail{color:var(--flow-devtools-label-color,var(--demo-text-muted,#6b7280));text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:9px;overflow:hidden}.flow-devtools-state-content{color:var(--flow-devtools-label-color,var(--demo-text-muted,#6b7280));font-size:10px}.flow-devtools-json{white-space:pre;max-height:80px;color:var(--flow-devtools-value-color,var(--demo-text,#1f2937));background:#00000008;border-radius:3px;margin:2px 0;padding:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;line-height:1.3;overflow-x:auto}.flow-touch-selection-mode-indicator{z-index:55;background:var(--flow-touch-selection-bg,#3b82f6e6);color:var(--flow-touch-selection-color,#fff);pointer-events:none;opacity:0;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500;transition:opacity .2s;position:absolute;top:8px;left:50%;transform:translate(-50%)}.flow-touch-selection-mode .flow-touch-selection-mode-indicator{opacity:1}@media (pointer:coarse){.flow-handle:before{content:"";z-index:-1;position:absolute;inset:-17px}.flow-resizer-handle:before{content:"";z-index:-1;position:absolute;inset:-8px}}.flow-ghost-node{pointer-events:none;opacity:var(--flow-ghost-opacity,.5);border:var(--flow-ghost-border,var(--flow-node-border));background:var(--flow-ghost-bg,var(--flow-node-bg));border-radius:var(--flow-node-border-radius);padding:var(--flow-node-padding);font-size:var(--flow-node-font-size);color:var(--flow-ghost-color,var(--flow-node-color));min-width:var(--flow-node-min-width);text-align:center;box-shadow:var(--flow-node-shadow);position:absolute;transform:translate(-50%)}.flow-ghost-handle{background:var(--flow-ghost-border,#94a3b8);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.flow-static{cursor:default}.flow-static .flow-node{cursor:default;-webkit-user-select:text;user-select:text;touch-action:auto}.flow-static .flow-edges-static{pointer-events:none;z-index:1;width:1px;height:1px;position:absolute;inset:0;overflow:visible}.flow-static .flow-edges-static path{stroke:var(--flow-edge-stroke,#b1b1b7);stroke-width:var(--flow-edge-stroke-width,1.5);fill:none}.flow-tool-eraser,.flow-tool-rectangle,.flow-tool-freehand,.flow-tool-highlighter,.flow-tool-arrow,.flow-tool-circle{cursor:crosshair}.flow-tool-text{cursor:text}.flow-tool-freehand-filled{cursor:crosshair}.flow-eraser-svg{pointer-events:none;z-index:1000;position:absolute;top:0;left:0}.flow-eraser-trail{fill:none;stroke:var(--flow-eraser-color,#ef4444);stroke-width:var(--flow-eraser-width,3);stroke-linecap:round;stroke-linejoin:round;opacity:.6}.flow-eraser-marked{outline-offset:2px;opacity:.3!important;outline:2px solid var(--flow-eraser-color,#ef4444)!important}.flow-rectangle-draw-preview{border:2px dashed var(--flow-rectangle-draw-border,#94a3b8);background:var(--flow-rectangle-draw-bg,#94a3b81a);pointer-events:none;border-radius:4px}.flow-freehand-path{stroke:var(--flow-freehand-color,#334155);stroke-width:var(--flow-freehand-width,2);stroke-linecap:round;stroke-linejoin:round}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0}.color-swatch.active{border-color:var(--flow-node-selected-border-color,#3b82f6);box-shadow:0 0 0 2px #3b82f64d}@keyframes flow-long-press-ring{0%{opacity:0;transform:scale(.8)}to{opacity:.3;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.flow-node,.flow-edge-path,.flow-viewport{transition:none!important}}.wiring-builder{min-height:100dvh;color:var(--ink);background:#d8d1c0;overflow:hidden}.builder-topbar{z-index:50;border-bottom:4px solid var(--ink);background:var(--paper);grid-template-columns:1fr auto 1fr;align-items:stretch;min-height:76px;display:grid;position:relative}.builder-brand,.builder-document-state,.builder-top-actions{align-items:center;display:flex}.builder-brand{gap:18px;min-width:0;padding:10px 22px}.builder-brand>a{align-items:center;gap:10px;display:flex}.builder-brand>a span{width:38px;height:38px;color:var(--paper);background:var(--red);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);place-items:center;font:900 14px/1 Courier New,monospace;display:grid}.builder-brand>a strong{letter-spacing:.04em;text-transform:uppercase;transform-origin:0;font:900 24px/1 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;transform:scaleX(.86)}.builder-brand>i{background:#17171447;width:1px;height:34px}.builder-brand>div{gap:5px;min-width:0;display:grid}.builder-brand>div span,.builder-document-state span,.builder-stage-status,.builder-panel-heading>span,.builder-inspector-heading>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font:800 9px/1.2 Courier New,monospace}.builder-brand>div b{text-overflow:ellipsis;white-space:nowrap;font:800 12px/1.1 Arial,sans-serif;overflow:hidden}.builder-document-state{border-left:1px solid #17171433;border-right:1px solid #17171433;gap:8px;padding:8px 16px}.builder-document-state label{gap:3px;display:grid}.builder-document-state input{border:1px solid var(--ink);width:150px;height:29px;color:var(--ink);background:#fbf5e7;padding:0 7px;font:700 10px/1 Courier New,monospace}.builder-fitment-title input{width:190px}.builder-fitment-year input{width:80px}.builder-fitment-model input,.builder-fitment-configuration input{width:116px}.builder-document-state input[readonly]{color:var(--muted);cursor:not-allowed;background:#d8d1c0}.builder-save-state{gap:4px;max-width:150px;margin-left:8px;display:grid}.builder-save-state b{text-transform:uppercase;max-width:140px;font:800 10px/1 Courier New,monospace}.builder-save-state small{color:var(--muted);font:700 9px/1.2 Arial,sans-serif}.builder-status-dot{background:#3f7b52;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3f7b5226}.builder-top-actions{justify-content:flex-end;gap:8px;padding:10px 20px}.builder-top-actions button,.builder-history-controls button,.builder-mode-tabs button,.builder-flow-toggle{border:2px solid var(--ink);min-height:38px;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;padding:0 14px;font:800 9px/1 Courier New,monospace}.builder-top-actions button:last-child{color:var(--paper);background:var(--ink);box-shadow:3px 3px 0 var(--red)}.builder-top-actions button:disabled{cursor:wait;opacity:.55}.publication-checklist-overlay{z-index:100;background:#171714c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.publication-checklist{border:4px solid var(--ink);background:var(--paper);width:min(620px,100%);max-height:calc(100dvh - 40px);box-shadow:10px 10px 0 var(--red);overflow-y:auto}.publication-checklist>header,.publication-checklist>label,.publication-checklist>footer{padding:18px 20px}.publication-checklist>header{border-bottom:3px solid var(--ink)}.publication-checklist>header>span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font:900 9px/1 Courier New,monospace}.publication-checklist h2{text-transform:uppercase;margin:7px 0 0;font:900 38px/.95 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.publication-checklist header p,.publication-checklist-issues p{color:var(--muted);margin:9px 0 0;font:700 13px/1.5 Arial,sans-serif}.publication-checklist-issues{border-bottom:2px solid var(--ink);background:#eee6d4;gap:8px;padding:16px 20px;display:grid}.publication-checklist-issues>strong{text-transform:uppercase;font:900 10px/1 Courier New,monospace}.publication-checklist-issues article{border-left:6px solid var(--mustard);background:var(--paper);padding:10px 12px}.publication-checklist-issues article[data-level=safety]{border-left-color:var(--red)}.publication-checklist-issues article b{font:900 13px/1.2 Arial,sans-serif}.publication-checklist>label{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:12px;font:800 14px/1.45 Arial,sans-serif;display:grid}.publication-checklist>label input{width:22px;height:22px;accent-color:var(--red)}.publication-checklist>footer{border-top:2px solid var(--ink);justify-content:flex-end;gap:10px;display:flex}.publication-checklist>footer button{border:2px solid var(--ink);text-transform:uppercase;cursor:pointer;background:0 0;min-height:42px;padding:0 14px;font:900 9px/1 Courier New,monospace}.publication-checklist>footer button:last-child{color:var(--paper);background:var(--red)}.publication-checklist>footer button:disabled{cursor:not-allowed;opacity:.45}.builder-workspace{grid-template-columns:272px minmax(460px,1fr) 318px;height:calc(100dvh - 76px);min-height:620px;display:grid;overflow:hidden}.wiring-viewer{background:var(--paper);width:100%;max-width:100vw;min-height:0;overflow:clip visible}.viewer-topbar{box-sizing:border-box;border-bottom:4px solid var(--ink);background:var(--paper);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;width:100%;min-width:0;padding:18px clamp(18px,3vw,48px);display:grid}.viewer-document{min-width:0}.viewer-document .library-breadcrumb{margin-bottom:8px}.viewer-document>span,.viewer-needs-heading>span,.viewer-parts>header span,.viewer-reference-boundary>span{color:var(--red);letter-spacing:.09em;text-transform:uppercase;font:900 9px/1 Courier New,monospace}.viewer-document h1{letter-spacing:.01em;text-transform:uppercase;margin:6px 0 0;font:900 clamp(30px,4vw,58px)/.92 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.viewer-document p{color:var(--muted);margin:8px 0 0;font:700 12px/1.4 Arial,sans-serif}.viewer-document ul{flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.viewer-document li{border:1px solid var(--ink);text-transform:uppercase;padding:6px 8px;font:900 8px/1 Courier New,monospace}.viewer-remix-source{font-size:10px}.viewer-remix-source a{color:var(--red);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:2px}.viewer-actions{grid-template-columns:repeat(4,auto);align-items:center;gap:7px;min-width:0;max-width:440px;display:grid}.viewer-actions>a,.viewer-actions>button{border:2px solid var(--ink);min-height:38px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;place-items:center;padding:0 12px;font:900 8px/1 Courier New,monospace;display:inline-grid}.viewer-actions>a{min-height:0;color:var(--red);border:0;grid-column:1/-1;justify-self:end;padding:0}.viewer-actions>.viewer-remix{color:var(--paper);background:var(--red);box-shadow:4px 4px 0 var(--ink)}.viewer-share-tools{grid-column:1/-1;grid-template-columns:minmax(150px,1fr) auto auto;gap:6px;display:grid}.viewer-share-tools label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font:900 8px/1 Courier New,monospace}.viewer-share-tools input,.viewer-share-tools button{border:2px solid var(--ink);min-width:0;min-height:38px}.viewer-share-tools input{width:100%;color:var(--ink);background:#ffffff8c;padding:0 9px;font:700 10px/1.2 Arial,sans-serif}.viewer-share-tools button{color:var(--ink);background:var(--mustard);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:0 11px;font:900 8px/1 Courier New,monospace}.viewer-actions>button:disabled{cursor:wait;opacity:.55}.viewer-actions small{max-width:360px;color:var(--muted);text-align:right;grid-column:1/-1;justify-self:end;font:700 9px/1.35 Arial,sans-serif}.viewer-workspace{width:100%;min-width:0;max-width:100vw;height:min(78dvh,920px);min-height:660px;display:block}.viewer-workspace .builder-stage{width:100%;height:100%}.viewer-workspace .builder-stage-toolbar{grid-template-columns:auto 1fr}.viewer-workspace .builder-flow-toggle{grid-area:1/2}.wiring-viewer .wiring-terminal{cursor:default;pointer-events:none}.viewer-canvas-help{max-width:none}.viewer-needs{box-sizing:border-box;border-top:5px solid var(--ink);background:#eee6d4;width:100%;min-width:0;padding:clamp(28px,5vw,72px) clamp(18px,4vw,64px)}.viewer-needs-heading{max-width:820px}.viewer-needs-heading h2,.viewer-parts>header h2{text-transform:uppercase;margin:7px 0 0;font:900 clamp(34px,5vw,64px)/.9 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.viewer-needs-heading p{max-width:700px;color:var(--muted);margin:14px 0 0;font:700 17px/1.55 Arial,sans-serif}.viewer-needs-grid{grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:28px;display:grid}.viewer-circuit-filter,.viewer-reference-boundary,.viewer-validation{border:3px solid var(--ink);background:var(--paper);min-width:0;box-shadow:6px 6px 0 var(--ink);padding:20px}.viewer-reference-boundary strong{text-transform:uppercase;margin-top:12px;font:900 19px/1.05 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;display:block}.viewer-reference-boundary p{color:var(--muted);margin:10px 0 0;font:700 15px/1.55 Arial,sans-serif}.viewer-validation{border-bottom:3px solid var(--ink)}.viewer-parts{border:3px solid var(--ink);background:var(--paper);margin-top:36px}.viewer-parts>header{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:18px;min-height:92px;padding:16px 20px;display:flex}.viewer-parts>header h2{font-size:clamp(28px,3vw,44px)}.viewer-parts>header>b{color:var(--paper);background:var(--red);text-transform:uppercase;padding:9px 11px;font:900 9px/1 Courier New,monospace}.viewer-parts>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.viewer-parts details{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.viewer-parts details:nth-child(2n){border-right:0}.viewer-parts summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:74px;padding:14px 16px;list-style-position:inside;display:grid}.viewer-parts summary>span{gap:4px;min-width:0;display:grid}.viewer-parts summary b{font:900 17px/1.1 Arial,sans-serif}.viewer-parts summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.4 Arial,sans-serif;overflow:hidden}.viewer-parts summary strong,.viewer-parts summary em{text-transform:uppercase;font:900 11px/1 Courier New,monospace}.viewer-parts summary em{color:var(--paper);background:var(--ink);padding:5px 6px;font-style:normal}.viewer-parts details>div{padding:0 16px 18px}.viewer-parts details>div>p{color:var(--muted);margin:0 0 12px;font:700 15px/1.5 Arial,sans-serif}.viewer-parts dl{border:1px solid #17171459;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.viewer-parts dl>div{border-bottom:1px solid #17171440;border-right:1px solid #17171440;padding:8px}.viewer-parts dt{color:var(--red);text-transform:uppercase;font:900 10px/1 Courier New,monospace}.viewer-parts dd{margin:4px 0 0;font:800 13px/1.3 Courier New,monospace}.viewer-parts ul{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.viewer-parts li{border:1px solid var(--ink);text-transform:uppercase;padding:7px 9px;font:800 11px/1 Courier New,monospace}.viewer-parts li span{color:var(--red)}.builder-library,.builder-inspector{background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--ink) transparent;min-width:0;overflow-y:auto}.builder-library{border-right:3px solid var(--ink)}.builder-inspector{border-left:3px solid var(--ink)}.builder-panel-heading,.builder-inspector-heading{border-bottom:2px solid var(--ink);padding:22px 20px}.builder-panel-heading h1,.builder-inspector-heading h2{letter-spacing:.015em;text-transform:uppercase;margin:8px 0 0;font:900 28px/.92 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.builder-panel-heading p{color:var(--muted);margin:12px 0 0;font:700 12px/1.45 Arial,sans-serif}.builder-circuit-filter,.builder-components,.builder-validation{border-bottom:2px solid var(--ink);padding:18px 16px}.builder-subheading{justify-content:space-between;align-items:center;gap:12px;min-height:24px;margin-bottom:12px;display:flex}.builder-subheading h2,.builder-subheading h3{letter-spacing:.07em;text-transform:uppercase;margin:0;font:900 11px/1 Courier New,monospace}.builder-subheading>button,.builder-subheading>span{color:var(--red);text-transform:uppercase;background:0 0;border:0;padding:0;font:800 9px/1 Courier New,monospace}.builder-subheading>button{cursor:pointer;border-bottom:1px solid}.circuit-filter-list{border:2px solid var(--ink);display:grid}.circuit-filter-list button{text-align:left;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #17171459;grid-template-columns:14px 1fr auto;align-items:center;gap:9px;min-height:42px;padding:0 10px;font:800 10px/1 Courier New,monospace;display:grid}.circuit-filter-list button:last-child{border-bottom:0}.circuit-filter-list button:hover{background:#d5a43c29}.circuit-filter-list button.is-active{color:var(--paper);background:var(--ink)}.circuit-filter-list button b{color:var(--muted);font-size:9px}.circuit-filter-list button.is-active b{color:var(--mustard)}.circuit-swatch{border:2px solid;border-radius:50%;width:12px;height:12px}.circuit-swatch-all{background:conic-gradient(var(--red), var(--mustard), var(--ink), var(--red))}.circuit-swatch-main{background:var(--red)}.circuit-swatch-starting{background:#8d2f23}.circuit-swatch-charging{background:#4f6f52}.circuit-swatch-ignition{background:#a05b2a}.circuit-swatch-lighting{background:var(--mustard)}.circuit-swatch-controls{background:#286f8f}.circuit-swatch-grounds{background:var(--ink)}.builder-component-search{margin-bottom:10px;display:block}.builder-component-search input,.inspector-electrical input,.inspector-field input,.inspector-field select,.inspector-field textarea,.wire-color-custom input{border:2px solid var(--ink);width:100%;min-height:40px;color:var(--ink);background:#fbf5e7;border-radius:0;padding:9px 10px;font:700 11px/1.2 Courier New,monospace}.component-library-list{gap:6px;display:grid}.component-library-list>button{min-height:54px;color:var(--ink);text-align:left;cursor:grab;background:0 0;border:1px solid #17171459;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:7px 9px;display:grid}.component-library-list>button:hover{border-color:var(--ink);background:#d5a43c24}.component-library-list>button:active{cursor:grabbing}.component-library-list>button.is-dragging{border-color:var(--red);opacity:.58;background:#d5a43c3d}[data-component-icon]{border:2px solid;border-radius:50%;place-items:center;width:34px;height:34px;font:900 9px/1 Courier New,monospace;display:grid}[data-component-icon]:before{content:"CMP"}[data-component-icon=battery]:before{content:"BAT"}[data-component-icon=protection]:before,[data-component-icon=fuse]:before{content:"FUS"}[data-component-icon=circuit-breaker]:before{content:"CB"}[data-component-icon=resistor]:before{content:"Ω";font-size:13px}[data-component-icon=junction]:before{content:"JCT"}[data-component-icon=switch]:before{content:"SW"}[data-component-icon=relay]:before{content:"RLY"}[data-component-icon=controls]:before{content:"CTL"}[data-component-icon=generator]:before{content:"GEN"}[data-component-icon=regulator]:before{content:"REG"}[data-component-icon=ignition]:before{content:"IGN"}[data-component-icon=distributor]:before{content:"DST"}[data-component-icon=starter]:before{content:"STR"}[data-component-icon=light]:before{content:"LUX"}[data-component-icon=load]:before{content:"12V"}[data-component-icon=ground]:before{content:"GND"}.component-library-list span{gap:4px;min-width:0;display:grid}.component-library-list b{font:800 11px/1 Arial,sans-serif}.component-library-list small{color:var(--muted);font:700 8px/1.2 Courier New,monospace}.component-library-list em{color:var(--red);letter-spacing:.04em;text-transform:uppercase;font:900 7px/1 Courier New,monospace}.component-library-list strong{color:var(--red);font:900 20px/1 Arial,sans-serif}.builder-safety-note{border:2px solid var(--red);background:#bb382612;margin:16px;padding:13px}.builder-safety-note span,.inspector-source-note span{color:var(--red);letter-spacing:.06em;text-transform:uppercase;font:900 9px/1 Courier New,monospace}.builder-safety-note p,.inspector-source-note p{margin:8px 0 0;font:700 10px/1.45 Arial,sans-serif}.builder-stage{background:#d8d1c0;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.builder-stage-toolbar{border-bottom:2px solid var(--ink);background:#eee6d4;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:54px;padding:7px 12px;display:grid}.builder-mode-tabs,.builder-history-controls{align-items:center;display:flex}.builder-mode-tabs button,.builder-history-controls button,.builder-flow-toggle{background:var(--paper);min-height:34px;box-shadow:none;border-width:1px;padding:0 10px}.builder-mode-tabs button+button{border-left:0}.builder-mode-tabs button.is-active{color:var(--paper);background:var(--ink)}.builder-history-controls{justify-content:center;gap:5px}.builder-history-controls>span{background:#17171447;width:1px;height:22px;margin:0 3px}.builder-history-controls button:disabled{opacity:.32;cursor:not-allowed}.builder-flow-toggle{justify-self:end;align-items:center;gap:7px;display:inline-flex}.builder-flow-toggle i{background:var(--muted);border-radius:50%;width:8px;height:8px}.builder-flow-toggle.is-active i{background:var(--red);box-shadow:0 0 0 3px #bb382624}.builder-simulation-controls{border-top:1px solid #1717143d;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;padding-top:7px;display:flex}.builder-simulation-controls fieldset{border:1px solid var(--ink);align-items:center;margin:0;padding:0;display:inline-flex}.builder-simulation-controls legend{float:left;color:var(--paper);background:var(--ink);letter-spacing:.04em;text-transform:uppercase;padding:0 6px;font:900 7px/27px Courier New,monospace}.builder-simulation-controls button,.inspector-simulation button{border:0;border-left:1px solid var(--ink);min-height:27px;color:var(--ink);background:var(--paper);text-transform:uppercase;cursor:pointer;padding:0 7px;font:800 7px/1 Courier New,monospace}.builder-simulation-controls button.is-active,.inspector-simulation button.is-active{color:var(--paper);background:var(--red)}.wiring-canvas.flow-container{--flow-container-height:100%;--flow-bg-color:#ddd6c6;--flow-bg-pattern-gap:24;--flow-node-min-width:188px;--flow-node-bg:var(--paper);--flow-node-color:var(--ink);--flow-node-border:3px solid var(--ink);--flow-node-border-radius:2px;--flow-node-padding:0;--flow-node-shadow:5px 5px 0 #17171429;--flow-node-selected-border-color:var(--red);--flow-node-selected-shadow:0 0 0 3px var(--mustard), 7px 7px 0 #1717142e;--flow-edge-stroke-width:3.5;--flow-edge-stroke-selected:var(--red);--flow-edge-stroke-width-selected:6;--flow-edge-animated-dasharray:9 7;--flow-edge-animated-duration:.8s;--flow-edge-dot-size:5;--flow-edge-dot-duration:1.2s;--flow-edge-label-bg:var(--ink);--flow-edge-label-color:var(--paper);--flow-edge-label-border:2px solid var(--paper);--flow-edge-label-font-size:9px;--flow-edge-label-padding:4px 7px;--flow-handle-size:18px;--flow-handle-bg:var(--paper);--flow-handle-border:3px solid var(--ink);--flow-handle-active-bg:var(--mustard);border:0;min-height:0}.wiring-canvas .flow-edge-selected path:not(:first-child){stroke:var(--wiring-edge-color,var(--flow-edge-stroke-selected,#bb3826))!important}.wiring-canvas.flow-container.flow-connecting{cursor:crosshair}.wiring-canvas.flow-container.is-library-drop-active{box-shadow:inset 0 0 0 5px var(--mustard)}.wiring-canvas .flow-node-filtered{opacity:.12;pointer-events:none}.wiring-canvas .flow-edge-filtered,.wiring-canvas .wiring-edge-muted{opacity:.07;pointer-events:none}.wiring-canvas .flow-edges path.wiring-edge-inactive{opacity:.72;filter:saturate(.95)contrast(1.08)drop-shadow(0 0 1px #17171447)}.wiring-canvas .flow-edges path.wiring-edge-energized{opacity:.92;filter:drop-shadow(0 0 1px #d5a43cb3)}.wiring-canvas .flow-edges path.wiring-edge-flowing{opacity:1;filter:drop-shadow(0 0 2px #d5a43ce6)}.wiring-canvas .flow-edges path.wiring-flow-reverse{animation-direction:reverse}.wiring-canvas .flow-edges path.wiring-edge-muted{opacity:.07;filter:none;pointer-events:none}.wiring-node.flow-node{text-align:left;transition:opacity .18s,border-color .12s,box-shadow .12s,filter .12s}.wiring-node.flow-node.is-energized:not([data-node-type=ground]){border-color:var(--mustard);box-shadow:4px 4px 0 var(--ink), 0 0 0 2px #d5a43c80}.wiring-node.flow-node.is-flowing:not([data-node-type=ground])>header{box-shadow:inset 0 -4px 0 var(--mustard)}.wiring-node.flow-node.is-protection-open{border-color:var(--red);box-shadow:4px 4px 0 var(--ink), 0 0 0 2px #bb38266b}.wiring-node.flow-node.is-protection-open>header .wiring-node-status{color:var(--paper);background:var(--red)}.wiring-node.flow-node.is-relay-energized>header{box-shadow:inset 0 -4px 0 var(--red)}.wiring-node.flow-node[data-node-type=resistor]>header{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:7px}.wiring-node.flow-node[data-node-type=resistor]>header .wiring-node-status{display:none}.wiring-node.flow-node[data-node-type=resistor] .wiring-node-meta{bottom:6px;left:7px;right:7px}.wiring-node-drag-handle{z-index:2;cursor:grab;height:51px;position:absolute;top:0;left:0;right:0}.wiring-node-drag-handle:active{cursor:grabbing}.wiring-node-drag-handle.is-ground{height:50px}.wiring-node.flow-node[data-node-type=ground]{min-width:0;color:var(--ink);box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.wiring-node.flow-node[data-node-type=ground].flow-node-selected{filter:drop-shadow(0 0 2px var(--mustard)) drop-shadow(0 0 4px var(--mustard))}.wiring-node.flow-node[data-node-type=ground].is-flowing{color:var(--red);filter:drop-shadow(0 0 3px #bb382673)}.ground-symbol{width:58px;height:50px;display:block;overflow:visible}.ground-symbol path{fill:none;stroke:currentColor;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.wiring-node>header{min-height:51px;color:var(--paper);background:var(--ink);border-bottom:2px solid var(--ink);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:7px 9px;display:grid}.wiring-node>header [data-component-icon]{border-color:var(--paper);width:30px;height:30px;color:var(--paper);font-size:7px}.wiring-node>header span{gap:3px;min-width:0;display:grid}.wiring-node>header b{text-overflow:ellipsis;white-space:nowrap;font:800 11px/1 Arial,sans-serif;overflow:hidden}.wiring-node>header small{color:#c9c0aa;text-overflow:ellipsis;white-space:nowrap;font:700 7px/1.1 Courier New,monospace;overflow:hidden}.wiring-node>header strong{color:var(--mustard);letter-spacing:1px;align-self:start;font:900 8px/1 Courier New,monospace}.wiring-node>header .wiring-node-status{max-width:56px;color:var(--ink);background:var(--mustard);letter-spacing:.03em;text-align:center;text-transform:uppercase;padding:4px 5px;font-size:6px;line-height:1.1}.wiring-node-meta{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font:800 7px/1 Courier New,monospace;display:flex;position:absolute;bottom:8px;left:9px;right:9px}.wiring-node-meta b{color:var(--red)}.wiring-component-symbol{z-index:1;color:var(--ink);fill:none;pointer-events:none;position:absolute}.wiring-component-symbol path{stroke:currentColor;stroke-width:3px;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.wiring-resistor-symbol{height:21px;bottom:22px;left:16px;right:16px}.wiring-relay-symbol,.wiring-starter-relay-symbol{width:100px;height:47px;top:88px;left:44px}.wiring-relay-symbol .relay-mechanical-link,.wiring-starter-relay-symbol .relay-mechanical-link{stroke-dasharray:4 4;stroke-width:2px}.wiring-relay-symbol .relay-contact-active,.wiring-starter-relay-symbol .relay-contact-active{stroke:var(--red)}.wiring-starter-symbol{height:37px;bottom:12px;left:20px;right:20px}.wiring-starter-symbol circle{stroke:currentColor;stroke-width:3px;fill:var(--paper);vector-effect:non-scaling-stroke}.wiring-starter-symbol text{fill:currentColor;font:900 13px/1 Arial,sans-serif}.wiring-node-switch-control{z-index:3;border-top:1px solid #17171447;justify-items:center;gap:3px;padding-top:5px;display:grid;position:absolute;bottom:25px;left:18px;right:18px}.wiring-node-switch-control>span,.wiring-node-switch-control>small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font:900 6px/1 Courier New,monospace}.wiring-node-switch-control>div{align-items:center;gap:4px;display:flex}.wiring-node-switch-control>div>button:not(.wiring-switch-dial){border:1px solid var(--ink);min-width:32px;min-height:24px;color:var(--ink);background:var(--paper);text-transform:uppercase;cursor:pointer;padding:0 5px;font:900 6px/1 Courier New,monospace}.wiring-switch-dial{width:52px;min-height:39px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.wiring-switch-dial>i{border:2px solid var(--ink);background:var(--mustard);width:27px;height:27px;transform:translateX(-50%) rotate(var(--switch-angle,0deg));border-radius:50%;transition:transform .18s;position:absolute;top:0;left:50%;box-shadow:2px 2px #1717144d}.wiring-switch-dial>i:after{background:var(--ink);content:"";border-radius:2px;width:3px;height:9px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.wiring-switch-dial>b{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font:900 6px/1 Courier New,monospace;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.wiring-node-switch-control button:focus-visible{outline:3px solid var(--red);outline-offset:2px}.wiring-node-toggle-control{z-index:3;border-top:1px solid #17171447;justify-items:stretch;gap:5px;padding-top:7px;display:grid;position:absolute;bottom:25px;left:18px;right:18px}.wiring-node-toggle-control>span{color:var(--muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;font:900 6px/1 Courier New,monospace}.wiring-node-toggle-control>button{border:2px solid var(--ink);min-height:29px;color:var(--ink);background:var(--paper);cursor:pointer;grid-template-columns:1fr 1fr;align-items:center;padding:2px;display:grid;position:relative}.wiring-node-toggle-control>button i{z-index:0;background:var(--mustard);width:calc(50% - 2px);transition:transform .16s;position:absolute;top:2px;bottom:2px;left:2px;box-shadow:1px 1px #17171459}.wiring-node-toggle-control>button.is-active i{background:var(--red);transform:translate(100%)}.wiring-node-toggle-control>button b{z-index:1;text-transform:uppercase;font:900 6px/1 Courier New,monospace;position:relative}.wiring-node-toggle-control>button.is-active b:last-child{color:var(--paper)}.wiring-node-toggle-control>button:focus-visible{outline:3px solid var(--red);outline-offset:2px}.wiring-terminal-pair{display:contents}.wiring-terminal.flow-handle{border:3px solid var(--ink);width:22px;min-width:22px;height:22px;min-height:22px;color:var(--ink);background:var(--paper);cursor:crosshair;border-radius:50%;padding:0;overflow:visible}.wiring-terminal.flow-handle.is-left{left:-12px;right:auto;transform:translateY(-50%)}.wiring-terminal.flow-handle.is-right{left:auto;right:-12px;transform:translateY(-50%)}.wiring-terminal.flow-handle.is-top{bottom:auto;right:auto;transform:translate(-50%);top:-12px!important}.wiring-terminal.flow-handle.is-bottom{bottom:-12px;right:auto;transform:translate(-50%);top:auto!important}.wiring-terminal.flow-handle.is-top>span{top:21px;left:50%;transform:translate(-50%)}.wiring-terminal.flow-handle.is-bottom>span{top:auto;bottom:21px;left:50%;transform:translate(-50%)}.wiring-node[data-node-type=ground] .wiring-terminal{background:0 0;border:0;width:22px;min-width:22px;height:22px;min-height:22px}.wiring-node[data-node-type=ground] .wiring-terminal>i,.wiring-node[data-node-type=ground] .wiring-terminal>span{display:none}.wiring-node[data-node-type=ground] .wiring-terminal:hover,.wiring-node[data-node-type=ground] .wiring-terminal.flow-handle-active{box-shadow:0 0 0 2px var(--ink);background:#d5a43c73}.wiring-terminal.flow-handle>i{background:var(--red);border-radius:50%;position:absolute;inset:3px}.wiring-terminal-source.flow-handle.is-junction{border-color:var(--mustard);box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink)}.wiring-terminal-source.flow-handle.is-junction>i{background:var(--ink);inset:2px}.wiring-terminal.flow-handle.is-ground>i{background:var(--ink)}.wiring-terminal.flow-handle.is-signal>i{background:var(--mustard)}.wiring-terminal.flow-handle>span{width:max-content;color:var(--ink);pointer-events:none;background:#f3ead4e6;padding:3px 4px;font:900 8px/1 Courier New,monospace;position:absolute;top:-1px}.wiring-terminal.flow-handle.is-left>span{left:21px}.wiring-terminal.flow-handle.is-right>span{right:21px}.wiring-terminal.flow-handle:hover,.wiring-terminal.flow-handle.flow-handle-active{background:var(--mustard)}.wiring-terminal-target.flow-handle{z-index:9;opacity:0;pointer-events:none}.wiring-canvas.flow-connecting .wiring-terminal-source.flow-handle{opacity:.28;pointer-events:none}.wiring-canvas.flow-connecting .wiring-terminal-target.flow-handle{z-index:11;pointer-events:auto}.wiring-canvas.flow-connecting .wiring-terminal.flow-handle{box-shadow:0 0 0 3px #d5a43c7a}.wiring-terminal.flow-handle.flow-handle-valid{background:var(--mustard);box-shadow:0 0 0 4px #d5a43c9e}.wiring-terminal-target.flow-handle.flow-handle-valid,.wiring-terminal-target.flow-handle.flow-handle-active{opacity:1}.wiring-terminal.flow-handle.flow-handle-invalid{background:var(--red);opacity:.42}.canvas-connection-prompt,.builder-zoom-controls,.builder-canvas-key,.builder-canvas-help{z-index:30;border:2px solid var(--ink);background:var(--paper);align-items:center;display:flex;position:absolute;box-shadow:3px 3px #17171438}.builder-canvas-help{pointer-events:none;gap:11px;padding:8px 10px;top:14px;left:50%;transform:translate(-50%)}.builder-canvas-help span{text-transform:uppercase;white-space:nowrap;font:800 7px/1 Courier New,monospace}.builder-canvas-help b{color:var(--red)}.canvas-drop-target{z-index:29;border:4px dashed var(--red);color:var(--ink);text-align:center;pointer-events:none;background:#d5a43c33;place-content:center;gap:7px;display:grid;position:absolute;inset:12px}.canvas-drop-target span{text-transform:uppercase;font:900 28px/1 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.canvas-drop-target b{text-transform:uppercase;font:900 9px/1 Courier New,monospace}.canvas-connection-prompt{gap:10px;padding:8px 9px 8px 12px;top:14px;left:50%;transform:translate(-50%)}.canvas-connection-prompt span{color:var(--red);text-transform:uppercase;font:900 8px/1 Courier New,monospace}.canvas-connection-prompt b{font:800 10px/1 Arial,sans-serif}.canvas-connection-prompt button{border:1px solid var(--ink);text-transform:uppercase;cursor:pointer;background:0 0;padding:5px 7px;font:800 8px/1 Courier New,monospace}.builder-zoom-controls{bottom:14px;left:14px}.builder-zoom-controls button{border:0;border-right:1px solid var(--ink);cursor:pointer;background:0 0;width:37px;height:36px;font:900 14px/1 Courier New,monospace}.builder-zoom-controls button:nth-child(2){text-transform:uppercase;width:43px;font-size:8px}.builder-zoom-controls span{text-align:center;min-width:47px;padding:0 8px;font:800 8px/1 Courier New,monospace}.builder-canvas-key{gap:12px;padding:10px 12px;bottom:14px;right:14px}.builder-canvas-key span{text-transform:uppercase;align-items:center;gap:5px;font:800 7px/1 Courier New,monospace;display:flex}.builder-canvas-key i{width:18px;height:3px}.builder-canvas-key i.is-main{background:var(--red)}.builder-canvas-key i.is-charging{background:#4f6f52}.builder-canvas-key i.is-lighting{background:var(--mustard)}.builder-canvas-key i.is-ignition{background:#a05b2a}.builder-canvas-key i.is-ground{background:var(--ink)}.wire-schedule-drawer{z-index:40;border-top:4px solid var(--ink);background:var(--paper);grid-template-rows:auto minmax(0,1fr);height:min(62%,450px);display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 28px #1717142e}.wire-schedule-drawer>header,.viewer-wire-schedule>header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:12px 18px;display:flex}.wire-schedule-drawer>header span,.viewer-wire-schedule>header span{color:var(--red);text-transform:uppercase;font:900 8px/1 Courier New,monospace}.wire-schedule-drawer>header h2,.viewer-wire-schedule>header h2{text-transform:uppercase;margin:5px 0 0;font:900 23px/1 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.wire-schedule-drawer>header button{border:2px solid var(--ink);text-transform:uppercase;cursor:pointer;background:0 0;padding:8px 10px;font:800 8px/1 Courier New,monospace}.wire-schedule-drawer>div,.viewer-wire-schedule>div{overflow:auto}.wire-schedule-drawer table{border-collapse:collapse;width:100%;font:700 9px/1.3 Courier New,monospace}.viewer-wire-schedule table{border-collapse:collapse;width:100%;font:700 13px/1.35 Courier New,monospace}.wire-schedule-drawer th,.wire-schedule-drawer td,.viewer-wire-schedule th,.viewer-wire-schedule td{text-align:left;white-space:nowrap;border-bottom:1px solid #17171440;border-right:1px solid #17171440;padding:10px 12px}.wire-schedule-drawer thead,.viewer-wire-schedule thead{z-index:2;color:var(--paper);background:var(--ink);text-transform:uppercase;position:sticky;top:0}.wire-schedule-drawer td i,.viewer-wire-schedule td i{vertical-align:middle;width:18px;height:4px;margin-right:6px;display:inline-block}.viewer-wire-schedule{border:3px solid var(--ink);background:var(--paper);min-width:0;max-width:100%;box-shadow:8px 8px 0 var(--mustard), 13px 13px 0 var(--ink);margin-top:36px}.wire-live-state,.wire-inspector-route strong{color:var(--ink);text-transform:uppercase;background:#b8ae98;padding:4px 6px;font:900 7px/1 Courier New,monospace;display:inline-block}.wire-live-state[data-status=energized],.wire-inspector-route strong[data-status=energized]{background:var(--mustard)}.wire-live-state[data-status=flowing],.wire-inspector-route strong[data-status=flowing]{color:var(--paper);background:var(--red)}.builder-stage-status{border-top:2px solid var(--ink);background:#eee6d4;justify-content:space-between;align-items:center;gap:18px;min-height:34px;padding:7px 12px;display:flex}.builder-stage-status p{color:var(--ink);margin:0}.builder-stage-status span{white-space:nowrap}.builder-stage-status b{color:var(--red)}.builder-inspector-heading{z-index:10;background:var(--paper);position:sticky;top:0}.component-inspector,.wire-inspector{padding:16px}.inspector-identity{border-bottom:2px solid var(--ink);grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding-bottom:15px;display:grid}.inspector-identity [data-component-icon]{width:44px;height:44px}.inspector-identity>span{gap:5px;display:grid}.inspector-identity>span b{font:800 13px/1 Arial,sans-serif}.inspector-identity>span small{color:var(--muted);font:800 8px/1 Courier New,monospace}.inspector-identity>strong{color:var(--paper);background:var(--red);text-transform:uppercase;padding:5px 6px;font:800 7px/1 Courier New,monospace}.inspector-specs{border-bottom:2px solid var(--ink);margin:0;display:grid}.inspector-specs>div{border-bottom:1px solid #17171440;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:42px;display:grid}.inspector-specs>div:last-child{border-bottom:0}.inspector-specs dt{color:var(--muted);text-transform:uppercase;font:800 8px/1 Courier New,monospace}.inspector-specs dd{text-transform:capitalize;margin:0;font:800 9px/1 Arial,sans-serif}.inspector-simulation,.inspector-component-configuration,.inspector-component-options,.inspector-protection,.inspector-calculation-note{border-bottom:2px solid var(--ink);padding:15px 0}.inspector-simulation>div:last-child{border:1px solid var(--ink);flex-wrap:wrap;display:flex}.inspector-simulation button:first-child{border-left:0}.inspector-component-configuration,.inspector-configuration-group{gap:11px;display:grid}.inspector-component-configuration .builder-subheading{margin-bottom:0}.inspector-configuration-group+.inspector-configuration-group{border-top:1px solid #17171440;padding-top:13px}.inspector-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.inspector-choice-grid button{border:2px solid var(--ink);min-height:52px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;align-content:center;gap:5px;padding:8px;display:grid}.inspector-choice-grid button.is-active{color:var(--paper);background:var(--red);box-shadow:inset 0 0 0 2px var(--paper)}.inspector-choice-grid b{text-transform:uppercase;font:900 8px/1.1 Arial,sans-serif}.inspector-choice-grid small{opacity:.72;text-transform:uppercase;font:800 7px/1 Courier New,monospace}.inspector-component-options{gap:11px;display:grid}.inspector-component-options .builder-subheading{margin-bottom:0}.inspector-component-options .inspector-field{margin-top:0}.inspector-component-options .inspector-field>div{grid-template-columns:minmax(0,1fr) auto;display:grid}.inspector-component-options .inspector-field input,.inspector-component-options .inspector-field select{min-width:0}.inspector-component-options .inspector-field b{border:2px solid var(--ink);border-left:0;place-items:center;min-width:36px;font:900 8px/1 Courier New,monospace;display:grid}.inspector-component-options .inspector-field b[style*="display: none"]{border:0;min-width:0}.inspector-protection{gap:11px;display:grid}.inspector-protection .builder-subheading{margin-bottom:0}.inspector-protection-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inspector-protection-grid>label{gap:5px;display:grid}.inspector-protection-grid>label>span:first-child,.inspector-protection>.inspector-field>span{color:var(--muted);text-transform:uppercase;font:900 8px/1 Courier New,monospace}.inspector-protection-grid>label>span:last-child{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.inspector-protection-grid input{border:2px solid var(--ink);width:100%;min-width:0;min-height:40px;color:var(--ink);background:#fbf5e7;padding:9px 10px;font:700 11px/1.2 Courier New,monospace}.inspector-protection-grid b{border:2px solid var(--ink);text-transform:uppercase;border-left:0;place-items:center;min-width:36px;font:900 7px/1 Courier New,monospace;display:grid}.inspector-protection>p{border-left:4px solid var(--mustard);background:#d5a43c1f;margin:0;padding:9px;font:700 9px/1.4 Arial,sans-serif}.inspector-calculation-note{gap:9px;display:grid}.inspector-calculation-note .builder-subheading{margin-bottom:0}.inspector-calculation-note p{border-left:4px solid var(--red);background:#bb382612;margin:0;padding:10px;font:700 9px/1.45 Arial,sans-serif}.inspector-electrical{border-bottom:2px solid var(--ink);padding:16px 0}.inspector-electrical article{border-top:1px solid #17171438;grid-template-columns:minmax(82px,1.4fr) minmax(62px,.9fr) 42px 30px;align-items:end;gap:5px;padding:8px 0;display:grid}.inspector-electrical article label{min-width:0}.inspector-electrical article label>span,.wire-color-custom label>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font:800 7px/1 Courier New,monospace;display:block}.inspector-electrical article input{min-width:0;min-height:34px;padding:7px 6px;font-size:8px}.inspector-electrical article>button{border:1px solid var(--red);width:30px;min-height:34px;color:var(--red);text-transform:uppercase;cursor:pointer;background:0 0;padding:0;font:900 7px/1 Courier New,monospace}.inspector-terminals{border-bottom:2px solid var(--ink);padding:16px 0}.inspector-terminals>div:not(.builder-subheading){border-top:1px solid #17171438;grid-template-columns:14px 1fr auto;align-items:center;gap:9px;min-height:42px;padding:0 5px;display:grid}.inspector-terminals>div>i{border:2px solid var(--ink);background:var(--red);border-radius:50%;width:10px;height:10px}.inspector-terminals>div>i.is-ground{background:var(--ink)}.inspector-terminals>div>i.is-signal{background:var(--mustard)}.inspector-terminals>div>span{gap:2px;display:grid}.inspector-terminals>div b{font:900 9px/1 Courier New,monospace}.inspector-terminals>div small{color:var(--muted);text-transform:uppercase;font:700 7px/1 Courier New,monospace}.inspector-terminals>div strong{color:#3f7b52;text-transform:uppercase;font:800 7px/1 Courier New,monospace}.inspector-source-note{border-left:5px solid var(--mustard);background:#d5a43c1f;margin-top:16px;padding:12px}.inspector-delete{border:2px solid var(--red);width:100%;min-height:38px;color:var(--red);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:14px;font:900 8px/1 Courier New,monospace}.wire-inspector-route{color:var(--paper);background:var(--ink);border-bottom:4px solid var(--red);padding:14px}.wire-inspector-route>span{color:var(--mustard);justify-content:space-between;align-items:center;gap:8px;font:900 9px/1 Courier New,monospace;display:flex}.wire-inspector-route>span>b{color:var(--mustard)}.wire-inspector-route>div{grid-template-columns:1fr 26px 1fr;align-items:center;gap:6px;margin-top:10px;display:grid}.wire-inspector-route b{font:700 9px/1.35 Arial,sans-serif}.wire-inspector-route b:last-child{text-align:right}.wire-inspector-route i{background:var(--mustard);height:2px;position:relative}.wire-inspector-route i:after{content:"";border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--mustard);position:absolute;top:-3px;right:0}.wire-color-field{border:0;margin:16px 0;padding:0}.wire-color-field legend,.inspector-field>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font:800 8px/1 Courier New,monospace;display:block}.wire-color-field>div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wire-color-field button{border:2px solid var(--ink);cursor:pointer;width:24px;height:24px;padding:0}.wire-color-field .wire-red{background:var(--red)}.wire-color-field .wire-yellow{background:var(--mustard)}.wire-color-field .wire-blue{background:#286f8f}.wire-color-field .wire-brown{background:#7d342d}.wire-color-field .wire-black{background:#2c2c29}.wire-color-field .wire-neutral{background:#6d675b}.wire-color-field>div>span{align-items:center;gap:6px;margin-left:auto;font:800 8px/1 Courier New,monospace;display:flex}.wire-color-field>div>span i{width:18px;height:4px}.wire-color-field>.wire-color-custom{grid-template-columns:72px minmax(0,1fr);gap:8px;margin-top:10px;display:grid}.wire-color-custom label{min-width:0}.wire-color-custom input{min-height:36px;padding:5px 7px}.wire-color-custom input[type=color]{cursor:pointer;padding:3px}.inspector-section-title{border-top:2px solid var(--ink);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:9px 0 6px;display:flex}.inspector-section-title span{letter-spacing:.06em;text-transform:uppercase;font:900 9px/1 Courier New,monospace}.inspector-section-title b{color:var(--red);text-transform:uppercase;font:800 7px/1 Courier New,monospace}.inspector-field{margin-top:13px;display:block}.inspector-field textarea{resize:vertical}.wire-animation-check{align-items:center;gap:8px;margin-top:14px;font:800 9px/1.2 Courier New,monospace;display:flex}.wire-animation-check input{accent-color:var(--red)}.inspector-empty{padding:28px 20px}.inspector-empty>span{color:var(--red);font:900 64px/.8 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.inspector-empty h3{text-transform:uppercase;margin:16px 0 0;font:900 23px/1 Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.inspector-empty p{color:var(--muted);font:700 11px/1.5 Arial,sans-serif}.builder-validation{padding:16px}.builder-validation article{border-top:1px solid #17171440;grid-template-columns:12px 1fr;gap:9px;padding:11px 0;display:grid}.builder-validation article>i{border:2px solid var(--ink);background:var(--mustard);border-radius:50%;width:10px;height:10px;margin-top:2px}.builder-validation article[data-level=safety]>i{background:var(--red)}.builder-validation article[data-level=note]>i{background:#286f8f}.builder-validation article b{font:800 9px/1.25 Arial,sans-serif}.builder-validation article p{color:var(--muted);margin:4px 0 0;font:700 9px/1.4 Arial,sans-serif}@media (width<=1120px){.builder-topbar{grid-template-columns:1fr auto}.builder-document-state{display:none}.builder-workspace{grid-template-rows:minmax(440px,1fr) 275px;grid-template-columns:238px minmax(0,1fr);overflow-y:auto}.builder-library{grid-row:1/3}.builder-stage{grid-area:1/2;min-height:440px}.builder-inspector{border-top:3px solid var(--ink);border-left:0;grid-area:2/2}.builder-inspector-heading{position:static}.viewer-topbar{grid-template-columns:1fr}.viewer-actions{justify-self:start;max-width:none}.viewer-actions>a,.viewer-actions small{text-align:left;justify-self:start}.builder-workspace.viewer-workspace{height:min(76dvh,840px);min-height:620px;display:block;overflow:hidden}.viewer-workspace .builder-stage{grid-area:auto}.viewer-needs-grid{grid-template-columns:1fr}}@media (width<=760px){.wiring-builder{overflow:clip visible}.builder-topbar{min-height:68px}.builder-brand{padding:9px 12px}.builder-brand>i,.builder-brand>div{display:none}.builder-brand>a strong{font-size:19px}.builder-top-actions{padding:8px 10px}.builder-top-actions button{padding:0 8px;font-size:7px}.builder-workspace{height:auto;min-height:0;display:block;overflow:visible}.builder-library,.builder-inspector{border:0;border-bottom:4px solid var(--ink);max-height:none}.builder-components{display:none}.builder-stage{min-height:620px}.builder-stage-toolbar{grid-template-columns:1fr auto}.builder-history-controls{display:none}.builder-flow-toggle{grid-area:1/2}.builder-simulation-controls{justify-content:flex-start;padding-bottom:3px;overflow-x:auto}.builder-simulation-controls fieldset{flex:none}.builder-canvas-key,.builder-stage-status span{display:none}.wire-schedule-drawer{height:72%}.viewer-topbar{gap:18px;padding:16px 14px}.viewer-topbar>*{width:100%;max-width:100%}.viewer-document h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(30px,10vw,42px)}.viewer-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%}.viewer-actions>a{justify-self:start}.viewer-actions>button{width:100%;padding:0 7px}.viewer-actions small{max-width:none}.viewer-share-tools{grid-template-columns:1fr 1fr}.viewer-share-tools input{grid-column:1/-1}.viewer-share-tools button{width:100%}.builder-workspace.viewer-workspace{height:690px;min-height:690px;overflow:hidden}.viewer-workspace .builder-stage{min-height:690px}.viewer-workspace .builder-stage-toolbar{grid-template-columns:minmax(0,1fr) auto;overflow:hidden}.viewer-workspace .builder-mode-tabs{min-width:0}.viewer-workspace .builder-mode-tabs button,.viewer-workspace .builder-flow-toggle{padding-left:7px;padding-right:7px}.viewer-needs{padding:34px 14px 48px}.viewer-needs-grid{gap:14px}.viewer-circuit-filter,.viewer-reference-boundary,.viewer-validation{box-shadow:4px 4px 0 var(--ink);padding:16px}.viewer-parts>header{flex-direction:column;align-items:flex-start}.viewer-parts>div{grid-template-columns:1fr}.viewer-parts details,.viewer-parts details:nth-child(2n){border-right:0}.viewer-parts summary{grid-template-columns:minmax(0,1fr) auto}.viewer-parts summary em{grid-column:1/-1;justify-self:start}.viewer-parts dl{grid-template-columns:1fr}.viewer-wire-schedule{box-shadow:5px 5px 0 var(--mustard), 9px 9px 0 var(--ink)}.viewer-canvas-help{display:none}}@media print{body>header.primary,body>footer.primary,.viewer-actions,.viewer-canvas-help,.builder-stage-toolbar,.builder-stage-status,.builder-zoom-controls,.builder-canvas-key{display:none!important}.wiring-viewer,.viewer-needs{background:#fff}.viewer-topbar{border-bottom:2px solid #000;padding:0 0 16px;display:block}.viewer-document .library-breadcrumb,.viewer-document p,.viewer-document ul{display:none}.builder-workspace.viewer-workspace{break-after:page;height:68vh;min-height:0;display:block;overflow:hidden}.viewer-workspace .builder-stage{height:100%;min-height:0;display:block}.viewer-workspace .wiring-canvas{height:100%}.viewer-needs{border-top:0;padding:0}.viewer-needs-heading{margin-bottom:18px}.viewer-needs-grid,.viewer-parts,.viewer-parts details{break-inside:avoid}.viewer-wire-schedule{box-shadow:none;break-inside:auto;border:2px solid #000;margin-top:0}.viewer-wire-schedule thead{position:static}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.wiring-canvas .flow-edge-animated,.wiring-canvas .flow-edge-pulse{animation:none!important}}
