.focus-view .page-content{max-width:none;padding:14px 18px 18px}.page-content:has(>.lab){flex-direction:column;gap:12px;height:100vh;display:flex}.page-content .beginner-chapters{background:0 0;align-self:flex-start;gap:10px;margin:0;padding:0;display:inline-flex}.page-content .beginner-chapters button{border:1px solid var(--line-300);border-radius:var(--r-md);background:var(--surface);color:var(--ink-600);font-size:var(--fs-15);align-items:center;gap:10px;padding:9px 16px;line-height:1.3;transition:border-color .15s,color .15s;display:flex}.page-content .beginner-chapters button:not([aria-current]):hover{border-color:var(--line-input);color:var(--ink-800)}.page-content .beginner-chapters button>svg{width:18px;height:18px}.page-content .beginner-chapters strong{font-size:var(--fs-15);color:inherit;margin-right:6px;font-weight:620;display:inline}.page-content .beginner-chapters button[aria-current]{border-color:var(--signal-500);background:var(--surface-2);color:var(--ink-950);box-shadow:inset 0 0 0 1px var(--signal-500)}.beginner-chapters .pro-tag{margin-left:4px}.beginner-chapters .chapter-complete{color:var(--ok-700);flex:none}.lab{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.lab-opening{align-content:center;gap:var(--s-3);text-align:center}.lab-opening h2{font-size:var(--fs-19)}.lab-head{justify-content:space-between;align-items:center;gap:var(--s-6);flex-wrap:wrap;display:flex}.lab-title{gap:2px;display:grid}.lab-title h1{font-size:var(--fs-28)}.lab-mobile-action{display:none}.lab-head{align-items:flex-end}.lab-stepper{flex:620px;gap:10px;min-width:0;display:grid}.lab-stepper-meta{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.lab-stepper-meta strong{font-size:var(--fs-16);color:var(--brand-700)}.lab-stepper-meta>span:not(.lab-stepper-bar){font-size:var(--fs-15);color:var(--ink-600)}.lab-stepper-bar{background:var(--line-200);border-radius:999px;flex:120px;min-width:80px;height:6px;overflow:hidden}.lab-stepper-bar>span{border-radius:inherit;background:var(--brand-600);height:100%;transition:width .3s var(--ease);display:block}.lab-stepper ol{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.lab-stepper li{position:relative}.lab-stepper li+li:before{content:"";background:var(--line-300);border-radius:2px;height:2px;position:absolute;top:15px;left:calc(20px - 50%);right:calc(50% + 20px)}.lab-stepper li.done+li:before{background:var(--ok-600)}.lab-stepper button{border-radius:var(--r-sm);text-align:center;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0 4px 2px;display:flex;position:relative}.lab-stepper button:disabled{cursor:not-allowed}.lab-stepper-mark{border:2px solid var(--line-300);background:var(--surface);width:32px;height:32px;color:var(--ink-700);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:700;display:grid}.lab-stepper li.done .lab-stepper-mark{border-color:var(--ok-600);background:var(--ok-600);color:var(--bg-950)}.lab-stepper li.current .lab-stepper-mark{border-color:var(--signal-500);background:var(--signal-500);color:var(--signal-ink);box-shadow:0 0 0 4px var(--signal-tint-2), 0 0 18px var(--signal-glow)}.lab-stepper li.locked .lab-stepper-mark{border-color:var(--line-200);background:var(--canvas-2);color:var(--ink-500)}.lab-stepper-name{font-size:var(--fs-15);color:var(--ink-700);font-weight:560;line-height:1.25}.lab-stepper li.current .lab-stepper-name{color:var(--ink-950);font-weight:700}.lab-stepper li.locked .lab-stepper-name{color:var(--ink-500)}.lab-stepper button:hover:not(:disabled) .lab-stepper-name{color:var(--brand-700);text-underline-offset:3px;text-decoration:underline}.lab-body{flex:1;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:14px;min-height:0;display:grid}@media (min-width:901px){.lab-body{min-height:560px}.lab-body:has(.lab-input-overrides[open]){min-height:680px}.lab-stage .stage-canvas{flex-basis:320px;min-height:320px}}.lab-stage{min-width:0;min-height:0}.lab-guide{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);min-height:0;font-size:var(--fs-16);flex-direction:column;display:flex;overflow:hidden}.lab-guide-top{flex:none;padding:18px 22px 2px}.lab-guide-body{flex:1;min-height:0;padding:2px 22px 16px;overflow-y:auto}.lab-guide>p,.lab-guide p{color:var(--ink-700);margin:0 0 12px}.lab-step-count{font-weight:600;font-size:var(--fs-15)!important;color:var(--brand-600)!important;margin:0 0 4px!important}.lab-guide h2{font-size:var(--fs-22);outline:none;margin-bottom:14px}.lab-guide .next-action{background:var(--brand-50);border:1px solid var(--brand-border);border-radius:var(--r-md);gap:12px;margin:0 0 18px;padding:14px 16px;display:flex}.lab-guide .next-action>svg{color:var(--brand-600);margin-top:2px}.lab-guide .next-action strong{font-size:var(--fs-15);color:var(--brand-700);display:block}.lab-guide .next-action p{font-size:var(--fs-16);color:var(--ink-900);margin:2px 0 0;font-weight:540}.lab-guide .guided-code,.lab-guide .beginner-code,.lab-guide .guided-source{background:var(--night-900);color:var(--night-text);border:1px solid var(--night-700);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-16)}.lab-guide .guided-code{margin:0 0 14px;padding:14px 16px}.lab-guide .guided-code select{font-family:var(--font-mono);background:var(--bg-800);border:2px solid var(--signal-line);min-height:40px}.lab-guide .code-key{font-size:var(--fs-15);margin:0 0 14px}.lab-guide .code-key>div{border-bottom:1px solid var(--line-100);grid-template-columns:92px 1fr;padding:8px 0}.lab-guide .code-key dt{font-family:var(--font-mono);color:var(--brand-700)}.code-key-pick{border:1px solid var(--line-300);color:var(--brand-700);font:inherit;font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:6px;padding:1px 7px}.code-key-pick:hover,.code-key-pick:focus-visible{border-color:var(--brand-700)}.code-key-pick[aria-pressed=true]{border-color:var(--brand-700);background:var(--signal-tint-2,transparent)}.lab-guide .beginner-checklist{font-size:var(--fs-15);margin:4px 0 14px}.lab-guide .beginner-checklist svg{color:var(--ok-600)}.lab-guide .beginner-editor-label{font-size:var(--fs-15);margin:12px 0 6px;font-weight:620}.lab-guide .guided-source{min-height:96px;padding:12px 14px}.lab-guide .beginner-note,.lab-guide .beginner-feedback{font-size:var(--fs-15)!important}.lab-guide .beginner-feedback{border-left:3px solid var(--warn-700);background:var(--warn-100);color:var(--warn-700)}.lab-guide .beginner-success{color:var(--ok-700);font-size:var(--fs-15);margin:6px 0 12px}.lab-guide .beginner-error{background:var(--fault-100);border-color:var(--fault-border);color:var(--fault-700)}.lab-guide .beginner-results>div{border-color:var(--ok-border);background:var(--ok-100);font-size:var(--fs-15)}.lab-guide .beginner-results .failed{border-color:var(--warn-border);background:var(--warn-100)}.lab-guide .beginner-complete{background:var(--ok-100);border-color:var(--ok-border);font-size:var(--fs-16)}.lab-guide .beginner-complete h3{font-size:var(--fs-19)}.lab-equipment{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface-2);gap:4px;margin:6px 0 14px;padding:12px 14px;display:grid}.lab-equipment p{font-size:var(--fs-15);margin:0!important}.lab-guide .beginner-navigation{background:var(--surface-2);border-top:1px solid var(--line-200);flex:none;margin:0;padding:12px 22px 14px}.lab-guide .beginner-navigation>span{font-size:var(--fs-15);color:var(--ink-500)}.lab-glossary{border:1px solid var(--line-200);border-radius:var(--r-md);font-size:var(--fs-15);margin:4px 0 12px;padding:10px 14px}.lab-glossary summary{cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.lab-glossary dl{gap:8px;margin:10px 0 2px;display:grid}.lab-glossary dt{font-weight:620}.lab-glossary dd{color:var(--ink-600);margin:0}.lab-footnote{font-size:var(--fs-15)!important;color:var(--ink-500)!important}.lab-guide .beginner-question{border:1px solid var(--line-200);border-radius:var(--r-md);margin:0 0 14px;padding:12px 14px}@media (max-height:760px) and (min-width:901px){.page-content:has(>.lab){gap:8px;padding-top:10px}.lab-title .eyebrow{display:none}.lab-title h1{font-size:var(--fs-22)}.page-content .beginner-chapters button{padding:6px 12px}}@media (max-width:1180px){.lab-body{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}}@media (max-width:900px){.lab-mobile-action{background:var(--brand-50);border:1px solid var(--brand-border);border-radius:var(--r-md);color:var(--ink-900);font-size:var(--fs-15);flex-basis:100%;gap:4px;margin:0;padding:12px 14px;line-height:1.5;display:grid}.lab-mobile-action strong{color:var(--brand-700)}.page-content:has(>.lab){height:auto}.lab-body{flex-direction:column;display:flex}.lab-stage{order:-1;height:66vh;min-height:400px}.lab-guide,.lab-guide-body{overflow:visible}.lab-guide-body>.next-action{box-shadow:none;position:static}.lab-guide .beginner-navigation{bottom:var(--cookie-bar-h,0px);z-index:2;position:sticky}.lab-stepper li:not(.current) .lab-stepper-name{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-content .beginner-chapters{flex-direction:row;align-self:stretch;gap:8px}.page-content .beginner-chapters button{text-align:center;flex:1;justify-content:center;gap:4px;min-width:0;padding:10px 8px}.beginner-chapters .chapter-description,.page-content .beginner-chapters button>svg:not(.chapter-complete){display:none}.page-content .beginner-chapters strong{margin-right:0}}@media (min-width:901px){.shell.focus-view .page-footer.site-footer{display:none}}.shell:has(.lab-fullscreen-on){grid-template-columns:minmax(0,1fr)}.shell.rail-collapsed:has(.lab-fullscreen-on){grid-template-columns:minmax(0,1fr)}:is(.shell:has(.lab-fullscreen-on) .rail,.page-content:has(.lab-fullscreen-on) .lab-topbar,.page-content:has(.lab-fullscreen-on) .guest-note){display:none}.lab-guide .beginner-code.lab-type-this{border:1px dashed var(--line-300);border-left:4px solid var(--brand-600);border-radius:var(--r-sm);background:var(--brand-50);color:var(--ink-950);font-size:var(--fs-16);white-space:pre-wrap;margin:0 0 12px;padding:10px 14px}.lab-input-overrides{padding:var(--s-3);font-size:var(--fs-15);color:var(--ink-950);background:var(--surface)}.lab-input-overrides summary{cursor:pointer;font-weight:600}.lab-input-overrides p{margin-block:var(--s-2)}.lab-stepper-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:620;overflow:hidden;color:var(--ink-900)!important}@media (max-width:720px){.shell.focus-view .page-content:has(>.lab.phone){height:calc(100dvh - var(--header-h) - var(--cookie-bar-h,0px));gap:8px;padding:8px 10px 0;overflow:clip}.shell.focus-view:has(.lab.phone) .page-footer{display:none}.page-content:has(>.lab.phone)>.tour-entry{display:none}.page-content:has(>.lab.phone)>.beginner-chapters{flex:none}.page-content:has(>.lab.phone) .beginner-chapters button{min-height:44px;padding:6px 8px}.lab.phone{background:var(--surface);border-top:1px solid var(--line-200);flex:1;gap:0;min-height:0;margin:0 -10px;overflow:clip}.lab.phone .lab-head{flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:8px 12px;display:grid}.lab.phone .lab-title{grid-area:1/2}.lab.phone .lab-title .eyebrow{display:none}.lab.phone .lab-title h1{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lab.phone .lab-stepper{grid-area:1/1;gap:6px}.lab.phone .lab-mobile-action{grid-column:1/-1}.lab.phone .lab-stepper-meta{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;display:grid}.lab.phone .lab-stepper-meta strong{font-size:var(--fs-15)}.lab.phone .lab-stepper-bar{grid-area:1/2;min-width:0;max-width:120px}.lab.phone .lab-stepper-current{white-space:normal;overflow-wrap:anywhere;grid-area:2/1/auto/-1}.lab.phone .lab-mobile-action{gap:2px;padding:8px 12px}.lab.phone .lab-body{overscroll-behavior:contain;border-top:1px solid var(--line-200);flex:1;min-height:0;display:block;overflow-y:auto}.lab.phone .lab-guide{border:0;border-radius:0}.lab.phone .lab-guide-top{padding:14px 16px 0}.lab.phone .lab-guide-body{padding:10px 16px 18px}.lab.phone .lab-guide .next-action{display:none}.lab.phone .lab-guide h2{font-size:var(--fs-19);margin-bottom:8px}.lab.phone .lab-stage{height:auto;min-height:0}.lab.phone .lab-stage .stage{border:0;border-radius:0;height:auto}.lab.phone .lab-stage .stage-canvas{flex:none;height:clamp(180px,30dvh,340px);min-height:0}.lab.phone .stage-bar{flex-wrap:wrap;gap:6px 8px;min-height:0;padding:6px 10px}.lab.phone .stage-title{flex:none;max-width:100%}@media (max-height:700px){.page-content:has(>.lab.phone) .lab-help-line{display:none}.lab.phone .lab-stage .stage-canvas{height:clamp(150px,26dvh,340px)}}.lab.phone .stage-tools{flex:210px;justify-content:flex-end;width:auto}.lab.phone .stage-tools .stage-view{flex:auto}.lab.phone .stage-tools .stage-view select{max-width:none}.lab.phone .stage-title>strong{display:none}.lab.phone .operator-strip button,.lab.phone .lab-input-overrides summary{min-height:48px;font-size:var(--fs-16)}.lab.phone .operator-strip button.momentary{padding-inline:18px}.lab.phone .lab-input-overrides summary{align-items:center;display:flex}.lab.phone .lab-guide .guided-code select{min-height:44px;font-size:var(--fs-16)}.lab.phone .lab-guide .guided-source,.lab.phone .lab-guide textarea{width:100%;font-size:var(--fs-16)}.lab.phone .stage-foot .lab-equipment{border-width:1px 0 0;border-radius:0;margin:0}.lab.phone[data-phone-tab=machine] .lab-guide,.lab.phone:not([data-phone-tab=machine]) .lab-stage,.lab.phone:not([data-phone-tab=task]) .lab-guide-top,.lab.phone[data-phone-tab=task] .lab-guide-body>[data-phone]:not([data-phone=task],[data-phone=all]),.lab.phone[data-phone-tab=code] .lab-guide-body>:not([data-phone=code],[data-phone=all]),.lab.phone[data-phone-tab=results] .lab-guide-body>:not([data-phone=results],[data-phone=all]){display:none}.lab.phone .phone-action-bar .button{white-space:nowrap;gap:6px}.lab.phone .phone-action-bar .phone-bar-side{width:48px;padding:0}}@media (max-width:720px) and (max-height:760px){.lab.phone .lab-stage .stage-canvas{height:clamp(160px,25dvh,340px)}.lab.phone .operator-strip{padding-block:6px}}.lab-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;display:flex}.lab-help-line{font-size:var(--fs-15);color:var(--ink-500);margin:0}.lab-help-line a{color:var(--ink-900);text-decoration:underline;-webkit-text-decoration-color:var(--line-300);text-decoration-color:var(--line-300);text-underline-offset:3px;font-weight:600}.lab-help-line a:hover{-webkit-text-decoration-color:var(--ink-900);text-decoration-color:var(--ink-900)}.lab-guide .lab-task{border:1px solid var(--line-300);border-radius:var(--r-lg);background:var(--surface-2);transition:border-color .2s var(--ease), background .2s var(--ease);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;margin:0 0 16px;padding:14px 16px;display:grid}.lab-task-mark{background:var(--ink-950);width:32px;height:32px;color:var(--bg-950);border-radius:50%;place-items:center;display:grid}.lab-guide .lab-task strong{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500);font-size:13px;font-weight:700;display:block}.lab-guide .lab-task p{font-size:var(--fs-17);color:var(--ink-950);margin:2px 0 0;font-weight:600;line-height:1.4}.lab-guide .lab-task .lab-task-why{font-size:var(--fs-15);color:var(--ink-600);margin-top:6px;font-weight:450}.lab-guide .lab-task.done{border-color:var(--ok-border);background:var(--ok-100)}.lab-task.done .lab-task-mark{background:var(--lamp-500)}.lab-guide .lab-task.done strong{color:var(--ok-700)}.lab-task-next{margin-top:12px}.lab-task-next .lab-next{max-width:100%}.lab-prompt,.lab-still-needed{border:1px solid var(--brand-border);border-radius:var(--r-md);background:var(--brand-50);width:100%;color:var(--ink-950);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s var(--ease), background .16s var(--ease);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.lab-prompt{min-height:44px;margin-top:4px;padding:8px 12px}.lab-prompt:hover,.lab-still-needed:hover{border-color:var(--brand-600)}.lab-prompt svg,.lab-still-needed svg{color:var(--brand-700);flex:none}.lab-mobile-action .lab-prompt{background:var(--surface)}.phone-action-bar>.lab-still-needed{min-height:36px;font-size:var(--fs-15);flex:0 0 100%;order:-1;padding:5px 10px;line-height:1.3}.lab.phone .phone-action-bar{flex-wrap:wrap}[data-lab-arrived=true]{outline:3px solid var(--brand-600);outline-offset:3px}.lab-guide .lab-intro{margin-top:0}.lab-guide .lab-intro p{margin:10px 0 0;line-height:1.55}.lab-guide .lab-intro .on-site-line{border-top:1px solid var(--line-200);margin-top:12px;padding-top:12px}.lab-basics-callout{border:1px solid var(--line-200);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-800);align-items:center;gap:8px;margin:14px 0 0;padding:8px 12px;font-size:13.5px;display:flex}.lab-basics-callout svg{color:var(--brand-700,#0284c7);flex:none}.lab-basics-callout a{color:var(--brand-700,#0284c7);text-underline-offset:2px;font-weight:500;text-decoration:underline}.lab-basics-callout a:hover{color:var(--brand-900,#0369a1)}.lab-guide .type-this{border:1px solid var(--line-300);border-radius:var(--r-lg);background:var(--surface-2);gap:10px;margin:0 0 14px;padding:14px;display:grid}.lab-guide .type-this.right{border-color:var(--ok-border)}.type-this-head{font-size:var(--fs-15);color:var(--ink-700);justify-content:space-between;align-items:center;gap:12px;font-weight:650;display:flex}.type-this-head .text-button{font-size:var(--fs-15);gap:6px}.type-this-line{border:0;border-left:3px solid var(--lamp-700);border-radius:var(--r-sm);background:color-mix(in srgb, var(--lamp-700) 7%, transparent);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;gap:6px;padding:10px 14px;display:grid}.type-this-line:disabled{cursor:default}.type-this-line code{font-family:var(--font-mono);font-size:var(--fs-19);overflow-wrap:anywhere;background:0 0;padding:0;line-height:1.4}.type-this-hint{font-size:var(--fs-14,14px);color:var(--ink-500);align-items:center;gap:6px;display:inline-flex}.lab-guide .type-this .guided-source{border:2px solid var(--lamp-700);box-shadow:0 0 0 4px color-mix(in srgb, var(--lamp-700) 14%, transparent)}.lab-guide .type-this.right .guided-source{border-color:var(--ok-border);box-shadow:none}.type-this-keys{font-size:var(--fs-14,14px);color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.type-this-keys>span{margin-right:2px}.type-this-key{border:1px solid var(--line-300);border-radius:var(--r-sm);background:var(--surface);min-width:40px;min-height:36px;color:var(--ink-950);font-family:var(--font-mono);font-size:var(--fs-17);cursor:pointer;padding:2px 10px;font-weight:700}.type-this-key:hover{border-color:var(--lamp-700)}.type-this-done{color:var(--lamp-700)}.type-this-next{background:var(--ink-950);color:var(--bg-950);border-radius:3px}.type-this-rest{color:var(--ink-500)}.lab-guide .type-this .beginner-editor-label{margin:4px 0 0}.lab-guide .type-this .guided-source{width:100%;min-height:0;font-size:var(--fs-17);resize:vertical;margin:0}.lab-guide .type-this-status{font-size:var(--fs-15);color:var(--ink-700);align-items:flex-start;gap:8px;margin:0;display:flex}.lab-guide .type-this-status.good{color:var(--ok-700);font-weight:600}.type-this-status svg{flex:none;margin-top:3px}.type-this-fill{font-size:var(--fs-15);justify-self:start;align-items:center;gap:8px;display:inline-flex}.lab-guide .beginner-navigation.lab-guide-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.lab-guide .lab-guide-foot .lab-next{margin-left:auto}.button.lab-next:disabled{background:var(--bg-700);border-color:var(--line-200);color:var(--ink-500);opacity:1}.button.lab-next.ready{background:var(--ink-950);border-color:var(--ink-950);color:var(--bg-950);box-shadow:0 0 0 0 var(--lamp-halo)}.button.lab-next.ready:hover{background:var(--ink-800)}@media (prefers-reduced-motion:no-preference){.button.lab-next.ready{animation:lab-next-ready 2.2s var(--stepped-in-out-36,ease-in-out) infinite}}@keyframes lab-next-ready{0%,to{box-shadow:0 0 0 0 var(--lamp-halo)}50%{box-shadow:0 0 0 6px var(--lamp-halo)}}
.scan-explain-button{white-space:nowrap;flex:none}.lab-guide:has(>.scan-explain-host){position:relative}.scan-explain-host.over-guide{z-index:20;position:absolute;inset:0}.scan-explain-host.over-guide .scan-explain{max-height:calc(100dvh - 16px)}@media (max-width:1360px){.stage-title:has(.scan-explain-button)>strong{max-width:5em}}.scan-explain-host.floating{z-index:40;width:min(420px,100vw - 24px);position:absolute;top:12px;bottom:12px;left:12px}.scan-explain-host.sheet{z-index:180;height:min(62dvh,560px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #00000059}.scan-explain{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);height:100%;min-height:0;font-size:var(--fs-16);flex-direction:column;display:flex;overflow:hidden}.scan-explain-host.sheet .scan-explain{border-radius:var(--r-md) var(--r-md) 0 0;border-width:1px 0 0}.scan-explain>header{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px 8px;display:flex}.scan-explain h2{outline:none;margin:0;font-size:19px;line-height:1.25}.scan-explain>header p{color:var(--ink-500);margin:3px 0 0;font-size:14px}.scan-explain-body{flex:1;min-height:0;padding:2px 18px 14px;overflow-y:auto}.scan-explain-body p{margin:0 0 6px;line-height:1.45}.scan-explain-answer{background:var(--surface-2,#7f7f7f1a);border-left:3px solid var(--brand-500,currentColor);border-radius:4px;padding:10px 12px;font-weight:600}.scan-explain section{margin-top:14px}.scan-explain h3{color:var(--ink-500);margin:0 0 5px;font-size:13px;font-weight:600}.scan-explain ul{font-family:var(--font-mono);margin:0;padding-left:18px;font-size:14px;line-height:1.45}.scan-explain-reads{margin:0}.scan-explain-reads>div{border-bottom:1px solid var(--line-200);grid-template-columns:1fr auto;gap:2px 12px;padding:4px 0;display:grid}.scan-explain-reads dt,.scan-explain-reads dd{font-family:var(--font-mono);margin:0;font-size:14px}.scan-explain-reads dd{font-weight:600}.scan-explain-reads p{color:var(--ink-500);grid-column:1/-1;margin:0;font-size:14px}.scan-explain-code{background:var(--code-bg,#101418);color:#e7edf0;font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;flex-wrap:wrap;gap:2px 10px;margin:0 0 6px;padding:8px 10px;font-size:14px;display:flex;overflow-x:auto}.scan-explain-code span{color:#9fb2bb}.scan-explain-note{color:var(--ink-500);font-size:14px}.scan-explain-edited{margin-bottom:10px!important}.scan-explain-error{margin-top:12px!important}.scan-explain-edited,.scan-explain-error{border:1px solid var(--fault-border,currentColor);border-radius:6px;padding:8px 10px;font-size:14px}.scan-explain-error{font-family:var(--font-mono)}.scan-explain>footer{padding:10px 18px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line-200);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.scan-explain>footer p{color:var(--ink-500);margin:0;font-size:13px;line-height:1.3}.scan-explain>footer .btn{flex:none}
.btn.idea-shortcut{gap:6px}.btn.idea-shortcut svg{color:var(--warn-700)}.btn.idea-shortcut.unseen{border-color:var(--warn-border);background:var(--warn-100);color:var(--ink-950)}.btn.idea-shortcut.unseen:hover{border-color:var(--warn-700)}.modal.idea-card{max-width:820px;padding:30px 32px 28px}.idea-card h2{font-size:var(--fs-28);margin:8px 0 12px}.idea-card h3{font-size:var(--fs-19);margin:26px 0 8px}.idea-kicker{color:var(--warn-700);font-size:var(--fs-15);align-items:center;gap:6px;font-weight:600;display:inline-flex}.idea-words p{color:var(--ink-800);font-size:var(--fs-17);margin:0 0 10px;line-height:1.6}.idea-small{color:var(--ink-600);font-size:var(--fs-15);margin:0 0 10px}.idea-small code{font-family:var(--font-mono);color:var(--ink-900)}.idea-code{border-radius:var(--r-md);border:1px solid var(--line-200);background:var(--bg-800);color:var(--ink-900);font-family:var(--font-mono);font-size:var(--fs-16);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px 16px;line-height:1.6}.idea-explained{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.idea-explained li{font-size:var(--fs-15);color:var(--ink-700);border-left:3px solid var(--line-300);padding-left:12px;line-height:1.55}.idea-explained strong{color:var(--ink-900);white-space:nowrap}.idea-note{font-size:var(--fs-15);color:var(--ink-700);margin:10px 0 0}.idea-pieces{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:14px 0 0;display:grid}.idea-pieces div{border-radius:var(--r-sm);background:var(--bg-800);border:1px solid var(--line-200);padding:8px 10px}.idea-pieces dt{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-900)}.idea-pieces dd{font-size:var(--fs-15);color:var(--ink-600);margin:2px 0 0}.idea-task{font-size:var(--fs-17);color:var(--ink-900);margin:0 0 6px;font-weight:600}.idea-source{box-sizing:border-box;border:1px solid var(--line-input);border-radius:var(--r-md);background:var(--bg-900);width:100%;color:var(--ink-900);font-family:var(--font-mono);font-size:var(--fs-16);resize:vertical;padding:12px 14px;line-height:1.6}.idea-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.idea-problem{border-radius:var(--r-sm);background:var(--fault-100);border:1px solid var(--fault-border);color:var(--fault-700);font-size:var(--fs-15);margin:12px 0 0;padding:10px 12px}.idea-results ul{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.idea-results li{font-size:var(--fs-15);color:var(--ink-800);align-items:flex-start;gap:8px;display:flex}.idea-results li svg{flex:none;margin-top:2px}.idea-results li.passed svg{color:var(--lamp-600)}.idea-results li.failed svg{color:var(--fault-700)}.idea-results li small{color:var(--fault-700);font-size:var(--fs-15);display:block}.idea-yours{margin-top:12px}.idea-yours summary{cursor:pointer;font-size:var(--fs-15);color:var(--ink-800);font-weight:600}.idea-done{border-radius:var(--r-md);background:var(--lamp-tint);border:1px solid var(--lamp-halo);color:var(--ink-900);font-size:var(--fs-16);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.mini-ladder{gap:10px;margin:4px 0 0;display:grid}.mini-rung{align-items:center;gap:0;min-height:52px;padding:6px 0;display:flex}.mini-number{width:22px;color:var(--ink-500);font-size:var(--fs-15);flex:none}.mini-rail{background:var(--ink-700);border-radius:2px;flex:none;align-self:stretch;width:3px}.mini-path{flex-wrap:wrap;flex:1;align-items:center;gap:0;min-width:0;display:flex}.mini-wire{background:var(--ink-600);min-width:18px;height:2px;display:inline-block}.mini-wire.grow{flex:1}.mini-contact,.mini-coil,.mini-compare,.mini-box{border-top:2px solid var(--ink-600);font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-900);flex-direction:column;align-items:center;gap:2px;padding:4px 8px;display:inline-flex}.mini-contact:before,.mini-coil:before{content:none}.mini-symbol{font-size:var(--fs-16);color:var(--ink-700);line-height:1}.mini-tag{font-weight:600}.mini-compare{border:1px solid var(--ink-600);border-radius:var(--r-xs);flex-direction:row;gap:6px;margin:0 4px;padding:6px 8px}.mini-box{border:1.5px solid var(--ink-700);border-radius:var(--r-xs);margin:0 6px;padding:6px 10px}.mini-box strong{font-size:var(--fs-15)}.mini-box small{color:var(--ink-600);font-size:var(--fs-15)}.mini-blank{border:1px dashed var(--warn-700);border-radius:var(--r-sm);background:var(--warn-100);gap:6px;margin:0 4px;padding:6px}.mini-blank.empty{border-style:dashed}.mini-blank select,.mini-blank input{font:inherit;font-family:var(--font-mono);font-size:var(--fs-15);border:1px solid var(--line-input);border-radius:var(--r-xs);background:var(--bg-900);min-height:36px;color:var(--ink-900);max-width:100%;padding:4px 6px}.mini-blank input{width:72px}.mini-invert{font:inherit;font-family:var(--font-mono);font-size:var(--fs-15);border:1px solid var(--line-input);border-radius:var(--r-xs);background:var(--bg-850);min-height:34px;color:var(--ink-900);cursor:pointer;padding:2px 8px}.mini-invert[aria-pressed=true]{background:var(--ink-900);color:var(--bg-900)}.mini-invert:disabled{opacity:.5;cursor:default}.mini-branch{border-left:2px solid var(--ink-600);border-right:2px solid var(--ink-600);flex-direction:column;gap:6px;margin:0 2px;padding:0 6px;display:inline-flex}.mini-branch-path{flex-wrap:wrap;align-items:center;min-height:40px;display:flex}.line-explain{border-top:1px solid var(--line-200);background:var(--bg-800);color:var(--ink-800);font-size:var(--fs-15);align-items:flex-start;gap:8px;max-height:9.5em;padding:8px 10px;line-height:1.5;display:flex;overflow:auto}.line-explain.error{background:var(--fault-100)}.line-explain-icon{color:var(--ink-600);flex:none;margin-top:2px}.line-explain-body{flex:1;min-width:0}.line-explain-body strong{color:var(--ink-900)}.line-explain-prompt{color:var(--ink-600)}.line-explain-hide{border-radius:var(--r-xs);color:var(--ink-600);cursor:pointer;background:0 0;border:0;flex:none;padding:4px;display:inline-flex}.line-explain-hide:hover{background:var(--bg-700)}.line-explain-show{border:1px solid var(--line-300);border-radius:var(--r-pill);background:var(--bg-850);color:var(--ink-700);font:inherit;font-size:var(--fs-15);cursor:pointer;align-self:flex-start;align-items:center;gap:6px;margin:6px 10px;padding:4px 10px;display:inline-flex}@media (max-width:700px){.modal.idea-card{padding:24px 16px 20px}.idea-card h2{font-size:var(--fs-22);padding-right:36px}.mini-rung{flex-wrap:wrap;row-gap:6px}.mini-number{width:100%}.mini-rail{display:none}.mini-path{flex-basis:100%}.line-explain{max-height:7.5em}}.school{max-width:1080px;color:var(--ink-900);margin:0 auto;padding:28px 20px 64px}.school-head h1{margin:10px 0 12px;font-size:clamp(28px,4vw,42px);line-height:1.15}.school-idea p{font-size:var(--fs-17);color:var(--ink-700);max-width:68ch;line-height:1.6}.school-count{color:var(--ink-600);font-size:var(--fs-15)}.school-list{gap:8px;margin:28px 0 0;padding:0;list-style:none;display:grid}.school-list a{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-850);color:inherit;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex}.school-list a:hover{border-color:var(--line-300);background:var(--bg-800)}.school-item{flex:1;gap:2px;display:grid}.school-item small{color:var(--ink-600);font-size:var(--fs-15)}.school-crumbs{font-size:var(--fs-15);color:var(--ink-600);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.school-crumbs a{color:var(--ink-800);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.school-term{color:var(--ink-700);flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.school-words{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin:14px 0 6px;display:grid}.school-words div{border-radius:var(--r-sm);background:var(--bg-800);border:1px solid var(--line-200);padding:10px 12px}.school-words dt{font-size:var(--fs-15);color:var(--ink-700)}.school-words dd{color:var(--ink-950);margin:4px 0 0;font-weight:700}.school-lab{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:14px;display:grid}.school-do,.school-idea{min-width:0}.school-do h2{font-size:var(--fs-22);margin:10px 0 6px}.school-steps{font-size:var(--fs-16);gap:6px;margin:0 0 12px;padding-left:22px;line-height:1.55;display:grid}.school-editor{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-900);min-width:0;max-width:100%;margin-top:10px;overflow:hidden}.school-editor.code{height:200px}.school-editor.ladder{min-height:300px}.school-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.school-results{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.school-results li{font-size:var(--fs-15);align-items:flex-start;gap:8px;display:flex}.school-results li.passed svg{color:var(--lamp-600)}.school-results li.failed svg{color:var(--fault-700)}.school-results li.waiting{color:var(--ink-600)}.school-results small{color:var(--fault-700);display:block}.school-problem{border-radius:var(--r-sm);background:var(--fault-100);border:1px solid var(--fault-border);color:var(--fault-700);font-size:var(--fs-15);padding:10px 12px}.school-loading{color:var(--ink-600)}.school-done{border-radius:var(--r-md);background:var(--lamp-tint);border:1px solid var(--lamp-halo);gap:10px;margin-top:14px;padding:14px 16px;display:grid}.school-other code{font-family:var(--font-mono)}.school-next{flex-wrap:wrap;gap:10px;display:flex}.live-panel{border-radius:var(--r-md);background:var(--bg-800);border:1px solid var(--line-200);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:14px;display:flex}.live-inputs,.live-outputs{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.live-button,.live-switch{border-radius:var(--r-md);border:1px solid var(--line-input);background:var(--bg-900);min-width:92px;color:var(--ink-900);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;font-weight:600;display:inline-flex}.live-button small,.live-switch small{color:var(--ink-600);font-weight:500}.live-cap{background:var(--lamp-500);border-radius:50%;width:34px;height:34px;box-shadow:inset 0 -4px #00000040}.live-button.pressed .live-cap{transform:translateY(2px);box-shadow:inset 0 3px #0000004d}.live-knob{border-radius:var(--r-pill);background:var(--bg-650);width:46px;height:24px;position:relative}.live-knob:after{content:"";background:var(--ink-600);border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.live-switch.on .live-knob{background:var(--lamp-500)}.live-switch.on .live-knob:after{background:#fff;left:25px}.live-slider{min-width:180px;font-size:var(--fs-15);gap:6px;display:grid}.live-output,.live-readout{border-radius:var(--r-md);background:var(--bg-900);border:1px solid var(--line-200);min-width:96px;color:var(--ink-500);font-size:var(--fs-15);flex-direction:column;align-items:center;gap:2px;padding:10px;display:inline-flex}.live-output span,.live-readout span{color:var(--ink-900);font-weight:600}.live-output.on{border-color:var(--lamp-500);color:var(--lamp-600);box-shadow:0 0 0 3px var(--lamp-tint)}.live-output.lamp.on svg{color:#f5b301;filter:drop-shadow(0 0 6px #f5b301b3)}.live-output.fan.on svg,.live-output.pump.on svg{animation:.8s linear infinite live-spin}.live-output.horn.on svg{animation:.2s linear infinite live-shake}.live-readout.on{border-color:var(--lamp-500)}@keyframes live-spin{to{transform:rotate(360deg)}}@keyframes live-shake{50%{transform:rotate(12deg)}}@media (prefers-reduced-motion:reduce){.live-output.on svg{animation:none!important}}@media (max-width:700px){.school{padding:18px 16px 48px}.live-panel{flex-direction:column}.school-editor.code{height:170px}}.school-idea code,.school-steps code{font-family:var(--font-mono);border-radius:var(--r-xs);background:var(--bg-700);color:var(--ink-950);white-space:nowrap;padding:1px 6px;font-size:.95em}.school-words-title{font-size:var(--fs-17);color:var(--ink-700);margin:18px 0 0}.mp-needs{font-size:var(--fs-15);color:var(--ink-700);align-items:flex-start;gap:8px;margin:12px 0 0;display:flex}.mp-needs svg{color:var(--lamp-600);flex:none;margin-top:3px}.mp-lessons{flex-wrap:wrap;gap:6px 8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.mp-lessons li{background:0 0;border:0;min-height:0;margin:0;padding:0}.mp-lessons li:before{content:none}.mp-lessons a{border:1px solid var(--line-300);font-size:var(--fs-14);color:var(--ink-800);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;text-decoration:none;display:inline-flex}.mp-lessons .done a{border-color:var(--ok-border,#2f7a4f)}.mp-lessons .done svg{color:#22c55e;margin:0}.mp-lesson-dot{border:1.5px solid var(--ink-500);border-radius:50%;width:10px;height:10px}.school-done,.school-results li span{min-width:0}.school-next .btn{white-space:normal;text-align:left;max-width:100%;height:auto}.school-results li span,.school-other{overflow-wrap:anywhere}.school-done-title{font-size:var(--fs-19);align-items:center;gap:8px;animation:.5s cubic-bezier(.2,1.4,.4,1) school-pop;display:inline-flex}.school-done-title svg{color:#d6a500}.school-xp-row{flex-wrap:wrap;gap:8px;display:flex}.school-xp-pop{border-radius:var(--r-pill);background:var(--lamp-500);color:#fff;font-weight:700;font-size:var(--fs-15);box-shadow:0 0 0 6px var(--lamp-tint);padding:4px 10px;animation:.6s cubic-bezier(.2,1.6,.4,1) school-pop;display:inline-block}.school-try{font-size:var(--fs-15);color:var(--ink-800)}.school-level-up{border-radius:var(--r-md);background:#d6a50024;border:1px solid #d6a50080;align-items:center;gap:8px;padding:8px 12px;font-weight:700;animation:.7s cubic-bezier(.2,1.6,.4,1) school-pop;display:inline-flex}.school-milestone{border-radius:var(--r-md);background:var(--bg-900);border:1px solid var(--lamp-500);font-size:var(--fs-16);gap:8px;padding:12px 14px;line-height:1.5;animation:.7s cubic-bezier(.2,1.4,.4,1) school-pop;display:grid}.school-milestone .btn{justify-self:start}.school-tip{border-radius:var(--r-sm);background:var(--warn-100);border:1px solid var(--warn-border);color:var(--ink-900);font-size:var(--fs-15);margin:12px 0 0;padding:10px 12px}.school-tip code{font-family:var(--font-mono)}@keyframes school-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.school-done-title,.school-xp-pop,.school-level-up,.school-milestone{animation:none}}.btn.briefing-shortcut{gap:6px}.btn.briefing-shortcut svg{color:var(--brand-500)}.mission-briefing{overscroll-behavior:contain;border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);width:min(600px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink-900);box-shadow:var(--shadow-2);margin:auto;padding:0;overflow:auto}.mission-briefing::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c109e}.mission-briefing-body{gap:16px;padding:clamp(18px,3vw,30px);display:grid}.mission-briefing header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:-8px;display:flex}.mission-briefing-kicker{color:var(--brand-500);font-size:var(--fs-15);letter-spacing:.02em;font-weight:650}.mission-briefing h2{font-size:var(--fs-28);letter-spacing:-.02em;font-weight:700;line-height:1.15}.mission-briefing-text{color:var(--ink-800);font-size:var(--fs-17);line-height:1.6}.mission-briefing-lessons{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-850);gap:8px;padding:14px;display:grid}.mission-briefing-label{color:var(--ink-700);font-size:var(--fs-15);align-items:center;gap:7px;font-weight:600;display:flex}.mission-briefing-label svg{color:var(--brand-500)}.mission-briefing-lessons ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mission-briefing-lessons button{width:100%;color:var(--ink-900);font:inherit;font-size:var(--fs-15);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.mission-briefing-lessons button:hover,.mission-briefing-lessons button:focus-visible{border-color:var(--brand-border);background:var(--bg-800)}.mission-briefing-lesson-number{background:var(--bg-700);width:26px;height:26px;color:var(--ink-800);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.mission-briefing-lessons button.done .mission-briefing-lesson-number{color:var(--ok-600);background:0 0}.mission-briefing-lesson-time{color:var(--ink-600);white-space:nowrap;font-size:13px}.mission-briefing-actions{flex-wrap:wrap;gap:10px;display:flex}.mission-briefing-actions .btn{flex:220px;justify-content:center}.mission-briefing-foot{color:var(--ink-600);font-size:13px}.mission-briefing-help{border:1px solid var(--line-100);background:var(--surface-2);color:var(--ink-700);font-size:var(--fs-15);border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;line-height:1.45;display:flex}.mission-briefing-help svg{color:var(--brand-700);flex:none;margin-top:2px}.mission-briefing-help strong{color:var(--brand-700);margin-right:4px}@media (max-width:560px){.mission-briefing h2{font-size:var(--fs-22)}.mission-briefing-text{font-size:var(--fs-16)}.mission-briefing-body{gap:12px}}@media (max-height:700px) and (min-width:561px){.mission-briefing-body{gap:12px;padding:18px 24px}.mission-briefing h2{font-size:var(--fs-22)}.mission-briefing-text{line-height:1.5}.mission-briefing-lessons{gap:4px;padding:10px 12px}.mission-briefing-lessons ul{gap:2px}.mission-briefing-lessons button{padding:5px 10px}}html:has(dialog.mission-briefing[open]){overflow:hidden}.mission-briefing:has(.mission-briefing-full){width:min(720px,100vw - 24px)}.mission-briefing-full{border:1px solid var(--line-200);background:#ffffff05;border-radius:12px}.mission-briefing-full>summary{cursor:pointer;color:var(--ink-900);align-items:center;gap:8px;padding:12px 16px;font-weight:600;list-style:none;display:flex}.mission-briefing-full>summary::-webkit-details-marker{display:none}.mission-briefing-full[open]>summary{border-bottom:1px solid var(--line-200)}.wb .mission-briefing-full .brief-content{max-height:min(42vh,420px);padding-top:12px}
.page-content:has(>.sl){flex-direction:column;min-height:100vh;display:flex}.sl{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex;overflow-x:clip}.sl-head{gap:10px;display:grid}.sl-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.sl-crumbs{font-size:var(--fs-14);color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.sl-crumbs a{color:var(--ink-700);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.sl-crumbs a:hover{color:var(--ink-950)}.sl-switch .school-switches{margin:0}.sl-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 28px;display:flex}.sl-title-row h1{font-size:var(--fs-28);flex:0 auto;margin:0}.sl-title-row .lab-stepper{flex:520px;min-width:0;max-width:980px}.sl-title-row .lab-stepper ol{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.sl-body{flex:1;grid-template-columns:minmax(340px,440px) minmax(0,1fr);align-items:start;gap:14px;min-height:0;display:grid;position:relative}.sl-card{padding:20px 22px 18px;animation:.28s ease-out both sl-in;position:relative}.sl-card.won{border-color:var(--ok-border)}.sl-card .sl-step{font-size:var(--fs-14);letter-spacing:.02em;color:var(--ink-500);margin:0 0 4px;font-weight:600}.sl-card h2{font-size:var(--fs-24,24px);margin:0 0 12px}.sl-text p{font-size:var(--fs-17);color:var(--ink-800);margin:0 0 10px;line-height:1.55}.sl-card code{background:var(--bg-700);white-space:pre-wrap;border-radius:6px;padding:1px 6px;font-size:.92em}.sl-words{gap:8px;margin:6px 0 16px;display:grid}.sl-words>div{border-radius:var(--r-md);border:1px solid var(--line-200);border-left:3px solid var(--lamp-500);background:var(--bg-800);padding:10px 12px}.sl-words dt{font-weight:700;font-size:var(--fs-17);color:var(--ink-950);flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.sl-words dt span{letter-spacing:.08em;text-transform:uppercase;color:var(--lamp-600);font-size:11px;font-weight:700}.sl-words dd{font-size:var(--fs-15);color:var(--ink-700);margin:2px 0 0}.sl-card .lab-task{margin-bottom:12px}.sl-card .lab-task p{font-size:var(--fs-17)}.sl-card.won .lab-task{animation:.45s ease-out both sl-win}.sl-pips{gap:6px;display:flex;margin:-4px 0 12px!important}.sl-pips span{background:var(--line-300);border-radius:999px;width:26px;height:6px;transition:background .2s}.sl-pips span.done{background:var(--lamp-500)}.sl-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 10px;display:flex}.sl-actions .text-link-btn{align-items:center;gap:6px;display:inline-flex}.sl-card .sl-nudge{border-radius:var(--r-md);background:var(--warn-100);border:1px solid var(--warn-border);color:var(--ink-900);font-size:var(--fs-16);margin:0 0 10px;padding:10px 12px}.sl-feedback .school-results{margin:0}.sl-pop{z-index:3;background:var(--lamp-500);color:#fff;font-weight:800;font-size:var(--fs-16);box-shadow:0 6px 18px -6px var(--lamp-500);pointer-events:none;border-radius:999px;padding:5px 12px;animation:2.2s ease-out both sl-pop;position:absolute;top:12px;right:14px}.sl-burst{width:0;height:0;position:absolute;top:50%;left:50%}.sl-burst i{background:var(--c);opacity:0;border-radius:2px;width:7px;height:7px;animation:.9s ease-out 50ms both sl-bit;position:absolute}.sl-burst.big i{width:9px;height:9px;animation-duration:1.4s}@keyframes sl-pop{0%{opacity:0;transform:translateY(14px)scale(.6)}14%{opacity:1;transform:translateY(0)scale(1.12)}24%{transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-14px)scale(1)}}@keyframes sl-bit{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(.4)}}@keyframes sl-in{0%{transform:translateY(8px)}to{transform:none}}@keyframes sl-win{0%{transform:scale(1)}40%{transform:scale(1.025)}to{transform:scale(1)}}.sl-finale{gap:10px;animation:.3s ease-out both sl-in;display:grid}.sl-finale-mark{background:var(--lamp-tint);width:56px;height:56px;color:var(--lamp-600);border-radius:50%;place-items:center;display:grid}.sl-finale h2{font-size:var(--fs-28);margin:0}.sl-finale h3{font-size:var(--fs-15);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);margin:6px 0 0}.sl-finale .sl-words{gap:4px;margin:0}.sl-finale .sl-words>div{border-left-width:2px;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:6px 10px;display:flex}.sl-finale .sl-words dt{font-size:var(--fs-15)}.sl-finale .sl-words dd{font-size:var(--fs-14);margin:0}.sl-finale-earned{background:var(--lamp-tint);width:fit-content;color:var(--lamp-600);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-weight:800;display:inline-flex}.sl-finale-next{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.sl-finale .btn{white-space:normal;text-align:left}.sl-stage{gap:12px;min-width:0;display:grid}@media (min-width:901px){.page-content:has(>.sl){height:calc(100dvh - 64px);min-height:0}.shell:has(.page-content>.sl) .site-footer{display:none}.sl,.sl-body{min-height:0}.sl-body{align-items:stretch}.sl-card{align-self:start;max-height:100%;overflow-y:auto}.sl-stage{grid-template-rows:minmax(min-content,1fr) auto;min-height:0;overflow:hidden auto}.sl-stage.solo{grid-template-rows:minmax(0,1fr)}}.sp{border-radius:var(--r-lg);border:1px solid var(--line-200);background:radial-gradient(120% 90% at 50% 0%, #3fa7e017, transparent 60%), linear-gradient(var(--hairline) 1px, transparent 1px) 0 0 / 100% 28px, linear-gradient(90deg, var(--hairline) 1px, transparent 1px) 0 0 / 28px 100%, var(--bg-900);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:250px;padding:44px 22px 34px;display:grid;position:relative;overflow:hidden}.sp-col{align-content:center;gap:16px;display:grid}.sp-row{align-items:center;min-width:0;display:flex}.sp-ins .sp-row{justify-content:flex-end}.sp-wire{background:var(--line-300);flex:24px;min-width:14px;height:4px;position:relative}.sp-wire:after{content:"";background:var(--lamp-500);box-shadow:0 0 10px var(--lamp-500);opacity:0;transition:opacity .12s;position:absolute;inset:0}.sp-wire.on:after{opacity:1}.sp-plc{border:1px solid var(--line-300);background:linear-gradient(180deg, var(--bg-800), var(--bg-700));width:92px;min-height:150px;box-shadow:var(--shadow-1);color:var(--ink-900);border-radius:12px;align-content:center;align-self:stretch;place-items:center;gap:8px;display:grid;position:relative}.sp-plc strong{font-size:var(--fs-19);letter-spacing:.08em}.sp-plc-led{background:var(--lamp-500);width:10px;height:10px;box-shadow:0 0 10px var(--lamp-500);border-radius:50%;animation:.5s steps(2,jump-none) infinite sp-scan}.sp-plc-pins{border-left:4px dotted var(--line-300);border-right:4px dotted var(--line-300);pointer-events:none;position:absolute;inset:12px -5px}@keyframes sp-scan{0%{opacity:1}to{opacity:.35}}.sp-part{border:1px solid var(--line-300);background:var(--bg-850);width:128px;color:var(--ink-900);font:inherit;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:14px;flex:none;justify-items:center;gap:4px;padding:12px 10px 10px;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}button.sp-part{cursor:pointer}.sp-part.on{border-color:var(--ok-border);box-shadow:0 0 0 1px var(--ok-border), 0 10px 26px -14px var(--lamp-500)}.sp-part.fresh{animation:.5s ease-out both sp-arrive}.sp-part.fresh:before{content:"";border:2px solid var(--water-400);opacity:0;pointer-events:none;border-radius:18px;animation:1.6s ease-out .3s 3 sp-ping;position:absolute;inset:-5px}.sp.picking .sp-part{cursor:pointer}.sp.picking .sp-part input{pointer-events:none}.sp.picking .sp-part:before{content:"";border:2px dashed var(--water-400);opacity:.9;pointer-events:none;border-radius:18px;animation:1.4s ease-in-out infinite sp-breathe;position:absolute;inset:-5px}@keyframes sp-arrive{0%{transform:scale(.8)}60%{transform:scale(1.06)}to{transform:none}}@keyframes sp-ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes sp-breathe{0%,to{opacity:.4}50%{opacity:1}}.sp-name{font-weight:700;font-size:var(--fs-16);line-height:1.2}.sp-part small{letter-spacing:.04em;color:var(--ink-500);font-size:12px;font-weight:600}.sp-part.on small{color:var(--lamp-600)}.sp-lever{background:var(--bg-650);border:1px solid var(--line-300);border-radius:999px;width:64px;height:34px;transition:background .15s;position:relative}.sp-lever span{background:var(--ink-400);border-radius:50%;width:26px;height:26px;transition:transform .16s ease-out,background .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000059}.sp-switch.on .sp-lever{background:var(--lamp-tint);border-color:var(--ok-border)}.sp-switch.on .sp-lever span{background:var(--lamp-500);transform:translate(30px)}.sp-cap{background:var(--bg-650);border:1px solid var(--line-300);border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.sp-cap span{background:radial-gradient(circle at 35% 30%,#ff8a7a,#d63428);border-radius:50%;width:40px;height:40px;transition:transform 70ms,box-shadow 70ms;transform:translateY(-2px);box-shadow:0 4px #8f1c14}.sp-button.on .sp-cap span{transform:translateY(2px);box-shadow:0 0 #8f1c14,0 0 16px #ff7864b3}.sp-slider{cursor:default;width:150px}.sp-gauge{border:1px solid var(--line-300);background:var(--bg-650);border-radius:6px;align-items:flex-end;width:30px;height:46px;display:flex;overflow:hidden}.sp-gauge span{background:var(--water-400);transform-origin:bottom;width:100%;height:100%;transition:transform .1s linear;display:block}.sp-slider input{width:100%;accent-color:var(--water-400)}.sp-slider strong{font-variant-numeric:tabular-nums}.sp-art{width:72px;height:72px;overflow:visible}.sp-art .sp-ring{fill:var(--bg-700);stroke:var(--line-300);stroke-width:2px}.sp-art .sp-hub{fill:var(--ink-500)}.sp-art .sp-blade{fill:var(--ink-400);transition:fill .2s}.sp-part.on .sp-blade{fill:var(--water-400)}.sp-spin{transform-box:fill-box;transform-origin:50%;animation:.7s linear infinite paused sp-spin}.sp-fan .sp-spin{transform-origin:40px 40px;transform-box:view-box}.sp-pump .sp-spin{transform-origin:40px 34px;transform-box:view-box}.sp-part.on .sp-spin{animation-play-state:running}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-lamp .sp-glass{fill:var(--bg-650);stroke:var(--line-300);stroke-width:2px;transition:fill .12s}.sp-lamp .sp-filament{fill:none;stroke:var(--ink-400);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sp-lamp .sp-base{fill:var(--ink-500)}.sp-lamp .sp-halo{fill:#ffd95a;opacity:0;filter:blur(9px);transition:opacity .15s}.sp-lamp .sp-spark{fill:#fff;opacity:.85;filter:blur(4px)}.sp-part.on .sp-lamp .sp-glass{fill:#ffd95a;stroke:#f2b632}.sp-part.on .sp-lamp .sp-filament{stroke:#b37400}.sp-part.on .sp-lamp .sp-halo{opacity:.75}.sp-pump .sp-pipe{fill:var(--bg-650);stroke:var(--line-300);stroke-width:1.5px}.sp-pump .sp-flow rect{fill:var(--water-400);opacity:0}.sp-part.on .sp-pump .sp-flow rect{opacity:1}.sp-part.on .sp-pump .sp-flow{animation:.5s linear infinite sp-flow}@keyframes sp-flow{to{transform:translate(16px)}}.sp-horn .sp-glass{fill:var(--bg-650);stroke:var(--line-300);stroke-width:2px;stroke-linejoin:round}.sp-part.on .sp-horn .sp-glass{fill:#ffb347;stroke:#e08a16}.sp-horn .sp-wave{fill:none;stroke:#ffb347;stroke-width:3px;stroke-linecap:round;opacity:0}.sp-part.on .sp-horn .sp-wave{animation:.6s ease-out infinite sp-wave}.sp-part.on .sp-horn .w2{animation-delay:.12s}.sp-part.on .sp-horn .w3{animation-delay:.24s}@keyframes sp-wave{0%{opacity:0}30%{opacity:1}to{opacity:0}}.sp-readout .sp-digits{border:1px solid var(--line-300);color:#7dffa9;font-variant-numeric:tabular-nums;text-shadow:0 0 8px #7dffa999;background:#0b0f14;border-radius:8px;min-width:84px;padding:8px 10px;font:700 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.sl-editor.blocks .graph-stage{min-height:0}.sl-editor.blocks .flow-canvas{height:calc(225px + (var(--block-rows,1) - 1) * 130px);flex:none}.sl-editor.blocks .graph-read-only .node-inspector,.sl-editor.blocks .graph-read-only .graph-toolbar,.sl-editor.blocks .node-inspector details,.sl-editor.blocks .node-inspector>button,.sl-editor.blocks .react-flow__controls,.sl-editor.blocks .react-flow__attribution,.sl-editor.blocks .graph-toolbar>span,.sl-editor.blocks .inspector-title select,.sl-editor.blocks .node-inspector>p,.sl-editor.blocks .field-grid label[data-port=enable]{display:none}.sl-editor.blocks .node-inspector{padding:10px 14px 14px}.sl-editor.blocks .field-grid{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.sl-editor.blocks .field-grid label{gap:2px;min-width:0;font-size:13px;display:grid}.sl-editor.blocks .field-grid label:nth-child(-n+2){grid-column:1/-1}.sl-editor.blocks .field-grid input,.sl-editor.blocks .field-grid select{width:100%;min-width:0;padding:5px 7px}.sl-editor.blocks .field-grid label.check-field{align-items:center;gap:6px;display:flex}.sl-editor.blocks .field-grid label.check-field input{width:auto}@media (min-width:901px){.sl-editor.blocks .structured-editor:not(.graph-read-only){grid-template-columns:minmax(0,1fr) 270px;align-items:start;display:grid}.sl-editor.blocks .structured-editor:not(.graph-read-only) .flow-canvas{height:calc(300px + (var(--block-rows,1) - 1) * 60px)}.sl-editor.blocks .structured-editor:not(.graph-read-only) .node-inspector{border-left:1px solid var(--line-300);min-height:300px}}.sp-flash{display:contents}.sp-flash.on .sp-lamp .sp-glass{fill:#ffd95a;stroke:#f2b632}.sp-flash.on .sp-lamp .sp-filament{stroke:#b37400}.sp-flash.on .sp-lamp .sp-halo{opacity:.75}.sp-readout.sp-memory .sp-digits{color:#9fc9ff;text-shadow:0 0 8px #9fc9ff8c;font-size:18px}.sp-readout.sp-memory.on .sp-digits{color:#7dffa9;text-shadow:0 0 8px #7dffa999}.sl-crumbs .sl-back{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.sl-can{font-size:var(--fs-14);color:var(--ink-600);margin-top:6px;font-weight:500;display:inline-block}.sl-again{margin:12px 0 0}.sl-again .text-link-btn{color:var(--ink-500);align-items:center;gap:6px;display:inline-flex}.sl-ghost{opacity:.45;pointer-events:none;width:min(230px,60%);margin:0 16px 16px auto}.sl-ghost svg{width:100%;height:auto;stroke:var(--ink-700);display:block}@media (min-width:901px){.sl-editor:has(.sl-ghost){position:relative}.sl-ghost{width:min(190px,24%);margin:0;position:absolute;top:58px;right:32px}}.sl-like-picture.tall{border-radius:12px;width:52px;height:72px}.sl-editor{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);min-width:0;margin:0;padding:0;animation:.3s ease-out both sl-in}.sl-editor.yours{border-color:var(--water-400);box-shadow:0 0 0 1px var(--water-400), 0 0 24px -10px var(--water-400)}.sl-editor legend{float:left;letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--ink-500);border-bottom:1px solid var(--line-100);padding:8px 14px;font-size:12px;font-weight:700}.sl-editor.yours legend{color:var(--water-500)}.sl-editor legend+*{clear:both}.sl-editor:disabled g[aria-pressed=true]>rect:first-child{display:none}.sl-editor.bare .ladder-popup{width:auto;min-width:0}@media (min-width:1100px){.sp-col,.sp-plc{zoom:var(--z,1)}.sl-stage.solo .sp-col,.sl-stage.solo .sp-plc{zoom:var(--zs,1.3)}.sp-part{width:150px;padding:14px 12px 12px}.sp-art{width:86px;height:86px}.sp-slider{width:170px}.sp-plc{width:112px}.sp-name{font-size:var(--fs-17)}}.sl-editor .structured-editor{border:0;border-radius:0}.sl-editor .ladder-canvas,.sl-code{padding-bottom:58px}.sl-editor.code>:not(legend):not(pre){height:210px!important}.sl-code{font:600 var(--code-size,20px) / 1.6 ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--ink-950);white-space:pre-wrap;margin:0;padding:18px 20px 58px;overflow-x:auto}@media (min-width:1100px){.sl-code{padding:30px 28px 62px}}.sl-code .on{color:var(--lamp-500);text-shadow:0 0 12px var(--lamp-500)}.sl-editor .diagram-guide,.sl-editor .rung-comment,.sl-editor .ladder-popup-help,.sl-editor .ladder-tabs,.sl-editor .rung-more-hint,.sl-editor .ladder-actions button:last-child,.sl-editor .ladder-popup-actions button:nth-child(n+2),.sl-editor button[aria-label="Add branch level"],.sl-editor .tag-type,.sl-editor .ladder-popup-actions button[data-move=open-earlier]{display:none}.sl-editor .ladder-popup-actions button[data-move=close-earlier]{display:inline-flex}.sl-editor:disabled .graph-toolbar,.sl-editor:disabled .ladder-selection-bar,.sl-editor:disabled .ladder-add,.sl-editor.notools .graph-toolbar,.sl-editor.bare .ladder-undo button:not(:first-child),.sl-editor.bare .rung-number,.sl-editor:disabled .rung-number,.sl-editor.bare .ladder-palette-row,.sl-editor.bare .ladder-chips,.sl-editor.bare .tag-type,.sl-editor.bare .ladder-selection-bar,.sl-editor.nocaps .ladder-type,.sl-dock{display:none}@media (max-width:900px){.sl-body{grid-template-columns:minmax(0,1fr);gap:10px}.sl-stage{display:contents}.sp{order:1;padding:40px 8px 30px}.sl-editor{order:2}.sl-card{order:3}.sl-switch,.sl-card .sl-step{display:none}.sl{gap:10px}.sl-head{gap:6px}.sl-text p{font-size:var(--fs-16);margin-bottom:8px}.sl-card h2{font-size:var(--fs-22);margin-bottom:8px}.sl-title-row h1{font-size:var(--fs-22)}.sl-title-row .lab-stepper ol,.sl-title-row .lab-stepper-meta>span:not(.lab-stepper-bar){display:none}.sl-title-row .lab-stepper{flex-basis:100%}.sl-card{padding:16px 16px 12px}.sp,.sl-stage.solo .sp{min-height:0}.sp-col{gap:10px}.sp-part{width:104px;padding:10px 6px 8px}.sp-slider{width:118px}.sp-plc{width:54px;min-height:120px}.sp-plc strong{font-size:var(--fs-15)}.sp-art{width:60px;height:60px}.sl-code{padding:14px}.sl-body{padding-bottom:86px}.sl-dock{z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--bg-750);border-top:1px solid var(--line-300);font-size:var(--fs-15);color:var(--ink-900);align-items:center;gap:12px;font-weight:600;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px -14px #0009}.sl-dock span{flex:1;min-width:0}.sl-dock.won{border-top-color:var(--lamp-500)}.sl-dock .btn{flex:none}}@media (prefers-reduced-motion:reduce){.sl-card,.sl-card.won .lab-task,.sl-finale,.sl-editor,.sp-part.fresh,.sp-part.fresh:before,.sp.picking .sp-part:before,.sp-plc-led,.sp-spin,.sp-part.on .sp-pump .sp-flow,.sp-part.on .sp-horn .sp-wave{animation:none}.sp-part.on .sp-horn .sp-wave{opacity:1}.sl-burst{display:none}.sl-pop{animation:none}}.sl-waiting{max-width:760px}.sm{pointer-events:none;z-index:4;position:absolute;inset:0;overflow-x:clip}.sm-lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sm-lines path{fill:none;stroke-width:2px;stroke-dasharray:3 7;stroke-linecap:round;opacity:.5;transition:opacity .15s}.sm-lines path.on{opacity:1;stroke-width:2.5px}.sm-box{border:1.5px solid var(--c);background:color-mix(in srgb, var(--c) 8%, transparent);opacity:.55;border-radius:10px;margin:-1.5px;transition:opacity .15s,box-shadow .15s;position:absolute}.sm-box.word{box-sizing:content-box;border-radius:7px;margin:-4.5px -6.5px;padding:3px 5px}.sm-box.on{opacity:1;background:color-mix(in srgb, var(--c) 16%, transparent);box-shadow:0 0 18px -4px var(--c)}.sm-tab{background:var(--c);border:3px solid var(--bg-900);opacity:.8;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.sm-tab.on{opacity:1;box-shadow:0 0 10px var(--c)}.sm-ring{margin:calc(-2px - var(--p,6px));padding:var(--p,6px);box-sizing:content-box;border:2px solid #fff;border-radius:16px;animation:1.4s ease-in-out infinite sm-ring;position:absolute}.sm-mark{pointer-events:none;transform:translate(calc(-50% + var(--shift,0px)), 16px);color:#111418;max-width:min(260px,70vw);font-size:var(--fs-15);text-align:center;white-space:normal;background:#fff;border-radius:10px;width:max-content;padding:7px 12px;font-weight:700;line-height:1.3;animation:1.6s ease-in-out infinite sm-bob;position:absolute;box-shadow:0 8px 24px -8px #000000b3}.sm-mark:before{content:"";left:calc(50% - var(--shift,0px));border:7px solid #0000;border-top:0;border-bottom-color:#fff;margin-left:-7px;position:absolute;top:-7px}.sm-mark.over{transform:translate(calc(-50% + var(--shift,0px)), calc(-100% - 16px))}.sm-mark.over:before{border:7px solid #0000;border-top-color:#fff;border-bottom:0;top:auto;bottom:-7px}.sm-mark.after{text-align:left;max-width:190px;transform:translate(18px,-50%)}.sm-mark.after:before{border:7px solid #0000;border-left:0;border-right-color:#fff;margin:-7px 0 0;top:50%;left:-7px}.sm-mark.before{text-align:left;max-width:190px;transform:translate(calc(-100% - 18px),-50%)}.sm-mark.before:before{border:7px solid #0000;border-left-color:#fff;border-right:0;margin:-7px 0 0;top:50%;left:auto;right:-7px}.sm-mark code{background:#e7eaee;border-radius:4px;padding:0 4px}@keyframes sm-ring{0%,to{opacity:.35}50%{opacity:1}}@keyframes sm-bob{0%,to{translate:0}50%{translate:0 3px}}@media (max-width:900px){.sm-mark{max-width:44vw;padding:5px 9px;font-size:13px}.sm-mark.after,.sm-mark.before{max-width:30vw}}@media (prefers-reduced-motion:reduce){.sm-ring,.sm-mark{animation:none}}.sp-legend{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:12px;font-weight:700;position:absolute;top:10px;left:14px}.sp-part.dim{opacity:.38}.sp-part{transition:opacity .2s,border-color .15s,box-shadow .15s}.sl-body.alone{grid-template-columns:minmax(0,640px);justify-content:center}.sl-body.alone .sl-stage{display:none}.sp.picking .sp-slider input{visibility:hidden}.sl-card .sl-how{font-size:var(--fs-14);color:var(--ink-500);margin:-4px 0 12px}.sl-card .sl-nudge.good{background:var(--lamp-tint);border-color:var(--ok-border)}.sl-pop.skill{max-width:calc(100% - 28px);font-size:var(--fs-15);border-radius:14px;line-height:1.3;animation-duration:3.4s}.sl-quiz{gap:8px;margin:0 0 12px;display:grid}.sl-option{border-radius:var(--r-md);border:1px solid var(--line-300);background:var(--bg-800);color:var(--ink-950);font:inherit;font-size:var(--fs-16);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:11px 14px;font-weight:600;transition:border-color .12s,background .12s;display:flex}.sl-option:hover:not(:disabled){background:var(--bg-700)}.sl-option:disabled{opacity:.5;cursor:default}.sl-option-dot{border:2px solid var(--ink-400);border-radius:50%;flex:none;width:15px;height:15px}.sl-option svg{flex:none}.sl-option.right{border-color:var(--lamp-500);background:var(--lamp-tint)}.sl-option.right svg{color:var(--lamp-500)}.sl-option.wrong{border-color:var(--warn-border);background:var(--warn-100)}.sl-option.chosen{border-color:var(--water-400)}.sl-examples{border-radius:var(--r-md);border:1px solid var(--line-200);background:var(--bg-800);gap:8px;margin:0 0 14px;padding:12px;display:grid}.sl-card .sl-examples-count{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin:0;font-size:12px;font-weight:700}.sl-card .sl-examples-say{font-size:var(--fs-16);color:var(--ink-900);margin:0}.sl-examples .btn{justify-self:start}.ex{border-radius:var(--r-md);background:var(--bg-900);border:1px solid var(--line-200);justify-content:center;align-items:center;min-height:112px;padding:10px;display:flex}.ex.not{opacity:.6;filter:grayscale();border-style:dashed}.ex-device{border:1px solid var(--line-300);background:var(--bg-850);min-width:92px;color:var(--ink-950);font:inherit;font-size:var(--fs-14);text-align:center;border-radius:12px;flex:none;justify-items:center;gap:4px;width:auto;padding:8px 10px;font-weight:700;display:grid}button.ex-device{cursor:pointer}button.ex-device:disabled{cursor:default}.ex-device .sp-art{width:44px;height:44px}.ex-device small{color:var(--ink-500);font-size:11px}.ex-device.on{border-color:var(--ok-border)}.ex-device.on small{color:var(--lamp-600)}.ex-knob{background:var(--ink-400);border-radius:50%;width:22px;height:22px;transition:background .15s}.ex-device.on .ex-knob{background:var(--lamp-500);box-shadow:0 0 10px var(--lamp-500)}.ex-wire{background:var(--line-300);flex:16px;max-width:40px;height:3px;transition:background .12s}.ex-wire.on{background:var(--lamp-500);box-shadow:0 0 8px var(--lamp-500)}.ex-end{background:var(--line-300);border-radius:50%;width:10px;height:10px}.ex-end.on{background:var(--lamp-500);box-shadow:0 0 10px var(--lamp-500)}.ex-piece{color:var(--ink-700);justify-items:center;gap:2px;display:grid}.ex-piece svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;width:64px;height:36px}.ex-piece.on{color:var(--lamp-500)}.ex-tag{color:var(--ink-950);font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.ex-name{color:var(--ink-950);margin-left:14px;font:700 15px ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.ex-name small{font:700 11px var(--font-sans,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--lamp-600)}.ex.live{flex-direction:column;gap:0;padding:10px 10px 12px}.ex-row{justify-items:center;gap:5px;display:grid}.ex-row>small{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:700}.ex-parts{align-items:stretch;gap:12px;display:flex}.ex-link{border-left:2.5px dotted var(--water-400);opacity:.6;width:0;height:22px;margin:4px 0}.ex-link.on{opacity:1}.ex-rung{fill:none;width:200px;height:60px;stroke:var(--ink-700);stroke-width:2.5px;stroke-linecap:round}.ex-rung text{fill:var(--ink-950);stroke:none;font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.ex-rung .ex-bar{stroke:var(--ink-500)}.ex-rung .ex-live{stroke:var(--lamp-500)}.ex-send{margin-top:8px}.ex-code{background:var(--bg-700);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px}.ex-code.on{color:var(--lamp-500)}.sp-part.pickable{outline:2px dashed var(--water-400);outline-offset:5px;cursor:pointer}.sm-ring[data-at^=gap\:]{border:0;border-bottom:2.5px dashed #fff;border-radius:0}.sm-tap{box-sizing:content-box;border:2px dashed var(--water-400);cursor:pointer;pointer-events:auto;background:#3fa7e014;border-radius:14px;margin:-7px;padding:5px;animation:1.4s ease-in-out infinite sp-breathe;position:absolute}.sm-tap:hover{background:#3fa7e033}.sm-ring.device{border-style:dashed}@media (prefers-reduced-motion:reduce){.sm-tap{animation:none}}.sp-plc{align-self:center;height:clamp(150px,46%,300px)}.sl-card .sl-like{border-radius:var(--r-md);border:1px solid var(--line-200);background:linear-gradient(135deg, #3fa7e01f, transparent 70%), var(--bg-800);font-size:var(--fs-16);color:var(--ink-950);align-items:center;gap:12px;margin:2px 0 12px;padding:12px 14px;line-height:1.5;display:flex}.sl-like-picture{width:46px;height:46px;color:var(--water-400);background:#3fa7e02e;border-radius:50%;flex:none;place-items:center;display:grid}.sl-card .sl-name{font-size:var(--fs-17);color:var(--ink-950);margin:0 0 10px;font-weight:600;line-height:1.5}.sl-editor .rung-more-hint{display:none!important}.sp{align-items:center;display:flex}.sp-rig{flex:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;min-width:0;display:grid}.sp-plc{align-self:stretch;height:auto;min-height:150px}.sp-gauge{border:2px solid var(--ink-400);background:0 0;border-top:0;border-radius:0 0 8px 8px}.sm-lines path.dim,.sm-box.dim,.sm-tab.dim{opacity:.18}.school-panel{border:1px solid color-mix(in srgb, var(--lamp-500) 45%, var(--line-200));border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--lamp-500) 12%, transparent), transparent 65%), var(--bg-850);color:var(--ink-950);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 18px;margin:0 0 20px;padding:18px 20px;display:grid}.school-panel-icon{background:color-mix(in srgb, var(--lamp-500) 18%, transparent);width:52px;height:52px;color:var(--lamp-500);border-radius:14px;place-items:center;display:grid}.school-panel .school-panel-title{font-size:var(--fs-20,20px);color:var(--ink-950);margin:0 0 4px;font-weight:700}.school-panel p{color:var(--ink-800);margin:0 0 6px}.school-panel-xp{font-size:var(--fs-14);align-items:center;gap:6px;font-weight:600;display:flex;color:var(--lamp-500)!important}.school-panel-meter{background:var(--line-200);border-radius:99px;max-width:420px;height:6px;margin-top:8px;display:block;overflow:hidden}.school-panel-meter>span{background:var(--lamp-500);height:100%;display:block}.school-panel-actions{justify-items:end;gap:8px;display:grid}.school-panel-done{color:#22c55e;align-items:center;gap:6px;font-weight:700;display:inline-flex}@media (max-width:720px){.school-panel{grid-template-columns:auto minmax(0,1fr)}.school-panel-actions{grid-column:1/-1;justify-items:start}}.road-school{font-size:var(--fs-13,13px);color:var(--ink-700);align-items:center;gap:5px;margin-right:8px;text-decoration:none;display:inline-flex}.road-school.done svg{color:#22c55e}.sl-editor.blind .ladder-editable,.sl-editor.blind .ladder-type{visibility:hidden}.next-choice{gap:12px;display:grid}.next-choice-item{justify-items:start;gap:4px;display:grid}.next-choice-item .btn{align-items:center;gap:8px;display:inline-flex}.next-choice-item small{max-width:34ch;font-size:var(--fs-13,13px);color:var(--ink-600)}.hp-actions:has(.next-choice){align-items:flex-start}.sl-finale-signup{border:1px solid var(--brand-border);border-radius:var(--r-md);background:var(--bg-850);text-align:left;gap:10px;margin:18px 0 6px;padding:18px 20px;display:grid}.sl-finale-signup h3{font-size:var(--fs-19);color:var(--ink-900);letter-spacing:-.01em;text-transform:none;margin:0}.sl-finale-signup p{color:var(--ink-700);margin:0}.sl-finale-signup .guest-wall-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:900px){:is(.shell,.shell.focus-view) .page-content:has(>.sl){height:calc(100dvh - var(--header-h) - var(--cookie-bar-h,0px));flex:none;min-height:0;padding-top:8px;padding-bottom:8px;overflow:hidden}.shell:has(.page-content>.sl){min-height:0}.shell:has(.page-content>.sl) .main-column{min-height:0}.shell:has(.page-content>.sl) .main-column{overflow:clip}.shell:has(.page-content>.sl) .site-footer{display:none}.sl{gap:6px;min-height:0}.sl-head{gap:4px}.sl-title-row h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sl-body{flex-direction:column;align-items:stretch;gap:8px;min-height:0;padding-bottom:0;display:flex}.sp{flex:none;padding:40px 8px 14px}.sl-stage:not(.solo) .sp{padding:28px 8px 8px}.sl-stage:not(.solo) .sp .sp-rig{zoom:.66}.sl-editor{flex:0 2 auto;min-height:112px;overflow:auto}.sl-card{overscroll-behavior:contain;flex:130px;min-height:72px;overflow-y:auto}.sl-stage.solo~.sl-card{flex-basis:0}.sl-body:has(.sl-stage.solo) .sl-card{flex-basis:0}.sl-card .lab-task,.sl-card .sl-how{display:none}.sl-dock{border:1px solid var(--line-300);border-radius:var(--r-md,12px);box-shadow:none;flex:none;order:4;min-height:56px;position:static}.sl-dock .btn{min-height:44px}}@media (max-width:900px) and (max-height:620px){.sl-stage:not(.solo) .sp{padding:22px 6px 4px}.sl-stage:not(.solo) .sp .sp-rig{zoom:.54}.sl-editor{min-height:84px}.sl-card{min-height:56px}}.sl-dock-tick{color:var(--lamp-on-dark,#4cd08a);flex:none}@media (max-width:900px){.sl-body.quiz .sp{padding:22px 6px 4px}.sl-body.quiz .sp .sp-rig{zoom:.5}.sl-body.quiz .sl-editor{flex:0 auto;min-height:64px;max-height:26%}.sl-body.quiz .sl-card{flex:3 1 0}:is(.sl-body:has(.sl-finale) .sl-stage,.sl-body:has(.sl-finale) .sl-editor){display:none}.sl-body:has(.sl-finale) .sl-card{flex:auto}.sl-card .sl-examples>.btn{display:none}}@media (max-width:900px) and (max-height:620px){.sl-dock{min-height:48px;padding-block:6px;font-size:14px;line-height:1.35}}
.sl-chart{clear:both;flex-direction:column;min-height:0;padding:18px 18px 22px;display:flex}.sc-room{flex:auto;place-items:center;min-width:0;min-height:0;display:grid}.sc-zoom{width:max-content}@media (min-width:901px){.sl-stage:has(>.sl-editor.chart):not(.empty):not(.wide){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}.sl-stage>.sl-editor.chart{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;display:flex}.sl-stage>.sl-editor.chart legend{float:none;box-sizing:border-box;flex:none}.sl-stage>.sl-editor.chart .sl-chart{flex:auto;overflow-y:auto}.sl-stage:not(.wide)>.sl-editor.chart .sc-room{justify-items:start}:is(.sl-stage:not(.wide):has(>.sl-editor.chart) .sp-col,.sl-stage:not(.wide):has(>.sl-editor.chart) .sp-plc){zoom:min(var(--z,1), .64)}.sl-stage:not(.wide):has(>.sl-editor.chart) .sp{padding-left:12px;padding-right:12px}.sl-stage.wide:has(>.sl-editor.chart):not(.empty){grid-template-rows:auto minmax(0,1fr)}.sl-stage.wide:has(>.sl-editor.chart) .sp{min-height:0;padding:34px 12px 12px}.sl-stage.wide:has(>.sl-editor.chart) .sp-col{zoom:min(var(--z,1), .56);flex-flow:wrap;align-items:stretch;gap:8px;display:flex}.sl-stage.wide:has(>.sl-editor.chart) .sp-ins{justify-content:flex-end}.sl-stage.wide:has(>.sl-editor.chart) .sp-plc{zoom:min(var(--z,1), .56);min-height:0;margin:0 14px}.sl-stage.wide:has(>.sl-editor.chart) .sp-wire{display:none}.sl-stage>.sl-editor.chart .sl-chart{padding:10px 14px 12px}}.sc-canvas{position:relative}.sc-lines{position:absolute;inset:0;overflow:visible}.sc-lines path{fill:none;stroke:var(--line-300);stroke-width:3px;transition:stroke .15s}.sc-lines .sc-tip{fill:var(--line-300);stroke-width:1px}.sc-lines .lit path{stroke:var(--lamp-500);filter:drop-shadow(0 0 6px var(--lamp-500))}.sc-lines .lit .sc-tip{fill:var(--lamp-500)}.sc-step{box-sizing:border-box;border:2px solid var(--line-300);background:var(--bg-800,#161c24);color:var(--ink-950);border-radius:10px;flex-direction:column;gap:2px;padding:5px 10px 6px;transition:border-color .15s,box-shadow .15s;display:flex;position:absolute}.sc-step.initial{outline:2px solid var(--line-300);outline-offset:3px}.sc-step.active{border-color:var(--lamp-500);box-shadow:0 0 0 1px var(--lamp-500), 0 0 26px -6px var(--lamp-500)}.sc-step.active.initial{outline-color:var(--lamp-500)}.sc-step strong{white-space:nowrap;text-overflow:ellipsis;font-size:17px;line-height:22px;overflow:hidden}.sc-step.active strong:after{content:"";background:var(--lamp-500);width:9px;height:9px;box-shadow:0 0 8px var(--lamp-500);border-radius:50%;margin-left:8px;display:inline-block}.sc-action{box-sizing:border-box;height:26px;color:var(--ink-700);background:#ffffff0d;border-radius:6px;align-items:center;gap:8px;padding:0 6px;font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.sc-action.none{color:var(--ink-500);background:0 0;font-family:inherit;font-weight:500}.sc-action b{width:20px;height:20px;color:var(--ink-950);background:#ffffff1a;border-radius:5px;place-items:center;font-weight:800;display:inline-grid}.sc-step strong+.sc-action{margin-top:6px}.sm-ring[data-at^=action\:]{--p:3px;border-radius:10px}.sm-ring[data-at^=letter\:]{--p:2px;border-radius:8px}.sm-ring[data-at^=tick\:]{--p:4px;border-radius:9px}.sm-ring[data-at^=cond\:]{--p:1px;border-radius:9px}.sm-tap[data-at^=cond\:]{border-radius:9px;margin:-4px;padding:2px}.sm-tap[data-at^=action\:],.sm-tap[data-at^=letter\:]{border-radius:10px;margin:-5px;padding:3px}.sm-mark.under[data-at^=letter\:]{transform:translate(calc(-50% + var(--shift,0px)), 11px)}.sc-action .on,.sc-bar .on{color:var(--lamp-500);text-shadow:0 0 10px var(--lamp-500)}.sc-bar{white-space:nowrap;height:26px;color:var(--ink-800,var(--ink-700));border-radius:8px;align-items:center;gap:10px;padding-right:8px;font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;position:absolute}.sc-bar i{background:var(--ink-700);border-radius:2px;flex:none;width:26px;height:5px}.sc-bar [data-cond]{background:var(--bg-900);border-radius:6px;padding:3px 7px}.sl-chart.editing .touchable{cursor:pointer;outline:2px dashed var(--water-400);outline-offset:4px}.sl-chart.editing .sc-step.initial.touchable{outline-offset:6px}.sl-chart.editing .touchable:hover,.sl-chart.editing .picked{background-color:#3fa7e024}.sl-chart.editing .picked{outline-style:solid}.sc-inspector{border:1px solid var(--line-200);background:var(--bg-800,#161c24);max-width:640px;font-size:var(--fs-15,15px);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:18px auto 0;padding:12px 14px;display:flex}.sc-inspector-title{font-size:var(--fs-15,15px);flex:100%}.sc-inspector-hint{color:var(--ink-600);margin:0}.sc-inspector label{flex:240px;align-items:center;gap:8px;font-weight:600;display:flex}.sc-inspector input,.sc-inspector select{border:1px solid var(--line-300);background:var(--bg-900);min-height:38px;color:var(--ink-950);border-radius:8px;padding:6px 10px;font:600 15px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.sc-inspector label input{flex:auto;min-width:0}.sc-inspector input[type=number]{flex:0 0 64px}.sc-action-edit,.sc-connect{flex-wrap:wrap;flex:100%;align-items:center;gap:8px;display:flex}.sc-action-edit button{border:1px solid var(--line-300);width:38px;height:38px;color:var(--ink-700);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:inline-grid}.sc-connect{border-top:1px solid var(--line-100);padding-top:10px}@media (min-width:901px){.sl-stage>.sl-editor.chart .sl-chart.editing{position:relative}.sl-stage>.sl-editor.chart .sc-inspector{z-index:2;border-color:var(--water-400);max-width:none;box-shadow:0 0 0 6px var(--bg-900), 0 14px 34px -8px #000c;gap:8px;margin:0;padding:10px;font-size:14px;position:absolute;bottom:10px;left:10px;right:10px}.sl-stage>.sl-editor.chart .sc-inspector.top{top:10px;bottom:auto}.sl-stage>.sl-editor.chart .sc-inspector.idle,.sl-stage>.sl-editor.chart .sc-inspector-hint{display:none}.sl-stage>.sl-editor.chart .sc-inspector-hint+.sc-connect{border-top:0;padding-top:0}.sl-stage>.sl-editor.chart .sc-inspector-title{flex:1 1 0;min-width:132px;font-size:14px}.sl-stage>.sl-editor.chart .sc-inspector>.btn{order:1}.sl-stage>.sl-editor.chart .sc-inspector>.sc-action-edit,.sl-stage>.sl-editor.chart .sc-inspector>label,.sl-stage>.sl-editor.chart .sc-inspector>.sc-connect{flex:100%;order:2;gap:6px}.sl-stage>.sl-editor.chart .sc-action-edit{flex-wrap:nowrap}.sl-stage>.sl-editor.chart .sc-inspector input,.sl-stage>.sl-editor.chart .sc-inspector select{min-width:0;min-height:34px;padding:5px 6px;font-size:13px}.sl-stage>.sl-editor.chart .sc-action-edit select{flex:auto}.sl-stage>.sl-editor.chart .sc-action-edit button{flex:none;width:32px;height:34px}.sl-stage>.sl-editor.chart .sc-connect .sc-inspector-title{flex:100%}.sl-stage>.sl-editor.chart .sc-connect select{flex:1 1 0}}@media (max-width:900px){.sl-chart{padding:12px 10px 20px}.sc-room{overflow-x:auto}.sc-inspector{padding:10px}.sc-action-edit{flex-wrap:nowrap;gap:6px}.sc-action-edit select{flex:auto;min-width:0;padding:6px;font-size:13px}.sc-action-edit button{flex:none;width:34px}}.sp-readout.sp-number .sp-digits{text-align:right;min-width:96px}.sp-part.sp-slots{width:auto}.sp.listed .sp-rig{grid-template-columns:minmax(0,1fr) auto auto}@media (min-width:1100px){.sp.listed .sp-ins{zoom:var(--zi,1)}.sp.listed .sp-outs{zoom:var(--zo,1)}.sl-stage.solo .sp.listed .sp-ins{zoom:var(--zis,1)}.sl-stage.solo .sp.listed .sp-outs{zoom:var(--zos,1)}}.sp.listed .sp-gauge{display:none}@media (min-width:1100px){.sp.listed .sp-slider{width:204px;padding:9px 12px 7px}}.sp-slots,.sp-record{justify-items:start;gap:6px;padding:10px 12px;display:grid}.sp-slots .sp-slot-row{gap:6px;display:flex}.sp-slot{justify-items:center;gap:3px;display:grid}.sp-slot b{border:1px solid var(--line-300);color:#7dffa9;font-variant-numeric:tabular-nums;background:#0b0f14;border-radius:7px;place-items:center;min-width:46px;height:36px;padding:0 6px;font:700 17px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.sp-slot i{color:var(--ink-600);font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:900px){.sp-part.sp-slots{padding:8px 6px}.sp-slots .sp-slot-row{gap:4px}.sp-slot b{min-width:30px;height:28px;padding:0 2px;font-size:13px}.sp.listed .sp-outs .sp-wire{flex-basis:10px}}.sp-part.sp-record{justify-items:stretch;width:auto;min-width:150px;padding:10px}.sp-record .sp-member{background:#ffffff0d;border-radius:6px;justify-content:space-between;gap:12px;padding:4px 8px;font:600 20px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}@media (min-width:1100px){.sl-stage:not(:has(>.sl-editor.code.tall)) .sp[data-carded] .sp-outs{zoom:var(--zc,1)}.sl-stage.solo .sp[data-carded] .sp-outs{zoom:var(--zcs,1.3)}}@media (max-width:900px){.sp-part.sp-record{width:128px;min-width:0;padding:8px 6px}.sp-record .sp-member{gap:4px;padding:3px 5px;font-size:12px}}.sp-record .sp-member i{color:var(--ink-700);font-style:normal}.sp-record .sp-member b{color:#7dffa9}.sp-record .sp-member b.off{color:var(--ink-500)}.sp-wire.kept{border-top:2px dotted var(--line-300);background:0 0;height:0}@media (min-width:1100px){.sl-editor.code.long .sl-code{padding:18px 24px 46px}}.sl-editor.code.long>:not(legend):not(pre){height:clamp(130px, calc(var(--code-rows,1) * 26px + 78px), 460px)!important}@media (max-width:900px){.sl-editor.code.long>:not(legend):not(pre){height:clamp(150px, calc(var(--code-rows,1) * 36px + 96px), 70vh)!important}}@media (min-width:901px){.sl-stage:has(>.sl-editor.code.tall):not(.empty){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,.82fr) minmax(0,1fr)}.sl-stage>.sl-editor.code.tall{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;display:flex}.sl-stage>.sl-editor.code.tall legend{float:none;box-sizing:border-box;flex:none}.sl-stage>.sl-editor.code.tall .sl-code{flex:auto;padding:16px 16px 46px;overflow-y:auto}.sl-stage:has(>.sl-editor.code.tall.yours):not(.empty){grid-template-columns:minmax(0,.56fr) minmax(0,1fr)!important}.sl-stage>.sl-editor.code.tall>:not(legend):not(pre){flex:auto;min-height:0;height:auto!important}:is(.sl-stage:has(>.sl-editor.code.tall) .sp-col,.sl-stage:has(>.sl-editor.code.tall) .sp-plc){zoom:min(calc(var(--z,1) * 1.3), .62)}.sl-stage:has(>.sl-editor.code.tall) .sp{padding-left:10px;padding-right:10px}.sl-stage:has(>.sl-editor.code.tall):has(>.sp.listed):not(.empty){grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}.sl-stage:has(>.sl-editor.code.tall) .sp.listed .sp-rig{flex-direction:column;align-items:stretch;gap:12px;display:flex}.sl-stage:has(>.sl-editor.code.tall) .sp.listed .sp-ins{zoom:calc(var(--zf,1) * .64);grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:10px;display:grid}.sl-stage:has(>.sl-editor.code.tall) .sp.listed .sp-outs{zoom:var(--zf,1);flex-flow:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.sl-stage:has(>.sl-editor.code.tall) .sp.listed .sp-plc{zoom:calc(var(--zf,1) * .7);align-self:stretch;width:auto;height:46px;min-height:0}:is(.sl-stage:has(>.sl-editor.code.tall) .sp.listed .sp-wire,.sl-stage:has(>.sl-editor.code.tall) .sp.listed .sp-plc-pins){display:none}}
.cg{max-width:1600px;color:var(--ink-900);gap:clamp(36px,4.6vw,68px);margin:0 auto;padding:0 0 72px;display:grid}.cg button:not(.btn){font:inherit;color:inherit}.cg-bar{border-radius:var(--r-pill);background:var(--bg-650);height:6px;display:block;overflow:hidden}.cg-bar>span{border-radius:inherit;background:var(--lamp-600);transform-origin:0;height:100%;transition:transform .5s var(--ease-out);display:block}.cg-hero{border:1px solid var(--line-200);border-radius:var(--r-xl);background:radial-gradient(70% 110% at 100% 0%, var(--lamp-tint), transparent 58%), radial-gradient(60% 90% at 0% 100%, var(--signal-tint), transparent 60%), var(--bg-900);box-shadow:var(--shadow-2);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(20px,2vw,30px) clamp(24px,3.4vw,56px);padding:clamp(20px,2.4vw,36px) clamp(20px,3vw,44px);display:grid;position:relative;overflow:hidden}.cg-hero:before{content:"";background-image:linear-gradient(var(--hairline) 1px, transparent 1px), linear-gradient(90deg, var(--hairline) 1px, transparent 1px);pointer-events:none;background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 80% at 82% 30%,#000,#0000 75%);mask-image:radial-gradient(60% 80% at 82% 30%,#000,#0000 75%)}.cg-hero>*{position:relative}.cg-kicker{color:var(--lamp-700);font-size:var(--fs-15);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin:0;font-weight:650;display:inline-flex}.cg-kicker>i{background:var(--lamp-600);width:9px;height:9px;box-shadow:0 0 0 4px var(--lamp-halo);border-radius:50%}.cg-line{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--ink-950);text-wrap:balance;margin:14px 0;font-size:clamp(36px,3.9vw,58px);font-weight:400;line-height:1.02}.cg-line>span{color:var(--ink-500)}.cg-hero h1{font-family:var(--font-sans);font-size:var(--fs-16);letter-spacing:0;color:var(--ink-800);margin:0 0 6px;font-weight:620;line-height:1.4}.cg-sub{max-width:44em;color:var(--ink-600);font-size:var(--fs-16);margin:0;line-height:1.55}.cg-cta{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px;display:flex}.cg-cta-next{font-size:var(--fs-15);color:var(--ink-600);gap:1px;margin:0;display:grid}.cg-cta-next strong{color:var(--ink-900);font-weight:600}.cg-status{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:18px;display:flex}.cg-progress{grid-template-columns:140px auto;align-items:center;gap:12px;display:grid}.cg-progress small,.cg-area-progress small,.cg-prog-foot small{color:var(--ink-600);font-size:var(--fs-15)}.cg-win{border:1px solid var(--line-200);border-radius:var(--r-pill);background:var(--bg-850);min-height:34px;color:var(--ink-800);font-size:var(--fs-15);align-items:center;gap:7px;padding:4px 12px;display:inline-flex}.cg-win svg{color:var(--ink-500)}.cg-win small{color:var(--ink-500);font-size:var(--fs-15)}.cg-win.earned,.cg-win.ready{border-color:var(--ok-border);background:var(--lamp-tint)}.cg-win.earned svg,.cg-win.ready svg{color:var(--lamp-700)}.cg-win.flame svg{color:var(--warn-700)}button.cg-win{cursor:pointer}button.cg-win:hover{border-color:var(--lamp-600)}.cg-demo{border:1px solid var(--line-300);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--stage-top), var(--stage-bottom));box-shadow:var(--shadow-2);margin:0;overflow:hidden}.cg-demo-bar{border-bottom:1px solid var(--hairline);color:var(--ink-600);font-size:var(--fs-15);white-space:nowrap;background:#0000002e;align-items:center;gap:10px;padding:10px 14px;display:flex}.cg-demo-bar strong{text-overflow:ellipsis;color:var(--ink-900);font-weight:600;overflow:hidden}.cg-demo-dots{gap:5px;margin-right:4px;display:inline-flex}.cg-demo-dots i{background:var(--ink-400);border-radius:50%;width:8px;height:8px}.cg-rig{grid-template-columns:auto minmax(20px,1fr) auto minmax(20px,1fr) auto;align-items:center;padding:30px clamp(14px,2.4vw,34px) 18px;display:grid}.cg-part{background:0 0;border:0;justify-items:center;gap:8px;padding:0;display:grid}.cg-part-name{font-family:var(--font-mono);color:var(--ink-600);font-size:14px}.cg-live{opacity:0;transition:opacity .25s}.cg-demo.is-on .cg-live{opacity:1}.cg-switch{cursor:pointer;border-radius:var(--r-md)}.cg-switch-plate{border:1px solid var(--line-300);background:var(--bg-700);width:64px;height:100px;box-shadow:inset 0 1px 0 var(--hairline), var(--shadow-1);border-radius:16px;position:relative}.cg-switch-plate:before{content:"";border-radius:var(--r-pill);background:var(--bg-950);position:absolute;inset:13px 27px}.cg-lever{background:var(--ink-600);width:32px;height:32px;transition:transform .28s var(--ease-out);border-radius:50%;position:absolute;bottom:10px;left:15px;box-shadow:0 2px 6px #00000073,inset 0 1px #ffffff38}.cg-lever>i{border-radius:inherit;background:var(--lamp-600);box-shadow:0 0 14px var(--lamp-halo);position:absolute;inset:0}.cg-demo.is-on .cg-lever{transform:translateY(-46px)}.cg-switch:hover .cg-switch-plate{border-color:var(--signal-line)}.cg-wire{background:var(--ink-400);height:3px;margin-bottom:26px;position:relative}.cg-wire>i,.cg-wire>b{position:absolute;inset:0}.cg-wire>i{background:var(--lamp-600)}.cg-wire>b{animation:1.1s linear infinite cg-run}.cg-wire>b:after{content:"";background:var(--lamp-700);width:9px;height:9px;box-shadow:0 0 10px var(--lamp-600);border-radius:50%;position:absolute;top:-3px;left:-4px}@keyframes cg-run{0%{transform:translate(0)}to{transform:translate(100%)}}.cg-plc-box{border:1px solid var(--line-300);background:var(--night-950);width:112px;height:100px;box-shadow:inset 0 1px 0 var(--hairline), var(--shadow-1);border-radius:10px;align-content:space-between;padding:12px 13px 9px;display:grid}.cg-plc-leds{gap:6px;display:flex}.cg-plc-leds i{background:var(--ink-400);border-radius:50%;width:8px;height:8px}.cg-plc-leds i:first-child{background:var(--lamp-600);animation:1s steps(2,jump-none) infinite cg-blink}.cg-plc-leds i.cg-live{background:var(--lamp-700);box-shadow:0 0 8px var(--lamp-600)}@keyframes cg-blink{0%{opacity:1}to{opacity:.25}}.cg-plc-box em{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-800);font-size:17px;font-style:normal;font-weight:600}.cg-bulb{border:1px solid var(--line-300);background:radial-gradient(circle at 35% 30%, var(--bg-650), var(--bg-800));border-radius:50%;width:80px;height:80px;margin:10px 0;position:relative}.cg-bulb>i{background:radial-gradient(circle at 35% 30%, #c9ffe0, var(--lamp-600) 55%, var(--lamp-500));box-shadow:0 0 34px 6px var(--lamp-halo), 0 0 12px var(--lamp-600);border-radius:50%;position:absolute;inset:-1px}.cg-rule{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--night-900);margin:4px clamp(12px,1.6vw,20px) 0;padding:8px 12px}.cg-rung{fill:none;stroke-width:2.5px;stroke-linecap:round;width:100%;height:auto;max-height:84px;display:block}.cg-rung-rail,.cg-rung-wire{stroke:var(--editor-wire)}.cg-rung-hot{stroke:var(--editor-power)}.cg-rung-fill{fill:var(--editor-power-bg);stroke:none}.cg-rung-flow{fill:var(--lamp-700);stroke:none;animation:1.5s linear infinite cg-flow}@keyframes cg-flow{0%{transform:translate(0)}to{transform:translate(424px)}}.cg-rung text{fill:var(--night-text);stroke:none;font-family:var(--font-mono);font-size:13px}.cg-code{font-family:var(--font-mono);color:var(--night-text);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;font-size:19px;display:flex}.cg-code b{color:var(--syntax-variable);font-weight:500}.cg-code small{border-radius:var(--r-pill);background:var(--bg-700);text-align:center;min-width:66px;color:var(--night-muted);padding:3px 9px;font-size:14px;position:relative}.cg-code em{border-radius:inherit;background:var(--lamp-600);color:var(--showroom-950);place-items:center;font-style:normal;font-weight:650;display:grid;position:absolute;inset:0}.cg-demo figcaption{text-align:center;color:var(--ink-500);font-size:var(--fs-15);padding:10px 14px 14px}.cg-map{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--line-200);grid-column:1/-1;gap:1px;display:grid;overflow:hidden}.cg-map-prog{gap:1px;display:grid}.cg-map-group{background:var(--bg-900);color:var(--ink-700);font-size:var(--fs-15);padding:8px 16px;font-weight:620}.cg-map-cells{flex-wrap:wrap;gap:1px;display:flex}.cg-map-cells>button{background:var(--bg-850);text-align:left;cursor:pointer;border:0;flex:210px;align-content:start;gap:4px;padding:14px 16px 16px;transition:background-color .15s;display:grid}.cg-map-cells>button:hover{background:var(--bg-800)}.cg-map-cells>button.here{background:linear-gradient(180deg, var(--lamp-tint), transparent 70%), var(--bg-850)}.cg-map-top{min-height:24px;color:var(--ink-500);font-size:var(--fs-15);align-items:center;gap:8px;display:flex}.cg-map-top svg{color:var(--lamp-700)}.cg-map em,.cg-area-label em,.cg-lesson-text em,.cg-coming em{border-radius:var(--r-pill);background:var(--lamp-tint);color:var(--lamp-700);white-space:nowrap;padding:1px 9px;font-size:13px;font-style:normal;font-weight:620}.cg-map strong{color:var(--ink-950);font-size:var(--fs-19);letter-spacing:-.01em;font-weight:620}.cg-map small{min-height:2.9em;color:var(--ink-600);font-size:var(--fs-15);margin-bottom:6px;line-height:1.45}.cg-head{margin-bottom:18px}.cg-eyebrow{color:var(--lamp-700);font-size:var(--fs-15);margin:0;font-weight:620}.cg-head h2{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink-950);margin:4px 0 6px;font-size:clamp(26px,2.6vw,36px);font-weight:640;line-height:1.1}.cg-head p:not(.cg-eyebrow){max-width:44em;color:var(--ink-600);font-size:var(--fs-17);margin:0;line-height:1.5}.cg-setup{max-width:560px;margin-top:14px}.cg-setup summary{border:1px solid var(--line-200);min-height:32px;color:var(--ink-700);font-size:var(--fs-15);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;list-style:none;display:inline-flex}.cg-setup summary::-webkit-details-marker{display:none}.cg-setup summary:hover{border-color:var(--line-300);color:var(--ink-900)}.cg-setup summary em{color:var(--lamp-700);font-style:normal;font-weight:600}.cg-setup[open] summary em{color:var(--ink-500)}.cg-setup-body{gap:8px;margin-top:10px;display:grid}.cg-setup-hint{color:var(--ink-600);font-size:var(--fs-15);margin:0}.cg-seg.cg-seg-two{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-seg{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-950);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.cg-seg button{border-radius:var(--r-md);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:1px;padding:7px 10px;transition:background-color .15s;display:grid}.cg-seg button:hover{background:var(--signal-tint)}.cg-seg button.active{border-color:var(--line-300);background:var(--bg-800);box-shadow:var(--shadow-1)}.cg-seg strong{color:var(--ink-800);font-size:var(--fs-16);font-weight:620}.cg-seg button.active strong{color:var(--ink-950)}.cg-seg small{color:var(--ink-500);white-space:nowrap;font-size:13px}.cg-seg button.active small{color:var(--lamp-700)}.cg-progs{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;display:grid}.cg-progs.all-open{grid-template-columns:minmax(0,1fr)}.cg-progs-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cg-prog{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);text-align:left;cursor:pointer;transition:transform .2s var(--ease-out), border-color .15s ease;flex-direction:column;gap:10px;padding:20px;display:flex}.cg-prog:hover{border-color:var(--line-300);transform:translateY(-2px)}.cg-prog.active{border-color:var(--ok-border);background:radial-gradient(90% 120% at 100% 0%, var(--lamp-tint), transparent 60%), var(--bg-900);box-shadow:var(--shadow-soft)}.cg-prog-top{align-items:center;gap:10px;display:flex}.cg-prog-icon{border:1px solid var(--line-300);border-radius:var(--r-md);background:var(--bg-800);width:40px;height:40px;color:var(--ink-700);place-items:center;display:grid}.cg-prog.active .cg-prog-icon{border-color:var(--ok-border);color:var(--lamp-700)}.cg-prog-top em{color:var(--ink-500);font-size:var(--fs-15);font-style:normal}.cg-prog>strong{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink-950);font-size:clamp(28px,2.5vw,36px);font-weight:400;line-height:1.05}.cg-prog-sum{color:var(--ink-600);font-size:var(--fs-16);line-height:1.5}.cg-prog-art{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--night-900);margin-top:auto;padding:6px 12px;display:block}.cg-prog-art .cg-live{opacity:1}.cg-prog-art .cg-rung{max-height:60px}.cg-prog:not(.active) .cg-rung-flow{display:none}.cg-prog-art .cg-code{min-height:60px;padding:0 4px;font-size:17px}.cg-prog-foot{gap:8px;margin-top:4px;display:grid}.cg-prog-state{color:var(--ink-600);font-size:var(--fs-15);align-items:center;gap:6px;font-weight:600;display:inline-flex}.cg-prog.active .cg-prog-state{color:var(--lamp-700)}.cg-coming{border:1px dashed var(--line-300);border-radius:var(--r-lg);align-content:start;gap:12px;padding:20px;display:grid}.cg-coming-title{color:var(--ink-800);font-size:var(--fs-16);margin:0;font-weight:620}.cg-coming-item{border-top:1px solid var(--line-200);gap:2px;padding-top:12px;display:grid}.cg-coming-item p{justify-content:space-between;align-items:center;gap:8px;margin:0;display:flex}.cg-coming-item strong{color:var(--ink-800);font-size:var(--fs-17);font-weight:620}.cg-coming em{background:var(--bg-700);color:var(--ink-600)}.cg-coming-item>span{color:var(--ink-500);font-size:var(--fs-15);line-height:1.45}.cg-group-head{gap:4px;margin-top:20px;display:grid}.cg-group-head:first-child{margin-top:0}.cg-group-head h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-950);margin:0;font-size:clamp(22px,2vw,28px);font-weight:640}.cg-group-head p{max-width:44em;color:var(--ink-600);font-size:var(--fs-17);margin:0;line-height:1.5}.cg-group-head small{color:var(--ink-500);font-size:var(--fs-15)}.cg-areas{gap:16px;display:grid}.cg-area{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);scroll-margin-top:calc(var(--header-h) + 16px);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(18px,2.6vw,40px);padding:clamp(18px,2.4vw,32px);display:grid}.cg-area.here{border-color:var(--ok-border);background:radial-gradient(60% 90% at 0% 0%, var(--lamp-tint), transparent 60%), var(--bg-900)}.cg-area-side{align-content:start;gap:12px;display:grid}.cg-area-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.cg-area-no{font-family:var(--font-serif);color:var(--ink-400);font-size:clamp(56px,5vw,76px);line-height:.8}.cg-area.here .cg-area-no,.cg-area.complete .cg-area-no{color:var(--lamp-600)}.cg-art{fill:none;width:132px;height:56px;stroke:var(--ink-400);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.cg-art .hot{stroke:var(--lamp-600)}.cg-area-label{color:var(--ink-500);font-size:var(--fs-15);align-items:center;gap:8px;margin:6px 0 -6px;font-weight:600;display:flex}.cg-area-label em.done{align-items:center;gap:4px;display:inline-flex}.cg-area-title{font-family:var(--font-serif);letter-spacing:-.012em;color:var(--ink-950);margin:0;font-size:clamp(32px,3vw,44px);font-weight:400;line-height:1.02}.cg-area-can{color:var(--ink-800);font-size:var(--fs-17);margin:0;line-height:1.5}.cg-area-can>span,.cg-area-missions>span{color:var(--ink-500);font-size:var(--fs-15);margin-bottom:2px;font-weight:600;display:block}.cg-chips{flex-wrap:wrap;gap:6px;display:flex}.cg-chips span{border:1px solid var(--line-200);border-radius:var(--r-pill);background:var(--bg-800);color:var(--ink-700);font-family:var(--font-mono);padding:3px 10px;font-size:14px}.cg-area-progress{gap:8px;margin-top:2px;display:grid}.cg-area-missions{border-top:1px solid var(--line-200);flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.cg-area-missions>span{flex-basis:100%}.cg-area-missions button{border:1px solid var(--line-300);border-radius:var(--r-pill);min-height:34px;color:var(--ink-800);font-size:var(--fs-15);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 8px 4px 12px;transition:border-color .15s;display:inline-flex}.cg-area-missions button:hover{border-color:var(--signal-line);color:var(--ink-950)}.cg-area-missions svg:first-child:not(:last-child){color:var(--lamp-700)}.cg-area-missions svg:last-child{color:var(--ink-500)}.cg-lessons{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.cg-lessons a{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-850);color:inherit;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:background-color .15s,border-color .15s;display:grid}.cg-lessons a:hover{border-color:var(--line-300);background:var(--bg-800)}.cg-lessons .next a{border-color:var(--ok-border);background:linear-gradient(90deg, var(--lamp-tint), transparent 70%), var(--bg-850)}.cg-lesson-no{border:1px solid var(--line-300);width:40px;height:40px;color:var(--ink-700);font-family:var(--font-mono);font-size:var(--fs-16);border-radius:50%;place-items:center;font-weight:600;display:grid}.cg-lessons .next .cg-lesson-no{border-color:var(--lamp-600);color:var(--lamp-700)}.cg-lessons .done .cg-lesson-no{background:var(--lamp-tint);color:var(--lamp-700);border-color:#0000}.cg-lesson-text{gap:1px;min-width:0;display:grid}.cg-lesson-text small{color:var(--ink-500);font-size:var(--fs-15);align-items:center;gap:8px;display:flex}.cg-lesson-text strong{color:var(--ink-950);font-size:var(--fs-17);font-weight:600;line-height:1.3}.cg-lesson-text>span{color:var(--ink-600);font-size:var(--fs-15);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cg-lesson-meta{color:var(--ink-500);font-size:var(--fs-15);white-space:nowrap}.cg-lesson-go{color:var(--ink-500);transition:transform .2s var(--ease-out)}.cg-lessons a:hover .cg-lesson-go{color:var(--ink-950);transform:translate(3px)}.cg button:focus-visible,.cg a:focus-visible,.cg select:focus-visible{outline:2px solid var(--focus-colour);outline-offset:2px}@media (max-width:1080px){.cg-progs{grid-template-columns:minmax(0,1fr)}.cg-coming{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px}.cg-coming-title{grid-column:1/-1}}@media (max-width:900px){.cg-hero,.cg-area{grid-template-columns:minmax(0,1fr)}}.cg-faq dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.cg-faq dl>div{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);padding:18px 20px}.cg-faq dt{color:var(--ink-950);font-size:var(--fs-17);margin:0 0 6px;font-weight:620}.cg-faq dd{color:var(--ink-600);font-size:var(--fs-15);margin:0;line-height:1.6}.cg-basics{color:var(--ink-600);font-size:var(--fs-15);margin:18px 0 0}.cg-basics a{color:var(--ink-900);text-underline-offset:3px;text-decoration:underline}@media (max-width:720px){.cg-faq dl{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.cg{padding-bottom:48px}.cg-prog-art,.cg-plc .cg-part-name{display:none}.cg-plc-box{margin-bottom:26px}.cg-seg button{padding-inline:8px}.cg-hero{padding:18px 16px}.cg-cta .btn{width:100%}.cg-progress{grid-template-columns:minmax(0,1fr);gap:6px;width:100%}.cg-rig{padding-top:20px}.cg-plc-box{width:80px;height:84px}.cg-switch-plate{border-radius:14px;width:56px;height:84px}.cg-switch-plate:before{inset:12px 23px}.cg-lever{width:28px;height:28px;bottom:9px;left:13px}.cg-demo.is-on .cg-lever{transform:translateY(-38px)}.cg-bulb{width:64px;height:64px}.cg-part-name{font-size:13px}.cg-map small{min-height:0}.cg-progs-open,.cg-coming{grid-template-columns:minmax(0,1fr)}.cg-area{padding:18px 14px}.cg-art{width:110px;height:47px}.cg-lessons a{grid-template-columns:36px minmax(0,1fr) 18px;gap:12px;padding:12px}.cg-lesson-no{width:36px;height:36px}.cg-lesson-meta{grid-area:2/2}.cg-lesson-go{grid-area:1/3/span 2}.cg-lesson-text>span{white-space:normal}}@media (prefers-reduced-motion:reduce){.cg-wire>b,.cg-rung-flow,.cg-plc-leds i:first-child{animation:none}.cg-wire>b,.cg-rung-flow{display:none}.cg-live,.cg-lever,.cg-bar>span,.cg-prog,.cg-lesson-go{transition:none}.cg-prog:hover{transform:none}}
