:root{--green:#41ab5d;--green-deep:#238642;--green-pale:#e9f6ed;--border:#e2e7e5;--text:#25332e;--muted:#78877f;--surface:#fff;--back:#f6f8f7;--sidebar:#edf0ee;--dark:#2c3d38;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--back)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #a5dcb6;outline-offset:2px}.shell{min-height:100vh}.topbar{height:74px;background:var(--green);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 28px;box-shadow:0 1px 4px #17492b16}.brand{display:flex;align-items:center;gap:15px}.brand-icon{border:2px solid #ffffffaa;border-radius:9px;height:40px;width:40px;display:grid;place-items:center;font-size:26px}.brand strong{font-size:28px;letter-spacing:-.7px;display:block;line-height:1.1}.brand small{font-size:10px;letter-spacing:2px;font-weight:700;opacity:.85}.topbar-right{display:flex;gap:16px;align-items:center}.topbar-tag{font-size:11px;letter-spacing:1.3px;font-weight:700;background:#ffffff24;border:1px solid #ffffff45;border-radius:20px;padding:8px 13px}.version{opacity:.9;font-weight:600}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{background:var(--sidebar);border-right:1px solid #dfe4e1;padding:26px 13px;display:flex;flex-direction:column;gap:6px}.side-section-label{font-weight:800;color:#93a09a;letter-spacing:1.4px;font-size:10px;margin:4px 11px 13px}.nav-item,.nav-muted{border:0;display:flex;gap:13px;align-items:center;width:100%;padding:14px 13px;color:#4b5b53;text-align:left;background:0 0;border-radius:8px;font-weight:650}.nav-item:hover{background:#e1ebe5}.nav-item.active{background:#d7e9dc;color:#167536}.nav-icon{font-size:21px;width:25px;text-align:center;line-height:1}.side-divider{height:1px;background:#d9dfdc;margin:16px 10px 18px}.soon{font-size:8px;letter-spacing:0;background:#e2e5e3;color:#86918b;padding:4px;border-radius:4px;margin-left:4px}.nav-muted{color:#9ca7a1;cursor:default}.side-bottom{margin-top:auto;border-top:1px solid #d8dedb;padding:22px 10px 2px;display:flex;gap:9px;align-items:center}.hint-logo{color:var(--green);font-size:19px}.side-bottom b{display:block;font-size:12px}.side-bottom small{font-size:10px;color:var(--muted)}.main{padding:22px 24px 10px;min-width:0}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:850;color:var(--green-deep);letter-spacing:1.6px}h1{font-size:27px;line-height:1.15;margin:6px 0 4px;letter-spacing:-.5px}p{margin:0;color:var(--muted)}.page-heading p{font-size:12px}.header-actions,.project-actions,.sim-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.button{min-height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#46564d;padding:8px 12px;font-size:12px;font-weight:750;white-space:nowrap}.button:hover{border-color:#a3c9ae;background:#f7fcf8}.button.primary{background:var(--green);color:#fff;border-color:var(--green-deep)}.button.primary:hover{background:var(--green-deep)}.button.ghost{background:#fff}.button.small{padding:6px 10px;min-height:29px;font-size:11px}.button.light-green{background:var(--green-pale);color:var(--green-deep);border-color:#c9e8d2}.button:disabled{opacity:.45;cursor:not-allowed}.command-strip{background:#fff;border:1px solid var(--border);border-radius:10px;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:9px;margin-bottom:13px}.palette{display:flex;gap:5px;flex-wrap:wrap}.tool{width:91px;height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid #e8ece9;border-radius:7px;background:#fff;color:#40514a;font-size:10px;font-weight:600}.tool:hover{background:var(--green-pale);border-color:#a3dcb2;color:var(--green-deep)}.tool-symbol{font-family:Consolas,"Courier New",monospace;font-size:20px;line-height:1;white-space:pre;font-weight:700;color:#354640;letter-spacing:-2px}.tool-symbol.box-symbol{font-size:14px;border:1.5px solid #53625a;padding:6px 4px;letter-spacing:0}.sim-controls{justify-content:end}.content-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(365px,1fr);gap:13px;align-items:start}.right-column{display:flex;flex-direction:column;gap:13px;min-width:0}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 6px #183e2610;min-width:0;overflow:hidden}.panel-header{padding:16px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:10px}.panel-header.compact{padding:15px 15px}.panel-header h2{font-size:15px;margin:0 0 4px;letter-spacing:-.2px}.panel-header p{font-size:11px}.tiny-label{font-size:11px;color:var(--muted)}.editor-help{font-size:11px;padding:10px 18px;color:#87958d;border-bottom:1px solid #edf0ee}.ladder-scroll{overflow:auto;max-height:690px;min-height:370px}.ladder-editor{padding:13px 15px 20px;background-color:#fff;background-image:radial-gradient(#e8eeea .75px,transparent .8px);background-size:16px 16px;min-width:590px}.rung{border:1px solid transparent;border-radius:8px;margin:5px 0 10px;padding:8px 9px 10px;position:relative}.rung:hover{background:#f9fcfa}.rung.selected{background:#f6fbf7;border-color:#cce5d4}.rung-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#62746a;font-size:11px;margin:0 1px 7px}.rung-meta b{color:#35463e}.rung-actions{display:flex;align-items:center;gap:3px}.icon-btn{border:1px solid transparent;background:0 0;border-radius:5px;color:#89988f;min-width:25px;min-height:23px;font-size:15px}.icon-btn:hover{border-color:#d0dfd5;color:var(--green-deep);background:#fff}.rung-line{display:flex;align-items:center;min-height:96px;width:100%}.rail{height:90px;border-left:3px solid #394940;width:16px;flex-shrink:0}.rail.right{border-left:0;border-right:3px solid #394940}.rung-steps{display:flex;align-items:center;flex:1;min-width:0}.contact-group{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:10px 6px;min-width:97px;flex:0 1 125px}.contact-group:before{content:"";position:absolute;height:2px;background:#61736a;left:0;right:0;top:50%;z-index:0}.parallel-stack{display:flex;flex-direction:column;gap:5px;position:relative;width:100%;align-items:center;z-index:1}.parallel-stack.multi:after,.parallel-stack.multi:before{content:"";position:absolute;top:29px;bottom:29px;border-left:2px solid #64776c;left:1px}.parallel-stack.multi:after{left:auto;right:1px}.ladder-contact,.ladder-output{border:1.5px solid transparent;border-radius:6px;background:#fff;position:relative;color:#42544a;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:81px;min-height:62px;z-index:1;padding:3px 7px}.ladder-contact:hover,.ladder-output:hover{border-color:#bad7c2}.ladder-contact.selected,.ladder-output.selected{border-color:var(--green);box-shadow:0 0 0 2px #41ab5d17;background:#fff}.ladder-contact.live,.ladder-output.live{color:var(--green-deep)}.element-tag{font-size:11px;font-weight:800;white-space:nowrap;margin-bottom:4px}.element-symbol{font-size:22px;line-height:1.3;letter-spacing:-3px;font-family:Consolas,"Courier New",monospace;font-weight:750}.element-sub{font-size:9px;color:var(--muted);font-weight:700;margin-top:2px}.rung-output{flex:0 0 100px;display:flex;align-items:center;justify-content:center;position:relative}.rung-output:before{content:"";height:2px;background:#687b6f;position:absolute;left:0;right:0;top:50%}.ladder-output{min-width:85px}.ladder-output .element-symbol{letter-spacing:-2px}.ladder-output.block{border:1.5px solid #84948a;min-width:93px;border-radius:2px;min-height:78px}.block .element-symbol{font-family:inherit;font-size:14px;letter-spacing:0}.block .element-sub{font-size:10px}.inspector{border-top:1px solid var(--border);background:#fcfdfc;padding:15px 16px 17px}.inspector-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.inspector-title strong{font-size:12px}.inspector-title span{font-size:11px;color:var(--muted)}.inspector-fields{min-height:55px;display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:10px}.field{display:flex;flex-direction:column;gap:5px;min-width:115px;flex:1}.field span{font-size:10px;color:#7e8c83;font-weight:700}.field input,.field select{border:1px solid #d7e0da;background:#fff;border-radius:6px;padding:8px 9px;width:100%;min-height:34px;color:#34493a}.field input:focus{border-color:var(--green)}.inspector-tip{font-size:11px;color:var(--muted);align-self:center}.status-badge{border-radius:18px;font-size:10px;font-weight:850;padding:7px 10px;color:#7e8983;background:#edf0ee}.status-badge.running{color:#16813c;background:#e0f5e6}.cpu-zone{display:flex;gap:18px;padding:17px;align-items:center;border-bottom:1px solid #edf0ed;overflow:hidden}.cpu-body{width:135px;min-width:135px;height:151px;border-radius:8px;background:linear-gradient(110deg,#3c4a51,#26363d 72%);border:5px solid #6c7e80;color:#d5e1e1;padding:10px 9px 7px;box-shadow:7px 4px 1px #e4e9e7;overflow:hidden}.cpu-head{font-weight:850;font-size:15px;border-bottom:2px solid #73868a;padding-bottom:7px}.cpu-head span{display:block;font-size:8px;color:#b1bfbe;letter-spacing:1.1px;margin-top:5px}.cpu-front{display:flex;justify-content:space-between;padding-top:10px}.cpu-led-group{font-size:9px;line-height:19px}.cpu-led{display:inline-block;background:#7b8788;width:8px;height:8px;border-radius:2px;margin-right:5px}.cpu-led.on{background:#35e364;box-shadow:0 0 8px #5dff79}.cpu-stripes{height:56px;width:17px;border:1px solid #52676b;background:repeating-linear-gradient(to bottom,#506269 0 4px,#26383e 4px 9px)}.cpu-foot{display:block;font-size:8px;letter-spacing:1px;margin-top:7px;color:#adbbbd}.cpu-caption{display:flex;flex-direction:column;gap:8px;min-width:0}.cpu-caption strong{font-size:11px}.cpu-caption>span{font-size:29px;font-weight:850;color:var(--green-deep);line-height:1}.cpu-caption small{color:#8c9990;line-height:1.55;font-size:10px}.io-block{padding:14px 17px;border-bottom:1px solid #edf0ed}.io-block.outputs{border-bottom:none}.io-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:4px;margin-bottom:15px}.io-head span{font-size:9px;color:#98a29c}.led-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.led-unit{background:0 0;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px;color:#7b8c82}.led-unit:not(button){cursor:default}.led{height:19px;width:19px;border:2px solid #c9d1cd;background:#dfe4e1;border-radius:50%;box-shadow:inset 0 1px 2px #00000012}.led.active{background:#4bd16b;border-color:#24aa4e;box-shadow:0 0 0 3px #4bd16b18,0 0 10px #5de47a52}.led-unit:hover .led:not(.active){border-color:#79bd8a}.simulation-note{border-top:1px solid #e7ece9;padding:11px 16px;font-size:10px;color:#85948c;background:#fafdfe}.watch-table-wrap{max-height:370px;overflow:auto}.watch-table{width:100%;border-collapse:collapse;font-size:11px}.watch-table th{font-size:10px;text-align:left;background:#f7f9f8;color:#738079;position:sticky;top:0;z-index:1}.watch-table td,.watch-table th{padding:9px 11px;border-bottom:1px solid #eef0ee}.watch-table td:first-child,.watch-table th:first-child{padding-left:17px;font-weight:800}.watch-table td:nth-child(2){color:#9aa49d}.watch-table td:last-child{color:#6e7b72}.val{font-weight:800;border-radius:4px;padding:4px 7px;display:inline-block;min-width:47px;text-align:center;background:#eef0ef;color:#6b756e}.val.true{background:#daf4e1;color:#16813b}.console-panel{border:1px solid var(--border);background:#fff;border-radius:9px;margin-top:13px;padding:11px 16px}.console-title{display:flex;justify-content:space-between;align-items:center;font-size:11px}.link-button{background:0 0;border:0;color:var(--green-deep);font-size:11px}.event-log{font-family:Consolas,"Courier New",monospace;color:#76877d;font-size:10px;display:flex;flex-direction:column;gap:4px;margin-top:9px;max-height:64px;overflow:auto}.event-log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer{display:flex;justify-content:space-between;gap:10px;color:#8a978d;font-size:10px;padding:15px 1px}.toast{position:fixed;bottom:20px;right:22px;z-index:3;background:#254735;color:#fff;font-size:12px;border-radius:8px;padding:12px 16px;box-shadow:0 6px 25px #0d311e32;max-width:350px;display:none}.toast.show{display:block}.toast.error{background:#903e32}@media(max-width:1480px){.command-strip{align-items:flex-start;flex-direction:column}.sim-controls{align-self:flex-end}.tool{width:85px}.content-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr)}.main{padding:19px 17px}}@media(max-width:1120px){.content-layout{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.workspace{grid-template-columns:196px minmax(0,1fr)}.main{padding:16px}.tool{width:84px}}@media(max-width:750px){.topbar{height:63px;padding:0 13px}.brand strong{font-size:23px}.topbar-tag{display:none}.workspace{display:block}.sidebar{display:flex;flex-direction:row;overflow:auto;padding:9px;gap:5px}.nav-muted,.side-bottom,.side-divider,.side-section-label{display:none}.nav-item{width:auto;white-space:nowrap;padding:9px;font-size:11px}.nav-icon{font-size:15px;width:16px}.page-heading{align-items:flex-start;flex-direction:column}.right-column{display:flex}.ladder-editor{min-width:590px}.palette{justify-content:center}.sim-controls{align-self:stretch;justify-content:center}.tool{height:59px;width:75px;font-size:9px}.footer{flex-direction:column}}.rail{position:relative}.rail:after{content:"";height:2px;background:#64776b;position:absolute;left:0;right:0;top:50%}.rail.right:after{left:-16px;right:0}.rung-steps{position:relative}.rung-steps:before{content:"";height:2px;background:#64776b;position:absolute;left:0;right:0;top:50%;z-index:0}.rung-steps.powered:before{background:var(--green)}.contact-group{z-index:1}.palette .tool[draggable=true]{cursor:grab}.palette .tool[draggable=true]:active{cursor:grabbing}.contact-group{min-width:118px;max-width:none;flex:0 0 auto;padding:9px 9px;gap:0}.contact-group:before{top:50%}.parallel-stack{align-items:stretch;gap:9px}.parallel-stack.multi{padding:0 6px}.parallel-stack.multi:after,.parallel-stack.multi:before{top:32px;bottom:32px;left:1px}.parallel-stack.multi:after{left:auto;right:1px}.branch-path{display:flex;align-items:center;justify-content:center;position:relative;min-height:64px;gap:3px;padding:0 2px;background-image:linear-gradient(#63766a,#63766a);background-repeat:no-repeat;background-size:100% 2px;background-position:center}.branch-path.powered{background-image:linear-gradient(var(--green),var(--green))}.branch-path .ladder-contact{flex:0 0 80px;background-color:#fff}.branch-path .ladder-contact.live{background-color:#e9f8ef;border-color:#c4ebd0}.rung-steps{min-width:max-content;justify-content:flex-start;flex:1 0 auto}.rung-line{width:max-content;min-width:100%;gap:0}.rung-output{min-width:108px}.rung-steps:before{background:#6c8271}.rung-steps.powered:before{background:var(--green)}.ladder-scroll{scrollbar-color:#c3dbcc #f7f9f7}.rlo{font-size:9px;border:1px solid #d9e5dc;border-radius:5px;padding:2px 5px;color:#87958d;margin-left:6px;white-space:nowrap}.rlo.energized{color:#158438;border-color:#badbc6;background:#e9f8ed}.icon-btn{min-width:28px;font-size:16px}.editor-keyboard{font-size:10px;color:#829188;margin-top:8px;border-top:1px solid #ecf1ed;padding-top:9px}.diagnostics-panel{margin-top:13px;padding:11px 15px}.diag-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.diag-title strong{display:block;font-size:12px}.diag-title small{display:block;font-size:10px;color:#829188;margin-top:4px}.diag-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:9px}.diag-actions>span{font-size:10px;font-weight:800}.diag-messages{font-size:11px}.diag-messages p{padding:8px 10px;border-radius:6px;margin:10px 0 0}.diag-ok{color:#268a48;background:#eff9f2}.diag-warning{color:#8c6727;background:#fff8eb}.diag-error{color:#ae3939;background:#fff0f0}.diag-actions>span.diag-error,.diag-actions>span.diag-ok,.diag-actions>span.diag-warning{background:0 0}.zoom-label{font-size:10px;color:#697c70}#editor-zoom{border:1px solid #e0e9e2;border-radius:6px;background:#fff;padding:6px;color:#40544a}@media (max-width:1120px){.diag-title{flex-wrap:wrap}.content-layout{grid-template-columns:1fr}}.tool{width:79px;height:62px;gap:7px;font-size:9px}.tool-symbol{font-size:18px}.palette{width:100%;gap:6px}.ladder-contact.compare{min-width:98px;border:1px solid #b2c7ba;border-radius:3px;min-height:64px}.ladder-contact.compare .element-symbol{font-size:14px;letter-spacing:0;font-weight:800}.ladder-contact.compare.live{border-color:var(--green);background:#e5f7e9}.inspector-fields>.inspector-tip{width:100%}@media(max-width:750px){.tool{width:75px;height:60px}}.ladder-editor{min-width:0;padding:8px 12px 24px}.ladder-scroll{max-height:660px;overflow:auto}.rung{width:max-content;min-width:100%;padding:9px 10px 12px;margin:8px 0 14px}.rung-meta{position:sticky;left:0;max-width:100%;min-width:570px;width:fit-content;z-index:2;background:#ffffffdb;padding:3px 6px;backdrop-filter:blur(2px)}.rung.selected .rung-meta{background:#f6fbf7ee}.ladder-paper{position:relative;background:0 0;isolation:isolate}.ladder-wire-svg{position:absolute;inset:0;pointer-events:none;overflow:visible}.ladder-node{position:absolute;z-index:1;border:1px solid transparent;background:0 0;min-width:0;min-height:0;padding:0;color:#47534c;display:flex;align-items:center;justify-content:flex-start;gap:0;flex-direction:column;border-radius:5px;cursor:grab}.ladder-node:hover{background:#e7f8ec83;border-color:#aad9b9}.ladder-node.selected{background:#e6f6e94d;border:1.5px solid #41ab5d;box-shadow:0 0 0 2px #41ab5d15}.ladder-node.branch-source{border:2px dashed #e7a631;background:#fff1d680}.ladder-node.live{color:#238642}.ladder-node .element-tag{font-size:11px;font-weight:800;position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#fff;line-height:14px;padding:0 3px;max-width:94px;white-space:nowrap}.ladder-node .element-sub{font-size:9px;position:absolute;top:60px;left:50%;transform:translateX(-50%);background:#fff;white-space:nowrap;padding:2px;color:#64776c;letter-spacing:0;max-width:none}.ladder-node.ladder-output .element-tag{top:-8px}.ladder-node.ladder-contact .element-tag{top:-7px}.ladder-node.ladder-contact,.ladder-node.ladder-output{width:auto;flex:initial}.ladder-legend{display:flex;gap:19px;flex-wrap:wrap;padding:11px 17px;background:#fbfcfb;border-bottom:1px solid #e8eeeb;font-size:11px;color:#667970}.ladder-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:22px;height:3px;border-radius:2px}.legend-dot.neutral{background:#82918a}.legend-dot.blocked{background:#dc5e5e}.legend-dot.flowing{background:#41ab5d}.content-layout.layout-expanded{grid-template-columns:1fr}.content-layout.layout-expanded .right-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}@media(max-width:880px){.content-layout.layout-expanded .right-column{grid-template-columns:1fr}}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 9px minmax(0,var(--pane-width,410px));column-gap:2px;align-items:start;transition:none}.content-layout.layout-expanded{grid-template-columns:minmax(0,1fr) 9px minmax(0,var(--pane-width,410px))}.content-layout.layout-expanded.pane-collapsed,.content-layout.pane-collapsed{grid-template-columns:minmax(0,1fr) 0 0;column-gap:0}.pane-resizer{align-self:stretch;min-height:450px;cursor:col-resize;border-radius:6px;background:linear-gradient(to right,transparent 3px,#dce6df 3px,#dce6df 6px,transparent 6px);touch-action:none}.pane-resizer:active,.pane-resizer:hover{background:linear-gradient(to right,transparent 3px,#41ab5d 3px,#41ab5d 6px,transparent 6px)}.content-layout.pane-collapsed .pane-resizer,.content-layout.pane-collapsed .right-column{display:none}.right-column{min-width:0;display:flex;flex-direction:column;gap:13px;overflow:hidden}.button.danger{background:#d64d49;border-color:#bd3434;color:#fff}.button.danger:hover{background:#b92e2a}.ladder-wire-svg{pointer-events:visiblePainted;z-index:0}.wire-segment{pointer-events:none}.wire-segment.wire-editable{pointer-events:stroke;cursor:crosshair}.wire-segment.wire-editable:hover{stroke:#e7a334;stroke-width:9px}.ladder-node{z-index:2}.ladder-node .element-address{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);font-size:9px;color:#74847b;background:#fff;padding:0 2px;white-space:nowrap}.ladder-node.ladder-block{border:1px solid transparent}.ladder-node.ladder-block.selected{border-color:var(--green);background:#effaf1}.quick-actions{position:absolute;z-index:5;display:flex;gap:2px;padding:3px;border:1px solid #bedec7;background:#fff;border-radius:7px;box-shadow:0 4px 14px #0c44201f}.quick-actions button{border:0;background:#f0f8f2;color:#216a36;min-width:27px;height:25px;border-radius:4px;font-weight:800;cursor:pointer}.quick-actions button:hover{background:#bfeac9}.value-toggle{border:1px solid #dce4de;background:#eef0ef;border-radius:5px;color:#617369;font-weight:800;cursor:pointer;font-size:10px;padding:4px 6px;min-width:65px}.value-toggle.true{background:#d8f3df;color:#178137;border-color:#b5e5c2}.value-toggle:disabled{opacity:.6;cursor:not-allowed;border-color:#d0d6d2}@media(max-width:1100px){.content-layout,.content-layout.layout-expanded{grid-template-columns:minmax(0,1fr) 8px minmax(0,var(--pane-width,330px))}.right-column{display:flex}}@media(max-width:780px){.content-layout,.content-layout.layout-expanded{grid-template-columns:minmax(0,1fr)}.right-column{display:flex}.pane-resizer{display:none}.content-layout.pane-collapsed .right-column{display:none}}.advanced-tools{min-width:190px;flex-basis:100%;font-size:10px;color:#5d7666}.advanced-tools summary{cursor:pointer;font-weight:650;padding:6px 0}.advanced-tools-inner{padding:9px 0 3px;display:flex;flex-wrap:wrap;gap:6px}.quick-actions.output-quick{z-index:6}[hidden]{display:none!important}body,html{height:100%;overflow:hidden}.shell-cp033{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.shell-cp033 .topbar{height:55px;min-height:55px;flex-shrink:0;padding:0 18px;gap:16px;position:relative;z-index:30}.shell-cp033 .brand{display:flex;gap:12px;align-items:baseline}.shell-cp033 .brand strong{font-size:25px;font-weight:700;letter-spacing:-.6px}.shell-cp033 .brand small{font-size:10px;letter-spacing:1.2px;opacity:.8}.top-main-actions{margin-left:auto;display:flex;align-items:center;gap:5px;min-width:0}.top-action{background:0 0;border:1px solid transparent;color:#fff;border-radius:5px;padding:7px 11px;font-weight:600;white-space:nowrap}.top-action:hover{background:#ffffff24;border-color:#ffffff30}.top-action:disabled{opacity:.5;cursor:default}.header-separator{height:22px;width:1px;background:#ffffff57;margin:0 8px}.save-indicator{font-size:11px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.92}.top-main-actions .version{font-size:10px;padding-left:9px;opacity:.8}.project-menu-wrap{position:relative}.project-dropdown{position:absolute;right:-100px;top:calc(100% + 5px);width:246px;background:#fff;color:var(--text);box-shadow:0 12px 36px #17392430;border:1px solid var(--border);border-radius:8px;padding:6px;z-index:50}.project-dropdown button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:#fff;color:#394f42;padding:10px 11px;border:0;text-align:left;border-radius:5px;font-weight:600}.project-dropdown button:hover{background:#eaf6ee}.project-dropdown kbd{font-size:10px;color:#89958d;font-family:inherit;font-weight:400}.menu-separator{height:1px;background:#e2e9e4;margin:5px 4px}.shell-cp033 .main{height:calc(100% - 55px);min-height:0;min-width:0;width:100%;padding:9px 13px 10px;display:grid;grid-template-rows:auto minmax(0,1fr) var(--dock-height,112px);gap:9px;overflow:hidden}.shell-cp033 .command-strip{margin:0;border:1px solid #dde6df;gap:9px;align-items:stretch;padding:7px 9px;min-height:64px;overflow:hidden}.palette-header{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 5px;flex-shrink:0;border-right:1px solid var(--border);min-width:90px}.palette-header strong{font-size:10px;letter-spacing:.3px;color:#4b6d55}.palette-header small{font-size:8px;max-width:88px;color:#829088}.shell-cp033 .palette{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-start;align-content:center;align-items:center;gap:3px;min-width:0;width:auto;overflow:hidden}.shell-cp033 .tool{height:46px;width:59px;flex:0 0 59px;border-radius:5px;gap:3px;font-size:8px;padding:2px 0}.shell-cp033 .tool-symbol{font-size:16px;line-height:1.15}.shell-cp033 .sim-controls{flex:0 0 auto;gap:5px;align-content:center;align-items:center;justify-content:flex-end;border-left:1px solid #e2eae4;padding-left:9px;flex-wrap:wrap;max-width:288px}.shell-cp033 .sim-controls .button{min-height:32px;font-size:10px;padding:7px 10px}.shell-cp033 .sim-controls #btn-run{min-width:86px}.cpu-status-inline{font-size:10px;color:#648274;font-weight:750;white-space:nowrap;margin:0 3px}.shell-cp033 .content-layout{display:grid;height:100%;min-height:0;min-width:0;grid-template-columns:minmax(0,1fr) 8px minmax(0,var(--pane-width,410px));gap:3px;align-items:stretch}.shell-cp033 .content-layout.pane-collapsed{grid-template-columns:minmax(0,1fr) 0 30px;gap:0}.shell-cp033 .content-layout .editor-card{min-height:0;height:100%;display:flex;flex-direction:column;border-radius:8px}.shell-cp033 .editor-toolbar{padding:8px 12px;min-height:44px;flex:0 0 auto}.editor-heading{display:flex;align-items:baseline;gap:12px;min-width:0;overflow:hidden}.editor-heading h2{white-space:nowrap;font-size:12px;margin:0}.editor-heading #project-subtitle{font-size:10px;color:#819189;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-toolbar .button{min-height:28px;font-size:10px;padding:6px 9px}.editor-toolbar .zoom-label{white-space:nowrap}.editor-toolbar #editor-zoom{font-size:10px;padding:5px}.shell-cp033 .ladder-legend{gap:9px;padding:5px 12px;min-height:29px;align-items:center;flex:0 0 auto;font-size:9px}.shell-cp033 .ladder-legend .legend-dot{width:15px}.legend-spacer{flex:1}.editor-hint{color:#93a39a}.shell-cp033 .ladder-scroll{height:auto;flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-color:#accab6 #f4f9f5}.shell-cp033 .ladder-editor{padding:10px 16px 30px;min-width:590px}.shell-cp033 .rung{margin:6px 0 13px}.shell-cp033 .rung-meta{cursor:context-menu;gap:14px}.rung-menu-hint{font-size:16px;color:#9aae9e}.shell-cp033 .pane-resizer{height:100%;min-height:0;border-radius:4px}.shell-cp033 .content-layout.pane-collapsed .pane-resizer{display:none}.monitor-shell{height:100%;min-width:0;min-height:0;position:relative;border:1px solid #e1e8e2;background:#f6f9f6;border-radius:8px;padding-left:20px;overflow:hidden}.pane-collapse-arrow{position:absolute;left:0;top:0;bottom:0;width:20px;border:0;border-right:1px solid #e0e9e2;background:#edf5ef;color:#278247;z-index:5;font-size:23px;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:0}.pane-collapse-arrow:hover{background:#cfead7}.shell-cp033 .right-column{height:100%;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:7px;padding:3px}.shell-cp033 .content-layout.pane-collapsed .monitor-shell{width:30px;padding:0}.shell-cp033 .content-layout.pane-collapsed .monitor-shell .pane-collapse-arrow{width:29px}.shell-cp033 .content-layout.pane-collapsed .right-column{display:none}.shell-cp033 .simulator-panel{flex:0 0 auto;min-height:0}.shell-cp033 .watch-panel{flex:1 1 auto;display:flex;flex-direction:column;min-height:80px}.shell-cp033 .watch-table-wrap{flex:1 1 auto;min-height:0;overflow:auto}.shell-cp033 .cpu-zone{padding:10px 10px 9px;overflow:hidden;align-items:flex-start}.shell-cp033 .cpu-body{transform:none;transform-origin:center center;max-height:none;width:118px;min-width:118px;height:132px;overflow:hidden;box-shadow:4px 3px 0 #e4e9e7}.shell-cp033 .io-block{padding:7px 9px}.shell-cp033 .panel-header.compact{padding:8px 10px}.shell-cp033 .panel-header h2{font-size:12px}.shell-cp033 .panel-header p{font-size:9px}.shell-cp033 .simulation-note{font-size:9px}.bottom-dock{height:100%;min-height:0;overflow:hidden;position:relative;border:1px solid #e0e8e1;border-radius:8px;background:#fff;display:flex;flex-direction:column}.dock-resizer{flex:0 0 8px;width:100%;cursor:row-resize;touch-action:none;display:flex;justify-content:center;align-items:center;background:#f2f7f3}.dock-resizer:hover{background:#def1e4}.dock-resizer span{width:50px;height:3px;background:#aec4b4;border-radius:6px}.dock-summary{display:flex;flex:0 0 31px;align-items:center;gap:12px;padding:0 11px;border-bottom:1px solid #edf1ee;min-width:0}.dock-summary strong{font-size:11px;white-space:nowrap}.diag-status{color:#16833a;font-size:10px;font-weight:700;white-space:nowrap}.latest-event{font-size:10px;color:#73867a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.dock-summary .link-button{white-space:nowrap}.dock-content{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,1fr);flex:1 1 auto;min-height:0;overflow:hidden}.dock-diagnostics{min-width:0;min-height:0;overflow:auto;padding:0 7px;border-right:1px solid #ebf0ed}.dock-events{min-width:0;min-height:0;overflow:auto;padding:4px 9px}.shell-cp033 .diag-messages p{margin:4px 0;padding:4px 7px;font-size:10px;border-radius:4px}.shell-cp033 .event-log{font-size:10px;line-height:1.5;overflow:visible}.branch-arrows{z-index:9;box-shadow:0 5px 16px #183c2740;max-width:none}.branch-arrows button{font-size:16px;min-width:30px;height:28px}.branch-arrows button:disabled{opacity:.38;cursor:default;background:#f4f5f4}.context-menu{position:fixed;z-index:100;width:240px;max-width:90vw;background:#fff;border:1px solid #d7e5d9;border-radius:8px;padding:5px;box-shadow:0 13px 30px #133c203b}.context-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px;text-align:left;border:none;border-radius:5px;background:0 0;padding:9px 10px;color:#334b3a;font-size:12px}.context-menu button:hover{background:#e9f7ec;color:#18823a}.context-menu small{font-size:9px;color:#85998b;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#102b1a66;display:flex;align-items:center;justify-content:center;padding:20px}.properties-dialog{background:#fff;border:1px solid #dce7dd;border-radius:11px;box-shadow:0 16px 50px #11291d52;max-width:min(640px,96vw);width:100%;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e8eee9}.modal-header strong{display:block;font-size:15px}.modal-header span{display:block;font-size:11px;color:#849187;margin-top:4px}.modal-close{width:31px;height:31px;font-size:23px;background:#f4f8f5;border:0;border-radius:6px;color:#647f6c}.properties-dialog .inspector-fields{overflow:auto;min-height:90px;padding:23px 20px;display:flex;flex-wrap:wrap;gap:12px}.properties-dialog .field{flex:1 1 180px;min-width:175px}.properties-dialog .field input,.properties-dialog .field select{width:100%}.properties-dialog .inspector-tip{font-size:11px;color:#7c9682;flex-basis:100%}.modal-footer{display:flex;align-items:center;gap:10px;justify-content:space-between;border-top:1px solid #e8eee9;padding:13px 20px}.modal-footer small{font-size:10px;color:#889b8e}.shell-cp033 .button.danger{background:#c94f4b;border-color:#b4433d;color:#fff}@media(max-width:1200px){.shell-cp033 .palette-header{display:none}.shell-cp033 .tool{width:55px;flex-basis:55px}.shell-cp033 .content-layout{grid-template-columns:minmax(0,1fr) 8px minmax(0,var(--pane-width,320px))}.shell-cp033 .sim-controls{max-width:210px}}@media(max-width:860px){.shell-cp033 .topbar{padding:0 8px}.shell-cp033 .brand small,.top-main-actions .save-indicator,.top-main-actions .version{display:none}.shell-cp033 .tool{height:40px;width:49px;flex-basis:49px}.shell-cp033 .tool-symbol{font-size:14px}.shell-cp033 .main{padding:6px}.shell-cp033 .sim-controls{max-width:184px}.shell-cp033 .sim-controls .button{font-size:9px;padding:5px}.shell-cp033 .content-layout{grid-template-columns:minmax(0,1fr) 6px minmax(0,var(--pane-width,300px))}.shell-cp033 .editor-hint{display:none}}.shell-cp033 .main{grid-template-rows:auto minmax(0,1fr) var(--dock-height,112px)}.workspace-grid{display:grid;grid-template-columns:var(--lessons-width,180px) minmax(0,1fr);gap:7px;min-height:0;min-width:0;overflow:hidden}.workspace-grid .content-layout{min-height:0;min-width:0}.lessons-sidebar{overflow:auto;min-height:0;border-radius:8px;padding:12px 8px;background:#f5f8f6}.lessons-title{display:flex;flex-direction:column;gap:4px;margin:5px 9px 15px;color:#487a57;font-size:11px}.lessons-title small{color:#879c8d;font-weight:400;font-size:9px}.lesson-item{width:100%;border:0;background:0 0;text-align:left;cursor:pointer;color:#41594a;border-radius:7px;padding:13px 9px;font-weight:700;font-size:11px;display:flex;flex-direction:column;gap:5px}.lesson-item small{font-size:9px;font-weight:400;color:#84998a;padding-left:20px}.lesson-item.is-current{background:#dceee2;color:#197f3c}.lesson-item:hover{background:#e5f1e9}.simulator-panel,.watch-panel{overflow:hidden}.collapsible-heading{cursor:pointer;user-select:none;flex:0 0 auto;display:flex;align-items:center;gap:3px}.category-toggle{border:0;background:#edf7f0;color:#218849;font-size:17px;border-radius:5px;cursor:pointer;min-width:25px;height:26px}.category-body{min-height:0}.simulator-panel.category-collapsed .category-body,.watch-panel.category-collapsed .category-body{display:none!important}.simulator-panel.category-collapsed,.watch-panel.category-collapsed{flex:0 0 auto!important}.watch-panel:not(.category-collapsed) .watch-table-wrap{overflow:auto}.monitor-shell .right-column{overflow-y:auto;scrollbar-width:thin}.ladder-block.multi-selected,.ladder-contact.multi-selected,.ladder-output.multi-selected{outline:3px solid #249bd5!important;outline-offset:3px}.rung.network-multi{outline:2px dashed #249bd5;outline-offset:1px}.rung-menu-hint{cursor:pointer;border:0;color:#708d77;background:0 0;font-size:19px;min-width:27px;border-radius:5px}.rung-menu-hint:hover{background:#dbeee1;color:#11813b}.ladder-contact.unassigned{outline:2px dashed #e8b659;border-radius:5px}.ladder-contact.slot-placeholder{outline:2px dashed #86c69c;background:#f5fcf7;border-radius:5px;color:#218849}.ladder-contact.slot-placeholder .element-sub{font-weight:800;color:#348d53}.quick-actions.branch-arrows{padding:0;box-shadow:0 3px 8px #17342333}.led-unit.block-flash .led,.value-toggle.block-flash{animation:blocked-three .38s ease-in-out 3}@keyframes blocked-three{0%,100%{background:#e1e6e2;box-shadow:none}50%{background:#e76060;box-shadow:0 0 7px #ec5454}}body.cpu-running #btn-add-network,body.cpu-running .tool{opacity:.4;cursor:not-allowed}body.cpu-running .rung-menu-hint{opacity:.5}@media(max-width:960px){.workspace-grid{grid-template-columns:145px minmax(0,1fr)}.lessons-sidebar{padding:9px 4px}}@media(max-width:700px){.workspace-grid{grid-template-columns:115px minmax(0,1fr)}.lesson-item{font-size:10px}.lesson-item small{font-size:8px}}@media(max-width:1400px){.shell-cp033 .command-strip{overflow:visible}.shell-cp033 .palette{overflow:visible;flex-wrap:wrap}}.empty-rung-action{position:absolute;left:85px;top:34px;max-width:calc(100% - 250px);border:1px dashed #8abb9c;background:#f3fbf5;color:#287a47;border-radius:8px;padding:12px 18px;font-weight:650;cursor:pointer;z-index:5}.empty-rung-action:hover{background:#dff4e4;border-color:#41ab5d}.ladder-contact.signal-active:not(.slot-placeholder){background:rgba(65,171,93,.11);color:#187b39}.ladder-contact.compare{border-color:transparent!important;background:0 0!important;border-radius:0!important}.ladder-contact.compare.selected{outline:2px solid #41ab5d;outline-offset:1px}.additional-output{z-index:2}.additional-output .element-tag{top:-8px}.ladder-output.additional-output.selected{background:rgba(65,171,93,.1)}.shell-cp033 #watch-section .watch-table-wrap{display:block!important;overflow:auto;flex:1 1 auto;min-height:115px}.shell-cp033 #watch-section{flex:1 1 180px;min-height:145px}#btn-run.program-incomplete{box-shadow:inset 0 0 0 2px #e0a83b}.ex-eyebrow{font-size:9px;font-weight:850;letter-spacing:1.25px;color:#278849}.exercise-scene{flex:0 0 auto;border-color:#afdcc0;box-shadow:0 3px 14px #164d2516}.exercise-scene-head{display:flex;justify-content:space-between;padding:13px 15px 11px;align-items:start;gap:10px}.exercise-scene-head h2{font-size:17px;margin:4px 0 3px;color:#264634}.exercise-scene-head p{font-size:10px}.exercise-scene-head>button{border:0;background:#eef5f0;color:#587365;width:29px;height:29px;border-radius:7px;font-size:20px}.exercise-machine{padding:11px 13px;background:linear-gradient(180deg,#eff8f2 0,#e1efe7 100%);border-top:1px solid #dcece1;border-bottom:1px solid #dcece1;overflow:hidden}.machine-status{display:flex;align-items:center;justify-content:space-between;gap:7px;background:#fff;border:1px solid #dce9df;border-radius:7px;padding:8px 11px;color:#64766a;font-size:11px}.machine-status b{font-size:11px;margin-right:auto;color:#53685a}#exercise-run-dot{width:9px;height:9px;border-radius:50%;background:#bdc8c0}#exercise-run-dot.lit{background:#35c65c;box-shadow:0 0 0 3px #41ab5d23}#exercise-speed{font-weight:850;font-variant-numeric:tabular-nums}.ex-art{width:100%;height:auto;max-height:198px;display:block;overflow:visible}.ex-moving-belt{animation:exBelt .9s linear infinite;animation-play-state:paused}.ex-conveyor-wheels{transform-origin:220px 115px}.ex-package-train{animation:exPackage 4.6s linear infinite;animation-play-state:paused}.exercise-machine.motor-on .ex-moving-belt,.exercise-machine.motor-on .ex-package-train{animation-play-state:running}.exercise-machine.motor-on .machine-status b{color:#16813d}@keyframes exBelt{to{transform:translateX(25px)}}@keyframes exPackage{0%{transform:translateX(65px)}100%{transform:translateX(435px)}}.ex-machine-footer{display:flex;justify-content:space-between;color:#6a8772;font-size:9px;font-weight:700;padding:0 5px 1px}.ex-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px 13px 8px}.ex-press-btn{min-height:56px;touch-action:none;user-select:none;border:1px solid transparent;border-radius:8px;color:#fff;font-size:14px;font-weight:850;box-shadow:inset 0 -3px #00000024}.ex-press-btn small{display:block;font-size:9px;font-weight:550;margin-top:3px;color:#ffffffd9}.ex-start{background:#39a856}.ex-stop{background:#d14d4d}.ex-start.is-pressed{background:#26743e;box-shadow:inset 0 2px 5px #123d20aa;transform:translateY(2px)}.ex-stop.is-pressed{background:#942e2e;box-shadow:inset 0 2px 5px #3d1212aa;transform:translateY(2px)}.ex-meters{display:flex;justify-content:space-between;align-items:center;margin:1px 13px 10px;padding:6px 10px;background:#f4f8f5;border-radius:5px;font:700 10px Consolas,monospace;color:#486d53}.ex-actions{display:flex;gap:8px;padding:0 13px 9px;flex-wrap:wrap}.ex-actions .button{min-height:31px;font-size:10px;flex:1}.ex-feedback{margin:0 13px 14px;padding:10px;border-radius:7px;background:#f2f6f2;color:#54705b;font-size:11px;line-height:1.45;border:1px solid #e3ece5}.ex-feedback[data-result=pass]{background:#e3f8e9;color:#136b31;border-color:#b7e4c2}.ex-feedback[data-result=fail]{background:#fff2e9;color:#91471c;border-color:#f0d4b9}.exercise-catalog-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #cfddd3;border-radius:12px;box-shadow:0 25px 90px #0b301d50;padding:24px}#exercise-catalog{align-items:center;justify-content:center;z-index:1200}.ex-catalog-top{display:flex;justify-content:space-between;gap:16px;align-items:start}.ex-catalog-top h2{font-size:26px;margin:5px 0 8px;line-height:1.15;color:#213c2a}.ex-catalog-top p{font-size:12px}.ex-catalog-top .modal-close{flex-shrink:0}.ex-module-label{font-size:10px;color:#298d49;font-weight:850;letter-spacing:1px;margin:24px 0 10px}.ex-catalog-card{border:1px solid #cfe6d7;border-radius:10px;padding:16px;background:#f6fbf7;display:flex;gap:15px;align-items:center}.ex-card-icon{position:relative;display:grid;place-items:center;flex:0 0 84px;height:80px;font-size:60px;color:#29884c;background:#e4f3e7;border-radius:10px}.ex-card-icon span{position:absolute;font-size:14px;color:#fff;background:#41ab5d;border-radius:50%;padding:5px;bottom:8px;right:7px}.ex-card-copy b{font-size:15px;color:#254333}.ex-card-copy p{font-size:11px;line-height:1.45;margin:7px 0 10px}.ex-completed,.ex-level,.ex-time{font-size:10px;color:#2b7841;background:#dceee1;border-radius:5px;padding:4px 7px;margin-right:5px;font-weight:800}.ex-time{color:#61736b;background:#e9efeb}.ex-completed{color:#1f7d36}.ex-catalog-instructions{padding:15px 0 4px;font-size:12px;color:#44584b}.ex-catalog-instructions b{color:#264733}.ex-catalog-instructions p{margin-top:7px;font-size:12px;line-height:1.55}.ex-catalog-actions{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid #e5ece6;padding-top:16px;margin-top:12px}.ex-catalog-actions button{white-space:normal}@media(max-width:1150px){.ex-actions .button{font-size:9px;padding:7px 6px}.exercise-scene-head h2{font-size:14px}}@media(prefers-reduced-motion:reduce){.exercise-machine .ex-moving-belt,.exercise-machine .ex-package-train{animation-duration:10s}}#exercise-objective-overlay{z-index:1250}.exercise-objective-dialog{width:min(680px,calc(100vw - 26px));max-height:calc(100dvh - 32px);overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #d5e6da;border-radius:14px;box-shadow:0 24px 80px #13332155;color:#2b3e31}.ex-objective-footer,.ex-objective-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px}.ex-objective-head{border-bottom:1px solid #e4ebe5}.ex-objective-head h2{font-size:20px;color:#285239;margin-top:4px}.ex-objective-content{overflow:auto;padding:20px 22px}.ex-objective-description{font-size:13px;line-height:1.6;color:#425949;margin-bottom:17px}.ex-objective-content h3{font-size:13px;margin:19px 0 9px;color:#2c4c37}.ex-objective-io{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ex-objective-io article{border:1px solid #d9e9dc;background:#f6faf7;padding:11px;border-radius:9px}.ex-objective-io article strong{font-size:11px;color:#257a44;display:block;margin-bottom:9px}.ex-objective-io article p{font-size:11px;padding:5px 0;border-top:1px solid #e3efe5;line-height:1.45}.ex-objective-io code{font:700 11px Consolas,monospace;color:#20693a;margin-right:5px}.ex-objective-requirements{padding-left:23px;color:#425949;font-size:12px;line-height:1.6}.ex-objective-requirements li{margin:7px 0}.ex-objective-hint{padding:12px;background:#eff8f1;border-left:3px solid #41ab5d;border-radius:6px;font-size:11px;line-height:1.55;margin-top:18px}.ex-objective-footer{border-top:1px solid #e4ebe5;font-size:11px;color:#667f6b}@media(max-width:580px){.ex-objective-io{grid-template-columns:1fr}.ex-objective-footer{flex-wrap:wrap}}.shell-cp033 .rung-meta{display:flex;align-items:center;justify-content:space-between;position:sticky;left:0;right:auto;max-width:none;min-width:0;box-sizing:border-box;z-index:8;padding:4px 7px;border-radius:5px;gap:8px}.shell-cp033 .rung-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-cp033 .rung-meta .rung-menu-hint{margin-left:auto;flex:0 0 30px;min-width:30px;min-height:27px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;border-radius:5px}.shell-cp033 .rung-meta .rung-menu-hint:hover{background:#d5ebdc}.exercise-machine.scene-offline .ex-art,.exercise-machine.scene-offline .ex-signal-art{filter:grayscale(1);opacity:.62}.exercise-machine.scene-offline{background:linear-gradient(180deg,#f5f6f5,#e9edeb)}.ex-package-train{animation:none!important}#ex-box{will-change:transform}.ex-art[hidden],.ex-machine-footer[hidden],.ex-signal-art[hidden]{display:none!important}.exercise-shortcuts{margin:9px 12px;display:flex;flex-wrap:wrap;gap:5px 9px;align-items:center;font-size:10px;color:#486555}.exercise-shortcuts>b{width:100%;font-size:10px;color:#214a31}.exercise-shortcuts>span{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;background:#f2f8f3;border:1px solid #e1eee4;border-radius:5px}.exercise-shortcuts kbd{font:700 10px Consolas,monospace;background:#fff;border:1px solid #cbddcf;border-radius:3px;padding:2px 5px;white-space:nowrap;color:#24683c}.exercise-shortcuts>small{display:block;flex-basis:100%;font-size:9px;line-height:1.4;color:#65806e}.ex-signal-art{display:flex;gap:20px;min-height:188px;align-items:center;justify-content:center;padding:16px}.signal-post{width:83px;height:148px;background:#273a32;border:5px solid #4a6256;border-radius:19px;box-shadow:inset 0 0 0 3px #17261f,0 7px 14px #18382420;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;flex:0 0 83px}.signal-lamp{width:53px;height:53px;border-radius:50%;border:5px solid #15251e;box-shadow:inset 0 2px 8px #0009;background:#4a4b4b}.signal-lamp.red-lamp{background:#5d3434}.signal-lamp.green-lamp{background:#24492d}.signal-lamp.red-lamp.lit{background:#f04a49;box-shadow:inset 0 2px 5px #ff9b9b,0 0 20px #f04a49aa}.signal-lamp.green-lamp.lit{background:#3be36a;box-shadow:inset 0 2px 5px #afffc3,0 0 20px #3be36aaa}.signal-explanation{display:flex;flex-direction:column;gap:12px;font-size:12px;color:#597261}.signal-explanation strong{font-size:13px;color:#1b6036}.ex-second-card{margin-top:10px}.ex-traffic-icon{font-size:43px}.ex-catalog-inline-actions{display:flex;flex-direction:column;gap:7px;min-width:80px}.ex-catalog-inline-actions .button{font-size:11px;padding:7px 12px}@media(max-width:670px){.ex-second-card{flex-wrap:wrap}.ex-catalog-inline-actions{flex-direction:row;width:100%;justify-content:flex-end}.exercise-shortcuts{font-size:9px}}.ex-physical-scene{width:100%;max-height:230px;height:auto;display:block;margin:0 auto}.ex-physical-scene[hidden]{display:none!important}.ex-level.intermediate{background:#fff1dc;color:#93601b;border-color:#e8ca96}.ex-gate-icon{background:linear-gradient(135deg,#e4eee8,#b6cfc1);color:#3a7860;font-size:35px}.ex-tank-icon{background:linear-gradient(135deg,#d7f2e9,#adcecb);color:#287e73;font-size:37px}.led-unit.auto-sensor{opacity:.9;cursor:default}.led-unit.auto-sensor .led{border-color:#4eaa76;box-shadow:0 0 0 2px #41ab5d22}.led-unit.auto-sensor:disabled{color:#456f59}.empty-rung-actions{position:absolute;left:64px;top:34px;display:flex;gap:9px;z-index:6;align-items:center}.empty-rung-actions .empty-rung-action{position:static;max-width:none;padding:9px 12px}.empty-rung-direct{border:1px solid #a9d6b8;border-radius:8px;background:#e9f7ee;color:#257a42;padding:10px 12px;font-weight:700;cursor:pointer}.empty-rung-direct:hover{background:#d8f0df;border-color:#41ab5d}.rail-branch-hitbox:hover{fill:rgba(65,171,93,.15);stroke:#41ab5d;stroke-width:1.25;stroke-dasharray:3 3}.learning-overlay{z-index:1200;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(2px)}.learning-dialog,.progress-dialog{width:min(1100px,calc(100vw - 32px));max-height:min(92vh,960px);background:#fafdfe;border-radius:18px;border:1px solid #dfe8e1;box-shadow:0 20px 65px #1e423733;display:flex;flex-direction:column;overflow:hidden;color:#263930}.progress-dialog{width:min(860px,calc(100vw - 32px))}.learning-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px 19px;background:#fff;border-bottom:1px solid #e3eae5}.learning-top h2{font-size:27px;margin:5px 0;color:#263e32;line-height:1.2}.learning-top p{color:#7a8a7f;font-size:13px;margin:0}.learning-catalog,.learning-detail,.progress-dashboard{min-height:0;overflow:auto;padding:18px 24px 24px;scrollbar-width:thin}.learning-catalog-summary{font-size:12px;font-weight:700;color:#398354;background:#e9f6ed;border-radius:9px;padding:11px 14px;margin:0 0 14px}.learning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learn-group{border:1px solid #e3eae5;background:#fff;border-radius:12px;padding:13px;min-width:0}.learn-group h3{font-size:11px;letter-spacing:.7px;margin:0 0 10px;color:#6c8372;font-weight:850}.learn-topic{width:100%;border:1px solid transparent;background:#fafcfb;color:#32483b;border-radius:8px;padding:9px 10px;margin-top:5px;text-align:left;display:grid;grid-template-columns:70px minmax(0,1fr) 18px;gap:9px;align-items:center;font-size:12px;transition:background .16s,border-color .16s}.learn-topic:focus-visible,.learn-topic:hover{background:#e9f7ed;border-color:#9fd9ae}.learn-topic.active{background:#eff9f2}.learn-topic-symbol{color:#188643;font-family:ui-monospace,Consolas,monospace;letter-spacing:-.5px;font-size:14px;font-weight:800}.learn-check{color:#31a258;font-weight:900;font-size:16px;text-align:right}.learning-detail{display:flex;flex-direction:column;gap:11px}.learning-detail[hidden]{display:none!important}.learning-detail-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.learn-note{color:#8a9b8f;font-size:11px}.learning-info h3{font-size:23px;margin:6px 0 5px;color:#223a2d}.learning-info>p{font-size:15px;color:#52675a;margin:0 0 12px}.learn-example{padding:13px 15px;border-radius:10px;background:#ecf6ef;border-left:3px solid #41ab5d}.learn-example b{font-size:12px;color:#287c44}.learn-example p{margin:4px 0 0;color:#355847;font-size:13px}.learning-demo{background:#fff;border:1px solid #e1e9e4;border-radius:13px;padding:14px 19px;min-width:0}.learn-signal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7c8d82;font-weight:750;font-size:10px;letter-spacing:.45px}.learn-chip{border-radius:20px;padding:7px 12px;font-size:12px;font-weight:800;letter-spacing:0}.learn-chip.on{background:#dff6e6;color:#167e3c}.learn-chip.off{background:#fff0f0;color:#bd5858}.learn-diagram{width:100%;height:auto;max-height:180px;display:block;margin:8px auto}.learn-current-moving{stroke-dasharray:14 11;animation:learn-current 1.2s linear infinite}@keyframes learn-current{to{stroke-dashoffset:-50}}.learn-demo-status{border-top:1px solid #edf0ed;padding-top:12px;display:flex;justify-content:space-between;gap:12px;color:#78867c;font-size:12px}.learn-demo-status b{color:#385345}.learn-demo-controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.learn-demo-control{border:1px solid #9ad7ab;background:#e8f8ed;color:#207a3e;font-weight:750;border-radius:8px;padding:11px 16px;font-size:12px}.learn-demo-control:hover{background:#d2efd9}.learn-demo-control.secondary{background:#fff;border-color:#d8e2dc;color:#455b4a}.learn-timer-progress{height:9px;background:#e8eeea;border-radius:20px;overflow:hidden;margin:12px 0 4px}.learn-timer-fill{height:100%;background:#41ab5d;transition:width .3s}.learn-timer-caption{font-size:11px;color:#728676}.learning-tip{background:#f4f7f5;border:1px solid #e3eae5;border-radius:9px;padding:12px 14px;color:#50695a;font-size:12px;margin:0}.learning-tip:before{content:'💡 '}.learning-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-bottom:3px}.learning-bottom .button{min-height:39px}.progress-dashboard{display:flex;flex-direction:column;gap:16px}.progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.progress-stats article{background:#f1f8f4;border:1px solid #dcece1;padding:17px;border-radius:13px}.progress-stats article>span{display:block;color:#668171;font-size:11px;font-weight:850;letter-spacing:.3px}.progress-stats strong{display:block;font-size:39px;color:#25904a;margin:5px 0}.progress-stats strong small{font-size:17px;color:#89a18f}.progress-stats p{color:#607569;font-size:12px;margin:8px 0 0}.progress-track{height:8px;background:#e0e9e2;border-radius:99px;overflow:hidden;margin-top:7px}.progress-track i{display:block;height:100%;background:#41ab5d;border-radius:99px;transition:width .3s}.progress-unit{background:#fff;border:1px solid #e1e8e3;border-radius:12px;padding:15px}.progress-unit h3{font-size:15px;color:#304e3b;margin:0 0 12px}.progress-unit h3 small{font-size:11px;color:#7e9786;margin-left:5px}.progress-module{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:8px 0}.progress-module b{font-size:12px;color:#576d5e}.progress-module>span{font-size:12px;color:#248b46;font-weight:800}.progress-module .progress-track{grid-column:1/-1;margin-top:1px;height:6px}.progress-exercise{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef1ef;gap:16px;font-size:12px}.progress-exercise:last-child{border-bottom:0}.progress-ok{color:#218843;font-weight:850}.progress-pending{color:#86978c}.progress-footnote{font-size:12px;color:#788c7d;line-height:1.6;margin:0}.progress-actions{display:flex;justify-content:flex-end;gap:10px;background:#fff;padding:14px 23px;border-top:1px solid #e4ece5}@media(max-width:760px){.learning-overlay{padding:7px}.learning-dialog,.progress-dialog{width:calc(100vw - 12px);max-height:96vh;border-radius:12px}.learning-top{padding:15px 17px}.learning-top h2{font-size:21px}.learning-catalog,.learning-detail,.progress-dashboard{padding:13px}.learning-list,.progress-stats{grid-template-columns:1fr}.learn-note{display:none}.learning-bottom .button{font-size:11px;padding:7px 9px}.learn-demo-status{flex-wrap:wrap}.progress-actions{padding:10px 13px}}.network-stack{border:1px solid #c9ddd0;border-radius:11px;background:#f9fcfa;padding:3px 5px;margin:10px 0 15px;min-width:max-content;width:max-content}.network-stack>.rung{border:0!important;box-shadow:none!important;margin:2px 0!important;border-radius:5px}.network-stack>.rung+.rung{border-top:1px dashed #c3ddcb!important;padding-top:13px}.network-stack .rung-meta{display:flex;align-items:center;gap:8px}.network-stack .rung-meta>span{flex:1}.lane-add-btn{background:#eff8f2;border:1px solid #c6dfcd;border-radius:5px;padding:5px 9px;cursor:pointer;color:#247741;font-size:11px;font-weight:700;white-space:nowrap}.lane-add-btn:hover{background:#daeee0}.dock-collapse{background:#eaf6ee;border:0;color:#228047;border-radius:6px;min-width:27px;height:25px;font-size:16px;cursor:pointer}.bottom-dock.dock-collapsed .dock-content,.bottom-dock.dock-collapsed .dock-resizer{display:none!important}.bottom-dock.dock-collapsed .dock-summary{height:100%;flex:1;border-bottom:0}#ex-box .ex-package{filter:none}#new-project-overlay{z-index:1350}.new-project-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 30px);overflow:auto;background:#fff;border:1px solid #dce7dd;border-radius:13px;box-shadow:0 20px 60px #11291d50}.new-project-body{padding:19px 21px 17px;display:grid;gap:18px}.new-project-body p{font-size:12px;line-height:1.6;color:#607368}.new-project-body .field{min-width:0;display:grid;gap:7px}.new-project-body .field input{width:100%;font-size:13px}.new-project-body .new-project-error{color:#ad3939;font-weight:700}.new-project-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;padding:14px 20px;border-top:1px solid #e8eee9}#new-project-discard{border-color:#d5dcd7;color:#814035}@media(max-width:600px){.new-project-actions{flex-direction:column-reverse}.new-project-actions button{width:100%}}.exercise-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-top:1px solid #e7efe9;border-bottom:1px solid #e7efe9;background:linear-gradient(180deg,#f7fbf8,#eef7f1);position:sticky;top:0;z-index:15}.exercise-topbar-copy{display:grid;gap:2px;min-width:0}.exercise-topbar-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64806f}.exercise-topbar-copy strong{font-size:14px;color:#254935;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-topbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.exercise-topbar .button{box-shadow:0 2px 0 #d5e7da}@media(max-width:900px){.exercise-topbar{flex-direction:column;align-items:flex-start}.exercise-topbar-actions{width:100%;justify-content:flex-start}}.ladder-empty-input{position:absolute;z-index:7;width:48px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px;background:0 0;padding:0;cursor:pointer}.ladder-empty-input svg rect{stroke:#9eaba4;fill:#f8faf9;stroke-dasharray:5 4;stroke-width:1.7}.ladder-empty-input svg text{fill:#819189;font-size:22px;font-family:inherit}.ladder-empty-input:focus-visible svg rect,.ladder-empty-input:hover svg rect{stroke:#41ab5d;fill:#e5f7e9}.ladder-empty-input:focus-visible svg text,.ladder-empty-input:hover svg text{fill:#258744}.ladder-empty-input:focus-visible{outline:2px solid #41ab5d;outline-offset:2px}.exercise-machine{background:#edf6f0;border-color:#dcece1}.exercise-machine.scene-offline{background:#f0f3f0}.exercise-machine .ex-art{width:100%;height:auto;max-height:204px;display:block;margin:3px auto 1px;overflow:hidden}.exercise-machine .ex-physical-scene{max-height:204px}.exercise-machine .ex-machine-footer{border-top:1px solid #d6e6db;margin:0 2px;padding-top:6px;gap:8px}.exercise-machine .ex-conveyor-scene .ex-moving-belt{transform-box:fill-box}.exercise-machine .ex-gate-scene{shape-rendering:geometricPrecision}.exercise-machine .ex-signal-art{padding:17px 12px;min-height:190px;background:0 0}.exercise-machine .ex-signal-art .signal-post{border-color:#688373;box-shadow:inset 0 0 0 2px #253e30}.exercise-machine .ex-signal-art .signal-explanation{color:#50685a}.exercise-machine .machine-status{border-color:#d3e5d9;box-shadow:0 1px 2px #173c2410}.locale-control{display:flex;align-items:center;gap:7px;color:#fff;font-size:11px;font-weight:650;white-space:nowrap}.locale-control select{color:#174c2b;background:#fff;border:1px solid #badfc5;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:600;font-family:inherit;max-width:108px;cursor:pointer}.locale-control select:focus-visible{outline:2px solid #fff;outline-offset:2px}@media(max-width:980px){.locale-control span{display:none}.locale-control select{max-width:84px}}.industrial-exercises{display:grid;gap:10px}.ex-industrial-icon{font-size:36px;font-weight:800;color:#29774a;letter-spacing:-3px}.ex-industrial-container{min-height:0;overflow:hidden}.ex-industrial-container[hidden]{display:none!important}.ex-industrial-container svg{display:block;width:100%;height:auto;max-height:204px}.industrial-safety-note{display:block;margin-top:8px;color:#a04935;font-weight:750;font-size:11px}.ex-catalog-card .ex-catalog-inline-actions{display:flex;flex-direction:column;gap:5px;min-width:90px}.ex-catalog-card .ex-catalog-inline-actions .button{width:100%}@media(max-width:710px){.ex-catalog-card{flex-wrap:wrap}.ex-catalog-card .ex-catalog-inline-actions{flex-direction:row;width:100%}}.exercise-machine [hidden]{display:none!important}.ladder-contact.slot-placeholder{outline:0!important;background:0 0!important;border-color:transparent!important}.ladder-contact.slot-placeholder.selected,.ladder-contact.slot-placeholder:hover{outline:2px solid #41ab5d!important;outline-offset:1px}.ladder-empty-input{background:0 0!important}.ladder-empty-input svg{opacity:0;pointer-events:none}.ladder-empty-input:hover{outline:2px solid #41ab5d;outline-offset:0}.exercise-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;position:relative;top:auto;padding:10px 13px}.exercise-topbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.exercise-topbar .exercise-shortcuts{display:flex;align-items:center;gap:5px 8px;flex-wrap:wrap;margin:0;padding:0;background:0 0;border:none;font-size:10px}.exercise-topbar .exercise-shortcuts>span{padding:3px 5px;background:#fff}.exercise-comment-toggle{color:var(--green-deep);border-color:#c2ddcb;background:#fff}.ex-actions[hidden],.ex-meters[hidden]{display:none!important}.exercise-scene-head #exercise-scene-subtitle,.exercise-scene-head .ex-eyebrow{display:none}.exercise-scene-head{padding-top:11px;padding-bottom:11px}.ex-feedback:empty{display:none}.ex-catalog-instructions{display:none!important}.ladder-node .exercise-auto-comment{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);font:600 10px/1.25 Inter,"Segoe UI",Arial,sans-serif;color:#23683d;background:#e7f6eb;border:1px solid #d2e9d7;border-radius:5px;padding:3px 6px;max-width:170px;min-width:35px;width:max-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:5;box-shadow:0 1px 2px #1c542613}.ladder-node .exercise-auto-comment::selection{background:0 0}@media(max-width:1100px){.exercise-topbar{justify-content:flex-start}.exercise-topbar .exercise-shortcuts{order:3;flex-basis:100%}}.ladder-node .exercise-auto-comment{width:72px!important;max-width:72px!important;min-width:0!important;box-sizing:border-box;left:50%;transform:translateX(-50%);padding:3px 4px;font-size:9px;line-height:1.25;text-align:center;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;text-overflow:clip!important;overflow:visible!important;hyphens:auto;z-index:4}.ladder-node.ladder-output .exercise-auto-comment{width:78px!important;max-width:78px!important}.network-order-controls{display:flex;gap:2px;align-items:center;flex:0 0 auto}.network-order-btn{background:#fff;border:1px solid #dce9e0;border-radius:5px;color:#2d8450;width:26px;height:28px;line-height:1;font-size:17px;font-weight:800;padding:0}.network-order-btn:not(:disabled):hover{background:#e7f6ed;border-color:#93cba5}.network-order-btn:disabled{opacity:.28;cursor:default}.tool[data-add=ctud]{min-width:81px;overflow:hidden;gap:5px}.tool[data-add=ctud] .tool-symbol.box-symbol{font-size:12px;line-height:1;letter-spacing:-.5px;display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 10px);padding:6px 5px;white-space:nowrap}.tool[data-add=ctud]>span:last-child{font-size:9px;line-height:1.1;text-align:center;max-width:100%;overflow-wrap:anywhere}.learn-demo-controls{display:none!important}.learn-timeline{margin-top:14px;border:1px solid #dce9e1;background:#f6fbf8;border-radius:10px;padding:15px 17px}.learn-timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#2c7147;font-weight:750}.learn-timeline input[type=range]{width:100%;margin:15px 0 10px;cursor:ew-resize;accent-color:#41ab5d}.learn-timeline p{font-size:12px;color:#5b7565;line-height:1.5;margin:0;min-height:18px}.learn-player-row{display:flex;align-items:center;gap:14px;margin:12px 0 8px;min-width:0}.learn-play{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-width:118px;padding:10px 14px;border:1px solid #79c894;border-radius:10px;background:#e4f7e9;color:#087b36;font-size:12px;font-weight:800;cursor:pointer}.learn-play[aria-pressed=true]{background:#278849;color:#fff;border-color:#278849}.learn-play:focus-visible,.learn-step-mark:focus-visible{outline:3px solid #267b45;outline-offset:3px}.learn-track-wrap{position:relative;min-width:80px;flex:1;padding:0 12px 18px;box-sizing:border-box}.learn-track-wrap input[type=range]{width:100%;display:block;margin:4px 0 0;accent-color:#41ab5d;background:0 0;position:relative;z-index:2;height:21px}.learn-timeline-marks{position:relative;margin:0 9px;height:15px}.learn-step-mark{position:absolute;top:0;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;padding:0;border:2px solid #a8bbaf;background:#dce9e0;cursor:pointer;transition:transform .15s,background .15s}.learn-step-mark.is-current{background:#258548;border-color:#258548;transform:translateX(-50%) scale(1.15)}.learn-step-mark.is-next{background:#7ce69d;border:2px solid #15994b;box-shadow:0 0 0 4px rgba(65,171,93,.13);animation:learn-next-pulse 1.4s ease-in-out infinite}.learn-step-mark.is-next::after{content:"";position:absolute;inset:-6px;border:1px solid rgba(30,155,72,.36);border-radius:50%}@keyframes learn-next-pulse{50%{box-shadow:0 0 0 7px rgba(65,171,93,.18)}}.learn-loop-label{white-space:nowrap;font-size:11px;font-weight:700;color:#618974}.learn-event{display:grid;gap:4px;margin-top:12px;border-left:3px solid #41ab5d;border-radius:6px;background:#e7f6ec;padding:10px 13px;min-height:49px}.learn-event span{font-weight:850;font-size:13px;color:#166b38}.learn-event p{font-size:12px;margin:0;line-height:1.45;color:#315a42}@media(max-width:600px){.learn-player-row{gap:6px}.learn-play{min-width:92px;padding:8px}.learn-loop-label{display:none}.learn-track-wrap{padding:0 7px 18px}}@media(prefers-reduced-motion:reduce){.learn-step-mark.is-next{animation:none}}.shell-cp033 .topbar{background:#39a758;padding-inline:18px;box-shadow:0 2px 10px #174b2a19}.shell-cp033 .brand{align-items:center;gap:10px;flex:0 0 auto}.tribe-brand-logo{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 1px 2px #0c3d1d1e);background:#f4f6f3;border-radius:50%}.tribe-brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.shell-cp033 .brand strong{font-size:22px;font-weight:800;letter-spacing:-.7px;line-height:1.1}.shell-cp033 .brand small{font-size:9px;letter-spacing:1.05px;line-height:1.2;opacity:.8}.shell-cp033 .command-strip{padding:8px 10px;min-height:78px;align-items:center;gap:10px;border-radius:10px;box-shadow:0 1px 4px #153a2310}.shell-cp033 .palette-header{min-width:112px;max-width:112px;padding:0 10px 0 5px}.palette-header strong{font-size:10px;letter-spacing:.7px;color:#207744}.palette-header small{font-size:9px;line-height:1.35;max-width:96px;color:#84958a}.shell-cp033 .palette{display:flex;align-items:center;align-content:center;flex-wrap:wrap;overflow:visible;gap:4px;min-width:0}.shell-cp033 .tool{width:68px;flex:0 0 68px;height:62px;display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 3px 3px;border:1px solid #e3ebe5;background:#fff;border-radius:7px;color:#31483d;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.shell-cp033 .tool:hover{background:#edf8f0;border-color:#90d4a2;box-shadow:0 2px 8px #2d7d451c;transform:translateY(-1px)}.shell-cp033 .tool:focus-visible{outline:2px solid #36ad5b;outline-offset:1px}.shell-cp033 .tool:disabled{opacity:.4;transform:none;box-shadow:none}.shell-cp033 .tool>span{font-size:8.4px;line-height:1.1;text-align:center;min-width:0;max-width:100%;white-space:normal;font-weight:700;color:#687c70}.shell-cp033 .tool .lad-tool-icon{width:59px;height:35px;display:block;flex:0 0 35px;color:#213a30;overflow:visible}.lad-tool-icon text{fill:currentColor;stroke:none;text-anchor:middle;dominant-baseline:middle;font-family:Inter,'Segoe UI',Arial,sans-serif;font-weight:800}.lad-tool-icon .lad-icon-letter{font-size:17px}.shell-cp033 .sim-controls{min-width:220px;max-width:270px;padding-left:11px;gap:5px}.shell-cp033 .sim-controls #btn-run{min-width:84px}@media(max-width:1600px){.shell-cp033 .palette-header{min-width:88px;max-width:88px}.shell-cp033 .tool{width:59px;flex-basis:59px}.shell-cp033 .tool .lad-tool-icon{width:54px;height:31px;flex-basis:31px}.shell-cp033 .sim-controls{max-width:230px;min-width:170px}}@media(max-width:1120px){.shell-cp033 .command-strip{align-items:stretch}.shell-cp033 .palette{flex-wrap:wrap}.shell-cp033 .tool{width:56px;flex-basis:56px}.shell-cp033 .brand strong{font-size:19px}.shell-cp033 .brand small{display:none}}@media(max-width:820px){.shell-cp033 .topbar{padding-inline:10px}.tribe-brand-logo{width:31px;height:31px}.shell-cp033 .brand strong{font-size:17px}.shell-cp033 .palette-header{display:none}.shell-cp033 .tool{width:49px;flex-basis:49px;height:53px}.shell-cp033 .tool .lad-tool-icon{width:46px;height:27px;flex-basis:27px}.shell-cp033 .tool>span{font-size:7px}.shell-cp033 .sim-controls{min-width:120px}}.shell-cp033 .command-strip{flex-direction:row}@media(max-width:1050px){.shell-cp033 .command-strip{flex-wrap:wrap}.shell-cp033 .palette{flex-basis:calc(100% - 145px)}.shell-cp033 .sim-controls{margin-left:auto}}.exercise-track-tabs{display:flex;gap:8px;padding:12px 22px 15px;border-bottom:1px solid #e0eae3;position:sticky;top:0;background:#fff;z-index:3}.exercise-track-tab{display:inline-flex;align-items:center;gap:11px;border:1px solid #d3e0d6;border-radius:11px;background:#f6f9f7;color:#536b5a;padding:12px 18px;font-size:14px;font-weight:750;cursor:pointer}.exercise-track-tab small{background:#e6eee8;color:#52755b;border-radius:14px;padding:3px 9px;font-size:11px}.exercise-track-tab.is-current{border-color:#87c79b;background:#e4f5e9;color:#187b3f;box-shadow:0 0 0 1px #b0e3be inset}.exercise-track-tab.is-current small{background:#bfeaca;color:#175d34}#debugging-exercises,#programming-exercises{padding-bottom:16px}.debug-intro{margin:16px 20px;padding:16px 19px;border:1px solid #d8e9dc;background:#f3faf5;border-radius:12px;color:#254d37}.debug-intro strong{font-size:14px}.debug-intro p{font-size:12px;line-height:1.65;margin:7px 0 0;color:#5b7765}.debug-exercise-card{margin:12px 20px}.debug-ex-icon{background:#e7f3eb!important;color:#17864a!important;font-size:23px!important}.debug-hint{margin:15px 0 5px;padding:12px 15px;background:#f3faf5;border-radius:9px;border:1px solid #cce5d3}.debug-hint summary{color:#237641;font-weight:700;cursor:pointer;font-size:13px}.debug-hint p{margin:10px 0 2px;color:#486752;font-size:12px;line-height:1.6}.debug-actions{display:flex;flex-wrap:wrap;gap:10px;padding:12px 22px 22px}.led-readonly{cursor:default!important;user-select:none;pointer-events:none}.led-mode{font-size:9px;font-weight:800;color:#5d7969;letter-spacing:.35px;line-height:1.1;white-space:nowrap}.led-readonly .led{pointer-events:none}.input-mode-select{font-size:10px;border:1px solid #bdd7c5;border-radius:6px;background:#f3faf5;color:#205737;padding:5px 2px;max-width:100%;width:85px;font-weight:700;cursor:pointer}.input-mode-select:disabled{opacity:.7;cursor:default;background:#e9efec}.watch-table .value-toggle{touch-action:none;user-select:none}.properties-dialog .contact-input-mode-field{flex:1 1 100%;width:100%;border-top:1px solid #e7efe9;padding-top:14px;margin-top:3px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.properties-dialog .contact-input-mode-field .field{width:min(100%,370px);min-width:min(100%,240px);flex:0 0 auto}.properties-dialog .contact-input-mode-field .field span{font-size:11px;color:#4c7159}.properties-dialog .contact-input-mode-field .field b{font-weight:800;color:#238642}.properties-dialog .contact-input-mode-field small{max-width:600px;font-size:11px;line-height:1.5;color:#748b7a}.properties-dialog .input-mode-scene{display:inline-flex;align-items:center;padding:10px 12px;min-height:36px;border-radius:7px;background:#eaf5ef;border:1px solid #c8dfd0;color:#39694a;font-weight:750;font-size:12px}.ladder-contact .ladder-input-mode{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:#e8f6ed;border:1px solid #c1dec9;border-radius:4px;display:inline-block;white-space:nowrap;padding:1px 5px;font-size:8px;font-weight:850;line-height:12px;letter-spacing:.3px;color:#257b43;pointer-events:none;z-index:2}.ladder-contact .ladder-input-mode.mode-switch{background:#f0f3f1;border-color:#d4ddd7;color:#5b6f64}.ladder-contact .ladder-input-mode.mode-auto{background:#e9f2f9;border-color:#bdd6e8;color:#386b91}.input-mode-confirm-dialog{width:min(440px,95vw);padding:25px;background:#fff;border:1px solid #d9e6dd;border-radius:14px;box-shadow:0 18px 58px #152b1d55}.input-mode-confirm-dialog h2{font-size:19px;margin:0 0 13px;color:#273c2e}.input-mode-confirm-dialog p{font-size:13px;line-height:1.6;color:#50675b}.input-mode-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px;flex-wrap:wrap}.debug-brief{margin:4px 0 16px;font-size:12px;color:#3b5243}.debug-brief-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.debug-brief-card{border:1px solid #dbe9de;border-radius:10px;padding:12px 13px;background:#fafcfb;min-width:0}.debug-brief-card h3,.debug-brief-test h3{font-size:12px!important;margin:0 0 7px!important;color:#28613d}.debug-brief-card p{line-height:1.6;overflow-wrap:break-word}.debug-brief-test{margin-top:12px;padding:12px 14px;border:1px solid #dbe9de;border-radius:10px}.debug-brief-test ol{margin:3px 0 0;padding-left:19px;line-height:1.7}.debug-brief-test li{padding:2px 0}@media(max-width:600px){.debug-brief-cases{grid-template-columns:1fr}}.shell-cp033 .ex-feedback{margin:12px 16px 22px;line-height:1.6}.shell-cp033 .debug-exercise-card,.shell-cp033 .ex-second-card{margin-bottom:13px}.shell-cp033 .exercise-topbar{margin-bottom:13px;gap:15px}.shell-cp033 .exercise-scene{margin-top:12px}.shell-cp033 .ex-card-icon.debug-ex-icon{border-radius:10px;box-shadow:none;background:#e9f4ed!important}.shell-cp033 .ex-card-icon.debug-ex-icon svg{color:#278648}.input-mode-radio-group{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px}.input-mode-radio{display:flex;align-items:center;gap:9px;flex:1 1 145px;cursor:pointer;padding:10px 12px;border:1px solid #d9e6dd;border-radius:8px;background:#fff}.input-mode-radio:has(input:checked){border-color:#41ab5d;background:#eaf8ee}.input-mode-radio input{width:17px;height:17px;accent-color:#238642;flex:0 0 auto}.input-mode-radio>span{display:flex;flex-direction:column;gap:1px}.input-mode-radio strong{font-size:12px;color:#246943}.input-mode-radio small{font-size:10px;color:#768a7b}.ladder-paper .wire-magnet-preview{position:absolute;z-index:8;pointer-events:none;transform:translate(-50%,-50%);width:26px;height:26px;display:grid;place-items:center;font-size:20px;font-weight:800;color:#12652e;background:#e4f9e8;border:2px solid #41ab5d;border-radius:5px;box-shadow:0 0 0 4px #41ab5d18}.wire-hitbox.magnet-active{fill:#41ab5d!important;fill-opacity:.16!important;stroke:#41ab5d;stroke-width:1.5;stroke-dasharray:3 2}.project-language{padding:10px 14px;border-top:1px solid #e1ebe4}.project-language .locale-control{display:flex;justify-content:space-between;color:#4e7058;font-size:12px}.project-language .locale-control span{display:inline}.project-language .locale-control select{max-width:none;min-width:112px}.learn-step-mark.is-next{background:#d5f1dc;border:2px solid #229347;box-shadow:none;animation:none}.learn-step-mark.is-next::after{display:none}.learn-play-icon{display:inline-flex;width:17px;height:18px;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:17px;font-weight:900;letter-spacing:-3px;line-height:1}.learn-player-row{gap:18px;margin:17px 0 13px}.learn-track-wrap{padding-bottom:24px}.learn-timeline-marks{margin-top:5px}.shell-cp033 .exercise-topbar #exercise-topbar-check{background:#fff;color:#40554a;border-color:#d7e4dc}.shell-cp033 .exercise-topbar #exercise-topbar-objective{background:#41ab5d;color:#fff;border-color:#238642}.learn-play-icon{display:inline-flex!important;align-items:center;justify-content:center;position:relative;min-width:18px;height:20px;font-size:0!important;letter-spacing:0!important}.learn-play-icon::before{content:"";display:block;width:0;height:0;border-left:12px solid currentColor;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}.learn-play.is-playing .learn-play-icon{gap:4px}.learn-play.is-playing .learn-play-icon::after,.learn-play.is-playing .learn-play-icon::before{content:"";display:block;position:static;width:5px;height:15px;background:currentColor;border:0;margin:0;border-radius:1px}.properties-dialog .contact-input-mode-field .input-mode-radio-field{width:100%;max-width:100%;flex:1 1 auto;min-width:0}.properties-dialog .input-mode-radio-group{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.properties-dialog .input-mode-radio{min-width:0;min-height:59px;flex:none;gap:10px;align-items:center}.properties-dialog .input-mode-radio input[type=radio]{appearance:auto;display:block;min-width:17px!important;max-width:17px!important;width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;padding:0!important;flex:0 0 17px!important;border:0!important}.properties-dialog .input-mode-radio>span{min-width:0;display:flex;flex-direction:column;gap:3px;overflow:visible;white-space:normal}.properties-dialog .input-mode-radio strong{font-size:12px;line-height:1.2;white-space:normal}.properties-dialog .input-mode-radio small{font-size:10px;line-height:1.35;white-space:normal}@media(max-width:500px){.properties-dialog .input-mode-radio-group{grid-template-columns:1fr}}.ladder-paper .wire-hover-preview{position:absolute;z-index:9;pointer-events:none;transform:translate(-50%,-50%);width:23px;height:23px;border-radius:6px;background:#e8f7ed;border:1.5px solid #289348;color:#20763e;display:grid;place-items:center;font-size:17px;font-weight:700;box-shadow:0 1px 4px #18392220}.ladder-paper .wire-magnet-preview{width:23px;height:23px;border-radius:6px;background:#e8f7ed;border:1.5px solid #289348;font-size:17px;box-shadow:0 1px 4px #18392220}.wire-hitbox.magnet-active{fill-opacity:.025!important;stroke:none!important;stroke-dasharray:none!important}.ladder-empty-input:hover{outline:0!important}.ladder-wire-svg .lad-empty-symbol{opacity:.38}.rung.independent-lane{background:#fbfdfb}.rung-meta-lane{padding-top:4px;padding-bottom:8px;gap:10px;justify-content:flex-start}.rung-meta-lane .lane-meta-main{display:inline-flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.lane-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#eff8f2;border:1px solid #c6dfcd;color:#247741;font-size:11px;font-weight:800;white-space:nowrap}.lane-name{font-size:12px;color:#64766a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rung-meta-lane .rlo{margin-left:auto}#watch-section.category-collapsed .watch-table-wrap{display:none!important}.ladder-paper .wire-hover-preview,.ladder-paper .wire-magnet-preview{display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;font-family:Arial,Helvetica,sans-serif;font-weight:800;padding:0 0 1px 0}.collapsible-heading{justify-content:flex-start}.collapsible-heading>div{min-width:0}#watch-section .panel-header{justify-content:flex-start;align-items:flex-start;gap:10px}#watch-section .panel-header h2,#watch-section .panel-header p{text-align:left}#watch-section .panel-header .category-toggle{flex:0 0 auto;margin-top:1px}.lessons-sidebar{padding-top:10px}.lessons-sidebar .lesson-item:first-of-type{margin-top:2px}.command-strip{gap:10px}.command-strip .palette{margin-right:auto}.lessons-title,.palette-header{display:none!important}.network-stack{padding:8px 8px 10px;margin:10px 0 16px;position:relative}.network-stack>.rung-header{display:flex;align-items:center;gap:8px;color:#62746a;font-size:11px;margin:0 4px 8px;padding:0 2px}.network-stack>.rung-header>span{flex:1 1 auto;min-width:0}.network-stack>.rung-header b{color:#35463e}.network-stack>.rung{padding:4px 5px 6px;margin:0;border-radius:6px}.network-stack>.rung:not(.independent-lane){padding-top:2px}.network-stack>.rung.independent-lane{padding-top:0;margin-top:-4px}.network-stack>.rung+.rung{border-top:0!important;padding-top:0!important}.network-stack .rung-meta,.network-stack .rung-meta-lane{display:none!important}.network-stack .ladder-paper{margin-left:0}.lane-inline-guide{height:12px;display:flex;align-items:center;padding-left:10px;margin-bottom:1px}.lane-inline-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#eff8f2;border:1px solid #c6dfcd;color:#247741;font-size:10px;font-weight:800;line-height:1}.rung.independent-lane:hover{background:#f9fcfa}.rung-header .lane-add-btn{background:#eff8f2;border:1px solid #c6dfcd;border-radius:5px;padding:5px 9px;cursor:pointer;color:#247741;font-size:11px;font-weight:700;white-space:nowrap}.rung-header .lane-add-btn:hover{background:#daeee0}.ladder-paper .wire-hover-preview,.ladder-paper .wire-magnet-preview{display:flex;align-items:center;justify-content:center;line-height:1;padding-bottom:1px}.ladder-node.ladder-output:has(> :empty){background:0 0}.ladder-node.ladder-output:not(:has(.element-tag)){border-color:transparent;background:0 0;box-shadow:none}.ladder-node.ladder-output:not(:has(.element-tag)):hover{background:rgba(65,171,93,.035)}.ladder-node.ladder-output .element-tag{top:-20px;z-index:2}.ladder-node.ladder-output .element-address{position:absolute;top:48px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;background:#fff}.network-stack.has-multiple-lanes .wire-segment[data-wire-kind=rail]{opacity:0}.network-stack.has-multiple-lanes{position:relative}.network-stack .shared-network-rail{position:absolute;width:3px;background:#87978e;pointer-events:none;z-index:2;border-radius:1px}.network-stack.has-multiple-lanes .lane-inline-guide{padding-left:62px;position:relative;z-index:4;pointer-events:none}.network-stack.has-multiple-lanes .lane-inline-chip{white-space:nowrap;flex-shrink:0}.shell-cp033 #watch-section.category-collapsed{flex:0 0 auto!important;min-height:0!important;height:auto!important}.shell-cp033 #watch-section.category-collapsed .watch-table-wrap{display:none!important;min-height:0!important;flex:none!important}.ladder-contact .ladder-input-mode{top:-34px!important;z-index:8!important;line-height:13px!important;min-height:17px;padding:1px 6px!important}.ladder-contact .element-tag{position:absolute;top:0;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:7}.ladder-contact .exercise-auto-comment{top:calc(100% + 12px)!important;width:82px!important;max-width:82px!important;min-height:0;max-height:36px;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal!important;overflow:hidden!important;line-height:1.25!important;font-size:9px!important;padding:4px 5px!important;overflow-wrap:break-word!important;hyphens:auto;z-index:4}.network-stack>.rung.has-exercise-comments{padding-bottom:57px!important}.network-stack>.rung.has-exercise-comments+.rung{padding-top:12px!important}.ladder-output .exercise-auto-comment{max-height:36px;overflow:hidden!important}.ladder-contact .exercise-auto-comment,.ladder-node .exercise-auto-comment,.ladder-output .exercise-auto-comment{display:block!important;width:104px!important;max-width:104px!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;line-height:1.3!important;font-size:10px!important;padding:5px 6px!important;text-align:center;box-sizing:border-box}.ladder-node .exercise-auto-comment{white-space:normal!important;overflow-wrap:anywhere!important;overflow:visible!important;text-overflow:clip!important;max-height:none!important;height:auto!important;min-height:0!important;box-sizing:border-box!important;hyphens:none!important}.shell-cp033 .workspace-grid{grid-template-columns:28px minmax(0,1fr);overflow:visible;position:relative}.shell-cp033 .lessons-sidebar{position:relative;z-index:25;width:28px;min-width:28px;max-width:none;overflow:hidden;white-space:nowrap;padding:0;background:#eef7f0;border:1px solid #cde4d4;box-shadow:none;transition:width .16s ease,box-shadow .16s ease;background-clip:padding-box}.shell-cp033 .lessons-sidebar::before{content:'›';display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);left:3px;width:20px;height:34px;color:#258348;font-size:22px;font-weight:700;pointer-events:none;transition:opacity .12s ease}.shell-cp033 .lessons-sidebar .lesson-item{opacity:0;visibility:hidden;pointer-events:none;width:calc(180px - 16px);max-width:none;margin:4px 8px;padding:13px 9px;white-space:normal;transition:opacity .1s ease}.shell-cp033 .lessons-sidebar:focus-within,.shell-cp033 .lessons-sidebar:hover{width:180px;background:#f5f8f6;box-shadow:3px 5px 18px #23432b28}.shell-cp033 .lessons-sidebar:focus-within::before,.shell-cp033 .lessons-sidebar:hover::before{opacity:0}.shell-cp033 .lessons-sidebar:focus-within .lesson-item,.shell-cp033 .lessons-sidebar:hover .lesson-item{visibility:visible;opacity:1;pointer-events:auto}@media(max-width:700px){.shell-cp033 .workspace-grid{grid-template-columns:28px minmax(0,1fr)}.shell-cp033 .lessons-sidebar:focus-within,.shell-cp033 .lessons-sidebar:hover{width:180px}}.shell-cp033 .lessons-sidebar .lesson-item{display:flex;flex-direction:row;align-items:flex-start;gap:11px;padding:13px 11px}.side-nav-icon{height:19px;width:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;opacity:.95}.side-nav-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:6px;line-height:1.35}.shell-cp033 .lesson-item small{padding-left:0}.shell-cp033 .ladder-editor{background-image:none!important;background-color:#fff!important;padding-right:8px!important;min-width:0!important}.shell-cp033 .network-stack{max-width:none;width:max-content;min-width:0}.ex-objective-head .modal-close{display:grid!important;place-items:center!important;line-height:1!important;padding:0!important;flex:0 0 36px!important;width:36px!important;height:36px!important}#debug-expected{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}#debug-expected>li{position:relative;padding-left:25px;line-height:1.5;overflow-wrap:anywhere}#debug-expected>li::before{content:'✓';position:absolute;left:0;top:0;width:17px;height:17px;border:1px solid #87c69c;border-radius:5px;color:#238642;background:#e8f7ec;display:grid;place-items:center;font-size:11px;font-weight:700}.ex-objective-requirements{list-style:none!important;padding-left:0!important;counter-reset:none!important}.ex-objective-requirements li{position:relative;padding-left:29px!important;line-height:1.5;margin-bottom:10px}.ex-objective-requirements li::before{content:'✓';position:absolute;left:0;top:0;width:19px;height:19px;border:1px solid #87c69c;border-radius:5px;color:#238642;background:#e8f7ec;display:grid;place-items:center;font-size:12px;font-weight:700}