/* (cl-batch164) Level 1's ladder editor look for the PLC exercise pages. Part 1: the ladder-editor rules of css/trainer.css
   (v=dark1), copied by work-cl164/extract-css.js and scoped with :where(.ct-exl) (the #drill container). :where adds no
   specificity, so this file loads BEFORE css/level1-studio.css and level1-studio.css wins exactly as it does on Level 1,
   while trainer.css's generic class names (.lamp, .small-btn, .branch) cannot reach the rest of the page. */
:where(.ct-exl) .lamp,:where(.ct-exl) .mini-led{display:inline-block;width:13px;height:13px;border-radius:50%;background:#6d7a86;box-shadow:inset 0 0 0 2px rgba(0,0,0,.18)}
:where(.ct-exl) .lamp.on,:where(.ct-exl) .mini-led.on{background:#3aa655;box-shadow:0 0 10px rgba(58,166,85,.65)}
:where(.ct-exl) .panel-head{padding:18px 20px;border-bottom:1px solid #e3e9ef}
:where(.ct-exl) .panel-head h2{margin:0 0 6px}
:where(.ct-exl) .panel-head p{margin:0;color:#607080}
:where(.ct-exl) .rung{position:relative;padding:36px 22px;display:flex;align-items:stretch;min-height:300px}
:where(.ct-exl) .branch{display:flex;flex-direction:column;gap:18px;border-left:2px solid #708090;border-right:2px solid #708090;padding:8px 14px}
:where(.ct-exl) .branch-row{min-height:65px;display:flex;align-items:center}
:where(.ct-exl) .energized{background:#e6f7ea;box-shadow:inset 0 0 0 2px #3aa655}
:where(.ct-exl) .scan-box{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e3e9ef}
:where(.ct-exl) .scan-box div{padding:16px 20px}
:where(.ct-exl) .scan-box span{display:block;color:#607080;font-size:.8rem}
:where(.ct-exl) .scan-box strong{font-size:1.3rem}
:where(.ct-exl) .ladder-panel{overflow:hidden;}
:where(.ct-exl) .ladder-canvas{position:relative;
  height:360px;
  margin:0;
  background:#fff;
  min-width:720px;}
:where(.ct-exl) .ladder-rail{position:absolute;
  top:34px;
  bottom:34px;
  width:4px;
  background:#111;}
:where(.ct-exl) .ladder-label{position:absolute;
  top:8px;
  font-size:.85rem;
  font-weight:700;}
:where(.ct-exl) .rung-number{position:absolute;
  left:6px;
  top:160px;
  font-size:.78rem;
  color:#4f5f6d;}
:where(.ct-exl) .rung-wire{position:absolute;
  height:3px;
  background:#111;}
:where(.ct-exl) .ladder-contact{position:absolute;
  width:92px;
  height:72px;
  top:144px;
  background:#fff;
  text-align:center;
  z-index:2;}
:where(.ct-exl) .ladder-contact .tag,:where(.ct-exl) .ladder-coil .tag{display:block;
  font-size:.78rem;
  margin-bottom:10px;
  white-space:nowrap;}
:where(.ct-exl) .branch-left,:where(.ct-exl) .branch-right{position:absolute;
  width:3px;
  background:#111;
  top:180px;
  height:100px;
  z-index:1;}
:where(.ct-exl) .branch-left{left:340px}
:where(.ct-exl) .branch-right{left:470px}
:where(.ct-exl) .branch-top-wire,:where(.ct-exl) .branch-bottom-wire{position:absolute;
  height:3px;
  background:#111;
  left:340px;
  width:130px;
  z-index:1;}
:where(.ct-exl) .branch-top-wire{top:180px}
:where(.ct-exl) .branch-bottom-wire{top:280px}
:where(.ct-exl) .branch-bottom-wire:before{content:"";
  position:absolute;
  left:0;
  top:-100px;
  width:3px;
  height:100px;
  background:#111;}
:where(.ct-exl) .ladder-coil{position:absolute;
  right:96px;
  top:143px;
  width:105px;
  height:72px;
  text-align:center;
  background:#fff;
  z-index:2;}
:where(.ct-exl) .ladder-contact.energized .contact-symbol:before,:where(.ct-exl) .ladder-contact.energized .contact-symbol:after,:where(.ct-exl) .ladder-contact.energized .contact-symbol .bar,:where(.ct-exl) .ladder-coil.energized .coil-shape{filter:drop-shadow(0 0 3px rgba(35,160,80,.55));}
:where(.ct-exl) .ladder-contact.energized,:where(.ct-exl) .ladder-coil.energized{background:#edf9f0;
  box-shadow:inset 0 0 0 2px #3aa655;
  border-radius:6px;}
@media(max-width:760px){:where(.ct-exl) .ladder-panel{overflow-x:auto}:where(.ct-exl) .ladder-canvas{min-width:720px}}
:where(.ct-exl) .small-btn{border:0;border-radius:7px;background:#173b5e;color:#fff;padding:9px 12px;font-weight:700;cursor:pointer}
:where(.ct-exl) .small-btn.secondary{background:#647586}
:where(.ct-exl) .editor-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
:where(.ct-exl) .editor-actions{display:flex;gap:8px;flex-wrap:wrap}
:where(.ct-exl) .instruction-palette{padding:12px 16px;
  border-bottom:1px solid #dfe6ec;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  background:#f7fafc;}
:where(.ct-exl) .instruction-btn{border:1px solid #8999a8;
  background:#fff;
  border-radius:7px;
  padding:7px 10px;
  font-weight:700;
  cursor:pointer;}
:where(.ct-exl) .palette-note{font-size:.78rem;color:#607080}
:where(.ct-exl) .tag-table-wrap{padding:12px 16px 0}
:where(.ct-exl) .tag-table{width:100%;border-collapse:collapse;font-size:.8rem}
:where(.ct-exl) .tag-table th,:where(.ct-exl) .tag-table td{padding:7px 8px;border-bottom:1px solid #e3e9ef;text-align:left}
:where(.ct-exl) .ladder-editor{padding:16px;
  overflow-x:auto;
  background:#fff;}
:where(.ct-exl) .editable-rung{display:grid;
  grid-template-columns:65px 4px minmax(560px,1fr) 4px 88px;
  align-items:stretch;
  min-width:820px;
  min-height:155px;
  position:relative;
  border:2px solid transparent;
  border-radius:9px;
  margin-bottom:12px;
  padding:10px 6px;}
:where(.ct-exl) .editable-rung.selected-rung{border-color:#8eb5d8;
  background:#f9fcff;}
:where(.ct-exl) .editor-rung-number{align-self:center;
  font-size:.76rem;
  color:#566879;}
:where(.ct-exl) .editor-rail{background:#111;width:4px}
:where(.ct-exl) .editor-rung-line{align-self:center;
  min-height:95px;
  border-top:3px solid #111;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 16px;}
:where(.ct-exl) .editor-inst{position:relative;
  min-width:112px;
  background:#fff;
  text-align:center;
  padding:8px 7px;
  border-radius:6px;
  z-index:2;}
:where(.ct-exl) .editor-inst.energized{background:#e9f8ee;
  box-shadow:inset 0 0 0 2px #3aa655;}
:where(.ct-exl) .inst-tag{margin-bottom:7px}
:where(.ct-exl) .tag-select{width:100%;
  font-size:.76rem;
  border:1px solid #b6c2cd;
  border-radius:5px;
  padding:4px;}
:where(.ct-exl) .inst-symbol{font-family:monospace;
  font-size:1.65rem;
  line-height:1;
  margin-bottom:5px;
  white-space:nowrap;}
:where(.ct-exl) .inst-symbol.coil{font-family:Georgia,serif;font-size:2rem}
:where(.ct-exl) .delete-inst{position:absolute;
  top:-9px;
  right:-9px;
  width:23px;
  height:23px;
  border-radius:50%;
  border:0;
  background:#b94040;
  color:#fff;
  font-size:1rem;
  line-height:20px;
  cursor:pointer;}
:where(.ct-exl) .delete-rung{position:absolute;
  top:8px;
  right:8px;
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:3px;
  background:#8b2e2e;
  color:#fff;
  padding:0;
  font-size:18px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
  z-index:5;}
:where(.ct-exl) .delete-rung:hover{background:#a73a3a}
:where(.ct-exl) .delete-rung:focus{outline:2px solid rgba(44,130,201,.35);outline-offset:1px}
:where(.ct-exl) .editor-branch{position:relative;
  min-width:155px;
  display:flex;
  flex-direction:column;
  gap:18px;
  border-left:3px solid #111;
  border-right:3px solid #111;
  padding:8px 12px;}
:where(.ct-exl) .branch-path{min-height:70px;
  border-top:3px solid #111;
  display:flex;
  align-items:center;
  justify-content:center;}
:where(.ct-exl) .branch-delete{top:-13px;right:-13px}
:where(.ct-exl) .output-inst{margin-left:auto}
@media(max-width:760px){:where(.ct-exl) .editor-head{flex-direction:column}}
:where(.ct-exl) .small-btn:disabled{opacity:.45;
  cursor:not-allowed;}
:where(.ct-exl) .plc-mode-box{display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #aebbc7;
  border-radius:8px;
  background:#eef3f7;
  margin-right:4px;}
:where(.ct-exl) .plc-mode-label{font-size:.68rem;
  letter-spacing:.08em;
  font-weight:800;
  color:#5b6e7f;}
@media(max-width:850px){:where(.ct-exl) .editor-actions{flex-wrap:wrap;}:where(.ct-exl) .plc-mode-box{width:100%;
    justify-content:flex-start;}}
:where(.ct-exl) .program-mode-notice{width:100%;
  margin-top:8px;
  padding:9px 11px;
  border:1px solid #c98432;
  border-radius:7px;
  background:#fff3df;
  color:#7a4a12;
  font-size:.8rem;
  font-weight:700;}
:where(.ct-exl) .ladder-editor.run-locked{opacity:.92;}
:where(.ct-exl) .ladder-editor.run-locked .delete-inst,:where(.ct-exl) .ladder-editor.run-locked .delete-rung,:where(.ct-exl) .ladder-editor.run-locked .tag-select{cursor:not-allowed;}
:where(.ct-exl) .run-edit-blocked{opacity:.58;
  cursor:not-allowed !important;}
:where(.ct-exl) .program-mode-notice{animation:programNoticeIn .18s ease-out;}
:where(.ct-exl) .ladder-editor{background:#e9edf1;
  border-top:1px solid #b8c1ca;
  border-bottom:1px solid #b8c1ca;
  padding:0;
  font-family:"Segoe UI",Arial,sans-serif;}
:where(.ct-exl) .editable-rung{grid-template-columns:72px 2px minmax(650px,1fr) 2px 86px;
  min-width:920px;
  min-height:118px;
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid #cbd2d8;
  border-radius:0;
  background:#f7f7f7;}
:where(.ct-exl) .editable-rung:hover{background:#f2f6fa}
:where(.ct-exl) .editable-rung.selected-rung{background:#eaf3fb;
  box-shadow:inset 4px 0 0 #2b6ea6;
  border-color:#c3d7e8;}
:where(.ct-exl) .editor-rung-number{align-self:stretch;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  padding:9px 10px 0 6px;
  background:#dfe4e8;
  border-right:1px solid #bcc5cd;
  color:#34495a;
  font:600 12px Consolas,"Courier New",monospace;}
:where(.ct-exl) .editor-rail{background:#1c1c1c;width:2px}
:where(.ct-exl) .editor-rung-line{align-self:center;
  min-height:92px;
  border-top:2px solid #222;
  gap:24px;
  padding:0 18px;
  background:transparent;}
:where(.ct-exl) .editor-inst{min-width:128px;
  padding:4px 5px 5px;
  border-radius:0;
  background:#f7f7f7;
  font-family:Consolas,"Courier New",monospace;}
:where(.ct-exl) .editable-rung.selected-rung .editor-inst{background:#eaf3fb}
:where(.ct-exl) .inst-tag{margin:0 0 3px}
:where(.ct-exl) .tag-select{width:100%;
  min-height:26px;
  padding:2px 5px;
  border:1px solid #8d99a3;
  border-radius:2px;
  background:#fff;
  color:#111;
  font:12px Consolas,"Courier New",monospace;}
:where(.ct-exl) .inst-symbol{margin:1px 0 0;
  color:#111;
  font:700 27px/1 Consolas,"Courier New",monospace;
  letter-spacing:-2px;}
:where(.ct-exl) .inst-symbol.coil{font:700 28px/1 Consolas,"Courier New",monospace;
  letter-spacing:0;}
:where(.ct-exl) .editor-inst small{display:block;
  margin-top:2px;
  color:#334b5f;
  font:700 10px/1.1 Consolas,"Courier New",monospace;}
:where(.ct-exl) .editor-inst.energized{background:#e7f5e9;
  box-shadow:none;
  color:#087a28;}
:where(.ct-exl) .editor-inst.energized .inst-symbol,:where(.ct-exl) .editor-inst.energized small{color:#087a28}
:where(.ct-exl) .editor-inst.energized .tag-select{border-color:#4a9b60;
  background:#f3fff5;}
:where(.ct-exl) .editor-branch{min-width:205px;
  gap:0;
  border-left:2px solid #222;
  border-right:2px solid #222;
  padding:0 12px;
  background:transparent;}
:where(.ct-exl) .branch-path{min-height:62px;
  border-top:2px solid #222;
  justify-content:center;
  background:transparent;}
:where(.ct-exl) .branch-path + .branch-path{border-top:2px solid #222}
:where(.ct-exl) .output-inst{margin-left:auto}
:where(.ct-exl) .delete-inst{width:18px;height:18px;top:-5px;right:-5px;
  border-radius:2px;background:#8b2e2e;
  font-size:13px;line-height:16px;padding:0;}
:where(.ct-exl) .delete-rung{align-self:center;
  margin:0 7px;
  border:1px solid #9ca7b0;
  border-radius:2px;
  background:#eef1f3;
  color:#324657;
  padding:5px 7px;
  font-size:11px;}
:where(.ct-exl) .instruction-palette{padding:8px 12px;
  border-top:1px solid #c4ccd3;
  border-bottom:1px solid #aeb8c1;
  background:linear-gradient(#f4f6f8,#dfe4e8);
  gap:6px;}
:where(.ct-exl) .instruction-palette>strong{margin-right:8px;
  color:#34495a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;}
:where(.ct-exl) .instruction-btn{min-width:82px;
  padding:5px 9px;
  border:1px solid #8f9ba5;
  border-radius:2px;
  background:linear-gradient(#fff,#e4e8eb);
  box-shadow:inset 0 1px 0 #fff;
  color:#182b3a;
  font:700 12px Consolas,"Courier New",monospace;}
:where(.ct-exl) .instruction-btn:hover{background:#edf4fa;border-color:#5f87a8}
:where(.ct-exl) .ladder-editor.run-locked{background:#e2e5e8}
:where(.ct-exl) .ladder-editor.run-locked .editable-rung{background:#f0f1f2}
@media(max-width:760px){:where(.ct-exl) .panel-head{padding:15px 16px}:where(.ct-exl) .panel-head h2{font-size:1.45rem;line-height:1.12}:where(.ct-exl) .panel-head p{line-height:1.45}:where(.ct-exl) .wiring-head,:where(.ct-exl) .editor-head{flex-direction:column;align-items:stretch}:where(.ct-exl) .wiring-actions,:where(.ct-exl) .editor-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}:where(.ct-exl) .wiring-actions .small-btn,:where(.ct-exl) .editor-actions>.small-btn{width:100%}:where(.ct-exl) .plc-mode-box{width:100%;
    margin:0;
    display:grid;
    grid-template-columns:auto auto 1fr;
    align-items:center;
    gap:8px;}:where(.ct-exl) .program-mode-notice{margin-top:0}:where(.ct-exl) .instruction-palette{padding:11px 12px;gap:7px}:where(.ct-exl) .instruction-palette>strong{width:100%;font-size:.82rem}:where(.ct-exl) .instruction-btn{flex:1 1 calc(50% - 7px);min-width:0;padding:9px 7px}:where(.ct-exl) .palette-note{width:100%;line-height:1.35}:where(.ct-exl) .tag-table-wrap{padding:10px 10px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}:where(.ct-exl) .tag-table{min-width:430px}:where(.ct-exl) .ladder-editor,:where(.ct-exl) .ladder-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}:where(.ct-exl) .editable-rung{min-width:820px}:where(.ct-exl) .editor-rung-line{gap:18px;padding:0 14px}:where(.ct-exl) .editor-inst{min-width:118px}:where(.ct-exl) .scan-box div{padding:13px 15px}:where(.ct-exl) .completion-check .small-btn{width:100%}}
@media(max-width:430px){:where(.ct-exl) .panel-head{padding:14px}:where(.ct-exl) .instruction-btn{font-size:.82rem}:where(.ct-exl) .plc-mode-box{padding:9px}:where(.ct-exl) .scan-box strong{font-size:1.1rem}}
:where(.ct-exl) .ladder-editor{min-height:360px}
:where(.ct-exl) .editable-rung{min-height:158px}
:where(.ct-exl) .editor-rung-line{min-height:130px;gap:28px;padding:14px 20px}
:where(.ct-exl) .editor-inst{position:relative;min-width:148px;padding-top:22px}
:where(.ct-exl) .editor-branch{position:relative;padding-top:18px}
:where(.ct-exl) .instruction-type-select{display:block;width:100%;min-height:25px;margin-top:5px;padding:2px 5px;border:1px solid #8d99a3;border-radius:2px;background:#eef3f7;color:#17324a;font:700 11px Consolas,"Courier New",monospace}
:where(.ct-exl) .drag-handle{position:absolute;left:4px;top:3px;z-index:5;display:grid;place-items:center;width:24px;height:17px;border:1px solid #aeb9c2;border-radius:3px;background:#eef2f5;color:#54697b;font:700 14px/1 Arial,sans-serif;cursor:grab;user-select:none}
:where(.ct-exl) .drag-handle:active{cursor:grabbing}
:where(.ct-exl) .dragging-inst{opacity:.48}
:where(.ct-exl) .drag-over-inst{outline:2px dashed #2b86c8;outline-offset:4px}
:where(.ct-exl) .ladder-editor.run-locked .drag-handle,:where(.ct-exl) .ladder-editor.run-locked .instruction-type-select{opacity:.55;cursor:not-allowed}
@media(max-width:760px){:where(.ct-exl) .ladder-editor{min-height:340px}:where(.ct-exl) .editable-rung{min-height:150px}:where(.ct-exl) .editor-rung-line{min-height:122px;gap:20px;padding:12px 16px}:where(.ct-exl) .editor-inst{min-width:140px}}
:where(.ct-exl) .editor-inst.energized{background:#effff1 !important;
  border:1px solid #28b44a;
  box-shadow:
    inset 0 0 0 1px rgba(40,180,74,.22),
    0 0 10px rgba(40,180,74,.18) !important;}
:where(.ct-exl) .editor-inst.energized .inst-symbol{color:#00a62f !important;
  text-shadow:0 0 5px rgba(0,190,60,.28);}
:where(.ct-exl) .editor-inst.energized small{color:#07862c !important;}
:where(.ct-exl) .editor-inst.energized .tag-select{border-color:#35a953 !important;
  background:#f3fff5 !important;
  color:#087a28 !important;
  font-weight:700;}
:where(.ct-exl) .editor-inst.energized::before,:where(.ct-exl) .editor-inst.energized::after{content:"";
  position:absolute;
  top:50%;
  width:18px;
  height:4px;
  background:#20c543;
  transform:translateY(-50%);
  z-index:-1;}
:where(.ct-exl) .editor-inst.energized::before{left:-18px}
:where(.ct-exl) .editor-inst.energized::after{right:-18px}
@media(max-width:760px){:where(.ct-exl) .editor-inst.energized::before,:where(.ct-exl) .editor-inst.energized::after{width:12px;}:where(.ct-exl) .editor-inst.energized::before{left:-12px}:where(.ct-exl) .editor-inst.energized::after{right:-12px}}
:where(.ct-exl) .ladder-editor .ladder-rung,:where(.ct-exl) .ladder-editor .rung,:where(.ct-exl) .ladder-editor .rung-row{position:relative;}
:where(.ct-exl) .ladder-editor .delete-rung{position:absolute !important;
  top:8px !important;
  right:8px !important;
  left:auto !important;
  bottom:auto !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:auto !important;
  border:0 !important;
  border-radius:4px !important;
  background:#963434 !important;
  color:#fff !important;
  font:700 18px/1 Arial,sans-serif !important;
  text-indent:0 !important;
  overflow:hidden !important;
  cursor:pointer !important;
  box-shadow:0 1px 3px rgba(0,0,0,.22) !important;
  z-index:20 !important;}
:where(.ct-exl) .ladder-editor .delete-rung:hover{background:#b13c3c !important;}
:where(.ct-exl) .ladder-editor .delete-rung:focus{outline:2px solid rgba(35,135,210,.42) !important;
  outline-offset:2px !important;}
@media(max-width:760px){:where(.ct-exl) .ladder-editor .delete-rung{top:7px !important;
    right:7px !important;
    width:24px !important;
    height:24px !important;}}
:where(.ct-exl) .editor-inst.energized{position:relative;}
:where(.ct-exl) .editor-inst.energized::before,:where(.ct-exl) .editor-inst.energized::after{content:"";
  position:absolute;
  top:50%;
  height:5px;
  width:16px;
  background:#00c13f !important;
  transform:translateY(-50%);
  box-shadow:0 0 5px rgba(0,193,63,.35);
  z-index:1;}
:where(.ct-exl) .editor-inst.energized::before{left:-16px}
:where(.ct-exl) .editor-inst.energized::after{right:-16px}
:where(.ct-exl) .ladder-editor.run-locked{opacity:1 !important;
  background:#e9edf1 !important;}
:where(.ct-exl) .ladder-editor.run-locked .editable-rung{background:#f7f7f7 !important;}
:where(.ct-exl) .ladder-editor.run-locked .editable-rung.selected-rung{background:#f7f7f7 !important;}
:where(.ct-exl) .ladder-editor.run-locked .editor-inst{opacity:1 !important;}
:where(.ct-exl) .ladder-editor.run-locked .editor-inst.energized{background:#dcffe4 !important;
  border:2px solid #00b83f !important;
  box-shadow:0 0 0 2px rgba(0,184,63,.18),0 0 12px rgba(0,184,63,.30) !important;}
:where(.ct-exl) .ladder-editor.run-locked .editor-inst.energized .inst-symbol,:where(.ct-exl) .ladder-editor.run-locked .editor-inst.energized small{color:#00a832 !important;}
:where(.ct-exl) .ladder-editor.run-locked .editor-inst.energized .tag-select,:where(.ct-exl) .ladder-editor.run-locked .editor-inst.energized .instruction-type-select{opacity:1 !important;
  background:#edfff1 !important;
  border-color:#00b83f !important;
  color:#087a28 !important;}
:where(.ct-exl) #ladderEditor{background:#ffffff;
  padding:0;
  border-top:1px solid #c9d0d7;
  font-family:"Segoe UI",Arial,sans-serif;}
:where(.ct-exl) #ladderEditor .editable-rung{grid-template-columns:46px 2px minmax(560px,1fr) 2px 34px;
  min-width:840px;
  min-height:120px;
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid #e4e8ec;
  border-radius:0;
  background:#ffffff;}
:where(.ct-exl) #ladderEditor .editable-rung:hover{background:#fafbfc}
:where(.ct-exl) #ladderEditor .editable-rung.selected-rung{background:#f4f8fc;
  box-shadow:inset 3px 0 0 #2f6fb0;}
:where(.ct-exl) #ladderEditor .editor-rung-number{align-self:stretch;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:8px 4px 0;
  background:transparent;
  border:0;
  border-right:1px solid #eef1f4;
  color:#9aa4ae;
  font:600 12px/1 "Segoe UI",Consolas,monospace;}
:where(.ct-exl) #ladderEditor .editor-rail{background:#232a31;width:2px}
:where(.ct-exl) #ladderEditor .editor-rung-line{position:relative;
  align-self:center;
  min-height:96px;
  border-top:0;
  gap:32px;
  padding:0 22px;
  background:transparent;}
:where(.ct-exl) #ladderEditor .editor-rung-line::before{content:"";
  position:absolute;
  left:0;right:0;top:50%;
  height:2px;
  background:#232a31;
  transform:translateY(-50%);
  z-index:0;}
:where(.ct-exl) #ladderEditor .editor-inst{position:relative;
  z-index:1;
  min-width:96px;
  padding:0 12px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;}
:where(.ct-exl) #ladderEditor .inst-tag{position:absolute;
  bottom:100%;
  left:0;right:0;
  margin:0 0 3px;}
:where(.ct-exl) #ladderEditor .tag-select{width:100%;
  min-height:0;
  text-align:center;
  text-align-last:center;
  border:1px solid transparent;
  border-radius:3px;
  background:transparent;
  color:#1d2b38;
  font:600 12px/1.2 Consolas,"Segoe UI",monospace;
  padding:1px 3px;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  cursor:pointer;}
:where(.ct-exl) #ladderEditor .editor-inst:hover .tag-select,:where(.ct-exl) #ladderEditor .tag-select:focus{border-color:#9db4c9;
  background:#ffffff;}
:where(.ct-exl) #ladderEditor .inst-symbol{margin:0;
  color:#1a2732;
  font:700 26px/1 Consolas,"Courier New",monospace;
  letter-spacing:0;
  background:#ffffff;
  padding:2px 3px;}
:where(.ct-exl) #ladderEditor .inst-symbol.coil{font-size:28px}
:where(.ct-exl) #ladderEditor .instruction-type-select{position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  width:auto;
  min-height:0;
  margin-top:4px;
  padding:1px 4px;
  border:1px solid #9aa6b0;
  border-radius:2px;
  background:#f2f5f8;
  color:#26404f;
  font:700 10px Consolas,monospace;
  opacity:0;
  pointer-events:none;
  transition:opacity .12s;}
:where(.ct-exl) #ladderEditor .editor-inst:hover .instruction-type-select,:where(.ct-exl) #ladderEditor .editable-rung.selected-rung .instruction-type-select{opacity:1;
  pointer-events:auto;}
:where(.ct-exl) #ladderEditor .delete-inst{opacity:0;transition:opacity .12s}
:where(.ct-exl) #ladderEditor .drag-handle{opacity:0;transition:opacity .12s}
:where(.ct-exl) #ladderEditor .editor-inst:hover .delete-inst,:where(.ct-exl) #ladderEditor .editor-inst:hover .drag-handle,:where(.ct-exl) #ladderEditor .editor-branch:hover > .delete-inst,:where(.ct-exl) #ladderEditor .editor-branch:hover > .drag-handle,:where(.ct-exl) #ladderEditor .editable-rung.selected-rung .delete-inst,:where(.ct-exl) #ladderEditor .editable-rung.selected-rung .drag-handle{opacity:1}
:where(.ct-exl) #ladderEditor .delete-rung{opacity:0 !important;transition:opacity .12s}
:where(.ct-exl) #ladderEditor .editable-rung:hover .delete-rung,:where(.ct-exl) #ladderEditor .editable-rung.selected-rung .delete-rung{opacity:1 !important}
:where(.ct-exl) #ladderEditor .editor-branch{position:relative;
  z-index:1;
  min-width:150px;
  gap:30px;                 
  border-left:2px solid #232a31;
  border-right:2px solid #232a31;
  padding:10px 14px;
  background:transparent;}
:where(.ct-exl) #ladderEditor .branch-path{position:relative;
  min-height:42px;
  border-top:0;
  justify-content:center;
  background:transparent;}
:where(.ct-exl) #ladderEditor .branch-path::before{content:"";
  position:absolute;
  left:0;right:0;top:50%;
  height:2px;
  background:#232a31;
  transform:translateY(-50%);
  z-index:0;}
:where(.ct-exl) #ladderEditor .output-inst{margin-left:auto}
:where(.ct-exl) #ladderEditor .editor-inst.energized{background:transparent !important;
  border:0 !important;
  box-shadow:none !important;}
:where(.ct-exl) #ladderEditor .editor-inst.energized .inst-symbol{color:#00a651 !important;
  background:#ffffff !important;
  text-shadow:none !important;}
:where(.ct-exl) #ladderEditor .editor-inst.energized .tag-select{color:#007e2e !important;
  background:transparent !important;
  border-color:transparent !important;
  font-weight:700;}
:where(.ct-exl) #ladderEditor .editor-inst.energized::before,:where(.ct-exl) #ladderEditor .editor-inst.energized::after{display:none !important}
:where(.ct-exl) #ladderEditor.run-locked,:where(.ct-exl) #ladderEditor.run-locked .editable-rung,:where(.ct-exl) #ladderEditor.run-locked .editable-rung.selected-rung{background:#ffffff !important}
:where(.ct-exl) #ladderEditor.run-locked .editor-inst.energized{background:transparent !important;border:0 !important;box-shadow:none !important;}
:where(.ct-exl) #ladderEditor.run-locked .editor-inst.energized .inst-symbol{color:#00a651 !important;background:#fff !important}
:where(.ct-exl) #ladderEditor.run-locked .editor-inst.energized .tag-select{color:#007e2e !important;background:transparent !important;border-color:transparent !important;}
:where(.ct-exl) #ladderEditor .editable-rung{min-height:170px}
:where(.ct-exl) #ladderEditor .editor-rung-line{min-height:140px}
:where(.ct-exl) #ladderEditor .inst-tag{margin-bottom:8px}
:where(.ct-exl) #ladderEditor .instruction-type-select{margin-top:8px}
:where(.ct-exl) #ladderEditor .editor-branch{gap:36px;padding-top:14px;padding-bottom:14px}
:where(.ct-exl) #ladderEditor .branch-path{min-height:72px}
:where(.ct-exl) #ladderEditor .editable-rung{min-height:150px}
:where(.ct-exl) #ladderEditor .editor-rung-line{min-height:100px;padding-top:28px;padding-bottom:28px}
:where(.ct-exl) #ladderEditor{background:#0f1c26;border-top:1px solid #26333d}
:where(.ct-exl) #ladderEditor .editable-rung{background:#0f1c26;border-bottom:1px solid #223140}
:where(.ct-exl) #ladderEditor .editable-rung:hover{background:#13222d}
:where(.ct-exl) #ladderEditor .editable-rung.selected-rung{background:#143247;box-shadow:inset 3px 0 0 #3f83c0}
:where(.ct-exl) #ladderEditor .editor-rung-number{color:#7f95a6;border-right:1px solid #223140}
:where(.ct-exl) #ladderEditor .editor-rail{background:#6b8296}
:where(.ct-exl) #ladderEditor .editor-rung-line::before{background:#4a6373}
:where(.ct-exl) #ladderEditor .inst-symbol{color:#eaf3fb;background:transparent}
:where(.ct-exl) #ladderEditor .inst-symbol.coil{color:#ffd082}
:where(.ct-exl) #ladderEditor .tag-select{color:#cfe4f5;background:transparent}
:where(.ct-exl) #ladderEditor .tag-select option{background:#0f1c26;color:#cfe4f5}
:where(.ct-exl) #ladderEditor .editor-inst:hover .tag-select,:where(.ct-exl) #ladderEditor .tag-select:focus{border-color:#42607a;background:#16303f}
:where(.ct-exl) #ladderEditor .instruction-type-select{background:#16303f;color:#d6e6f3;border-color:#42607a}
:where(.ct-exl) #ladderEditor .editor-branch{border-left-color:#6b8296;border-right-color:#6b8296}
:where(.ct-exl) #ladderEditor .branch-path::before{background:#4a6373}
:where(.ct-exl) #ladderEditor .editor-inst.energized .inst-symbol{color:#2ee36a !important;background:transparent !important;text-shadow:0 0 8px rgba(46,227,106,.55) !important}
:where(.ct-exl) #ladderEditor .editor-inst.energized .tag-select{color:#8ff0b0 !important}
:where(.ct-exl) #ladderEditor.run-locked,:where(.ct-exl) #ladderEditor.run-locked .editable-rung,:where(.ct-exl) #ladderEditor.run-locked .editable-rung.selected-rung{background:#0f1c26 !important}
:where(.ct-exl) #ladderEditor.run-locked .editor-inst.energized .inst-symbol{color:#2ee36a !important;background:transparent !important}
:where(.ct-exl) #ladderEditor.run-locked .editor-inst.energized .tag-select{color:#8ff0b0 !important}
:where(.ct-exl) #ladderEditor .drag-handle{background:#16303f;color:#8ea6b8;border-color:#2c4256}
:where(.ct-exl) #ladderEditor .editor-rung-number{color:#7f95a6}
/* Part 2: fitting the studio into the exercise column. These win on purpose. The column is narrower than Level 1's page,
   so the studio always uses Level 1's own <=1100px layout (organizer beside the ladder, Program Tags across the bottom),
   except in Fullscreen, which has the whole screen. */
.ct-exl .ladder-panel{margin:18px 0;padding:0;border:0;background:none;box-shadow:none}
.ct-exl .ladder-panel>.panel-head{padding:0 0 12px}
.ct-exl .l1-studio:not(.l1s-max) .l1s-body{grid-template-columns:150px minmax(0,1fr)}
.ct-exl .l1-studio:not(.l1s-max) .l1s-tags{grid-column:1/-1;max-height:210px}
.ct-exl .l1-studio:not(.l1s-max) .l1s-tags .tag-table{max-width:750px}
@media(max-width:650px){.ct-exl .l1-studio:not(.l1s-max) .l1s-body{grid-template-columns:minmax(0,1fr)}}
