/*! JointJS React v4.3.6 (2026-09-04) - React bindings and hooks for JointJS to build interactive diagrams and graphs.

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
@layer joint{:root{--jj-color-dark-900:#6f859b;--jj-color-dark-800:#566c81;--jj-color-dark-700:#425567;--jj-color-dark-600:#344351;--jj-color-dark-500:#293a49;--jj-color-dark-400:#253544;--jj-color-dark-300:#202f3e;--jj-color-dark-200:#1a2733;--jj-color-dark-100:#131e29;--jj-color-light-100:#f5f6f8;--jj-color-light-125:#f3f6f8;--jj-color-light-150:#f0f4f7;--jj-color-light-200:#eaf0f4;--jj-color-light-300:#e4ebf1;--jj-color-light-400:#dde6ed;--jj-color-light-500:#cfdbe4;--jj-color-light-600:#c1cfda;--jj-color-light-700:#a6b6c5;--jj-color-light-800:#8a9eb0;--jj-color-light-900:#6f859b;--jj-color-success:#36a18b;--jj-color-destructive:#e03131;--jj-color-valid:#566c81;--jj-color-invalid:#868e96;--jj-radius-sm:2px;--jj-radius-md:3px;--jj-radius-lg:4px;--jj-space-xs:2px;--jj-space-sm:4px;--jj-space-md:6px;--jj-space-lg:10px;--jj-stroke-width:2px;--jj-color-primary:var(--jj-color-dark-500);--jj-color-primary-contrast:var(--jj-color-light-100);--jj-color-surface:var(--jj-color-light-100);--jj-color-shape-surface:var(--jj-color-light-150);--jj-color-shape-border:var(--jj-color-light-800);--jj-color-link:var(--jj-color-light-800);--jj-color-tool:var(--jj-color-light-100);--jj-color-tool-border:var(--jj-color-light-900);--jj-color-text:var(--jj-color-dark-200);--jj-color-border:var(--jj-color-light-500);--jj-color-border-subtle:var(--jj-color-light-200);--jj-drag-cursor:move;--jj-dragging-cursor:move;--jj-port-drag-cursor:crosshair;--jj-port-dragging-cursor:crosshair;--jj-transition-duration:.2s}@media (resolution>=1.5x){:root{--jj-stroke-width:1.5px}}:root{--jj-box-color:var(--jj-color-shape-surface);--jj-box-hover-border-color:var(--jj-color-primary);--jj-box-fg-color:var(--jj-color-text);--jj-box-border-color:var(--jj-color-shape-border);--jj-box-border-width:var(--jj-stroke-width);--jj-box-border-radius:var(--jj-radius-lg);--jj-box-padding:8px 12px;--jj-box-font-size:14px;--jj-box-font-family:sans-serif}.jj-is-measuring{opacity:0;pointer-events:none}.jj-box{background:var(--jj-box-color);color:var(--jj-box-fg-color);border-width:var(--jj-box-border-width);border-style:solid;border-color:var(--jj-box-border-color);border-radius:var(--jj-box-border-radius);padding:var(--jj-box-padding);font-size:var(--jj-box-font-size);font-family:var(--jj-box-font-family);transition:border-color var(--jj-transition-duration)}.jj-box:hover{border-color:var(--jj-box-hover-border-color);cursor:var(--jj-drag-cursor)}:root{--jj-port-color:var(--jj-color-surface);--jj-port-border-color:var(--jj-color-link);--jj-port-border-width:var(--jj-stroke-width);--jj-port-label-color:var(--jj-color-light-900);--jj-port-label-font-size:10px;--jj-port-label-font-family:Arial, sans-serif}.jj-port{fill:var(--jj-port-color);stroke:var(--jj-port-border-color);stroke-width:var(--jj-port-border-width);transition:fill var(--jj-transition-duration), stroke var(--jj-transition-duration), stroke-width var(--jj-transition-duration)}.jj-port[magnet=active]{cursor:var(--jj-port-drag-cursor)}.jj-port-label{fill:var(--jj-port-label-color);font-size:var(--jj-port-label-font-size);font-family:var(--jj-port-label-font-family)}:root{--jj-link-label-bg-color:var(--jj-color-light-200);--jj-link-label-color:var(--jj-color-text);--jj-link-label-font-size:10px;--jj-link-label-font-family:Arial, sans-serif;--jj-link-label-border-color:var(--jj-color-light-700);--jj-link-label-border-width:var(--jj-stroke-width);--jj-link-label-border-radius:var(--jj-radius-sm)}.jj-link-label{fill:var(--jj-link-label-color);font-size:var(--jj-link-label-font-size);font-family:var(--jj-link-label-font-family)}.jj-link-label-bg{fill:var(--jj-link-label-bg-color);stroke:var(--jj-link-label-border-color);stroke-width:var(--jj-link-label-border-width);transition:stroke var(--jj-transition-duration)}.jj-link-label-bg:hover{stroke:var(--jj-color-light-900)}rect.jj-link-label-bg{rx:var(--jj-link-label-border-radius);ry:var(--jj-link-label-border-radius)}:root{--jj-link-color:var(--jj-color-link);--jj-link-hover-color:var(--jj-color-primary);--jj-link-width:var(--jj-stroke-width);--jj-link-dash:none;--jj-link-line-cap:butt;--jj-link-connecting-color:var(--jj-color-link);--jj-link-connecting-width:var(--jj-stroke-width);--jj-link-connecting-dash:8 4}.jj-link-line{stroke:var(--jj-link-color);stroke-width:var(--jj-link-width);stroke-dasharray:var(--jj-link-dash);stroke-linecap:var(--jj-link-line-cap);transition:stroke var(--jj-transition-duration)}.jj-link-wrapper:hover+.jj-link-line{stroke:var(--jj-link-hover-color)}.jj-is-connecting{--jj-link-color:var(--jj-link-connecting-color);--jj-link-width:var(--jj-link-connecting-width);--jj-link-dash:var(--jj-link-connecting-dash)}.jj-is-snapped{--jj-link-color:var(--jj-color-primary)}:root{--jj-paper-color:var(--jj-color-light-300);--jj-paper-grid-color:var(--jj-color-light-700);--jj-highlighter-connecting-color:var(--jj-color-primary);--jj-highlighter-embedding-color:var(--jj-color-primary);--jj-port-hover-color:var(--jj-color-shape-surface);--jj-port-hover-border-color:var(--jj-color-link);--jj-port-hover-border-width:calc(var(--jj-stroke-width) * 2);--jj-port-available-color:var(--jj-color-dark-800);--jj-port-available-border-color:var(--jj-color-dark-800);--jj-port-available-border-width:var(--jj-port-border-width);--jj-port-connecting-color:var(--jj-color-primary);--jj-port-connecting-border-color:var(--jj-color-primary);--jj-port-connecting-border-width:var(--jj-port-border-width);--jj-box-available-border-color:var(--jj-color-valid)}.jj-paper{background-color:var(--jj-paper-color);height:-webkit-fill-available;height:-moz-available;height:stretch}.jj-port[magnet=active]:not(.jj-is-magnet-available):hover{fill:var(--jj-port-hover-color);stroke:var(--jj-port-hover-border-color);stroke-width:var(--jj-port-hover-border-width)}.jj-port.jj-is-magnet-available{fill:var(--jj-port-available-color);stroke:var(--jj-port-available-border-color);stroke-width:var(--jj-port-available-border-width)}.jj-port.jj-is-connecting{fill:var(--jj-port-connecting-color);stroke:var(--jj-port-connecting-border-color);stroke-width:var(--jj-port-connecting-border-width)}.jj-is-dragging .jj-port[magnet=active]{cursor:var(--jj-port-dragging-cursor)}.jj-is-dragging .jj-box{cursor:var(--jj-dragging-cursor)}.jj-is-element-available .jj-box{border-color:var(--jj-box-available-border-color)}.jj-magnet-highlighter{transition:opacity var(--jj-transition-duration) ease;opacity:1}@starting-style{.jj-magnet-highlighter{opacity:0}}}:root{color:#36483e;font-synthesis:none;--green:#285c49;--green-dark:#183d32;--muted:#899282;--line:#e1e5d8;--cream:#f8f9f3;--panel:#fcfdf8;--soft:#edf1e5;--accent:#a8bd82;--shadow:0 6px 20px #253f3510;background:#f6f7f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;transition:background .15s,border-color .15s;display:inline-flex}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:2px solid #82a65b}button:hover:not(:disabled){background:#e9efe0}a{color:var(--green);text-decoration:none}input,select{color:#455744;background:#fcfdf8;border:1px solid #dbe1d1;border-radius:6px;min-width:0;padding:8px 10px}select{cursor:pointer}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{opacity:.25}h1,h2,h3,p{margin:0}h1{letter-spacing:-.65px;font-size:25px;font-weight:550}h2{letter-spacing:-.3px;font-size:16px;font-weight:600}h3{letter-spacing:-.2px;font-size:14px}.app-shell{flex-direction:column;height:100dvh;min-height:600px;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0;align-items:center;gap:18px;height:66px;padding:0 25px;display:flex}.brand{align-items:center;gap:11px;min-width:216px;display:flex}.brand-icon{color:#d1dba8;background:#2b5947;border:1px solid #285c4950;border-radius:11px;justify-content:center;align-items:center;width:38px;height:40px;display:flex;box-shadow:inset 0 1px #ffffff25}.brand strong{color:#294937;letter-spacing:-.5px;font-size:19px;font-weight:620;line-height:1.1;display:block}.brand small{letter-spacing:3px;color:#8d967e;margin-top:5px;font-size:8px;font-weight:550;display:block}.header-divider{background:var(--line);width:1px;height:24px}.project-title{color:#5c6857;border-radius:5px;justify-content:flex-start;gap:10px;max-width:390px;padding:7px;font-size:13px}.project-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.save-state{color:#899879;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.save-state.error{color:#b96148}.header-nav{align-items:center;gap:12px;margin-left:auto;display:flex}.header-nav>button{white-space:nowrap;color:#5d7057;border-radius:6px;gap:6px;padding:7px 9px;font-size:12px}.icon-button{color:#73836a;border-radius:5px;flex-shrink:0;width:30px;height:30px;padding:0}.main-toolbar{border-bottom:1px solid var(--line);background:#f6f8ef;flex-shrink:0;align-items:center;gap:15px;height:55px;padding:0 22px;display:flex}.view-switch{background:#e8edde;border:1px solid #e0e6d4;border-radius:8px;gap:2px;padding:3px;display:flex}.view-switch button{color:#829077;border-radius:5px;gap:6px;padding:7px 13px;font-size:12px}.view-switch button.active{color:#425e3c;background:#fffef8;box-shadow:0 1px 3px #59694813}.toolbar-divider{background:#dfe5d4;width:1px;height:22px}.history-buttons{gap:4px;display:flex}.mode-selector{align-items:center;gap:9px;margin-left:8px;display:flex}.mode-selector>span{letter-spacing:1.2px;color:#8b977e;font-size:9px;font-weight:600}.mode-selector select{background:0 0;border-color:#0000;width:115px;padding:6px;font-size:12px}.runtime-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.runtime-tools>select{background:0 0;border-color:#0000;width:50px;padding:5px;font-size:11px}.clock{color:#75866e;align-items:center;gap:5px;min-width:60px;font:11px SFMono-Regular,Consolas,monospace;display:flex}.clock small{color:#a1ab94;font-size:10px}.power-button{color:#658057;background:#eef2e5;border:1px solid #ced6c2;border-radius:7px;min-width:142px;padding:9px 14px;font-size:11px;font-weight:550}.power-button.on{background:var(--green);color:#ecf3dc;border-color:var(--green)}.power-button.on:hover:not(:disabled){color:#fff;background:#214a3a}.form-field textarea{resize:vertical;border:1px solid #cbd6c4;border-radius:6px;width:100%;min-height:84px;padding:8px;font-size:12px}.checkbox-label{gap:8px;margin:14px 0;font-size:12px;display:flex}.workspace{flex:1;grid-template-columns:254px minmax(350px,1fr) 288px;min-height:0;display:grid;overflow:hidden}.catalog-panel{border-right:1px solid var(--line);background:#fcfdf7;flex-direction:column;min-height:0;padding:24px 15px 0;display:flex}.panel-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.panel-heading h2{color:#3a513e;margin-top:7px;font-size:16px;font-weight:550}.eyebrow{color:#a2ac93;letter-spacing:1.7px;font-size:8px;font-weight:600;display:block}.count-pill{color:#849475;background:#ecf0e2;border-radius:6px;justify-content:center;align-items:center;min-width:25px;height:25px;font-size:10px;display:flex}.search-input{color:#97a388;background:#f7f9f0;border:1px solid #dce3d1;border-radius:7px;flex-shrink:0;align-items:center;gap:7px;height:37px;padding:0 10px;display:flex}.search-input input{background:0 0;border:0;outline:0;flex:1;width:100%;padding:8px 0;font-size:10px}.search-input input::placeholder{color:#9ba68f}.search-input kbd{font-size:14px}.catalog-categories{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;padding:15px 0 16px;display:flex}.catalog-categories button{color:#839274;border:1px solid #0000;border-radius:5px;gap:5px;padding:6px 7px;font-size:10px}.catalog-categories button.active{color:#597944;background:#eaf0dd;border-color:#d8e3c8}.catalog-list{scrollbar-width:thin;scrollbar-color:#dae2ce transparent;flex:1;min-height:0;padding:9px 0 12px;overflow:auto}.catalog-item{border-bottom:1px solid #e9edde;border-radius:6px;margin:0;padding:4px 0;position:relative}.catalog-item.chosen{background:#edf3e1;outline:1px solid #b4c895}.catalog-item.pending{opacity:.65}.product-main{text-align:left;border-radius:5px;justify-content:flex-start;gap:13px;width:100%;min-height:84px;padding:9px 6px}.thumb-wrap{flex-shrink:0;justify-content:center;align-items:center;width:46px;height:61px;display:flex}.product-thumbnail{width:100%;height:100%;max-height:70px}.product-main>div:nth-child(2){flex:1;min-width:0}.product-brand{letter-spacing:.7px;color:#99a787;font-size:8px;font-weight:650;line-height:1.5;display:block}.product-main strong{color:#52674a;margin:4px 0;font-size:11px;font-weight:560;line-height:1.45;display:block}.product-main small{color:#a1ab92;font-size:9px;line-height:1.5;display:block}.add-icon{opacity:0;color:#6b8a50;position:absolute;right:6px}.product-main:hover .add-icon{opacity:1}.product-info{color:#b0bba1;border-radius:4px;padding:2px 4px;position:absolute;bottom:7px;right:5px}.catalog-foot{border-top:1px solid var(--line);padding:12px 1px}.catalog-foot p{color:#a8b19b;margin-top:10px;font-size:9px;line-height:1.7}.pending-toggle{color:#849775;text-align:left;justify-content:flex-start;gap:6px;width:100%;padding:4px 0;font-size:9px}.pending-toggle>span{flex:1}.pending-thumb{color:#a4ae99;border:1px dashed #cad3be;border-radius:4px;justify-content:center;align-items:center;width:30px;height:45px;font-size:18px;display:flex}.workbench{background:#f2f4e9;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.workbench-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;height:86px;padding:20px 27px 16px;display:flex}.workbench-heading .eyebrow{margin-bottom:9px}.circuit-status{white-space:nowrap;color:#9ba58c;background:#e8edde;border:1px solid #e0e6d3;border-radius:5px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;display:flex}.circuit-status.energized{color:#5e844d;background:#e0edcc;border-color:#cadfb2}.status-dot{background:#79a35b;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.status-dot.off{background:#a8b099}.status-dot.red{background:#bf7853}.wire-toolbar{color:#8b9a7c;background:#f8faf1;border:1px solid #e0e6d3;border-radius:7px;flex-shrink:0;align-items:center;gap:10px;height:46px;margin:0 20px 6px;padding:6px 10px;font-size:10px;display:flex;box-shadow:0 2px 3px #899b7010}.wire-toolbar>span{align-items:center;gap:6px;font-size:10px;display:flex}.wire-toolbar select{background:0 0;border-color:#e4e9db;max-width:86px;height:27px;padding:4px 7px;font-size:9px}.wire-colors{gap:3px;display:flex}.wire-colors button{border:1px solid #0000;border-radius:4px;width:21px;height:25px;padding:3px}.wire-colors i{background:var(--wire-color);border-radius:50%;width:10px;height:10px;display:block}.wire-colors i.pe-color{background:linear-gradient(90deg,#509149 50%,#d4bd4d 50%)}.wire-colors .selected{background:#ecf0e2;border-color:#adb89d}.length-field{color:#899a78;align-items:center;gap:2px;font-size:9px;display:flex}.length-field input{background:0 0;border-color:#e4e9db;width:38px;padding:5px 4px;font-size:9px}.terminal-toggle{color:#879a72;white-space:nowrap;border-radius:4px;gap:4px;margin-left:auto;padding:5px 6px;font-size:10px}.terminal-toggle.active{color:#6a874f;background:#eaf0de}.wire-toolbar>.icon-button{width:25px;height:25px}.board-container{flex:1;min-height:190px;display:flex;position:relative;overflow:hidden}.board-container.split .board-host{border-right:1px solid var(--line);width:50%}.board-host{touch-action:none;background-color:#f2f4e9;background-image:radial-gradient(#c5ceb650 .75px,#0000 .75px);background-size:17px 17px;flex:1;position:relative;overflow:hidden}.board-host.schematic{background-color:#f6f8f1}.recovery-notice{flex-wrap:wrap}.recovery-notice>div{flex:1;min-width:220px}.recovery-notice p{margin:0}.recovery-notice button{white-space:normal;background:#fff8e8;border:1px solid #b97554;border-radius:6px;padding:8px 12px}.board-background,.board-preview{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-background g,.board-preview g{transform-box:view-box}.electrical-paper{z-index:1;position:absolute;inset:0}.app-port{pointer-events:none!important;opacity:0!important}.joint-paper .joint-link .connection-wrap{stroke-width:16px}.terminal-control{cursor:crosshair}.board-host [tabindex],.board-host [tabindex]:focus,.board-host [tabindex]:focus-visible{outline-offset:0;-webkit-tap-highlight-color:transparent;outline:none}.board-host .device-control:focus-visible{filter:brightness(.94)}.device-control{cursor:pointer}.device-control:hover rect,.device-control:hover circle{filter:brightness(1.07)}.device-vector text,.schematic-vector text{pointer-events:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.device-vector .thumbnail text{pointer-events:none}.board-host.placing{cursor:crosshair}.board-host.panning{cursor:grab}.canvas-tools{z-index:5;box-shadow:var(--shadow);background:#fcfdf4ed;border:1px solid #dfe6d2;border-radius:8px;align-items:center;gap:2px;padding:5px 6px;display:flex;position:absolute;bottom:34px;left:12px}.canvas-tools>button{color:#94a280;border-radius:4px;width:29px;height:28px;padding:4px}.canvas-tools>button.active{color:#678b4e;background:#eaf1dc}.canvas-tools>.zoom-label{width:46px;font-size:10px}.canvas-tools>span{background:#e1e6d9;width:1px;height:17px;margin:0 5px}.panel-tools{z-index:4;gap:4px;display:flex;position:absolute;top:9px;right:18px}.panel-tools button{color:#93a07d;background:#f8fbf0;border:1px solid #dce4d0;border-radius:5px;width:29px;height:29px}.canvas-caption{color:#abb59b;letter-spacing:.7px;pointer-events:none;z-index:4;justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:12px;left:20px;right:20px}.canvas-caption>span:last-child{letter-spacing:0}.placement-label{pointer-events:none;z-index:6;color:#f4f8e8;background:#285c49;border-radius:5px;padding:7px 10px;font-size:10px;position:absolute}.workbench-notice{color:#9aa88a;background:#f8faf1;border-top:1px solid #e1e6d6;flex-shrink:0;align-items:center;gap:7px;min-height:34px;padding:9px 20px;display:flex}.workbench-notice p{flex:1;font-size:9px;line-height:1.5}.workbench-notice button{color:#a5b097;padding:0}.workbench-notice.error{color:#ae6b51;background:#faf0e7}.inspector-panel{border-left:1px solid var(--line);background:var(--panel);scrollbar-width:thin;scrollbar-color:#dae2ce transparent;min-height:0;padding:24px 19px 20px;overflow:auto}.inspector-empty{text-align:center;padding:45px 16px 30px}.inspector-illustration{color:#a4b28f;background:#f0f4e7;border:1px solid #e0e7d5;border-radius:18px;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 20px;display:flex}.inspector-empty h3{color:#6c805e;font-size:14px;font-weight:550}.inspector-empty p{color:#a4af95;margin-top:10px;font-size:10px;line-height:1.85}.quick-guide{border-top:1px solid #e5eadd;padding:22px 0 20px}.quick-guide ol{color:#99a88a;flex-direction:column;gap:15px;margin:17px 0;padding:0;font-size:10px;list-style:none;display:flex}.quick-guide li{align-items:center;gap:9px;display:flex}.quick-guide li span{color:#8aa172;border:1px solid #dbe5ce;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:flex}.panel-note{color:#9baa8b;background:#f5f8ec;border:1px solid #e2e9d6;border-radius:7px;align-items:flex-start;gap:8px;margin-top:20px;padding:13px 10px;font-size:9px;line-height:1.8;display:flex}.panel-note>svg{flex-shrink:0;margin-top:2px}.selected-device{gap:16px;margin:8px 0 20px;display:flex}.selected-thumb{background:#f5f8ed;border:1px solid #e7ecde;border-radius:8px;flex-shrink:0;width:60px;height:86px;padding:7px}.selected-device h3{color:#486540;margin:6px 0 3px;font-size:21px}.selected-device strong{font-size:11px;font-weight:550}.selected-device p{color:#9aa98b;margin-top:7px;font-size:9px;line-height:1.5}.device-state{color:#809a65;background:#f1f6e7;border:1px solid #e1e8d4;border-radius:6px;align-items:center;gap:6px;padding:10px;font-size:9px;display:flex}.device-state small{margin-left:auto;font-family:monospace;font-size:10px}.inspector-tabs{border-bottom:1px solid #dfe6d4;gap:17px;margin-top:20px;display:flex}.inspector-tabs button{color:#a0ac90;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 3px;font-size:11px}.inspector-tabs button.active{color:#6d8a55;border-color:#8bab6b}.small-help{color:#9bab8b;margin:14px 0;font-size:10px;line-height:1.75}.terminal-list{flex-direction:column;margin:15px 0;display:flex}.terminal-list button{text-align:left;color:#779267;border-bottom:1px solid #e9eddf;justify-content:flex-start;gap:10px;padding:9px 0;font-size:10px}.terminal-number{color:#69894f;background:#f0f5e6;border:1px solid #dce6ce;border-radius:5px;justify-content:center;align-items:center;min-width:27px;height:27px;padding:3px;font-size:11px;display:flex}.terminal-list button>span:nth-child(2){flex:1}.terminal-list small{color:#acb79b;margin-top:3px;font-size:8px;display:block}.terminal-list svg{color:#a6b496}.form-field{color:#91a380;flex-direction:column;gap:7px;margin:16px 0;font-size:10px;display:flex}.form-field label{line-height:1.5}.form-field input,.form-field select{background:#f9fcf2;border-color:#dfe8d1;width:100%;height:35px;font-size:11px}.form-field input[type=color]{width:70px;padding:3px}.details-grid{flex-direction:column;gap:0;margin:15px 0;font-size:10px;display:flex}.details-grid>div{border-bottom:1px solid #e8eede;justify-content:space-between;gap:10px;padding:8px 0;display:flex}.details-grid dt{color:#a3b196;overflow-wrap:anywhere;max-width:70%}.details-grid dd{color:#6b895a;text-align:right;margin:0}.selection-actions{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.selection-actions button{color:#879f71;border:1px solid #dce6ce;border-radius:5px;padding:6px 9px;font-size:9px}.section-title{color:#81996b;align-items:center;gap:7px;display:flex}.section-title h3{font-size:11px;font-weight:550}.fault-panel{border-top:1px solid #e2e9d7;margin-top:25px;padding-top:18px}.fault-panel>select{color:#90a078;background:#fafcf4;border-color:#dfe7d4;width:100%;margin:14px 0 8px;font-size:10px}.fault-row{color:#ad805e;gap:6px;padding:8px 0;font-size:10px;display:flex}.wire-summary{gap:14px;padding:15px 0;display:flex}.wire-summary>span{border-radius:5px;width:6px}.wire-summary h3{margin-bottom:7px;font-size:22px}.wire-summary p{color:#91a27e;font-size:10px}.source-link{color:#77955f;border-bottom:1px solid #e4eada;align-items:flex-start;gap:7px;padding:11px 0;font-size:10px;line-height:1.5;display:flex}.source-link svg{flex-shrink:0}.instrument-panel .panel-heading{margin-bottom:17px}.instrument-panel>.panel-heading>svg{color:#9dad88}.meter-case{background:#dce5d0;border:1px solid #cbd9bc;border-radius:13px;padding:12px;box-shadow:inset 0 1px #fffffb90,0 2px 4px #556b3810}.meter-top{color:#86a170;letter-spacing:.6px;justify-content:space-between;margin:2px 2px 12px;font-size:7px;font-weight:600;display:flex}.meter-top span:last-child{color:#a0b28a;letter-spacing:.2px;font-size:6px}.meter-display{color:#687b4e;background:#eef1dc;border:1px solid #b9c8a0;border-radius:6px;padding:13px 12px 9px;box-shadow:inset 0 2px 4px #71874f14}.meter-display.invalid{background:#f3e9d2}.meter-function{color:#9cab83;font-size:8px}.meter-value{letter-spacing:-1px;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:38px;line-height:1.5}.meter-value small{letter-spacing:0;color:#98a57f;margin-left:8px;font-size:15px}.meter-state{letter-spacing:.5px;color:#53633d;font-size:11px;line-height:1.5;display:block}.meter-selector{color:#8da377;align-items:center;gap:9px;margin-top:14px;display:flex}.meter-selector select{color:#6e8856;background:0 0;border-color:#0000;width:100%;padding:7px 3px;font-size:9px}.probe-list{flex-direction:column;gap:9px;margin:18px 0;display:flex}.probe-row{text-align:left;background:#f9fcf2;border:1px solid #e0e8d3;border-radius:6px;justify-content:flex-start;gap:11px;padding:11px 9px}.probe-row.active{background:#f1f7e7;border-color:#b5c996}.probe-color{border-radius:4px;flex-shrink:0;width:9px;height:28px;display:block}.probe-color.red{background:#c87c66}.probe-color.black{background:#5f6f57}.probe-row>span:nth-child(2){flex:1;min-width:0}.probe-row small{color:#a9b797;letter-spacing:.6px;margin-bottom:5px;font-size:7px;display:block}.probe-row strong{color:#72905b;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:500;display:block;overflow:hidden}.probe-row svg{color:#aabb92}.primary-button{color:#f5f8e8;background:#3f7254;border:1px solid #38664b;border-radius:6px;padding:10px 15px;font-size:11px}.primary-button:hover:not(:disabled){background:#315e44}.secondary-button{color:#819a66;background:#f1f6e9;border:1px solid #d3dfc3;border-radius:6px;gap:7px;padding:9px 14px;font-size:10px}.full{width:100%}.text-button{color:#879e73;justify-content:flex-start;margin-top:12px;font-size:10px;line-height:1.6}.checkbox{color:#9eaf8c;align-items:center;gap:7px;margin:15px 0;font-size:9px;display:flex}.checkbox input{accent-color:#628649}.measurement-explanation{color:#a8926f;background:#f9f3e5;border:1px solid #eadac0;border-radius:6px;gap:9px;margin-top:15px;padding:10px;display:flex}.measurement-explanation.good{color:#8ea774;background:#f3f8e7;border-color:#d5e3bc}.measurement-explanation>span{flex-shrink:0;margin-top:2px}.measurement-explanation p{font-size:9px;line-height:1.7}.log-panel{background:#f9fbf2;border-top:1px solid #dfe7d2;flex-shrink:0}.log-tabs{align-items:center;gap:18px;height:42px;padding:0 20px;display:flex}.log-tabs button{color:#9dab8b;white-space:nowrap;border-bottom:2px solid #0000;gap:6px;padding:11px 0;font-size:9px}.log-tabs button.active{color:#78925e;border-bottom-color:#9fb37f}.log-tabs button>span{color:#a8b49a;background:#edf3e4;border-radius:3px;padding:2px 4px;font-size:7px}.log-tabs .log-collapse{border:0;margin-left:auto}.rotate{transform:rotate(180deg)}.log-content{scrollbar-width:thin;border-top:1px solid #e9eee0;height:125px;padding:12px 20px;font-size:10px;overflow:auto}.log-line{color:#94a583;border-bottom:1px solid #edf1e5;align-items:baseline;gap:15px;padding:6px 0;font-size:9px;display:flex}.log-line time{white-space:nowrap;color:#afba9e;min-width:45px;font-family:monospace}.log-line strong{color:#7c9668;white-space:nowrap;font-weight:500}.log-line small{white-space:nowrap;font-size:8px}.log-line>span:last-child{line-height:1.6}.log-warning{color:#b58966}.log-panel.trust-open .log-content{height:min(40vh,380px)}.electrical-trust{color:#30483e;overflow-wrap:anywhere;border-top:1px solid #c8d6c0;padding:12px 0;font-size:13px;line-height:1.5}.electrical-trust h3{margin:0 0 8px}.electrical-trust button{white-space:normal;background:#fffefa;border:1px solid #9fb39b;border-radius:6px;max-width:100%;min-height:36px;margin:4px 8px 4px 0;padding:7px 12px}.trust-diagnostic{background:#fffefa;border-left:3px solid #bc7f53;margin:12px 0;padding:8px 12px}.empty-state{color:#a6b29a;padding:17px 5px;font-size:10px;line-height:1.7}.check-line{color:#95a980;align-items:flex-start;gap:8px;padding:8px 0;font-size:9px;display:flex}.check-line svg{flex-shrink:0}.check-line strong{white-space:nowrap;font-weight:500}.app-footer{color:#a1af8e;background:#edf1e3;border-top:1px solid #dce4cf;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;height:27px;padding:0 20px;font-size:8px;display:flex}.app-footer>span{white-space:nowrap;align-items:center;gap:6px;display:flex}.footer-divider{color:#c0cbb1;margin:0 5px}.training-strip{color:#7f9c64;background:#edf4e0;border-top:1px solid #dce8c7;border-bottom:1px solid #dce8c7;flex-shrink:0;align-items:center;gap:10px;margin-bottom:8px;padding:10px 20px;font-size:10px;display:flex}.training-strip svg{flex-shrink:0}.training-strip>div{flex:1}.training-strip strong{font-size:10px;font-weight:500;line-height:1.5}.training-strip small{color:#a1b187;margin-top:3px;font-size:8px;line-height:1.5;display:block}.training-strip button{color:#7d9a63;background:#f8fbef;border:1px solid #ccddb8;border-radius:5px;padding:6px 8px;font-size:9px}.hint-strip{color:#9b9f72;flex-shrink:0;align-items:center;gap:8px;padding:9px 20px;font-size:10px;line-height:1.6;display:flex}.hint-strip svg{flex-shrink:0}.modal{color:#536d49;background:#fbfdf5;border:1px solid #dce5ce;border-radius:15px;width:calc(100vw - 70px);max-width:850px;max-height:85dvh;padding:27px;overflow:auto;box-shadow:0 24px 100px #24423125}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#31442e55}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.modal-heading h2{letter-spacing:-.6px;margin-top:8px;font-size:24px;font-weight:550}.modal-intro{color:#91a17e;max-width:670px;margin-bottom:23px;font-size:12px;line-height:1.8}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.scenario-card{text-align:left;background:#f7faef;border:1px solid #dce7cd;border-radius:8px;flex-direction:column;align-items:stretch;gap:13px;min-height:210px;padding:17px 15px;display:flex}.scenario-top{color:#759554;align-items:center;gap:7px;font-size:17px;font-weight:500;display:flex}.scenario-top small{color:#a6b693;margin-left:auto;font-size:8px;font-weight:500}.scenario-top svg{color:#a6b991}.scenario-card>strong{font-size:14px;font-weight:550;line-height:1.4}.scenario-card p{color:#91a77c;flex:1;font-size:10px;line-height:1.8}.scenario-foot{color:#a4b593;align-items:center;gap:6px;font-size:8px;display:flex}.scenario-foot i{background:#b6c7a5;border-radius:50%;width:3px;height:3px}.project-start-options{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:25px;display:grid}.project-start-options button,.export-options button{text-align:left;color:#7f9b63;background:#f5f9eb;border:1px solid #dce7cc;border-radius:8px;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;display:flex}.project-start-options strong,.export-options strong{font-size:13px;font-weight:550}.project-start-options span,.export-options span{color:#a1b18c;font-size:10px;line-height:1.7}.project-rename{flex-direction:column;gap:8px;margin-bottom:25px;display:flex}.project-rename label{color:#9dab8a;font-size:10px}.project-rename input{max-width:350px}.modal-subheading{color:#8ca373;margin-bottom:12px;font-size:12px;font-weight:500}.saved-project{color:#87a170;text-align:left;border-bottom:1px solid #e1e9d4;justify-content:flex-start;gap:15px;width:100%;padding:13px 0;display:flex}.saved-project>span{flex:1}.saved-project strong{font-size:12px;font-weight:500;display:block}.saved-project small{color:#adba99;margin-top:5px;font-size:9px;display:block}.saved-project+.secondary-button{margin-top:20px}.export-options{grid-template-columns:1fr 1fr;gap:15px;display:grid}.help-content>p{color:#8a9f77;max-width:650px;font-size:13px;line-height:1.9}.help-content dl{margin:25px 0;font-size:12px}.help-content dt{color:#75955b;margin-top:20px;font-weight:550}.help-content dd{color:#97a982;margin:8px 0 0;font-size:11px;line-height:1.9}.help-scope{color:#8ba66f;background:#eff5e2;border:1px solid #dae6c6;border-radius:7px;gap:15px;margin:25px 0;padding:17px;display:flex}.help-scope svg{flex-shrink:0}.help-scope p{font-size:11px;line-height:1.8}.catalog-report{grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:22px;display:grid}.catalog-report button{color:#8ba674;text-align:left;border-bottom:1px solid #e5edda;justify-content:flex-start;gap:9px;width:100%;padding:9px 0;display:flex}.catalog-report strong{flex:1;font-size:10px;font-weight:500}.catalog-report small{color:#a8b99b;font-size:8px}.product-detail{grid-template-columns:180px 1fr;gap:28px;margin-bottom:20px;display:grid}.large-product-preview{color:#a6b595;background:#f1f6e7;border:1px solid #dfe8d3;border-radius:10px;justify-content:center;align-items:center;height:230px;padding:20px;display:flex}.large-product-preview svg{width:100%;height:100%}.product-detail h3{margin:10px 0 14px;font-size:20px;line-height:1.4}.readiness-label{color:#8aaa6c;background:#edf4e2;border:1px solid #dce9cb;border-radius:4px;padding:6px 9px;font-size:10px;display:inline-flex}.modal .primary-button{margin-top:20px}.print-report{display:none}@media (width>=1600px){.workspace{grid-template-columns:280px minmax(350px,1fr) 320px}.workspace.no-catalog{grid-template-columns:minmax(350px,1fr) 320px}.workspace.no-inspector{grid-template-columns:280px minmax(350px,1fr)}.catalog-panel{padding:27px 21px 0}.inspector-panel{padding:27px 25px}.workbench-heading{height:105px;padding:25px 35px}.wire-toolbar{height:49px;margin:0 28px 8px}.panel-heading h2{font-size:18px}.product-main{min-height:96px}.product-main strong{font-size:12px}.product-main small{font-size:10px}.thumb-wrap{width:49px;height:69px}.brand{min-width:242px}.app-header{height:72px}.main-toolbar{height:59px}.board-host .canvas-tools{bottom:40px}.eyebrow{font-size:9px}.workbench h1{font-size:29px}.app-footer{height:30px;font-size:9px}.circuit-status{font-size:10px}.log-tabs{height:47px}.meter-value{font-size:46px}.modal{max-width:940px}}@media (width<=1200px){.workspace{grid-template-columns:220px minmax(320px,1fr) 258px}.workspace.no-catalog{grid-template-columns:minmax(320px,1fr) 258px}.workspace.no-inspector{grid-template-columns:220px minmax(320px,1fr)}.app-header{gap:10px;padding:0 15px}.brand{min-width:186px}.save-state{display:none}.header-nav{gap:3px}.header-nav>button{padding:7px;font-size:11px}.catalog-panel{padding:20px 11px 0}.inspector-panel{padding:20px 14px}.workbench-heading{padding:18px 20px}.workbench-heading h1{font-size:21px}.wire-toolbar{gap:6px;margin:0 13px 6px}.wire-toolbar>span{display:none}.log-tabs{gap:12px;padding:0 13px}.mode-selector{margin-left:0}.main-toolbar{gap:9px;padding:0 15px}.runtime-tools{gap:3px}.clock{min-width:48px}.view-switch button{padding:6px 10px}.power-button{min-width:127px;padding:8px}.circuit-status{padding:6px;font-size:8px}.product-main{gap:9px}.catalog-categories{gap:3px}.catalog-categories button{padding:5px;font-size:9px}.app-footer>span:last-child{display:none}}@media (width<=960px){.workspace,.workspace.no-inspector{grid-template-columns:200px minmax(300px,1fr)}.workspace.no-catalog{grid-template-columns:1fr}.inspector-panel{z-index:20;width:270px;position:absolute;top:121px;bottom:27px;right:0;box-shadow:-10px 0 30px #516b3920}.header-nav>button{gap:0;font-size:0}.header-nav svg{width:17px}.header-nav>button{width:30px}.header-divider{display:none}.app-header .brand{min-width:180px}.workbench-heading h1{font-size:19px}.circuit-status,.runtime-tools>.clock,.runtime-tools>select,.mode-selector>span{display:none}.view-switch button{padding:6px 7px;font-size:10px}.project-title{font-size:11px}.wire-toolbar{margin-right:16px}.log-tabs button{font-size:8px}.log-tabs{gap:8px}}@media (width<=680px){.app-shell{min-height:580px}.app-header{height:58px;padding:0 12px}.brand{min-width:42px!important}.brand>span:last-child{display:none}.brand-icon{width:34px;height:34px}.project-title{gap:6px;max-width:210px}.header-nav{gap:2px}.header-nav>.icon-button{display:none}.main-toolbar{gap:4px;height:53px;padding:0 8px}.view-switch button{gap:0;width:29px;padding:6px;font-size:0}.view-switch svg{width:15px}.history-buttons{gap:0}.history-buttons .icon-button{width:23px}.toolbar-divider{margin:0 4px}.mode-selector select{width:84px;padding:6px 0;font-size:11px}.runtime-tools>.icon-button{width:24px}.runtime-tools>.icon-button:nth-of-type(3){display:none}.power-button{gap:0;width:36px;min-width:35px;padding:8px;font-size:0}.power-button svg{width:15px}.workspace,.workspace.no-inspector{grid-template-columns:1fr}.catalog-panel{z-index:20;width:230px;position:absolute;top:111px;bottom:27px;left:0;box-shadow:10px 0 30px #516b3920}.inspector-panel{max-width:270px;top:111px}.workbench-heading{height:70px;padding:16px 18px}.workbench-heading h1{font-size:19px}.wire-toolbar{gap:7px;height:39px;margin:0 9px 4px;padding:5px 8px}.wire-toolbar .terminal-toggle{gap:0;font-size:0}.wire-toolbar .terminal-toggle svg{width:14px}.wire-toolbar .wire-colors button:nth-child(n+4){display:none}.wire-toolbar select{max-width:73px;font-size:8px}.wire-toolbar>.icon-button{display:none}.workbench-notice{padding:8px 12px}.workbench-notice p{font-size:8px}.app-footer{padding:0 10px;font-size:7px}.app-footer>span:nth-child(2){display:none}.log-tabs{gap:10px;height:38px;padding:0 12px}.log-tabs button{gap:4px;font-size:0}.log-tabs button span{font-size:8px}.log-tabs .log-collapse{font-size:0}.log-line{flex-wrap:wrap;gap:6px 10px}.modal{width:calc(100vw - 24px);max-height:90dvh;padding:20px}.modal-heading h2{font-size:21px}.scenario-grid{grid-template-columns:1fr 1fr;gap:9px}.scenario-card{min-height:225px;padding:13px}.scenario-card>strong{font-size:12px}.scenario-top{font-size:14px}.scenario-top small{font-size:7px}.project-start-options{grid-template-columns:1fr}.project-start-options button{gap:9px;padding:16px}.project-start-options span{display:none}.export-options{gap:10px}.export-options button{padding:16px}.product-detail{grid-template-columns:90px 1fr;gap:15px}.large-product-preview{height:150px;padding:10px}.product-detail h3{font-size:16px}.catalog-report{grid-template-columns:1fr}.training-strip{padding:9px 12px;font-size:9px}.training-strip strong{font-size:9px}.training-strip small{display:none}.board-container.split{flex-direction:column}.board-container.split .board-host{border-bottom:1px solid var(--line);width:100%;min-height:180px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{background:#fff}.app-header,.main-toolbar,.workspace,.app-footer,dialog{display:none!important}.app-shell{height:auto;overflow:visible}.print-report{color:#333;padding:20px;font-size:11px;display:block}.print-report h1{margin:0 0 15px;font-size:23px}.print-report h2{margin:22px 0 12px;font-size:16px}.print-report table{border-collapse:collapse;width:100%;font-size:10px}.print-report td,.print-report th{text-align:left;border:1px solid #bbb;padding:7px}.print-report p{line-height:1.8}}.app-shell{min-height:0}.app-header{gap:14px;height:48px;padding:0 16px}.brand{gap:9px;min-width:174px}.brand-icon{border-radius:8px;width:31px;height:32px}.brand strong{font-size:16px}.brand small{letter-spacing:2.4px;margin-top:3px;font-size:7px}.main-toolbar{gap:9px;height:44px;padding:0 12px}.view-switch{border-radius:6px;padding:2px}.view-switch button{padding:5px 9px}.mode-selector{gap:4px;margin-left:0}.mode-selector>span{display:none}.mode-selector select{width:104px}.power-button{min-width:132px;padding:7px 10px}.panel-switch{gap:2px;display:flex}.panel-switch button,.focus-button,.workbench-actions button{color:#61775c;white-space:nowrap;border-radius:5px;min-height:30px;padding:5px 7px;font-size:11px}.panel-switch .active,.focus-button.active,.workbench-actions .active{color:#305b43;background:#e7eedf}.focus-button{flex-shrink:0}.workspace{grid-template-columns:220px minmax(0,1fr) 280px;position:relative}.workspace.no-catalog{grid-template-columns:minmax(0,1fr) 280px}.workspace.no-inspector{grid-template-columns:220px minmax(0,1fr)}.workspace.no-catalog.no-inspector{grid-template-columns:minmax(0,1fr)}.side-panel-slot{min-width:0;min-height:0;position:relative;overflow:hidden}.side-panel-slot>.catalog-panel,.side-panel-slot>.inspector-panel{width:100%;max-width:none;height:100%;box-shadow:none;padding:16px 12px 0;position:static}.side-panel-slot>.inspector-panel{padding-bottom:16px}.panel-close{z-index:2;color:#718068;background:#f8fbf2;border:1px solid #dde5d4;border-radius:5px;width:28px;height:28px;position:absolute;top:10px;right:8px}.side-panel-slot .panel-heading{margin-bottom:14px;padding-right:32px}.inspector-slot .panel-heading>svg,.panel-backdrop{display:none}.workbench-heading{gap:12px;height:38px;padding:0 14px}.workbench-heading>div:first-child{min-width:0}.workbench-heading h1{letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.workbench-heading .circuit-status{color:#74856c;background:0 0;border:none;margin-right:auto;padding:0;font-size:10px}.workbench-heading .circuit-status.energized{color:#39734a}.workbench-actions{gap:3px;margin-left:auto;display:flex}.wire-toolbar{gap:8px;height:38px;margin:0 12px 4px;padding:4px 8px;overflow-x:auto}.wire-toolbar>*{flex-shrink:0}.wire-toolbar>span{color:#5b7354}.board-container{min-height:0}.workbench-notice{flex-shrink:0;min-height:26px;padding:5px 12px}.workbench-notice p{color:#6c7d61;font-size:10px}.workbench-notice.error p{color:#96583e}.log-tabs{gap:18px;height:34px;min-height:34px;padding:0 12px}.log-tabs>button{white-space:nowrap;height:34px;font-size:10px}.app-footer{height:20px;min-height:20px;font-size:8px}.board-host .joint-element{cursor:grab}.board-host .joint-element:active{cursor:grabbing}.board-actions{z-index:7;gap:5px;display:flex;position:absolute;top:10px;right:12px}.board-actions button{color:#536f4e;background:#fcfdf7f2;border:1px solid #d3dfc8;border-radius:5px;height:30px;padding:5px 9px;font-size:11px;box-shadow:0 1px 4px #344a3010}.board-actions .terminal-toggle{margin-left:0}.canvas-tools{border-color:#d0dcc6;padding:4px;bottom:32px}.canvas-tools>button{color:#5d7952;height:28px}.canvas-caption{color:#76896b;font-size:9px;bottom:9px}.selection-tools{z-index:7;max-width:calc(100% - 24px);min-height:36px;box-shadow:var(--shadow);color:#486143;background:#fcfef8f7;border:1px solid #bdceaf;border-radius:7px;align-items:center;gap:7px;padding:4px 7px;font-size:11px;display:flex;position:absolute;bottom:32px;right:12px}.selection-tools strong{white-space:nowrap;text-overflow:ellipsis;max-width:90px;overflow:hidden}.selection-tools button{white-space:nowrap;border-radius:4px;min-height:27px;padding:4px 6px}.selection-tools button.active{color:#8e672c;background:#f4e9ce}.selection-tools select{max-width:175px;padding:4px 6px;font-size:11px}.drag-help{color:#7b8c70;font-size:10px}.wire-endpoints{white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:flex}.wire-endpoints>span{color:#9ba58c;font-weight:400}.board-instruction{z-index:6;color:#56704d;pointer-events:none;background:#f9fcf2ed;border:1px solid #cdddc1;border-radius:5px;max-width:calc(100% - 24px);padding:7px 10px;font-size:11px;position:absolute;top:49px;left:12px}.route-handles{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.route-handles g{transform-box:view-box}.route-handles circle{pointer-events:all;cursor:move;touch-action:none}.board-focused .app-header,.board-focused .app-footer,.board-focused .workbench-heading,.board-focused .training-strip,.board-focused .hint-strip{display:none}.board-focused .workspace{grid-template-columns:minmax(0,1fr)}.board-focused .main-toolbar{background:#fbfdf6}@media (width<=1279px){.workspace,.workspace.no-catalog,.workspace.no-inspector{grid-template-columns:minmax(0,1fr)}.side-panel-slot{z-index:20;width:280px;max-width:calc(100% - 44px);position:absolute;top:0;bottom:0;box-shadow:0 8px 30px #30452d30}.catalog-slot{width:250px;left:0}.inspector-slot{right:0}.panel-backdrop{z-index:15;cursor:default;background:#25452c20;display:block;position:absolute;inset:0}.panel-backdrop:hover:not(:disabled){background:#25452c20}.brand{min-width:160px}.save-state{font-size:9px;display:flex}.panel-switch button{padding:5px}.panel-switch span{display:none}.workbench-heading{padding:0 12px}.workbench-heading .circuit-status{display:flex}}@media (width<=900px){.main-toolbar{gap:5px}.toolbar-divider{display:none}.runtime-tools{gap:3px}.runtime-tools>.clock,.runtime-tools>select{display:none}.header-nav>button{gap:0;width:30px;padding:6px;font-size:0}.header-nav>.icon-button{display:flex}.selection-tools .drag-help{display:none}}@media (width<=680px){.app-header{gap:5px;height:44px;padding:0 8px}.brand{min-width:31px!important}.brand-icon{width:29px;height:30px}.header-nav{gap:1px}.header-nav>button{width:27px}.project-title{flex:1;gap:4px;max-width:none;padding:5px 2px;font-size:11px}.project-title svg:first-child,.save-state,.header-divider{display:none}.main-toolbar{height:42px;padding:0 6px;overflow-x:auto}.view-switch button{gap:0;width:25px;padding:5px;font-size:0}.history-buttons{display:none}.panel-switch button{min-width:27px}.focus-button{min-width:27px;padding:5px}.mode-selector select{width:86px;padding:5px 0;font-size:11px}.runtime-tools>.icon-button{display:none}.power-button{gap:0;width:30px;min-width:30px;padding:6px;font-size:0}.workbench-heading{height:34px;padding:0 9px}.workbench-heading h1{font-size:12px}.workbench-heading .circuit-status{display:none}.workbench-actions button{gap:3px;min-width:28px;padding:5px}.workbench-actions button span{display:none}.wire-toolbar{gap:6px;height:37px;margin:0 6px 3px;padding:4px 6px}.wire-toolbar select{max-width:78px;font-size:10px}.log-tabs{gap:10px;padding:0 8px;overflow-x:auto}.log-tabs>button{flex-shrink:0;gap:4px;font-size:9px}.app-footer{display:none}.workbench-notice{min-height:25px;padding:4px 8px}.workbench-notice p{font-size:9px}.canvas-tools{gap:1px;bottom:30px;left:8px}.canvas-tools>button{width:26px}.canvas-caption{font-size:8px;left:9px;right:9px}.board-actions{top:8px;right:8px}.board-actions button{height:29px;padding:5px 7px;font-size:10px}.board-actions .terminal-toggle{font-size:10px}.selection-tools{gap:5px;max-width:calc(100% - 16px);font-size:10px;bottom:70px;left:8px;right:auto}.selection-tools select,.selection-tools button{font-size:10px}.board-instruction{max-width:calc(100% - 16px);font-size:10px;top:46px;left:8px}}@media (height<=600px) and (width>=681px){.app-header{height:40px}.workbench-heading{height:32px}.app-footer{display:none}}.practice-instructions{color:var(--green-dark);background:#f2f4e9;border-bottom:1px solid #d9ddcd;max-height:220px;padding:.5rem 1rem;font-size:.8rem;overflow:auto}.practice-instructions summary{cursor:pointer;font-weight:600}.practice-instructions li{margin:.4rem 0;line-height:1.5}.check-line[data-passed=false]>svg{color:#b35e45}.check-line[data-passed=true]>svg{color:#438265}.modal.library-modal{width:calc(100vw - 40px);max-width:1200px}.project-library{grid-template-columns:210px minmax(0,1fr);gap:24px;display:grid}.library-sidebar{border-right:1px solid #dce5ce;padding-right:16px}.library-sidebar button{text-align:left;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:8px;width:100%;margin-bottom:4px;padding:10px;display:flex}.library-sidebar button span{margin-left:auto;font-size:12px}.library-sidebar button.active{color:#173f32;background:#e1ebdc;font-weight:700}.library-sidebar p{margin:24px 8px;font-size:12px;line-height:1.6}.library-sidebar h3{text-transform:uppercase;letter-spacing:1px;margin:24px 8px 10px;font-size:12px}.library-main{min-width:0}.library-heading h3{overflow-wrap:anywhere;margin:0 0 14px}.library-actions{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.library-actions button,.library-form button,.library-preview button{border:1px solid #dce5ce;border-radius:8px;align-items:center;gap:6px;margin-right:5px;padding:9px 12px;display:inline-flex}.library-search{gap:12px;margin:18px 0;display:flex}.library-search label{flex:1;align-items:center;gap:8px;display:flex}.library-search input,.library-search select,.library-form input:not([type=checkbox]),.library-form textarea,.library-form select,.project-card select{background:#fff;border:1px solid #cad6c4;border-radius:7px;min-width:0;max-width:100%;padding:9px}.library-search input{width:100%}.project-cards{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px;display:grid}.project-card{background:#fffef9;border:1px solid #dce5ce;border-radius:12px;min-width:0;padding:12px}.project-card .saved-project{text-align:left;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:9px;margin:0;padding:0;display:flex}.project-card .saved-project strong{overflow-wrap:anywhere;white-space:normal}.project-card .saved-project span{align-items:center;gap:6px;font-size:12px;display:flex}.project-miniature{pointer-events:none;border-radius:8px;width:100%;height:150px;display:block}.project-miniature.empty{color:#8d4528;background:#f6e9de;place-items:center;padding:15px;font-size:12px;display:grid}.card-actions{gap:6px;margin:12px 0;display:flex}.card-actions button{border:1px solid #dce5ce;border-radius:6px;padding:7px}.project-card select{width:100%}.library-form{background:#edf3e9;border:1px solid #d5e2cf;border-radius:12px;margin:15px 0;padding:18px}.library-form h4{margin:0 0 12px}.library-form label:not(.checkbox){flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.library-form textarea{resize:vertical;font-family:monospace}.library-error{color:#8f422e;overflow-wrap:anywhere;white-space:pre-line;background:#fff0e9;border-radius:8px;padding:12px}.library-preview .project-miniature{height:330px;margin:16px 0}.library-preview p,.import-summary p{line-height:1.6}.library-main .project-rename{border-top:1px solid #dce5ce;margin-top:24px;padding-top:15px}.library-main .project-rename label{flex-direction:column;gap:8px;display:flex}.library-main .project-rename input{border:1px solid #cad6c4;border-radius:7px;padding:9px}@media (width<=720px){.modal.library-modal{width:calc(100vw - 20px);padding:16px}.project-library{grid-template-columns:1fr;gap:15px}.library-sidebar{border-bottom:1px solid #dce5ce;border-right:0;max-height:200px;padding:0 0 10px;overflow:auto}.library-sidebar p{margin:10px}.library-search{flex-direction:column}}.physical-tools{z-index:8;max-width:calc(100% - 240px);position:absolute;top:10px;left:10px}.physical-presentation{flex-wrap:wrap;gap:4px;display:flex}.physical-presentation button{background:#f5f6ee;padding:6px 9px;font-size:12px;box-shadow:0 1px 4px #30453018}.physical-presentation button.active{background:#d7e9d8;border-color:#769d78}.physical-tools-panel{background:#f8faf2;border:1px solid #c7d2bf;border-radius:7px;width:330px;max-width:100%;max-height:65vh;margin-top:6px;padding:12px;overflow:auto;box-shadow:0 5px 15px #253d2522}.physical-tools-panel label{margin:8px 0;font-size:12px;display:block}.physical-tools-panel select,.physical-tools-panel input{width:100%;display:block}.physical-tools-panel p{color:#607457;margin:5px 0;font-size:12px}.physical-fields{grid-template-columns:1fr 1fr;gap:6px;display:grid}.physical-actions{flex-wrap:wrap;gap:5px;display:flex}.physical-tools-panel button{padding:5px 7px;font-size:12px}@media (width<=700px){.physical-tools{max-width:calc(100% - 65px);top:50px}.physical-presentation button{padding:4px 6px;font-size:10px}}.distribution-toolbar,.distribution-capacity{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.distribution-toolbar button,.distribution-capacity button{padding:6px 10px;font-size:12px}.distribution-toolbar select{max-width:250px}.distribution-toolbar label{align-items:center;gap:6px;font-size:12px;display:flex}.distribution-toolbar input{width:65px}.distribution-capacity button[aria-pressed=true]{background:#d6e5d7;border-color:#4c8567}.distribution-capacity span,.distribution-mounting p{font-size:12px}.distribution-mounting{padding:5px 0}.distribution-mounting summary{cursor:pointer;font-size:12px}.distribution-capacity{margin:6px 0}.distribution-dialog{z-index:100;width:min(720px,94vw);max-height:90vh;margin:auto;position:fixed;inset:5vh 0 auto;overflow:auto;box-shadow:0 0 0 100vmax #142a2370}.distribution-dialog p{font-size:13px}.distribution-dialog input,.distribution-dialog select{width:100%}.distribution-preview{max-width:100%;height:220px;margin:12px auto;display:block}.distribution-drop-preview{z-index:2}.product-knowledge{color:#557350;cursor:pointer;background:0 0;border:0;align-self:center;padding:8px}.terminal-help-row{align-items:stretch;gap:5px;display:flex}.terminal-help-row>button:first-child{flex:1;min-width:0}.terminal-list .terminal-explain{flex:none;justify-content:center;align-items:center;width:32px;padding:5px;display:flex}.device-knowledge-help{padding:10px 0}.device-knowledge-help button,.symbol-help button{cursor:pointer;background:#f4f7ed;border:1px solid #bdcdb3;border-radius:5px;padding:7px}.symbol-help{margin:15px 0}.symbol-help summary{cursor:pointer}.symbol-help button{text-align:left;width:100%;margin-top:6px;display:block}.knowledge-board-hint{z-index:8;background:#fff3da;border:1px solid #b47820;border-radius:7px;align-items:center;gap:12px;width:fit-content;max-width:calc(100% - 40px);padding:8px 12px;font-size:13px;display:flex;position:absolute;bottom:44px;left:20px;right:20px}.knowledge-board-hint button{cursor:pointer;background:#fff;border:1px solid #c6a365;border-radius:5px;padding:5px 9px}.lamp-glass.lit{filter:drop-shadow(0 0 8px #ffd04bd9)}.heater-active{filter:drop-shadow(0 0 4px #ff762bb3)}.motor-rotor{transform-box:view-box;transform-origin:0 0}.motor-rotor.running{animation:1.2s linear infinite motor-turn}.motor-rotor.running.reverse{animation-direction:reverse}.fan-airflow{animation:1.4s ease-out infinite fan-airflow}.heat-plume{animation:2s ease-in-out infinite heat-rise}@keyframes motor-turn{to{transform:rotate(360deg)}}@keyframes fan-airflow{0%{opacity:.15;transform:translate(-3px)}40%{opacity:.8}to{opacity:0;transform:translate(4px)}}@keyframes heat-rise{50%{opacity:.25;transform:translateY(-3px)}}.led-blink{animation:1s step-end infinite led-blink}@keyframes led-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.led-blink,.motor-rotor.running,.fan-airflow,.heat-plume{animation:none}}.wire-flow{stroke-dasharray:2 10;stroke-linecap:round;animation:.9s linear infinite wire-flow}.wire-flow.reverse{animation-direction:reverse}@keyframes wire-flow{to{stroke-dashoffset:-12px}}@media (prefers-reduced-motion:reduce){.wire-flow{animation:none}}
