.workspace-with-lesson{flex:1;min-height:0;display:flex;overflow:hidden}.workspace-with-lesson>.workspace{flex:1;min-width:0}.lesson-pane{width:var(--pane-width,348px);border-left:1px solid var(--line);background:var(--card);flex-shrink:0;min-height:0;display:flex}.lesson-panel{width:100%;min-height:0;color:var(--text);flex-direction:column;font-size:13px;display:flex}.lesson-head{border-bottom:1px solid var(--soft-line);flex-shrink:0;padding:12px 16px}.lesson-kicker{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.lesson-back{color:var(--muted);border-radius:4px;align-items:center;gap:2px;margin-left:-4px;padding:2px 6px 2px 2px;text-decoration:none;display:inline-flex}.lesson-back:hover{color:var(--text);background:var(--hover)}.lesson-titleline{align-items:center;gap:10px;margin-top:6px;display:flex}.lesson-titleline h2{letter-spacing:-.01em;flex:1;margin:0;font-size:17px;font-weight:650;line-height:1.25}.progress-ring{flex-shrink:0;width:40px;height:40px;position:relative}.progress-ring svg{display:block}.ring-track,.ring-fill{fill:none;stroke-width:3.4px}.ring-track{stroke:var(--soft-line)}.ring-fill{stroke:var(--blue);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}.progress-ring span{font-variant-numeric:tabular-nums;place-items:center;font-size:12px;font-weight:650;display:grid;position:absolute;inset:0}.progress-ring small{color:var(--muted);font-size:9px;font-weight:500}.progress-ring span{justify-content:center;align-items:baseline;padding-top:13px;display:flex}.part-track{gap:3px;margin-top:12px;display:flex}.part-segment{background:var(--soft-line);border-radius:3px;min-width:10px;height:5px;position:relative;overflow:hidden}.part-segment>i{background:var(--blue);border-radius:3px;transition:width .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.part-segment.current{box-shadow:0 0 0 1px var(--selected-line)}.lesson-body{scrollbar-gutter:stable;flex:1;min-height:0;padding:16px 16px 24px;overflow:auto}.step-view{animation:.26s cubic-bezier(.2,.8,.2,1) step-in}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}}.back-to-current{color:var(--selected-ink);margin:-6px 0 10px -6px;font-size:12px}.step-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.step-part{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10.5px;font-weight:650;overflow:hidden}.guidance-wrap{flex-shrink:0;position:relative}.guidance-badge{border:1px solid var(--soft-line);min-height:22px;color:var(--muted);border-radius:11px;gap:2px;padding:1px 6px 1px 8px;font-size:11px;font-weight:600}.guidance-badge.worked{color:var(--selected-ink);background:var(--info-bg);border-color:var(--selected-line)}.guidance-badge.challenge{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-line)}.guidance-menu{z-index:20;background:var(--card);border:1px solid var(--soft-line);width:250px;box-shadow:var(--shadow);border-radius:9px;padding:5px;animation:.14s ease-out pop-in;position:absolute;top:calc(100% + 6px);right:0}.guidance-menu button{white-space:normal;text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 9px;display:flex}.guidance-menu button[aria-checked=true]{background:var(--selected)}.guidance-menu span{color:var(--muted);font-size:11.5px;line-height:1.4}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.part-intro{background:var(--panel-muted);color:var(--muted);border-radius:8px;margin:12px 0 4px;padding:10px 12px}.part-intro p{margin:0}.step-title{letter-spacing:-.01em;margin:12px 0 6px;font-size:17px;font-weight:650;line-height:1.3}.step-number{color:var(--muted);letter-spacing:0;margin-bottom:3px;font-size:11px;font-weight:500;display:block}.step-goal{margin:0 0 10px;font-size:14px;font-weight:500;line-height:1.5}.markdown p,.markdown li{line-height:1.6}.markdown p{margin:0 0 8px}.markdown ul,.markdown ol{margin:0 0 8px;padding-left:18px}.markdown code{background:var(--panel-muted);border-radius:3px;padding:0 4px;font-size:.95em}.step-explain{color:var(--muted)}.step-done{border:1px solid var(--success-line);background:var(--success-bg);color:var(--success);border-radius:9px;align-items:center;gap:10px;margin:12px 0;padding:10px 12px;font-weight:600;animation:.32s cubic-bezier(.2,.8,.2,1) done-in;display:flex}.done-burst{background:var(--success);width:26px;height:26px;color:var(--card);border-radius:50%;flex-shrink:0;place-items:center;animation:.52s cubic-bezier(.2,1.6,.4,1) burst;display:grid}@keyframes done-in{0%{opacity:0;transform:translateY(4px)}}@keyframes burst{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 45%, transparent);transform:scale(.4)}60%{box-shadow:0 0 0 10px color-mix(in srgb, var(--success) 0%, transparent);transform:scale(1.08)}to{transform:scale(1)}}.step-passed-note{color:var(--success);align-items:center;gap:6px;margin:6px 0 0;font-size:12px;font-weight:600;display:inline-flex}.status-icon{border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:inline-grid}.status-icon.pass{background:var(--success);color:var(--card);animation:.3s cubic-bezier(.2,1.6,.4,1) tick}.status-icon.fail{background:var(--danger);color:var(--card)}.status-icon.pending{color:var(--strong-line)}.status-icon.pending-dot{border:1.5px solid var(--strong-line)}.status-icon.running{color:var(--blue);animation:.9s linear infinite spin}@keyframes tick{0%{transform:scale(.5)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}.check-list{margin-top:16px}.check-list h4,.answer-prompt{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:10.5px;font-weight:650}.check-list .testing{text-transform:none;letter-spacing:0;color:var(--selected-ink);font-weight:500}.check-list ul{margin:0;padding:0;list-style:none}.check-list li{border-bottom:1px solid var(--soft-line);align-items:flex-start;gap:9px;padding:7px 0;line-height:1.45;transition:color .2s;display:flex}.check-list li:last-child{border-bottom:0}.check-list li .status-icon{margin-top:1px}.check-list li span:last-child{min-width:0}.check-list li small{color:var(--danger);margin-top:2px;font-size:12px;display:block}.check-list li.unknown{color:var(--muted)}.test-error,.test-note{border-radius:7px;margin:8px 0 0;padding:8px 10px;font-size:12px;line-height:1.5}.test-error{background:var(--danger-bg);color:var(--danger)}.test-note{background:var(--panel-muted);color:var(--muted)}.answer-table{margin-top:14px}.answer-table table{border-collapse:separate;border-spacing:0 4px;width:100%;font-size:12px}.answer-table th,.answer-table td{white-space:normal;background:0 0;border:0;padding:0;font-weight:500;position:static}.answer-table thead th{color:var(--muted);padding-bottom:2px;font-size:11px}.answer-table tbody th{width:48%;padding-right:8px;line-height:1.35}.answer-table input{width:100%;font-family:var(--font-data);border-radius:5px;font-size:12px}.answer-table td:last-child{text-align:right;width:26px}.answer-table tr.right input{border-color:var(--success-line)}.answer-table tr.wrong input{border-color:var(--danger-line);background:var(--danger-bg)}.answer-table tr:hover td{background:0 0}.lesson-watch{border:1px solid var(--warning-line);background:var(--warning-bg);color:var(--warning);border-radius:9px;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px;animation:.26s ease-out done-in;display:flex}.lesson-watch svg{margin-top:2px}.lesson-watch p{color:var(--text);margin:0;line-height:1.5}.hints{gap:8px;margin-top:14px;display:grid}.hints p{background:var(--info-bg);border-radius:8px;gap:9px;margin:0;padding:9px 11px;line-height:1.5;animation:.24s ease-out done-in;display:flex}.hints svg{color:var(--selected-ink);margin-top:2px}.hints strong{margin-right:4px}.lesson-foot{border-top:1px solid var(--soft-line);background:var(--card);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:9px 10px;display:flex}.lesson-foot button{min-height:32px;padding:4px 10px;font-size:12px}.lesson-outline-toggle{color:var(--muted)}.step-actions{display:contents}.step-actions>button:not(.primary){border-color:var(--soft-line)}.lesson-foot .step-actions .primary{flex:1 0 100%;order:-1;justify-content:center;min-height:36px;font-size:13px;font-weight:600}.lesson-outline section+section{margin-top:14px}.lesson-outline h3{flex-direction:column;gap:1px;margin:0 0 4px;font-size:13px;display:flex}.lesson-outline h3 span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:650}.lesson-outline ol{margin:0;padding:0;list-style:none}.lesson-outline button{text-align:left;white-space:normal;border-radius:6px;justify-content:flex-start;gap:9px;width:100%;padding:6px 8px;display:flex}.lesson-outline button.current{background:var(--selected);border-color:var(--selected-line)}.lesson-outline button.done span{color:var(--muted)}.lesson-outline button span{flex:1}.lesson-outline em{letter-spacing:.04em;text-transform:uppercase;color:var(--selected-ink);font-size:10px;font-style:normal;font-weight:700}.complete-pane{animation:.3s cubic-bezier(.2,.8,.2,1) step-in}.complete-hero{text-align:center;padding:8px 4px 4px}.complete-badge{background:var(--success-bg);width:56px;height:56px;color:var(--success);box-shadow:0 0 0 6px color-mix(in srgb, var(--success-bg) 55%, transparent);border-radius:50%;place-items:center;animation:.64s cubic-bezier(.2,1.5,.4,1) burst;display:inline-grid}.complete-hero h3{margin:14px 0 6px;font-size:18px;font-weight:650}.complete-hero p{max-width:280px;color:var(--muted);margin:0 auto}.complete-facts{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 14px;display:grid}.complete-facts>div{border:1px solid var(--soft-line);border-radius:8px;padding:9px 11px}.complete-facts dt{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.complete-facts dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:14px;font-weight:650}.grade-card{border:1px solid var(--soft-line);background:var(--card);border-radius:10px;margin:14px 0;overflow:hidden}.grade-card>header{background:var(--panel-muted);border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.grade-card.passed>header{background:var(--success-bg);border-bottom-color:var(--success-line)}.grade-kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:650;display:block}.grade-card>header strong{letter-spacing:-.01em;font-size:20px;font-weight:700;display:block}.grade-card.passed>header strong{color:var(--success)}.grade-card>header small{color:var(--muted)}.grade-band{background:var(--card);border:1px solid var(--soft-line);border-radius:11px;padding:3px 10px;font-size:12px;font-weight:650}.grade-card ul{margin:0;padding:4px 14px;list-style:none}.grade-card li{border-bottom:1px solid var(--soft-line);align-items:flex-start;gap:9px;padding:8px 0;display:flex}.grade-card li:last-child{border-bottom:0}.grade-card .criterion{flex:1;min-width:0}.grade-card .criterion strong{font-weight:600;display:block}.grade-card .criterion em{color:var(--muted);font-size:11px;font-style:normal;font-weight:500}.grade-card .criterion small{color:var(--muted);margin-top:2px;line-height:1.4;display:block}.grade-card .points{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.feedback-card{background:var(--info-bg);border-radius:10px;margin:14px 0;padding:12px 14px}.feedback-card h4{margin:0 0 4px;font-size:12px}.feedback-card p{white-space:pre-wrap;margin:0}.submit-button{border-radius:7px;width:100%;min-height:38px;font-size:13px;font-weight:600}.submit-note{color:var(--muted);text-align:center;margin:8px 0 0;font-size:11.5px;line-height:1.5}.loading-panel{padding:18px 16px}.lesson-skeleton{gap:10px;display:grid}.lesson-skeleton i{background:linear-gradient(90deg, var(--soft-line), var(--panel-muted), var(--soft-line));background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s linear infinite shimmer;display:block}.lesson-skeleton i:first-child{width:55%;height:20px}.lesson-skeleton i:last-child{width:80%}@keyframes shimmer{to{background-position:-200% 0}}.lesson-error{background:var(--danger-bg);color:var(--danger);border-radius:7px;align-items:flex-start;gap:8px;margin:10px 12px 0;padding:8px 10px;font-size:12px;display:flex}.lesson-error span{flex:1}.lesson-error button{min-height:20px;padding:1px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.coach-ring{z-index:300;pointer-events:none;border:2px solid var(--blue);box-shadow:0 0 0 4px color-mix(in srgb, var(--blue) 22%, transparent), 0 0 24px 2px color-mix(in srgb, var(--blue) 25%, transparent);border-radius:9px;transition:top .2s cubic-bezier(.2,.8,.2,1),left .2s cubic-bezier(.2,.8,.2,1),width .2s cubic-bezier(.2,.8,.2,1),height .2s cubic-bezier(.2,.8,.2,1);animation:.22s ease-out ring-in;position:fixed}.coach-ring.pulse{border-width:2px;animation:1.2s ease-out 2 ring-pulse}@keyframes ring-in{0%{opacity:0;transform:scale(1.06)}}@keyframes ring-pulse{0%{opacity:0;box-shadow:0 0 0 0 color-mix(in srgb, var(--blue) 45%, transparent)}30%{opacity:1}to{opacity:.85;box-shadow:0 0 0 12px color-mix(in srgb, var(--blue) 0%, transparent)}}.coach-card{z-index:301;background:var(--card);width:286px;max-width:calc(100vw - 20px);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;padding:12px 12px 9px 14px;font-size:13px;animation:.18s cubic-bezier(.2,.8,.2,1) pop-in;position:fixed}.coach-card:before{content:"";background:var(--blue);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.coach-text{margin:0 0 8px;line-height:1.5}.coach-away{color:var(--muted);margin:-2px 0 8px;font-size:12px}.coach-actions{align-items:center;gap:4px;display:flex}.coach-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.coach-button{border-color:var(--soft-line);min-height:26px;padding:2px 9px;font-size:12px}.coach-button.primary{font-weight:600}.coach-close{min-height:24px;color:var(--muted);padding:2px}.native-dialog.lesson-intro{border-radius:12px;width:580px;padding:26px 28px 22px}.lesson-intro .dialog-heading h2{letter-spacing:-.01em;font-size:22px;font-weight:650}.intro-body{margin-top:-4px}.intro-kicker{color:var(--muted);align-items:center;gap:6px;margin:0 0 10px;font-size:12px;display:flex}.intro-summary{margin:0 0 12px;font-size:15px;line-height:1.5}.intro-meta{flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.intro-meta li{background:var(--panel-muted);color:var(--muted);border-radius:12px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;display:inline-flex}.intro-body h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-size:12px;font-weight:650}.intro-objectives ul{margin:0;padding-left:18px;line-height:1.7}.intro-brief{border-left:3px solid var(--selected-line);background:var(--panel-muted);border-radius:0 8px 8px 0;margin-top:14px;padding:2px 14px 4px}.intro-brief h3{margin-top:12px}.intro-how{color:var(--muted);margin:16px 0 0;font-size:12.5px}.lesson-intro .dialog-actions .primary{border-radius:7px;min-width:150px;min-height:34px;font-size:13px;font-weight:600}.lesson-sheet-handle{display:none}@media (width<=760px){.workspace-with-lesson{flex-direction:column}.workspace-with-lesson>.pane-resizer{display:none}.lesson-pane{border-left:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0;flex-direction:column;width:auto;height:58%;transition:height .22s;display:flex;box-shadow:0 -10px 28px -14px #0007}.lesson-pane.folded{height:auto}.lesson-pane>.lesson-panel{flex:1;min-height:0}.lesson-pane.folded>.lesson-panel{display:none}.lesson-sheet-handle{background:var(--card);min-height:46px;color:var(--text);text-align:left;border:0;border-radius:14px 14px 0 0;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px 6px;font-size:13px;font-weight:600;display:flex;position:relative}.sheet-grip{background:var(--strong-line);border-radius:2px;width:36px;height:4px;position:absolute;top:5px;left:calc(50% - 18px)}.sheet-step{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;animation:.3s sheet-step-in;overflow:hidden}.sheet-step small{color:var(--muted);margin-right:4px;font-weight:600}.sheet-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.lesson-pane .lesson-head{display:none}.lesson-intro{padding:20px 18px 18px}}@keyframes sheet-step-in{0%{opacity:0;transform:translateY(4px)}}.chip-group{color:var(--muted);margin:0 0 8px;font-size:12.5px}.check-list .check-chips{flex-wrap:wrap;gap:6px;display:flex}.check-list .check-chips li{border:1px solid var(--soft-line);background:var(--card);font-family:var(--font-data);border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 5px;font-size:12px;font-weight:600;line-height:1.4;transition:background-color .2s,border-color .2s;display:inline-flex}.check-list .check-chips li:last-child{border-bottom:1px solid var(--soft-line)}.check-list .check-chips li.pass{border-color:var(--success-line);background:var(--success-bg)}.check-list .check-chips li .status-icon{margin-top:0}.circuit-status{border-bottom:1px solid var(--line);background:var(--panel);color:var(--text);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:7px 12px;display:flex}.circuit-status span{overflow-wrap:anywhere;flex:1;min-width:180px}.circuit-status.failed{background:var(--danger-bg);color:var(--danger)}.circuit-status button{border:1px solid var(--line);background:var(--canvas)}.workspace{position:relative}.workspace.view-split>.studio{order:0;flex:var(--studio-share) 1 0;border-right:1px solid var(--line);min-height:0}.workspace.view-split>.workbench{order:2;flex:var(--bench-share) 1 0;min-height:0}.workspace-divider{z-index:20;top:0;bottom:0;left:calc(var(--studio-share) * 1% - 4px);cursor:col-resize;touch-action:none;background:0 0;width:8px;position:absolute}.workspace-divider:after{content:"";background:var(--focus);opacity:0;width:1px;position:absolute;top:0;bottom:0;left:3px}.workspace-divider:hover:after,.workspace-divider:focus-visible:after{opacity:1}.workspace-divider:focus-visible{outline:1px solid var(--focus);outline-offset:-1px}.workbench{container-type:inline-size}.bench-main>.bench-toolbar{white-space:nowrap;gap:4px;height:37px;min-height:37px;padding:0 8px;overflow:auto hidden}.bench-main>.bench-toolbar button{white-space:nowrap;flex-shrink:0;min-height:27px;font-size:11px}.canvas-tools{flex-shrink:0;align-items:center;gap:4px;display:flex}.bench-toolbar .bench-context{flex-shrink:0}.catalog-item{align-items:center;gap:10px}.catalog-item .catalog-name{flex:1;min-width:0}.workbench .catalog.is-collapsed,.workbench .bench-inspector.is-collapsed{display:none}.workbench .catalog.is-open,.workbench .bench-inspector.is-open{display:flex}.workbench .pane-heading{justify-content:space-between;align-items:center;gap:6px;display:flex}.workbench .pane-heading button{padding:4px}@container (width<=850px){.workbench .catalog.is-open,.workbench .bench-inspector.is-open{z-index:15;width:min(280px,100% - 16px);box-shadow:var(--shadow);border:1px solid var(--line);position:absolute;top:46px;bottom:25px}.workbench .catalog.is-open{left:8px}.workbench .bench-inspector.is-open{right:8px}}@media (width<=760px){.workspace-divider{cursor:row-resize;top:calc(var(--studio-share) * 1% - 4px);width:auto;height:8px;bottom:auto;left:0;right:0}.workspace-divider:after{width:auto;height:1px;inset:3px 0 auto}.workspace.view-split>.studio{border-right:0;border-bottom:1px solid var(--line)}.workbench .pane-heading button{min-width:32px;min-height:32px}}.project-header{border-bottom:1px solid var(--line);background:var(--chrome);flex-shrink:0;align-items:center;gap:16px;min-height:44px;padding:0 12px;display:flex}.product-mark,.project-identity,.history-actions,.workspace-switch,.header-utilities{align-items:center;min-width:0;display:flex}.product-mark{flex-shrink:0;gap:8px}.product-mark>svg{color:var(--green)}.product-mark strong{font-size:12px}.project-identity{gap:4px}.project-identity>.app-select{background:0 0;border-color:#0000;max-width:310px;font-weight:600}.project-identity>input{width:240px}.project-save{color:var(--muted);white-space:nowrap;align-items:center;gap:3px;margin-left:8px;font-size:10px;display:inline-flex}.project-save.fault-text{color:var(--danger)}.history-actions{border-left:1px solid var(--soft-line);gap:0;padding-left:9px}.history-actions button{padding:4px 6px}.workspace-switch{align-self:stretch;gap:2px;margin-left:4px}.workspace-switch button{border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 10px;font-size:11px}.workspace-switch button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--text);background:0 0;font-weight:600}.header-utilities{gap:4px;margin-left:auto}.header-utilities button{font-size:11px}.header-utilities kbd{color:var(--muted);font:10px var(--font-data);margin-left:6px}.operating-area{background:var(--chrome);border-bottom:1px solid var(--line);flex-shrink:0}.operating-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;padding:3px 12px;display:flex}.controller-controls,.simulation-controls{align-items:center;gap:5px;min-width:0;min-height:34px;display:flex}.controller-controls{flex-wrap:wrap}.simulation-controls{flex-wrap:wrap;margin-left:auto}.simulation-readings{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;gap:2px;margin-right:5px;font-size:10px;display:flex}.simulation-controls .engine-status{min-height:26px;color:var(--muted);border-color:var(--soft-line);white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:2px 6px;font-size:10px;line-height:1.25;display:flex}.simulation-controls .engine-status.approximate{color:var(--warning);border-color:var(--warning-line)}.simulation-controls .engine-status.slow{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-line)}.simulation-controls .engine-status strong{font-weight:600}.simulation-controls .power-on,.simulation-controls .power-on:hover:not(:disabled){color:var(--green);background:var(--live-bg);border-color:var(--live-line)}.bench-context{color:var(--muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;font-size:10px;display:flex}.selection-summary{border-left:1px solid var(--soft-line);padding-left:10px}.probe-prompt{color:var(--selected-ink);align-items:center;gap:5px;display:inline-flex}.toolbar-label{color:var(--muted);margin-right:5px;font-size:10px}.toolbar-divider{background:var(--soft-line);flex-shrink:0;width:1px;height:16px;margin:0 5px}.controller-controls button,.simulation-controls button,.controller-controls .app-select,.simulation-controls .app-select{min-height:26px;padding:3px 6px;font-size:11px}.controller-controls .app-select{max-width:120px}.simulation-controls .app-select{width:57px}.controller-mode{white-space:nowrap;align-items:center;margin:0 4px;font-size:9px;font-weight:600;display:inline-flex}.controller-image{color:var(--muted);margin:0 6px;font-size:10px}.controller-image.pending{color:var(--warning)}.verification-result{color:var(--green)}.edit-session{border-top:1px solid var(--soft-line);flex-wrap:wrap;align-items:center;gap:8px;padding:4px 12px;font-size:11px;display:flex}.edit-session strong{color:var(--warning)}.edit-session>span{color:var(--muted);margin-right:8px}.status-details{font-size:inherit;min-height:20px;color:var(--muted);padding:0 3px}.signal-tools{flex-wrap:wrap;gap:2px 4px;margin-top:5px;display:flex}.signal-tools button,.signal-tools .app-select{min-height:26px;padding:3px 5px;font-size:10px}.signal-tools .app-select{max-width:100%}.signal-detail{border-bottom:1px solid var(--soft-line);padding:7px 0}.signal-detail>strong{font-size:11px;font-family:var(--font-data);overflow-wrap:anywhere}.signal-detail>small{color:var(--muted);margin-top:3px;display:block}.tag-signal-tools{border-top:1px solid var(--soft-line);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 10px;display:flex}.tag-signal-tools .signal-tools{margin:0}.tag-signal-tools>label{flex-direction:row;align-items:center;font-size:11px}.tag-signal-tools .app-select{padding:3px 6px;font-size:11px}.branch-heading{align-items:center;min-height:26px;padding-left:5px;display:flex}.branch-toggle{min-width:19px;min-height:24px;padding:2px}.branch-label{text-align:left;justify-content:flex-start;min-width:0;padding:3px 4px;font-size:11px}.branch-label svg{color:var(--muted)}.branch-children{margin-left:13px}.branch-current{color:var(--muted);margin-left:auto;margin-right:5px;font-size:9px}.branch-heading.contains-current{background:var(--row-hover)}.diagnostic-count{color:var(--danger);font-variant-numeric:tabular-nums;font-weight:600}.bench-toolbar .segmented button.active{border-color:#0000;border-bottom-color:var(--blue);color:var(--text);background:0 0;font-weight:600}@media (width<=1350px){.project-header{gap:10px}.product-mark strong,.header-utilities kbd{display:none}.project-identity>.app-select{max-width:240px}}@media (width<=900px){.project-header{flex-wrap:wrap;gap:0 8px;padding-block:4px}.project-identity{flex:1}.workspace-switch{order:5;justify-content:center;width:100%;height:31px}.header-utilities span,.project-save{display:none}.project-identity>.app-select{width:100%;max-width:none}.controller-controls,.simulation-controls{width:100%}.simulation-controls{border-top:1px solid var(--soft-line);margin:2px 0 0;padding-top:3px}.controller-image{margin-left:auto}}@media (width<=500px){.project-header{padding-inline:7px}.history-actions{padding-left:3px}.project-identity{min-width:70px}.project-identity>.app-select{padding-inline:2px;font-size:11px}.product-mark{display:none}.operating-row{padding:2px 7px}.toolbar-label{margin-right:1px;font-size:9px}.controller-controls,.simulation-controls{gap:3px}.controller-controls button,.simulation-controls button{min-height:30px}.controller-controls .toolbar-divider{display:none}.controller-mode{font-size:8px}.controller-controls .app-select{max-width:89px}.controller-image{order:2;font-size:9px}.simulation-controls{justify-content:space-between}.header-utilities button,.history-actions button{min-width:30px;min-height:30px;padding:4px}.edit-session{padding:5px 7px}.edit-session>span{width:100%}}.dialog.settings-dialog{width:900px;height:min(740px,100dvh - 40px);max-height:calc(100dvh - 24px);padding:0;overflow:hidden}.settings-dialog[open]{flex-direction:column;display:flex}.dialog.settings-dialog .dialog-heading{border-bottom:1px solid var(--line);background:var(--chrome);margin:0;padding:16px 20px}.settings-layout{flex:1;grid-template-columns:185px minmax(0,1fr);min-height:0;display:grid}.settings-nav{border-right:1px solid var(--line);background:var(--panel-muted);padding:16px 10px}.settings-nav button{justify-content:flex-start;gap:9px;width:100%;margin-bottom:4px;padding:10px}.settings-nav button[aria-current=page]{color:var(--selected-ink);background:var(--selected);border-color:var(--selected-line)}.settings-content{padding:26px 30px;overflow:auto}.settings-content>h2{margin:0 0 8px;font-size:20px}.settings-intro{color:var(--muted);margin-bottom:24px}.settings-section{border:0;border-top:1px solid var(--soft-line);min-width:0;margin:24px 0 0;padding:18px 0 0}fieldset.settings-section{border:0;padding:0}.settings-section legend,.settings-section h3{margin:0 0 8px;padding:0;font-size:13px;font-weight:600}.settings-section p{color:var(--muted);max-width:65ch;margin:4px 0 12px}.settings-choices{flex-wrap:wrap;gap:8px 24px;display:flex}.settings-dialog .settings-choices label{flex-direction:row;align-items:center;gap:7px;min-height:32px;margin:0}.settings-choices input{accent-color:var(--blue);margin:0}.settings-dialog .setting-row{border-bottom:1px solid var(--soft-line);flex-direction:row;justify-content:space-between;align-items:center;gap:24px;margin:0;padding:18px 0;display:flex}.setting-row strong,.setting-row small{display:block}.setting-row small{color:var(--muted);max-width:47ch;margin-top:5px;font-size:12px;line-height:1.5}.setting-row .app-select{min-width:130px}.setting-row input{accent-color:var(--blue)}.setting-row input[type=range]{flex-shrink:0;width:145px}.setting-row input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.accent-presets{flex-wrap:wrap;gap:6px;display:flex}.accent-presets button{border-color:var(--line);min-height:34px}.accent-swatch{border:1px solid var(--strong-line);border-radius:50%;width:13px;height:13px}.settings-dialog .custom-accent{flex-direction:row;align-items:center;gap:12px;margin:16px 0 8px}.settings-note{font-size:11px;line-height:1.5}.theme-preview{border:1px solid var(--line);margin:20px 0 16px}.preview-heading{background:var(--heading);border-bottom:1px solid var(--line);padding:7px 12px;font-weight:600}.preview-content{background:var(--canvas);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 12px;display:flex}.preview-content>span:first-child{margin-right:auto}.preview-content small{color:var(--muted);margin-top:4px;display:block}.preview-selection{background:var(--selected);color:var(--selected-ink);padding:6px 9px}.settings-secondary{border-color:var(--line)}.settings-footer{border-top:1px solid var(--line);background:var(--chrome);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.settings-footer>span{color:var(--muted);font-size:11px}.settings-footer button{border-color:var(--line);flex-shrink:0}.settings-facts{margin:24px 0}.settings-facts>div{border-bottom:1px solid var(--soft-line);grid-template-columns:145px 1fr;gap:12px;padding:12px 0;line-height:1.6;display:grid}.settings-facts dt{color:var(--muted)}.settings-facts dd{margin:0}.quality-levels dl{margin:8px 0 0}.quality-levels dl>div{border:1px solid var(--soft-line);border-bottom-width:0;padding:10px 12px}.quality-levels dl>div:last-child{border-bottom-width:1px}.quality-levels dl>div.current{background:var(--selected);border-color:var(--selected-line);color:var(--selected-ink)}.quality-levels dt{align-items:center;gap:8px;font-weight:600;display:flex}.quality-levels dd{color:var(--muted);margin:4px 0 0;line-height:1.5}.quality-levels .current dd{color:inherit}.quality-current{border:1px solid var(--selected-line);background:var(--canvas);color:var(--selected-ink);padding:1px 6px;font-size:11px;font-weight:600}.benchmark-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 14px;display:flex}.benchmark-actions button{gap:7px}.benchmark-running{color:var(--text);align-items:center;gap:7px;display:inline-flex}.benchmark-meta,.settings-section p.benchmark-note{color:var(--muted);margin:0;font-size:12px}.settings-section p.benchmark-failure{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-line);padding:8px 10px}.benchmark-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:6px 0 12px}.benchmark-table caption{text-align:left;color:var(--muted);padding-bottom:6px;font-size:12px}.benchmark-table th,.benchmark-table td{border:1px solid var(--soft-line);text-align:right;padding:6px 10px}.benchmark-table thead th{background:var(--heading);font-weight:600}.benchmark-table th[scope=row]{text-align:left;font-weight:400}.benchmark-table td.meets{background:var(--live-bg)}.benchmark-table td.marginal{background:var(--warning-bg);color:var(--warning)}.benchmark-table td.short{background:var(--danger-bg);color:var(--danger);font-weight:600}.settings-section p.benchmark-result{color:var(--text)}@media (width<=760px){.dialog.settings-dialog{border:0;border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.settings-layout{flex-direction:column;display:flex}.settings-nav{border-right:0;border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;padding:6px;display:flex;overflow-x:auto}.settings-nav button{flex:1;gap:5px;width:auto;margin:0;padding:10px 7px;font-size:12px}.settings-nav svg{display:none}.settings-content{flex:1;padding:22px 18px}.settings-footer{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 18px}.settings-footer button{align-self:flex-end;min-height:40px}.settings-dialog .setting-row{flex-wrap:wrap;gap:12px}.setting-row>span{flex:1;min-width:190px}.settings-choices{gap:8px 16px}.settings-choices label,.accent-presets button,.settings-secondary{min-height:40px}.settings-facts>div{grid-template-columns:1fr;gap:4px}.benchmark-table th,.benchmark-table td{padding:6px}.benchmark-actions button{min-height:40px}}.learn-shell{background:var(--page);height:100dvh;color:var(--text);min-width:360px;font-size:13px;overflow:auto}.learn-top{z-index:30;background:color-mix(in srgb, var(--chrome) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:20px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.learn-brand{color:var(--text);white-space:nowrap;align-items:center;gap:9px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.learn-brand svg{color:var(--green)}.learn-nav{align-self:stretch;gap:4px;display:flex}.learn-nav a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 10px;font-weight:500;text-decoration:none;display:inline-flex}.learn-nav a:hover{color:var(--text)}.learn-nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--blue);font-weight:650}.learn-main{max-width:1040px;margin:0 auto;padding:30px 24px 72px;animation:.26s cubic-bezier(.2,.8,.2,1) page-in}.learn-main.wide{max-width:1320px}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.learn-button{border:1px solid var(--line);background:var(--card);min-height:34px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.learn-button:hover:not(:disabled){background:var(--hover);border-color:var(--strong-line)}.learn-button.primary{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.learn-button.primary:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}.learn-button.danger{color:var(--danger)}.learn-button.small{border-radius:6px;min-height:28px;padding:0 10px;font-size:12px}.learn-button:disabled{opacity:.6;cursor:default}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:650;line-height:1.2}.page-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:650}.crumb{color:var(--muted);text-decoration:none}.crumb:hover{color:var(--selected-ink);text-decoration:underline}.page-lead{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:14px;display:flex}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.learn-section{margin-top:30px}.section-title{justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 12px;font-size:15px;font-weight:650;display:flex}.section-link{color:var(--selected-ink);align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.learn-card{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);border-radius:12px;padding:18px 20px}.learn-card h2{align-items:center;gap:8px;margin:0 0 12px;font-size:15px;display:flex}.learn-card label{margin-bottom:12px;font-size:12px;font-weight:600}.learn-card input,.learn-card textarea{border-radius:6px;font-size:13px;font-weight:400}.card-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.learn-loading{color:var(--muted);align-items:center;gap:10px;padding:30px 0;display:flex}.learn-problem{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger);white-space:pre-wrap;font:inherit;border-radius:8px;margin:0 0 16px;padding:10px 14px}.learn-ok{background:var(--success-bg);color:var(--success);border-radius:8px;margin:0 0 16px;padding:10px 14px}.learn-banner{background:var(--info-bg);border:1px solid var(--selected-line);border-radius:10px;align-items:center;gap:12px;margin:0 0 18px;padding:12px 16px;display:flex}.learn-banner p{flex:1;margin:0;line-height:1.5}.learn-banner.attention{background:var(--warning-bg);border-color:var(--warning-line)}.learn-banner.attention svg{color:var(--warning)}.learn-empty{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:36px 20px;display:flex}.learn-empty strong{color:var(--text);font-size:14px}.learn-empty p{margin:0 0 10px}.learn-empty-icon{background:var(--panel-muted);width:44px;height:44px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.muted-line{color:var(--muted);align-items:center;gap:8px;margin:4px 0;display:flex}.field-help{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:400;line-height:1.5}.optional{color:var(--muted);font-size:11px;font-weight:400}.saved-note{color:var(--success);margin-left:10px;font-weight:600}.pill{white-space:nowrap;border:1px solid #0000;border-radius:11px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.pill.idle{background:var(--panel-muted);color:var(--muted);border-color:var(--soft-line)}.pill.progress{background:var(--info-bg);color:var(--selected-ink);border-color:var(--selected-line)}.pill.submitted{background:var(--panel-muted);color:var(--text);border-color:var(--line)}.pill.complete{background:var(--success-bg);color:var(--success);border-color:var(--success-line)}.pill.attention{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-line)}.progress-bar{background:var(--soft-line);border-radius:4px;min-width:80px;height:7px;display:block;position:relative;overflow:hidden}.progress-bar.small{height:4px}.progress-bar>i{background:var(--blue);border-radius:4px;transition:width .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.continue-card{background:var(--card);border:1px solid var(--selected-line);box-shadow:var(--card-shadow);border-radius:14px;align-items:center;gap:18px;padding:18px 22px;display:flex}.continue-icon{background:var(--info-bg);width:54px;height:54px;color:var(--selected-ink);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.continue-body{flex:1;min-width:0}.continue-body h2{margin:0 0 10px;font-size:18px}.continue-meta{color:var(--muted);margin:8px 0 0;font-size:12px}.class-block+.class-block{margin-top:22px}.class-block-title{align-items:baseline;gap:10px;margin:0 0 8px;font-size:13px;display:flex}.class-block-title span{color:var(--muted);font-weight:400}.assignment-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assignment-row{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.assignment-icon{background:var(--panel-muted);width:40px;height:40px;color:var(--muted);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.assignment-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.assignment-text strong{font-size:14px}.assignment-text>span{color:var(--muted);line-height:1.45}.assignment-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:12px;display:flex}.assignment-meta svg{margin-right:-6px}.assignment-status{flex-direction:column;align-items:flex-end;gap:6px;min-width:130px;display:flex}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.lesson-card{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.lesson-card h3{margin:0;font-size:15px}.lesson-card p:not(.page-kicker){color:var(--muted);flex:1;margin:0 0 8px;line-height:1.5}.lesson-card-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.lesson-card-foot>span{align-items:center;gap:5px;display:inline-flex}.lesson-card .progress-bar{margin-top:10px}.project-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.project-list a{background:var(--card);border:1px solid var(--soft-line);color:var(--text);border-radius:9px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.project-list a span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-list a:hover{border-color:var(--selected-line)}.setup-steps{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px;display:grid}.setup-steps>div{background:var(--card);border:1px solid var(--soft-line);border-radius:12px;gap:12px;padding:14px 16px;display:flex}.setup-steps>div.done{opacity:.65}.setup-number{background:var(--info-bg);width:28px;height:28px;color:var(--selected-ink);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.setup-steps .done .setup-number{background:var(--success-bg);color:var(--success)}.setup-steps strong{display:block}.setup-steps small{color:var(--muted);line-height:1.45}.class-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.class-card{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);color:var(--text);border-radius:12px;flex-direction:column;gap:6px;padding:16px 18px;text-decoration:none;transition:border-color .14s,transform .14s,box-shadow .14s;display:flex}.class-card:hover{border-color:var(--selected-line);transform:translateY(-1px)}.class-card.archived{opacity:.7}.class-card-term{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:650}.class-card>strong{font-size:16px}.class-card-stats{color:var(--muted);gap:14px;display:flex}.class-card-stats span,.class-card-code{align-items:center;gap:5px;display:inline-flex}.class-card-code{border-top:1px solid var(--soft-line);color:var(--muted);margin-top:6px;padding-top:8px;font-size:12px}.class-card-code code{color:var(--text);letter-spacing:.04em;font-size:12px;font-weight:700}.join-code{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:relative}.join-code>span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:650}.join-code strong{font-family:var(--font-data);letter-spacing:.08em;font-size:18px}.join-code em{color:var(--success);font-size:12px;font-style:normal;position:absolute;top:calc(100% + 6px);right:0}.learn-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:18px;display:flex}.learn-tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-weight:600;text-decoration:none}.learn-tabs a:hover{color:var(--text)}.learn-tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--blue)}.grid-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.grid-toolbar .field-help{margin:0}.updated{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.grid-scroll{border:1px solid var(--soft-line);background:var(--card);box-shadow:var(--card-shadow);border-radius:12px;overflow:auto}.progress-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.progress-grid th,.progress-grid td{white-space:normal;border-right:0;border-bottom:1px solid var(--soft-line);vertical-align:middle;padding:0}.progress-grid thead th{background:var(--panel-muted);min-width:180px;padding:10px 14px;font-weight:600;position:sticky;top:0}.progress-grid thead th:first-child,.progress-grid tbody th{z-index:3;min-width:200px;position:sticky;left:0}.progress-grid thead th:first-child{z-index:4}.progress-grid thead th:first-child,.progress-grid tbody th,.progress-grid .grid-cell,.progress-grid thead th{width:220px}.progress-grid .grid-fill{width:auto;min-width:0}.progress-grid tbody th{background:var(--card);padding:10px 14px;font-weight:400}.grid-head,.grid-student{flex-direction:column;gap:2px;display:flex}.grid-head small,.grid-student small{color:var(--muted);font-size:11.5px;font-weight:400}.grid-cell>a,.grid-cell>.grid-empty{color:inherit;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-height:58px;padding:10px 14px;text-decoration:none;display:flex}.grid-cell>a:hover{background:var(--row-hover)}.grid-cell>a small{color:var(--muted);font-size:11px}.grid-cell.attention>a{background:color-mix(in srgb, var(--warning-bg) 70%, transparent)}.progress-grid tr:last-child>*{border-bottom:0}.progress-grid tr:hover td{background:0 0}.learn-table{border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--soft-line);border-radius:12px;width:100%;font-size:12.5px;overflow:hidden}.learn-table th{background:var(--panel-muted);border-right:0;border-bottom:1px solid var(--soft-line);padding:9px 12px;font-weight:600;position:static}.learn-table td{white-space:normal;vertical-align:middle;border-right:0;padding:9px 12px}.learn-table tr:last-child td{border-bottom:0}.learn-table td small{color:var(--muted);margin-top:2px;line-height:1.4;display:block}.learn-table td .pill{margin-left:8px}.learn-table tfoot td{background:var(--panel-muted);border-top:1px solid var(--soft-line);font-weight:650}.row-actions{justify-content:flex-end;gap:6px;display:flex}.assignment-admin{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assignment-admin>li{background:var(--card);border:1px solid var(--soft-line);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.assignment-admin strong{font-size:14px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:14px;display:grid}.settings-grid .learn-card>label,.settings-grid form>label{display:flex}.big-code{font-family:var(--font-data);letter-spacing:.1em;margin:4px 0 12px;font-size:26px;font-weight:700}.credentials{gap:8px;margin:12px 0;display:grid}.credentials>div{background:var(--panel-muted);border-radius:8px;justify-content:space-between;gap:16px;padding:10px 12px;display:flex}.credentials dt{color:var(--muted)}.credentials dd{-webkit-user-select:all;user-select:all;margin:0;font-size:15px;font-weight:700}.native-dialog.wide-dialog{width:720px}.label-text{align-items:baseline;gap:6px;display:flex}.form-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.form-pair input{width:100%;min-width:0;min-height:34px}.due-field{background:var(--card);border:1px solid var(--line);width:100%;height:34px;min-height:34px;color:var(--text);border-radius:6px;flex:none;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;font-weight:500;display:flex}.due-field.empty{color:var(--muted)}.due-field svg{color:var(--muted);flex-shrink:0}.due-popup{border-radius:8px;width:286px;padding:12px}.due-month{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.due-month strong{font-size:13px}.due-month button{border-color:#0000;justify-content:center;width:28px;height:28px;padding:0}.due-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.due-weekday{text-align:center;color:var(--muted);padding-bottom:4px;font-size:10.5px;font-weight:650}.due-day{font-variant-numeric:tabular-nums;border-color:#0000;border-radius:6px;justify-content:center;height:32px;padding:0}.due-day.outside,.due-day.past{color:var(--muted)}.due-day.outside{opacity:.55}.due-day.today{box-shadow:inset 0 0 0 1px var(--blue);font-weight:700}.due-day[aria-pressed=true]{background:var(--blue);color:var(--on-accent)}.due-time{border-top:1px solid var(--soft-line);color:var(--muted);align-items:center;gap:10px;margin-top:10px;padding-top:10px;font-size:12px;display:flex}.due-time>button{flex:1}.due-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.due-actions button{min-height:28px;font-size:12px}.lesson-picker{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.lesson-picker button,.grading-mode button{text-align:left;white-space:normal;border:1px solid var(--line);background:var(--card);border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}.lesson-picker button.chosen,.grading-mode button.chosen{border-color:var(--blue);background:var(--selected);box-shadow:0 0 0 1px var(--blue)}.lesson-picker strong{font-size:14px}.lesson-picker span:not(.page-kicker){color:var(--muted);line-height:1.4}.lesson-picker small{color:var(--muted);margin-top:4px}.edit-assignment fieldset,.bands,.editor-main fieldset{border:1px solid var(--soft-line);border-radius:10px;margin:14px 0 0;padding:12px 14px}.edit-assignment legend,.bands legend{padding:0 6px;font-weight:650}.inline-field{grid-template-columns:minmax(130px,40%) 1fr;align-items:center;gap:10px;margin:8px 0!important;font-weight:500!important;display:grid!important}.with-unit{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.with-unit input{width:72px}.class-choices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.class-choices button{border:1px solid var(--line);border-radius:9px;justify-content:space-between;width:100%;padding:12px 14px;display:flex}.class-choices span{color:var(--muted)}.code-input{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;font-size:16px!important}.grading-mode{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.grading-mode span{color:var(--muted);font-size:12px;line-height:1.4}.criteria-table{margin-top:8px}.criteria-table td:first-child{width:70%}.bare-input{width:100%;font-weight:600;background:0 0!important;border-color:#0000!important;padding:3px 4px!important}.bare-input:focus{border-color:var(--selected-line)!important;background:var(--card)!important}.points-input{font-variant-numeric:tabular-nums;width:76px}.add-criterion{color:var(--muted);align-items:center;gap:8px;margin-top:10px;display:flex}.band-row{align-items:center;gap:8px;margin:6px 0;display:flex}.band-row>input{flex:1}.pack-section{margin-bottom:34px}.pack-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px;display:flex}.pack-header h2{align-items:center;gap:10px;margin:0 0 4px;font-size:18px;display:flex}.pack-header p{color:var(--muted);margin:0}.pack-description{max-width:640px;line-height:1.5;margin-top:6px!important}.pack-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.library-lessons{gap:10px;display:grid}.library-lesson{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);border-radius:14px;gap:18px;padding:18px 20px;display:flex}.lesson-number{background:var(--info-bg);width:42px;height:42px;color:var(--selected-ink);border-radius:12px;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;display:grid}.library-lesson-body{flex:1;min-width:0}.library-lesson h3{margin:0 0 4px;font-size:16px}.library-lesson p{color:var(--muted);margin:0 0 8px;line-height:1.5}.lesson-facts{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0 0 10px;padding:0;font-size:12px;list-style:none;display:flex}.lesson-facts li{align-items:center;gap:5px;display:inline-flex}.alignment{flex-wrap:wrap;gap:6px;display:flex}.alignment span{background:var(--panel-muted);color:var(--muted);border:1px solid var(--soft-line);border-radius:10px;padding:2px 9px;font-size:11.5px}.part-chips{counter-reset:part;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.part-chips li{counter-increment:part;background:var(--panel-muted);border-radius:6px;padding:3px 9px;font-size:12px}.part-chips li:before{content:counter(part) ". ";color:var(--muted)}.objectives{margin-top:10px;font-size:12.5px}.objectives summary{cursor:pointer;color:var(--selected-ink);font-weight:600}.objectives ul{margin:6px 0 0;padding-left:18px;line-height:1.6}.library-lesson-actions{flex-direction:column;gap:8px;min-width:120px;display:flex}.review-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.review-main,.review-side{gap:14px;display:grid}.signoff-card{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--card-shadow);border-radius:12px;align-items:center;gap:14px;padding:16px 18px;display:flex}.signoff-card>svg{color:var(--muted)}.signoff-card>div{flex:1}.signoff-card strong{font-size:14px}.signoff-card p{color:var(--muted);margin:2px 0 0}.signoff-card.ready{border-color:var(--warning-line);background:var(--warning-bg)}.signoff-card.ready>svg{color:var(--warning)}.signoff-card.signed{border-color:var(--success-line);background:var(--success-bg)}.signoff-card.signed>svg{color:var(--success)}.grade-card.large{box-shadow:var(--card-shadow);margin:0}.grade-card.large>header strong{font-size:26px}.review-criteria{border:0;border-radius:0}.review-criteria .required{color:var(--muted);font-size:11px;font-style:normal;font-weight:500}.criterion-result{align-items:flex-start;gap:6px;line-height:1.4;display:inline-flex}.criterion-result svg{flex-shrink:0;margin-top:2px}.criterion-result.met svg{color:var(--success)}.criterion-result.unmet svg{color:var(--danger)}.overridden{color:var(--warning);font-size:11px;font-style:normal;display:block}.feedback-input{border-radius:8px;width:100%;min-height:96px;font-size:13px;line-height:1.5}.review-part+.review-part{margin-top:12px}.review-part h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:650}.review-part ul{margin:0;padding:0;list-style:none}.review-part li{border-bottom:1px solid var(--soft-line);gap:9px;padding:6px 0;display:flex}.review-part li .status-icon{margin-top:1px}.review-step{flex-direction:column;gap:1px;min-width:0;display:flex}.review-step small{color:var(--muted);align-items:center;gap:3px;font-size:11.5px;display:inline-flex}.review-test{color:var(--danger);gap:4px;margin-top:2px;font-size:11.5px;line-height:1.4;display:inline-flex}.timeline{max-height:340px;margin:0;padding:0;list-style:none;overflow:auto}.timeline li{border-bottom:1px solid var(--soft-line);grid-template-columns:76px 1fr;gap:8px;padding:6px 0;line-height:1.4;display:grid}.timeline time{color:var(--muted);font-size:11.5px}.editor-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.editor-tree{background:var(--card);border:1px solid var(--soft-line);border-radius:12px;flex-direction:column;gap:2px;max-height:calc(100dvh - 100px);padding:8px;display:flex;position:sticky;top:70px;overflow:auto}.editor-tree button{text-align:left;white-space:normal;border-radius:6px;justify-content:flex-start;gap:4px;width:100%;padding:6px 8px;display:flex}.editor-tree button.selected{background:var(--selected);border-color:var(--selected-line)}.tree-part{padding-left:10px}.tree-step{color:var(--muted);font-size:12px;padding-left:22px!important}.tree-add{color:var(--selected-ink);font-size:12px}.editor-main{gap:14px;min-width:0;display:grid;border:0!important;margin:0!important;padding:0!important}.editor-main label{display:flex}.editor-main textarea,.editor-main input:not([type=checkbox]){width:100%}.json-field textarea{font-family:var(--font-data);font-size:12px;line-height:1.45}.field-problem{color:var(--danger);font-weight:400}.station-facts{background:var(--panel-muted);border-radius:8px;padding:10px 12px;line-height:1.6}.account-controls{align-items:center;gap:4px;display:flex}.account-trigger{border-radius:20px;gap:8px;padding:3px 8px 3px 3px}.account-controls.in-workspace .account-trigger{padding:2px}.account-name{text-overflow:ellipsis;max-width:160px;font-weight:600;overflow:hidden}.avatar{letter-spacing:.02em;background:var(--info-bg);width:28px;height:28px;color:var(--selected-ink);border:1px solid var(--selected-line);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.avatar.teacher{background:var(--success-bg);color:var(--success);border-color:var(--success-line)}.avatar.large{width:40px;height:40px;font-size:14px}.account-signin{font-weight:600}.account-menu{z-index:200;background:var(--card);border:1px solid var(--soft-line);width:260px;box-shadow:var(--shadow);color:var(--text);border-radius:12px;padding:6px;font-size:13px;animation:.14s ease-out pop-in}.account-who{border-bottom:1px solid var(--soft-line);align-items:center;gap:10px;margin-bottom:4px;padding:8px 8px 10px;display:flex}.account-who>span:last-child{flex-direction:column;min-width:0;display:flex}.account-who small{color:var(--muted)}.account-menu nav button{border-radius:7px;justify-content:flex-start;gap:10px;width:100%;min-height:34px;padding:4px 10px;display:flex}.account-menu nav button svg{color:var(--muted)}.account-menu nav button.danger,.account-menu nav button.danger svg{color:var(--danger)}.auth-screen{background:radial-gradient(1200px 600px at 10% -10%, color-mix(in srgb, var(--blue) 10%, transparent), transparent 60%), var(--page);place-items:center;padding:32px 16px;font-size:13px;display:grid;position:fixed;inset:0;overflow:auto}.auth-layout{grid-template-columns:minmax(0,420px) minmax(0,360px);align-items:center;gap:28px;width:min(820px,100%);display:grid}.auth-card{background:var(--card);border:1px solid var(--soft-line);box-shadow:var(--shadow);border-radius:16px;padding:28px 30px 26px;animation:.28s cubic-bezier(.2,.8,.2,1) page-in}.auth-brand{align-items:center;gap:10px;margin:0 0 20px;font-size:18px;font-weight:650;display:flex}.auth-brand svg{color:var(--green)}.auth-card h2{margin:0 0 6px;font-size:18px}.auth-lead{color:var(--muted);margin:0 0 14px;line-height:1.5}.auth-tabs{background:var(--panel-muted);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;display:grid}.auth-tabs button{min-height:32px;color:var(--muted);border-radius:7px;font-weight:600}.auth-tabs button[aria-selected=true]{background:var(--card);color:var(--text);border-color:var(--soft-line);box-shadow:0 1px 2px #0000001a}.auth-card label,.password-form label{margin-bottom:12px;font-size:12px;font-weight:600}.auth-card input,.password-form input{border-radius:8px;min-height:40px;font-size:16px;font-weight:400}.auth-submit{border-radius:9px;width:100%;min-height:42px;margin-top:6px;font-size:14px;font-weight:650}.auth-problem{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger);border-radius:8px;margin:4px 0 8px;padding:9px 12px;line-height:1.45}.auth-ok{color:var(--success);margin:4px 0 8px}.auth-switch{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:18px 0 0;font-size:12.5px;display:flex}.auth-aside{color:var(--text)}.auth-aside h2{letter-spacing:-.01em;margin:0 0 16px;font-size:22px;font-weight:650;line-height:1.25}.auth-aside ul{gap:16px;margin:0 0 22px;padding:0;list-style:none;display:grid}.auth-aside li{color:var(--muted);gap:12px;line-height:1.5;display:flex}.auth-aside li svg{color:var(--selected-ink);margin-top:2px}.auth-aside li strong{color:var(--text);display:block}.auth-guest{color:var(--selected-ink);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.auth-guest:hover{text-decoration:underline}.password-form{max-width:420px}@media (width<=900px){.auth-layout{grid-template-columns:1fr;max-width:440px}.review-layout,.editor-layout{grid-template-columns:1fr}.editor-tree{max-height:none;position:static}.setup-steps{grid-template-columns:1fr}}@media (width<=760px){.learn-top{gap:10px;padding:0 12px}.learn-brand span{display:none}.learn-nav a{padding:0 6px}.learn-main{padding:20px 14px 56px}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:22px}.assignment-row{flex-wrap:wrap}.assignment-text{flex:calc(100% - 60px)}.assignment-status{flex:1;align-items:flex-start;min-width:0;padding-left:54px}.continue-card{flex-wrap:wrap}.library-lesson{flex-direction:column}.library-lesson-actions{flex-direction:row}.form-pair,.lesson-picker,.grading-mode{grid-template-columns:1fr}.auth-card{padding:22px 18px}.account-name{display:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#25313a;--muted:#596873;--disabled:#849099;--canvas:#fff;--panel:#f7f9fa;--panel-muted:#f2f4f6;--chrome:#e9edf1;--heading:#e6edf2;--toolbar:#f4f6f7;--hover:#dfe8ee;--pressed:#cbdcea;--selected:#deebf6;--selected-ink:#154c7b;--selected-line:#89afce;--row-hover:#f0f7fb;--line:#bdc7cf;--soft-line:#d7dfe4;--strong-line:#899aa5;--blue:#1761a4;--blue-hover:#124d84;--on-accent:#fff;--focus:#1761a4;--green:#116f37;--live-bg:#daf1da;--live-line:#9dbfa8;--comment:#407036;--danger:#b23328;--danger-bg:#fbede9;--danger-line:#ca978e;--warning:#654b12;--warning-bg:#f5ecd4;--warning-line:#d1bb7e;--ladder-ink:#303b43;--ladder-number:#1d3fc4;--ladder-power:#1c9e3a;--bench:#e3e9ec;--bench-grid:#bcc6cb;--wire-casing-toward:#0c1317;--schematic-casing-opacity:0;--scroll-thumb:#aebbc5;--meter-bg:#dae2ce;--meter-ink:#35432b;--meter-line:#9eac91;--scrim:#1b304157;--shadow:0 12px 40px #172a3e33;--control-shadow:0 2px 6px #23394a1f;--plot-1:#19734a;--plot-2:#1761a4;--plot-3:#b23328;--plot-4:#795b16;--page:var(--panel-muted);--card:var(--canvas);--card-shadow:0 1px 2px #17293a0f, 0 6px 16px -10px #17293a33;--success:#12733a;--success-bg:#e2f3e7;--success-line:#a5d3b4;--info-bg:#e8f1fa}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#dde5ec;--muted:#adbcc9;--disabled:#7d8b97;--canvas:#181f26;--panel:#202830;--panel-muted:#242e38;--chrome:#1c242c;--heading:#2c3742;--toolbar:#232d37;--hover:#354452;--pressed:#415668;--selected:#2c4962;--selected-ink:#c1e2ff;--selected-line:#658aab;--row-hover:#273745;--line:#435260;--soft-line:#34424e;--strong-line:#8295a5;--blue:#3176ad;--blue-hover:#2f6fa3;--on-accent:#fff;--focus:#8bc7fa;--green:#88dfa4;--live-bg:#20442f;--live-line:#4d9167;--comment:#a5cf96;--danger:#ffb0a5;--danger-bg:#492c2a;--danger-line:#a56960;--warning:#efd390;--warning-bg:#423921;--warning-line:#9c8851;--ladder-ink:#c1cdd7;--ladder-number:#8fb0ff;--ladder-power:#53d275;--bench:#232d36;--bench-grid:#435260;--wire-casing-toward:#e6edf3;--schematic-casing-opacity:1;--scroll-thumb:#607385;--meter-bg:#263b2b;--meter-ink:#b0df9c;--meter-line:#637e58;--scrim:#060c12b3;--shadow:0 12px 40px #0006;--control-shadow:0 2px 6px #00000040;--plot-1:#88dfa4;--plot-2:#8bc7fa;--plot-3:#ffb0a5;--plot-4:#efd390;--page:var(--canvas);--card:var(--panel);--card-shadow:0 1px 2px #00000059, 0 8px 20px -12px #000000b3;--success:#86dca2;--success-bg:#1d3a28;--success-line:#3d7552;--info-bg:#1f3044}:root[data-surface=neutral]{--text:#303030;--muted:#626262;--canvas:#fff;--panel:#f8f8f8;--panel-muted:#f3f3f3;--chrome:#ececec;--heading:#e8e8e8;--toolbar:#f5f5f5;--hover:#e4e4e4;--pressed:#d6d6d6;--line:#c2c2c2;--soft-line:#ddd;--strong-line:#939393;--bench:#e7e7e7;--bench-grid:#c3c3c3}:root[data-surface=warm]{--text:#36312b;--muted:#696157;--canvas:#fffdfa;--panel:#faf7f2;--panel-muted:#f4f0e9;--chrome:#ede8e0;--heading:#e9e3d9;--toolbar:#f6f2ec;--hover:#e6dfd4;--pressed:#d9d0c2;--line:#c7bfb2;--soft-line:#dfd8cd;--strong-line:#9b907f;--bench:#e8e2d8;--bench-grid:#c8bfb1}:root[data-theme=dark][data-surface=neutral]{--text:#e4e4e4;--muted:#b8b8b8;--canvas:#1c1c1c;--panel:#252525;--panel-muted:#2b2b2b;--chrome:#222;--heading:#333;--toolbar:#292929;--hover:#3d3d3d;--pressed:#4d4d4d;--line:#525252;--soft-line:#404040;--strong-line:#909090;--bench:#2a2a2a;--bench-grid:#4a4a4a}:root[data-theme=dark][data-surface=warm]{--text:#e8e2d9;--muted:#c1b7a9;--canvas:#221f1b;--panel:#2b2722;--panel-muted:#302b25;--chrome:#26221e;--heading:#39322a;--toolbar:#2e2923;--hover:#443b30;--pressed:#544839;--line:#5b5043;--soft-line:#463d33;--strong-line:#a2937f;--bench:#2e2822;--bench-grid:#53483c}:root[data-theme]{--blue:var(--accent-color,#1761a4);--blue-hover:color-mix(in srgb, var(--blue), black 18%);--focus:var(--accent-focus,#1761a4);--selected:color-mix(in srgb, var(--focus) 13%, var(--canvas));--selected-ink:var(--text);--selected-line:color-mix(in srgb, var(--focus) 65%, var(--canvas));--row-hover:color-mix(in srgb, var(--focus) 6%, var(--canvas))}:root[data-strong-borders=true]{--line:var(--strong-line);--soft-line:var(--strong-line)}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before,:root[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.react-flow{--xy-controls-button-background-color:var(--panel);--xy-controls-button-background-color-hover:var(--hover);--xy-controls-button-color:var(--text);--xy-controls-button-color-hover:var(--text);--xy-controls-button-border-color:var(--line);--xy-edge-label-color:var(--text);--xy-edge-label-background-color:var(--panel)}.wire-outline{stroke:color-mix(in srgb, var(--wire) 58%, var(--wire-casing-toward));fill:none;pointer-events:none}.wire.schematic .wire-outline{stroke-opacity:var(--schematic-casing-opacity)}.equipment-node,.equipment-scope{--housing:#353b3f;--housing-deep:#202528;--housing-lift:#454c51;--door:#3f464b;--silk:#eef1ef;--silk-muted:#a4adb2;--enclosure:#dfe2dd;--enclosure-deep:#c3c9c4;--enclosure-edge:#99a29f;--ink:#273034;--ink-muted:#647079;--paper:#e6e4da;--legend:#1b2023;--legend-ink:#f4f6f5;--led-green:#3be070;--led-green-off:#2f4436;--led-amber:#ffb828;--led-amber-off:#4d4128;--led-red:#ff4d3d;--led-red-off:#4b2c29;--mark-ink:var(--ink)}.equipment-node{color:var(--ink);font-family:Segoe UI,Tahoma,sans-serif;position:relative;overflow:visible}.material-charcoal{--mark-ink:#e4e9e7}.material-board{--mark-ink:#eef3e9}.equipment-node.schematic{--mark-ink:var(--muted)}.equipment-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;height:16px;color:var(--text);font-size:10.5px;font-weight:600;line-height:16px;position:absolute;top:-24px;left:-10px;right:-10px;overflow:hidden}.equipment-label.at-bottom{top:calc(100% + 8px)}.equipment-label.at-left,.equipment-label.at-right{width:max-content;max-width:96px;top:50%;transform:translateY(-50%)}.equipment-label.at-left{text-align:right;left:auto;right:calc(100% + 8px)}.equipment-label.at-right{text-align:left;left:calc(100% + 8px);right:auto}.equipment-label.silkscreen{color:#eef3e9;letter-spacing:.4px;text-align:left;max-width:70px;height:10px;font-size:8px;font-weight:700;line-height:10px;top:12px;left:16px;right:auto}.equipment-label.legend-plate{background:var(--legend);height:15px;color:var(--legend-ink);letter-spacing:.5px;border-radius:1.5px;padding:0 4px;font-size:8.5px;font-weight:700;line-height:15px;top:8px;left:22px;right:22px;box-shadow:inset 0 0 0 1px #00000059,0 1px #ffffffa6}.equipment-label.legend-plate.long{letter-spacing:.2px;font-size:7.4px;left:16px;right:16px}.equipment-face{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:absolute}.front-art{width:100%;height:100%;display:block;overflow:visible}.front-art text{-webkit-user-select:none;user-select:none;font-family:Segoe UI,Tahoma,sans-serif;font-size:6px}.front-art .silk{fill:var(--silk)}.front-art .silk.muted{fill:var(--silk-muted)}.front-art .print{fill:var(--ink)}.front-art .print.muted{fill:var(--ink-muted)}.front-art .strong{font-size:8px;font-weight:700}.front-art .tiny{letter-spacing:.2px;font-size:5.6px}.front-art .micro{letter-spacing:.2px;font-size:4.6px}.front-art .slot-mark{letter-spacing:.8px;font-size:7px;font-weight:700}.front-art .housing{fill:var(--housing);stroke:var(--housing-deep)}.front-art .housing-lift{fill:var(--housing-lift)}.front-art .sheen{fill:url(#eq-sheen);pointer-events:none}.front-art .window{fill:#14181a;stroke:#0b0d0e;stroke-width:.8px}.front-art .door{fill:var(--door);stroke:var(--housing-deep);stroke-width:.8px}.front-art .door-label{fill:var(--paper)}.front-art .door-hinge{stroke:var(--housing-deep);stroke-width:1px}.front-art .band-dc{fill:#2f6fb4}.front-art .band-relay{fill:#d3842b}.front-art .band-analog{fill:#3d8a51}.front-art .band-counter{fill:#7658a6}.front-art .recess{fill:#262b2e;stroke:#171b1d}.front-art .switch-slot{fill:#0f1214}.front-art .switch-lever{fill:#cdd3d5;stroke:#6c767b;stroke-width:.8px}.front-art .port{fill:#101315;stroke:#59636a;stroke-width:.6px}.front-art .jack{fill:#bcc3c6;stroke:#6b757b;stroke-width:.8px}.front-art .jack-mouth{fill:#15191b}.front-art .vents rect{fill:#1e2225}.front-art .rtb-body{fill:#272c2f}.front-art .rtb-tick{stroke:#464d52;stroke-width:.8px}.front-art .led{stroke:#0000004d;stroke-width:.4px}.front-art .led-green{fill:var(--led-green-off)}.front-art .led-amber{fill:var(--led-amber-off)}.front-art .led-red{fill:var(--led-red-off)}.front-art .led-green.on{fill:var(--led-green);filter:drop-shadow(0 0 1.6px var(--led-green))}.front-art .led-amber.on{fill:var(--led-amber);filter:drop-shadow(0 0 1.6px var(--led-amber))}.front-art .led-red.on{fill:var(--led-red);filter:drop-shadow(0 0 1.6px var(--led-red))}.front-art .blink .led.on{animation:1s step-end infinite equipment-led-blink}@keyframes equipment-led-blink{50%{fill-opacity:.2;filter:none}}@media (prefers-reduced-motion:reduce){.front-art .blink .led.on{animation:none}}.terminal-wrap{z-index:5;width:0;height:0;position:absolute}.electrical-terminal{box-shadow:0 0 0 1px #11181c33,0 1px 1px #11181c4d;cursor:crosshair!important;background:radial-gradient(circle at 36% 30%,#fff 0,#d6dbdd 40%,#8c969b 100%)!important;border:1px solid #505b61!important;border-radius:50%!important;width:10px!important;min-width:0!important;height:10px!important;min-height:0!important;position:absolute!important;inset:0 auto auto 0!important;transform:translate(-50%,-50%)!important}.electrical-terminal:after{content:"";pointer-events:none;background:#4a545a;border-radius:1px;height:1.3px;margin-top:-.65px;position:absolute;top:50%;left:1.5px;right:1.5px;transform:rotate(-38deg)}.electrical-terminal:hover,.electrical-terminal.connecting,.electrical-terminal.connectingto{box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 55%, transparent), 0 1px 1px #11181c4d}.electrical-terminal.port-ethernet{background:linear-gradient(#20262a 0 58%,#c6a54a 58% 72%,#20262a 72%)!important;border-color:#6b757b!important;border-radius:1.5px!important}.electrical-terminal.port-ethernet:after,.electrical-terminal.port-shaft:after{display:none}.electrical-terminal.port-pneumatic{background:radial-gradient(circle,#151a1d 0 26%,#2f76bd 30% 58%,#d3d8da 62%)!important;border-color:#56636a!important}.electrical-terminal.port-pneumatic:after{display:none}.electrical-terminal.port-shaft{background:linear-gradient(90deg,#6d787e,#e3e7e8 45%,#8a959b)!important;border-color:#3f4b52!important;border-radius:1px!important}.terminal-label{color:var(--mark-ink);white-space:nowrap;pointer-events:none;font-family:Consolas,Cascadia Mono,monospace;font-size:6.5px;font-weight:600;line-height:1;position:absolute;top:0;transform:translateY(-50%)}.terminal-label.left{left:8px}.terminal-label.right{right:8px}.terminal-label.top{top:7px;left:0;transform:translate(-50%)}.terminal-label.bottom{top:auto;bottom:7px;left:0;transform:translate(-50%)}.terminal-label.top.kind-pneumatic,.material-board .terminal-label.top{top:1px;left:7px;transform:none}.terminal-label.bottom.kind-pneumatic,.material-board .terminal-label.bottom{bottom:1px;left:7px;transform:none}.terminal-label.left.kind-pneumatic,.terminal-label.right.kind-pneumatic,.material-board .terminal-label.left,.material-board .terminal-label.right{top:-10px;transform:none}.equipment-fault{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger);text-align:center;padding:2px;font-size:9px;position:absolute;bottom:-22px;left:-8px;right:-8px}.keyswitch{width:72px;height:62px;position:absolute;top:54px;left:92px}.keyswitch .app-select{color:#0000;cursor:pointer;background:0 0;border:0;border-radius:2px;width:100%;height:100%;min-height:0;padding:0}.keyswitch .app-select svg{display:none}.keyswitch .app-select:hover:not(:disabled){background:#ffffff14}.keyswitch .app-select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.front-art.box{box-shadow:0 1px 1.5px #10181e45,0 6px 10px -4px #10181e52}.front-art.r2{border-radius:2px}.front-art.r3{border-radius:3px}.front-art.r4{border-radius:4px}.front-art.r5{border-radius:5px}.front-art .enclosure{fill:var(--enclosure);stroke:var(--enclosure-edge)}.front-art .enclosure-rim{fill:none;stroke:#ffffffb3;stroke-width:.8px}.front-art .plate{fill:#cfd3d0;stroke:#9aa3a0}.front-art .plate-hole{fill:#7f8986;stroke:#69726f;stroke-width:.5px}.front-art .screw circle{fill:#c6cbcd;stroke:#7c868b;stroke-width:.6px}.front-art .screw path{stroke:#59636a;stroke-width:.8px;stroke-linecap:round}.material-enclosure .front-art .rtb-body{fill:#b6bdbb}.material-enclosure .front-art .rtb-tick{stroke:#939b99}.front-art .bezel-shadow{fill:#1a232833}.front-art .bezel{fill:url(#eq-chrome);stroke:#6b767c;stroke-width:.7px}.front-art .bezel-collar{fill:#1b1f22;stroke:#0d0f10;stroke-width:.6px}.front-art .chip-no{fill:#2e8a4c}.front-art .chip-nc{fill:#c43a30}.front-art .chip-text{fill:#fff;letter-spacing:.4px;font-size:5.4px;font-weight:700}.front-art .dial{font-size:7px;font-weight:700}.front-art .rating{letter-spacing:.3px;fill:var(--ink-muted);font-size:6px;font-weight:600}.front-art .lens-0{fill:#2f5c40}.front-art .lens-1{fill:#86652a}.front-art .lens-2{fill:#83342d}.front-art .lens-lit.lens-0,.front-art .lens-glow.lens-0{fill:#43e377}.front-art .lens-lit.lens-1,.front-art .lens-glow.lens-1{fill:#ffc23a}.front-art .lens-lit.lens-2,.front-art .lens-glow.lens-2{fill:#ff5443}.front-art .lens-glow{filter:blur(5px)}.front-art .lens-dome{fill:url(#eq-dome)}.front-art .lens-core{fill:url(#eq-glow)}.front-art .lens-gloss{fill:url(#eq-gloss);opacity:.55}.front-art .buzzer-face{fill:#202528}.front-art .buzzer-grille{fill:none;stroke:#3b4247;stroke-width:1.4px}.front-art .buzzer-ring{fill:none;stroke:#4a2b28;stroke-width:1.6px}.front-art .buzzer-ring.on{stroke:var(--led-red);filter:drop-shadow(0 0 2px var(--led-red))}.front-art .psu-body{fill:#d5d9d7;stroke:#969f9c}.front-art .psu-vents rect{fill:#8e9794}.front-art .psu-band{fill:#2a3034}.front-art .band-ink{fill:#f2f4f3}.front-art .psu-led{fill:var(--led-green-off);stroke:#0000004d;stroke-width:.5px}.front-art .psu-led.on{fill:var(--led-green);filter:drop-shadow(0 0 2px var(--led-green))}.front-art .psu-pot{fill:#eef0ef;stroke:#7d8784;stroke-width:.8px}.front-art .psu-pot-slot{stroke:#59636a;stroke-width:1px;stroke-linecap:round}.front-art .lcd{fill:#17221d;stroke:#0b100d;stroke-width:.8px}.front-art .lcd-ink{fill:#9ff2c3;font-family:Consolas,Cascadia Mono,monospace;font-size:13px;font-weight:700}.front-art .lcd-ink.small{font-size:11px}.front-art .lcd-ink.unit{font-size:6px}.front-art .meter-bezel{fill:#141719}.front-art .meter-glass{fill:#1c0f0e}.front-art .segment-on{fill:#ff4a36;filter:drop-shadow(0 0 2px #ff4a36aa)}.front-art .segment-off{fill:#35201e}.front-art .bracket{fill:#9aa3a6;stroke:#707a7e;stroke-width:.6px}.front-art .barrel{fill:url(#eq-barrel);stroke:#5f696f;stroke-width:.6px}.front-art .thread path{stroke:#00000024;stroke-width:.7px}.front-art .nut{fill:url(#eq-barrel);stroke:#535d63;stroke-width:.7px}.front-art .sense-face{fill:#de842d;stroke:#a35d1c;stroke-width:.6px}.front-art .sensor-cap{fill:#2a2f33}.front-art .sensor-led{fill:var(--led-amber-off)}.front-art .sensor-led.on{fill:var(--led-amber);filter:drop-shadow(0 0 2px var(--led-amber))}.front-art .cable{fill:#3a4145}.front-art .core{fill:none;stroke-width:2.2px;stroke-linecap:round}.front-art .core-bn{stroke:#7a4a2b}.front-art .core-bk{stroke:#25292c}.front-art .core-bu{stroke:#2b63b2}.front-art .limit-body{fill:#a0a9ad;stroke:#6d777c;stroke-width:.7px}.front-art .limit-body-face{fill:#b6bec1}.front-art .limit-head{fill:#2a2f33}.front-art .conduit{fill:#8a9397}.front-art .lever{fill:#c9cfd2;stroke:#6d777c;stroke-width:.6px}.front-art .roller{fill:#1f2326;stroke:#0f1113;stroke-width:.6px}.front-art .roller-hub{fill:#c9cfd2}.front-art .lever-pivot{fill:#5b656a}.front-art .transmitter-body{fill:#e6e8e6;stroke:#8f9895}.front-art .transmitter-stem{fill:url(#eq-barrel)}.front-art .transmitter-hex{fill:url(#eq-barrel);stroke:#5f696f;stroke-width:.6px}.front-art .socket{fill:#c9cdca;stroke:#8e9794}.front-art .relay-cover{fill:#dbe8ee;fill-opacity:.55;stroke:#7e98a6;stroke-width:.8px}.front-art .relay-cover-gloss{fill:url(#eq-sheen);stroke:none;pointer-events:none}.front-art .coil{fill:#c98a4b;stroke:#8f5a2a;stroke-width:.6px}.front-art .winding path{stroke:#8f5a2a;stroke-width:.5px}.front-art .armature{stroke:#6f797e;stroke-width:2.4px;stroke-linecap:round}.front-art .contact-spring{stroke:#a2855a;stroke-width:1.4px}.front-art .contact{fill:#d9b25a}.front-art .relay-flag{fill:#9aa3a6}.front-art .relay-flag.on{fill:#ef8a24}.front-art .contactor-body{fill:#d8dbd8;stroke:#8f9895}.material-enclosure .front-art .contactor-body~.rtb .rtb-body{fill:#a9b1af}.front-art .contactor-face{fill:#e7e9e6;stroke:#b7bebb;stroke-width:.7px}.front-art .plunger-window{fill:#1d2226}.front-art .plunger{fill:#eef0ef}.front-art .plunger.on{fill:#2e76c0}.front-art .dial-face{fill:#f4f5f3;stroke:#7d8784;stroke-width:.8px}.front-art .dial-pointer{stroke:#273034;stroke-width:1.6px;stroke-linecap:round}.front-art .trip-window{fill:#3a9a52}.front-art .trip-window.on{fill:#e2562c}.front-art .reset-key{fill:#2f6fb4;stroke:#1f4e82;stroke-width:.8px}.front-art .fuse-base{fill:#2a2f33}.front-art .fuse-clip{fill:#c9a441;stroke:#8f7228;stroke-width:.6px}.front-art .fuse-cap{fill:url(#eq-barrel);stroke:#5f696f;stroke-width:.5px}.front-art .fuse-glass{fill:#e4eef2;fill-opacity:.8;stroke:#9fb1ba;stroke-width:.6px}.front-art .fuse-element{stroke:#8b9296;stroke-width:1.2px}.front-art .fuse-element.blown{stroke:#3a3230;stroke-width:1.6px}.front-art .coil-stem{fill:url(#eq-barrel)}.front-art .coil-body{fill:#202427}.front-art .coil-plug{fill:#8c9599;stroke:#626c70;stroke-width:.6px}.front-art .plug-led{fill:var(--led-amber-off)}.front-art .plug-led.on{fill:var(--led-amber);filter:drop-shadow(0 0 2px var(--led-amber))}.front-art .motor-body{fill:#3f6f8f;stroke:#2b4f67;stroke-width:.8px}.front-art .motor-box{fill:#3a6887;stroke:#2b4f67;stroke-width:.8px}.front-art .motor-feet{fill:#2d3438}.front-art .fins path{stroke:#2b4f67;stroke-width:1.2px}.front-art .fan-cover{fill:#2f5a76;stroke:#213f53;stroke-width:.8px}.front-art .shaft-collar{fill:#57636a}.front-art .shaft{fill:url(#eq-barrel)}.front-art .motor-rpm{fill:var(--ink);font-family:Consolas,Cascadia Mono,monospace;font-size:7px;font-weight:700}.front-art .coupling{fill:#d3842b;stroke:#9b5d1a;stroke-width:.6px}.front-art .flywheel{fill:url(#eq-barrel-dark)}.front-art .load-body{fill:#b8bfc2;stroke:#7a8489;stroke-width:.8px}.front-art .keypad{fill:#2a2f33;stroke:#1b1f22}.front-art .lcd-ink.fault{fill:#ff8f7c}.front-art .key{fill:#535c62;stroke:#1b1f22;stroke-width:.6px}.front-art .key-start{fill:#2e8a4c}.front-art .key-stop{fill:#c8372d}.front-art .core{fill:#50595e;stroke:#353c40}.front-art .laminations path{stroke:#3d4549;stroke-width:.6px}.front-art .winding-block{fill:#c98a4b;stroke:#8f5a2a;stroke-width:.8px}.front-art .tube{fill:none;stroke:#2f76bd;stroke-width:3.2px;stroke-linecap:round}.front-art .fitting{fill:url(#eq-barrel);stroke:#5f696f;stroke-width:.5px}.front-art .barrel-clear{fill:#d9e8ef;fill-opacity:.7;stroke:#8ea6b2;stroke-width:.8px}.front-art .piston{fill:#2a2f33}.front-art .rod{fill:url(#eq-barrel);stroke:#6d777c;stroke-width:.4px}.front-art .end-cap{fill:#a9b1b5;stroke:#6d777c;stroke-width:.7px}.front-art .rod-eye{fill:#c9cfd2;stroke:#6d777c;stroke-width:1.4px}.front-art .valve-body{fill:#b9c1c4;stroke:#7a8489;stroke-width:.8px}.front-art .valve-cell{fill:#eef0ef;stroke:#4a545a;stroke-width:.8px}.front-art .valve-cell.on{fill:#cfe3f5;stroke:#2f6fb4}.front-art .operator{fill:#202427}.front-art .silencer{fill:#b58b4a;stroke:#7d5f2e;stroke-width:.5px}.front-art .regulator{fill:#d6dad8;stroke:#8f9895}.front-art .regulator-knob{fill:#2a2f33}.front-art .gauge-rim{fill:url(#eq-chrome);stroke:#6b767c;stroke-width:.7px}.front-art .gauge-face{fill:#fbfbf8}.front-art .gauge-tick{stroke:#273034;stroke-width:1px}.front-art .gauge-needle{stroke:#c8372d;stroke-width:1.4px;stroke-linecap:round}.front-art .gauge-hub{fill:#273034}.front-art .holster{fill:#efc132;stroke:#b58d17}.front-art .meter-face{fill:#2d3236}.front-art .meter-lcd{fill:#b9c4a4;stroke:#1b1f22;stroke-width:.8px}.front-art .meter-digits{fill:#1d231a;font-family:Consolas,Cascadia Mono,monospace;font-size:15px;font-weight:700}.front-art .meter-unit{fill:#1d231a;font-size:8px;font-weight:700}.front-art .dial-ring{fill:#1d2124;stroke:#454d52;stroke-width:1.4px}.front-art .dial-knob{fill:#3a4247}.front-art .dial-mark{stroke:#f4f6f5;stroke-width:2px;stroke-linecap:round}.front-art .meter-legend{fill:#f0c332;font-size:7px;font-weight:700}.front-art .beep{fill:var(--led-red-off)}.front-art .beep.on{fill:var(--led-red);filter:drop-shadow(0 0 2px var(--led-red))}.front-art .jack-ring{stroke-width:1px}.front-art .jack-red{fill:#c8372d;stroke:#7e1f19}.front-art .jack-black{fill:#202427;stroke:#0c0e0f}.front-art .din-rail{fill:url(#eq-barrel);stroke:#7c868b;stroke-width:.5px}.front-art .tb-body{fill:#9aa3a6;stroke:#6d777c;stroke-width:.8px}.front-art .tb-marker{fill:#f4f5f1;stroke:#b7bebb;stroke-width:.5px}.front-art .bus-bar{fill:#c9a441;stroke:#8f7228;stroke-width:.6px}.front-art .pe-block{fill:url(#eq-pe-stripes);stroke:#2c6b37;stroke-width:.8px}.front-art .pe-label{fill:#f4f5f1;stroke:#b7bebb;stroke-width:.5px}.front-art .earth-mark{fill:none;stroke:#1f2a22;stroke-width:1.6px;stroke-linecap:round}.front-art .pcb{fill:#1d5a46;stroke:#133d30}.front-art .pcb-edge{fill:none;stroke:#f1f4ec59;stroke-width:.6px;stroke-dasharray:2 2}.front-art .pcb-hole{fill:#0f2c23;stroke:#c9a441;stroke-width:1.2px}.front-art .pcb-silk{fill:#eef3e9;letter-spacing:.3px;font-size:5.6px;font-weight:600}.front-art .trace{fill:none;stroke:#c9953f;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.front-art .trace.back{stroke:#8fb59c;opacity:.55;stroke-dasharray:3 2}.front-art .lead{fill:none;stroke:#b9c0c4;stroke-width:1.6px}.front-art .resistor-body{fill:#d7c296;stroke:#a58d5e;stroke-width:.6px}.front-art .cap-can{fill:#2c4f8f;stroke:#1b3564;stroke-width:.6px}.front-art .cap-stripe{fill:#c9d4e6}.front-art .cap-mark{fill:#1b3564;font-size:9px;font-weight:700}.front-art .cap-end{fill:#b9c0c4}.front-art .toroid{fill:#2a2f33}.front-art .toroid-hole{fill:#1d5a46}.front-art .turns path{stroke:#c98a4b;stroke-width:2.2px}.front-art .diode-body{fill:#202427}.front-art .diode-band{fill:#c7ccd0}.front-art .to220-tab{fill:url(#eq-barrel);stroke:#6d777c;stroke-width:.6px}.front-art .package{fill:#202427;stroke:#0f1113;stroke-width:.6px}.front-art .package-mark{fill:#c7ccd0;font-size:5.6px;font-weight:700}.front-art .dip-pin{fill:#c7ccd0}.front-art .dip-notch{fill:#3a4247}.material-board .front-art .rtb-body{fill:#2f8a57}.material-board .front-art .rtb-tick{stroke:#1f6a40}.catalog-thumb{flex-shrink:0;justify-content:center;align-items:center;width:46px;height:38px;display:flex}.catalog-art{width:100%;max-width:46px;height:auto;max-height:38px;display:block}.catalog-art .front-art{box-shadow:0 1px 2px #10181e40}.front-art .preview-plate{fill:var(--legend)}.front-art .preview-head.green{fill:#2e8a4c}.front-art .preview-head.red{fill:#c8372d}.front-art .preview-knob{fill:#25292c}.front-art .preview-lever{fill:#15181a;stroke:#3b4247;stroke-width:.8px}.physical-control:disabled{opacity:.8;cursor:default}.physical-control:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.pushbutton-control{--head:#2e8a4c;background:radial-gradient(circle at 40% 32%, color-mix(in srgb, var(--head), #fff 42%) 0, var(--head) 46%, color-mix(in srgb, var(--head), #000 32%) 100%);width:27px;height:27px;box-shadow:0 1.5px 0 color-mix(in srgb, var(--head), #000 45%), 0 2px 3px #0006;border:0;border-radius:50%;padding:0}.pushbutton-control.head-red{--head:#c8372d}.pushbutton-control:hover:not(:disabled){filter:brightness(1.08)}.pushbutton-control.pressed{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--head), #000 12%) 0, color-mix(in srgb, var(--head), #000 38%) 100%);transform:translate(-50%,-50%)scale(.92);box-shadow:inset 0 2px 4px #0007}.knob-control{background:radial-gradient(circle at 42% 32%,#4d555a 0,#202427 70%);border:0;border-radius:50%;width:30px;height:30px;padding:0;box-shadow:0 2px 3px #0006,inset 0 0 0 1px #0000004d}.knob-lever{background:linear-gradient(90deg,#15181a,#3b4247 45%,#15181a);border-radius:3px;width:8px;height:32px;transition:transform .12s ease-out;position:absolute;top:-1px;left:11px;box-shadow:0 1px 2px #000a}.knob-lever:after{content:"";background:#f4f6f5;border-radius:1px;width:2px;height:9px;position:absolute;top:2px;left:3px}.knob-control:hover:not(:disabled){filter:brightness(1.15)}.lever-control,.target-control{background:0 0;border:0;padding:0}.lever-control{border-radius:50%;width:26px;height:26px}.target-control{background:linear-gradient(90deg,#7c868b,#e6e9ea 50%,#9aa3a8);border-radius:1.5px;width:12px;height:28px;box-shadow:0 1px 2px #0005}.target-control.pressed{transform:translate(calc(3px - 50%),-50%)}.lever-control:hover:not(:disabled),.target-control:hover:not(:disabled){box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 45%, transparent)}.physical-control{z-index:4;touch-action:none;min-height:0;top:45%;left:50%;transform:translate(-50%,-50%);position:absolute!important}.schematic-art{fill:none;width:100%;height:100%;stroke:var(--ladder-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}.schematic-art text{fill:var(--ladder-ink);stroke:none;-webkit-user-select:none;user-select:none;font-family:Segoe UI,Tahoma,sans-serif;font-size:8px;font-weight:600}.schematic-art .tiny{fill:var(--muted);font-size:6.5px}.schematic-art .big{font-size:15px;font-weight:700}.schematic-art .title{letter-spacing:.3px;font-size:9px;font-weight:700}.schematic-art .reading{font-family:Consolas,Cascadia Mono,monospace;font-size:14px;font-weight:700}.schematic-art .fill{fill:var(--ladder-ink)}.schematic-art .dash{stroke-dasharray:3 3;stroke-width:1.1px}.schematic-art .blade{stroke-width:1.9px}.schematic-art .energized{fill:var(--live-bg);stroke:var(--green)}.schematic-art .glow{stroke:none}.schematic-art .glow-0{fill:#43e37766}.schematic-art .glow-1{fill:#ffc23a70}.schematic-art .glow-2{fill:#ff544366}.equipment-node.schematic .equipment-face{color-scheme:inherit}.schematic .electrical-terminal{box-shadow:none;border:1.5px solid var(--ladder-ink)!important;background:var(--bench)!important;width:7px!important;height:7px!important}.schematic .electrical-terminal:after{display:none}.schematic .terminal-label.left,.schematic .terminal-label.right{top:-9px;transform:none}.schematic .terminal-label.left{left:17px}.schematic .terminal-label.right{right:17px}.schematic .terminal-label.top{top:1px;left:5px;transform:none}.schematic .terminal-label.bottom{bottom:1px;left:5px;transform:none}.schematic .physical-control{width:20px;height:20px;bottom:2px;right:2px;transform:none;top:auto!important;left:auto!important}.schematic .physical-control .knob-lever{width:6px;height:22px;top:-1px;left:7px}.schematic .physical-control.pressed{transform:scale(.92)}.schematic .target-control.pressed{transform:none}.wire path{stroke-linecap:round;stroke-linejoin:round}.wire-halo{fill:none;stroke:var(--focus);stroke-opacity:0;pointer-events:none;transition:stroke-opacity .12s ease-out}.react-flow__edge:hover .wire-halo{stroke-opacity:.22}.wire.is-selected .wire-halo{stroke-opacity:.38}.wire-sheen{fill:none;stroke:#fff;stroke-opacity:.3;pointer-events:none}.wire-junction{fill:var(--wire);stroke:color-mix(in srgb, var(--wire) 58%, var(--wire-casing-toward));stroke-width:.8px}.wire-marker{opacity:0;pointer-events:none;transition:opacity .12s ease-out}.wire-marker rect{fill:#f6f6f1;stroke:#8a939a;stroke-width:.5px}.wire-marker text{fill:#1f272c;font-family:Consolas,Cascadia Mono,monospace;font-size:5.6px;font-weight:700}.react-flow__edge:hover .wire-marker,.wire.is-related .wire-marker,.wire.is-selected .wire-marker,.workbench.wire-numbers .wire.physical .wire-marker{opacity:1}.scope-controls{flex-direction:column;gap:8px;width:250px;font-size:10px;display:flex}.scope-controls label{font-size:11px}.scope-controls>div{gap:5px;display:flex}.scope-controls button{border:1px solid var(--line);background:var(--panel-muted);font-size:10px}:root{color:var(--text);background:var(--chrome);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--radius:3px;--font-data:Consolas,"Cascadia Mono",monospace;font-family:Segoe UI,Tahoma,sans-serif;font-size:12px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,.app-select,textarea{font:inherit;color:inherit}button{border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;min-height:27px;padding:4px 9px;display:inline-flex}button:hover:not(:disabled){background:var(--hover);border-color:var(--line)}button:active:not(:disabled){background:var(--pressed)}button:disabled{color:var(--disabled);cursor:default;opacity:.65}button.active,button[aria-pressed=true]{background:var(--selected);border-color:var(--selected-line);color:var(--selected-ink)}button.primary{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}button.primary:hover{background:var(--blue-hover)}input,.app-select,textarea{background:var(--canvas);border:1px solid var(--line);max-width:100%;min-height:28px;caret-color:var(--blue);border-radius:2px;padding:5px 7px}input:disabled,.app-select:disabled{background:var(--chrome);color:var(--disabled)}input[type=checkbox]{min-height:auto;accent-color:var(--blue);margin:0}input[type=number]{font-variant-numeric:tabular-nums}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical}label{flex-direction:column;gap:5px;font-size:12px;display:flex}label.check{flex-direction:row;align-items:center;gap:7px;line-height:1.5}.grow{flex:1}.separator{background:var(--line);flex-shrink:0;width:1px;height:22px;margin:0 5px}.mono,code{font-family:var(--font-data)}.numeric{font-variant-numeric:tabular-nums}.icon-button{vertical-align:middle;min-height:20px;padding:2px}.link{color:var(--selected-ink);text-underline-offset:3px;min-height:20px;padding:0;text-decoration:underline}.hint{color:var(--muted);margin:10px 0;font-size:12px;line-height:1.5}.empty{color:var(--muted);padding:24px;line-height:1.6}.check{-webkit-user-select:none;user-select:none}.status-dot{background:#909da7;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:5px;display:inline-block}.status-dot.on{background:#298751}.status-dot.fault{background:#bf392d}.fault-text{color:var(--danger)}.small-led.on{background:#43cc72}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--chrome);border-radius:7px}::-webkit-scrollbar-track{background:var(--chrome)}h2{margin:0 0 16px;font-size:16px;font-weight:600}h3{margin:15px 0 10px;font-size:13px;font-weight:600}p{margin:8px 0 15px;line-height:1.6}svg{flex-shrink:0}.app-shell{flex-direction:column;min-width:360px;height:100dvh;display:flex}.error-banner,.connection-banner{background:var(--danger-bg);border-bottom:1px solid var(--danger-line);color:var(--danger);flex-shrink:0;align-items:center;gap:10px;max-height:100px;padding:8px 16px;display:flex;overflow:auto}.error-banner span{white-space:pre-wrap;flex:1}.connection-banner{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning);font-size:12px}.connection-banner span{flex:1}.error-banner button{margin-left:auto}.workspace{flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.workspace>section{flex:1;min-width:0}.loading{width:100%;color:var(--muted);justify-content:center;align-items:center;gap:14px;display:flex}.studio{background:var(--canvas);min-height:0;display:flex}.organizer{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex-shrink:0;width:215px;min-width:150px;display:flex;overflow:hidden}.pane-heading{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;height:29px;padding:0 10px;font-weight:600;display:flex}.tree-scroll{padding:7px 0;overflow:auto}.tree-row{text-align:left;border-radius:0;justify-content:flex-start;align-items:center;gap:5px;width:100%;min-height:26px;padding:3px 7px;font-size:11px;display:flex}.tree-row svg{color:var(--muted);flex-shrink:0}.tree-row.active{background:var(--selected);border-color:#0000}.tree-row.root{padding-bottom:7px}.tree-row.indent{padding-left:20px}.tree-row.indent-2{padding-left:29px}.tree-row.indent-3{padding-left:43px}.organizer-footer{border-top:1px solid var(--soft-line);color:var(--muted);margin-top:auto;padding:12px 9px;font-size:10px}.organizer-footer small{padding:5px 13px 0;display:block}.studio-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.document-tab{border-bottom:1px solid var(--line);background:var(--heading);flex-shrink:0;height:33px;padding:8px 13px;font-weight:600}.routine-bar{background:var(--canvas);border-bottom:1px solid var(--soft-line);flex-shrink:0;align-items:center;gap:10px;min-height:29px;padding:3px 10px;font-size:10px;display:flex}.routine-bar>span{color:var(--muted)}.routine-bar>strong{white-space:nowrap}.routine-bar button{min-height:22px;padding:2px}.property-page{background:var(--canvas);flex:1;padding:22px 26px;overflow:auto}.property-page>label,.property-page>form>label{max-width:380px;margin-bottom:15px}.property-page>p{max-width:630px;color:var(--muted)}.property-page>h2:not(:first-child){margin-top:24px}.property-page fieldset{border:1px solid var(--line);margin:12px 0 22px;padding:16px}.property-page legend{padding:0 5px;font-weight:600}.property-page h2 small{background:var(--warning-bg);color:var(--warning);margin-left:8px;padding:3px 7px;font-size:11px;font-weight:400}.property-tabs{border-bottom:1px solid var(--line);margin:-10px 0 25px;display:flex}.property-tabs button{border-radius:0;padding:7px 14px}.form-row{gap:14px;margin-bottom:14px;display:flex}.form-row>label{flex:1;min-width:0}.inline-form{align-items:center;gap:7px;margin:12px 0;display:flex}.inline-form>input{flex:1;min-width:0}.inline-form button,.property-page>button,.property-page form>button{border-color:var(--line);background:var(--panel-muted)}.capacity{max-width:530px}.capacity>div{border-bottom:1px solid var(--soft-line);padding:12px 5px;display:flex}.capacity dt{text-transform:capitalize}.capacity dd{font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-left:auto}.fault-detail{background:var(--danger-bg);color:var(--danger);padding:14px}.fault-detail button{border-color:var(--danger-line);background:var(--canvas);display:flex}.table-toolbar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;padding:7px 10px;display:flex}.table-toolbar>span{color:var(--muted);margin-left:auto;font-size:10px}.table-toolbar button{border-color:var(--line)}.search-field{min-width:0;color:var(--muted);flex-direction:row;align-items:center;gap:5px;display:flex}.search-field input{flex:1;min-width:0}.table-toolbar .search-field{flex:1;max-width:380px}.table-scroll{flex:1;min-height:0;overflow:auto}.tags-page{flex-direction:column;flex:1;min-height:0;display:flex}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;background:var(--panel-muted);border-right:1px solid var(--soft-line);border-bottom:1px solid var(--line);z-index:2;white-space:nowrap;padding:7px 10px;font-weight:600;position:sticky;top:0}td{border-right:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);white-space:nowrap;padding:5px 9px}tr:hover td{background:var(--row-hover)}.tag-table td{min-width:70px;padding:2px 6px}.tag-table td:first-child{min-width:180px;max-width:300px}.cell-input{background:0 0;border:1px solid #0000;width:100%;min-width:65px;min-height:26px;padding:3px 4px;font-size:11px}.cell-input:focus{border-color:var(--selected-line);background:var(--canvas)}.cell-input.numeric{font-family:var(--font-data);width:95px;color:var(--selected-ink)}.member-row{color:var(--muted);background:var(--panel)}.member-row td:first-child{padding-left:30px}.tag-table th:nth-child(5){width:30%}.workbench{background:var(--bench);min-height:0;display:flex}.catalog{border-right:1px solid var(--line);background:var(--toolbar);flex-direction:column;flex-shrink:0;width:190px;display:flex}.catalog>.search-field{padding:10px 8px 6px}.catalog>.search-field input{font-size:11px}.catalog>.app-select{margin:0 8px 8px}.catalog-list{flex:1;overflow:auto}.catalog-item{border-bottom:1px solid var(--soft-line);text-align:left;white-space:normal;border-radius:0;justify-content:space-between;width:100%;min-height:53px;padding:11px 10px;font-size:11px;display:flex}.catalog-item>span{display:block}.catalog-item small{font-family:var(--font-data);color:var(--muted);margin-top:4px;font-size:9px;display:block}.catalog-item svg{color:var(--muted)}.catalog-tip{color:var(--muted);border-top:1px solid var(--line);gap:8px;padding:14px 10px;font-size:10px;line-height:1.5;display:flex}.bench-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.bench-toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:6px;min-height:35px;padding:3px 8px;display:flex}.bench-toolbar button{min-height:24px;padding:3px 7px;font-size:10px}.bench-toolbar>span{color:var(--muted);font-size:10px}.segmented{gap:0;display:flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:3px 0 0 3px}.segmented button:last-child{border-radius:0 3px 3px 0}.react-flow{background:var(--bench);flex:1;min-height:0}.react-flow__node-equipment{border:1px solid #0000}.react-flow__node-equipment.selected{outline:2px solid var(--selected-line);outline-offset:5px;border-radius:3px}.equipment-defs{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.react-flow__edge-path{cursor:pointer}.react-flow__controls{width:30px;box-shadow:var(--control-shadow);border:1px solid var(--line)}.react-flow__controls button{border:0;border-bottom:1px solid var(--soft-line);width:100%;height:28px;min-height:28px;color:var(--muted);border-radius:0;padding:5px}.react-flow__edge-textbg{fill:var(--panel-muted)}.bench-inspector{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.inspector-scroll{padding:0 12px 18px;overflow:auto}.inspector-scroll>label,.inspector-scroll>div>label{margin:10px 0}.inspector-scroll input,.inspector-scroll .app-select{font-size:11px}.inspector-scroll .hint{font-size:10px}.inspector-scroll button{border-color:#0000;font-size:10px}.terminal-trace{border-top:1px solid var(--line);margin-top:17px;padding-top:3px}.terminal-trace>strong{font-size:11px}.trace-link{text-align:left;white-space:normal;background:var(--panel-muted);width:100%;margin-top:3px;font-size:10px;display:flex;border-color:#0000!important}.meter{border-top:1px solid var(--line);margin-top:17px;padding-top:4px}.meter h3{font-size:11px}.meter-reading{background:var(--meter-bg);border:1px solid var(--meter-line);color:var(--meter-ink);text-align:right;font-family:var(--font-data);margin:10px 0;padding:12px 10px;font-size:25px;font-weight:600}.meter-reading span{margin-left:8px;font-size:12px}.meter>button{border-color:var(--line);white-space:normal;text-align:left;justify-content:flex-start;width:100%;margin:7px 0;font-size:10px;display:flex}.probe-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.probe-dot.red{background:#a83225}.probe-dot.black{background:#263643}.device-measurements{margin:16px 0}.device-measurements>div{border-bottom:1px solid var(--soft-line);padding:6px 0;font-size:10px;display:flex}.device-measurements dt{text-transform:capitalize}.device-measurements dd{font-family:var(--font-data);margin-left:auto}.dock{background:var(--canvas);border-top:1px solid var(--line);flex-direction:column;flex-shrink:0;height:189px;display:flex;position:relative}.dock.collapsed{height:auto}.dock-tabs{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;height:29px;padding:0;display:flex}.dock-tabs button{border:0;border-radius:0;min-height:26px;padding:4px 10px;font-size:11px}.dock-tabs button.active{background:var(--canvas);color:var(--selected-ink)}.dock-content{flex:1;min-height:0;overflow:auto}.diagnostic-log>div{border-bottom:1px solid var(--soft-line);white-space:pre-wrap;align-items:baseline;gap:16px;padding:5px 0;display:flex}.diagnostic-log time{color:var(--muted);font-family:var(--font-data);flex-shrink:0;font-size:10px}.diagnostic-log .error{color:var(--danger)}.lab-guide{grid-template-columns:250px minmax(300px,1fr) minmax(200px,28%);align-items:start;gap:24px;padding:14px 18px;display:grid}.lab-guide .app-select{background:var(--panel);width:100%;font-weight:500}.lab-guide .check{margin-top:12px;font-size:11px}.lab-guide ol{max-width:820px;margin:0;padding-left:17px;font-size:11px;line-height:1.7}.lab-guide .hint{margin:8px 0;font-size:11px}.lab-notes{color:var(--muted);font-size:11px}.lab-notes textarea{resize:vertical;width:100%;min-height:82px;font-size:11px}.trend-panel{gap:30px;min-height:130px;padding:12px 20px;display:flex}.trend-panel>label{width:240px;font-size:11px}.trend-chart{flex:1;min-width:180px;margin-left:20px;position:relative}.trend-chart svg{width:100%;height:100px}.chart-max{color:var(--muted);font-size:10px;position:absolute;top:0;left:-25px}.chart-start,.chart-end{color:var(--muted);font-size:10px;position:absolute;bottom:-4px}.chart-start{left:0}.chart-end{right:0}.modal-backdrop{background:var(--scrim);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:var(--panel);box-shadow:var(--shadow);border-radius:5px;width:430px;max-width:100%;max-height:90vh;padding:24px;overflow:auto}.dialog label{margin:12px 0}.dialog h2{margin:0 0 14px}.dialog .form-row{margin:0}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.dialog-actions button{border:1px solid var(--line);min-width:78px}.dialog-heading{justify-content:space-between;align-items:center;display:flex}.dialog-heading h2{margin:0}.library-dialog{width:690px}.library-dialog>p{color:var(--muted);max-width:560px;font-size:12px}.template-list{border-top:1px solid var(--line);max-height:55vh;overflow:auto}.template-list>button{text-align:left;white-space:normal;border-bottom:1px solid var(--soft-line);border-radius:0;justify-content:flex-start;gap:14px;width:100%;padding:16px 8px;display:flex}.template-list>button>span{flex:1}.template-list strong{align-items:center;gap:10px;margin-bottom:5px;font-size:13px;display:flex}.template-list small{color:var(--warning);background:var(--warning-bg);padding:2px 5px;font-size:9px;font-weight:500}.template-list>button>span>span{color:var(--muted);font-size:11px}@media (width>=1850px){.app-shell{font-size:13px}.dock{height:200px}}@media (width<=1200px){.view-split .organizer{width:150px}.lab-guide{grid-template-columns:210px 1fr;gap:14px}.lab-notes,.routine-bar>span{display:none}.bench-inspector{width:200px}.catalog{width:165px}.dock{height:175px}}@media (width<=760px){:root{font-size:13px}.desktop-label{display:none}.workspace.view-split{flex-direction:column}.organizer{display:none}.routine-bar{font-size:10px}.bench-toolbar{white-space:nowrap;overflow:auto}.bench-toolbar .grow,.bench-toolbar>span{display:none}.bench-toolbar>button:last-child{margin-left:auto}.lab-guide{grid-template-columns:1fr;gap:12px}.trend-panel{flex-direction:column;gap:12px}.trend-panel>label{width:100%}.trend-chart{min-height:115px}.dock-tabs{font-size:11px;overflow-x:auto}.property-page{padding:15px}.table-toolbar{gap:6px;padding:6px}.table-toolbar>span{display:none}.dialog{padding:18px}.modal-backdrop{padding:12px}.error-banner,.connection-banner{padding:6px 10px;font-size:11px}.template-list strong{font-size:12px}.form-row{flex-wrap:wrap;gap:8px}.form-row>label{min-width:120px}.view-split .ladder-empty{min-height:130px;margin-top:0;padding:15px 20px}.view-split .ladder-empty p{display:none}.view-split .end-rung{margin-top:4px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.workbench{position:relative}.bench-controls{background:var(--panel);border:1px solid var(--line);z-index:8;width:300px;max-height:75%;padding:12px;position:absolute;bottom:35px;right:12px;overflow:auto}.control-grid{gap:8px;display:grid}.control-row{border-bottom:1px solid var(--soft-line);align-items:center;gap:8px;min-height:40px;display:flex}.control-row>strong,.control-row>span{flex:1;font-size:12px}.control-row>button{background:var(--heading);border:1px solid var(--line);min-width:95px;min-height:40px}.control-row>input{max-width:130px}.control-row output{font-family:var(--font-data);font-weight:600}.trace-address{font-family:var(--font-data);overflow-wrap:anywhere;font-size:11px}.bench-toolbar{overflow-x:auto}@media (width<=760px){.bench-controls{width:auto;max-height:55%;padding:10px;position:absolute;bottom:24px;left:8px;right:8px}.bench-toolbar>button,.bench-toolbar>.segmented button{min-height:32px}.bench-toolbar>span{display:none}.bench-controls button{font-size:13px}}.dock-resize{z-index:20;cursor:ns-resize;touch-action:none;background:0 0;height:8px;position:absolute;top:-4px;left:0;right:0}.dock-resize:after{content:"";background:var(--focus);opacity:0;height:1px;position:absolute;inset:3px 0 auto}.dock-resize:hover:after,.dock-resize:focus-visible:after{opacity:1}.dock-resize:focus-visible{outline:1px solid var(--focus);outline-offset:-1px}.dock-tabs>button:last-child{background:var(--panel);position:sticky;right:0}[hidden]{display:none!important}.native-dialog{color:var(--text);border:1px solid var(--line);max-width:calc(100vw - 24px);margin:auto}.native-dialog::backdrop{background:var(--scrim)}.native-dialog .dialog-heading{gap:16px;margin-bottom:16px}.native-dialog>input{width:100%}.command-menu{z-index:150;background:var(--panel);width:296px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);color:var(--text);border:1px solid var(--soft-line);box-shadow:var(--shadow);border-radius:8px;padding:5px;position:fixed;overflow:auto}.command-list button{text-align:left;white-space:normal;justify-content:space-between;gap:18px;width:100%;min-height:32px;display:flex}.command-menu button{text-align:left;white-space:normal;border-radius:4px;gap:10px;width:100%;min-height:32px;padding:5px 8px;display:flex}.command-menu-icon{color:var(--muted);flex:0 0 16px;display:flex}.command-menu-label{flex:1}.command-menu kbd{font-family:inherit;font-size:11px}.command-menu button:hover:not(:disabled),.command-menu button:active:not(:disabled){background:var(--hover);border-color:#0000}.command-menu button:focus-visible{outline-offset:-2px;background:var(--row-hover)}.command-menu button[aria-disabled=true]{color:var(--disabled);cursor:default}.command-menu button[aria-disabled=true] :is(.command-menu-icon,kbd){color:inherit}.command-menu button[aria-disabled=true]:is(:hover,:active){background:0 0;border-color:#0000}.command-menu-separator{background:var(--soft-line);height:1px;margin:5px 8px}.command-menu-help{border-top:1px solid var(--soft-line);min-height:49px;color:var(--muted);background:var(--panel-muted);margin:5px -5px -5px;padding:9px 13px;font-size:11px;line-height:1.4}.command-list small{margin-top:3px;font-size:11px;display:block}kbd{font-family:var(--font-data);color:var(--muted);white-space:nowrap;font-size:10px}.command-list{max-height:55vh;margin-top:12px;overflow:auto}.command-list button{border-bottom:1px solid var(--soft-line);border-radius:0}.editor-error{z-index:180;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:fixed;bottom:28px;left:16px;right:16px}.ladder-drop:after{content:"";pointer-events:none;position:absolute;inset:0}.is-dragging .ladder-drop:after{pointer-events:auto;border:1px dashed var(--selected-line);background:var(--selected);opacity:.6}.ladder-drop.drop-over:after{background:var(--selected);outline:2px solid var(--focus);opacity:1}.ladder-instruction[draggable=true],.opcode-tool[draggable=true],.branch-select,.rung-number{cursor:grab}.ladder-instruction[draggable=true]:active,.opcode-tool[draggable=true]:active,.branch-select:active,.rung-number:active{cursor:grabbing}.pane-heading{justify-content:space-between;align-items:center;display:flex}.pane-heading button{min-height:22px;padding:2px 5px;font-size:10px}.tag-table .selected-row td{background:var(--selected)}.tag-name{font-family:var(--font-data);padding:2px 3px}.equipment-label{pointer-events:auto;cursor:grab}.action-reason{color:var(--muted);font-size:10px}.diagnostic-log button{white-space:pre-wrap;text-align:left;color:inherit;text-underline-offset:3px;justify-content:flex-start;text-decoration:underline}@media (width<=760px){.command-menu button{min-height:40px}}body{cursor:default;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]:not([contenteditable=false]){-webkit-user-select:text;user-select:text}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,[contenteditable]:not([contenteditable=false]){cursor:text}.app-select{border:1px solid var(--line);background:var(--canvas);min-width:0;color:var(--text);text-align:left;font:inherit;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;display:inline-flex}.app-select>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-select>span:last-child{flex-shrink:0;display:flex}.choice-popup{z-index:300;min-width:var(--radix-select-trigger-width);max-width:min(480px,100vw - 16px);max-height:min(360px, var(--radix-select-content-available-height));background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:3px;overflow:hidden}.choice-option{cursor:default;overflow-wrap:anywhere;outline:none;justify-content:space-between;align-items:center;gap:16px;padding:7px 10px;font-size:12px;display:flex}.choice-option[data-highlighted],.suggestion-option[aria-selected=true]{background:var(--selected);color:var(--selected-ink)}.choice-option[data-disabled]{color:var(--disabled)}.choice-option small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.choice-scroll{background:var(--panel);justify-content:center;display:flex}.inline-value{min-width:0;min-height:24px;color:var(--text);font:inherit;text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:6px;padding:2px 4px;display:inline-flex}.inline-value>span{text-overflow:ellipsis;overflow:hidden}.inline-value>svg{opacity:0;flex-shrink:0}.inline-value>span:last-child:has(svg){opacity:0;flex-shrink:0}.inline-value:hover,.inline-value:focus-visible{border-color:var(--line);background:var(--hover)}.inline-value:hover>svg,.inline-value:focus-visible>svg,.inline-value:hover>span:last-child,.inline-value:focus-visible>span:last-child{opacity:1}.inline-popup{z-index:300;width:340px;max-width:calc(100vw - 16px);max-height:min(400px,100dvh - 16px);color:var(--text);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:3px;padding:8px;overflow:auto}.inline-edit-label{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.inline-entry{gap:4px;display:flex}.inline-entry input{width:100%;min-width:0;font-family:var(--font-data)}.inline-entry button{border:1px solid var(--line)}.suggestion-list{max-height:230px;margin-top:6px;overflow:auto}.suggestion-option{cursor:default;overflow-wrap:anywhere;font-family:var(--font-data);flex-direction:column;gap:2px;padding:6px;display:flex}.suggestion-option small{color:var(--muted);font:11px var(--font-ui,"Segoe UI", sans-serif)}.inline-popup footer{color:var(--muted);border-top:1px solid var(--soft-line);margin-top:6px;padding-top:6px;font-size:10px}.choice-empty{color:var(--muted);font-size:11px}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none;margin:0}input::-webkit-outer-spin-button{appearance:none;margin:0}input[type=checkbox],input[type=radio]{appearance:none;border:1px solid var(--strong-line);background:var(--canvas);vertical-align:middle;flex-shrink:0;place-content:center;width:15px;height:15px;min-height:15px;margin:0 5px 0 0;padding:0;display:inline-grid}input[type=radio]{border-radius:50%}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--blue);border-color:var(--blue)}input[type=checkbox]:checked:after{content:"";border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);width:7px;height:4px;transform:translateY(-1px)rotate(-45deg)}input[type=radio]:checked:after{content:"";background:var(--on-accent);border-radius:50%;width:5px;height:5px}input[type=range]{appearance:none;background:var(--line);border:0;height:4px;min-height:4px;padding:0}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--blue);border:2px solid var(--canvas);border-radius:50%;width:14px;height:14px}input[type=range]::-moz-range-thumb{background:var(--blue);border:2px solid var(--canvas);border-radius:50%;width:10px;height:10px}input,textarea{caret-color:var(--focus)}::selection{background:var(--selected);color:var(--selected-ink)}*{scrollbar-color:var(--scroll-thumb) var(--panel);scrollbar-width:thin}.color-control{align-items:center;gap:8px;display:inline-flex}.color-control .color-swatch{border:1px solid var(--strong-line);width:20px;height:20px}.color-channels{gap:12px;padding:12px 0;display:grid}.color-channels label{grid-template-columns:45px 1fr 28px;align-items:center;gap:8px;display:grid}.color-presets{flex-wrap:wrap;gap:6px;display:flex}.color-presets button{border:2px solid var(--line);width:26px;height:26px;min-height:26px}.ladder-instruction .inline-value{font-family:var(--ladder-font);justify-content:center;max-width:100%;font-size:11px}.ladder-instruction .inline-value>svg{display:none}.ladder-instruction .operand-name{padding:0}@media (pointer:coarse){.inline-value{min-height:32px}.inline-value>svg{opacity:1}.choice-option{min-height:36px}}.ladder-instruction .app-select>span:last-child{display:none}.ladder-instruction .app-select{min-height:18px;padding:0 2px}.inline-popup label{margin:0}.inline-popup .color-channels label{min-height:24px;margin:0}.form-errors{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-line);margin-top:8px;padding:6px 10px}.ladder-editor{--wire:30px;--ladder-font:"Segoe UI", Tahoma, sans-serif;outline:none;flex-direction:column;flex:1;min-height:0;display:flex}.instruction-bar{background:var(--panel);flex-shrink:0;align-items:center;gap:1px;height:34px;padding:3px 6px;display:flex}.instruction-bar .rung-tool,.instruction-bar .opcode-tool{background:0 0;border:1px solid #0000;min-height:26px;padding:2px 5px;position:relative}.instruction-bar .rung-tool svg{fill:none;width:26px;height:17px;stroke:var(--ladder-number);stroke-width:1.7px}.instruction-bar .opcode-tool.relay .glyph{width:34px;height:20px}.instruction-bar .opcode-tool.relay .glyph.wide{width:44px}.instruction-bar .opcode-tool.box{border-color:var(--strong-line);background:var(--canvas);min-height:20px;color:var(--text);font:600 10px var(--ladder-font);letter-spacing:.2px;border-radius:1px;margin:0 2px;padding:1px 5px}.instruction-bar .opcode-tool.box:hover:not(:disabled){border-color:var(--selected-line);background:var(--row-hover)}.glyph-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:50%;left:50%;overflow:hidden}.scroll-strip{align-items:stretch;min-width:0;display:flex}.strip-track{scrollbar-width:none;white-space:nowrap;flex:1;min-width:0;display:flex;overflow:auto hidden}.strip-track::-webkit-scrollbar{display:none}.strip-arrows{border-left:1px solid var(--soft-line);flex-shrink:0;align-items:center;padding-left:2px;display:flex}.strip-arrows button{min-height:20px;color:var(--text);background:0 0;border:0;padding:0 2px}.strip-arrows button:disabled{color:var(--disabled)}.instruction-list{flex:1}.instruction-list .strip-track{align-items:center;gap:1px}.instruction-tabs{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;height:26px}.instruction-tabs .strip-track{align-items:flex-end;padding:0 6px}.instruction-tabs .strip-arrows{align-self:center;height:20px;margin-right:4px}.instruction-tabs button[role=tab]{border:1px solid var(--line);background:var(--chrome);height:21px;min-height:21px;color:var(--text);border-bottom:0;border-radius:2px 2px 0 0;flex-shrink:0;margin-right:-1px;padding:1px 10px 2px;font-size:11px;font-weight:400;position:relative}.instruction-tabs button[role=tab].active{z-index:1;background:var(--canvas);height:24px;margin-bottom:-1px;font-weight:600}.instruction-tabs button[role=tab]:hover:not(:disabled):not(.active){background:var(--hover)}.toolbar-search{border:1px solid var(--line);background:var(--canvas);height:24px;color:var(--muted);flex-direction:row;flex:0 0 150px;align-items:center;gap:4px;margin:0 0 0 8px;padding:0 6px}.toolbar-search:focus-within{border-color:var(--focus)}.toolbar-search input{background:0 0;border:0;flex:1;width:0;min-height:20px;padding:0;font-size:11px}.toolbar-search input:focus{outline:none}.ladder-scroll{background:var(--canvas);min-height:0;font-family:var(--ladder-font);flex:1;padding:10px 0 34px;overflow:auto}.rung{min-width:max-content;padding-right:24px;display:flex;position:relative}.rung.described{--wire:56px}.rung-number{z-index:2;width:52px;min-width:52px;padding:calc(34px + var(--wire) - 8px) 10px 0 0;background:var(--canvas);color:var(--ladder-number);font:11px var(--ladder-font);border:0;border-radius:0;justify-content:flex-end;align-self:stretch;align-items:flex-start;position:sticky;left:0}.rung-number:hover:not(:disabled){background:var(--row-hover);border-color:#0000}.rung.selected .rung-number{background:var(--selected);color:var(--ladder-number)}.rung.selected .rung-content{background:color-mix(in srgb, var(--selected) 45%, transparent)}.rung-content{border-left:2px solid var(--ladder-ink);border-right:2px solid var(--ladder-ink);flex:1;min-width:520px}.rung.powered .rung-content{border-left-color:var(--ladder-power);border-right-color:var(--ladder-power)}.rung-comment{width:calc(100% - 20px);min-width:250px;height:22px;min-height:22px;color:var(--text);font:11px var(--ladder-font);background:0 0;border:1px solid #0000;margin:6px 10px 0;padding:2px 5px;display:block}.rung-comment:focus{background:var(--canvas);border-color:var(--selected-line)}.rung-comment::placeholder{color:var(--muted);font-style:italic}.rung-logic{align-items:flex-start;min-width:440px;display:flex}.power-rail,.end-rail{display:none}.ladder-path{min-height:calc(var(--wire) + 34px);flex:1;align-items:flex-start;padding:6px 0 10px;display:flex;position:relative}.branch-path .ladder-path{min-height:calc(var(--wire) + 30px);padding:0}.ladder-wire.ladder-drop{min-width:14px;height:36px;margin-top:calc(var(--wire) - 18px);pointer-events:auto;background:0 0;flex:0 0 14px;position:relative}.ladder-wire.ladder-drop:last-child{flex:1}.ladder-wire.ladder-drop:before{content:"";background:var(--ladder-ink);pointer-events:none;height:1px;position:absolute;top:18px;left:0;right:0}.ladder-wire.ladder-drop.powered:before{background:var(--ladder-power);height:3px;top:17px}.ladder-instruction{z-index:1;color:var(--text);font:11px var(--ladder-font);white-space:nowrap;background:0 0;border:0;border-radius:1px;flex-shrink:0;position:relative}.ladder-instruction.simple{grid-template-rows:calc(var(--wire) - 27px) 15px 24px auto;justify-items:stretch;min-width:84px;padding-bottom:4px;display:grid}.operand-description{max-width:120px;color:var(--muted);white-space:normal;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;place-self:end center;font-size:10px;line-height:12px;display:-webkit-box;overflow:hidden}.ladder-instruction .operand-name{text-align:center;grid-row:2;justify-self:center;min-width:24px;max-width:190px;padding:0 2px;line-height:15px}.operand-alias{color:var(--muted);grid-row:4;justify-self:center;padding-top:1px;font-size:10px;line-height:12px}.glyph{fill:none;stroke:var(--ladder-ink);stroke-width:1.4px;overflow:visible}.ladder-instruction .glyph{width:40px;height:24px;display:block}.ladder-instruction .glyph-type{grid-row:3;justify-self:center;display:flex}.ladder-instruction .glyph-type .app-select.inline-value{background:0 0;border:0;width:auto;height:24px;min-height:24px;padding:0}.ladder-instruction .glyph-type .app-select.inline-value:hover{background:0 0}.ladder-instruction .glyph-type .app-select.inline-value>span:first-child{display:flex}.ladder-instruction.simple:before,.ladder-instruction.simple:after{content:"";top:var(--wire);background:var(--ladder-ink);pointer-events:none;width:calc(50% - 5px);height:1px;position:absolute}.ladder-instruction.simple:before{left:0}.ladder-instruction.simple:after{right:0}.ladder-instruction.simple:has(.glyph.coil):before{width:calc(50% - 7.4px)}.ladder-instruction.simple:has(.glyph.coil):after{width:calc(50% - 7.4px)}.ladder-instruction.simple:has(.glyph.lettered-coil):before{width:calc(50% - 19.2px)}.ladder-instruction.simple:has(.glyph.lettered-coil):after{width:calc(50% - 19.2px)}.ladder-instruction.simple:has(.glyph.lettered-bracket):before{width:calc(50% - 15px)}.ladder-instruction.simple:has(.glyph.lettered-bracket):after{width:calc(50% - 15px)}.ladder-instruction.simple.power-in:before,.ladder-instruction.simple.power-out:after{top:calc(var(--wire) - 1px);background:var(--ladder-power);height:3px}.glyph .stub{stroke-width:1px}.ladder-instruction .inline-value{gap:0;height:15px;min-height:15px;padding:0 2px;line-height:15px}.ladder-instruction.block .inline-value{height:16px;min-height:16px;line-height:16px}.block-mnemonic .app-select.inline-value{background:0 0;border:0;width:auto;min-width:0;height:14px;min-height:14px;padding:0 1px;font-weight:600;line-height:14px}.instruction-bar .opcode-tool .glyph{stroke-width:1.3px}.instruction-bar .opcode-tool .glyph .stub{stroke-width:1.1px}.glyph .stub.powered{stroke:var(--ladder-power);stroke-width:3px}.glyph.wide{width:52px}.glyph text{fill:var(--ladder-ink);stroke:none;font:700 9px var(--ladder-font);text-anchor:middle}.glyph text.small{font-size:7px}.ladder-instruction.energized .glyph .symbol{stroke:var(--ladder-power);stroke-width:2.4px}.ladder-instruction.energized .glyph text{fill:var(--ladder-power)}.ladder-instruction.block{padding:calc(var(--wire) - 12px) 0 8px;align-items:flex-start;display:flex}.block-in{background:var(--ladder-ink);flex:0 0 8px;height:1px;margin-top:12px}.block-in.powered{background:var(--ladder-power);height:3px;margin-top:11px}.block-box{border:1px solid var(--ladder-ink);background:var(--canvas);grid-template-columns:auto 1fr;column-gap:14px;min-width:152px;padding:4px 7px 5px;display:grid;position:relative}.ladder-instruction.block.energized .block-box{border-color:var(--ladder-power);box-shadow:inset 0 0 0 1px var(--ladder-power)}.block-mnemonic{background:var(--canvas);padding:0 3px;font-weight:600;line-height:14px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.block-title{grid-column:1/-1;height:16px;line-height:16px}.block-row{display:contents}.block-label{grid-column:1;line-height:16px}.block-value{grid-column:2;justify-self:end;align-items:center;line-height:16px;display:inline-flex}.block-live{color:var(--muted);grid-column:2;justify-self:end;line-height:14px}.entry-arrow{color:var(--ladder-ink);margin-left:2px;font-size:11px;font-style:normal;line-height:1}.block-value .inline-value{width:auto}.block-browse{border:1px solid var(--strong-line);padding:0 3px;line-height:11px;position:absolute;top:3px;right:4px}.block-outputs{flex-direction:column;align-self:stretch;min-width:48px;margin-top:3px;display:flex}.block-output{align-items:center;height:18px;display:flex}.block-output:before{content:"";background:var(--ladder-ink);flex:0 0 6px;height:1px}.block-output.main:after{content:"";background:var(--ladder-ink);flex:1;min-width:6px;height:1px}.block-output:before,.block-output.main:after{align-self:flex-start;margin-top:9px}.block-output.main.powered:before,.block-output.main.powered:after{background:var(--ladder-power);height:3px;margin-top:8px}.block-output.stub:empty{display:none}.block-output b{letter-spacing:.2px;padding:0 1px;font-size:10px;font-weight:400}.block-output.on b{color:var(--ladder-power);font-weight:700}.block-output.main:not(:has(b)):before{flex:1}.block-output.main:not(:has(b)):after{display:none}.ladder-instruction:hover{background:var(--row-hover);outline:1px solid var(--selected-line)}.ladder-instruction.node-selected,.branch.node-selected{background:var(--selected);outline:1px solid var(--selected-line)}.ladder-instruction.block.node-selected .block-box,.ladder-instruction.block.node-selected .block-mnemonic{background:var(--selected)}.branch{z-index:1;background:inherit;flex-direction:column;min-width:60px;display:flex;position:relative}.branch-path{align-items:flex-start;padding:0 1px;display:flex;position:relative}.branch-path:before,.branch-path:after{content:"";background:var(--ladder-ink);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.branch-path:before{left:0}.branch-path:after{right:0}.branch-path:first-of-type:before,.branch-path:first-of-type:after{top:var(--wire)}.branch-path:last-child:before,.branch-path:last-child:after{height:calc(var(--wire) + 1px);bottom:auto}.branch.in-powered>.branch-path:before{background:var(--ladder-power);width:3px;left:-1px}.branch.out-powered>.branch-path:after{background:var(--ladder-power);width:3px;right:-1px}.branch-path.path-selected{background:var(--selected)}.branch-select{top:calc(var(--wire) - 24px);z-index:4;border:1px solid var(--line);background:var(--panel-muted);opacity:0;min-height:16px;padding:1px 2px;position:absolute;left:-8px}.branch:hover>.branch-select,.branch.node-selected>.branch-select,.branch-select:focus-visible{opacity:1}.path-add{z-index:3;min-height:14px;color:var(--muted);background:var(--panel-muted);opacity:0;padding:0;position:absolute;bottom:2px;right:3px}.branch-path:hover>.path-add,.branch-path.path-selected>.path-add,.path-add:focus-visible{opacity:1}.end-rung-marker .rung-number{cursor:default;padding-top:7px}.end-rung-marker .rung-content{min-height:30px}.end-line{background:var(--ladder-ink);height:1px;margin-top:14px}.end-rung{border:1px dashed var(--line);width:200px;color:var(--muted);margin:14px 20px 0 64px}.end-rung span{color:var(--muted);margin-left:auto;font-size:10px}.ladder-empty{border-left:2px solid var(--ladder-ink);border-right:2px solid var(--ladder-ink);max-width:500px;min-height:240px;color:var(--muted);margin:10px 30px 10px 52px;padding:60px 40px;position:relative}.ladder-empty strong{color:var(--text);font-size:15px;display:block}.ladder-empty p{max-width:330px;font-size:12px}.ladder-empty button{border-color:var(--selected-line);background:var(--panel-muted)}@media (width<=760px){.rung-number{width:36px;min-width:36px;padding-right:6px}.rung-content{min-width:350px}}.rung-number .rung-error{left:7px;top:calc(34px + var(--wire) - 8px);color:var(--danger);font:italic 600 12px/1 var(--ladder-font);position:absolute}.ladder-instruction .inline-value.has-problem>span:first-child{-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);text-underline-offset:2px;text-decoration-thickness:1px}.organizer{width:240px}.organizer .pane-heading{background:var(--heading);justify-content:space-between;height:26px;padding:0 4px 0 8px;font-size:11px}.organizer .pane-heading .icon-button{min-height:20px;padding:2px 4px}.studio-tree{--tree-line:#9aa5ab;padding:4px 0 10px 4px;font-size:12px}:root[data-theme=dark] .studio-tree{--tree-line:#5d6c78}.studio-tree .branch-heading{align-items:center;min-height:20px;padding-left:2px;display:flex}.studio-tree .branch-heading.contains-current{background:0 0}.studio-tree .branch-current{display:none}.studio-tree .branch-toggle{border:0;min-width:13px;min-height:20px;padding:0 2px}.studio-tree .branch-toggle:hover:not(:disabled){background:0 0}.tree-box{width:9px;height:9px}.tree-box rect{fill:var(--canvas);stroke:#8a969c;stroke-width:1px}.tree-box path{stroke:var(--text);stroke-width:1px}.studio-tree .branch-label,.studio-tree .tree-row{white-space:nowrap;border:1px solid #0000;border-radius:0;gap:4px;height:20px;min-height:20px;padding:1px 4px;font-size:12px}.studio-tree .tree-row{width:auto;padding-left:17px}.studio-tree .branch-label:hover:not(:disabled),.studio-tree .tree-row:hover:not(:disabled):not(.placeholder){background:var(--row-hover);border-color:var(--selected-line)}.studio-tree .tree-row.active{background:var(--selected);border-color:var(--selected-line)}.studio-tree .tree-row.placeholder{color:var(--muted);cursor:default;opacity:.8;align-items:center;display:flex}.studio-tree .tree-row.placeholder .studio-icon{filter:saturate(.35);opacity:.8}.studio-icon{flex-shrink:0}.studio-tree .branch-children{margin-left:8px;position:relative}.studio-tree .branch-children>*{position:relative}.studio-tree .branch-children>:before,.studio-tree .branch-children>:after{content:"";pointer-events:none;position:absolute;left:0}.studio-tree .branch-children>:before{border-left:1px dotted var(--tree-line);top:0;bottom:0}.studio-tree .branch-children>:last-child:before{height:10px;bottom:auto}.studio-tree .branch-children>:after{border-top:1px dotted var(--tree-line);width:5px;top:10px}.studio-tree .branch-children>.tree-row:after{width:14px}.document-tabs{background:var(--chrome);border-bottom:1px solid var(--line);flex-shrink:0;height:28px}.document-tabs .strip-track{align-items:flex-end;padding:0 4px}.document-tabs .strip-arrows{align-self:center;height:20px;margin-right:4px}.doc-tab{border:1px solid var(--line);background:var(--panel-muted);white-space:nowrap;border-bottom:0;align-items:center;height:25px;margin-right:2px;padding-right:2px;display:flex}.doc-tab.active{background:var(--canvas);height:27px;box-shadow:inset 0 2px 0 var(--focus);margin-bottom:-1px}.doc-tab-open{background:0 0;border:0;gap:5px;min-height:22px;padding:2px 6px 2px 8px;font-size:11px}.doc-tab-open:hover:not(:disabled){background:0 0}.doc-tab-close:hover:not(:disabled){background:var(--hover)}.doc-tab.active .doc-tab-open{font-weight:600}.doc-tab .document-tab{height:auto;font-weight:inherit;background:0 0;border:0;padding:0}.doc-tab-close{min-height:16px;color:var(--muted);opacity:.6;background:0 0;border:0;padding:2px}.doc-tab:hover .doc-tab-close,.doc-tab.active .doc-tab-close,.doc-tab-close:focus-visible{opacity:1}.studio-empty{text-align:center;margin:auto}.project-header{gap:10px;min-height:30px;padding:0 8px 0 6px}.product-mark{color:var(--green)}.menu-bar{flex-shrink:0;align-self:stretch;align-items:stretch;gap:0;display:flex}.menu-title{letter-spacing:.35px;text-transform:uppercase;border:0;border-radius:0;min-height:0;padding:0 8px;font-size:11px}.menu-title:hover:not(:disabled),.menu-title.open{background:var(--hover);border-color:#0000}.menu-compact{display:none}.menu-bar-menu{min-width:250px}.project-identity{margin-left:8px}.workspace-switch button{padding:0 9px}@media (width<=1350px){.header-utilities button>span,.project-save{display:none}.project-identity>.app-select{max-width:200px}}@media (width<=1100px){.menu-bar>.menu-title:not(.menu-compact){display:none}.menu-compact{display:inline-flex}}.operating-row{padding:3px 8px}.controller-controls{gap:6px}.online-toolbar{border:1px solid var(--line);background:var(--canvas);border-radius:2px;align-items:center;gap:7px;height:46px;padding:2px 10px 2px 4px;display:flex}.online-icon svg{fill:none;width:26px;height:26px;stroke:var(--muted);stroke-width:1.3px;display:block}.online-icon .screen{fill:var(--muted);stroke:none;opacity:.35}.online-toolbar.is-online .online-icon svg{stroke:var(--text)}.online-toolbar.is-online .online-icon .screen{fill:var(--green);opacity:1}.online-icon .link{stroke:var(--green);stroke-width:1.6px}.online-lines{flex-direction:column;min-width:108px;display:flex}.online-lines>.app-select,.online-lines>button{background:0 0;border:0;border-radius:1px;justify-content:flex-start;gap:3px;width:100%;max-width:none;height:14px;min-height:14px;padding:0 3px;font-size:11px;line-height:14px}.online-lines>.online-mode{font-weight:700}.online-lines>.online-mode:disabled{color:var(--text);opacity:1}.online-toolbar.is-faulted .online-mode{color:var(--danger)}.online-lines>.app-select>span:last-child{display:inline-flex}.online-line.forces,.online-line.edits{color:var(--warning);font-weight:600}.online-lamps{border-left:1px solid var(--soft-line);white-space:nowrap;flex-direction:column;gap:1px;padding-left:9px;font-size:10.5px;line-height:13px;display:flex}.online-lamp{align-items:center;gap:5px;display:inline-flex}.online-lamp i{background:var(--disabled);border:1px solid #0003;border-radius:1px;width:9px;height:9px}.online-lamp.ok i{background:var(--green)}.online-lamp.warn i{background:#d99a1e}.online-lamp.bad i{background:var(--danger)}.online-lamp.bad{color:var(--danger);font-weight:600}.online-lamp.off{color:var(--muted)}.online-lamp.off i{background:0 0}.path-block{flex-direction:column;gap:2px;min-width:0;display:flex}.path-line{color:var(--muted);white-space:nowrap;font-size:10.5px}.path-line .mono{color:var(--text);font-size:10.5px}.path-tools{align-items:center;gap:4px;display:flex}.path-tools .app-select{max-width:120px}@media (width<=760px){.online-toolbar{width:100%}.path-line{display:none}}.studio-sheet{background:var(--chrome);padding:14px 16px}.sheet-frame{max-width:780px}.sheet-tabs-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;padding-left:2px;display:flex}.sheet-tabs-strip button{border:1px solid var(--line);background:var(--panel-muted);border-radius:3px 3px 0 0;min-height:23px;margin:0 -1px -1px 0;padding:2px 10px;font-size:11px;font-weight:400}.sheet-tabs-strip button.active{z-index:1;border-bottom-color:var(--canvas);background:var(--canvas);font-weight:600;position:relative}.sheet-tabs-strip button[aria-disabled=true]{color:var(--muted);opacity:.6;cursor:default}.sheet-tabs-strip button[aria-disabled=true]:hover{background:var(--panel-muted)}.sheet-body{border:1px solid var(--line);background:var(--canvas);border-top:0;flex-direction:column;align-items:flex-start;gap:10px;min-height:300px;padding:16px 18px 20px;font-size:12px;display:flex}.sheet-fields{grid-template-columns:max-content minmax(0,440px);align-items:center;gap:8px 14px;display:grid}.sheet-fields>span:nth-child(odd){color:var(--text);white-space:nowrap}.sheet-fields .inline-value,.sheet-fields .app-select{border-color:var(--line);background:var(--canvas);max-width:260px;min-height:24px}.field-with-unit{align-items:center;gap:8px;display:inline-flex}.field-with-unit .inline-value{width:90px}.sheet-label{font-size:12px}.fault-log{border:1px solid var(--line);background:var(--canvas);width:100%;min-height:120px;font-family:var(--font-data);flex-direction:column;gap:3px;padding:8px 10px;font-size:11.5px;display:flex;overflow:auto}.fault-log strong{color:var(--danger);font-weight:600}.fault-log .muted{font-family:Segoe UI,Tahoma,sans-serif}.sheet-actions{gap:8px;display:flex}.sheet-actions button{border-color:var(--line);background:var(--panel-muted);justify-content:center;min-width:92px}.sheet-actions button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.sheet-group{border:1px solid var(--line);width:100%;margin:4px 0 0;padding:8px 12px 12px}.sheet-group legend{color:var(--text);padding:0 4px;font-size:11px;font-weight:400}.fault-bits{grid-template-columns:repeat(3,max-content);gap:6px 28px;font-size:12px;display:grid}.fault-bit{align-items:center;gap:6px;display:inline-flex}.grid-check.checked{opacity:1;position:relative}.grid-check.checked:after{content:"";border:solid var(--text);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.sheet-warning{background:var(--warning-bg);color:var(--warning);margin:0;padding:6px 10px;font-size:11px}.capacity-row{align-items:center;gap:24px;display:flex}.studio-sheet .capacity{width:260px;margin:0}.studio-sheet .capacity>div{padding:4px 2px}.capacity-gauge{border:1px solid var(--line);background:var(--panel-muted);width:220px;height:14px}.capacity-gauge>span{background:var(--blue);height:100%;display:block}.radio-line{align-items:center;gap:6px;display:inline-flex}.radio-dot{border:1px solid var(--line);background:var(--canvas);border-radius:50%;width:12px;height:12px;position:relative}.radio-dot.on:after{content:"";background:var(--text);border-radius:50%;position:absolute;inset:3px}.studio-sheet .check{flex-direction:row;align-items:center;gap:6px;margin:0;font-size:12px}.sheet-note{max-width:780px;color:var(--muted);margin:8px 0 0;font-size:11px}.module-search{border:1px solid var(--line);background:var(--canvas);width:100%;max-width:420px;padding:0 6px}.module-search input{background:0 0;border:0;min-height:24px}.module-types{border:1px solid var(--line);width:100%;max-height:240px;overflow:auto}.module-types table{font-size:12px}.module-types th{background:var(--heading);padding:3px 8px;font-weight:400}.module-types td{padding:1px 8px}.module-types tr{cursor:default}.module-types .selected-row td{background:var(--selected)}.module-type{background:0 0;border:0;min-height:20px;padding:0;font-size:12px;font-weight:400}.module-type:hover:not(:disabled){background:0 0}@media (width<=760px){.studio-sheet{padding:8px}.sheet-body{padding:12px}.sheet-fields{grid-template-columns:1fr;gap:3px}.sheet-fields>span:nth-child(odd){color:var(--muted);margin-top:6px}.capacity-row{flex-direction:column;align-items:flex-start}.fault-bits{grid-template-columns:repeat(2,max-content)}}.sheet-stack{flex-direction:column;gap:18px;display:flex;overflow:auto}.sheet-title{margin:0 0 6px;font-size:12px;font-weight:600}.sheet-body .inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;display:flex}.sheet-body .inline-form input{flex:0 200px;min-height:24px}.sheet-body .inline-form button{justify-content:center;min-width:64px}.schedule-lists{align-items:center;gap:12px;display:flex}.schedule-lists>label{flex-direction:column;gap:4px;margin:0;font-size:12px;display:flex}.schedule-buttons{flex-direction:column;gap:8px;display:flex}.schedule-buttons button{border-color:var(--line);background:var(--panel-muted);justify-content:center;min-width:92px}.program-list{border:1px solid var(--line);background:var(--canvas);flex-direction:column;width:200px;height:130px;padding:2px;display:flex;overflow:auto}.program-list>button{border:1px solid #0000;border-radius:0;justify-content:flex-start;gap:5px;min-height:20px;padding:0 4px;font-size:12px;font-weight:400}.program-list>button[aria-selected=true]{background:var(--selected);border-color:var(--selected-line)}.program-list>.muted{padding:3px 6px;font-size:11px}.routine-table{width:auto;min-width:360px;font-size:12px}.routine-table th{background:var(--heading);padding:2px 10px;font-weight:400}.routine-table td{padding:1px 10px}.routine-table .link{min-height:20px;color:var(--blue);background:0 0;border:0;gap:5px;padding:0;font-size:12px}@media (width<=760px){.schedule-lists{flex-direction:column;align-items:flex-start}.schedule-buttons{flex-direction:row}}.message-title{align-items:center;gap:6px;display:flex}.message-title .app-select{min-height:22px;font-weight:600}.message-grid{grid-template-columns:max-content minmax(0,200px) max-content minmax(0,220px);align-items:center;gap:8px 14px;display:grid}.message-grid .inline-value{border-color:var(--line);background:var(--canvas);min-height:24px}.message-grid .field-with-unit .inline-value{width:80px}.static-field{border:1px solid var(--soft-line);background:var(--panel-muted);padding:2px 6px}@media (width<=760px){.message-grid{grid-template-columns:max-content minmax(0,1fr)}}.wizard-controller{border:1px solid var(--soft-line);background:var(--panel-muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin:-4px 0 10px;padding:6px 10px;font-size:12px;display:flex}.wizard-path{color:var(--muted)}.studio-tags{background:var(--canvas)}.tag-bar{border-bottom:1px solid var(--line);background:var(--chrome);align-items:center;gap:14px;min-height:32px;padding:3px 8px;font-size:11px;display:flex}.tag-bar>label{color:var(--text);flex-direction:row;align-items:center;gap:5px;margin:0;font-size:11px;display:flex}.tag-bar .app-select{min-width:132px;min-height:22px;padding:1px 6px;font-size:11px}.tag-bar .tag-filter{border:1px solid var(--line);background:var(--canvas);flex:0 240px;gap:4px;padding:0 6px}.tag-bar .tag-filter input{background:0 0;border:0;min-height:22px;padding:0;font-size:11px}.tag-bar .tag-filter input:focus{outline:none}.tag-bar .tag-filter:focus-within{border-color:var(--focus)}.tag-bar-note{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:10px}.studio-tags .table-scroll{background:var(--canvas);outline:none}.studio-tags .tag-table{table-layout:auto;width:100%;font-size:12px}.studio-tags .tag-table th.col-description{width:100%}.studio-tags .tag-table th{border-right:1px solid var(--line);background:var(--heading);height:21px;padding:0 6px;font-size:11px;font-weight:400}.studio-tags .tag-table th .col-arrow{color:var(--muted);margin-left:5px}.studio-tags .sort-head{border:0;justify-content:space-between;gap:6px;width:100%;min-height:20px;padding:0;font-size:11px;font-weight:400}.studio-tags .sort-head:hover:not(:disabled){background:0 0}.studio-tags .tag-table td{border-right:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);min-width:0;max-width:none;height:20px;padding:0 6px;line-height:18px}.studio-tags .tag-table td:first-child{min-width:0;max-width:none}.studio-tags .tag-table .row-head{background:var(--heading);border-right:1px solid var(--line);width:14px;min-width:14px;color:var(--text);text-align:center;padding:0;font-size:10px}.studio-tags .tag-table tr:hover td{background:var(--row-hover)}.studio-tags .tag-table tr:hover td.row-head{background:var(--heading)}.studio-tags .tag-table .selected-row td,.studio-tags .tag-table .selected-row:hover td{background:var(--selected)}.studio-tags .tag-table .selected-row td.row-head{background:var(--heading)}.studio-tags .tag-name-cell{white-space:nowrap;min-width:210px}.studio-tags .name-wrap{align-items:center;gap:3px;display:flex}.studio-tags .tree-toggle{border:0;min-width:13px;min-height:18px;padding:0 2px}.studio-tags .tree-toggle:hover:not(:disabled){background:0 0}.studio-tags .tree-spacer{flex-shrink:0;width:13px;display:inline-block}.studio-tags .tag-name{min-height:18px;color:var(--text);background:0 0;border:0;padding:0 2px;font-size:12px;font-weight:400}.studio-tags .tag-name:hover:not(:disabled){background:0 0}.studio-tags .tag-line.member .tag-name,.studio-tags .tag-line.element .tag-name,.studio-tags .tag-line.bit .tag-name{color:var(--text)}.studio-tags .inline-value,.studio-tags .cell-input{height:18px;min-height:18px;padding:0 3px;font-size:12px}.studio-tags .cell-input.numeric{width:auto;min-width:70px;font-family:var(--font-data);color:var(--text);font-size:11.5px}.studio-tags .inline-value>svg{display:none}.studio-tags .inline-value:hover>svg,.studio-tags .inline-value:focus-visible>svg{display:inline}.studio-tags .inherited{color:var(--muted)}.studio-tags .tag-name,.studio-tags .mono,.studio-tags .cell-input.mono{font-family:inherit}.studio-tags .base-cell{font-family:inherit;font-size:12px}.studio-tags .plain-cell,.studio-tags .muted-cell{padding-left:3px}.studio-tags .force-cell{font-family:var(--font-data);color:var(--muted);font-size:11.5px}.studio-tags .force-cell.forced{color:var(--warning);font-weight:600}.studio-tags .module-type{color:var(--muted);font-style:italic}.studio-tags .description-cell{min-width:220px}.studio-tags .not-simulated{font-size:11px}.studio-tags .cell-select{background:0 0;border-color:#0000;justify-content:flex-start;gap:4px;width:100%;min-width:0;height:18px;min-height:18px;padding:0 3px;font-size:12px;font-weight:400}.studio-tags .cell-select>span:last-child{visibility:hidden;margin-left:auto}.studio-tags tr:hover .cell-select>span:last-child,.studio-tags .cell-select:focus-visible>span:last-child,.studio-tags .cell-select[data-state=open]>span:last-child{visibility:visible}.studio-tags tr:hover .cell-select,.studio-tags .cell-select:focus-visible{border-color:var(--line)}.grid-check{vertical-align:middle;border:1px solid var(--line);background:var(--canvas);opacity:.7;width:11px;height:11px;display:inline-block}.studio-tags .new-row .row-head{font-weight:700}.studio-tags .new-row .inline-value{min-width:180px}.studio-tags .empty{color:var(--muted);padding:18px 20px;font-size:11px}.tag-sheet-bar{border-top:1px solid var(--line);background:var(--chrome);align-items:flex-start;gap:12px;min-height:26px;padding:0 8px 0 18px;display:flex}.sheet-tabs{flex-shrink:0;margin-top:-1px;display:flex}.sheet-tabs button{border:1px solid var(--line);background:var(--panel-muted);min-height:21px;color:var(--muted);border-top:0;border-radius:0 0 3px 3px;margin-right:-1px;padding:1px 12px 2px;font-size:11px}.sheet-tabs button[aria-selected=true]{z-index:1;background:var(--canvas);color:var(--text);font-weight:600;position:relative}.tag-sheet-bar .tag-signal-tools{border:0;flex:1;justify-content:flex-end;gap:2px 8px;min-width:0;padding:2px 0}.tag-sheet-bar .tag-signal-tools>strong{font-size:11px;font-weight:600}.tag-sheet-bar .signal-tools button{min-height:22px;padding:1px 6px;font-size:10.5px}@media (width<=760px){.tag-bar{flex-wrap:wrap;gap:4px 10px}.tag-bar .tag-filter{flex:100%;order:3}.tag-bar-note{display:none}.tag-sheet-bar{flex-wrap:wrap;padding-left:8px}.tag-sheet-bar .tag-signal-tools{flex-basis:100%;justify-content:flex-start}}.property-page.cross-reference{flex-direction:column;padding:0;display:flex;overflow:hidden}.cross-reference .static-field{border:1px solid var(--soft-line);background:var(--panel-muted);padding:2px 6px}.cross-reference .tag-filter{color:var(--text);background:0 0;border:0;padding-left:0}.cross-reference .tag-filter input{border:1px solid var(--line);background:var(--canvas);padding:0 6px}.reference-table{width:100%;font-size:12px}.reference-table th{background:var(--heading);border-right:1px solid var(--line);height:21px;padding:0 8px;font-size:11px;font-weight:400}.reference-table td{border-right:1px solid var(--soft-line);height:20px;padding:0 8px}.reference-table th:last-child{width:100%}.reference-table .link{min-height:18px;color:var(--blue);background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.diagnostic-log{padding:6px 12px;font-size:12px}.diagnostic-log>div{gap:12px;padding:3px 0}.diagnostic-log time{font-size:10.5px}.dock-content>.trend-panel{gap:18px;height:100%;padding:10px 16px 8px}.trend-chart{grid-template-rows:minmax(60px,1fr) 16px 20px;grid-template-columns:52px minmax(0,1fr);min-height:0;margin:0;display:grid}.trend-chart svg{border:1px solid var(--line);background:var(--canvas);grid-area:1/2;width:100%;height:100%}.trend-grid{stroke:var(--soft-line);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.trend-y{text-align:right;flex-direction:column;grid-area:1/1;justify-content:space-between;padding-right:6px;display:flex}.trend-x{grid-area:2/2;justify-content:space-between;display:flex}.trend-y span,.trend-x span{color:var(--muted);font:10px var(--font-data);line-height:12px}.trend-legend{grid-area:3/2;align-items:center;gap:7px;font-size:11px;display:flex}.trend-legend i{background:var(--plot-1);width:18px;height:3px}.trend-legend strong{font-family:var(--font-data);font-weight:600}.trend-legend span{color:var(--muted)}.scope-instrument{--bezel:#2d3135;--bezel-edge:#1d2023;--screen:#07100c;--graticule:#aac8b94d;--screen-text:#c8d6cf;--ch1:#f2d23a;--ch2:#3fd2e6;--ch3:#e664d6;--ch4:#54dc78;height:100%;padding:8px 12px}.scope-bezel{border:1px solid var(--bezel-edge);background:linear-gradient(180deg, #3a3f44, var(--bezel) 40%, #25282b);border-radius:7px;gap:12px;height:100%;min-height:150px;padding:9px;display:flex;box-shadow:inset 0 1px #ffffff14,0 1px 2px #0000004d}.scope-screen{background:var(--screen);height:100%;color:var(--screen-text);font:10px var(--font-data);border:2px solid #111416;border-radius:3px;flex-direction:column;flex-shrink:0;padding:3px 5px;display:flex;box-shadow:inset 0 0 18px #000c}.scope-screen svg{aspect-ratio:3/2;flex:auto;width:auto;height:100%;min-height:0}.scope-status,.scope-readout{white-space:nowrap;align-items:center;gap:14px;height:14px;display:flex}.scope-readout .timebase{margin-left:auto}.scope-run{color:#ffd0d0;background:#5a2020;padding:0 4px}.scope-run.on{color:#d2ffd9;background:#1f5a2c}.graticule{stroke:var(--graticule);stroke-dasharray:2 6;vector-effect:non-scaling-stroke}.graticule-tick{stroke:var(--graticule);vector-effect:non-scaling-stroke}.ground-marker{fill:var(--ch1)}.trace polyline{fill:none;stroke-width:1.6px;stroke-linejoin:round}.trace .glow{stroke-width:5px;opacity:.2}.trace.ch1 polyline,.scope-readout .ch1{stroke:var(--ch1);color:var(--ch1)}.trace.ch2 polyline,.scope-readout .ch2{stroke:var(--ch2);color:var(--ch2)}.trace.ch3 polyline,.scope-readout .ch3{stroke:var(--ch3);color:var(--ch3)}.trace.ch4 polyline,.scope-readout .ch4{stroke:var(--ch4);color:var(--ch4)}.scope-panel{color:#d9dee2;flex-direction:column;flex:1;gap:8px;min-width:200px;font-size:10.5px;display:flex}.scope-panel>label{color:#aeb6bc;letter-spacing:.6px;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:10px}.scope-panel .app-select{color:#eef1f3;background:#1c1f22;border-color:#50565c;width:100px;min-height:22px;font-size:11px}.scope-channels{flex-wrap:wrap;gap:8px 18px;min-height:0;display:flex;overflow:auto}.scope-channels p{color:#aeb6bc;max-width:360px;margin:0}.scope-channel strong{font:600 10.5px var(--font-data);margin-bottom:2px;display:block}.scope-channel strong span{color:#d9dee2;font-family:Segoe UI,Tahoma,sans-serif;font-weight:400}.scope-channel.ch1 strong{color:var(--ch1)}.scope-channel.ch2 strong{color:var(--ch2)}.scope-channel.ch3 strong{color:var(--ch3)}.scope-channel.ch4 strong{color:var(--ch4)}.scope-channel dl{font:10.5px var(--font-data);grid-template-columns:repeat(4,max-content max-content);gap:1px 6px;margin:0;display:grid}.scope-channel dt{color:#99a2a9}.scope-channel dd{color:#eef1f3;margin:0 8px 0 0}.scope-softkeys{gap:6px;margin-top:auto;display:flex}.scope-softkeys button{color:#eef1f3;background:linear-gradient(#555b61,#3d4247);border:1px solid #1b1e21;border-radius:3px;min-height:24px;padding:2px 10px;font-size:10.5px;box-shadow:inset 0 1px #ffffff1f}.scope-softkeys button:hover:not(:disabled){background:linear-gradient(#60666d,#464b50);border-color:#1b1e21}.scope-softkeys button:disabled{color:#8a9095;opacity:1}@media (width<=760px){.scope-bezel{flex-direction:column;height:auto}.scope-screen,.scope-screen svg{width:100%;height:auto}.scope-channel dl{grid-template-columns:repeat(2,max-content max-content)}}.dmm{--dmm-body:#2d3236;--dmm-holster:#e8b92c;--dmm-lcd:#b9c4a4;--dmm-ink:#1d231a;border:3px solid var(--dmm-holster);background:linear-gradient(180deg, #394046, var(--dmm-body));border-radius:9px;flex-direction:column;gap:8px;margin:8px 0;padding:9px 9px 10px;display:flex;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #00000040}.meter .dmm-lcd{background:var(--dmm-lcd);color:var(--dmm-ink);text-align:right;border:2px solid #15191b;border-radius:3px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:end;margin:0;padding:4px 8px 5px;display:grid;box-shadow:inset 0 2px 5px #00000040}.dmm-annunciators{letter-spacing:.5px;grid-column:1/-1;justify-content:space-between;font:700 8px Segoe UI,Tahoma,sans-serif;display:flex}.dmm-digits{letter-spacing:1px;font-variant-numeric:tabular-nums;font:700 25px/1.05 Consolas,Cascadia Mono,monospace}.dmm-unit{margin-left:4px;font:700 12px Segoe UI,Tahoma,sans-serif}.dmm-dial{color:#aab3b9;justify-content:space-between;padding:0 2px;font:700 9px Segoe UI,Tahoma,sans-serif;display:flex}.dmm-dial .on{color:var(--dmm-holster)}.dmm-jacks{flex-direction:column;gap:4px;display:flex}.meter .dmm-jack{color:#dfe4e7;text-align:left;background:#23272a;grid-template-columns:18px 30px minmax(0,1fr);align-items:center;gap:5px;width:100%;margin:0;padding:3px 6px 3px 3px;font-size:10px;display:grid;border:1px solid #1b1f22!important}.meter .dmm-jack:hover:not(:disabled){background:#2c3134}.meter .dmm-jack.active{outline:2px solid var(--focus);outline-offset:1px}.dmm-jack .jack{background:radial-gradient(circle,#0c0d0e 35%,#3a3d40 40%);border:3px solid #a3261c;border-radius:50%;width:16px;height:16px}.dmm-jack.com .jack{border-color:#111315;box-shadow:0 0 0 1px #575c61}.dmm-jack .jack-name{color:#f2f4f5;font:700 10px Segoe UI,Tahoma,sans-serif}.dmm-jack .jack-lead{text-overflow:ellipsis;white-space:nowrap;color:#aab3b9;overflow:hidden}.dmm-jack.connected .jack-lead{color:#eef1f3}.operator-station{--enclosure:#d9dbd7;--enclosure-edge:#a9ada8;--plate:#f4f3ee;--plate-ink:#22272b;border:1px solid var(--enclosure-edge);background:linear-gradient(180deg, #e3e5e1, var(--enclosure));color:var(--plate-ink);border-radius:6px;padding:10px 12px 8px;box-shadow:0 2px 8px #00000040,inset 0 1px #fff9}.station-plate{background:var(--plate);letter-spacing:1.2px;border:1px solid #8f948f;width:max-content;margin:0 auto 10px;padding:2px 10px;font:700 9px Segoe UI,Tahoma,sans-serif}.station-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px 8px;display:grid}.station-cell{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.station-cell .legend-plate{background:var(--plate);text-overflow:ellipsis;white-space:nowrap;border:1px solid #9ca09b;max-width:100%;padding:1px 5px;font:700 9px Segoe UI,Tahoma,sans-serif;overflow:hidden}.operator-station button{background:0 0;border:0;min-height:0;padding:0}.operator-station button:hover:not(:disabled){background:0 0}.operator-station button:disabled{opacity:.55}.op-pushbutton{width:46px;height:46px;box-shadow:0 2px 3px #00000059;background:radial-gradient(circle at 40% 35%,#f3f4f5,#9ea3a7 60%,#6d7276)!important;border-radius:50%!important}.op-pushbutton .cap{border-radius:50%;width:34px;height:34px;margin:6px;transition:transform 90ms,box-shadow 90ms;display:block;box-shadow:inset 0 -3px 4px #00000059,inset 0 2px 3px #ffffff59,0 2px 2px #0006}.op-pushbutton.green .cap{background:radial-gradient(circle at 45% 35%,#3fb866,#1c7a3d 70%)}.op-pushbutton.red .cap{background:radial-gradient(circle at 45% 35%,#e0493a,#9b2219 70%)}.op-pushbutton[aria-pressed=true] .cap{transform:scale(.94)translateY(1px);box-shadow:inset 0 3px 5px #00000073,0 0 #0000}.op-selector{width:58px;height:50px;position:relative}.op-selector .knob{background:radial-gradient(circle at 40% 35%,#4b5055,#1e2124 70%);border-radius:50%;width:32px;height:32px;transition:transform .12s;position:absolute;top:12px;left:13px;box-shadow:0 2px 3px #0006}.op-selector .knob:after{content:"";background:#2a2e32;border-radius:3px;width:6px;height:30px;position:absolute;top:1px;left:13px;box-shadow:inset 0 0 0 1px #5d6368}.op-selector .knob:before{content:"";z-index:1;background:#f4f3ee;width:2px;height:7px;position:absolute;top:3px;left:15px}.op-selector [class^=legend]{color:var(--plate-ink);font:700 8px Segoe UI,Tahoma,sans-serif;position:absolute}.op-selector .legend-i{top:2px;left:4px}.op-selector .legend-0{top:-2px;left:26px}.op-selector .legend-ii{top:2px;right:2px}.op-toggle{width:44px;color:var(--plate-ink);flex-direction:column;align-items:center;gap:2px;font:700 7.5px Segoe UI,Tahoma,sans-serif;display:flex}.op-toggle .bat{background:radial-gradient(circle,#c8ccd0 30%,#7c8286 70%);border-radius:50%;width:22px;height:22px;position:relative;box-shadow:0 1px 2px #00000059}.op-toggle .bat:after{content:"";transform-origin:3px 0;background:linear-gradient(90deg,#9da3a8,#eef0f2 50%,#9da3a8);border-radius:3px;width:6px;height:14px;position:absolute;top:11px;left:8px;transform:rotate(0)}.op-toggle[aria-pressed=true] .bat:after{top:-3px;transform:none}.op-fader{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.op-fader input{accent-color:#3a3f44;width:100%}.op-fader output{font:600 10px Consolas,Cascadia Mono,monospace}.op-pilot{border:5px solid #8d9296;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 3px #00000059,inset 0 2px 4px #0006}.op-pilot.lens-0{background:#2f5c40}.op-pilot.lens-1{background:#86652a}.op-pilot.lens-2{background:#83342d}.op-pilot.lit.lens-0{background:radial-gradient(circle,#d9ffe5,#43e377 55%);box-shadow:0 0 12px #43e377aa,0 2px 3px #00000059}.op-pilot.lit.lens-1{background:radial-gradient(circle,#fff1c8,#ffc23a 55%);box-shadow:0 0 12px #ffc23aaa,0 2px 3px #00000059}.op-pilot.lit.lens-2{background:radial-gradient(circle,#ffd8d2,#ff5443 55%);box-shadow:0 0 12px #ff5443aa,0 2px 3px #00000059}.op-display{background:#1c0f0e;border:2px solid #111416;border-radius:3px;width:64px;padding:3px 4px;display:block}.op-display svg{width:100%;height:auto;display:block}.op-display .segment-on{fill:#ff4a36;filter:drop-shadow(0 0 2px #ff4a36aa)}.op-display .segment-off{fill:#35201e}.op-lcd{color:#1d231a;background:#b9c4a4;border:2px solid #15191b;border-radius:3px;padding:3px 6px;font:700 12px Consolas,Cascadia Mono,monospace}.operator-station>.hint{color:#4c5358;margin:10px 0 0;font-size:10px}.organizer{width:var(--pane-width,240px);position:relative}.organizer .pane-heading{gap:2px}.organizer .pane-heading .pane-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.view-split .organizer{width:var(--pane-width,175px)}.workbench .catalog{width:var(--pane-width,190px)}.workbench .bench-inspector{width:var(--pane-width,220px)}@media (width<=1200px){.view-split .organizer{width:var(--pane-width,150px)}.workbench .catalog{width:var(--pane-width,165px)}.workbench .bench-inspector{width:var(--pane-width,200px)}}.pane-resizer{z-index:25;cursor:col-resize;touch-action:none;flex:0 0 6px;width:6px;margin:0 -3px;position:relative}.pane-resizer:after{content:"";background:var(--focus);opacity:0;width:2px;transition:opacity .12s;position:absolute;top:0;bottom:0;left:2px}.pane-resizer:hover:after,.pane-resizer:focus-visible:after,:root.pane-resizing .pane-resizer:after{opacity:1}.pane-resizer:focus-visible{outline:none}:root.pane-resizing,:root.pane-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.studio{position:relative}.organizer-rail{border:0;border-right:1px solid var(--line);background:var(--panel);width:24px;min-height:0;color:var(--muted);border-radius:0;flex:0 0 24px;justify-content:center;align-items:flex-start;padding:8px 0;font-size:11px;display:flex}.organizer-rail span{writing-mode:vertical-rl;border:1px solid var(--soft-line);background:var(--heading);color:var(--text);white-space:nowrap;border-radius:2px;padding:8px 2px}.organizer-rail:hover span,.organizer-rail[aria-expanded=true] span{border-color:var(--selected-line);background:var(--selected)}.organizer.peek{z-index:30;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;left:24px}@container (width<=850px){.workbench .pane-resizer{display:none}}@media (width<=760px){.pane-resizer,.organizer-rail{display:none}}.hover-help{z-index:300;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:max-content;max-width:min(300px,100vw - 16px);max-height:calc(100dvh - 16px);color:var(--text);box-shadow:var(--shadow);overflow-wrap:anywhere;text-align:left;padding:9px 11px;font-size:12px;line-height:1.45;position:fixed;overflow:auto}.hover-help strong{font-weight:600;display:block}.hover-help p{line-height:inherit;margin:5px 0 0}.hover-help small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.access-screen{background:var(--chrome);place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow:auto}.access-card{background:var(--panel);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow);border-radius:5px;padding:26px 28px 24px}.access-card h1{align-items:center;gap:9px;margin:0 0 12px;font-size:18px;font-weight:600;display:flex}.access-card h1>svg{color:var(--green)}.access-card p{color:var(--muted);margin:0 0 18px}.access-card label{font-weight:600}.access-card input{min-height:36px;font-size:16px;font-weight:400}.access-card .access-problem{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:2px;margin:12px 0 0;padding:7px 10px}.access-actions{justify-content:flex-end;margin-top:20px;display:flex}.access-actions button{min-width:104px;min-height:34px}.access-opening{color:var(--muted);animation:.15s .4s both access-appear}@keyframes access-appear{0%{opacity:0}}
