@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-Medium.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-SemiBold.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-Medium.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-primary:#0b1f33;--brand-secondary:#163a5f;--brand-deep:#071522;--surface-app:#181b1f;--surface-panel:#20242a;--surface-panel-alt:#252a31;--surface-raised:#2b3037;--surface-hover:#30363d;--surface-selected:#263b50;--border-subtle:#313841;--border-strong:#7a8591;--border:var(--border-subtle);--text-primary:#e5e8eb;--text-on-brand:#e5e8eb;--text-secondary:#9ca6b0;--text-muted:var(--text-secondary);--text-disabled:#66717c;--accent:#416d91;--accent-strong:#88adc8;--state-powered:#58b979;--state-warning:#d0a451;--state-danger:#d16b70;--state-forced:#b58cc5;--st-keyword:#88adc8;--st-number:tan;--st-comment:#7f8a95;--rail-color:#aeb6be;--wire-color:#919ba5;--focus:#7fa8c7;--shadow-menu:0 8px 20px #00000052;--radius:0;--font-ui:"IBM Plex Sans", "Segoe UI", Arial, sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", Consolas, monospace;--text-size-label:11px;--text-size-control:12px;--text-size-body:13px;--text-size-title:15px;--text-size-dialog:18px;--text-weight-regular:400;--text-weight-medium:500;--text-weight-semibold:600;font-weight:var(--text-weight-regular);font-family:var(--font-ui);font-size:var(--text-size-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:root[data-theme=light],[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-app:#e8eaec;--surface-panel:#e0e3e6;--surface-panel-alt:#d8dce0;--surface-raised:#eeeff0;--surface-hover:#d0d7dd;--surface-selected:#cad8e4;--border-subtle:#c0c6cc;--border-strong:#6c7680;--border:var(--border-subtle);--text-primary:#242a30;--text-secondary:#535d65;--text-muted:var(--text-secondary);--text-disabled:#929aa2;--accent:#315f84;--accent-strong:#163a5f;--state-powered:#19683c;--state-warning:#715815;--state-danger:#9f393f;--state-forced:#74418a;--st-keyword:#1f4f78;--st-number:#7a5418;--st-comment:#6b757e;--rail-color:#46515b;--wire-color:#626c75;--focus:#244f73;--shadow-menu:0 8px 18px #1a21282e}:where(h1,h2,h3){font-size:var(--text-size-title);font-weight:var(--text-weight-semibold)}:where(h4,h5,h6,small,label){font-size:var(--text-size-label)}:where(h4,h5,h6,strong,b,th,summary){font-weight:var(--text-weight-semibold)}:where(button,input,select,textarea){font-family:inherit;font-size:var(--text-size-control)}:is(dialog,[role=dialog]) :is(h1,h2){font-size:var(--text-size-dialog)}.labs-product-navigation{flex:0 auto;min-width:0;position:relative}.labs-product-menubar{flex-wrap:wrap;gap:.125rem;display:flex}.labs-product-menu{position:static}:is(.labs-product-header,.labs-product-navigation) button{font:inherit;color:inherit;cursor:pointer}.labs-product-menu>button,.labs-product-home{border-radius:var(--radius);background:0 0;border:1px solid #0000;min-height:32px;padding:.25rem .5rem}:is(.labs-product-header,.labs-product-navigation) button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.labs-product-menu>button[aria-expanded=true],:is(.labs-product-header,.labs-product-navigation) button:hover{background:var(--surface-hover)}:is(.labs-product-header,.labs-product-navigation) button:disabled{opacity:.55;cursor:default}.labs-product-menu-panel{z-index:80;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-panel);width:min(22rem,100vw - 2rem);max-height:60vh;box-shadow:var(--shadow-menu);padding:.25rem;position:fixed;overflow-y:auto}.labs-product-menu-item{display:block}.labs-product-menu-panel button{text-align:left;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:.75rem;width:100%;padding:.5rem;display:flex}.labs-product-menu-panel button:disabled{pointer-events:none}.labs-product-menu-panel button[aria-disabled=true]{opacity:.55;cursor:default}.labs-product-menu-panel button[aria-disabled=true]:hover{background:0 0}.labs-product-menu-panel p{margin:0;padding:.5rem}.labs-product-check{flex:0 0 1.25rem;place-items:center;display:grid}.labs-product-check .ide-icon{width:14px;height:14px}.labs-product-menu-label{flex:auto;min-width:0}.labs-product-shortcut{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-size-label);white-space:nowrap;flex:none;margin-left:auto}.labs-product-separator{background:var(--border);height:1px;margin:.25rem .5rem}.labs-product-submenu-panel{padding-left:1.25rem;display:grid}@media (width<=900px){.labs-product-navigation{flex:1 0 100%;order:3}.labs-product-menu>button{min-height:44px;padding:.5rem .375rem}}@media (pointer:coarse){.labs-product-menu>button{min-height:44px}}.ide-icon{flex:none;width:16px;height:16px;display:block}.application-menu-panel{z-index:85;border:1px solid var(--border-strong);background:var(--surface-raised);width:max-content;min-width:215px;color:var(--text-primary);box-shadow:var(--shadow-menu);padding:4px 0;position:absolute;top:29px;left:0}.application-menu-panel>button{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:20px minmax(120px,1fr) auto;align-items:center;gap:5px;width:100%;min-height:27px;padding:3px 10px 3px 6px;display:grid}.application-menu-panel>button:hover:not(:disabled),.application-menu-panel>button:focus-visible{background:var(--surface-selected)}.application-menu-panel>button:focus-visible{outline:1px solid var(--focus);outline-offset:-1px}.application-menu-panel>[role=separator]{background:var(--border-subtle);height:1px;margin:4px 7px}.command-bar{border-bottom:1px solid var(--border-strong);background:var(--surface-panel);align-items:center;gap:8px;min-width:0;padding:5px 8px;display:flex}.runtime-toolbar-label{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.12em}.command-group{border-right:1px solid var(--border-subtle);align-items:center;gap:3px;padding-right:8px;display:flex}.runtime-commands button{align-items:center;gap:5px;min-height:28px;display:flex}.runtime-commands .ide-icon{width:15px;height:15px}.runtime-commands .toggle-mode-command{border-color:var(--border-strong);gap:7px}.runtime-commands .toggle-mode-command b{min-width:24px;color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.runtime-commands .toggle-mode-command.active{border-color:var(--accent-strong);background:var(--surface-selected);color:var(--accent-strong);box-shadow:inset 0 -2px var(--accent)}.runtime-commands .toggle-mode-command.active b{color:var(--state-powered)}.run-command{background:var(--brand-primary);color:#f2f5f7;border-color:#305b49}.run-command:hover:not(:disabled){background:var(--brand-secondary);border-color:#4d7967}.run-command:disabled{background:var(--surface-raised)}.scan-control{color:var(--text-secondary);font-size:var(--text-size-control);align-items:center;gap:5px;display:flex}.scan-control select{width:70px;font-family:var(--font-mono)}.runtime-summary{white-space:nowrap;color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;gap:10px;margin-left:auto;display:flex}.runtime-summary b{color:var(--text-primary);font-family:var(--font-mono);font-weight:var(--text-weight-regular)}.runtime-state{border:1px solid var(--border-strong);min-width:58px;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.05em;text-align:center;padding:3px 7px}.runtime-state.running{border-color:var(--state-powered);color:var(--state-powered)}.runtime-state.paused{border-color:var(--state-warning);color:var(--state-warning)}.metrics-control{position:relative}.metrics-trigger{min-width:24px;min-height:24px;color:var(--text-secondary);font-size:var(--text-size-control);background:0 0;border:1px solid #0000;padding:2px 4px}.metrics-trigger:hover:not(:disabled),.metrics-trigger[aria-expanded=true]{border-color:var(--border-subtle);background:var(--surface-hover);color:var(--text-primary)}.metrics-popover{z-index:82;border:1px solid var(--border-strong);background:var(--surface-raised);width:196px;box-shadow:var(--shadow-menu);padding:7px 8px;position:absolute;top:calc(100% + 5px);right:0}.metrics-popover dl{gap:3px;margin:0;display:grid}.metrics-popover dl>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;min-height:18px;display:grid}.metrics-popover dt{color:var(--text-secondary)}.metrics-popover dd{color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;margin:0}.instruction-ribbon{border-bottom:1px solid var(--border-strong);background:var(--surface-panel-alt);min-width:0}.ribbon-category-row{align-items:stretch;min-height:27px;padding:0 6px;display:flex}.ribbon-categories{min-width:0;display:flex;overflow-x:auto}.ribbon-category{min-height:27px;color:var(--text-secondary);font-size:var(--text-size-control);font-weight:var(--text-weight-semibold);letter-spacing:.045em;background:0 0;border:0;border-radius:0;padding:4px 10px}.ribbon-category:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:#0000}.ribbon-category.active{color:var(--text-primary);box-shadow:inset 0 -2px var(--accent);background:var(--surface-hover)}.ribbon-category.unavailable{color:var(--text-disabled)}.editor-lock-message{color:var(--state-warning);font-size:var(--text-size-label);margin:auto 8px auto auto}.ribbon-toggle{min-width:24px;min-height:24px;color:var(--text-secondary);font-size:var(--text-size-control);background:0 0;border:0;align-items:center;gap:2px;margin:2px 0 2px auto;padding:1px 5px;display:flex}.ribbon-toggle .ide-icon{width:13px;height:13px}.ribbon-tools{border-top:1px solid var(--border-subtle);align-items:center;gap:8px;min-width:0;min-height:66px;padding:5px 8px;display:flex;overflow:hidden}.ribbon-instruction-strip{flex:auto;align-items:center;gap:4px;min-width:156px;display:flex}.ribbon-instructions{scrollbar-width:none;flex:auto;align-items:center;gap:3px;min-width:0;display:flex;overflow-x:auto}.ribbon-instructions::-webkit-scrollbar{display:none}.ribbon-structure{flex:none;align-items:center;gap:3px;display:flex}.ribbon-overflow{border-color:var(--border-subtle);background:var(--surface-panel);min-width:28px;height:48px;color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);flex:none;place-items:center;gap:0;padding:2px 4px;display:grid}.ribbon-overflow[hidden]{display:none}.ribbon-overflow[data-ribbon-overflow=end]{grid-auto-flow:column}.ribbon-overflow .ide-icon{width:14px;height:14px}.ribbon-instruction-wrap{flex:none;display:grid;position:relative}.ribbon-instruction{cursor:grab;background:0 0;border-color:#0000;grid-template-rows:26px 14px 14px;place-items:center;gap:0;width:104px;min-width:104px;height:64px;min-height:64px;padding:3px 5px;display:grid;position:relative}.ribbon-instruction:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--border-strong);background:var(--surface-hover)}.ribbon-instruction[aria-disabled=true]{color:var(--text-disabled);cursor:default}.ribbon-instruction:active:not([aria-disabled=true]){cursor:grabbing}.ribbon-instruction .instruction-glyph{width:72px;height:25px;color:var(--text-primary)}.ribbon-instruction b{max-width:102px;font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.ribbon-instruction-name{width:100%;max-width:94px;color:var(--text-primary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.ribbon-instruction-mnemonic{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.035em;line-height:1.25}.ribbon-instruction .ribbon-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ribbon-instruction.active,.ribbon-structure button.active{border-color:var(--accent-strong);background:var(--surface-selected);box-shadow:inset 0 -2px var(--accent)}.ribbon-instruction-actions{z-index:1;min-width:24px;min-height:24px;color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-ui);letter-spacing:1px;background:0 0;border:0;padding:0 3px 6px;line-height:1;position:absolute;top:1px;right:1px}.ribbon-instruction-actions:hover,.ribbon-instruction-actions:focus-visible{color:var(--accent-strong);background:var(--surface-hover)}.application-menu-panel.instruction-action-menu{z-index:90;width:max-content;min-width:150px;max-width:190px;padding:2px 0;position:fixed;top:auto;left:auto}.application-menu-panel.instruction-action-menu>button{min-height:24px;font-size:var(--text-size-control);grid-template-columns:18px minmax(120px,1fr);padding:2px 8px 2px 6px;line-height:1.2}.ribbon-instruction.coming-soon{cursor:default;color:var(--text-disabled);background:0 0}.ribbon-instruction.coming-soon:disabled{color:var(--text-disabled)}.ribbon-instruction.coming-soon:hover{background:0 0;border-color:#0000}.ribbon-soon-glyph{border:1px dashed var(--border-subtle);min-width:64px;height:28px;color:var(--text-disabled);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.04em;place-items:center;display:grid}.ribbon-empty-category{min-width:210px;color:var(--text-disabled);font-size:var(--text-size-label)}.ribbon-operand{color:var(--text-secondary);font-size:var(--text-size-label);flex:none;align-items:center;gap:5px;display:flex}.ribbon-operand select{width:148px;font-family:var(--font-mono)}.ribbon-structure{border-left:1px solid var(--border-subtle);padding-left:8px}.ribbon-structure button{background:0 0;border-color:#0000;grid-template-rows:25px 11px;place-items:center;gap:1px;min-width:44px;height:48px;padding:3px 5px;display:grid}.ribbon-structure button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.ribbon-structure button .ide-icon{width:24px;height:24px}.ribbon-structure span{color:var(--text-secondary);font-size:var(--text-size-label);white-space:nowrap}.palette-mode{max-width:170px;color:var(--text-secondary);font-size:var(--text-size-label);flex:none;margin-left:auto;line-height:1.35}.dock-panel{border-right:1px solid var(--border-strong);background:var(--surface-panel);flex:0 0 224px;min-width:0;overflow:hidden}.dock-panel.collapsed{flex-basis:29px}.inspector-panel{border-right:0;border-left:1px solid var(--border-strong);flex-basis:258px}.dock-heading{border-bottom:1px solid var(--border-subtle);background:var(--surface-panel-alt);justify-content:space-between;align-items:center;min-height:44px;padding:4px 5px 4px 9px;display:flex}.dock-heading span{flex-direction:column;gap:1px;display:flex}.dock-heading small,.eyebrow{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.1em}.dock-heading strong{font-size:var(--text-size-title);font-weight:var(--text-weight-semibold)}.dock-heading button{background:0 0;border-color:#0000;place-items:center;min-width:24px;min-height:24px;padding:1px;display:grid}.dock-heading button .ide-icon{width:15px;height:15px}.dock-panel.collapsed .dock-heading{align-items:flex-start;height:100%;padding:4px 2px}.dock-panel.collapsed .dock-heading span{display:none}.dock-panel.collapsed .dock-heading button{margin:0 auto}.organizer-tree{height:calc(100% - 39px);padding:5px 0;overflow:hidden auto}.organizer-row{min-width:0;height:24px;color:var(--text-secondary);white-space:nowrap;align-items:center;display:flex}.organizer-row:hover{background:var(--surface-hover);color:var(--text-primary)}.organizer-row.selected{background:var(--surface-selected);color:var(--text-primary);box-shadow:inset 2px 0 var(--accent)}.organizer-row.is-renaming{white-space:normal;align-items:flex-start;height:auto;min-height:24px}.tree-expander{background:0 0;border:0;flex:0 0 24px;place-items:center;min-width:24px;min-height:24px;padding:0;display:grid}.tree-expander .ide-icon{width:12px;height:12px}.tree-label{text-align:left;min-width:0;height:24px;font-size:var(--text-size-control);background:0 0;border:0;flex:1;align-items:center;gap:5px;padding:0 4px;display:flex;overflow:hidden}.tree-label-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree-icon{width:17px;color:var(--text-secondary);flex:0 0 17px;place-items:center;display:grid}.tree-icon .ide-icon{width:14px;height:14px}.organizer-row.selected .tree-icon{color:var(--accent-strong)}.organizer-main-routine-marker{width:14px;height:14px;color:var(--text-secondary);flex:0 0 14px;place-items:center;display:grid}.organizer-main-routine-marker .ide-icon{width:12px;height:12px}.organizer-row.selected .organizer-main-routine-marker{color:var(--accent-strong)}.organizer-routine-flag{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.04em;text-transform:uppercase;border:1px solid;flex:none;margin-left:4px;padding:0 4px;line-height:14px}.organizer-rename{flex-direction:column;flex:1;align-items:stretch;gap:2px;min-width:0;padding:1px 4px 4px;display:flex}.organizer-rename input{width:100%;min-width:0;min-height:24px;font-size:var(--text-size-control);padding:0 4px}.organizer-rename .inline-error{color:var(--state-danger);font-size:var(--text-size-label);white-space:normal;overflow-wrap:anywhere;margin:0;line-height:1.3}.application-menu-panel.organizer-context-menu{z-index:90;width:max-content;min-width:132px;max-width:156px;padding:2px 0;position:fixed;top:auto;left:auto}.application-menu-panel.organizer-context-menu>button{width:100%;min-height:24px;font-size:var(--text-size-control);padding:2px 8px;line-height:1.2;display:block}.application-menu-panel.organizer-context-menu>button.menu-item-danger:not(:disabled){color:var(--state-danger)}.application-menu-panel.organizer-context-menu>[role=separator]{margin:2px 6px}.organizer-menu-hint{color:var(--text-secondary);font-size:var(--text-size-label);white-space:normal;padding:3px 8px 4px;line-height:1.25}.resource-tabs{flex:auto;min-width:120px;display:flex;overflow-x:auto}.resource-tab{border-right:1px solid var(--border-subtle);background:var(--surface-panel-alt);flex:none;display:flex}.resource-tab.active{background:var(--surface-app);box-shadow:inset 0 2px var(--accent)}.resource-tab button{background:0 0;border:0;border-radius:0;min-height:42px}.resource-tab-label{font-size:var(--text-size-control);padding:4px 4px 4px 11px}.resource-tab-close{width:28px;color:var(--text-secondary);place-items:center;padding:3px;display:grid}.resource-tab-close .ide-icon{width:12px;height:12px}.runtime-state.stepping{border-color:var(--accent-strong);color:var(--accent-strong)}.ribbon-instruction:has(>.ribbon-box){grid-template-rows:26px 28px}.ribbon-box{box-sizing:border-box;border:2px solid var(--wire-color);border-radius:var(--radius);background:var(--surface-app);min-width:72px;max-width:100%;height:25px;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-label) var(--font-mono);letter-spacing:0;white-space:nowrap;place-items:center;padding:0 4px;line-height:1;display:grid;overflow:hidden}.ribbon-instruction:has(>.ribbon-box) .ribbon-instruction-name{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;align-self:start;padding-top:2px;line-height:1.2;display:-webkit-box}.resource-tabs{flex:1 1 0;min-width:0;display:flex;overflow:hidden}.resource-tabs-strip{overscroll-behavior-inline:contain;flex:1 1 0;min-width:0;display:flex;overflow-x:auto}.resource-tabs-overflow{border:0;border-left:1px solid var(--border-subtle);background:var(--surface-panel);border-radius:0;flex:0 0 36px;place-items:center;min-height:42px;display:grid}.resource-tabs-menu{z-index:85;border:1px solid var(--border-strong);background:var(--surface-raised);width:max-content;max-width:calc(100vw - 12px);max-height:calc(100vh - 12px);color:var(--text-primary);box-shadow:var(--shadow-menu);padding:4px;overflow:auto}.resource-tabs-menu>button{width:100%;min-height:36px;color:inherit;font-size:var(--text-size-control);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;padding:6px 10px;display:block}.resource-tabs-menu>button:hover,.resource-tabs-menu>button:focus-visible,.resource-tabs-menu>button[aria-checked=true]{background:var(--surface-selected)}.resource-tabs-menu>button[aria-checked=true]{box-shadow:inset 2px 0 var(--accent);font-weight:var(--text-weight-semibold)}.editor-command-row{align-items:center;gap:8px;min-width:0;display:flex}.editor-command-palette{flex:auto;min-width:0}.editor-command-palette>.instruction-ribbon{border-bottom:0}.editor-view-controls{flex:none;align-items:center;margin-left:auto;display:flex}.editor-status-bar{align-items:center;display:flex}.inspector-content{height:calc(100% - 39px);padding:11px;overflow:auto}.inspector-content h3{font-size:var(--text-size-title);font-weight:var(--text-weight-semibold);margin:3px 0 10px}.inspector-content p{color:var(--text-secondary);font-size:var(--text-size-body);margin:8px 0;line-height:1.45}.empty-inspector{text-align:center;height:100%;color:var(--text-secondary);place-content:center;gap:5px;display:grid}.empty-inspector .ide-icon{width:28px;height:28px;margin-inline:auto}.inspector-section{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:9px}.inspector-section h4{font-size:var(--text-size-label)}.property-list{gap:1px;margin:5px 0 9px;display:grid}.property-list>div{border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 78%, transparent);grid-template-columns:minmax(70px,.8fr) minmax(80px,1.2fr);align-items:center;min-height:23px;display:grid}.property-list dt{color:var(--text-secondary);font-size:var(--text-size-label)}.property-list dd{overflow-wrap:anywhere;font:var(--text-size-body) var(--font-mono);margin:0}.runtime-properties dd{color:var(--accent-strong);font-variant-numeric:tabular-nums}.field{color:var(--text-secondary);font-size:var(--text-size-label);gap:4px;margin:8px 0;display:grid}.field input,.field select,.field textarea{width:100%;color:var(--text-primary)}.primary-button{border-color:var(--brand-secondary);background:var(--brand-primary);color:#f1f4f6}.primary-button:hover:not(:disabled){border-color:var(--accent-strong);background:var(--brand-secondary)}.danger-button{color:var(--state-danger);border-color:#864a4d}[data-inspector-kind=TAG]>button{margin:6px 6px 0 0}.force-menu-button{width:100%;color:var(--state-forced);border-color:#795687;margin:6px 0}.inspector-conversion-options{gap:2px;margin-top:6px;display:grid}.inspector-actions{gap:4px;margin:6px 0;display:flex}.inspector-actions button{font-size:var(--text-size-control);flex:1;padding-inline:4px}.advanced-properties{border-top:1px solid var(--border-subtle);margin-top:10px;padding-top:7px}.advanced-properties summary{cursor:pointer;color:var(--text-secondary);font-size:var(--text-size-label)}.inspector-details{border-top:1px solid var(--border-subtle);margin-top:10px;padding-top:7px}.inspector-details>summary{cursor:pointer;min-height:24px;color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;display:flex}.inspector-details>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.lock-note{align-items:flex-start;gap:6px;display:flex;color:var(--state-warning)!important}.lock-note .ide-icon{width:14px;height:14px;margin-top:2px}.monospace{font-family:var(--font-mono)}.bottom-panel{border-top:1px solid var(--border-strong);background:var(--surface-panel);min-height:31px;position:relative}.bottom-panel.collapsed{height:32px}.bottom-resize{z-index:5;cursor:ns-resize;height:6px;position:absolute;top:-3px;left:0;right:0}.bottom-resize:hover{background:color-mix(in srgb, var(--accent) 50%, transparent)}.bottom-tabs{border-bottom:1px solid var(--border-subtle);background:var(--surface-panel-alt);justify-content:space-between;align-items:stretch;height:32px;display:flex}.bottom-tabs>div{min-width:0;display:flex;overflow-x:auto}.bottom-tabs button{white-space:nowrap;min-height:31px;color:var(--text-secondary);font-size:var(--text-size-control);background:0 0;border:0;border-radius:0;flex-shrink:0}.bottom-tabs button.active{color:var(--text-primary);box-shadow:inset 0 -2px var(--accent)}.bottom-tabs .bottom-toggle{place-items:center;width:31px;padding:3px;display:grid}.bottom-toggle .ide-icon{width:14px;height:14px}.bottom-content{height:calc(100% - 32px);overflow:hidden}.tag-browser{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.resource-tag-browser{min-height:100%}.tag-browser[data-tag-scope=device]{grid-template-rows:auto auto minmax(0,1fr)}.tag-browser[data-tag-scope=device]>h3{font-size:var(--text-size-title);margin:0;padding:8px}.tag-toolbar{border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;padding:4px 7px;display:flex}.search-field{color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;gap:5px;display:flex}.search-field input{width:180px}.tag-toolbar select{width:130px}.tag-head{min-height:35px}.tag-toolbar{box-sizing:border-box;min-height:35px}.tag-tool-panel{border-bottom:1px solid var(--border-subtle);background:var(--surface-panel-alt);font-size:var(--text-size-label);gap:6px;padding:6px 7px;display:grid}.tag-tool-panel>label,.tag-tool-row>label{color:var(--text-secondary);align-items:center;gap:5px;display:flex}.tag-tool-inline{flex-wrap:wrap;align-items:center;display:flex}.tag-tool-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-tool-panel textarea{box-sizing:border-box;resize:vertical;width:100%;font:var(--text-size-control) var(--font-mono);color:var(--text-primary)}.tag-tool-note{color:var(--text-secondary);margin:0}.tag-tool-error{color:var(--state-danger);margin:0;padding-left:16px}.tag-sort{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.tag-sort:hover{color:var(--text-primary)}.tag-sort:focus-visible{outline:1px solid var(--focus);outline-offset:2px}.tag-sort:after{content:"";min-width:1em;color:var(--accent-strong);display:inline-block}.tag-table th[aria-sort=ascending] .tag-sort:after{content:"▲"}.tag-table th[aria-sort=descending] .tag-sort:after{content:"▼"}.tag-table tbody tr[aria-selected=true]{background:var(--surface-selected)}.tag-count{color:var(--text-secondary);font-size:var(--text-size-label);margin-left:auto}.tag-table-scroll{overflow:auto}.tag-table{border-collapse:collapse;width:100%;font-size:var(--text-size-control)}.tag-table th{z-index:1;border-bottom:1px solid var(--border-strong);background:var(--surface-panel-alt);height:25px;color:var(--text-secondary);text-align:left;font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.025em;padding:3px 7px;position:sticky;top:0}.tag-table td{border-bottom:1px solid var(--border-subtle);white-space:nowrap;min-height:27px;padding:3px 7px}.tag-table tbody tr:hover{background:var(--surface-hover)}.tag-table tbody tr.selected{background:var(--surface-selected)}.tag-table tbody tr.forced{box-shadow:inset 2px 0 var(--state-forced)}.tag-name,.tag-value{font-family:var(--font-mono)}.tag-name{color:var(--text-primary);font-weight:var(--text-weight-medium);letter-spacing:0}.tag-name-cell{align-items:center;gap:2px;min-width:0;display:flex}.tag-system-badge{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.025em;margin-left:6px;padding:0 5px}.tag-disclosure{min-width:24px;min-height:24px;color:var(--text-secondary);background:0 0;border:0;flex:0 0 24px;place-items:center;padding:0;display:grid}.tag-disclosure:hover{color:var(--text-primary)}.tag-disclosure:focus-visible{outline:1px solid var(--focus);outline-offset:-1px}.tag-disclosure .ide-icon{width:12px;height:12px}.tag-member-row .tag-name{color:var(--text-secondary);font-weight:var(--text-weight-medium);padding-left:18px}.live-tag-value{min-width:72px;color:var(--text-primary);font-size:var(--text-size-control);font-variant-numeric:tabular-nums;display:inline-block}.tag-inline-edit{width:7.5em;min-height:24px;font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);padding:1px 4px}.type-chip{color:var(--text-secondary);font-size:var(--text-size-label)}.bool-value{min-width:50px;min-height:24px;font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);padding:1px 5px}.bool-value.true{color:var(--state-powered);border-color:#397b58}.bool-value.false{color:var(--text-primary);border-color:var(--border-strong)}.tool-placeholder{color:var(--text-secondary);padding:12px}.diagnostics-panel{height:100%;padding:8px;overflow:auto}.diagnostic-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.diagnostic-warning{border:1px solid color-mix(in srgb, var(--state-warning) 55%, var(--border-subtle));border-left:3px solid var(--state-warning);background:color-mix(in srgb, var(--state-warning) 8%, var(--surface-panel));grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;display:grid}.diagnostic-warning strong{color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.diagnostic-warning p{max-width:110ch;color:var(--text-secondary);font-size:var(--text-size-body);margin:3px 0 0;line-height:1.45}.diagnostic-severity{border:1px solid color-mix(in srgb, var(--state-warning) 70%, var(--border-strong));border-radius:var(--radius);color:var(--state-warning);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:2px 5px}.diagnostics-empty{color:var(--text-secondary);font-size:var(--text-size-label);margin:4px}.compact-dialog{z-index:100;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);width:min(360px,100vw - 24px);color:var(--text-primary);margin:0;padding:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000059}.compact-dialog::backdrop{background:#080a0c8c}.compact-dialog>header,.compact-dialog form>header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:38px;padding:6px 8px;display:flex}.compact-dialog header h2{margin-top:2px}.compact-dialog header button{border:0;min-width:24px;min-height:24px}.compact-dialog header button .ide-icon{width:14px;height:14px}.compact-dialog section,.compact-dialog form{margin:0}.compact-dialog section{margin:8px}.compact-dialog section h3{font-size:var(--text-size-label);color:var(--text-secondary);text-transform:uppercase;margin-bottom:5px}.compact-dialog footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:5px;padding:8px;display:flex}.force-readout{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);margin:0;padding:8px;display:grid}.force-readout div{border-right:1px solid var(--border-subtle);padding:0 6px}.force-readout div:last-child{border-right:0}.force-readout dt{color:var(--text-secondary);font-size:var(--text-size-label)}.force-readout dd{font:var(--text-weight-semibold) var(--text-size-body) var(--font-mono);margin:3px 0 0}.dialog-actions{gap:4px;display:flex}.dialog-actions button{flex:1}.inline-error{color:var(--state-danger);font-size:var(--text-size-label);margin:6px 8px}.operand-prompt{border-left:2px solid var(--accent);padding-left:7px;color:var(--accent-strong)!important}.operand-editor{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:10px;display:grid}.operand-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.operand-heading span{color:var(--text-muted);font-size:var(--text-size-label);letter-spacing:.04em}.literal-fields{grid-template-columns:minmax(74px,.65fr) minmax(96px,1fr);gap:6px;display:grid}.operand-error{margin-inline:0}.information-dialog{width:min(390px,100vw - 24px)}.help-center-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,100vw - 24px);max-height:min(70vh,720px);display:grid}.help-center-body{grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:0;max-height:min(52vh,520px);display:grid}.help-center-index{border-right:1px solid var(--border-subtle);min-height:0;padding:8px;overflow:auto}.help-center-search{color:var(--text-secondary);font-size:var(--text-size-label);text-transform:uppercase;gap:4px;margin-bottom:8px;display:grid}.help-center-search input{text-transform:none;min-height:28px;padding:4px 8px}.help-center-group h3{font-size:var(--text-size-label);color:var(--text-secondary);text-transform:uppercase;margin:0 0 4px}.help-center-index-list{gap:2px;display:grid}.help-center-index-list button{text-align:left;min-height:26px;font-size:var(--text-size-control);background:0 0;border:0;justify-content:flex-start;padding:3px 6px}.help-center-index-list button.active{background:var(--surface-selected);color:var(--accent-strong)}.help-center-empty,.help-center-entry>p{color:var(--text-secondary);margin:8px}.help-center-entry{min-height:0;padding:8px 12px 12px;overflow:auto}.help-center-entry h3{font-size:var(--text-size-title);text-transform:none;margin:0 0 6px}.help-center-entry h4{font-size:var(--text-size-label);margin:0 0 4px}.help-center-entry section{margin:10px 0 0}.help-center-entry ul{margin:0;padding-left:18px}.help-center-entry li{font-size:var(--text-size-body);margin:3px 0}.help-center-kicker{color:var(--text-secondary);font-size:var(--text-size-label);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px}.help-center-short{color:var(--text-primary);margin:0 0 8px}.help-center-dialog footer{justify-content:space-between;align-items:center;gap:12px}.help-center-disclaimer{color:var(--text-secondary);font-size:var(--text-size-body);max-width:70ch;margin:0}.help-preview{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-panel-alt);margin:8px 0 0}.help-preview>summary{cursor:pointer;font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);color:var(--accent-strong);padding:6px 10px;list-style-position:inside}.help-preview>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.help-preview-body{gap:8px;padding:4px 10px 10px;display:grid}.help-preview-scenario{color:var(--text-primary);font-size:var(--text-size-body);margin:0}.help-preview-rung-scroll{padding:4px 0;overflow-x:auto}.help-preview-rung{min-width:max-content;color:var(--wire-color);align-items:center;gap:0;display:flex}.help-preview-rail{background:currentColor;flex:0 0 18px;height:2px}.help-preview-rung[data-energized=true]{color:var(--state-powered)}.help-preview-glyph{width:96px;height:34px;color:inherit}.help-preview-rung[data-energized=true] .help-preview-glyph path,.help-preview-rung[data-energized=true] .help-preview-glyph rect{stroke:var(--state-powered)}.help-preview-steps{font-size:var(--text-size-control);grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.help-preview-steps dt{color:var(--text-secondary);font-size:var(--text-size-label);text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.help-preview-steps dd{color:var(--text-primary);margin:0}.help-preview-steps dd ul{margin:0;padding-left:16px}.help-preview-steps dd li{margin:1px 0}.shortcut-settings-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto;width:min(560px,100vw - 24px);max-height:min(70vh,640px);display:grid}.shortcut-settings-toolbar{z-index:1;background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:8px 12px;display:flex;position:sticky;top:0}.shortcut-settings-toolbar input{flex:auto;min-width:0}.shortcut-settings-body{min-height:0;max-height:min(52vh,480px);padding:0 0 8px;overflow:auto}.command-palette-dialog[open]{grid-template-rows:auto minmax(0,1fr);width:min(32rem,100vw - 24px);max-height:min(70vh,520px);padding:0;display:grid}.command-palette-search{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:8px 12px;display:flex}.command-palette-search input{flex:auto;min-width:0}.command-palette-list{margin:0;padding:4px 0;list-style:none;overflow:auto}.command-palette-list [role=option]{cursor:pointer;align-items:center;gap:12px;min-height:32px;padding:4px 12px;display:flex}.command-palette-list [role=option][aria-selected=true]{background:var(--surface-selected)}.command-palette-list [role=option][aria-disabled=true]{opacity:.55;cursor:default}.command-palette-shortcut{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-size-label);white-space:nowrap;margin-left:auto}.command-palette-dialog [role=status]{color:var(--text-secondary);margin:0;padding:12px}.shortcut-settings-list{margin:0;padding:0;list-style:none;display:grid}.shortcut-settings-list li{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(140px,1fr) minmax(120px,auto) auto;align-items:center;gap:8px;min-height:31px;padding:4px 12px;display:grid}.shortcut-settings-list li.capturing{background:var(--surface-selected)}.shortcut-command-label{font-size:var(--text-size-label)}.shortcut-command-keys{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.shortcut-command-keys kbd{font:var(--text-size-label) var(--font-mono)}.organizer-io-row{flex-wrap:wrap;height:auto;min-height:24px}.organizer-io-row>.tree-expander{flex-basis:24px;min-width:24px;min-height:24px}.organizer-io-row>.tree-label{height:auto;min-height:24px}.organizer-io-label-content{flex:1;min-width:0;overflow:hidden}.organizer-io-label-content input{width:100%;min-width:0}.organizer-io-actions{flex:none;align-items:center;display:flex}.organizer-io-actions>button{background:0 0;border:0;min-width:24px;min-height:24px;padding:0 4px}.organizer-io-note{color:var(--text-secondary);font-size:var(--text-size-label);white-space:normal;overflow-wrap:anywhere;flex-basis:100%;padding:4px 8px 4px 5px}.ribbon-categories{scrollbar-width:thin;align-items:flex-start;padding-bottom:8px}.ribbon-category{white-space:nowrap;flex:none}.pid-settings .inspector-section{margin-top:10px}.pid-settings .inspector-section>h4{color:var(--text-secondary);text-transform:none;margin:0 0 6px}.pid-fields{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.pid-fields.single{grid-template-columns:1fr}.pid-field{min-width:0;color:var(--text-secondary);font-size:var(--text-size-label);gap:3px;display:grid}.pid-field.wide{grid-column:1/-1}.pid-field input,.pid-field select{box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-app);width:100%;min-width:0;height:26px;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);padding:0 6px}.pid-field input:focus-visible,.pid-field select:focus-visible{outline:2px solid var(--focus);outline-offset:0}.pid-field input:disabled,.pid-field select:disabled{color:var(--text-secondary);border-style:dashed}.pid-field .pid-unit{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.pid-field .pid-unit>span{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono)}.pid-bound{color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pid-segment{border:1px solid var(--border-subtle);border-radius:var(--radius);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.pid-segment button{background:var(--surface-panel-alt);height:28px;color:var(--text-secondary);font-weight:var(--text-weight-semibold);border:0;border-radius:0}.pid-segment button+button{border-left:1px solid var(--border-subtle)}.pid-segment button[aria-pressed=true]{background:var(--surface-selected);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--accent-strong)}.pid-segment+.pid-fields{margin-top:8px}.pid-sp-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.pid-sp-row input[type=range]{width:100%;accent-color:var(--accent-strong)}.pid-settings .inline-error{margin-inline:0}.ribbon-instruction-mnemonic{font-weight:var(--text-weight-medium);letter-spacing:0}.tag-value,.live-tag-value,.tag-num,.tag-refs{font-weight:var(--text-weight-medium);letter-spacing:0;font-variant-numeric:tabular-nums}.routine-status-dot{background:var(--text-disabled);border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block}.routine-status-dot[data-called=true]{background:var(--state-powered)}.resource-tab{cursor:pointer}.resource-tab-label{align-self:stretch}.tag-toolbar{gap:8px;padding:0 7px}.tag-toolbar-spacer{flex:1}.tag-search{align-items:center;display:inline-flex;position:relative}.tag-search .ide-icon{width:14px;height:14px;color:var(--text-secondary);pointer-events:none;position:absolute;left:6px}.tag-search input{box-sizing:border-box;width:180px;min-height:24px;padding:0 6px 0 24px}.tag-scope-switch{border:1px solid var(--border-subtle);border-radius:var(--radius);grid-auto-flow:column;display:inline-grid;overflow:hidden}.tag-scope-switch button{background:var(--surface-panel-alt);min-height:24px;color:var(--text-secondary);font-size:var(--text-size-control);font-weight:var(--text-weight-semibold);white-space:nowrap;border:0;border-radius:0;padding:0 10px}.tag-scope-switch button+button{border-left:1px solid var(--border-subtle)}.tag-scope-switch button[aria-pressed=true]{background:var(--surface-selected);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--accent-strong)}.tag-scope-switch button b{color:var(--text-secondary);font-family:var(--font-mono);font-weight:var(--text-weight-regular);font-variant-numeric:tabular-nums;margin-left:5px}.tag-more{place-items:center;width:26px;min-height:24px;padding:0;display:inline-grid}.tag-more .ide-icon{width:16px;height:16px}.tag-table{table-layout:fixed}.tag-table col.tag-col-name{width:230px}.tag-table col.tag-col-type{width:84px}.tag-table col.tag-col-value{width:160px}.tag-table col.tag-col-initial{width:96px}.tag-table col.tag-col-refs{width:56px}.tag-table th{background:var(--surface-panel);border-bottom-color:var(--border-subtle);padding:0 8px}.tag-table td{box-sizing:border-box;text-overflow:ellipsis;height:26px;padding:0 8px;overflow:hidden}.tag-table .tag-num{text-align:right}.tag-table th.tag-num .tag-sort{flex-direction:row-reverse}.online-value-cell{min-width:0}.tag-name-cell{overflow:hidden}.tag-name{text-overflow:ellipsis;overflow:hidden}.tag-disclosure{margin-left:-6px}.tag-disclosure-spacer{flex:0 0 18px}.tag-member-row .tag-name{padding-left:4px}.tag-muted{color:var(--text-secondary)}.tag-value.tag-muted{font-weight:var(--text-weight-medium)}.tag-empty{color:var(--text-secondary);padding:24px 8px!important}.tag-group-header td{background:var(--surface-panel-alt);height:24px;color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.tag-group-header td b{font-family:var(--font-mono);font-weight:var(--text-weight-regular);letter-spacing:0;margin-left:6px}.tag-group-header .tag-disclosure{vertical-align:middle;margin:-2px 0 -2px -6px;display:inline-grid}.tag-table tbody.tag-group-header tr:hover{background:0 0}.bool-value{min-width:34px;min-height:20px;padding:0 8px}.tag-forced-badge{border:1px solid var(--state-forced);border-radius:var(--radius);color:var(--state-forced);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);vertical-align:1px;margin-left:6px;padding:0 4px;line-height:14px;display:inline-block}.tag-refs{min-height:20px;color:var(--accent-strong);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;padding:0 4px}.tag-refs:disabled{color:var(--text-secondary);cursor:default}.tag-refs:not(:disabled):hover{text-decoration:underline}.tag-bit[data-on=true]{color:var(--state-powered)}.tag-table col.tag-col-connection{width:176px}.tag-connection{font-size:var(--text-size-control);color:var(--text-secondary);white-space:nowrap}.tag-connection b{font-weight:var(--text-weight-regular);color:var(--text-primary)}.tag-conn-ok{color:var(--state-danger)}.tag-conn-ok[data-on=true]{color:var(--state-powered)}.tag-table td>span[data-definition-editable]{min-height:18px;display:block}.tag-table .tag-inline-edit{width:110px;min-height:20px}.tag-popover{z-index:120;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);width:300px;max-width:calc(100vw - 16px);color:var(--text-primary);box-shadow:var(--shadow-menu);padding:10px}.tag-popover-wide{width:440px}.tag-popover *{box-sizing:border-box}.tag-popover .tag-tool-panel{background:0 0;border:0;padding:0}.tag-popover .tag-tool-panel textarea{min-height:120px}.tag-popover h4{font-size:var(--text-size-title);margin:0 0 8px}.tag-force-form{gap:8px;display:grid}.tag-force-form h4{margin:0}.tag-field{color:var(--text-secondary);font-size:var(--text-size-label);gap:3px;display:grid}.tag-field input,.tag-field select{width:100%;min-width:0;min-height:26px;color:var(--text-primary);font-size:var(--text-size-control)}.tag-field-error{color:var(--state-danger);font-size:var(--text-size-label);margin:0}.tag-popover-actions{justify-content:flex-end;gap:6px;display:flex}.inspector-view{gap:10px;min-width:0;display:grid}.inspector-head{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;padding-bottom:8px;display:grid}.inspector-head-title{min-width:0}.inspector-head .eyebrow{display:block}.inspector-content .inspector-head h3{overflow-wrap:anywhere;margin:2px 0 0}.inspector-head-tools{align-items:center;gap:4px;display:flex}.inspector-lock{min-width:24px;min-height:24px;color:var(--text-secondary);place-items:center;display:inline-grid}.inspector-lock .ide-icon{width:16px;height:16px}.inspector-more{place-items:center;min-width:26px;min-height:24px;padding:0;display:inline-grid}.inspector-more .ide-icon{width:16px;height:16px}.inspector-group{gap:4px;min-width:0;display:grid}.inspector-group>h4{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px}.inspector-lines{gap:4px;margin:0;display:grid}.inspector-line{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:6px;min-height:26px;display:grid}.inspector-line-label{color:var(--text-secondary);font-size:var(--text-size-control);overflow-wrap:anywhere}.inspector-line dd{overflow-wrap:anywhere;min-width:0;font:var(--text-size-control) var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.inspector-line-value{align-items:center;gap:6px;min-width:0;display:flex}.inspector-line select,.inspector-line input{width:100%;min-width:0;height:24px;min-height:24px;font-family:var(--font-mono);font-size:var(--text-size-control)}.inspector-line textarea{width:100%;min-width:0;min-height:44px;font-size:var(--text-size-control);resize:vertical}.inspector-line .tag-forced-badge{flex:none;margin-left:0}.inspector-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.inspector-text{overflow-wrap:anywhere;min-width:0;font-size:var(--text-size-control)}.inspector-unit{width:100%;color:var(--text-secondary);font-size:var(--text-size-control);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.inspector-operand.operand-editor{border:0;gap:4px;margin:0;padding:0;display:grid}.inspector-line-unset select{border-color:var(--state-warning);color:var(--text-secondary)}.inspector-literal{grid-template-columns:minmax(64px,.6fr) minmax(0,1fr);gap:4px;margin-left:80px;display:grid}.inspector-literal:has(>input[type=number]){grid-template-columns:minmax(64px,.6fr) 52px minmax(0,1fr)}.inspector-literal select,.inspector-literal input{min-width:0;height:24px;min-height:24px;font-family:var(--font-mono);font-size:var(--text-size-control)}.inspector-operand .operand-error{margin:0 0 0 80px}.inspector-operand .array-operand-editor{border:0;gap:4px;min-width:0;margin:0 0 0 80px;padding:0;display:grid}.inspector-operand .array-operand-editor>legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.inspector-operand .array-operand-editor label{color:var(--text-secondary);font-size:var(--text-size-control);grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:4px;display:grid}.inspector-operand .array-operand-editor select,.inspector-operand .array-operand-editor input{min-width:0;height:24px;min-height:24px;font-family:var(--font-mono);font-size:var(--text-size-control)}.inspector-content .inspector-status{color:var(--text-primary);font-size:var(--text-size-control);align-items:center;margin:0;display:flex}.inspector-dot{background:var(--state-warning);border-radius:50%;flex:none;width:7px;height:7px;margin-right:6px}.inspector-bits{flex-wrap:wrap;gap:4px;display:flex}.inspector-bit{border:1px solid var(--border-subtle);border-radius:var(--radius);min-width:34px;color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);text-align:center;padding:1px 5px}.inspector-bit[data-on=true]{border-color:var(--state-powered);color:var(--state-powered)}.inspector-bool{min-width:34px;min-height:24px;font-family:var(--font-mono);font-weight:var(--text-weight-semibold);padding:0 8px}.inspector-bool[data-on=true]{border-color:var(--state-powered);color:var(--state-powered)}.inspector-chips{flex-wrap:wrap;gap:6px;display:flex}.inspector-chips button{min-height:24px;font-family:var(--font-mono);font-size:var(--text-size-control);padding:0 8px}.inspector-link{min-height:24px;color:var(--accent-strong);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.inspector-link:hover{text-decoration:underline}.inspector-link:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.inspector-badge{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--text-size-label);justify-self:start;padding:1px 6px}.inspector-content .inspector-note{color:var(--text-secondary);font-size:var(--text-size-control);margin:0}.inspector-open{display:flex}.inspector-open button{min-height:24px}.inspector-view>.advanced-properties{margin-top:0}.inspector-view>.web-api-inspector,.inspector-view>.logic-call-inspector,.inspector-view>.sql-inspector{margin:0}.inspector-view>.pid-settings>.inspector-section:first-child{margin-top:0}.scan-phases{gap:2px;margin:0;padding:0;list-style:none;display:grid}.scan-phase{border-radius:var(--radius);min-height:26px;color:var(--text-secondary);font-size:var(--text-size-control);white-space:nowrap;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 8px;display:grid}.scan-phase.selected{border-color:var(--accent-strong);background:var(--surface-selected);color:var(--text-primary)}.scan-phase-label{color:inherit;font-weight:var(--text-weight-semibold)}.scan-phase-detail{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.scan-phase-state{min-width:34px;font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-align:right}.scan-phase-state[data-state=Now]{color:var(--accent-strong)}.scan-actions{gap:6px;display:flex}.scan-actions button{white-space:nowrap;min-height:26px;padding:0 10px}.scan-row{min-height:24px;font-size:var(--text-size-control);white-space:nowrap;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;display:grid}.scan-row-name{color:var(--text-secondary);font-family:var(--font-mono);text-overflow:ellipsis;overflow:hidden}.scan-row-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.scan-field{color:var(--state-warning);font:var(--text-size-label) var(--font-mono)}.scan-was{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono)}.scan-result .scan-row-name{font-family:inherit}.scan-result[data-result=true] .scan-row-value{color:var(--state-powered)}.scan-output{display:grid}.inspector-content .scan-written-by{color:var(--text-secondary);font-size:var(--text-size-label);margin:0 0 4px}.routine-argument-row{grid-template-columns:minmax(84px,1fr) minmax(64px,1fr) repeat(3,24px);align-items:center;gap:4px;min-width:0;padding-bottom:4px;display:grid}.routine-argument-row+.routine-argument-row{box-shadow:inset 0 1px var(--border-subtle);padding-top:4px}.routine-argument-row>input{grid-column:1/-1}.routine-argument-row input,.routine-argument-row select{min-width:0;height:24px;font-family:var(--font-mono);font-size:var(--text-size-control)}.routine-argument-row button{width:24px;min-width:0;height:24px;min-height:0;padding:0}.routine-argument-add{justify-self:start;min-height:26px;padding:0 10px}.routine-binding-type{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);display:block}[data-pro-locked=true]{color:var(--text-disabled);cursor:default;position:relative}[data-pro-locked=true]:hover{background:inherit}[data-pro-locked=true]>:not(.forge-pro-padlock){opacity:.6}[data-pro-locked=true] [data-pro-locked=true]>:not(.forge-pro-padlock){opacity:1}.forge-pro-padlock{width:12px;height:12px;color:var(--text-disabled);pointer-events:none;flex:none}[data-pro-locked=true]>.forge-pro-padlock{position:absolute;top:4px;right:4px}.forge-pro-padlock-inline,[data-pro-locked=true]>.forge-pro-padlock-inline{vertical-align:-1px;margin-left:6px;display:inline-block;position:static}.ladder-workspace{--rung-centerline:57px;--branch-gap:10px;background:var(--surface-app);grid-template-rows:minmax(0,1fr) auto;min-width:720px;min-height:100%;display:grid}.ladder-status{z-index:5;border-top:1px solid var(--border-subtle);background:var(--surface-panel);min-height:24px;color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;gap:11px;padding:4px 9px;display:flex;position:sticky;bottom:0;left:0}.ladder-status>span:first-child{position:sticky;left:9px}.ladder-status[data-empty=true]{background:0 0;border-top:0;min-height:0;padding:0}.ladder-routine-status{color:var(--text-primary);font-weight:var(--text-weight-semibold);margin-right:auto}.ladder-routine-status[data-routine-scan-state=dormant]{color:var(--text-secondary)}.ladder-grid{grid-template-columns:30px minmax(660px,1fr) 30px;justify-self:start;align-items:stretch;width:100%;max-width:2560px;min-height:0;padding:9px 0 18px;display:grid;overflow:auto}.power-rail{position:relative}.power-rail:after{content:"";background:var(--rail-color);width:3px;position:absolute;top:0;bottom:0}.power-rail.left:after{right:0}.power-rail.right:after{left:0}.ladder-workspace[data-routine-dormant=true] .power-rail.left:after{background:var(--wire-color)}.ladder-rungs{min-width:0}.ladder-rung{border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-app) 96%, var(--surface-panel));padding:0}.ladder-rung.selected{box-shadow:inset 0 0 0 1px var(--accent-strong)}.ladder-rung.step-current{box-shadow:inset 0 0 0 1px var(--accent-strong);background:color-mix(in srgb, var(--accent) 9%, var(--surface-app))}.ladder-rung.step-pending .rung-path{opacity:.5}.ladder-instruction.field-differs .instruction-tag{color:var(--state-warning)}.rung-meta{border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 60%, transparent);background:color-mix(in srgb, var(--surface-panel) 88%, var(--surface-app));align-items:center;gap:7px;height:24px;padding:0 7px;display:flex}.rung-number{min-width:24px;min-height:24px;color:var(--accent-strong);font:var(--text-weight-medium) var(--text-size-label) var(--font-mono);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.rung-comment{color:var(--text-secondary);font-size:var(--text-size-label);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rung-comment-empty{opacity:0}.ladder-rung:hover .rung-comment-empty{opacity:1}.rung-meta:has(.rung-number:focus-visible) .rung-comment-empty{opacity:1}.ladder-workspace[data-runtime-state=STOPPED]:not([data-single-scan-highlights=true]):not([data-routine-dormant=true]){--state-powered:var(--text-secondary)}.ladder-workspace[data-routine-dormant=true]{--state-powered:var(--wire-color)}.rung-state{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);letter-spacing:.03em}.ladder-rung.powered .rung-state{color:var(--state-powered)}.rung-path{align-items:flex-start;min-height:104px;padding:3px 0 8px;display:flex;position:relative}.debug-details .ladder-instruction{margin-bottom:42px}.instruction-debug-group{color:var(--text-secondary);font:var(--text-size-label)/1.35 var(--font-mono);white-space:nowrap;pointer-events:none;justify-items:center;gap:2px;padding:2px 0;display:grid;position:absolute;top:100%;left:0;right:0}.instruction-debug-values{justify-content:center;gap:6px;display:flex}.instruction-debug-values:empty{display:none}.instruction-debug-state{font-weight:var(--text-weight-semibold)}.debug-details .branch-label,.debug-details .parallel-label{font-size:var(--text-size-label);align-items:center;gap:4px;line-height:12px;display:inline-flex}.debug-details .ladder-live-token{margin-left:0}.ladder-series{align-items:flex-start;min-width:48px;min-height:92px;display:flex;position:relative}.root-series{flex:1;min-width:100%}.ladder-cell{align-items:flex-start;min-width:0;display:flex}.ladder-cell.output-bias{flex:auto}.ladder-insertion{z-index:3;color:#0000;background:0 0;border:0;flex:0 0 24px;width:24px;min-width:24px;height:92px;padding:0;position:relative;overflow:visible}.ladder-insertion.expands{flex:24px;width:auto}.ladder-insertion.at-rail{margin-right:-24px}.ladder-insertion.at-rail:before{display:none}.ladder-insertion.at-rail:after{left:-1.5px}.ladder-insertion.at-rail>span{left:-4px}.ladder-insertion:before{content:"";left:-1px;right:-1px;top:calc(var(--rung-centerline) - 1px);background:var(--wire-color);height:2px;position:absolute}.ladder-insertion:after{content:"";z-index:4;background:var(--accent-strong);opacity:0;width:3px;position:absolute;top:10px;bottom:9px;left:calc(50% - 1.5px)}.ladder-insertion>span{z-index:5;width:8px;height:14px;color:var(--accent-strong);font:var(--text-weight-semibold) var(--text-size-label)/1.35 var(--font-mono);text-align:center;opacity:0;position:absolute;top:32px;left:calc(50% - 4px)}.ladder-insertion:disabled{cursor:default;opacity:1}.ladder-insertion.armed:not(:disabled),.drag-active .ladder-insertion:not(:disabled){cursor:copy}.ladder-insertion.armed:not(:disabled)>span,.drag-active .ladder-insertion:not(:disabled)>span{opacity:.72}.ladder-insertion.armed:not(:disabled):hover:after,.ladder-insertion.drop-candidate:after{opacity:1}.ladder-insertion.drop-candidate{background:color-mix(in srgb, var(--accent) 10%, transparent)}.ladder-instruction{z-index:2;width:200px;height:92px;min-height:92px;color:var(--text-primary);cursor:default;pointer-events:none;background:0 0;border:0;flex:0 0 200px;grid-template-rows:37px 34px 13px;align-content:start;justify-items:center;padding:3px 5px 1px;display:grid;position:relative;overflow:visible}.instruction-hit{z-index:1;pointer-events:auto;height:38px;position:absolute;top:38px;left:calc(50% - 46px);right:calc(50% - 46px)}.ladder-instruction[data-instruction-family=timer] .instruction-hit,.ladder-instruction[data-instruction-family=counter] .instruction-hit,.ladder-instruction[data-instruction-family=compare] .instruction-hit,.ladder-instruction[data-instruction-family=data] .instruction-hit,.ladder-instruction[data-instruction-family=control] .instruction-hit{height:auto;bottom:2px;left:12px;right:12px}.ladder-instruction[draggable=true]{cursor:grab}.ladder-instruction[draggable=true]:active{cursor:grabbing}.ladder-instruction:hover,.ladder-instruction:focus-visible{outline:none;background:0 0!important}.ladder-instruction.selected{background:0 0}.ladder-instruction:hover .instruction-tag,.ladder-instruction:focus-visible .instruction-tag,.ladder-instruction.selected .instruction-tag{background:color-mix(in srgb, var(--surface-selected) 72%, transparent);box-shadow:inset 0 -1px var(--accent-strong)}.ladder-instruction.selected .instruction-glyph{color:var(--accent-strong)}.ladder-instruction:before,.ladder-instruction:after{content:"";top:calc(var(--rung-centerline) - 1px);background:var(--wire-color);width:91px;height:2px;position:absolute}.ladder-instruction:before{left:-2px}.ladder-instruction:after{right:-2px}.ladder-instruction.powered:before,.ladder-instruction.powered:after{background:var(--state-powered)}.instruction-tag{z-index:2;-webkit-line-clamp:2;width:190px;max-width:190px;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-control)/1.45 var(--font-mono);text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;pointer-events:auto;-webkit-box-orient:vertical;padding:0 2px;display:-webkit-box;overflow:hidden}.instruction-tag:hover{color:var(--accent-strong);text-underline-offset:2px;cursor:text;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.instruction-operand-spacer{pointer-events:none;width:100%;height:37px}.instruction-operand-slot{justify-self:stretch;align-items:center;gap:2px;width:100%;min-width:0;max-width:100%;height:37px;display:flex;overflow:hidden}.instruction-operand-slot>small{color:var(--text-secondary);font:var(--text-weight-medium) var(--text-size-label) var(--font-mono);flex:none}.instruction-operand-slot>.instruction-tag{min-width:0;max-width:190px}.instruction-operand-editor{z-index:30;pointer-events:auto;width:calc(100% + 2px);height:19px;position:relative}.instruction-operand-editor>input{border:1px solid var(--accent-strong);border-radius:var(--radius);background:var(--surface-raised);width:100%;height:19px;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);outline:0;padding:1px 4px}.instruction-operand-suggestions{z-index:70;border:1px solid var(--border-strong);background:var(--surface-raised);width:max-content;min-width:176px;max-width:260px;max-height:178px;overflow:auto;box-shadow:0 6px 14px #00000061}.instruction-operand-suggestions>button{border:0;border-bottom:1px solid var(--border-subtle);width:100%;min-height:24px;color:var(--text-primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:3px 6px;display:flex}.instruction-operand-suggestions>button:last-child{border-bottom:0}.instruction-operand-suggestions>button:hover,.instruction-operand-suggestions>button.active{background:var(--surface-selected);color:var(--accent-strong)}.instruction-operand-suggestions strong{font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);text-overflow:ellipsis;overflow:hidden}.instruction-operand-suggestions span{color:var(--text-secondary);font-size:var(--text-size-label);flex:none}.instruction-operand-suggestions>button.instruction-operand-create{border-top:1px solid var(--border-strong)}.instruction-operand-suggestions>button.instruction-operand-create:first-child{border-top:0}.instruction-operand-suggestions>button.instruction-operand-create strong{color:var(--accent-strong)}.instruction-operand-suggestions>button.instruction-operand-create strong:before{content:"+ "}.ladder-instruction.inline-editing{cursor:text}.ladder-instruction.unbound:not(.selected){background:0 0}.ladder-instruction.unbound .instruction-tag[data-empty]{background:color-mix(in srgb, var(--accent) 7%, transparent);box-shadow:inset 0 -1px color-mix(in srgb, var(--accent-strong) 58%, transparent);color:var(--accent-strong);font-size:var(--text-size-label);font-style:normal;font-weight:var(--text-weight-medium)}.instruction-glyph{width:78px;height:34px;color:var(--text-primary);display:block;position:relative;overflow:visible}.ladder-instruction>.instruction-glyph{z-index:2}.instruction-glyph path,.instruction-glyph rect{fill:none;stroke:var(--wire-color);stroke-width:2px;stroke-linecap:square;stroke-linejoin:round;vector-effect:non-scaling-stroke}.instruction-glyph rect{fill:var(--surface-app)}.instruction-glyph text{fill:currentColor;stroke:none;font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.02em;text-anchor:middle}.instruction-glyph [data-glyph-segment=compare-operator]{font-size:var(--text-size-label);letter-spacing:0}.instruction-glyph [data-glyph-segment=compare-label]{font-size:var(--text-size-label);letter-spacing:.1em}.ladder-instruction.powered:not(.xic):not(.xio) .instruction-glyph{color:var(--state-powered)}.ladder-instruction.powered:not(.xic):not(.xio) .instruction-glyph path,.ladder-instruction.powered:not(.xic):not(.xio) .instruction-glyph rect{stroke:var(--state-powered)}.ladder-instruction.condition-true .instruction-glyph{color:var(--state-powered)}.ladder-instruction.condition-true .instruction-glyph path,.ladder-instruction.condition-true .instruction-glyph rect{stroke:var(--state-powered)}.ladder-instruction.pulse-active .instruction-glyph{color:var(--state-powered)}.ladder-instruction.pulse-active .instruction-glyph path,.ladder-instruction.pulse-active .instruction-glyph rect{stroke:var(--state-powered)}.ladder-instruction:is([data-instruction-family=timer],[data-instruction-family=counter],[data-instruction-family=compare],[data-instruction-family=data],[data-instruction-family=control]){flex-basis:260px;width:260px}.ladder-instruction:is([data-instruction-family=timer],[data-instruction-family=counter],[data-instruction-family=compare],[data-instruction-family=data],[data-instruction-family=control]) .instruction-glyph{width:234px}.ladder-instruction:is([data-instruction-family=timer],[data-instruction-family=counter],[data-instruction-family=compare],[data-instruction-family=data],[data-instruction-family=control]):before,.ladder-instruction:is([data-instruction-family=timer],[data-instruction-family=counter],[data-instruction-family=compare],[data-instruction-family=data],[data-instruction-family=control]):after{width:22px}.ladder-instruction.forced .instruction-glyph,.ladder-instruction.forced .instruction-tag{color:var(--state-forced)}.ladder-instruction.forced .instruction-glyph path:not([data-glyph-segment^=wire-]),.ladder-instruction.forced .instruction-glyph rect{stroke:var(--state-forced)}.instruction-type{color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.02em;align-self:end}.instruction-state{color:var(--text-disabled);font:var(--text-weight-medium) var(--text-size-label) var(--font-mono);opacity:0;pointer-events:none;position:absolute;bottom:-12px}.instruction-state[data-bit-state]{left:2px}.instruction-state[data-condition-state]{right:2px}.ladder-instruction:hover .instruction-state,.ladder-instruction.selected .instruction-state{opacity:1}.ladder-instruction.ton,.ladder-instruction.tof,.ladder-instruction.rto{height:122px;min-height:122px}.ladder-instruction.ctu,.ladder-instruction.ctd{height:138px;min-height:138px}.ladder-instruction[data-instruction-family=compare],.ladder-instruction[data-instruction-family=data],.ladder-instruction[data-instruction-family=control]{height:180px;min-height:180px}.ladder-instruction[data-instruction-family=data]{height:210px;min-height:210px}.ladder-instruction[data-block-rows]{height:calc(78px + (var(--block-rows) + var(--block-lines)) * 18px);min-height:calc(78px + (var(--block-rows) + var(--block-lines)) * 18px)}.instruction-runtime-panel{z-index:2;border:2px solid var(--wire-color);background:var(--surface-app);width:224px;min-height:40px;color:var(--text-primary);font-variant-numeric:tabular-nums;pointer-events:none;border-top:0;grid-template-rows:minmax(19px,auto) minmax(17px,auto);display:grid;position:absolute;top:70px;left:18px;overflow:hidden}.instruction-runtime-panel .instruction-state{min-width:0;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-label)/1.35 var(--font-mono);opacity:1;text-align:left;white-space:nowrap;padding:1px 4px;display:grid;position:static;overflow:hidden}.instruction-runtime-panel .instruction-state+.instruction-state{border-top:1px solid var(--border-subtle)}.instruction-value-grid{grid-template-rows:repeat(2,15px);grid-template-columns:1fr;align-content:center}.instruction-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center}.counter-status{grid-template-rows:repeat(2,15px)}.instruction-runtime-field{grid-template-columns:22px minmax(0,1fr);align-items:baseline;gap:1px;min-width:0;display:grid}.instruction-status-grid .instruction-runtime-field{gap:2px;display:flex}.instruction-runtime-field small{color:var(--text-secondary);font:var(--text-weight-medium) var(--text-size-label)/1.35 var(--font-mono);overflow:hidden}.instruction-runtime-field strong{color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-label)/1.35 var(--font-mono);text-align:right;text-overflow:ellipsis;overflow:hidden}.instruction-runtime-field.editable-preset.enabled{pointer-events:auto;cursor:text}.instruction-runtime-field.editable-preset.enabled:hover{background:var(--surface-hover);box-shadow:inset 0 -1px var(--accent-strong)}.instruction-runtime-field.editable-preset input{box-sizing:border-box;border:1px solid var(--accent-strong);background:var(--surface-raised);width:100%;min-width:0;height:15px;min-height:0;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label)/1 var(--font-mono);text-align:right;border-radius:0;padding:0 2px}.instruction-runtime-panel[data-block-state=UNRESOLVED] .instruction-state{background:color-mix(in srgb, var(--surface-panel) 60%, transparent)}.instruction-runtime-field.unresolved{opacity:.55}.instruction-runtime-field.unresolved small,.instruction-runtime-field.unresolved strong{color:var(--text-disabled);font-weight:var(--text-weight-semibold)}.instruction-runtime-field.editable-preset.unresolved{cursor:default}.compare-operands{grid-template-rows:none;grid-auto-rows:auto;min-height:0;padding-top:2px;overflow:hidden}.compare-operands:has(.instruction-operand-editor){overflow:visible}.compare-operands>.instruction-state:not(.compute-expression){border-top:1px solid var(--border-subtle)}.compare-operands>.instruction-operand-slot{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;height:18px;padding:0 4px;display:grid;overflow:hidden}.compare-operands>.instruction-operand-slot>small{color:var(--text-secondary);font:var(--text-weight-medium) var(--text-size-label)/1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare-operands>.instruction-operand-slot>.instruction-tag{white-space:nowrap;justify-self:start;width:auto;max-width:100%;display:block}.operand-live-value{max-width:88px;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-label)/1 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ladder-instruction[data-pid-loop] [data-pid-alarm] strong{color:var(--state-warning)}.instruction-operand-slot>.instruction-runtime-field[data-pid-field]{text-align:right;display:block}.ladder-instruction[data-pid-loop] .compare-operands>.instruction-operand-slot{grid-template-columns:22px minmax(0,1fr) auto}.instruction-operand-slot>.instruction-runtime-field[data-pid-field] strong{display:block}.compare-operands>.compute-expression{min-width:0;height:18px;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label)/1 var(--font-mono);grid-template-columns:48px minmax(0,1fr);align-items:center;gap:6px;padding:0 4px;display:grid}.compare-operands>.compute-expression>small{color:var(--text-secondary);font:inherit}.compare-operands>.compute-expression>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare-operands .instruction-tag{max-width:190px;font:var(--text-weight-medium) var(--text-size-label)/1.35 var(--font-mono);padding:0 1px}.compare-operands>.compute-expression-editing{height:auto;display:block}.instruction-runtime-panel .instruction-state.compute-expression{pointer-events:auto;cursor:text}button.compute-expression{text-align:left;background:0 0;border:0;border-radius:0;width:100%;margin:0}button.compute-expression:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-2px}.instruction-runtime-panel:has(.compute-expression-editing){overflow:visible}.compare-operands>.compute-expression-editing{z-index:31;padding:0;position:relative}.compute-expression-editing .compute-expression-field>input{border:1px solid var(--accent-strong);border-radius:var(--radius);background:var(--surface-raised);width:100%;min-width:220px;height:19px;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);outline:0;padding:0 3px}.compute-expression-problem{color:var(--state-danger);font:var(--text-size-label)/1.3 var(--font-sans,inherit);white-space:normal;padding:2px 3px;display:block}.instruction-operand-suggestions.compute-suggestions-inline{width:auto;max-width:none;margin-top:4px;position:static}.compare-operands>.instruction-operand-editor{z-index:31;width:220px;min-width:220px;height:19px;position:relative}.compare-operands>.instruction-operand-editor>input{height:19px;font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);padding:0 3px}.compare-resolved{grid-template-columns:repeat(3,minmax(0,1fr))}.instruction-routine-link{min-width:24px;min-height:24px;color:var(--accent-strong);font:var(--text-weight-semibold) var(--text-size-label)/1.35 var(--font-mono);text-underline-offset:2px;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0 2px;text-decoration:underline}.instruction-routine-link:hover,.instruction-routine-link:focus-visible{background:var(--surface-hover);outline:1px solid var(--accent-strong)}.ladder-instruction.powered .instruction-runtime-panel,.ladder-instruction.pulse-active .instruction-runtime-panel{border-color:var(--state-powered)}.ladder-instruction.selected .instruction-runtime-panel,.ladder-instruction:is(:hover,:focus-visible):is([data-instruction-family=compare],[data-instruction-family=data],[data-instruction-family=control]) .instruction-runtime-panel{border-color:var(--accent-strong)}.ladder-instruction.selected .instruction-glyph rect,.ladder-instruction:is(:hover,:focus-visible):is([data-instruction-family=compare],[data-instruction-family=data],[data-instruction-family=control]) .instruction-glyph rect{stroke:var(--accent-strong)}.ladder-instruction.selected[data-instruction-family=contact] .instruction-tag,.ladder-instruction.selected[data-instruction-family=output] .instruction-tag{box-shadow:inset 0 -2px var(--accent)}.instruction-debug{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);white-space:nowrap;position:absolute;bottom:-22px}.instruction-live-state{color:var(--text-secondary);font:var(--text-weight-medium) var(--text-size-label)/1.35 var(--font-mono);letter-spacing:0;pointer-events:none;grid-row:3;align-self:start}.ladder-instruction[data-live-state=energized] .instruction-live-state{color:var(--text-primary);font-weight:var(--text-weight-medium)}.ladder-instruction[data-live-state=deenergized] .instruction-live-state{font-weight:var(--text-weight-medium)}.ladder-instruction[data-live-state=unavailable] .instruction-live-state,.ladder-instruction[data-live-state=not-scanned] .instruction-live-state{font-style:italic}.instruction-force-indicator{z-index:3;border:1px solid var(--state-forced);background:var(--surface-app);color:var(--state-forced);font:var(--text-size-label) var(--font-mono);padding:1px 2px;position:absolute;top:84px;right:5px}.ladder-instruction[data-instruction-family=timer] .instruction-force-indicator,.ladder-instruction[data-instruction-family=counter] .instruction-force-indicator,.ladder-instruction[data-instruction-family=compare] .instruction-force-indicator,.ladder-instruction[data-instruction-family=data] .instruction-force-indicator,.ladder-instruction[data-instruction-family=control] .instruction-force-indicator{top:42px;right:18px}.ladder-workspace.toggle-mode .ladder-instruction.toggleable{cursor:pointer}.ladder-workspace.toggle-mode .ladder-instruction.toggleable .instruction-tag{color:var(--accent-strong);box-shadow:inset 0 -1px var(--state-powered)}.ladder-workspace.toggle-mode .ladder-instruction.toggleable:hover .instruction-glyph{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--state-powered) 65%, transparent))}.instruction-change-popover{z-index:70;border:1px solid var(--border-strong);background:var(--surface-raised);width:min(300px,100vw - 12px);color:var(--text-primary);box-shadow:var(--shadow-menu);pointer-events:auto;outline:0;padding:0}.instruction-change-popover>header{border-bottom:1px solid var(--border-subtle);background:var(--surface-panel);gap:3px;padding:4px 5px;display:grid}.instruction-change-title{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.045em;text-transform:uppercase}.instruction-change-search{border:1px solid var(--accent-strong);border-radius:var(--radius);background:var(--surface-app);width:100%;height:20px;min-height:0;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);padding:1px 5px}.instruction-type-options{background:var(--surface-raised);max-height:min(280px,40vh);padding:2px 3px 3px;display:grid;overflow-y:auto}.instruction-option-group{gap:1px;display:grid}.instruction-option-group+.instruction-option-group{margin-top:2px}.instruction-option-group-label{color:var(--text-disabled);font:var(--text-weight-semibold) var(--text-size-label)/1.35 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:4px 6px 2px}.instruction-option-row{border-radius:var(--radius);width:100%;height:30px;min-height:30px;max-height:32px;color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:32px 36px minmax(0,1fr);align-items:center;gap:6px;padding:0 6px;display:grid}.instruction-option-row[aria-checked=true]{border-color:var(--border-subtle);background:color-mix(in srgb, var(--surface-selected) 42%, transparent)}.instruction-option-row:hover,.instruction-option-row.active{border-color:color-mix(in srgb, var(--accent-strong) 48%, var(--border-subtle));background:color-mix(in srgb, var(--surface-selected) 70%, transparent);color:var(--accent-strong);box-shadow:inset 2px 0 var(--accent)}.instruction-option-preview{width:32px;height:22px;color:var(--text-primary);place-items:center;display:grid;overflow:hidden}.instruction-option-preview .instruction-glyph{width:30px;height:18px}.instruction-option-preview .instruction-glyph rect{fill:none}.instruction-option-operator{font:var(--text-weight-semibold) var(--text-size-body)/1 var(--font-mono);letter-spacing:-.04em}.instruction-option-mnemonic{font:var(--text-weight-semibold) var(--text-size-label)/1.35 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.instruction-option-description{min-width:0;color:var(--text-secondary);font:var(--text-size-label)/1.35 var(--font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.instruction-change-empty{color:var(--text-disabled);font-size:var(--text-size-label);text-align:center;padding:9px 6px}.instruction-change-popover>footer{border-top:1px solid var(--border-subtle);color:var(--text-disabled);font-size:var(--text-size-label);padding:4px 6px}.instruction-change-popover kbd{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono)}.ladder-parallel{z-index:2;background:0 0;border:0;flex:none;min-width:145px;margin:0;padding:0 10px;position:relative}.ladder-parallel.selected>.parallel-label,.ladder-branch.selected>.branch-label{box-shadow:inset 0 0 0 1px var(--accent-strong);background:var(--surface-selected);color:var(--accent-strong);opacity:1}.parallel-label{z-index:5;min-width:24px;min-height:24px;color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);white-space:nowrap;opacity:0;background:0 0;border:0;padding:0 2px;position:absolute;top:-1px;left:0}.ladder-branches{gap:var(--branch-gap);display:grid;position:relative}.parallel-feed{z-index:1;top:calc(var(--rung-centerline) - 1px);background:var(--wire-color);pointer-events:none;width:11px;height:2px;position:absolute}.parallel-feed-in{left:0}.parallel-feed-out{right:0}.ladder-parallel.powered>.parallel-feed{background:var(--state-powered)}.ladder-branch{align-items:flex-start;min-height:92px;padding:0;display:flex;position:relative}.parallel-rail-segment{z-index:1;top:var(--rung-centerline);width:2px;height:calc(100% + var(--branch-gap));background:var(--wire-color);pointer-events:none;position:absolute}.parallel-rail-left{left:-1px}.parallel-rail-right{right:-1px}.ladder-branch:last-child>.parallel-rail-segment{display:none}.ladder-parallel.powered>.ladder-branches>.ladder-branch>.parallel-rail-segment{background:var(--state-powered)}.ladder-branch .ladder-series{z-index:2;flex:1;margin:0 -10px;padding:0 10px}.branch-label{z-index:5;min-width:24px;min-height:24px;color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);white-space:nowrap;opacity:0;background:0 0;border:0;padding:0 2px;position:absolute;top:18px;left:2px}.ladder-branch:first-child>.branch-label{top:24px}.debug-details .branch-label,.debug-details .parallel-label,.branch-label:focus-visible,.parallel-label:focus-visible{opacity:1}.ladder-live-token{font-weight:var(--text-weight-semibold);letter-spacing:.04em;margin-left:3px}.ladder-branch[data-live-state=energized]>.branch-label>.ladder-live-token,.ladder-parallel[data-live-state=energized]>.parallel-label>.ladder-live-token{color:var(--text-primary);font-weight:var(--text-weight-semibold)}.ladder-branch[data-live-state=unavailable]>.branch-label>.ladder-live-token,.ladder-parallel[data-live-state=unavailable]>.parallel-label>.ladder-live-token,.ladder-branch[data-live-state=not-scanned]>.branch-label>.ladder-live-token,.ladder-parallel[data-live-state=not-scanned]>.parallel-label>.ladder-live-token{font-style:italic}.branch-junction{pointer-events:none;flex:0 0 10px;height:92px;position:relative}.branch-junction:before{content:"";left:-1px;right:-1px;top:calc(var(--rung-centerline) - 1px);background:var(--wire-color);height:2px;position:absolute}.branch-port{top:var(--rung-centerline);pointer-events:none;width:0;height:0;position:absolute}.branch-split>.branch-port{left:0}.branch-merge>.branch-port{left:100%}.ladder-rung.powered>.rung-path>.root-series>.ladder-cell>.ladder-insertion:before,.ladder-rung.powered>.rung-path>.root-series>.ladder-insertion:before,.ladder-branch.powered>.branch-junction:before,.ladder-branch.powered>.ladder-series>.ladder-cell>.ladder-insertion:before,.ladder-branch.powered>.ladder-series>.ladder-insertion:before{background:var(--state-powered)}.ladder-series.wrapped{flex-wrap:wrap}.ladder-wrap-break{flex:0 0 100%;height:12px}.ladder-continuation{z-index:2;height:92px;position:relative}.ladder-continuation[data-continuation=out]{flex:48px;min-width:48px}.ladder-continuation[data-continuation=in]{flex:0 0 48px}.ladder-continuation:before{content:"";top:calc(var(--rung-centerline) - 1px);background:var(--wire-color);height:2px;position:absolute}.ladder-continuation[data-continuation=out]:before{left:-1px;right:44px}.ladder-continuation[data-continuation=in]:before{left:44px;right:-1px}.ladder-continuation-marker{top:calc(var(--rung-centerline) - 10px);width:28px;height:20px;color:var(--wire-color);position:absolute;overflow:visible}.ladder-continuation[data-continuation=out]>.ladder-continuation-marker{right:16px}.ladder-continuation[data-continuation=in]>.ladder-continuation-marker{left:16px}.ladder-continuation-marker path{fill:var(--surface-app);stroke:currentColor;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ladder-continuation-marker text{fill:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-anchor:middle}.ladder-continuation.powered:before{background:var(--state-powered)}.ladder-continuation.powered>.ladder-continuation-marker{color:var(--state-powered)}.ladder-continuation.powered>.ladder-continuation-marker path{fill:currentColor}.ladder-continuation.powered>.ladder-continuation-marker text{fill:var(--surface-app)}.ladder-continuation.paired>.ladder-continuation-marker{color:var(--accent-strong)}.ladder-continuation.paired>.ladder-continuation-marker path{fill:var(--surface-selected)}.ladder-drag-preview{z-index:90;border:1px solid var(--accent-strong);background:var(--surface-raised);width:108px;color:var(--text-primary);pointer-events:none;grid-template-rows:15px 30px 12px;place-items:center;padding:4px 6px;display:grid;position:fixed;transform:translateY(-50%);box-shadow:0 5px 14px #0000004d}.ladder-transparent-drag-image{z-index:-1;opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:0;overflow:hidden}.ladder-drag-preview .instruction-glyph{width:86px;height:30px}.ladder-drag-preview span{max-width:100px;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ladder-drag-preview strong{color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.ladder-drag-preview.symbol-only{width:auto;box-shadow:none;background:0 0;border:0;grid-template-rows:15px 34px;row-gap:0;padding:0}.ladder-drag-preview.symbol-only span{padding:0 3px;line-height:15px}.ladder-drag-preview.symbol-only .instruction-glyph{width:78px;height:34px;color:var(--accent-strong);grid-row:2}.ladder-drag-preview.symbol-only .instruction-glyph path{stroke:var(--accent-strong)}.ladder-drag-preview.symbol-only[data-settled] span{background:var(--surface-app)}.ladder-drag-preview.symbol-only[data-settled] .instruction-glyph{background:linear-gradient(var(--accent-strong), var(--accent-strong)) 0 50% / 28px 2px no-repeat, linear-gradient(var(--accent-strong), var(--accent-strong)) 100% 50% / 28px 2px no-repeat, linear-gradient(var(--surface-app), var(--surface-app)) 50% 50% / 22px 100% no-repeat}.ladder-drag-preview.symbol-only{transform-origin:50% 32px;transform:translate(-50%,-32px)}.ladder-drag-preview.symbol-only.snapped{transform:translate(-50%, -32px) scale(var(--drag-snap-scale,1))}.ladder-workspace:has(.ladder-drag-preview.snapped) .ladder-insertion.drop-candidate{background:0 0}.ladder-workspace:has(.ladder-drag-preview.snapped) .ladder-insertion.drop-candidate:after{opacity:0}.ladder-workspace:has(.ladder-drag-preview.snapped) .ladder-insertion.drop-candidate>span{opacity:0}.ladder-empty{min-height:120px;color:var(--text-secondary);text-align:center;place-content:center;gap:5px;display:grid}.mutation-pending{cursor:progress;opacity:.78}@media (prefers-reduced-motion:no-preference){.ladder-insertion:after,.ladder-insertion>span{transition:opacity 80ms linear}}.ladder-series:has([data-string-operation=true])>.ladder-cell{flex-shrink:0}.ladder-diagnostic-marker{z-index:4;border-radius:var(--radius);background:var(--surface-raised);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border:1px solid;align-items:center;gap:3px;padding:1px 4px;display:inline-flex;position:relative}.ladder-diagnostic-marker[data-diagnostic-severity=ERROR]{color:var(--state-danger)}.ladder-diagnostic-marker[data-diagnostic-severity=WARNING]{color:var(--state-warning)}.ladder-diagnostic-marker[data-diagnostic-severity=INFO]{color:var(--text-secondary)}.ladder-diagnostic-glyph{place-items:center;line-height:1;display:grid}.ladder-diagnostic-glyph .ide-icon{width:12px;height:12px}.ladder-diagnostic-count{border-left:1px solid;padding-left:3px}.ladder-diagnostic-marker[data-diagnostic-placement=instruction]{position:absolute;top:-2px;right:-2px}.ladder-rung[data-diagnostic-severity=ERROR]{box-shadow:inset 3px 0 0 var(--state-danger)}.ladder-rung[data-diagnostic-severity=WARNING]{box-shadow:inset 3px 0 0 var(--state-warning)}.ladder-rung[data-diagnostic-severity=ERROR].selected{box-shadow:inset 3px 0 0 var(--state-danger), inset 0 0 0 1px var(--accent-strong)}.ladder-rung[data-diagnostic-severity=WARNING].selected{box-shadow:inset 3px 0 0 var(--state-warning), inset 0 0 0 1px var(--accent-strong)}.ladder-instruction>.instruction-operand-slot{justify-content:center}.ladder-instruction>.instruction-operand-slot>.instruction-tag{text-align:center;width:auto;min-width:24px;min-height:24px}.ladder-instruction:has(>.instruction-runtime-panel)>.instruction-operand-slot{align-items:flex-end}.ladder-instruction:has(>.instruction-runtime-panel)>.instruction-operand-slot>.instruction-tag{min-height:0;padding-bottom:1px}.ladder-instruction:has(>.instruction-runtime-panel)>.instruction-operand-editor{align-self:end}.ladder-cell,.ladder-cell.output-bias{flex-shrink:0}.logic-call-connections .data-rung-field{grid-template-columns:minmax(0,1fr)}.logic-connection-label{font-weight:var(--text-weight-semibold);flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.logic-connection-label small{font-weight:var(--text-weight-regular);color:var(--text-secondary)}.logic-call-outcome,.logic-call-trace{border-top:1px solid var(--border-subtle);font:var(--text-size-label)/1.55 var(--font-mono);padding:5px 10px}.logic-call-diagnostic{overflow-wrap:anywhere;padding:0 10px}.logic-fixed-globals{font:var(--text-size-label)/1.55 var(--font-mono);overflow-wrap:anywhere;padding:5px 10px}.logic-call-settings .logic-use-form{display:grid}.web-api-body .logic-call-identity,.web-api-body .logic-call-outcome{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:1px 6px;overflow:hidden}.web-api-body .logic-call-identity:first-child{font-weight:var(--text-weight-semibold)}.web-api-body .logic-call-outcome{border-top:1px solid var(--border-subtle);font-weight:var(--text-weight-semibold)}.web-api-pin-picker,.web-api-settings,.web-api-inspector{gap:10px;min-width:0;display:grid}.web-api-pin-picker label,.web-api-settings label{gap:4px;min-width:0;display:grid}.web-api-pin-picker select,.web-api-settings select{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface-app);width:100%;min-width:0;min-height:32px;color:var(--text-primary);font:inherit;padding:4px}.web-api-settings p,.web-api-inspector p,.web-api-pin-picker p{overflow-wrap:anywhere;margin:4px 0}.web-api-settings ul{margin:4px 0;padding-left:18px}.web-api-settings button,.web-api-pin-picker button{border:1px solid var(--border-strong);background:var(--surface-raised);min-height:30px;color:var(--text-primary)}.web-api-settings :focus-visible,.web-api-pin-picker :focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.web-api-settings [role=alert],.web-api-pin-picker [role=alert]{color:var(--state-danger,var(--text-primary))}.logic-call-inspector{overflow-wrap:anywhere;min-width:0}.logic-parameter-detail{border-top:1px solid var(--border-subtle);padding:6px 0}.logic-parameter-detail h5{font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);margin:2px 0}.data-rung-block{z-index:4;border:2px solid var(--wire-color);background:var(--surface-app);width:234px;color:var(--text-primary);font:var(--text-size-label)/1.35 var(--font-mono);flex:0 0 234px;margin:45px 13px 12px;position:relative}.data-rung-block.settings-open{width:400px;font-size:var(--text-size-control);flex-basis:400px}.data-rung-block.selected{border-color:var(--accent-strong)}.data-rung-header{border-bottom:1px solid var(--border-subtle);height:20px;font:var(--text-weight-semibold) var(--text-size-label)/1 var(--font-mono);letter-spacing:.02em;justify-content:center;align-items:center;padding:0 20px;display:flex;position:relative}.data-rung-header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.data-rung-header button{border-radius:var(--radius);width:16px;min-width:0;height:16px;min-height:0;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:1px;right:2px}.data-rung-header button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.data-rung-header button .ide-icon{width:12px;height:12px}.block-tag-line{height:18px;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-label)/1 var(--font-mono);white-space:nowrap;justify-content:center;align-items:end;padding-bottom:3px;display:flex;position:absolute;top:-20px;left:0;right:0;overflow:hidden}.block-tag-line>*{text-overflow:ellipsis;min-width:0;overflow:hidden}.block-tag-line .empty{color:var(--accent-strong);font-weight:var(--text-weight-medium)}.block-setup-dot{background:var(--state-warning);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;left:6px}.block-setup-dot[data-severity=error]{background:var(--state-danger)}.block-rows{padding:2px 0;display:grid}.block-row{height:18px;font:var(--text-weight-medium) var(--text-size-label)/1 var(--font-mono);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 4px;display:grid}.compare-operands>.instruction-operand-slot+.instruction-operand-slot,.compare-operands>.instruction-operand-slot+.compute-expression,.block-rows>.block-row+.block-row,.block-rows>.logic-call-setting+.logic-call-setting>.block-row{box-shadow:inset 0 1px var(--border-subtle)}.block-rows.wide-labels .block-row{grid-template-columns:84px minmax(0,1fr) auto}.block-row>small{color:var(--text-secondary);font:inherit;font-weight:var(--text-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.block-row>.block-ref{border-radius:var(--radius);min-width:0;max-width:100%;height:16px;min-height:0;color:var(--text-primary);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;justify-self:start;padding:1px 2px;overflow:hidden}.block-row>button.block-ref{cursor:text}.block-row>button.block-ref:hover:not(:disabled){background:var(--surface-hover)}.block-row>.block-ref.empty{color:var(--accent-strong);box-shadow:inset 0 -1px color-mix(in srgb, var(--accent-strong) 58%, transparent)}.block-status{border-top:1px solid var(--border-subtle);font:var(--text-weight-medium) var(--text-size-label)/1.35 var(--font-mono);grid-template-columns:repeat(3,minmax(0,1fr));padding:1px 4px;display:grid}.block-status>span{color:var(--text-secondary);white-space:nowrap}.block-status>span>b{font-weight:var(--text-weight-medium);font-variant-numeric:tabular-nums;color:var(--text-primary);margin-left:3px}.block-status>span[data-field-state=UNRESOLVED]>b{color:var(--text-disabled,var(--text-secondary))}.data-rung-settings{border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);grid-template-columns:82px minmax(0,1fr);align-items:center;gap:9px;padding:12px;display:grid}.data-rung-settings select,.data-rung-field input{border:1px solid var(--border-strong);background:var(--surface-app);width:100%;min-width:0;height:31px;color:var(--text-primary);font:var(--text-size-control) var(--font-mono);padding:4px 7px}.data-rung-fields{gap:7px;padding:10px 12px;display:grid}.data-rung-field{grid-template-columns:82px minmax(0,1fr);align-items:start;gap:9px;display:grid}.data-rung-field label{padding-top:3px}.settings-open .data-rung-field label{padding-top:7px}.data-rung-field>div{min-width:0}.data-rung-field>button{-webkit-line-clamp:2;width:190px;max-width:100%;color:var(--text-primary);text-align:left;font:var(--text-size-control) var(--font-mono);overflow-wrap:anywhere;cursor:text;background:0 0;border:0;-webkit-box-orient:vertical;padding:2px 0;display:-webkit-box;overflow:hidden}.data-rung-block button:focus-visible,.data-rung-block select:focus-visible,.data-rung-block input:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.data-rung-block button:disabled{cursor:default}.data-rung-actions{justify-content:flex-end;gap:8px;padding:0 12px 12px;display:flex}.data-rung-actions button{border:1px solid var(--border-strong);background:var(--surface-selected);min-height:30px;color:var(--text-primary);padding:5px 13px}.data-draft-notice{color:var(--text-secondary);line-height:1.5;font-size:var(--text-size-label);margin:10px 12px}.data-field-error{color:var(--state-danger,var(--text-primary));font-size:var(--text-size-label);margin:6px 12px;line-height:1.4;display:block}.data-rung-field .data-field-error{margin:4px 0 0}.data-rung-field input[aria-invalid=true]{border-style:dashed}.data-rung-block,.data-rung-block *{box-sizing:border-box}.data-rung-block:before,.data-rung-block:after{content:"";background:var(--wire-color);width:13px;height:2px;position:absolute;top:9px}.data-rung-block:before{left:-15px}.data-rung-block:after{right:-15px}.data-rung-block.energized{border-color:var(--state-powered)}.data-rung-block.energized:before,.data-rung-block.energized:after{background:var(--state-powered)}.data-rung-block:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.data-rung-header .ladder-diagnostic-marker{letter-spacing:.04em;position:absolute;top:-40px;right:-2px}.data-rung-debug{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);gap:12px;padding:4px 12px;display:flex}.data-rung-block.editor-open{border-color:var(--accent-strong)}.program-control-rung-block.compact{flex-basis:112px;width:112px}.text-rung-block .block-ref.empty{box-shadow:none}.block-editor-overlay{z-index:60;box-sizing:border-box;border:2px solid var(--accent-strong);background:var(--surface-app);color:var(--text-primary);font:var(--text-size-control)/1.35 var(--font-mono);box-shadow:0 10px 28px #00000052}.block-editor-overlay *{box-sizing:border-box}@keyframes block-editor-grow{0%{clip-path:inset(0 0 calc(100% - var(--block-from-height)) calc(100% - var(--block-from-width)));opacity:.6}to{clip-path:inset(0);opacity:1}}@keyframes block-editor-shrink{0%{clip-path:inset(0);opacity:1}to{clip-path:inset(0 0 calc(100% - var(--block-from-height)) calc(100% - var(--block-from-width)));opacity:0}}@media (prefers-reduced-motion:no-preference){.block-editor-overlay[data-state=open]{animation:.15s ease-out backwards block-editor-grow}.block-editor-overlay[data-state=closing]{animation:.15s ease-in both block-editor-shrink}}.block-editor-overlay :is(button,select,input):focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.block-settings-editor{width:min(410px, calc(var(--block-viewport-width) - 24px));max-height:calc(var(--block-viewport-height) - 24px);padding:12px;overflow:auto}.block-settings-editor>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.block-settings-editor>header button{border:1px solid var(--border-strong);background:var(--surface-raised);min-height:30px;color:var(--text-primary)}.convert-editor{width:min(476px,100vw - 48px)}.data-editor-jobs{grid-column:1/-1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin-bottom:4px;display:grid}.data-editor-jobs>button{border:1px solid var(--border-strong);background:var(--surface-app);min-width:0;height:32px;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-control) var(--font-mono);cursor:pointer;border-radius:0;padding:0 2px}.data-editor-jobs>button+button{margin-left:-1px}.data-editor-jobs>button[aria-checked=true]{z-index:1;border-color:var(--accent-strong);background:var(--surface-selected);font-weight:var(--text-weight-semibold);position:relative}.data-editor-jobs>button:hover:not(:disabled){background:var(--surface-hover)}.data-editor-jobs>button:focus-visible{z-index:2;outline-offset:-2px}.data-editor-jobs>button:disabled{color:var(--text-disabled);cursor:default}.convert-editor-header{border-bottom:1px solid var(--border-subtle);height:32px;font:var(--text-weight-semibold) var(--text-size-body)/1 var(--font-mono);letter-spacing:.02em;justify-content:center;align-items:center;padding:0 20px;display:flex}.convert-editor-body{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px 12px;padding:16px;display:grid}.convert-editor-body>label,.convert-result-label{color:var(--text-secondary);font:var(--text-weight-medium) var(--text-size-control) var(--font-mono)}.convert-field{grid-template-columns:minmax(0,1fr) 136px;align-items:center;gap:12px;display:grid;position:relative}.convert-field>input,.convert-field>select{border:1px solid var(--border-strong);background:var(--surface-app);width:100%;min-width:0;height:32px;color:var(--text-primary);font:var(--text-size-control) var(--font-mono);border-radius:0;padding:0 8px}.convert-field>input::placeholder{color:var(--text-disabled)}.convert-field>input[aria-invalid=true]{border-color:var(--state-danger)}.convert-field>select{background:var(--surface-app) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239ca6b0' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;cursor:pointer;padding-right:28px}.convert-field>select:disabled{color:var(--text-disabled);border-color:var(--border-subtle);cursor:default}.convert-field>select option{background:var(--surface-raised);color:var(--text-primary)}.convert-now{min-width:0;color:var(--text-secondary);font:var(--text-size-control) var(--font-mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.convert-field-error{color:var(--state-danger);font:var(--text-size-label) var(--font-mono);grid-column:2;margin:-4px 0 0}.convert-list{z-index:20;border:1px solid var(--border-strong);background:var(--surface-raised);max-height:200px;margin:0;padding:2px 0;list-style:none;position:absolute;top:33px;left:0;right:148px;overflow-y:auto;box-shadow:0 6px 18px #00000047}.convert-list.above{top:auto;bottom:33px}.convert-list>li{font:var(--text-size-control) var(--font-mono);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:6px 8px;display:grid}.convert-list>li>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.convert-list>li>span:last-child{color:var(--text-secondary)}.convert-list>li[aria-selected=true],.convert-list>li:hover{background:var(--surface-selected)}.convert-list>li.convert-list-none{color:var(--text-secondary);cursor:default;background:0 0}.convert-separator{background:var(--border-subtle);grid-column:1/-1;height:1px;margin:4px -16px}.convert-result{min-width:0;min-height:32px;font:var(--text-weight-medium) var(--text-size-title) var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:6px;display:flex}.convert-result b{font-weight:var(--text-weight-semibold)}.convert-arrow{color:var(--text-secondary)}.convert-bad{color:var(--state-danger);font-size:var(--text-size-control)}.convert-muted{color:var(--text-secondary);font:var(--text-size-control) var(--font-mono)}.convert-editor .convert-error{grid-column:1/-1;margin:0}.convert-editor-actions{justify-content:flex-end;gap:8px;padding:0 16px 16px;display:flex}.convert-editor-actions>button{border:1px solid var(--border-strong);height:32px;color:var(--text-primary);font:var(--text-weight-medium) var(--text-size-control) var(--font-mono);cursor:pointer;background:0 0;border-radius:0;padding:0 16px}.convert-editor-actions>button.primary{border-color:var(--accent-strong);background:var(--surface-selected);font-weight:var(--text-weight-semibold)}.convert-editor-actions>button:hover:not(:disabled){background:var(--surface-hover)}.convert-editor-actions>button:disabled{cursor:default;opacity:.55}.logic-call-settings-trigger{z-index:6;pointer-events:auto;border:1px solid var(--border-strong);background:var(--surface-raised);min-height:28px;color:var(--text-primary);font:var(--text-size-label) var(--font-mono);cursor:pointer;position:absolute;top:7px;right:26px}.logic-call-popover{z-index:1000;box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface-panel);width:min(410px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--text-primary);font:var(--text-size-body)/1.5 var(--font-mono);padding:12px;overflow:auto}.logic-call-popover header{justify-content:space-between;align-items:center;gap:12px;display:flex}.logic-call-settings{gap:10px;min-width:0;display:grid}.logic-call-settings label{gap:4px;min-width:0;display:grid}.logic-call-settings select,.logic-call-settings input{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface-app);width:100%;min-width:0;min-height:32px;color:var(--text-primary);font:inherit;padding:4px}.logic-call-settings p{overflow-wrap:anywhere;margin:4px 0}.logic-call-settings form{gap:6px;margin-top:5px;display:flex}.logic-call-settings button,.logic-call-popover header button{border:1px solid var(--border-strong);background:var(--surface-raised);min-height:30px;color:var(--text-primary)}.logic-call-settings :focus-visible,.logic-call-settings-trigger:focus-visible,.logic-call-popover button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.logic-call-settings [role=alert]{color:var(--state-danger,var(--text-primary))}.web-api-settings,.web-api-pin-picker{gap:10px;min-width:0;display:grid}.web-api-settings label{gap:4px;min-width:0;display:grid}.web-api-settings select{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface-app);width:100%;min-width:0;min-height:32px;color:var(--text-primary);font:inherit;padding:4px 7px}.web-api-settings p{overflow-wrap:anywhere;margin:4px 0}.web-api-settings :focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.web-api-settings [role=alert]{color:var(--state-danger)}.ladder-value-backdrop{z-index:1400;background:color-mix(in srgb, var(--surface-app) 70%, transparent);place-items:center;display:grid;position:fixed;inset:0}.ladder-value-dialog{width:min(440px,100vw - 24px);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-menu);gap:16px;padding:16px;display:grid}.ladder-value-dialog>strong{font-size:var(--text-size-dialog)}.ladder-value-dialog label{gap:8px;display:grid}.ladder-value-dialog textarea{resize:vertical;width:100%;min-height:80px}.ladder-value-dialog>div{justify-content:flex-end;gap:8px;display:flex}.logic-call-connections.compact{padding:0 0 2px}.logic-call-connections.compact .block-row>select.block-ref{appearance:none;cursor:pointer;height:16px;padding:0 2px}.logic-call-connections.compact .block-row>select.block-ref:hover:not(:disabled){background:var(--surface-hover)}.logic-call-connections.compact form{gap:4px;padding:1px 4px 2px 94px;display:flex}.logic-call-connections.compact form input{border:1px solid var(--accent-strong);background:var(--surface-raised);min-width:0;height:16px;color:var(--text-primary);font:inherit;flex:1;padding:0 2px}.logic-call-connections.compact form button{border:1px solid var(--border-strong);background:var(--surface-raised);height:16px;color:var(--text-primary);font:inherit;padding:0 4px}.logic-call-connections.compact>p{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0 4px;overflow:hidden}.ladder-instruction.web_api_request .instruction-value-grid .instruction-runtime-field{grid-template-columns:max-content minmax(0,1fr);gap:10px}.ladder-instruction.web_api_request .instruction-status-grid.four-status{grid-template-columns:repeat(4,minmax(0,1fr))}.ladder-instruction.web_api_request .instruction-runtime-field.editable-preset input{text-align:right}.ladder-instruction.web_api_request [data-web-api-missing] small,.ladder-instruction.web_api_request [data-web-api-missing] strong,.ladder-instruction.web_api_request strong[data-web-api-missing]{color:var(--state-danger)}.web-api-request-inspector{gap:8px;display:grid}.web-api-request-parameter{grid-template-columns:minmax(0,1fr) 24px;align-items:end;gap:6px;display:grid}.web-api-request-parameter input{box-sizing:border-box;width:100%;font-family:var(--font-mono)}.web-api-request-inspector input[aria-invalid=true]{border-color:var(--state-danger)}.web-api-request-remove{border:1px solid var(--border-subtle);min-width:24px;min-height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;padding:0}.web-api-request-remove:hover:not(:disabled){color:var(--state-danger);border-color:var(--state-danger)}.web-api-request-members>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.web-api-request-members dt code{font-family:var(--font-mono);font-size:var(--text-size-label);overflow-wrap:anywhere;color:var(--text-secondary)}.web-api-request-members dd{font-family:var(--font-mono);font-size:var(--text-size-label);align-items:baseline;gap:6px;display:inline-flex}.web-api-request-members dd small{color:var(--text-disabled)}.web-api-route-dialog{width:min(600px,100vw - 24px);max-height:calc(100vh - 48px);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-menu);gap:12px;padding:16px;display:grid;overflow:auto}.web-api-route-dialog>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.web-api-route-dialog>header strong{font-size:var(--text-size-dialog)}.web-api-route-dialog p{margin:0}.web-api-route-dialog-hint{color:var(--text-secondary)}.web-api-route-dialog-error{color:var(--state-danger)}.web-api-route-dialog-table{overflow:auto}.web-api-route-dialog-table table{border-collapse:collapse;width:100%}.web-api-route-dialog-table th,.web-api-route-dialog-table td{border-bottom:1px solid var(--border-subtle);text-align:left;padding:6px 8px}.web-api-route-dialog-table code{font-family:var(--font-mono);font-size:var(--text-size-label);overflow-wrap:anywhere}.web-api-route-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.web-api-route-dialog :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.instruction-tag,.instruction-operand-slot>small,.instruction-runtime-field small,.instruction-runtime-field strong,.operand-live-value,.rung-number,.instruction-live-state,.instruction-state{font-weight:var(--text-weight-medium);letter-spacing:0}.instruction-runtime-field strong{font-variant-numeric:tabular-nums}.ladder-add-rung{min-width:30px;min-height:28px;color:var(--text-secondary);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius);font:var(--text-weight-semibold) var(--text-size-title) var(--font-ui);align-self:flex-start;margin:8px 12px}.ladder-add-rung:hover{color:var(--text-primary);background:var(--surface-hover)}.ladder-empty-drop{border-bottom:1px dashed var(--border-subtle);min-height:100px}.fbd-workspace{background:var(--surface-app);grid-template-rows:auto auto minmax(0,1fr);min-width:720px;min-height:100%;display:grid}.fbd-workspace>.editor-command-row{border-bottom:1px solid var(--border-subtle);background:var(--surface-panel-alt)}.fbd-summary{border-bottom:1px solid var(--border-subtle);background:var(--surface-panel);min-height:28px;color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;gap:12px;padding:0 10px;display:flex}.fbd-view-controls{align-items:center;gap:4px;padding:4px 8px;display:flex}.fbd-view-button{min-height:var(--fbd-min-target);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-secondary);font:var(--text-size-control) var(--font-sans,inherit);cursor:pointer;padding:0 10px}.fbd-view-button:hover{color:var(--text-primary);border-color:var(--accent-strong)}.fbd-view-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent-strong);color:var(--text-primary);font-weight:var(--text-weight-semibold)}.fbd-view-button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.fbd-view-scale{min-width:34px;color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.fbd-viewport{scrollbar-gutter:stable;min-width:0;min-height:0;overflow:auto}.fbd-stage{min-width:100%;min-height:100%;position:relative}.fbd-canvas{transform-origin:0 0;background-image:linear-gradient(to right, color-mix(in srgb, var(--border-subtle) 45%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--border-subtle) 45%, transparent) 1px, transparent 1px);background-size:16px 16px;min-width:100%;min-height:100%;position:relative}.fbd-wires{pointer-events:none;position:absolute;inset:0}.fbd-wire{fill:none;stroke:var(--wire-color);stroke-width:1.5px;stroke-linejoin:miter;stroke-linecap:square;shape-rendering:crispedges}.fbd-junction{fill:var(--wire-color)}.fbd-wire[data-selected=true]~.fbd-junction{fill:var(--accent-strong)}.fbd-wire[data-selected=true]{stroke:var(--accent-strong);stroke-width:2.5px}.fbd-wire-handles{pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.fbd-wire-handle{width:var(--fbd-min-target);height:var(--fbd-min-target);cursor:pointer;pointer-events:auto;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.fbd-wire-handle>span{background:var(--accent-strong);opacity:0;width:8px;height:8px}.fbd-wire-handle:hover>span,.fbd-wire-handle:focus-visible>span{opacity:1}.fbd-wire-handle[aria-pressed=true]>span{opacity:1;box-shadow:0 0 0 2px var(--surface-app), 0 0 0 3px var(--accent-strong)}.fbd-wire-handle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.fbd-workspace,.fbd-workspace *,.fbd-workspace :before,.fbd-workspace :after{box-sizing:border-box}.fbd-block{grid-template-rows:var(--fbd-header-height) minmax(0, 1fr);border:var(--fbd-block-border) solid var(--border-strong);background:var(--surface-panel);display:grid;position:absolute}.fbd-block[data-selected=true]{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong)}.fbd-block[data-block-kind=VAR_READ],.fbd-block[data-block-kind=VAR_WRITE]{background:var(--surface-panel-alt)}.fbd-block[data-block-status=skipped]{border-style:dashed}.fbd-block[data-block-status=faulted]{border-color:var(--state-danger)}.fbd-block-head{width:100%;height:var(--fbd-header-height);border:0;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 6px;display:flex}.fbd-block-head:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.fbd-block-head:disabled{color:var(--text-primary);cursor:default}.fbd-block-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fbd-block-order{background:var(--surface-raised);min-width:17px;color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-align:center;flex:none;padding:0 3px}.fbd-block-badge{border:1px solid var(--border-strong);color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.04em;flex:none;padding:0 3px}.fbd-block[data-block-kind=VAR_READ] .fbd-block-badge{border-color:var(--state-powered);color:var(--state-powered)}.fbd-block[data-block-kind=VAR_READ]:before,.fbd-block[data-block-kind=VAR_WRITE]:before{content:"";background:var(--border-strong);width:3px;position:absolute;top:0;bottom:0}.fbd-block[data-block-kind=VAR_READ]:before{background:var(--state-powered);left:0}.fbd-block[data-block-kind=VAR_WRITE]:before{right:0}.fbd-block-status{z-index:1;background:var(--surface-raised);border:1px solid var(--border-strong);color:var(--state-warning);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.03em;text-transform:uppercase;padding:0 4px;position:absolute;top:-9px;right:-1px}.fbd-block[data-block-status=faulted] .fbd-block-status{color:var(--state-danger)}.fbd-block-ports{padding:var(--fbd-ports-padding-top) 0;grid-template-columns:1fr 1fr;gap:0 6px;display:grid}.fbd-port-column{margin:0;padding:0;list-style:none}.fbd-port-column[data-direction=OUT]{justify-items:end}.fbd-port-row{height:var(--fbd-port-row-height);padding:0 var(--fbd-port-row-padding-x);align-items:center;gap:4px;display:flex}.fbd-port-column[data-direction=OUT] .fbd-port-row{flex-direction:row-reverse}.fbd-port{width:var(--fbd-port-target);height:var(--fbd-port-target);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.fbd-port:disabled{cursor:default}.fbd-port:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.fbd-port-pin{width:var(--fbd-port-pin-length);background:var(--wire-color);height:2px}.fbd-port[data-port-state=free] .fbd-port-pin{width:var(--fbd-port-pin-length-free);background:var(--border-strong)}.fbd-port:not(:disabled):hover .fbd-port-pin{background:var(--accent-strong)}.fbd-port[data-port-state=pending] .fbd-port-pin{width:var(--fbd-port-pin-length);background:var(--accent-strong);height:3px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-strong) 35%, transparent)}.fbd-port-column[data-direction=IN] .fbd-port{justify-items:start}.fbd-port-column[data-direction=OUT] .fbd-port{justify-items:end}.fbd-port-name{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);letter-spacing:.01em}.fbd-port-value{color:var(--state-powered);font:var(--text-weight-semibold) var(--text-size-body) var(--font-mono);font-variant-numeric:tabular-nums}.fbd-empty{color:var(--text-secondary);font-size:var(--text-size-label);gap:4px;margin:0;display:grid;position:absolute;top:40px;left:40px}.fbd-empty strong{color:var(--text-primary);font-size:var(--text-size-control)}@media (width<=900px){.fbd-workspace{min-width:0}.fbd-summary{flex-wrap:wrap;row-gap:2px}}@media (prefers-reduced-motion:reduce){.fbd-wire,.fbd-block,.fbd-port-pin{transition:none}}.fbd-workspace[data-editable=true] .fbd-block-head{cursor:grab;touch-action:none}.fbd-block[data-dragging=true]{z-index:2;box-shadow:0 2px 8px color-mix(in srgb, var(--text-primary) 25%, transparent)}.fbd-block[data-dragging=true] .fbd-block-head{cursor:grabbing}.fbd-port-name[data-optional=true]{text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.fbd-port[data-port-conflict=true] .fbd-port-pin{background:var(--border-subtle)}.fbd-ribbon-glyph{width:72px;height:25px;color:var(--text-primary)}.fbd-ribbon-glyph rect{fill:var(--surface-panel);stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.fbd-ribbon-glyph line{stroke:var(--wire-color);stroke-width:2px;vector-effect:non-scaling-stroke}.fbd-ribbon-glyph text{fill:currentColor;font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.03em}.fbd-ribbon-glyph[data-fbd-glyph=READ] rect,.fbd-ribbon-glyph[data-fbd-glyph=CONSTANT] rect{stroke:var(--state-powered)}.fbd-ribbon-tile[aria-disabled=true] .fbd-ribbon-glyph{color:var(--text-disabled)}.fbd-ribbon-unavailable-tab{color:var(--text-secondary);margin-left:auto;font-style:italic}.fbd-ribbon-unavailable .ribbon-description{clip-path:none;white-space:normal;width:auto;max-width:102px;height:auto;color:var(--text-disabled);font:var(--text-size-label)/1.2 var(--font-ui,inherit);position:static;overflow:hidden}.fbd-ribbon .ribbon-instruction.coming-soon{grid-template-rows:26px 12px auto;height:auto;min-height:56px}.fbd-canvas[data-drop-target=true]{outline:2px dashed var(--accent-strong);outline-offset:-2px}.resource-tab-label{align-items:center;gap:5px;display:inline-flex}.resource-tab-icon{color:var(--text-secondary);place-items:center;display:grid}.resource-tab-icon .ide-icon{width:12px;height:12px}.resource-tab.active .resource-tab-icon{color:var(--accent-strong)}.sfc-workspace{background:var(--surface-app);min-width:0;color:var(--text-primary);flex-direction:column;gap:8px;padding:10px;display:flex;overflow-x:auto}.sfc-summary{color:var(--text-disabled);font-size:var(--text-size-label);letter-spacing:.03em;flex-wrap:wrap;gap:12px;display:flex}.sfc-diagnostics,.sfc-node-diagnostics{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.sfc-diagnostics{overscroll-behavior:contain;flex-shrink:0;max-height:54px;overflow-y:auto}.sfc-diagnostics li,.sfc-node-diagnostics li{border-left:3px solid var(--border);color:var(--text-secondary);font-size:var(--text-size-label);padding-left:7px}.sfc-diagnostics li[data-severity=INCONSISTENT],.sfc-node-diagnostics li[data-severity=INCONSISTENT]{border-left-color:var(--state-danger);color:var(--state-danger)}.sfc-diagnostics li[data-severity=INCOMPLETE],.sfc-node-diagnostics li[data-severity=INCOMPLETE]{border-left-color:var(--state-warning)}.sfc-diagnostics button{width:100%;color:inherit;font:inherit;text-align:left;white-space:normal;cursor:pointer;background:0 0;border:0;display:block}.sfc-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sfc-step-group{flex-direction:column;gap:3px;display:flex}.sfc-step,.sfc-action,.sfc-transition{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-panel);flex-wrap:wrap;align-items:center;gap:8px;padding:4px 7px;display:flex}.sfc-step[data-step-kind=INITIAL]{border-width:3px;border-color:var(--border-strong)}.sfc-step[data-activity=active]{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, var(--surface-panel))}.sfc-action,.sfc-transition{background:color-mix(in srgb, var(--surface-panel) 80%, var(--surface-app));margin-left:18px}.sfc-action[data-executed=true],.sfc-transition[data-condition=cleared]{border-color:var(--state-powered)}.sfc-transition[data-condition=faulted]{border-color:var(--state-danger)}.sfc-step[data-activity=stale],.sfc-transition[data-condition=stale]{border-color:var(--state-warning)}.sfc-step[data-selected],.sfc-action[data-selected],.sfc-transition[data-selected]{box-shadow:inset 0 0 0 1px var(--accent-strong)}.sfc-step-select,.sfc-action-select,.sfc-transition-select{min-width:0;min-height:32px;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:12rem;align-items:center;gap:8px;padding:2px 0;display:flex}.sfc-step-actions button,.sfc-action-controls button,.sfc-transition-controls button,.sfc-rename button,.sfc-diagnostics button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-height:24px;color:var(--text-primary);font-size:var(--text-size-label);cursor:pointer;padding:0 8px}.sfc-diagnostics button{background:0 0;border:0;padding:0}.sfc-step-actions button:hover:enabled,.sfc-action-controls button:hover:enabled,.sfc-transition-controls button:hover:enabled{background:var(--surface-hover)}.sfc-step-actions button:disabled,.sfc-action-controls button:disabled,.sfc-transition-controls button:disabled{color:var(--text-disabled);cursor:not-allowed}.sfc-transition-controls input,.sfc-rename input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-height:24px;color:var(--text-primary);font:inherit}.sfc-step-select:focus-visible,.sfc-action-select:focus-visible,.sfc-transition-select:focus-visible,.sfc-step-actions button:focus-visible,.sfc-action-controls button:focus-visible,.sfc-transition-controls button:focus-visible,.sfc-transition-controls input:focus-visible,.sfc-rename button:focus-visible,.sfc-rename input:focus-visible,.sfc-diagnostics button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfc-badge,.sfc-qualifier{border:1px solid var(--border);border-radius:var(--radius);min-width:18px;color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-transform:uppercase;letter-spacing:.04em;place-items:center;padding:0 4px;display:inline-grid}.sfc-step-activity,.sfc-action-outcome,.sfc-transition-result,.sfc-step-elapsed,.sfc-step-note,.sfc-join-note{color:var(--text-disabled);font:var(--text-size-label) var(--font-mono);letter-spacing:.03em}.sfc-step[data-activity=active] .sfc-step-activity,.sfc-transition[data-condition=cleared] .sfc-transition-result,.sfc-action[data-executed=true] .sfc-action-outcome{color:var(--state-powered)}.sfc-transition[data-condition=faulted] .sfc-transition-result{color:var(--state-danger)}.sfc-step[data-activity=stale] .sfc-step-activity,.sfc-transition[data-condition=stale] .sfc-transition-result,.sfc-action-outcome[data-stale=true],.sfc-step-note{color:var(--state-warning)}.sfc-join-note{margin:0 0 0 18px}.sfc-transition-bar,.sfc-step-marker{color:var(--wire-color);font:var(--text-size-label) var(--font-mono)}.sfc-step-actions,.sfc-action-controls,.sfc-transition-controls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.sfc-transition-controls label,.sfc-rename label{color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;gap:4px;display:inline-flex}.sfc-transition-controls input{width:56px}.sfc-rename{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.sfc-empty{color:var(--text-secondary);flex-direction:column;gap:4px;padding:16px;display:flex}.sfc-empty strong{color:var(--text-primary)}@media (width<=48rem){.sfc-step,.sfc-action,.sfc-transition{flex-direction:column;align-items:stretch}.sfc-step-select,.sfc-action-select,.sfc-transition-select{flex:none}.sfc-action,.sfc-transition,.sfc-join-note{margin-left:8px}}@media (prefers-reduced-motion:reduce){.sfc-step,.sfc-action,.sfc-transition,.sfc-step-actions button,.sfc-action-controls button,.sfc-transition-controls button{transition:none}}.sfc-workspace{--sfc-canvas-bg:color-mix(in srgb, var(--brand-deep) 40%, var(--surface-app));--sfc-node-fill:color-mix(in srgb, var(--surface-panel) 70%, var(--brand-deep));--sfc-selection:var(--accent-strong);height:100%;min-height:0}:root[data-theme=light] .sfc-workspace{--sfc-canvas-bg:color-mix(in srgb, var(--brand-deep) 5%, var(--surface-app));--sfc-node-fill:var(--surface-raised)}.sfc-toolbar{gap:4px;margin-left:auto;display:flex}.sfc-command-row{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-panel);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:2px 6px;display:flex}.sfc-command-row>.sfc-ribbon{background:0 0;border:0;padding:0}.sfc-workspace>.sfc-summary{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-panel);margin:0;padding:2px 6px}.sfc-ribbon{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-panel);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 6px;display:flex}.sfc-ribbon-group{align-items:center;gap:4px;display:flex}.sfc-ribbon-group+.sfc-ribbon-group{border-left:1px solid var(--border-subtle);padding-left:10px}.sfc-ribbon-label{color:var(--text-disabled);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.sfc-ribbon button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-height:24px;color:var(--text-primary);font-size:var(--text-size-label);cursor:pointer;padding:0 8px}.sfc-ribbon button:hover:enabled{background:var(--surface-hover)}.sfc-ribbon button:disabled{color:var(--text-disabled);cursor:not-allowed}.sfc-ribbon button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfc-tag-name{color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.sfc-tag-access{color:var(--text-disabled);font:var(--text-size-label) var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.sfc-toolbar button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-height:24px;color:var(--text-primary);font-size:var(--text-size-label);cursor:pointer;padding:0 10px}.sfc-toolbar button[aria-pressed=true]{background:var(--surface-selected);border-color:var(--accent-strong)}.sfc-toolbar button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfc-canvas-layout{flex:auto;grid-template-columns:minmax(0,1fr) 300px;gap:8px;min-width:0;min-height:0;display:grid}.sfc-canvas-scroll{scrollbar-gutter:stable;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--sfc-canvas-bg);min-width:0;min-height:320px;display:grid;overflow:auto}.sfc-stage{box-sizing:border-box;background-image:linear-gradient(to right, color-mix(in srgb, var(--border-subtle) 45%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--border-subtle) 45%, transparent) 1px, transparent 1px);background-size:16px 16px;min-width:100%;min-height:100%;position:relative}.sfc-canvas{margin:0 auto;display:block}.sfc-stage[data-placed=true]>.sfc-canvas{margin:0}.sfc-edge{fill:none;stroke:var(--rail-color);stroke-width:2px;stroke-linejoin:miter}.sfc-bar line{stroke:var(--rail-color);stroke-width:3px}.sfc-bar{outline:none}.sfc-bar .sfc-bar-hit{stroke:#0000;stroke-width:16px}.sfc-canvas-scroll[data-editable=true] .sfc-bar{cursor:grab}.sfc-canvas-scroll:not([data-scrolling]) .sfc-bar:hover line:not(.sfc-bar-hit),.sfc-bar:focus-visible line:not(.sfc-bar-hit){stroke:var(--accent-strong)}.sfc-bar[data-dragging]{cursor:grabbing;opacity:.85}.sfc-bar-label{fill:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.06em;opacity:0}.sfc-canvas-scroll:not([data-scrolling]) .sfc-bar:hover .sfc-bar-label,.sfc-bar:is(:focus-visible,[data-dragging],[data-owner-selected]) .sfc-bar-label{opacity:1}.sfc-node{cursor:pointer;outline:none}.sfc-node-box{fill:var(--sfc-node-fill);stroke:var(--text-secondary);stroke-width:1.5px}.sfc-node-inner{fill:none;stroke:var(--text-secondary);stroke-width:1.25px}.sfc-terminal-mark{stroke:var(--text-secondary);stroke-width:4px}.sfc-node-id{fill:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-title) var(--font-mono);letter-spacing:.04em;pointer-events:none}.sfc-node-name{fill:var(--text-secondary);font:var(--text-size-control) var(--font-ui);pointer-events:none}.sfc-node-id[data-compact=true]{font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.sfc-node-stub{stroke:var(--rail-color);stroke-width:2px;pointer-events:none}.sfc-node-detail{fill:var(--text-disabled);font:var(--text-size-label) var(--font-mono);pointer-events:none}.sfc-node-step[data-status=waiting] .sfc-node-box{stroke:var(--state-warning);stroke-width:2.5px;fill:color-mix(in srgb, var(--state-warning) 18%, var(--sfc-node-fill))}.sfc-node-step[data-status=completed] .sfc-node-box{stroke:var(--state-powered);stroke-width:2.5px;fill:color-mix(in srgb, var(--state-powered) 16%, var(--sfc-node-fill))}.sfc-node-step[data-status=fault] .sfc-node-box,.sfc-node-step[data-status=timeout] .sfc-node-box{stroke:var(--state-danger);stroke-width:2.5px;fill:color-mix(in srgb, var(--state-danger) 20%, var(--sfc-node-fill))}.sfc-node-step[data-status=stale] .sfc-node-box{stroke-dasharray:5 4}.sfc-node[data-placement=unconnected] .sfc-node-box{stroke-dasharray:6 4}.sfc-transition-end{stroke:var(--text-primary);stroke-width:2.5px}.sfc-node-transition[data-condition=cleared] .sfc-transition-end{stroke:var(--state-powered)}.sfc-node-transition[data-condition=faulted] .sfc-node-box{stroke:var(--state-danger);stroke-width:2px}.sfc-node-transition[data-condition=faulted] .sfc-transition-end{stroke:var(--state-danger)}.sfc-node-transition[data-condition=faulted] .sfc-node-detail{fill:var(--state-danger)}.sfc-node-transition[data-condition=stale] .sfc-node-box{stroke-dasharray:5 4}.sfc-chip-link{stroke:var(--rail-color);stroke-width:1.5px}.sfc-chip-box{fill:color-mix(in srgb, var(--surface-raised) 80%, var(--brand-deep));stroke:var(--border-strong);stroke-width:1px}:root[data-theme=light] .sfc-chip-box{fill:var(--surface-raised)}.sfc-chip-text{fill:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.04em;pointer-events:none}.sfc-node[data-selected]:not([data-status=waiting]):not([data-status=completed]):not([data-status=fault]):not([data-status=timeout]):not([data-condition=faulted])>.sfc-node-box{stroke:var(--sfc-selection);stroke-width:2.5px}.sfc-selection-ring{fill:none;stroke:var(--sfc-selection);stroke-width:8px;stroke-opacity:.4;opacity:0;pointer-events:none}.sfc-target-ring{fill:none;opacity:0;pointer-events:none}.sfc-focus-ring{fill:none;stroke:var(--focus);stroke-width:1.5px;stroke-dasharray:3 2;opacity:0;pointer-events:none}.sfc-node[data-selected][data-status=waiting]>.sfc-selection-ring,.sfc-node[data-selected][data-status=completed]>.sfc-selection-ring,.sfc-node[data-selected][data-status=fault]>.sfc-selection-ring,.sfc-node[data-selected][data-status=timeout]>.sfc-selection-ring,.sfc-node[data-selected][data-condition=faulted]>.sfc-selection-ring{opacity:1}.sfc-node[data-wire-target] .sfc-selection-ring{opacity:0}.sfc-node[data-wire-target=legal] .sfc-target-ring{opacity:1;stroke:var(--sfc-selection);stroke-width:3px}.sfc-node[data-wire-target=illegal] .sfc-target-ring{opacity:1;stroke:var(--text-secondary);stroke-width:2px;stroke-dasharray:4 3}.sfc-node:focus-visible .sfc-focus-ring,.sfc-bar:focus-visible .sfc-focus-ring{opacity:1}.sfc-diagnostic-mark circle{fill:var(--state-warning)}.sfc-diagnostic-mark[data-severity=INCONSISTENT] circle{fill:var(--state-danger)}.sfc-diagnostic-mark text{fill:var(--surface-app);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);pointer-events:none}.sfc-unconnected line{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:6 4}.sfc-unconnected text{fill:var(--text-disabled);font:var(--text-size-label) var(--font-mono)}.sfc-inspector{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-panel);min-width:0;min-height:0;font-size:var(--text-size-body);flex-direction:column;gap:10px;padding:12px;display:flex;overflow:auto}.sfc-inspector-header{flex-direction:column;gap:2px;display:flex}.sfc-inspector h3{font-size:var(--text-size-title);font-weight:var(--text-weight-semibold);margin:0}.sfc-inspector-label{color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.sfc-inspector-section{flex-direction:column;gap:4px;display:flex}.sfc-inspector-state{font:var(--text-size-label) var(--font-mono)}.sfc-inspector-state[data-state=active],.sfc-inspector-state[data-state=stale],.sfc-inspector-state[data-state=false]{color:var(--state-warning)}.sfc-inspector-state[data-state=cleared],.sfc-inspector-state[data-state=true],.sfc-inspector-state[data-state=ran],.sfc-inspector-state[data-state=completed]{color:var(--state-powered)}.sfc-inspector-state[data-state=faulted],.sfc-inspector-state[data-state=fault],.sfc-inspector-state[data-state=timeout]{color:var(--state-danger)}.sfc-inspector-state[data-state=unavailable],.sfc-inspector-state[data-state=idle],.sfc-inspector-state[data-state=skipped]{color:var(--text-disabled)}.sfc-inspector-identity{color:var(--text-disabled);font:var(--text-size-label) var(--font-mono)}.sfc-inspector-hint,.sfc-inspector-comment{color:var(--text-secondary);font-size:var(--text-size-body);margin:0}.sfc-inspector-links,.sfc-why{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sfc-why{flex-direction:column;gap:2px}.sfc-why li{border-left:3px solid var(--border);font:var(--text-size-label) var(--font-mono);color:var(--text-secondary);padding-left:8px}.sfc-why li[data-met=true]{border-left-color:var(--state-powered)}.sfc-why li[data-met=false]{border-left-color:var(--state-warning);color:var(--text-primary)}.sfc-inspector-controls,.sfc-inspector-inline{flex-wrap:wrap;align-items:flex-end;gap:4px;display:flex}.sfc-inspector-form{flex-direction:column;gap:4px;display:flex}.sfc-inspector label{color:var(--text-secondary);font-size:var(--text-size-label);flex-direction:column;gap:2px;display:inline-flex}.sfc-inspector button,.sfc-inspector-links button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-height:24px;color:var(--text-primary);font-size:var(--text-size-control);cursor:pointer;padding:0 8px}.sfc-inspector button:hover:enabled{background:var(--surface-hover)}.sfc-inspector button:disabled{color:var(--text-disabled);cursor:not-allowed}.sfc-inspector input,.sfc-inspector select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-width:72px;min-height:24px;color:var(--text-primary);font:inherit;font-size:var(--text-size-body)}.sfc-inspector button:focus-visible,.sfc-inspector input:focus-visible,.sfc-inspector select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfc-inspector .sfc-inspector-check{min-height:24px;color:var(--text-primary);font-size:var(--text-size-label);cursor:pointer;flex-direction:row;align-items:center;gap:6px}.sfc-inspector .sfc-inspector-check input{width:14px;min-width:0;height:14px;min-height:0;accent-color:var(--accent-strong);margin:0}.sfc-inspector .sfc-inspector-check:has(input:disabled){color:var(--text-disabled);cursor:not-allowed}.sfc-endpoint-editor{flex-direction:column;gap:4px;display:flex}@media (width<=48rem){.sfc-canvas-layout{grid-template-columns:minmax(0,1fr)}}.sfc-handle{fill:#0000;stroke:none;pointer-events:none}.sfc-handle[data-handle=out]{cursor:crosshair}.sfc-handle[data-handle=edge]{cursor:grab}.sfc-handle-mark{fill:var(--accent-strong);opacity:0;pointer-events:none}.sfc-canvas-scroll[data-editable=true]:not([data-scrolling]):not([data-drop-target=true]) svg:not([data-wiring]) .sfc-node:hover:not([data-dragging])>.sfc-handle-group[data-kind=out]>.sfc-handle,.sfc-canvas-scroll[data-editable=true]:not([data-drop-target=true]) svg:not([data-wiring]) .sfc-node[data-selected]:not([data-dragging])>.sfc-handle-group[data-kind=out]>.sfc-handle,.sfc-canvas-scroll[data-editable=true]:not([data-drop-target=true]) svg:not([data-wiring]) .sfc-handle-group[data-revealed]>.sfc-handle,.sfc-handle-group[data-active]>.sfc-handle{pointer-events:all}.sfc-canvas-scroll[data-editable=true]:not([data-scrolling]):not([data-drop-target=true]) svg:not([data-wiring]) .sfc-node:hover:not([data-dragging])>.sfc-handle-group[data-kind=out]>.sfc-handle-mark,.sfc-canvas-scroll[data-editable=true]:not([data-drop-target=true]) svg:not([data-wiring]) .sfc-node[data-selected]:not([data-dragging])>.sfc-handle-group[data-kind=out]>.sfc-handle-mark,.sfc-canvas-scroll[data-editable=true]:not([data-drop-target=true]) svg:not([data-wiring]) .sfc-handle-group[data-revealed]>.sfc-handle-mark,.sfc-handle-group[data-active]>.sfc-handle-mark{opacity:1}.sfc-canvas-scroll[data-editable=false] .sfc-handle-group{display:none}.sfc-node[data-dragging]{cursor:grabbing;opacity:.85}.sfc-canvas-scroll[data-editable=true] .sfc-node-step,.sfc-canvas-scroll[data-editable=true] .sfc-node-transition{cursor:grab}.sfc-wire-preview{fill:none;stroke:var(--accent-strong);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.sfc-wire[data-legal=false] .sfc-wire-preview{stroke:var(--text-secondary)}.sfc-wire-hint{z-index:2;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);width:max-content;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label)/1.35 var(--font-ui);white-space:normal;pointer-events:none;padding:3px 7px;position:absolute}.sfc-canvas-scroll[data-drop-target=true]{outline:2px dashed var(--accent);outline-offset:-2px}.sfc-palette{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;display:flex}.sfc-palette-divider{background:var(--border-subtle);width:1px;height:28px;margin:0 5px}.sfc-ribbon .sfc-palette-tile{border-radius:var(--radius);min-width:44px;height:44px;color:var(--text-primary);cursor:grab;background:0 0;border:1px solid #0000;grid-template-rows:24px 12px;place-items:center;gap:1px;padding:2px 5px;display:grid;position:relative}.sfc-ribbon .sfc-palette-tile:hover:not([aria-disabled=true]){border-color:var(--border-strong);background:var(--surface-hover)}.sfc-ribbon .sfc-palette-tile[aria-disabled=true]{color:var(--text-disabled);cursor:not-allowed}.sfc-ribbon .sfc-palette-tile[aria-disabled=true]:hover{background:0 0;border-color:#0000}.sfc-ribbon .sfc-palette-tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfc-tile-caption{font:var(--text-weight-semibold) var(--text-size-label)/1.35 var(--font-ui);white-space:nowrap}.sfc-tile-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sfc-tile-glyph .box{fill:var(--sfc-node-fill);stroke:currentColor;stroke-width:1.5px}.sfc-tile-glyph .end{stroke:currentColor;stroke-width:1.5px}.sfc-tile-glyph .rail{fill:none;stroke:var(--rail-color);stroke-width:1.5px}.sfc-tile-glyph .bar{stroke:var(--rail-color);stroke-width:2px}.sfc-palette-tile[aria-disabled=true] .sfc-tile-glyph :is(.rail,.bar){stroke:var(--text-disabled)}.sfc-context-menu{min-width:190px;max-width:280px}.sfc-inspector-advanced{border-top:1px solid var(--border-subtle);padding-top:6px}.sfc-inspector-advanced>summary{cursor:pointer;color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.sfc-inspector-advanced>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfc-draft{outline:none}.sfc-canvas-scroll[data-editable=true] .sfc-draft{cursor:grab}.sfc-draft .sfc-draft-box{fill:color-mix(in srgb, var(--sfc-node-fill) 60%, transparent);stroke:var(--text-secondary);stroke-width:1.5px;stroke-dasharray:6 4}.sfc-draft .sfc-draft-end-bar{stroke:var(--text-secondary);stroke-width:2.5px;stroke-dasharray:4 3}.sfc-draft .sfc-draft-bar{stroke:var(--rail-color);stroke-width:3px;stroke-dasharray:6 4}.sfc-draft-link{fill:none;stroke:var(--rail-color);stroke-width:1.5px;stroke-dasharray:6 4;opacity:.8}.sfc-draft .sfc-draft-hit{stroke:#0000;stroke-width:16px}.sfc-draft .sfc-draft-caption{fill:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-body) var(--font-ui);pointer-events:none}.sfc-draft .sfc-draft-needs{fill:var(--text-secondary);font:var(--text-size-label) var(--font-ui);pointer-events:none}.sfc-draft .sfc-draft-handle{fill:var(--sfc-node-fill);stroke:var(--rail-color);stroke-width:1.5px;cursor:crosshair;opacity:0}.sfc-canvas-scroll:not([data-scrolling]) .sfc-draft:hover .sfc-draft-handle,.sfc-draft:is(:focus-visible,[data-selected]) .sfc-draft-handle,.sfc-draft .sfc-draft-handle:active,.sfc-draft:focus-visible .sfc-focus-ring{opacity:1}.sfc-draft[data-selected] .sfc-draft-box,.sfc-draft[data-selected] .sfc-draft-end-bar,.sfc-draft[data-selected] .sfc-draft-bar{stroke:var(--sfc-selection)}.sfc-draft[data-wire-target=legal] .sfc-draft-box,.sfc-draft[data-wire-target=legal] .sfc-draft-bar{stroke:var(--sfc-selection);stroke-width:3px}.sfc-drafts{overscroll-behavior:contain;border-left:3px dashed var(--rail-color);max-height:72px;color:var(--text-secondary);font-size:var(--text-size-label);flex-shrink:0;gap:3px;padding-left:7px;display:grid;overflow-y:auto}.sfc-drafts-note{margin:0}.sfc-drafts ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sfc-drafts button{min-height:24px;font:inherit;padding:2px 8px}.sfc-draft-inspector select{min-height:24px}.st-editor{min-width:0;height:100%;min-height:0;color:var(--text-primary);background:var(--surface-app);font-family:var(--font-ui);flex-direction:column;display:flex;overflow:hidden}.st-editor *{box-sizing:border-box}.st-keyboard-help{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.st-scroll{flex:1;min-height:0;position:relative;overflow:auto}.st-grid{grid-template-columns:56px max-content minmax(220px,1fr);width:100%;min-width:min-content;min-height:100%;display:grid}.st-gutter{z-index:3;border-right:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);-webkit-user-select:none;user-select:none;padding-block:8px;line-height:20px;position:sticky;left:0}.st-gutter-row{text-align:right;font-variant-numeric:tabular-nums;height:20px;padding-right:10px;position:relative}.st-mark{width:8px;height:8px;position:absolute;top:6px;left:6px}.st-gutter-row[data-branch=true] .st-mark{background:var(--state-powered)}.st-gutter-row[data-error=true] .st-mark,.st-gutter-row[data-fault=true] .st-mark{background:var(--state-danger)}.st-gutter-row[data-ran=true]{box-shadow:inset -3px 0 var(--state-powered)}.st-code{font:var(--text-weight-regular) var(--text-size-body) var(--font-mono);padding-block:8px;line-height:20px;position:relative}.st-overlay,.st-input{font:var(--text-weight-regular) var(--text-size-body) var(--font-mono);letter-spacing:0;tab-size:4;white-space:pre;font-variant-ligatures:none;border:0;margin:0;padding:0 14px;line-height:20px}.st-overlay{pointer-events:none;position:relative}.st-overlay-line{height:20px}.st-overlay-line[data-dim=true]{opacity:.42}.st-overlay-line[data-fault=true],.st-note[data-kind=fault]{background:color-mix(in srgb, var(--state-danger) 14%, transparent)}.st-input{resize:none;color:#0000;width:100%;min-height:20px;caret-color:var(--text-primary);background:0 0;border-radius:0;position:absolute;inset:8px 0 auto;overflow:hidden}.st-input::selection{color:#0000;background:color-mix(in srgb, var(--accent) 45%, transparent)}.st-input:focus-visible{outline:1px solid var(--focus);outline-offset:-1px}.st-input[readonly]{caret-color:#0000}.st-caret-anchor{vertical-align:top;width:0;height:20px;display:inline-block}.st-overlay [data-token=KEYWORD],.st-overlay [data-token=BOOLEAN]{color:var(--st-keyword);font-weight:var(--text-weight-semibold)}.st-overlay [data-token=INTEGER],.st-overlay [data-token=REAL],.st-overlay [data-token=TIME]{color:var(--st-number)}.st-overlay [data-token=COMMENT]{color:var(--st-comment)}.st-overlay [data-token=OPERATOR],.st-overlay [data-token=PUNCTUATION]{color:var(--text-secondary)}.st-overlay .st-token-call{font-weight:var(--text-weight-semibold)}.st-error-span{-webkit-text-decoration:underline wavy var(--state-danger);-webkit-text-decoration:underline wavy var(--state-danger);text-decoration:underline wavy var(--state-danger);text-underline-offset:3px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.st-error-point{vertical-align:top;width:0;height:20px;display:inline-block;position:relative}.st-error-point>.st-error-span{position:absolute;top:0;left:0}.st-notes{z-index:2;border-left:1px solid var(--border-subtle);background:var(--surface-panel);min-width:220px;font:var(--text-size-control) var(--font-mono);padding-block:8px;line-height:20px;position:sticky;right:0;overflow:hidden}.st-note{white-space:nowrap;align-items:center;gap:10px;height:20px;padding:0 10px;display:flex;overflow:auto hidden}.st-note[data-kind=error],.st-note[data-kind=fault]{color:var(--state-danger);font-family:var(--font-ui)}.st-note-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.st-note button,.st-footer button{border:1px solid var(--border-strong);background:var(--surface-raised);min-height:18px;color:var(--text-primary);font:var(--text-size-label) var(--font-ui);cursor:pointer;border-radius:0;flex:none;padding:0 7px}.st-note button:focus-visible,.st-footer button:focus-visible{outline:2px solid var(--focus)}.st-value{flex:none;align-items:center;gap:5px;display:inline-flex}.st-value-name,.st-loops{color:var(--text-secondary)}.st-value-number{color:var(--text-primary);font-weight:var(--text-weight-semibold);font-variant-numeric:tabular-nums}.st-note .bool-value{border:1px solid var(--border-strong);background:var(--surface-raised);text-align:center;border-radius:0;min-width:22px;min-height:16px;padding:0 5px;line-height:14px}.st-note .bool-value.true{color:var(--state-powered);border-color:var(--state-powered)}.st-note .bool-value.false{color:var(--text-secondary)}.st-note button.bool-value{height:16px;min-height:16px;font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);line-height:14px}.st-note button.bool-value:hover{border-color:var(--accent-strong)}.st-footer{border-top:1px solid var(--border-subtle);background:var(--surface-panel);min-height:24px;color:var(--text-secondary);font-size:var(--text-size-label);align-items:center;gap:8px;padding:2px 10px;display:flex}.st-footer [data-tone=error]{color:var(--state-danger)}.st-status-right{font-family:var(--font-mono);white-space:nowrap;margin-left:auto}.st-complete{z-index:200;border:1px solid var(--border-strong);background:var(--surface-raised);width:360px;max-width:calc(100vw - 12px);max-height:min(220px,100vh - 12px);color:var(--text-primary);box-shadow:var(--shadow-menu);font:var(--text-size-control) var(--font-mono);padding:2px 0;line-height:22px;overflow:auto}.st-complete [role=option]{cursor:pointer;justify-content:space-between;gap:12px;padding:1px 10px;display:flex}.st-complete [aria-selected=true]{background:var(--surface-selected)}.st-complete small{color:var(--text-secondary);font-size:var(--text-size-label)}.st-overlay .st-token-on{color:var(--state-powered);-webkit-text-decoration:underline solid var(--state-powered);-webkit-text-decoration:underline solid var(--state-powered);text-decoration:underline solid var(--state-powered);text-underline-offset:4px}.tag-references-panel{align-content:start;gap:6px;height:100%;padding:8px;display:grid;overflow:auto}.tag-references-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.tag-references-subject{color:var(--text-secondary);font-size:var(--text-size-label);margin:0}.tag-references-subject strong{color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.tag-references-scope{border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);font:var(--text-size-label) var(--font-mono);padding:1px 4px}.tag-references-filters{border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.tag-references-filters button{background:var(--surface-panel);min-height:24px;color:var(--text-secondary);font-size:var(--text-size-control);border:0;border-radius:0;padding:2px 10px}.tag-references-filters button+button{border-left:1px solid var(--border-strong)}.tag-references-filters button[aria-checked=true]{background:var(--surface-selected);color:var(--text-primary);font-weight:var(--text-weight-semibold)}.tag-references-filters button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tag-references-coverage,.tag-references-note{color:var(--text-secondary);font-size:var(--text-size-label);margin:0;line-height:1.45}.tag-references-empty{color:var(--text-secondary);font-size:var(--text-size-label);margin:4px}.tag-references-list{border:1px solid var(--border-subtle);border-radius:var(--radius);gap:2px;margin:0;padding:2px;list-style:none;display:grid}.tag-references-list:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.tag-references-row{min-height:24px;color:var(--text-primary);font-size:var(--text-size-control);cursor:pointer;border-left:3px solid #0000;grid-template-columns:minmax(120px,1.2fr) minmax(90px,1fr) minmax(110px,1.2fr) minmax(80px,.8fr) 72px;align-items:center;gap:8px;padding:3px 8px;display:grid}.tag-references-row:hover{background:var(--surface-hover)}.tag-references-row[aria-selected=true]{background:var(--surface-selected);border-left-color:var(--accent-strong)}.tag-references-container,.tag-references-location,.tag-references-element{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-references-container{color:var(--text-secondary)}.tag-references-operand{text-overflow:ellipsis;white-space:nowrap;font:var(--text-size-control) var(--font-mono);overflow:hidden}.tag-references-usage{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;justify-self:start;padding:1px 5px}.tag-references-row[data-usage=WRITE] .tag-references-usage,.tag-references-row[data-usage=READ_WRITE] .tag-references-usage{color:var(--text-primary);border-color:var(--accent-strong)}.tag-references-row-note{color:var(--text-secondary);font-size:var(--text-size-label);grid-column:1/-1}@media (width<=720px){.tag-references-row{grid-template-columns:minmax(0,1fr) auto}.tag-references-location,.tag-references-element{grid-column:1/-1}}.data-types-editor{background:var(--surface-panel);height:100%;min-height:0;color:var(--text-primary);grid-template-rows:auto minmax(0,1fr);display:grid}.data-types-head{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:34px;padding:4px 12px;display:flex}.data-types-head h2{font-size:var(--text-size-title);margin:0}.data-types-head h2:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.data-types-head .data-types-lock{color:var(--state-warning);font-size:var(--text-size-label);margin:0}.data-types-body{grid-template-columns:minmax(150px,220px) minmax(0,1fr);min-height:0;display:grid}.data-types-list{border-right:1px solid var(--border-subtle);flex-direction:column;gap:6px;padding:8px;display:flex;overflow:auto}.data-types-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.data-types-list li button{text-align:left;border-left:3px solid #0000;align-items:center;width:100%;min-height:26px;padding:3px 8px;display:flex}.data-types-list li button strong{font-weight:var(--text-weight-regular)}.data-types-list li button[aria-current=true]{background:var(--surface-selected);border-left-color:var(--accent-strong)}.data-types-list li button[aria-current=true] strong{font-weight:var(--text-weight-semibold)}.data-types-list li button:focus-visible,.data-types-editor button:focus-visible,.data-types-editor input:focus-visible,.data-types-editor select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.data-types-empty{color:var(--text-secondary);font-size:var(--text-size-label);margin:4px}.data-types-detail{align-content:start;gap:10px;min-width:0;padding:10px 12px;display:grid;overflow:auto}.data-types-structure,.data-types-form{gap:10px;display:grid}.data-types-title{flex-wrap:wrap;align-items:end;gap:8px 12px;max-width:900px;display:flex}.data-types-title .field{color:var(--text-secondary);font-size:var(--text-size-label);gap:2px;display:grid}.data-types-title input{box-sizing:border-box;min-height:26px}.data-types-title .data-types-name input{width:180px;font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono)}.data-types-title .data-types-description{flex:220px;min-width:0}.data-types-title .data-types-description input{width:100%}.data-types-title .data-types-primary{min-height:26px;font-weight:var(--text-weight-semibold);border-color:var(--accent-strong);background:var(--accent);color:#f1f4f6;margin-left:auto;padding:1px 12px}[data-theme=light] .data-types-title .data-types-primary{border-color:var(--brand-secondary);background:var(--brand-primary)}.data-types-title .data-types-primary:hover:not(:disabled){background:var(--brand-secondary)}.data-types-wide{width:100%;min-width:0}.data-types-members{border-collapse:collapse;width:100%;max-width:900px;font-size:var(--text-size-control)}.data-types-members th{border-bottom:1px solid var(--border-strong);height:24px;color:var(--text-secondary);font-size:var(--text-size-label);text-align:left;padding:2px 6px}.data-types-members td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:2px 6px}.data-types-members input,.data-types-members select{box-sizing:border-box;min-height:24px;font:var(--text-size-control) var(--font-mono)}.data-types-members .data-types-cell-name input{width:100%;max-width:220px}.data-types-members .data-types-cell-description input{width:100%}.data-types-members select{width:88px}.data-types-members .data-types-cell-icon{text-align:center;width:24px;padding:0 2px}.data-types-members tbody tr{background:var(--surface-panel)}.data-types-members tbody tr.data-types-dragging{opacity:.45}.data-types-members tbody tr.data-types-drop-before td{box-shadow:inset 0 2px 0 var(--accent-strong)}.data-types-members tbody tr.data-types-drop-after td{box-shadow:inset 0 -2px 0 var(--accent-strong)}.data-types-members tfoot td{border-bottom:0;padding-top:6px}.data-types-members tfoot button{min-height:24px;padding:1px 8px}.data-types-icon-button{width:22px;min-width:0;height:22px;min-height:0;color:var(--text-secondary);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.data-types-icon-button .ide-icon{width:14px;height:14px}.data-types-icon-button:hover:not(:disabled){border-color:var(--border-subtle);background:var(--surface-hover);color:var(--text-primary)}.data-types-icon-button:disabled{color:var(--text-disabled);background:0 0;border-color:#0000}.data-types-grip:not(:disabled){cursor:grab}.data-types-grip:not(:disabled):active{cursor:grabbing}.data-types-remove:hover:not(:disabled){color:var(--state-danger)}.data-types-foot{justify-content:flex-end;max-width:900px;display:flex}.data-types-foot button,.data-types-new{min-height:24px;padding:1px 8px}.data-types-actions{flex-wrap:wrap;gap:6px;display:flex}.data-types-actions button{min-height:26px;padding:1px 10px}.data-types-error{max-width:90ch;margin:0}.data-types-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.member-value-button{border:1px solid var(--border-strong);min-height:24px;font:var(--text-weight-semibold) var(--text-size-control) var(--font-mono);text-align:left;background:0 0;padding:1px 5px}.tag-member-row .member-value-button:disabled{border-color:#0000}@media (width<=720px){.data-types-body{grid-template-columns:minmax(0,1fr)}.data-types-list{border-right:0;border-bottom:1px solid var(--border-subtle)}.data-types-title .data-types-primary{margin-left:0}}.data-types-table-scroll{max-width:100%;overflow-x:auto}.algorithm-selection-form fieldset{border:1px solid var(--border);min-width:0;margin:8px 0;padding:10px}.algorithm-selection-form .field{margin:6px 0}.algorithm-selection-form input,.algorithm-selection-form select{width:100%;min-width:0}.algorithm-selection-form legend{overflow-wrap:anywhere}.algorithm-selection-form .algorithm-actions{flex-wrap:wrap;gap:6px;display:flex}.algorithm-selection-dialog{width:min(620px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}.algorithm-selection-dialog h3,.algorithm-evidence{overflow-wrap:anywhere}.algorithm-evidence ul{padding-inline-start:18px}.block-tag-line .algorithm-block-tag{width:auto;max-width:100%;color:var(--text-primary);font:var(--text-weight-semibold) var(--text-size-label)/1 var(--font-mono);cursor:text;text-align:center;white-space:nowrap;pointer-events:auto;background:0 0;border:0;padding:0 2px;display:block}.block-tag-line .algorithm-block-tag.empty{color:var(--accent-strong)}.algorithm-tag-line{height:20px;top:-22px;overflow:visible}.algorithm-rename-wrap{gap:2px;display:grid}.algorithm-rename{box-sizing:border-box;width:100%;height:18px;font:var(--text-weight-semibold) var(--text-size-label) var(--font-mono)}.algorithm-rename[aria-invalid=true],.algorithm-configure-dialog input[aria-invalid=true]{border-color:var(--state-danger)}.algorithm-error{color:var(--state-danger);font-size:var(--text-size-label);margin:0}.algorithm-configure-dialog{width:min(520px, calc(var(--block-viewport-width) - 24px));max-height:calc(var(--block-viewport-height) - 24px);overflow:auto}.algorithm-configure-dialog form{margin:0}.algorithm-configure-dialog form>header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:38px;padding:6px 8px;display:flex}.algorithm-configure-dialog header h2{margin:2px 0 0}.algorithm-configure-dialog header button{border:0;min-width:24px;min-height:24px}.algorithm-configure-dialog header button .ide-icon{width:14px;height:14px}.algorithm-configure-dialog section{margin:8px}.algorithm-configure-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.algorithm-configure-dialog h2{font-size:var(--text-size-dialog);overflow-wrap:anywhere}.algorithm-configure-dialog h3{font-size:var(--text-size-label);color:var(--text-secondary);margin:0 0 4px}.algorithm-tagname{align-items:center;gap:8px;display:flex}.algorithm-tagname input{min-width:0;max-width:240px;min-height:26px;font:var(--text-size-control) var(--font-mono);flex:auto}.algorithm-type-chip{border:1px solid var(--border-strong);border-radius:var(--radius);font:var(--text-size-label) var(--font-mono);color:var(--text-secondary);padding:1px 6px}.algorithm-slots{gap:4px;display:grid}.algorithm-slot{grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.algorithm-slot[data-priority=true]{grid-template-columns:30px minmax(0,1fr) 110px auto auto}.algorithm-slot input{min-width:0;min-height:26px}.algorithm-slot .algorithm-error{grid-column:2/-1}.algorithm-slot button{min-width:26px;min-height:26px;padding:0}.algorithm-slot-position{font:var(--text-size-label) var(--font-mono);color:var(--text-secondary);text-align:right}.algorithm-slot-move{gap:2px;display:inline-flex}.algorithm-priority{font-size:var(--text-size-label);color:var(--text-secondary);align-items:center;gap:4px;display:flex}.algorithm-priority input{text-align:right;width:100%;font-family:var(--font-mono)}.algorithm-add{margin:6px 0 0 36px}.algorithm-configure-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:6px;padding:8px;display:flex}.algorithm-inspector-slots{gap:4px;margin-bottom:6px;display:grid}.algorithm-inspector-slot{grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:4px;display:grid}.algorithm-inspector-slot[data-priority=true]{grid-template-columns:30px minmax(0,1fr) 48px 24px}.algorithm-inspector-slot input{box-sizing:border-box;min-width:0;min-height:24px}.algorithm-inspector-slot .algorithm-priority-input{text-align:right;font-family:var(--font-mono)}.algorithm-inspector-slot button{width:24px;min-width:24px;min-height:24px;padding:0}.algorithm-members dt{font-family:var(--font-mono);overflow-wrap:anywhere}@media (width<=520px){.algorithm-slot,.algorithm-slot[data-priority=true]{grid-template-columns:30px minmax(0,1fr) auto}.algorithm-slot .algorithm-priority{grid-column:2/3}}.help-center-pane{border-left:1px solid var(--border-strong);background:var(--surface-panel);min-width:0;min-height:0;color:var(--text-primary);flex:0 0 340px;grid-template-rows:auto auto minmax(0,1fr);display:grid}dialog.help-center-dialog[open]{grid-template-rows:auto auto minmax(0,1fr);width:min(420px,100vw - 24px);height:min(80vh,720px);max-height:min(80vh,720px)}.help-center-pane>header,.help-center-dialog>header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.help-center-pane h2,.help-center-dialog h2{font-size:var(--text-size-title);margin:0}.help-center-search{border-bottom:1px solid var(--border-subtle);padding:8px 12px}.help-center-search input{box-sizing:border-box;width:100%;min-height:30px;padding:4px 8px}.help-center-pane .help-center-body,.help-center-dialog .help-center-body{min-height:0;max-height:none;display:block;overflow:auto}.help-center-index{border:0;padding:4px 8px 16px;overflow:visible}.help-center-group{margin:0}.help-center-group h3{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.04em;text-transform:uppercase;margin:12px 4px 2px}.help-center-group button{border-radius:var(--radius);width:100%;min-height:26px;color:var(--text-primary);text-align:left;font-size:var(--text-size-control);background:0 0;border:0;grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:8px;padding:4px 6px;display:grid}.help-center-group[aria-label=Links] button{grid-template-columns:minmax(0,1fr)}.help-center-group button:hover{background:var(--surface-hover)}.help-center-group button[aria-current=page]{background:var(--surface-selected)}.help-center-group button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.help-center-index-mnemonic{font-family:var(--font-mono);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.help-center-index-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.help-center-group[aria-label=Links] .help-center-index-name{color:var(--text-primary)}.help-center-empty{color:var(--text-secondary);margin:0;padding:8px 6px}.help-center-entry{overflow-wrap:anywhere;padding:10px 12px 20px;display:block;overflow:visible}.help-center-entry>div{gap:12px;display:grid}.help-center-entry-top{align-items:center;gap:6px;display:flex}.help-center-back{border-radius:var(--radius);width:28px;height:28px;color:var(--accent-strong);background:0 0;border:0;flex:none;place-items:center;margin:0 0 0 -6px;padding:0;display:inline-grid}.help-center-back:hover{background:var(--surface-hover)}.help-center-back:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.help-center-entry-top h3{min-width:0;font-size:var(--text-size-title);font-weight:var(--text-weight-semibold);text-transform:none;margin:0;display:grid}.help-center-mnemonic{font-family:var(--font-mono);font-size:var(--text-size-title);line-height:1.2}.help-center-name{color:var(--text-secondary);font-size:var(--text-size-control);font-weight:var(--text-weight-regular)}.help-center-summary{font-size:var(--text-size-body);margin:0;line-height:1.45}.help-center-topic p{font-size:var(--text-size-body);margin:0 0 8px}.help-center-note{color:var(--text-secondary);font-size:var(--text-size-body);margin:0}.help-center-table{border-collapse:collapse;width:100%}.help-center-table th{color:var(--text-secondary);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:0 0 4px}.help-center-table td{border-top:1px solid var(--border-subtle);vertical-align:top;padding:4px 0}.help-center-table td:first-child{width:38%;font-family:var(--font-mono);font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);padding-right:8px}.help-center-table td:last-child{color:var(--text-secondary)}.help-center-more{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-primary);justify-self:start;align-items:center;gap:6px;padding:5px 10px;text-decoration:none;display:inline-flex}.help-center-more:hover{background:var(--surface-hover)}.help-center-more:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.help-example{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-app);overflow:hidden}.help-example-scaler{transform-origin:0 0;display:flow-root}.help-example .ladder-workspace{background:0 0;min-width:0;height:auto;min-height:0;overflow:visible}.help-example .ladder-grid{grid-template-columns:14px minmax(max-content,1fr) 14px;height:auto;min-height:0;padding:0;overflow:visible}.help-example .ladder-rung{border:0}.help-example .rung-meta{display:none}.help-example .ladder-insertion>span{visibility:hidden}.public-site{--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border-subtle);color:var(--ink);background:var(--surface-app);font:var(--text-size-body)/1.6 var(--font-ui);min-height:100vh}body{margin:0}.public-site *{box-sizing:border-box}.public-site a{color:inherit}.public-site button,.public-site input{font:inherit;font-size:var(--text-size-control)}.public-site :focus-visible{outline:3px solid var(--focus);outline-offset:4px}.public-site h1,.public-site h2,.public-site h3{letter-spacing:-.04em;line-height:1.16;font-weight:var(--text-weight-semibold);margin:0 0 20px}.public-site h1{font-size:var(--text-size-dialog)}.public-site h2,.public-site h3{font-size:var(--text-size-title)}.public-site p{margin:0 0 20px}.public-wrap{max-width:1240px;margin:0 auto;padding-left:40px;padding-right:40px}.public-header{border-bottom:1px solid var(--line);background:var(--surface-panel)}.public-nav{justify-content:space-between;align-items:center;gap:24px;min-height:80px;display:flex}.public-brand{font-size:var(--text-size-dialog);font-weight:var(--text-weight-semibold);letter-spacing:-.5px;white-space:nowrap;align-items:center;gap:12px;text-decoration:none;display:flex}.public-mark{border:2px solid;width:27px;height:27px;display:inline-block;position:relative}.public-mark:after{content:"";border-top:2px solid;position:absolute;top:10px;left:-5px;right:-5px}.public-nav nav{font-size:var(--text-size-control);font-weight:var(--text-weight-semibold);align-items:center;gap:26px;display:flex}.public-nav nav a{text-decoration:none}.public-nav a[aria-current=page]{text-underline-offset:6px;text-decoration:underline}.public-button{border:1px solid var(--ink);border-radius:var(--radius);min-height:44px;font-weight:var(--text-weight-semibold);font-size:var(--text-size-control);color:var(--ink);text-align:center;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:11px 20px;text-decoration:none;display:inline-flex}.public-button.primary{background:var(--brand-primary);color:var(--text-on-brand)}.public-button:hover{background:var(--surface-hover)}.public-button.primary:hover{background:var(--brand-secondary)}.public-button:disabled{color:var(--text-disabled);background:var(--surface-panel);border-color:var(--border-strong);cursor:not-allowed}.public-menu{display:none}.public-eyebrow{font:var(--text-size-label)/1.6 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:1.8px}.public-hero{text-align:center;padding-top:64px;padding-bottom:36px}.public-hero h1{letter-spacing:-.025em;margin:20px auto}.public-hero>p:not(.public-eyebrow):not(.public-note){max-width:640px;font-size:var(--text-size-body);color:var(--muted);margin:0 auto 24px}.public-actions{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.public-hero .public-actions{justify-content:center}.public-note{font-size:var(--text-size-body);color:var(--muted)}.public-free-today{background:var(--surface-panel);border-block:1px solid var(--line)}.public-free-today-inner{grid-template-columns:minmax(200px,.8fr) minmax(0,2fr);align-items:center;gap:48px;padding-top:26px;padding-bottom:26px;display:grid}.public-free-label,.public-section-label{font-size:var(--text-size-control);line-height:1.4;font-weight:var(--text-weight-semibold);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.public-free-label{color:var(--muted)}.public-section-label{color:var(--text-secondary)}.public-free-today h2{font-size:var(--text-size-title);letter-spacing:-.025em;margin:0}.public-free-today ul{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.public-free-today li{border-left:1px solid var(--line);min-height:56px;font-weight:var(--text-weight-semibold);align-items:center;padding:6px 20px;line-height:1.4;display:flex}.public-preview{margin-top:0;margin-bottom:35px}.public-preview img{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;height:auto;display:block}.public-preview figcaption{font-size:var(--text-size-control);color:var(--muted);justify-content:space-between;gap:12px;padding-top:12px;display:flex}.public-section{padding-top:65px;padding-bottom:65px;scroll-margin-top:20px}.public-section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px;display:flex}.public-section-heading p{max-width:400px;color:var(--muted)}.public-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.public-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.public-benefits article{border-top:1px solid var(--line);padding-top:24px}.public-benefits p:not(.public-eyebrow){color:var(--muted);font-size:var(--text-size-body)}.public-learning{background:var(--surface-panel)}.public-learning-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.public-learning-grid>div>p{max-width:450px;color:var(--muted)}.public-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-width:0;padding:30px}.public-card h2{font-size:var(--text-size-title)}.public-card p{color:var(--muted)}.public-card ol{counter-reset:activity;padding:0;list-style:none}.public-card ol li{counter-increment:activity;border-top:1px solid var(--line);font-size:var(--text-size-body);align-items:center;gap:16px;padding:16px 0;display:flex}.public-card ol li:before{content:counter(activity,decimal-leading-zero);font-size:var(--text-size-control);color:var(--muted)}.public-card ol small{color:var(--muted);margin-left:auto}.public-platform{background:var(--brand-primary);color:var(--text-on-brand)}.public-platform p,.public-platform .public-section-heading p,.public-platform .public-section-label{color:var(--text-on-brand)}.public-platform h2{font-size:var(--text-size-title);letter-spacing:-.025em}.public-platform article{border-top:1px solid color-mix(in srgb, var(--text-on-brand) 40%, var(--brand-primary));padding-top:24px}.public-arena{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.public-arena p{max-width:530px}.public-callout{background:var(--surface-panel);border-radius:var(--radius);padding:30px}.public-callout dl{margin:0}.public-callout dl div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.public-callout dt{color:var(--muted)}.public-callout dd{font-weight:var(--text-weight-semibold);text-align:right;margin:0}.public-end{text-align:center;border-top:1px solid var(--line);padding:55px 0}.public-footer{background:var(--surface-panel);border-top:1px solid var(--line);padding:38px 0}.public-footer>.public-wrap{grid-template-columns:1fr auto;gap:20px;display:grid}.public-footer nav{gap:24px;display:flex}.public-footer p,.public-footer small{font-size:var(--text-size-control);color:var(--muted);margin:0}.public-page-heading{max-width:760px;margin-bottom:40px}.public-page-heading p{font-size:var(--text-size-body);color:var(--muted)}.public-page-heading .public-eyebrow{font-size:var(--text-size-label)}.public-plan-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.public-plan-cards .public-card{padding:24px}.public-plan-cards strong{font-size:var(--text-size-title);display:block}.public-table-scroll{border:1px solid var(--line);border-radius:var(--radius);margin:30px 0;overflow-x:auto}.public-site table{border-collapse:collapse;width:100%;min-width:850px;font-size:var(--text-size-control)}.public-site th,.public-site td{text-align:left;border-bottom:1px solid var(--line);padding:16px}.public-site thead{background:var(--surface-hover)}.public-site tbody th{font-weight:var(--text-weight-semibold)}.public-site caption{text-align:left;font-weight:var(--text-weight-semibold);padding:16px}.public-account-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.public-account-grid .labs-account-entry{flex-wrap:wrap;gap:14px;margin-bottom:24px;display:flex}.public-account-grid .labs-account-entry button{background:var(--surface-raised);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;padding:10px}.public-auth-layout{grid-template-columns:1fr 1fr;align-items:start;gap:80px;padding-top:70px;padding-bottom:80px;display:grid}.public-auth-layout aside{padding:38px 0}.public-auth-layout aside p{max-width:400px;color:var(--muted)}.public-auth-layout aside ul{margin:24px 0 32px;padding-left:20px}.public-auth-layout aside li{margin-bottom:12px}.public-auth-card h1{font-size:var(--text-size-dialog)}.public-stack{flex-direction:column;gap:16px;margin:24px 0;display:flex}.public-stack label{font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);flex-direction:column;gap:8px;display:flex}.public-stack input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);width:100%;min-width:0;color:var(--ink);padding:12px}.public-stack [role=alert]{border-left:3px solid var(--state-danger);background:color-mix(in srgb, var(--state-danger) 12%, var(--surface-raised));color:var(--text-primary);padding:12px}.public-stack p{margin:0}.public-skip{z-index:100;background:var(--surface-raised);padding:12px;position:absolute;top:-100px;left:16px}.public-skip:focus{top:8px}@media (width<=950px){.public-nav{flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.public-nav nav{gap:18px}.public-benefits,.public-plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.public-learning-grid,.public-arena,.public-auth-layout{gap:35px}.public-wrap{padding-left:28px;padding-right:28px}.public-free-today-inner{grid-template-columns:1fr;gap:18px}}@media (width<=700px){.public-wrap{padding-left:20px;padding-right:20px}.public-menu{margin-left:auto;display:inline-flex}.public-nav nav{flex-direction:column;align-items:stretch;gap:6px;width:100%;display:none}.public-nav nav.is-open{display:flex}.public-nav nav a{padding:10px}.public-hero{padding-top:40px}.public-hero h1{font-size:var(--text-size-dialog);letter-spacing:-.025em}.public-section{padding-top:42px;padding-bottom:42px}.public-section-heading{display:block}.public-section-heading p{max-width:none}.public-preview figcaption{font-size:var(--text-size-label);flex-direction:column;gap:2px}.public-grid,.public-learning-grid,.public-arena,.public-auth-layout,.public-account-grid{grid-template-columns:1fr}.public-auth-layout{gap:24px;padding-top:32px;padding-bottom:42px}.public-auth-layout aside{order:2;padding:0}.public-card{padding:24px}.public-plan-cards{grid-template-columns:1fr 1fr}.public-plan-cards .public-card{padding:20px}.public-plan-cards h2{font-size:var(--text-size-title)}.public-footer>.public-wrap{grid-template-columns:1fr}.public-footer nav{flex-wrap:wrap}.public-callout{padding:24px}.public-free-today-inner{padding-top:24px;padding-bottom:24px}.public-free-today ul{grid-template-columns:1fr}.public-free-today li{border-left:0;border-top:1px solid var(--line);min-height:0;padding:12px 0}}@media (width<=400px){.public-plan-cards{grid-template-columns:1fr}.public-hero .public-actions{flex-direction:column}.public-card{padding:20px}}@media (prefers-reduced-motion:reduce){.public-site *{scroll-behavior:auto;transition:none;animation:none}}.public-section.public-account{padding-top:24px;padding-bottom:32px}.public-account .public-page-heading{margin-bottom:16px}.public-account .public-page-heading .public-eyebrow,.public-account h1{margin-bottom:6px}.public-account .public-page-heading p{margin-bottom:0}.public-account .public-account-grid{gap:12px}.public-account .public-card{padding:12px 16px}.public-account .public-card h2,.public-account .public-card p{margin-bottom:8px}.public-account .public-actions{margin:8px 0}.public-account .public-account-grid .labs-account-entry{margin-bottom:8px}.public-stack select,.public-stack textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);width:100%;min-width:0;color:var(--ink);font:inherit;font-size:var(--text-size-control);padding:12px}.public-stack textarea{resize:vertical}.public-choices{border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin:0;padding:12px 16px}.public-choices legend{font-size:var(--text-size-label);font-weight:var(--text-weight-semibold);padding:0 6px}.public-stack label.public-check{min-height:44px;font-weight:var(--text-weight-regular);flex-direction:row;align-items:center;gap:10px}.public-check input{width:auto}.public-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.public-callout h2{font-size:var(--text-size-title)}.public-callout p:last-child{margin-bottom:0}.public-lesson .public-page-heading{max-width:860px}.public-lesson-objective strong{font:var(--text-size-label)/1.6 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);margin-bottom:4px;display:block}.public-lesson-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:56px;display:grid}.public-lesson-body section{border-top:1px solid var(--line);margin-bottom:8px;padding-top:24px}.public-lesson-body p{max-width:70ch}.public-lesson-video{margin:0 0 32px}.public-lesson-video iframe{aspect-ratio:16/9;border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;display:block}.public-lesson-aside{position:sticky;top:24px}.public-lesson-aside .public-actions{flex-direction:column;align-items:stretch;margin:20px 0 28px}.public-lesson-aside h3{font-size:var(--text-size-body);margin-bottom:8px}.public-lesson-aside ul{color:var(--muted);margin:0;padding-left:20px}.public-lesson-nav{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:48px;padding-top:32px;display:grid}.public-lesson-nav>a{border:1px solid var(--line);border-radius:var(--radius);font-weight:var(--text-weight-semibold);background:var(--surface-raised);flex-direction:column;gap:4px;padding:16px 20px;text-decoration:none;display:flex}.public-lesson-nav>a:hover{background:var(--surface-hover)}.public-lesson-nav a[rel=prev]{grid-column:1}.public-lesson-nav a[rel=next]{text-align:right;grid-column:2}.public-lesson-nav .public-lesson-nav-more{font-size:var(--text-size-control);font-weight:var(--text-weight-semibold);flex-wrap:wrap;grid-column:1/-1;gap:12px 28px;margin:8px 0 0;display:flex}.public-lesson-nav-more a{text-underline-offset:4px}.public-lesson-nav small{font-weight:var(--text-weight-regular);color:var(--muted)}.public-lesson-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.public-lesson-list li{border-top:1px solid var(--line);flex-direction:column;padding-top:20px;display:flex}.public-lesson-list h3{font-size:var(--text-size-title);margin-bottom:12px}.public-lesson-list h3 a{text-underline-offset:4px;text-decoration:underline}.public-lesson-list p{color:var(--muted);flex:1}.public-lesson-list small{color:var(--muted)}@media (width<=950px){.public-lesson-layout{grid-template-columns:1fr;gap:32px}.public-lesson-aside{order:-1;position:static}}@media (width<=700px){.public-lesson-nav{grid-template-columns:1fr}.public-lesson-nav a[rel=prev],.public-lesson-nav a[rel=next]{text-align:left;grid-column:1}}.public-scan-demo{border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.public-scan-demo>p{max-width:70ch}.public-scan-demo-live{margin:24px 0}.public-scan-demo-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.public-scan-demo-switch{gap:12px}.public-scan-demo-switch span{font:var(--text-size-label)/1 ui-monospace,Consolas,monospace;border:1px solid var(--border-strong);border-radius:var(--radius);min-width:44px;padding:4px 8px}.public-scan-demo-switch[aria-checked=true] span{border-color:var(--state-powered);color:var(--state-powered)}.public-scan-demo-status{color:var(--muted);font-size:var(--text-size-control);margin:0}.public-scan-demo-steps{gap:16px;display:grid}.public-scan-demo-step{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-width:0;padding:16px 20px}.public-scan-demo-step h3{font-size:var(--text-size-body);letter-spacing:0;align-items:center;gap:10px;margin:0 0 12px;display:flex}.public-scan-demo-step h3 span{font:var(--text-size-label)/1 ui-monospace,Consolas,monospace;border:1px solid var(--border-strong);border-radius:var(--radius);padding:4px 7px}.public-scan-demo-step dl{flex-wrap:wrap;gap:12px 40px;margin:0;display:flex}.public-scan-demo-step dl div{align-items:center;gap:12px;display:flex}.public-scan-demo-step dt{color:var(--muted)}.public-scan-demo-step dd{font:var(--text-size-control)/1 ui-monospace,Consolas,monospace;font-weight:var(--text-weight-semibold);border:1px solid var(--border-strong);border-radius:var(--radius);text-align:center;min-width:44px;margin:0;padding:5px 9px}.public-scan-demo-step dd[data-value=true]{border-color:var(--state-powered);color:var(--state-powered)}.public-scan-demo-ladder{padding:16px 0 0;overflow:hidden}.public-scan-demo-ladder h3{padding:0 20px}.public-scan-demo-ladder-scroll{border-top:1px solid var(--line);overflow-x:auto}.public-scan-demo-ladder .ladder-workspace{min-height:0}.public-scan-demo-ladder .ladder-workspace.mutation-pending{cursor:default;opacity:1}.public-scan-demo-ladder .ladder-insertion{pointer-events:none}.public-scan-demo-ladder .ladder-insertion:after,.public-scan-demo-ladder .ladder-insertion>span{display:none}
