.overlay--vue[data-v-1e025653]{display:flex}.python-binding-modal[data-v-1e025653]{width:min(980px,100vw - 40px);height:min(720px,100vh - 40px)}.python-binding-modal__title[data-v-1e025653]{color:var(--blue)}.python-binding-modal__sub[data-v-1e025653]{color:var(--textm);margin-top:3px;font-size:11px}.python-binding-modal__body[data-v-1e025653]{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);display:grid}.python-binding-modal__panel[data-v-1e025653]{flex-direction:column;min-width:0;display:flex;overflow:hidden}.python-binding-modal__panel--left[data-v-1e025653]{border-right:1px solid var(--border);background:linear-gradient(#fff 0%,#f7fbff 100%)}.python-binding-modal__panel--right[data-v-1e025653]{background:var(--bg-card)}.python-binding-modal__toolbar[data-v-1e025653]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 18px 12px;display:flex}.python-binding-modal__input[data-v-1e025653]{display:none}.python-binding-modal__error[data-v-1e025653]{color:#c62828;background:#fff4f4;border:1px solid #f3b2b2;border-radius:8px;margin:0 18px 12px;padding:10px 12px;font-size:12px;line-height:1.6}.python-binding-modal__summary[data-v-1e025653]{border-bottom:1px solid var(--border);padding:14px 18px}.python-binding-modal__file[data-v-1e025653]{color:var(--text);font-size:14px;font-weight:700}.python-binding-modal__meta[data-v-1e025653]{color:var(--blue);margin-top:3px;font-family:Cascadia Mono,Consolas,monospace;font-size:10px}.python-binding-modal__desc[data-v-1e025653]{color:var(--text2);margin-top:8px;font-size:11px;line-height:1.7}.python-binding-modal__groups[data-v-1e025653]{flex-direction:column;flex:1;gap:14px;padding:14px 18px 18px;display:flex;overflow:auto}.python-binding-group[data-v-1e025653]{background:#fffffff0;border:1px solid #aec2ddb8;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.python-binding-group__head[data-v-1e025653]{color:var(--text);font-size:11px;font-weight:700}.python-binding-modal__code-head[data-v-1e025653]{padding:16px 18px 0}.python-binding-row[data-v-1e025653]{grid-template-columns:minmax(0,1fr) 86px minmax(0,1.1fr);align-items:center;gap:10px;display:grid}.python-binding-row__name[data-v-1e025653]{border:1.5px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);border-radius:8px;outline:none;padding:8px 10px;font-size:12px}.python-binding-row__name[data-v-1e025653]:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4a9eff1f}.python-binding-row__type[data-v-1e025653]{color:var(--blue);font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.python-binding-row__note[data-v-1e025653]{color:var(--textm);font-size:10px;line-height:1.6}.python-binding-modal__code[data-v-1e025653]{color:#24456d;white-space:pre-wrap;word-break:break-word;background:0 0;flex:1;margin:0;padding:16px 18px;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.7;overflow:auto}@media (width<=860px){.python-binding-modal[data-v-1e025653]{width:min(100vw - 24px,980px);height:min(760px,100vh - 24px)}.python-binding-modal__body[data-v-1e025653]{grid-template-columns:1fr}.python-binding-modal__panel--left[data-v-1e025653]{border-right:none;border-bottom:1px solid var(--border)}.python-binding-row[data-v-1e025653]{grid-template-columns:1fr}}*{box-sizing:border-box;margin:0;padding:0}:root{--font-ui:"Microsoft YaHei UI","Noto Sans SC","PingFang SC","Segoe UI",sans-serif;--font-data:"Fira Code","Cascadia Mono","JetBrains Mono","Consolas",monospace;--sidebar-w:192px;--sidebar-w-md:184px;--bg-base:#f0f5fb;--bg-panel:#fff;--bg-card:#f7fafd;--bg-hover:#eaf2fb;--border:#d6e4f0;--border-mid:#c2d6ea;--border-dark:#a8c4de;--blue:#1d6fbf;--blue-lt:#4a9eff;--blue-bg:#e8f1fb;--teal:#0e8fa8;--teal-bg:#e3f6fa;--red:#dc2626;--red-lt:#ef4444;--red-bg:#fef2f2;--red-border:#fca5a5;--green:#16a34a;--green-bg:#f0fdf4;--orange:#c2540a;--orange-bg:#fff7ed;--purple:#6d28d9;--purple-bg:#f5f3ff;--text:#1e3a5f;--text2:#4a6a8a;--textm:#7a9ab8;--textd:#b3c8da;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 10px 28px #1e3a5f1a;--shadow-lg:0 18px 46px #1e3a5f24;--ring-blue:0 0 0 3px #2563eb21}body{font-family:var(--font-ui);background:linear-gradient(180deg,#f8fbff 0%,var(--bg-base) 100%);color:var(--text);height:100vh;overflow:hidden}html,body,#app{height:100%}body{margin:0}.gz-app{--workbench-left-w:192px;--workbench-right-w:320px;--workbench-status-h:100px;--workbench-taskbar-h:74px;--layout-resizer-size:6px;grid-template-rows:auto var(--workbench-taskbar-h) minmax(0,1fr);height:100%;display:grid;overflow:hidden}.gz-app>main{grid-template-columns:var(--workbench-left-w) var(--layout-resizer-size) minmax(560px,1fr) var(--layout-resizer-size) var(--workbench-right-w);grid-template-rows:minmax(0,1fr) var(--layout-resizer-size) var(--workbench-status-h);min-height:0;display:grid;overflow:hidden}@media (width<=980px){.gz-app{height:auto;min-height:100%;overflow:visible}.gz-app>main{flex-direction:column;grid-template-rows:none;grid-template-columns:none;min-height:0;display:flex;overflow:visible}}@media (width<=640px){.gz-app>main{min-width:0}}.gz-app{background:var(--bg-base);min-height:100vh}.gz-shell-fragment{display:contents}header{background:var(--bg-panel);border-bottom:1.5px solid var(--border);z-index:100;flex-shrink:0;align-items:center;height:52px;display:flex;box-shadow:0 1px 4px #1e3a5f0f}.logo{width:var(--sidebar-w);border-right:1.5px solid var(--border);flex-shrink:0;align-items:center;gap:9px;height:100%;padding:0 16px;display:flex}.logo-badge{background:linear-gradient(135deg,var(--blue),var(--blue-lt));color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;display:flex;box-shadow:0 2px 6px #1d6fbf47}.logo-name{color:var(--text);white-space:nowrap;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:700;line-height:1.2}.stepbar{flex:1;justify-content:center;align-items:center;gap:0;padding:0 20px;display:flex}.step-item{align-items:center;display:flex}.step-pill{border:1.5px solid var(--border);cursor:default;background:0 0;border-radius:20px;align-items:center;gap:7px;padding:6px 16px;transition:all .25s;display:flex}.step-num{background:var(--border);width:18px;height:18px;color:var(--textm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;transition:all .25s;display:flex}.step-lbl{color:var(--textm);white-space:nowrap;font-size:13px;font-weight:500;transition:all .25s}.step-arrow{background:var(--border);flex-shrink:0;width:40px;height:1.5px;margin:0 4px;position:relative}.step-arrow:after{content:"▸";color:var(--border);font-size:8px;position:absolute;top:-7px;right:-6px}.step-item[data-s="1"]{--sc:var(--blue);--scbg:var(--blue-bg)}.step-item[data-s="2"]{--sc:var(--red);--scbg:var(--red-bg)}.step-item[data-s="3"]{--sc:var(--green);--scbg:var(--green-bg)}.step-item.active .step-pill{border-color:var(--sc);background:var(--scbg)}.step-item.done .step-num{background:var(--blue);color:#fff;font-size:8px}.step-item.done .step-lbl{color:var(--text2)}.toolbar{border-left:1.5px solid var(--border);flex-shrink:0;align-items:center;gap:5px;height:100%;padding:0 14px;display:flex}.tbtn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text2);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:5px 11px;font-family:Noto Sans SC,sans-serif;font-size:11px;font-weight:500;transition:all .18s;display:flex}.tbtn:hover:not(.tbtn-disabled){background:var(--bg-hover);border-color:var(--border-mid);color:var(--text)}.tbtn-disabled{opacity:.38;cursor:not-allowed}.tbtn-imp-sys{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.tbtn-new-sys{border-color:var(--orange);color:var(--orange);background:var(--orange-bg)}.tbtn-new-sys:hover{background:#fff1df!important}.tbtn-imp-flt{border-color:var(--red);color:var(--red)}.tbtn-imp-flt.ready{background:var(--red-bg)}.tbtn-reset-sys:hover{background:#ffe8ea!important}.tbtn-save-sys{border-color:var(--teal);color:var(--teal)}.tbtn-save-sys.ready{background:var(--teal-bg)}.tbtn-save-res{border-color:var(--green);color:var(--green)}.tbtn-divider{background:var(--border);flex-shrink:0;width:1px;height:22px;margin:0 2px}main{flex:1;display:flex;overflow:hidden}.lpanel{width:var(--sidebar-w);background:var(--bg-panel);border-right:1.5px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.lscroll{flex:1;overflow-y:auto}.lscroll::-webkit-scrollbar{width:3px}.lscroll::-webkit-scrollbar-thumb{background:var(--border)}.lgroup-head{color:var(--text2);letter-spacing:.3px;border-bottom:1px solid var(--border);background:var(--bg-card);cursor:pointer;-webkit-user-select:none;user-select:none;z-index:2;align-items:center;gap:6px;margin-top:1px;padding:8px 12px 5px;font-size:10px;font-weight:600;display:flex;position:sticky;top:0}.lgroup-icon{width:18px;height:18px;color:var(--blue);background:#eef5fd;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #a8c4de8c}.lgroup-head--fault .lgroup-icon{color:var(--red);background:#fff2f2;box-shadow:inset 0 0 0 1px #fca5a599}.lgroup-head--instrument .lgroup-icon{color:var(--teal);background:#ecfeff;box-shadow:inset 0 0 0 1px #a5f3fccc}.lgroup-head--link .lgroup-icon{color:var(--purple);background:#f5f3ff;box-shadow:inset 0 0 0 1px #c4b5fdc7}.lgroup-arrow{color:var(--textd);margin-left:auto;font-size:9px;transition:transform .2s}.lgroup-arrow.open{transform:rotate(90deg)}.lgroup-body{padding:4px 8px 6px}.citem{cursor:grab;color:var(--text2);border:1px solid #0000;border-radius:5px;align-items:center;gap:7px;margin-bottom:2px;padding:5px 8px;font-size:11px;transition:all .14s;display:flex}.citem:hover{background:var(--blue-bg);border-color:var(--border-mid);color:var(--blue)}.citem-draggable{cursor:grab}.citem-draggable:active{cursor:grabbing}.citem-dragging{opacity:.58;transform:translate(2px)}.citem-authoring-action{appearance:none;border-color:var(--border);text-align:left;cursor:pointer;background:#f8fbff;width:100%;font-family:inherit}.citem-authoring-action:hover{background:var(--blue-bg);border-color:var(--blue-lt)}.citem-authoring-action--fault{background:snow;color:var(--red)!important;border-color:var(--red-border)!important}.citem-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.citem-sub{color:var(--textm);white-space:normal;font-size:9px;line-height:1.35}.citem-label{color:inherit;font-size:11px;font-weight:600;line-height:1.45}.cdot{border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 3px #ffffffdb,0 4px 10px #1e3a5f14}.citem-icon-badge{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #a8c4de94}.citem-icon-badge--source{color:#2a6dc9;background:#e8f1fb}.citem-icon-badge--flow{color:var(--blue);background:#edf5ff}.citem-icon-badge--gain{color:#d97706;background:#fff4e5}.citem-icon-badge--sum{color:#e11d48;background:#fff1f2}.citem-icon-badge--mux{color:#7c3aed;background:#f5f3ff}.citem-icon-badge--simulation{color:var(--teal);background:#e7fbff}.citem-icon-badge--middle{color:#0f8e7d;background:#e6fffb}.citem-icon-badge--subsystem{color:#334155;background:#f1f5f9}.citem-icon-badge--fault{color:var(--red);background:#fff1f1}.citem-icon-badge--noise{color:var(--orange);background:#fff7ed}.citem-icon-badge--scope{color:var(--green);background:#f0fdf4}.citem-icon-badge--spectrum{color:var(--teal);background:#ecfeff}.citem-icon-badge--logger{color:var(--blue);background:#eff6ff}.citem-line-tool{cursor:pointer}.citem-line-tool.active{background:var(--blue-bg);border-color:var(--blue-lt);color:var(--blue);box-shadow:inset 0 0 0 1px #4a9eff1f}.citem-line-tool.active.citem-can{border-color:var(--purple)!important;color:var(--purple)!important;background:#ede9fe!important}.citem-fault{background:var(--red-bg);color:var(--red)!important;border:1px solid var(--red-border)!important}.citem-fault:hover{border-color:var(--red)!important;background:#fee2e2!important}.citem-scope{background:#f0fdf4;color:var(--green)!important;border:1.5px solid #bbf7d0!important}.citem-scope:hover{border-color:var(--green)!important;background:#dcfce7!important}.citem-can{background:var(--purple-bg);color:var(--purple)!important;border:1px solid #c4b5fd!important}.citem-can:hover{border-color:var(--purple)!important;background:#ede9fe!important}.canvas-wrap{--canvas-layer-viewport:3;--canvas-layer-placeholder:7;--canvas-layer-floating:9;--canvas-layer-panel:11;background:var(--bg-base);flex:1;position:relative;overflow:hidden}.canvas-grid{background:radial-gradient(circle at 100% 0,#7ab7ff1f,#0000 26%),linear-gradient(#ffffffb8,#f0f5fbf0);position:absolute;inset:0}.empty-state{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.empty-icon{border:2px dashed var(--border-mid);border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;display:flex}.diagram{display:none;position:absolute;inset:0}.diagram.on{display:block}.diagram.dragover .diagram-placeholder-card{border-color:var(--blue);background:#f5f9ff;box-shadow:0 10px 24px #1d6fbf1f}.diagram-guide,.diagram-guide-title,.diagram-guide-sub{display:none}.diagram-placeholder{pointer-events:none;z-index:var(--canvas-layer-placeholder);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diagram-placeholder-card{border:2px dashed var(--border-mid);text-align:center;background:#ffffffb8;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(420px,100%);padding:26px 28px;transition:all .18s;display:flex}.diagram-placeholder-icon{color:var(--blue);font-size:26px;line-height:1}.diagram-placeholder-sub{color:var(--textm);max-width:320px;font-size:11px;line-height:1.6}.canvas-viewport{z-index:var(--canvas-layer-viewport);cursor:grab;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.canvas-viewport.panning{cursor:grabbing}.canvas-stage{--canvas-stage-layer-grid:0;--canvas-stage-layer-edges:1;--canvas-stage-layer-nodes:4;--canvas-stage-layer-edge-controls:8;--canvas-stage-layer-windows:12;transform-origin:0 0;will-change:transform;touch-action:none;-webkit-user-select:none;user-select:none;width:2400px;height:1500px;position:absolute;top:0;left:0}.canvas-stage-grid{z-index:var(--canvas-stage-layer-grid);opacity:.54;pointer-events:none;background-image:linear-gradient(#c2d6ea8c 1px,#0000 1px),linear-gradient(90deg,#c2d6ea8c 1px,#0000 1px);background-size:32px 32px,32px 32px;position:absolute;inset:0}.edge-layer{width:100%;height:100%;z-index:var(--canvas-stage-layer-edges);pointer-events:auto;position:absolute;inset:0;overflow:visible}.canvas-edge-control-layer{width:100%;height:100%;z-index:var(--canvas-stage-layer-edge-controls);pointer-events:none;position:absolute;inset:0;overflow:visible}.scope-window-layer{z-index:var(--canvas-stage-layer-windows);pointer-events:none;position:absolute;inset:0}.scope-window-layer .scope-window{pointer-events:auto}.edge-path{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.edge-path.is-routed{filter:drop-shadow(0 2px 2px #1e3a5f0d)}.edge-hit{fill:none;stroke:#4f86e700;stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;pointer-events:visibleStroke;cursor:pointer}.edge-path.is-selected{filter:drop-shadow(0 0 6px #4f86e73d)}.edge-path--normal.is-selected{stroke:#4f86e7;stroke-width:2.9px}.edge-path--can.is-selected{stroke:#6d5df6;stroke-width:4px}.edge-label{fill:#6d28d9;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;font-size:9px;transition:fill .16s}.edge-label.is-selected{fill:#1d4ed8;font-weight:700}.edge-path.is-faulted{stroke-dasharray:10 6;filter:drop-shadow(0 0 5px #dc26262e)}.edge-path--normal.is-faulted{stroke:var(--red);stroke-width:2.9px}.edge-path--can.is-faulted{stroke:var(--red);stroke-width:3.6px}.edge-path.is-response-affected{stroke:#f59e0b;stroke-width:3px;filter:drop-shadow(0 0 5px #f59e0b33)}.edge-path.is-response-target{stroke:#ef4444;stroke-width:3.6px;filter:drop-shadow(0 0 7px #ef444447)}.edge-path.is-response-cut{stroke-dasharray:10 6}.edge-label.is-faulted{fill:var(--red);font-weight:700}.edge-label.is-faulted.is-selected{fill:#b91c1c}.edge-preview{fill:none;stroke:#7ab7ff;stroke-width:2px;stroke-dasharray:7 5;opacity:.92}.node-layer{z-index:var(--canvas-stage-layer-nodes);position:absolute;inset:0}.canvas-floating{z-index:var(--canvas-layer-floating);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:18px;right:18px}.canvas-group-actions{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.canvas-wrap__button{color:#2b5fa8;cursor:pointer;background:#fffffff0;border:1px solid #5d85c447;border-radius:12px;min-width:132px;height:34px;padding:0 14px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s;box-shadow:0 12px 24px #1e3a5f14}.canvas-wrap__button:hover:not(:disabled){background:#eef5ff;border-color:#4f86e76b;transform:translateY(-1px)}.canvas-wrap__button:disabled{cursor:not-allowed;color:#8ea3bf;box-shadow:none;background:#f7fafdf5;border-color:#b7c5dc8c}.canvas-arrange__button{color:#1f5fbf;cursor:pointer;background:linear-gradient(#fff 0%,#eef6ff 100%);border:1px solid #2563eb42;border-radius:12px;height:34px;padding:0 14px;font-size:12px;font-weight:800;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;box-shadow:0 12px 24px #1e3a5f17}.canvas-arrange__button:hover{background:#eaf3ff;border-color:#2563eb75;transform:translateY(-1px);box-shadow:0 14px 26px #1e3a5f1f}.canvas-arrange__button:active{transform:translateY(0)}.canvas-check__button{color:#0e7490;cursor:pointer;background:linear-gradient(#fff 0%,#ecfeff 100%);border:1px solid #0e8fa847;border-radius:12px;height:34px;padding:0 14px;font-size:12px;font-weight:800;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;box-shadow:0 12px 24px #1e3a5f17}.canvas-check__button:hover{background:#dff8ff;border-color:#0e8fa87a;transform:translateY(-1px);box-shadow:0 14px 26px #1e3a5f1f}.canvas-check__button:active{transform:translateY(0)}.blk.sel-multi{box-shadow:0 0 0 3px #4f86e733,0 8px 20px #1e3a5f24}.canvas-breadcrumbs{z-index:var(--canvas-layer-floating);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #b7c5db7a;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 36px);min-height:40px;padding:8px 10px;display:flex;position:absolute;top:14px;left:18px;box-shadow:0 12px 24px #1e3a5f14}.canvas-breadcrumbs__item{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.canvas-breadcrumbs__item:hover{background:var(--bg-hover);color:var(--blue)}.canvas-breadcrumbs__item.is-active{background:var(--blue-bg);color:var(--blue)}.canvas-breadcrumbs__sep{color:var(--textd);font-size:11px;font-weight:700}.canvas-mode{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #b7c5db7a;border-radius:16px;align-items:center;gap:10px;padding:9px 12px;display:flex;box-shadow:0 12px 24px #1e3a5f14}.canvas-mode__chip{background:var(--bg-card);color:var(--text2);border:1px solid #c2d6eab8;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:11px;font-weight:700;display:inline-flex}.canvas-zoom{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #b7c5db7a;border-radius:16px;align-items:center;gap:9px;padding:9px 12px;display:flex;box-shadow:0 12px 24px #1e3a5f14}.canvas-zoom__button,.canvas-zoom__reset{color:#415f8f;cursor:pointer;background:#ffffffeb;border:1px solid #b7c5dc94;transition:background .2s,border-color .2s}.canvas-zoom__button{border-radius:9px;width:30px;height:30px;font-size:17px;line-height:1}.canvas-zoom__track{background:#afbfdc47;border-radius:999px;width:110px;height:6px;overflow:hidden}.canvas-zoom__fill{border-radius:inherit;background:linear-gradient(90deg,#5b8cff,#7ab7ff);height:100%;display:block}.canvas-zoom__reset{border-radius:9px;min-width:64px;height:30px;padding:0 10px;font-size:13px;font-weight:700}.blk{background:var(--bg-panel);cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;border:1.5px solid;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:absolute;box-shadow:0 6px 16px #1e3a5f14}.blk.is-dragging{cursor:grabbing;transform:translateY(-1px);box-shadow:0 16px 28px #1e3a5f2e}.blk:hover{z-index:10;box-shadow:0 3px 12px #1e3a5f24}.blk.sel{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent),0 2px 10px #1e3a5f1a;z-index:20}.diagram.fault-drop-preview .blk{opacity:1}.diagram.fault-drop-preview .blk.fault-drop-compatible{opacity:1;animation:1.1s ease-in-out infinite faultDropPulse;box-shadow:0 0 0 4px #2563eb1f,0 12px 24px #1d4ed824;background:#eff6ff!important;border-color:#2563eb!important}.diagram.fault-drop-preview .blk.fault-drop-compatible .fbadge{display:flex}.diagram.fault-drop-preview .blk.fault-drop-incompatible{filter:grayscale(.25)}.blk-lbl{color:var(--text);letter-spacing:.1px;padding:0 10px;font-size:12px;font-weight:700;line-height:1.4}.blk-sub{color:var(--textm);padding:0 10px;font-family:Segoe UI,Microsoft YaHei UI,sans-serif;font-size:10px;line-height:1.55}.blk-kicker{letter-spacing:.55px;text-transform:uppercase;color:currentColor;opacity:.82;margin-bottom:2px;font-size:9px;font-weight:700}.node-port{width:16px;height:16px;box-shadow:none;pointer-events:auto;cursor:crosshair;z-index:2;appearance:none;background:0 0;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.node-port--output,.node-port--top{box-shadow:none;background:0 0;border:none}.node-port--active .node-port__inner{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}.node-port__inner{background:color-mix(in srgb,currentColor 16%,#fff);border:1.5px solid;border-radius:50%;width:6px;height:6px}.fbadge{background:var(--red);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:7px;font-weight:700;display:none;position:absolute;top:-7px;right:-7px;box-shadow:0 1px 4px #dc262673}.blk.faulted .fbadge{display:flex}.blk.faulted{animation:2.2s ease-in-out infinite fpulse;border-color:var(--red-lt)!important;background:var(--red-bg)!important}.blk.faulted .blk-lbl{color:var(--red)}.layered-fault-node-actions{z-index:80;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.layered-fault-node-actions button{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #2563eb;height:26px;padding:0 10px;font-size:11px;font-weight:900;box-shadow:0 8px 16px #1d4ed81f}.layered-fault-node-actions button:hover{color:#fff;background:#2563eb}.layered-fault-node-actions button.is-active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 9px 18px #1d4ed83d}.layered-fault-node-actions button.is-active:hover{background:#1d4ed8}.diagram.fault-drop-preview .blk.is-layered-fault-binding-source{opacity:1!important;filter:none!important;z-index:70!important}.layered-fault-dialog{right:calc(var(--workbench-right-w,320px) + 24px);z-index:1200;width:min(520px,max(360px,calc(100vw - var(--workbench-left-w,192px) - var(--workbench-right-w,320px) - 96px)));max-height:calc(100vh - 112px);color:var(--text);box-sizing:border-box;background:#fff;border:1px solid #b7c5db;flex-direction:column;display:flex;position:fixed;top:128px;box-shadow:0 22px 54px #1e3a5f38}.layered-fault-dialog.is-dragging{box-shadow:0 26px 64px #1e3a5f4d}.layered-fault-dialog__head{cursor:move;-webkit-user-select:none;user-select:none;border-bottom:1px solid #dbe4f0;flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 13px;display:flex}.layered-fault-dialog__head strong{margin-top:4px;font-size:16px;line-height:1.2;display:block}.layered-fault-dialog__head button{color:#12213a;cursor:pointer;background:#fff;border:1px solid #b7c5db;width:30px;height:30px;font-size:18px;line-height:1}.layered-fault-dialog__eyebrow{color:#2563eb;font-size:12px;font-weight:900}.layered-fault-dialog__body{gap:13px;min-height:0;padding:16px 18px;display:grid;overflow:auto}.layered-fault-dialog__target{background:#f8fbff;border:1px solid #dbe4f0;gap:5px;padding:12px;display:grid}.layered-fault-dialog__target span,.layered-fault-dialog__field span{color:var(--textm);font-size:12px;font-weight:800}.layered-fault-dialog__target b{font-size:15px;line-height:1.35}.layered-fault-dialog__field{gap:7px;display:grid}.layered-fault-dialog__field input,.layered-fault-dialog__field select{box-sizing:border-box;width:100%;min-width:0;height:36px;color:var(--text);font:600 13px/1 var(--font-data);background:#f8fbff;border:1px solid #c8d7eb;padding:0 10px}.layered-fault-select,.fault-param-dropdown{width:100%;min-width:0;position:relative}.layered-fault-select summary,.fault-param-dropdown summary{box-sizing:border-box;width:100%;min-height:36px;color:var(--text);font:800 13px/1.2 var(--font-data);cursor:pointer;background:#f8fbff;border:1px solid #c8d7eb;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;list-style:none;display:flex}.layered-fault-select summary::-webkit-details-marker{display:none}.fault-param-dropdown summary::-webkit-details-marker{display:none}.layered-fault-select__caret,.fault-param-dropdown__caret{color:#28476f;font-family:var(--font-ui);font-size:14px}.layered-fault-select__menu,.fault-param-dropdown__menu{z-index:1300;background:#fff;border:1px solid #9fb3cf;max-height:176px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #1e3a5f2e}.layered-fault-select__menu button,.fault-param-dropdown__menu button{color:#12213a;text-align:left;min-height:34px;font:800 13px/1.2 var(--font-data);cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf2f8;padding:0 10px}.layered-fault-select__menu button:hover,.layered-fault-select__menu button[aria-selected=true],.fault-param-dropdown__menu button:hover,.fault-param-dropdown__menu button[aria-selected=true]{color:#0f62fe;background:#eef5ff}.layered-fault-dialog__params{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.layered-fault-dialog__actions{background:#f8fbff;border-top:1px solid #dbe4f0;flex:none;justify-content:flex-end;gap:10px;padding:13px 18px 16px;display:flex}.layered-fault-dialog__actions button{color:#12213a;cursor:pointer;background:#fff;border:1px solid #b7c5db;height:36px;padding:0 16px;font-weight:900}.layered-fault-dialog__actions button.primary{color:#fff;background:#2563eb;border-color:#2563eb}@media (width<=680px){.layered-fault-dialog{width:auto;max-height:calc(100vh - 108px);top:84px;left:12px!important;right:12px!important}.layered-fault-dialog__params{grid-template-columns:1fr}}.fault-tag-card{z-index:34;box-sizing:border-box;color:#991b1b;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff7f7;border:1.5px solid #ef4444;flex-direction:column;justify-content:center;gap:3px;padding:8px 30px 8px 11px;display:flex;position:absolute;box-shadow:0 8px 16px #b91c1c1a}.fault-tag-card:hover,.fault-tag-card.is-selected{border-color:#dc2626;box-shadow:0 0 0 2px #dc26261f,0 10px 20px #b91c1c24}.fault-tag-card:active{cursor:grabbing}.fault-tag-card__badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:flex;position:absolute;top:-11px;right:-11px}.fault-tag-card__kicker{color:#dc2626;font-size:10px;font-weight:900}.fault-tag-card__title{color:#b91c1c;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.2;overflow:hidden}.fault-tag-card__meta{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.fault-node-toggle{color:#b91c1c;cursor:pointer;z-index:5;background:#fff;border:1px solid #ef4444;align-items:center;gap:6px;height:25px;padding:0 8px;font-size:11px;font-weight:800;display:flex;position:absolute;bottom:-16px;right:8px}.fault-node-toggle:hover,.fault-node-toggle.is-open{color:#fff;background:#dc2626}.fault-node-toggle b{min-width:16px;height:16px;color:inherit;font-size:10px;font-family:var(--font-data);background:#dc26261a;justify-content:center;align-items:center;display:inline-flex}.fault-node-toggle.is-open b,.fault-node-toggle:hover b{background:#fff3}.edge-fault-toggle{cursor:pointer;pointer-events:auto}.edge-fault-toggle__pill{fill:#fff7f7;stroke:#ef4444;stroke-width:1.4px;filter:drop-shadow(0 4px 8px #b91c1c29)}.edge-fault-toggle__label,.edge-fault-toggle__count{fill:#dc2626;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:900}.edge-fault-toggle__count{font-size:9px}@keyframes faultDropPulse{0%,to{box-shadow:0 0 0 3px #2563eb1f,0 10px 22px #1d4ed81f}50%{box-shadow:0 0 0 7px #2563eb33,0 16px 30px #1d4ed833}}.edge-path.is-fault-drop-compatible{stroke-dasharray:8 5;filter:drop-shadow(0 0 7px #7c3aed47);animation:1s ease-in-out infinite lineFaultDropPulse;stroke:#7c3aed!important;stroke-width:4.2px!important}.edge-hit.is-fault-drop-compatible{pointer-events:visibleStroke;stroke:#7c3aed33!important;stroke-width:36px!important}.edge-label.is-fault-drop-compatible{pointer-events:auto;paint-order:stroke;stroke:#fff;stroke-width:4px;font-weight:900;fill:#5b21b6!important}.diagram.fault-drop-preview--protocol .edge-path.is-fault-drop-compatible{stroke-dasharray:0;filter:drop-shadow(0 0 5px #2f73ff38);animation:none;stroke:#2f73ff!important;stroke-width:3.2px!important}.diagram.fault-drop-preview--protocol .edge-hit.is-fault-drop-compatible{stroke:#2f73ff29!important;stroke-width:30px!important}.diagram.fault-drop-preview--protocol .edge-label.is-fault-drop-compatible{fill:#1d4ed8!important}.layered-fault-edge-marker{pointer-events:auto;cursor:pointer}.layered-fault-edge-marker__halo{fill:#dc26261f;stroke:#dc262638;stroke-width:2px}.layered-fault-edge-marker__pin{fill:#dc2626;stroke:#fff;stroke-width:2px;filter:drop-shadow(0 5px 9px #b91c1c3d)}.layered-fault-edge-marker__label{fill:#fff;font-family:var(--font-data);pointer-events:none;font-size:11px;font-weight:900}@keyframes lineFaultDropPulse{0%,to{stroke-width:3.2px}50%{stroke-width:4.6px}}.edge-path.is-fault-drop-incompatible,.edge-label.is-fault-drop-incompatible{opacity:.36}.diagram.fault-drop-preview .fault-tag-card{opacity:.16;filter:grayscale(.35);pointer-events:none}.diagram.fault-drop-preview .fault-node-toggle{opacity:.12;pointer-events:none}.fault-tag-param-row{border-bottom:1px solid #e5edf6;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:grid}.fault-tag-param-row span{color:#53667f;font-size:12px;font-weight:800}.fault-tag-param-row input{color:#0f2544;min-width:0;height:34px;font-family:var(--font-data);background:#f8fbff;border:1px solid #c9daf3;padding:0 10px}@keyframes fpulse{0%,to{box-shadow:0 0 #dc262600}50%{box-shadow:0 0 0 4px #dc26261f}}.b-source{color:#2a6dc9;border-color:#4f86e7}.b-flow{color:var(--blue);border-color:#60a5fa}.b-gain{color:#c2410c;border-color:#f59e0b}.b-sum{color:#e11d48;border-color:#fb7185}.b-mux{color:#7c3aed;border-color:#a78bfa}.b-sim{color:var(--teal);border-color:#38bdf8}.b-assign{color:#0f766e;border-color:#14b8a6}.b-fault{color:var(--red);border-color:#f87171}.b-inst{color:var(--green);border-color:#4ade80}.b-link{color:var(--purple);border-color:#a78bfa}.b-subsystem{color:#475569;background:linear-gradient(#fff,#f8fafc);border-color:#94a3b8}.b-sensor{color:var(--blue);border-color:#93c5fd}.b-ctrl{color:var(--teal);border-color:#67e8f9}.b-motor{color:var(--orange);border-color:#fdba74}.b-scope{color:var(--green);border-color:#86efac}.scope-view-btn{background:var(--green);color:#fff;cursor:pointer;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:9px;font-weight:600;display:none;position:absolute;bottom:-13px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #16a34a4d}.lay-lbl{color:var(--textm);pointer-events:none;background:var(--bg-base);padding:0 4px;font-family:JetBrains Mono,monospace;font-size:9px;position:absolute;top:14px}.lay-div{background:var(--border-mid);pointer-events:none;opacity:.6;width:1px;position:absolute;top:10px;bottom:10px}.simbar{background:var(--bg-panel);border:1.5px solid var(--border);z-index:50;white-space:nowrap;border-radius:9px;align-items:center;gap:0;max-width:calc(100% - 24px);display:flex;position:absolute;top:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 10px #1e3a5f1a}.simbar-params{border-right:1.5px solid var(--border);align-items:center;gap:0;padding:0 12px;display:flex}.sim-field{border-right:1px solid var(--border);align-items:center;gap:5px;margin-right:8px;padding:7px 8px 7px 0;display:flex}.sim-field:last-child{border-right:none;margin-right:0}.sim-field-lbl{color:var(--textm);white-space:nowrap;font-size:10px}.sim-field-inp{border:1.5px solid var(--border);width:58px;color:var(--text);background:var(--bg-card);text-align:right;border-radius:4px;outline:none;padding:3px 6px;font-family:JetBrains Mono,monospace;font-size:11px;transition:border-color .15s}.sim-field-inp:focus{border-color:var(--blue)}.simbar-rt{border-right:1.5px solid var(--border);align-items:center;gap:7px;padding:7px 14px;display:flex}.simbar-rt-lbl{color:var(--text2);font-size:11px}.toggle-wrap{flex-shrink:0;width:36px;height:20px;position:relative}.toggle-wrap input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--border-dark);cursor:pointer;border-radius:10px;transition:background .2s;position:absolute;inset:0}.toggle-thumb{pointer-events:none;background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.simbar-btns{align-items:center;display:flex}.sim-btn{border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:56px;padding:7px 14px;transition:background .15s;display:flex}.sim-btn-disabled{opacity:.35;cursor:not-allowed}.sim-btn-icon{font-size:15px;line-height:1}.sim-btn-run.active .sim-btn-icon,.sim-btn-run.active .sim-btn-lbl{color:var(--green)}.sim-btn-run.active{background:var(--green-bg)}.sim-btn-stop .sim-btn-icon,.sim-btn-stop .sim-btn-lbl{color:var(--red)}.sim-btn-stop:hover{background:var(--red-bg)!important}.sim-running-dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite blink;display:none}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.rpanel{background:var(--bg-panel);border-left:1.5px solid var(--border);flex-direction:column;flex-shrink:0;width:232px;display:flex}.ph{letter-spacing:.6px;color:var(--textm);text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0;padding:10px 14px 8px;font-size:10px;font-weight:600}.props-body{flex:1;padding:16px 14px;overflow-y:auto}.props-empty{height:100%;color:var(--textm);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.pgroup{margin-bottom:18px}.pglbl{color:var(--textd);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:9px;font-weight:600}.prow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;font-size:11px;display:flex}.pv{color:var(--text);font-family:JetBrains Mono,monospace;font-size:10px}.props-edge-chinese-summary{background:#f8fbff;border:1px solid #dbe8f6;border-left:3px solid #2f73ff;border-radius:8px;margin-bottom:10px;padding:10px}.props-edge-summary-title{color:#2f73ff;font-size:10px;font-weight:900}.props-edge-summary-name{color:#10243d;margin-top:5px;font-size:13px;line-height:1.35;display:block}.props-edge-summary-path{color:#526985;margin-top:2px;font-size:11px;font-weight:800;line-height:1.45;display:block}.props-edge-summary-grid{grid-template-columns:1fr;gap:6px;margin-top:8px;display:grid}.props-edge-summary-grid span{background:#fff;border:1px solid #e4edf8;border-radius:7px;min-width:0;padding:6px 7px}.props-edge-summary-grid em{color:#70839d;font-size:9px;font-style:normal;font-weight:900;display:block}.props-edge-summary-grid b{color:#18304f;overflow-wrap:anywhere;margin-top:2px;font-size:11px;line-height:1.4;display:block}.props-edge-connection{background:#fff;border:1px solid #e4edf8;border-radius:7px;margin-top:10px;padding:9px}.props-edge-connection-title{color:#18304f;margin-bottom:5px;font-size:11px;font-weight:900}.props-edge-route-meta{color:#70839d;border-top:1px dashed #d9e5f2;margin-top:8px;padding-top:7px;font-size:10px;line-height:1.5}.props-edge-route-meta span{font-weight:900;display:block}.props-edge-route-meta code{color:#526985;font-family:var(--font-data);white-space:normal;overflow-wrap:anywhere;margin-top:2px;font-size:10px;display:block}.props-edge-internal-mapping{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.props-edge-internal-title{color:#70839d;margin-bottom:3px;font-size:10px;font-weight:900}.pv-ok{color:var(--green);font-weight:600}.pv-fault{color:var(--red);font-weight:600}.props-title{color:var(--text);font-size:14px;font-weight:700;line-height:1.3}.props-sub{color:var(--textm);margin-top:3px;font-size:10px;line-height:1.5}.props-form{flex-direction:column;gap:16px;display:flex}.props-field{flex-direction:column;gap:8px;display:flex}.props-field label{color:var(--text2);letter-spacing:.2px;font-size:10px;font-weight:600}.props-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.props-field input,.props-field select,.props-field textarea{border:1.5px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-size:12px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.props-field textarea{resize:vertical;min-height:78px;line-height:1.5}.props-help{color:var(--textm);font-size:10px;line-height:1.7}.props-primary-action{color:#fff;cursor:pointer;background:#0f62fe;border:1px solid #0f62fe;border-radius:7px;width:100%;min-height:40px;padding:9px 12px;font-size:12px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.props-primary-action:hover{background:#0050e6;border-color:#0050e6}.props-primary-action.is-active{background:#0f62fe;border-color:#0f62fe;box-shadow:0 0 0 3px #0f62fe24}.props-primary-action.is-active:hover{background:#0050e6}.props-primary-action:active{transform:translateY(1px)}.props-port-list{flex-direction:column;gap:9px;display:flex}.props-port-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #aec2ddb8;border-radius:10px;flex-direction:column;gap:6px;padding:9px 10px;display:flex}.props-port-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.props-port-card__name{color:#173b69;font-size:12px;font-weight:800;line-height:1.35}.props-port-card__var{color:#5b789c;word-break:break-all;font-family:Cascadia Mono,Consolas,monospace;font-size:10px}.props-port-card__meta{color:var(--textm);justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.sim-intf-toolbar{flex-direction:column;gap:10px;display:flex}.sim-intf-counts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sim-intf-counts .props-field:last-child{grid-column:1/-1}.sim-intf-group{background:linear-gradient(#fcfefffa,#f6faffeb);border:1px solid #aec2ddb8;border-radius:12px;flex-direction:column;gap:10px;padding:12px 12px 13px;display:flex;box-shadow:0 6px 14px #1e3a5f0a}.sim-intf-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sim-intf-title{color:var(--text);font-size:11px;font-weight:700}.sim-intf-meta{color:var(--textm);background:#ddeafcc7;border-radius:999px;padding:3px 8px;font-size:10px}.sim-intf-list{flex-direction:column;gap:9px;display:flex}.sim-intf-row{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:end;gap:10px;display:grid}.sim-intf-note{color:var(--textm);font-size:10px;line-height:1.6}.props-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.props-save{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:7px;width:100%;padding:9px 12px;font-size:12px;font-weight:700;transition:background .18s,transform .18s}.props-save:hover{background:#b91c1c}.props-save:active{transform:translateY(1px)}.props-secondary{background:var(--green-bg);width:100%;color:var(--green);cursor:pointer;border:1.5px solid #86efac;border-radius:7px;padding:8px 12px;font-size:11px;font-weight:600}.props-danger{color:#c62828;cursor:pointer;background:#fff5f5;border:1.5px solid #f7b1b1;border-radius:7px;width:100%;padding:9px 12px;font-size:12px;font-weight:700;transition:background .18s,border-color .18s,transform .18s}.props-danger:hover{background:#feeaea;border-color:#ee8d8d}.props-danger:active{transform:translateY(1px)}.scope-props{flex-direction:column;gap:14px;display:flex}.scope-props-hero{background:linear-gradient(135deg,#f8fffb 0%,#eefbf4 100%);border:1px solid #86efac9e;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 10px 22px #16a34a12}.scope-props-kicker{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:#16a34a;font-size:9px;font-weight:900}.scope-props-title{color:#12355c;margin-top:4px;font-size:15px;font-weight:900;line-height:1.25}.scope-props-copy{color:#5f7b99;margin-top:5px;font-size:10px;line-height:1.6}.scope-props-count{background:#fff;border:1px solid #bbf7d0f2;border-radius:17px;flex-direction:column;flex:0 0 58px;justify-content:center;align-items:center;height:58px;display:flex;box-shadow:inset 0 0 0 1px #ffffffd1}.scope-props-count strong{font-family:var(--font-data);color:#16a34a;font-variant-numeric:tabular-nums;font-size:22px;font-weight:900;line-height:1}.scope-props-count span{color:#6d8ca8;margin-top:4px;font-size:9px;font-weight:800}.scope-props-open{color:#fff;cursor:pointer;background:linear-gradient(#22c55e 0%,#16a34a 100%);border:1px solid #16a34a59;border-radius:10px;width:100%;min-height:38px;font-size:13px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 12px 24px #16a34a2e}.scope-props-open:hover{background:linear-gradient(#20bf59 0%,#128c3f 100%);transform:translateY(-1px);box-shadow:0 15px 28px #16a34a3d}.scope-props-open:active{transform:translateY(0)}.scope-props-channels{grid-template-columns:1fr;gap:9px;display:grid}.scope-props-channel{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbe8f6;border-left-width:4px;border-radius:12px;padding:11px 12px;box-shadow:0 8px 18px #1e3a5f0d}.scope-props-channel--blue{border-left-color:#2f73ff}.scope-props-channel--green{border-left-color:#16a34a}.scope-props-channel__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.scope-props-channel__name{font-family:var(--font-data);color:#173b69;font-size:11px;font-weight:900}.scope-props-channel__state{color:#2f73ff;background:#eef5ff;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:900}.scope-props-channel[data-connected=false] .scope-props-channel__state{color:#7b8ca4;background:#f1f5f9}.scope-props-channel__signal{color:#3f5d7d;word-break:break-word;margin-top:7px;font-size:11px;line-height:1.55}.scope-props-channel__metrics{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.scope-props-channel__metrics span{background:#fff;border:1px solid #e6eef7;border-radius:9px;justify-content:space-between;align-items:flex-end;gap:6px;min-width:0;padding:6px 8px;display:flex}.scope-props-channel__metrics b{font-family:var(--font-data);color:#1d4ed8;font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:13px;font-weight:900;line-height:1;overflow:hidden}.scope-props-channel--green .scope-props-channel__metrics b{color:#16a34a}.scope-props-channel__metrics em{color:#7d8ea6;white-space:nowrap;font-size:9px;font-style:normal;font-weight:800}.instrument-props{flex-direction:column;gap:12px;display:flex}.instrument-hero{background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%);border:1px solid #b2cdecdb;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex;box-shadow:0 10px 22px #1f487e0f}.instrument-props--logger .instrument-hero{background:linear-gradient(135deg,#fff 0%,#effaff 100%);border-color:#7dd3fcad}.instrument-props--spectrum .instrument-hero{background:linear-gradient(135deg,#fff 0%,#f7f4ff 100%);border-color:#a78bfa94}.instrument-kicker{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:#2f73ff;font-size:9px;font-weight:900}.instrument-props--logger .instrument-kicker{color:#0891b2}.instrument-props--spectrum .instrument-kicker{color:#6d28d9}.instrument-title{color:#12355c;margin-top:4px;font-size:15px;font-weight:900;line-height:1.22}.instrument-copy{color:#6684a3;word-break:break-word;margin-top:5px;font-size:10px;line-height:1.55}.instrument-count{background:#fff;border:1px solid #dbe8f6;border-radius:17px;flex-direction:column;flex:0 0 68px;justify-content:center;align-items:center;min-height:58px;display:flex;box-shadow:inset 0 0 0 1px #ffffffd1}.instrument-count strong{font-family:var(--font-data);color:#1d4ed8;font-variant-numeric:tabular-nums;font-size:21px;font-weight:900;line-height:1}.instrument-count span{color:#6e86a3;text-align:center;margin-top:5px;font-size:9px;font-weight:800}.instrument-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.instrument-metrics span{background:linear-gradient(#fff 0%,#f9fbff 100%);border:1px solid #dfeaf7;border-radius:12px;min-width:0;padding:8px 9px}.instrument-metrics b{font-family:var(--font-data);color:#0f2f5c;font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:15px;font-weight:900;line-height:1.1;display:block;overflow:hidden}.instrument-metrics em{color:#7790ad;margin-top:5px;font-size:9px;font-style:normal;font-weight:800;display:block}.instrument-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.instrument-primary,.instrument-secondary{cursor:pointer;border-radius:10px;min-height:34px;font-size:12px;font-weight:900;transition:transform .18s,box-shadow .18s}.instrument-primary{color:#fff;background:linear-gradient(#2f73ff 0%,#1d4ed8 100%);border:1px solid #2f73ff5c;box-shadow:0 10px 20px #2f73ff2b}.instrument-secondary{color:#486887;background:#fff;border:1px solid #dbe8f6}.instrument-primary:hover,.instrument-secondary:hover{transform:translateY(-1px)}.instrument-table{background:#fff;border:1px solid #dfeaf7;border-radius:12px;overflow:hidden}.instrument-table-head,.instrument-table-row{grid-template-columns:1.05fr 1fr 1fr 1fr;align-items:center;gap:6px;padding:7px 9px;font-size:10px;display:grid}.instrument-table-head{color:#617d9d;background:#f5f9ff;font-weight:900}.instrument-table-row{color:#244365;font-family:var(--font-data);font-variant-numeric:tabular-nums;border-top:1px solid #eef4fb}.instrument-table-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.instrument-table-row--empty{color:#8aa2bc;font-family:inherit}.instrument-spectrum-bars{background:linear-gradient(#fbfdff 0%,#f6f9ff 100%);border:1px solid #dfeaf7;border-radius:12px;align-items:flex-end;gap:4px;height:72px;padding:12px;display:flex}.instrument-spectrum-bars span{background:linear-gradient(#7c3aed 0%,#2f73ff 100%);border-radius:5px 5px 2px 2px;flex:1;min-width:4px;box-shadow:0 4px 10px #2f73ff21}.diagnostics-panel{flex-direction:column;gap:14px;display:flex}.diagnostics-hero{background:linear-gradient(135deg,#fff 0%,#eef7ff 100%);border:1px solid #aec2ddb8;border-radius:14px;padding:14px;box-shadow:0 10px 22px #1e3a5f0f}.diagnostics-hero__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.diagnostics-title{color:#173b69;letter-spacing:0;font-size:14px;font-weight:900;line-height:1.35}.diagnostics-sub{color:#6680a0;margin-top:5px;font-size:11px;line-height:1.65}.diagnostics-score{background:#fff;border:1px solid #c2d6eadb;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-width:54px;height:54px;display:flex;box-shadow:inset 0 0 0 1px #ffffffb3}.diagnostics-score__num{font-family:var(--font-data);color:var(--blue);font-variant-numeric:tabular-nums;font-size:20px;font-weight:900;line-height:1}.diagnostics-score__lbl{color:var(--textm);margin-top:4px;font-size:9px}.diagnostics-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.diagnostics-pill{background:#fff;border:1px solid #aec2ddb8;border-radius:12px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.diagnostics-pill__value{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:16px;font-weight:900;line-height:1}.diagnostics-pill__label{color:var(--textm);font-size:9px}.diagnostics-pill--error .diagnostics-pill__value{color:var(--red)}.diagnostics-pill--warning .diagnostics-pill__value{color:var(--orange)}.diagnostics-pill--info .diagnostics-pill__value{color:var(--blue)}.diagnostics-list{flex-direction:column;gap:10px;display:flex}.diagnostics-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #aec2ddb8;border-left-width:4px;border-radius:12px;flex-direction:column;gap:7px;padding:10px 11px;display:flex}.diagnostics-card--error{border-left-color:var(--red)}.diagnostics-card--warning{border-left-color:var(--orange)}.diagnostics-card--info{border-left-color:var(--blue)}.diagnostics-card--ok{border-left-color:var(--green)}.diagnostics-card__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.diagnostics-card__title{color:#173b69;letter-spacing:0;font-size:12px;font-weight:900;line-height:1.4}.diagnostics-card__badge{background:var(--bg-card);color:var(--text2);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.diagnostics-card--error .diagnostics-card__badge{background:var(--red-bg);color:var(--red)}.diagnostics-card--warning .diagnostics-card__badge{background:var(--orange-bg);color:var(--orange)}.diagnostics-card--info .diagnostics-card__badge{background:var(--blue-bg);color:var(--blue)}.diagnostics-card--ok .diagnostics-card__badge{background:var(--green-bg);color:var(--green)}.diagnostics-card__detail{color:#526d8b;font-size:11px;line-height:1.68}.diagnostics-card__meta{font-family:var(--font-data);color:var(--textm);word-break:break-all;font-variant-numeric:tabular-nums;font-size:9px;line-height:1.5}.diagnostics-card__actions{align-items:center;gap:8px;margin-top:1px;display:flex}.diagnostics-card__button{background:var(--blue-bg);color:var(--blue);cursor:pointer;border:1px solid #4a9eff61;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:800}.diagnostics-card__button:hover{background:#dceeff}.subsystem-boundary-note{color:var(--text2);background:linear-gradient(#f8fbff,#eef6ff);border:1px solid #2563eb2e;border-radius:12px;padding:11px 12px;font-size:10.5px;line-height:1.7}.sbar{background:var(--bg-panel);border-top:1.5px solid var(--border);flex-shrink:0;align-items:center;gap:16px;height:24px;padding:0 14px;display:flex}.si{color:var(--textm);align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-size:9px;display:flex}.sdot{background:var(--textd);border-radius:50%;width:5px;height:5px}.sdot-b{background:var(--blue)}.sdot-g{background:var(--green)}.sdot-r{background:var(--red)}.toast{background:var(--bg-panel);border:1.5px solid var(--border);color:var(--text);z-index:9999;white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:8px 16px;font-size:12px;animation:.18s mup;display:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #1e3a5f21}.toast.on{display:flex}.toast-w{border-color:var(--red-border)}.toast-s{border-color:#86efac}.ti-w{color:var(--red)}.ti-s{color:var(--green)}body{font-family:var(--font-ui)}.logo-badge,.logo-name,.mtitle{font-family:Segoe UI Semibold,Microsoft YaHei UI,sans-serif}.step-num,.blk-sub,.pv,.ifm-meta,.tdval,.sv,.si,.sch-lbl{font-family:var(--font-data)}.logo-name{font-size:16px}.step-lbl{font-size:14px}.tbtn{padding:6px 12px;font-size:12px}.lgroup-head{padding:9px 12px 6px;font-size:11px}.citem{padding:6px 8px;font-size:12px}.blk-lbl{font-size:13px}.blk-sub{font-size:10.5px}.pglbl{font-size:10px}.prow{padding:5px 0;font-size:12px}.btn-build-fault{padding:7px 15px;font-size:13px}.cfg-f label{font-size:11px}.cfg-f select,.cfg-f input{padding:6px 8px;font-size:12px}.sch-lbl{font-size:10px}@media (width<=1180px){.toolbar{gap:4px;padding:0 10px}.tbtn{padding:6px 10px;font-size:11px}.logo,.lpanel{width:var(--sidebar-w-md)}.rpanel{width:236px}}@media (width<=980px){body{height:auto;min-height:100vh;overflow:auto}header{flex-wrap:wrap;height:auto;min-height:52px}.logo{border-right:none;height:52px}.toolbar{border-left:none;flex-wrap:wrap;justify-content:flex-start;width:100%;height:auto;margin-left:auto;padding:8px 12px}.tbtn{flex:calc(50% - 4px);justify-content:center;min-width:0}.tbtn-divider{display:none}.stepbar{border-top:1px solid var(--border);justify-content:flex-start;width:100%;padding:8px 12px 10px;overflow-x:auto}main{flex-direction:column;overflow:auto}.lpanel,.rpanel{flex:none;width:100%}.lpanel{border-right:none;border-bottom:1.5px solid var(--border);max-height:232px}.rpanel{border-left:none;border-top:1.5px solid var(--border);min-height:240px}.canvas-wrap{flex:none;width:100%;min-height:640px;overflow:auto}.canvas-grid,.empty-state,.diagram{min-width:980px;min-height:640px}.simbar{max-width:none;top:10px;left:10px;right:10px;overflow-x:auto;transform:none}}@media (width<=760px){.canvas-floating{align-items:stretch;left:12px;right:12px}.canvas-mode,.canvas-zoom{justify-content:center}.canvas-mode{flex-wrap:wrap}.diagram-guide{left:16px;right:16px}.props-row,.einj-body{grid-template-columns:1fr}.einj-side,.einj-detail{border:none;border-bottom:1px solid var(--border)}.einj-grid{grid-template-columns:1fr}.simbar{white-space:normal;flex-wrap:wrap}.simbar-params,.simbar-rt,.simbar-btns{border-right:none;width:100%}.simbar-params,.simbar-rt{border-bottom:1px solid var(--border)}.simbar-params{flex-wrap:wrap;row-gap:6px;padding:10px 12px}.sim-field{flex:calc(50% - 8px);margin-right:0;padding-right:8px}.sim-field:last-child{flex-basis:100%;padding-right:0}.sim-field-inp{width:100%;min-width:0}.simbar-rt{justify-content:space-between}.simbar-btns{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.sim-btn{min-width:0;padding:8px 6px}}header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-bottom:1px solid #c6d6e8d1;height:62px;box-shadow:0 10px 30px #1e3a5f14}.logo{border-right:1px solid #d6e4f0b8;gap:12px;width:252px;padding:0 18px 0 24px}.logo-badge{background:linear-gradient(135deg,#2f73ff 0%,#5aa7ff 100%);border-radius:11px;width:34px;height:34px;font-size:0;position:relative;box-shadow:0 10px 22px #2f73ff3d}.logo-badge:before{content:"";border:3px solid #fff;border-left-color:#ffffff8f;border-radius:8px;width:17px;height:17px;transform:rotate(-34deg)}.logo-name{color:#111827;letter-spacing:0;font-size:20px;font-weight:800}.step-pill{background:0 0;border:none;border-radius:0;gap:12px;padding:18px 4px 17px;position:relative}.step-item.active .step-pill{background:0 0}.step-item.active .step-pill:after{content:"";background:#2f73ff;border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.step-num{color:#64748b;background:#e8eef6;width:28px;height:28px;font-size:13px;box-shadow:inset 0 0 0 1px #94a3b833}.step-arrow:after{content:">";color:#9aabc0;font-size:15px;top:-9px;right:-9px}.toolbar{border-left:1px solid #d6e4f0b8;justify-content:flex-end;gap:9px;min-width:420px;padding:0 18px}.tbtn{color:#24415f;min-height:38px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe5f1;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700}.tbtn:before{border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.tbtn-save-sys:before,.tbtn-save-res:before{content:"□"}.tbtn:hover:not(.tbtn-disabled){transform:translateY(-1px);box-shadow:0 12px 24px #1e3a5f1a}.tbtn-save-res{color:#fff;background:#2f73ff;border-color:#2f73ff;box-shadow:0 12px 26px #2f73ff47}.tbtn-save-res.ready{background:#2f73ff}.tbtn-save-res:hover:not(.tbtn-disabled){color:#fff;background:#215fe0!important}.tbtn-reset-sys{color:#dc2626;background:#fff7f7;border-color:#fee2e2}main{background:#edf3fa;min-height:0}.lpanel{background:#fffffff0;border-right:1px solid #cbd8e8e6;width:236px;min-height:0;box-shadow:8px 0 28px #1e3a5f0d}.lpanel-top{background:linear-gradient(#fff 0%,#f8fbff 100%);border-bottom:1px solid #d6e4f0d1;align-items:center;gap:10px;padding:14px 14px 12px;display:flex}.project-select{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe6f4;border-radius:8px;flex-direction:column;flex:1;gap:3px;padding:9px 11px;display:flex}.project-select__label{color:#7d8ea6;font-size:10px;font-weight:700}.project-select__name{text-overflow:ellipsis;white-space:normal;color:#1f3554;font-size:12px;font-weight:800;overflow:hidden}.project-state{color:#16a34a;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;flex-shrink:0;padding:5px 8px;font-size:11px;font-weight:800}.lgroup-head{color:#31445e;letter-spacing:0;background:0 0;border:0;margin:10px 0 6px;padding:5px 6px;font-size:12px;font-weight:900;position:static}.lgroup-icon{color:#2f73ff;background:#eef5ff;border-radius:999px;width:20px;height:20px;font-size:11px;font-weight:900}.lgroup-body{flex-direction:column;gap:6px;padding:0 0 4px;display:flex}.citem{color:#38516d;background:#fbfdff;border:1px solid #e2ebf5;border-radius:8px;min-height:34px;padding:7px 9px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s,color .18s;box-shadow:inset 0 1px #ffffffd9}.canvas-wrap{min-height:0;box-shadow:var(--shadow-md);background:#fff;border:1px solid #c6d6e8d1;border-radius:12px;margin:10px;overflow:hidden}.simbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #dbe6f4;border-radius:10px;justify-content:space-between;max-width:none;top:12px;left:12px;right:12px;transform:none;box-shadow:0 12px 28px #1e3a5f1a}.simbar-title{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:128px;padding:0 18px;display:flex}.simbar-title__kicker{color:#7d8ea6;font-size:10px;font-weight:800}.simbar-params{border-right:1px solid var(--border);flex:1;justify-content:center}.sim-field{margin-right:14px;padding:9px 12px 9px 0}.sim-field-lbl{color:#596c86;font-size:12px;font-weight:800}.sim-field-inp{background:#fbfdff;border:1px solid #dbe5f1;border-radius:7px;height:30px;font-size:12px}.sim-field-inp:focus{box-shadow:var(--ring-blue);border-color:#2f73ff}.simbar-rt{padding:9px 18px}.toggle-thumb{width:18px;height:18px}.sim-btn{min-width:72px;padding:9px 14px}.sim-btn:hover:not(.sim-btn-disabled){background:#f0f6ff}.sim-btn-lbl{font-size:11px;font-weight:800}.sim-btn-stop .sim-btn-icon,.sim-btn-stop .sim-btn-lbl{color:#dc2626}.canvas-breadcrumbs{border-radius:10px;top:76px;left:16px}.diagram-placeholder-icon{color:#2f73ff;background:#edf4ff;border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:28px;padding:0 12px;font-size:12px;font-weight:900;display:flex}.blk{border-width:1.5px;border-radius:9px;box-shadow:0 10px 24px #1e3a5f1a}.blk-lbl{color:#142b4a;font-size:13px}.node-port__inner{background:#fff;width:7px;height:7px;box-shadow:0 0 0 2px #ffffffe6}.rpanel{background:#fffffff5;border-left:1px solid #cbd8e8e6;width:306px;min-height:0;box-shadow:-8px 0 28px #1e3a5f0d}.ph{text-transform:none;letter-spacing:0;background:linear-gradient(#fff 0%,#f8fbff 100%);border-bottom:1px solid #d6e4f0d1;padding:16px 16px 12px}.ph-sub{color:#7d8ea6;margin-top:3px;font-size:11px;font-weight:700}.props-tabs{background:#fbfdff;border-bottom:1px solid #dbe6f4;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 12px;display:grid}.rpanel[data-props-panel-kind=fault-tag] .props-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.rpanel[data-props-panel-kind=fault-injector] .props-tabs{grid-template-columns:1fr}.rpanel[data-props-panel-kind=scope] .props-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.props-tab{color:#61728a;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;min-width:0;padding:11px 4px 9px;font-size:11px;font-weight:800}.props-tab:hover{color:#2f73ff}.props-tab.is-disabled,.props-tab:disabled{color:#a6b4c6;cursor:not-allowed;opacity:.7}.props-tab.is-disabled:hover,.props-tab:disabled:hover{color:#a6b4c6}.props-tab.is-active{color:#2f73ff;border-bottom-color:#2f73ff}.rpanel[data-props-panel-kind=fault-tag] .props-tab.is-active{color:#dc2626;border-bottom-color:#dc2626}.rpanel[data-props-panel-kind=scope] .props-tab.is-active{color:#16a34a;border-bottom-color:#16a34a}.props-panel-shell{flex-direction:column;gap:14px;display:flex}.props-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.props-panel-hero{background:linear-gradient(#fff 0%,#f7fbff 100%);border:1px solid #dbe6f4;border-radius:14px;flex-shrink:0;height:auto;min-height:0;padding:13px 13px 12px;display:block;box-shadow:0 10px 22px #1e3a5f0d}.props-panel-hero--component{background:linear-gradient(#fff 0%,#f5f9ff 100%);border-color:#d9e7ff}.props-panel-hero--scope{background:linear-gradient(#fcfffd 0%,#f2fbf6 100%);border-color:#cdeed8}.props-panel-hero--instrument{background:linear-gradient(#fff 0%,#f6faff 100%);border-color:#d9e8f6}.props-panel-hero--edge{background:linear-gradient(#fff 0%,#f4f8ff 100%);border-color:#d8e3fb}.props-panel-hero--fault-tag{background:linear-gradient(#fffdfd 0%,#fff4f4 100%);border-color:#f5cccc}.props-panel-hero--fault-injector{background:linear-gradient(#fffefe 0%,#fff6f6 100%);border-color:#ffd6d6}.props-panel-hero__main{flex-direction:column;gap:3px;display:flex}.props-panel-hero__eyebrow{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:#2f73ff;font-size:9px;font-weight:900}.props-panel-hero--scope .props-panel-hero__eyebrow{color:#16a34a}.props-panel-hero--instrument .props-panel-hero__eyebrow{color:#0891b2}.props-panel-hero--edge .props-panel-hero__eyebrow{color:#4f46e5}.props-panel-hero--fault-tag .props-panel-hero__eyebrow,.props-panel-hero--fault-injector .props-panel-hero__eyebrow{color:#dc2626}.props-panel-hero__title{color:#163354;font-size:15px;font-weight:900;line-height:1.3}.props-panel-hero__meta{grid-template-columns:1fr;gap:7px;margin-top:12px;display:grid}.props-panel-hero__pill{background:#fff;border:1px solid #e5edf7;border-radius:10px;min-width:0;padding:8px 9px}.props-panel-hero__pill span{color:#7b8ea5;font-size:9px;font-weight:800;line-height:1.2;display:block}.props-panel-hero__pill strong{color:#18304f;overflow-wrap:anywhere;margin-top:4px;font-size:11px;font-weight:900;line-height:1.45;display:block}.props-panel-shell__content{flex-direction:column;gap:12px;display:flex}.props-panel-shell--fault-tag .props-target-card,.props-panel-shell--fault-tag .props-fault-card{background:#fff7f7;border-color:#f5caca}.props-panel-shell--scope .props-target-card{border-left-color:#16a34a}.props-panel-shell--fault-injector .props-primary-action{background:#2f73ff;border-color:#2f73ff}.fault-tag-overview-panel{flex-direction:column;gap:12px;display:flex}.fault-tag-binding-card{grid-template-columns:1fr;gap:8px;display:grid}.fault-tag-binding-card div,.fault-tag-param-preview__row{background:snow;border:1px solid #f0d4d4;border-radius:9px;min-width:0;padding:9px 10px}.fault-tag-binding-card span,.fault-tag-param-preview__row span{color:#8a6070;font-size:9px;font-weight:900;display:block}.fault-tag-binding-card strong,.fault-tag-param-preview__row strong{color:#162a45;font-family:var(--font-data);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.35;display:block}.fault-tag-param-preview{flex-direction:column;gap:7px;display:flex}.fault-tag-param-preview__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.fault-tag-param-preview__head .pglbl{margin:0}.fault-tag-param-edit{color:#b91c1c;background:#fff7f7;border-color:#fecaca;flex:none;min-height:28px;padding:0 10px}.fault-tag-param-edit:hover{color:#991b1b;background:#fff1f1;border-color:#ef4444}.scope-overview-compact{flex-direction:column;gap:10px;display:flex}.scope-overview-open{color:#fff;cursor:pointer;background:#16a34a;border:1px solid #16a34a52;border-radius:9px;min-height:38px;font-size:13px;font-weight:900;box-shadow:0 10px 20px #16a34a24}.scope-overview-open:hover{background:#128c3f}.scope-mini-channel-list{grid-template-columns:1fr;gap:8px;display:grid}.scope-mini-channel{background:#fbfdff;border:1px dashed #cbd8e7;border-left:4px solid #cbd8e7;border-radius:10px;padding:10px 11px}.scope-mini-channel.is-connected{background:#f7fdf9;border-style:solid;border-left-color:#16a34a}.scope-mini-channel span{color:#6e86a3;font-size:10px;font-weight:900;display:block}.scope-mini-channel strong{color:#173b69;overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.35;display:block}.scope-export-panel{flex-direction:column;gap:12px;display:flex}.scope-export-summary{background:linear-gradient(#fcfffd 0%,#f4fbf7 100%);border:1px solid #16a34a38;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.scope-export-summary strong{color:#133c2a;margin-top:3px;font-size:16px;font-weight:900;display:block}.scope-export-summary span{color:#5f7b68;white-space:nowrap;font-size:11px;font-weight:800}.scope-export-kicker{color:#16a34a;font-size:10px;font-weight:900}.scope-export-options{flex-direction:column;gap:8px;display:flex}.scope-export-option{cursor:pointer;background:#fbfdff;border:1px solid #dbe7ef;border-radius:10px;align-items:flex-start;gap:9px;padding:10px;display:flex}.scope-export-option:has(input:checked){background:#f7fdf9;border-color:#16a34a6b;box-shadow:0 8px 18px #16a34a14}.scope-export-option input,.scope-export-chip input{accent-color:#16a34a;flex:none;width:14px;height:14px}.scope-export-option strong{color:#163451;font-size:12px;font-weight:900;display:block}.scope-export-option em{color:#72879e;margin-top:3px;font-size:10px;font-style:normal;line-height:1.35;display:block}.scope-export-fields{flex-wrap:wrap;gap:8px;display:flex}.scope-export-chip{color:#334b66;cursor:pointer;background:#fbfdff;border:1px solid #dbe7ef;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.scope-export-chip:has(input:checked){color:#116b34;background:#f0fbf4;border-color:#16a34a6b}.scope-export-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.props-field input,.props-field select,.props-field textarea{background:#fbfdff;border:1px solid #dbe5f1;border-radius:8px}.props-field input:focus,.props-field select:focus,.props-field textarea:focus{box-shadow:var(--ring-blue);border-color:#2f73ff}.props-target-card{background:#fbfdff;border:1px solid #dbe6f4;border-left:4px solid #2f73ff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px;display:flex}.props-target-card.is-faulted{background:#fff7f7;border-left-color:#dc2626}.props-state-pill{white-space:nowrap;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.props-state-pill.is-normal{color:#166534;background:#dcfce7}.props-state-pill.is-faulted{color:#991b1b;background:#fee2e2}.props-empty-state{color:#66758a;background:#f8fbff;border:1px dashed #cbd7e6;border-radius:8px;padding:12px;font-size:12px;line-height:1.5}.props-fault-stack{flex-direction:column;gap:10px;display:flex}.props-fault-card{background:#fff7f7;border:1px solid #fecaca;border-radius:8px;padding:10px}.props-fault-card__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.props-fault-card strong{color:#991b1b;font-size:12px;line-height:1.35;display:block}.props-fault-card span{color:#7f1d1d;margin-top:3px;font-size:10px;line-height:1.45;display:block}.props-fault-remove{color:#b91c1c;background:#fff;border-color:#fecaca;width:auto;min-width:52px;padding:6px 8px}.sbar{background:linear-gradient(#f8fbff 0%,#eef4fb 100%);border-top:1px solid #cbd8e8bd;align-items:stretch;gap:8px;height:100%;min-height:0;max-height:none;padding:8px 10px 10px;overflow:hidden;box-shadow:inset 0 1px #ffffffdb,0 -12px 30px #1e3a5f0d}.sbar-log{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #ccdaeae0;border-radius:12px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 10px 24px #1e3a5f0f}.sbar-log-head{background:linear-gradient(#fff 0%,#f8fbff 100%);border-bottom:1px solid #e2ebf6f2;flex:0 0 30px;justify-content:space-between;align-items:flex-end;gap:12px;min-height:30px;padding:0 12px;display:flex}.sbar-tabs{border-bottom:0;align-items:flex-end;gap:18px;height:100%;padding:0;display:flex}.sbar-tab{color:#5f728c;cursor:pointer;letter-spacing:.02em;background:0 0;border:0;border-bottom:2px solid #0000;align-items:flex-end;height:100%;padding:0 0 7px;font-size:11px;font-weight:800;display:flex}.sbar-actions{align-items:center;gap:6px;height:100%;padding-bottom:5px;display:flex}.sbar-action{color:#5c708d;cursor:pointer;background:#fff;border:1px solid #cddbece6;border-radius:7px;height:22px;padding:0 9px;font-size:10px;font-weight:800;transition:background .16s,border-color .16s,color .16s}.sbar-action:hover{color:#2f73ff;background:#eef5ff;border-color:#bdd3f4}.sbar-log-table{flex-direction:column;flex:1;display:flex;overflow:hidden}.sbar-row.is-hidden,.sbar-empty.is-hidden{display:none}.sbar-row{color:#3f5672;border-bottom:1px solid #ecf2f9f0;grid-template-columns:92px 76px 100px minmax(0,1fr);align-items:center;height:17px;min-height:17px;padding:0 12px;font-size:11px;display:grid}.sbar-row--head{color:#6d7f97;letter-spacing:.02em;background:#f7fbff;font-size:10px;font-weight:900}.sbar-badge{border-radius:999px;width:max-content;padding:1px 7px;font-size:10px;font-weight:900}.sbar-badge--ok{color:#16a34a;background:#ecfdf5}.sbar-badge--warn{color:#d97706;background:#fff7ed}.sbar-badge--error{color:#ef4444;background:#fef2f2}.sbar-empty{color:#7c8fa7;background:linear-gradient(#fbfdff 0%,#f8fbff 100%);flex:1;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.sbar-metrics{flex:0 0 clamp(250px,24vw,320px);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;display:grid}.sbar-card{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #ccdaeae0;border-radius:9px;flex-direction:column;justify-content:center;gap:1px;height:38px;min-height:0;max-height:38px;padding:6px 8px 5px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 14px #1e3a5f0d}.sbar-card__accent{opacity:.8;background:linear-gradient(90deg,#2f73ff 0%,#89b7ff 100%);border-radius:0 0 999px 999px;height:2px;position:absolute;top:0;left:8px;right:8px}.sbar-card:nth-child(2) .sbar-card__accent{background:linear-gradient(90deg,#ef4444 0%,#fca5a5 100%)}.sbar-card:nth-child(3) .sbar-card__accent{background:linear-gradient(90deg,#16a34a 0%,#86efac 100%)}.sbar-card:nth-child(4) .sbar-card__accent{background:linear-gradient(90deg,#0e8fa8 0%,#67e8f9 100%)}.sbar-card__label{color:#657891;letter-spacing:0;font-size:9px;font-weight:900}.sbar-card__value,.sbar-time{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:#13233a;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:900;line-height:1.1;overflow:hidden}.sbar-metric-line{align-items:baseline;gap:3px;min-width:0;display:flex}.sbar-metric-number{font-family:var(--font-data);color:#0d2038;font-variant-numeric:tabular-nums;font-size:15px;font-weight:900;line-height:1}.sbar-metric-unit{font-family:var(--font-ui);color:#536b89;font-size:9px;font-weight:800;line-height:1}.sbar-metric-sep{color:#9aaec7;padding:0 1px;font-size:10px;font-weight:800}.sbar-state{color:#16a34a;background:#ecfdf5;border:1px solid #bbf7d0eb;border-radius:999px;align-items:center;gap:5px;width:max-content;padding:2px 7px;font-size:10px;font-weight:900;display:flex}.sdot{width:6px;height:6px}button:focus-visible,.citem:focus-visible,.canvas-viewport:focus-visible{outline-offset:2px;outline:2px solid #2f73ffa6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1180px){.logo{width:220px}.toolbar{min-width:0}.tbtn{padding:8px 10px}.rpanel{width:280px}.sbar-metrics{flex-basis:300px}}@media (width<=980px){header{height:auto}.logo{width:auto}.stepbar{order:3}.toolbar{min-width:100%}.canvas-wrap{border-radius:10px;margin:8px}.simbar{position:absolute}.sbar{flex-direction:column;height:auto;min-height:0;max-height:none;overflow:visible}.sbar-metrics{flex:none;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.lpanel-top{padding:10px}.simbar-title{display:none}.sbar-row{grid-template-columns:74px 62px 72px minmax(0,1fr)}.sbar-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.workbench-taskbar{z-index:30;background:linear-gradient(#f7fbff 0%,#edf4fb 100%);border-bottom:1px solid #cbd8e8e6;grid-template-columns:252px minmax(0,1fr);gap:12px;height:100%;min-height:0;padding:10px 12px;display:grid;box-shadow:0 8px 24px #1e3a5f0f}.task-project{min-width:0;height:100%;box-shadow:var(--shadow-sm);background:#fffffff5;border:1px solid #dbe6f4;border-radius:10px;align-items:center;gap:10px;padding:0 8px;display:flex}.task-project .project-select{box-shadow:none;background:0 0;border:0;padding:0}.project-favorite{color:#9aabc0;font-size:18px;line-height:1}.workbench-taskbar .project-state{padding:5px 9px}.workbench-taskbar .simbar{align-items:center;min-width:0;max-width:none;height:100%;display:flex;position:relative;inset:auto;overflow:hidden;transform:none}.workbench-main{background:#edf3fa;min-width:0;min-height:0}.workbench-main .lpanel,.workbench-main .rpanel{width:100%}.workbench-main .lpanel{grid-area:1/1/4}.workbench-main .canvas-wrap{grid-area:1/3;min-width:0}.workbench-main .rpanel{grid-area:1/5/4}.workbench-main .sbar{grid-area:3/3}.workbench-main .layout-resizer--left{grid-area:1/2/4}.workbench-main .layout-resizer--right{grid-area:1/4/4}.workbench-main .layout-resizer--bottom{grid-area:2/3}.layout-resizer{z-index:40;cursor:col-resize;touch-action:none;background:0 0;border:0;padding:0;position:relative}.layout-resizer:before{content:"";background:#2f73ff00;transition:background .16s,box-shadow .16s;position:absolute;inset:0}.layout-resizer:hover:before,.layout-resizer:focus-visible:before,.is-layout-resizing .layout-resizer:before{background:#2f73ff1f;box-shadow:inset 0 0 0 1px #2f73ff2e}.layout-resizer--vertical:after{content:"";background:#c6d6e8;border-radius:999px;width:2px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.layout-resizer--horizontal{cursor:row-resize;background:#edf4fb}.layout-resizer--horizontal:after{content:"";background:#c6d6e8;border-radius:999px;width:48px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.is-layout-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.is-layout-resizing .layout-resizer--horizontal{cursor:row-resize}.workbench-taskbar .simbar-title{min-width:134px}.workbench-taskbar .simbar-params{min-width:0}.workbench-taskbar .simbar-btns{flex-shrink:0}.canvas-wrap{margin:8px 8px 8px 10px}.canvas-chrome{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #cbd8e8e0;flex-direction:column;display:flex;position:absolute;top:0;left:0;right:0}.canvas-tabs{background:#fff;border-bottom:1px solid #e5edf6;align-items:flex-end;gap:14px;height:46px;padding:0 22px;display:flex}.canvas-tab{color:#53667f;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;min-width:86px;height:40px;font-size:13px;font-weight:900}.canvas-tab:hover{color:#2f73ff}.canvas-tab.is-active{color:#2f73ff;background:linear-gradient(#edf4ff00 0%,#edf4ffeb 100%);border-bottom-color:#2f73ff}.canvas-tools{align-items:center;gap:8px;height:42px;padding:6px 18px;display:flex}.canvas-tool,.canvas-tools__zoom button{color:#28415f;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:900;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.canvas-tool:hover,.canvas-tools__zoom button:hover{color:#2f73ff;background:#eef5ff;border-color:#c9daf3}.canvas-tool.is-active{color:#2f73ff;background:#edf4ff;border-color:#b8d1fb}.canvas-tool:disabled{cursor:not-allowed;opacity:.38}.canvas-tool:disabled:hover{color:#28415f;background:0 0;border-color:#0000}.canvas-wrap[data-interaction-mode=pan] .canvas-viewport{cursor:grab}.canvas-wrap[data-interaction-mode=pan] .canvas-viewport.panning{cursor:grabbing}.canvas-testpoint-tools{align-items:center;display:none}.canvas-wrap[data-view=canvas] .canvas-testpoint-tools{display:flex}.canvas-testpoint-toggle{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;min-height:30px;padding:0 12px;font-size:13px;font-weight:800}.canvas-testpoint-toggle.is-active,.canvas-testpoint-toggle[aria-pressed=true]{color:#fff;background:#0f62fe}.canvas-wrap[data-view=dataflow] .edge-path{filter:drop-shadow(0 0 5px #2f73ff29)}.canvas-wrap[data-view=dataflow] .edge-path.is-dataflow-fault{stroke:#dc2626;stroke-width:3px;filter:drop-shadow(0 0 7px #dc262638)}.canvas-wrap[data-view=dataflow] .edge-path.is-dataflow-protocol{stroke-dasharray:8 6;stroke:#7c3aed}.canvas-wrap[data-view=dataflow] .edge-path.is-dataflow-residual{stroke:#f59e0b;stroke-width:3px}.canvas-wrap[data-view=dataflow] .edge-path.is-response-affected{stroke:#f59e0b;stroke-width:3.2px;filter:drop-shadow(0 0 6px #f59e0b3d)}.canvas-wrap[data-view=dataflow] .edge-path.is-response-target{stroke:#ef4444;stroke-width:3.8px;filter:drop-shadow(0 0 8px #ef44444d)}.canvas-wrap[data-view=dataflow] .edge-path.is-response-cut{stroke-dasharray:10 6}.simulation-panel,.dataflow-panel{z-index:var(--canvas-layer-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border:1px solid #cbd8e7;border-radius:8px;width:min(380px,100% - 36px);max-height:calc(100% - 184px);display:none;position:absolute;top:154px;right:18px;overflow:auto;box-shadow:0 18px 42px #12243a24}.simulation-panel{width:min(460px,100% - 36px)}.canvas-wrap[data-view=components] .diagram,.canvas-wrap[data-view=components] .empty-state,.canvas-wrap[data-view=components] .canvas-breadcrumbs,.canvas-wrap[data-view=components] .canvas-floating,.canvas-wrap[data-view=components] .canvas-tools{display:none}.canvas-wrap[data-view=components] .canvas-tabs{grid-column:1/-1}.canvas-wrap[data-view=components] .simulation-panel{width:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-top:1px solid #e0e0e0;border-radius:0;display:block;inset:118px 0 0}.canvas-wrap[data-view=dataflow] .dataflow-panel{display:block}.simulation-panel__empty,.dataflow-panel__empty{color:#6b7d95;padding:16px;font-size:12px;line-height:1.7}.d-matrix-panel{z-index:var(--canvas-layer-panel);background:#fff;border:0;border-top:1px solid #e0e0e0;border-radius:0;display:none;position:absolute;inset:48px 0 0;overflow:hidden}.canvas-wrap[data-view=dmatrix] .d-matrix-panel{display:block}.canvas-wrap[data-view=dmatrix] .canvas-chrome{grid-template-rows:48px;height:48px}.canvas-wrap[data-view=dmatrix] .canvas-tabs{grid-row:1}.canvas-wrap[data-view=dmatrix] .canvas-tools,.canvas-wrap[data-view=dmatrix] .canvas-sim-dock,.canvas-wrap[data-view=dmatrix] .simulation-panel,.canvas-wrap[data-view=dmatrix] .dataflow-panel,.canvas-wrap[data-view=dmatrix] .empty-state,.canvas-wrap[data-view=dmatrix] .diagram-guide,.canvas-wrap[data-view=dmatrix] .diagram-placeholder,.canvas-wrap[data-view=dmatrix] .canvas-breadcrumbs,.canvas-wrap[data-view=dmatrix] .canvas-floating{display:none}.d-matrix-panel__empty{color:#6b7d95;padding:16px;font-size:12px;line-height:1.7}.simulation-view{color:#10233f;background:#f4f4f4;flex-direction:column;gap:16px;min-height:100%;padding:18px;display:flex}.simulation-view__header{background:#f4f4f4;border-bottom:1px solid #d9e2f2;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.simulation-view__header span{color:#0f62fe;font-size:12px;font-weight:800}.simulation-view__header h2{margin:3px 0 0;font-size:18px;line-height:1.25}.simulation-view__stats{background:#f7f9fc;border:1px solid #d9e2f2;flex:none;gap:0;display:flex}.simulation-view__stats span{color:#5b6f90;border-left:1px solid #d9e2f2;min-width:70px;padding:7px 9px;font-size:11px;font-weight:700}.simulation-view__stats span:first-child{border-left:0}.simulation-view__stats b{color:#10233f;font-size:16px;display:block}.simulation-point-list{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;display:grid}.simulation-point-card{background:#fff;border:1px solid #d9e2f2;padding:12px}.simulation-point-card__top{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.simulation-point-card__code{color:#0f62fe;background:#e8f1ff;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.simulation-point-card__main{min-width:0}.simulation-point-card__main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.simulation-point-card__main small{text-overflow:ellipsis;white-space:nowrap;color:#6c7e99;margin-top:3px;font-size:11px;display:block;overflow:hidden}.simulation-point-card__time{color:#525252;font-family:var(--font-data);font-size:12px;font-weight:700}.simulation-point-card__values{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.simulation-point-card__values span{background:#f7f9fc;border:1px solid #e5edf8;min-width:0;padding:8px}.simulation-point-card__values em{color:#6c7e99;font-size:11px;font-style:normal;display:block}.simulation-point-card__values b{text-overflow:ellipsis;white-space:nowrap;color:#10233f;font-family:var(--font-data);margin-top:3px;font-size:13px;display:block;overflow:hidden}.simulation-panel__empty{background:#fff}.simulation-chart{background:#fbfdff;border:1px solid #e5edf8;margin-top:12px}.simulation-chart svg{width:100%;height:auto;min-height:180px;display:block}.simulation-chart__axis{stroke:#6f7f95;stroke-width:1.2px}.simulation-chart__grid{stroke:#d9e2f2;stroke-width:1px}.simulation-chart__line{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.simulation-chart__line--actual{stroke:#0f62fe}.simulation-chart__line--reference{stroke:#8d8d8d;stroke-dasharray:5 5}.simulation-chart__label{fill:#525252;text-anchor:middle;font-size:12px;font-weight:700}.simulation-chart__tick{fill:#6f7f95;font-family:var(--font-data);font-size:10px}.simulation-chart__tick--end{text-anchor:end}.simulation-chart__legend{color:#525252;justify-content:flex-end;align-items:center;gap:14px;padding:0 10px 9px;font-size:11px;font-weight:700;display:flex}.simulation-chart__legend span{align-items:center;gap:6px;display:inline-flex}.simulation-chart__legend i{border-top:2px solid #0f62fe;width:18px;height:0}.simulation-chart__legend i.is-reference{border-top-style:dashed;border-top-color:#8d8d8d}.d-matrix{isolation:isolate;color:#161616;letter-spacing:.16px;background:#fff;grid-template-rows:auto auto minmax(0,1fr);width:100%;min-width:0;height:100%;font-family:IBM Plex Sans,Helvetica Neue,Arial,sans-serif;display:grid;position:relative}.d-matrix-header{z-index:10;background:#fff;border-bottom:1px solid #e0e0e0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:64px;padding:10px 24px;display:grid;position:relative}.d-matrix-header>div{min-width:0}.d-matrix-header span{color:#0f62fe;font-size:12px;font-weight:400;line-height:1.33}.d-matrix-header h2{color:#161616;letter-spacing:0;margin:2px 0 0;font-size:22px;font-weight:400;line-height:1.2}.d-matrix-header p{color:#525252;margin:0;font-size:12px;font-weight:400;line-height:1.45;display:none}.d-matrix-export{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;border-radius:0;min-height:40px;padding:0 16px;font-size:14px;font-weight:400;line-height:1.29}.d-matrix-export:hover{color:#fff;background:#0f62fe}.d-matrix-summary{z-index:9;background:#f4f4f4;border-bottom:1px solid #e0e0e0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;display:grid;position:relative}.d-matrix-summary span{background:#f4f4f4;border-right:1px solid #e0e0e0;padding:12px 24px}.d-matrix-summary span:last-child{border-right:0}.d-matrix-summary b{color:#161616;font-size:22px;font-weight:400;line-height:1.18;display:block}.d-matrix-summary em{color:#525252;margin-top:4px;font-size:12px;font-style:normal;font-weight:400;line-height:1.33;display:block}.d-matrix-table-wrap{z-index:1;background:#fff;border:0;min-height:0;margin:0;position:relative;overflow:auto}.d-matrix-table{border-collapse:separate;border-spacing:0;color:#161616;width:max-content;min-width:100%;font-size:14px;line-height:1.29}.d-matrix-table th,.d-matrix-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;min-width:58px;height:46px;padding:8px 12px}.d-matrix-table th{z-index:2;color:#525252;background:#f4f4f4;font-size:14px;font-weight:600;position:sticky;top:0}.d-matrix-table .d-matrix-sticky{text-align:left;background:#fff;min-width:260px;max-width:300px;position:sticky;left:0;box-shadow:1px 0 #e0e0e0}.d-matrix-table td.d-matrix-sticky{z-index:3}.d-matrix-table th.d-matrix-sticky{z-index:5;background:#f4f4f4;top:0}.d-matrix-table strong,.d-matrix-table small{text-overflow:ellipsis;display:block;overflow:hidden}.d-matrix-table small{color:#525252;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.33}.d-matrix-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:600}.d-matrix-cell.is-detectable{color:#0e6027;background:#defbe6}.d-matrix-cell.is-empty{color:#8d8d8d;background:#fff}.d-matrix-practice{color:#393939;cursor:pointer;align-items:center;gap:6px;min-height:28px;font-size:12px;display:inline-flex}.d-matrix-practice input{accent-color:#0f62fe;width:14px;height:14px;margin:0}.d-matrix-path-action{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;min-height:28px;padding:0 10px;font-size:12px}.d-matrix-path-action:hover{color:#fff;background:#0f62fe}.troubleshooting-path{z-index:12;background:#fff;border:1px solid #0f62fe;gap:10px;width:min(420px,100% - 36px);max-height:calc(100% - 104px);padding:16px;display:grid;position:absolute;top:82px;right:18px;overflow:auto;box-shadow:0 16px 40px #0f172a24}.troubleshooting-path__title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.troubleshooting-path__title span{color:#0f62fe;font-size:12px;display:block}.troubleshooting-path__title strong{color:#161616;margin-top:3px;font-size:16px;line-height:1.35;display:block}.troubleshooting-path__title button{color:#161616;cursor:pointer;background:#fff;border:1px solid #c6c6c6;min-height:30px}.troubleshooting-path__meta{flex-wrap:wrap;gap:8px;display:flex}.troubleshooting-path__meta span{color:#0f62fe;background:#edf5ff;border:1px solid #d0e2ff;padding:3px 8px;font-size:12px}.troubleshooting-path p{color:#525252;margin:0;font-size:13px;line-height:1.6}.troubleshooting-path__steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.troubleshooting-path__steps li{background:#f4f4f4;border:1px solid #e0e0e0;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:10px;display:grid}.troubleshooting-path__steps b{color:#fff;background:#0f62fe;border-radius:999px;justify-content:center;align-items:center;height:32px;display:flex}.troubleshooting-path__steps strong,.troubleshooting-path__steps span,.troubleshooting-path__steps small{display:block}.troubleshooting-path__steps strong{color:#161616;font-size:14px}.troubleshooting-path__steps span{color:#393939;margin-top:3px;font-size:13px;line-height:1.5}.troubleshooting-path__steps small{color:#6f6f6f;margin-top:5px;font-size:12px;line-height:1.5}.troubleshooting-path__empty{color:#525252;border:1px dashed #c6c6c6;padding:20px}.dataflow-head{background:linear-gradient(#fff 0%,#f7fbff 100%);border-bottom:1px solid #e1e9f4;padding:12px 14px 10px}.dataflow-title{color:#10243d;font-size:14px;font-weight:900}.dataflow-sub{color:#6b7d95;margin-top:3px;font-size:11px;line-height:1.5}.dataflow-stats{border-bottom:1px solid #e7eef7;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px 12px;display:grid}.dataflow-stat{background:#fbfdff;border:1px solid #dbe6f4;border-radius:7px;min-width:0;padding:8px 7px}.dataflow-stat span{color:#6b7d95;font-size:10px;font-weight:800;display:block}.dataflow-stat strong{color:#0f2747;font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-top:2px;font-size:14px;font-weight:900;display:block}.dataflow-list{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.dataflow-section{gap:8px;min-width:0;display:grid}.dataflow-section__head{color:#18304f;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:900;display:flex}.dataflow-section__count{color:#2f73ff;min-width:28px;height:22px;font-family:var(--font-data);font-variant-numeric:tabular-nums;background:#f7fbff;border:1px solid #dbe6f4;border-radius:999px;place-items:center;padding:0 8px;font-size:11px;font-weight:900;display:inline-grid}.dataflow-section__body{gap:8px;min-width:0;display:grid}.dataflow-edge-card{background:#fff;border:1px solid #dbe6f4;border-radius:8px;overflow:hidden}.dataflow-edge-card.is-fault{background:snow;border-color:#fecaca}.dataflow-edge-card.is-protocol{border-color:#ddd6fe}.dataflow-edge-card.is-residual{border-color:#fed7aa}.dataflow-edge-top{align-items:flex-start;gap:8px;padding:10px 10px 7px;display:flex}.dataflow-edge-index{color:#1d6fbf;width:22px;height:22px;font-family:var(--font-data);background:#edf4ff;border-radius:7px;flex:none;place-items:center;font-size:11px;font-weight:900;display:grid}.dataflow-edge-card.is-fault .dataflow-edge-index{color:#dc2626;background:#fee2e2}.dataflow-edge-main{flex:1;min-width:0}.dataflow-edge-name{white-space:normal;text-overflow:clip;-webkit-line-clamp:2;color:#10243d;-webkit-box-orient:vertical;font-size:12px;font-weight:900;display:-webkit-box;overflow:visible}.dataflow-edge-route-grid{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:stretch;gap:6px;min-width:0;margin-top:8px;display:grid}.dataflow-edge-route-grid span{background:#f8fbff;border:1px solid #e3ebf5;gap:2px;min-width:0;padding:7px 8px;display:grid}.dataflow-edge-route-grid em{color:#70839d;font-size:9px;font-style:normal;font-weight:900}.dataflow-edge-route-grid strong{color:#10243d;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:11px;font-weight:900}.dataflow-edge-route-grid code{color:#526985;min-width:0;font-family:var(--font-data);white-space:normal;overflow-wrap:anywhere;font-size:10px;font-weight:800}.dataflow-edge-route-grid b{color:#2f73ff;place-items:center;font-size:13px;font-weight:900;display:grid}.dataflow-edge-id{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.dataflow-edge-id span{color:#526985;min-width:0;font-family:var(--font-data);white-space:normal;overflow-wrap:anywhere;background:#fff;border:1px solid #e3ebf5;padding:2px 6px;font-size:9px;font-weight:800}.dataflow-edge-route{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;text-overflow:clip;width:1px;height:1px;margin:-1px;padding:0;position:absolute;top:0;left:0;overflow:hidden}.dataflow-edge-badges{flex-wrap:wrap;gap:5px;padding:0 10px 10px 40px;display:flex}.dataflow-badge{color:#47617f;background:#f8fbff;border:1px solid #dbe6f4;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800}.dataflow-badge--fault{color:#dc2626;background:#fff1f2;border-color:#fecaca}.dataflow-badge--protocol{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.dataflow-badge--residual{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.dataflow-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.dataflow-metric{background:#fbfdff;border:1px solid #dbe6f4;border-radius:7px;min-width:0;padding:8px}.dataflow-metric span{color:#6b7d95;font-size:10px;font-weight:800;display:block}.dataflow-metric strong{text-overflow:ellipsis;white-space:nowrap;color:#10243d;font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-top:3px;font-size:13px;font-weight:900;display:block;overflow:hidden}.dataflow-panel{background:#f8fbff;width:auto;max-height:none;inset:140px 18px 14px;overflow:auto}.canvas-wrap[data-view=dataflow] .empty-state,.canvas-wrap[data-view=dataflow] .diagram-guide,.canvas-wrap[data-view=dataflow] .diagram-placeholder,.canvas-wrap[data-view=dataflow] .canvas-breadcrumbs,.canvas-wrap[data-view=dataflow] .canvas-floating{display:none!important}.dataflow-workspace{grid-template-rows:auto minmax(0,1fr);min-width:0;height:max(100%,720px);min-height:0;display:grid}.dataflow-head{background:linear-gradient(#fff 0%,#f7fbff 100%);border-bottom:1px solid #dbe6f4;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;padding:16px 18px 14px;display:grid}.dataflow-head__intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;min-width:0;display:grid}.dataflow-head__summary{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.dataflow-head__summary span{color:#47617f;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dbe6f4;padding:3px 8px;font-size:10px;font-weight:900}.dataflow-legend{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.dataflow-legend__item{color:#47617f;background:#fff;border:1px solid #dbe6f4;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.dataflow-legend__item:before{content:"";background:#2f73ff;border-radius:999px;width:7px;height:7px;margin-right:5px;display:inline-block}.dataflow-legend__item.is-fault:before{background:#dc2626}.dataflow-legend__item.is-protocol:before{background:#7c3aed}.dataflow-legend__item.is-residual:before{background:#d97706}.dataflow-body{grid-template-columns:minmax(0,1fr) clamp(420px,38vw,640px);gap:12px;min-height:0;padding:12px;display:grid}.dataflow-body--semantic{align-items:stretch}.dataflow-main{flex-direction:column;gap:10px;min-width:0;min-height:0;padding-right:2px;display:flex;overflow:auto}.measurement-response-panel{background:#fff;border:1px solid #d3dfec;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid;box-shadow:0 10px 22px #12243a12}.measurement-response-head{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.measurement-response-eyebrow{color:#2f73ff;font-size:10px;font-weight:900}.measurement-response-head h3{color:#10243d;margin:2px 0 0;font-size:15px;font-weight:900}.measurement-response-actions,.measurement-response-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.measurement-response-actions button,.measurement-response-filters button{color:#47617f;cursor:pointer;background:#fff;border:1px solid #dbe6f4;border-radius:7px;min-height:28px;padding:5px 9px;font-size:11px;font-weight:900}.measurement-response-actions button:first-child{color:#0043ce;background:#f2f7ff;border-color:#2f73ff}.measurement-response-actions button:hover,.measurement-response-filters button:hover,.measurement-response-filters button.is-active{color:#0043ce;background:#eef5ff;border-color:#2f73ff}.measurement-response-controls{grid-template-columns:minmax(120px,.8fr) minmax(180px,1.5fr) minmax(96px,.7fr);gap:8px;min-width:0;display:grid}.measurement-response-controls label{gap:4px;min-width:0;display:grid}.measurement-response-controls span{color:#70839d;font-size:10px;font-weight:900}.measurement-response-controls select,.measurement-response-controls input{color:#18304f;background:#fbfdff;border:1px solid #dbe6f4;border-radius:7px;width:100%;min-width:0;height:30px;font-size:11px;font-weight:800}.measurement-response-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-width:0;display:grid}.measurement-response-summary span{background:#fbfdff;border:1px solid #e3ebf5;border-radius:7px;min-width:0;padding:6px 7px}.measurement-response-summary em{color:#70839d;font-size:9px;font-style:normal;font-weight:900;display:block}.measurement-response-summary strong{color:#10243d;font-family:var(--font-data);margin-top:2px;font-size:14px;font-weight:900;line-height:1;display:block}.measurement-response-matrix{gap:7px;min-width:0;max-height:clamp(220px,34vh,420px);padding-right:2px;display:grid;overflow:auto}.measurement-response-empty{color:#70839d;text-align:center;background:#fbfdff;border:1px dashed #cbd8e7;border-radius:7px;padding:12px;font-size:12px;font-weight:800}.measurement-response-row{color:#18304f;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe6f4;border-radius:8px;grid-template-columns:minmax(150px,1.4fr) repeat(4,minmax(78px,.7fr)) minmax(160px,1.3fr);gap:6px;width:100%;min-width:0;padding:8px;display:grid}.measurement-response-row:hover,.measurement-response-row.is-selected{background:#f2f7ff;border-color:#2f73ff}.measurement-response-row.is-cut{background:#f8f7ff;border-color:#ddd6fe}.measurement-response-row.is-abnormal,.measurement-response-row.is-warning{background:#fff7ed;border-color:#fed7aa}.measurement-response-row.is-affected,.measurement-response-row.is-compensating{border-color:#bfdbfe}.measurement-response-row>span{align-content:start;gap:2px;min-width:0;display:grid}.measurement-response-row em{color:#70839d;font-size:9px;font-style:normal;font-weight:900}.measurement-response-row b,.measurement-response-row strong,.measurement-response-row code{color:#10243d;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:11px;font-weight:900;line-height:1.35}.measurement-response-row code{color:#70839d;font-family:var(--font-data);font-size:10px;font-weight:800}.measurement-response-row__reason b{color:#526985;font-weight:800}.propagation-groups{background:#fff;border:1px solid #d3dfec;border-radius:8px;min-width:0;padding:12px;box-shadow:0 10px 22px #12243a12}.propagation-groups__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.propagation-groups__eyebrow{color:#2f73ff;font-size:10px;font-weight:900}.propagation-groups h3{color:#10243d;margin:2px 0 0;font-size:14px;font-weight:900}.propagation-groups__head>span{color:#47617f;border:1px solid #dbe6f4;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.propagation-groups__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;min-width:0;display:grid}.propagation-group{background:#fbfdff;border:1px solid #e3ebf5;border-radius:8px;min-width:0;padding:9px}.propagation-group.is-propagated{background:snow;border-color:#fecaca}.propagation-group.is-blocked{background:#f8f7ff;border-color:#ddd6fe}.propagation-group.is-localEffect{border-color:#bfdbfe}.propagation-group.is-diagnosticOnly{background:#fff7ed;border-color:#fed7aa}.propagation-group__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.propagation-group__head strong,.propagation-group__head span,.propagation-group p,.propagation-group__points strong{white-space:normal;overflow-wrap:anywhere}.propagation-group__head strong{color:#18304f;font-size:12px;font-weight:900}.propagation-group__head span{color:#70839d;text-align:right;font-size:10px;font-weight:800}.propagation-group p{color:#526985;margin:6px 0 8px;font-size:11px;font-weight:800;line-height:1.4}.propagation-group__samples,.propagation-group__edges{gap:6px;min-width:0;display:grid}.propagation-group__chip{color:#18304f;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe6f4;border-radius:7px;gap:2px;width:100%;min-width:0;padding:6px;display:grid}.propagation-group__chip:hover{background:#f2f7ff;border-color:#2f73ff}.propagation-group__chip span,.propagation-group__chip code,.propagation-group__empty,.propagation-group__more{white-space:normal;overflow-wrap:anywhere}.propagation-group__chip span{font-size:10px;font-weight:900}.propagation-group__chip code{color:#70839d;font-family:var(--font-data);font-size:10px;font-weight:800}.propagation-group__empty,.propagation-group__more{color:#70839d;font-size:10px;font-weight:800}.propagation-group__points{border-top:1px solid #e8eef6;gap:2px;padding-top:6px;display:grid}.propagation-group__points span{color:#70839d;font-size:10px;font-weight:900}.propagation-group__points strong{color:#18304f;font-size:10px;font-weight:800}.signal-chain-map{background:#fff;border:1px solid #d3dfec;border-radius:8px;flex:none;min-width:0;max-height:clamp(320px,42vh,520px);overflow:auto;box-shadow:0 10px 22px #12243a12}.signal-chain-map__intro{z-index:2;background:linear-gradient(#fff,#f8fbff);border-bottom:1px solid #e3ebf5;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;top:0}.signal-chain-map__eyebrow{color:#2f73ff;font-size:10px;font-weight:900}.signal-chain-map h3{color:#10243d;margin:2px 0 0;font-size:15px;font-weight:900}.signal-chain-map__count{color:#47617f;background:#fff;border:1px solid #dbe6f4;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.signal-chain-stage{border-bottom:1px solid #edf2f8;min-width:0;padding:12px 14px}.signal-chain-stage:last-child{border-bottom:0}.signal-chain-stage__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.signal-chain-stage__head strong{color:#18304f;font-size:12px;font-weight:900}.signal-chain-stage__head span{color:#70839d;font-size:10px;font-weight:800}.signal-chain-stage__body{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.signal-chain-stage__empty{color:#70839d;border:1px dashed #dbe6f4;border-radius:7px;padding:9px 10px;font-size:11px;font-weight:700}.measurement-point{color:#18304f;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;background:#fbfdff;border:1px solid #dbe6f4;border-radius:8px;width:100%;min-width:0;padding:10px;line-height:1.45;display:block}.measurement-point:hover,.measurement-point.is-selected{background:#f2f7ff;border-color:#2f73ff;box-shadow:0 8px 18px #2f73ff1f}.measurement-point.is-propagated{background:snow;border-color:#fecaca}.measurement-point.is-blocked{background:#f8f7ff;border-color:#ddd6fe}.measurement-point.is-localEffect{border-color:#bfdbfe}.measurement-point.is-diagnosticOnly{background:#fff7ed;border-color:#fed7aa}.measurement-point__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.measurement-point__index{color:#2f73ff;font-family:var(--font-data);font-size:10px;font-weight:900}.measurement-point__tag{color:#47617f;background:#fff;border:1px solid #dbe6f4;border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:900}.measurement-point__name{color:#10243d;margin-top:6px;font-size:13px;font-weight:900;display:block}.measurement-point__path{color:#526985;margin-top:2px;font-size:11px;font-weight:800;display:block}.measurement-point__meta{border-top:1px solid #e8eef6;margin-top:8px;padding-top:8px;display:block}.measurement-point__meta span,.measurement-point__mapping-title{color:#70839d;font-size:10px;font-weight:900}.measurement-point__mapping-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.measurement-point__mapping-link{color:#2f73ff;cursor:pointer;background:#fff;border:1px solid #bcd0e7;flex:none;padding:2px 7px;font-size:10px;font-weight:900}.measurement-point__mapping-link:hover,.measurement-point__mapping-link:focus{background:#edf5ff;border-color:#2f73ff;outline:none}.measurement-point__meta strong{color:#18304f;margin-top:3px;font-size:11px;font-weight:800;display:block}.measurement-point__meta em{color:#70839d;margin-top:2px;font-size:10px;font-style:normal;font-weight:700;display:block}.measurement-point__mapping{border-top:1px solid #e8eef6;margin-top:8px;padding-top:8px;display:block}.measurement-point__mapping-row{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:6px;margin-top:4px;display:grid}.measurement-point__mapping-row em{color:#70839d;font-size:10px;font-style:normal;font-weight:800}.measurement-point__mapping-row code,.measurement-point__mapping-empty{color:#18304f;font-family:var(--font-data);white-space:normal;overflow-wrap:anywhere;font-size:10px;font-weight:800}.propagation-legend{min-width:0}.propagation-legend__title{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:7px;display:flex}.propagation-legend__title strong{color:#18304f;font-size:12px;font-weight:900}.propagation-legend__title span{color:#70839d;font-size:10px;font-weight:800}.propagation-legend__items{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.propagation-legend__item{background:#fff;border:1px solid #dbe6f4;min-width:0;padding:7px 8px}.propagation-legend__item strong,.propagation-legend__item span{white-space:normal;overflow-wrap:anywhere;display:block}.propagation-legend__item strong{color:#18304f;font-size:10px;font-weight:900}.propagation-legend__item span{color:#70839d;margin-top:2px;font-size:9px;font-weight:700;line-height:1.35}.signal-flow-legacy{background:#fff;border:1px solid #d3dfec;border-radius:8px;flex:0 0 360px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:320px;display:grid;overflow:hidden}.signal-flow-legacy__head{border-bottom:1px solid #e3ebf5;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.signal-flow-legacy__head strong{color:#18304f;font-size:12px;font-weight:900}.signal-flow-legacy__head span{color:#70839d;margin-top:2px;font-size:10px;font-weight:800;display:block}.signal-flow-legacy__detail{color:#0043ce;cursor:pointer;background:#fff;border:1px solid #bcd0e7;flex:none;padding:5px 9px;font-size:11px;font-weight:900}.signal-flow-legacy__detail:hover{background:#edf5ff;border-color:#2f73ff}.dataflow-map-overlay{z-index:1200}.dataflow-map-modal{width:min(1040px,100vw - 64px);max-height:min(760px,100vh - 64px)}.dataflow-map-head{align-items:flex-start;gap:14px}.dataflow-map-subtitle{color:#70839d;margin-top:3px;font-size:12px;font-weight:700}.dataflow-map-close{color:#18304f;cursor:pointer;background:#fff;border:1px solid #dbe6f4;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;font-weight:700;display:flex}.dataflow-map-close:hover{color:#0043ce;border-color:#2f73ff}.modal .dataflow-map-body{background:#f8fbff;flex:auto;min-height:0;padding:14px;display:block;overflow:auto}.dataflow-map-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.dataflow-map-summary div{background:#fff;border:1px solid #dbe6f4;min-width:0;padding:10px 12px}.dataflow-map-summary span,.dataflow-map-cell span,.dataflow-map-note span{color:#70839d;font-size:10px;font-weight:900;display:block}.dataflow-map-summary strong{color:#10243d;font-family:var(--font-data);white-space:normal;overflow-wrap:anywhere;margin-top:3px;font-size:14px;font-weight:900;display:block}.dataflow-map-list{gap:12px;display:grid}.dataflow-map-row{background:#fff;border:1px solid #d3dfec}.dataflow-map-row__head{border-bottom:1px solid #e3ebf5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.dataflow-map-row__head span{color:#2f73ff;font-family:var(--font-data);background:#f7fbff;border:1px solid #dbe6f4;padding:3px 8px;font-size:11px;font-weight:900}.dataflow-map-row__head strong{color:#10243d;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:900}.dataflow-map-row__head em{color:#47617f;font-size:11px;font-style:normal;font-weight:900}.dataflow-map-row__path{color:#526985;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid #edf2f8;padding:8px 12px;font-size:12px;font-weight:800}.dataflow-map-grid{border-bottom:1px solid #edf2f8;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dataflow-map-cell{border-bottom:1px solid #edf2f8;border-right:1px solid #edf2f8;min-width:0;padding:10px 12px}.dataflow-map-cell:nth-child(4n){border-right:0}.dataflow-map-cell strong,.dataflow-map-cell code{color:#10243d;font-family:var(--font-data);white-space:normal;overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:900;display:block}.dataflow-map-note{gap:3px;padding:10px 12px;display:grid}.dataflow-map-note strong{color:#18304f;font-size:12px;font-weight:900}.dataflow-map-note em{color:#70839d;font-size:11px;font-style:normal;font-weight:800}.dataflow-map-note--response{background:#fff7ed;border-top:1px solid #fed7aa;margin-top:0}.dataflow-map-note--response span{color:#c2410c}.dataflow-map-note--response strong{color:#9f1239}.dataflow-map-note--response em{color:#9a3412}.dataflow-map-empty{color:#70839d;background:#fff;border:1px dashed #cbd8e7;padding:18px;font-size:13px;font-weight:800}@media (width<=900px){.dataflow-map-summary,.dataflow-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dataflow-map-cell:nth-child(4n){border-right:1px solid #edf2f8}.dataflow-map-cell:nth-child(2n){border-right:0}}.dataflow-side{background:#fff;border:1px solid #d3dfec;border-radius:8px;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden;box-shadow:0 10px 22px #12243a14}.dataflow-side .dataflow-stats{border-bottom:1px solid #e3ebf5;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 12px}.dataflow-side .dataflow-list{align-content:start;gap:12px;min-height:0;padding:12px;display:grid;overflow:auto}.signal-flow-canvas{background:linear-gradient(#ffffffe0,#f4f8fdf5),radial-gradient(circle at 1px 1px,#546e9629 1px,#0000 0) 0 0/18px 18px;border:1px solid #d3dfec;border-radius:8px;min-width:0;min-height:0;overflow:auto;box-shadow:inset 0 1px #ffffffe6}.signal-flow-map{min-width:100%;min-height:100%;position:relative}.signal-flow-lane{z-index:0;pointer-events:none;background:#ffffff8c;border:1px solid #c0cfe2c2;border-left:0;border-right:0;align-items:flex-start;gap:9px;padding:14px 16px;display:flex;position:absolute;left:0}.signal-flow-lane--fault{background:linear-gradient(90deg,#fff1f2b8,#ffffff6b)}.signal-flow-lane--observe{background:linear-gradient(90deg,#f0fdf4ad,#ffffff6b)}.signal-flow-lane__index{color:#2f73ff;width:28px;height:24px;font-family:var(--font-data);background:#fff;border:1px solid #cbd8e7;border-radius:7px;place-items:center;font-size:11px;font-weight:900;display:grid}.signal-flow-lane__copy strong{color:#18304f;font-size:12px;font-weight:900;display:block}.signal-flow-lane__copy span{color:#70839d;margin-top:2px;font-size:10px;font-weight:700;display:block}.signal-flow-edges{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.signal-flow-edge{fill:none;stroke:#2f73ff;stroke-width:2.2px;pointer-events:stroke;cursor:pointer;filter:drop-shadow(0 2px 3px #2f73ff26)}.signal-flow-edge.is-fault{stroke:#dc2626;stroke-width:3.4px;stroke-dasharray:10 5;filter:drop-shadow(0 2px 7px #dc262652)}.signal-flow-edge.is-protocol{stroke:#7c3aed;stroke-dasharray:8 6}.signal-flow-edge.is-residual{stroke:#d97706;stroke-width:2.6px}.signal-flow-edge.is-response-affected{stroke:#f59e0b;stroke-width:3.1px;filter:drop-shadow(0 2px 6px #f59e0b47)}.signal-flow-edge.is-response-target{stroke:#ef4444;stroke-width:3.8px;filter:drop-shadow(0 2px 8px #ef444457)}.signal-flow-edge.is-response-cut{stroke-dasharray:10 6}.signal-flow-node{z-index:3;color:#18304f;text-align:left;cursor:pointer;background:linear-gradient(#fff,#f7fbff);border:1px solid #bcd0e7;border-radius:8px;width:174px;height:64px;padding:8px 10px;position:absolute;box-shadow:0 10px 20px #12243a1f}.signal-flow-node:hover{border-color:#2f73ff;transform:translateY(-1px);box-shadow:0 14px 26px #2f73ff26}.signal-flow-node.is-fault{background:linear-gradient(#fff5f5,#fee2e2);border-color:#dc2626;box-shadow:0 12px 28px #dc26262e}.signal-flow-node.is-protocol{background:linear-gradient(#fff,#f5f3ff);border-color:#c4b5fd}.signal-flow-node.is-residual{background:linear-gradient(#fff,#fff7ed);border-color:#fdba74}.signal-flow-node__kind{color:#2f73ff;font-size:10px;font-weight:900;display:block}.signal-flow-node.is-fault .signal-flow-node__kind{color:#dc2626}.signal-flow-node.is-protocol .signal-flow-node__kind{color:#7c3aed}.signal-flow-node.is-residual .signal-flow-node__kind{color:#c2410c}.signal-flow-node strong{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;font-weight:900;display:block;overflow:hidden}.signal-flow-node__meta{color:#6b7d95;font-family:var(--font-data);margin-top:3px;font-size:10px;font-weight:800;display:block}@media (width<=980px){.dataflow-head,.dataflow-head__intro{grid-template-columns:1fr}.dataflow-head__summary{justify-content:flex-start}.propagation-legend__items{grid-template-columns:repeat(2,minmax(0,1fr))}.dataflow-body,.measurement-response-controls,.measurement-response-row{grid-template-columns:1fr}.measurement-response-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-response-head{display:grid}.dataflow-side .dataflow-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.canvas-wrap[data-fullscreen=true]{z-index:999;margin:0;position:fixed;inset:10px}.canvas-tools__divider{background:#dbe6f4;width:1px;height:22px;margin:0 4px}.canvas-tools__spacer{flex:1}.canvas-tools__zoom{background:#fff;border:1px solid #dbe6f4;border-radius:8px;align-items:center;gap:4px;height:30px;padding:0 4px;display:flex}.canvas-tools__zoom span{color:#28415f;text-align:center;min-width:46px;font-size:12px;font-weight:900}@media (width<=1180px){.workbench-taskbar{grid-template-columns:220px minmax(0,1fr);gap:8px}.workbench-taskbar .simbar-title{display:none}.workbench-taskbar .sim-btn{min-width:58px;padding-inline:8px}}@media (width<=980px){.workbench-taskbar{grid-template-columns:1fr;min-height:0}.task-project{min-height:48px}.workbench-taskbar .simbar{min-height:54px}}.testpoint-workbench{background:#fff;border:1px solid #c9d8ea;border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid;box-shadow:0 12px 26px #12243a14}.testpoint-workbench__head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.testpoint-workbench__eyebrow{color:#2f73ff;font-size:10px;font-weight:900}.testpoint-workbench h3{color:#10243d;margin:2px 0 4px;font-size:17px;font-weight:900;line-height:1.25}.testpoint-workbench p{color:#526985;margin:0;font-size:12px;font-weight:800;line-height:1.55}.testpoint-workbench__metrics{grid-template-columns:repeat(3,minmax(70px,1fr));gap:7px;display:grid}.testpoint-workbench__metrics span{background:#f8fbff;border:1px solid #dbe6f4;border-radius:7px;min-width:0;padding:8px}.testpoint-workbench__metrics em{color:#70839d;font-size:9px;font-style:normal;font-weight:900;display:block}.testpoint-workbench__metrics b{color:#10243d;font-family:var(--font-data);margin-top:2px;font-size:18px;line-height:1;display:block}.testpoint-operator-layout{grid-template-columns:minmax(320px,1.2fr) minmax(280px,.95fr) minmax(240px,.75fr);align-items:stretch;gap:10px;display:grid}.testpoint-card{background:#fbfdff;border:1px solid #dbe6f4;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.testpoint-card--install{background:linear-gradient(#fbfdff 0%,#f6f9ff 100%)}.testpoint-card--installed{background:#fff}.testpoint-card--result{background:#fffaf2;border-color:#f3d3a0}.testpoint-card__head{gap:2px;display:grid}.testpoint-card__head strong{color:#10243d;font-size:13px;font-weight:900;line-height:1.3}.testpoint-card__head span{color:#70839d;font-size:11px;font-weight:800;line-height:1.35}.testpoint-install-bar{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:8px;display:grid}.testpoint-install-bar label{gap:4px;display:grid}.testpoint-install-bar span{color:#70839d;font-size:10px;font-weight:900}.testpoint-install-bar select,.testpoint-install-bar button,.installed-testpoint__actions button,.testpoint-last-result button{color:#18304f;background:#fff;border:1px solid #cbd8e7;border-radius:7px;min-height:30px;font-size:12px;font-weight:900}.testpoint-install-bar select{background:#fbfdff;width:100%;min-width:0;padding:0 8px}.testpoint-install-bar button,.installed-testpoint__actions button:first-child,.testpoint-last-result button{color:#0043ce;cursor:pointer;background:#eef5ff;border-color:#2f73ff;padding:0 12px}.testpoint-install-bar button:disabled{color:#94a3b8;cursor:not-allowed;background:#f4f7fb;border-color:#dbe6f4}.testpoint-board{grid-template-columns:minmax(0,1.25fr) minmax(260px,.9fr) minmax(230px,.75fr);gap:10px;display:grid}.testpoint-board__fixed,.testpoint-board__installed,.testpoint-board__diagnosis{background:#fbfdff;border:1px solid #e3ebf5;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.testpoint-board__title{color:#18304f;font-size:12px;font-weight:900}.testpoint-position-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;display:grid}.testpoint-position-grid--compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-height:250px;padding-right:2px;overflow:auto}.testpoint-position{color:#18304f;text-align:left;cursor:pointer;background:#fff;border:1px dashed #cbd8e7;border-radius:7px;gap:3px;min-width:0;padding:8px;display:grid}.testpoint-position:hover,.testpoint-position.is-selected{background:#f2f7ff;border-style:solid;border-color:#2f73ff}.testpoint-position.is-installed{background:#f2fbf5;border-style:solid;border-color:#9bd5ad}.testpoint-position span,.installed-testpoint strong,.testpoint-last-result strong{color:#10243d;overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:900}.testpoint-position em,.installed-testpoint span,.testpoint-last-result span{color:#70839d;overflow-wrap:anywhere;font-size:10px;font-style:normal;font-weight:800;line-height:1.35}.testpoint-position b{color:#526985;background:#edf2f8;border-radius:999px;justify-self:start;padding:2px 6px;font-size:10px}.testpoint-position.is-installed b{color:#137333;background:#dff6e6}.installed-testpoint-list{gap:7px;max-height:310px;display:grid;overflow:auto}.installed-testpoint{background:#fff;border:1px solid #dbe6f4;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.installed-testpoint.is-selected{background:#f2f7ff;border-color:#2f73ff}.installed-testpoint__actions{gap:5px;display:flex}.installed-testpoint__actions button{cursor:pointer;min-height:28px;padding:0 8px}.installed-testpoint__actions button:last-child{color:#b42318}.testpoint-empty{color:#70839d;background:#fff;border:1px dashed #cbd8e7;border-radius:7px;padding:10px;font-size:11px;font-weight:800}.testpoint-last-result{background:#fff;border:1px solid #dbe6f4;border-radius:7px;gap:6px;padding:9px;display:grid}.testpoint-last-result.is-abnormal{background:#fff7ed;border-color:#fed7aa}.testpoint-diagnosis-overlay.open{display:flex}.testpoint-diagnosis-modal{width:min(760px,100vw - 40px);max-height:min(760px,100vh - 40px)}.testpoint-diagnosis-head{align-items:flex-start}.testpoint-diagnosis-subtitle{color:#70839d;margin-top:3px;font-size:12px;font-weight:800}.testpoint-diagnosis-body{gap:12px;display:grid}.testpoint-diagnosis-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.testpoint-diagnosis-summary div{background:#fbfdff;border:1px solid #dbe6f4;border-radius:7px;padding:9px}.testpoint-diagnosis-summary span{color:#70839d;font-size:10px;font-weight:900;display:block}.testpoint-diagnosis-summary strong{color:#10243d;overflow-wrap:anywhere;margin-top:3px;font-size:13px;font-weight:900;display:block}.testpoint-candidate-list{gap:8px;max-height:460px;display:grid;overflow:auto}.testpoint-candidate{cursor:pointer;background:#fff;border:1px solid #dbe6f4;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.testpoint-candidate:hover{background:#f8fbff;border-color:#2f73ff}.testpoint-candidate input{margin-top:3px}.testpoint-candidate span{gap:3px;min-width:0;display:grid}.testpoint-candidate strong{color:#10243d;font-size:13px;font-weight:900}.testpoint-candidate em,.testpoint-candidate b{color:#526985;overflow-wrap:anywhere;font-size:11px;font-style:normal;font-weight:800;line-height:1.45}.testpoint-candidate-empty{color:#70839d;text-align:center;border:1px dashed #cbd8e7;border-radius:8px;padding:16px;font-weight:800}@media (width<=1280px){.testpoint-operator-layout,.testpoint-board,.testpoint-workbench__head,.testpoint-install-bar{grid-template-columns:1fr}}.canvas-wrap[data-view=dataflow] .dataflow-panel{box-shadow:none;background:#fff;border:1px solid #e0e0e0;border-radius:0}.dataflow-workspace--diagnosis{color:#161616;letter-spacing:.16px;background:#fff;grid-template-rows:auto minmax(0,1fr);gap:0;height:auto;min-height:100%;padding:0;font-family:IBM Plex Sans,Helvetica Neue,Arial,sans-serif;display:grid}.dataflow-diagnosis-header{background:#fff;border-bottom:1px solid #e0e0e0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;padding:24px;display:grid}.dataflow-diagnosis-header .dataflow-title{color:#0f62fe;font-size:14px;font-weight:400;line-height:1.29}.dataflow-diagnosis-header h2{color:#161616;letter-spacing:0;margin:4px 0 8px;font-size:32px;font-weight:400;line-height:1.25}.dataflow-diagnosis-header p{color:#525252;max-width:780px;margin:0;font-size:14px;font-weight:400;line-height:1.5}.dataflow-diagnosis-summary{background:#f4f4f4;border:1px solid #e0e0e0;grid-template-columns:repeat(4,minmax(88px,1fr));display:grid}.dataflow-diagnosis-summary span{background:#f4f4f4;border-right:1px solid #e0e0e0;min-width:0;padding:12px 16px}.dataflow-diagnosis-summary span:last-child{border-right:0}.dataflow-diagnosis-summary em{color:#525252;letter-spacing:.32px;font-size:12px;font-style:normal;font-weight:400;line-height:1.33;display:block}.dataflow-diagnosis-summary strong{color:#161616;margin-top:4px;font-size:20px;font-weight:400;line-height:1.4;display:block}.dataflow-workspace--diagnosis .testpoint-workbench{box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0}.dataflow-workspace--diagnosis .testpoint-workbench__head{border-bottom:1px solid #e0e0e0;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:24px}.dataflow-workspace--diagnosis .testpoint-workbench__eyebrow{color:#0f62fe;font-size:14px;font-weight:400;line-height:1.29}.dataflow-workspace--diagnosis .testpoint-workbench h3{color:#161616;margin:4px 0 8px;font-size:24px;font-weight:400;line-height:1.33}.dataflow-workspace--diagnosis .testpoint-workbench p{color:#525252;max-width:880px;font-size:14px;font-weight:400;line-height:1.5}.dataflow-workspace--diagnosis .testpoint-workbench__metrics{background:#f4f4f4;border:1px solid #e0e0e0;grid-template-columns:repeat(3,minmax(92px,1fr));gap:0}.dataflow-workspace--diagnosis .testpoint-workbench__metrics span{background:#f4f4f4;border:0;border-right:1px solid #e0e0e0;border-radius:0;padding:12px 16px}.dataflow-workspace--diagnosis .testpoint-workbench__metrics span:last-child{border-right:0}.dataflow-workspace--diagnosis .testpoint-workbench__metrics em{color:#525252;letter-spacing:.32px;font-size:12px;font-weight:400;line-height:1.33}.dataflow-workspace--diagnosis .testpoint-workbench__metrics b{color:#161616;font-family:inherit;font-size:20px;font-weight:400;line-height:1.4}.dataflow-workspace--diagnosis .testpoint-operator-layout{border-top:0;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr) minmax(280px,.85fr);gap:0}.dataflow-workspace--diagnosis .testpoint-card{background:#fff;border:0;border-right:1px solid #e0e0e0;border-radius:0;gap:16px;padding:24px}.dataflow-workspace--diagnosis .testpoint-card:last-child{border-right:0}.dataflow-workspace--diagnosis .testpoint-card--install,.dataflow-workspace--diagnosis .testpoint-card--installed,.dataflow-workspace--diagnosis .testpoint-card--result{background:#fff;border-color:#e0e0e0}.dataflow-workspace--diagnosis .testpoint-card__head strong{color:#161616;font-size:20px;font-weight:400;line-height:1.4}.dataflow-workspace--diagnosis .testpoint-card__head span{color:#525252;font-size:14px;font-weight:400;line-height:1.29}.dataflow-workspace--diagnosis .testpoint-install-bar{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:0}.dataflow-workspace--diagnosis .testpoint-install-bar label span{color:#525252;font-size:12px;font-weight:400;line-height:1.33}.dataflow-workspace--diagnosis .testpoint-install-bar select{color:#161616;background:#f4f4f4;border:0;border-bottom:1px solid #8d8d8d;border-radius:0;min-height:48px;padding:0 16px;font-size:14px;font-weight:400}.dataflow-workspace--diagnosis .testpoint-install-bar select:focus{outline-offset:-2px;border-bottom-color:#161616;outline:2px solid #0f62fe}.dataflow-workspace--diagnosis .testpoint-install-bar button,.dataflow-workspace--diagnosis .installed-testpoint__actions button:first-child,.dataflow-workspace--diagnosis .testpoint-last-result button{color:#fff;background:#0f62fe;border:1px solid #0f62fe;border-radius:0;min-height:48px;padding:0 16px;font-size:14px;font-weight:400}.dataflow-workspace--diagnosis .installed-testpoint__actions button:last-child{color:#0f62fe;background:#fff;border:1px solid #0f62fe;border-radius:0;min-height:48px;padding:0 16px}.dataflow-workspace--diagnosis .testpoint-position-grid--compact{border:1px solid #e0e0e0;grid-template-columns:1fr;gap:0;max-height:360px}.dataflow-workspace--diagnosis .testpoint-position{background:#fff;border:0;border-bottom:1px solid #e0e0e0;border-radius:0;gap:4px;padding:16px}.dataflow-workspace--diagnosis .testpoint-position:last-child{border-bottom:0}.dataflow-workspace--diagnosis .testpoint-position:hover,.dataflow-workspace--diagnosis .testpoint-position.is-selected{outline-offset:-2px;background:#f4f4f4;border-color:#e0e0e0;outline:2px solid #0f62fe}.dataflow-workspace--diagnosis .testpoint-position.is-installed{background:#f4f4f4;border-color:#e0e0e0}.dataflow-workspace--diagnosis .testpoint-position span,.dataflow-workspace--diagnosis .installed-testpoint strong,.dataflow-workspace--diagnosis .testpoint-last-result strong{color:#161616;font-size:14px;font-weight:600;line-height:1.29}.dataflow-workspace--diagnosis .testpoint-position em,.dataflow-workspace--diagnosis .installed-testpoint span,.dataflow-workspace--diagnosis .testpoint-last-result span{color:#525252;font-size:12px;font-weight:400;line-height:1.33}.dataflow-workspace--diagnosis .testpoint-position b{color:#0f62fe;background:0 0;border-radius:0;padding:0;font-size:12px;font-weight:400}.dataflow-workspace--diagnosis .installed-testpoint-list{border:1px solid #e0e0e0;gap:0;max-height:420px}.dataflow-workspace--diagnosis .installed-testpoint{background:#fff;border:0;border-bottom:1px solid #e0e0e0;border-radius:0;padding:16px}.dataflow-workspace--diagnosis .installed-testpoint:last-child{border-bottom:0}.dataflow-workspace--diagnosis .installed-testpoint.is-selected{background:#f4f4f4;border-color:#e0e0e0}.dataflow-workspace--diagnosis .testpoint-empty,.dataflow-workspace--diagnosis .testpoint-last-result{color:#525252;background:#f4f4f4;border:1px solid #e0e0e0;border-radius:0;padding:16px;font-size:14px;font-weight:400}.testpoint-diagnosis-modal{box-shadow:none;border-radius:0}.testpoint-diagnosis-summary div,.testpoint-candidate,.testpoint-candidate-empty{border-radius:0}@media (width<=1280px){.dataflow-diagnosis-header,.dataflow-workspace--diagnosis .testpoint-workbench__head,.dataflow-workspace--diagnosis .testpoint-operator-layout{grid-template-columns:1fr}.dataflow-workspace--diagnosis .testpoint-card{border-bottom:1px solid #e0e0e0;border-right:0}.dataflow-workspace--diagnosis .testpoint-card:last-child{border-bottom:0}}.dataflow-workspace--diagnosis .dataflow-diagnosis-header{min-height:auto;padding:18px 22px 14px}.dataflow-workspace--diagnosis .dataflow-diagnosis-header h3,.dataflow-workspace--diagnosis .dataflow-diagnosis-header p{display:none!important}.dataflow-workspace--diagnosis .dataflow-diagnosis-header .eyebrow,.dataflow-workspace--diagnosis .dataflow-diagnosis-header__eyebrow{margin:0;font-weight:700;font-size:14px!important}.dataflow-workspace--diagnosis .testpoint-workbench{gap:18px;padding:18px 22px 22px}.dataflow-workspace--diagnosis .testpoint-card{min-height:0;padding:18px}.dataflow-workspace--diagnosis .testpoint-card h3,.dataflow-workspace--diagnosis .testpoint-card__title{margin:0 0 12px;font-size:17px;line-height:1.35}.dataflow-workspace--diagnosis .testpoint-card>p,.dataflow-workspace--diagnosis .testpoint-card__description,.dataflow-workspace--diagnosis .testpoint-card__hint{display:none!important}.dataflow-workspace--diagnosis .testpoint-card label,.dataflow-workspace--diagnosis .testpoint-card__label{font-size:13px}.dataflow-workspace--diagnosis .testpoint-card select,.dataflow-workspace--diagnosis .testpoint-card button,.dataflow-workspace--diagnosis .testpoint-card input{min-height:40px;font-size:14px}.dataflow-workspace--diagnosis .testpoint-position-list,.dataflow-workspace--diagnosis .testpoint-installed-list{max-height:260px}.dataflow-workspace--diagnosis .testpoint-position-item,.dataflow-workspace--diagnosis .testpoint-installed-item,.dataflow-workspace--diagnosis .testpoint-result-card{padding:12px 14px}.dataflow-workspace--diagnosis .testpoint-position-item strong,.dataflow-workspace--diagnosis .testpoint-installed-item strong{font-size:15px}.dataflow-workspace--diagnosis .testpoint-position-item small,.dataflow-workspace--diagnosis .testpoint-installed-item small{font-size:12px}.canvas-testpoint-marker{cursor:pointer;pointer-events:all}.canvas-testpoint-marker__halo{fill:#0f62fe1f;stroke:#0f62fe2e;stroke-width:1px}.canvas-testpoint-marker__pin{fill:#fff;stroke:#0f62fe;stroke-width:2px}.canvas-testpoint-marker__label{fill:#0f62fe;pointer-events:none;font-family:Arial,Microsoft YaHei,sans-serif;font-size:8px;font-weight:700}.canvas-testpoint-marker.is-uninstalled .canvas-testpoint-marker__halo{fill:#0f62fe0f;stroke:#0f62fe24}.canvas-testpoint-marker.is-uninstalled .canvas-testpoint-marker__pin{fill:#ffffffdb;stroke:#8ab5ff;stroke-dasharray:3 2}.canvas-testpoint-marker.is-uninstalled .canvas-testpoint-marker__label{fill:#5b83c8}.canvas-testpoint-marker.is-installed .canvas-testpoint-marker__pin{fill:#eaf2ff}.canvas-testpoint-marker.is-abnormal .canvas-testpoint-marker__halo{fill:#da1e2829;stroke:#da1e2847}.canvas-testpoint-marker.is-abnormal .canvas-testpoint-marker__pin{fill:#fff1f1;stroke:#da1e28}.canvas-testpoint-marker.is-abnormal .canvas-testpoint-marker__label{fill:#da1e28}.canvas-testpoint-marker.is-selected .canvas-testpoint-marker__halo{fill:#da1e2829;stroke:#da1e2842}.canvas-testpoint-marker.is-selected .canvas-testpoint-marker__pin{stroke:#da1e28}.canvas-testpoint-marker.is-selected .canvas-testpoint-marker__label{fill:#da1e28}.canvas-fault-marker{cursor:pointer;pointer-events:all}.canvas-fault-marker__halo{fill:#ff832b1f;stroke:#ff832b3d;stroke-width:1px}.canvas-fault-marker__pin{fill:#fff;stroke:#ff832b;stroke-width:2px}.canvas-fault-marker__label{fill:#8a3800;pointer-events:none;font-family:Arial,Microsoft YaHei,sans-serif;font-size:8px;font-weight:800}.canvas-fault-marker__count,.canvas-fault-marker__target{fill:#8a3800;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-family:Arial,Microsoft YaHei,sans-serif;font-size:8px;font-weight:800}.canvas-fault-marker.is-active .canvas-fault-marker__halo,.canvas-fault-marker.is-selected .canvas-fault-marker__halo{fill:#da1e2829;stroke:#da1e2847}.canvas-fault-marker.is-active .canvas-fault-marker__pin,.canvas-fault-marker.is-selected .canvas-fault-marker__pin{fill:#fff1f1;stroke:#da1e28}.canvas-fault-marker.is-active .canvas-fault-marker__label,.canvas-fault-marker.is-selected .canvas-fault-marker__label,.canvas-fault-marker.is-active .canvas-fault-marker__count,.canvas-fault-marker.is-selected .canvas-fault-marker__count,.canvas-fault-marker.is-active .canvas-fault-marker__target,.canvas-fault-marker.is-selected .canvas-fault-marker__target{fill:#da1e28}.ifm-detail-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ifm-locate-target{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;min-height:32px;padding:0 12px;font-size:13px;font-weight:600}.ifm-locate-target:hover{background:#edf5ff}.injected-fault-removal-controls{background:#f4f8ff;border:1px solid #d0e2ff;margin:12px 0;padding:12px;font-size:13px}.injected-fault-removal-controls__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.injected-fault-removal-controls button{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;min-height:30px;padding:0 10px;font-size:13px}.injected-fault-removal-controls__list{gap:8px;display:grid}.injected-fault-removal-controls__item{background:#fff;border:1px solid #d0e2ff;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.injected-fault-removal-controls__item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uav-fault-demo-controls{z-index:5;background:#fff;border-bottom:1px solid #dfe6f3;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.uav-fault-demo-controls button{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;min-height:32px;padding:0 12px;font-size:13px}.uav-fault-demo-controls button:first-child{color:#fff;background:#0f62fe}.tp-console{color:#10233f;background:#f7f9fc;flex-direction:column;height:100%;min-height:620px;font-size:13px;display:flex;overflow:auto}.tp-console-header{background:#fff;border-bottom:1px solid #d9e2f2;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.tp-console-header span{color:#2f63d7;font-size:13px;font-weight:700}.tp-console-header h2{margin:3px 0 0;font-size:20px;line-height:1.15}.tp-console-stats{background:#f7f9fc;border:1px solid #d9e2f2;align-items:stretch;gap:0;display:flex}.tp-console-stats span{color:#5b6f90;border-left:1px solid #d9e2f2;min-width:72px;padding:8px 10px;font-size:11px;font-weight:600}.tp-console-stats span:first-child{border-left:0}.tp-console-stats b{color:#10233f;font-size:17px;display:block}.tp-console-body{flex:auto;grid-template-columns:minmax(250px,1fr) minmax(230px,.86fr) minmax(250px,1fr);gap:12px;min-height:0;padding:12px;display:grid;overflow:auto}.tp-console-panel{background:#fff;border:1px solid #d9e2f2;flex-direction:column;min-width:0;min-height:340px;display:flex}.tp-panel-head{border-bottom:1px solid #d9e2f2;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.tp-panel-head strong{font-size:14px}.tp-panel-head button,.tp-installed-row__remove{color:#0f62fe;cursor:pointer;background:#fff;border:1px solid #0f62fe;min-height:30px;padding:0 10px;font-size:12px}.tp-panel-head button:disabled{opacity:.45;cursor:not-allowed}.tp-panel-actions{align-items:center;gap:8px;display:flex}.tp-panel-actions [data-run-fault-detection]{color:#fff;background:#0f62fe}.tp-point-grid,.tp-installed-list,.tp-candidate-list{flex:auto;min-height:0;padding:10px;overflow:auto}.tp-hidden-select{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.tp-manual-point-add{background:#f7f9fc;border-bottom:1px solid #e5edf8;flex:none;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;display:grid}.tp-manual-point-add input,.tp-manual-point-add button{color:#10233f;background:#fff;border:1px solid #cbd8e7;border-radius:4px;width:100%;min-width:0;min-height:32px;padding:0 9px;font-size:12px;font-weight:700}.tp-manual-point-add button{color:#0f62fe;cursor:pointer;border-color:#0f62fe;width:auto;padding:0 14px}.tp-manual-point-add input::placeholder{color:#6f7f95;font-weight:600}.tp-point-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-content:start;gap:8px;display:grid}.tp-console-point-card{display:block}.tp-console-point{color:#10233f;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2f2;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px 10px;display:grid}.tp-console-point.is-installed,.tp-console-point-card.is-installed .tp-console-point{background:#eef4ff;border-color:#0f62fe}.tp-console-point-card.is-selected .tp-console-point{border-color:#0f62fe;box-shadow:0 0 0 2px #0f62fe24}.tp-console-point.is-abnormal,.tp-console-point-card.is-abnormal .tp-console-point{background:#fff1f1;border-color:#da1e28}.tp-console-point.is-abnormal .tp-console-point__code,.tp-console-point-card.is-abnormal .tp-console-point__code{color:#a2191f;background:#ffd7d9}.tp-console-point.is-abnormal .tp-console-point__state,.tp-console-point-card.is-abnormal .tp-console-point__state{color:#da1e28}.tp-console-point__code{color:#0f62fe;background:#e8f1ff;border-radius:999px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:inline-grid}.tp-console-point__main{min-width:0}.tp-console-point__main strong,.tp-installed-row__main strong,.tp-candidate strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.tp-console-point__main small,.tp-candidate small{color:#6c7e99;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;display:block;overflow:hidden}.tp-console-point__state{color:#0f62fe;font-size:12px;font-weight:700}.tp-installed-row{border:1px solid #d9e2f2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:grid}.tp-installed-row.is-abnormal{background:#fff7f7;border-color:#da1e28}.tp-installed-row__main{color:#10233f;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.tp-installed-row__main span{color:#0f62fe;background:#e8f1ff;border-radius:999px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-grid}.tp-installed-row__main small{color:#6c7e99;white-space:nowrap;text-overflow:ellipsis;grid-column:2;font-size:11px;overflow:hidden}.tp-installed-row.is-abnormal .tp-installed-row__main span{color:#a2191f;background:#ffd7d9}.tp-installed-row.is-abnormal .tp-installed-row__main small{color:#a2191f}.tp-empty{color:#6c7e99;text-align:center;background:#f7f9fc;border:1px dashed #b8c7df;margin:10px;padding:18px}.tp-empty.is-ok{color:#198038;background:#f0fff4;border-color:#42be65}.tp-result-head{border-bottom:1px solid #d9e2f2;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.tp-result-head span{color:#da1e28;font-weight:700}.tp-result-summary{background:#f7f9fc;border:1px solid #d9e2f2;justify-content:space-between;align-items:center;gap:10px;margin:10px;padding:10px 12px;display:flex}.tp-result-summary strong{font-size:13px}.tp-result-summary span{color:#6c7e99;font-size:12px}.tp-result-summary.is-abnormal{background:#fff1f1;border-color:#ffb3b8}.tp-result-summary.is-abnormal strong{color:#a2191f}.tp-result-summary.is-ok{background:#f0fff4;border-color:#b7e6c3}.tp-result-list{flex:auto;min-height:0;padding:0 10px 10px;overflow:auto}.tp-result-accordion{background:#fff;border:1px solid #d9e2f2;margin-bottom:8px}.tp-result-accordion summary{cursor:pointer;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;list-style:none;display:grid}.tp-result-accordion summary::-webkit-details-marker{display:none}.tp-result-accordion.is-abnormal{background:#fff7f7;border-color:#da1e28}.tp-result-code{color:#0f62fe;background:#e8f1ff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-grid}.tp-result-accordion.is-abnormal .tp-result-code{color:#a2191f;background:#ffd7d9}.tp-result-accordion summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.tp-result-accordion summary em,.tp-result-accordion summary b{color:#6c7e99;white-space:nowrap;font-size:12px;font-style:normal}.tp-result-accordion summary b{grid-column:2/4;justify-self:start}.tp-result-accordion.is-abnormal summary em{color:#da1e28;font-weight:800}.tp-result-normal{color:#58708f;padding:0 10px 12px 52px;font-size:12px}.tp-result-accordion .tp-candidate-list{padding:0 10px 10px 52px;overflow:visible}.tp-candidate{cursor:pointer;border:1px solid #d9e2f2;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:8px;padding:10px;display:grid}.compact-clear-fault-selection,.compact-clear-fault-selection-inline{color:#da1e28;cursor:pointer;background:#fff;border:1px solid #da1e28;min-height:32px;padding:0 12px;font-size:13px}.compact-clear-fault-selection-inline{min-height:28px;margin:8px 0 0;padding:0 10px}@media (width<=1280px){.tp-console-body{grid-template-columns:1fr}.tp-console-header{flex-direction:column;align-items:flex-start}}.dataflow-workspace--diagnosis{font-size:14px;line-height:1.45}.dataflow-workspace--diagnosis h1,.dataflow-workspace--diagnosis h2{line-height:1.35;font-size:20px!important}.overlay--vue{display:flex}.authoring-modal{width:min(560px,100vw - 32px);height:min(720px,100vh - 32px);max-height:calc(100vh - 32px)}.authoring-modal__sub{color:var(--textm);margin-top:3px;font-size:11px;line-height:1.4}.authoring-modal__body{background:var(--bg-panel);flex-direction:column;flex:auto;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.authoring-modal .authoring-modal__body{flex:auto;min-height:0;overflow:hidden auto}.authoring-card{border:1px solid var(--border);background:var(--bg-card);border-radius:6px;flex-shrink:0;padding:12px}.authoring-card__eyebrow{color:var(--textm);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.authoring-card h3{color:var(--text);margin:0;font-size:15px;line-height:1.45}.authoring-meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.authoring-meta span{border:1px solid var(--border);background:var(--bg-hover);color:var(--text2);border-radius:4px;padding:3px 6px;font-family:Cascadia Mono,Consolas,monospace;font-size:10px}.authoring-list{flex-direction:column;gap:6px;display:flex}.authoring-list__row{border:1px solid var(--border);background:var(--bg-panel);border-radius:5px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.authoring-list__row strong,.authoring-list__row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.authoring-list__row strong{color:var(--text);font-size:12px}.authoring-list__row span{color:var(--textm);font-size:11px}.authoring-list__row code{background:var(--blue-bg);color:var(--blue);border-radius:4px;padding:2px 6px;font-size:10px}.authoring-empty{border:1px dashed var(--border);color:var(--textm);border-radius:5px;padding:10px;font-size:12px}.authoring-form{flex-direction:column;gap:10px;display:flex}.authoring-form__row{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;display:grid}.authoring-form__row span{color:var(--text2);font-size:12px;font-weight:700}.authoring-form__row input,.authoring-form__row select{border:1px solid var(--border);background:var(--bg-panel);width:100%;min-width:0;color:var(--text);border-radius:5px;outline:none;padding:8px 10px;font-size:12px}.authoring-form__row input:focus,.authoring-form__row select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #0f62fe1f}@media (width<=620px){.authoring-list__row,.authoring-form__row{grid-template-columns:1fr}}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1e3a5f33;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.overlay.open{display:flex}.modal{background:var(--bg-panel);border:1.5px solid var(--border);border-radius:10px;flex-direction:column;animation:.2s mup;display:flex;overflow:hidden;box-shadow:0 20px 48px #1e3a5f29}@keyframes mup{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mhead{border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.mtitle{letter-spacing:.2px;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:700}.mclose{border:1px solid var(--border);width:24px;height:24px;color:var(--text2);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;font-size:13px;transition:all .14s;display:flex}.mclose:hover{background:var(--bg-hover);color:var(--text)}.mbody{flex:1;display:flex;overflow:hidden}.mfoot{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:10px 18px;display:flex}.btn-cancel{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:4px;padding:5px 14px;font-size:12px;transition:all .14s}.btn-cancel:hover{background:var(--bg-hover);color:var(--text)}.btn-ok{cursor:pointer;border:none;border-radius:4px;padding:5px 16px;font-size:12px;font-weight:600;transition:all .18s}.btn-ok-b{background:var(--blue);color:#fff}.btn-ok-b:hover{background:#155fa0}.btn-ok-p{background:var(--purple);color:#fff}.btn-ok-p:hover{background:#5b21b6}.btn-ok-r{background:var(--red);color:#fff}.btn-ok-r:hover{background:#b91c1c}.btn-ok-g{background:var(--green);color:#fff}.btn-ok-g:hover{background:#15803d}.ifm-body{flex-direction:column;flex:1;gap:0;display:flex;overflow:hidden}.ifm-top{border-bottom:1px solid var(--border);padding:14px 18px 10px}.ifm-drop{border:2px dashed var(--border-mid);text-align:center;cursor:pointer;background:var(--bg-card);border-radius:7px;padding:24px;transition:all .18s}.ifm-drop:hover{border-color:var(--red);background:var(--red-bg)}.ifm-drop-icon{margin-bottom:6px;font-size:24px}.ifm-drop-txt{color:var(--text2);font-size:12px}.ifm-drop-sub{color:var(--textm);margin-top:3px;font-size:10px}.ifm-list{flex:1;padding:10px 18px;overflow-y:auto}.ifm-item{border:1.5px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:5px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;transition:all .14s;display:flex}.ifm-item:hover{border-color:var(--border-mid);background:var(--bg-hover)}.ifm-item.on{border-color:var(--red);background:var(--red-bg)}.ifm-item.is-imported{background:#fff6f6;border-color:#f7c7c7}.ifm-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #a8c4de7a}.ifm-icon--electrical{color:var(--orange);background:#fff4ea}.ifm-icon--physical{color:var(--blue);background:#eff6ff}.ifm-icon--protocol{color:var(--purple);background:#f5f3ff}.ifm-name{color:var(--text);flex:1;font-size:12px;font-weight:500}.ifm-meta{color:var(--textm);font-family:JetBrains Mono,monospace;font-size:10px}.ifm-state{color:#c24141;background:#fff;border:1px solid #f5c2c2;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:9px;font-weight:700}.ifm-empty{border:1.5px dashed var(--border-mid);color:var(--textm);background:var(--bg-card);border-radius:8px;justify-content:center;align-items:center;padding:22px 14px;font-size:11px;display:flex}.ifm-divider{background:var(--border);height:1px;margin:8px 0}.ifm-build-row{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;align-items:center;gap:10px;padding:10px 18px;display:flex}.ifm-build-hint{color:var(--textm);flex:1;font-size:11px}.btn-build-fault{border:1.5px solid var(--purple);background:var(--purple-bg);color:var(--purple);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .18s;display:flex}.btn-build-fault:hover{background:#ede9fe}.ifm-modal{width:min(1040px,100vw - 56px);height:min(700px,100vh - 56px)}.ifm-modal-sub{color:var(--textm);margin-top:3px;font-size:10px;line-height:1.4}.ifm-modal-body{background:#f8fbff;flex-direction:column}.ifm-catalog-head{border-bottom:1px solid var(--border);background:linear-gradient(#fff,#f8fbff);justify-content:space-between;align-items:stretch;gap:16px;padding:16px 18px 14px;display:flex}.ifm-kicker{letter-spacing:.4px;text-transform:uppercase;color:var(--textm);margin-bottom:5px;font-family:JetBrains Mono,monospace;font-size:9px}.ifm-head-title{color:var(--text);font-size:17px;font-weight:800;line-height:1.2}.ifm-head-desc{max-width:560px;color:var(--text2);margin-top:6px;font-size:11px;line-height:1.65}.ifm-summary{grid-template-columns:repeat(4,72px);align-content:stretch;gap:8px;display:grid}.ifm-summary-card{background:#fff;border:1px solid #d8e6f3;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;min-height:64px;padding:8px 10px;display:flex;box-shadow:0 8px 18px #1e3a5f0d}.ifm-summary-card span{color:var(--textm);font-size:10px}.ifm-summary-card strong{color:#1d6fbf;font-family:JetBrains Mono,monospace;font-size:18px;line-height:1}.ifm-toolbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.ifm-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ifm-filter{color:#537495;cursor:pointer;background:#fff;border:1px solid #d8e6f3;border-radius:999px;height:28px;padding:0 12px;font-size:11px;font-weight:700;transition:all .16s}.ifm-filter:hover{color:#1d6fbf;background:#f3f8ff;border-color:#9fc2e2}.ifm-filter.on{color:#2563eb;background:#eff6ff;border-color:#78aef4;box-shadow:0 4px 12px #2563eb14}.ifm-search{width:min(300px,36%);height:30px;color:var(--text);background:#f9fcff;border:1.5px solid #d8e6f3;border-radius:9px;outline:none;padding:0 12px;font-size:11px}.ifm-search:focus{background:#fff;border-color:#78aef4;box-shadow:0 0 0 3px #4e84ff1f}.ifm-content-grid{flex:1;grid-template-columns:minmax(300px,38%) minmax(0,1fr);gap:12px;min-height:0;padding:12px 18px 14px;display:grid;overflow:hidden}.ifm-content-grid .ifm-list{background:#fff;border:1px solid #d8e6f3;border-radius:12px;padding:0;overflow-y:auto;box-shadow:0 10px 24px #1e3a5f0d}.ifm-list-head{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.45px;color:var(--textd);text-transform:uppercase;background:#fffffff5;border-bottom:1px solid #e5eef8;justify-content:space-between;align-items:center;padding:10px 12px;font-size:10px;font-weight:800;display:flex;position:sticky;top:0}.ifm-list-head b{color:#1d6fbf;font-family:JetBrains Mono,monospace;font-size:10px}.ifm-content-grid #ifm-list-container{padding:10px}.ifm-content-grid .ifm-item{border-color:#dce8f4;border-radius:10px;align-items:flex-start;margin-bottom:8px;padding:10px 11px;box-shadow:0 4px 12px #1e3a5f08}.ifm-content-grid .ifm-item.on{background:#fff7f7;border-color:#ef8f8f;box-shadow:0 8px 20px #dc262614}.ifm-item-tags{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.ifm-chip{color:#537495;white-space:nowrap;background:#f7fbff;border:1px solid #d8e6f3;border-radius:999px;align-items:center;max-width:100%;height:20px;padding:0 7px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.ifm-chip--physical{color:#2563eb;background:#f2f7ff;border-color:#bfd7ff}.ifm-chip--electrical{color:#b45309;background:#fff8ed;border-color:#ffd4a6}.ifm-chip--protocol{color:#6d28d9;background:#f7f3ff;border-color:#d4c8ff}.ifm-detail{background:#fff;border:1px solid #d8e6f3;border-radius:12px;min-height:0;overflow-y:auto;box-shadow:0 10px 24px #1e3a5f0d}.ifm-detail-empty{text-align:center;height:100%;min-height:240px;color:var(--textm);justify-content:center;align-items:center;padding:24px;font-size:12px;line-height:1.7;display:flex}.ifm-detail-head{background:linear-gradient(#fff,#f9fcff);border-bottom:1px solid #e5eef8;padding:16px 18px 14px}.ifm-detail-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ifm-detail-title{color:var(--text);font-size:18px;font-weight:800;line-height:1.25}.ifm-detail-desc{color:var(--text2);margin-top:8px;font-size:12px;line-height:1.75}.ifm-detail-body{gap:12px;padding:14px 18px 18px;display:grid}.ifm-detail-section{background:#fbfdff;border:1px solid #e0ebf6;border-radius:12px;padding:12px 14px}.ifm-section-title{color:var(--text);letter-spacing:.2px;margin-bottom:8px;font-size:11px;font-weight:800}.ifm-formula{color:#12325a;white-space:normal;word-break:break-word;background:#fff;border:1px solid #dce8f4;border-radius:9px;padding:9px 10px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.65;display:block}.ifm-param-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.ifm-param{background:#fff;border:1px solid #e0ebf6;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 9px;font-size:10px;display:flex}.ifm-param span{min-width:0;color:var(--textm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ifm-param strong{color:#1e3a5f;text-align:right;word-break:break-word;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.2}.ifm-text-list{flex-wrap:wrap;gap:6px;display:flex}.ifm-implementation{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ifm-impl-row{background:#fff;border:1px solid #e0ebf6;border-radius:9px;padding:8px 10px}.ifm-impl-row span{letter-spacing:.35px;text-transform:uppercase;color:var(--textm);margin-bottom:4px;font-size:9px;font-weight:800;display:block}.ifm-impl-row strong{color:#1e3a5f;word-break:break-word;font-size:11px;font-weight:700;line-height:1.55;display:block}@media (width<=860px){.ifm-catalog-head{flex-direction:column}.ifm-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.ifm-toolbar{flex-direction:column;align-items:stretch}.ifm-search{width:100%}.ifm-content-grid{grid-template-columns:1fr;overflow-y:auto}.ifm-content-grid .ifm-list,.ifm-detail{min-height:260px}.ifm-implementation,.ifm-param-grid{grid-template-columns:1fr}}.tpl-cats{border-right:1px solid var(--border);background:var(--bg-card);width:148px;padding:8px 6px;overflow-y:auto}.tcat-head{color:var(--textd);letter-spacing:.6px;text-transform:uppercase;padding:3px 6px 6px;font-size:9px;font-weight:600}.tpl-cat{cursor:pointer;color:var(--text2);border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;margin-bottom:2px;padding:6px 9px;font-size:12px;transition:all .14s;display:flex}.tpl-cat:hover{background:var(--blue-bg);color:var(--blue)}.tpl-cat.on{background:var(--purple-bg);color:var(--purple);border-color:#c4b5fd;font-weight:500}.tpl-cnt{opacity:.65;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:9px}.tpl-grid{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:8px;padding:10px;display:grid;overflow-y:auto}.tcard{background:var(--bg-panel);border:1.5px solid var(--border);cursor:pointer;border-radius:7px;padding:10px;transition:all .18s}.tcard:hover{border-color:var(--border-mid);box-shadow:0 2px 8px #1e3a5f14}.tcard.on{background:var(--purple-bg);border-color:#c4b5fd}.tcard-name{color:var(--text);margin-bottom:3px;font-size:11px;font-weight:600}.tcard-desc{color:var(--text2);margin-bottom:6px;font-size:10px;line-height:1.4}.tcard-tags{flex-wrap:wrap;gap:3px;display:flex}.ttag{border-radius:6px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:500}.tpl-detail{border-left:1px solid var(--border);background:var(--bg-card);width:196px;padding:12px;overflow-y:auto}.tdph{color:var(--textd);text-align:center;margin-top:50px;font-size:11px}.tdtitle{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:700}.tdlbl{color:var(--textd);text-transform:uppercase;letter-spacing:.5px;margin-top:9px;margin-bottom:3px;font-size:9px;font-weight:600}.tdval{color:var(--purple);background:var(--purple-bg);border:1px solid #ddd6fe;border-radius:3px;padding:3px 7px;font-family:JetBrains Mono,monospace;font-size:11px}.einj-body{flex:1;grid-template-columns:220px 1fr 220px;gap:0;min-height:0;display:grid}.einj-side,.einj-detail{background:var(--bg-card);flex-direction:column;min-height:0;display:flex}.einj-side{border-right:1px solid var(--border)}.einj-detail{border-left:1px solid var(--border)}.einj-side-head,.einj-detail-head{border-bottom:1px solid var(--border);padding:12px 14px 10px}.einj-side-title,.einj-detail-title{color:var(--text);font-size:12px;font-weight:700}.einj-side-sub,.einj-detail-sub{color:var(--textm);margin-top:3px;font-size:10px;line-height:1.5}.einj-import-list{flex:1;padding:10px 12px;overflow-y:auto}.einj-main{background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.einj-target{border-bottom:1px solid var(--border);background:linear-gradient(#fff,#f9fbff);padding:14px 16px 12px}.einj-target-kicker{color:var(--textd);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.einj-target-name{color:var(--text);margin-top:4px;font-size:16px;font-weight:700}.einj-target-sub{color:var(--text2);margin-top:4px;font-size:11px;line-height:1.6}.einj-current{color:#c24141;background:#fff5f5;border:1px solid #f3b2b2;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.einj-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:12px;display:grid;overflow-y:auto}.einj-card{background:var(--bg-card);border:1.5px solid var(--border);cursor:pointer;border-radius:8px;padding:11px 12px;transition:all .16s}.einj-card:hover{border-color:#f0b2b2;box-shadow:0 4px 14px #b4530914}.einj-card.on{background:#fff4f4;border-color:#dc2626;box-shadow:0 4px 16px #dc262614}.einj-card-name{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:700}.einj-card-desc{color:var(--text2);margin-bottom:8px;font-size:10px;line-height:1.55}.einj-tags{flex-wrap:wrap;gap:4px;display:flex}.einj-tag{color:#b45309;background:#fff8f1;border:1px solid #b453092e;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.einj-detail-body{flex:1;padding:12px 14px;overflow-y:auto}.einj-empty{text-align:center;height:100%;color:var(--textm);justify-content:center;align-items:center;padding:16px;font-size:11px;line-height:1.7;display:flex}.einj-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:6px 0;font-size:11px;display:flex}.einj-row span:first-child{color:var(--textm)}.einj-row span:last-child{color:var(--text);text-align:right;font-weight:600}.props-fault-action{color:#c62828;background:#fff5f5;border-color:#f5b5b5}.props-fault-action:hover{background:#feeaea}.props-protocol-action{color:var(--blue);background:#eef6ff;border-color:#b6d6fa}.props-protocol-action:hover{background:#e3f0ff}.einj-protocol .einj-card:hover{border-color:#b6d6fa;box-shadow:0 4px 14px #1d6fbf14}.einj-protocol .einj-card.on{border-color:var(--blue);background:#eff6ff;box-shadow:0 4px 16px #1d6fbf1a}.einj-protocol .einj-tag{color:var(--blue);background:#f3f8ff;border-color:#1d6fbf33}.einj-protocol .einj-current{color:var(--blue);background:#f3f8ff;border-color:#bfd7f5}.cfg-form{flex:1;padding:14px 18px;overflow-y:auto}.cfg-sec{margin-bottom:16px}.cfg-sec-title{color:var(--red);text-transform:uppercase;letter-spacing:.8px;border-bottom:1.5px solid var(--red-border);margin-bottom:8px;padding-bottom:4px;font-size:10px;font-weight:700}.cfg-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cfg-f{flex-direction:column;gap:3px;display:flex}.cfg-f label{color:var(--text2);font-size:10px}.cfg-f select,.cfg-f input{background:var(--bg-card);border:1.5px solid var(--border);color:var(--text);border-radius:4px;outline:none;width:100%;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:11px;transition:border-color .18s}.cfg-f select:focus,.cfg-f input:focus{border-color:var(--red)}.layer-sel{gap:5px;margin-bottom:8px;display:flex}.lbtn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text2);cursor:pointer;text-align:center;border-radius:4px;flex:1;padding:6px 4px;font-size:11px;transition:all .18s}.lbtn:hover{background:var(--bg-hover)}.lbtn.on{border-color:var(--red);background:var(--red-bg);color:var(--red);font-weight:600}.cfg-prev{border-left:1px solid var(--border);background:var(--bg-card);flex-direction:column;flex-shrink:0;gap:4px;width:196px;padding:12px;display:flex}.cprev-title{color:var(--red);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;font-size:10px;font-weight:700}.cfg-tl{border:1.5px solid var(--border);background:#f9fbfe;border-radius:4px;height:72px;margin-bottom:6px;position:relative;overflow:hidden}.srow{border-bottom:1px solid var(--border);justify-content:space-between;padding:2px 0;font-size:10px;display:flex}.sk{color:var(--textm)}.sv{color:var(--text);font-family:JetBrains Mono,monospace;font-size:9px}.scope-ctrl{border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0;align-items:center;gap:9px;padding:8px 14px;display:flex}.scbtn{border:1.5px solid var(--border);background:var(--bg-panel);color:var(--text2);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:10px;transition:all .14s;display:flex}.scbtn:hover{background:var(--bg-hover);color:var(--text)}.scbtn.on{border-color:var(--red);color:var(--red);background:var(--red-bg)}.scope-legend{gap:10px;margin-left:auto;font-size:10px;display:flex}.sleg{color:var(--text2);align-items:center;gap:4px;display:flex}.slegdot{border-radius:1px;width:14px;height:2px}.scope-channels{flex-direction:column;flex:1;gap:7px;padding:10px 14px;display:flex;overflow:hidden}.scope-ch{border:1.5px solid var(--border);background:#f9fbfe;border-radius:5px;flex:1;position:relative;overflow:hidden}.sch-lbl{color:var(--textm);z-index:1;font-family:JetBrains Mono,monospace;font-size:9px;position:absolute;top:5px;left:7px}.scope-window-layer{pointer-events:none;z-index:var(--canvas-stage-layer-windows);position:absolute;inset:0}.scope-window{pointer-events:auto;background:#fff;border:1.5px solid #c9dced;border-radius:16px;width:min(580px,100vw - 32px);min-width:min(520px,100vw - 32px);min-height:356px;padding:12px;position:absolute;box-shadow:0 18px 38px #1e3a5f29}.scope-window.is-dragging{cursor:grabbing;will-change:left,top;box-shadow:0 20px 42px #1e3a5f33}.scope-window__header{color:#1e3a5f;cursor:move;touch-action:none;background:#f6faff;border:1px solid #c9dced;border-radius:12px;margin-bottom:8px;padding:10px 12px;display:block}.scope-window.is-dragging .scope-window__header{cursor:grabbing}.scope-window__header-main{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.scope-window__identity{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.scope-window__title{letter-spacing:0;color:#19334f;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;line-height:1.2;overflow:hidden}.scope-window__actions{flex:none;align-items:center;gap:8px;display:flex}.scope-window__toolbar{z-index:1;grid-template-columns:1fr;gap:8px;width:100%;min-width:0;margin-bottom:12px;display:grid;position:relative}.scope-window__control-group{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbe8f6;border-left:4px solid #2f73ff;border-radius:12px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px 9px;display:grid;box-shadow:0 8px 18px #1e3a5f0d}.scope-window__control-group+.scope-window__control-group{border-left-color:#16a34a}.scope-window__group-label{color:#4f6f8e;white-space:nowrap;font-size:10px;font-weight:900}.scope-window__segmented{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6px;min-width:0;display:grid}.scope-window__segmented--window{grid-template-columns:repeat(4,minmax(0,1fr))}.scope-window__segment{appearance:none;color:#486985;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dbe8f6;border-radius:999px;min-width:0;height:28px;padding:0 9px;font-size:10px;font-weight:900;line-height:1;transition:background .16s,color .16s,border-color .16s,box-shadow .16s}.scope-window__segment:hover{color:#0f62fe;background:#eef5ff;border-color:#a6c8ff}.scope-window__segment.is-active{color:#fff;background:#0f62fe;border-color:#0f62fe;box-shadow:0 6px 14px #0f62fe33}.scope-window__close{color:#486985;cursor:pointer;background:#fff;border:1px solid #b9cfe5;border-radius:8px;flex:none;height:30px;padding:0 10px;font-size:10px;font-weight:800;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.scope-window__close:hover{color:#19334f;background:#f7fbff;border-color:#8fb2d0;box-shadow:0 3px 10px #1e3a5f14}.scope-window__clear{color:#0f62fe;cursor:pointer;background:#edf5ff;border:1px solid #b9cfe5;border-radius:8px;flex:none;height:30px;padding:0 10px;font-size:10px;font-weight:900;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.scope-window__clear:hover{color:#0043ce;background:#e0edff;border-color:#78a9ff;box-shadow:0 3px 10px #0f62fe1f}.scope-window__signal-band{background:#f6faff;border:1px solid #c9dced;border-radius:12px;margin-bottom:12px;padding:9px}.scope-window__signals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scope-window__tag{color:#657f98;background:#fff;border:1px solid #cddfed;border-left-width:3px;border-radius:10px;align-items:center;gap:6px;width:100%;min-width:0;min-height:31px;padding:0 10px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.scope-window__tag-prefix{flex:none;font-family:JetBrains Mono,monospace;font-weight:800}.scope-window__tag-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scope-window__tag[data-scope-tag=ch1]{border-left-color:#0f62fe}.scope-window__tag[data-scope-tag=ch1] .scope-window__tag-prefix{color:#0f62fe}.scope-window__tag[data-scope-tag=ch2]{border-left-color:#24a148}.scope-window__tag[data-scope-tag=ch2] .scope-window__tag-prefix{color:#24a148}.scope-window__tag[data-connected=true]{color:#19334f;background:#fff;border-color:#b9cfe5}.scope-window__tag[data-connected=true][data-scope-tag=ch1]{border-left-color:#0f62fe}.scope-window__tag[data-connected=true][data-scope-tag=ch2]{border-left-color:#24a148}.scope-window__plot{z-index:0;background:#f8fbff;border:1px solid #c9dced;border-radius:14px;height:228px;position:relative;overflow:hidden}.scope-window__plot canvas{width:100%;height:100%;display:block}.scope-window__stats{margin-top:10px}.scope-window__stats--strip{flex-direction:column;gap:8px;display:flex}.scope-readout{background:#f8fbfe;border:1px solid #d3e2f0;border-left-width:3px;border-radius:12px;padding:9px 12px}.scope-readout[data-connected=false]{opacity:.8}.scope-readout--strip{grid-template-columns:56px repeat(4,minmax(84px,1fr));align-items:stretch;gap:10px;display:grid}.scope-readout[data-scope-channel=ch1]{border-left-color:#0f62fe}.scope-readout[data-scope-channel=ch2]{border-left-color:#24a148}.scope-readout__title{letter-spacing:0;color:#4f6f8e;margin:0;font-size:11px;font-weight:800}.scope-readout[data-scope-channel=ch1] .scope-readout__title{color:#0f62fe}.scope-readout[data-scope-channel=ch2] .scope-readout__title{color:#16833b}.scope-readout__metric{color:#637f98;background:#fff;border:1px solid #dbe7f2;border-radius:8px;grid-template-rows:auto auto;gap:3px;min-width:0;padding:4px 7px;font-size:10px;display:grid}.scope-readout__metric-label{line-height:1.1}.scope-readout__metric strong{text-overflow:ellipsis;white-space:nowrap;color:#0f62fe;min-width:0;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.1;display:block;overflow:hidden}.scope-readout[data-scope-channel=ch2] .scope-readout__metric strong{color:#16833b}@media (width<=620px){.scope-window{width:min(100vw - 24px,560px);min-width:min(100vw - 24px,560px)}.scope-window__header-main{align-items:flex-start}.scope-window__actions{gap:6px}.scope-window__control-group{grid-template-columns:1fr;gap:7px}.scope-window__signals{grid-template-columns:1fr}.scope-readout--strip{grid-template-columns:56px repeat(2,minmax(0,1fr))}}body{color:var(--text);background:linear-gradient(90deg,#192b4206 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#192b4206 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#f5f8fc 0%,#e6edf5 100%)}.gz-app{--workbench-taskbar-h:76px;background:0 0}header{background:#fbfdfffa;border-bottom:1px solid #cfdbe8;height:56px;box-shadow:0 10px 26px #12243a12}.logo{width:var(--workbench-left-w,192px);border-right:1px solid #d7e2ee;gap:10px;padding:0 14px}.logo-badge{letter-spacing:.04em;background:#2f73ff;border-radius:8px;width:30px;height:30px;font-size:12px;box-shadow:0 8px 18px #2f73ff3d,inset 0 1px #ffffff59}.logo-name{font-family:var(--font-ui);color:#0f2037;letter-spacing:0;font-size:17px;font-weight:900}.stepbar{justify-content:center;gap:8px;padding:0 24px}.step-pill{background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;gap:8px;width:100%;padding:8px 12px}.step-num{color:#62758d;background:#e3ebf5;width:22px;height:22px}.step-arrow{background:#c4d2e4;width:52px}.step-arrow:after{color:#8ea3bc}.step-item.active .step-pill{background:#eef5ff;border-color:#b7d2ff;box-shadow:inset 0 -2px #2f73ff}.step-item.active .step-num{background:#2f73ff;box-shadow:0 6px 16px #2f73ff3d}.step-item.active .step-lbl{color:#102c60}.step-item.done .step-pill{background:#f5f8fc;border-color:#dbe5f1}.toolbar{border-left:1px solid #d7e2ee;gap:8px;padding:0 16px}.tbtn{color:#344963;background:#fff;border:1px solid #d6e1ee;border-radius:8px;min-height:34px;padding:0 12px;font-size:12px;font-weight:900;box-shadow:0 3px 8px #12243a0a}.tbtn:before{color:currentColor;opacity:.9;justify-content:center;width:16px;display:inline-flex}.tbtn-imp-sys:before{content:"↑"}.tbtn-new-sys:before{content:"+"}.tbtn-imp-flt:before{content:"F"}.tbtn-reset-sys:before{content:"↺"}.tbtn-save-sys:before{content:"□"}.tbtn-save-res:before{content:"▣"}.tbtn:hover:not(.tbtn-disabled){background:#f8fbff;border-color:#afc6e4;transform:translateY(-1px);box-shadow:0 8px 18px #12243a14}.tbtn-imp-sys{color:#215bd4;background:#f2f7ff;border-color:#b7d2ff}.tbtn-new-sys{color:#243b57;background:#fff;border-color:#d7e2ee}.tbtn-imp-flt.ready{color:#c62828;background:#fff5f5;border-color:#f7b7b7}.tbtn-reset-sys{color:#c62828;border-color:#f1c0c0}.tbtn-save-sys.ready,.tbtn-save-res.ready{color:#12824a;background:#f2fbf6;border-color:#b9dccc}.workbench-taskbar{background:linear-gradient(#edf4fb 0%,#e3ebf4 100%);border-bottom:1px solid #cbd8e7;grid-template-columns:minmax(220px,252px) minmax(0,1fr);gap:10px;padding:10px 12px;box-shadow:inset 0 1px #ffffffbf}.task-project,.workbench-taskbar .simbar{background:#fbfdff;border:1px solid #cbd8e7;border-radius:8px;box-shadow:0 8px 22px #12243a12}.task-project{padding:0 10px}.project-select{gap:2px}.project-select__label,.simbar-title__kicker,.simbar-rt-lbl{color:#71839b;letter-spacing:.02em;font-size:10px;font-weight:900}.project-select__name{color:#12243c;font-size:13px;font-weight:900}.project-favorite{text-align:center;color:#94a8c2;width:24px}.project-state{color:#13884e;background:#edf9f3;border:1px solid #b9dccb}.workbench-taskbar .simbar{justify-content:space-between;overflow:hidden}.simbar-params{flex:1;justify-content:center}.sim-field{min-height:46px;padding:9px 16px 9px 0}.sim-field-lbl{color:#425875;font-size:11px}.sim-field-inp{color:#10243d;height:30px;font-family:var(--font-data);background:#f9fcff;border:1px solid #cfdbe8;border-radius:7px;font-weight:800}.simbar-btns{border-left:1px solid #dbe5f1;align-items:stretch;height:100%;display:flex}.sim-btn{color:#2d415d;background:#fbfdff;border:0;border-right:1px solid #e2eaf3;border-radius:0;min-width:74px}.sim-btn:first-child{border-left:0}.sim-btn:last-child{border-right:0}.sim-btn-run:not(.sim-btn-disabled){background:#edf9f3}.sim-btn-run:not(.sim-btn-disabled) .sim-btn-icon,.sim-btn-run:not(.sim-btn-disabled) .sim-btn-lbl{color:#12824a}.sim-btn-stop:not(.sim-btn-disabled){background:#fff5f5}.toggle-track{background:#b8c8dc}.workbench-main,.layout-resizer--horizontal{background:#dfe7f1}.layout-resizer:hover:before,.layout-resizer:focus-visible:before,.is-layout-resizing .layout-resizer:before{background:#2f73ff24}.lpanel{background:#f8fbff;border-right:1px solid #c8d6e6;box-shadow:8px 0 22px #12243a0a}.lgroup-head{color:#1b2f4a;background:0 0;border:0;height:30px;margin:12px 0 7px;padding:0 4px;font-size:12px;font-weight:900}.lgroup-icon{background:#eef5ff;border-radius:8px;width:22px;height:22px;font-size:11px;font-weight:900}.lgroup-arrow{color:#8ba1bb}.lgroup-body{gap:6px;padding:0 0 3px}.citem{color:#324761;background:#fff;border:1px solid #dbe5f1;border-radius:8px;min-height:36px;padding:7px 9px;box-shadow:inset 0 1px #ffffffe6}.citem:hover{color:#215bd4;background:#f2f7ff;border-color:#abc4e6;transform:translate(2px);box-shadow:0 8px 16px #12243a14}.citem-icon-badge{border-radius:7px;width:22px;height:22px;font-size:11px;font-weight:900}.citem-fault{background:#fff7f7!important;border-color:#f6caca!important}.citem-scope{background:#f5fff9!important;border-color:#bfe5cf!important}.citem-can{background:#f6f4ff!important;border-color:#c8c2ff!important}.canvas-wrap{background:#fbfdff;border:1px solid #c6d5e6;border-radius:8px;margin:10px;box-shadow:0 16px 38px #12243a1c}.canvas-chrome{background:#fbfdfff5;border-bottom:1px solid #cfdbe8;box-shadow:0 10px 24px #12243a0f}.canvas-tabs{gap:8px;height:42px;padding:0 18px}.canvas-tab{color:#4c5f78;border-bottom-width:2px;border-radius:8px 8px 0 0;min-width:88px;height:36px;font-size:12px}.canvas-tab.is-active{color:#174ea6;background:#eef5ff}.canvas-tools{height:40px;padding:6px 16px}.canvas-tool,.canvas-tools__zoom button{color:#243a57;border-radius:7px;width:28px;height:28px}.canvas-tools__zoom{background:#fff;border-color:#d2deeb;border-radius:8px}.canvas-breadcrumbs{background:#fffffff0;border-color:#cfdae8;border-radius:8px;top:92px}.canvas-floating{bottom:16px;right:16px}.canvas-group-actions,.canvas-mode,.canvas-zoom{background:#fffffff2;border:1px solid #cfdbe8;border-radius:8px;box-shadow:0 14px 28px #12243a17}.canvas-wrap__button,.canvas-arrange__button,.canvas-check__button{border-radius:7px;height:34px;font-size:12px}.diagram-placeholder-card{background:#ffffffdb;border-color:#b9cbe0;border-radius:8px;box-shadow:0 18px 38px #12243a1a}.diagram-placeholder-icon{color:#2f73ff;background:#edf4ff;border-radius:8px;min-width:52px;height:28px;font-size:12px;font-weight:900}.blk{background:linear-gradient(#fff 0%,#f8fbff 100%);border-width:1.5px;border-radius:8px;box-shadow:0 12px 26px #12243a1c}.blk:hover{box-shadow:0 18px 34px #12243a29}.blk.sel{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent),0 16px 32px #12243a26}.blk-sub{color:#61758f}.canvas-stage-grid{opacity:.66;background-image:radial-gradient(circle,#c9d6e5 1px,#0000 1.4px);background-size:16px 16px}.edge-path--normal{stroke:#6f9ee0;stroke-width:2.2px}.edge-path--can{stroke:#735ff2;stroke-width:3.2px}.rpanel{background:#fbfdff;border-left:1px solid #c8d6e6;box-shadow:-8px 0 22px #12243a0a}.ph{background:#fff;border-bottom:1px solid #d9e3ef;padding:16px 16px 13px}.props-tabs{background:#f7faff;border-bottom:1px solid #d9e3ef}.props-tab{color:#52667f;padding:11px 2px 9px;font-size:11px;font-weight:900}.props-tab:hover,.props-tab.is-active{color:#2f73ff}.props-tab.is-active{border-bottom-color:#2f73ff}.props-body{padding:16px}.props-field input,.props-field select,.props-field textarea,.cfg-f select,.cfg-f input{color:#13243a;background:#fbfdff;border-color:#d2deeb;border-radius:7px}.props-field input:focus,.props-field select:focus,.props-field textarea:focus,.cfg-f select:focus,.cfg-f input:focus{box-shadow:var(--ring-blue);border-color:#2f73ff}.props-empty{color:#6f829a}.sbar{background:#e3ebf4;border-top:1px solid #cbd8e7;gap:8px;padding:8px 10px 10px;box-shadow:inset 0 1px #ffffffbf}.sbar-log,.sbar-card{background:#fbfdff;border:1px solid #cbd8e7;border-radius:8px;box-shadow:0 8px 20px #12243a12}.sbar-log-head{background:#fff;border-bottom:1px solid #dbe5f1;flex-basis:30px;min-height:30px}.sbar-tab{color:#52667f;font-size:11px;font-weight:900}.sbar-tab.is-active{color:#2f73ff;border-bottom-color:#2f73ff}.sbar-action{color:#52667f;border-color:#d2deeb;border-radius:7px;font-weight:900}.sbar-row{color:#334862;height:18px;min-height:18px}.sbar-metrics{flex-basis:clamp(268px,24vw,332px)}.sbar-card{border-radius:8px;height:40px;max-height:40px;padding:7px 9px 6px}.sbar-card__accent{height:2px;left:8px;right:8px}.sbar-card__label{color:#61758f;font-size:9px}.sbar-metric-number{color:#10243d;font-size:15px}.sbar-time{color:#10243d;font-size:13px}.sbar-state{color:#12824a;background:#eefbf4;border-color:#b9dccb}.modal{background:#fbfdff;border-color:#cbd8e7;border-radius:8px;box-shadow:0 24px 60px #12243a2e}.mhead,.mfoot{background:#fff;border-color:#dbe5f1}.mclose,.btn-cancel,.btn-ok,.btn-build-fault,.ifm-filter,.ifm-search,.ifm-summary-card,.ifm-content-grid .ifm-list,.ifm-detail,.ifm-detail-section{border-radius:8px}.ifm-catalog-head{background:linear-gradient(#fff 0%,#f8fbff 100%)}.ifm-content-grid .ifm-item{border-radius:8px}@media (width<=1180px){.toolbar{gap:5px;padding-inline:10px}.tbtn{padding-inline:9px}.workbench-taskbar{grid-template-columns:220px minmax(0,1fr)}.sim-btn{min-width:58px}}@media (width<=980px){.gz-app{--workbench-taskbar-h:132px}header{min-height:56px}.stepbar{padding-inline:10px}.step-item{min-width:88px}.toolbar{overflow-x:auto}.workbench-taskbar{grid-template-columns:1fr}}.gz-app{--workbench-taskbar-h:0px;grid-template-rows:56px minmax(0,1fr)}.workbench-taskbar{display:none!important}header{grid-template-columns:var(--workbench-left-w,192px) minmax(214px,260px) minmax(390px,1fr) auto;align-items:center;min-width:0;display:grid}.logo{width:auto;min-width:0}.header-project{background:linear-gradient(#fff 0%,#f6faff 100%);border:1px solid #d2deeb;border-radius:8px;align-items:center;gap:9px;min-width:0;height:38px;margin:0 12px;padding:0 10px;display:flex;box-shadow:0 6px 14px #12243a0d}.header-project__copy{flex-direction:column;gap:1px;min-width:0;display:flex}.header-project__label{color:#71839b;font-size:9px;font-weight:900;line-height:1.1}.header-project__name{text-overflow:ellipsis;white-space:nowrap;color:#12243c;min-width:0;font-size:12px;font-weight:900;line-height:1.2;overflow:hidden}.header-project__favorite{color:#9aabc0;flex:none;font-size:17px;line-height:1}.header-project__state{color:#13884e;background:#edf9f3;border:1px solid #b9dccb;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}header .stepbar{border-left:1px solid #d7e2ee;justify-content:center;min-width:0;height:100%;padding:0 16px;overflow:hidden}header .step-item{min-width:104px}header .step-pill{height:38px;padding:0 12px}header .step-arrow{width:34px;margin:0 2px}header .toolbar{scrollbar-width:none;min-width:0;overflow-x:auto}header .toolbar::-webkit-scrollbar{display:none}.canvas-sim-dock{background:linear-gradient(#fff 0%,#f7fbff 100%);border-bottom:1px solid #dbe5f1;padding:10px 12px 8px}.canvas-sim-dock .simbar{background:#fbfdff;border:1px solid #cbd8e7;border-radius:8px;align-items:center;width:100%;max-width:none;height:54px;min-height:54px;display:flex;position:relative;inset:auto;overflow:hidden;transform:none;box-shadow:0 8px 20px #12243a12}.canvas-sim-dock .simbar-title{border-right:1px solid #dbe5f1;flex:0 0 132px;justify-content:center;min-width:132px;height:100%;padding:0 16px}.canvas-sim-dock .simbar-params{border-right:1px solid #dbe5f1;flex:auto;justify-content:center;min-width:0;height:100%}.canvas-sim-dock .sim-field{border-right:1px solid #e2eaf3;align-items:center;height:100%;min-height:0;margin:0;padding:0 14px}.canvas-sim-dock .sim-field:last-child{border-right:0}.canvas-sim-dock .sim-field-lbl{white-space:nowrap}.canvas-sim-dock .simbar-rt{border-right:1px solid #dbe5f1;flex:0 0 132px;justify-content:center;height:100%;padding:0 14px}.canvas-sim-dock .simbar-btns{border-left:0;flex:none;height:100%}.canvas-sim-dock .sim-btn{min-width:70px;height:100%}.canvas-tabs{height:38px}.canvas-tab{height:34px}.canvas-tools{height:38px}.canvas-viewport{top:140px}.canvas-breadcrumbs{top:150px}@media (width<=1320px){header{grid-template-columns:var(--workbench-left-w,192px) minmax(188px,220px) minmax(300px,1fr) auto}header .step-item{min-width:86px}header .step-arrow{width:22px}.canvas-sim-dock .simbar-title{flex-basis:112px;min-width:112px}.canvas-sim-dock .simbar-rt{flex-basis:116px}.canvas-sim-dock .sim-btn{min-width:58px}}@media (width<=1080px){.gz-app{grid-template-rows:104px minmax(0,1fr)}header{grid-template-columns:var(--workbench-left-w,192px) minmax(0,1fr);grid-template-rows:52px 52px;height:104px}.logo{grid-area:1/1}.header-project{grid-area:2/1;margin:6px 10px}header .stepbar{border-bottom:1px solid #d7e2ee;border-left:1px solid #d7e2ee;grid-area:1/2}header .toolbar{grid-area:2/2;height:100%}.canvas-sim-dock .simbar{flex-wrap:wrap;height:auto;min-height:92px}.canvas-sim-dock .simbar-title{flex:0 0 112px;display:flex}.canvas-sim-dock .simbar-params{flex:calc(100% - 112px);height:46px}.canvas-sim-dock .simbar-rt{flex:0 0 132px;height:46px}.canvas-sim-dock .simbar-btns{flex:auto;height:46px}.canvas-viewport{top:178px}.canvas-breadcrumbs{top:188px}.empty-state{padding-top:178px}}header,header>*{min-width:0}header{grid-template-columns:minmax(168px,var(--workbench-left-w,192px)) minmax(188px,240px) minmax(360px,.9fr) minmax(520px,1.2fr);overflow:hidden}header .stepbar{z-index:1;padding-inline:12px;position:relative}header .toolbar{z-index:2;overscroll-behavior-inline:contain;justify-content:flex-start;max-width:100%;padding-inline:12px;position:relative;overflow-x:auto}header .toolbar .tbtn{text-overflow:ellipsis;flex:none;min-width:88px;max-width:158px;overflow:hidden}header .toolbar .tbtn-disabled{flex-shrink:1}@media (width<=1680px){.gz-app{grid-template-rows:104px minmax(0,1fr)}header{grid-template-columns:minmax(168px,var(--workbench-left-w,192px)) minmax(188px,240px) minmax(0,1fr);grid-template-rows:52px 52px;height:104px}.logo{grid-area:1/1}.header-project{grid-area:2/1;margin:6px 10px 6px 14px}header .stepbar{border-bottom:1px solid #d7e2ee;border-left:1px solid #d7e2ee;grid-area:1/2/auto/4;justify-content:center;height:100%}header .toolbar{background:#ffffffb8;border-left:1px solid #d7e2ee;grid-area:2/2/auto/4;height:100%}header .step-item{min-width:96px}header .step-arrow{width:28px}}@media (width<=1120px){.gz-app{grid-template-rows:156px minmax(0,1fr)}header{grid-template-columns:minmax(168px,var(--workbench-left-w,192px)) minmax(0,1fr);grid-template-rows:52px 52px 52px;height:156px}.logo{grid-area:1/1}.header-project{grid-area:1/2;margin:7px 12px}header .stepbar{border-top:1px solid #d7e2ee;border-left:0;grid-area:2/1/auto/3}header .toolbar{border-top:1px solid #d7e2ee;border-left:0;grid-area:3/1/auto/3}}:root{--font-ui:"IBM Plex Sans","Noto Sans SC","Microsoft YaHei UI","PingFang SC","Segoe UI",sans-serif;--font-data:"IBM Plex Mono","Cascadia Mono","JetBrains Mono","Consolas",monospace;--bg-base:#f4f4f4;--bg-panel:#fff;--bg-card:#f4f4f4;--bg-hover:#e8f0ff;--border:#e0e0e0;--border-mid:#c6c6c6;--border-dark:#8d8d8d;--blue:#0f62fe;--blue-lt:#4589ff;--blue-bg:#edf5ff;--teal:#007d79;--teal-bg:#e5f6f6;--red:#da1e28;--red-lt:#fa4d56;--red-bg:#fff1f1;--red-border:#ffb3b8;--green:#24a148;--green-bg:#defbe6;--orange:#b28600;--orange-bg:#fcf4d6;--purple:#0043ce;--purple-bg:#edf5ff;--text:#161616;--text2:#525252;--textm:#6f6f6f;--textd:#8d8d8d;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--ring-blue:0 0 0 2px #0f62fe47}html,body,#app{background:#f4f4f4}body{color:var(--text);font-family:var(--font-ui);letter-spacing:0;background:#f4f4f4}button,input,select,textarea{font-family:var(--font-ui)}.gz-app{--workbench-left-w:192px;--workbench-right-w:320px;--workbench-status-h:100px;--layout-resizer-size:8px;background:#f4f4f4;grid-template-rows:56px minmax(0,1fr);height:100vh;min-height:100vh}.gz-app>main{height:calc(100vh - 56px)}header{grid-template-columns:var(--workbench-left-w,220px) minmax(176px,232px) minmax(330px,1fr) minmax(540px,max-content);border-bottom:1px solid var(--border);height:56px;box-shadow:none;background:#fff;align-items:center;display:grid;overflow:hidden}.logo{border-right:1px solid var(--border);gap:12px;width:auto;height:56px;padding:0 16px}.logo-badge{background:var(--blue);color:#fff;width:32px;height:32px;box-shadow:none;font-family:var(--font-data);letter-spacing:0;border-radius:0;font-size:12px;font-weight:600}.logo-name{font-family:var(--font-ui);color:var(--text);font-size:16px;font-weight:600}.header-project{border:1px solid var(--border);min-width:0;height:38px;box-shadow:none;background:#f4f4f4;border-radius:0;margin:0 10px;padding:0 10px}.header-project__copy{min-width:0}.header-project__label{color:var(--textm);letter-spacing:0;font-size:11px;font-weight:400}.header-project__name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px;font-weight:600;display:block;overflow:hidden}.header-project__favorite{color:var(--textd)}.header-project__state{background:var(--green-bg);color:#0e6027;border:1px solid #a7f0ba;border-radius:0;flex:none;font-size:11px;font-weight:600}.stepbar{justify-content:center;gap:8px;min-width:0;height:56px;padding:0 14px}.step-item{min-width:96px}.step-pill{border:1px solid var(--border);background:#fff;border-radius:0;justify-content:flex-start;gap:8px;width:100%;height:36px;padding:0 10px}.step-num{width:22px;height:22px;color:var(--text2);font-family:var(--font-data);background:#e0e0e0;border-radius:0;font-size:11px;font-weight:600}.step-lbl{color:var(--text2);font-size:13px;font-weight:600}.step-arrow{background:var(--border-mid);width:22px;height:1px;margin:0}.step-arrow:after{content:""}.step-item.active .step-pill{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#edf5ff}.step-item.active .step-num{background:var(--blue);color:#fff;box-shadow:none}.step-item.active .step-lbl{color:#002d9c;font-weight:600}.step-item.done .step-pill{border-color:var(--border);background:#f4f4f4}.toolbar{border-left:1px solid var(--border);scrollbar-width:thin;justify-content:flex-start;gap:0;min-width:0;height:56px;padding:0;overflow-x:auto}.tbtn{border:0;border-right:1px solid var(--border);min-width:84px;max-width:124px;height:56px;min-height:56px;color:var(--text);box-shadow:none;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:0;flex:none;padding:0 10px;font-size:13px;font-weight:400;overflow:hidden}.tbtn:before{content:none!important}.tbtn:hover:not(.tbtn-disabled){border-color:var(--border);box-shadow:none;background:#e8e8e8;transform:none}.tbtn-imp-sys{background:var(--blue);color:#fff}.tbtn-imp-sys:hover{background:#0050e6!important}.tbtn-new-sys{color:var(--blue);background:#fff}.tbtn-imp-flt.ready,.tbtn-reset-sys{color:var(--red);background:#fff}.tbtn-imp-flt.ready:hover,.tbtn-reset-sys:hover{background:var(--red-bg)!important}.tbtn-save-sys.ready,.tbtn-save-res.ready{color:#0e6027;background:#fff}.tbtn-divider{display:none}.tbtn-disabled{opacity:1;color:var(--textd);cursor:not-allowed;background:#f4f4f4}.workbench-main,.layout-resizer{background:#f4f4f4}.layout-resizer:before{background:0 0}.layout-resizer:hover:before,.layout-resizer:focus-visible:before,.is-layout-resizing .layout-resizer:before{box-shadow:inset 0 0 0 1px var(--blue);background:#d0e2ff}.layout-resizer--vertical:after{background:var(--border-mid);border-radius:0;width:1px;height:42px}.layout-resizer--horizontal{background:#f4f4f4}.layout-resizer--horizontal:after{background:var(--border-mid);border-radius:0;width:56px;height:1px}.lpanel{border-right:1px solid var(--border);box-shadow:none;background:#fff}.lscroll{padding:8px}.lscroll::-webkit-scrollbar{width:8px}.props-body::-webkit-scrollbar{width:8px}.sbar-log-table::-webkit-scrollbar{width:8px}.lscroll::-webkit-scrollbar-thumb{background:#c6c6c6;border:2px solid #fff}.props-body::-webkit-scrollbar-thumb{background:#c6c6c6;border:2px solid #fff}.sbar-log-table::-webkit-scrollbar-thumb{background:#c6c6c6;border:2px solid #fff}.lgroup-head{border:1px solid var(--border);height:34px;color:var(--text);letter-spacing:0;background:#f4f4f4;border-bottom:0;border-radius:0;margin:8px 0 0;padding:0 8px;font-size:12px;font-weight:600}.lgroup-head:first-child{margin-top:0}.lgroup-icon{width:22px;height:22px;color:var(--text);box-shadow:none;background:#e0e0e0;border-radius:0;font-size:11px;font-weight:600}.lgroup-head--fault .lgroup-icon{background:var(--red-bg);color:var(--red);box-shadow:inset 0 0 0 1px var(--red-border)}.lgroup-head--instrument .lgroup-icon{background:var(--green-bg);color:#0e6027;box-shadow:inset 0 0 0 1px #a7f0ba}.lgroup-head--link .lgroup-icon{background:var(--blue-bg);color:#002d9c;box-shadow:inset 0 0 0 1px #a6c8ff}.lgroup-body{border:1px solid var(--border);background:#fff;padding:8px}.citem{border:1px solid var(--border);min-height:38px;color:var(--text2);box-shadow:none;background:#fff;border-left:3px solid #0000;border-radius:0;margin:0 0 6px;padding:8px 9px;font-size:12px}.citem:last-child{margin-bottom:0}.citem:hover{border-color:#a6c8ff;border-left-color:var(--blue);color:#002d9c;box-shadow:none;background:#edf5ff;transform:none}.citem-label{font-size:12px;font-weight:600}.citem-sub{color:var(--textm)}.citem-icon-badge{width:22px;height:22px;box-shadow:none;font-family:var(--font-data);border-radius:0;font-size:11px;font-weight:600}.citem-icon-badge--source,.citem-icon-badge--flow,.citem-icon-badge--simulation,.citem-icon-badge--logger{color:#0043ce;background:#edf5ff}.citem-icon-badge--gain,.citem-icon-badge--sum,.citem-icon-badge--mux,.citem-icon-badge--middle,.citem-icon-badge--subsystem{color:var(--text);background:#f4f4f4}.citem-fault{border-color:var(--red-border)!important;border-left-color:var(--red)!important;color:var(--red)!important;background:#fff!important}.citem-fault:hover{background:var(--red-bg)!important;border-color:var(--red)!important}.citem-icon-badge--fault,.citem-icon-badge--noise{background:var(--red-bg);color:var(--red)}.citem-scope{border-color:#a7f0ba!important;border-left-color:var(--green)!important;color:#0e6027!important;background:#fff!important}.citem-scope:hover{background:var(--green-bg)!important}.citem-icon-badge--scope,.citem-icon-badge--spectrum{background:var(--green-bg);color:#0e6027}.citem-can,.citem-line-tool.active.citem-can{color:#0043ce!important;background:#fff!important;border-color:#a6c8ff #a6c8ff #a6c8ff #0043ce!important}.citem-line-tool.active{border-color:#a6c8ff;border-left-color:var(--blue);color:#002d9c;box-shadow:none;background:#edf5ff}.canvas-wrap{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:0;margin:0}.canvas-grid{background:linear-gradient(#ffffffd1,#f4f4f4e6),linear-gradient(90deg,#1616160b 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#1616160b 1px,#0000 1px) 0 0/32px 32px}.canvas-chrome{border-bottom:1px solid var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;grid-template-rows:70px 48px;grid-template-columns:minmax(220px,1fr) auto;display:grid}.canvas-sim-dock{grid-area:1/1/auto/-1;min-width:0}.canvas-sim-dock .simbar{border:0;border-bottom:1px solid var(--border);width:100%;max-width:none;height:52px;box-shadow:none;white-space:nowrap;background:#f4f4f4;border-radius:0;align-items:center;display:flex;position:relative;inset:auto;overflow:hidden;transform:none}.simbar-title{min-width:112px;padding:0 12px}.simbar-title__kicker{color:var(--textm);letter-spacing:0;font-size:11px;font-weight:400}.simbar-title__name{color:var(--text);font-size:14px;font-weight:600}.simbar-params{border-right:1px solid var(--border);flex:1;justify-content:flex-start;min-width:0;padding:0}.canvas-sim-dock .simbar-params{flex:0 auto;min-width:max-content;padding-right:4px}.sim-field{border-right:1px solid var(--border);gap:8px;min-height:52px;margin:0;padding:0 12px}.canvas-sim-dock .sim-field{flex:none;justify-content:flex-start;min-width:112px;padding:0 10px}.canvas-sim-dock .sim-field:first-child{min-width:132px}.sim-field-lbl,.simbar-rt-lbl{color:var(--text2);flex:none;font-size:12px;font-weight:400}.sim-field-inp{border:0;border-bottom:1px solid var(--border-dark);height:32px;color:var(--text);font-family:var(--font-data);background:#fff;border-radius:0;flex:none;font-size:12px;font-weight:400}.sim-field-inp:focus{border-color:var(--blue);box-shadow:0 2px 0 0 var(--blue)}.simbar-rt{border-right:1px solid var(--border);height:52px;padding:0 16px}.canvas-sim-dock .simbar-rt{flex:0 0 112px;justify-content:center;gap:8px}.toggle-wrap{width:40px;height:22px}.toggle-track{background:#8d8d8d;border-radius:11px}.toggle-thumb{width:16px;height:16px;top:3px;left:3px}.toggle-wrap input:checked+.toggle-track{background:var(--blue)}.toggle-wrap input:checked~.toggle-thumb{transform:translate(18px)}.simbar-btns{border-left:0;flex:none;align-items:stretch;height:52px}.sim-btn{border:0;border-left:1px solid var(--border);min-width:64px;color:var(--text);background:#fff;border-radius:0;padding:0 12px}.sim-btn:hover:not(.sim-btn-disabled){background:#e8e8e8;transform:none}.sim-btn-icon{color:currentColor;font-size:15px}.sim-btn-lbl{color:currentColor;font-size:11px;font-weight:400}.sim-btn-run:not(.sim-btn-disabled),.sim-btn-run.active{background:var(--blue);color:#fff}.sim-btn-run:not(.sim-btn-disabled) .sim-btn-icon,.sim-btn-run:not(.sim-btn-disabled) .sim-btn-lbl,.sim-btn-run.active .sim-btn-icon,.sim-btn-run.active .sim-btn-lbl{color:#fff}.sim-btn-stop:not(.sim-btn-disabled){color:var(--red)}.sim-btn-stop:hover:not(.sim-btn-disabled){background:var(--red-bg)!important}.sim-btn-disabled{opacity:1;color:var(--textd);background:#f4f4f4}.canvas-tabs{border-bottom:0;grid-area:2/1;align-items:flex-end;gap:0;height:48px;padding:0 16px}.canvas-tab{min-width:104px;height:48px;color:var(--text2);background:#fff;border:0;border-bottom:3px solid #0000;border-radius:0;padding:0 16px;font-size:13px;font-weight:400}.canvas-tab:hover{color:var(--text);background:#e8e8e8}.canvas-tab.is-active{color:var(--blue);border-bottom-color:var(--blue);background:#fff}.canvas-tools{border-left:1px solid var(--border);grid-area:2/2;gap:2px;height:48px;padding:8px 12px}.canvas-tool,.canvas-tools__zoom button{width:32px;height:32px;color:var(--text2);box-shadow:none;background:#fff;border:1px solid #0000;border-radius:0}.canvas-tool:hover,.canvas-tools__zoom button:hover,.canvas-tool.is-active{color:#0043ce;background:#edf5ff;border-color:#a6c8ff}.canvas-tool:disabled{color:var(--textd);opacity:1}.canvas-tools__divider{background:var(--border)}.canvas-tools__zoom{border:1px solid var(--border);background:#fff;border-radius:0;height:32px}.canvas-tools__zoom span{color:var(--text);font-family:var(--font-data);font-size:12px}.canvas-viewport{-webkit-user-select:none;user-select:none;top:118px}.canvas-breadcrumbs{border:1px solid var(--border);min-height:36px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:0;top:130px;left:16px}.canvas-breadcrumbs__item{color:var(--text2);border-radius:0}.canvas-breadcrumbs__item:hover,.canvas-breadcrumbs__item.is-active{color:#0043ce;background:#edf5ff}.empty-state{padding-top:118px}.empty-icon{border:1px solid var(--border-mid);width:72px;height:72px;color:var(--blue);background:#fff;border-radius:0;font-size:18px;font-weight:600}.empty-txt{color:var(--text);font-size:16px;font-weight:600}.empty-sub{color:var(--text2);font-size:12px}.diagram-placeholder-card{border:1px dashed var(--border-dark);width:min(460px,100%);box-shadow:none;background:#fff;border-radius:0;padding:28px 32px}.diagram-placeholder-icon{color:var(--blue);font-size:14px;font-weight:600}.diagram-placeholder-title{color:var(--text);font-size:17px;font-weight:600}.diagram-placeholder-sub{color:var(--text2);font-size:12px}.canvas-floating{gap:8px;bottom:16px;right:16px}.canvas-group-actions,.canvas-mode,.canvas-zoom{border:1px solid var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:0}.canvas-group-actions{padding:6px}.canvas-wrap__button,.canvas-arrange__button,.canvas-check__button{border:1px solid var(--border);min-width:auto;height:34px;color:var(--blue);box-shadow:none;background:#fff;border-radius:0;padding:0 12px;font-size:12px;font-weight:400}.canvas-wrap__button:hover:not(:disabled),.canvas-arrange__button:hover,.canvas-check__button:hover{box-shadow:none;background:#edf5ff;border-color:#a6c8ff;transform:none}.canvas-wrap__button:disabled{color:var(--textd);background:#f4f4f4}.canvas-mode{padding:8px 10px}.canvas-mode__label{color:var(--textm);letter-spacing:0;font-size:11px;font-weight:400}.canvas-mode__chip{color:#0043ce;background:#edf5ff;border:1px solid #a6c8ff;border-radius:0;font-size:12px;font-weight:600}.canvas-mode__chip.can{color:#002d9c;background:#edf5ff;border-color:#78a9ff}.canvas-zoom{padding:6px}.canvas-zoom__button,.canvas-zoom__reset{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:0}.canvas-zoom__button:hover,.canvas-zoom__reset:hover{background:#edf5ff;border-color:#a6c8ff}.canvas-zoom__track{background:#e0e0e0;border-radius:0;height:4px}.canvas-zoom__fill{background:var(--blue);border-radius:0}.canvas-stage-grid{opacity:1;background-image:linear-gradient(#1616160e 1px,#0000 1px),linear-gradient(90deg,#1616160e 1px,#0000 1px)}.blk{box-shadow:none;background:#fff;border-width:1px;border-radius:0}.blk:hover,.blk.is-dragging,.blk.sel,.blk.sel-multi{box-shadow:0 0 0 2px #0f62fe47}.blk-lbl{color:var(--text);font-size:12px;font-weight:600}.blk-sub{color:var(--text2);font-family:var(--font-data)}.b-source,.b-flow,.b-sim,.b-sensor,.b-ctrl{color:#0043ce;border-color:#78a9ff}.b-gain,.b-sum,.b-mux,.b-assign,.b-subsystem{border-color:var(--border-mid);color:var(--text)}.b-fault,.blk.faulted{color:var(--red);border-color:var(--red)!important}.b-inst,.b-scope{color:#0e6027;border-color:#42be65}.edge-path--normal{stroke:#78a9ff}.edge-path--can{stroke:#0043ce}.edge-label{fill:#0043ce;-webkit-user-select:none;user-select:none}.edge-path.is-faulted,.edge-path--normal.is-faulted,.edge-path--can.is-faulted{stroke:var(--red)}.edge-fault-toggle__hit{fill:#0000;stroke:#0000;pointer-events:all}.edge-fault-toggle__pill{fill:#fff7f7;stroke:#da1e28}.edge-fault-toggle__label,.edge-fault-toggle__count{fill:#da1e28;-webkit-user-select:none;user-select:none}.edge-fault-toggle:hover .edge-fault-toggle__pill,.edge-fault-toggle.is-open .edge-fault-toggle__pill{fill:#da1e28;stroke:#da1e28}.edge-fault-toggle:hover .edge-fault-toggle__label,.edge-fault-toggle:hover .edge-fault-toggle__count,.edge-fault-toggle.is-open .edge-fault-toggle__label,.edge-fault-toggle.is-open .edge-fault-toggle__count{fill:#fff}.canvas-wrap[data-view=canvas]{background:#f8fafc}.canvas-wrap[data-view=canvas] .canvas-stage-grid{opacity:1;background-image:linear-gradient(#1e293b09 1px,#0000 1px),linear-gradient(90deg,#1e293b09 1px,#0000 1px);background-size:24px 24px,24px 24px}.canvas-wrap[data-view=canvas] .edge-path--normal{stroke:#94afd6;stroke-width:1.7px}.canvas-wrap[data-view=canvas] .edge-path--can{stroke:#496dff;stroke-width:2.4px}.canvas-wrap[data-view=canvas] .edge-path.is-selected{stroke:#0f62fe;stroke-width:3px;filter:drop-shadow(0 0 5px #0f62fe42)}.canvas-wrap[data-view=canvas] .edge-path.is-faulted,.canvas-wrap[data-view=canvas] .edge-path--normal.is-faulted,.canvas-wrap[data-view=canvas] .edge-path--can.is-faulted{stroke:#da1e28;stroke-width:3px;stroke-dasharray:8 6;filter:drop-shadow(0 0 5px #da1e283d)}.canvas-wrap[data-view=canvas] .edge-label{opacity:0;pointer-events:none;transition:opacity .14s}.canvas-wrap[data-view=canvas] .edge-label.is-selected,.canvas-wrap[data-view=canvas] .edge-label.is-faulted{opacity:1;pointer-events:auto}.canvas-wrap[data-view=canvas] .blk{--node-accent:#60738d;--node-fill:#fff;--node-tint:#f8fafc;isolation:isolate;color:#172033;border-radius:0;overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important}.canvas-wrap[data-view=canvas] .blk:before{content:"";z-index:0;background:linear-gradient(180deg,var(--node-fill) 0%,var(--node-tint) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-accent) 54%,#d7e0ec), 0 10px 22px #1e293b14;transition:box-shadow .16s,transform .16s,background .16s;position:absolute;inset:0}.canvas-wrap[data-view=canvas] .blk>:not(.node-port){z-index:1;position:relative}.canvas-wrap[data-view=canvas] .blk:hover:before{box-shadow:inset 0 0 0 1px var(--node-accent), 0 14px 28px #1e293b21;transform:translateY(-1px)}.canvas-wrap[data-view=canvas] .blk.sel:before,.canvas-wrap[data-view=canvas] .blk.sel-multi:before{box-shadow:inset 0 0 0 2px #0f62fe,0 0 0 4px #0f62fe21,0 16px 30px #1e293b26}.canvas-wrap[data-view=canvas] .blk-lbl{color:#172033;letter-spacing:0;max-width:calc(100% - 30px);font-size:12px;font-weight:760;line-height:1.22}.canvas-wrap[data-view=canvas] .blk-sub{color:#697891;max-width:calc(100% - 30px);font-family:var(--font-data);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.canvas-wrap[data-view=canvas] .blk-kicker{background:color-mix(in srgb,var(--node-accent) 10%,#fff);max-width:calc(100% - 32px);color:color-mix(in srgb,var(--node-accent) 80%,#0f172a);letter-spacing:0;text-transform:none;border-radius:999px;margin-bottom:2px;padding:2px 7px;font-size:9px;font-weight:760}.canvas-wrap[data-view=canvas] .node-card__python-chip,.canvas-wrap[data-view=canvas] .fbadge,.canvas-wrap[data-view=canvas] .node-port{z-index:4}.canvas-wrap[data-view=canvas] .node-port{width:15px;height:15px}.canvas-wrap[data-view=canvas] .node-port__inner{background:#fff;width:6px;height:6px;font-size:0;line-height:0;box-shadow:0 0 0 2px #fffffff0}.canvas-wrap[data-view=canvas] .node-port__label{color:#48607e;width:max-content;max-width:180px;font-family:var(--font-data);opacity:0;pointer-events:none;background:#fffffff0;border:1px solid #cbd5e1e6;padding:2px 6px;font-size:9px;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;top:50%;left:18px;transform:translateY(-50%)translate(4px)}.canvas-wrap[data-view=canvas] .node-port--input .node-port__label{left:auto;right:18px;transform:translateY(-50%)translate(-4px)}.canvas-wrap[data-view=canvas] .node-port--top .node-port__label{top:-20px;left:50%;right:auto;transform:translate(-50%)translateY(4px)}.canvas-wrap[data-view=canvas] .blk:hover .node-port__label,.canvas-wrap[data-view=canvas] .blk.sel .node-port__label,.canvas-wrap[data-view=canvas] .blk.sel-multi .node-port__label{opacity:1;transform:translateY(-50%)}.canvas-wrap[data-view=canvas] .blk:hover .node-port--input .node-port__label,.canvas-wrap[data-view=canvas] .blk.sel .node-port--input .node-port__label,.canvas-wrap[data-view=canvas] .blk.sel-multi .node-port--input .node-port__label{transform:translateY(-50%)}.canvas-wrap[data-view=canvas] .blk:hover .node-port--top .node-port__label,.canvas-wrap[data-view=canvas] .blk.sel .node-port--top .node-port__label,.canvas-wrap[data-view=canvas] .blk.sel-multi .node-port--top .node-port__label{transform:translate(-50%)}.canvas-wrap[data-view=canvas] .canvas-node--source{--node-accent:#1f6feb;--node-tint:#f2f7ff}.canvas-wrap[data-view=canvas] .canvas-node--source:before{border-radius:999px}.canvas-wrap[data-view=canvas] .canvas-node--source:after{content:"";background:var(--node-accent);opacity:.82;z-index:1;border-radius:999px;width:6px;height:42%;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.canvas-wrap[data-view=canvas] .canvas-node--process{--node-accent:#118393;--node-tint:#f3fbfc}.canvas-wrap[data-view=canvas] .canvas-node--process:before{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);border-radius:4px}.canvas-wrap[data-view=canvas] .canvas-node--control{--node-accent:#0f62fe;--node-tint:#f4f8ff}.canvas-wrap[data-view=canvas] .canvas-node--control:before{clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}.canvas-wrap[data-view=canvas] .canvas-node--allocator{--node-accent:#7c3aed;--node-tint:#f8f5ff}.canvas-wrap[data-view=canvas] .canvas-node--allocator:before{clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%)}.canvas-wrap[data-view=canvas] .canvas-node--actuator{--node-accent:#c96f09;--node-tint:#fff8ed}.canvas-wrap[data-view=canvas] .canvas-node--actuator:before{clip-path:polygon(0 0,100% 0,88% 100%,12% 100%)}.canvas-wrap[data-view=canvas] .canvas-node--plant{--node-accent:#475569;--node-tint:#f8fafc}.canvas-wrap[data-view=canvas] .canvas-node--plant:before{border-radius:18px 4px}.canvas-wrap[data-view=canvas] .canvas-node--sensor{--node-accent:#0284c7;--node-tint:#f0f9ff}.canvas-wrap[data-view=canvas] .canvas-node--sensor:before{border-radius:999px 18px 18px 999px}.canvas-wrap[data-view=canvas] .canvas-node--sum:before{border-radius:999px;inset:5px 14px}.canvas-wrap[data-view=canvas] .canvas-node--instrument{--node-accent:#198038;--node-tint:#f1fbf4}.canvas-wrap[data-view=canvas] .canvas-node--instrument:before{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.canvas-wrap[data-view=canvas] .canvas-node--utility{--node-accent:#64748b;--node-tint:#f8fafc}.canvas-wrap[data-view=canvas] .canvas-node--utility:before{background:linear-gradient(180deg,var(--node-fill) 0%,var(--node-tint) 100%), repeating-linear-gradient(90deg,#64748b2e 0 5px,transparent 5px 10px);border-radius:4px}.canvas-wrap[data-view=canvas] .canvas-node--subsystem{--node-accent:#525252;--node-tint:#f7f7f7}.canvas-wrap[data-view=canvas] .canvas-node--subsystem:before{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-accent) 45%,#d7e0ec), inset 6px 0 0 color-mix(in srgb,var(--node-accent) 22%,#fff), 0 10px 22px #1e293b14;border-radius:4px}.canvas-wrap[data-view=canvas] .canvas-node--fault,.canvas-wrap[data-view=canvas] .blk.faulted{--node-accent:#da1e28;--node-tint:#fff5f5}.canvas-wrap[data-view=canvas] .canvas-node--fault:before,.canvas-wrap[data-view=canvas] .blk.faulted:before{background:linear-gradient(snow 0%,#fff1f1 100%);box-shadow:inset 0 0 0 2px #da1e28,0 12px 26px #da1e281f}.canvas-wrap[data-view=canvas] .blk.faulted{animation:none}.canvas-wrap[data-view=canvas] .blk.faulted .blk-lbl{color:#9f1b1f}.canvas-wrap[data-view=canvas] .b-fault{--node-accent:#da1e28;--node-tint:#fff7f7;min-height:92px}.canvas-wrap[data-view=canvas] .b-fault:before{background:linear-gradient(snow 0%,#fff2f2 100%);clip-path:none!important;border-radius:6px!important;inset:0!important}.canvas-wrap[data-view=canvas] .b-fault .blk-lbl,.canvas-wrap[data-view=canvas] .b-fault .blk-sub{white-space:normal;text-overflow:clip;max-width:calc(100% - 24px);overflow:visible}.canvas-wrap[data-view=canvas] .b-fault .blk-lbl{color:#9f1b1f;font-size:13px;line-height:1.28}.canvas-wrap[data-view=canvas] .b-fault .blk-sub{-webkit-line-clamp:unset;font-family:var(--font-ui);color:#7f1d1d;font-size:10px;line-height:1.38;display:block}.canvas-wrap[data-view=canvas] .b-fault .node-port__label{display:none!important}.canvas-wrap[data-view=canvas] .b-sim:before{clip-path:none!important;border-radius:6px!important;inset:0!important}.canvas-wrap[data-view=canvas] .b-sim{--node-tint:#f8fbff}.canvas-wrap[data-view=canvas] .canvas-node--sum{--node-accent:#64748b;--node-tint:#f8fafc}.canvas-wrap[data-view=canvas] .canvas-node--sum:before{border-radius:999px}.canvas-wrap[data-view=canvas] .canvas-node--instrument:before{clip-path:none!important;border-radius:6px!important}.dataflow-panel,.dataflow-stat,.dataflow-edge-card,.dataflow-metric{box-shadow:none;border-radius:0}.dataflow-panel{background:#fff;top:116px}.rpanel{border-left:1px solid var(--border);box-shadow:none;background:#fff}.ph{border-bottom:1px solid var(--border);color:var(--text);letter-spacing:0;text-transform:none;background:#f4f4f4;padding:14px 16px 12px}.ph-title{color:var(--text);font-size:14px;font-weight:600}.ph-sub{color:var(--textm);font-size:12px;font-weight:400}.props-tabs{border-bottom:1px solid var(--border);background:#fff;padding:0}.props-tab{border:0;border-right:1px solid var(--border);height:40px;color:var(--text2);background:#fff;border-radius:0;font-size:12px;font-weight:400}.props-tab:hover,.props-tab.is-active{color:#0043ce;background:#edf5ff}.props-tab.is-active{box-shadow:inset 0 -3px 0 var(--blue)}.props-body{background:#fff;padding:16px}.props-empty{color:var(--textm);font-size:13px}.pgroup,.props-port-card,.sim-intf-group,.scope-props-hero,.scope-props-count,.scope-props-channel,.instrument-hero,.instrument-count,.instrument-metrics span,.instrument-table,.diagnostics-hero,.diagnostics-score,.diagnostics-pill,.diagnostics-card,.subsystem-boundary-note{box-shadow:none;border-radius:0}.pglbl,.props-field label,.sim-intf-title{color:var(--textm);letter-spacing:0;font-size:11px;font-weight:600}.prow{border-bottom:1px solid var(--border);font-size:12px}.pk{color:var(--text2)}.pv,.pv-ok,.pv-fault{font-family:var(--font-data)}.props-field input,.props-field select,.props-field textarea{border:0;border-bottom:1px solid var(--border-dark);color:var(--text);background:#f4f4f4;border-radius:0}.props-field input:focus,.props-field select:focus,.props-field textarea:focus{border-color:var(--blue);box-shadow:0 2px 0 0 var(--blue)}.props-save,.props-secondary,.props-danger,.instrument-primary,.instrument-secondary,.diagnostics-card__button,.scope-props-open{box-shadow:none;border-radius:0}.props-save,.props-danger{background:var(--red);color:#fff}.props-secondary,.instrument-secondary{border:1px solid var(--border);color:var(--blue);background:#fff}.instrument-primary,.scope-props-open{border:1px solid var(--blue);background:var(--blue);color:#fff}.props-fault-panel{flex-direction:column;gap:12px;display:flex}.props-fault-panel .props-target-card{border:1px solid var(--border);border-left:3px solid var(--blue);background:#fff;border-radius:0;align-items:flex-start;margin:0;padding:16px}.props-fault-panel .props-target-card.is-faulted{border-color:var(--border);border-left-color:var(--red);background:#fff}.props-fault-panel .props-title{color:var(--text);font-size:15px;font-weight:600;line-height:1.35}.props-fault-panel .props-sub{color:var(--text2);letter-spacing:.16px;margin-top:4px;font-size:12px}.props-fault-panel .props-state-pill{border:1px solid #0000;border-radius:2px;padding:3px 8px;font-size:11px;font-weight:600}.props-fault-panel .props-state-pill.is-normal{color:#0e6027;background:#defbe6;border-color:#a7f0ba}.props-fault-panel .props-state-pill.is-faulted{color:#a2191f;background:#fff1f1;border-color:#ffb3b8}.props-fault-section{border:1px solid var(--border);background:#fff;border-radius:0;margin:0}.props-section-head{border-bottom:1px solid var(--border);background:#f4f4f4;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.props-section-head .pglbl{color:var(--text);letter-spacing:.16px;text-transform:none;margin:0;font-size:13px;font-weight:600;line-height:1.35}.props-section-head p{color:var(--text2);margin:4px 0 0;font-size:12px;line-height:1.45}.props-section-count{border:1px solid var(--border);min-width:54px;color:var(--blue);font-family:var(--font-data);text-align:center;white-space:nowrap;background:#fff;flex:none;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.15}.props-fault-slot-table{flex-direction:column;display:flex}.props-fault-slot-head,.props-fault-slot-row{flex-direction:column;gap:10px;display:flex}.props-fault-slot-head{border-bottom:1px solid var(--border);color:var(--text2);background:#fff;padding:10px 16px;font-size:11px;font-weight:600;display:none}.props-fault-slot-row{border-bottom:1px solid var(--border);background:#fff;padding:14px 16px 15px}.props-fault-slot-row:last-child{border-bottom:0}.props-fault-slot-row:hover{background:#f8f8f8}.props-fault-variable{min-width:0}.props-fault-variable strong{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.32;display:block}.props-fault-variable span{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;min-width:0;margin-top:7px;display:grid}.props-fault-variable b{border:1px solid var(--border);min-height:20px;color:var(--text2);white-space:nowrap;background:#f4f4f4;align-items:center;padding:0 6px;font-size:11px;font-weight:400;display:inline-flex}.props-fault-variable code{color:var(--text2);font-family:var(--font-data);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.props-fault-slot-layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.props-layer-toggle{border:1px solid var(--border);min-height:34px;color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;justify-content:center;align-items:center;gap:0;margin-left:-1px;padding:0 6px;font-size:12px;line-height:1;display:flex;position:relative}.props-layer-toggle:first-child{margin-left:0}.props-layer-toggle:hover{color:#0043ce;background:#edf5ff}.props-layer-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.props-layer-toggle span{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.props-layer-toggle span:before{content:"";border:1px solid var(--border-dark);background:#fff;flex:none;width:10px;height:10px}.props-layer-toggle:has(input:checked){border-color:var(--blue);color:#0043ce;z-index:1;background:#edf5ff}.props-layer-toggle:has(input:checked) span:before{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 2px #fff}.edge-testpoint-list{gap:12px;display:grid}.edge-testpoint-card{border:1px solid var(--border);background:#fff;border-radius:6px;gap:10px;padding:12px;display:grid}.edge-testpoint-card-head{color:var(--text2);font-family:var(--font-data);justify-content:space-between;align-items:center;font-size:11px;display:flex}.edge-testpoint-fault-group{margin:0}.edge-testpoint-fault-list{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.edge-testpoint-fault-component{border:1px solid var(--border);background:#f8fbff;border-radius:6px;width:100%;min-width:0;overflow:hidden}.edge-testpoint-fault-component summary{cursor:pointer;color:var(--text);padding:8px 10px;font-size:12px;font-weight:800;list-style-position:inside}.edge-testpoint-fault-component__list{grid-template-columns:minmax(0,1fr);gap:6px;padding:0 8px 8px;display:grid}.edge-testpoint-fault-option{justify-content:flex-start;width:100%;min-width:0;padding:8px;line-height:1.35}.edge-testpoint-fault-option span{white-space:normal;overflow-wrap:anywhere;word-break:break-word;justify-content:flex-start;min-width:0}.edge-testpoint-actions{justify-content:flex-end;padding-top:0}.props-fault-section>.props-help{border-top:1px solid var(--border);color:var(--text2);padding:12px 16px 14px;font-size:12px;line-height:1.55}.props-fault-stack{gap:0}.props-fault-stack .props-empty-state{margin:16px}.props-empty-state{border-color:var(--border);color:var(--text2);background:#fff;border-radius:0}.props-empty-state--compact{border-style:solid;margin:0;padding:10px;font-size:11px}.props-fault-card{border:0;border-bottom:1px solid var(--border);background:#fff;border-radius:0;padding:0}.props-fault-card:last-child{border-bottom:0}.props-fault-card__top{align-items:flex-start;padding:14px 16px 12px}.props-fault-card strong{color:var(--text);font-size:13px;font-weight:600}.props-fault-card span{color:var(--text2);font-size:11px}.rpanel[data-props-panel-kind=fault-tag] .props-tab.is-active{color:#0043ce;box-shadow:inset 0 -3px 0 var(--blue);background:#edf5ff}.props-panel-shell--fault-tag{gap:12px}.props-panel-shell--fault-tag .props-panel-hero{border:1px solid var(--border);border-left:3px solid var(--red);box-shadow:none;background:#fff;border-radius:0;padding:14px 16px}.props-panel-shell--fault-tag .props-panel-hero__eyebrow{color:#a2191f;font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600}.props-panel-shell--fault-tag .props-panel-hero__title{color:var(--text);font-size:15px;font-weight:600;line-height:1.35}.props-panel-shell--fault-tag .props-panel-hero__meta{border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px}.props-panel-shell--fault-tag .props-panel-hero__pill{border:0;border-right:1px solid var(--border);background:#f8fbff;border-radius:0;padding:8px 10px}.props-panel-shell--fault-tag .props-panel-hero__pill:last-child{border-right:0}.props-panel-shell--fault-tag .props-panel-hero__pill span,.props-panel-shell--fault-tag .fault-tag-binding-card span,.props-panel-shell--fault-tag .fault-tag-param-preview__row span{color:var(--text2);font-family:var(--font-ui);font-size:11px;font-weight:500;line-height:1.35}.props-panel-shell--fault-tag .props-panel-hero__pill strong,.props-panel-shell--fault-tag .fault-tag-binding-card strong,.props-panel-shell--fault-tag .fault-tag-param-preview__row strong{color:var(--text);font-family:var(--font-ui);margin:0;font-size:12px;font-weight:600;line-height:1.45}.props-panel-shell--fault-tag .props-fault-card{border:1px solid var(--border);border-left:3px solid var(--red);background:#fff;border-radius:0}.props-panel-shell--fault-tag .props-fault-card__top{align-items:center;padding:12px 14px}.props-panel-shell--fault-tag .props-fault-card strong{color:var(--text);font-size:14px;font-weight:600}.props-panel-shell--fault-tag .props-fault-card span{color:var(--text2);font-family:var(--font-ui);font-size:12px}.props-panel-shell--fault-tag .props-state-pill.is-faulted{color:#a2191f;background:#fff1f1;border:1px solid #ffb3b8;border-radius:2px;font-size:11px;font-weight:600}.props-panel-shell--fault-tag .pglbl{color:var(--text);font-family:var(--font-ui);letter-spacing:0;text-transform:none;white-space:nowrap;margin:0 0 8px;font-size:13px;font-weight:600}.props-panel-shell--fault-tag .fault-tag-overview-panel{gap:12px}.props-panel-shell--fault-tag .fault-tag-binding-card,.props-panel-shell--fault-tag .fault-tag-param-preview{border:1px solid var(--border);background:#fff;gap:0;display:grid}.props-panel-shell--fault-tag .fault-tag-binding-card div,.props-panel-shell--fault-tag .fault-tag-param-preview__row{border:0;border-bottom:1px solid var(--border);background:#fff;border-radius:0;grid-template-columns:minmax(76px,.45fr) minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px 12px;display:grid}.props-panel-shell--fault-tag .fault-tag-binding-card div:last-child,.props-panel-shell--fault-tag .fault-tag-param-preview__row:last-child{border-bottom:0}.props-panel-shell--fault-tag .fault-tag-param-preview__head{border-bottom:1px solid var(--border);background:#f8fbff;justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:42px;padding:0 12px;display:flex;overflow:hidden}.props-panel-shell--fault-tag .fault-tag-param-preview__head .pglbl{flex:auto;min-width:0;margin:0}.props-panel-shell--fault-tag .fault-tag-param-edit{border:1px solid var(--border);width:auto;max-width:118px;min-height:30px;color:var(--blue);cursor:pointer;white-space:nowrap;word-break:keep-all;background:#fff;border-radius:0;flex:none;padding:0 12px;font-size:12px;font-weight:600}.props-panel-shell--fault-tag .fault-tag-param-edit:hover{border-color:var(--blue);color:#0043ce;background:#edf5ff}.props-panel-shell--fault-tag .fault-tag-param-panel{border:1px solid var(--border);background:#fff;flex-direction:column;gap:0;padding:0;display:flex}.props-panel-shell--fault-tag .fault-tag-param-panel>.pglbl{border-bottom:1px solid var(--border);background:#f8fbff;min-height:42px;margin:0;padding:12px}.props-panel-shell--fault-tag .fault-tag-param-row{border-bottom:1px solid var(--border);background:#fff;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px 12px;display:grid}.props-panel-shell--fault-tag .fault-tag-param-row span{color:var(--text2);font-family:var(--font-ui);font-size:12px;font-weight:500}.props-panel-shell--fault-tag .fault-tag-param-row input{border:1px solid var(--border);width:100%;min-width:0;height:34px;color:var(--text);font-family:var(--font-ui);background:#fff;border-radius:0;font-size:12px;font-weight:600}.props-panel-shell--fault-tag .fault-tag-param-row input:focus{outline:2px solid var(--blue);outline-offset:-2px;border-color:var(--blue);background:#f8fbff}.props-panel-shell--fault-tag .fault-tag-param-actions{background:#fff;border-top:0;margin:0;padding:12px}.props-panel-shell--fault-tag .fault-tag-param-actions span{color:var(--text2);font-family:var(--font-ui);font-size:12px;font-weight:500}.props-panel-shell--fault-tag .fault-tag-param-actions button{width:auto;min-width:76px;height:32px;font-family:var(--font-ui);white-space:nowrap;word-break:keep-all;border-radius:0;font-size:12px;font-weight:600}.props-panel-shell--fault-tag .fault-tag-param-reset:not(:disabled){border:1px solid var(--border);color:var(--text);background:#fff}.props-panel-shell--fault-tag .fault-tag-param-reset:not(:disabled):hover{border-color:var(--blue);color:var(--blue)}.props-panel-shell--fault-tag .fault-tag-param-apply:not(:disabled){border:1px solid var(--blue);background:var(--blue);color:#fff}.props-panel-shell--scope,.props-panel-shell--instrument{gap:12px}.props-panel-shell--scope .props-panel-hero,.props-panel-shell--instrument .props-panel-hero{border:1px solid var(--border);border-left:3px solid var(--green);box-shadow:none;background:#fff;border-radius:0;padding:14px 16px}.props-panel-shell--scope .props-target-card,.props-panel-shell--instrument .props-target-card{border:1px solid var(--border);border-left:3px solid var(--green);box-shadow:none;background:#fff;border-radius:0;align-items:flex-start;margin:0;padding:14px 16px}.props-panel-shell--instrument .props-target-card{border-left-color:var(--teal)}.props-panel-shell--scope .props-target-card strong,.props-panel-shell--instrument .props-target-card strong{color:var(--text);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:1.35}.props-panel-shell--scope .props-target-card span,.props-panel-shell--instrument .props-target-card span{color:var(--text2);font-family:var(--font-ui);font-size:12px;font-weight:400}.props-panel-shell--scope .props-state-pill.is-normal,.props-panel-shell--instrument .props-state-pill.is-normal{color:#0e6027;background:#defbe6;border:1px solid #a7f0ba;border-radius:2px;font-size:11px;font-weight:600}.props-panel-shell--instrument .props-panel-hero,.props-panel-shell--instrument .props-panel-hero--instrument{border-left-color:var(--teal)}.props-panel-shell--scope .props-panel-hero__eyebrow,.props-panel-shell--instrument .props-panel-hero__eyebrow{font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600}.props-panel-shell--scope .props-panel-hero__eyebrow{color:#0e6027}.props-panel-shell--instrument .props-panel-hero__eyebrow{color:#00697a}.props-panel-shell--scope .props-panel-hero__title,.props-panel-shell--instrument .props-panel-hero__title{color:var(--text);font-size:15px;font-weight:600;line-height:1.35}.props-panel-shell--scope .props-panel-hero__meta,.props-panel-shell--instrument .props-panel-hero__meta{border:1px solid var(--border);gap:0;margin-top:12px}.props-panel-shell--scope .props-panel-hero__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.props-panel-shell--instrument .props-panel-hero__meta{grid-template-columns:repeat(3,minmax(0,1fr))}.props-panel-shell--scope .props-panel-hero__pill,.props-panel-shell--instrument .props-panel-hero__pill{border:0;border-right:1px solid var(--border);background:#f8fbff;border-radius:0;padding:8px 10px}.props-panel-shell--scope .props-panel-hero__pill:last-child,.props-panel-shell--instrument .props-panel-hero__pill:last-child{border-right:0}.props-panel-shell--scope .props-panel-hero__pill span,.props-panel-shell--instrument .props-panel-hero__pill span,.props-panel-shell--scope .scope-mini-channel span,.props-panel-shell--scope .scope-export-option em,.props-panel-shell--scope .scope-export-chip,.props-panel-shell--instrument .instrument-copy,.props-panel-shell--instrument .instrument-count span,.props-panel-shell--instrument .instrument-metrics em,.props-panel-shell--instrument .instrument-table-head{color:var(--text2);font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:11px;font-weight:500;line-height:1.35}.props-panel-shell--scope .props-panel-hero__pill strong,.props-panel-shell--instrument .props-panel-hero__pill strong,.props-panel-shell--scope .scope-mini-channel strong,.props-panel-shell--instrument .instrument-title{color:var(--text);font-family:var(--font-ui);margin:0;font-size:12px;font-weight:600;line-height:1.45}.props-panel-shell--scope .scope-overview-compact,.props-panel-shell--instrument .instrument-props{gap:12px}.props-panel-shell--scope .scope-overview-open,.props-panel-shell--instrument .instrument-primary,.props-panel-shell--instrument .instrument-secondary{min-height:34px;box-shadow:none;font-family:var(--font-ui);border-radius:0;font-size:12px;font-weight:600}.props-panel-shell--scope .scope-overview-open{border:1px solid var(--green);color:#0e6027;background:#fff}.props-panel-shell--scope .scope-overview-open:hover{background:#f0fdf4}.props-panel-shell--scope .scope-mini-channel-list{border:1px solid var(--border);background:#fff;gap:0}.props-panel-shell--scope .scope-mini-channel{border:0;border-left:3px solid var(--border-dark);border-bottom:1px solid var(--border);background:#fff;border-radius:0;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}.props-panel-shell--scope .scope-mini-channel:last-child{border-bottom:0}.props-panel-shell--scope .scope-mini-channel.is-connected{border-left-color:var(--green);background:#fff}.props-panel-shell--scope .scope-mini-channel span,.props-panel-shell--scope .scope-mini-channel strong{margin:0}.props-panel-shell--scope .scope-mini-channel.is-connected span{color:#0e6027;font-weight:600}.props-panel-shell--scope .scope-export-panel,.props-panel-shell--scope .scope-export-options,.props-panel-shell--scope .scope-export-fields{gap:8px}.props-panel-shell--scope .scope-export-summary,.props-panel-shell--scope .scope-export-option,.props-panel-shell--scope .scope-export-chip,.props-panel-shell--instrument .instrument-hero,.props-panel-shell--instrument .instrument-count,.props-panel-shell--instrument .instrument-metrics span,.props-panel-shell--instrument .instrument-table,.props-panel-shell--instrument .instrument-spectrum-bars{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:0}.props-panel-shell--scope .scope-export-summary{border-left:3px solid var(--green)}.props-panel-shell--scope .scope-export-kicker{color:#0e6027;font-family:var(--font-ui);letter-spacing:0;font-size:11px;font-weight:600}.props-panel-shell--scope .scope-export-summary strong{color:var(--text);font-family:var(--font-ui);font-size:15px;font-weight:600}.props-panel-shell--scope .scope-export-summary span,.props-panel-shell--scope .scope-export-option strong{color:var(--text);font-family:var(--font-ui);font-size:12px;font-weight:600}.props-panel-shell--scope .scope-export-option{padding:10px 12px}:is(.props-panel-shell--scope .scope-export-option:has(input:checked),.props-panel-shell--scope .scope-export-chip:has(input:checked)){border-color:var(--green);box-shadow:none;background:#f0fdf4}.props-panel-shell--scope .scope-export-chip{min-height:30px;padding:0 9px}.props-panel-shell--scope .scope-export-actions .props-secondary,.props-panel-shell--scope .scope-export-actions .props-save{width:auto;min-height:34px;font-family:var(--font-ui);border-radius:0;font-size:12px;font-weight:600}.props-panel-shell--scope .scope-export-actions .props-save{border:1px solid var(--green);background:var(--green);color:#fff}.props-panel-shell--instrument .instrument-hero{border-left:3px solid var(--teal);padding:13px 14px}.props-panel-shell--instrument .instrument-props--spectrum .instrument-hero{border-left-color:var(--purple)}.props-panel-shell--instrument .instrument-kicker{color:#00697a;font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600}.props-panel-shell--instrument .instrument-props--spectrum .instrument-kicker{color:#5b21b6}.props-panel-shell--instrument .instrument-count{flex:0 0 64px;min-height:54px}.props-panel-shell--instrument .instrument-count strong,.props-panel-shell--instrument .instrument-metrics b,.props-panel-shell--instrument .instrument-table-row{color:var(--text);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-weight:600}.props-panel-shell--instrument .instrument-count strong{font-size:19px}.props-panel-shell--instrument .instrument-metrics{border:1px solid var(--border);background:#fff;gap:0}.props-panel-shell--instrument .instrument-metrics span{border:0;border-right:1px solid var(--border);padding:9px 10px}.props-panel-shell--instrument .instrument-metrics span:last-child{border-right:0}.props-panel-shell--instrument .instrument-metrics b{font-size:13px;line-height:1.2}.props-panel-shell--instrument .instrument-actions{gap:8px}.props-panel-shell--instrument .instrument-primary{border:1px solid var(--blue);background:var(--blue);color:#fff}.props-panel-shell--instrument .instrument-secondary{border:1px solid var(--border);color:var(--blue);background:#fff}.props-panel-shell--instrument .instrument-primary:hover,.props-panel-shell--instrument .instrument-secondary:hover{transform:none}.props-panel-shell--instrument .instrument-secondary:hover{border-color:var(--blue);background:#edf5ff}.props-panel-shell--instrument .instrument-table{overflow:hidden}.props-panel-shell--instrument .instrument-table-head,.props-panel-shell--instrument .instrument-table-row{gap:6px;padding:8px 10px}.props-panel-shell--instrument .instrument-table-head{border-bottom:1px solid var(--border);background:#f8fbff}.props-panel-shell--instrument .instrument-table-row{border-top:0;border-bottom:1px solid var(--border);font-size:11px}.props-panel-shell--instrument .instrument-table-row:last-child{border-bottom:0}.props-panel-shell--instrument .instrument-spectrum-bars{height:72px;padding:12px}.props-panel-shell--instrument .instrument-spectrum-bars span{background:var(--blue);box-shadow:none;border-radius:0}.props-panel-shell--instrument .instrument-props--spectrum .instrument-spectrum-bars span{background:var(--purple)}.props-panel-shell--component,.props-panel-shell--edge,.props-panel-shell--fault-injector{gap:12px}.props-panel-shell--component .props-panel-hero,.props-panel-shell--edge .props-panel-hero,.props-panel-shell--fault-injector .props-panel-hero{border:1px solid var(--border);border-left:3px solid var(--blue);box-shadow:none;background:#fff;border-radius:0;padding:14px 16px}.props-panel-shell--edge .props-panel-hero{border-left-color:var(--purple)}.props-panel-shell--fault-injector .props-panel-hero{border-left-color:var(--red)}.props-panel-shell--component .props-panel-hero__eyebrow,.props-panel-shell--edge .props-panel-hero__eyebrow,.props-panel-shell--fault-injector .props-panel-hero__eyebrow{font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600}.props-panel-shell--component .props-panel-hero__eyebrow{color:#0043ce}.props-panel-shell--edge .props-panel-hero__eyebrow{color:#5b21b6}.props-panel-shell--fault-injector .props-panel-hero__eyebrow{color:#a2191f}.props-panel-shell--component .props-panel-hero__title,.props-panel-shell--edge .props-panel-hero__title,.props-panel-shell--fault-injector .props-panel-hero__title{color:var(--text);font-size:15px;font-weight:600;line-height:1.35}.props-panel-shell--component .props-panel-hero__meta,.props-panel-shell--edge .props-panel-hero__meta,.props-panel-shell--fault-injector .props-panel-hero__meta{border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px}.props-panel-shell--component .props-panel-hero__pill,.props-panel-shell--edge .props-panel-hero__pill,.props-panel-shell--fault-injector .props-panel-hero__pill{border:0;border-right:1px solid var(--border);background:#f8fbff;border-radius:0;padding:8px 10px}.props-panel-shell--component .props-panel-hero__pill:last-child,.props-panel-shell--edge .props-panel-hero__pill:last-child,.props-panel-shell--fault-injector .props-panel-hero__pill:last-child{border-right:0}.props-panel-shell--component .props-panel-hero__pill span,.props-panel-shell--edge .props-panel-hero__pill span,.props-panel-shell--fault-injector .props-panel-hero__pill span,.props-panel-shell--component .pglbl,.props-panel-shell--edge .pglbl,.props-panel-shell--fault-injector .pglbl,.props-panel-shell--component .props-field label,.props-panel-shell--edge .props-field label,.props-panel-shell--fault-injector .props-field label,.props-panel-shell--component .sim-intf-meta,.props-panel-shell--fault-injector .sim-intf-meta,.props-panel-shell--component .props-help,.props-panel-shell--edge .props-help,.props-panel-shell--fault-injector .props-help{color:var(--text2);font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:11px;font-weight:500;line-height:1.35}.props-panel-shell--component .props-panel-hero__pill strong,.props-panel-shell--edge .props-panel-hero__pill strong,.props-panel-shell--fault-injector .props-panel-hero__pill strong{color:var(--text);font-family:var(--font-ui);margin:0;font-size:12px;font-weight:600;line-height:1.45}.props-panel-shell--component .props-target-card,.props-panel-shell--edge .props-target-card,.props-panel-shell--fault-injector .props-target-card{border:1px solid var(--border);border-left:3px solid var(--blue);box-shadow:none;background:#fff;border-radius:0;align-items:flex-start;margin:0;padding:14px 16px}.props-panel-shell--edge .props-target-card{border-left-color:var(--purple)}.props-panel-shell--fault-injector .props-target-card{border-left-color:var(--red)}.props-panel-shell--component .props-target-card.is-faulted,.props-panel-shell--edge .props-target-card.is-faulted,.props-panel-shell--fault-injector .props-target-card.is-faulted{border-color:var(--border);border-left-color:var(--red);background:#fff}.props-panel-shell--component .props-title,.props-panel-shell--edge .props-title,.props-panel-shell--fault-injector .props-title{color:var(--text);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:1.35}.props-panel-shell--component .props-sub,.props-panel-shell--edge .props-sub,.props-panel-shell--fault-injector .props-sub{color:var(--text2);font-family:var(--font-ui);margin-top:4px;font-size:12px;font-weight:400;line-height:1.4}.props-panel-shell--component .props-state-pill,.props-panel-shell--edge .props-state-pill,.props-panel-shell--fault-injector .props-state-pill{font-family:var(--font-ui);border:1px solid #0000;border-radius:2px;padding:3px 8px;font-size:11px;font-weight:600}.props-panel-shell--component .props-state-pill.is-normal,.props-panel-shell--edge .props-state-pill.is-normal,.props-panel-shell--fault-injector .props-state-pill.is-normal{color:#0e6027;background:#defbe6;border-color:#a7f0ba}.props-panel-shell--component .props-state-pill.is-faulted,.props-panel-shell--edge .props-state-pill.is-faulted,.props-panel-shell--fault-injector .props-state-pill.is-faulted{color:#a2191f;background:#fff1f1;border-color:#ffb3b8}.props-panel-shell--component .pgroup,.props-panel-shell--edge .pgroup,.props-panel-shell--fault-injector .pgroup{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:0;margin:0;padding:0}.props-panel-shell--component .pglbl,.props-panel-shell--edge .pglbl,.props-panel-shell--fault-injector .pglbl{border-bottom:1px solid var(--border);color:var(--text);background:#f8fbff;margin:0;padding:10px 12px;font-size:13px;font-weight:600}.props-panel-shell--component .prow,.props-panel-shell--edge .prow,.props-panel-shell--fault-injector .prow{border-bottom:1px solid var(--border);min-height:34px;font-family:var(--font-ui);grid-template-columns:minmax(92px,.46fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:grid}.props-panel-shell--component .prow:last-child,.props-panel-shell--edge .prow:last-child,.props-panel-shell--fault-injector .prow:last-child{border-bottom:0}.props-panel-shell--component .pk,.props-panel-shell--edge .pk,.props-panel-shell--fault-injector .pk{color:var(--text2);font-family:var(--font-ui);font-weight:500}.props-panel-shell--component .pv,.props-panel-shell--edge .pv,.props-panel-shell--fault-injector .pv{min-width:0;color:var(--text);font-family:var(--font-ui);overflow-wrap:anywhere;text-align:right;font-weight:600}.props-panel-shell--component .props-form,.props-panel-shell--edge .props-form,.props-panel-shell--fault-injector .props-form{gap:12px}.props-panel-shell--component .props-row,.props-panel-shell--edge .props-row,.props-panel-shell--fault-injector .props-row{gap:10px}.props-panel-shell--component .props-field,.props-panel-shell--edge .props-field,.props-panel-shell--fault-injector .props-field{gap:6px;min-width:0}.props-panel-shell--component .props-field input,.props-panel-shell--component .props-field select,.props-panel-shell--component .props-field textarea,.props-panel-shell--edge .props-field input,.props-panel-shell--edge .props-field select,.props-panel-shell--edge .props-field textarea,.props-panel-shell--fault-injector .props-field input,.props-panel-shell--fault-injector .props-field select,.props-panel-shell--fault-injector .props-field textarea{border:1px solid var(--border);width:100%;min-width:0;min-height:34px;color:var(--text);font-family:var(--font-ui);box-shadow:none;background:#fff;border-radius:0;padding:0 10px;font-size:12px;font-weight:600;line-height:1.4}.props-panel-shell--component .props-field textarea,.props-panel-shell--edge .props-field textarea,.props-panel-shell--fault-injector .props-field textarea{min-height:76px;padding:8px 10px}.props-panel-shell--component .props-field input:focus,.props-panel-shell--component .props-field select:focus,.props-panel-shell--component .props-field textarea:focus,.props-panel-shell--edge .props-field input:focus,.props-panel-shell--edge .props-field select:focus,.props-panel-shell--edge .props-field textarea:focus,.props-panel-shell--fault-injector .props-field input:focus,.props-panel-shell--fault-injector .props-field select:focus,.props-panel-shell--fault-injector .props-field textarea:focus{outline:2px solid var(--blue);outline-offset:-2px;border-color:var(--blue);box-shadow:none;background:#f8fbff}.props-panel-shell--component .props-actions,.props-panel-shell--edge .props-actions,.props-panel-shell--fault-injector .props-actions{grid-template-columns:1fr;gap:8px;margin-top:0;display:grid}.props-panel-shell--component .props-save,.props-panel-shell--component .props-secondary,.props-panel-shell--component .props-danger,.props-panel-shell--edge .props-save,.props-panel-shell--edge .props-secondary,.props-panel-shell--edge .props-danger,.props-panel-shell--fault-injector .props-save,.props-panel-shell--fault-injector .props-secondary,.props-panel-shell--fault-injector .props-danger{width:100%;min-height:38px;box-shadow:none;font-family:var(--font-ui);border-radius:0;font-size:13px;font-weight:600}.props-panel-shell--component .props-save,.props-panel-shell--edge .props-save,.props-panel-shell--fault-injector .props-save{border:1px solid var(--blue);background:var(--blue);color:#fff}.props-panel-shell--component .props-secondary,.props-panel-shell--edge .props-secondary,.props-panel-shell--fault-injector .props-secondary{border:1px solid var(--border);color:var(--blue);background:#fff}.props-panel-shell--component .props-secondary:hover,.props-panel-shell--edge .props-secondary:hover,.props-panel-shell--fault-injector .props-secondary:hover{border-color:var(--blue);background:#edf5ff}.props-panel-shell--component .props-danger,.props-panel-shell--edge .props-danger,.props-panel-shell--fault-injector .props-danger{border:1px solid var(--red);color:var(--red);background:#fff}.props-panel-shell--component .props-danger:hover,.props-panel-shell--edge .props-danger:hover,.props-panel-shell--fault-injector .props-danger:hover{background:#fff1f1}.props-panel-shell--component .props-port-list,.props-panel-shell--component .sim-intf-list,.props-panel-shell--fault-injector .sim-intf-list{gap:0}.props-panel-shell--component .props-port-card,.props-panel-shell--component .sim-intf-group,.props-panel-shell--component .subsystem-boundary-note,.props-panel-shell--edge .props-edge-connection,.props-panel-shell--edge .props-channel-card,.props-panel-shell--edge .props-channel-summary,.props-panel-shell--edge .props-edge-route-meta,.props-panel-shell--edge .props-chip,.props-panel-shell--fault-injector .sim-intf-group{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:0}.props-panel-shell--component .props-port-card{border-bottom:0;padding:10px 12px}.props-panel-shell--component .props-port-card:last-child{border-bottom:1px solid var(--border)}.props-panel-shell--component .props-port-card__name,.props-panel-shell--component .sim-intf-title,.props-panel-shell--fault-injector .sim-intf-title,.props-panel-shell--edge .props-edge-connection-title,.props-panel-shell--edge .props-channel-card__head strong{color:var(--text);font-family:var(--font-ui);font-size:12px;font-weight:600}.props-panel-shell--component .props-port-card__var,.props-panel-shell--component .props-port-card__meta,.props-panel-shell--component .sim-intf-note,.props-panel-shell--fault-injector .sim-intf-note{color:var(--text2);font-family:var(--font-ui);font-size:11px;font-weight:400}.props-panel-shell--component .sim-intf-group,.props-panel-shell--fault-injector .sim-intf-group{gap:0;padding:0}.props-panel-shell--component .sim-intf-head,.props-panel-shell--fault-injector .sim-intf-head{border-bottom:1px solid var(--border);background:#f8fbff;padding:10px 12px}.props-panel-shell--component .sim-intf-meta,.props-panel-shell--fault-injector .sim-intf-meta{background:0 0;border:0;border-radius:0;padding:0}.props-panel-shell--component .sim-intf-row,.props-panel-shell--fault-injector .sim-intf-row{border-bottom:1px solid var(--border);padding:10px 12px}.props-panel-shell--component .sim-intf-row:last-child,.props-panel-shell--fault-injector .sim-intf-row:last-child{border-bottom:0}.props-panel-shell--edge .props-edge-connection,.props-panel-shell--edge .props-channel-card,.props-panel-shell--edge .props-channel-summary,.props-panel-shell--edge .props-edge-route-meta{margin-top:8px;padding:10px 12px}.props-panel-shell--edge .props-chip-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.props-panel-shell--edge .props-chip{min-height:26px;color:var(--text2);font-family:var(--font-ui);align-items:center;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.props-panel-shell--edge .props-channel-list{flex-direction:column;gap:8px;display:flex}.props-fault-remove{border:1px solid var(--border);width:auto;min-width:52px;min-height:30px;color:var(--blue);background:#fff;padding:0 10px}.props-fault-param-grid{grid-template-columns:1fr;gap:8px;padding:0 16px 14px;display:grid}.props-fault-card .props-fault-param{border:1px solid var(--border);background:#f4f4f4;grid-template-columns:minmax(82px,.8fr) minmax(0,1.2fr);align-items:center;gap:8px;margin-top:0;padding:8px 10px;display:grid}.props-fault-param em{color:var(--text2);overflow-wrap:anywhere;font-size:11px;font-style:normal}.props-fault-param b{color:var(--text);font-family:var(--font-data);overflow-wrap:anywhere;font-size:11px;font-weight:600}.props-fault-actions{gap:8px;margin-top:0}.props-fault-panel .props-save,.props-fault-panel .props-secondary,.props-fault-panel .props-danger{border-radius:0;min-height:44px;font-size:14px;font-weight:600}.props-fault-panel .props-save{border:1px solid var(--blue);background:var(--blue);color:#fff}.props-fault-panel .props-save:hover{background:#0050e6}.props-fault-panel .props-secondary{border:1px solid var(--blue);color:var(--blue);background:#fff}.props-fault-panel .props-secondary:hover{background:#edf5ff}.props-fault-panel .props-danger{border:1px solid var(--red);background:var(--red);color:#fff}.props-fault-panel .props-danger:hover{background:#a2191f}.props-fault-panel .props-fault-clear{border-color:var(--border-dark);color:var(--text)}.sbar{border-top:1px solid var(--border);background:#f4f4f4;gap:8px;height:100%;padding:8px}.sbar-log,.sbar-card{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:0}.sbar-log-head{border-bottom:1px solid var(--border);background:#fff;min-height:36px}.sbar-tab,.sbar-action{color:var(--text2);background:#fff;border-radius:0;font-size:12px;font-weight:400}.sbar-tab:hover,.sbar-tab.is-active,.sbar-action:hover{color:#0043ce;background:#edf5ff}.sbar-tab.is-active{box-shadow:inset 0 -3px 0 var(--blue)}.sbar-row{min-height:28px;color:var(--text2);grid-template-columns:72px 62px 72px minmax(0,1fr);padding:0 10px}.sbar-row--head{color:var(--textm);background:#f4f4f4}.sbar-badge,.sbar-card__accent,.sbar-state{border-radius:0}.sbar-badge--info{color:#0043ce;background:#edf5ff}.sbar-badge--ok{background:var(--green-bg);color:#0e6027}.sbar-badge--warn{background:var(--orange-bg);color:#684e00}.sbar-badge--error{background:var(--red-bg);color:var(--red)}.sbar-metrics{gap:8px}.sbar-card{padding:10px 12px}.sbar-card__accent{background:var(--blue);width:3px}.sbar-card__label{color:var(--textm);font-size:11px;font-weight:400}.sbar-card__value,.sbar-time,.sbar-metric-number{color:var(--text);font-family:var(--font-data);font-weight:600}.sbar-state{color:var(--text);background:#f4f4f4}.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#16161642}.modal{border:1px solid var(--border-mid);background:#fff;border-radius:0;box-shadow:0 18px 48px #16161638}.mhead,.mfoot{border-color:var(--border);background:#f4f4f4}.mtitle{font-family:var(--font-ui);font-size:16px;font-weight:600;color:var(--text)!important}.mclose,.btn-cancel,.btn-ok,.btn-build-fault,.ifm-filter,.ifm-search,.ifm-summary-card,.ifm-content-grid .ifm-list,.ifm-detail,.ifm-item,.ifm-detail-section,.ifm-formula,.ifm-param,.tpl-cat,.tcard,.tdval,.einj-card,.cfg-f select,.cfg-f input,.lbtn,.toast{box-shadow:none;border-radius:0}.mclose,.btn-cancel{border:1px solid var(--border-mid);color:var(--text);background:#fff}.btn-ok-b,.btn-ok-p,.btn-build-fault{border:1px solid var(--blue);background:var(--blue);color:#fff}.btn-ok-r{border:1px solid var(--red);background:var(--red);color:#fff}.btn-ok-g{border:1px solid var(--green);background:var(--green);color:#fff}.ifm-modal-body,.ifm-catalog-head,.ifm-toolbar,.ifm-detail-head,.einj-main,.einj-target,.tpl-cats,.tpl-detail,.cfg-prev{background:#fff}.ifm-filter.on,.tpl-cat.on,.tcard.on,.lbtn.on{border-color:var(--blue);color:#0043ce;background:#edf5ff}.ifm-content-grid .ifm-item.on,.einj-card.on{border-color:var(--red);background:var(--red-bg)}.uav-fault-demo-controls{display:none!important}#ov-ifm .btn-ok-r{border-color:var(--blue);background:var(--blue);color:#fff}#ov-ifm .btn-ok-r:hover{background:#0043ce;border-color:#0043ce}.ifm-content-grid .ifm-item.on,.einj-card.on{background:#edf5ff!important;border-color:#78a9ff!important;box-shadow:0 0 0 2px #0f62fe1a!important}.ifm-content-grid .ifm-item.on .ifm-name{color:#0f3b8f}.ifm-content-grid .ifm-item.is-imported{background:#f3fff6!important;border-color:#9bd8aa!important}.compact-clear-fault-selection,.compact-clear-fault-selection-inline{color:#334155!important;background:#fff!important;border-color:#8d99a8!important}.compact-clear-fault-selection:hover,.compact-clear-fault-selection-inline:hover{color:#0f62fe!important;border-color:#0f62fe!important}#ov-ifm .fault-param-editor{background:#f8fafc}#ov-ifm .fault-param-editor .ifm-param-grid{gap:10px}#ov-ifm .fault-param-editor .props-field{background:#fff;border:1px solid #d8e6f3;border-radius:8px;flex-direction:column;gap:7px;min-width:0;margin:0;padding:10px 11px;display:flex}#ov-ifm .fault-param-editor .props-field span{color:#41556f;font-size:11px;font-weight:700;line-height:1.2}#ov-ifm .fault-param-editor .props-field input{color:#111827;width:100%;height:34px;font-family:var(--font-data);background:#eef2f7;border:1px solid #c7d5e8;border-radius:6px;outline:none;padding:0 10px;font-size:12px;line-height:34px}#ov-ifm .fault-param-editor .props-field input:focus{background:#fff;border-color:#0f62fe;box-shadow:0 0 0 3px #0f62fe1f}#ov-ifm .fault-param-editor .props-help{color:#697891;margin-top:10px;font-size:11px;line-height:1.55}.toast{border:1px solid var(--border-mid);background:#fff}@media (width<=1180px){.gz-app{--workbench-left-w:204px;--workbench-right-w:304px}header{grid-template-columns:var(--workbench-left-w,204px) minmax(180px,230px) minmax(320px,1fr) auto}.tbtn{padding:0 10px;font-size:12px}.simbar-title{min-width:112px}}@media (width<=980px){body{overflow:auto}.gz-app{flex-direction:column;height:auto;min-height:100%;display:flex;overflow:visible}.gz-app>main{height:auto}header{grid-template-columns:1fr;height:auto}.logo,.header-project,.stepbar,.toolbar{border-left:0;border-right:0;border-bottom:1px solid var(--border);width:100%;margin:0}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;display:grid}.tbtn{justify-content:center;height:44px;min-height:44px}.canvas-wrap{min-height:680px}.canvas-chrome{grid-template-rows:auto 48px auto;grid-template-columns:1fr}.canvas-sim-dock .simbar{flex-wrap:wrap;height:auto}.simbar-title,.simbar-params,.simbar-rt,.simbar-btns{width:100%}.canvas-tabs,.canvas-tools{grid-column:1}.canvas-tabs{grid-row:2;overflow-x:auto}.canvas-tools{border-left:0;border-top:1px solid var(--border);grid-row:3;overflow-x:auto}.canvas-viewport{top:156px}.canvas-breadcrumbs{top:168px}}@media (width<=760px){.toolbar{grid-template-columns:1fr}.stepbar{justify-content:flex-start;overflow-x:auto}.canvas-floating{align-items:stretch;left:12px;right:12px}.canvas-group-actions,.canvas-mode,.canvas-zoom{flex-wrap:wrap;justify-content:center}.sbar{flex-direction:column;min-height:220px}.sbar-log,.sbar-metrics{width:100%}}@media (width>=1281px) and (width<=1900px){.gz-app{grid-template-rows:56px minmax(0,1fr)}.gz-app>main{height:calc(100vh - 56px)}header{grid-template-columns:minmax(168px,var(--workbench-left-w,220px)) minmax(168px,220px) minmax(300px,1fr) minmax(520px,max-content);grid-template-rows:56px;height:56px}.logo,.header-project,header .stepbar,header .toolbar{grid-row:1}.logo{grid-column:1;height:56px}.header-project{grid-column:2;margin:8px}header .stepbar{border-bottom:0;border-left:0;grid-column:3;justify-content:center;height:56px;overflow:hidden}header .step-item{min-width:84px}header .step-pill{padding:0 8px}header .step-arrow{width:16px}header .toolbar{border-left:1px solid var(--border);background:#fff;border-top:0;grid-column:4;max-width:none;height:56px;overflow-x:auto}header .toolbar .tbtn{min-width:80px;max-width:116px;height:56px;min-height:56px;padding:0 9px;font-size:12px}header .toolbar .tbtn-imp-flt{min-width:88px;color:var(--red);order:0}}.fault-task-loader{z-index:2200;background:#0f172a47;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fault-task-loader__panel{background:#fff;border:1px solid #c9d7ea;flex-direction:column;width:min(760px,100vw - 48px);max-height:min(760px,100vh - 48px);display:flex;box-shadow:0 24px 70px #18274b38}.fault-task-loader__head,.fault-task-loader__foot{border-bottom:1px solid #e1e8f2;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.fault-task-loader__head span{color:#1d6fbf;font-size:12px;font-weight:700;display:block}.fault-task-loader__head strong{color:#111827;margin-top:4px;font-size:20px;display:block}.fault-task-loader__head button{color:#1f2937;background:#fff;border:1px solid #c9d7ea;width:36px;height:36px;font-size:24px;line-height:1}.fault-task-loader__body{padding:18px 20px;overflow:auto}.fault-task-loader__body p{color:#52667a;margin:0 0 16px;font-size:13px;line-height:1.7}.fault-task-loader__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fault-task-card{color:#111827;text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #d6e3f3;min-height:116px;padding:16px}.fault-task-card:hover{border-color:#1d6fbf;box-shadow:0 10px 24px #1d6fbf1f}.fault-task-card b{color:#111827;margin-bottom:8px;font-size:15px;display:block}.fault-task-card span{color:#52667a;font-size:12px;line-height:1.6;display:block}.fault-task-loader__foot{border-top:1px solid #e1e8f2;border-bottom:0;justify-content:flex-end}.fault-task-loader__foot button{color:#1f2937;background:#fff;border:1px solid #c9d7ea;min-width:112px;height:36px;font-weight:700}.fault-task-loader__foot button.primary{color:#fff;background:#1d6fbf;border-color:#1d6fbf}.fault-task-loader__foot button:disabled{color:#9aa8b6;cursor:not-allowed;background:#f5f7fa}@media (width<=720px){.fault-task-loader__grid{grid-template-columns:1fr}}@media (width>=1121px) and (width<=1280px){.gz-app{grid-template-rows:104px minmax(0,1fr)}.gz-app>main{height:calc(100vh - 104px)}header{grid-template-columns:minmax(168px,var(--workbench-left-w,220px)) minmax(188px,248px) minmax(0,1fr);grid-template-rows:52px 52px;height:104px;overflow:hidden}.logo{grid-area:1/1;height:52px}.header-project{grid-area:1/2;margin:6px 10px}header .stepbar{border-bottom:1px solid #d7e2ee;border-left:1px solid #d7e2ee;grid-area:1/3;justify-content:flex-end;height:52px;overflow-x:auto}header .step-item{min-width:92px}header .step-arrow{width:24px}header .toolbar{scrollbar-width:thin;background:#fff;border-top:1px solid #d7e2ee;border-left:0;grid-area:2/1/auto/4;max-width:none;height:52px;overflow-x:auto}header .toolbar::-webkit-scrollbar{height:6px;display:block}header .toolbar .tbtn{min-width:92px;max-width:none;height:52px;min-height:52px;padding:0 12px}header .toolbar .tbtn-imp-flt{min-width:108px;color:var(--red);order:0}}@media (width>=981px) and (width<=1120px){.gz-app{grid-template-rows:156px minmax(0,1fr)}.gz-app>main{height:calc(100vh - 156px)}header{grid-template-columns:minmax(168px,var(--workbench-left-w,192px)) minmax(0,1fr);grid-template-rows:52px 52px 52px;height:156px}}.fault-tag-param-actions{border-top:1px solid #e5edf6;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.fault-tag-param-actions span{color:#64748b;font-size:11px;font-weight:600}.fault-tag-param-actions div{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.fault-tag-param-actions button{white-space:nowrap;word-break:keep-all;border-radius:0;min-width:72px;height:32px;padding:0 12px;font-size:12px;font-weight:600}.fault-tag-param-actions button:disabled{color:#94a3b8;cursor:not-allowed;background:#f4f7fb;border-color:#d8e1ed}.fault-tag-param-apply:not(:disabled){border-color:var(--blue);background:var(--blue);color:#fff}.target-fault-dialog{right:calc(var(--workbench-right-w,360px) + 18px);width:min(520px,calc(100vw - var(--workbench-left-w,192px) - var(--workbench-right-w,360px) - 56px));z-index:90;border:1px solid var(--line-strong);background:#fff;flex-direction:column;max-height:calc(100vh - 164px);display:flex;position:fixed;top:118px;box-shadow:0 16px 42px #0f172a29}.target-fault-dialog__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.target-fault-dialog__head small{color:var(--blue);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.target-fault-dialog__head strong{color:var(--text);font-size:18px;line-height:1.3;display:block}.target-fault-dialog__head p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.target-fault-dialog__head button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--text);background:#fff;flex:none;font-size:20px;line-height:1}.target-fault-dialog__body{gap:10px;padding:14px 20px 20px;display:grid;overflow:auto}.target-fault-choice{text-align:left;border:1px solid var(--line-strong);color:var(--text);cursor:pointer;background:#f8fbff;gap:5px;padding:14px;display:grid}.target-fault-choice:hover{border-color:var(--blue);background:#f2f7ff}.target-fault-choice.is-selected{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#eef5ff}.target-fault-choice.is-injected,.target-fault-choice:disabled{color:#7f1d1d;cursor:not-allowed;background:#fff7f7;border-color:#f1c7c7}.target-fault-choice span{color:var(--text);font-size:15px;font-weight:700;line-height:1.35;display:block}.target-fault-choice small{color:var(--muted);font-size:12px;font-weight:600}.target-fault-choice__slot{font-family:var(--font-mono);color:var(--blue)!important}.target-fault-choice em{color:#b91c1c;background:#ffe5e5;border-radius:999px;justify-self:start;width:max-content;padding:2px 8px;font-size:11px;font-style:normal;font-weight:800}.target-fault-empty{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;background:#f8fafc;padding:22px}.target-fault-parameters{border:1px solid var(--blue);background:#fff;gap:12px;margin-top:4px;padding:14px;display:grid}.target-fault-parameters__head{gap:4px;display:grid}.target-fault-parameters__head span{color:var(--blue);font-size:12px;font-weight:800}.target-fault-parameters__head strong{color:var(--text);font-size:15px;line-height:1.35}.target-fault-parameters__head small{color:var(--muted);font-size:12px}.target-fault-parameters__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.target-fault-param-row{color:var(--text);gap:6px;font-size:12px;font-weight:700;display:grid}.target-fault-param-row input{border:1px solid var(--line-strong);min-height:36px;color:var(--text);font:600 13px/1.2 var(--font-data);background:#f8fafc;padding:0 10px}.target-fault-param-row .fault-param-dropdown{width:100%;position:relative}.target-fault-param-row .fault-param-dropdown summary{box-sizing:border-box;border:1px solid var(--line-strong);min-height:36px;color:var(--text);font:600 13px/1.2 var(--font-data);cursor:pointer;background:#f8fafc;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;list-style:none;display:flex}.target-fault-param-row .fault-param-dropdown summary::-webkit-details-marker{display:none}.target-fault-param-row .fault-param-dropdown__menu{z-index:90;border:1px solid var(--line-strong);background:#fff;max-height:176px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #1e3a5f2e}.target-fault-param-row .fault-param-dropdown__menu button{min-height:34px;color:var(--text);text-align:left;font:700 13px/1.2 var(--font-data);cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf2f8;padding:0 10px}.target-fault-param-row .fault-param-dropdown__menu button:hover,.target-fault-param-row .fault-param-dropdown__menu button[aria-selected=true]{color:var(--blue);background:#eef5ff}.target-fault-param-empty{border:1px dashed var(--line-strong);color:var(--muted);background:#f8fafc;grid-column:1/-1;padding:12px;font-size:12px}.target-fault-parameters__actions{justify-content:flex-end;gap:8px;display:flex}.target-fault-parameters__actions button{border:1px solid var(--line-strong);min-height:36px;color:var(--text);background:#fff;padding:0 14px;font-weight:800}.target-fault-parameters__actions [data-confirm-target-fault]{border-color:var(--blue);background:var(--blue);color:#fff}@media (width<=980px){.target-fault-dialog{width:auto;max-height:calc(100vh - 124px);inset:96px 14px auto}.target-fault-parameters__grid{grid-template-columns:1fr}}.canvas-wrap[data-view=canvas] .diagram.fault-drop-preview .blk{opacity:.48}.canvas-wrap[data-view=canvas] .diagram.fault-drop-preview .blk.is-layered-fault-binding-source{opacity:1;filter:none;z-index:70}.canvas-wrap[data-view=canvas] .diagram.fault-drop-preview .blk.fault-drop-compatible{opacity:1}.canvas-wrap[data-view=canvas] .diagram.fault-drop-preview .blk.fault-drop-compatible:before{background:linear-gradient(#f8fbff 0%,#eff6ff 100%);animation:1.1s ease-in-out infinite faultDropPulse;box-shadow:inset 0 0 0 2px #0f62fe,0 0 0 5px #0f62fe24,0 16px 30px #2563eb2e}.canvas-wrap[data-view=canvas] .diagram.fault-drop-preview .blk.fault-drop-compatible .fbadge{display:flex}.canvas-wrap[data-view=canvas] .diagram.fault-drop-preview .blk.fault-drop-incompatible{filter:grayscale(.35)}
