.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0f172a8c;display:flex;align-items:center;justify-content:center}.auth-modal{position:relative;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;padding:28px 28px 20px;box-shadow:0 20px 60px #0f172a4d}.auth-modal-close{position:absolute;top:12px;right:12px;width:28px;height:28px;padding:0;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#64748b;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{background:#f1f5f9;color:#1e293b}.auth-modal-title{margin:0 0 16px;font-size:18px;font-weight:800;color:#0f172a}.auth-modal-error{margin:0 0 12px;padding:10px 12px;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;color:#dc2626;font-size:13px}.auth-modal-unavailable{padding:24px 0;text-align:center;color:#64748b;font-size:14px}.nav-menu{position:relative}.nav-menu-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0f;color:#f8fafc;font-size:18px;cursor:pointer;transition:all .2s ease}.nav-menu-trigger:hover{background:#ffffff24;border-color:#ffffff73;transform:scale(1.05)}.nav-menu-trigger[aria-expanded=true]{background:#ffffff2e;border-color:#ffffff80}.nav-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;min-width:220px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 40px #0f172a1f,0 2px 8px #0f172a0f;animation:navMenuSlideIn .15s ease-out}@keyframes navMenuSlideIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.nav-menu-dropdown [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;text-decoration:none;border:none;background:none;color:#334155;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;border-radius:8px;transition:all .12s ease}.nav-menu-dropdown [role=menuitem]:hover,.nav-menu-dropdown [role=menuitem]:focus{background:#f1f5f9;color:#0f172a;outline:none;transform:translate(2px)}.nav-menu-dropdown [role=menuitem] .nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#f1f5f9;font-size:14px;flex-shrink:0;transition:background .12s ease}.nav-menu-dropdown [role=menuitem]:hover .nav-icon,.nav-menu-dropdown [role=menuitem]:focus .nav-icon{background:#e0e7ff}.nav-menu-header{padding:10px 12px 6px;font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-menu-separator{height:1px;background:#f1f5f9;margin:4px 6px}.nav-menu-signout{color:#dc2626!important}.nav-menu-signout:hover,.nav-menu-signout:focus{background:#fef2f2!important;color:#b91c1c!important}.nav-menu-signout .nav-icon{background:#fef2f2!important}.nav-menu-external:after{content:"↗";margin-left:auto;font-size:11px;opacity:.4}.learning-surface-icon{display:block;width:28px;height:24px;flex-shrink:0}.learning-surface-icon__contact,.learning-surface-icon__setpoint{stroke:#b45309}.learning-surface-icon__response{stroke:#15803d}.learning-surface-icon__assignment{color:#2563eb}.root-nav-tab:not(.active) .learning-surface-icon__assignment{color:#93c5fd}.root-nav-tab:not(.active) .learning-surface-icon__contact,.root-nav-tab:not(.active) .learning-surface-icon__setpoint{stroke:#fbbf24}.root-nav-tab:not(.active) .learning-surface-icon__response{stroke:#4ade80}.nav-icon .learning-surface-icon{width:22px;height:18px}.signup-prompt{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#0f172a;color:#f8fafc;border-radius:10px;box-shadow:0 8px 32px #0f172a59;font-size:14px;white-space:nowrap;animation:signup-prompt-in .2s ease}@keyframes signup-prompt-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.signup-prompt-message{font-weight:600}.signup-prompt-cta{padding:6px 12px;border:none;border-radius:6px;background:#2563eb;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.signup-prompt-cta:hover{background:#1d4ed8}.signup-prompt-dismiss{padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:#cbd5e1;font-size:13px;cursor:pointer;transition:background .15s}.signup-prompt-dismiss:hover{background:#ffffff14;color:#f8fafc}.lesson-feedback{display:flex;align-items:center;gap:12px;margin-top:40px;padding:16px 20px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.lesson-feedback.submitted{justify-content:center;color:#15803d;font-weight:600;font-size:14px}.lesson-feedback-label{font-size:14px;font-weight:600;color:#334155}.feedback-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:20px;cursor:pointer;transition:all .15s ease}.feedback-btn:hover{border-color:#93c5fd;background:#eff6ff;transform:scale(1.1)}.feedback-btn.active{border-color:#2563eb;background:#dbeafe}.feedback-tab-trigger{padding:7px 14px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff14;color:#f8fafc;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.feedback-tab-trigger:hover{background:#ffffff29;border-color:#fff6}.feedback-tab-wrapper{position:relative}.feedback-tab-panel{position:absolute;top:100%;right:0;margin-top:8px;z-index:200;width:300px;padding:16px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 12px 40px #0000001f;display:grid;gap:12px}.feedback-tab-header{display:flex;align-items:center;justify-content:space-between}.feedback-tab-header strong{font-size:15px;color:#0f172a}.feedback-tab-header button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:18px;cursor:pointer}.feedback-tab-header button:hover{background:#e2e8f0}.feedback-tab-panel textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;font-size:13px;resize:vertical;min-height:80px;font-family:inherit}.feedback-tab-panel textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.feedback-tab-submit{padding:8px 16px;border:none;border-radius:6px;background:#2563eb;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.feedback-tab-submit:hover{background:#1d4ed8}.feedback-tab-submit:disabled{background:#94a3b8;cursor:not-allowed}.feedback-tab-thanks{margin:0;text-align:center;color:#15803d;font-weight:600;font-size:14px;padding:12px 0}.feedback-tab-error{margin:0;color:#b91c1c;font-size:12px;font-weight:700}.mobile-banner{display:none;background:#fef3c7;color:#92400e;padding:.75rem 1rem;font-size:.85rem;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid #fcd34d}.mobile-banner p{margin:0}.mobile-banner button{background:none;border:none;color:#92400e;font-size:1.1rem;cursor:pointer;padding:0 .25rem}@media (max-width: 768px){.mobile-banner{display:flex}}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-width:36px;height:36px;padding:0 11px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0f;color:#f8fafc;font-size:16px;line-height:1;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:#ffffff24;border-color:#ffffff73;transform:scale(1.05)}.theme-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.theme-toggle-label{font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.root-layout{display:flex;flex-direction:column;height:100%}.root-nav{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#0f172a;color:#f8fafc;flex-shrink:0;gap:12px;position:relative;z-index:100}.root-nav-brand{font-weight:800;font-size:15px;color:#f8fafc;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;cursor:pointer}.root-nav-brand:hover{color:#e2e8f0}.root-nav-tabs{display:flex;align-items:center;gap:4px;min-width:0;background:#ffffff14;border-radius:10px;padding:4px}.root-nav-tab{display:flex;align-items:center;gap:8px;padding:10px clamp(12px,1.75vw,24px);border-radius:8px;font-size:16px;font-weight:700;color:#f8fafcb3;text-decoration:none;transition:all .15s ease;white-space:nowrap}.root-nav-tab:hover{color:#f8fafc;background:#ffffff1a}.root-nav-tab.active{color:#0f172a;background:#f8fafc;box-shadow:0 1px 3px #0003}.root-nav-tab-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:24px;font-size:18px}@media (max-width: 1180px){.root-nav{gap:8px;padding:6px 8px}.root-nav-tab{gap:4px;padding:9px 8px;font-size:13px}.root-nav-tab-icon{width:24px}}@media (max-width: 900px){.root-nav{gap:7px;padding:6px 8px}.root-nav-tab{gap:0;min-width:38px;justify-content:center;padding:9px 10px}.root-nav-tab-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.root-nav-actions{gap:6px}}@media (max-width: 600px){.root-nav{flex-wrap:wrap}.root-nav-tabs{order:3;width:100%;justify-content:space-between}.root-nav-tab{flex:1 1 0;min-width:0;padding-inline:6px}.theme-toggle{width:36px;min-width:36px;padding:0}.theme-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.root-layout-content{flex:1;min-height:0;overflow:auto;position:relative}.root-layout-content>:first-child{max-width:100%}.nav-feedback-nudge{color:#fff9;font-size:11px;font-weight:500;white-space:nowrap;margin-left:auto}.root-nav-actions{display:flex;align-items:center;gap:10px}.ladder-symbol{width:64px;height:36px;display:block;color:currentColor;overflow:visible}.ladder-symbol.compact{width:70px;height:34px}.symbol-stroke{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:round;vector-effect:non-scaling-stroke}.symbol-cutout{fill:var(--ladder-surface, #f8fafc)}.coil-cutout{rx:2}.symbol-mark,.block-mark{dominant-baseline:middle;fill:currentColor;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;pointer-events:none;text-anchor:middle}.symbol-mark{font-size:11px}.block-symbol{color:#334155;width:76px}.block-mark{dominant-baseline:middle;font-size:17px;font-weight:900;text-anchor:middle}.instruction-palette{width:280px;min-width:280px;min-height:0;border-left:1px solid #cbd5e1;background:#f8fafc;display:flex;flex-direction:column}.palette-title{padding:12px 12px 6px;color:#172033;font-weight:900}.palette-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px 10px 10px;border-bottom:1px solid #e2e8f0;flex:0 0 auto}.palette-tabs button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:6px;padding:6px 8px;font-size:12px;cursor:pointer}.palette-tabs button.active{border-color:var(--state-off);color:var(--state-off);background:var(--state-off-soft)}.palette-list{flex:1 1 auto;min-height:0;display:grid;gap:8px;padding:12px;overflow:auto;align-content:start}.palette-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:#fff;color:#172033;cursor:grab;font:inherit;text-align:left;-webkit-user-select:none;user-select:none}.palette-item:active{cursor:grabbing}.palette-item:focus-visible{outline:2px solid var(--state-off);outline-offset:2px}.palette-help{margin:0;padding:8px 12px 10px;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px;line-height:1.35}.palette-icon{min-width:70px;color:var(--state-off);display:inline-flex;align-items:center;justify-content:center;position:relative}.palette-coil{color:var(--state-off)}.palette-timer,.palette-counter,.palette-comparison,.palette-math,.palette-res{color:#334155}.palette-copy{min-width:0;display:grid;gap:2px}.palette-copy strong{color:#172033;font-size:13px}.palette-copy small{color:#64748b;font-size:11px}.tag-popover.pid-popover{width:290px;gap:6px}.pid-popover .pid-popover__field{display:grid;gap:3px;margin:0;font-size:12px;font-weight:700;color:#475569}.pid-popover .pid-popover__field>span{display:flex;justify-content:space-between;gap:6px}.pid-popover .pid-popover__field small,.pid-popover .pid-popover__hint{font-weight:500;color:#64748b}.pid-popover .pid-popover__field input,.pid-popover .pid-popover__field select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font:inherit;font-weight:500;color:#172033;background:#fff}.pid-popover__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:6px 8px 8px;border:1px solid #e2e8f0;border-radius:6px}.pid-popover__row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.pid-popover__row legend{padding:0 4px;font-size:12px;font-weight:700;color:#334155}.pid-popover__error{margin:0;padding:6px 8px;border-radius:6px;background:#fef2f2;color:#b91c1c;font-size:12px}.rung-editor{--ladder-surface: #f8fafc;min-width:0;min-height:0;height:100%;flex:1 1 auto;display:flex;flex-direction:column;background:#f1f5f9;color:#172033}.rung-editor-toolbar,.rung-card-header{display:flex;align-items:center;gap:8px}.rung-editor-toolbar{flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #cbd5e1;background:#fff}.rung-editor button,.floating-menu button,.tag-popover button{border:1px solid #cbd5e1;background:#fff;color:#172033;border-radius:6px;padding:6px 9px;cursor:pointer}.delete-confirmation{display:inline-flex;align-items:center;gap:4px}.rung-editor button.danger-button{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.rung-editor-list{min-height:0;flex:1 1 auto;overflow:auto;padding:18px;display:grid;align-content:start;gap:16px}.empty-rung-workspace{min-height:220px;border:1px dashed #94a3b8;border-radius:8px;background:#fff;display:grid;place-content:center;gap:12px;color:#64748b}.rung-card{background:#fff;border:1px solid #d5dee8;border-radius:8px;padding:12px;box-shadow:0 8px 22px #0f172a14;overflow:visible}.rung-card.selected{border-color:#60a5fa;box-shadow:0 0 0 2px #3b82f629,0 8px 22px #0f172a14}.rung-card-header{margin-bottom:18px}.rung-card-header input{flex:1;min-width:220px;border:1px solid #cbd5e1;border-radius:6px;padding:7px 9px}.rung-number{font-weight:800;color:#334155;cursor:grab;-webkit-user-select:none;user-select:none}.validation-pill{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;padding:3px 8px;font-size:12px}.rung-editor button.validation-pill{color:#92400e;background:#fef3c7;border-color:#f59e0b;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-weight:700}.rung-editor button.validation-pill:hover{background:#fde68a}.rung-editor button.validation-pill:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.rung-issues-panel{display:grid;gap:6px;margin:-8px 0 12px 94px;padding:8px;border:1px solid #fed7aa;border-radius:8px;background:#fff7ed}.rung-issue{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:baseline;color:#7c2d12;font-size:12px}.rung-issue strong{text-transform:uppercase;font-size:10px;letter-spacing:.06em}.rung-issue-error{color:#991b1b}.rung-strip{min-height:56px;display:grid;grid-template-columns:4px 1fr 4px;gap:0;align-items:center;background:var(--ladder-surface);border:1px solid #e2e8f0;border-radius:4px;overflow:visible;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.rung-strip.drag-over{border-color:#60a5fa;box-shadow:0 0 0 2px #3b82f61f}.power-rail{background:#2f3b45;min-height:100%}.ladder-lane{min-width:0;display:flex;align-items:flex-start;padding:4px 0;position:relative;min-height:56px}.ladder-lane:has(.block-chip){min-height:80px;padding-top:24px}.ladder-lane:before{content:"";position:absolute;top:28px;left:0;right:0;height:2px;background:var(--state-off);z-index:0}.ladder-lane:has(.block-chip):before{top:48px}.rung-elements{min-width:0;display:flex;align-items:flex-start;position:relative;z-index:1}.input-elements{justify-content:flex-start}.output-elements{justify-content:flex-end}.rung-wire{flex:1 1 auto;min-width:72px;height:2px;background:transparent}.drop-zone{width:14px;align-self:center;flex:0 0 14px;height:48px;border-radius:3px;position:relative;transition:flex-basis .12s ease,background .12s ease}.drop-zone.active{flex-basis:24px}.drop-zone.active:after{content:"";position:absolute;top:12px;left:3px;right:3px;bottom:12px;background:#3b82f62e;border:2px solid var(--state-off);border-radius:4px}.element-chip{width:90px;height:48px;padding:0;background:transparent;color:#172033;display:flex;flex-direction:column;align-items:center;gap:0;cursor:pointer;position:relative;z-index:1}.element-symbol{color:inherit;height:36px;display:flex;align-items:center;justify-content:center;width:76px;padding:0;position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:2}.element-tag{font-size:9px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:88px;text-align:center;line-height:14px;height:14px;position:absolute;top:34px;left:1px;right:1px}.element-value{display:none}.element-chip:hover{background:#3b82f614;border-radius:3px}.block-chip:hover{background:#fff;border-color:var(--state-off);border-radius:4px;box-shadow:0 0 0 2px #2563eb1f}.element-chip:hover>.chip-actions{display:flex}.branch-chip:hover>.chip-actions{display:none}.branch-chip.actions-open>.chip-actions{display:flex}.element-chip.drop-before:before,.element-chip.drop-after:before{content:"";position:absolute;top:10px;bottom:10px;width:18px;background:#3b82f62e;border:2px solid var(--state-off);border-radius:4px;z-index:5}.element-chip.drop-before:before{right:calc(100% + 6px)}.element-chip.drop-after:before{left:calc(100% + 6px)}.element-chip.drop-branch{background:#3b82f614;border-radius:4px;box-shadow:inset 0 0 0 2px var(--state-off)}.element-chip.drop-branch:before{content:"";position:absolute;left:-10px;right:-10px;top:22px;bottom:-20px;border-left:2px solid rgba(37,99,235,.42);border-right:2px solid rgba(37,99,235,.42);border-bottom:2px solid rgba(37,99,235,.42);border-radius:0 0 5px 5px;pointer-events:none;z-index:4}.element-chip.drop-branch:after{content:"";position:absolute;left:50%;bottom:-30px;width:30px;height:16px;transform:translate(-50%);background:#3b82f61a;border:2px solid rgba(37,99,235,.42);border-radius:4px;pointer-events:none;z-index:5}.contact-chip,.coil-chip{color:var(--state-off)}.block-chip{width:190px;height:auto;min-height:106px;border:2px solid #334155;border-radius:4px;background:#fff;color:#111827;padding:0 7px 7px;box-sizing:border-box}.branch-chip{width:auto;min-width:126px;height:auto;min-height:48px;align-items:stretch;border:0;border-radius:0;background:transparent;padding:0 14px;cursor:default}.element-chip.energized{color:var(--state-on)}.branch-chip.energized>.branch-paths>.branch-path.has-next>.branch-rail{background:var(--state-on)}.contact-chip .element-symbol,.coil-chip .element-symbol{color:var(--state-off)}.block-chip .element-symbol{color:#111827;top:-24px;left:50%;width:86px;height:22px;justify-content:center;transform:translate(-50%);background:transparent;border:0;padding:0;pointer-events:none}.block-chip .block-symbol{width:62px;height:22px}.block-details{width:100%;margin-top:42px;display:grid;gap:4px;color:#334155}.block-tag-line{position:absolute;top:10px;right:auto;left:8px;min-width:0;width:min(118px,calc(100% - 16px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:18px;font-weight:900;color:#172033;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc;padding:1px 20px 1px 7px;z-index:3}.block-tag-line:after{content:"";position:absolute;top:50%;right:8px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #334155;transform:translateY(-30%)}.block-tag-line.missing-tag{color:#b45309;background:#fffbeb;border:1px solid #fbbf24;border-radius:4px;padding:2px 4px}.block-io-grid{display:grid;gap:2px}.block-io-row{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:4px;font-size:9px;line-height:11px}.block-io-row span{color:#111827;font-weight:800}.block-io-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111827;font-weight:700}.block-io-row.output span,.block-io-row.output strong{color:#111827}.block-io-row.bool-off strong{color:var(--state-off)}.block-io-row.bool-on strong,.element-chip.energized .element-symbol,.element-chip.energized .element-tag,.element-chip.energized .element-value{color:var(--state-on)}.element-chip.energized.block-chip .element-symbol,.element-chip.energized.block-chip .block-io-row span,.element-chip.energized.block-chip .block-io-row strong{color:#111827}.chip-actions{display:none;align-items:center;gap:4px;position:absolute;top:-24px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:2px 4px;box-shadow:0 2px 8px #0000001f;z-index:20;white-space:nowrap}.chip-actions button{padding:2px 5px;font-size:10px;white-space:nowrap}.branch-paths{display:grid;grid-auto-rows:minmax(48px,auto);align-items:stretch;width:max-content;min-width:100%;position:relative;background:var(--ladder-surface)}.branch-path{min-width:100%;width:100%;display:flex;align-items:stretch;gap:4px;padding:0 12px;box-sizing:border-box;position:relative;font-size:11px;font-family:ui-monospace,monospace;border-radius:4px;transition:background .12s ease,box-shadow .12s ease}.branch-rail{position:absolute;top:24px;height:100%;width:2px;background:var(--state-off);pointer-events:none;z-index:3}.branch-rail-left{left:-6px}.branch-rail-right{right:-6px}.branch-path:before{content:"";position:absolute;top:24px;left:-6px;right:-6px;height:2px;background:var(--state-off);z-index:0}.branch-path.drag-over{background:#3b82f61f;box-shadow:inset 0 0 0 2px #3b82f6}.branch-path.empty-path.drag-over:after{content:"";position:absolute;left:36px;top:12px;width:24px;height:24px;background:#3b82f62e;border:2px solid var(--state-off);border-radius:4px;z-index:4}.branch-path .drop-zone{width:10px;height:48px;flex:0 0 10px;align-self:flex-start}.branch-path .drop-zone.active{flex-basis:20px}.branch-path>.branch-chip{flex:1 1 auto;align-self:flex-start;min-width:126px}.branch-path>.branch-chip>.branch-paths{width:100%}.floating-menu,.tag-popover{position:fixed;z-index:30;display:grid;gap:8px;width:260px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:12px;background:#fff;color:#172033;border:1px solid #94a3b8;border-radius:8px;box-shadow:0 14px 32px #0f172a29}.quick-add-menu{width:360px;max-height:min(520px,calc(100vh - 32px));grid-template-rows:auto minmax(0,1fr)}.quick-search{display:grid;gap:4px;font-size:11px;font-weight:700;color:#475569}.quick-search input{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:7px 9px;color:#172033;background:#fff}.element-chip:focus-visible{outline:2px solid #60a5fa;outline-offset:3px}.quick-menu-list{min-height:0;max-height:390px;overflow:auto;display:grid;gap:6px;padding-right:2px}.floating-menu button{display:grid;grid-template-columns:76px 52px 1fr;gap:8px;align-items:center;text-align:left}.quick-empty{color:#64748b;padding:12px;text-align:center}.quick-symbol{color:var(--state-off);display:inline-flex;justify-content:center}.quick-symbol-coil{color:var(--state-off)}.quick-symbol-timer,.quick-symbol-counter,.quick-symbol-comparison,.quick-symbol-math,.quick-symbol-res{color:#334155}.floating-menu small{color:#64748b}.tag-popover{position:fixed;z-index:30;display:grid;gap:8px;width:260px;max-height:calc(100vh - 20px);overflow-y:auto;padding:14px;background:#fff;border:1px solid #94a3b8;border-radius:8px;box-shadow:0 14px 32px #0f172a29}.tag-popover label{display:grid;gap:6px;font-size:12px;color:#475569;font-weight:700}.tag-popover input{border:1px solid #cbd5e1;border-radius:6px;padding:8px;color:#172033;background:#fff}.popover-title{font-size:13px;font-weight:700;color:#172033;padding-bottom:4px;border-bottom:1px solid #e2e8f0}.popover-actions{display:flex;justify-content:flex-end;gap:8px}.tag-input-wrapper{display:flex;align-items:stretch;border:2px solid #0f172a;border-radius:4px;overflow:hidden}.tag-input-wrapper input{flex:1;border:none;outline:none;padding:6px 8px;font-size:14px;font-family:inherit;min-width:0}.tag-dropdown-toggle{flex:0 0 28px;border:none;border-left:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:10px;color:#334155;display:flex;align-items:center;justify-content:center}.tag-dropdown-toggle:hover{background:#e2e8f0}.tag-dropdown-list{list-style:none;margin:4px 0 0;padding:0;max-height:120px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:4px;background:#fff;box-shadow:0 4px 12px #0000001a}.tag-dropdown-item{padding:6px 10px;font-size:13px;font-family:monospace;cursor:pointer;color:#334155}.tag-dropdown-item:hover{background:#e0e7ff;color:#3730a3}.tag-dropdown-item.selected{background:#eef2ff;font-weight:700}.tag-popover label{display:block;font-size:12px;font-weight:600;color:#64748b;margin-bottom:8px}.mode-selector{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:7px 9px;cursor:pointer;font-size:13px}.mode-selector:disabled{opacity:.55;cursor:not-allowed}.problem-picker{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:7px 9px;cursor:pointer;font-size:13px;min-width:200px}.problem-picker optgroup{font-weight:800;color:#334155}.problem-picker option{font-weight:400;color:#172033}.problem-picker-empty{font-size:13px;color:#64748b;padding:7px 9px}.results-modal{border:none;border-radius:12px;padding:0;width:520px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.results-modal::backdrop{background:#00000080}.results-modal-content{display:flex;flex-direction:column;max-height:80vh;background:#fff}.results-modal-title{margin:0;padding:20px 24px 16px;font-size:18px;font-weight:800;color:#0f172a;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:12px}.results-count{font-size:14px;font-weight:700;color:#64748b}.results-list{flex:1;overflow-y:auto;padding:12px 24px;display:grid;gap:8px}.results-row{display:grid;grid-template-columns:24px 1fr;gap:6px 8px;align-items:start;padding:10px 12px;border-radius:8px;border:1px solid #e2e8f0}.results-pass{background:#f0fdf4;border-color:#bbf7d0}.results-fail{background:#fff7ed;border-color:#fed7aa}.results-icon{font-size:16px;font-weight:800;line-height:1.5;text-align:center}.results-pass .results-icon{color:#16a34a}.results-fail .results-icon{color:#dc2626}.results-name{font-weight:700;font-size:14px;line-height:1.5}.results-failure-detail{grid-column:2;display:grid;gap:2px;font-size:12px;color:#64748b;margin-top:4px;padding:6px 8px;background:#fed7aa4d;border-radius:4px;border:1px solid #fed7aa}.results-modal-actions{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc;justify-content:flex-end}.results-modal-empty{padding:32px 24px;color:#64748b;text-align:center;font-size:14px}.results-btn-accept,.results-btn-run-again,.results-btn-try-again{border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;background:#fff;color:#172033}.results-btn-accept{background:#0f172a;color:#fff;border-color:#0f172a}.results-btn-run-again{background:#2563eb;color:#fff;border-color:#2563eb}.results-btn-accept:hover{background:#1e293b}.results-btn-run-again:hover{background:#1d4ed8}.results-btn-try-again:hover{background:#f1f5f9}.run-tests-button{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap}.run-tests-button:hover:not(:disabled){background:#1d4ed8}.run-tests-button:disabled{opacity:.75;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.run-tests-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;flex-shrink:0;animation:spin .7s linear infinite}.speed-selector{display:flex;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}.speed-btn{border:none;border-right:1px solid #cbd5e1;background:#fff;color:#475569;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;line-height:1}.speed-btn:last-child{border-right:none}.speed-btn.active{background:#1e3a8a;color:#fff}.speed-btn:hover:not(.active){background:#f1f5f9}.export-menu-container{position:relative}.export-menu-trigger{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:7px 9px;cursor:pointer;font-size:13px;white-space:nowrap}.export-menu-trigger:hover{background:#f1f5f9}.export-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:100;min-width:160px;overflow:hidden;display:flex;flex-direction:column}.export-dropdown button{border:none;background:#fff;color:#172033;padding:10px 14px;cursor:pointer;font-size:13px;text-align:left}.export-dropdown button:hover{background:#f1f5f9}.share-link-field{position:absolute;top:calc(100% + 4px);right:0;width:320px;border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px;font-size:12px;background:#0f172a;color:#fff;z-index:101;box-shadow:0 4px 16px #0000001f}.rung-editor-container{position:relative;min-width:0;min-height:0;height:100%;flex:1 1 auto;display:flex;flex-direction:column}.rung-editor-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0f172a1f;pointer-events:none}.rung-editor-lock-icon{font-size:32px;line-height:1}.rung-editor-lock-label{font-size:13px;font-weight:700;color:#334155;background:#ffffffeb;padding:4px 12px;border-radius:6px;box-shadow:0 1px 4px #0000001a}.hmi-field-device{--hmi-fd-surface: #ffffff;--hmi-fd-border: #94a3b8;--hmi-fd-ink: #172033;--hmi-fd-muted: #475569;--hmi-fd-metal: #cbd5e1;--hmi-fd-metal-dark: #64748b;--hmi-fd-stroke: #334155;--hmi-fd-control: #f1f5f9;--hmi-fd-control-border: #94a3b8;--hmi-fd-accent: #2563eb;--hmi-fd-on: #15803d;--hmi-fd-on-soft: #dcfce7;--hmi-fd-target: #f59e0b;--hmi-fd-lamp: #f59e0b;--hmi-fd-flow: #2563eb;--hmi-fd-fault: #b91c1c;--hmi-fd-fault-soft: #fee2e2;width:100%;height:100%;display:flex;flex-direction:column;gap:5px;padding:8px;box-sizing:border-box;border:1px solid var(--hmi-fd-border);border-radius:8px;background:var(--hmi-fd-surface);color:var(--hmi-fd-ink);font-size:11px;line-height:1.25;overflow:hidden}[data-theme=dark] .hmi-field-device{--hmi-fd-surface: #141c2b;--hmi-fd-border: #3a4a63;--hmi-fd-ink: #e5ecf5;--hmi-fd-muted: #aebdd0;--hmi-fd-metal: #52637f;--hmi-fd-metal-dark: #8699b3;--hmi-fd-stroke: #aebdd0;--hmi-fd-control: #1b2536;--hmi-fd-control-border: #52637f;--hmi-fd-accent: #60a5fa;--hmi-fd-on: #4ade80;--hmi-fd-on-soft: #14321f;--hmi-fd-target: #fbbf24;--hmi-fd-lamp: #fbbf24;--hmi-fd-flow: #60a5fa;--hmi-fd-fault: #fca5a5;--hmi-fd-fault-soft: #3b1418}.hmi-field-device-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}.hmi-field-device-head strong{min-width:0;overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.hmi-field-device-head small{flex:0 0 auto;color:var(--hmi-fd-muted);font-size:10px;font-weight:700}.hmi-field-device-graphic{flex:1 1 40px;width:100%;min-height:32px;max-height:72px;overflow:visible}.hmi-field-device-action{min-height:28px;padding:4px 8px;border:1px solid var(--hmi-fd-control-border);border-radius:6px;background:var(--hmi-fd-control);color:var(--hmi-fd-ink);font:inherit;font-weight:800;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.hmi-field-device-action[aria-pressed=true]{border-color:var(--hmi-fd-accent);box-shadow:inset 0 0 0 1px var(--hmi-fd-accent)}.hmi-field-device-action:focus-visible,.hmi-field-device-wiring label:focus-within{outline:2px solid var(--hmi-fd-accent);outline-offset:2px}.hmi-field-device-wiring{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0;padding:0;border:0;min-width:0}.hmi-field-device-wiring legend{padding:0 0 2px;color:var(--hmi-fd-muted);font-size:10px;font-weight:800}.hmi-field-device-wiring label{position:relative;display:flex;align-items:center;justify-content:center;min-height:24px;padding:2px 4px;border:1px solid var(--hmi-fd-control-border);border-radius:6px;background:var(--hmi-fd-control);color:var(--hmi-fd-ink);font-size:10px;font-weight:700;text-align:center;cursor:pointer}.hmi-field-device-wiring label.selected{border-color:var(--hmi-fd-accent);box-shadow:inset 0 0 0 1px var(--hmi-fd-accent);font-weight:900}.hmi-field-device-wiring input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.hmi-field-device-chain{display:grid;gap:1px;margin:0}.hmi-field-device-chain>div{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0}.hmi-field-device-chain dt{flex:0 0 auto;color:var(--hmi-fd-muted);font-weight:700;white-space:nowrap}.hmi-field-device-chain dd{min-width:0;margin:0;font-weight:800;text-align:right}.hmi-field-device-contact{display:flex;align-items:center;gap:4px;white-space:nowrap}.hmi-field-device-contact-symbol{width:28px;height:11px;overflow:visible}.hmi-field-device-bit{padding:0 5px;border-radius:4px;font-variant-numeric:tabular-nums;white-space:nowrap}.hmi-field-device-bit.on{background:var(--hmi-fd-on-soft);color:var(--hmi-fd-on)}.hmi-field-device.faulted{border-color:var(--hmi-fd-fault)}.hmi-field-device.faulted .hmi-field-device-graphic{min-height:18px}.hmi-field-device-fault dd{color:var(--hmi-fd-fault)}.hmi-field-device-bit.faulted{box-shadow:inset 0 0 0 1px var(--hmi-fd-fault)}.hmi-field-device-bit.faulted:not(.on){background:var(--hmi-fd-fault-soft);color:var(--hmi-fd-fault)}.hmi-field-device-graphic *{vector-effect:non-scaling-stroke}.hmi-fd-body,.hmi-fd-bezel{fill:var(--hmi-fd-metal);stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-cap{fill:var(--hmi-fd-metal-dark);stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-pushbutton .hmi-fd-cap{fill:#16a34a}.hmi-fd-tick,.hmi-fd-thread,.hmi-fd-pole,.hmi-fd-stem,.hmi-fd-pipe{fill:none;stroke:var(--hmi-fd-stroke);stroke-width:1.5;stroke-linecap:round}.hmi-fd-pipe{stroke-width:6;stroke:var(--hmi-fd-metal-dark)}.hmi-fd-lever{stroke:var(--hmi-fd-stroke);stroke-width:3;stroke-linecap:round}.hmi-fd-roller{fill:var(--hmi-fd-metal-dark);stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-target{fill:var(--hmi-fd-target);stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-proximity-sensor:not(.active) .hmi-fd-target{fill:none;stroke-dasharray:3 3}.hmi-fd-face{fill:var(--hmi-fd-metal-dark);stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-field{fill:none;stroke:var(--hmi-fd-accent);stroke-width:1.5;stroke-dasharray:2 3;opacity:.7}.hmi-fd-beam{fill:none;stroke:#ef4444;stroke-width:2;stroke-dasharray:5 3}.hmi-fd-glow{fill:var(--hmi-fd-lamp);opacity:0;transition:opacity .15s ease}.hmi-fd-lens{fill:var(--hmi-fd-metal);stroke:var(--hmi-fd-stroke);stroke-width:1.5;transition:fill .15s ease}.hmi-fd-lamp.active .hmi-fd-glow{opacity:.3}.hmi-fd-lamp.active .hmi-fd-lens{fill:var(--hmi-fd-lamp)}.hmi-fd-blade{fill:none;stroke:var(--hmi-fd-stroke);stroke-width:2;stroke-linecap:round}.hmi-fd-contactor.active .hmi-fd-blade,.hmi-field-device-contact-symbol.closed .hmi-fd-blade{stroke:var(--hmi-fd-on)}.hmi-fd-coil{fill:var(--hmi-fd-control);stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-contactor.active .hmi-fd-coil,.hmi-fd-solenoid-valve.active .hmi-fd-coil{fill:var(--hmi-fd-on-soft);stroke:var(--hmi-fd-on)}.hmi-fd-valve{fill:var(--hmi-fd-metal);stroke:var(--hmi-fd-stroke);stroke-width:1.5;stroke-linejoin:round}.hmi-fd-flow{fill:none;stroke:var(--hmi-fd-flow);stroke-width:2;stroke-dasharray:4 4;opacity:0}.hmi-fd-solenoid-valve.active .hmi-fd-flow{opacity:1;animation:hmi-fd-flow .6s linear infinite}.hmi-fd-wire{fill:none;stroke:var(--hmi-fd-stroke);stroke-width:1.5}.hmi-fd-terminal{fill:var(--hmi-fd-surface);stroke:var(--hmi-fd-stroke);stroke-width:1.2}@keyframes hmi-fd-flow{to{stroke-dashoffset:-8}}@media (prefers-reduced-motion: reduce){.hmi-fd-solenoid-valve.active .hmi-fd-flow{animation:none}.hmi-fd-glow,.hmi-fd-lens{transition:none}}.hmi-trend{--hmi-trend-surface: #ffffff;--hmi-trend-border: #94a3b8;--hmi-trend-ink: #172033;--hmi-trend-muted: #64748b;--hmi-trend-grid: #e2e8f0;--hmi-trend-crosshair: #94a3b8;--hmi-trend-pen-1: #2a78d6;--hmi-trend-pen-2: #eb6834;--hmi-trend-pen-3: #1baf7a;--hmi-trend-pen-4: #eda100;width:100%;height:100%;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:2px;padding:8px;box-sizing:border-box;border:1px solid var(--hmi-trend-border);border-radius:8px;background:var(--hmi-trend-surface);color:var(--hmi-trend-ink);font-size:11px;line-height:1.2;overflow:hidden}[data-theme=dark] .hmi-trend{--hmi-trend-surface: #141c2b;--hmi-trend-border: #3a4a63;--hmi-trend-ink: #e5ecf5;--hmi-trend-muted: #aebdd0;--hmi-trend-grid: #273345;--hmi-trend-crosshair: #8699b3;--hmi-trend-pen-1: #3987e5;--hmi-trend-pen-2: #d95926;--hmi-trend-pen-3: #199e70;--hmi-trend-pen-4: #c98500}.hmi-trend-header{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;min-height:16px}.hmi-trend-header strong{min-width:0;overflow:hidden;color:var(--hmi-trend-ink);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.hmi-trend-units{flex:0 0 auto;color:var(--hmi-trend-muted);font-weight:700}.hmi-trend-body{display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px;min-height:0}.hmi-trend-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:var(--hmi-trend-muted);font-size:10px;font-variant-numeric:tabular-nums;overflow:hidden}.hmi-trend-yaxis span:first-child{transform:translateY(-2px)}.hmi-trend-yaxis span:last-child{transform:translateY(2px)}.hmi-trend-plot{position:relative;min-width:0;min-height:0;border-left:1px solid var(--hmi-trend-border);border-bottom:1px solid var(--hmi-trend-border);cursor:crosshair}.hmi-trend-plot>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.hmi-trend-grid{stroke:var(--hmi-trend-grid);stroke-width:1;vector-effect:non-scaling-stroke}.hmi-trend-pen{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.hmi-trend-pen-1{stroke:var(--hmi-trend-pen-1)}.hmi-trend-pen-2{stroke:var(--hmi-trend-pen-2)}.hmi-trend-pen-3{stroke:var(--hmi-trend-pen-3)}.hmi-trend-pen-4{stroke:var(--hmi-trend-pen-4)}.hmi-trend-crosshair{stroke:var(--hmi-trend-crosshair);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.hmi-trend-marker{fill:var(--hmi-trend-surface);stroke-width:2;vector-effect:non-scaling-stroke}.hmi-trend-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:4px;color:var(--hmi-trend-muted);font-size:11px;text-align:center}.hmi-trend-xaxis{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;padding-left:34px;color:var(--hmi-trend-muted);font-size:10px;font-variant-numeric:tabular-nums}.hmi-trend-xaxis span:nth-child(2){color:var(--hmi-trend-ink);font-weight:700}.hmi-trend-xaxis span:last-child{text-align:right}.hmi-trend-legend{display:flex;flex-wrap:wrap;gap:1px 10px;margin:0;padding:0;list-style:none}.hmi-trend-legend li{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%}.hmi-trend-swatch{flex:0 0 18px;width:18px;height:6px;overflow:visible}.hmi-trend-swatch .hmi-trend-pen{stroke-width:2.5}.hmi-trend-pen-name{min-width:0;overflow:hidden;color:var(--hmi-trend-muted);text-overflow:ellipsis;white-space:nowrap}.hmi-trend-legend b{flex:0 0 auto;color:var(--hmi-trend-ink);font-variant-numeric:tabular-nums}.hmi-trend-range-flag{flex:0 0 auto;color:var(--hmi-trend-muted);font-size:10px;font-style:italic}@media (forced-colors: active){.hmi-trend-pen,.hmi-trend-marker{stroke:CanvasText}}.hmi-panel{--hmi-green: #22c55e;--hmi-red: #ef4444;--hmi-yellow: #eab308;--hmi-blue: #3b82f6;--hmi-gray: #6b7280;min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr) 280px;background:#e8eef6;overflow:hidden}.hmi-canvas{min-width:0;min-height:0;position:relative;overflow-y:auto;overflow-x:hidden;box-shadow:inset 0 0 0 1px #94a3b852}.hmi-canvas-grey{background-color:#d7e0ea;background-image:linear-gradient(90deg,rgb(30 58 95 / .08) 1px,transparent 1px),linear-gradient(0deg,rgb(30 58 95 / .08) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgb(15 23 42 / .18) 1px,transparent 0),linear-gradient(135deg,#f6f9fd,#d7e0ea 52%,#c5d0dc);background-size:80px 80px,80px 80px,20px 20px,100% 100%}.hmi-canvas-blue{background-color:#bfdbfe;background-image:linear-gradient(90deg,rgb(37 99 235 / .12) 1px,transparent 1px),linear-gradient(0deg,rgb(37 99 235 / .12) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgb(30 64 175 / .18) 1px,transparent 0),linear-gradient(135deg,#eff6ff,#bfdbfe 54%,#93c5fd);background-size:80px 80px,80px 80px,20px 20px,100% 100%}.hmi-canvas.drag-over{box-shadow:inset 0 0 0 2px var(--hmi-blue)}.hmi-canvas-label{position:absolute;top:0;left:0;z-index:4;padding:5px 9px;border:0;border-right:1px solid rgb(37 99 235 / .18);border-bottom:1px solid rgb(37 99 235 / .18);border-radius:0 0 8px;background:#ffffffd1;color:#1e3a5f;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 1px #ffffffbf,0 8px 22px #0f172a14;pointer-events:none}.hmi-background-picker{position:absolute;top:8px;right:10px;z-index:6;display:flex;align-items:center;gap:7px;padding:3px;border:1px solid rgb(51 65 85 / .18);border-radius:8px;background:#ffffffc7;box-shadow:inset 0 1px #ffffffb8,0 8px 20px #0f172a1a}.hmi-background-picker button{min-width:0;border:0;border-radius:6px;background:transparent;color:#334155;padding:5px 8px;font-size:11px;font-weight:900;line-height:1;cursor:pointer}.hmi-background-picker button.active{background:#1e3a5f;color:#f8fafc;box-shadow:0 2px 8px #0f172a2e}.hmi-widget-frame{position:absolute;display:grid;place-items:stretch;border:2px solid transparent;border-radius:0;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none}.hmi-widget-frame.selected{border:2px solid var(--hmi-blue);box-shadow:0 0 0 4px #3b82f629,0 14px 32px #0f172a21}.hmi-widget-frame:active{cursor:grabbing}.hmi-warning-badge{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--hmi-yellow);color:#111827;font-size:12px;font-weight:900;z-index:5}.hmi-resize-handle{position:absolute;background:var(--hmi-blue);border:2px solid #ffffff;box-shadow:0 0 0 1px #2563eb59,0 5px 14px #0f172a47;z-index:30;pointer-events:auto}.hmi-resize-handle:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.hmi-resize-handle.nw,.hmi-resize-handle.ne,.hmi-resize-handle.se,.hmi-resize-handle.sw{width:20px;height:20px;border-radius:6px}.hmi-resize-handle.nw{top:-11px;left:-11px;cursor:nwse-resize}.hmi-resize-handle.ne{top:-11px;right:-11px;cursor:nesw-resize}.hmi-resize-handle.sw{bottom:-11px;left:-11px;cursor:nesw-resize}.hmi-resize-handle.se{bottom:-11px;right:-11px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 0 38%,#ffffff 38% 47%,transparent 47% 58%,#ffffff 58% 67%,transparent 67%),var(--hmi-blue)}.hmi-resize-handle.n,.hmi-resize-handle.s{left:22px;right:22px;height:14px;border:0;border-radius:999px;background:#3b82f64d;box-shadow:inset 0 0 0 1px #3b82f62e;cursor:ns-resize}.hmi-resize-handle.n{top:-9px}.hmi-resize-handle.s{bottom:-9px}.hmi-resize-handle.e,.hmi-resize-handle.w{top:22px;bottom:22px;width:14px;border:0;border-radius:999px;background:#3b82f64d;box-shadow:inset 0 0 0 1px #3b82f62e;cursor:ew-resize}.hmi-resize-handle.e{right:-9px}.hmi-resize-handle.w{left:-9px}.hmi-widget-palette{min-width:280px;min-height:0;border-left:1px solid #334155;background:#f8fafc;display:flex;flex-direction:column}.hmi-palette-title{padding:12px;border-bottom:1px solid #e2e8f0;color:#172033;font-weight:900}.hmi-palette-list{flex:1 1 auto;min-height:0;display:grid;gap:8px;padding:12px;overflow:auto;align-content:start}.hmi-palette-item{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;border:1px solid #cbd5e1;border-radius:8px;min-height:60px;padding:9px 10px;background:#fff;color:#172033;cursor:grab}.hmi-palette-item:active{cursor:grabbing}.hmi-widget-icon{width:64px;height:38px;display:grid;place-items:center;color:var(--hmi-blue)}.hmi-palette-icon{width:64px;height:38px}.hmi-palette-icon.hmi-widget-icon-numeric-display{width:56px;height:30px;justify-self:center}.hmi-palette-icon b,.hmi-icon-numeric{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;color:#172033}.hmi-icon-numeric{display:grid;place-items:center;width:48px;height:28px;border:1px solid #94a3b8;border-radius:6px;background:linear-gradient(180deg,#f8fafc,#eaf2fb);box-shadow:inset 0 1px #ffffffd9;font-style:normal;font-weight:900;font-size:16px;line-height:1}.hmi-palette-item span:last-child{min-width:0;display:flex;align-items:center;height:100%}.hmi-palette-item strong{font-size:14px;line-height:1.15;overflow-wrap:anywhere}.hmi-icon-button,.hmi-icon-light,.hmi-icon-tank,.hmi-icon-conveyor,.hmi-icon-motor{display:block}.hmi-icon-button{width:32px;height:32px;border-radius:50%;background:var(--hmi-widget-color, var(--hmi-green));box-shadow:inset 0 -5px #0000002e,0 3px 8px #0003}.hmi-icon-light{width:28px;height:28px;border-radius:50%;background:var(--hmi-widget-color, var(--hmi-yellow));box-shadow:0 0 12px 4px color-mix(in srgb,var(--hmi-widget-color, var(--hmi-yellow)) 30%,transparent)}.hmi-icon-tank{width:46px;height:42px;overflow:visible}.hmi-icon-tank-shadow{fill:#0f172a1f;transform:translate(2px,2px)}.hmi-icon-tank-glass{fill:#f8fafc;stroke:#334155;stroke-width:2.4;stroke-linejoin:round}.hmi-icon-tank-fill{fill:var(--hmi-widget-color, var(--hmi-blue));stroke:none}.hmi-icon-tank-shine{fill:none;stroke:#ffffffad;stroke-width:2.2;stroke-linecap:round}.hmi-icon-conveyor{width:44px;height:22px;border:2px solid #334155;border-radius:4px;background:repeating-linear-gradient(135deg,#94a3b8 0,#94a3b8 8px,#e2e8f0 8px,#e2e8f0 16px)}.hmi-icon-motor{width:58px;height:34px;fill:#e2e8f0;stroke:#334155;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.hmi-icon-motor circle,.hmi-icon-motor path:last-child{fill:none;stroke:var(--hmi-blue);stroke-width:3}.hmi-icon-trend{display:block;width:58px;height:34px;fill:none;stroke-linecap:round;stroke-linejoin:round}.hmi-icon-trend-frame{fill:#fff;stroke:#334155;stroke-width:2}.hmi-icon-trend-grid{stroke:#cbd5e1;stroke-width:1}.hmi-icon-trend-pen-1{stroke:#2a78d6;stroke-width:2.5}.hmi-icon-trend-pen-2{stroke:#eb6834;stroke-width:2;stroke-dasharray:4 3}.hmi-icon-field-device{display:block;width:58px;height:34px;stroke-linecap:round;stroke-linejoin:round}.hmi-icon-field-device-body{fill:#cbd5e1;stroke:#334155;stroke-width:2}.hmi-icon-field-device-lever,.hmi-icon-field-device-wire{fill:none;stroke:#334155;stroke-width:2.5}.hmi-icon-field-device-wire{stroke-width:2}.hmi-icon-field-device-roller{fill:#64748b;stroke:#334155;stroke-width:2}.hmi-widget-icon.active .hmi-icon-button{box-shadow:inset 0 4px 6px #00000047,inset 0 -2px #ffffff2e,0 2px 6px #0000002e;filter:brightness(.92) contrast(1.08)}.hmi-widget-icon.active .hmi-icon-light{box-shadow:0 0 12px 4px color-mix(in srgb,var(--hmi-widget-color, var(--hmi-yellow)) 42%,transparent),0 0 22px 8px color-mix(in srgb,var(--hmi-widget-color, var(--hmi-yellow)) 24%,transparent);filter:saturate(1.2) brightness(1.08)}.hmi-widget-icon.active .hmi-icon-conveyor{background:repeating-linear-gradient(135deg,var(--hmi-green) 0 8px,#bbf7d0 8px 16px);box-shadow:0 0 10px #22c55e3d}.hmi-widget-icon.active .hmi-icon-motor circle,.hmi-widget-icon.active .hmi-icon-motor path:last-child{stroke:var(--hmi-green)}.hmi-pushbutton{width:100%;height:100%;border:0;background:transparent;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:center;justify-items:center;gap:4px;padding:6px 4px;box-sizing:border-box;color:#f8fafc;cursor:pointer;transition:transform .12s ease}.hmi-canvas-widget-icon{width:min(76%,150px);height:100%;min-width:36px;min-height:28px;justify-self:center;align-self:center}.hmi-canvas-widget-icon .hmi-icon-button,.hmi-canvas-widget-icon .hmi-icon-light{width:min(100%,72px);height:min(100%,72px);aspect-ratio:1}.hmi-widget-frame:has(>.hmi-pushbutton),.hmi-indicator{container-type:size}.hmi-pushbutton .hmi-canvas-widget-icon{min-height:18px}.hmi-pushbutton .hmi-canvas-widget-icon .hmi-icon-button{width:min(100%,72px,max(18px,calc(100cqh - 50px)));height:auto}.hmi-indicator .hmi-canvas-widget-icon .hmi-icon-light{width:min(100%,72px,max(18px,calc(100cqh - 26px)));height:auto}@container (max-height: 84px){.hmi-pushbutton{grid-template-rows:minmax(0,1fr) auto;padding-block:2px}.hmi-pushbutton small{display:none}.hmi-pushbutton .hmi-canvas-widget-icon .hmi-icon-button{width:min(100%,72px,max(18px,calc(100cqh - 26px)))}}.hmi-canvas-widget-icon .hmi-icon-numeric{width:min(100%,92px);height:min(100%,44px);padding:0 6px;box-sizing:border-box;overflow:hidden;font-size:clamp(12px,34%,22px);white-space:nowrap}.hmi-canvas-widget-icon .hmi-icon-motor{width:min(100%,116px);height:auto;max-height:none;filter:none}.hmi-canvas-widget-icon .hmi-icon-tank{width:100%;height:100%;max-height:none;filter:none}.hmi-canvas-widget-icon .hmi-icon-conveyor{width:min(100%,104px);height:min(100%,44px)}.hmi-tank .hmi-canvas-widget-icon{width:100%;height:100%}.hmi-tank .hmi-canvas-widget-icon .hmi-icon-tank{width:100%;height:100%;max-height:none;filter:none}.hmi-pushbutton-base{width:clamp(36px,70%,170px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 24%,rgb(255 255 255 / .82) 0 8%,transparent 20%),linear-gradient(145deg,#f8fafc,#cbd5e1,#64748b 56%,#263445);box-shadow:inset 0 3px 4px #ffffffc2,inset 0 -8px 10px #0f172a6b,0 1px #ffffffd1,0 11px 18px #0f172a42;transition:transform .12s ease,box-shadow .12s ease}.hmi-pushbutton-face{width:76%;aspect-ratio:1;border-radius:50%;display:block;position:relative;overflow:hidden;background:radial-gradient(circle at 35% 25%,rgb(255 255 255 / .56) 0 9%,transparent 24%),radial-gradient(circle at 50% 50%,transparent 0 48%,color-mix(in srgb,var(--hmi-widget-color) 60%,#020617) 76%),linear-gradient(145deg,color-mix(in srgb,var(--hmi-widget-color) 88%,#ffffff) 0%,var(--hmi-widget-color) 44%,color-mix(in srgb,var(--hmi-widget-color) 76%,#020617) 100%);box-shadow:inset 0 4px #ffffff3d,inset 0 -12px 10px #00000057,0 0 0 2px #0f172a4d,0 7px 12px #0f172a57;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}.hmi-pushbutton-highlight{position:absolute;inset:13% 23% auto;height:18%;border-radius:50%;background:linear-gradient(180deg,#ffffffad,#ffffff2e);filter:blur(1px)}.hmi-pushbutton.pressed{transform:none}.hmi-pushbutton.pressed .hmi-pushbutton-base{transform:none;box-shadow:inset 0 4px 7px #0f172a57,inset 0 -3px 6px #ffffff29,0 1px #ffffffb8,0 10px 16px #0f172a3d}.hmi-pushbutton.pressed .hmi-pushbutton-face{transform:none;background:radial-gradient(circle at 50% 40%,rgb(255 255 255 / .16) 0 8%,transparent 22%),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--hmi-widget-color) 84%,#ffffff) 0 18%,var(--hmi-widget-color) 42%,color-mix(in srgb,var(--hmi-widget-color) 58%,#020617) 100%);box-shadow:inset 0 0 18px #00000080,inset 0 5px 10px #00000057,inset 0 -2px 2px #ffffff14,0 0 0 3px #0f172a70,0 1px 2px #0003;filter:saturate(1.05) brightness(.9) contrast(1.12)}.hmi-pushbutton strong,.hmi-indicator strong,.hmi-motor strong,.hmi-tank strong,.hmi-conveyor strong{min-height:15px;max-width:100%;color:#172033;text-shadow:0 1px 0 rgb(255 255 255 / .52);font-size:13px;text-align:center;line-height:1.2;overflow-wrap:anywhere}.hmi-pushbutton small{min-height:12px;max-width:100%;color:#475569;font-size:10px;line-height:1.1;overflow-wrap:anywhere}.hmi-indicator{width:100%;height:100%;display:grid;place-items:center;gap:7px}.hmi-indicator-housing{width:min(70px,68%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 33% 24%,rgb(255 255 255 / .78) 0 8%,transparent 20%),linear-gradient(145deg,#f8fafc,#cbd5e1 30%,#64748b 58%,#263445);box-shadow:inset 0 3px 4px #ffffffc7,inset 0 -7px 9px #0f172a6b,0 1px #ffffffb8,0 8px 15px #0f172a38}.hmi-indicator-lens{width:72%;aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 34% 24%,rgb(255 255 255 / .48) 0 8%,transparent 25%),radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--hmi-widget-color) 58%,#ffffff),color-mix(in srgb,var(--hmi-widget-color) 72%,#1f2937) 58%,color-mix(in srgb,var(--hmi-widget-color) 56%,#020617));box-shadow:inset 0 3px #ffffff2e,inset 0 -8px 10px #0000006b,0 0 0 2px #0f172a47;transition:box-shadow .2s ease,filter .2s ease,transform .2s ease;filter:saturate(.7) brightness(.82) contrast(1.06)}.hmi-indicator-glint{position:absolute;top:15%;left:22%;width:26%;height:18%;border-radius:50%;background:#ffffff7a;filter:blur(.5px)}.hmi-indicator.active .hmi-indicator-lens{filter:saturate(1.45) brightness(1.12) contrast(1.08);background:radial-gradient(circle at 34% 24%,rgb(255 255 255 / .82) 0 10%,transparent 27%),radial-gradient(circle at 50% 58%,color-mix(in srgb,var(--hmi-widget-color) 92%,#ffffff) 0%,var(--hmi-widget-color) 52%,color-mix(in srgb,var(--hmi-widget-color) 74%,#020617) 100%);box-shadow:inset 0 3px #ffffff47,inset 0 -8px 9px #00000038,0 0 0 2px #0f172a38,0 0 14px 5px color-mix(in srgb,var(--hmi-widget-color) 48%,transparent),0 0 28px 8px color-mix(in srgb,var(--hmi-widget-color) 28%,transparent);animation:hmi-lens-pulse 1.4s ease-in-out infinite}.hmi-numeric-display{width:100%;height:100%;display:grid;place-items:center;gap:7px;padding:4px;box-sizing:border-box}.hmi-numeric-label{color:#172033;font-size:13px;font-weight:800;text-align:center;line-height:1.15;text-shadow:0 1px 0 rgb(255 255 255 / .52)}.hmi-numeric-display small,.hmi-tank small{color:#475569;font-size:10px;font-weight:800}.hmi-motor{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.hmi-motor>svg{width:100%;height:auto;max-height:calc(100% - 18px);flex:0 1 auto;min-height:0;filter:drop-shadow(0 10px 15px rgb(15 23 42 / .2));overflow:visible}.hmi-motor .hmi-canvas-widget-icon .hmi-icon-motor,.hmi-tank .hmi-canvas-widget-icon .hmi-icon-tank{width:100%;height:100%;max-height:none;filter:none}.hmi-motor-shadow{fill:#0f172a24}.hmi-motor-body{stroke:#dbeafe;stroke-width:2.5;transition:filter .2s ease}.hmi-motor.running .hmi-motor-body{filter:drop-shadow(0 0 10px rgb(34 197 94 / .32))}.hmi-motor-endcap,.hmi-motor-foot{fill:#334155;stroke:#dbeafe;stroke-width:2.5;stroke-linejoin:round}.hmi-motor-body-shine{fill:none;stroke:#ffffff6b;stroke-width:4;stroke-linecap:round}.hmi-motor-shaft{fill:none;stroke:#cbd5e1;stroke-width:6;stroke-linecap:round}.hmi-motor-bearing{fill:#0f172a;stroke:#dbeafe;stroke-width:3}.hmi-motor-rotor{transform-origin:57px 45px;fill:none;stroke:#f8fafc;stroke-width:3.5;stroke-linecap:round}.hmi-motor.running .hmi-motor-rotor{animation:hmi-rotate .85s linear infinite}.hmi-tank{width:100%;height:100%;display:grid;grid-template-rows:1fr auto auto;align-content:stretch;align-items:center;justify-content:center;justify-items:center;gap:0;padding:4px 0;box-sizing:border-box}.hmi-tank>svg{width:100%;height:auto;max-height:calc(100% - 14px);flex:0 1 auto;min-height:0;filter:drop-shadow(0 9px 16px rgb(15 23 42 / .16));overflow:visible}.hmi-motor strong,.hmi-tank strong{margin-top:0}.hmi-tank-shadow{fill:#0f172a29;transform:translate(4px,4px)}.hmi-tank-glass{stroke:#24364f;stroke-width:3}.hmi-tank-cap,.hmi-tank-base{fill:#dbeafe;stroke:#24364f;stroke-width:3;stroke-linejoin:round}.hmi-tank-frame{fill:none;stroke:#24364f;stroke-width:3}.hmi-tank-fill{fill:var(--hmi-widget-color);opacity:.86;transition:height .45s ease,y .45s ease}.hmi-tank-liquid-surface{fill:color-mix(in srgb,var(--hmi-widget-color) 78%,#ffffff);transition:d .45s ease;animation:hmi-liquid-sway 2.6s ease-in-out infinite}.hmi-tank-highlight{fill:#ffffff6b}.hmi-tank-rim,.hmi-tank-ticks{fill:none;stroke:#24364f75;stroke-width:2;stroke-linecap:round}.hmi-tank-rim{stroke:#ffffff6b}.hmi-tank text{fill:#0f172a;font-weight:900;text-anchor:middle;font-family:inherit;paint-order:stroke;stroke:#ffffffe6;stroke-width:4px}.hmi-tank-percent{font-size:16px}.hmi-conveyor{width:100%;height:100%;display:grid;grid-template-rows:1fr auto;gap:7px;align-items:center;position:relative}.hmi-conveyor-frame{align-self:center;min-height:44px;display:grid;align-items:center;padding:7px 10px;border:2px solid #334155;border-radius:8px;background:linear-gradient(180deg,#e2e8f0,#94a3b8 48%,#475569);box-shadow:inset 0 2px #ffffff85,0 9px 16px #0f172a29}.hmi-conveyor-belt{position:relative;height:30px;border:2px solid #172033;border-radius:6px;overflow:hidden;background-color:#475569;background-image:repeating-linear-gradient(135deg,rgb(255 255 255 / .28) 0 9px,transparent 9px 18px),linear-gradient(180deg,rgb(255 255 255 / .18),transparent 42%);background-size:26px 26px,100% 100%}.hmi-conveyor-belt-shine{position:absolute;inset:3px 8px auto;height:5px;border-radius:999px;background:#ffffff47}.hmi-conveyor.running .hmi-conveyor-belt{background-color:color-mix(in srgb,var(--hmi-green) 74%,#1f2937);animation:hmi-conveyor-scroll .42s linear infinite;box-shadow:0 0 12px #22c55e33}.hmi-conveyor-rollers{position:absolute;left:18px;right:18px;bottom:23px;display:flex;justify-content:space-between;pointer-events:none}.hmi-conveyor-rollers span{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f8fafc 0 10%,transparent 12%),radial-gradient(circle,#64748b 0,#64748b 28%,#0f172a 30%,#0f172a);border:2px solid #e5e7eb;box-shadow:0 2px 4px #0f172a42}.hmi-conveyor.running .hmi-conveyor-rollers span{animation:hmi-rotate .42s linear infinite}.hmi-config-popover{position:absolute;width:280px;display:grid;gap:10px;z-index:20;padding:12px;border:1px solid #334155;border-radius:10px;background:#f8fafc;color:#172033;box-shadow:0 18px 48px #00000059;max-height:calc(100vh - 48px);overflow-y:auto}.hmi-config-popover .hmi-checkbox-field{display:flex;align-items:center;gap:8px}.hmi-config-popover .hmi-checkbox-field input{width:auto;margin:0}.hmi-config-popover .hmi-field-hint{margin:-4px 0 0;color:#64748b;font-size:11px;font-weight:600}.hmi-config-popover header{display:flex;align-items:center;justify-content:space-between}.hmi-config-popover button,.hmi-config-popover input,.hmi-config-popover select{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:6px 8px}.hmi-config-popover label{display:grid;gap:4px;font-size:12px;font-weight:800;color:#475569}.hmi-config-popover .binding-field-wrapper{position:relative}.hmi-numeric-input{display:grid;align-content:center;gap:7px;width:100%;height:100%;padding:10px;border:1px solid #94a3b8;border-radius:8px;background:#f8fafc;color:#334155;font-size:11px;font-weight:800}.hmi-numeric-input>div{display:flex;align-items:center;gap:6px}.hmi-numeric-input input{width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:5px;padding:5px 6px;background:#fff;color:#0f172a;font-weight:750}.hmi-numeric-input small{color:#64748b}.hmi-binding-input-wrapper{display:flex;align-items:stretch;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;background:#fff}.hmi-config-popover .hmi-binding-input{flex:1 1 auto;min-width:0;border:0;border-radius:0;padding:7px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.hmi-config-popover .hmi-binding-input:focus{outline:none}.hmi-binding-input-wrapper:focus-within{border-color:var(--hmi-blue);box-shadow:0 0 0 2px #3b82f624}.hmi-config-popover .hmi-binding-dropdown-toggle{flex:0 0 30px;border:0;border-left:1px solid #e2e8f0;border-radius:0;padding:0;background:#f8fafc;color:#334155;font-size:11px}.hmi-config-popover .hmi-binding-dropdown-toggle:hover{background:#e2e8f0}.hmi-binding-dropdown-list{list-style:none;margin:4px 0 0;padding:0;max-height:150px;overflow-y:auto;border:1px solid #cbd5e1;border-radius:6px;background:#fff;box-shadow:0 10px 24px #0f172a24}.hmi-binding-dropdown-list .tag-dropdown-item{display:grid;gap:2px;padding:7px 9px;cursor:pointer}.hmi-binding-dropdown-list .tag-dropdown-item:hover{background:#e0e7ff}.hmi-binding-dropdown-list .tag-dropdown-item.selected{background:#eef2ff}.hmi-binding-dropdown-list .tag-dropdown-item strong{color:#172033;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.hmi-binding-dropdown-list .tag-dropdown-item small,.tag-dropdown-empty{color:#64748b;font-size:11px}.tag-dropdown-empty{display:block;padding:9px}.hmi-config-popover .binding-field-select{width:100%;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font-size:13px;cursor:pointer}.hmi-delete-widget{border-color:#fecaca!important;background:#fff7f7!important;color:#991b1b!important}@keyframes hmi-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hmi-conveyor-scroll{0%{background-position:0 0}to{background-position:26px 0}}@keyframes hmi-lens-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes hmi-liquid-sway{0%,to{transform:translate(0)}50%{transform:translate(1.5px)}}.panel-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px;height:100%;overflow:auto}.panel-section,.problem-panel,.test-panel,.table-panel{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:12px;color:#172033}.panel-section h3,.problem-panel h3{margin:0 0 10px;color:#334155}.io-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:10px;color:#172033}.io-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.io-panel-header h3{margin:0;color:#334155}.io-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.io-summary span{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:11px;font-weight:800;padding:4px 8px}.io-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;min-height:0;overflow:auto;align-content:start}.io-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border:1px solid #cbd5e1;border-left-width:4px;border-radius:6px;background:#fff;padding:8px 10px}.io-row-input,.io-row-output{border-left-color:var(--state-off)}.io-row-internal{border-left-color:#64748b}.io-row-system{border-left-color:#334155}.io-tag-meta{display:grid;gap:2px;min-width:0}.io-tag-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.io-tag-meta span{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px}.io-tag-meta b{color:#334155;font-size:10px;letter-spacing:0}.bool-inputs{display:flex;align-items:center;gap:8px}.switch input{display:none}.switch span{display:block;width:42px;height:22px;border-radius:999px;background:var(--state-off);position:relative}.switch span:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .12s ease}.switch input:checked+span{background:var(--state-on)}.switch input:checked+span:after{transform:translate(20px)}.momentary,.panel-actions button,.table-panel button,.test-panel button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:6px 9px;cursor:pointer}.indicator{width:18px;height:18px;border-radius:50%;background:var(--state-off);box-shadow:0 0 0 2px var(--state-off-border)}.indicator.on{background:var(--state-on);box-shadow:0 0 0 2px var(--state-on-border),0 0 16px color-mix(in srgb,var(--state-on) 42%,transparent)}.numeric-input,.numeric-display,.structured-display,.table-panel input,.table-panel select{border:1px solid #cbd5e1;border-radius:6px;padding:7px 8px;background:#fff;min-width:92px}.numeric-display,.structured-display{background:#f8fafc}.structured-editor{min-width:190px;display:grid;gap:6px}.structured-preset{display:grid;grid-template-columns:78px minmax(74px,1fr);align-items:center;gap:6px;color:#475569;font-size:11px;font-weight:800}.structured-preset input{min-width:0;width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:5px 7px;color:#172033}.structured-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;font-size:11px;color:#475569}.structured-status span{min-width:0;display:flex;justify-content:space-between;gap:6px}.structured-status b{color:#334155;font-weight:800}.structured-status strong,.bool-text-on,.bool-text-off{font-weight:800}.bool-text-on{color:var(--state-on)}.bool-text-off{color:var(--state-off)}.structured-flags{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11px;color:#475569}.structured-flags label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.structured-flags input{width:13px;height:13px;accent-color:var(--state-on)}.structured-flags .bool-field.on,.tag-structured-flags .bool-field.on{color:var(--state-on)}.structured-flags .bool-field.off,.tag-structured-flags .bool-field.off{color:var(--state-off)}.table-panel{height:100%;overflow:auto}.panel-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.table-panel table{width:100%;table-layout:fixed;border-collapse:collapse}.table-panel th,.table-panel td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left;vertical-align:middle}.table-panel th button{border:0;padding:0;background:transparent;font-weight:800;color:#334155}.forced-row{background:#fffbeb}.tag-table input{width:100%;min-width:0;font-size:12px;padding:4px 6px}.tag-table select{font-size:12px;padding:4px;width:100%;min-width:0}.tag-table td,.tag-table th{padding:5px 6px;font-size:12px}.tag-table .col-name{width:32%}.tag-table .col-type{width:96px}.tag-table .col-value{width:auto;min-width:0}.tag-table .col-delete{width:28px;text-align:center}.tag-table .col-name input{width:100%;min-width:0;box-sizing:border-box}.tag-table td,.tag-table th{overflow:visible}.tag-table input,.tag-table select{max-width:100%;box-sizing:border-box}.tag-table .col-value>*{min-width:0}.tag-table .tag-retentive{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:11px;cursor:pointer}.tag-table .tag-retentive input{width:auto;margin:0;accent-color:var(--state-on)}.tag-table .col-delete button{width:22px;height:22px;padding:0;line-height:1}.tag-add-row td{padding:8px 6px!important}.tag-add-inline{width:100%;padding:6px 0;border:1px dashed #cbd5e1;border-radius:6px;background:transparent;color:#64748b;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.tag-add-inline:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.bool-toggle{border:1px solid #cbd5e1;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer;width:100%}.bool-toggle.on{background:var(--state-on-soft);color:var(--state-on);border-color:var(--state-on)}.bool-toggle.off{background:var(--state-off-soft);color:var(--state-off);border-color:var(--state-off)}.value-input{width:100%;font-size:12px;padding:3px 6px;border:1px solid #cbd5e1;border-radius:4px}.value-display{font-size:11px;color:#475569}.force-cell{display:grid;grid-template-columns:20px minmax(86px,1fr);gap:6px;align-items:center}.force-cell input[type=checkbox]{width:16px}.tag-structured-cell{display:grid;gap:5px;min-width:0}.tag-structured-cell label{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:2px;color:#475569;font-size:10px;font-weight:800}.tag-structured-cell input[type=number]{min-width:0;width:100%;border:1px solid #cbd5e1;border-radius:4px;padding:3px 4px;font-size:11px}.tag-structured-flags{display:flex;flex-wrap:wrap;gap:4px 8px;color:#475569;font-size:10px;font-weight:800}.tag-structured-flags label{display:inline-flex;grid-template-columns:none;gap:3px;align-items:center;white-space:nowrap}.tag-structured-flags input{width:13px;accent-color:var(--state-on)}.tag-structured-reset{border:1px solid #cbd5e1;border-radius:5px;padding:3px 6px;background:#fff;color:#475569;font-size:10px;font-weight:800;cursor:pointer}.tag-counter-toggle{width:auto;min-width:66px;padding:3px 8px}.tag-structured-reset{color:#334155;background:#f8fafc;border-color:#cbd5e1}.problem-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px}.problem-title-row h2{margin:0}.problem-title-row span{font-size:12px;font-weight:600;white-space:nowrap;padding:4px 10px;border-radius:12px}.problem-status.completed{color:#15803d;background:#dcfce7}.problem-status.incomplete{color:#64748b;background:#f1f5f9}.problem-panel ul{padding-left:20px}.tag-pill-list{display:flex;flex-wrap:wrap;gap:6px}.tag-pill-list span{background:var(--state-off-soft);border:1px solid var(--state-off-border);color:var(--state-off);border-radius:999px;padding:4px 8px;font-size:12px}.test-list{display:grid;gap:8px}.test-list details{border:1px solid #cbd5e1;border-radius:8px;padding:8px}.test-list summary{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;cursor:pointer}.passed-test{background:var(--state-on-soft)}.failed-test{background:#fff7ed}.failure-row{display:grid;gap:4px;border-top:1px solid #fed7aa;padding-top:8px;margin-top:8px}.empty-panel-text{color:#64748b;font-size:13px}.problem-run-tests-btn{display:inline-block;margin-top:16px;padding:7px 18px;border:none;border-radius:6px;background:#2563eb;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.problem-run-tests-btn:hover{background:#1d4ed8}.problem-run-tests-btn:disabled{background:#94a3b8;cursor:not-allowed}.ppd-container{position:relative}.ppd-trigger{display:flex;align-items:center;gap:6px;min-width:200px;max-width:280px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:7px 9px;cursor:pointer;font-size:13px;text-align:left}.ppd-trigger:hover:not(:disabled){border-color:#94a3b8}.ppd-trigger:disabled{opacity:.55;cursor:not-allowed}.ppd-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ppd-trigger-arrow{flex-shrink:0;font-size:10px;color:#64748b;transition:transform .15s}.ppd-trigger[aria-expanded=true] .ppd-trigger-arrow{transform:rotate(180deg)}.ppd-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:150;min-width:280px;max-height:360px;overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px #0f172a24;padding:4px 0}.ppd-family-header{padding:7px 12px 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.ppd-item{display:flex;align-items:center;gap:7px;width:100%;padding:7px 12px 7px 20px;border:none;background:none;color:#1e293b;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap}.ppd-item:hover,.ppd-item:focus{background:#f1f5f9;outline:none}.ppd-item[aria-selected=true]{background:#eff6ff;color:#1d4ed8;font-weight:700}.ppd-star{font-size:13px;flex-shrink:0;color:#f59e0b}.ppd-star-empty{color:#cbd5e1}.ppd-empty{font-size:13px;color:#64748b;padding:7px 9px}.sim-back-to-unit{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 10px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.sim-back-to-unit:hover{border-color:#93c5fd;background:#dbeafe}.sim-back-to-unit:focus-visible,.sim-deep-link-notice a:focus-visible,.sim-deep-link-notice button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.sim-deep-link-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px 16px;margin:8px 8px 0;padding:10px 12px;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:6px;background:#fffbeb;color:#78350f;font-size:13px;line-height:1.45}.sim-deep-link-notice p{flex:1 1 280px;min-width:0;margin:0;overflow-wrap:anywhere}.sim-deep-link-notice__actions{display:flex;align-items:center;gap:10px}.sim-deep-link-notice a{color:#92400e;font-weight:700}.sim-deep-link-notice button{padding:5px 9px;border:1px solid #fcd34d;border-radius:6px;background:#fff;color:#78350f;font-size:12px;font-weight:700;cursor:pointer}[data-theme=dark] .sim-back-to-unit{border-color:#1e40af;background:#172554;color:#93c5fd}[data-theme=dark] .sim-back-to-unit:hover{border-color:#3b82f6;background:#1e3a8a}[data-theme=dark] .sim-back-to-unit:focus-visible,[data-theme=dark] .sim-deep-link-notice a:focus-visible,[data-theme=dark] .sim-deep-link-notice button:focus-visible{outline-color:#60a5fa}[data-theme=dark] .sim-deep-link-notice{border-color:#854d0e;border-left-color:#f59e0b;background:#3a2e0a;color:#fde68a}[data-theme=dark] .sim-deep-link-notice a{color:#fcd34d}[data-theme=dark] .sim-deep-link-notice button{border-color:#854d0e;background:#1b2536;color:#fde68a}.app-shell{min-width:1280px;height:100%;min-height:0;display:grid;grid-template-rows:auto auto 1fr auto;background:#dbe4ee;color:#172033}.top-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #cbd5e1;box-shadow:0 1px 3px #0f172a14}.brand{font-weight:800;color:#0f172a;margin-right:8px;white-space:nowrap}.top-bar label{display:flex;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:700}.top-bar select,.top-bar button,.import-button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;padding:7px 9px;cursor:pointer;font-size:13px}.clear-all-button{font-weight:800}.clear-all-confirmation{display:flex;align-items:center;gap:6px;max-width:420px;padding:4px 6px;border:1px solid #fecaca;border-radius:6px;background:#fff7f7;color:#991b1b;font-size:12px;font-weight:800}.clear-all-confirmation span{min-width:0;overflow-wrap:anywhere}.clear-all-confirmation .danger-button{border-color:#ef4444;background:#fee2e2;color:#991b1b;font-weight:900}.top-bar button:disabled{opacity:.55;cursor:not-allowed}.sim-controls,.view-mode-controls,.zoom-controls{display:flex;align-items:center;gap:6px;border-left:1px solid #e2e8f0;padding-left:10px}.sim-controls{border-right:1px solid #e2e8f0;padding-right:10px}.view-mode-controls button.active{border-color:var(--state-off);background:var(--state-off-soft);color:var(--state-off);font-weight:800}.zoom-controls span,.sim-controls span{min-width:auto;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.import-button input{display:none}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font-size:16px;cursor:pointer;padding:0;flex-shrink:0}.icon-btn:hover:not(:disabled){background:#f1f5f9}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.share-link{position:absolute;right:16px;top:58px;max-width:520px;z-index:40;padding:8px 10px;background:#0f172a;color:#fff;border-radius:6px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:copy}.workspace{min-height:0;height:100%;display:grid;grid-template-columns:380px minmax(0,1fr)}.left-panel{min-width:0;border-right:1px solid #cbd5e1;background:#f8fafc;display:grid;grid-template-rows:auto 1fr}.left-panel-title{padding:12px;background:#eef2f7;border-bottom:1px solid #cbd5e1;font-weight:800;color:#334155}.panel-tabs{display:flex;gap:6px;padding:8px;background:#eef2f7;border-bottom:1px solid #cbd5e1}.panel-tabs button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;padding:7px 10px;cursor:pointer}.panel-tabs button.active{border-color:var(--state-off);background:var(--state-off-soft);color:var(--state-off)}.left-panel-content{min-height:0;min-width:0;overflow:auto;padding:10px}.center-panel{min-width:0;min-height:0;width:100%;height:100%;display:grid;grid-template-rows:1fr 0}.center-panel[data-view=full-ladder]{grid-template-rows:1fr 0}.center-panel[data-view=split-h]{grid-template-rows:3fr 2fr}.center-panel[data-view=split-v]{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.center-panel[data-view=full-hmi]{grid-template-rows:0 1fr}.ladder-work-area{min-width:0;min-height:0;width:100%;height:100%;flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden}.hmi-work-area{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden}.center-panel[data-view=split-h] .instruction-palette .palette-list,.center-panel[data-view=split-v] .instruction-palette .palette-list,.center-panel[data-view=split-h] .hmi-palette-list,.center-panel[data-view=split-v] .hmi-palette-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.center-panel[data-view=split-h] .instruction-palette .palette-item,.center-panel[data-view=split-v] .instruction-palette .palette-item,.center-panel[data-view=split-h] .hmi-palette-item,.center-panel[data-view=split-v] .hmi-palette-item{grid-template-columns:minmax(0,1fr);justify-items:center;align-content:center;gap:6px;min-height:82px;padding:8px 6px;text-align:center}.center-panel[data-view=split-h] .instruction-palette .palette-icon,.center-panel[data-view=split-v] .instruction-palette .palette-icon,.center-panel[data-view=split-h] .hmi-palette-icon,.center-panel[data-view=split-v] .hmi-palette-icon{min-width:0;width:100%;height:34px}.center-panel[data-view=split-h] .instruction-palette .palette-copy,.center-panel[data-view=split-v] .instruction-palette .palette-copy,.center-panel[data-view=split-h] .hmi-palette-item span:last-child,.center-panel[data-view=split-v] .hmi-palette-item span:last-child{justify-items:center;justify-content:center;min-width:0;width:100%;height:auto}.center-panel[data-view=split-h] .instruction-palette .palette-copy strong,.center-panel[data-view=split-v] .instruction-palette .palette-copy strong,.center-panel[data-view=split-h] .hmi-palette-item strong,.center-panel[data-view=split-v] .hmi-palette-item strong{font-size:12px;line-height:1.1}.center-panel[data-view=split-h] .instruction-palette .palette-copy small,.center-panel[data-view=split-v] .instruction-palette .palette-copy small{font-size:10px;line-height:1.1}.center-panel[data-view=split-h] .instruction-palette .palette-timer,.center-panel[data-view=split-v] .instruction-palette .palette-timer,.center-panel[data-view=split-h] .instruction-palette .palette-counter,.center-panel[data-view=split-v] .instruction-palette .palette-counter,.center-panel[data-view=split-h] .instruction-palette .palette-comparison,.center-panel[data-view=split-v] .instruction-palette .palette-comparison,.center-panel[data-view=split-h] .instruction-palette .palette-math,.center-panel[data-view=split-v] .instruction-palette .palette-math,.center-panel[data-view=split-h] .instruction-palette .palette-res,.center-panel[data-view=split-v] .instruction-palette .palette-res{display:none}.center-panel[data-view=split-h] .instruction-palette .palette-item:has(.palette-timer),.center-panel[data-view=split-v] .instruction-palette .palette-item:has(.palette-timer),.center-panel[data-view=split-h] .instruction-palette .palette-item:has(.palette-counter),.center-panel[data-view=split-v] .instruction-palette .palette-item:has(.palette-counter),.center-panel[data-view=split-h] .instruction-palette .palette-item:has(.palette-comparison),.center-panel[data-view=split-v] .instruction-palette .palette-item:has(.palette-comparison),.center-panel[data-view=split-h] .instruction-palette .palette-item:has(.palette-math),.center-panel[data-view=split-v] .instruction-palette .palette-item:has(.palette-math),.center-panel[data-view=split-h] .instruction-palette .palette-item:has(.palette-res),.center-panel[data-view=split-v] .instruction-palette .palette-item:has(.palette-res){min-height:62px}.center-panel[data-view=full-hmi] .ladder-work-area,.center-panel[data-view=full-ladder] .hmi-work-area{visibility:hidden;overflow:hidden;height:0}.renderer-stack{min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;background:#f1f5f9}.center-problem-prompt{margin:8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;overflow:hidden;flex-shrink:0}.center-problem-prompt[open]{overflow-y:auto;max-height:40vh}.center-problem-prompt summary{padding:10px 12px;cursor:pointer;font-weight:800;color:#334155;background:#f8fafc}.center-problem-prompt .problem-panel{border:0;border-radius:0;padding-top:8px}.bottom-panel{min-height:0;max-height:240px;display:grid;grid-template-rows:auto minmax(0,1fr);border-top:1px solid #cbd5e1;background:#eef2f7}.bottom-panel-tabs{display:flex;gap:6px;padding:8px;border-bottom:1px solid #cbd5e1}.bottom-panel-tabs button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;padding:7px 10px}.bottom-panel-tabs button.active{border-color:var(--state-off);background:var(--state-off-soft);color:var(--state-off);font-weight:800}.bottom-panel-content{min-height:0;overflow:auto;padding:10px}.sim-tips-banner{position:relative;display:flex;align-items:center;padding:8px 40px 8px 16px;background:#eff6ff;border-bottom:1px solid #bfdbfe;flex-shrink:0}.sim-tips-content{display:flex;flex-wrap:wrap;gap:16px 32px;font-size:13px;color:#1e40af;line-height:1.4}.sim-tip strong{color:#1e3a5f}.sim-tips-dismiss{position:absolute;top:6px;right:10px;border:none;background:none;font-size:18px;color:#64748b;cursor:pointer;line-height:1;padding:2px 6px;border-radius:4px}.sim-tips-dismiss:hover{background:#dbeafe;color:#1e40af}.tips-reopen-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:50%;background:#f8fafc;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;padding:0;margin-left:auto;flex-shrink:0}.tips-reopen-btn:hover{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.about-page{height:100%;overflow-y:auto;background:#f8fafc;color:#1e293b}.about-page-inner{max-width:720px;margin:0 auto;padding:56px 24px 80px;text-align:center}.about-logo{width:280px;height:280px;border-radius:36px;margin-bottom:28px;box-shadow:0 4px 20px #0f172a1f}.about-page h1{margin:0 0 8px;font-size:36px;font-weight:900;color:#0f172a;letter-spacing:-.02em}.about-tagline{margin:0 0 40px;font-size:18px;color:#475569;line-height:1.6}.about-mission{margin:0 0 48px;padding:24px 28px;border-left:4px solid #2563eb;background:#eff6ff;border-radius:0 8px 8px 0;font-size:16px;line-height:1.7;color:#1e3a6e}.about-offerings{margin:0 0 48px;text-align:left}.about-offerings h2{margin:0 0 20px;font-size:22px;font-weight:800;color:#0f172a}.about-offering-list{display:grid;gap:16px;list-style:none;margin:0;padding:0}.about-offering-item{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.about-offering-icon{font-size:22px;flex-shrink:0;margin-top:1px}.about-offering-item h3{margin:0 0 4px;font-size:15px;font-weight:700;color:#0f172a}.about-offering-item p{margin:0;font-size:14px;color:#475569;line-height:1.55}.about-back{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}.about-back:hover{border-color:#94a3b8;background:#f8fafc}.contact-page{display:flex;justify-content:center;padding:3rem 1.5rem}.contact-page-inner{max-width:600px;width:100%}.contact-page h1{margin-bottom:.5rem}.contact-page>.contact-page-inner>p{color:#666;margin-bottom:2rem}.contact-methods{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact-method h3{margin:0 0 .25rem;font-size:.9rem;text-transform:uppercase;color:#888}.contact-method a{color:#2563eb;text-decoration:none;font-size:1.1rem}.contact-method a:hover{text-decoration:underline}.contact-back{color:#2563eb;text-decoration:none}.contact-back:hover{text-decoration:underline}:root{--learn-bg: #f8fafc;--learn-surface: #ffffff;--learn-surface-muted: #f1f5f9;--learn-border: #dbe4ee;--learn-border-strong: #cbd5e1;--learn-text: #0f172a;--learn-text-muted: #475569;--learn-text-soft: #64748b;--learn-link: #2563eb;--learn-link-hover: #1d4ed8;--learn-success: #15803d;--learn-success-bg: #dcfce7;--learn-warning: #a16207;--learn-warning-bg: #fef9c3;--learn-danger: #b91c1c;--learn-danger-bg: #fee2e2;--learn-radius: 8px;--learn-shadow: 0 1px 2px rgb(15 23 42 / .06)}.learn-page{min-height:100%;overflow-y:auto;background:var(--learn-bg);color:var(--learn-text)}.learn-hero{text-align:center;padding:48px 24px 40px;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#f8fafc;border-radius:12px;margin-bottom:32px;position:relative}.learn-hero-dismiss{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;border-radius:50%;background:#ffffff26;color:#f8fafccc;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.learn-hero-dismiss:hover{background:#ffffff4d;color:#f8fafc}.learn-hero-title{font-size:clamp(22px,4vw,32px);font-weight:900;margin:0 0 12px;line-height:1.2}.learn-hero-subtitle{font-size:clamp(14px,2.5vw,16px);color:#f8fafccc;max-width:600px;margin:0 auto 24px;line-height:1.5}.learn-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.learn-hero-btn{padding:10px 24px;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;transition:all .15s}.learn-hero-btn.primary{background:#f8fafc;color:#0f172a}.learn-hero-btn.primary:hover{background:#e2e8f0}.learn-hero-btn.secondary{background:#ffffff1f;color:#f8fafc;border:1px solid rgba(255,255,255,.3)}.learn-hero-btn.secondary:hover{background:#fff3;border-color:#ffffff80}.learn-layout,.learn-ci-inner,.learn-lesson-inner{width:min(100%,1100px);margin:0 auto;padding:32px 20px 72px}.learn-layout{display:grid;gap:32px}.learn-sidebar{align-self:start}.learn-main{width:100%;max-width:800px;min-width:0}.learn-ci-inner,.learn-lesson-inner{max-width:848px}.learn-lesson-inner{max-width:800px}.learn-sidebar,.learn-toc{color:var(--learn-text-muted)}.learn-sidebar h2,.learn-toc h2{margin:0 0 12px;color:var(--learn-text-soft);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.learn-sidebar ul,.learn-toc-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.learn-sidebar a,.learn-toc-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:6px 8px;border-radius:6px;color:var(--learn-text-muted);font-size:13px;line-height:1.35;text-decoration:none}.learn-sidebar a:hover,.learn-sidebar a:focus-visible,.learn-toc-list a:hover,.learn-toc-list a:focus-visible{background:var(--learn-surface-muted);color:var(--learn-text);outline:none}.learn-ci-header{margin:0 0 32px}.learn-ci-header h1,.lesson-page h1,.mdx-content h1{margin:0 0 10px;color:var(--learn-text);font-size:32px;font-weight:850;letter-spacing:0;line-height:1.15}.learn-ci-subtitle,.lesson-page>p,.mdx-content p{color:var(--learn-text-muted);font-size:15.5px;line-height:1.75}.learn-ci-subtitle{margin:0}.learn-ci-inner.learning-overview{max-width:1100px}.learning-overview__header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.learning-overview__header>div:first-child{max-width:720px}.learning-overview__legend{display:flex;flex:0 0 auto;gap:14px;padding:9px 12px;border:1px solid var(--learn-border);border-radius:999px;background:var(--learn-surface);color:var(--learn-text-soft);font-size:12px;font-weight:700}.learning-overview__legend span{display:inline-flex;align-items:center;gap:5px}.learning-overview__legend b{color:#d97706;font-size:17px;line-height:1}.learning-overview__legend span:last-child b{color:#94a3b8}.learning-overview__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 42px}.learning-overview__summary article{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 14px;padding:18px;border:1px solid var(--learn-border);border-radius:10px;background:var(--learn-surface);box-shadow:var(--learn-shadow)}.learning-overview__summary article>span{color:var(--learn-text-soft);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.learning-overview__summary strong{color:var(--learn-text);font-size:24px;line-height:1}.learning-overview__summary small{color:var(--learn-text-soft);font-size:13px}.learning-overview__summary article>div{grid-column:1 / -1;height:6px;overflow:hidden;border-radius:999px;background:var(--learn-surface-muted)}.learning-overview__summary i{display:block;height:100%;border-radius:inherit;background:var(--learn-success)}.learning-overview__section+.learning-overview__section{margin-top:24px}.learning-overview__section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid var(--learn-border);border-radius:10px;background:var(--learn-surface);box-shadow:var(--learn-shadow);cursor:pointer;list-style:none}.learning-overview__section-heading::-webkit-details-marker{display:none}.learning-overview__section-heading:hover{border-color:var(--learn-border-strong);background:#f8fafc}.learning-overview__section-heading:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}.learning-overview__section-heading h2{margin:2px 0 5px;color:var(--learn-text);font-size:24px}.learning-overview__section-heading p:not(.learning-overview__eyebrow){margin:0;color:var(--learn-text-muted);font-size:14px}.learning-overview__section-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px}.learning-overview__section-toggle strong{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:var(--learn-success-bg);color:var(--learn-success);font-size:12px}.learning-overview__section-chevron{width:8px;height:8px;margin:0 5px 4px 1px;border:solid var(--learn-text-soft);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s ease}.learning-overview__section[open] .learning-overview__section-chevron{margin-bottom:-1px;transform:rotate(-135deg)}.learning-overview__section-content{margin-top:16px}.learning-overview__eyebrow{margin:0;color:var(--learn-link);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.learning-overview__lesson-grid,.learning-overview__lab-grid{display:grid;gap:16px;align-items:start}.learning-overview__lesson-grid{grid-template-columns:1fr}.learning-overview__lab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-overview__roadmap-note{margin:0 0 14px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:12px;line-height:1.5}.learning-overview__interview-note{margin:14px 0 0}.learning-overview__interview-note a{color:inherit;font-weight:800;text-underline-offset:2px}.learning-overview__lesson-tracks{display:grid;gap:12px}.learning-overview__lesson-track{overflow:hidden;border:1px solid var(--learn-border);border-radius:10px;background:var(--learn-surface);box-shadow:var(--learn-shadow)}.learning-overview__track-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;background:#f8fafc;cursor:pointer;list-style:none}.learning-overview__track-heading::-webkit-details-marker{display:none}.learning-overview__track-heading:hover{background:var(--learn-surface-muted)}.learning-overview__track-heading:focus-visible{outline:3px solid #bfdbfe;outline-offset:-3px}.learning-overview__track-heading>div{min-width:0}.learning-overview__track-heading>div>span{color:var(--learn-link);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.learning-overview__lesson-track--planned .learning-overview__track-heading>div>span{color:#7c3aed}.learning-overview__track-heading h3{margin:3px 0 4px;color:var(--learn-text);font-size:18px;line-height:1.25}.learning-overview__track-heading p{max-width:720px;margin:0;color:var(--learn-text-muted);font-size:12px;line-height:1.45}.learning-overview__track-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:12px}.learning-overview__track-toggle strong{padding:5px 9px;border-radius:999px;background:var(--learn-success-bg);color:var(--learn-success);font-size:11px;white-space:nowrap}.learning-overview__lesson-track--planned .learning-overview__track-toggle strong{background:#ede9fe;color:#6d28d9}.learning-overview__track-chevron{width:8px;height:8px;margin:0 5px 4px 1px;border:solid var(--learn-text-soft);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s ease}.learning-overview__lesson-track[open] .learning-overview__track-chevron{margin-bottom:-1px;transform:rotate(-135deg)}.learning-overview__track-content{padding:16px;border-top:1px solid var(--learn-border);background:#f8fafc}.learning-overview__roadmap-groups{display:grid;grid-template-columns:1fr;gap:12px}.learning-overview__roadmap-card>header{padding-block:12px}.learning-overview__roadmap-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:9px 16px}.learning-overview__roadmap-title{display:grid;gap:3px;min-width:0}.learning-overview__roadmap-title strong{color:var(--learn-text);font-size:13px;line-height:1.35}.learning-overview__roadmap-title a{width:fit-content;color:var(--learn-link);font-size:10px;font-weight:700;line-height:1.35;text-decoration:none}.learning-overview__roadmap-title a:hover,.learning-overview__roadmap-title a:focus-visible{color:var(--learn-link-hover);text-decoration:underline}.learning-overview__coming-soon{flex:0 0 auto;padding:4px 7px;border:1px solid #c4b5fd;border-radius:999px;background:#f5f3ff;color:#6d28d9;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.learning-overview__card{min-width:0;overflow:hidden;border:1px solid var(--learn-border);border-radius:10px;background:var(--learn-surface);box-shadow:var(--learn-shadow)}.learning-overview__card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--learn-border);background:var(--learn-surface-muted)}.learning-overview__card h3,.learning-overview__card h4{margin:0 0 2px;color:var(--learn-text);font-size:16px;line-height:1.25}.learning-overview__card header span{color:var(--learn-text-soft);font-size:11px;font-weight:700}.learning-overview__card header a{flex:0 0 auto;color:var(--learn-link);font-size:11px;font-weight:800;text-decoration:none}.learning-overview__card header a:hover,.learning-overview__card header a:focus-visible{color:var(--learn-link-hover);text-decoration:underline}.learning-overview__card>p{margin:0;padding:13px 16px;border-bottom:1px solid var(--learn-border);color:var(--learn-text-muted);font-size:12px;line-height:1.5}.learning-overview__card ul{margin:0;padding:0;list-style:none}.learning-overview__card li+li{border-top:1px solid var(--learn-surface-muted)}.learning-overview__card li>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 16px;color:var(--learn-text);text-decoration:none}.learning-overview__card li>a:hover,.learning-overview__card li>a:focus-visible{background:#f8fafc;outline:none}.learning-overview__item-title{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.35}.learning-overview__card .practice-completion{flex:0 0 auto}.curriculum-index,.learn-cat-grid{display:grid;grid-template-columns:1fr;gap:18px}.learn-cat-grid{align-items:start}.learn-cat-grid[data-stacked=true]{grid-auto-rows:1px;row-gap:0}.learn-interview-entry,.learn-guide-entry.learn-interview-entry{margin:28px 0 0}.category-card,.learn-cat-card{overflow:hidden;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);box-shadow:var(--learn-shadow)}.category-card{display:grid;gap:12px;padding:20px}.learn-cat-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--learn-border);background:var(--learn-surface);color:inherit;text-decoration:none}.learn-cat-card-header:hover,.learn-cat-card-header:focus-visible{background:var(--learn-surface-muted);outline:none}.category-card h2,.learn-cat-card-title{margin:0 0 6px;color:var(--learn-text);font-size:18px;font-weight:800;line-height:1.25}.category-card p,.learn-cat-card-desc{margin:0;color:var(--learn-text-muted);font-size:14px;line-height:1.6}.category-card .lesson-count{color:var(--learn-text-soft);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.learn-cat-card-arrow{flex:0 0 auto;color:var(--learn-text-soft);font-size:18px;line-height:1;transition:color .15s ease,transform .15s ease}.learn-cat-card-header:hover .learn-cat-card-arrow{color:var(--learn-link);transform:translate(3px)}.learn-cat-progress-bar-wrap{height:4px;background:var(--learn-surface-muted)}.learn-cat-progress-bar-fill{height:100%;background:var(--learn-success);transition:width .25s ease}.learn-cat-lesson-list,.learn-lesson-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.learn-lesson-list{gap:8px}.learn-cat-lesson-list li+li{border-top:1px solid var(--learn-surface-muted)}.lesson-list-item,.learn-cat-lesson-row,.learn-lesson-link{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 18px;color:var(--learn-text);font-size:14px;text-decoration:none}.learn-lesson-link{border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);box-shadow:var(--learn-shadow)}.lesson-list-item:hover,.lesson-list-item:focus-visible,.learn-cat-lesson-row:hover,.learn-cat-lesson-row:focus-visible,.learn-lesson-link:hover,.learn-lesson-link:focus-visible{background:var(--learn-surface-muted);outline:none}.learn-lesson-body{display:grid;flex:1 1 auto;gap:2px;min-width:0}.learn-lesson-title{overflow-wrap:anywhere;color:var(--learn-text);font-weight:700;line-height:1.35}.learn-lesson-prereqs{color:var(--learn-text-soft);font-size:12px;line-height:1.4}.progress-indicator,.ci-progress{position:relative;display:inline-flex;flex:0 0 18px;width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;font-size:0}.progress-indicator.not-started,.ci-progress.not-started{border:2px solid var(--learn-border-strong);background:var(--learn-surface)}.progress-indicator.in-progress,.ci-progress.in-progress{border:2px solid #f59e0b;background:linear-gradient(90deg,#f59e0b 50%,var(--learn-surface) 50%)}.progress-indicator.completed,.ci-progress.completed{border:2px solid var(--learn-success);background:var(--learn-success);color:#fff;font-size:12px;font-weight:900}.progress-indicator.completed:before,.ci-progress.completed:before{content:"";width:8px;height:4px;border:solid currentColor;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}.difficulty-badge,.learn-level-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.difficulty-badge.beginner,.learn-level-badge.level-1{background:var(--learn-success-bg);color:var(--learn-success)}.difficulty-badge.intermediate,.learn-level-badge.level-2{background:var(--learn-warning-bg);color:var(--learn-warning)}.learn-level-badge.level-3{background:var(--learn-danger-bg);color:var(--learn-danger)}.lesson-page,.learn-lesson-article,.mdx-content{color:var(--learn-text)}.lesson-breadcrumb,.learn-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 24px;color:var(--learn-text-soft);font-size:13px;line-height:1.4}.lesson-breadcrumb a,.learn-breadcrumb a{color:var(--learn-link);font-weight:650;text-decoration:none}.lesson-breadcrumb a:hover,.learn-breadcrumb a:hover{color:var(--learn-link-hover);text-decoration:underline}.learn-breadcrumb-sep{color:var(--learn-border-strong)}.lesson-section,.mdx-content section{margin:0 0 36px;scroll-margin-top:24px}.lesson-section h2,.mdx-content h2{margin:36px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--learn-border);color:var(--learn-text);font-size:22px;font-weight:800;letter-spacing:0;line-height:1.25}.lesson-section h3,.mdx-content h3{margin:24px 0 8px;color:var(--learn-text);font-size:17px;font-weight:750;line-height:1.35}.mdx-content p{margin:0 0 18px}.mdx-content ul,.mdx-content ol{margin:0 0 18px;padding-left:24px;color:var(--learn-text-muted);font-size:15.5px;line-height:1.75}.mdx-content li+li{margin-top:5px}.mdx-content code,.lesson-section code{border:1px solid var(--learn-border);border-radius:5px;background:var(--learn-surface-muted);color:#1e293b;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92em;padding:1px 5px}.mdx-content pre{margin:0 0 20px;padding:16px;overflow-x:auto;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:#0f172a;color:#e2e8f0}.mdx-content pre code{border:0;background:transparent;color:inherit;padding:0}.mdx-content blockquote{margin:0 0 22px;padding:14px 16px;border-left:3px solid var(--learn-link);border-radius:0 var(--learn-radius) var(--learn-radius) 0;background:#eff6ff;color:#1e3a5f}.mdx-content>details{margin:0 0 24px}.mdx-content>details>summary{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:9px 14px;border:1px solid #1d4ed8;border-radius:7px;background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb38;cursor:pointer;font-size:14px;font-weight:800;line-height:1.2;list-style:none;-webkit-user-select:none;user-select:none}.mdx-content>details>summary::-webkit-details-marker{display:none}.mdx-content>details>summary:before{content:"▶";font-size:11px;line-height:1}.mdx-content>details[open]>summary{margin-bottom:14px;background:#1d4ed8;box-shadow:0 8px 18px #1d4ed82e}.mdx-content>details[open]>summary:before{content:"▼"}.mdx-content>details>summary:hover{border-color:#1e40af;background:#1d4ed8}.mdx-content>details>summary:focus-visible{outline:3px solid rgb(147 197 253 / .9);outline-offset:3px}.lesson-nav,.learn-prev-next{display:grid;grid-template-columns:1fr;gap:12px;margin-top:44px;padding-top:24px;border-top:1px solid var(--learn-border)}.learn-prev-next-slot{display:flex;min-width:0}.learn-nav-link{display:grid;flex:1 1 auto;gap:4px;min-width:0;padding:14px 16px;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);color:var(--learn-text);text-decoration:none;box-shadow:var(--learn-shadow)}.learn-nav-link:hover,.learn-nav-link:focus-visible{border-color:var(--learn-border-strong);background:var(--learn-surface-muted);outline:none}.learn-nav-next{justify-items:start}.learn-nav-label{color:var(--learn-text-soft);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.learn-nav-title{overflow-wrap:anywhere;color:var(--learn-text);font-size:14px;font-weight:750;line-height:1.35}.learn-nav-arrow{color:var(--learn-text-soft);font-size:16px}.learn-loading,.learn-not-found{margin:0;padding:32px 0;color:var(--learn-text-soft);font-size:15px}.simulator-embed,.sim-embed{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:24px 0;overflow:hidden;border:1px solid var(--learn-border-strong);border-radius:var(--learn-radius);background:var(--learn-surface);color:var(--learn-text);box-shadow:var(--learn-shadow)}.simulator-embed{max-height:var(--simulator-embed-max-height, 420px)}.simulator-embed-layout,.sim-embed-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.sim-embed-header{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;background:#1e293b;color:#f8fafc}.sim-embed-mode-badge{border-radius:4px;background:#334155;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 6px;text-transform:uppercase}.sim-embed-mode-badge--demo{background:var(--learn-success)}.sim-embed-mode-badge--guided,.sim-embed-mode-badge--challenge{background:var(--learn-link)}.sim-embed-mode-badge--debug,.sim-embed-mode-badge--interview{background:#7c3aed}.sim-embed-title{overflow:hidden;color:#f8fafc;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.sim-embed-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.sim-embed-hmi-panel{flex:0 1 clamp(220px,30%,320px);min-width:0;min-height:160px;overflow:hidden;border-top:1px solid var(--learn-border);background:var(--learn-surface-muted)}.sim-embed-hmi-canvas{position:relative;width:100%;height:100%;min-height:160px}.sim-embed-inputs,.sim-embed-panel,.sim-embed-actions,.sim-embed-prompts{border-top:1px solid var(--learn-border);padding:10px}.sim-embed-inputs,.sim-embed-tag-values,.truth-table-controls,.completion-prompt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sim-embed-inputs-label,.sim-embed-panel-label{color:var(--learn-text-soft);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sim-embed-input-btn,.truth-table-submit,.truth-table-reset,.completion-btn{min-height:34px;border:1px solid var(--learn-border-strong);border-radius:6px;background:var(--learn-surface);color:var(--learn-text);cursor:pointer;font-weight:700}.sim-embed-input-btn{min-height:28px;padding:4px 10px;font-size:12px}.sim-embed-input-btn.active{border-color:var(--learn-success);background:var(--learn-success);color:#fff}.sim-embed-boolean-expr,.sim-embed-tag-val{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.sim-embed-boolean-expr{display:block;margin-top:6px;overflow-x:auto;border-radius:6px;background:#0f172a;color:#bae6fd;padding:8px 10px}.sim-embed-truth-table,.truth-table{width:100%;min-width:320px;border-collapse:collapse;color:var(--learn-text);font-size:13px}.truth-table-wrapper{margin:24px 0;overflow-x:auto}.truth-table th,.truth-table td,.sim-embed-truth-table th,.sim-embed-truth-table td{border:1px solid var(--learn-border);padding:8px 10px;text-align:center}.truth-table th,.sim-embed-truth-table th{background:#e2e8f0;color:var(--learn-text);font-weight:800}.truth-table tbody tr:nth-child(odd),.sim-embed-truth-table tbody tr:nth-child(odd),.truth-table-row-odd{background:var(--learn-surface)}.truth-table tbody tr:nth-child(2n),.sim-embed-truth-table tbody tr:nth-child(2n),.truth-table-row-even{background:var(--learn-surface-muted)}.truth-table-input-cell,.truth-table-output-cell{color:var(--learn-text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.truth-table .correct,.truth-table-correct{background:var(--learn-success-bg)!important;color:var(--learn-success);font-weight:800}.truth-table .incorrect,.truth-table-incorrect{background:var(--learn-danger-bg)!important;color:var(--learn-danger)}.truth-table-interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.truth-table-interactive:hover{background:#e0f2fe}.truth-table-wrong{margin-right:.4em;color:var(--learn-danger);text-decoration:line-through}.truth-table-correct-hint{color:var(--learn-success);font-weight:800}.truth-table-submit,.truth-table-reset,.completion-btn{padding:8px 14px;font-size:14px}.truth-table-submit,.completion-btn-primary,.sim-embed-submit-btn{border-color:var(--learn-link);background:var(--learn-link);color:#fff}.truth-table-submit:hover,.completion-btn-primary:hover,.sim-embed-submit-btn:hover{background:var(--learn-link-hover)}.truth-table-submit:disabled{border-color:var(--learn-border);background:var(--learn-surface-muted);color:var(--learn-text-soft);cursor:not-allowed}.truth-table-reset,.completion-btn-secondary{background:var(--learn-surface-muted)}.sim-embed-submit-btn{align-self:flex-start;min-height:34px;padding:8px 16px;border:1px solid var(--learn-link);border-radius:6px;cursor:pointer;font-weight:800}.sim-embed-result{border-radius:6px;font-size:13px;line-height:1.5;padding:8px 10px}.sim-embed-result--pass{background:var(--learn-success-bg);color:var(--learn-success);font-weight:800}.sim-embed-result--fail{background:var(--learn-danger-bg);color:var(--learn-danger)}.three-panel,.four-panel{display:flex;flex-direction:column;gap:10px;margin:24px 0}.three-panel .panel,.three-panel .panel-card,.four-panel .panel,.four-panel .panel-card{flex:1 1 0;min-width:0;overflow:hidden;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);box-shadow:var(--learn-shadow)}.three-panel .panel header,.three-panel .panel-header,.four-panel .panel header,.four-panel .panel-header{padding:9px 12px;border-bottom:1px solid var(--learn-border);background:var(--learn-surface-muted);color:var(--learn-text);font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.three-panel .panel>:not(header),.three-panel .panel-body,.four-panel .panel>:not(header),.four-panel .panel-body{padding:12px;color:var(--learn-text-muted);font-size:14px;line-height:1.6}.panel-arrow{display:flex;align-items:center;justify-content:center;color:var(--learn-text-soft);font-size:18px}.completion-prompt{display:grid;justify-items:center;gap:18px;margin:44px auto 32px;padding:24px;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);text-align:center;box-shadow:var(--learn-shadow)}.completion-prompt-heading{max-width:560px;margin:0;color:var(--learn-text);font-size:18px;line-height:1.45}.completion-prompt-heading em{color:var(--learn-link);font-style:normal}.completion-prompt-confirmed{display:grid;justify-items:center;gap:10px}.completion-confirmation{margin:0;color:var(--learn-success);font-weight:800}.completion-sandbox-link{color:var(--learn-link);font-weight:750;text-decoration:none}.completion-sandbox-link:hover{color:var(--learn-link-hover);text-decoration:underline}@media (min-width: 768px){.learn-layout{grid-template-columns:240px minmax(0,1fr);align-items:start}.learn-sidebar,.learn-toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto}.curriculum-index,.learn-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-nav,.learn-prev-next{grid-template-columns:1fr 1fr}.learn-nav-next{justify-items:end;text-align:right}.simulator-embed-layout,.sim-embed-main{flex-direction:row}.sim-embed-hmi-panel{border-top:0;border-left:1px solid var(--learn-border)}.three-panel,.four-panel{flex-direction:row;align-items:stretch}.panel-arrow{flex:0 0 24px}}@media (max-width: 767px){.learn-layout,.learn-ci-inner,.learn-lesson-inner{padding:24px 16px 56px}.learn-ci-header h1,.lesson-page h1,.mdx-content h1{font-size:28px}.learning-overview__header,.learning-overview__section-heading{align-items:flex-start;flex-direction:column}.learning-overview__section-toggle{width:100%;justify-content:space-between}.learning-overview__track-heading{align-items:flex-start;flex-direction:column}.learning-overview__track-toggle{width:100%;justify-content:space-between}.learning-overview__track-content{padding:10px}.learning-overview__roadmap-row{align-items:flex-start;flex-direction:column}.learning-overview__summary,.learning-overview__lesson-grid,.learning-overview__lab-grid{grid-template-columns:1fr}.learning-overview__legend{align-self:stretch;justify-content:center}.learn-cat-card-header,.category-card{padding:16px}.lesson-list-item,.learn-cat-lesson-row,.learn-lesson-link{align-items:flex-start;padding:12px 14px}.difficulty-badge,.learn-level-badge{margin-top:1px}.panel-arrow{transform:rotate(90deg)}.completion-prompt{padding:20px 16px}.completion-prompt-actions,.completion-btn{width:100%}}.mdx-content table,.lesson-page table,.learn-lesson-article table{width:100%;max-width:600px;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:14px;border:1px solid var(--learn-border);border-radius:var(--learn-radius);overflow:hidden}.mdx-content table th,.lesson-page table th,.learn-lesson-article table th{padding:10px 14px;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--learn-surface-muted);color:var(--learn-text);border-bottom:2px solid var(--learn-border)}.mdx-content table td,.lesson-page table td,.learn-lesson-article table td{padding:8px 14px;border-bottom:1px solid var(--learn-border);color:var(--learn-text-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.mdx-content table tbody tr:last-child td,.lesson-page table tbody tr:last-child td,.learn-lesson-article table tbody tr:last-child td{border-bottom:none}.mdx-content table tbody tr:nth-child(2n),.lesson-page table tbody tr:nth-child(2n),.learn-lesson-article table tbody tr:nth-child(2n){background:var(--learn-surface-muted)}.mdx-content .sim-embed-header-standalone,.mdx-content .lesson-editor-frame,.mdx-content .lesson-editor{width:100%;max-width:100%;margin-left:0}.mdx-content .sim-embed-header-standalone{margin-bottom:0;border-radius:8px 8px 0 0}.mdx-content .lesson-editor-frame{border-radius:0 0 8px 8px;margin-top:0}.blog-inner{max-width:800px}.blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;color:var(--learn-text-soft);font-size:13px;line-height:1.4}.blog-list{margin:0;padding:0;list-style:none}.blog-list-item{padding:22px 0;border-top:1px solid var(--learn-border)}.blog-list-item:last-child{border-bottom:1px solid var(--learn-border)}.blog-list-item h2{margin:6px 0;font-size:21px;font-weight:800;line-height:1.3}.blog-list-item h2 a{color:var(--learn-text);text-decoration:none}.blog-list-item h2 a:hover,.blog-list-item h2 a:focus-visible{color:var(--learn-link);text-decoration:underline}.blog-list-description{margin:0;color:var(--learn-text-muted);font-size:15px;line-height:1.65}.blog-post-header{margin:0 0 28px}.blog-post-header h1{margin:0 0 10px;color:var(--learn-text);font-size:34px;font-weight:850;letter-spacing:0;line-height:1.15}.blog-draft-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--learn-warning-bg);color:var(--learn-warning);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.blog-draft-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--learn-border);border-radius:var(--learn-radius, 8px);background:var(--learn-surface-muted);color:var(--learn-text-muted);font-size:13px}.blog-post-footer,.blog-feed{margin:40px 0 0;font-size:14px}.blog-post-footer a,.blog-feed a{color:var(--learn-link);font-weight:650;text-decoration:none}.blog-post-footer a:hover,.blog-feed a:hover{color:var(--learn-link-hover);text-decoration:underline}@media (max-width: 600px){.blog-post-header h1{font-size:27px}.blog-list-item h2{font-size:19px}}.ladder-renderer{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;min-height:420px;overflow:auto;background:#e2e8f0;border:1px solid #cbd5e1}.ladder-renderer svg{display:block}.lesson-editor-frame{width:100%;max-width:100%;min-width:0;container-type:inline-size}.lesson-editor{display:grid;grid-template-columns:minmax(138px,160px) minmax(0,1fr) minmax(188px,220px);grid-template-areas:"tags canvas palette";width:100%;max-width:100%;min-width:0;height:auto;min-height:0;box-sizing:border-box;overflow:visible;border:1px solid #e2e8f0;border-radius:0 0 8px 8px;background:#fff}.lesson-editor-tags{grid-area:tags;min-width:0;overflow-y:auto;max-height:560px;border-right:1px solid #e2e8f0;background:#f8fafc;padding:10px 0}.lesson-editor-tags-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:4px;padding:0 12px 8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.lesson-editor-tags-title button{margin-left:auto;padding:2px 5px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#475569;cursor:pointer;font-size:10px;font-weight:800;text-transform:none;letter-spacing:0}.lesson-editor-tags-title button:hover{border-color:#64748b}.lesson-editor-tags-list{list-style:none;margin:0;padding:0}.lesson-tag{display:flex;flex-direction:column;gap:4px;padding:6px 10px;border-bottom:1px solid #f1f5f9}.lesson-tag.is-forced{border-left:3px solid #2563eb;background:#eff6ff;padding-left:7px}.lesson-tag:last-child{border-bottom:none}.lesson-tag-name{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700;color:#0f172a}.lesson-tag-meta{font-size:10px;color:#94a3b8;text-transform:uppercase}.lesson-tag--input .lesson-tag-name{color:#1d4ed8}.lesson-tag--output .lesson-tag-name{color:#15803d}.lesson-tag--internal .lesson-tag-name{color:#7c3aed}.lesson-tag-main,.lesson-tag-control{min-width:0}.lesson-tag-main{display:flex;flex-direction:column;gap:1px}.lesson-tag-control{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.lesson-tag-value,.lesson-tag-toggle,.lesson-tag-number,.lesson-tag-clear{border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#172033;font:inherit;font-size:11px}.lesson-tag-value{display:inline-flex;width:fit-content;max-width:100%;padding:2px 5px;overflow:hidden;background:#e2e8f0;color:#334155;font-family:SFMono-Regular,Consolas,monospace;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.lesson-tag-name,.lesson-tag-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-tag-toggle,.lesson-tag-clear{cursor:pointer}.lesson-tag-toggle{min-width:54px;padding:2px 6px;font-weight:800}.lesson-tag-toggle.active{border-color:#15803d;background:#16a34a;color:#fff}.lesson-tag-number{width:68px;max-width:100%;padding:2px 5px;font-family:SFMono-Regular,Consolas,monospace;font-weight:700}.lesson-tag-clear{padding:2px 5px;color:#475569}.lesson-tag-toggle:hover,.lesson-tag-clear:hover{border-color:#64748b}.lesson-editor-canvas{grid-area:canvas;min-width:0;min-height:0;overflow:visible}.lesson-editor-canvas .rung-editor-container,.lesson-editor-canvas .rung-editor{height:auto;min-height:0}.lesson-editor .rung-editor-toolbar{flex-wrap:wrap;padding:8px 10px}.lesson-editor .rung-editor-list{padding:14px;gap:12px}.lesson-editor .rung-card{padding:10px}.lesson-editor .rung-card-header{flex-wrap:wrap;gap:6px;margin-bottom:10px}.lesson-editor .rung-card-header input{min-width:min(180px,100%)}.lesson-editor .rung-strip{min-height:50px}.lesson-editor-palette{grid-area:palette;min-width:0;min-height:0;overflow:hidden;border-left:1px solid #e2e8f0;background:#f8fafc}.lesson-editor-palette .instruction-palette{width:100%;min-width:0;height:auto;overflow:hidden;border:none;border-radius:0}.lesson-editor-palette .palette-title{padding:10px 10px 4px;font-size:15px}.lesson-editor-palette .palette-tabs{gap:4px;padding:4px 10px 8px}.lesson-editor-palette .palette-tabs button{padding:5px 7px;font-size:11px}.lesson-editor-palette .palette-list{max-height:320px;gap:6px;padding:8px}.lesson-editor-palette .palette-item{grid-template-columns:44px minmax(0,1fr);gap:8px;min-height:48px;padding:7px 8px;border-radius:6px}.lesson-editor-palette .palette-icon{min-width:0;width:44px}.lesson-editor-palette .palette-copy strong{font-size:12px}.lesson-editor-palette .palette-copy small{font-size:10px;line-height:1.2}@container (max-width: 760px){.lesson-editor{grid-template-columns:minmax(132px,150px) minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"tags canvas" "palette palette"}.lesson-editor-tags{padding:8px 0;border-right:1px solid #e2e8f0;border-bottom:0}.lesson-editor-tags-title{padding:0 10px 6px}.lesson-tag{padding:5px 9px}.lesson-tag-name{font-size:12px}.lesson-tag-meta{font-size:10px}.lesson-editor-palette{border-top:1px solid #e2e8f0;border-left:0}.lesson-editor-palette .instruction-palette{display:flex;flex-direction:column}.lesson-editor-palette .palette-list{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));max-height:none}.lesson-editor-palette .palette-item{grid-template-columns:1fr;justify-items:center;gap:3px;min-height:58px;padding:6px;text-align:center}.lesson-editor-palette .palette-icon{width:100%;height:24px}.lesson-editor-palette .palette-copy{gap:0}.lesson-editor-palette .palette-copy small{display:none}}@container (max-width: 520px){.lesson-editor{grid-template-columns:minmax(0,1fr);grid-template-areas:"tags" "canvas" "palette"}.lesson-editor-tags{max-height:280px;border-right:0;border-bottom:1px solid #e2e8f0}.lesson-editor-tags-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.lesson-editor .rung-editor-list{padding:10px}.lesson-editor .rung-card-header input{min-width:0;flex-basis:100%}.lesson-editor-palette .palette-list{max-height:266px}}.sim-embed{display:flex;flex-direction:column;container:lesson-demo / inline-size;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;font-size:13px}.sim-embed--not-found{align-items:center;justify-content:center;color:#64748b}.sim-embed-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#1e293b;color:#f1f5f9;flex-shrink:0;min-height:32px}.sim-embed-mode-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#334155}.sim-embed-mode-badge--demo{background:#15803d}.sim-embed-mode-badge--guided{background:#1d4ed8}.sim-embed-mode-badge--challenge{background:#b45309}.sim-embed-mode-badge--debug{background:#b91c1c}.sim-embed-mode-badge--interview{background:#7c3aed}.sim-embed-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-embed-body{display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden;min-height:0}.sim-embed-main{display:flex;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}.sim-embed-ladder{flex:1 1 auto;min-width:0;overflow:auto}.sim-embed-ladder .ladder-renderer{min-height:0}.sim-embed-hmi-panel{flex:0 1 clamp(220px,30%,320px);min-width:0;border-left:1px solid #cbd5e1;overflow:hidden;background:#f1f5f9}.sim-embed-editable-layout{display:grid;min-width:0;container:lesson-embed / inline-size}.sim-embed-editable-layout--with-hmi{grid-template-columns:minmax(0,1fr) minmax(180px,28%)}.sim-embed-editable-layout--with-hmi>.lesson-editor-frame{grid-column:1;grid-row:1}.sim-embed-editable-layout--with-hmi>.sim-embed-hmi-panel--editable{grid-column:2;grid-row:1}.sim-embed-hmi-panel--editable{min-height:0;border:1px solid #cbd5e1;border-left:0;border-radius:0 0 8px}.sim-embed-editable-layout--with-hmi .lesson-editor{border-bottom-right-radius:0}@container lesson-embed (max-width: 1000px){.sim-embed-editable-layout--with-hmi>.lesson-editor-frame,.sim-embed-editable-layout--with-hmi>.sim-embed-hmi-panel--editable{grid-column:1 / -1}.sim-embed-editable-layout--with-hmi .lesson-editor{border-radius:0 0 8px 8px}.sim-embed-editable-layout--with-hmi>.lesson-editor-frame{grid-row:2}.sim-embed-editable-layout--with-hmi>.sim-embed-hmi-panel--editable{grid-row:1}.sim-embed-hmi-panel.sim-embed-hmi-panel--editable{height:auto;min-height:0;border-left:1px solid #cbd5e1;border-bottom:0;border-radius:0}.sim-embed-hmi-panel--editable .sim-embed-hmi-canvas{height:auto;min-height:0;aspect-ratio:var(--sim-embed-hmi-aspect, auto);max-height:var(--sim-embed-hmi-natural-height, none)}}.sim-embed-hmi-canvas{position:relative;width:100%;height:100%;min-height:140px}.sim-embed-hmi-stage{position:absolute;transform-origin:top left}.sim-embed--hmi-below .sim-embed-main{flex-direction:column}.sim-embed--hmi-below .sim-embed-ladder{flex:0 0 auto}.sim-embed--hmi-below .sim-embed-main>.sim-embed-hmi-panel{flex:0 0 auto;min-height:0;border-left:0;border-top:1px solid #cbd5e1}.sim-embed--hmi-below .sim-embed-hmi-canvas{height:auto;min-height:0;aspect-ratio:var(--sim-embed-hmi-aspect);max-height:var(--sim-embed-hmi-natural-height)}@container lesson-demo (max-width: 1000px){.sim-embed-main{flex-direction:column}.sim-embed-main>.sim-embed-ladder{flex:0 0 auto}.sim-embed-main>.sim-embed-hmi-panel{flex:0 0 auto;min-height:0;border-left:0;border-top:1px solid #cbd5e1}.sim-embed-main>.sim-embed-hmi-panel .sim-embed-hmi-canvas{height:auto;min-height:0;aspect-ratio:var(--sim-embed-hmi-aspect);max-height:var(--sim-embed-hmi-natural-height)}}.sim-embed-inputs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid #e2e8f0;flex-shrink:0;background:#f1f5f9}.sim-embed-inputs-label{font-weight:600;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.sim-embed-input-btn{padding:3px 10px;border:1px solid #94a3b8;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;color:#334155;transition:background .1s,border-color .1s}.sim-embed-input-btn.active{background:#16a34a;border-color:#15803d;color:#fff}.sim-embed-input-btn:hover{border-color:#64748b}.sim-embed-faults{padding:8px 10px;border-top:1px solid #fca5a5;background:#fff7f7;color:#7f1d1d;font-size:12px}.sim-embed-faults-title{display:block;font-weight:700}.sim-embed-faults-note{display:block;margin:2px 0 6px}.sim-embed-fault-controls{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.sim-embed-fault-controls label{display:flex;flex-direction:column;gap:2px;font-weight:600}.sim-embed-fault-controls select,.sim-embed-fault-controls button,.sim-embed-fault-list button{min-height:28px;border:1px solid #fca5a5;border-radius:4px;background:#fff;color:#7f1d1d;font:inherit}.sim-embed-fault-controls button,.sim-embed-fault-list button{padding:3px 8px;cursor:pointer}.sim-embed-fault-controls button:disabled{opacity:.5;cursor:default}.sim-embed-fault-list{display:grid;gap:4px;margin:8px 0 0;padding-left:18px}.sim-embed-fault-list li{padding-left:2px}.sim-embed-fault-list button{margin-left:8px}.sim-embed-prompts{padding:6px 10px;border-top:1px solid #e2e8f0;flex-shrink:0;background:#eff6ff}.sim-embed-prompt-list{margin:4px 0 0 16px;padding:0;font-size:12px;color:#1e3a5f;line-height:1.5}.sim-embed-panel{padding:6px 10px;border-top:1px solid #e2e8f0;flex-shrink:0}.sim-embed-panel-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:4px}.sim-embed-boolean-expr{display:block;font-size:12px;background:#1e293b;color:#7dd3fc;padding:4px 8px;border-radius:4px}.sim-embed-truth-table{border-collapse:collapse;font-size:12px;width:auto}.sim-embed-truth-table th,.sim-embed-truth-table td{border:1px solid #cbd5e1;padding:2px 8px;text-align:center}.sim-embed-truth-table th{background:#e2e8f0;font-weight:600}.sim-embed-scan-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid #e2e8f0;background:#f1f5f9}.sim-embed-scan-stepper .sim-embed-scan-controls{padding:0 0 6px;border-top:0;background:transparent}.sim-embed-scan-controls button{padding:4px 9px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#1e293b;font:inherit;cursor:pointer}.sim-embed-scan-controls button:hover:not(:disabled){border-color:#475569;background:#e2e8f0}.sim-embed-scan-controls button:disabled{opacity:.5;cursor:default}.sim-embed-scan-controls button.sim-embed-power-cycle{border-color:#b45309;color:#92400e}.sim-embed-scan-controls button.sim-embed-power-cycle:hover:not(:disabled){border-color:#92400e;background:#fef3c7}.sim-embed-run-status{color:#475569;font-size:11px;font-weight:600}.sim-embed-scan-time{display:inline-flex;align-items:center;gap:4px;color:#475569;font-size:11px;font-weight:600}.sim-embed-scan-time select{padding:3px 6px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#1e293b;font-size:11px}.sim-embed-scan-phases{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 10px;border-top:1px solid #e2e8f0;background:#eff6ff;color:#1e40af;font-size:11px}.sim-embed-scan-phases-label{font-weight:700}.sim-embed-scan-meta{display:flex;gap:16px;font-size:11px;color:#475569;margin-bottom:4px}.sim-embed-tag-values{display:flex;flex-wrap:wrap;gap:4px}.sim-embed-tag-row{display:flex;gap:4px;background:#e2e8f0;border-radius:3px;padding:2px 6px;font-size:11px}.sim-embed-tag-name{color:#475569;font-weight:500}.sim-embed-tag-val{color:#0f172a;font-family:monospace}.sim-embed-actions{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-top:1px solid #e2e8f0;flex-shrink:0}.sim-embed-submit-btn{align-self:flex-start;padding:5px 16px;background:#2563eb;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.sim-embed-submit-btn:hover{background:#1d4ed8}.sim-embed-result{font-size:12px;border-radius:4px;padding:6px 10px}.sim-embed-result--pass{background:#dcfce7;color:#15803d;font-weight:600}.sim-embed-result--fail{background:#fef2f2;color:#b91c1c}.sim-embed-failure-list{margin:0;padding-left:16px;line-height:1.6}.sim-embed-hidden-fail{margin:4px 0 0;font-style:italic;color:#64748b}.sim-embed-guided-hints{width:100%;max-width:100%;box-sizing:border-box;margin-top:12px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:14px;line-height:1.6;color:#1e40af}.sim-embed-guided-hints summary{cursor:pointer;font-weight:700;font-size:14px;color:#1e40af}.sim-embed-guided-hints .sim-embed-prompt-list{margin:8px 0 0 20px;padding:0;color:#334155}.sim-embed-guided-hints .sim-embed-prompt-list li{margin-bottom:6px}.sim-embed-guided-hints--above{margin-top:0;border-radius:0;border-top:0;border-bottom:0}.sim-embed-actions-external{display:flex;align-items:center;gap:12px;margin-top:10px}.sim-embed-header-standalone{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1e293b;color:#f1f5f9;border-radius:8px 8px 0 0;margin-bottom:0;width:100%;max-width:100%;box-sizing:border-box}.sim-embed-header-standalone+.lesson-editor-frame .lesson-editor{border-top-left-radius:0;border-top-right-radius:0}.sim-embed-start-prompt{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;margin:16px 0;width:100%;max-width:100%;box-sizing:border-box}.sim-embed-start-info{display:flex;align-items:center;gap:10px}.sim-embed-start-title{font-size:14px;font-weight:600;color:#334155}.sim-embed-start-btn{padding:8px 20px;border:none;border-radius:6px;background:#4f46e5;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.sim-embed-start-btn:hover{background:#4338ca}@media (max-width: 767px){.sim-embed-editable-layout--with-hmi{grid-template-columns:minmax(0,1fr)}.sim-embed-hmi-panel--editable{border-left:1px solid #cbd5e1;border-top:0;border-radius:0 0 8px 8px}.sim-embed-main{flex-direction:column}.sim-embed-hmi-panel{flex:0 0 auto;min-height:180px;border-left:0;border-top:1px solid #cbd5e1}.sim-embed-start-prompt,.sim-embed-actions-external{align-items:stretch;flex-direction:column}.sim-embed-main>.sim-embed-hmi-panel,.sim-embed-hmi-panel.sim-embed-hmi-panel--editable{flex:0 0 auto;height:auto;min-height:0}.sim-embed-hmi-panel .sim-embed-hmi-canvas{height:auto;min-height:0;aspect-ratio:var(--sim-embed-hmi-aspect, auto);max-height:var(--sim-embed-hmi-natural-height, none)}.sim-embed-ladder .ladder-renderer{min-width:700px}}[data-theme=dark] .sim-embed-hmi-panel :is(.hmi-pushbutton,.hmi-indicator,.hmi-motor,.hmi-tank,.hmi-conveyor) strong{color:#e5ecf5;text-shadow:none}[data-theme=dark] .sim-embed-hmi-panel :is(.hmi-pushbutton,.hmi-tank) small{color:#aebdd0}.sim-embed-scan-phase-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none}.sim-embed-scan-phase-steps li{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--learn-border, rgba(148, 163, 184, .3));background:color-mix(in srgb,var(--learn-surface, #0f172a) 85%,transparent);font-size:.82rem}.sim-embed-scan-phase-steps li.is-next{border-color:var(--learn-link, #38bdf8);box-shadow:0 0 0 1px var(--learn-link, #38bdf8) inset}.sim-embed-scan-phase-steps li.is-done{opacity:.75}.sim-embed-scan-phase-steps li strong{font-size:.88rem}.sim-embed-scan-phase-signals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin:.75rem 0}.sim-embed-scan-phase-signal{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--learn-border, rgba(148, 163, 184, .3));background:color-mix(in srgb,var(--learn-surface, #0f172a) 90%,transparent)}.sim-embed-scan-phase-signal--image{border-style:dashed}.sim-embed-scan-phase-signal--physical{border-color:var(--learn-link, #38bdf8)}.sim-embed-scan-phase-signal-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;opacity:.8}.sim-embed-scan-phase-signal strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.sim-embed-scan-phase-note{margin:.5rem 0 0;font-size:.85rem;opacity:.9}@media (max-width: 480px){.sim-embed-scan-phase-steps{grid-template-columns:1fr}}.truth-table-wrapper{overflow-x:auto;margin:1.5rem 0}.truth-table{border-collapse:collapse;font-size:.9rem;min-width:280px;width:100%;max-width:500px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.truth-table th{padding:.6rem 1.2rem;text-align:center;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0}.truth-table-input-header{background:#f1f5f9;color:#334155}.truth-table-output-header{background:#e0e7ff;color:#3730a3}.truth-table td{padding:.5rem 1.2rem;text-align:center;border:1px solid #e5e7eb}.truth-table-row-even{background:#fff}.truth-table-row-odd{background:#f9fafb}.truth-table-input-cell{font-family:SFMono-Regular,Consolas,monospace;font-weight:600;font-size:.85rem}.truth-table-output-cell{font-family:SFMono-Regular,Consolas,monospace;font-weight:700;font-size:.85rem}.truth-table-value-true{color:#16a34a}.truth-table-value-false{color:#dc2626}.truth-table-interactive{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,box-shadow .15s}.truth-table-interactive:hover{background:#e0f2fe;box-shadow:inset 0 0 0 2px #7dd3fc}.truth-table-unanswered{background:#f0f9ff!important;border:1px dashed #93c5fd!important;color:#6b7280}.truth-table-instruction{color:#4f46e5;font-size:.85rem;margin-bottom:.5rem;font-weight:500}.truth-table-click-hint{font-size:.65rem;font-weight:400;color:#818cf8;margin-left:.3em}.truth-table-correct{background:#dcfce7!important}.truth-table-incorrect{background:#fee2e2!important;cursor:default}.truth-table-wrong{text-decoration:line-through;color:#dc2626;margin-right:.4em}.truth-table-correct-hint{color:#16a34a;font-weight:700}.truth-table-controls{margin-top:.75rem;display:flex;gap:.5rem}.truth-table-submit,.truth-table-reset{padding:.5rem 1.4rem;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;font-weight:600;transition:background .15s}.truth-table-submit{background:#4f46e5;color:#fff}.truth-table-submit:hover{background:#4338ca}.truth-table-submit:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.truth-table-reset{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.truth-table-reset:hover{background:#e5e7eb}.truth-table-reveal{margin-top:1rem;padding:.85rem 1.1rem;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;color:#1e40af;font-size:.9rem;line-height:1.6;animation:reveal-fade-in .4s ease-out}@keyframes reveal-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.three-panel{display:flex;flex-direction:row;align-items:stretch;gap:0;margin:1.25rem 0;flex-wrap:nowrap}.panel-card{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;min-width:0;box-shadow:0 1px 2px #0f172a0f}.panel-header{padding:.5rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.panel-header-realworld{background:#eff6ff;color:#1e40af}.panel-header-boolean{background:#faf5ff;color:#6b21a8}.panel-header-ladder{background:#ecfdf5;color:#065f46}.panel-header-scan{background:#fffbeb;color:#92400e}.panel-body{padding:.75rem 1rem;font-size:.875rem;color:#334155;line-height:1.6}.panel-arrow{display:flex;align-items:center;padding:0 .5rem;color:#94a3b8;font-size:1.25rem;flex-shrink:0}@media (max-width: 768px){.three-panel{flex-direction:column}.panel-arrow{transform:rotate(90deg);align-self:center;padding:.25rem 0}}.conveyor-view{margin:0;padding:10px;border-top:1px solid #cbd5e1;min-width:0}.conveyor-view__status{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;font-size:12px;color:#334155}.conveyor-view__status .is-fault{padding:0 5px;border-radius:3px;background:#fee2e2;color:#991b1b;font-weight:700}.conveyor-view__track{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.conveyor-view__end{font-size:11px;color:#64748b;writing-mode:vertical-rl;transform:rotate(180deg)}.conveyor-view__belt{position:relative;height:64px;margin:0 10px;border-radius:6px;background:linear-gradient(#0000 40px,#475569 40px,#475569 54px,#0000 54px),repeating-linear-gradient(90deg,#64748b 0,#64748b 10px,#475569 10px,#475569 20px) 0 40px / 100% 14px no-repeat}.conveyor-view__belt.is-moving{animation:conveyor-view-scroll .8s linear infinite}.conveyor-view__belt.is-faulted{outline:2px solid #dc2626;outline-offset:2px}@keyframes conveyor-view-scroll{0%{background-position:0 0,0 40px}to{background-position:0 0,20px 40px}}.conveyor-view__part{position:absolute;bottom:24px;width:22px;height:18px;margin-left:-11px;border:1px solid #92400e;border-radius:2px;background:#f59e0b;transition:left .1s linear}.conveyor-view__eye{position:absolute;top:0;bottom:22px;width:0}.conveyor-view__beam{position:absolute;top:8px;bottom:0;left:-1px;width:2px;background:#16a34a}.conveyor-view__eye:before{content:"";position:absolute;top:0;left:-6px;width:12px;height:8px;border-radius:2px;background:#1e293b}.conveyor-view__eye.is-blocked .conveyor-view__beam{background:#dc2626;box-shadow:0 0 6px #dc2626}.conveyor-view__eye-label{position:absolute;top:-2px;left:9px;font-size:10px;color:#475569;white-space:nowrap}.conveyor-view__faults{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px}.conveyor-view__faults button{padding:4px 8px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#0f172a;font:inherit}@media (prefers-reduced-motion: reduce){.conveyor-view__belt.is-moving{animation:none}.conveyor-view__part{transition:none}}[data-theme=dark] .conveyor-view{border-color:#475569}[data-theme=dark] .conveyor-view__status{color:#cbd5e1}[data-theme=dark] .conveyor-view__status .is-fault{background:#7f1d1d;color:#fee2e2}[data-theme=dark] .conveyor-view__end,[data-theme=dark] .conveyor-view__eye-label{color:#94a3b8}[data-theme=dark] .conveyor-view__eye:before{background:#e2e8f0}[data-theme=dark] .conveyor-view__faults button{background:#1e293b;color:#f8fafc;border-color:#64748b}.st-studio-page{width:100%;height:100%;min-height:0}.st-studio{position:relative;width:100%;height:100%;min-width:1080px;min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#dbe4ee;color:#172033}.st-studio button,.st-studio input,.st-studio select,.st-studio textarea{color:#172033}.st-studio button{cursor:pointer}.st-studio button:disabled{opacity:.5;cursor:not-allowed}.st-studio__top-bar{min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #cbd5e1;background:#fff;box-shadow:0 1px 3px #0f172a14;z-index:10}.st-studio__brand{display:grid;min-width:142px;margin-right:4px}.st-studio__brand h1{margin:0;color:#0f172a;font-size:15px;line-height:1.2}.st-studio__brand span{color:#64748b;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.st-studio__view-controls,.st-studio__sim-controls{display:flex;align-items:center;gap:6px;padding-left:10px;border-left:1px solid #e2e8f0}.st-studio__sim-controls{padding-right:10px;border-right:1px solid #e2e8f0}.st-studio__sim-controls>span{color:#475569;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.st-studio__top-bar button{min-height:32px;padding:6px 9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:13px;font-weight:700}.st-studio__top-bar button:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.st-studio__view-controls button.active,.st-studio__sim-controls button.active{border-color:var(--state-off);background:var(--state-off-soft);color:var(--state-off)}.st-studio__reset-button{color:#475569}.st-studio__status{min-width:0;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px}.st-studio__status span{padding:5px 8px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:11px;font-weight:800;white-space:nowrap}.st-studio__status .is-compiled,.st-studio__status .is-running{border-color:#86efac;background:#ecfdf5;color:#15803d}.st-studio__status .has-compile-errors{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.st-studio__workspace{min-width:0;min-height:0;display:grid;grid-template-columns:500px minmax(0,1fr)}.st-studio--practice{min-width:1184px}.st-studio--practice .st-studio__workspace{grid-template-columns:432px minmax(320px,1fr) 432px}.st-studio--practice .st-tag-table table{min-width:410px}.st-studio--practice .st-tag-table th:nth-child(2){width:76px}.st-studio--practice .st-tag-table th:nth-child(3){width:82px}.st-studio--practice .st-tag-table th:nth-child(4){width:38px}.st-studio--practice .st-tag-table th:nth-child(5){width:42px}.st-studio--practice .st-tag-table th:nth-child(6){width:58px}.st-studio--practice .st-tag-table th:last-child{width:30px}.st-studio--practice .st-tag-table th,.st-studio--practice .st-tag-table td{padding:5px 4px}.st-studio--practice .st-tag-table th{font-size:10px}.st-tag-table td>input:not([type=checkbox]),.st-tag-table td>select,.st-tag-table td>output,.st-tag-table td>button:not(.st-tag-table__delete){height:28px;padding:4px 5px;font-size:11px}.st-tag-table input:disabled,.st-tag-table select:disabled{color:#475569;background:#f1f5f9;opacity:1}.st-tag-table td>output{white-space:nowrap}.st-tag-table .st-tag-table__array-cell{text-align:center}.st-tag-table td.st-tag-table__array-cell>input{display:block;width:16px;height:16px;padding:0;margin:0 auto;accent-color:#2563eb}.st-tag-table__array-size{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;text-align:center}.st-tag-table__array-size::-webkit-inner-spin-button,.st-tag-table__array-size::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.st-tag-table__no-size{display:block;color:#94a3b8;text-align:center}.st-tag-table__inspect{white-space:nowrap;color:var(--state-off)!important;background:var(--state-off-soft)!important;font-size:10.5px!important}.st-array-editor{padding:12px;background:#f8fafc;font-size:11px}.st-array-monitor{position:absolute;top:110px;left:14px;width:min(360px,calc(100% - 28px));z-index:30;border:1px solid #94a3b8;border-radius:9px;box-shadow:0 8px 30px #0f172a33}.st-array-monitor header{display:flex;justify-content:space-between;align-items:center;color:#334155;font-size:14px}.st-array-monitor header button{border:0;background:transparent;font-size:22px}.st-array-editor p{color:#64748b;margin:8px 0}.st-array-editor__values{max-height:240px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.st-array-editor__values label{min-width:0;display:grid;gap:2px}.st-array-editor__values label>span{color:#64748b;font-family:monospace}.st-array-editor__values input,.st-array-editor__values button{width:100%}.st-array-editor__values output{font-size:11px;text-align:left}.st-array-editor__values input,.st-array-editor__values button,.st-array-editor__values output{box-sizing:border-box;min-width:0;padding:5px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#334155}.st-array-editor__values output{display:block;overflow:hidden;text-overflow:ellipsis}.st-declarations-editor{padding:0 10px 8px}.st-declarations-editor p{padding:0 0 6px}.st-declarations-editor textarea{box-sizing:border-box;display:block;width:100%;height:130px;resize:vertical;min-height:70px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;padding:7px;color:#334155;font:12px/19px ui-monospace,Consolas,monospace}.st-declarations-editor__input{position:relative}.st-declarations-editor__highlight{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;overflow:hidden;pointer-events:none;border:1px solid transparent;border-radius:4px;padding:7px;color:#334155;font:12px/19px ui-monospace,Consolas,monospace;font-variant-ligatures:none;white-space:pre;-moz-tab-size:2;tab-size:2}.st-declarations-editor .st-declarations-editor__input textarea{position:relative;overflow:auto;white-space:pre;-moz-tab-size:2;tab-size:2;font-variant-ligatures:none;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:#334155}.st-declarations-editor__input{background:#fff;border-radius:4px}.st-declarations-editor textarea::selection{background:#93c5fd73}@media (forced-colors: active){.st-declarations-editor__highlight{display:none}.st-declarations-editor .st-declarations-editor__input textarea{color:CanvasText;-webkit-text-fill-color:CanvasText;caret-color:CanvasText}}.st-declarations-editor>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.st-declarations-editor button{border:1px solid #cbd5e1;border-radius:5px;padding:4px 7px;background:#fff;font-size:11px}.st-declarations-editor [role=status]{color:#64748b;font-size:11px}.st-practice{min-width:0;min-height:0;padding:16px;overflow:auto;border-left:1px solid #cbd5e1;background:#f8fafc;font-size:13px;line-height:1.55}.st-practice header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.st-practice h2{margin:0;font-size:20px;color:#0f172a}.st-practice header>span{padding:3px 8px;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:700}.st-practice>label{display:block;margin-bottom:5px;color:#334155;font-weight:700}.st-practice select{width:100%;min-height:38px;padding:7px;border:1px solid #94a3b8;border-radius:6px;background:#fff;font-size:13px}.st-practice h3{margin:22px 0 8px;color:#0f172a;font-size:18px;line-height:1.3}.st-practice__meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-2px 0 10px}.st-practice h4{margin:18px 0 8px;font-size:13px;color:#334155}.st-practice p{margin:8px 0}.st-practice .st-practice__draft-note{font-size:11px;color:#64748b}.st-practice__requirements{padding-left:19px}.st-practice__requirements li+li{margin-top:9px}.st-practice__tags{margin:16px 0;padding:9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.st-practice__tags summary{cursor:pointer;font-weight:700}.st-practice__tags ul{margin:8px 0 0;padding:0;list-style:none}.st-practice__tags li{display:grid;gap:2px;padding:4px 0}.st-practice__tags li span{color:#64748b;font-size:11px}.st-practice code{overflow-wrap:anywhere}.st-practice .st-practice__check{width:100%;padding:10px;border:1px solid #1d4ed8;border-radius:6px;background:#1d4ed8;color:#fff;font-weight:700}.st-practice__check:hover:not(:disabled){background:#1e40af}.st-practice__results ul{list-style:none;margin:0;padding:0}.st-practice__results li{padding:10px 0;border-bottom:1px solid #e2e8f0;color:#64748b}.st-practice__results li strong,.st-practice__results li p{font-size:12px}.st-practice__results .is-pass,.st-practice__success{color:#15803d}.st-practice__results .is-fail{color:#b45309}.st-studio__left-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border-right:1px solid #cbd5e1;background:#f8fafc}.st-studio__left-title{padding:12px;border-bottom:1px solid #cbd5e1;background:#eef2f7;color:#334155;font-weight:800}.st-tag-table{min-width:0;min-height:0;margin:10px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.st-tag-table__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #e2e8f0}.st-tag-table__actions span{color:#64748b;font-size:11px;font-weight:700}.st-tag-table button,.st-tag-table input,.st-tag-table select,.st-tag-table output{min-width:0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:5px 7px;font-size:12px}.st-tag-table__actions button{font-weight:800}.st-tag-table table{width:100%;min-width:458px;table-layout:fixed;border-collapse:collapse}.st-tag-table th,.st-tag-table td{padding:6px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.st-tag-table th{color:#475569;font-size:11px;font-weight:800}.st-tag-table th:first-child{width:auto}.st-tag-table th:nth-child(2){width:84px}.st-tag-table th:nth-child(3){width:100px}.st-tag-table th:nth-child(4){width:38px}.st-tag-table th:nth-child(5){width:48px}.st-tag-table th:nth-child(6){width:70px}.st-tag-table th:last-child{width:30px}.st-tag-table input,.st-tag-table select,.st-tag-table output{box-sizing:border-box}.st-tag-table td>input,.st-tag-table td>select,.st-tag-table td>output,.st-tag-table td>button:not(.st-tag-table__delete){width:100%}.st-tag-table output{display:flex;align-items:center;overflow:hidden;background:#f1f5f9;color:#475569;font-family:inherit;font-weight:400;text-align:left}.st-tag-table output>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.st-tag-table td>output.st-tag-table__timer{display:grid;height:auto;gap:2px;white-space:normal;text-align:left}.st-tag-table output.st-tag-table__timer>span{white-space:normal;overflow-wrap:anywhere}.st-tag-table output.st-tag__value--bool{justify-content:center;font-weight:800}.st-tag-table output.st-tag__value--int,.st-tag-table output.st-tag__value--real{justify-content:flex-end}.st-tag__toggle{color:var(--state-off)!important;border-color:var(--state-off)!important;background:var(--state-off-soft)!important;font-weight:800}.st-tag__toggle.is-on{color:var(--state-on)!important;border-color:var(--state-on)!important;background:var(--state-on-soft)!important}.st-tag-table output.st-tag__value--bool{color:var(--state-off)!important;border-color:var(--state-off)!important;background:var(--state-off-soft)!important}.st-tag-table output.st-tag__value--bool.is-on{color:var(--state-on)!important;border-color:var(--state-on)!important;background:var(--state-on-soft)!important}.st-tag__number{text-align:right}.st-tag-table__delete{width:22px;height:22px;padding:0!important;border:0!important;color:#94a3b8!important;font-size:17px!important;line-height:1}.st-tag-table__delete:hover{background:#fee2e2;color:#b91c1c!important}.st-tag-table__add-row td{padding:8px 6px}.st-tag-table__add-row button{width:100%;border-style:dashed;color:#64748b;font-weight:700}.st-studio__center-panel{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 0;background:#f1f5f9}.st-studio__center-panel[data-view=split]{grid-template-rows:minmax(300px,3fr) minmax(250px,2fr)}.st-studio__center-panel[data-view=hmi]{grid-template-rows:0 minmax(0,1fr)}.st-studio__code-work-area,.st-studio__hmi-work-area{min-width:0;min-height:0;overflow:hidden}.st-studio__center-panel[data-view=code] .st-studio__hmi-work-area,.st-studio__center-panel[data-view=hmi] .st-studio__code-work-area{visibility:hidden}.st-studio__code-work-area{display:flex;flex-direction:column;overflow:auto;background:#fff}.st-studio__code-work-area>*{flex-shrink:0}.st-studio__code-work-area>.st-code-editor{flex:1 0 180px}.st-studio__declarations{margin:8px 10px 0;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#334155;font-size:12px}.st-studio__declarations summary{padding:8px 10px;cursor:pointer;font-weight:700}.st-studio__declarations summary span{margin-left:8px;color:#64748b;font-weight:400}.st-studio__declarations p{margin:0;padding:0 10px 8px;color:#64748b}.st-studio__declarations pre{max-height:160px;margin:0;padding:10px;overflow:auto;border-top:1px solid #e2e8f0;font:12px/20px ui-monospace,SFMono-Regular,Consolas,monospace}.st-studio__program-header{min-width:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid #dbe4ee;background:#fff}.st-studio__program-header>div{min-width:0;display:grid;gap:2px}.st-studio__program-header strong{color:#1e293b;font-size:14px}.st-studio__program-header div>span{color:#64748b;font-size:14px;line-height:1.5}.st-studio__program-header div>.st-studio__autocomplete-hint{color:#334155}.st-studio__autocomplete-hint kbd{color:#1d4ed8;font-weight:700}.st-studio__language-pill{flex:0 0 auto;padding:5px 8px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:10px;font-weight:800;white-space:nowrap}.st-studio__instructions{margin:8px 10px 0;overflow:hidden;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#1e40af;font-size:12px}.st-studio__instructions summary{padding:8px 10px;cursor:pointer;font-weight:800}.st-studio__instructions ol{margin:0;padding:0 16px 10px 32px;line-height:1.45}.st-code-editor{position:relative;min-width:0;min-height:180px;display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto minmax(180px,1fr);margin:8px 10px 0;overflow:hidden;border:1px solid #cbd5e1;border-radius:7px 7px 0 0;background:#fff;box-shadow:inset 3px 0 #3b82f6}.st-code-editor__toolbar{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:7px 10px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:11px}.st-code-editor__toolbar label{display:flex;align-items:center;gap:6px;font-weight:700}.st-code-editor__toolbar select{padding:4px 6px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#334155}.st-code-editor__snippet-help{color:#64748b;font-size:10px}.st-code-editor__suggestions{position:absolute;z-index:5;right:12px;bottom:12px;left:60px;max-height:180px;overflow:auto;border:1px solid #94a3b8;border-radius:6px;background:#fff;box-shadow:0 4px 16px #0f172a26}.st-code-editor__suggestions [role=option]{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;color:#334155;font-size:12px;cursor:pointer}.st-code-editor__suggestions [aria-selected=true],.st-code-editor__suggestions [role=option]:hover{background:#dbeafe}.st-code-editor__suggestions strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.st-code-editor__suggestions span{color:#64748b}.st-code-editor__type-picker{position:absolute;z-index:8;box-sizing:border-box;width:230px;overflow:hidden;border:1px solid #64748b;border-radius:7px;background:#fff;box-shadow:0 8px 24px #0f172a38}.st-code-editor__type-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:10px}.st-code-editor__type-title strong{overflow:hidden;color:#1e293b;font:700 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis}.st-code-editor__type-picker [role=option]{display:grid;grid-template-columns:20px 48px minmax(0,1fr);align-items:center;gap:6px;padding:6px 9px;color:#334155;cursor:pointer}.st-code-editor__type-picker [role=option]:hover,.st-code-editor__type-picker [role=option][aria-selected=true]{background:#dbeafe}.st-code-editor__type-picker [role=option] kbd{padding:1px 4px;border:1px solid #94a3b8;border-radius:3px;background:#fff;font:700 10px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center}.st-code-editor__type-picker [role=option] strong{font:700 11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}.st-code-editor__type-picker [role=option] span{overflow:hidden;color:#64748b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.st-code-editor__type-picker small{display:block;padding:5px 9px 6px;border-top:1px solid #e2e8f0;color:#64748b;font-size:9px}.st-code-editor.has-errors{box-shadow:inset 3px 0 #dc2626}.st-code-editor__lines{display:grid;grid-auto-rows:22px;align-content:start;padding:14px 8px 14px 0;overflow:hidden;border-right:1px solid #e2e8f0;background:#f8fafc;color:#94a3b8;font:12px/22px ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right;-webkit-user-select:none;user-select:none}.st-code-editor__lines span.has-error{border-radius:3px;background:#fee2e2;color:#b91c1c;font-weight:900}.st-code-editor__input{position:relative;min-width:0;min-height:180px;overflow:hidden}.st-code-editor__highlight,.st-code-editor textarea{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%;margin:0;border:0;padding:14px 16px;color:#172033;font:13px/22px ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-ligatures:none;letter-spacing:normal;-moz-tab-size:2;tab-size:2;white-space:pre}.st-code-editor__highlight{overflow:hidden;pointer-events:none}.st-code-editor__keyword{color:#06f}.st-code-editor__comment{color:#15803d}.st-code-editor textarea{resize:none;outline:0;overflow:auto;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:#172033}.st-code-editor textarea::selection{background:#93c5fd73}@media (forced-colors: active){.st-code-editor__highlight{display:none}.st-code-editor textarea{color:CanvasText;-webkit-text-fill-color:CanvasText;caret-color:CanvasText}}.st-studio__diagnostic-panel{min-height:104px;max-height:180px;display:grid;grid-template-rows:auto minmax(0,1fr);margin:0 10px 10px;overflow:hidden;border:1px solid #cbd5e1;border-top:0;border-radius:0 0 7px 7px;background:#f8fafc}.st-studio__diagnostic-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:11px}.st-studio__diagnostic-title strong{font-size:12px}.st-studio__diagnostic-title span{color:#64748b}.st-studio__diagnostics{list-style:none;margin:0;padding:0;overflow:auto}.st-studio__diagnostics li+li{border-top:1px solid #fee2e2}.st-studio__diagnostics button{width:100%;display:grid;grid-template-columns:18px 100px minmax(0,1fr);gap:7px;align-items:center;padding:7px 10px;border:0;background:#fff7f7;color:#991b1b;font-size:11px;text-align:left}.st-studio__diagnostics button:hover{background:#fee2e2}.st-studio__diagnostic-icon{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#dc2626;color:#fff;font-weight:900}.st-studio__diagnostic-empty{align-self:center;margin:0;padding:12px;color:#64748b;font-size:12px}.st-studio__diagnostic-empty span{margin-right:6px;color:#15803d;font-weight:900}.st-studio__test-summary{padding:8px 10px;overflow:auto;border-top:1px solid #e2e8f0;color:#334155;font-size:11px}.st-studio__test-summary ul{display:flex;flex-wrap:wrap;gap:5px 12px;list-style:none;margin:6px 0 0;padding:0}.st-studio__test-summary li{text-transform:capitalize}.st-studio__test-summary .is-pass{color:#15803d}.st-studio__test-summary .is-fail{color:#b45309}.st-studio__hmi-work-area{border-top:1px solid #cbd5e1}.st-studio__hmi-work-area .hmi-panel{height:100%}.st-studio__center-panel[data-view=split] .hmi-panel{grid-template-columns:minmax(0,1fr) 220px}.st-studio__center-panel[data-view=split] .hmi-widget-palette{min-width:220px}.st-studio__center-panel[data-view=split] .hmi-palette-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}.st-studio__center-panel[data-view=split] .hmi-palette-item{min-height:76px;grid-template-columns:1fr;justify-items:center;gap:4px;padding:7px;text-align:center}.st-studio__center-panel[data-view=split] .hmi-palette-icon{width:54px;height:32px}.st-studio__center-panel[data-view=split] .hmi-palette-item span:last-child{justify-content:center;height:auto}.st-studio__center-panel[data-view=split] .hmi-palette-item strong{font-size:11px}[data-theme=dark] .st-studio__brand strong,[data-theme=dark] .st-studio__declarations,[data-theme=dark] .st-array-monitor header,[data-theme=dark] .st-array-monitor header button,[data-theme=dark] .st-practice>label,[data-theme=dark] .st-studio__test-summary,[data-theme=dark] .st-code-editor__highlight,[data-theme=dark] .st-code-editor__suggestions [role=option],[data-theme=dark] .st-code-editor__type-picker [role=option],[data-theme=dark] .st-code-editor__type-title strong{color:var(--learn-text)}[data-theme=dark] .st-studio__brand span,[data-theme=dark] .st-studio__sim-controls>span,[data-theme=dark] .st-tag-table__actions span,[data-theme=dark] .st-studio__declarations summary span,[data-theme=dark] .st-studio__declarations p,[data-theme=dark] .st-declarations-editor [role=status],[data-theme=dark] .st-array-editor p,[data-theme=dark] .st-array-editor__values label>span,[data-theme=dark] .st-practice .st-practice__draft-note,[data-theme=dark] .st-practice__tags li span,[data-theme=dark] .st-practice__results li,[data-theme=dark] .st-code-editor__suggestions span,[data-theme=dark] .st-code-editor__type-title,[data-theme=dark] .st-code-editor__type-picker [role=option] span,[data-theme=dark] .st-code-editor__type-picker small,[data-theme=dark] .st-studio__diagnostic-title span{color:var(--learn-text-muted)}[data-theme=dark] .st-tag-table,[data-theme=dark] .st-studio__declarations,[data-theme=dark] .st-code-editor__type-title{background:var(--learn-surface);border-color:var(--learn-border)}[data-theme=dark] .st-studio__code-work-area{background:var(--learn-bg)}[data-theme=dark] .st-studio__top-bar button,[data-theme=dark] .st-studio__status span,[data-theme=dark] .st-studio__language-pill,[data-theme=dark] .st-tag-table button,[data-theme=dark] .st-tag-table output,[data-theme=dark] .st-code-editor__toolbar select,[data-theme=dark] .st-code-editor__type-picker [role=option] kbd{background:var(--learn-surface-muted);border-color:var(--learn-border-strong);color:var(--learn-text)}[data-theme=dark] .st-studio__top-bar button:hover:not(:disabled),[data-theme=dark] .st-tag-table__actions button:hover,[data-theme=dark] .st-tag-table__add-row button:hover,[data-theme=dark] .st-code-editor__suggestions [aria-selected=true],[data-theme=dark] .st-code-editor__type-picker [role=option]:hover{background:#273b5e}[data-theme=dark] .st-studio__view-controls button.active,[data-theme=dark] .st-studio__sim-controls button.active{background:var(--state-off-soft);border-color:var(--state-off);color:var(--state-off)}[data-theme=dark] .st-studio__view-controls,[data-theme=dark] .st-studio__sim-controls,[data-theme=dark] .st-studio__left-panel,[data-theme=dark] .st-studio__left-title,[data-theme=dark] .st-studio__hmi-work-area,[data-theme=dark] .st-tag-table__actions,[data-theme=dark] .st-tag-table th,[data-theme=dark] .st-studio__declarations pre,[data-theme=dark] .st-code-editor,[data-theme=dark] .st-code-editor__toolbar,[data-theme=dark] .st-code-editor__type-picker small,[data-theme=dark] .st-studio__diagnostic-title,[data-theme=dark] .st-studio__test-summary,[data-theme=dark] .st-practice__results li{border-color:var(--learn-border)}[data-theme=dark] .st-studio__status .is-compiled,[data-theme=dark] .st-studio__status .is-running{background:var(--learn-success-bg);border-color:var(--state-on-border);color:var(--learn-success)}[data-theme=dark] .st-studio__status .has-compile-errors,[data-theme=dark] .st-code-editor__lines span.has-error,[data-theme=dark] .st-studio__diagnostics button{background:var(--learn-danger-bg);border-color:#7f1d1d;color:var(--learn-danger)}[data-theme=dark] .st-studio__diagnostics li+li{border-color:#7f1d1d}[data-theme=dark] .st-studio__diagnostics button:hover{background:#512323}[data-theme=dark] .st-tag-table__delete:hover{background:var(--learn-danger-bg);color:var(--learn-danger)!important}[data-theme=dark] .st-studio__instructions,[data-theme=dark] .st-practice header>span{background:#15233b;border-color:#304a70;color:#bfdbfe}[data-theme=dark] .st-studio__autocomplete-hint kbd{color:var(--learn-link)}[data-theme=dark] .st-practice .practice-completion{color:var(--learn-text-muted)}[data-theme=dark] .st-practice .practice-completion--done,[data-theme=dark] .st-practice__results .is-pass,[data-theme=dark] .st-practice .st-practice__success,[data-theme=dark] .st-studio__test-summary .is-pass,[data-theme=dark] .st-studio__diagnostic-panel .st-studio__diagnostic-empty span{color:var(--learn-success)}[data-theme=dark] .st-practice__results .is-fail,[data-theme=dark] .st-studio__test-summary .is-fail,[data-theme=dark] .st-practice .practice-completion--done .practice-completion__star{color:var(--learn-warning)}[data-theme=dark] .st-studio .hmi-panel,[data-theme=dark] .st-studio .hmi-widget-palette,[data-theme=dark] .st-studio .hmi-config-popover{background:var(--learn-surface);border-color:var(--learn-border);color:var(--learn-text)}[data-theme=dark] .st-studio .hmi-canvas-grey,[data-theme=dark] .st-studio .hmi-canvas-blue{background-color:#172131;background-image:linear-gradient(90deg,rgb(148 163 184 / .06) 1px,transparent 1px),linear-gradient(0deg,rgb(148 163 184 / .06) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgb(148 163 184 / .2) 1px,transparent 0),linear-gradient(135deg,#1b2536,#101827)}[data-theme=dark] .st-studio .hmi-canvas-blue{background-image:linear-gradient(90deg,rgb(96 165 250 / .08) 1px,transparent 1px),linear-gradient(0deg,rgb(96 165 250 / .08) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgb(96 165 250 / .25) 1px,transparent 0),linear-gradient(135deg,#162d4b,#101c30)}[data-theme=dark] .st-studio .hmi-palette-title{border-color:var(--learn-border);color:var(--learn-text)}[data-theme=dark] .st-studio .hmi-canvas-label,[data-theme=dark] .st-studio .hmi-background-picker,[data-theme=dark] .st-studio .hmi-palette-item,[data-theme=dark] .st-studio .hmi-numeric-input,[data-theme=dark] .st-studio .hmi-numeric-input input,[data-theme=dark] .st-studio .hmi-config-popover button,[data-theme=dark] .st-studio .hmi-config-popover input,[data-theme=dark] .st-studio .hmi-config-popover select,[data-theme=dark] .st-studio .hmi-binding-input-wrapper,[data-theme=dark] .st-studio .hmi-binding-dropdown-list{background:var(--learn-surface-muted);border-color:var(--learn-border-strong);color:var(--learn-text);box-shadow:none}[data-theme=dark] .st-studio .hmi-background-picker button,[data-theme=dark] .st-studio .hmi-pushbutton strong,[data-theme=dark] .st-studio .hmi-indicator strong,[data-theme=dark] .st-studio .hmi-motor strong,[data-theme=dark] .st-studio .hmi-tank strong,[data-theme=dark] .st-studio .hmi-conveyor strong,[data-theme=dark] .st-studio .hmi-numeric-label,[data-theme=dark] .st-studio .hmi-binding-dropdown-list .tag-dropdown-item strong{color:var(--learn-text);text-shadow:none}[data-theme=dark] .st-studio .hmi-background-picker button.active,[data-theme=dark] .st-studio .hmi-config-popover .hmi-binding-dropdown-toggle:hover,[data-theme=dark] .st-studio .hmi-binding-dropdown-list .tag-dropdown-item:hover,[data-theme=dark] .st-studio .hmi-binding-dropdown-list .tag-dropdown-item.selected{background:#273b5e;color:var(--learn-link)}[data-theme=dark] .st-studio .hmi-pushbutton small,[data-theme=dark] .st-studio .hmi-numeric-input small,[data-theme=dark] .st-studio .hmi-numeric-display small,[data-theme=dark] .st-studio .hmi-tank small,[data-theme=dark] .st-studio .hmi-config-popover label,[data-theme=dark] .st-studio .hmi-binding-dropdown-list .tag-dropdown-item small,[data-theme=dark] .st-studio .tag-dropdown-empty{color:var(--learn-text-muted)}[data-theme=dark] .st-studio .hmi-delete-widget{background:var(--learn-danger-bg)!important;border-color:#7f1d1d!important;color:var(--learn-danger)!important}@media (max-width: 1120px){.st-studio__status span:last-child{display:none}}@media (max-width: 760px){.st-studio{min-width:0;min-height:900px;overflow:auto}.st-studio__top-bar{flex-wrap:wrap}.st-studio__brand{width:100%}.st-studio__status{margin-left:0}.st-studio__workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(650px,1fr)}.st-studio--practice{min-width:0}.st-studio--practice .st-studio__workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(300px,440px) minmax(240px,330px) minmax(650px,1fr)}.st-studio--practice .st-studio__left-panel{grid-row:2}.st-studio--practice .st-studio__center-panel{grid-row:3}.st-practice{grid-row:1;max-height:440px;border-left:0;border-bottom:1px solid #cbd5e1}.st-studio__left-panel{max-height:330px;border-right:0;border-bottom:1px solid #cbd5e1}.st-studio__center-panel[data-view=split]{grid-template-rows:minmax(420px,3fr) minmax(360px,2fr)}.st-studio__hmi-work-area .hmi-panel{grid-template-columns:minmax(0,1fr) 160px}.st-studio__hmi-work-area .hmi-widget-palette{min-width:160px}}.st-lesson{box-sizing:border-box;container-type:inline-size;width:100%;min-width:0;max-width:100%;overflow:hidden;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:13px}.st-lesson *,.st-lesson *:before,.st-lesson *:after{box-sizing:border-box}.st-lesson button{cursor:pointer}.st-lesson button:disabled{cursor:default;opacity:.55}.st-lesson__header{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;background:#1e293b;color:#f8fafc}.st-lesson__header strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-lesson__header button{flex:none}.st-lesson__mode{flex:none;padding:2px 5px;border-radius:3px;background:#334155;font-size:11px}.st-lesson__description{margin:8px 10px}.st-lesson__controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid #cbd5e1}.st-lesson__controls button,.st-lesson__help button,.st-lesson__header button{padding:5px 8px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#0f172a;font:inherit}.st-lesson__controls output{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.st-lesson__workspace{display:flex;flex-direction:column;min-width:0}.st-lesson__editor,.st-lesson__side{min-width:0}.st-lesson__editor{display:flex;flex-direction:column;gap:5px;padding:10px}.st-lesson__editor label{font-weight:700}.st-lesson__editor>textarea{display:block;width:100%;min-width:0;min-height:210px;max-height:65vh;resize:vertical;padding:8px;border:1px solid #94a3b8;border-radius:4px;background:#fff;color:#0f172a;font:12px/1.5 Consolas,Monaco,monospace;-moz-tab-size:2;tab-size:2}.st-lesson__editor>.st-code-editor{flex:1;min-height:260px;margin:0}.mdx-content .st-lesson .st-code-editor__highlight{margin:0;padding:14px 16px;border:0;border-radius:0;background:transparent;color:#172033;overflow:hidden}.st-lesson__side{border-top:1px solid #cbd5e1}.st-lesson__tags{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:0 10px;padding:10px}.st-lesson__tags>strong{grid-column:1 / -1}.st-lesson__tag{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #e2e8f0}.st-lesson__tag label{display:flex;flex-direction:column;min-width:0}.st-lesson__tag label span{overflow-wrap:anywhere;font:12px Consolas,Monaco,monospace}.st-lesson__tag small{color:#64748b}.st-lesson__tag input{width:80px;min-width:0}.st-lesson__tag output{max-width:95px;overflow-wrap:anywhere;text-align:right}.st-lesson__tag output.st-lesson__members{grid-column:1 / -1;max-width:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:2px 10px;text-align:left;font:12px Consolas,Monaco,monospace}.st-lesson__members>span{display:flex;justify-content:space-between;gap:6px;min-width:0}.st-lesson__members>span>span{color:#64748b}.st-lesson__tag button{border:1px solid #64748b;border-radius:4px;padding:4px 6px;background:#fff}.st-lesson__tag button[aria-pressed=true]{background:#dcfce7}.st-lesson__hmi{min-width:0;border-top:1px solid #cbd5e1}.st-lesson__hmi .sim-embed-hmi-canvas{width:100%;height:auto;min-height:0;aspect-ratio:var(--sim-embed-hmi-aspect);max-height:var(--sim-embed-hmi-natural-height)}.st-lesson__hmi--fixed .sim-embed-hmi-canvas{height:100%;max-height:none}.st-lesson__diagnostics,.st-lesson__checks ul{margin:4px 0;padding-left:20px}.st-lesson__diagnostics,.st-lesson__checks .is-fail{color:#b91c1c}.st-lesson__checks .is-pass{color:#15803d}.st-lesson__checks,.st-lesson__help{padding:10px;border-top:1px solid #cbd5e1}.st-lesson__checks li{margin:5px 0;overflow-wrap:anywhere}.st-lesson__help{display:flex;flex-wrap:wrap;gap:6px}.st-lesson__help ol,.st-lesson__solution{flex-basis:100%;margin:4px 0}.st-lesson__solution{display:block}.st-lesson__solution-label{display:block;margin:0 0 4px;color:#0f172a}.st-lesson__solution pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px;background:#e2e8f0;border-radius:4px;margin:0}.st-lesson__solution pre code{color:#0f172a;font:12px/1.5 Consolas,Monaco,monospace}.st-lesson__solution p{margin:6px 0 0;color:#334155}.st-lesson--expanded{position:fixed;top:12px;right:12px;bottom:12px;left:12px;z-index:1000;width:auto;max-width:none;overflow:auto;box-shadow:0 0 0 100vmax #0009}.st-lesson--expanded .st-lesson__editor>:is(textarea,.st-code-editor){min-height:55vh}@container (min-width: 640px){.st-lesson__workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px)}.st-lesson__editor>textarea{flex:1;max-height:none}.st-lesson__side{border-top:0;border-left:1px solid #cbd5e1}.st-lesson__tags{display:block}}[data-theme=dark] .st-lesson{background:#0f172a;border-color:#475569;color:#e2e8f0}[data-theme=dark] .st-lesson :is(.st-lesson__controls,.st-lesson__side,.st-lesson__tag,.st-lesson__hmi,.st-lesson__checks,.st-lesson__help){border-color:#475569}[data-theme=dark] .st-lesson :is(.st-lesson__editor>textarea,.st-lesson__tag input,.st-lesson__tag button,.st-lesson__controls button,.st-lesson__help button,.st-lesson__header button){background:#1e293b;color:#f8fafc;border-color:#64748b}[data-theme=dark] .st-lesson__tag small,[data-theme=dark] .st-lesson__members>span>span{color:#94a3b8}[data-theme=dark] .st-lesson__tag button[aria-pressed=true]{background:#14532d}[data-theme=dark] .st-lesson .st-code-editor{background:#1e293b}[data-theme=dark] .st-lesson :is(.st-code-editor__toolbar,.st-code-editor__lines,.st-code-editor__suggestions,.st-code-editor__type-picker){background:#0f172a;border-color:#475569}[data-theme=dark] .st-lesson .st-code-editor textarea{caret-color:#f8fafc}[data-theme=dark] .mdx-content .st-lesson .st-code-editor__highlight{color:#e2e8f0}[data-theme=dark] .st-lesson .st-code-editor__keyword{color:#60a5fa}[data-theme=dark] .st-lesson__solution pre{background:#1e293b}[data-theme=dark] .st-lesson__solution-label,[data-theme=dark] .st-lesson__solution pre code{color:#f8fafc}[data-theme=dark] .st-lesson__solution p{color:#cbd5e1}[data-theme=dark] .st-lesson :is(.st-lesson__diagnostics,.st-lesson__checks .is-fail){color:#fca5a5}[data-theme=dark] .st-lesson__checks .is-pass{color:#86efac}[data-theme=dark] .st-lesson__hmi :is(.hmi-pushbutton,.hmi-indicator,.hmi-motor,.hmi-tank,.hmi-conveyor) strong,[data-theme=dark] .st-lesson__hmi .hmi-numeric-label{color:#e5ecf5;text-shadow:none}[data-theme=dark] .st-lesson__hmi :is(.hmi-pushbutton,.hmi-tank,.hmi-numeric-display) small{color:#aebdd0}.hysteresis-lab{margin:1.5rem 0;padding:clamp(12px,3vw,24px);border:1px solid var(--learn-border);border-radius:12px;background:var(--learn-surface);color:var(--learn-text);min-width:0}.hysteresis-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.hysteresis-lab button,.hysteresis-lab select,.hysteresis-lab textarea{font:inherit;border:1px solid var(--learn-border-strong);border-radius:6px;padding:8px 12px;color:var(--learn-text);background:var(--learn-surface-muted)}.hysteresis-lab button{cursor:pointer;min-height:44px}.hysteresis-lab button[aria-pressed=true]{border-color:var(--learn-link);box-shadow:inset 0 -3px var(--learn-link)}.hysteresis-lab button:disabled{cursor:default;color:var(--learn-success)}.hysteresis-lab :is(button,select,textarea,summary):focus-visible{outline:3px solid var(--learn-link);outline-offset:3px}.hysteresis-hmi{min-height:310px;border:1px solid var(--learn-border);border-radius:8px;overflow:hidden;background:var(--learn-surface-muted)}.hysteresis-hmi .sim-embed-hmi-canvas{height:100%}.hysteresis-ladder{overflow-x:auto;max-width:100%}.hysteresis-history{overflow-x:auto}.hysteresis-question{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 0}.hysteresis-question p{grid-column:1 / -1;margin:0}.hysteresis-st-practice textarea{display:block;box-sizing:border-box;width:100%;resize:vertical;font-family:monospace;line-height:1.6}.hysteresis-lab details{margin-top:20px}.hysteresis-lab summary{cursor:pointer;padding:8px 0;font-weight:600}.hysteresis-lab pre{overflow-x:auto}[data-theme=dark] .hysteresis-hmi :is(.hmi-pushbutton,.hmi-indicator,.hmi-motor,.hmi-tank,.hmi-conveyor) strong,[data-theme=dark] .hysteresis-hmi .hmi-numeric-label{color:#e5ecf5;text-shadow:none}[data-theme=dark] .hysteresis-hmi :is(.hmi-pushbutton,.hmi-tank,.hmi-numeric-display) small{color:#aebdd0}@media (max-width: 600px){.hysteresis-question{grid-template-columns:1fr}.hysteresis-question select{width:100%}}.vendor-note{margin:1.5rem 0;overflow:hidden;border:1px solid var(--learn-border, #dbe4ee);border-left:4px solid var(--learn-link, #2563eb);border-radius:var(--learn-radius, 8px);background:var(--learn-surface, #ffffff);color:var(--learn-text, #0f172a)}.vendor-note__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;padding:.7rem 1rem;border-bottom:1px solid var(--learn-border, #dbe4ee);background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text, #0f172a);font-size:.85rem;font-weight:700;line-height:1.4}.vendor-note__platform{color:var(--learn-text-muted, #475569);font-weight:600}.vendor-note__content{padding:.85rem 1rem;color:var(--learn-text-muted, #475569);font-size:.95rem;line-height:1.65}.vendor-note__content>:first-child{margin-top:0}.vendor-note__content>:last-child{margin-bottom:0}.bit-word-inspector{margin:1.5rem 0;padding:clamp(12px,3vw,16px);min-width:0;max-width:100%;border:1px solid var(--learn-border, #dbe4ee);border-radius:var(--learn-radius, 8px);background:var(--learn-surface, #ffffff);color:var(--learn-text, #0f172a);box-shadow:var(--learn-shadow, none)}.bit-word-inspector__header{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.bit-word-inspector__eyebrow{color:var(--learn-text-soft, #64748b);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bit-word-inspector__title{color:var(--learn-text, #0f172a);font-size:16px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.bit-word-inspector__bits{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px}.bit-word-inspector__byte{display:flex;flex:1 1 250px;gap:10px;min-width:0}.bit-word-inspector__nibble{display:flex;flex:1 1 0;flex-direction:column;gap:4px;min-width:0}.bit-word-inspector__nibble-bits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.bit-word-inspector__bit-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0}.bit-word-inspector__sign-marker{height:14px;color:var(--learn-warning, #a16207);font-size:10px;font-weight:800;letter-spacing:.04em;line-height:14px;text-align:center;text-transform:uppercase}.bit-word-inspector .bit-word-inspector__bit{width:100%;min-width:26px;min-height:44px;margin:0;padding:0;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:6px;background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text-muted, #475569);cursor:pointer;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:18px;font-weight:700;line-height:1;transition:background .12s,border-color .12s,color .12s}.bit-word-inspector .bit-word-inspector__bit:hover{border-color:var(--learn-link, #2563eb)}.bit-word-inspector .bit-word-inspector__bit.is-on{border-color:var(--learn-link, #2563eb);background:var(--learn-link, #2563eb);color:var(--learn-surface, #ffffff)}.bit-word-inspector .bit-word-inspector__bit.is-sign{border:2px solid var(--learn-warning, #a16207)}.bit-word-inspector .bit-word-inspector__bit.is-sign.is-on{background:var(--learn-warning, #a16207);color:var(--learn-surface, #ffffff)}.bit-word-inspector__bit-number{color:var(--learn-text-soft, #64748b);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.2;text-align:center}.bit-word-inspector__nibble-hex{padding-top:2px;border-top:2px solid var(--learn-border, #dbe4ee);color:var(--learn-link, #2563eb);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;font-weight:700;text-align:center}.bit-word-inspector .bit-word-inspector__hint{margin:10px 0 0;color:var(--learn-text-muted, #475569);font-size:13px;line-height:1.5}.bit-word-inspector__values{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.bit-word-inspector__value{flex:1 1 96px;min-width:0;padding:8px 10px;border:1px solid var(--learn-border, #dbe4ee);border-radius:6px;background:var(--learn-surface-muted, #f1f5f9)}.bit-word-inspector__value--wide{flex-basis:100%}.bit-word-inspector__value dt{margin:0 0 2px;color:var(--learn-text-soft, #64748b);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.bit-word-inspector__value dd{margin:0;color:var(--learn-text, #0f172a);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:18px;font-variant-numeric:tabular-nums;font-weight:700;overflow-wrap:anywhere}.bit-word-inspector__value--wide dd{font-size:15px}.bit-word-inspector__value.is-negative dd{color:var(--learn-warning, #a16207)}.bit-word-inspector__controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bit-word-inspector .bit-word-inspector__action{min-height:44px;padding:8px 14px;border:1px solid var(--learn-link, #2563eb);border-radius:6px;background:var(--learn-surface, #ffffff);color:var(--learn-link, #2563eb);cursor:pointer;font-size:14px;font-weight:700}.bit-word-inspector .bit-word-inspector__action:hover{border-color:var(--learn-link-hover, #1d4ed8);background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-link-hover, #1d4ed8)}.bit-word-inspector .bit-word-inspector__action--quiet{border-color:var(--learn-border-strong, #cbd5e1);color:var(--learn-text-muted, #475569)}.bit-word-inspector .bit-word-inspector__bit:focus-visible,.bit-word-inspector .bit-word-inspector__action:focus-visible{outline:3px solid var(--learn-link, #2563eb);outline-offset:2px}.bit-word-inspector .bit-word-inspector__status{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--learn-link, #2563eb);border-radius:0 6px 6px 0;background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text, #0f172a);font-size:14px;line-height:1.5}.bit-word-inspector .bit-word-inspector__status.is-overflow{border-left-color:var(--learn-warning, #a16207);background:var(--learn-warning-bg, #fef9c3)}@media (prefers-reduced-motion: reduce){.bit-word-inspector .bit-word-inspector__bit{transition:none}}.pid-sketch{min-width:0;margin-top:4px}.pid-sketch__legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:4px;color:var(--learn-text-muted, #475569);font-size:12px;font-weight:650}.pid-sketch__key:before{content:"";display:inline-block;width:14px;height:3px;margin:0 5px 3px 0;vertical-align:middle;background:currentColor}.pid-sketch__key--sp{color:#b45309}.pid-sketch__key--sketch{color:#9333ea}.pid-sketch__key--actual{color:#15803d}.pid-sketch__chart{display:block;width:100%;max-width:560px;height:auto;overflow:visible;border:1px solid var(--learn-border, #dbe4ee);border-radius:7px;background:var(--learn-surface-muted, #f8fafc)}.pid-sketch.is-editable .pid-sketch__chart{cursor:ns-resize;touch-action:none}.pid-sketch__plot{fill:transparent}.pid-sketch__grid{stroke:var(--learn-border-strong, #cbd5e1);stroke-width:1}.pid-sketch__tick,.pid-sketch__axis{fill:var(--learn-text-soft, #64748b);font-family:inherit;font-size:11px}.pid-sketch__axis{font-weight:700}.pid-sketch__sp{stroke:#b45309;stroke-width:2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.pid-sketch__actual{fill:none;stroke:#15803d;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.pid-sketch__line{fill:none;stroke:#9333ea;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.pid-sketch__line.is-untouched{stroke-dasharray:3 5;opacity:.55}.pid-sketch__start{fill:#9333ea}.pid-sketch__handle{fill:var(--learn-surface, #ffffff);stroke:#9333ea;stroke-width:2.5}.pid-sketch.is-editable .pid-sketch__handle{cursor:grab}.pid-sketch__handle:focus{outline:none}.pid-sketch__handle:focus-visible{stroke:var(--learn-link, #2563eb);stroke-width:4}.pid-sketch .pid-sketch__help{margin:8px 0 0;color:var(--learn-text-soft, #64748b);font-size:13px;line-height:1.5}.pid-sketch__shapes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pid-sketch .pid-sketch__shape{min-height:36px;padding:6px 10px;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:6px;background:var(--learn-surface, #ffffff);color:var(--learn-text, #0f172a);cursor:pointer;font:inherit;font-size:13px;line-height:1.3;text-align:left}.pid-sketch .pid-sketch__shape:hover:not(:disabled){border-color:var(--learn-link, #2563eb)}.pid-sketch .pid-sketch__shape:focus-visible{outline:3px solid var(--learn-link, #2563eb);outline-offset:2px}.pid-sketch .pid-sketch__shape:disabled{opacity:.55;cursor:not-allowed}[data-theme=dark] .pid-sketch__key--sp{color:#fbbf24}[data-theme=dark] .pid-sketch__key--sketch{color:#c084fc}[data-theme=dark] .pid-sketch__key--actual{color:#4ade80}[data-theme=dark] .pid-sketch__sp{stroke:#fbbf24}[data-theme=dark] .pid-sketch__actual{stroke:#4ade80}[data-theme=dark] .pid-sketch__line{stroke:#c084fc}[data-theme=dark] .pid-sketch__start{fill:#c084fc}[data-theme=dark] .pid-sketch__handle{stroke:#c084fc}[data-theme=dark] .pid-sketch__handle:focus-visible{stroke:var(--learn-link, #60a5fa)}.predict-then-run{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%;margin:1.5rem 0}.predict-then-run__card,.predict-then-run__result{min-width:0;margin:0;padding:clamp(12px,3vw,18px);border:1px solid var(--learn-border, #dbe4ee);border-left:4px solid var(--learn-link, #2563eb);border-radius:var(--learn-radius, 8px);background:var(--learn-surface, #ffffff);color:var(--learn-text, #0f172a);box-shadow:var(--learn-shadow, none)}.predict-then-run__eyebrow{display:block;margin-bottom:6px;color:var(--learn-text-soft, #64748b);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.predict-then-run__fieldset{min-width:0;margin:0;padding:0;border:0}.predict-then-run__question{display:block;width:100%;margin:0 0 12px;padding:0;color:var(--learn-text, #0f172a);font-size:16px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.predict-then-run__choices{display:grid;gap:8px}.predict-then-run__choice{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 10px;min-height:44px;padding:10px 12px;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:6px;background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text, #0f172a);cursor:pointer;font-size:15px;line-height:1.45}.predict-then-run__choice:hover{border-color:var(--learn-link, #2563eb)}.predict-then-run__choice.is-selected{border-color:var(--learn-link, #2563eb);box-shadow:inset 0 0 0 1px var(--learn-link, #2563eb);background:var(--learn-surface, #ffffff)}.predict-then-run__choice input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--learn-link, #2563eb)}.predict-then-run__choice-text{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.predict-then-run__card.is-locked .predict-then-run__choice{cursor:default}.predict-then-run__card.is-locked .predict-then-run__choice:not(.is-selected){color:var(--learn-text-muted, #475569)}.predict-then-run__card.is-locked .predict-then-run__choice:hover:not(.is-selected){border-color:var(--learn-border-strong, #cbd5e1)}.predict-then-run__tag{flex:none;padding:2px 8px;border-radius:999px;background:var(--learn-link, #2563eb);color:var(--learn-surface, #ffffff);font-size:12px;font-weight:750;line-height:1.5}.predict-then-run__numeric{display:flex;flex-direction:column;gap:6px;margin-top:12px}.predict-then-run__numeric label{color:var(--learn-text-muted, #475569);font-size:14px;font-weight:650}.predict-then-run__numeric-row{display:flex;align-items:center;gap:8px}.predict-then-run__numeric input{width:12ch;min-width:0;max-width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:6px;background:var(--learn-surface, #ffffff);color:var(--learn-text, #0f172a);font-size:16px;font-variant-numeric:tabular-nums}.predict-then-run__numeric input:disabled{background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text, #0f172a);opacity:1}.predict-then-run__unit{color:var(--learn-text-muted, #475569);font-size:15px;font-weight:650}.predict-then-run__sketch{min-width:0;margin-top:4px}.predict-then-run .predict-then-run__pending{margin:0 0 10px;color:var(--learn-text-muted, #475569);font-size:15px;line-height:1.6}.predict-then-run__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px}.predict-then-run .predict-then-run__button{min-height:44px;padding:9px 16px;border:1px solid var(--learn-link, #2563eb);border-radius:6px;cursor:pointer;font-size:15px;font-weight:750;line-height:1.2}.predict-then-run .predict-then-run__button--primary{background:var(--learn-link, #2563eb);color:var(--learn-surface, #ffffff)}.predict-then-run .predict-then-run__button--primary:hover:not(:disabled){border-color:var(--learn-link-hover, #1d4ed8);background:var(--learn-link-hover, #1d4ed8)}.predict-then-run .predict-then-run__button--primary:disabled{border-color:var(--learn-border, #dbe4ee);background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text-soft, #64748b);cursor:not-allowed}.predict-then-run .predict-then-run__button--secondary{background:var(--learn-surface, #ffffff);color:var(--learn-link, #2563eb)}.predict-then-run .predict-then-run__button--secondary:hover{border-color:var(--learn-link-hover, #1d4ed8);background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-link-hover, #1d4ed8)}.predict-then-run .predict-then-run__button:focus-visible,.predict-then-run__choice input:focus-visible,.predict-then-run__numeric input:focus-visible{outline:3px solid var(--learn-link, #2563eb);outline-offset:2px}.predict-then-run__help{color:var(--learn-text-soft, #64748b);font-size:13px}.predict-then-run .predict-then-run__locked-note{margin:14px 0 0;color:var(--learn-text-muted, #475569);font-size:14px;line-height:1.5}.predict-then-run__locked-note:focus{outline:none}.predict-then-run__experiment{position:relative;min-width:0;max-width:100%}.predict-then-run__experiment-stage>:first-child{margin-top:0}.predict-then-run__experiment-stage>:last-child{margin-bottom:0}.predict-then-run__experiment.is-gated .predict-then-run__experiment-stage{opacity:.6;filter:grayscale(.25);pointer-events:none;-webkit-user-select:none;user-select:none}.predict-then-run__experiment-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;border-radius:10px;background:color-mix(in srgb,var(--learn-surface, #0f172a) 55%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.predict-then-run__experiment-overlay>span{max-width:24rem;padding:.6rem .9rem;border-radius:999px;font-weight:600;font-size:.95rem;color:var(--learn-text, #e2e8f0);background:color-mix(in srgb,var(--learn-surface, #0f172a) 92%,transparent);border:1px solid var(--learn-border, rgba(148, 163, 184, .35));box-shadow:0 4px 16px #00000040}.predict-then-run__result.is-match{border-left-color:var(--learn-success, #15803d)}.predict-then-run__result.is-differs{border-left-color:var(--learn-warning, #a16207)}.predict-then-run__compare{display:grid;gap:6px;margin:0 0 10px}.predict-then-run__compare>div{display:flex;flex-wrap:wrap;gap:2px 10px}.predict-then-run__compare dt{min-width:8.5em;color:var(--learn-text-soft, #64748b);font-size:13px;font-weight:750;line-height:1.6}.predict-then-run__compare dd{flex:1 1 12em;min-width:0;margin:0;color:var(--learn-text, #0f172a);font-size:15px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.predict-then-run__tolerance{color:var(--learn-text-muted, #475569);font-weight:400}.predict-then-run .predict-then-run__verdict{margin:0 0 10px;font-size:15px;font-weight:750;line-height:1.5}.predict-then-run__result.is-match .predict-then-run__verdict{color:var(--learn-success, #15803d)}.predict-then-run__result.is-differs .predict-then-run__verdict{color:var(--learn-warning, #a16207)}.predict-then-run .predict-then-run__feedback,.predict-then-run .predict-then-run__explanation{margin:0 0 10px;color:var(--learn-text-muted, #475569);font-size:15px;line-height:1.6}.predict-then-run__explanation>:first-child{margin-top:0}.predict-then-run__explanation>:last-child{margin-bottom:0}.predict-then-run__result .predict-then-run__actions{margin-top:4px}.sink-source{--ss-surface: var(--learn-surface, #ffffff);--ss-surface-muted: var(--learn-surface-muted, #f1f5f9);--ss-border: var(--learn-border, #dbe4ee);--ss-border-strong: var(--learn-border-strong, #94a3b8);--ss-text: var(--learn-text, #0f172a);--ss-text-muted: var(--learn-text-muted, #475569);--ss-accent: var(--learn-link, #2563eb);--ss-success: var(--learn-success, #15803d);--ss-success-bg: var(--learn-success-bg, #dcfce7);--ss-danger: var(--learn-danger, #b91c1c);--ss-danger-bg: var(--learn-danger-bg, #fee2e2);--ss-wire: #334155;--ss-wire-brown: #92400e;--ss-wire-blue: #1d4ed8;--ss-wire-black: #111827;--ss-plus: #b91c1c;--ss-current: #ea580c;--ss-box: #f8fafc;--ss-led-on: #16a34a;--ss-target: #f59e0b;margin:1.5rem 0;padding:.9rem;border:1px solid var(--ss-border);border-radius:var(--learn-radius, 8px);background:var(--ss-surface);color:var(--ss-text)}[data-theme=dark] .sink-source{--ss-wire: #aebdd0;--ss-wire-brown: #d97706;--ss-wire-blue: #60a5fa;--ss-wire-black: #e5ecf5;--ss-plus: #f87171;--ss-current: #fb923c;--ss-box: #1b2536;--ss-led-on: #4ade80;--ss-target: #fbbf24}.sink-source__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem 1rem}.sink-source__choice{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0;margin:0;padding:0;border:0}.sink-source__choice legend{width:100%;padding:0 0 .25rem;color:var(--ss-text-muted);font-size:.8rem;font-weight:700}.sink-source__choice label{position:relative;display:inline-flex;align-items:center;min-height:2rem;padding:.25rem .7rem;border:1px solid var(--ss-border-strong);border-radius:6px;background:var(--ss-surface-muted);color:var(--ss-text);font-size:.85rem;font-weight:600;cursor:pointer}.sink-source__choice label.is-selected{border-color:var(--ss-accent);box-shadow:inset 0 0 0 1px var(--ss-accent);font-weight:800}.sink-source__choice label:focus-within,.sink-source button:focus-visible{outline:2px solid var(--ss-accent);outline-offset:2px}.sink-source__choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sink-source button{min-height:2rem;padding:.25rem .8rem;border:1px solid var(--ss-border-strong);border-radius:6px;background:var(--ss-surface-muted);color:var(--ss-text);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.sink-source button:disabled{opacity:.5;cursor:default}.sink-source__target[aria-pressed=true]{border-color:var(--ss-accent);box-shadow:inset 0 0 0 1px var(--ss-accent)}.sink-source__pairing{margin:.75rem 0 .25rem;padding:.35rem .6rem;border-radius:6px;font-size:.9rem}.sink-source__pairing.is-matched{background:var(--ss-success-bg)}.sink-source__pairing.is-mismatched{background:var(--ss-danger-bg)}.sink-source__pairing.is-matched strong{color:var(--ss-success)}.sink-source__pairing.is-mismatched strong{color:var(--ss-danger)}.sink-source__diagram{display:block;width:100%;max-width:640px;height:auto;margin:.5rem auto 0;font-family:inherit}.sink-source__box{fill:var(--ss-box);stroke:var(--ss-border-strong);stroke-width:1.5}.sink-source__electronics{fill:none;stroke:var(--ss-border-strong);stroke-width:1.2;stroke-dasharray:3 2}.sink-source__face{fill:var(--ss-wire)}.sink-source__label,.sink-source__rail-label,.sink-source__terminal-label,.sink-source__wire-label{fill:var(--ss-text);font-size:15px;font-weight:700;text-anchor:middle}.sink-source__rail-label{text-anchor:start;font-size:16px;font-weight:800}.sink-source__terminal-label{text-anchor:start;font-size:14px}.sink-source__terminal-label--end{text-anchor:end}.sink-source__wire-label{fill:var(--ss-text-muted);font-size:13px;font-weight:600;text-anchor:start}.sink-source__wire-label--center{text-anchor:middle}.sink-source__wire{fill:none;stroke:var(--ss-wire);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.sink-source__wire--plus{stroke:var(--ss-plus)}.sink-source__wire--zero{stroke:var(--ss-wire-blue)}.sink-source__wire--brown{stroke:var(--ss-wire-brown);stroke-width:3}.sink-source__wire--blue{stroke:var(--ss-wire-blue);stroke-width:3}.sink-source__wire--black{stroke:var(--ss-wire-black);stroke-width:3}.sink-source__switch{stroke:var(--ss-wire);stroke-width:2.5;stroke-linecap:round}.sink-source__node{fill:var(--ss-wire)}.sink-source__terminal{fill:var(--ss-surface);stroke:var(--ss-wire);stroke-width:2}.sink-source__resistor,.sink-source__led-bar{fill:none;stroke:var(--ss-wire);stroke-width:2;stroke-linejoin:round}.sink-source__led{fill:var(--ss-box);stroke:var(--ss-wire);stroke-width:2;stroke-linejoin:round}.sink-source__led.is-on,.sink-source__status.is-on{fill:var(--ss-led-on)}.sink-source__status{fill:var(--ss-box);stroke:var(--ss-wire);stroke-width:1.5}.sink-source__target-block{fill:var(--ss-target);stroke:var(--ss-wire);stroke-width:1.5}.sink-source__arrowhead{fill:var(--ss-current)}.sink-source__current{fill:none;stroke:var(--ss-current);stroke-width:4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:10 8;opacity:.9}.sink-source__current.is-flowing,.sink-source__current.is-active{animation:sink-source-flow .8s linear infinite}.sink-source__current.is-done{opacity:.45;stroke-dasharray:none}.sink-source__current.is-active{stroke-width:5;opacity:1}.sink-source__current.is-hidden{display:none}.sink-source__readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.4rem;margin:.75rem 0 0}.sink-source__readout>div{padding:.35rem .55rem;border:1px solid var(--ss-border);border-radius:6px;background:var(--ss-surface-muted)}.sink-source__readout dt{color:var(--ss-text-muted);font-size:.75rem;font-weight:700}.sink-source__readout dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums}.sink-source__readout dd.is-on{color:var(--ss-success)}.sink-source__explanation{margin:.75rem 0 0;color:var(--ss-text-muted);line-height:1.55}.sink-source__steps{margin-top:.75rem}.sink-source__step-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sink-source__step-controls span{color:var(--ss-text-muted);font-size:.85rem;font-weight:700}.sink-source__step-list{margin:.6rem 0 0;padding-left:1.4rem;line-height:1.5}.sink-source__step-list li+li{margin-top:.25rem}.sink-source__step-list li.is-active{font-weight:700}.sink-source__step-list li.is-pending{color:var(--ss-text-muted)}@keyframes sink-source-flow{to{stroke-dashoffset:-18}}@media (prefers-reduced-motion: reduce){.sink-source__current.is-flowing,.sink-source__current.is-active{animation:none}}.unit-capstone,.mdx-content .unit-capstone{min-width:0;max-width:100%;margin:1.75rem 0;padding:clamp(14px,3vw,20px);border:1px solid var(--learn-border, #dbe4ee);border-top:4px solid var(--learn-link, #2563eb);border-radius:var(--learn-radius, 8px);background:var(--learn-surface, #ffffff);color:var(--learn-text, #0f172a);box-shadow:var(--learn-shadow, none)}.unit-capstone.unit-capstone--done{border-top-color:var(--learn-success, #15803d)}.unit-capstone .unit-capstone__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin:0 0 10px}.unit-capstone .unit-capstone__heading{min-width:0;margin:0;padding:0;border:0;color:var(--learn-text-soft, #64748b);font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.unit-capstone .unit-capstone__status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:999px;background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text-muted, #475569);font-size:12px;font-weight:750;line-height:1.4;white-space:nowrap}.unit-capstone .unit-capstone__status--done{border-color:var(--learn-success, #15803d);background:var(--learn-success-bg, #dcfce7);color:var(--learn-success, #15803d)}.unit-capstone .unit-capstone__status--compact{padding:1px 8px;font-size:11px}.unit-capstone .unit-capstone__title{margin:0 0 6px;color:var(--learn-text, #0f172a);font-size:17px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.unit-capstone .unit-capstone__description{margin:0 0 14px;color:var(--learn-text-muted, #475569);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.unit-capstone .unit-capstone__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}.unit-capstone .unit-capstone__open{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--learn-link, #2563eb);border-radius:var(--learn-radius, 8px);background:var(--learn-link, #2563eb);color:var(--learn-surface, #ffffff);font-size:14px;font-weight:750;line-height:1.3;text-decoration:none}.unit-capstone .unit-capstone__open:hover{border-color:var(--learn-link-hover, #1d4ed8);background:var(--learn-link-hover, #1d4ed8)}.unit-capstone a:focus-visible{outline:2px solid var(--learn-link, #2563eb);outline-offset:2px}.unit-capstone .unit-capstone__hint,.unit-capstone .unit-capstone__rule,.unit-capstone .unit-capstone__missing{margin:0;color:var(--learn-text-soft, #64748b);font-size:12.5px;line-height:1.5}.unit-capstone .unit-capstone__hint{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}.unit-capstone .unit-capstone__missing{color:var(--learn-text-muted, #475569);font-size:14px}.unit-capstone .unit-capstone__stretch{margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--learn-border, #dbe4ee)}.unit-capstone .unit-capstone__stretch-heading{margin:0 0 6px;padding:0;border:0;color:var(--learn-text-muted, #475569);font-size:13px;font-weight:750;line-height:1.4}.unit-capstone .unit-capstone__stretch ul{margin:0 0 6px;padding:0;list-style:none;color:var(--learn-text, #0f172a);font-size:13.5px;line-height:1.45}.unit-capstone .unit-capstone__stretch li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding:5px 0}.unit-capstone .unit-capstone__stretch li+li{margin:0;border-top:1px solid var(--learn-surface-muted, #f1f5f9)}.unit-capstone .unit-capstone__stretch a{flex:1 1 180px;min-width:0;color:var(--learn-link, #2563eb);font-weight:650;overflow-wrap:anywhere;text-decoration:none}.unit-capstone .unit-capstone__stretch a:hover{color:var(--learn-link-hover, #1d4ed8);text-decoration:underline}.unit-capstone .unit-capstone__stretch-sim{color:var(--learn-text-soft, #64748b);font-weight:500}.unit-capstone .unit-capstone__stretch-missing{flex:1 1 180px;min-width:0;color:var(--learn-text-soft, #64748b);overflow-wrap:anywhere}.relay-plc{--rpc-surface: var(--learn-surface, #fff);--rpc-muted: var(--learn-surface-muted, #f1f5f9);--rpc-border: var(--learn-border, #dbe4ee);--rpc-text: var(--learn-text, #0f172a);--rpc-secondary: var(--learn-text-muted, #475569);--rpc-active: var(--learn-success, #15803d);margin:1.5rem 0;padding:1rem;border:1px solid var(--rpc-border);border-radius:var(--learn-radius, 8px);background:var(--rpc-surface);color:var(--rpc-text)}.relay-plc__control{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.relay-plc__control p,.relay-plc__card>p{margin:.15rem 0 0;color:var(--rpc-secondary);font-size:.85rem}.relay-plc__controls{display:flex;flex-wrap:wrap;gap:.5rem}.relay-plc__controls button{flex:none;min-height:2.5rem;padding:.4rem .75rem;border:1px solid var(--learn-border-strong, #94a3b8);border-radius:6px;background:var(--rpc-muted);color:var(--rpc-text);font:inherit;font-weight:700;cursor:pointer}.relay-plc__controls button:focus-visible{outline:3px solid var(--learn-link, #2563eb);outline-offset:2px}.relay-plc__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.8rem}.relay-plc__card{min-width:0;padding:.85rem;border:1px solid var(--rpc-border);border-radius:7px;background:var(--rpc-muted)}.relay-plc__card h3{margin:0;font-size:1rem}.relay-plc__circuit{display:flex;align-items:center;justify-content:space-between;gap:.2rem;min-height:3rem;margin-top:.9rem;border-left:2px solid var(--rpc-secondary);border-right:2px solid var(--rpc-secondary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700}.relay-plc__circuit span:first-child,.relay-plc__circuit span:last-child{font-size:.68rem}.relay-plc__circuit .is-on,.relay-plc__readout .is-on{color:var(--rpc-active)}.relay-plc__names{display:flex;justify-content:space-around;gap:.5rem;color:var(--rpc-secondary);font-size:.72rem;text-align:center}.relay-plc__flow{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.65rem;text-align:center;font-size:.76rem}.relay-plc__bit{padding:.2rem .3rem;border:1px solid var(--rpc-border);border-radius:4px;background:var(--rpc-surface)}.relay-plc__bit code{font-size:.67rem;overflow-wrap:anywhere}.relay-plc__circuit--logic{margin-top:.65rem}.relay-plc__readout{display:flex;justify-content:space-between;gap:.4rem;padding:.2rem 0;border-bottom:1px solid var(--rpc-border);font-size:.78rem}.relay-plc__readout:first-of-type{margin-top:.85rem}.relay-plc__readout span{font-weight:600}.relay-plc__readout strong{color:var(--rpc-secondary)}.relay-plc__result{margin:.85rem 0 0;padding:.6rem;border-radius:5px;background:var(--learn-success-bg, #dcfce7);color:var(--rpc-text);font-size:.87rem}@media (max-width: 600px){.relay-plc__cards{grid-template-columns:1fr}.relay-plc__control{flex-direction:column;align-items:flex-start}}.key-terms{margin:1.25rem 0 1.5rem;padding:.75rem 1rem;border:1px solid var(--learn-border, #dbe4ee);border-left:4px solid var(--learn-text-muted, #475569);border-radius:var(--learn-radius, 8px);background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text, #0f172a)}.key-terms__heading{margin:0 0 .4rem;color:var(--learn-text-muted, #475569);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.key-terms__list{display:grid;gap:.45rem;margin:0}.key-terms__item dt{display:inline;font-weight:700}.key-terms__item dt abbr{text-decoration:none}.key-terms__expansion{font-weight:600;color:var(--learn-text-muted, #475569)}.key-terms__item dd{display:inline;margin:0 0 0 .4rem;color:var(--learn-text-muted, #475569);font-size:.93rem;line-height:1.55}.key-terms__item dd a{color:var(--learn-link, #2563eb);white-space:nowrap}.plc-guide-inner{max-width:800px;margin:0 auto;padding:32px 24px 72px;line-height:1.75;overflow-wrap:break-word}.plc-guide a{color:var(--learn-link);text-underline-offset:3px}.plc-guide a:hover{color:var(--learn-link-hover)}.plc-guide a:focus-visible{outline:2px solid var(--learn-link);outline-offset:4px;border-radius:2px}.plc-guide-header{margin:28px 0}.plc-guide-eyebrow{color:var(--learn-text-soft);font-size:14px;font-weight:600}.plc-guide h1{margin:8px 0 20px;font-size:clamp(28px,4vw,38px);line-height:1.2;letter-spacing:-.025em}.plc-guide p,.plc-guide li{color:var(--learn-text-muted)}.plc-guide .plc-guide-intro{font-size:18px;color:var(--learn-text)}.plc-guide h2,.plc-guide h3,.plc-guide strong{color:var(--learn-text)}.plc-guide h2{margin:0 0 16px;font-size:24px;line-height:1.3}.plc-guide h3{margin:24px 0 8px;font-size:18px;line-height:1.4}.plc-guide p{margin:12px 0}.plc-guide section,.plc-guide-next{margin-top:40px;scroll-margin-top:24px}.plc-guide-toc,.plc-guide-boundaries,.plc-guide-next{padding:24px;background:var(--learn-surface);border:1px solid var(--learn-border);border-radius:var(--learn-radius)}.plc-guide-toc h2{font-size:16px}.plc-guide ul,.plc-guide ol{padding-left:24px}.plc-guide li+li{margin-top:10px}.plc-guide-roadmap>li{padding:0 0 20px 8px;border-bottom:1px solid var(--learn-border)}.plc-guide-roadmap>li::marker{font-weight:700;color:var(--learn-link)}.plc-guide .plc-guide-tools{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.plc-guide-tools>li{margin:0;padding:16px;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface)}.plc-guide-tools h3{margin-top:0}.plc-guide .plc-guide-start{display:inline-block;margin:8px 0;padding:10px 16px;border:1px solid var(--learn-link);border-radius:var(--learn-radius);font-weight:700;background:var(--learn-surface)}.learn-guide-entry{margin:0 0 24px;padding:16px;border-left:3px solid var(--learn-link);background:var(--learn-surface);color:var(--learn-text-muted);line-height:1.6}.learn-guide-entry a{color:var(--learn-link);font-weight:700;text-underline-offset:3px}@media (max-width: 600px){.plc-guide-inner{padding:24px 16px 48px}.plc-guide .plc-guide-tools{grid-template-columns:1fr}.plc-guide-toc,.plc-guide-boundaries,.plc-guide-next{padding:18px}}.completion-prompt{margin:48px 0 32px;padding:24px 28px;border:2px solid #e2e8f0;border-radius:12px;background:#f8fafc}.completion-prompt-heading{margin:0 0 20px;font-size:18px;font-weight:700;color:#0f172a}.completion-prompt-heading em{font-style:normal;color:#3b82f6}.completion-prompt-actions{display:flex;flex-wrap:wrap;gap:12px}.completion-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.completion-btn-primary{background:#3b82f6;color:#fff}.completion-btn-primary:hover{background:#2563eb}.completion-btn-secondary{background:#e2e8f0;color:#1e293b}.completion-btn-secondary:hover{background:#cbd5e1}.completion-prompt-confirmed{display:flex;flex-direction:column;gap:12px}.completion-confirmation{margin:0;font-size:15px;font-weight:600;color:#15803d}.completion-sandbox-link{display:inline-flex;align-items:center;gap:6px;color:#3b82f6;font-size:14px;font-weight:600;text-decoration:none}.completion-sandbox-link:hover{text-decoration:underline}.completion-feedback{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.completion-feedback-label{font-size:15px;font-weight:600;color:#475569}.completion-feedback-btn{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:2px solid #e2e8f0;border-radius:12px;background:#fff;font-size:26px;cursor:pointer;transition:all .15s ease}.completion-feedback-btn:hover{border-color:#93c5fd;background:#eff6ff;transform:scale(1.12)}.completion-feedback-thanks{font-size:15px;font-weight:600;color:#15803d}.prereq-callout{margin:0 0 1.5rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--learn-border, rgba(148, 163, 184, .35));border-left:3px solid var(--learn-link, #38bdf8);background:color-mix(in srgb,var(--learn-surface, #0f172a) 92%,transparent)}.prereq-callout__lead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;margin:0 0 .5rem}.prereq-callout__eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--learn-link, #38bdf8)}.prereq-callout__hint{font-size:.88rem;opacity:.85}.prereq-callout__list{display:flex;flex-wrap:wrap;gap:.4rem .6rem;margin:0;padding:0;list-style:none}.prereq-callout__list li{margin:0}.prereq-callout__list a{display:inline-block;padding:.3rem .6rem;border-radius:999px;font-size:.88rem;text-decoration:none;color:var(--learn-text, #e2e8f0);background:color-mix(in srgb,var(--learn-link, #38bdf8) 12%,transparent);border:1px solid color-mix(in srgb,var(--learn-link, #38bdf8) 40%,transparent)}.prereq-callout__list a:hover,.prereq-callout__list a:focus-visible{background:color-mix(in srgb,var(--learn-link, #38bdf8) 22%,transparent);text-decoration:underline}.practice-completion{display:inline-flex;align-items:center;gap:5px;color:#64748b;font-size:11px;font-weight:750;white-space:nowrap}.practice-completion__star{color:#94a3b8;font-size:17px;line-height:1}.practice-completion--done{color:#15803d}.practice-completion--done .practice-completion__star{color:#d97706}.interview-prep__eyebrow{margin:0 0 6px;color:var(--learn-text-soft);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.interview-prep__section{margin:0 0 32px}.interview-prep__section h2{margin:0 0 12px;color:var(--learn-text);font-size:20px;line-height:1.3}.interview-prep__intro{max-width:72ch;margin:0 0 14px;color:var(--learn-text-muted);line-height:1.6}.interview-prep__practice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;align-items:start}.interview-prep__card{min-width:0;overflow:hidden;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);box-shadow:var(--learn-shadow)}.interview-prep__card h3{margin:0;padding:12px 16px;border-bottom:1px solid var(--learn-border);background:var(--learn-surface-muted);color:var(--learn-text);font-size:15px}.interview-prep__card ul{margin:0;padding:0;list-style:none}.interview-prep__card li+li{border-top:1px solid var(--learn-surface-muted)}.interview-prep__card li>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:var(--learn-text);text-decoration:none}.interview-prep__card li>a:hover,.interview-prep__card li>a:focus-visible{background:var(--learn-surface-muted);outline:none}.interview-prep__card li>a:focus-visible{box-shadow:inset 0 0 0 2px var(--learn-link)}.interview-prep__problem{display:grid;gap:2px;min-width:0}.interview-prep__problem strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.interview-prep__problem span{color:var(--learn-text-soft);font-size:12px;line-height:1.45}.interview-prep__card .practice-completion{flex:0 0 auto}.interview-prep__hint{margin:0;padding:10px 16px;border-top:1px solid var(--learn-border);color:var(--learn-text-soft);font-size:12px;line-height:1.45}.interview-prep__links{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.interview-prep__links a,.interview-prep__back a{color:var(--learn-link);font-weight:700;text-underline-offset:3px}.interview-prep__links a{display:inline-flex;padding:8px 12px;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);text-decoration:none}.interview-prep__links a:hover,.interview-prep__links a:focus-visible{border-color:var(--learn-link);color:var(--learn-link-hover)}.interview-prep__back{margin:0;padding:16px;border-left:3px solid var(--learn-link);background:var(--learn-surface);color:var(--learn-text-muted);line-height:1.6}.reference-home__eyebrow{margin:0 0 6px;color:var(--learn-text-soft);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.reference-home__section{margin:0 0 32px}.reference-home__section h2{margin:0 0 12px;color:var(--learn-text);font-size:20px;line-height:1.3}.reference-home__intro{max-width:72ch;margin:0 0 14px;color:var(--learn-text-muted);line-height:1.6}.reference-home__list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.reference-home__card{min-width:0;overflow:hidden;border:1px solid var(--learn-border);border-radius:var(--learn-radius);background:var(--learn-surface);box-shadow:var(--learn-shadow)}.reference-home__card-link{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;color:var(--learn-text);text-decoration:none}.reference-home__card-link .ci-progress{margin-top:1px}.reference-home__card-link:hover,.reference-home__card-link:focus-visible{background:var(--learn-surface-muted);outline:none}.reference-home__card-link:focus-visible{box-shadow:inset 0 0 0 2px var(--learn-link)}.reference-home__card-body{display:grid;gap:4px;min-width:0}.reference-home__card-title{overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.35}.reference-home__card-summary{color:var(--learn-text-muted);font-size:13px;line-height:1.5}.reference-home__related{margin:0;padding:10px 18px;border-top:1px solid var(--learn-surface-muted);color:var(--learn-text-soft);font-size:13px;line-height:1.5}.reference-home__related a,.reference-home__moved a,.reference-home__back a{color:var(--learn-link);font-weight:700;text-underline-offset:3px}.reference-home__related a:hover,.reference-home__moved a:hover,.reference-home__back a:hover{color:var(--learn-link-hover)}.reference-home__moved{display:grid;gap:8px;max-width:72ch;margin:0;padding-left:20px;color:var(--learn-text-muted);line-height:1.6}.reference-home__moved strong{color:var(--learn-text)}.reference-home__back{margin:0;padding:16px;border-left:3px solid var(--learn-link);background:var(--learn-surface);color:var(--learn-text-muted);line-height:1.6}.pid-lesson{box-sizing:border-box;width:100%;min-width:0;margin:1.5rem 0;padding:clamp(12px,3vw,18px);border:1px solid var(--learn-border, #dbe4ee);border-radius:10px;background:var(--learn-surface, #fff);color:var(--learn-text, #0f172a);box-shadow:var(--learn-shadow, none)}.pid-lesson *{box-sizing:border-box}.pid-lesson__heading,.pid-lesson__transport,.pid-lesson__legend,.pid-lesson__options{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.pid-lesson__heading{justify-content:space-between;align-items:flex-start}.pid-lesson__heading>div{min-width:0;flex:1 1 200px}.pid-lesson__heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pid-lesson__heading-actions button{font-size:11px}.pid-lesson[data-expanded=true]{position:fixed;z-index:1000;top:16px;right:16px;bottom:16px;left:16px;width:auto;max-width:900px;max-height:calc(100dvh - 32px);margin:auto;overflow:auto;box-shadow:0 12px 48px #0f172a66}.pid-lesson__eyebrow{color:var(--learn-text-soft, #64748b);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.pid-lesson__heading h3{margin:3px 0 2px;font-size:17px;line-height:1.3;color:inherit}.pid-lesson__heading p{margin:0;color:var(--learn-text-muted, #475569);font-size:13px}.pid-lesson__status{padding:4px 9px;border-radius:999px;background:var(--learn-surface-muted, #f1f5f9);color:var(--learn-text-muted, #475569);font-size:11px;font-weight:750}.pid-lesson__readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px}.pid-lesson__readouts>div{min-width:0;padding:8px;border:1px solid var(--learn-border, #dbe4ee);border-radius:7px;background:var(--learn-surface-muted, #f8fafc)}.pid-lesson__readouts span,.pid-lesson__readouts strong{display:block;line-height:1.25;overflow-wrap:anywhere}.pid-lesson__readouts span{color:var(--learn-text-soft, #64748b);font-size:11px}.pid-lesson__readouts strong{margin-top:4px;font-size:15px;font-variant-numeric:tabular-nums}.pid-lesson__trace{min-width:0;margin-top:12px;padding:8px;border:1px solid var(--learn-border, #dbe4ee);border-radius:7px;background:var(--learn-surface-muted, #f8fafc)}.pid-lesson__legend{color:var(--learn-text-muted, #475569);font-size:11px;font-weight:650}.pid-lesson__legend span:before{content:"";display:inline-block;width:14px;height:3px;margin:0 5px 3px 0;vertical-align:middle;background:currentColor}.pid-lesson__sp{color:#b45309}.pid-lesson__pv{color:#15803d}.pid-lesson__cv{color:#2563eb}.pid-lesson__comparison{color:#9333ea}.pid-lesson__filtered{color:#14532d}.pid-lesson__trace svg{display:block;width:100%;max-width:640px;height:auto;margin-inline:auto;overflow:visible}.pid-lesson__axis-title,.pid-lesson__tick{fill:var(--learn-text-soft, #64748b);font-family:inherit;font-size:11px}.pid-lesson__axis-title{font-weight:700}.pid-lesson__grid{stroke:var(--learn-border-strong, #cbd5e1);stroke-width:1}.pid-lesson__line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pid-lesson__line--sp{stroke:#b45309;stroke-dasharray:6 5}.pid-lesson__line--pv{stroke:#15803d}.pid-lesson__line--cv{stroke:#2563eb}.pid-lesson__line--filtered{stroke:#14532d;stroke-width:2}.pid-lesson__line--comparison{stroke:#9333ea;stroke-dasharray:3 5;stroke-width:2}.pid-lesson__results{margin-top:10px;display:grid;gap:8px;min-width:0}.pid-lesson__results-title{margin:0;color:var(--learn-text-soft, #64748b);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.pid-lesson__terms{width:100%;max-width:420px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.pid-lesson__terms caption{margin-bottom:4px;color:var(--learn-text-muted, #475569);font-weight:700;text-align:left}.pid-lesson__terms th,.pid-lesson__terms td{padding:5px 8px;border:1px solid var(--learn-border, #dbe4ee);text-align:right}.pid-lesson__terms thead th,.pid-lesson__terms tbody th{background:var(--learn-surface-muted, #f8fafc);color:var(--learn-text-muted, #475569);font-weight:700}.pid-lesson__terms th:first-child{text-align:left}.pid-lesson .pid-lesson__note{margin:0;color:var(--learn-text-soft, #64748b);font-size:12px;line-height:1.45}.pid-lesson__acceptance{padding:9px 11px;border:1px solid var(--learn-border, #dbe4ee);border-left:4px solid var(--learn-warning, #a16207);border-radius:6px;background:var(--learn-surface-muted, #f8fafc);color:var(--learn-text, #0f172a);font-size:12px;line-height:1.5}.pid-lesson__acceptance[data-passed=true]{border-left-color:var(--learn-success, #15803d)}.pid-lesson__acceptance p{margin:6px 0 0}.pid-lesson__checks{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px}.pid-lesson__checks li{overflow-wrap:anywhere}.pid-lesson__check-state{display:inline-block;min-width:4.6em;margin-right:4px;padding:0 6px;border-radius:999px;background:var(--learn-warning, #a16207);color:var(--learn-surface, #fff);font-size:11px;font-weight:750;text-align:center}.pid-lesson__checks li[data-passed=true] .pid-lesson__check-state{background:var(--learn-success, #15803d)}.pid-lesson__transport{margin-top:12px}.pid-lesson__transport>span{margin-left:auto;color:var(--learn-text-soft, #64748b);font-size:12px;font-variant-numeric:tabular-nums}.pid-lesson .pid-lesson__save-status{margin:7px 0 0;color:var(--learn-text-muted, #475569);font-size:12px;line-height:1.45}.pid-lesson button,.pid-lesson input,.pid-lesson select{font:inherit}.pid-lesson button{min-height:34px;padding:6px 12px;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:6px;background:var(--learn-surface, #fff);color:var(--learn-text, #0f172a);cursor:pointer}.pid-lesson__transport button:first-child{border-color:#2563eb;background:#2563eb;color:#fff}.pid-lesson button:disabled,.pid-lesson input:disabled,.pid-lesson select:disabled{opacity:.55;cursor:not-allowed}.pid-lesson button:focus-visible,.pid-lesson input:focus-visible,.pid-lesson select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.pid-lesson__controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,115px),1fr));gap:9px;margin-top:14px}.pid-lesson__controls label{display:grid;min-width:0;gap:4px;color:var(--learn-text-muted, #475569);font-size:11px;font-weight:700}.pid-lesson__controls input,.pid-lesson__controls select{width:100%;min-width:0;min-height:34px;padding:5px 7px;border:1px solid var(--learn-border-strong, #cbd5e1);border-radius:6px;background:var(--learn-surface, #fff);color:var(--learn-text, #0f172a);font-size:13px}.pid-lesson__options{margin-top:12px;color:var(--learn-text-muted, #475569);font-size:11px}.pid-lesson__options label{display:inline-flex;align-items:center;gap:5px}.pid-lesson__options input{accent-color:#2563eb}.pid-lesson__options>span{margin-left:auto}[data-theme=dark] .pid-lesson__sp{color:#fbbf24}[data-theme=dark] .pid-lesson__pv{color:#4ade80}[data-theme=dark] .pid-lesson__cv{color:#60a5fa}[data-theme=dark] .pid-lesson__comparison{color:#c084fc}[data-theme=dark] .pid-lesson__filtered{color:#bbf7d0}[data-theme=dark] .pid-lesson__line--sp{stroke:#fbbf24}[data-theme=dark] .pid-lesson__line--pv{stroke:#4ade80}[data-theme=dark] .pid-lesson__line--cv{stroke:#60a5fa}[data-theme=dark] .pid-lesson__line--comparison{stroke:#c084fc}[data-theme=dark] .pid-lesson__line--filtered{stroke:#bbf7d0}@container (max-width: 420px){.pid-lesson__readouts{grid-template-columns:repeat(2,minmax(0,1fr))}}.pid-lesson{container-type:inline-size}*{box-sizing:border-box}:root{--state-off: #2563eb;--state-off-soft: #eff6ff;--state-off-border: #bfdbfe;--state-on: #16a34a;--state-on-soft: #ecfdf5;--state-on-border: #86efac;--state-neutral: #64748b}html,body,#root{width:100%;height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#dbe4ee}button,input,select,textarea{font:inherit}button:hover,.import-button:hover{border-color:#94a3b8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme=dark]{color-scheme:dark;--state-off: #60a5fa;--state-off-soft: #1e293b;--state-off-border: #1e40af;--state-on: #4ade80;--state-on-soft: #14321f;--state-on-border: #166534;--state-neutral: #94a3b8;--learn-bg: #0b1220;--learn-surface: #141c2b;--learn-surface-muted: #1b2536;--learn-border: #273345;--learn-border-strong: #3a4a63;--learn-text: #e5ecf5;--learn-text-muted: #aebdd0;--learn-text-soft: #8699b3;--learn-link: #60a5fa;--learn-link-hover: #93c5fd;--learn-success: #4ade80;--learn-success-bg: #14321f;--learn-warning: #fbbf24;--learn-warning-bg: #3a2e0a;--learn-danger: #f87171;--learn-danger-bg: #3a1a1a;--learn-shadow: 0 1px 2px rgb(0 0 0 / .4)}[data-theme=dark] body{background:#0b1220}[data-theme=dark] .learn-page{background:var(--learn-bg);color:var(--learn-text)}[data-theme=dark] .mdx-content code,[data-theme=dark] .lesson-section code{color:#e5ecf5}[data-theme=dark] .mdx-content blockquote{background:#15233b;color:#cfe0f5}[data-theme=dark] .truth-table th,[data-theme=dark] .sim-embed-truth-table th{background:#1b2536}[data-theme=dark] .truth-table-interactive:hover{background:#1e3250}[data-theme=dark] .sim-embed-hmi-panel{background:var(--learn-surface-muted)}[data-theme=dark] .about-page{background:#0b1220;color:#e5ecf5}[data-theme=dark] .about-page h1,[data-theme=dark] .about-offerings h2,[data-theme=dark] .about-offering-item h3{color:#f1f5f9}[data-theme=dark] .about-tagline,[data-theme=dark] .about-offering-item p{color:#aebdd0}[data-theme=dark] .about-mission{background:#15233b;color:#cfe0f5;border-left-color:#60a5fa}[data-theme=dark] .about-offering-item{background:#141c2b;border-color:#273345}[data-theme=dark] .about-back,[data-theme=dark] .learn-back{background:#141c2b;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .about-back:hover,[data-theme=dark] .learn-back:hover{background:#1b2536;border-color:#52637f}[data-theme=dark] .learn-page-inner .learn-toc h2{color:#8699b3}[data-theme=dark] .learn-toc-list a{color:#aebdd0}[data-theme=dark] .learn-toc-list a:hover{background:#1b2536;color:#f1f5f9}[data-theme=dark] .learn-content h1,[data-theme=dark] .learn-section h2{color:#f1f5f9}[data-theme=dark] .learn-section h2{border-bottom-color:#273345}[data-theme=dark] .learn-intro,[data-theme=dark] .learn-section p{color:#aebdd0}[data-theme=dark] .learn-placeholder{border-color:#3a4a63;color:#8699b3}[data-theme=dark] .nav-menu-dropdown{background:#141c2b;border-color:#273345;box-shadow:0 10px 40px #00000080,0 2px 8px #0006}[data-theme=dark] .nav-menu-dropdown [role=menuitem]{color:#cbd6e5}[data-theme=dark] .nav-menu-dropdown [role=menuitem]:hover,[data-theme=dark] .nav-menu-dropdown [role=menuitem]:focus{background:#1b2536;color:#f1f5f9}[data-theme=dark] .nav-menu-dropdown [role=menuitem] .nav-icon{background:#1b2536}[data-theme=dark] .nav-menu-dropdown [role=menuitem]:hover .nav-icon,[data-theme=dark] .nav-menu-dropdown [role=menuitem]:focus .nav-icon{background:#273b5e}[data-theme=dark] .nav-menu-separator{background:#273345}[data-theme=dark] .nav-menu-signout:hover,[data-theme=dark] .nav-menu-signout:focus{background:#3a1a1a!important;color:#fca5a5!important}[data-theme=dark] .nav-menu-signout .nav-icon{background:#3a1a1a!important}[data-theme=dark] .auth-modal{background:#141c2b;box-shadow:0 20px 60px #0009}[data-theme=dark] .auth-modal-title{color:#f1f5f9}[data-theme=dark] .auth-modal-close{background:#1b2536;border-color:#273345;color:#8699b3}[data-theme=dark] .auth-modal-close:hover{background:#22304a;color:#e5ecf5}[data-theme=dark] .auth-modal-error{background:#3a1a1a;border-color:#7f1d1d;color:#fca5a5}[data-theme=dark] .auth-modal-unavailable{color:#8699b3}[data-theme=dark] .app-shell{background:#0b1220;color:#e5ecf5}[data-theme=dark] .top-bar{background:#141c2b;border-bottom-color:#273345;box-shadow:0 1px 3px #0006}[data-theme=dark] .brand{color:#f1f5f9}[data-theme=dark] .top-bar label,[data-theme=dark] .zoom-controls span,[data-theme=dark] .sim-controls span{color:#aebdd0}[data-theme=dark] .top-bar select,[data-theme=dark] .top-bar button,[data-theme=dark] .import-button,[data-theme=dark] .icon-btn{background:#1b2536;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .icon-btn:hover:not(:disabled){background:#22304a}[data-theme=dark] .sim-controls,[data-theme=dark] .view-mode-controls,[data-theme=dark] .zoom-controls{border-color:#273345}[data-theme=dark] .left-panel{background:#0f1626;border-right-color:#273345}[data-theme=dark] .left-panel-title,[data-theme=dark] .panel-tabs{background:#141c2b;border-bottom-color:#273345;color:#cbd6e5}[data-theme=dark] .panel-tabs button,[data-theme=dark] .bottom-panel-tabs button{background:#1b2536;border-color:#3a4a63;color:#cbd6e5}[data-theme=dark] .renderer-stack{background:#0f1626}[data-theme=dark] .rung-editor{--ladder-surface: #10192a;background:#0f1626;color:#e5ecf5}[data-theme=dark] .rung-editor-toolbar,[data-theme=dark] .empty-rung-workspace,[data-theme=dark] .rung-card,[data-theme=dark] .center-problem-prompt{background:#141c2b;border-color:#273345;color:#e5ecf5;box-shadow:0 8px 22px #00000073}[data-theme=dark] .rung-strip{border-color:#273345}[data-theme=dark] .rung-card-header input{background:#1b2536;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .element-chip{color:#e5ecf5}[data-theme=dark] .center-problem-prompt summary{background:#1b2536;color:#cbd6e5}[data-theme=dark] .empty-rung-workspace{color:#8699b3}[data-theme=dark] .rung-number{color:#aebdd0}[data-theme=dark] .bottom-panel{background:#141c2b;border-top-color:#273345}[data-theme=dark] .bottom-panel-tabs{border-bottom-color:#273345}[data-theme=dark] .element-chip{background:#1b2536;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .sim-tips-banner{background:#15233b;border-bottom-color:#1e3a5f}[data-theme=dark] .sim-tips-content{color:#cfe0f5}[data-theme=dark] .sim-tip strong{color:#e5ecf5}[data-theme=dark] .tips-reopen-btn{background:#1b2536;border-color:#3a4a63;color:#aebdd0}[data-theme=dark] .left-panel-content,[data-theme=dark] .bottom-panel-content{color:#e5ecf5}[data-theme=dark] .table-panel,[data-theme=dark] .io-summary,[data-theme=dark] .io-row,[data-theme=dark] .bool-inputs,[data-theme=dark] .indicator,[data-theme=dark] .structured-display{background:#141c2b;border-color:#273345;color:#e5ecf5}[data-theme=dark] .table-panel,[data-theme=dark] .io-panel,[data-theme=dark] .io-panel-header,[data-theme=dark] .io-tag-meta{color:#cbd6e5}[data-theme=dark] .io-summary{color:#aebdd0}[data-theme=dark] .structured-display{background:#0f1626}[data-theme=dark] .pid-practice{background:#0b1220;color:#e5ecf5}[data-theme=dark] .pid-practice__top-bar,[data-theme=dark] .pid-practice__panel{background:#141c2b;border-color:#273345}[data-theme=dark] .pid-practice__brand{color:#f1f5f9}[data-theme=dark] .pid-practice__process-picker,[data-theme=dark] .pid-practice__sim-controls,[data-theme=dark] .pid-practice__panel-heading{color:#aebdd0;border-color:#273345}[data-theme=dark] .pid-practice__process-picker{background:#1b2536;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .pid-practice__status{background:#1b2536;border-color:#3a4a63;color:#aebdd0}[data-theme=dark] .pid-practice__left-panel{background:#0f1626;border-right-color:#273345}[data-theme=dark] .pid-practice__left-title{background:#141c2b;border-bottom-color:#273345;color:#cbd6e5}[data-theme=dark] .pid-practice__center-panel,[data-theme=dark] .pid-practice__trend-card,[data-theme=dark] .pid-practice__chart{background:#0f1626;border-color:#273345}[data-theme=dark] .st-studio-page,[data-theme=dark] .st-studio{background:#0b1220;color:#e5ecf5}[data-theme=dark] .st-studio__top-bar{background:#141c2b;border-color:#273345}[data-theme=dark] .st-studio__brand{color:#f1f5f9}[data-theme=dark] .st-studio__sim-controls,[data-theme=dark] .st-studio__status{color:#aebdd0}[data-theme=dark] .st-studio__status{background:#1b2536}[data-theme=dark] .st-studio__left-panel{background:#0f1626}[data-theme=dark] .st-studio__left-title{background:#141c2b;color:#cbd6e5}[data-theme=dark] .st-studio__center-panel{background:#0f1626}[data-theme=dark] .st-studio__program-header{background:#141c2b;border-bottom-color:#273345;color:#e5ecf5}[data-theme=dark] .st-studio__program-header strong{color:#f1f5f9}[data-theme=dark] .st-studio__program-header div>span,[data-theme=dark] .st-studio__program-header div>.st-studio__autocomplete-hint{color:#aebdd0}[data-theme=dark] .st-code-editor{background:#0f1626}[data-theme=dark] .st-code-editor textarea{color:#e5ecf5;caret-color:#e5ecf5}[data-theme=dark] .st-code-editor__lines{background:#141c2b;border-right-color:#273345;color:#64748b}[data-theme=dark] .st-code-editor__keyword{color:#7dd3fc}[data-theme=dark] .st-code-editor__comment{color:#86efac}[data-theme=dark] .st-code-editor__toolbar{background:#141c2b;color:#aebdd0}[data-theme=dark] .st-code-editor__snippet-help{color:#8699b3}[data-theme=dark] .st-code-editor__suggestions,[data-theme=dark] .st-code-editor__type-picker{background:#1b2536;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .st-code-editor__suggestions [role=option]:hover,[data-theme=dark] .st-code-editor__type-picker [role=option][aria-selected=true]{background:#273b5e}[data-theme=dark] .st-declarations-editor__input{background:#141c2b}[data-theme=dark] .st-declarations-editor__highlight{color:#e5ecf5}[data-theme=dark] .st-declarations-editor .st-declarations-editor__input textarea{background:transparent;border-color:#3a4a63;color:transparent;-webkit-text-fill-color:transparent;caret-color:#e5ecf5}[data-theme=dark] .st-studio__diagnostic-panel{background:#141c2b;border-color:#273345;color:#e5ecf5}[data-theme=dark] .st-studio__diagnostic-title{color:#cbd6e5}[data-theme=dark] .st-studio__diagnostic-empty,[data-theme=dark] .st-studio__diagnostic-empty span{color:#8699b3}[data-theme=dark] .st-practice{background:#0f1626;border-left-color:#273345;color:#e5ecf5}[data-theme=dark] .st-practice h2,[data-theme=dark] .st-practice h3,[data-theme=dark] .st-practice h4{color:#f1f5f9}[data-theme=dark] .st-practice p,[data-theme=dark] .st-practice__meta,[data-theme=dark] .st-practice header>span{color:#aebdd0}[data-theme=dark] .st-practice__tags,[data-theme=dark] .st-practice__requirements{background:#141c2b;border-color:#273345}[data-theme=dark] .st-practice code{background:#1b2536;color:#e5ecf5}[data-theme=dark] .st-tag-table,[data-theme=dark] .st-tag-table table{color:#e5ecf5}[data-theme=dark] .st-tag-table th{background:#1b2536;color:#cbd6e5}[data-theme=dark] .st-tag-table td{border-color:#273345}[data-theme=dark] .st-array-editor,[data-theme=dark] .st-practice,[data-theme=dark] .st-practice__tags{background:#0f1626;border-color:#273345}[data-theme=dark] .st-array-editor__values input,[data-theme=dark] .st-array-editor__values button,[data-theme=dark] .st-array-editor__values output,[data-theme=dark] .st-declarations-editor textarea,[data-theme=dark] .st-declarations-editor button,[data-theme=dark] .st-practice select,[data-theme=dark] .st-tag-table input,[data-theme=dark] .st-tag-table select{background:#1b2536;border-color:#3a4a63;color:#e5ecf5}[data-theme=dark] .st-tag-table input:disabled,[data-theme=dark] .st-tag-table select:disabled{background:#141c2b;color:#8699b3}
