@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--font-display: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;--text-strong: #262626;font-family:var(--font-display);line-height:1.5;font-weight:400;color:var(--text-strong);background:#ececec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit}code,pre{font-family:var(--font-mono)}#root{min-height:100vh}.shell{min-height:100vh;padding:.7rem;background:#ececec}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-grid.compact{display:grid;grid-template-columns:286px minmax(0,1fr);gap:1rem;align-items:start}.status-panel,.tag-panel,.palette-strip,.canvas-panel{border:1px solid #cacaca;background:#fff;box-shadow:0 2px 10px #00000024}.status-panel{padding:1rem 1.25rem}.login-panel{width:min(340px,100%)}.login-form{display:grid;gap:.7rem}.login-form__field{display:grid;gap:.22rem;color:#5b5b5b;font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase}.login-form__field input{padding:.38rem .48rem;border:1px solid #bcbcbc;background:#fff;color:#3d3d3d;font-size:.86rem;font-family:var(--font-mono);text-transform:none}.status-panel.error,.inline-error{color:#9d2d2d}.tag-panel{padding:.55rem}.tag-panel__creator{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:.45rem;margin-bottom:.8rem}.tag-panel__input,.tag-panel__select,.instruction-editor__select,.instruction-editor__input{width:100%;border:1px solid #bcbcbc;background:#fff;color:#3d3d3d;font-size:.9rem}.tag-panel__input,.tag-panel__select,.instruction-editor__select,.instruction-editor__input{padding:.35rem .45rem}.tag-panel__select{grid-column:1 / -1}.tag-panel__add,.session-button,.instruction-editor__delete{border:1px solid #6f92d9;background:#4f80df;color:#fff;font-weight:600;cursor:pointer}.tag-panel__add:disabled,.session-button:disabled,.instruction-editor__delete:disabled,.tag-row__remove:disabled,.tag-row__value--button:disabled,.palette-item:disabled{cursor:not-allowed;opacity:.55}.tag-list{display:grid;gap:.52rem}.tag-array{display:grid;gap:.28rem}.tag-array__children{display:grid;gap:.36rem;padding-left:1.02rem;border-left:1px solid #dddddd}.tag-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:.42rem;min-height:2rem}.tag-row.is-active{z-index:2}.tag-row--array{min-height:2.15rem}.tag-row--array .tag-row__name{font-weight:600}.tag-row--array-element{min-height:1.8rem}.tag-row__array-caret{display:inline-flex;align-items:center;justify-content:center;width:.9rem;margin-right:.18rem;color:#4f80df;font-family:var(--font-mono)}.tag-row__remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid #8b8b8b;border-radius:50%;background:#fff;color:#5f5f5f;font-size:.95rem;line-height:1;cursor:pointer}.tag-row__name{position:relative;display:block;width:100%;padding:0;border:none;background:transparent;text-align:left;overflow:hidden;color:#474747;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tag-row.is-locked .tag-row__name{color:#7a4d4d;cursor:default}.tag-row__lock-dot{display:inline-block;width:.42rem;height:.42rem;margin-right:.28rem;border-radius:50%;background:#c73333;vertical-align:-.02rem}.tag-row__value{display:inline-flex;align-items:center;justify-content:center;min-width:2.9rem;padding:.22rem .45rem;border:1px solid #868686;border-radius:4px;background:#f7f7f7;color:#4c4c4c;font-size:.82rem;font-family:var(--font-mono);transition:color 90ms linear,border-color 90ms linear,background-color 90ms linear}.tag-row__value--button{cursor:pointer}.tag-row__popover{position:absolute;top:calc(100% + .28rem);left:1.7rem;z-index:6;width:calc(100% - 1.7rem);min-width:188px;padding:.32rem;border:1px solid #c4c4c4;background:#fff;box-shadow:0 10px 22px #00000024}.tag-row__editor-field{display:grid;gap:.12rem}.tag-row__editor-field+.tag-row__editor-field{margin-top:.28rem}.tag-row__editor-label,.tag-row__editor-meta{color:#696969;font-size:.68rem;letter-spacing:.02em;text-transform:uppercase}.tag-row__editor-input{width:100%;padding:.32rem .42rem;border:1px solid #d2d2d2;color:#3d3d3d;font-size:.76rem;font-family:var(--font-mono)}.tag-row__editor-input:focus{outline:1px solid #5d8df0}.tag-row__editor-meta{margin-top:.3rem}.tag-row__editor-error{margin-top:.26rem;color:#b13737;font-size:.68rem;line-height:1.35}.tag-row__value.is-on{color:#178436;border-color:#178436}.tag-row__value.is-pulse{color:#9a6200;border-color:#c7932a;background:#fff7e4}.workbench-main{display:grid;gap:.55rem;position:relative}.access-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.55rem;align-items:center;min-height:34px;padding:.38rem .55rem;border:1px solid #cacaca;background:#fff;box-shadow:0 2px 10px #0000001a}.access-strip__identity{display:inline-flex;flex-wrap:wrap;gap:.36rem;align-items:baseline;color:#525252;font-size:.76rem;font-family:var(--font-mono)}.access-strip__identity strong{color:#385f9e;font-size:.72rem;font-weight:700}.access-strip__level{display:inline-flex;gap:.35rem;align-items:center;color:#656565;font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase}.access-strip__level select{min-width:122px;padding:.24rem .36rem;border:1px solid #bcbcbc;background:#fff;color:#3d3d3d;font-size:.76rem;font-family:var(--font-mono);text-transform:none}.tool-tabs{display:flex;gap:.18rem;align-items:flex-end}.tool-tab{padding:.18rem .62rem;border:1px solid #b6b6b6;border-bottom:none;background:#bfbfbf;color:#3b3b3b;font-size:.87rem;cursor:pointer}.tool-tab.active{background:#fff}.palette-strip{display:flex;gap:.45rem;align-items:center;min-height:68px;padding:.45rem .65rem;overflow-x:auto}.palette-item{display:inline-grid;gap:.16rem;justify-items:center;min-width:66px;padding:.22rem .28rem;border:1px solid transparent;background:transparent;cursor:grab}.palette-item:active{cursor:grabbing}.palette-item.is-selected{border-color:#5d8df0;background:#f5f8ff}.palette-item__label{color:#666;font-size:.66rem;font-family:var(--font-mono)}.session-strip{display:grid;gap:.4rem;position:relative}.session-strip__controls{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-height:24px}.session-strip__controls:empty{display:none}.session-button,.instruction-editor__delete{padding:.25rem .6rem}.selection-copy-chip{padding:.18rem .5rem;border:1px solid #9bb4eb;background:#f5f8ff;color:#4566a8;font-size:.72rem;cursor:grab}.selection-copy-chip:active{cursor:grabbing}.session-strip__meta,.session-strip__armed{color:#545454;font-size:.75rem}.session-strip__armed{font-weight:600}.instruction-editor{display:flex;align-items:center;min-height:86px;padding:.38rem .45rem;border:1px solid #d5d5d5;background:#fff;overflow-x:auto;overflow-y:hidden}.instruction-editor__row{display:inline-flex;align-items:center;gap:.55rem;min-width:max-content}.instruction-editor__kind{flex:0 0 auto;padding:.26rem .44rem;border:1px solid #c3c3c3;background:#f6f6f6;color:#505050;font-size:.72rem;font-family:var(--font-mono)}.instruction-editor__field{display:inline-flex;align-items:center;gap:.34rem;min-width:0;color:#5e5e5e;font-size:.7rem;white-space:nowrap}.instruction-editor__field--compact{min-width:0}.instruction-editor__field-label{flex:0 0 auto}.instruction-editor__meta{flex:0 0 auto;color:#5c5c5c;font-size:.72rem;font-family:var(--font-mono)}.instruction-editor__action{padding:.2rem .46rem;border:1px solid #b9c4d9;background:#f7f9fc;color:#42587d;font-size:.7rem;cursor:pointer}.instruction-editor__action:disabled{cursor:not-allowed;opacity:.55}.instruction-editor__readonly{display:inline-flex;align-items:center;min-height:2rem;min-width:92px;padding:.35rem .45rem;border:1px solid #d9d9d9;background:#fafafa;color:#4c4c4c;font-size:.82rem;font-family:var(--font-mono)}.instruction-editor__live-strip{display:flex;flex:0 0 auto;margin-left:.2rem}.instruction-editor__structured-card{display:grid;gap:.3rem;min-width:168px;padding:.4rem .46rem;border:1px solid #dedede;background:#fafafa}.instruction-editor__structured-head{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.instruction-editor__structured-name{color:#434343;font-size:.8rem;font-weight:600}.instruction-editor__structured-type{color:#686868;font-size:.64rem;font-family:var(--font-mono)}.instruction-editor__select,.instruction-editor__input{min-width:118px}.instruction-editor__structured-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem}.instruction-editor__structured-value{display:grid;gap:.1rem;padding:.24rem .28rem;border:1px solid #e8e8e8;background:#fff}.instruction-editor__structured-value span{color:#6a6a6a;font-size:.62rem;font-family:var(--font-mono)}.instruction-editor__structured-value strong{color:#3f3f3f;font-size:.86rem;font-family:var(--font-mono)}.instruction-editor__structured-bits{display:flex;flex-wrap:wrap;gap:.25rem}.instruction-editor__bit{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;padding:.16rem .34rem;border:1px solid #b9b9b9;background:#fff;color:#606060;font-size:.64rem;font-family:var(--font-mono)}.instruction-editor__bit.is-on{border-color:#179239;color:#179239;background:#fbfffc}.inline-error{padding:.32rem .45rem;border:1px solid #e4b4b4;background:#fff3f3;font-size:.74rem}.canvas-panel{padding:.38rem}.routine-workspace{display:grid;grid-template-columns:minmax(0,1fr) 102px;gap:.55rem;align-items:start}.routine-action-sidebar{display:grid;gap:.35rem;align-content:start;padding-top:.05rem}.routine-name-popover{position:absolute;top:calc(100% + .28rem);left:0;z-index:10;width:220px;padding:.28rem;border:1px solid #c4c4c4;background:#fff;box-shadow:0 10px 22px #00000024}.routine-name-popover__input{width:100%;padding:.35rem .45rem;border:1px solid #d2d2d2;color:#3d3d3d;font-size:.74rem;font-family:var(--font-mono)}.routine-name-popover__input:focus{outline:1px solid #9bb8f7}.routine-name-popover__error{margin-top:.28rem;color:#b13737;font-size:.66rem}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 .1rem .35rem;color:#575757;font-size:.74rem}.canvas-toolbar__title-wrap{position:relative}.canvas-toolbar__title{display:inline-flex;align-items:center;padding:0;border:none;background:transparent;font-weight:600;color:#575757;font-size:.74rem;line-height:1.2;cursor:text}.ladder-board{display:grid;gap:.45rem}.routine-panel{display:grid;gap:.22rem}.routine-strip{padding-left:.18rem;color:#656565;font-size:.74rem}.svg-ladder-surface{position:relative;overflow-x:hidden;overflow-y:visible;padding-bottom:.1rem}.svg-ladder-canvas{position:relative}.svg-ladder-canvas.is-pointer-dragging,.svg-ladder-canvas.is-pointer-dragging .svg-node,.svg-ladder-canvas.is-pointer-dragging .svg-rung-row,.svg-ladder-canvas.is-pointer-dragging .svg-drag-handle,.svg-ladder-canvas.is-rung-dragging,.svg-ladder-canvas.is-rung-dragging .svg-rung-row,.svg-ladder-canvas.is-rung-dragging .svg-rung-drag-handle{cursor:grabbing}.svg-ladder-sheet{display:block}.svg-sheet-title{fill:#414141;font-size:.8rem;font-family:var(--font-display)}.svg-rung-number{fill:#555;font-size:.8rem;font-family:var(--font-mono);text-anchor:end}.svg-rail,.svg-wire,.svg-rung-lead,.svg-symbol-body{stroke:#111;stroke-width:1.8;fill:none;stroke-linecap:square;transition:stroke 90ms linear}.svg-symbol-box{stroke:#111;fill:#fff;transition:stroke 90ms linear,fill 90ms linear}.svg-box-text{font-size:.56rem;font-family:var(--font-mono);fill:#3d3d3d;stroke:none;transition:fill 90ms linear}.svg-wire.is-hot,.svg-rung-lead.is-hot{stroke:#179239}.svg-label-box{fill:#fff;stroke:#bdbdbd;stroke-width:1}.svg-label-box.is-selected{fill:#f3f8ff;stroke:#3d86ff;stroke-width:1.6}.svg-label-text{fill:#4b4b4b;font-size:.68rem;font-family:var(--font-display)}.svg-label-summary-text{fill:#4b4b4b;font-size:.54rem;font-family:var(--font-mono)}.svg-label-summary-text.is-unset{fill:#8b8b8b}.svg-label-summary-key{fill:#6f6f6f;font-weight:600}.svg-label-text.is-live{fill:#4b4b4b}.svg-node.is-selected .svg-label-text,.svg-box-text.is-selected{fill:#2f74ea}.svg-label-indicator{stroke:#fff;stroke-width:1}.svg-label-indicator--true{fill:#179239}.svg-label-indicator--false{fill:#86bbff}.svg-label-indicator--error{fill:#d84a4a}.svg-hit-box{fill:transparent;stroke:none;cursor:pointer}.svg-node{cursor:grab}.svg-node.is-selected .svg-wire,.svg-rung-lead.is-selected,.svg-symbol-body.is-selected,.svg-symbol-box.is-selected{stroke:#3d86ff}.svg-node:active{cursor:grabbing}.svg-rung-anchor{cursor:pointer}.svg-rung-hit-box{fill:transparent}.svg-rung-row{cursor:text}.svg-rung-row-hit-box{fill:transparent}.svg-rung-drag-layer,.svg-drag-layer,.svg-inline-control-layer,.svg-slot-layer,.svg-rung-anchor-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.svg-rung-drag-layer{z-index:1}.svg-drag-layer{z-index:2}.svg-inline-control-layer{z-index:3}.svg-slot-layer{z-index:5}.svg-rung-anchor-layer{z-index:6}.svg-ladder-canvas.is-drop-active .svg-drag-layer,.svg-ladder-canvas.is-drop-active .svg-drag-handle,.svg-ladder-canvas.is-drop-active .svg-inline-control-layer,.svg-ladder-canvas.is-pointer-dragging .svg-inline-control-layer,.svg-ladder-canvas.is-rung-dragging .svg-inline-control-layer,.svg-ladder-canvas.is-pointer-dragging .svg-slot-layer,.svg-ladder-canvas.is-pointer-dragging .svg-slot,.svg-ladder-canvas.is-rung-dragging .svg-drag-layer,.svg-ladder-canvas.is-rung-dragging .svg-drag-handle,.svg-ladder-canvas.is-rung-dragging .svg-slot-layer,.svg-ladder-canvas.is-rung-dragging .svg-slot,.svg-ladder-canvas.is-rung-dragging .svg-rung-anchor-layer{pointer-events:none}.svg-rung-anchor-button{position:absolute;padding:0;border:none;background:transparent;pointer-events:auto;cursor:move}.svg-rung-anchor-button__text{position:absolute;top:0;right:0;bottom:0;left:0;display:block;color:transparent;-webkit-user-select:none;user-select:none}.svg-drag-handle{position:absolute;padding:0;border:none;background:transparent;pointer-events:auto;cursor:grab}.svg-drag-handle:active{cursor:grabbing}.svg-drag-handle.is-selected{cursor:grab}.svg-inline-select{position:absolute;pointer-events:auto;transition:left .12s ease,width .12s ease}.svg-inline-select__field{width:100%;height:100%;padding:.08rem .24rem;border:1px solid #bdbdbd;border-radius:4px;background:#fff;color:#4b4b4b;font-size:.6rem;font-family:var(--font-display);line-height:1.2;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;text-overflow:ellipsis;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.svg-inline-select.is-selected .svg-inline-select__field,.svg-inline-select__field:focus{border-color:#3d86ff;box-shadow:0 0 0 1px #3d86ff2e;outline:none}.svg-rung-drag-handle{position:absolute;padding:0;border:none;background:transparent;pointer-events:auto;cursor:grab}.svg-rung-drag-handle.is-selected:before,.svg-rung-drag-handle:hover:before,.svg-ladder-canvas.is-rung-dragging .svg-rung-drag-handle:before{opacity:1}.svg-rung-drag-handle:before{content:"";position:absolute;top:4px;right:2px;bottom:4px;left:2px;border-radius:10px;background:#4f80df0a;opacity:0;transition:opacity .11s ease}.svg-rung-drop-indicator{position:absolute;z-index:7;height:4px;border-radius:999px;background:linear-gradient(90deg,#4f80df2e,#4f80dfd1 16%,#4f80dfd1 84%,#4f80df2e);box-shadow:0 0 0 1px #4f80df1a;pointer-events:none}.pointer-drag-preview{position:fixed;z-index:30;display:inline-flex;align-items:center;gap:.42rem;max-width:320px;padding:.38rem .56rem;border:1px solid rgba(79,128,223,.45);border-radius:10px;background:#fffffff5;box-shadow:0 10px 26px #00000029;color:#385b9d;font-size:.69rem;font-family:var(--font-mono);pointer-events:none;transform:translateZ(0)}.pointer-drag-preview__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.3rem;padding:0 .28rem;border-radius:999px;background:#eef4ff;color:#355ea9;font-size:.62rem;font-weight:600}.pointer-drag-preview__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svg-slot{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:48px;height:58px;padding:0;border:none;background:transparent;transform:translate(-50%,-50%);pointer-events:none;cursor:copy;overflow:visible}.svg-slot.is-armed,.svg-slot:hover,.svg-slot.is-hovered{opacity:1;pointer-events:auto}.svg-slot__target{position:absolute;top:50%;left:50%;width:24px;height:50px;border:1px dashed rgba(79,128,223,.24);border-radius:9px;background:linear-gradient(90deg,#4f80df00,#4f80df14 18%,#4f80df1f,#4f80df14 82%,#4f80df00);opacity:0;transform:translate(-50%,-50%);transition:opacity .11s ease,border-color 90ms linear,background 90ms linear,box-shadow .11s ease}.svg-slot.is-armed .svg-slot__target,.svg-slot:hover .svg-slot__target,.svg-slot.is-hovered .svg-slot__target,.svg-slot:hover .svg-slot__marker,.svg-slot.is-armed .svg-slot__marker,.svg-slot.is-hovered .svg-slot__marker{opacity:1}.svg-slot:hover .svg-slot__target,.svg-slot.is-hovered .svg-slot__target{border-color:#179239b3;background:linear-gradient(90deg,#17923905,#1792391f 18%,#1792392e,#1792391f 82%,#17923905);box-shadow:0 0 0 1px #1792392e}.svg-slot:hover .svg-slot__marker,.svg-slot.is-hovered .svg-slot__marker{border-color:#179239;color:#179239;transform:scale(1.08)}.svg-slot:after{content:"";position:absolute;top:16%;bottom:16%;left:50%;width:2px;border-radius:999px;background:#4f80df47;transform:translate(-50%) scaleY(.78);opacity:0;transition:opacity .11s ease,background 90ms linear,transform .11s ease}.svg-slot.is-armed:after{opacity:.75}.svg-slot:hover:after,.svg-slot.is-hovered:after{opacity:1;background:#179239db;transform:translate(-50%) scaleY(1)}.svg-slot__marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #97b5f4;border-radius:999px;background:#fff;color:#4f80df;font-size:.72rem;line-height:1;opacity:0;transition:opacity .12s ease,border-color 90ms linear,color 90ms linear,transform 90ms ease}.floating-action-rail{display:grid;gap:.34rem;align-content:start}.floating-action-button-group{position:relative}.floating-action-subgroup{display:grid;gap:.28rem;margin-top:.28rem;padding-top:.12rem;border-top:1px solid rgba(151,167,197,.45)}.floating-action-button{display:grid;gap:.14rem;justify-items:center;min-width:100%;padding:.42rem .44rem;border:1px dashed #97a7c5;background:#fffffff2;color:#495b7b;cursor:pointer;box-shadow:0 4px 12px #0000001a;transition:border-color 90ms linear,color 90ms linear,background 90ms linear,transform 90ms ease}.floating-action-button:hover,.floating-action-button.is-hovered{border-color:#4f80df;color:#355ea9;background:#f7faff;transform:translateY(-1px)}.floating-action-button:disabled{cursor:not-allowed}.floating-action-button.is-idle{opacity:.7}.floating-action-button.is-active,.floating-action-button--run:hover,.floating-action-button--insert:hover{border-color:#179239;color:#179239;background:#fbfffc}.floating-action-button--add-rung{cursor:pointer}.floating-action-button--add-rung.is-hovered,.floating-action-button--add-rung:hover{border-color:#179239;color:#179239;background:#fbfffc}.floating-action-button--trash{border-color:#d48a8a;color:#9e4747}.floating-action-button--trash.is-hovered,.floating-action-button--trash:hover{border-color:#b13737;color:#b13737;background:#fff8f8}.floating-action-button__icon{font-size:.64rem;font-family:var(--font-mono);line-height:1}.floating-action-button__label{font-size:.66rem;font-family:var(--font-mono)}.trash-bin-floating__icon{position:relative;width:16px;height:15px;display:inline-block}.trash-bin-floating__lid{position:absolute;top:1px;left:3px;width:10px;height:2px;border:1px solid currentColor;border-bottom:none;border-radius:2px 2px 0 0}.trash-bin-floating__body{position:absolute;top:3px;left:2px;width:12px;height:9px;border:1px solid currentColor;border-radius:0 0 3px 3px}.trash-bin-floating__body:before,.trash-bin-floating__body:after{content:"";position:absolute;top:2px;width:1px;height:4px;background:currentColor}.trash-bin-floating__body:before{left:4px}.trash-bin-floating__body:after{right:4px}.rung-text-popover{position:absolute;z-index:4;width:320px;padding:.28rem;border:1px solid #c4c4c4;background:#fff;box-shadow:0 10px 22px #00000024}.rung-text-popover__input{width:100%;min-height:56px;padding:.35rem .45rem;border:1px solid #d2d2d2;resize:vertical;color:#3d3d3d;font-size:.74rem;font-family:var(--font-mono);line-height:1.3}.rung-text-popover__input:focus{outline:1px solid #5d8df0}.rung-text-popover__error{margin-top:.28rem;color:#b13737;font-size:.68rem;line-height:1.35}.instruction-operand-popover{position:fixed;z-index:40;width:268px;max-height:calc(100vh - 20px);padding:.4rem .46rem;border:1px solid #c4c4c4;background:#fff;box-shadow:0 10px 22px #00000024;overflow-y:auto;pointer-events:auto}.instruction-operand-popover--wide{width:304px}.instruction-operand-popover__title{margin-bottom:.34rem;color:#4a4a4a;font-size:.72rem;font-weight:600;letter-spacing:.04em}.instruction-operand-popover__fields{display:grid;gap:.34rem}.instruction-operand-popover__schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.34rem;margin-top:.44rem;padding-top:.36rem;border-top:1px solid #ececec}.instruction-operand-popover__schedule .instruction-operand-popover__field:first-child,.instruction-operand-popover__schedule .instruction-operand-popover__field:nth-child(3){grid-column:1 / -1}.instruction-operand-popover__live-state{margin-top:.42rem;padding-top:.34rem;border-top:1px solid #ececec}.instruction-operand-popover__live-title{color:#525252;font-size:.7rem;font-weight:600}.instruction-operand-popover__live-grid{display:flex;gap:.32rem;margin-top:.28rem}.instruction-operand-popover__live-chip{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:.24rem .42rem;border:1px solid #d8d8d8;background:#fafafa;color:#454545;font-size:.7rem;font-family:var(--font-mono)}.instruction-operand-popover__error{margin-top:.34rem;color:#b13737;font-size:.68rem;line-height:1.35}.instruction-operand-popover__field{display:grid;gap:.18rem}.instruction-operand-popover__field--compact,.instruction-operand-popover__field--readonly{max-width:180px}.instruction-operand-popover__field--expression{margin-top:.34rem}.instruction-operand-popover__label{color:#6b6b6b;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}.instruction-operand-popover__select,.instruction-operand-popover__input{width:100%;padding:.32rem .4rem;border:1px solid #d2d2d2;background:#fff;color:#3d3d3d;font-size:.74rem;font-family:var(--font-display);line-height:1.3}.instruction-operand-popover__select:focus,.instruction-operand-popover__input:focus{outline:1px solid #5d8df0}.instruction-operand-popover__readonly{min-height:34px;padding:.38rem .42rem;border:1px solid #e1e1e1;background:#fafafa;color:#7b7b7b;font-size:.72rem;line-height:1.3}.programmer-console{display:grid;gap:.46rem;padding:.5rem .58rem;border:1px solid #c9c9c9;background:#fff;box-shadow:0 2px 10px #0000001f}.programmer-console__resources{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:.42rem}.programmer-console__resource{display:grid;gap:.12rem;padding:.34rem .42rem;border:1px solid #dedede;background:#fafafa}.programmer-console__resource-label,.programmer-console__message-meta,.programmer-console__message-code{color:#686868;font-size:.64rem;font-family:var(--font-mono);text-transform:uppercase}.programmer-console__resource strong{color:#3f3f3f;font-size:.78rem;font-family:var(--font-mono)}.programmer-console__jobs{display:flex;flex-wrap:wrap;gap:.32rem}.programmer-console__job{display:inline-flex;align-items:center;gap:.38rem;padding:.24rem .42rem;border:1px solid #b9c9e8;background:#f7faff;color:#405b8f;font-size:.68rem;font-family:var(--font-mono)}.programmer-console__log{display:grid;gap:.26rem;max-height:126px;overflow:auto}.programmer-console__message{display:grid;grid-template-columns:82px 190px minmax(0,1fr);gap:.44rem;align-items:start;padding:.28rem .36rem;border-left:3px solid #7d9fdb;background:#fbfbfb}.programmer-console__message.is-warning{border-left-color:#c7932a}.programmer-console__message.is-error{border-left-color:#c73333}.programmer-console__message-text,.programmer-console__empty{color:#4d4d4d;font-size:.72rem;line-height:1.35}.programmer-console__message-code{overflow:hidden;color:#4d5f84;text-overflow:ellipsis;white-space:nowrap}.programmer-console__empty{padding:.28rem .36rem;background:#fbfbfb}.scan-rate-popover{position:absolute;z-index:4;width:220px;padding:.28rem;border:1px solid #c4c4c4;background:#fff;box-shadow:0 10px 22px #00000024}.scan-rate-popover--sidebar{top:calc(100% + 8px);right:0;left:auto}.scan-rate-popover__input{width:100%;padding:.35rem .45rem;border:1px solid #d2d2d2;color:#3d3d3d;font-size:.74rem;font-family:var(--font-mono);line-height:1.3}.scan-rate-popover__input:focus{outline:1px solid #5d8df0}.scan-rate-popover__error{margin-top:.28rem;color:#b13737;font-size:.68rem;line-height:1.35}@media(max-width:1180px){.routine-workspace{grid-template-columns:minmax(0,1fr)}.routine-action-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}.json-dialog{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:2rem;background:#18181838}.json-dialog__card{width:min(820px,100%);max-height:min(78vh,760px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid #c7c7c7;background:#fff;box-shadow:0 10px 28px #00000029}.json-dialog__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .85rem;border-bottom:1px solid #dddddd;color:#444;font-size:.9rem;font-weight:600}.json-dialog__close{border:1px solid #bdbdbd;background:#f4f4f4;color:#454545;padding:.28rem .7rem;cursor:pointer}.json-dialog__body{margin:0;padding:.9rem 1rem;overflow:auto;color:#2f2f2f;font-size:.82rem;line-height:1.45;background:#fbfbfb}.glyph{position:relative;display:inline-flex;align-items:center;justify-content:center;color:currentColor}.glyph--contact{width:60px;height:18px}.glyph__line{position:absolute;left:3px;right:3px;top:50%;height:2px;background:currentColor;transform:translateY(-50%)}.glyph__line--short{position:static;width:14px;height:2px;transform:none}.glyph__bar{position:absolute;top:3px;width:2px;height:12px;background:currentColor}.glyph__bar--left{left:22px}.glyph__bar--right{right:22px}.glyph__slash{position:absolute;left:29px;top:2px;width:2px;height:14px;background:currentColor;transform:rotate(-42deg)}.glyph--coil{gap:.15rem;width:64px;height:18px}.glyph--branch{position:relative;width:54px;height:18px}.glyph__branch-bus{position:absolute;top:3px;width:2px;height:12px;background:currentColor}.glyph__branch-bus--left{left:12px}.glyph__branch-bus--right{right:12px}.glyph__branch-lane{position:absolute;left:12px;right:12px;height:2px;background:currentColor}.glyph__branch-lane--top{top:5px}.glyph__branch-lane--bottom{bottom:5px}.glyph__coil{width:10px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-bottom-color:transparent}.glyph__coil--left{border-right-color:transparent;border-radius:12px 0 0 12px}.glyph__coil--right{border-left-color:transparent;border-radius:0 12px 12px 0}.glyph--box{min-width:42px;min-height:18px;padding:.12rem .26rem;border:1px solid #898989;background:#f7f7f7}.glyph__box-label{font-size:.6rem;font-family:var(--font-mono)}@media(max-width:1120px){.workspace-grid.compact{grid-template-columns:1fr}.programmer-console__resources{grid-template-columns:repeat(2,minmax(0,1fr))}.programmer-console__message{grid-template-columns:1fr;gap:.18rem}}
