.hotbar{position:fixed;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:5px;padding:7px;background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:inset 2px 2px #454b53,inset -2px -2px 0 var(--panel-border);z-index:100;pointer-events:auto}.hotbar-slot{position:relative;width:52px;height:52px;padding:0;background:var(--dirt);border:2px solid var(--panel-border);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .2s ease}.hotbar-slot:hover{border-color:var(--accent)}.hotbar-slot.active{background:var(--panel-bg-2);border-color:var(--accent)}.hotbar-icon{display:flex;align-items:center;justify-content:center;width:100%}.hotbar-icon[data-tool=belt]{color:var(--node-icon)}.hotbar-icon[data-tool=miner]{color:#f0a030}.hotbar-icon[data-tool=furnace]{color:#d97b2e}.hotbar-icon[data-tool=assembler]{color:#3aa0e0}.hotbar-icon[data-tool=duplicator]{color:#e2483f}.hotbar-icon[data-tool=mixer]{color:#a06ce0}.hotbar-icon[data-tool=silo]{color:#ef7a3d}.hotbar-icon[data-tool=chest]{color:#a08a5f}.hotbar-icon[data-tool=lab]{color:#5ecf7a}.hotbar-icon[data-tool=accumulator]{color:#f0d43a}.hotbar-icon[data-tool=webhook]{color:#d64f9b}.hotbar-icon[data-tool=manipulator]{color:#6fa8c9}.hotbar-hotkey{position:absolute;top:1px;right:3px;font-family:var(--f-mono);font-size:8px;color:var(--text-dim)}.hotbar-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px);display:flex;flex-direction:column;gap:3px;width:max-content;max-width:220px;padding:6px 8px;background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:inset 1px 1px #454b53,inset -1px -1px 0 var(--panel-border);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:200}.hotbar-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--panel-border)}.hotbar-slot:hover .hotbar-tooltip,.hotbar-slot:focus-visible .hotbar-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition-delay:.25s}.hotbar-tooltip-title{font-size:11px;color:var(--text);white-space:nowrap}.hotbar-tooltip-key{font-family:var(--f-mono);font-size:9px;color:var(--text-dim)}.hotbar-tooltip-desc{font-size:10px;line-height:1.35;color:var(--text-dim);white-space:normal}.top-bar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--panel-bg);border-bottom:2px solid var(--panel-border);box-shadow:inset 0 -2px 0 var(--panel-border),inset 0 2px #454b53;display:flex;align-items:center;justify-content:space-between;padding:0 14px;pointer-events:auto;z-index:100}.top-bar-left{display:flex;align-items:center;gap:12px}.top-bar-center{flex:1;text-align:center}.top-bar-right{display:flex;align-items:center;gap:6px}.top-bar-title{color:var(--accent);font-family:var(--f-disp);font-size:13px;letter-spacing:.05em;text-shadow:2px 2px 0 var(--panel-border)}.run-button{padding:8px 16px;font-family:var(--f-disp);font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#1b1e23;background:var(--ok);border:2px solid #397a3a;box-shadow:inset 2px 2px #ffffff40,inset -2px -2px #0000004d;cursor:pointer;transition:filter .2s ease}.run-button:hover{filter:brightness(1.08)}.run-button.running{background:var(--error);border-color:#8f2a25}.entity-counter{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-family:var(--f-mono);font-size:10px;padding:5px 9px;background:var(--dirt);border:2px solid var(--panel-border)}.entity-counter-value{color:var(--accent);font-weight:700}.status-indicator{width:9px;height:9px;background:var(--idle)}.status-indicator.active{background:var(--ok);animation:blinkDot 1.4s infinite}.energy-bar{display:flex;align-items:center;gap:6px}.energy-bar-icon{font-size:12px}.energy-bar-track{width:96px;height:12px;background:#0a0c0e;border:2px solid var(--panel-border);box-shadow:inset 0 0 0 1px #454b53;display:flex;gap:2px;padding:2px}.energy-segment{flex:1;background:var(--panel-bg-2)}.energy-segment.lit{background:var(--accent)}.icon-button{padding:0 9px;height:30px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);cursor:pointer;font-size:10px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:5px;transition:all .2s ease}.icon-button:hover{background:var(--panel-bg-2);border-color:var(--accent);color:var(--accent)}.icon-button:active{background:var(--dirt-dark)}.icon-button.active{background:var(--accent);border-color:var(--accent-dim);color:#1b1e23;font-weight:600}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button:disabled:hover{background:var(--dirt);border-color:var(--panel-border);color:var(--text-muted)}.icon-button.unread{border-color:var(--error);color:var(--error);animation:logsUnreadPulse 1.1s ease-in-out infinite}@keyframes logsUnreadPulse{0%,to{background:var(--dirt)}50%{background:var(--error);color:var(--text)}}.json-view{position:relative;background:var(--dirt-dark);border:2px solid var(--panel-border);padding:8px 10px;font-family:var(--f-mono);font-size:11px;color:var(--text-muted);max-height:300px;overflow-y:auto;margin:8px 0;line-height:1.5}.json-view pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.json-view-copy{position:absolute;top:8px;right:8px;padding:4px 8px;font-family:var(--f-mono);font-size:11px;background:var(--accent);color:#1b1e23;border:2px solid var(--accent-dim);cursor:pointer;font-weight:600}.json-view-copy:hover{background:var(--accent-bright)}.json-view-copy:active{background:var(--accent-dim)}.config-panel{position:fixed;top:56px;right:0;bottom:0;width:320px;background:var(--panel-bg-2);border-left:2px solid var(--panel-border);box-shadow:none;display:flex;flex-direction:column;pointer-events:auto;z-index:250;overflow-y:auto;transform:translate(100%);transition:transform .2s ease}.config-panel.open{transform:translate(0);box-shadow:-6px 0 18px #00000059}.config-header{padding:14px 16px;border-bottom:2px solid var(--panel-border);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.config-title{display:flex;flex-direction:column;gap:2px;flex:1}.config-kind{color:var(--accent);font-family:var(--f-disp);font-size:12px;letter-spacing:.02em}.config-kind[data-kind=belt]{color:var(--node-icon)}.config-kind[data-kind=miner]{color:#f0a030}.config-kind[data-kind=furnace]{color:#d97b2e}.config-kind[data-kind=assembler]{color:#3aa0e0}.config-kind[data-kind=duplicator]{color:#e2483f}.config-kind[data-kind=mixer]{color:#a06ce0}.config-kind[data-kind=silo]{color:#ef7a3d}.config-kind[data-kind=chest]{color:#a08a5f}.config-kind[data-kind=lab]{color:#5ecf7a}.config-kind[data-kind=accumulator]{color:#f0d43a}.config-kind[data-kind=webhook]{color:#d64f9b}.config-type{color:var(--text-dim);font-size:9px;font-family:var(--f-mono);text-transform:uppercase}.config-close{width:22px;height:22px;padding:0;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.config-close:hover{border-color:var(--accent);color:var(--accent)}.config-content{padding:14px;display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto}.config-fields{display:flex;flex-direction:column;gap:12px}.config-field{display:flex;flex-direction:column;gap:4px}.config-label{color:var(--text-muted);font-family:var(--f-mono);font-size:9px;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.config-input,.config-textarea,.config-select{padding:6px 8px;background:var(--dirt-dark);border:2px solid var(--panel-border);color:var(--text);font-size:11px;font-family:var(--f-mono);transition:all .2s ease}.config-input:focus,.config-textarea:focus,.config-select:focus{outline:none;border-color:var(--accent)}.config-input:disabled,.config-textarea:disabled,.config-select:disabled{opacity:.6;cursor:not-allowed;color:var(--text-muted)}.config-textarea{resize:vertical;min-height:60px;font-family:var(--f-mono)}.config-json{min-height:100px}.config-special{display:flex;flex-direction:column;gap:8px;padding:9px;background:var(--panel-bg);border:2px solid var(--panel-border)}.trigger-miner{padding:8px 12px;background:var(--accent);border:2px solid var(--accent-dim);color:#1b1e23;font-family:var(--f-disp);font-size:9px;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.trigger-miner:hover:not(:disabled){background:var(--accent-bright)}.trigger-miner:active:not(:disabled){background:var(--accent-dim)}.trigger-miner:disabled{opacity:.5;cursor:not-allowed}.webhook-section{display:flex;flex-direction:column;gap:4px}.energy-readout{font-size:11px;color:var(--text-muted)}.module-toggles{display:flex;flex-wrap:wrap;gap:5px}.module-toggle{padding:5px 9px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text);font-family:var(--f-mono);font-size:10px;cursor:pointer;transition:all .2s ease}.module-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.module-toggle.active{background:var(--accent);border-color:var(--accent-dim);color:#1b1e23;font-weight:700}.module-toggle:disabled{opacity:.5;cursor:not-allowed}.webhook-url-group{display:flex;gap:4px}.webhook-url{flex:1;font-size:11px!important}.webhook-copy{padding:6px 8px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--accent);font-family:var(--f-mono);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.webhook-copy:hover{border-color:var(--accent)}.config-status{display:flex;flex-direction:column;gap:4px;padding:9px;background:var(--panel-bg);border:2px solid var(--panel-border)}.status-badge{display:inline-block;width:fit-content;padding:3px 8px;font-family:var(--f-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.status-badge[data-status=idle]{border-color:var(--idle);color:var(--text-muted)}.status-badge[data-status=working]{border-color:var(--accent);color:var(--accent)}.status-badge[data-status=ok]{border-color:var(--ok);color:var(--ok)}.status-badge[data-status=error]{border-color:var(--error);color:var(--error)}.status-error{color:var(--error);font-size:11px;word-break:break-word}.config-io{display:flex;flex-direction:column;gap:8px}.io-collapsible{cursor:pointer}.io-collapsible summary{color:var(--accent);font-family:var(--f-mono);font-size:11px;font-weight:600;padding:5px 8px;background:var(--dirt);border:2px solid var(--panel-border);user-select:none;transition:all .2s ease}.io-collapsible summary:hover{background:var(--panel-bg-2)}.io-collapsible[open] summary{background:var(--panel-bg-2)}.chest-buffer-empty{padding:9px;background:var(--panel-bg);border:2px solid var(--panel-border);color:var(--text-dim);font-size:11px}.chest-buffer-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.chest-buffer-item{border:2px solid var(--panel-border);background:var(--panel-bg-2);padding:4px 6px}.result-panel{position:fixed;bottom:96px;left:14px;width:300px;max-height:30vh;background:var(--panel-bg);border:2px solid var(--panel-border);display:flex;flex-direction:column;pointer-events:auto;z-index:200;box-shadow:4px 4px #0006}.result-header{padding:9px 11px;border-bottom:2px solid var(--panel-border);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.result-title{color:var(--ok);font-family:var(--f-disp);font-size:10px;margin:0;text-transform:uppercase;letter-spacing:.05em}.result-controls{display:flex;gap:4px}.result-clear{padding:0 8px;height:22px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-family:var(--f-mono);font-size:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.result-close{width:22px;height:22px;padding:0;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.result-clear:hover:not(:disabled),.result-close:hover{background:var(--panel-bg-2);border-color:var(--accent);color:var(--accent)}.result-clear:disabled{opacity:.5;cursor:not-allowed}.result-content{padding:10px 11px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.result-empty{color:var(--text-dim);font-size:11px;text-align:center;padding:16px 0;font-style:italic}.result-list{display:flex;flex-direction:column;gap:8px}.result-item{display:flex;flex-direction:column;gap:3px;padding:7px 9px;background:var(--dirt-dark);border-left:3px solid var(--accent)}.result-time{color:var(--text-muted);font-size:9px;font-family:var(--f-mono)}.result-reopen{position:fixed;bottom:96px;left:14px;width:fit-content;padding:8px 12px;background:var(--panel-bg);border:2px solid var(--panel-border);color:var(--ok);font-family:var(--f-disp);font-size:9px;cursor:pointer;pointer-events:auto;z-index:200;box-shadow:4px 4px #0006;transition:all .2s ease}.result-reopen:hover{border-color:var(--ok)}.blueprint-panel{position:fixed;bottom:96px;right:14px;width:300px;max-height:40vh;background:var(--panel-bg);border:2px solid var(--panel-border);display:flex;flex-direction:column;pointer-events:auto;z-index:200;box-shadow:-4px 4px #0006;overflow:hidden;transition:right .2s ease}.blueprint-panel.config-open{right:334px}.blueprint-header{padding:9px 11px;border-bottom:2px solid var(--panel-border);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.blueprint-title{color:var(--accent);font-family:var(--f-disp);font-size:10px;margin:0;text-transform:uppercase;letter-spacing:.05em}.blueprint-hint{padding:9px 11px;border-bottom:2px solid var(--panel-border);color:var(--text-dim);font-size:9px;font-family:var(--f-mono);line-height:1.5}.blueprint-save-form{padding:10px 11px;border-bottom:2px solid var(--panel-border);display:flex;flex-direction:column;gap:7px;flex-shrink:0;background:var(--panel-bg-2)}.blueprint-name-input,.blueprint-import-input{width:100%;background:var(--dirt-dark);border:2px solid var(--panel-border);color:var(--text);font-size:11px;font-family:var(--f-mono);padding:6px 8px;box-sizing:border-box}.blueprint-name-input:focus,.blueprint-import-input:focus{outline:none;border-color:var(--accent)}.blueprint-save-actions{display:flex;gap:6px}.blueprint-btn{flex:1;background:var(--dirt);border:2px solid var(--panel-border);color:var(--accent);font-size:10px;font-weight:600;font-family:var(--f-mono);text-transform:uppercase;padding:8px 10px;cursor:pointer;transition:all .2s ease}.blueprint-btn:hover{border-color:var(--accent)}.blueprint-btn.primary{background:var(--accent);border-color:var(--accent-dim);color:var(--panel-bg);font-family:var(--f-disp);font-size:9px}.blueprint-btn.primary:hover{background:var(--accent-bright)}.blueprint-section-title{padding:7px 11px 0;color:var(--text-dim);font-size:9px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.blueprint-list{padding:7px 11px 10px;display:flex;flex-direction:column;gap:7px;overflow-y:auto}.blueprint-list-library{border-bottom:2px solid var(--panel-border)}.blueprint-item.library{border-left-style:dashed;border-left-color:var(--panel-border)}.blueprint-item.library.active{border-left-color:var(--accent)}.blueprint-empty{color:var(--text-dim);font-size:11px;text-align:center;padding:10px 0;font-style:italic}.blueprint-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;background:var(--dirt-dark);border-left:3px solid transparent}.blueprint-item.active{border-left-color:var(--accent)}.blueprint-name{color:var(--text);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blueprint-item-actions{display:flex;gap:4px;flex-shrink:0}.blueprint-icon-btn{width:22px;height:22px;padding:0;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.blueprint-icon-btn:hover{background:var(--panel-bg-2);border-color:var(--accent);color:var(--accent)}.blueprint-import{padding:10px 11px;border-top:2px solid var(--panel-border);display:flex;gap:6px;flex-shrink:0}.blueprint-import .blueprint-import-input{flex:1}.blueprint-import .blueprint-btn{flex:none}.logs-panel{position:fixed;top:56px;left:0;width:300px;max-height:40vh;background:var(--panel-bg);border:2px solid var(--panel-border);border-top:none;display:flex;flex-direction:column;pointer-events:auto;z-index:200;box-shadow:4px 4px #0006}.logs-header{padding:9px 11px;border-bottom:2px solid var(--panel-border);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.logs-title{color:var(--error);font-family:var(--f-disp);font-size:10px;margin:0;text-transform:uppercase;letter-spacing:.05em}.logs-controls{display:flex;gap:4px}.logs-clear,.logs-close{padding:0 8px;height:22px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-family:var(--f-mono);font-size:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.logs-close{width:22px;padding:0;font-size:12px}.logs-clear:hover:not(:disabled),.logs-close:hover{background:var(--panel-bg-2);border-color:var(--accent);color:var(--accent)}.logs-clear:disabled{opacity:.5;cursor:not-allowed}.logs-content{padding:10px 11px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.logs-empty{color:var(--text-dim);font-size:11px;text-align:center;padding:16px 0;font-style:italic}.logs-list{display:flex;flex-direction:column;gap:8px}.logs-item{display:flex;flex-direction:column;gap:3px;padding:7px 9px;background:var(--dirt-dark);border-left:3px solid var(--error)}.logs-time{color:var(--text-muted);font-size:9px;font-family:var(--f-mono)}.logs-text{font-size:11px;word-break:break-word}.logs-reopen{position:fixed;top:56px;left:0;width:fit-content;padding:8px 12px;background:var(--panel-bg);border:2px solid var(--panel-border);border-top:none;color:var(--error);font-family:var(--f-disp);font-size:9px;cursor:pointer;pointer-events:auto;z-index:200;box-shadow:4px 4px #0006;transition:all .2s ease}.logs-reopen:hover{border-color:var(--error)}.logs-reopen.unread{animation:logsReopenPulse 1.1s ease-in-out infinite}@keyframes logsReopenPulse{0%,to{background:var(--panel-bg)}50%{background:var(--error);color:var(--text)}}.node-search{position:fixed;top:52px;left:50%;transform:translate(-50%);width:340px;background:var(--panel-bg);border:2px solid var(--panel-border);pointer-events:auto;z-index:300;box-shadow:4px 4px #0006}.node-search-input{width:100%;box-sizing:border-box;padding:9px 11px;background:var(--dirt);border:none;border-bottom:2px solid var(--panel-border);color:var(--text);font-family:var(--f-mono);font-size:12px;outline:none}.node-search-input:focus{border-bottom-color:var(--accent)}.node-search-results{max-height:45vh;overflow-y:auto}.node-search-result{display:flex;align-items:center;gap:8px;padding:6px 11px;cursor:pointer;border-bottom:1px solid var(--panel-border);font-family:var(--f-mono);font-size:11px}.node-search-result:last-child{border-bottom:none}.node-search-result.active,.node-search-result:hover{background:var(--panel-bg-2)}.node-search-kind{flex-shrink:0;padding:1px 6px;background:var(--dirt);border:1px solid var(--panel-border);color:var(--accent);text-transform:uppercase;font-size:9px;letter-spacing:.03em}.node-search-title{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-search-id{flex-shrink:0;color:var(--text-dim);font-size:10px}.node-search-empty{padding:9px 11px;color:var(--text-dim);font-size:11px}.tutorial-overlay{position:fixed;inset:0;z-index:500;pointer-events:auto}.tutorial-spotlight{position:fixed;border-radius:6px;outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 9999px #060709cc;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tutorial-spotlight.no-target{outline:none}.tutorial-card{position:fixed;width:320px;max-width:calc(100vw - 32px);background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:4px 4px #00000080;padding:14px 16px;pointer-events:auto;z-index:501;transition:top .25s ease,left .25s ease}.tutorial-step-count{color:var(--text-dim);font-size:9px;font-family:var(--f-mono);letter-spacing:.05em;margin-bottom:6px}.tutorial-title{color:var(--accent);font-family:var(--f-disp);font-size:11px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em;line-height:1.5}.tutorial-desc{color:var(--text);font-size:12px;line-height:1.5;margin:0 0 16px}.tutorial-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.tutorial-skip{background:none;border:none;color:var(--text-dim);font-family:var(--f-mono);font-size:10px;cursor:pointer;text-decoration:underline;padding:0}.tutorial-skip:hover{color:var(--text-muted)}.tutorial-nav{display:flex;gap:6px}.tutorial-prev,.tutorial-next{padding:6px 12px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-family:var(--f-mono);font-size:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.tutorial-prev:hover{border-color:var(--text-muted);color:var(--text)}.tutorial-next{background:var(--accent-dim);border-color:var(--panel-border);color:var(--bg)}.tutorial-next:hover{background:var(--accent)}.tutorial-lang-option{padding:6px 14px;background:var(--dirt);border:2px solid var(--panel-border);color:var(--text-muted);font-family:var(--f-mono);font-size:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.tutorial-lang-option:hover{border-color:var(--text-muted);color:var(--text)}.tutorial-lang-option.active{background:var(--accent-dim);border-color:var(--panel-border);color:var(--bg)}.app-container{width:100%;height:100vh;margin:0;padding:0;overflow:hidden;background-color:var(--bg)}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}
