:root{--app-ink:#1b2733;--app-border:#c7cdd3;--app-panel:#f3f4f5;--app-blue:#2879c7;--sim-green:#2ca568}.general-shell{--library-width:245px;--inspector-width:270px;grid-template:34px 52px minmax(0, 1fr) 24px / var(--library-width) minmax(520px, 1fr) var(--inspector-width);width:100%;height:100vh;min-height:600px;color:var(--app-ink);background:#d5d9dd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow:hidden}.general-shell.library-closed{--library-width:0px}.general-shell.inspector-closed{--inspector-width:0px}.general-shell.library-closed .component-library,.general-shell.inspector-closed .component-inspector{display:none}.general-shell button,.general-shell input{font:inherit}.general-menubar{color:#dbe6ef;z-index:30;background:#1d2b38;border-bottom:1px solid #111b24;grid-column:1/-1;align-items:stretch;display:flex}.general-brand{letter-spacing:.08em;border-right:1px solid #3a4854;flex:0 0 154px;align-items:center;gap:8px;width:154px;padding:0 11px;font-size:12px;display:flex}.general-brand>span{color:#17232e;background:#f5c642;border-radius:2px;place-items:center;width:23px;height:23px;display:grid}.general-brand b{color:#f5c642}.module-switch button{color:#aebbc6;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-width:72px;padding:0 10px;font-size:10px;display:flex}.module-switch button.active{color:#fff;background:#314454;box-shadow:inset 0 -2px #f5c642}.desktop-menus{align-items:center;display:flex}.desktop-menus span{color:#aebbc6;padding:0 9px;font-size:9px}.general-project-name{border-left:1px solid #3a4854;align-items:center;gap:8px;min-width:160px;max-width:320px;margin-left:auto;padding:0 12px;display:flex}.general-project-name span{color:#8494a1;text-transform:uppercase;letter-spacing:.1em;font-size:8px}.general-project-name input{color:#edf3f7;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:10px}.general-save-state{color:#adbac4;cursor:pointer;background:0 0;border:0;border-left:1px solid #3a4854;justify-content:center;align-items:center;gap:7px;min-width:118px;padding:0 10px;font-size:8px;display:flex}.general-save-state>span{background:#48c680;border-radius:50%;width:6px;height:6px}.general-save-state.saving>span{background:#f5c642;animation:1s ease-in-out infinite general-pulse}.general-save-state.error>span{background:#e15c55}.general-commandbar{color:#35424d;z-index:25;background:linear-gradient(#fbfbfb,#e7e9eb);border-bottom:1px solid #b8bec4;grid-column:1/-1;align-items:center;padding:4px 7px;display:flex;box-shadow:0 1px 2px #00000014}.tool-group{border-right:1px solid #c5c9cd;align-items:center;gap:2px;height:42px;padding:0 7px;display:flex}.tool-group button,.general-run-controls button{color:#455560;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:5px;min-width:31px;height:34px;padding:0 7px;display:flex}.tool-group button:hover,.general-run-controls button:hover{background:#fff;border-color:#bbc2c7;box-shadow:0 1px 2px #00000014}.tool-group button:disabled{opacity:.34;cursor:default;box-shadow:none}.tool-group button.toggled{color:#0d5f9f;background:#d8eafb;border-color:#94bde1}.file-tools button{flex-direction:column;gap:1px;min-width:48px}.file-tools button small{font-size:7px}.view-tools output{text-align:center;color:#687680;min-width:34px;font:600 8px ui-monospace,monospace}.magnet-icon{font-size:22px;font-weight:700;line-height:1;transform:rotate(180deg)}.general-run-controls{gap:3px;margin-left:auto;padding:0 5px;display:flex}.general-run-controls button:first-child{color:#f4fbf7;background:#317e57;border-color:#246746;min-width:83px;font-size:9px;font-weight:700}.general-run-controls button:first-child:hover,.general-run-controls button:first-child.active{background:#176d44;border-color:#105536}.general-run-controls button.paused{color:#6e5512;background:#fff2c0;border-color:#d9bd63}.example-tools select{color:#384853;background:#fff;border:1px solid #b9c1c7;border-radius:2px;outline:0;min-width:126px;height:30px;padding:0 25px 0 7px;font-size:8px}.example-tools button{color:#315f44;min-width:61px;font-size:8px;font-weight:700}.component-library,.component-inspector{background:var(--app-panel);flex-direction:column;min-width:0;min-height:0;display:flex}.component-library{border-right:1px solid var(--app-border);grid-column:1}.component-inspector{border-left:1px solid var(--app-border);grid-column:3}.general-panel-title{color:#f0f4f7;letter-spacing:.08em;background:#42515e;border-bottom:1px solid #2f3e49;flex:0 0 35px;justify-content:space-between;align-items:center;height:35px;padding:0 10px;font-size:9px;font-weight:700;display:flex}.general-panel-title small{text-overflow:ellipsis;color:#cbd3d9;letter-spacing:0;white-space:nowrap;max-width:100px;font-size:8px;overflow:hidden}.component-search{color:#7e8a92;background:#fff;border:1px solid #bfc6cc;border-radius:2px;flex:0 0 31px;align-items:center;gap:6px;height:31px;margin:8px;padding:0 8px;display:flex}.component-search input{color:#273642;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:9px}.component-groups{scrollbar-width:thin;min-height:0;padding-bottom:8px;overflow:auto}.component-groups details{border-top:1px solid #d2d6d9}.component-groups summary{color:#40505c;cursor:pointer;background:#e3e6e8;align-items:center;gap:6px;height:28px;padding:0 9px;font-size:9px;font-weight:700;list-style:none;display:flex}.component-groups summary::-webkit-details-marker{display:none}.component-groups summary:before{content:"›";color:#687985;font-size:14px;transition:transform .14s;transform:rotate(0)}.component-groups details[open] summary:before{transform:rotate(90deg)}.component-groups summary b{text-align:center;color:#65747f;background:#f3f4f5;border:1px solid #c7cdd1;border-radius:8px;min-width:18px;margin-left:auto;padding:1px 4px;font-size:7px}.component-groups details>div{background:#f6f7f7;padding:3px 5px 5px}.component-groups details button{color:#34434e;cursor:grab;text-align:left;background:0 0;border:1px solid #0000;border-radius:2px;grid-template-columns:48px 1fr 30px;align-items:center;width:100%;min-height:36px;padding:2px 5px;display:grid}.component-groups details button:hover{color:#133852;background:#e5f0f9;border-color:#b8d2e6}.component-groups details button>b{font-size:9px;font-weight:600}.component-groups details button>small{text-align:right;color:#53616a;font:700 7px ui-monospace,monospace}.library-symbol{color:#293944;place-items:center;width:44px;height:30px;display:grid}.library-symbol>svg,.library-symbol>span,.library-symbol .meter-symbol{width:42px;height:25px}.library-symbol svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:42px;height:25px;overflow:visible}.library-symbol svg text{fill:currentColor;stroke:none;font:700 15px ui-monospace,monospace}.load-example{color:#264e39;cursor:pointer;background:#e0f1e7;border:1px solid #afd1bd;border-radius:2px;justify-content:center;align-items:center;gap:7px;min-height:34px;margin:6px 8px;font-size:8px;font-weight:700;display:flex}.simulide-credit{color:#536068;background:#e8eaec;border-top:1px solid #d0d5d9;gap:7px;padding:7px 10px;display:flex}.simulide-credit svg{flex:none}.simulide-credit p{margin:0;font-size:7px;line-height:1.4}.simulide-credit a{color:#175f96;font-weight:700}.general-workspace{background:#bfc5ca;grid-column:2;grid-template-rows:31px minmax(250px,1fr) 138px;min-width:0;min-height:0;display:grid;position:relative}.general-workspace.scope-closed{grid-template-rows:31px minmax(250px,1fr)}.document-tabs{background:#d9dde0;border-bottom:1px solid #aeb5ba;align-items:end;padding-left:5px;display:flex}.document-tabs>div{color:#34424c;background:#f5f6f6;border:1px solid #b8bec3;border-bottom-color:#f5f6f6;align-items:center;gap:6px;min-width:180px;max-width:320px;height:27px;padding:0 8px;display:flex}.document-tabs h1{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:9px;font-weight:600;overflow:hidden}.document-tabs span{color:#849098}.document-tabs>button{color:#5f6d76;cursor:pointer;background:0 0;border:0;width:28px;height:25px;font-size:16px}.circuit-viewport{scrollbar-color:#747e85 #d9dddf;scrollbar-width:thin;background:#aeb5ba;min-width:0;min-height:0;overflow:auto}.circuit-stage{margin:10px;position:relative;box-shadow:0 2px 8px #00000038}.circuit-surface{transform-origin:0 0;-webkit-user-select:none;user-select:none;background-color:#fbfbf8;background-image:radial-gradient(circle,#bac2c5 1.2px,#0000 1.3px),linear-gradient(#ccd2d347 1px,#0000 1px),linear-gradient(90deg,#ccd2d347 1px,#0000 1px);background-size:20px 20px,100px 100px,100px 100px;width:1200px;height:720px;position:absolute;inset:0 auto auto 0;overflow:hidden}.circuit-surface.no-grid{background-image:none}.circuit-surface.wire-mode{cursor:crosshair}.wire-layer{z-index:1;width:1200px;height:720px;position:absolute;inset:0;overflow:visible}.wire-layer path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.wire-hit{stroke:#0000;stroke-width:15px;cursor:pointer}.wire-shadow{stroke:#ffffffb8;stroke-width:5px;pointer-events:none}.wire-line{stroke-width:2.8px;pointer-events:none}.wire.green .wire-line,.wire.green .wire-flow,.wire.green .junction-dot{stroke:#1d9955}.wire.red .wire-line,.wire.red .wire-flow,.wire.red .junction-dot{stroke:#ce3d37}.wire.blue .wire-line,.wire.blue .wire-flow,.wire.blue .junction-dot{stroke:#2a72c4}.wire.black .wire-line,.wire.black .wire-flow,.wire.black .junction-dot{stroke:#273039}.wire.orange .wire-line,.wire.orange .wire-flow,.wire.orange .junction-dot{stroke:#d17b21}.wire.purple .wire-line,.wire.purple .wire-flow,.wire.purple .junction-dot{stroke:#8652ae}.wire.green .junction-dot{fill:#1d9955}.wire.red .junction-dot{fill:#ce3d37}.wire.blue .junction-dot{fill:#2a72c4}.wire.black .junction-dot{fill:#273039}.wire.orange .junction-dot{fill:#d17b21}.wire.purple .junction-dot{fill:#8652ae}.wire.selected .wire-shadow{stroke:#f5c33d;stroke-width:9px;opacity:.72}.wire.selected .wire-line{stroke:#27333b;stroke-width:3.2px}.wire.logic-low .wire-line{opacity:.38;stroke-dasharray:5 4}.wire-flow{stroke-width:2.8px;stroke-dasharray:2 13;stroke-dashoffset:0;opacity:.9;filter:drop-shadow(0 0 2px);pointer-events:none;animation:.7s linear infinite wire-current}.wire-preview{stroke:#2475bc;stroke-width:2.5px;stroke-dasharray:7 5}.junction-dot{stroke-width:1px}.circuit-component{z-index:3;touch-action:none;color:#26343d;cursor:grab;outline-offset:2px;outline:1px dashed #0000;width:120px;height:100px;position:absolute;top:0;left:0}.circuit-component:hover{outline-color:#8caec4}.circuit-component.selected{z-index:5;color:#102d40;background:#d7edfc38;outline:2px solid #2f86c5}.circuit-component:active{cursor:grabbing}.component-symbol-wrap{transform-origin:48px 27px;place-items:center;width:96px;height:54px;transition:transform .15s;display:grid;position:absolute;top:23px;left:12px}.component-symbol-wrap>svg,.component-symbol-wrap>span,.component-symbol-wrap .meter-symbol,.component-interaction{width:96px;height:54px}.component-symbol-wrap svg{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;width:96px;height:54px;overflow:visible}.component-symbol-wrap svg text{fill:currentColor;stroke:none;font:700 16px ui-monospace,monospace}.component-interaction{width:56px;height:54px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;overflow:visible}.component-interaction svg{transform:translate(-20px)}.component-interaction .moving-contact{transition:d .12s}.component-label{color:#263943;white-space:nowrap;background:#fbfbf8db;padding:0 3px;font:700 10px ui-monospace,monospace;position:absolute;top:2px;left:60px;transform:translate(-50%)}.component-value{color:#66747c;white-space:nowrap;background:#fbfbf8db;padding:0 3px;font:600 8px ui-monospace,monospace;position:absolute;bottom:1px;left:60px;transform:translate(-50%)}.component-terminal{z-index:7;color:#68747b;cursor:crosshair;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.component-terminal i{background:#fbfbf8;border:2px solid #354852;border-radius:50%;width:8px;height:8px;transition:transform .12s,background .12s;display:block}.component-terminal small{color:#88939a;font:600 6px ui-monospace,monospace;position:absolute;top:11px;left:7px}.component-terminal:hover i,.component-terminal.connecting i{background:#55a7df;border-color:#176dab;transform:scale(1.65);box-shadow:0 0 0 3px #4194cf2e}.circuit-component.powered .component-terminal i{border-color:#15834b}.semiconductor-symbol,.output-symbol,.meter-symbol{place-items:center;display:grid;position:relative}.logic-symbol{color:#33434d;place-items:center;width:96px;height:54px;display:grid;position:relative}.logic-symbol.high{color:#087a46;filter:drop-shadow(0 0 2px #19b56659)}.logic-symbol.high:before{content:"";filter:blur(6px);background:#2fd38024;border-radius:50%;width:42px;height:42px;position:absolute}.logic-symbol.logic-lamp.high:before{background:#2fd38052}.seven-segment .display-case{fill:#172126;stroke:#52636b;stroke-width:1.5px}.seven-segment .segment{stroke:#583032;stroke-width:4px;stroke-linecap:square}.seven-segment .segment.active{stroke:#ff5147;filter:drop-shadow(0 0 2px #ff5147)}.type-seven_segment .component-symbol-wrap{height:100px;top:0}.type-seven_segment .component-symbol-wrap>span,.type-seven_segment .component-symbol-wrap svg{width:96px;height:100px}.type-seven_segment .component-label{top:-15px}.semiconductor-symbol.lit,.output-symbol.lit{color:#db9a08;filter:drop-shadow(0 0 calc(5px * var(--intensity)) #ffc52f)}.semiconductor-symbol.lit:before,.output-symbol.lit:before{content:"";background:rgb(255 194 45/calc(var(--intensity) * .28));filter:blur(7px);border-radius:50%;width:44px;height:44px;position:absolute}.output-symbol.motor.lit svg{animation:.14s linear infinite alternate motor-vibrate}.output-symbol.buzzer.lit .buzzer{animation:.25s ease-in-out infinite general-pulse}.meter-symbol b{color:#d4ffe8;text-align:center;background:#20332b;border:1px solid #668174;min-width:48px;padding:2px 4px;font:700 7px ui-monospace,monospace;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.type-ground .component-label{top:-1px}.type-ground .component-symbol-wrap{top:14px}.empty-circuit{color:#839098;cursor:pointer;background:#fbfbf8eb;border:1px dashed #9da9af;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:300px;min-height:150px;display:flex;position:absolute;top:270px;left:450px}.empty-circuit b{color:#3c4d57;font-size:12px}.empty-circuit span{font-size:9px}.connection-tip{z-index:10;color:#fff;background:#265f87;border-radius:2px;align-items:center;gap:7px;padding:8px 11px;font-size:9px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000038}.circuit-trip{z-index:10;color:#fff;background:#a73d37;border-left:4px solid #ffaaa3;align-items:center;gap:9px;padding:10px 13px;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 5px 18px #490e0e47}.circuit-trip span{gap:2px;font-size:8px;display:grid}.circuit-trip b{font-size:9px}.scope-panel{color:#c8d5d8;background:#132127;border-top:1px solid #080f12;grid-template:29px minmax(0,1fr)/150px minmax(260px,1fr) 205px;min-width:0;display:grid}.scope-head{color:#b7c6ca;background:#25353b;border-bottom:1px solid #3c4d52;grid-column:1/-1;align-items:center;gap:9px;padding:0 8px;display:flex}.scope-head span{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.scope-head b{color:#55d694;font:700 8px ui-monospace,monospace}.scope-head button{color:#aebdc1;cursor:pointer;background:0 0;border:0;width:24px;height:22px;margin-left:auto}.scope-reading{border-right:1px solid #35464b;grid-template-columns:auto 1fr;align-content:center;gap:4px 8px;padding:10px 13px;display:grid}.scope-reading small{color:#122219;background:#50d28b;padding:2px 5px;font-size:7px;font-weight:800}.scope-reading strong{color:#55db91;font:700 17px ui-monospace,monospace}.scope-reading span{color:#91a2a7;grid-column:1/-1;font:700 7px ui-monospace,monospace}.scope-panel>svg{width:100%;height:100%;min-height:90px}.scope-panel pattern path{fill:none;stroke:#2d454d;stroke-width:.25px}.scope-panel line{stroke:#4e666d;stroke-width:.3px}.scope-panel polyline{fill:none;stroke:#52e496;stroke-width:1.1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #52e496)}.scope-stats{border-left:1px solid #35464b;grid-template-columns:1fr 1fr;align-content:center;gap:4px;padding:8px;display:grid}.scope-stats span{color:#94a7ac;background:#192a30;padding:5px 7px;font-size:7px}.scope-stats span:last-child{grid-column:1/-1}.scope-stats b{color:#c6d5d8;margin-top:3px;font:700 8px ui-monospace,monospace;display:block}.open-scope{z-index:7;color:#c7d3d7;cursor:pointer;background:#263a42;border:1px solid #53686f;border-radius:2px;align-items:center;gap:6px;padding:6px 9px;font-size:8px;display:flex;position:absolute;bottom:8px;right:8px}.inspector-content{min-height:0;padding-bottom:10px;overflow:auto}.inspector-preview{background:#fff;border-bottom:1px solid #d0d5d9;align-content:center;place-items:center;min-height:118px;padding:12px;display:grid}.inspector-preview>div{color:#273741;width:96px;height:54px}.inspector-preview svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:96px;height:54px}.inspector-preview svg text{fill:currentColor;stroke:none;font:700 16px ui-monospace,monospace}.inspector-preview>span{color:#879299;text-transform:uppercase;letter-spacing:.1em;margin-top:7px;font-size:7px}.inspector-preview>b{margin-top:2px;font-size:10px}.inspector-content section{border-bottom:1px solid #d2d7da;padding:11px 12px}.inspector-content section h2{color:#596872;text-transform:uppercase;letter-spacing:.08em;margin:0 0 9px;font-size:8px}.inspector-content label{color:#5d6a72;grid-template-columns:74px 1fr;align-items:center;gap:7px;font-size:8px;display:grid}.inspector-content input{color:#253640;background:#fff;border:1px solid #bfc7cc;border-radius:2px;outline:0;width:100%;height:29px;padding:0 7px;font-size:9px}.inspector-content input:focus{border-color:#3786c1;box-shadow:0 0 0 2px #3786c121}.value-input{position:relative}.value-input input{padding-right:35px}.value-input i{color:#6e7c85;font:700 8px ui-monospace,monospace;position:absolute;top:8px;right:7px}.live-reading{background:#fff;border:1px solid #c7ced2;grid-template-columns:1fr 1fr;display:grid}.live-reading>span{padding:8px}.live-reading>span+span{border-left:1px solid #d5dade}.live-reading small{color:#849097;font-size:6px;display:block}.live-reading b{color:#31434d;margin-top:4px;font:700 8px ui-monospace,monospace;display:block}.inspector-switch{color:#80522e;cursor:pointer;background:#f5e9df;border:1px solid #dfc4ae;border-radius:2px;align-items:center;gap:8px;width:calc(100% - 24px);min-height:33px;margin:10px 12px 0;padding:0 9px;font-size:8px;font-weight:700;display:flex}.inspector-switch span{background:#cf742d;border-radius:50%;width:8px;height:8px}.inspector-switch.on{color:#276747;background:#e2f1e9;border-color:#abd0ba}.inspector-switch.on span{background:#2db975;box-shadow:0 0 5px #2db975}.inspector-actions{grid-template-columns:1fr 1fr;gap:5px;padding:11px 12px;display:grid}.inspector-actions button,.delete-wire{color:#43535d;cursor:pointer;background:#fff;border:1px solid #c4cbd0;border-radius:2px;justify-content:center;align-items:center;gap:5px;min-height:31px;font-size:8px;display:flex}.inspector-actions button.delete{color:#953d3a;border-color:#d9b3b1;grid-column:1/-1}.inspector-empty,.wire-inspector{text-align:center;color:#52616a;flex-direction:column;align-items:center;margin:auto 20px;display:flex}.inspector-empty b,.wire-inspector b{color:#3f505a;margin-top:10px;font-size:10px}.inspector-empty p,.wire-inspector p{font-size:8px;line-height:1.5}.shortcut-list{text-align:left;gap:6px;width:100%;margin-top:14px;display:grid}.shortcut-list span{color:#596870;align-items:center;gap:4px;font-size:7px;display:flex}.shortcut-list kbd{color:#46545d;text-align:center;background:#fff;border:1px solid #c7cdd1;border-bottom-width:2px;border-radius:2px;min-width:22px;padding:2px 4px;font:600 7px ui-monospace,monospace}.wire-inspector label{margin-top:15px;font-size:8px;font-weight:700}.wire-colors{gap:7px;margin:9px 0 16px;display:flex}.wire-colors button{cursor:pointer;border:2px solid #fff;border-radius:50%;width:21px;height:21px;padding:0;box-shadow:0 0 0 1px #aeb7bc}.wire-colors button.active{box-shadow:0 0 0 2px #2c79b1}.wire-colors .green{background:#1d9955}.wire-colors .red{background:#ce3d37}.wire-colors .blue{background:#2a72c4}.wire-colors .black{background:#273039}.wire-colors .orange{background:#d17b21}.wire-colors .purple{background:#8652ae}.delete-wire{color:#953d3a;border-color:#d9b3b1;width:100%}.simulation-health{color:#53636d;background:#e4e7e9;border:1px solid #cbd1d5;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;min-height:44px;margin:auto 8px 6px;padding:8px 9px;display:grid}.simulation-health>span{background:#9da8ae;border-radius:50%;width:7px;height:7px}.simulation-health.active>span{background:#2dbb75;box-shadow:0 0 6px #2dbb75}.simulation-health small,.simulation-health b{display:block}.simulation-health small{font-size:6px}.simulation-health b{margin-top:2px;font-size:8px}.general-zolvek{color:#56646c;text-align:center;place-items:center;min-height:24px;padding:4px 10px;font-size:7px;text-decoration:none;display:grid}.general-statusbar{color:#d4dde3;background:#344551;border-top:1px solid #263640;grid-column:1/-1;align-items:center;gap:15px;padding:0 8px;font-size:7px;display:flex}.general-statusbar>span{white-space:nowrap;align-items:center;gap:4px;display:flex}.general-statusbar i{background:#86949c;border-radius:50%;width:6px;height:6px}.general-statusbar i.on{background:#4bdb92;box-shadow:0 0 4px #4bdb92}.general-statusbar b{color:#fff}.general-statusbar .status-spacer{flex:1}.general-statusbar button{color:#fff;cursor:pointer;background:0 0;border:0;min-height:24px;padding:0 4px;font-size:7px;text-decoration:underline}.toast{z-index:100;color:#fff;background:#263945;border:1px solid #51646f;border-radius:3px;align-items:center;gap:8px;padding:9px 13px;font-size:9px;display:flex;position:fixed;bottom:38px;left:50%;transform:translate(-50%);box-shadow:0 7px 22px #00000040}.status-dot{background:#4ad98f;border-radius:50%;width:7px;height:7px}@keyframes wire-current{to{stroke-dashoffset:-15px}}@keyframes general-pulse{50%{opacity:.38}}@keyframes motor-vibrate{to{transform:translate(.8px)}}@media (prefers-reduced-motion:reduce){.wire-flow,.output-symbol.motor.lit svg,.general-save-state.saving>span{animation:none}}@media (width<=1040px){.general-shell{--library-width:205px;--inspector-width:230px;grid-template-columns:var(--library-width) minmax(480px, 1fr) var(--inspector-width)}.general-shell.library-closed{--library-width:0px}.general-shell.inspector-closed{--inspector-width:0px}.desktop-menus{display:none}.general-brand{flex-basis:132px;width:132px}.general-project-name{max-width:210px}.file-tools button small{display:none}.file-tools button{min-width:32px}.example-tools select{min-width:106px}}@media (width<=760px){body{overflow:hidden auto}.general-shell{grid-template:42px 50px auto minmax(650px,1fr) auto 26px/minmax(0,1fr);width:100%;max-width:100vw;height:auto;min-height:100vh;overflow:visible}.general-menubar{z-index:40;grid-area:1/1;min-width:0;position:sticky;top:0}.general-brand{border-right:0;flex:none;width:auto;padding:0 8px}.general-brand strong{display:none}.module-switch button{min-width:63px;padding:0 7px;font-size:8px}.general-project-name{flex:1;min-width:70px;padding:0 7px}.general-project-name span{display:none}.general-save-state{width:28px;min-width:28px;padding:0;font-size:0}.general-save-state>span{width:8px;height:8px}.general-commandbar{grid-area:2/1;min-width:0;padding:3px 4px;overflow-x:auto}.tool-group{flex:none;height:42px;padding:0 4px}.file-tools button{min-width:31px}.view-tools output{min-width:30px}.example-tools select{min-width:116px}.general-run-controls{z-index:4;background:linear-gradient(#fbfbfb,#e7e9eb);border-right:1px solid #b9c0c5;flex:none;order:-3;margin-left:0;padding-right:7px;position:sticky;left:0}.general-run-controls button:first-child{min-width:61px}.view-tools{order:-2}.file-tools{order:-1}.component-library{border-bottom:1px solid #bfc6cb;border-right:0;grid-area:3/1;min-width:0;height:72px}.general-shell.library-closed .component-library,.general-shell.inspector-closed .component-inspector,.component-library .general-panel-title,.component-search,.simulide-credit,.load-example{display:none}.component-groups{background:#edf0f1;flex:0 0 72px;align-items:center;height:72px;padding:5px;display:flex;overflow:auto hidden}.component-groups details{border:0;flex:none;display:block}.component-groups summary{display:none}.component-groups details>div{background:0 0;height:61px;padding:0;display:flex}.component-groups details button{text-align:center;background:#fff;border:1px solid #ccd3d7;flex-direction:column;flex:0 0 74px;justify-content:center;gap:2px;width:74px;min-height:58px;padding:3px;display:flex}.component-groups details button>small{display:none}.component-groups details button>b{font-size:7px}.library-symbol{height:31px}.general-workspace{grid-area:4/1;grid-template-rows:31px minmax(400px,1fr) 135px;min-width:0;min-height:650px}.general-workspace.scope-closed{grid-template-rows:31px minmax(400px,1fr)}.component-inspector{border-top:1px solid #bfc6cb;border-left:0;grid-area:5/1;min-width:0;min-height:270px}.inspector-content{grid-template-columns:1fr 1fr;display:grid}.inspector-preview{grid-row:1/span 3}.inspector-actions{align-content:start}.simulation-health{margin-top:10px}.scope-panel{grid-template-columns:105px minmax(210px,1fr)}.scope-stats{display:none}.scope-reading{padding:8px}.scope-reading strong{font-size:13px}.general-statusbar{z-index:35;grid-area:6/1;gap:9px;position:sticky;bottom:0;overflow:hidden}.general-statusbar span:nth-of-type(3),.general-statusbar span:nth-of-type(4),.general-statusbar button{display:none}}@media (width<=460px){.module-switch button{min-width:45px;font-size:0}.module-switch button svg{width:18px;height:18px}.general-project-name{display:none}.general-save-state{margin-left:auto}.edit-tools button:nth-child(3),.edit-tools button:nth-child(4),.view-tools button:nth-last-child(-n+2){display:none}.general-run-controls button:first-child{min-width:36px;font-size:0}.inspector-content{display:block}.inspector-preview{min-height:100px}.scope-panel{grid-template-columns:88px minmax(190px,1fr)}.scope-head b{display:none}}:root{color:#12202e;font-synthesis:none;--navy:#071523;--navy-2:#0d2133;--line:#cfd6dc;--muted:#6e7a84;--paper:#f7f8f6;--yellow:#f5c942;--yellow-deep:#dfae13;--green:#2fd184;--blue:#2369e8;--red:#ee4d4d;background:#e9edf0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button{font:inherit}button:focus-visible{outline-offset:2px;outline:2px solid #2776ff}.app-shell{background:#edf0f1;grid-template:58px minmax(0,1fr)/236px minmax(0,1fr);height:100vh;display:grid}.topbar{background:var(--navy);color:#dce6ed;z-index:30;border-bottom:1px solid #26394a;grid-column:1/-1;align-items:stretch;display:flex}.brand{letter-spacing:.12em;border-right:1px solid #213447;flex:0 0 236px;align-items:center;gap:10px;width:236px;padding:0 18px;font-size:15px;display:flex}.brand b{color:var(--yellow)}.brand-mark{width:29px;height:29px;color:var(--navy);background:var(--yellow);place-items:center;display:grid}.module-switch{border-right:1px solid #213447;align-items:stretch;display:flex}.module-switch button{color:#aebbc6;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-width:72px;padding:0 12px;font-size:11px;font-weight:600;display:flex}.module-switch button:hover{color:#fff;background:#13283a}.module-switch button.active{color:#fff;box-shadow:inset 0 -2px var(--yellow);background:#1a3249}.project-control{border-right:1px solid #213447;flex-direction:column;justify-content:center;width:244px;padding:0 16px;display:flex}.eyebrow{color:#7890a2;letter-spacing:.14em;font:600 8px/1.2 ui-monospace,monospace}.project-control button{color:#f3f6f8;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:2px 0 0;font-size:12px;font-weight:600;display:flex}.icon-btn,.topbar>button{color:#98a9b6;cursor:pointer;background:0 0;border:0;border-right:1px solid #213447;padding:0 16px}.save-btn:hover{color:var(--yellow)}.workspace-tabs{margin-left:10px;display:flex}.workspace-tabs button{color:#90a1ae;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 15px;font-size:12px;font-weight:600;display:flex;position:relative}.workspace-tabs button.active{color:#fff}.workspace-tabs button.active:after{content:"";background:var(--yellow);height:2px;position:absolute;bottom:0;left:12px;right:12px}.run-controls{border-left:1px solid #213447;align-items:center;gap:5px;margin-left:auto;padding:9px 10px;display:flex}.run-controls button{color:#b9c6ce;cursor:pointer;background:#13283a;border:1px solid #314658;justify-content:center;align-items:center;gap:7px;min-width:36px;height:34px;padding:0 10px;display:inline-flex}.run-controls .run{color:#d4e0e6;min-width:94px;font-size:12px;font-weight:700}.run-controls .run.active{background:var(--green);border-color:var(--green);color:#082117}.connection{color:#91a2ae;white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font:500 10px ui-monospace,monospace;display:flex}.status-dot{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #2fd1841f}.divider{background:#314252;width:1px;height:18px;margin:0 3px}.user-avatar{border-radius:50%;width:34px;height:34px;margin:11px 12px 11px 0;font-size:10px;font-weight:700;color:#e6edf1!important;background:#203343!important;border:1px solid #3b4d5a!important;padding:0!important}.mobile-menu{display:none}.sidebar{border-right:1px solid var(--line);z-index:20;background:#f8f8f6;flex-direction:column;grid-area:2/1;min-height:0;padding:16px 13px 12px;display:flex}.sidebar-heading{color:#89939b;letter-spacing:.12em;justify-content:space-between;align-items:center;padding:0 7px 12px;font:600 9px JetBrains Mono;display:flex}.sidebar-heading button{background:0 0;border:0;display:none}.search{color:#9aa3aa;cursor:text;background:#fff;border:1px solid #d9dee1;align-items:center;gap:8px;width:100%;height:34px;padding:0 9px;font-size:11px;display:flex}.search kbd{color:#9aa3aa;background:#f5f6f6;border:1px solid #dfe3e5;margin-left:auto;padding:2px 4px;font-size:9px}.library{color:#34414b;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:15px 8px;font-size:12px;display:flex}.library span{background:#e8ecee;margin-left:auto;padding:2px 6px;font:600 9px JetBrains Mono}.section-label{color:#8a949c;letter-spacing:.12em;border-top:1px solid #e2e5e7;justify-content:space-between;align-items:center;padding:15px 7px 8px;font:600 9px JetBrains Mono;display:flex}.section-label button{color:#47759b;cursor:pointer;background:0 0;border:0;padding:0;font:600 8px JetBrains Mono}.practice-list{flex-direction:column;gap:2px;display:flex}.practice-list button{text-align:left;color:#5d6972;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;padding:9px 7px;display:grid}.practice-list button:hover{background:#f0f2f2}.practice-list button.selected{border-left-color:var(--yellow-deep);color:#12202e;background:#e9edef}.practice-no{color:#98a0a6;font:500 9px JetBrains Mono}.practice-list b{font-size:11px;display:block}.practice-list small{color:#9aa1a7;margin-top:2px;font-size:9px;display:block}.lab-visual{color:#fff;background:linear-gradient(90deg,#061422ed,#06142240),url(/industrial-cell.png) 64%/cover;border:1px solid #233d53;flex-direction:column;justify-content:flex-end;min-height:150px;margin-top:auto;padding:14px;display:flex;position:relative;overflow:hidden}.lab-visual div{color:var(--yellow);letter-spacing:.11em;align-items:center;gap:7px;font:600 8px JetBrains Mono;display:flex}.lab-visual p{width:135px;margin:8px 0 12px;font-size:12px;line-height:1.35}.lab-visual button{color:#fff;cursor:pointer;background:#0614228c;border:1px solid #ffffff59;align-self:flex-start;padding:7px 9px;font-size:9px}.sidebar-footer{border-top:1px solid #e0e4e6;flex-direction:column;margin-top:12px;padding-top:8px;display:flex}.sidebar-footer button{color:#78838b;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px;font-size:10px;display:flex}.workspace{grid-template:minmax(0,1fr) 188px/minmax(480px,1.55fr) minmax(360px,.9fr);grid-area:2/2;min-width:0;min-height:0;display:grid}.editor-pane,.sim-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.editor-pane{background:var(--paper);border-right:1px solid var(--line)}.pane-header,.sim-header{border-bottom:1px solid var(--line);background:#fbfbf9;justify-content:space-between;align-items:center;min-height:92px;padding:16px 22px;display:flex}.step{color:#5f6f79;letter-spacing:.15em;margin-bottom:5px;font:600 8px JetBrains Mono;display:block}.pane-header h1,.sim-header h2,.modal-head h2{color:#142331;margin:0;font-size:18px;line-height:1.2}.pane-header p{color:#5e6b74;margin:5px 0 0;font-size:11px}.save-state{color:#72808a;align-items:center;gap:8px;font:500 9px JetBrains Mono;display:flex}.editor-toolbar{border-bottom:1px solid var(--line);background:#f1f3f2;flex:0 0 63px;align-items:center;gap:8px;height:63px;padding:8px 12px;display:flex}.palette-title{color:#8a949a;border-right:1px solid #d7dcdf;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:3px;padding:0 10px;font:600 7px JetBrains Mono;display:flex}.palette-scroll{scrollbar-width:none;gap:5px;display:flex;overflow-x:auto}.palette-scroll button{color:#263948;cursor:grab;background:#fafafa;border:1px solid #d5dade;flex-direction:column;flex:0 0 68px;justify-content:center;align-items:center;width:68px;height:45px;display:flex}.palette-scroll button:hover{background:#fff;border-color:#a9b4bb}.palette-scroll button span{font:600 11px JetBrains Mono}.palette-scroll button small{color:#596872;margin-top:3px;font:600 7px JetBrains Mono}.toolbar-icon{color:#8c969c;cursor:pointer;background:0 0;border:0;width:34px;height:34px}.ladder-canvas{background-color:#fbfbf8;background-image:linear-gradient(#e6e8e6 1px,#0000 1px),linear-gradient(90deg,#e6e8e6 1px,#0000 1px);background-size:20px 20px;flex:1;min-height:230px;padding:28px 38px 40px;position:relative;overflow:auto}.rail{background:#53616b;width:4px;position:absolute;top:24px;bottom:36px;box-shadow:inset 1px 0 #879198}.left-rail{left:44px}.right-rail{right:44px}.rung{align-items:center;height:80px;margin-bottom:2px;display:flex;position:relative}.rung:before{content:"";background:#74818a;height:2px;position:absolute;top:50%;left:6px;right:6px}.rung.rung-live:before{background:var(--green);box-shadow:0 0 8px #2fd18473}.rung.drag-over{background:#2469e80d;outline:1px dashed #2369e8}.rung-no{color:#9aa3a8;font:500 8px JetBrains Mono;position:absolute;top:35px;left:-26px}.nodes{z-index:2;flex:1;justify-content:space-around;align-items:center;padding:0 20px;display:flex;position:relative}.instruction{color:#2e3c46;background:#fbfbf8;justify-content:center;align-items:center;min-width:108px;height:52px;display:flex;position:relative}.instruction .wire{background:#74818a;width:20px;height:2px}.instruction.energized .wire{background:var(--green)}.tag{color:#33424c;white-space:nowrap;font:600 9px JetBrains Mono;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.contact-mark{justify-content:space-between;align-items:center;width:30px;height:28px;display:flex;position:relative}.contact-mark i{background:#33424c;width:2px;height:24px}.contact-mark.nc b{background:#33424c;width:23px;height:2px;position:absolute;top:13px;left:4px;transform:rotate(-52deg)}.coil-mark{place-items:center;width:42px;height:34px;display:grid;position:relative}.coil-mark:before,.coil-mark:after{content:"";border:2px solid #33424c;width:16px;height:26px;position:absolute;top:4px}.coil-mark:before{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;border-radius:50%;left:3px}.coil-mark:after{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;border-radius:50%;right:3px}.coil-mark i{font:600 9px JetBrains Mono}.logic-block{background:#f8f9f7;border:2px solid #33424c;flex-direction:column;justify-content:center;align-items:center;min-width:70px;height:45px;display:flex}.logic-block b{font:700 11px JetBrains Mono}.logic-block small{color:#76828a;margin-top:3px;font:500 7px JetBrains Mono}.instruction.energized .contact-mark i,.instruction.energized .contact-mark b{background:var(--green)}.instruction.energized .coil-mark:before,.instruction.energized .coil-mark:after,.instruction.energized .logic-block{border-color:var(--green)}.remove-node{opacity:0;color:#9b3c3c;z-index:4;cursor:pointer;background:#fff;border:1px solid #d3d8db;place-items:center;width:19px;height:19px;padding:0;display:grid;position:absolute;top:0;right:17px}.instruction:hover .remove-node{opacity:1}.drop-hint{color:#9aa4aa;background:#fafaf8e0;border:1px dashed #bbc3c8;padding:9px 14px;font:500 9px JetBrains Mono}.add-rung{color:#65727a;cursor:pointer;background:#f8f9f7;border:1px solid #cdd3d7;align-items:center;gap:7px;margin-left:8px;padding:7px 9px;font-size:10px;display:flex}.sim-pane{background:#e8ecee}.sim-header{background:#eef1f2;min-height:72px;padding:12px 18px}.sim-header h2{font-size:15px}.sim-header button{color:#64727c;cursor:pointer;background:0 0;border:0}.sim-stage{perspective:900px;background:radial-gradient(circle at 50% 36%,#284052,#0b1a27 72%);flex:1;min-height:260px;position:relative;overflow:hidden}.stage-grid{background-image:linear-gradient(#5d8eaf33 1px,#0000 1px),linear-gradient(90deg,#5d8eaf33 1px,#0000 1px);background-size:33px 33px;position:absolute;inset:-30% -25%;transform:rotateX(63deg)rotate(-2deg)translateY(15%)}.stage-grid:after{content:"";background:radial-gradient(circle,#0000 20%,#0b1a27 73%);position:absolute;inset:0}.conveyor{filter:drop-shadow(0 18px 12px #0006);height:68px;position:absolute;top:45%;left:11%;right:9%;transform:skewY(-7deg)}.belt{background:#273844;border:5px solid #617180;display:flex;position:absolute;inset:0;overflow:hidden}.belt span{background:linear-gradient(90deg,#3f515d,#1f303b 62%,#556771);border-right:2px solid #81909a;flex:0 0 40px}.moving .belt span{animation:.55s linear infinite beltMove}@keyframes beltMove{to{transform:translate(40px)}}.frame{border-bottom:7px solid #83909a;border-left:7px solid #83909a;border-right:7px solid #83909a;height:35px;position:absolute;top:64px;left:4%;right:4%}.frame i{background:#6d7e89;width:6px;height:28px;position:absolute;bottom:-28px}.frame i:first-child{left:9%}.frame i:nth-child(2){left:48%}.frame i:nth-child(3){right:9%}.box-item{color:#d8a936;filter:drop-shadow(0 8px 5px #08121a);position:absolute;top:-30px;transform:skewY(7deg)}.box-one{left:18%}.box-two{left:62%}.moving .box-one{animation:5s linear infinite boxRide}.moving .box-two{animation:5s linear -2.5s infinite boxRide}@keyframes boxRide{0%{left:-7%}to{left:93%}}.motor-unit{color:#aec0cc;flex-direction:column;align-items:center;font:600 8px JetBrains Mono;display:flex;position:absolute;top:49%;right:4%}.motor-body{background:#273b49;border:4px solid #7d8d98;border-radius:48%;width:50px;height:47px;position:relative;box-shadow:inset 0 0 0 5px #172a37}.motor-body i{background:#71838e;width:3px;height:33px;position:absolute;top:3px;left:20px}.motor-body i:nth-child(2){transform:rotate(45deg)}.motor-body i:nth-child(3){transform:rotate(90deg)}.motor-body i:nth-child(4){transform:rotate(135deg)}.spinning .motor-body{border-color:var(--green);animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.photo-sensor{z-index:3;color:#a8b8c1;cursor:pointer;background:#243947;border:2px solid #748794;width:31px;height:45px;font:600 8px JetBrains Mono;position:absolute;top:28%;left:46%}.photo-sensor:after{content:"";background:#748794;width:2px;height:55px;position:absolute;top:43px;left:13px}.photo-sensor span{background:#667783;border-radius:50%;width:8px;height:8px;margin:1px auto 7px;display:block}.photo-sensor.triggered span{background:var(--green);box-shadow:0 0 10px var(--green)}.stack-light{z-index:3;background:#1a2b37;border:3px solid #60727f;width:20px;position:absolute;top:12%;right:13%}.stack-light:after{content:"";background:#738590;width:3px;height:45px;position:absolute;top:35px;left:6px}.stack-light i{background:#314550;border-bottom:1px solid #142531;height:11px;display:block}.stack-light i:first-child{background:#9c3d3d}.stack-light i:nth-child(2){background:#9a7a2b}.stack-light.on i:last-child{background:var(--green);box-shadow:0 0 12px var(--green)}.floor-label{color:#6f8ca1;position:absolute;bottom:8%;left:8%;transform:skewY(-7deg)}.floor-label span{letter-spacing:.22em;font:500 8px JetBrains Mono;display:block}.floor-label b{letter-spacing:.08em;font:600 13px JetBrains Mono}.sim-readout{color:#fff;background:#101f2b;border-top:1px solid #324552;flex:0 0 58px;grid-template-columns:repeat(3,1fr);height:58px;display:grid}.sim-readout div{border-right:1px solid #2b3d49;padding:10px 12px}.sim-readout span{color:#78909f;letter-spacing:.1em;font:600 7px JetBrains Mono;display:block}.sim-readout b{margin-top:6px;font:600 10px JetBrains Mono;display:block}.sim-readout b.good{color:var(--green)}.sim-readout b.warn{color:var(--yellow)}.io-panel{background:#f4f6f5;border-top:1px solid #cbd2d6;flex:0 0 146px;padding:11px 15px;overflow:auto}.io-header{color:#7b8790;letter-spacing:.12em;justify-content:space-between;margin-bottom:7px;font:600 8px JetBrains Mono;display:flex}.io-header small{color:var(--green);font-weight:700}.io-row{border-top:1px solid #e1e5e6;grid-template-columns:13px 1fr 55px 45px;align-items:center;padding:5px 0;font-size:9px;display:grid}.io-row code{color:#74828b}.io-row>span:last-child{text-align:right;font:600 8px JetBrains Mono}.led{background:#bbc2c6;border-radius:50%;width:6px;height:6px}.led.active{background:var(--green);box-shadow:0 0 5px var(--green)}.bottom-panel{background:#fafaf8;border-top:1px solid #bfc7cc;grid-area:2/1/auto/-1;min-height:0}.bottom-panel.collapsed{align-self:end;height:35px}.bottom-tabs{background:#eef1f0;border-bottom:1px solid #d4d9dc;align-items:stretch;height:35px;display:flex}.bottom-tabs button{color:#596871;cursor:pointer;background:0 0;border:0;padding:0 17px;font-size:9px;font-weight:600;position:relative}.bottom-tabs button.active{color:#152633;background:#fafaf8}.bottom-tabs button.active:before{content:"";background:var(--yellow-deep);height:2px;position:absolute;top:-1px;left:0;right:0}.bottom-tabs button span{background:#dce1e2;margin-left:5px;padding:1px 5px;font:600 7px JetBrains Mono}.bottom-tabs .collapse-btn{margin-left:auto;padding:0 13px}.bottom-content{height:calc(100% - 35px);overflow:auto}.symbol-table{grid-template-columns:repeat(2,1fr);column-gap:36px;padding:8px 18px;display:grid}.table-head,.table-row{grid-template-columns:1.3fr .8fr .7fr .65fr;align-items:center;padding:5px 3px;display:grid}.table-head{color:#8c969d;letter-spacing:.11em;border-bottom:1px solid #dce1e3;font:600 7px JetBrains Mono}.table-row{border-bottom:1px solid #eceeee;font-size:9px}.table-row>span:first-child{align-items:center;gap:7px;font-weight:600;display:flex}.table-row code{color:#60737f;font-size:8px}.table-row b{font:600 8px JetBrains Mono}.tiny-dot{background:#c0c6c9;border-radius:50%;width:5px;height:5px}.tiny-dot.active{background:var(--green)}.terminal{color:#b9c8d1;background:#0d1a25;height:100%;padding:10px 18px;font:500 9px JetBrains Mono}.terminal p{margin:0 0 6px}.terminal span{color:#607888}.terminal-live{color:var(--green)}.instructions-help{gap:16px;padding:15px 18px;display:flex}.instructions-help div{color:#64727a;flex:1;align-items:center;gap:10px;font-size:10px;display:flex}.instructions-help b{background:var(--yellow);place-items:center;width:24px;height:24px;font:700 9px JetBrains Mono;display:grid}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030c14bd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.practice-modal{background:#f8f8f5;grid-template-columns:310px 1fr;width:min(860px,95vw);max-height:86vh;display:grid;overflow:hidden;box-shadow:0 30px 70px #00000059}.modal-art{color:#fff;background:linear-gradient(#04101b0d,#04101be0),url(/industrial-cell.png) 64%/cover;align-items:flex-end;min-height:500px;padding:28px;display:flex}.modal-art span{color:var(--yellow);letter-spacing:.13em;font:600 8px JetBrains Mono}.modal-art h2{margin:10px 0;font-size:28px;line-height:1.05}.modal-art p{color:#c1d0d9;font-size:12px;line-height:1.5}.modal-content{padding:26px}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.modal-head button{cursor:pointer;background:0 0;border:1px solid #d7dcde;place-items:center;width:34px;height:34px;display:grid}.practice-grid{border-top:1px solid #d7dcdf;border-left:1px solid #d7dcdf;grid-template-columns:1fr 1fr;display:grid}.practice-grid>button{text-align:left;color:#243440;cursor:pointer;background:#fbfbf9;border:1px solid #d7dcdf;border-top:0;border-left:0;grid-template-columns:28px 1fr auto;gap:11px;min-height:142px;padding:16px;display:grid}.practice-grid>button:hover{background:#f0f3f2}.practice-grid>button>span{color:#9aa3a9;font:500 9px JetBrains Mono}.practice-grid small{color:#b18312;text-transform:uppercase;font:600 8px JetBrains Mono}.practice-grid h3{margin:7px 0 5px;font-size:13px}.practice-grid p{color:#7b868d;margin:0;font-size:10px;line-height:1.4}.toast{z-index:70;color:#fff;background:#0a1b28;align-items:center;gap:10px;padding:12px 16px;font-size:11px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 34px #00000040}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.sim-wrapper{min-width:0;height:100%;min-height:0;overflow:hidden}.sim-wrapper .sim-pane{height:100%}.cloud-indicator{text-align:left;white-space:nowrap;grid-template-rows:1fr 1fr;grid-template-columns:auto 1fr;align-content:center;align-self:stretch;column-gap:8px;min-width:142px;display:grid;color:#c9d5dc!important;padding:9px 14px!important;font-size:10px!important}.cloud-indicator .status-dot{grid-row:1/3;align-self:center}.cloud-indicator small{color:#6f8493;font:500 7px ui-monospace,monospace}.cloud-indicator.error .status-dot,.save-state.error .status-dot{background:var(--red);box-shadow:0 0 0 3px #ee4d4d24}.save-state{cursor:pointer;background:0 0;border:0}.save-state.saving .status-dot{background:var(--yellow);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}.system-health{background:#eef2f1;border:1px solid #d8dee1;margin-top:auto;padding:13px 11px}.system-health>div{color:#375347;letter-spacing:.1em;align-items:center;gap:7px;font:700 8px ui-monospace,monospace;display:flex}.system-health ul{gap:6px;margin:0;padding:8px 0 0;list-style:none;display:grid}.system-health li{color:#65747c;align-items:center;gap:7px;font-size:9px;display:flex}.system-health li i{background:var(--green);border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #2fd1848c}.sidebar-footer a{color:#73808a;padding:8px 7px 2px;font-size:9px;text-decoration:none}.sidebar-footer a:hover{color:#142331}.node-actions{opacity:0;z-index:5;gap:2px;display:flex;position:absolute;top:-5px;right:15px}.node-actions button{color:#53636d;cursor:pointer;background:#fff;border:1px solid #d3d8db;place-items:center;width:24px;height:24px;padding:0;display:grid}.node-actions button:last-child{color:#a23d3d}.instruction:hover .node-actions,.instruction:focus-within .node-actions{opacity:1}.remove-node{display:none}.safety-state{color:#3b6755;letter-spacing:.08em;background:#e7f3ed;border:1px solid #cbd4d7;align-items:center;gap:6px;padding:7px 9px;font:700 8px ui-monospace,monospace;display:flex}.safety-state.alarm{color:#982e2e;background:#f8e7e7;border-color:#e8b9b9;animation:1.2s ease-in-out infinite alertPulse}@keyframes alertPulse{50%{box-shadow:0 0 0 4px #ee4d4d14}}.sim-stage{min-height:300px;transition:filter .2s}.stage-alarm{box-shadow:inset 0 0 70px #b41c1c30}.ambient-glow{filter:blur(28px);background:#37b6ff14;width:220px;height:100px;position:absolute;top:31%;left:34%}.safety-fence{opacity:.35;border-top:3px solid #af8d30;border-bottom:3px solid #af8d30;height:128px;position:absolute;top:24%;left:4%;right:5%;transform:skewY(-7deg)}.safety-fence i{background-image:linear-gradient(45deg,#0000 48%,#a98c42 49% 51%,#0000 52%);background-size:12px 12px;border-right:1px solid #a98c42;width:16.666%;height:100%;display:inline-block}.safety-gate{z-index:4;color:#dbc16f;transform-origin:0 100%;cursor:pointer;background:#0f2330c2;border:3px solid #cfaa3a;width:50px;height:92px;padding:0;transition:transform .35s,background .2s;position:absolute;top:29%;left:7%;transform:skewY(-7deg)}.safety-gate.open{background:#821f1fa6;transform:skewY(-7deg)rotateY(62deg)}.safety-gate span{font:700 7px ui-monospace,monospace;position:absolute;top:5px;left:5px}.safety-gate i{background:var(--green);width:6px;height:10px;position:absolute;top:42px;right:5px}.safety-gate.open i{background:var(--red);box-shadow:0 0 8px var(--red)}.scanner{z-index:5;color:#9badb8;text-align:center;background:#1e3442;border:2px solid #80939f;width:29px;height:44px;font:700 7px ui-monospace,monospace;position:absolute;top:25%;left:43%}.scanner:after{content:"";background:#788b97;width:3px;height:73px;position:absolute;top:42px;left:12px}.scanner i{background:#51646f;border-radius:50%;width:8px;height:8px;margin:7px auto 5px;display:block}.scanner.active i{background:#42e898;box-shadow:0 0 12px #42e898}.scanner.active:before{content:"";background:#38e895;width:2px;height:83px;animation:.3s ease-in-out infinite alternate scanBeam;position:absolute;top:43px;left:12px;box-shadow:0 0 12px #38e895}@keyframes scanBeam{to{opacity:.35}}.product-box{color:#e2b83f;filter:drop-shadow(0 9px 5px #07111a);transition:left 60ms linear,color .15s;position:absolute;top:-31px;transform:skewY(7deg)}.product-box>span{color:#5d4811;font:800 6px ui-monospace,monospace;position:absolute;top:16px;left:8px}.product-box.scanned{color:#3be394;filter:drop-shadow(0 0 9px #3be394a6)}.moving .belt span{animation-duration:var(--belt-speed)}.jammed .belt{box-shadow:inset 0 0 0 2px var(--red)}.frame i:nth-child(4){right:27%}.diverter{z-index:5;color:#9badb7;font:700 7px ui-monospace,monospace;position:absolute;top:36%;right:24%}.diverter i{transform-origin:top;background:#8d9ba4;width:5px;height:60px;transition:transform .25s;display:block}.diverter.active i{background:var(--yellow);transform:rotate(-42deg);box-shadow:0 0 8px #f5c94273}.emergency-stop{z-index:7;color:#24190e;cursor:pointer;background:#d3b53e;border:2px solid #cfb145;width:48px;height:64px;padding:4px;position:absolute;top:15%;right:5%;box-shadow:0 8px 15px #00000047}.emergency-stop i{background:#e84444;border:4px solid #872424;border-radius:50%;width:27px;height:17px;margin:-14px auto 4px;transition:transform .15s;display:block;box-shadow:0 5px #8b2525}.emergency-stop b,.emergency-stop span{letter-spacing:.03em;font:800 5px/1.3 ui-monospace,monospace;display:block}.emergency-stop.pressed i{transform:translateY(5px);box-shadow:0 1px #8b2525}.alarm-banner{z-index:9;color:#fff;background:#972424ed;border-left:3px solid #ffb7b7;grid-template-columns:auto auto;align-items:center;gap:2px 7px;min-width:190px;padding:9px 12px;font:700 8px ui-monospace,monospace;display:grid;position:absolute;top:12%;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000047}.alarm-banner svg{grid-row:1/3}.alarm-banner span{color:#f3c5c5;font-size:6px;font-weight:500}.sim-readout b.danger{color:#ff7373}.safety-console{background:#f4f6f5;border-top:1px solid #cbd2d6;flex:0 0 154px;padding:11px 14px;overflow:auto}.console-top{color:#7b8790;letter-spacing:.1em;justify-content:space-between;font:700 8px ui-monospace,monospace;display:flex}.console-top small{color:#36986d}.speed-control{color:#64727b;grid-template-columns:18px 55px 1fr 30px;align-items:center;gap:6px;margin:10px 0;font-size:9px;display:grid}.speed-control input{accent-color:#1f9f6b;width:100%}.speed-control b{font:700 8px ui-monospace,monospace}.safety-buttons{grid-template-columns:1fr 1fr 1fr;gap:5px;display:grid}.safety-buttons button{color:#53636d;cursor:pointer;background:#fff;border:1px solid #d3dadd;justify-content:center;align-items:center;gap:5px;min-height:42px;padding:5px;font-size:8px;display:flex}.safety-buttons button:hover{border-color:#9ba8af}.safety-buttons button.unsafe{color:#a23131;background:#fff3f3;border-color:#e0a6a6}.safety-buttons button:disabled{opacity:.38;cursor:not-allowed}.terminal p{gap:10px;display:flex}.terminal p.alarm{color:#ff8686}.terminal p.ok{color:#64daa1}.diagnostics{grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 18px;display:grid}.diagnostics>div{color:#3d5e51;background:#fff;border:1px solid #dfe4e5;align-items:center;gap:10px;min-height:52px;padding:10px 12px;display:flex}.diagnostics b,.diagnostics small{display:block}.diagnostics b{font-size:10px}.diagnostics small{color:#839098;margin-top:3px;font-size:8px}.drawer-backdrop,.mini-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030c14ad;position:fixed;inset:0}.project-drawer{color:#1b2b38;background:#f7f8f6;width:min(440px,95vw);padding:25px;animation:.24s ease-out drawerIn;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-24px 0 55px #00000047}@keyframes drawerIn{0%{transform:translate(100%)}}.drawer-head{border-bottom:1px solid #d9dfe1;justify-content:space-between;align-items:flex-start;padding-bottom:19px;display:flex}.drawer-head h2{margin:0;font-size:20px}.drawer-head>button,.node-editor .modal-head>button{cursor:pointer;background:0 0;border:1px solid #d5dcde;place-items:center;width:34px;height:34px;display:grid}.field-label{color:#7d8991;letter-spacing:.1em;gap:7px;margin:18px 0;font:700 8px ui-monospace,monospace;display:grid}.field-label input{color:#1f303d;background:#fff;border:1px solid #ccd4d8;width:100%;height:42px;padding:0 11px;font:600 12px Inter,ui-sans-serif,system-ui,sans-serif}.field-label input:focus{border-color:#3777d3;outline:2px solid #2369e840}.protection-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.protection-item{color:#337054;background:#eef7f2;border:1px solid #cddfd6;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:65px;padding:9px;display:grid}.protection-grid button.protection-item{text-align:left;width:100%;font:inherit;cursor:pointer}.protection-grid button.protection-item:disabled{cursor:default;opacity:1}.protection-item.warning{color:#92661b;background:#fbf4e8;border-color:#ead0a3}.protection-item b,.protection-item small{display:block}.protection-item b{font-size:9px}.protection-item small{color:#74877e;margin-top:3px;font-size:7px;line-height:1.3}.project-actions{grid-template-columns:1fr 1fr;gap:7px;margin:18px 0 22px;display:grid}.project-actions button{text-align:left;color:#465761;cursor:pointer;background:#fff;border:1px solid #d4dadd;align-items:center;gap:10px;min-height:68px;padding:10px;display:flex}.project-actions button.primary{color:#10261e;background:#dff5e9;border-color:#43b27e}.project-actions b,.project-actions small{display:block}.project-actions b{font-size:9px}.project-actions small{color:#89949a;margin-top:3px;font-size:7px;line-height:1.3}.history-title{color:#7f8b92;letter-spacing:.1em;border-bottom:1px solid #d8dee0;align-items:center;gap:7px;padding-bottom:8px;font:700 8px ui-monospace,monospace;display:flex}.history-title small{margin-left:auto}.history-list{min-height:75px}.history-list>p{color:#8b959a;font-size:9px;line-height:1.5}.history-list button{text-align:left;color:#4b5b65;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e1e5e6;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:10px 4px;display:grid}.history-list b,.history-list small{display:block}.history-list b{font-size:9px}.history-list small{color:#929ba0;margin-top:3px;font-size:7px}.device-projects{grid-template-columns:1fr 1fr;gap:6px;margin:9px 0 20px;display:grid}.device-projects button{text-align:left;color:#40515c;cursor:pointer;background:#fff;border:1px solid #d7dddf;grid-template-columns:1fr auto;align-items:center;gap:8px;min-width:0;min-height:55px;padding:9px;display:grid}.device-projects button.current{color:#276448;background:#edf7f1;border-color:#93c8ad}.device-projects b,.device-projects small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.device-projects b{font-size:9px}.device-projects small{color:#829097;margin-top:4px;font-size:7px}.drawer-note{color:#667780;background:#e9edef;align-items:flex-start;gap:10px;margin-top:18px;padding:12px;display:flex}.drawer-note p{margin:0;font-size:8px;line-height:1.5}.mini-modal-backdrop{z-index:90;place-items:center;padding:18px;display:grid}.node-editor{background:#f8f9f7;width:min(380px,100%);padding:23px;box-shadow:0 22px 60px #00000052}.node-editor .modal-head{margin-bottom:18px}.apply-button{color:#092619;cursor:pointer;background:#2eb876;border:1px solid #269762;justify-content:center;align-items:center;gap:7px;width:100%;height:42px;font-weight:700;display:flex}.fatal-error{text-align:center;color:#20313e;background:#edf1f0;place-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.fatal-error h1{margin:18px 0 8px}.fatal-error p{color:#6e7b83;max-width:440px}.fatal-error button{color:#fff;cursor:pointer;background:#102535;border:0;padding:11px 16px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=1100px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.brand{flex-basis:205px;width:205px}.connection,.cloud-indicator{display:none}.workspace{grid-template-columns:minmax(410px,1.3fr) minmax(286px,.8fr)}.project-control{width:180px}.symbol-table{column-gap:16px}}@media (width<=800px){body{overflow:auto}.app-shell{grid-template:54px minmax(calc(100vh - 54px),auto)/1fr;height:auto;min-height:100vh}.topbar{grid-column:1;min-width:0;position:sticky;top:0}.brand{border-right:0;flex:1;width:auto;padding:0 12px}.brand-mark{width:27px;height:27px}.mobile-menu{order:-1;padding:0 13px!important;display:block!important}.project-control,.save-btn,.connection,.user-avatar{display:none}.workspace-tabs{margin:0;display:flex}.workspace-tabs button{justify-content:center;width:35px;padding:0;font-size:0}.workspace-tabs button.active:after{left:5px;right:5px}.run-controls{border-left:0;margin-left:0;padding-right:8px}.run-controls .run{min-width:auto;font-size:0}.run-controls .run svg{margin:0}.sidebar{width:270px;transition:transform .22s;position:fixed;top:54px;bottom:0;left:0;transform:translate(-105%);box-shadow:12px 0 30px #0000002e}.sidebar.open{transform:translate(0)}.sidebar-heading button{display:block}.lab-visual{min-height:170px}.workspace{flex-direction:column;grid-area:2/1;height:calc(100vh - 54px);display:flex}.editor-pane,.sim-pane{flex:none;height:calc(100vh - 89px)}.sim-pane,.mobile-hidden{display:none}.sim-pane:not(.mobile-hidden-sim),.editor-pane.mobile-hidden+.sim-pane{display:flex}.pane-header{min-height:88px;padding:13px 15px}.pane-header h1{font-size:16px}.save-state{display:none}.editor-toolbar{padding-left:5px}.palette-title{display:none}.ladder-canvas{padding-left:30px;padding-right:30px}.left-rail{left:35px}.right-rail{right:35px}.nodes{justify-content:flex-start;gap:4px;padding:0 10px}.instruction{min-width:92px}.instruction .wire{width:12px}.bottom-panel{z-index:25;position:fixed;bottom:0;left:0;right:0;height:35px!important}.bottom-content{display:none}.modal-backdrop{padding:12px}.practice-modal{display:block;overflow:auto}.modal-art{display:none}.modal-content{padding:18px}.practice-grid{grid-template-columns:1fr}.practice-grid>button{min-height:105px}}@media (width<=480px){body{overflow-x:hidden}.brand>span:last-child{display:none}.brand{min-width:42px;padding:0 7px}.run-controls{gap:3px;padding-left:3px}.run-controls button{min-width:31px;padding:0 7px}.rung{width:640px}.ladder-canvas{overflow:auto}.practice-grid>button{grid-template-columns:24px 1fr auto}.sim-stage{min-height:340px}.conveyor{left:4%;right:3%}.io-panel{flex-basis:180px}}@media (width<=800px){.sim-wrapper{flex:none;height:calc(100vh - 89px);display:none}.sim-wrapper:not(.mobile-hidden-sim),.editor-pane.mobile-hidden+.sim-wrapper{display:block}.sim-wrapper .sim-pane{height:100%;display:flex!important}.sim-wrapper .sim-header{flex:0 0 65px}.safety-console{flex-basis:178px}.system-health{margin-top:auto}.diagnostics{grid-template-columns:1fr}}@media (width<=480px){.project-drawer{width:100vw;padding:19px}.protection-grid,.project-actions{grid-template-columns:1fr}.project-actions button{min-height:58px}.emergency-stop{top:18%;right:3%;transform:scale(.86)}.safety-gate{left:3%}.safety-buttons{grid-template-columns:1fr 1fr}.safety-buttons button:last-child{grid-column:1/-1;min-height:34px}.alarm-banner{top:5%}.node-actions{opacity:1}}
