:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2933;background:#e9edf2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:#e9edf2;min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{background:#e9edf2;flex-direction:column;min-height:100vh;display:flex}.topbar,.workspace-nav{background:#f8fafc;border-bottom:1px solid #c9d2dc;align-items:center;gap:12px;padding:8px 12px;display:flex}.topbar{min-height:50px;box-shadow:inset 0 -1px #eef2f6}.brand-block{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.brand-block strong{color:#142033;letter-spacing:0;font-size:15px}.version-tag,.project-chip,.mode-chip,.status-chip,.editor-lock-chip{background:#fff;border:1px solid #ccd4df;border-radius:4px;align-items:center;gap:5px;padding:4px 7px;font-size:12px;font-weight:700;display:inline-flex}.topbar-status,.topbar-actions,.editor-tabs,.workspace-nav-actions{align-items:center;gap:8px;display:flex}.topbar-status{margin-left:auto}button,.editor-tab,.monitor-toggle,.ladder-tool{color:#172033;background:#fff;border:1px solid #c9d2df;border-radius:4px;padding:6px 9px}button:hover:not(:disabled),.editor-tab.active,.monitor-toggle.active,.ladder-tool.active{background:#eef4ff;border-color:#8eace3}button.success,.mode-chip.running,.status-chip.valid{background:#eefaf3;border-color:#77b994}button.danger,.mode-chip.error,.status-chip.invalid{background:#fff1f1;border-color:#d99a9a}.workspace-nav{background:#eef2f6;justify-content:space-between;min-height:42px}.command-ribbon{box-shadow:inset 0 -1px #d8dee8}.ribbon-label{color:#667085;letter-spacing:.04em;text-transform:uppercase;align-items:center;min-height:28px;padding-right:4px;font-size:10px;font-weight:900;display:inline-flex}.workspace{background:#dfe5eb;flex:1;gap:0;min-height:0;padding:0;display:grid}.workspace.circuit-layout,.workspace.circuit-layout.has-inspector{grid-template-columns:252px minmax(0,1fr) 286px}.workspace.ladder-layout{grid-template-columns:minmax(0,1fr)}.sidebar,.inspector,.main-panel,.io-drawer,.panel-loading,.ladder-editor{background:#fff;border:0;border-radius:0;min-width:0}.sidebar,.inspector,.io-drawer{padding:10px;overflow:auto}.sidebar{background:#f5f7fa;border-right:1px solid #c8d1dc}.inspector{background:#f7f9fb;border-left:1px solid #c8d1dc}.main-panel,.ladder-editor{overflow:hidden}.sidebar-section,.inspector-section{margin-bottom:14px}.section-title,.panel-heading,.io-drawer-heading{text-transform:uppercase;letter-spacing:.03em;color:#596579;font-size:12px;font-weight:800}.section-title{margin-bottom:8px}.professional-center{background:#dfe5eb;min-width:0}.circuit-panel{flex-direction:column;min-height:0;display:flex}.panel-heading{background:#f8fafc;border-bottom:1px solid #c9d2dc;justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:0 12px;display:flex}.panel-heading h2{color:#263442;letter-spacing:.02em;margin:0;font-size:12px}.palette-list,.inspector-stack{gap:7px;display:grid}.palette-item{text-align:left;width:100%}.canvas-wrap{background-color:#fff;background-image:linear-gradient(#edf1f5 1px,#0000 1px),linear-gradient(90deg,#edf1f5 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:calc(100vh - 126px);min-height:560px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 18px #f7f9fb,inset 0 0 0 19px #d5dde6}.canvas-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.io-drawer{max-height:55vh}.compact-error-list,.more-errors{font-size:12px}.circuitlab-inspector{align-content:start;gap:10px;display:grid}.circuitlab-inspector .inspector-section{background:#fff;border:1px solid #d1d9e3;margin:0}.inspector-eyebrow{color:#3d4b5c;letter-spacing:.04em;text-transform:uppercase;background:#e9eef4;border-bottom:1px solid #d9e0e8;align-items:center;min-height:28px;padding:0 9px;font-size:10px;font-weight:900;display:flex}.property-grid{grid-template-columns:76px minmax(0,1fr);gap:0;font-size:11px;display:grid}.property-grid span,.property-grid strong{border-bottom:1px solid #eef2f6;min-width:0;padding:7px 8px}.property-grid span{color:#667085;font-weight:700}.property-grid strong{color:#263442;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.property-grid span:nth-last-child(-n+2),.property-grid strong:nth-last-child(-n+2){border-bottom:0}.empty-property-state,.connection-error,.compact-error-list{color:#52606d;margin:0;padding:9px;font-size:11px;line-height:1.45}.issue-section .compact-error-list{padding-left:24px}.panel-loading{color:#667085;padding:20px}input[type=number],input[type=text],select{color:inherit;background:#fff;border:1px solid #c9d2df;border-radius:6px;padding:5px 7px}@media (max-width:1050px){.topbar{flex-wrap:wrap}.topbar-status{margin-left:0}.workspace.circuit-layout,.workspace.circuit-layout.has-inspector{grid-template-columns:210px minmax(0,1fr)}.workspace.circuit-layout.has-inspector .inspector{border-top:1px solid #c8d1dc;border-left:0;grid-column:1/-1;max-height:260px}}@media (max-width:760px){.workspace.circuit-layout,.workspace.circuit-layout.has-inspector{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #c8d1dc;border-right:0;max-height:240px}.canvas-wrap{height:calc(100vh - 170px);min-height:480px}}.component-library{gap:9px;min-width:0;display:grid}.component-library-search-wrap{z-index:3;background:#f5f7fa;padding:2px 0 8px;position:sticky;top:-12px}.component-library-search{color:#172033;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #bfc8d4;border-radius:4px;padding:7px 8px;font-size:12px}.component-library-search:focus{outline-offset:1px;border-color:#8eace3;outline:2px solid #b8cff5}.component-library-groups{gap:8px;min-width:0;display:grid}.palette-category{gap:6px;min-width:0;display:grid}.palette-category-header,.palette-category-static-header{color:#354455;text-align:left;letter-spacing:.03em;background:#e9eef4;border:1px solid #d6dde6;border-radius:3px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-width:0;padding:5px 7px;font-size:10px;font-weight:800;display:grid}.palette-category-header:hover:not(:disabled){background:#edf2fa;border-color:#0000}.palette-category-static-header{grid-template-columns:minmax(0,1fr) auto}.palette-category-chevron{width:10px;font-size:11px;line-height:1}.palette-category-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-category-count{color:#667085;text-align:center;background:#fff;border-radius:3px;min-width:20px;padding:1px 6px;font-size:10px;font-weight:800}.palette-device-row{grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;gap:5px;min-width:0;display:grid}.palette-item.compact{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d1d9e3;border-radius:3px;align-items:center;gap:7px;min-width:0;min-height:38px;padding:6px 7px;display:flex}.palette-item.compact:hover{background:#f8fbff;border-color:#92a8c2}.palette-item.compact:active{cursor:grabbing}.palette-item.compact.disabled{opacity:.55;cursor:not-allowed}.palette-device-copy{gap:1px;min-width:0;display:grid}.palette-device-copy strong,.palette-device-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-device-copy strong{font-size:11px}.palette-device-copy small{color:#7a8597;font-size:9px}.palette-favorite{border-radius:3px;align-self:stretch;width:30px;padding:0;font-size:16px;line-height:1}.palette-favorite.active{background:#fff8df;border-color:#d9bd62}.component-library-empty{color:#7a8597;text-align:center;border:1px dashed #d3dbe7;border-radius:7px;padding:10px;font-size:11px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.canvas-viewport-controls{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border:1px solid #bfc8d4;border-radius:4px;align-items:center;gap:5px;padding:6px;display:flex;position:absolute;top:26px;right:26px;box-shadow:0 4px 14px #1e293b1a}.canvas-viewport-controls button{color:#334155;min-width:30px;height:30px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d6deea;border-radius:3px;padding:0 8px;font-size:12px;font-weight:700}.canvas-viewport-controls button:hover{background:#f4f7fb}.canvas-viewport-controls button.active{color:#1d4ed8;background:#eaf1ff;border-color:#8eace3}.canvas-zoom-label{text-align:center;color:#475569;min-width:48px;font-size:12px;font-weight:800}.professional-ladder-editor{color:#111827;background:#f7f8fa;flex-direction:column;min-height:min(74vh,860px);display:flex}.ladder-header-row{background:#fff;border-bottom:1px solid #d6dbe3;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px 10px;display:flex}.ladder-header-row h2{letter-spacing:-.01em;margin:0;font-size:18px}.ladder-header-subtitle{color:#6b7280;margin-top:2px;font-size:11px}.ladder-header-status{align-items:center;gap:8px;display:flex}.ladder-mode-indicator{letter-spacing:.045em;background:#f9fafb;border:1px solid #cfd5dd;border-radius:4px;align-items:center;gap:7px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.ladder-mode-dot{background:#6b7280;border-radius:50%;width:7px;height:7px}.ladder-mode-indicator.running{color:#166534;background:#f0fbf5;border-color:#8bc5a5}.ladder-mode-indicator.running .ladder-mode-dot{background:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.industrial-ladder-toolbar{background:#eef1f4;border-bottom:1px solid #d7dce4;justify-content:space-between;align-items:stretch;gap:10px;padding:8px 10px;display:flex;overflow-x:auto}.ladder-toolbar-group,.ladder-toolbar-actions{flex:none;align-items:center;gap:3px;display:flex}.ladder-toolbar-item-wrap{align-items:center;gap:3px;display:inline-flex}.industrial-ladder-toolbar .ladder-tool{background:#fff;border-radius:3px;place-items:center;gap:0;min-width:56px;height:46px;padding:4px 7px;font-size:9px;font-weight:800;display:grid}.industrial-ladder-toolbar .ladder-tool svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:32px;height:18px}.industrial-ladder-toolbar .ladder-tool svg text{fill:currentColor;stroke:none;font-size:8px;font-weight:800}.ladder-toolbar-block-glyph{font-size:18px;line-height:18px}.industrial-ladder-toolbar .ladder-tool.active{color:#163f77;background:#e9f1ff;border-color:#4774b8;box-shadow:inset 0 0 0 1px #7aa0d8}.industrial-ladder-toolbar .toolbar-divider{background:#c5cbd4;width:1px;height:34px;margin:0 4px}.ladder-toolbar-actions button{border-radius:3px;min-height:46px;font-size:11px;font-weight:700}.ladder-tool-hint{color:#6b5918;background:#fffbe8;border-bottom:1px solid #dce1e8;padding:5px 14px;font-size:10px}.compact-validation-banner{background:#fff8f8;border-bottom:1px solid #e1c9c9;gap:5px;padding:8px 14px;font-size:10px;display:grid}.validation-banner-title{text-transform:uppercase;letter-spacing:.04em;font-weight:800}.validation-banner-list{gap:2px;display:grid}.validation-error{color:#991b1b}.validation-warning{color:#92400e}.ladder-editor-grid{background:#fff;flex:1;min-height:0;display:grid}.ladder-editor-grid.with-properties{grid-template-columns:minmax(0,1fr) 270px}.ladder-editor-grid.without-properties{grid-template-columns:minmax(0,1fr)}.ladder-rungs-panel{background:#fff;min-width:0;min-height:0;overflow:hidden}.ladder-canvas-scroll{background-color:#fff;background-image:linear-gradient(#eef0f3 1px,#0000 1px),linear-gradient(90deg,#f1f2f4 1px,#0000 1px);background-size:20px 20px;width:100%;height:100%;min-height:470px;overflow:auto}.ladder-canvas{background:#ffffffe0;min-width:980px;min-height:100%;padding:18px 28px 34px 12px}.ladder-rung-editor{grid-template-columns:52px minmax(860px,1fr);align-items:stretch;min-height:98px;display:grid}.ladder-rung-number{color:#596170;text-align:right;background:0 0;border:0;border-radius:0;align-self:start;width:44px;margin-top:37px;padding:2px 4px;font-family:Consolas,Courier New,monospace;font-size:10px;font-weight:700}.ladder-rung-number:hover:not(:disabled){color:#1d4f91;background:#eef4ff}.ladder-rung-editor.selected .ladder-rung-number{color:#174a87;background:#e8f0fc}.ladder-rung-network{border-left:2px solid #252b33;border-right:2px solid #252b33;align-items:center;min-height:98px;padding:10px 0;display:flex;position:relative}.ladder-rung-network:before{content:"";z-index:0;background:#2f343b;height:1.5px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.ladder-rung-track{z-index:1;align-items:center;width:100%;min-width:0;padding:0 12px;display:flex;position:relative}.ladder-rung-element-group,.ladder-insert-slot-wrap,.ladder-inline{flex:none;align-items:center;display:flex}.ladder-wire-segment{background:#2f343b;width:30px;height:2px;transition:background-color 80ms linear,box-shadow 80ms linear}.ladder-wire-fill{flex:auto;min-width:34px}.ladder-wire-segment.energized,.ladder-branch-line.energized,.ladder-branch-feed.energized{background:#169447;box-shadow:0 0 0 1px #16944714}.ladder-element{color:#1f2933;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #0000;border-radius:2px;outline:none;flex:none;padding:3px 4px;position:relative}.ladder-element:hover,.ladder-element:focus-visible{background:#f7faff;border-color:#91add2}.ladder-element.energized{color:#0d7a37}.ladder-element-comment{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:8px;position:absolute;top:calc(100% + 2px);left:50%;overflow:hidden;transform:translate(-50%)}.ladder-contact-symbol,.ladder-coil-symbol{color:#232830;place-items:center;min-width:96px;display:grid}.ladder-contact-symbol.compact{min-width:78px}.ladder-symbol-address{min-height:14px;color:inherit;font-family:Consolas,Courier New,monospace;font-size:10px;font-weight:700;line-height:14px}.ladder-symbol-label{color:#596170;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:112px;min-height:13px;font-size:9px;line-height:13px;overflow:hidden}.ladder-symbol-label.placeholder{opacity:0}.ladder-contact-svg,.ladder-coil-svg{width:96px;height:42px;display:block;overflow:visible}.ladder-symbol-wire,.ladder-symbol-stroke{fill:none;stroke:currentColor;stroke-width:1.8px;vector-effect:non-scaling-stroke}.ladder-coil-marker{fill:currentColor;font-family:Consolas,Courier New,monospace;font-size:11px;font-weight:800}.ladder-contact-symbol.energized,.ladder-coil-symbol.energized,.ladder-function-block.energized,.ladder-branch-compare.energized{color:#0d8c3c}.ladder-contact-symbol.conductive:not(.energized) .ladder-symbol-stroke{stroke:#27313c}.ladder-function-block{text-align:left;background:#fff;border:1.5px solid;align-content:start;min-width:142px;max-width:190px;min-height:68px;padding:5px 8px 6px;font-family:Consolas,Courier New,monospace;line-height:1.25;display:grid;position:relative}.ladder-function-title{letter-spacing:.035em;border-bottom:1px solid #b6bcc5;padding-bottom:2px;font-size:10px;font-weight:800}.ladder-function-id{margin-top:3px;font-size:10px;font-weight:700}.ladder-function-row,.ladder-function-runtime{color:#4b5563;white-space:nowrap;margin-top:2px;font-size:8px}.ladder-function-runtime{border-top:1px dotted #c0c5cc;padding-top:2px}.ladder-function-label{color:#596170;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:inherit;font-size:8px;position:absolute;top:calc(100% + 3px);left:50%;overflow:hidden;transform:translate(-50%)}.ladder-branch-view{align-items:center;min-width:230px;display:flex}.ladder-branch-feed{background:#2f343b;width:20px;height:2px}.ladder-branch-frame{border-left:2px solid #2f343b;border-right:2px solid #2f343b;gap:8px;min-width:190px;padding:6px 0;display:grid;position:relative}.ladder-branch-path{align-items:center;min-height:48px;display:flex}.ladder-branch-line{background:#2f343b;flex:18px;min-width:18px;height:2px}.ladder-branch-node{align-items:center;display:flex}.ladder-branch-compare{text-align:center;background:#fff;border:1.5px solid;gap:1px;min-width:90px;padding:4px 6px;font-family:Consolas,Courier New,monospace;font-size:8px;display:grid}.ladder-add-slot{color:#315f96;background:#f4f8fd;border:1px dashed #88a8ce;border-radius:2px;place-items:center;gap:0;width:62px;min-height:48px;padding:3px;font-size:14px;display:grid}.ladder-add-slot small{font-size:7px;font-weight:700}.ladder-add-slot:hover:not(:disabled){background:#e9f2ff;border-color:#2f69aa}.ladder-properties{background:#f8f9fb;border-left:1px solid #d6dbe3;min-width:0;padding:12px;overflow:auto}.ladder-properties .inspector-eyebrow{color:#596170;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.ladder-properties .property-row{border-bottom:1px solid #e1e5ea;justify-content:space-between;align-items:center;gap:8px;padding-bottom:7px;display:flex}.ladder-properties .property-name{color:#5f6977;font-size:9px;font-weight:700}.ladder-properties .properties-type{font-size:10px}.ladder-properties input,.ladder-properties select{border-radius:3px;width:100%;font-size:10px}.ladder-empty-state{color:#6b7280;text-align:center;place-content:center;justify-items:center;gap:8px;min-height:420px;display:grid}.ladder-empty-state strong{color:#29303a}@media (max-width:980px){.ladder-editor-grid.with-properties{grid-template-columns:minmax(0,1fr)}.ladder-properties{border-top:1px solid #d6dbe3;border-left:0;max-height:280px}}.ladder-contact-symbol .ladder-symbol-address,.ladder-coil-symbol .ladder-symbol-address{order:1}.ladder-contact-symbol .ladder-symbol-label,.ladder-coil-symbol .ladder-symbol-label{order:2}.ladder-contact-symbol .ladder-contact-svg,.ladder-coil-symbol .ladder-coil-svg{order:3}.industrial-ladder-toolbar{align-items:stretch;gap:12px;min-height:62px;padding:6px 10px}.ladder-toolbar-groups{align-items:stretch;gap:8px;min-width:max-content;display:flex}.ladder-toolbar-cluster{border-right:1px solid #c8ced6;align-content:end;gap:2px;padding-right:8px;display:grid;position:relative}.ladder-toolbar-cluster:last-child,.ladder-toolbar-cluster.rung-tools{border-right:0;padding-right:0}.ladder-toolbar-cluster-label{color:#66717f;letter-spacing:.08em;text-transform:uppercase;height:10px;font-size:7px;font-weight:800;line-height:10px}.ladder-toolbar-cluster-tools{align-items:center;gap:3px;display:flex}.industrial-ladder-toolbar .ladder-tool{width:58px;min-width:58px;height:42px}.industrial-ladder-toolbar .ladder-tool:hover:not(:disabled){background:#f6f9fd;border-color:#7f9fc5}.industrial-ladder-toolbar .ladder-tool:disabled,.ladder-toolbar-actions button:disabled{opacity:.46;cursor:not-allowed}.ladder-toolbar-actions{gap:4px}.ladder-toolbar-actions button{min-width:70px;min-height:42px}.ladder-canvas-scroll{background-image:linear-gradient(#e1e5ea6b 1px,#0000 1px),linear-gradient(90deg,#e6e9ed57 1px,#0000 1px);background-size:24px 24px}.ladder-canvas{background:#fffffff0;min-width:1180px;padding:22px 34px 46px 14px}.ladder-rung-editor{grid-template-columns:62px minmax(1040px,1fr);align-items:stretch;min-height:118px}.ladder-rung-editor.selected{background:linear-gradient(90deg,#3269aa0e,#0000 44%)}.ladder-rung-number{color:#4e5968;letter-spacing:.025em;width:52px;margin-top:49px;padding-right:8px;font-size:10px}.ladder-rung-network{border-left:2px solid #242a31;border-right:2px solid #242a31;min-height:118px;padding:14px 0}.ladder-rung-network:before{content:none;display:none}.ladder-rung-editor+.ladder-rung-editor .ladder-rung-network{margin-top:0}.ladder-rung-track{grid-template-columns:max-content minmax(90px,1fr) 230px;align-items:center;width:100%;min-width:0;padding:0;display:grid}.ladder-condition-zone{justify-content:flex-start;align-items:center;min-width:0;display:flex}.ladder-condition-group,.ladder-insert-slot-wrap,.ladder-inline{flex:none;align-items:center;display:flex}.ladder-wire-segment,.ladder-flex-wire,.ladder-action-lead,.ladder-action-tail,.ladder-action-empty-wire,.ladder-branch-line,.ladder-branch-feed{background:#2b3138;height:2px;transition:background-color 80ms linear,box-shadow 80ms linear}.ladder-rail-lead{flex:0 0 20px;width:20px}.ladder-condition-gap{flex:0 0 30px;width:30px}.ladder-condition-tail{flex:0 0 22px;width:22px}.ladder-flex-wire{width:100%;min-width:90px}.ladder-action-zone{justify-content:flex-end;align-items:center;width:230px;min-width:230px;display:flex}.ladder-action-lead{flex:auto;min-width:18px}.ladder-action-tail{flex:0 0 24px;width:24px}.ladder-action-empty-wire.full{width:100%}.ladder-action-empty-wire.before{flex:auto;min-width:16px}.ladder-action-empty-wire.after{flex:0 0 20px;width:20px}.ladder-insert-slot-wrap.condition{margin-left:12px}.ladder-insert-slot-wrap.action{flex:none}.ladder-add-slot{background:#f8fbff;width:72px;min-height:44px}.ladder-invalid-trailing{color:#9b1c1c;white-space:nowrap;background:#fff6f6;border:1px solid #e4a3a3;margin-left:8px;padding:4px 6px;font-size:8px}.ladder-wire-segment.energized,.ladder-flex-wire.energized,.ladder-action-lead.energized,.ladder-action-tail.energized,.ladder-action-empty-wire.energized,.ladder-branch-line.energized,.ladder-branch-feed.energized{background:#119443;box-shadow:0 0 0 1px #11944312}.ladder-element{border-radius:2px;margin:0;padding:3px 4px}.ladder-element.selected{background:#f0f6ff;border-color:#2368b4;box-shadow:0 0 0 1px #6fa1d9}.ladder-contact-symbol,.ladder-coil-symbol{grid-template-rows:14px 13px 42px;place-items:center;min-width:96px}.ladder-coil-symbol{min-width:116px}.ladder-contact-symbol.compact{grid-template-rows:13px 12px 36px;min-width:82px}.ladder-symbol-address{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;min-height:14px;font-size:10px;line-height:14px;overflow:hidden}.ladder-symbol-label{color:#65707e;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:118px;min-height:13px;font-size:8px;line-height:12px;overflow:hidden}.ladder-contact-svg{width:92px;height:42px}.ladder-coil-svg{width:116px;height:42px}.ladder-contact-symbol.compact .ladder-contact-svg{width:82px;height:36px}.ladder-symbol-wire,.ladder-symbol-stroke{stroke-width:1.8px}.ladder-nc-slash{stroke-linecap:square}.ladder-coil-arc{stroke-linecap:round}.ladder-coil-marker{font-size:10px}.ladder-function-block{background:#fff;border-width:1.25px;border-radius:1px;width:168px;min-width:168px;max-width:168px;min-height:72px;padding:5px 7px 6px}.ladder-function-title{font-size:9px}.ladder-function-id{font-size:10px}.ladder-function-row,.ladder-function-runtime{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.ladder-function-runtime+.ladder-function-runtime{border-top:0;padding-top:0}.ladder-function-label{max-width:168px}.ladder-branch-view{align-items:center;width:max-content;min-width:260px;display:flex}.ladder-branch-feed{flex:0 0 18px;width:18px}.ladder-branch-frame{border-left:2px solid #2b3138;border-right:2px solid #2b3138;gap:0;width:max-content;min-width:224px;padding:3px 0;display:grid}.ladder-branch-path{grid-template-columns:minmax(28px,1fr) max-content minmax(28px,1fr);align-items:center;width:100%;min-width:100%;min-height:62px;display:grid}.ladder-branch-series{align-items:center;min-width:max-content;display:flex}.ladder-branch-node{flex:none;align-items:center;display:flex}.ladder-branch-line{width:100%;min-width:28px}.ladder-branch-condition-gap{width:24px;min-width:24px}.ladder-branch-compare{border-radius:1px;min-width:118px;padding:4px 7px}.ladder-branch-view.input-energized .ladder-branch-frame{border-left-color:#119443}.ladder-branch-view.energized .ladder-branch-frame{border-right-color:#119443}@media (max-width:1180px){.ladder-canvas{min-width:1120px}.ladder-rung-editor{grid-template-columns:58px minmax(1020px,1fr)}}.ladder-canvas{min-width:1180px;min-height:auto;padding:24px 32px 42px 16px}.ladder-rung-editor{grid-template-columns:64px minmax(1116px,1fr);align-items:stretch;width:min(100%,1320px);min-width:1180px;min-height:120px}.ladder-rung-number{align-self:center;width:54px;margin-top:0;padding:0 10px 0 0;line-height:20px}.ladder-rung-network{align-items:center;min-height:120px;padding:0}.ladder-rung-track{grid-template-columns:max-content minmax(120px,1fr) 210px;align-items:center;min-height:82px}.ladder-condition-zone,.ladder-condition-group,.ladder-action-zone{align-items:center}.ladder-rail-lead{flex-basis:28px;width:28px}.ladder-condition-gap{flex-basis:34px;width:34px}.ladder-condition-tail{flex-basis:28px;width:28px}.ladder-flex-wire{min-width:120px}.ladder-action-zone{width:210px;min-width:210px}.ladder-action-lead{min-width:20px}.ladder-action-tail{flex-basis:22px;width:22px}.ladder-contact-symbol,.ladder-coil-symbol{grid-template-rows:none;justify-content:center;align-items:center;height:42px;min-height:42px;display:flex;position:relative}.ladder-contact-symbol{width:92px;min-width:92px}.ladder-coil-symbol{width:116px;min-width:116px}.ladder-contact-symbol.compact{grid-template-rows:none;width:82px;min-width:82px;height:36px;min-height:36px}.ladder-symbol-body{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ladder-symbol-caption{z-index:2;pointer-events:none;justify-items:center;width:132px;min-width:0;display:grid;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.ladder-symbol-address{width:100%;min-height:13px;font-size:10px;line-height:13px}.ladder-symbol-label{width:100%;max-width:132px;min-height:11px;font-size:8px;line-height:11px}.ladder-contact-svg,.ladder-coil-svg{flex:none;display:block}.ladder-element{justify-content:center;align-items:center;min-height:0;padding:3px 4px;display:flex}.ladder-element.type-no-contact,.ladder-element.type-nc-contact,.ladder-element.type-coil,.ladder-element.type-set,.ladder-element.type-reset{overflow:visible}.ladder-element-comment{top:calc(100% + 5px)}.ladder-function-block{box-sizing:border-box;min-height:74px}.ladder-branch-view{align-items:center}.ladder-branch-frame{padding:8px 0}.ladder-branch-path{min-height:78px}.ladder-branch-series,.ladder-branch-node{align-items:center}@media (min-width:1500px){.ladder-rung-editor{width:1320px}}@media (max-width:1180px){.ladder-canvas{min-width:1180px}.ladder-rung-editor{grid-template-columns:60px 1120px;width:1180px;min-width:1180px}}.isp-ladder-editor{--isp-line:#1d2733;--isp-muted:#647184;--isp-border:#c9d1db;--isp-soft-border:#dde3ea;--isp-panel:#f3f5f7;--isp-panel-2:#e9edf2;--isp-run:#07923f;--isp-select:#1976d2;--isp-error:#c83a3a;--isp-warning:#b77900;border:1px solid var(--isp-border);color:#15202b;background:#fff;border-radius:3px;font-family:Segoe UI,Arial,Helvetica,sans-serif;overflow:hidden}.isp-editor-titlebar{border-bottom:1px solid var(--isp-border);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:11px 18px 10px;display:flex}.isp-editor-title{color:#111b28;font-size:20px;font-weight:700;line-height:1.15}.isp-editor-subtitle{color:var(--isp-muted);margin-top:3px;font-size:12px}.isp-editor-state{align-items:center;gap:8px;display:flex}.isp-state-chip,.isp-lock-chip{letter-spacing:.02em;background:#f7f8fa;border:1px solid #c6ced8;border-radius:3px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.isp-state-chip.run{color:#086f34;background:#eef9f2;border-color:#8fcfa7}.isp-state-dot{background:#8a95a3;border-radius:50%;width:8px;height:8px}.isp-state-chip.run .isp-state-dot{background:#0aa84b;box-shadow:0 0 0 3px #0aa84b1c}.isp-toolbar{background:linear-gradient(#f1f3f6,#e7ebef);border-bottom:1px solid #bdc6d0;justify-content:space-between;align-items:stretch;gap:10px;padding:6px 9px 5px;display:flex;overflow-x:auto;box-shadow:inset 0 1px #ffffffe6}.isp-toolbar-groups{align-items:stretch;gap:3px;min-width:max-content;display:flex}.isp-toolbar-group{border-right:1px solid #c9d0d8;flex-direction:column;gap:2px;padding:0 6px;display:flex}.isp-toolbar-group:first-child{padding-left:0}.isp-toolbar-group:last-child{border-right:0}.isp-toolbar-label{color:#5f6c7c;letter-spacing:.06em;font-size:8px;font-weight:700;line-height:10px}.isp-toolbar-buttons{align-items:center;gap:2px;display:flex}.isp-tool,.isp-network-button{color:#273442;min-width:50px;height:42px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 7px;display:inline-flex}.isp-tool svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:32px;height:17px}.isp-tool svg text{stroke:none;fill:currentColor;font-size:8px;font-weight:700}.isp-tool>span:last-child{font-size:9px;font-weight:700;line-height:11px}.isp-toolbar-text-glyph{height:18px;font-family:Consolas,monospace;font-size:21px;line-height:17px}.isp-tool:hover:not(:disabled),.isp-network-button:hover:not(:disabled){background:#fff;border-color:#adb8c5}.isp-tool.active{color:#0759a5;background:#dcecff;border-color:#6a9ed9;box-shadow:inset 0 0 0 1px #fff}.isp-tool:disabled,.isp-network-button:disabled{opacity:.42;cursor:default}.isp-rung-tools{border-right:0;min-width:max-content;margin-left:auto}.isp-network-button{flex-direction:row;min-width:68px;height:42px;font-size:11px;font-weight:700}.isp-network-button.danger:not(:disabled){color:#9c2f2f}.isp-insert-status,.isp-validation-strip{border-bottom:1px solid var(--isp-soft-border);color:#625326;background:#fffbea;align-items:center;gap:12px;min-height:27px;padding:4px 12px;font-size:11px;display:flex}.isp-validation-strip{background:#fafafa;flex-wrap:wrap}.isp-validation-strip .error{color:var(--isp-error)}.isp-validation-strip .warning{color:var(--isp-warning)}.isp-editor-body{grid-template-columns:minmax(0,1fr);min-height:430px;display:grid}.isp-editor-body.with-inspector{grid-template-columns:minmax(0,1fr) 260px}.isp-network-pane{background:#fff;min-width:0}.isp-inspector{border-left:1px solid var(--isp-border);background:#f8f9fb}.isp-inspector .ladder-properties{width:auto;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;position:sticky;top:0}.isp-ladder-scroll{scrollbar-gutter:stable;background:#fff;width:100%;overflow:auto}.isp-ladder-canvas{--isp-gutter:50px;--isp-tap:30px;--isp-action:190px;background-color:#fff;background-image:linear-gradient(90deg,#2d3e4f07 1px,#0000 1px),linear-gradient(#2d3e4f07 1px,#0000 1px);background-size:24px 24px;width:max-content;min-width:620px;max-width:none;min-height:390px;margin:0 auto;padding:22px 0 42px;position:relative}.isp-ladder-left-rail,.isp-ladder-right-rail{background:var(--isp-line);z-index:1;pointer-events:none;width:2px;position:absolute;top:20px;bottom:24px}.isp-ladder-left-rail{left:var(--isp-gutter)}.isp-ladder-right-rail{right:0}.isp-ladder-rung{z-index:2;grid-template-columns:var(--isp-gutter) var(--isp-tap) max-content auto var(--isp-action) minmax(var(--isp-tap), 1fr);background:0 0;align-items:center;min-height:94px;transition:background .12s;display:grid;position:relative}.isp-ladder-rung.selected-rung{background:linear-gradient(90deg,#1976d20e,#0000 36%)}.isp-network-shell.auto-layout .isp-ladder-rung{grid-template-columns:var(--isp-gutter) var(--isp-tap) max-content minmax(max-content, 1fr) var(--isp-action) var(--isp-tap)}.isp-network-shell.auto-layout .isp-output-layout-gap{width:100%!important}.isp-network-shell.manual-layout .isp-ladder-rung{grid-template-columns:var(--isp-gutter) var(--isp-tap) max-content auto var(--isp-action) minmax(var(--isp-tap), 1fr)}.isp-rung-number{color:#4b5867;cursor:pointer;background:0 0;border:0;border-radius:0;place-self:center stretch;height:28px;font-family:Consolas,Courier New,monospace;font-size:11px;font-weight:600}.isp-rung-number:hover{color:#0f5ca8;background:#eef4fb}.isp-ladder-rung.selected-rung .isp-rung-number{color:#075aa7;background:#e4f0fd}.isp-rung-left-tap,.isp-rung-right-tap,.isp-rung-flex,.isp-series-gap,.isp-condition-tail,.isp-action-lead,.isp-action-tail,.isp-action-empty,.isp-wire-fill,.isp-branch-wire{background:var(--isp-line);align-self:center;height:2px}.isp-rung-left-tap,.isp-rung-right-tap{width:100%}.isp-rung-left-tap{grid-column:2}.isp-condition-zone{grid-column:3;align-items:center;width:max-content;min-width:0;display:flex}.isp-rung-flex{grid-column:4;width:72px;min-width:72px}.isp-action-zone{grid-column:5;justify-content:flex-end;align-items:center;min-width:0;display:flex}.isp-rung-right-tap{grid-column:6}.isp-condition-cell{flex:none;align-items:center;min-width:0;display:flex}.isp-series-gap{flex:0 0 24px;width:24px}.isp-condition-tail{flex:0 0 12px;width:12px}.isp-action-lead{flex:auto;min-width:12px}.isp-action-tail{flex:0 0 25px;width:25px}.isp-action-empty,.isp-wire-fill{width:100%}.isp-rung-left-tap.powered,.isp-rung-right-tap.powered,.isp-rung-flex.powered,.isp-series-gap.powered,.isp-condition-tail.powered,.isp-action-lead.powered,.isp-action-tail.powered,.isp-action-empty.powered,.isp-wire-fill.powered,.isp-branch-wire.powered,.isp-branch-split.powered,.isp-branch-merge.powered{background:var(--isp-run)}.isp-ladder-element{cursor:pointer;border:1px solid #0000;border-radius:2px;outline:0;flex:none;margin:0;padding:1px 0;position:relative}.isp-ladder-element:hover,.isp-ladder-element:focus-visible{background:#1976d20a;border-color:#1976d25c}.isp-ladder-element>.isp-contact,.isp-ladder-element>.isp-coil,.isp-ladder-element>.isp-function,.isp-ladder-element>.isp-branch{margin-inline:-1px}.isp-ladder-element.selected{border-color:var(--isp-select);background:#1976d20b;box-shadow:0 0 0 1px #1976d229}.isp-element-comment{text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#7b8794;max-width:130px;margin:2px auto 0;font-size:9px;overflow:hidden}.isp-contact,.isp-coil{width:92px;height:58px;color:var(--isp-line);position:relative}.isp-coil{width:116px}.isp-contact.compact{width:82px}.isp-symbol-caption{text-align:center;pointer-events:none;width:132px;line-height:1.05;position:absolute;bottom:calc(50% + 17px);left:50%;transform:translate(-50%)}.isp-symbol-address{text-overflow:ellipsis;white-space:nowrap;color:#45505d;min-height:13px;font-family:Consolas,Courier New,monospace;font-size:11px;font-weight:600;overflow:hidden}.isp-symbol-label{text-overflow:ellipsis;white-space:nowrap;color:#687482;max-width:132px;min-height:12px;font-size:9px;overflow:hidden}.isp-contact-svg,.isp-coil-svg{width:100%;height:34px;position:absolute;top:50%;left:0;overflow:visible;transform:translateY(-50%)}.isp-wire-stroke,.isp-device-stroke{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.isp-nc-slash{stroke-width:1.7px}.isp-coil-marker{fill:currentColor;font-family:Consolas,monospace;font-size:11px;font-weight:700}.isp-contact.powered,.isp-coil.powered{color:var(--isp-run)}.isp-contact.conductive:not(.powered) .isp-device-stroke{color:#394655}.isp-function{color:#22303d;background:#fff;border:1px solid #465462;min-width:152px;max-width:190px;min-height:60px;padding:5px 7px;font-family:Consolas,Courier New,monospace;font-size:10px;line-height:1.25;box-shadow:inset 0 0 0 1px #ffffffe6}.isp-function.compact{min-width:130px;max-width:150px;min-height:48px;padding:4px 6px}.isp-function.powered{border-color:var(--isp-run);color:var(--isp-run)}.isp-function-head{border-bottom:1px solid #c8d0d8;justify-content:space-between;gap:10px;margin-bottom:3px;padding-bottom:3px;display:flex}.isp-function-head strong{font-size:10px}.isp-function-head span{font-weight:700}.isp-function-row{white-space:nowrap;text-overflow:ellipsis;min-height:13px;overflow:hidden}.isp-function-row.runtime{color:#5e6c7a}.isp-function.powered .isp-function-row.runtime{color:#0a7e3b}.isp-function-label{color:#6c7783;text-overflow:ellipsis;white-space:nowrap;border-top:1px dotted #d2d7dd;margin-top:3px;padding-top:3px;font-family:Segoe UI,Arial,sans-serif;font-size:9px;overflow:hidden}.isp-branch{--isp-branch-width:220px;width:var(--isp-branch-width);min-width:var(--isp-branch-width);margin:0;padding:6px 12px;position:relative}.isp-branch:before,.isp-branch:after{content:"";z-index:0;background:var(--isp-line);pointer-events:none;width:13px;height:2px;position:absolute;top:50%;transform:translateY(-50%)}.isp-branch:before{left:-1px}.isp-branch:after{right:-1px}.isp-branch.input-powered:before,.isp-branch.output-powered:after{background:var(--isp-run)}.isp-branch-paths{z-index:1;flex-direction:column;gap:10px;display:flex;position:relative}.isp-branch-path{align-items:center;width:100%;min-height:50px;display:flex}.isp-branch-series{flex:none;align-items:center;width:max-content;min-width:0;display:flex}.isp-branch-condition{align-items:center;min-width:0;display:flex}.isp-branch-wire.lead,.isp-branch-wire.tail{flex:20px;min-width:16px}.isp-branch-wire.gap{flex:0 0 16px;width:16px}.isp-branch-split,.isp-branch-merge{z-index:2;background:var(--isp-line);width:2px;position:absolute;top:31px;bottom:31px}.isp-branch-split{left:11px}.isp-branch-merge{right:11px}.isp-branch-split.powered,.isp-branch-merge.powered{background:var(--isp-run)}.isp-insert-cell{color:#326a9e;cursor:pointer;min-width:54px;height:34px;font:inherit;background:#f5faff;border:1px dashed #7b9cbc;justify-content:center;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.isp-insert-cell span{font-size:17px}.isp-insert-cell small{font-size:8px;font-weight:700}.isp-insert-cell.action{min-width:84px}.isp-layout-gap{flex-shrink:0;align-self:center;min-width:0;height:36px;position:relative}.isp-layout-gap-line{background:var(--isp-line);pointer-events:none;height:2px;position:absolute;top:50%;left:-1px;right:-1px;transform:translateY(-50%)}.isp-layout-gap.powered .isp-layout-gap-line{background:var(--isp-run)}.isp-output-layout-gap{grid-column:4}.isp-layout-gap-handle{z-index:8;cursor:col-resize;touch-action:none;opacity:.28;background:0 0;border:0;width:28px;height:34px;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.isp-layout-gap-handle span{color:#4d6578;background:#ffffffb8;border:1px solid #7f9aad;border-radius:5px;place-items:center;width:9px;height:18px;margin:8px auto;font-size:10px;line-height:1;display:grid;box-shadow:0 0 0 2px #ffffffbf}.isp-layout-gap.manual:hover .isp-layout-gap-handle,.isp-layout-gap-handle:focus-visible,.isp-layout-gap.dragging .isp-layout-gap-handle{opacity:1}.isp-layout-gap.dragging .isp-layout-gap-handle span{color:#0d5da5;background:#edf6ffe0;border-color:#1976d2}.isp-layout-gap-value{z-index:9;color:#34495a;white-space:nowrap;pointer-events:none;background:#fff;border:1px solid #a9b8c7;border-radius:2px;padding:2px 5px;font:9px Consolas,monospace;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.isp-network-layout-tag{color:#27618f;letter-spacing:.04em;background:#eff7ff;border:1px solid #9cb9d4;border-radius:2px;margin-left:2px;padding:1px 4px;font-size:7px;font-style:normal;font-weight:700}.isp-trailing-warning{color:#a53a3a;white-space:nowrap;margin-left:6px;font-size:9px}.isp-empty-program{color:#5f6d7a;place-content:center;justify-items:center;gap:8px;min-height:360px;display:grid}.isp-empty-program strong{color:#263442}.isp-empty-program button{cursor:pointer;background:#edf5fd;border:1px solid #7898b8;border-radius:2px;padding:7px 12px}@media (max-width:1200px){.isp-editor-body.with-inspector{grid-template-columns:minmax(0,1fr)}.isp-inspector{border-left:0;border-top:1px solid var(--isp-border)}.isp-ladder-canvas{min-width:620px}}.ladder-ide-shell{background:#fff;flex-direction:column;min-height:620px;display:flex}.ladder-ide-header{border-bottom:1px solid var(--isp-border);background:linear-gradient(#fff,#fafbfd);justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:10px 16px;display:flex}.ladder-ide-header h2{color:#111b28;margin:0;font-size:20px}.ladder-ide-header p{color:var(--isp-muted);margin:3px 0 0;font-size:11px}.ladder-ide-status-grid{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:4px;display:flex}.ladder-ide-status-grid>span{border-left:1px solid #d8dee6;gap:1px;min-width:74px;padding:4px 8px;display:grid}.ladder-ide-status-grid small{letter-spacing:.06em;color:#788493;text-transform:uppercase;font-size:8px}.ladder-ide-status-grid strong{white-space:nowrap;color:#273442;font-size:10px}.ladder-ide-status-grid strong.run{color:#087b38}.ladder-ide-status-grid strong.stop{color:#596675}.ladder-ide-status-grid strong.error{color:#b42323}.ladder-ide-status-grid strong.warning{color:#9a6700}.ladder-ide-toolbar{z-index:40;position:sticky;top:0}.ladder-history-tools{border-right:1px solid #c9d0d8;align-items:stretch;gap:2px;padding-right:6px;display:flex}.ladder-history-tools button{color:#273442;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;width:46px;min-height:42px;font-size:18px;display:grid}.ladder-history-tools button small{margin-top:-4px;font-size:8px}.ladder-history-tools button:hover:not(:disabled){background:#fff;border-color:#adb8c5}.ladder-history-tools button:disabled{opacity:.35}.isp-network-button.validate{color:#145f92}.ladder-run-block-banner{color:#8f2525;background:#fff3f3;border-bottom:1px solid #efc6c6;align-items:center;gap:12px;padding:6px 12px;font-size:10px;display:flex}.ladder-run-block-banner span{color:#7b5454}.ladder-run-block-banner button{color:#8f2525;cursor:pointer;background:#fff;border:1px solid #d89c9c;border-radius:2px;margin-left:auto;padding:4px 8px}.ladder-ide-workspace{flex:auto;grid-template-columns:220px minmax(0,1fr) 270px;min-width:0;min-height:460px;display:grid}.ladder-ide-workspace.nav-collapsed{grid-template-columns:64px minmax(0,1fr) 270px}.ladder-network-nav{border-right:1px solid var(--isp-border);background:#f7f9fb;min-width:0;overflow:hidden}.ladder-network-nav>header{z-index:6;color:#4d5b6a;letter-spacing:.07em;background:#eef2f6;border-bottom:1px solid #d5dce4;justify-content:space-between;align-items:center;height:34px;padding:0 8px;font-size:9px;display:flex;position:sticky;top:0}.ladder-network-nav>header button{color:#526171;cursor:pointer;background:0 0;border:0;font-size:17px}.ladder-network-list{max-height:calc(100vh - 290px);overflow:auto}.ladder-network-row{border-bottom:1px solid #e7ebef;min-height:34px;display:flex}.ladder-network-row.selected{background:#e5f0fc;box-shadow:inset 3px 0 #1976d2}.ladder-network-collapse{color:#647184;cursor:pointer;background:0 0;border:0;width:26px;font-size:9px}.ladder-network-select{text-align:left;cursor:pointer;color:#293643;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;padding:5px 7px;display:flex}.network-number{color:#36516c;font-family:Consolas,monospace;font-size:10px;font-weight:700}.network-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.network-live-dot{background:#0aa84b;border-radius:50%;width:7px;height:7px}.network-badge{color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:8px;display:grid}.network-badge.error{background:#c53b3b}.network-badge.warning{background:#ba7c00}.ladder-network-nav.collapsed .ladder-network-select{justify-content:center;padding:5px 2px}.ladder-network-nav.collapsed .network-number{font-size:9px}.ladder-ide-main{background:#fff;min-width:0;overflow:hidden}.ladder-canvas-toolbar-row{color:#697686;background:#fafbfd;border-bottom:1px solid #dce2e8;justify-content:space-between;align-items:center;height:32px;padding:0 10px;font-size:9px;display:flex}.ladder-visual-tools{align-items:center;gap:8px;min-width:0;display:flex}.ladder-layout-controls{border-right:1px solid #d4dce4;align-items:center;gap:4px;padding-right:8px;display:flex}.ladder-layout-label{color:#657383;text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:700}.ladder-layout-segmented{display:flex}.ladder-layout-segmented button,.ladder-layout-reset{color:#475766;cursor:pointer;background:#fff;border:1px solid #c9d2dc;height:24px;padding:0 7px;font-size:9px}.ladder-layout-segmented button:first-child{border-radius:2px 0 0 2px}.ladder-layout-segmented button:last-child{border-radius:0 2px 2px 0;margin-left:-1px}.ladder-layout-segmented button.active{z-index:1;color:#0d5d9e;background:#eaf4fe;border-color:#6d9dcc;font-weight:700;position:relative}.ladder-layout-reset{border-radius:2px}.ladder-layout-segmented button:disabled,.ladder-layout-reset:disabled{opacity:.42;cursor:not-allowed}.network-layout-badge{color:#245e8d;background:#edf6ff;border:1px solid #84a8c8;border-radius:2px;place-items:center;min-width:15px;height:15px;font:700 8px Consolas,monospace;display:grid}.ladder-zoom-controls{align-items:center;gap:2px;display:flex}.ladder-zoom-controls button{cursor:pointer;background:#fff;border:1px solid #c9d2dc;border-radius:2px;height:24px;padding:0 7px;font-size:10px}.ladder-zoom-controls span{text-align:center;color:#43515f;width:42px;font:10px Consolas,monospace}.ladder-zoom-stage{min-height:100%}.isp-network-shell{z-index:2;border-bottom:1px solid #d7dde4a6;position:relative}.isp-network-shell.selected-rung{background:linear-gradient(90deg,#1976d20b,#0000 38%)}.isp-network-caption{color:#536171;cursor:pointer;background:#f8fafce0;border-bottom:1px dotted #e1e5ea;align-items:center;gap:7px;height:28px;padding:0 12px 0 56px;font-size:9px;display:flex}.isp-network-caption button{color:#607080;cursor:pointer;background:0 0;border:0;font-size:9px}.isp-network-caption strong{color:#36516c;font-family:Consolas,monospace}.isp-network-caption span{color:#394856;font-weight:600}.isp-network-caption small{text-overflow:ellipsis;white-space:nowrap;color:#7a8692;max-width:45%;margin-left:auto;overflow:hidden}.isp-network-shell.collapsed .isp-network-caption{border-bottom:0}.isp-network-shell .isp-ladder-rung{min-height:104px}.isp-network-shell.selected-rung .isp-rung-number{color:#075aa7;background:#e4f0fd}.ladder-ide-insert-point,.isp-connector-overlay-control{z-index:7;color:#0000;cursor:pointer;opacity:.05;background:0 0;border:1px solid #0000;border-radius:2px;flex:0 0 24px;align-self:center;width:24px;min-width:24px;height:24px;margin:0 -12px;padding:0;transition:opacity .12s,color .12s,border-color .12s,background .12s;position:relative}.isp-ladder-rung:hover .ladder-ide-insert-point:not(:disabled),.ladder-ide-insert-point:focus-visible,.ladder-ide-insert-point.tool-active{opacity:1;color:#2874b8;background:#eef7ffe6;border-color:#88b8e3}.ladder-ide-insert-point.action{width:24px;min-width:24px;margin-inline:-12px}.ladder-ide-insert-point span{font-size:13px;font-weight:700;line-height:18px}.ladder-element-badges{z-index:5;white-space:nowrap;pointer-events:none;align-items:center;gap:2px;display:flex;position:absolute;top:calc(50% + 21px);left:50%;transform:translate(-50%)}.ladder-element-badges span{letter-spacing:.02em;border-radius:2px;padding:0 3px;font-size:7px;font-weight:700;line-height:12px}.force-badge{color:#6f35a5;background:#f0e7ff;border:1px solid #cbb3e6}.error-badge{color:#b12222;background:#fde8e8;border:1px solid #e8a5a5}.warning-badge{color:#966000;background:#fff2d7;border:1px solid #e6c27a}.monitor-badge{color:#64717d;background:#edf0f3}.monitor-badge.on{color:#087b38;background:#e7f7ec}.isp-ladder-element.validation-error{border-color:#d43b3b!important;box-shadow:0 0 0 1px #d43b3b2e!important}.isp-ladder-element.validation-warning{border-color:#d09316!important;box-shadow:0 0 0 1px #d093162e!important}.isp-ladder-element.ide-flash{animation:1.1s ladderIdeFlash}@keyframes ladderIdeFlash{0%,to{box-shadow:0 0 0 1px #1976d233}35%{background:#e9f3ff;box-shadow:0 0 0 4px #1976d259}}.ladder-ide-inspector{border-left:1px solid var(--isp-border);background:#f8fafc;min-width:0;padding:10px;overflow:auto}.ladder-ide-inspector.empty{color:#798592;font-size:10px}.ladder-ide-inspector>header{border-bottom:1px solid #dbe1e8;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.ladder-ide-inspector header div:first-child{gap:2px;display:grid}.ladder-ide-inspector header small{color:#7b8793;letter-spacing:.08em;font-size:8px}.ladder-ide-inspector header strong{color:#253441;font-size:11px}.ladder-ide-inspector>label{color:#65717d;gap:4px;margin:8px 0;font-size:9px;display:grid}.ladder-ide-inspector input,.ladder-ide-inspector textarea{background:#fff;border:1px solid #c8d1db;width:100%;padding:6px;font:10px Segoe UI,sans-serif}.inspector-actions{flex-direction:row!important;gap:4px!important;display:flex!important}.inspector-actions button{cursor:pointer;background:#fff;border:1px solid #bdc8d3;border-radius:2px;padding:4px 7px;font-size:9px}.ladder-ide-inspector .ladder-properties{width:auto;min-width:0;box-shadow:none;background:0 0;border:0;padding:0;position:static}.ladder-bottom-panel{background:#f7f9fb;border-top:1px solid #bac5d0;min-height:130px;max-height:230px;overflow:hidden}.ladder-bottom-panel>header{background:#e9edf2;border-bottom:1px solid #c8d0d8;align-items:flex-end;height:30px;padding:0 8px;display:flex}.ladder-bottom-panel>header button{color:#53606e;cursor:pointer;background:0 0;border:0;border-right:1px solid #c8d0d8;height:27px;padding:0 10px;font-size:8px;font-weight:700}.ladder-bottom-panel>header button.active{color:#145b94;background:#fff;border-top:2px solid #1976d2}.ladder-bottom-panel>header .close{border-right:0;margin-left:auto;font-size:15px}.ladder-bottom-content{max-height:198px;padding:6px 8px;font-size:9px;overflow:auto}.ladder-diagnostic-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0e5ea;grid-template-columns:70px 1fr;gap:8px;width:100%;padding:5px;display:grid}.ladder-diagnostic-row:hover{background:#eef5fc}.ladder-diagnostic-row b{color:#43515f;font-size:8px}.ladder-runtime-row{border-bottom:1px solid #e1e5ea;grid-template-columns:120px repeat(3,110px);gap:10px;padding:5px;display:grid}.ladder-scan-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;display:grid}.ladder-scan-grid span{background:#fff;border:1px solid #d8dee5;padding:7px}.ladder-bottom-reopen{z-index:30;background:#fff;border:1px solid #bdc8d3;border-radius:2px;padding:5px 10px;font-size:9px;position:fixed;bottom:8px;right:20px}.ladder-modal-backdrop{z-index:1000;background:#0d182438;place-items:center;display:grid;position:fixed;inset:0}.ladder-inline-editor,.ladder-search-dialog{background:#fff;border:1px solid #95a3b2;flex-direction:column;width:min(520px,100vw - 32px);max-height:82vh;display:flex;box-shadow:0 14px 45px #141f2b38}.ladder-search-dialog.compact{width:min(400px,100vw - 32px)}.ladder-inline-editor>header,.ladder-search-dialog>header{background:#eef2f6;border-bottom:1px solid #c6ced7;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.ladder-inline-editor header div{display:grid}.ladder-inline-editor header small{color:#77838f;font-size:8px}.ladder-inline-editor header button,.ladder-search-dialog header button{cursor:pointer;background:0 0;border:0;font-size:18px}.ladder-inline-editor-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;display:grid;overflow:auto}.ladder-edit-field{color:#5c6976;gap:4px;font-size:9px;display:grid}.ladder-edit-field input,.ladder-edit-field select,.ladder-edit-field textarea,.ladder-search-dialog>input{background:#fff;border:1px solid #bfc9d3;min-width:0;padding:7px;font:10px Segoe UI,sans-serif}.ladder-edit-field textarea{resize:vertical}.ladder-inline-editor footer{border-top:1px solid #d7dde3;justify-content:flex-end;gap:5px;padding:8px 11px;display:flex}.ladder-inline-editor footer button{background:#fff;border:1px solid #b9c5d0;border-radius:2px;padding:6px 12px;font-size:9px}.ladder-inline-editor footer button.primary{color:#0e5b9b;background:#e6f1fc;border-color:#78a6d1}.ladder-editor-note{color:#62707e;background:#f4f7fa;border:1px solid #d8dfe6;grid-column:1/-1;padding:8px;font-size:9px}.ladder-autocomplete{position:relative}.ladder-autocomplete>input{width:100%}.ladder-autocomplete-menu{z-index:1100;background:#fff;border:1px solid #aebbc8;max-height:220px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 20px #1423322e}.ladder-autocomplete-menu button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e5e9ed;grid-template-columns:64px 1fr auto;gap:6px;width:100%;padding:5px 7px;font-size:9px;display:grid}.ladder-autocomplete-menu button:hover{background:#edf6ff}.ladder-autocomplete-menu strong{font-family:Consolas,monospace}.ladder-autocomplete-menu span{text-overflow:ellipsis;overflow:hidden}.ladder-autocomplete-menu small{color:#788491}.ladder-search-dialog>input{margin:10px}.ladder-search-results{border-top:1px solid #e1e5e9;max-height:55vh;overflow:auto}.ladder-search-results>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e6eaee;gap:2px;width:100%;padding:8px 10px;display:grid}.ladder-search-results>button:hover{background:#eef6ff}.ladder-search-results strong{color:#253a4d;font:10px Consolas,monospace}.ladder-search-results span{color:#687583;font-size:9px}.ladder-search-results p{color:#788591;padding:10px;font-size:10px}.ladder-context-dismiss{z-index:1190;position:fixed;inset:0}.ladder-context-menu,.ladder-insert-menu{z-index:1200;background:#fff;border:1px solid #9eabb9;min-width:210px;padding:4px;position:fixed;box-shadow:0 9px 28px #18263633}.ladder-context-menu button,.ladder-insert-menu button{text-align:left;background:#fff;border:0;justify-content:space-between;gap:10px;width:100%;min-height:27px;padding:4px 8px;font-size:9px;display:flex}.ladder-context-menu button:hover:not(:disabled),.ladder-insert-menu button:hover{background:#eaf4fe}.ladder-context-menu button.danger{color:#a72b2b}.ladder-context-menu hr{border:0;border-top:1px solid #e1e5e9;margin:3px}.ladder-context-menu kbd{color:#7b8792;font:8px Consolas,monospace}.ladder-insert-menu strong{color:#6b7784;border-bottom:1px solid #e1e5e9;padding:5px 8px;font-size:8px;display:block}.ladder-empty-ide{color:#667380;place-content:center;justify-items:center;gap:9px;min-height:430px;display:grid}.ladder-empty-ide h3{color:#263645;margin:0}.ladder-empty-ide p{margin:0;font-size:10px}.ladder-empty-ide>button{background:#eaf4fe;border:1px solid #77a0c8;border-radius:2px;padding:7px 12px}.ladder-template-grid{grid-template-columns:repeat(3,130px);gap:5px;margin-top:8px;display:grid}.ladder-template-grid button{background:#fff;border:1px solid #c1ccd6;padding:7px;font-size:9px}@media (max-width:1350px){.ladder-ide-workspace{grid-template-columns:190px minmax(0,1fr)}.ladder-ide-inspector{border-left:0;border-top:1px solid var(--isp-border);grid-column:1/-1;max-height:250px}.ladder-ide-workspace.nav-collapsed{grid-template-columns:58px minmax(0,1fr)}}@media (max-width:900px){.ladder-ide-workspace,.ladder-ide-workspace.nav-collapsed{grid-template-columns:1fr}.ladder-network-nav{display:none}.ladder-ide-status-grid>span{min-width:60px}.ladder-inline-editor-body{grid-template-columns:1fr}.ladder-template-grid{grid-template-columns:repeat(2,130px)}.isp-ladder-canvas{min-width:620px}}body{background:#edf2f7;padding:18px}.app-shell{background:#f8fafc;border:1px solid #d7e0e9;border-radius:18px;min-height:calc(100vh - 36px);overflow:hidden;box-shadow:0 1px 3px #192a4114}.topbar{background:#fff;min-height:72px;padding:12px 18px}.brand-identity{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{color:#fff;background:#0b1733;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:14px;font-weight:900;display:inline-grid;box-shadow:inset 0 0 0 1px #ffffff29}.brand-block{align-items:initial;gap:2px;display:grid}.brand-block strong{color:#0e1b35;font-size:20px;line-height:1.1}.brand-subtitle{color:#68809d;font-size:11px;font-weight:600}.topbar-status{gap:9px}.metric-chip,.project-chip,.mode-chip{color:#35445b;background:#fff;border:1px solid #dce4ed;border-radius:8px;align-items:center;min-height:34px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 1px 2px #1e30480d}.mode-chip{letter-spacing:.08em;gap:8px}.mode-chip:before{content:"";background:#cbd5e1;border-radius:50%;width:9px;height:9px}.mode-chip.running:before{background:#22a06b}.mode-chip.error:before{background:#df4545}.workspace-nav{background:#fff;justify-content:flex-start;gap:10px;min-height:58px;padding:8px 18px;overflow-x:auto}.ribbon-group{background:#fbfcfe;border:1px solid #dce5ee;border-radius:10px;flex:none;align-items:center;gap:7px;min-height:42px;padding:5px 8px;display:flex;box-shadow:0 1px 2px #1e30480a}.ribbon-label{color:#9aa9bc;letter-spacing:.14em;padding:0 5px 0 1px;font-size:9px}.ribbon-group button,.workspace-nav-actions button,.ribbon-group select{border-radius:7px;min-height:31px;font-size:11px;font-weight:800}.ribbon-group select{max-width:190px;padding-right:26px}.editor-tabs{gap:0}.editor-tabs .editor-tab{border-radius:0}.editor-tabs .editor-tab:first-child{border-radius:7px 0 0 7px}.editor-tabs .editor-tab:last-child{border-radius:0 7px 7px 0;margin-left:-1px}.editor-tabs .editor-tab.active,.primary-action{color:#fff;background:#1677d2;border-color:#146ac7}.workspace-nav-actions{flex:none;margin-left:auto}.component-shelf{background:#f9fbfd;border-bottom:1px solid #dce5ee}.component-library-shelf{display:block}.component-shelf-heading{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:8px 18px;display:flex}.component-shelf-title,.component-shelf-filters{align-items:center;gap:10px;display:flex}.component-shelf-title strong{color:#13223b;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.component-shelf-mark{color:#f0782d;background:#fff;border:1px solid #dce5ee;border-radius:10px;place-items:center;width:36px;height:36px;font-size:22px;font-weight:500;display:grid}.component-count-badge{color:#6b7c93;text-transform:uppercase;background:#fff;border:1px solid #dce5ee;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:800}.component-shelf-filters select{border-radius:8px;width:190px;height:38px;font-size:11px;font-weight:800}.component-library-shelf .component-library-search-wrap{background:0 0;width:min(340px,32vw);padding:0;display:block;position:relative;top:auto}.component-library-shelf .component-library-search{border-color:#dce5ee;border-radius:8px;height:38px;padding-left:34px}.search-glyph{border:2px solid #9aa9bc;border-radius:50%;width:10px;height:10px;position:absolute;top:13px;left:13px}.search-glyph:after{content:"";background:#9aa9bc;width:5px;height:2px;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}.component-shelf-track{scrollbar-color:#b9c6d5 transparent;scrollbar-width:thin;gap:9px;min-width:0;padding:8px 18px 12px;display:flex;overflow-x:auto}.component-shelf-track::-webkit-scrollbar{height:5px}.component-shelf-track::-webkit-scrollbar-track{background:0 0}.component-shelf-track::-webkit-scrollbar-thumb{background:#c5d0dc;border-radius:999px}.component-library-shelf .palette-device-row.shelf-item{flex:0 0 176px;grid-template-columns:minmax(0,1fr);width:176px}.component-library-shelf .palette-item.compact{border-color:#dce5ee;border-radius:9px;gap:10px;min-height:58px;padding:8px 10px;box-shadow:0 1px 2px #1e30480a}.component-library-shelf .palette-item.compact:hover{border-color:#7faee3;box-shadow:0 3px 10px #245b961a}.component-library-shelf .palette-symbol{color:#2765d3;background:#eaf2ff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:9px;font-weight:900;display:grid}.component-library-shelf .palette-device-copy strong{font-size:11px}.component-library-shelf .palette-device-copy small{font-size:8px}.component-library-shelf .palette-favorite{display:none}.workspace,.workspace.circuit-layout,.workspace.circuit-layout.has-inspector{background:#f8fafc;display:block}.professional-center{background:#f8fafc}.circuit-panel{background:#f8fafc;padding:0 18px 14px}.panel-heading{background:0 0;border-bottom:0;min-height:64px;padding:0}.workspace-title{align-items:center;gap:12px;display:flex}.workspace-title h2{color:#16243d;letter-spacing:0;text-transform:none;font-size:13px;font-weight:800}.workspace-title span{color:#42536b;text-transform:none;border-left:1px solid #cdd7e2;padding-left:12px;font-size:12px;font-weight:800}.workspace-tools{scrollbar-width:none;align-items:center;gap:7px;min-width:0;display:flex}.workspace-tools::-webkit-scrollbar{display:none}.workspace-tools button,.workspace-tools .status-chip,.workspace-tools .editor-lock-chip{text-transform:none;border-radius:0;min-height:36px;font-size:10px;font-weight:800;transition:border-color .14s,background .14s,color .14s,box-shadow .14s}.workspace-action-group{align-items:stretch;display:inline-flex}.workspace-action-group button{background:#fff;border-color:#d6e0eb;min-width:58px;margin-left:-1px;padding:0 13px}.workspace-action-group button:first-child{border-radius:8px 0 0 8px;margin-left:0}.workspace-action-group button:last-child{border-radius:0 8px 8px 0}.simulation-actions button:first-child:not(:disabled){z-index:1;color:#17613c;background:#f0faf4;border-color:#9ccdb2;position:relative}.simulation-actions button:first-child:hover:not(:disabled){background:#e3f6eb;border-color:#62aa81}.edit-actions button{color:#28405f}.eco-print-action{color:#213955;white-space:nowrap;background:#fbfdff;border-color:#b8c9dc;margin-left:26px;padding-left:15px;padding-right:15px;border-radius:8px!important}.workspace-tools button:focus-visible,.canvas-viewport-controls button:focus-visible,.canvas-route-control select:focus-visible{z-index:3;outline-offset:2px;outline:2px solid #2563eb;position:relative}.canvas-wrap{background-color:#fff;background-image:linear-gradient(#edf2f7 1px,#0000 1px),linear-gradient(90deg,#edf2f7 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #ced9e5;border-radius:12px;height:clamp(430px,100vh - 560px,650px);min-height:430px;box-shadow:0 1px 2px #1e304808}.canvas-viewport-controls{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#dce5ee;border-radius:9px;flex:none;gap:0;width:100%;min-height:48px;margin-bottom:9px;padding:6px 8px;position:relative;top:auto;left:auto;right:auto;overflow-x:auto;box-shadow:0 1px 3px #1e304812}.canvas-viewport-controls button{border-color:#d6e0eb;border-radius:0;min-width:40px;height:34px;margin-left:-1px;padding:0 12px;font-size:10px;font-weight:700;transition:border-color .14s,background .14s,color .14s}.canvas-control-group{flex:none;align-items:center;margin-right:8px;display:inline-flex}.canvas-control-group button:first-child{border-radius:7px 0 0 7px;margin-left:0}.canvas-control-group button:last-child{border-radius:0 7px 7px 0}.canvas-control-group button:only-child{border-radius:7px}.canvas-tool-toggle button.active{z-index:1;color:#fff;background:#2563eb;border-color:#2563eb;position:relative;box-shadow:0 1px 3px #2563eb3d}.canvas-viewport-controls button.subtle-active{color:#334e70;background:#f7faff;border-color:#b9c9dc}.canvas-zoom-label{color:#263d5c;background:#fff;border:1px solid #d6e0eb;justify-content:center;align-items:center;min-width:62px;height:34px;margin-left:-1px;font-size:10px;display:inline-flex}.canvas-grid-size,.canvas-route-control{color:#98a7bb;flex:none;align-items:center;gap:7px;font-size:9px;font-weight:800;display:inline-flex}.canvas-grid-size strong{color:#314563;background:#fff;border:1px solid #d6e0eb;border-radius:7px;align-items:center;min-width:62px;height:34px;padding:0 12px;font-size:10px;display:inline-flex}.canvas-route-control{margin-left:auto}.canvas-route-control select{color:#263d5c;opacity:1;background:#fff;border:1px solid #d6e0eb;border-radius:7px;min-width:170px;height:34px;padding:0 34px 0 12px;font-size:10px;font-weight:800}.canvas-wrap.pan-tool-active,.canvas-wrap.pan-tool-active .canvas-svg{cursor:grab}.canvas-wrap.pan-tool-active .canvas-svg:active{cursor:grabbing}.workspace-statusbar{color:#6a7c93;text-align:center;background:#fff;border:1px solid #dce5ee;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-height:38px;margin-top:9px;font-size:10px;display:grid}.workspace-statusbar strong{color:#35445b}.workspace-statusbar>span{text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #edf1f5;min-width:0;padding:0 8px;overflow:hidden}.workspace-statusbar>span:first-child{border-left:0}.workspace-message-row{grid-template-columns:1fr 1fr;gap:9px;margin-top:9px;display:grid}.workspace-message-row>div{color:#64748b;background:#fff;border:1px solid #dce5ee;border-radius:10px;align-items:center;min-height:39px;padding:0 13px;font-size:10px;line-height:1.4;display:flex}.workspace-message-row .simulation-hint{color:#617085;background:#fff9ef;border-color:#f2c98f}.workspace-message-row .simulation-hint strong{color:#096f83;margin-right:4px}.lab-secondary-panels{grid-template-columns:minmax(250px,.7fr) minmax(0,2fr);gap:12px;padding:0 18px 18px;display:grid}.lab-secondary-drawer{background:#fff;border:1px solid #dce5ee;border-radius:10px;margin:0 18px 14px}.lab-secondary-drawer>summary{color:#4d6078;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:40px;padding:0 13px;font-size:10px;font-weight:900;list-style:none;display:flex}.lab-secondary-drawer>summary:after{color:#8292a7;content:"+";margin-left:auto;font-size:17px}.lab-secondary-drawer[open]>summary{border-bottom:1px solid #dce5ee}.lab-secondary-drawer[open]>summary:after{content:"-"}.lab-secondary-drawer .lab-secondary-panels{padding-top:12px}.lab-secondary-panels .inspector{background:0 0;border:0;padding:0}.diagnostics-column{align-content:start;gap:10px;min-width:0;display:grid}.app-tipbar{color:#66778d;background:#fff;border-top:1px solid #dce5ee;align-items:center;gap:10px;min-height:48px;margin-top:auto;padding:0 22px;font-size:10px;display:flex}.app-tipbar span{color:#57708e;background:#eef3f8;border-radius:999px;padding:4px 8px;font-weight:900}@media (max-width:1100px){body{padding:0}.app-shell{border:0;border-radius:0;min-height:100vh}.project-chip{display:none}.component-shelf-heading{flex-direction:column;align-items:flex-start;gap:8px}.component-shelf-filters,.component-library-shelf .component-library-search-wrap{width:100%}.panel-heading{flex-direction:column;justify-content:center;align-items:stretch;gap:9px;padding:10px 0}.workspace-tools{width:100%;padding:2px 0 4px;overflow-x:auto}.eco-print-action{margin-left:auto}.lab-secondary-panels{grid-template-columns:1fr}}@media (max-width:720px){.topbar{flex-direction:column;align-items:flex-start}.topbar-status{width:100%;margin-left:0;overflow-x:auto}.brand-subtitle{white-space:normal}.workspace-nav-actions{margin-left:0}.component-shelf-title{width:100%}.component-shelf-filters{flex-direction:column;align-items:stretch}.component-shelf-filters select{width:100%}.panel-heading{align-items:stretch;padding:12px 0}.workspace-tools{padding-bottom:5px}.eco-print-action,.canvas-route-control{margin-left:8px}.circuit-panel{padding-left:10px;padding-right:10px}.canvas-wrap{border-radius:10px;height:500px;min-height:500px}.workspace-statusbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 0;padding:9px 0}.workspace-message-row{grid-template-columns:1fr}.lab-secondary-panels{padding-left:10px;padding-right:10px}.lab-secondary-drawer{margin-left:10px;margin-right:10px}}.isp-rung-number{z-index:9;background:#fffffff5;position:sticky;left:0}.isp-network-shell.selected-rung .isp-rung-number{background:#e4f0fd}.ladder-inspector-summary{gap:6px;margin:8px 0 12px;display:grid}.ladder-inspector-summary span{color:#6c7884;grid-template-columns:62px minmax(0,1fr);gap:6px;font-size:9px;display:grid}.ladder-inspector-summary b{color:#2d3b49;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.example-project-picker{color:#52606d;gap:5px;font-size:10px;display:grid}.example-project-picker>span{font-weight:600}.example-project-picker select{width:100%;min-width:0}.device-properties-panel{box-sizing:border-box;color:#0f172a;background:#fffffffb;border:1px solid #cbd5e1;border-radius:10px;width:100%;max-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:opacity .15s,transform .15s,box-shadow .15s,border-color .15s;overflow:hidden;box-shadow:0 10px 24px #0f172a24}.device-properties-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.device-properties-title{letter-spacing:.02em;font-size:11px;font-weight:900;line-height:1.1}.device-properties-name{text-overflow:ellipsis;white-space:nowrap;color:#64748b;max-width:220px;margin-top:2px;font-size:8px;font-weight:700;overflow:hidden}.device-panel-icon-button,.device-properties-actions button,.device-angle-control button,.device-delete-button{color:#334155;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:7px;transition:background .14s,border-color .14s,color .14s,transform .14s}.device-panel-icon-button:hover,.device-properties-actions button:hover,.device-angle-control button:hover{background:#f8fafc;border-color:#94a3b8}.device-panel-icon-button{cursor:pointer;width:24px;height:24px;padding:0;font-size:16px;line-height:20px}.device-properties-header-actions{align-items:center;gap:5px;display:flex}.device-panel-icon-button.active{color:#1d5fbf;background:#edf5ff;border-color:#86aee6}.device-properties-actions{grid-template-columns:1fr 1fr;gap:6px;padding:8px 9px 6px;display:grid}.device-properties-actions button,.device-angle-control button{cursor:pointer;min-height:28px;padding:4px 8px;font-size:9px;font-weight:800}.device-angle-control{grid-template-columns:1fr 52px 1fr;align-items:center;gap:6px;padding:0 9px 6px;display:grid}.device-angle-control span{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;place-items:center;min-height:28px;font-size:9px;font-weight:900;display:grid}.device-delete-button{color:#b91c1c;cursor:pointer;background:#fff7f7;border-color:#fecaca;width:calc(100% - 18px);min-height:28px;margin:0 9px 8px;font-size:9px;font-weight:900}.device-delete-button:hover{background:#fef2f2;border-color:#fca5a5}.electrical-config-window{color:#0f172a;background:#fffffffc;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;width:100%;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow:hidden;box-shadow:0 16px 36px #0f172a2e}.electrical-config-window-header{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid #dbe3ec;flex:none;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:8px;min-height:52px;padding:7px 9px;display:grid}.electrical-config-window-header>div{gap:2px;min-width:0;display:grid}.electrical-config-window-header strong{color:#34455e;letter-spacing:.09em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.electrical-config-window-header div>span{color:#8b9bb0;font-size:9px;font-weight:600}.electrical-config-drag-handle{color:#8293aa;background:#f2f6fa;border:1px solid #d8e1ec;border-radius:7px;place-items:center;width:28px;height:32px;font-size:16px;line-height:1;display:grid}.electrical-config-window-header .device-panel-icon-button{cursor:pointer}.electrical-config-window-body{scrollbar-color:#b9c6d5 transparent;scrollbar-width:thin;flex:auto;min-height:0;padding:10px;overflow:hidden auto}.electrical-config-device-name{color:#17243a;margin:0 4px 8px;font-size:12px;font-weight:800}.electrical-config-window-body input,.electrical-config-window-body select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-height:28px;padding:4px 7px;font-size:10px}.electrical-config-window-body select{min-width:0;width:100%!important}.electrical-config-window-body input:focus,.electrical-config-window-body select:focus{outline-offset:1px;border-color:#6c9fe4;outline:2px solid #2563eb21}
