@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Sora:wght@400;500;600;700&display=swap";:root{--bg0:#d9e2ea;--bg1:#eef3f7;--ink:#132033;--ink-soft:#3d5166;--panel:#ffffffb8;--panel-strong:#ffffffe6;--line:#1320331f;--teal:#0c7c7c;--teal-deep:#085858;--amber:#c47a10;--alarm:#c23b2e;--ok:#1f8a4c;--axis-x:#c23b2e;--axis-y:#1f8a4c;--axis-z:#2b6cb0;--axis-a:#b45309;--axis-b:#7c3aed;--axis-c:#0f766e;--shadow:0 18px 50px #1320331f;--radius:18px;--font-sans:"Sora", sans-serif;--font-mono:"IBM Plex Mono", monospace;--nav-bg:#eef3f7eb;--chip-bg:#ffffff8c;--chip-bg-strong:#ffffffb3;--menu-bg:#fff;--wash-teal:#0c7c7c2e;--wash-amber:#c47a1024;--grid-fade:#1320330d;--mpg-face-0:#fffffff2;--mpg-face-1:#dce4ebf2;--mpg-face-2:#becad6fa;--mpg-tick:#13203373;--mpg-tick-major:#132033bf;--mpg-rim:#13203333;--window-gap:.5rem;--nc-pad-left:0px;--nc-pad-right:0px;--nc-fs-edge:.625rem;--nc-fs-edge-app:.35rem;--mpg-wheel-size:min(280px, 68vmin);--mpg-joy-size:calc(var(--mpg-wheel-size) * .8)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg0:#0c1218;--bg1:#15202b;--ink:#e6eef6;--ink-soft:#9aadc0;--panel:#16202cd6;--panel-strong:#1c2836f0;--line:#e6eef61f;--teal:#2a9d9d;--teal-deep:#6ecfcf;--amber:#d4a04a;--alarm:#e06055;--ok:#3ca86a;--axis-a:#f59e0b;--axis-b:#a78bfa;--axis-c:#2dd4bf;--shadow:0 18px 50px #0006;--nav-bg:#0c1218f0;--chip-bg:#ffffff0f;--chip-bg-strong:#ffffff1a;--menu-bg:#1a2634;--wash-teal:#2a9d9d33;--wash-amber:#d4a04a1f;--grid-fade:#e6eef60d;--mpg-face-0:#303e4efa;--mpg-face-1:#202c3afa;--mpg-face-2:#16202cfa;--mpg-tick:#e6eef659;--mpg-tick-major:#e6eef6b3;--mpg-rim:#e6eef62e}*{box-sizing:border-box}html,body,#root{max-width:100%;min-height:100%}body{color:var(--ink);font-family:var(--font-sans);background:radial-gradient(1200px 600px at 10% -10%, var(--wash-teal), transparent 55%), radial-gradient(900px 500px at 100% 0%, var(--wash-amber), transparent 50%), linear-gradient(160deg, var(--bg1), var(--bg0));background-attachment:fixed;margin:0;font-size:14px;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.22;background-image:linear-gradient(var(--grid-fade) 1px, transparent 1px), linear-gradient(90deg, var(--grid-fade) 1px, transparent 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 35%,#0000 85%);mask-image:radial-gradient(circle,#000 35%,#0000 85%)}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1180px,100% - 2rem);max-width:100%;margin:0 auto;padding:.85rem 0 2rem;position:relative}.app-shell--screens{min-height:100dvh;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.screen-body{flex:1;min-height:0}.screen-panel{gap:var(--window-gap);width:100%;min-width:0;max-width:100%;display:grid}.screen-panel>*{min-width:0;max-width:100%;margin-top:0;margin-bottom:0}.screen-run{overflow-x:clip}.mdi-panel.section{padding:.32rem .75rem}.mdi-panel.section.is-open{padding:.65rem .85rem}.mdi-bar{justify-content:space-between;align-items:center;gap:.75rem;min-height:0;display:flex}.mdi-bar .section-title{margin:0}.mdi-panel:not(.is-open) .mdi-bar .section-title{letter-spacing:.06em;font-size:.64rem;line-height:1.1}.mdi-panel:not(.is-open) .mdi-toggle{border-radius:8px;padding:.22rem .55rem;font-size:.7rem;line-height:1.15}.mdi-toggle.is-active{color:var(--teal-deep);background:#0c7c7c1f;border-color:#0c7c7c73}.mdi-console{gap:.55rem;margin-top:.65rem;display:grid}.mdi-log{border:1px solid var(--line);background:color-mix(in srgb, var(--chip-bg) 88%, transparent);border-radius:10px;min-height:5.5rem;max-height:9.5rem;padding:.55rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;overflow:auto}.mdi-log-empty{color:var(--ink-soft);margin:0;font-family:inherit;font-size:.78rem}.mdi-log-line{align-items:baseline;gap:.45rem;display:flex}.mdi-log-prefix{width:.9rem;color:var(--ink-soft);text-align:center;flex:none}.mdi-log-in .mdi-log-prefix{color:var(--teal-deep)}.mdi-log-ok .mdi-log-prefix{color:#1f8a4c}.mdi-log-err .mdi-log-prefix,.mdi-log-err .mdi-log-text{color:#c0392b}.mdi-log-text{overflow-wrap:anywhere;min-width:0;color:var(--ink)}.mdi-form{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.45rem;display:grid}.mdi-entry{grid-template-columns:minmax(0,1fr) 2.2rem;gap:.3rem;min-width:0;display:grid;position:relative}.mdi-input{border:1px solid var(--line);background:var(--chip-bg);width:100%;min-width:0;color:var(--ink);border-radius:10px;padding:.55rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.mdi-history-btn{border:1px solid var(--line);background:var(--chip-bg);width:2.2rem;color:var(--ink-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mdi-history-btn svg{width:1.05rem;height:1.05rem}.mdi-history-btn:hover:not(:disabled){color:var(--teal-deep);border-color:#0c7c7c73}.mdi-history-btn.is-open{color:var(--teal-deep);background:#0c7c7c1a;border-color:#0c7c7c73}.mdi-history-btn:disabled{opacity:.45;cursor:not-allowed}.mdi-history-menu{z-index:8;border:1px solid var(--line);background:var(--panel-strong,var(--panel));max-height:11rem;box-shadow:var(--shadow);border-radius:10px;margin:0;padding:.25rem;list-style:none;position:absolute;inset:calc(100% + .3rem) 2.5rem auto 0;overflow:auto}.mdi-history-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.42rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;display:block}.mdi-history-item:hover,.mdi-history-item.is-active{color:var(--teal-deep);background:#0c7c7c1f}.mdi-input:focus{outline-offset:1px;border-color:#0c7c7c8c;outline:2px solid #0c7c7c59}.mdi-input:disabled{opacity:.55}.mdi-send{min-width:4.5rem}.screen-nav{z-index:30;width:100%;padding:.45rem .55rem calc(.45rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #13203314}.screen-nav-btn{color:var(--ink-soft);letter-spacing:.02em;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:12px;padding:.65rem .35rem;font-size:.78rem;font-weight:600}.screen-nav-btn--icon{justify-content:center;align-items:center;padding:.55rem .35rem;display:inline-flex}.screen-nav-gear{width:1.35rem;height:1.35rem;display:block}.screen-nav-btn.is-active{color:var(--teal-deep);background:#0c7c7c24}.run-status-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.run-source-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-bottom:.75rem;display:grid}.run-source-tab{border:1px solid var(--line);background:var(--chip-bg);min-height:2.75rem;color:var(--ink-soft);border-radius:10px;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .35rem;font-size:.74rem;font-weight:600;line-height:1.15;display:inline-flex}.run-source-tab-hint{opacity:.72;letter-spacing:.01em;font-size:.62rem;font-weight:500}.run-source-tab.is-active{color:var(--teal-deep);background:#0c7c7c1f;border-color:#0c7c7c73}.run-remote-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);font-family:var(--font-mono);flex:1;font-size:.74rem;overflow:hidden}.run-file-list{gap:.3rem;max-height:11rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid;overflow:auto}.run-file-item{border:1px solid var(--line);background:var(--chip-bg);width:100%;color:var(--ink);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;font-size:.78rem;display:flex}.run-file-item.is-active{background:#0c7c7c1a;border-color:#0c7c7c80}.run-file-item.is-dir{opacity:.7}.run-file-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);overflow:hidden}.run-file-item-meta{color:var(--ink-soft);flex-shrink:0;font-size:.7rem}.run-file-row{align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.run-file-input{display:none}.run-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);font-family:var(--font-mono);margin:0 0 .75rem;font-size:.76rem;overflow:hidden}.run-cycle-btns{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.run-confirm-backdrop{z-index:1200;background:#1320336b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.run-confirm-dialog{border:1px solid var(--line);background:var(--menu-bg);width:min(22rem,100%);color:var(--ink);border-radius:14px;padding:1rem 1.05rem .95rem;box-shadow:0 18px 50px #13203347}.run-confirm-title{letter-spacing:-.01em;margin:0 0 .35rem;font-size:1rem;font-weight:700}.run-confirm-detail{color:var(--ink-soft);word-break:break-word;margin:0 0 .95rem;font-size:.82rem;line-height:1.4}.run-confirm-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.btn.run-confirm-cancel{min-height:2.1rem;color:var(--ink);border:1px solid var(--line);box-shadow:none;background:0 0;padding:.22rem .35rem;font-size:.78rem;font-weight:700;transform:none}.btn.run-confirm-cancel:hover:not(:disabled){background:#1320330f;transform:none}.btn.run-confirm-start{width:100%}.run-btn-icon{flex-shrink:0;width:.95rem;height:.95rem}.gcode-panel{min-width:0;max-width:100%;min-height:0;overflow:hidden}.gcode-header{justify-content:space-between;align-items:baseline;gap:.75rem;min-width:0;margin-bottom:.55rem;display:flex}.gcode-header .section-title{margin-bottom:0}.gcode-line-badge{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);font-family:var(--font-mono);font-size:.72rem;overflow:hidden}.gcode-list{border:1px solid var(--line);color:#d7e0ea;width:100%;max-width:100%;max-height:min(22rem,48dvh);font-family:var(--font-mono);overscroll-behavior:contain;background:#132033eb;border-radius:12px;margin:0;padding:.35rem 0;font-size:.72rem;line-height:1.45;list-style:none;overflow:auto}.gcode-trunc-note{color:var(--ink-soft);margin:0 0 .45rem;font-size:.72rem;line-height:1.35}.setup-display-row{border-top:1px solid var(--line);align-items:flex-start;margin-top:.85rem;padding-top:.85rem}.setup-display-badge{color:var(--teal-deep);white-space:nowrap;background:#0c7c7c1f;border:1px solid #0c7c7c47;border-radius:999px;flex:none;padding:.28rem .55rem;font-size:.72rem;font-weight:650}.setup-ios-steps{color:var(--ink-soft);margin:.45rem 0 0;padding-left:1.15rem;font-size:.76rem;line-height:1.45}.setup-ios-steps li{margin:.12rem 0}.top-fs-btn{white-space:nowrap;padding:.35rem .55rem;font-size:.72rem}:-webkit-any(html:fullscreen,html:-webkit-full-screen){background:var(--bg1)}:is(html:fullscreen,html:fullscreen){background:var(--bg1)}:-webkit-any(:fullscreen .app-shell--screens,:-webkit-full-screen .app-shell--screens){box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:100%;margin:0}:is(:fullscreen .app-shell--screens,:fullscreen .app-shell--screens){box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:100%;margin:0}.setup-field{gap:.35rem;margin-top:.75rem;display:grid}.setup-input,.setup-select{border:1px solid var(--line);background:var(--chip-bg);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:10px;padding:.55rem .7rem}.setup-machine-list{gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.setup-machine-row{border:1px solid var(--line);background:var(--chip-bg);border-radius:10px;justify-content:space-between;align-items:center;gap:.55rem;padding:.55rem .65rem;display:flex}.setup-machine-copy{gap:.12rem;min-width:0;display:grid}.setup-machine-name{font-size:.84rem;font-weight:600}.setup-machine-topic{font-family:var(--font-mono);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.setup-machine-remove{flex:none;min-height:2rem;padding:.28rem .55rem;font-size:.74rem}.setup-machine-add{gap:.45rem;margin-top:.85rem;display:grid}.setup-machine-add-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:.45rem;display:grid}.setup-machine-add-btn{white-space:nowrap;min-height:2.45rem}@media (width<=520px){.setup-machine-add-fields{grid-template-columns:minmax(0,1fr)}}.gcode-row{box-sizing:border-box;border-left:3px solid #0000;grid-template-columns:3.1rem minmax(0,1fr);align-items:center;gap:.55rem;width:100%;min-width:0;max-width:100%;height:22px;padding:0 .65rem 0 0;display:grid;overflow:hidden}.gcode-row.is-active{color:#f4fafc;background:linear-gradient(90deg,#3ecfcf38,#3ecfcf0f 55%,#0000);border-left-color:#3ecfcf}.gcode-lineno{text-align:right;color:#d7e0ea73;-webkit-user-select:none;user-select:none}.gcode-row.is-active .gcode-lineno{color:#3ecfcf;font-weight:600}.gcode-text{text-overflow:ellipsis;white-space:pre;min-width:0;overflow:hidden}.jog-mpg-hint{text-align:center;box-sizing:border-box;max-width:100%;margin:.35rem 0 0;padding:0 .5rem;font-size:.72rem;line-height:1.35}.setup-dl{gap:.65rem;margin:0;display:grid}.setup-dl>div{gap:.15rem;display:grid}.setup-dl dt{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.setup-dl dd{font-family:var(--font-mono);word-break:break-word;margin:0;font-size:.78rem}.setup-theme-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setup-theme-copy{gap:.2rem;min-width:0;display:grid}.setup-theme-label{color:var(--ink);font-weight:600}.setup-theme-hint{color:var(--ink-soft);font-size:.76rem;line-height:1.35}.theme-switch{border:1px solid var(--line);background:var(--chip-bg);border-radius:999px;flex-shrink:0;width:3rem;height:1.7rem;padding:0;transition:background .18s,border-color .18s;position:relative}.theme-switch.is-on{background:#0c7c7c59;border-color:#0c7c7c8c}[data-theme=dark] .theme-switch.is-on{background:#2a9d9d66;border-color:#6ecfcf8c}.theme-switch-knob{background:var(--panel-strong);border-radius:50%;width:calc(1.7rem - 6px);height:calc(1.7rem - 6px);transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #13203333}.theme-switch.is-on .theme-switch-knob{transform:translate(1.28rem)}.setup-layout-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.setup-layout-head .section-title{margin:0}.setup-order-item{justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.setup-order-item.is-hidden{opacity:.55}.setup-order-label{min-width:0;font-size:.82rem;font-weight:600}.setup-order-note{color:var(--ink-soft);flex:none;font-size:.72rem;font-weight:500}.setup-visibility-btn{flex:none;min-width:3.6rem;padding:.32rem .55rem;font-size:.72rem}.setup-visibility-btn.is-off{color:var(--teal-deep);background:#0c7c7c1f;border-color:#0c7c7c73}.account-menu{z-index:60;position:relative}.account-menu-trigger{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;place-items:center;width:2.1rem;height:2.1rem;padding:0;display:grid}.account-menu-avatar{color:var(--teal-deep);font-size:.78rem;font-weight:700}.account-menu-pop{z-index:1000;border:1px solid var(--line);background:var(--menu-bg);border-radius:12px;min-width:13rem;padding:.4rem;position:fixed;box-shadow:0 16px 40px #13203338}.account-menu-email{color:var(--ink-soft);word-break:break-all;padding:.45rem .55rem;font-size:.72rem}.account-menu-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;padding:.55rem .65rem;font-size:.82rem;font-weight:600}.account-menu-item:hover{background:#0c7c7c1a}.reorder-banner{color:var(--teal-deep);background:#0c7c7c1a;border:1px solid #0c7c7c59;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;padding:.55rem .75rem;font-size:.78rem;font-weight:600;display:flex}.remote-ctrl-banner{top:calc(.35rem + env(safe-area-inset-top,0px));z-index:35;color:#4a2a00;font-family:var(--font-sans);letter-spacing:.02em;text-align:center;pointer-events:none;background:#ffd68cf2;border:1px solid #b45a148c;border-radius:8px;margin:0;padding:.45rem .7rem;font-size:.82rem;font-weight:700;line-height:1.25;position:fixed;left:.35rem;right:.35rem;box-shadow:0 1px 4px #0000002e}[data-theme=dark] .remote-ctrl-banner{color:#fff8e8;background:#c47a10eb;border-color:#ffc8788c}.stack-board{gap:var(--window-gap);margin-bottom:0;display:grid}.sortable-window{min-width:0;position:relative}.sortable-window--armed>.panel,.sortable-window--armed>.grid-2>.panel{outline:2px solid #0c7c7c8c}.reorder-controls{z-index:8;flex-direction:column;gap:.2rem;display:flex;position:absolute;top:.45rem;right:.45rem}.reorder-btn{background:var(--panel-strong);width:2rem;height:1.7rem;color:var(--teal-deep);cursor:pointer;border:1px solid #0c7c7c73;border-radius:8px;padding:0;font-size:.7rem;line-height:1;box-shadow:0 2px 8px #1320331f}.reorder-btn:hover:not(:disabled){background:#0c7c7c1f}.reorder-btn:disabled{opacity:.35;cursor:default}.drag-status{z-index:6;position:absolute;top:.55rem;right:.7rem}.drag-status-row{align-items:center;gap:.4rem;display:flex}.drag-status-pill{background:var(--panel-strong);min-width:7.5rem;color:var(--teal-deep);letter-spacing:.02em;pointer-events:none;border:1px solid #0c7c7c59;border-radius:999px;align-items:center;padding:.35rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.drag-status-pill.is-armed{background:var(--teal);border-color:var(--teal);color:#fff}.drag-status-pill.is-moving{background:var(--teal-deep)}.drag-status-bar{background:var(--teal);height:3px;position:absolute;bottom:0;left:0}.drag-cancel-btn{pointer-events:auto;padding:.32rem .55rem;font-size:.72rem}.topbar{z-index:50;flex-direction:column;align-items:stretch;gap:.2rem;margin-bottom:1.25rem;animation:.55s both rise;display:flex;position:relative}.topbar-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.brand-mark{letter-spacing:-.04em;font-size:clamp(1.45rem,3.2vw,1.9rem);font-weight:700;line-height:1}.brand-mark span{color:var(--teal-deep)}.brand-sub{color:var(--ink-soft);font-size:.8rem}.top-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-main,.hero-side,.section{padding:.95rem}.position-panel,.metrics-panel,.jog-panel,.toolpath-panel,.gcode-panel,.run-job-panel,.alarms-panel,.mdi-panel,.modal-state-panel,.io-signals-panel{margin-top:0;margin-bottom:0}.screen-jog{touch-action:manipulation;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;gap:0;overflow:hidden}.screen-main,.app-shell--run .screen-run{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-shell--run .screen-run input,.app-shell--run .screen-run textarea,.app-shell--setup input,.app-shell--setup textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html.jog-no-scroll,html.jog-no-scroll body{overscroll-behavior:none;touch-action:manipulation;-ms-touch-action:manipulation;height:100dvh;max-height:100dvh;overflow:hidden}html.jog-no-scroll .app-shell--screens.app-shell--jog,html.jog-no-scroll .app-shell--jog .screen-body,html.jog-no-scroll .app-shell--jog .screen-jog{overscroll-behavior:none;touch-action:manipulation;-ms-touch-action:manipulation;overflow:hidden}html.jog-no-scroll .app-shell--jog,html.jog-no-scroll .app-shell--jog *{touch-action:manipulation!important;-ms-touch-action:manipulation!important}.screen-jog .jog-panel-combined{margin-bottom:0;padding:.85rem}.jog-layout{flex-direction:column;gap:0;min-width:0;display:flex}.jog-left-col,.jog-right-col{min-width:0}.screen-jog .section-title{margin-bottom:.45rem}.jog-pos-strip{--dro-int-ch:4.5ch;--dro-col:calc(var(--dro-int-ch) + .55ch + 4ch);border:1px solid var(--line);background:var(--chip-bg);font-family:var(--font-mono);border-radius:8px;gap:.09rem;margin-bottom:.52rem;padding:.4rem .48rem;font-size:.95rem;display:grid;position:relative;overflow:hidden}.sim-mode-watermark{z-index:6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.sim-mode-watermark span{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#b45a1461;-webkit-user-select:none;user-select:none;font-size:clamp(1.15rem,5.5vw,2.35rem);font-weight:800;transform:rotate(-28deg)}[data-theme=dark] .sim-mode-watermark span{color:#ffc87852}.jog-pos-head,.jog-pos-row{grid-template-columns:1.35rem minmax(var(--dro-col), 1fr) minmax(var(--dro-col), 1fr);justify-content:start;align-items:baseline;gap:.7rem;line-height:1.16;display:grid}.jog-pos-head{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.06rem;font-size:.72rem;font-weight:700;line-height:1.25}.jog-pos-head>span{white-space:nowrap;overflow:visible}.jog-pos-val{width:var(--dro-col);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:1.05rem;font-weight:600;line-height:inherit;justify-content:flex-start;align-items:baseline;display:flex}.jog-pos-val .dro-value{grid-template-columns:minmax(0, var(--dro-int-ch)) .55ch var(--dro-frac-ch)}.jog-pos-val .dro-value.dro-value-int{grid-template-columns:minmax(0, var(--dro-int-ch))}.jog-pos-val .dro-int{min-width:0}.jog-pos-row-spacer{visibility:hidden;pointer-events:none}.jog-pos-row.is-mpg-active{outline-offset:0;box-sizing:border-box;border-radius:6px;outline:2px solid;align-items:center;margin-inline:-.28rem;padding:.22rem .28rem}.jog-pos-row.is-mpg-active .jog-pos-val{align-items:center}.jog-pos-row.is-mpg-active .pos-axis{align-items:center;line-height:1;display:flex}.jog-pos-row.is-mpg-active.axis-x{color:var(--axis-x);outline-color:var(--axis-x);background:#c23b2e14}.jog-pos-row.is-mpg-active.axis-y{color:var(--axis-y);outline-color:var(--axis-y);background:#1f8a4c14}.jog-pos-row.is-mpg-active.axis-z{color:var(--axis-z);outline-color:var(--axis-z);background:#2b6cb014}.jog-pos-row.is-mpg-active.axis-a{color:var(--axis-a);outline-color:var(--axis-a);background:#b4530914}.jog-pos-row.is-mpg-active.axis-b{color:var(--axis-b);outline-color:var(--axis-b);background:#7c3aed14}.jog-pos-row.is-mpg-active.axis-c{color:var(--axis-c);outline-color:var(--axis-c);background:#0f766e14}.jog-mpg-toolbar{flex-direction:column;justify-content:center;align-items:center;gap:.2rem;width:100%;min-width:0;display:flex}.jog-mpg-toolbar--joystick{flex-flow:row;justify-content:center;align-items:center;gap:.35rem}.jog-joystick .jog-mpg-axes{flex-wrap:nowrap;width:auto;max-width:100%}.jog-host-feed--joystick{flex:none;margin-right:10px;padding:.08rem .18rem .08rem .22rem}.jog-host-feed--joystick .jog-host-feed-select{min-width:3.1rem;max-width:4.4rem;padding:.14rem 1.15rem .14rem .28rem;font-size:.72rem}.jog-joystick .jog-mpg-axis,.jog-joystick .btn.jog-mpg-axis{flex:0 1 var(--mpg-axis-slot)}.jog-mpg{--mpg-axis-gap:.35rem;--mpg-axis-slot:calc((100cqi - (4 * var(--mpg-axis-gap))) / 5);justify-items:center;gap:.75rem;width:100%;display:grid;container-type:inline-size}.jog-mpg-axes{justify-content:center;align-items:stretch;gap:var(--mpg-axis-gap);flex-wrap:nowrap;width:100%;max-width:100%;display:flex}.jog-mpg-axis,.btn.jog-mpg-axis{flex:0 0 var(--mpg-axis-slot);width:var(--mpg-axis-slot);max-width:var(--mpg-axis-slot);box-sizing:border-box;min-width:0}.jog-mpg-axis{font-family:var(--font-mono);font-size:.78rem;font-weight:700}.screen-jog .jog-mode-tabs,.screen-jog .jog-steps{margin-bottom:.33rem}.screen-jog .jog-mode-tabs{gap:.2rem}.screen-jog .jog-left-col .jog-mode-tabs{margin-top:.24rem;margin-bottom:.1rem}.screen-jog .jog-mpg-steps-under-tabs{margin-top:.09rem;margin-bottom:.24rem}.screen-jog .jog-mpg .jog-dist-gauge{width:100%;max-width:100%;margin:.08rem 0 .1rem}.screen-jog .jog-right-col .jog-steps,.screen-jog .jog-view-row .jog-steps{margin-top:.21rem;margin-bottom:0}.screen-jog .jog-view-row{margin-bottom:.21rem}.screen-jog .jog-view-row .jog-steps{margin-top:0;margin-bottom:0}.screen-jog .mpg-wheel{width:var(--mpg-wheel-size);max-width:var(--mpg-wheel-size);max-height:var(--mpg-wheel-size)}.screen-jog .jog-mpg{gap:.33rem}.screen-jog .btn.jog-mpg-axis{min-width:0;min-height:2.1rem;padding:.22rem .35rem;font-size:.78rem}.screen-jog .jog-btn:not(.jog-mpg-cancel):not(.jog-goto-btn){min-height:2.88rem;padding:.32rem .55rem}.jog-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.jog-header .section-title{margin-bottom:.25rem}.jog-sub{color:var(--ink-soft);margin:0;font-size:.76rem;line-height:1.4}.jog-title-row{display:none!important}.jog-title-row .section-title{margin-bottom:0}.jog-unit-tabs{border:1px solid var(--line);background:var(--chip-bg);border-radius:999px;flex-shrink:0;display:inline-flex;overflow:hidden}.jog-unit-tab{color:var(--ink-soft);font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.32rem .7rem;font-size:.72rem;font-weight:700}.jog-unit-tab.is-active{background:var(--teal);color:#fff}.jog-mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;margin-bottom:.75rem;display:grid}.jog-mode-tab{border:1px solid var(--line);background:var(--chip-bg);color:var(--ink-soft);border-radius:10px;padding:.48rem .2rem;font-size:.68rem;font-weight:600}.jog-mode-tab.is-active{color:var(--teal-deep);background:#0c7c7c1f;border-color:#0c7c7c73}.jog-mpg-stage{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;column-gap:.65rem;width:100%;max-width:100%;display:grid;overflow:visible}.jog-mpg-stage .mpg-wheel-wrap{width:var(--mpg-wheel-size);max-width:var(--mpg-wheel-size);grid-area:1/2;justify-self:center;position:relative;overflow:visible}.jog-mpg-stage .mpg-wheel-wrap .mpg-wheel{width:100%;max-width:100%}.jog-mpg-feed-slot{z-index:3;box-sizing:border-box;grid-area:1/1;justify-content:flex-start;place-self:start;align-items:flex-start;min-width:0;max-width:100%;padding-top:.55rem;display:flex}.jog-mpg-stage.is-joystick{grid-template-rows:auto auto;align-items:start;row-gap:.55rem}.jog-mpg-stage.is-joystick .jog-mpg-feed-slot{grid-area:1/1;align-self:start}.jog-mpg-stage.is-joystick .mpg-wheel-wrap{z-index:1;grid-area:1/1/auto/-1;justify-self:center;width:auto;max-width:100%}.jog-mpg-stage.is-joystick .jog-view-toggle--mpg{grid-area:2/1;align-self:center}.jog-mpg-stage.is-joystick .jog-goto--joystick{z-index:8;grid-area:2/2;place-self:center}.jog-mpg-stage.is-joystick .jog-goto-btn{width:var(--mpg-axis-slot);height:2.1rem;min-height:2.1rem}.jog-mpg-stage.is-joystick .jog-mpg-cancel{z-index:2;grid-area:2/3;align-self:center}.jog-mpg-hint--joystick{text-align:center;margin:.15rem 0 .35rem}.jog-mpg-stage .mpg-wheel-wrap.is-joystick-row{width:auto;max-width:100%}.mpg-joystick-row{flex-direction:row;justify-content:center;align-items:center;gap:.45rem;display:flex}.mpg-joystick{width:var(--mpg-joy-size);max-width:var(--mpg-joy-size);max-height:var(--mpg-joy-size);aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:relative}.mpg-joystick.is-disabled{opacity:.45;pointer-events:none}.mpg-joystick.is-active{cursor:grabbing}.mpg-joystick-face{border:1px solid var(--mpg-rim);background:radial-gradient(circle at 35% 28%, var(--mpg-face-0), transparent 55%), radial-gradient(circle at 70% 75%, var(--mpg-face-2), var(--mpg-face-1));border-radius:50%;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.mpg-joystick-cross{background:color-mix(in srgb, var(--ink-soft) 35%, transparent);pointer-events:none;position:absolute}.mpg-joystick-cross--h{height:1px;top:50%;left:12%;right:12%;transform:translateY(-50%)}.mpg-joystick-cross--v{width:1px;top:12%;bottom:12%;left:50%;transform:translate(-50%)}.mpg-joystick-ring{border:1px dashed color-mix(in srgb, var(--ink-soft) 40%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:18%}.mpg-joystick-knob{pointer-events:none;z-index:2;background:radial-gradient(circle at 32% 28%,#ffffff8c,#0000 42%),linear-gradient(160deg,#3d4a58,#1a222c);border:1px solid #ffffff38;border-radius:50%;width:28%;height:28%;transition:left .18s cubic-bezier(.22,1.2,.36,1),top .18s cubic-bezier(.22,1.2,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000059}.mpg-joystick-knob.is-dragging{transition:none}.mpg-joystick-label{letter-spacing:.04em;color:var(--ink-soft);pointer-events:none;z-index:1;font-size:.62rem;font-weight:700;position:absolute}.mpg-joystick-label--x-pos{top:50%;right:4%;transform:translateY(-50%)}.mpg-joystick-label--x-neg{top:50%;left:4%;transform:translateY(-50%)}.mpg-joystick-label--y-pos{top:5%;left:50%;transform:translate(-50%)}.mpg-joystick-label--y-neg{bottom:5%;left:50%;transform:translate(-50%)}.mpg-joystick--aux{width:calc(var(--mpg-joy-size) * .2688);max-width:calc(var(--mpg-joy-size) * .2688);height:var(--mpg-joy-size);max-height:var(--mpg-joy-size);aspect-ratio:auto;flex:none}.mpg-joystick--aux .mpg-joystick-face{border-radius:999px}.mpg-joystick--aux .mpg-joystick-knob{aspect-ratio:1;width:81.2%;height:auto}.mpg-joystick-ring--aux{border-radius:999px;inset:10% 22%}.mpg-joystick--aux.axis-z .mpg-joystick-knob{background:radial-gradient(circle at 32% 28%, #ffffff8c, transparent 42%), linear-gradient(160deg, color-mix(in srgb, var(--axis-z) 70%, #3d4a58), #1a222c)}.mpg-joystick--aux.axis-a .mpg-joystick-knob{background:radial-gradient(circle at 32% 28%, #ffffff8c, transparent 42%), linear-gradient(160deg, color-mix(in srgb, var(--axis-a) 70%, #3d4a58), #1a222c)}.mpg-joystick--aux.axis-b .mpg-joystick-knob{background:radial-gradient(circle at 32% 28%, #ffffff8c, transparent 42%), linear-gradient(160deg, color-mix(in srgb, var(--axis-b) 70%, #3d4a58), #1a222c)}.mpg-joystick--aux.axis-c .mpg-joystick-knob{background:radial-gradient(circle at 32% 28%, #ffffff8c, transparent 42%), linear-gradient(160deg, color-mix(in srgb, var(--axis-c) 70%, #3d4a58), #1a222c)}.jog-live-feed.is-compact{width:auto;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.05rem;margin:0;padding:0;display:flex}.jog-live-feed.is-compact.is-live{border:none}.jog-live-feed.is-compact .jog-live-feed-unit{letter-spacing:.04em;text-transform:none;color:var(--ink-soft);font-size:.62rem;font-weight:600;line-height:1.1}.jog-live-feed.is-compact .jog-live-feed-value{font-variant-numeric:tabular-nums;letter-spacing:.01em;min-width:3.2ch;font-size:1.05rem;font-weight:700;line-height:1.15}.jog-live-feed.is-compact.is-live .jog-live-feed-value{color:var(--teal-deep)}.jog-unlock--mpg{z-index:8;white-space:nowrap;min-height:2.1rem;padding:.22rem .45rem;position:absolute;top:0;right:0;transform:translate(calc(28% + .85rem),-18%)}.jog-goto{position:relative}.jog-goto-btn{width:auto;height:2.1rem;min-height:2.1rem;min-width:var(--mpg-axis-slot,3.4rem);box-sizing:border-box;padding:.22rem .35rem;font-size:.78rem;font-weight:700;line-height:1}.jog-goto-pop{border:1px solid var(--line);background:var(--menu-bg);z-index:20;border-radius:10px;flex-direction:column;gap:.28rem;min-width:8.4rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .28rem);left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000047}.jog-goto-item{border:1px solid var(--line);background:var(--chip-bg);color:var(--ink);text-align:center;cursor:pointer;border-radius:8px;padding:.48rem .55rem;font-size:.78rem;font-weight:700}.jog-goto-item:hover{color:var(--teal-deep);background:#0c7c7c1f;border-color:#0c7c7c73}.jog-goto--mpg{z-index:9;width:var(--mpg-axis-slot);min-width:0;max-width:var(--mpg-axis-slot);box-sizing:border-box;grid-area:1/3;place-self:start end;padding-top:.55rem;position:relative;transform:none}.jog-goto--mpg .jog-goto-btn{width:100%;height:2.1rem;min-height:2.1rem}.jog-goto--mpg .jog-goto-pop{left:auto;right:0;transform:none}.jog-goto--joystick .jog-goto-pop{top:auto;bottom:calc(100% + .28rem)}.jog-mpg-cancel{z-index:2;box-sizing:border-box;width:var(--mpg-axis-slot);min-width:0;max-width:var(--mpg-axis-slot);white-space:nowrap;text-align:center;grid-area:1/3;justify-content:center;place-self:end;align-items:center;margin:0;padding:.22rem .35rem;line-height:1;display:inline-flex;position:static}.jog-view-toggle--mpg{z-index:2;width:var(--mpg-axis-slot);min-width:0;max-width:var(--mpg-axis-slot);grid-area:1/1;place-self:end start;min-height:2.1rem;padding:.22rem .35rem;font-size:.78rem;font-weight:700;line-height:1;transform:translate(10px)}.jog-pad-stack{flex-direction:column;align-items:stretch;gap:.4rem;width:100%;max-width:100%;display:flex}.jog-view-row{align-items:center;gap:.4rem;width:100%;min-width:0;display:flex}.jog-view-row .jog-steps{flex:auto;min-width:0;margin-bottom:0}.jog-view-toggle--pad{letter-spacing:.02em;min-height:2.1rem;padding:.22rem .35rem;font-size:.78rem;font-weight:700;line-height:1}.jog-pad .jog-view-toggle--pad{box-sizing:border-box;white-space:nowrap;grid-area:view;place-self:end start;width:auto;min-width:0;max-width:100%;height:auto;min-height:2.1rem;padding:.22rem .35rem;font-size:.78rem;font-weight:700;line-height:1;transform:none}.btn.secondary.jog-view-toggle.is-active,.btn.secondary.jog-view-toggle[aria-pressed=true]{color:var(--teal-deep);background:#0c7c7c1f;border-color:#0c7c7c73}.jog-graph{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.jog-view-slot{flex-direction:column;min-width:0;min-height:0;display:flex}.jog-panel-combined:not(.is-graph) .jog-view-slot{box-sizing:border-box;padding:.7rem .45rem .35rem}.jog-panel-combined:not(.is-graph) .jog-pos-strip{gap:.16rem;padding:.9rem .75rem 1.05rem}.jog-graph .toolpath-panel{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:auto;margin:0;padding:0;display:flex}.jog-graph .toolpath-panel.section{padding:0}.jog-graph .toolpath-canvas-wrap{width:100%;min-height:100px;aspect-ratio:unset;flex:auto;max-height:none;margin:0}.jog-graph .toolpath-canvas{height:100%}.jog-graph .toolpath-action-btn--square{width:2.1rem;min-width:2.1rem;height:1.26rem;min-height:1.26rem;font-size:.5rem}.jog-graph .toolpath-toggle{padding:.1rem .2rem;font-size:.5rem}.screen-jog .btn.jog-mpg-cancel{box-sizing:border-box;width:var(--mpg-axis-slot);min-width:0;max-width:var(--mpg-axis-slot);text-align:center;justify-content:center;align-items:center;min-height:2.1rem;padding:.22rem .35rem;font-size:.68rem;line-height:1;display:inline-flex}.mpg-wheel{width:var(--mpg-wheel-size);max-width:var(--mpg-wheel-size);max-height:var(--mpg-wheel-size);aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}.mpg-wheel.is-disabled{opacity:.55;pointer-events:none}.mpg-wheel-face{background:#d7dde5;border:1px solid #1320331f;border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 12px 28px #1320332e,inset 0 0 0 1px #ffffff8c,inset 0 2px 4px #ffffff59,inset 0 -3px 8px #1320331f}[data-theme=dark] .mpg-wheel-face{background:#3a4554;border-color:#e6eef61f;box-shadow:0 12px 28px #0006,inset 0 0 0 1px #ffffff14,inset 0 2px 4px #ffffff0f,inset 0 -3px 8px #00000059}.mpg-wheel-rotor{position:absolute;inset:0}.mpg-hub{pointer-events:none;z-index:2;width:120px;height:120px;margin:-60px 0 0 -60px;position:absolute;top:50%;left:50%;overflow:visible}.mpg-hub-ring{filter:drop-shadow(0 .4px .6px #ffffff73)drop-shadow(0 1px 1.4px #0c121873)}.mpg-hub-logo{pointer-events:none}.mpg-tick{transform-origin:50% 0;background:linear-gradient(to bottom, transparent 0 93.5%, var(--mpg-tick) 93.5% 100%);opacity:.8;width:1.5px;height:50%;margin-left:-.75px;position:absolute;top:50%;left:50%}.mpg-tick.is-mid{background:linear-gradient(to bottom, transparent 0 91%, var(--mpg-tick-major) 91% 100%);opacity:.92;width:2px;margin-left:-1px}.mpg-tick.is-major{background:linear-gradient(to bottom, transparent 0 87%, var(--mpg-tick-major) 87% 100%);opacity:1;width:2.5px;margin-left:-1.25px}.mpg-knob-arm{transform-origin:50% 0;pointer-events:none;width:0;height:36%;position:absolute;top:50%;left:50%}.mpg-knob{z-index:2;pointer-events:none;background:repeating-conic-gradient(#0a6a6a 0deg 8deg,#0d8585 8deg 16deg);border:1px solid #064848;border-radius:50%;width:1.25rem;height:1.25rem;margin-top:-.625rem;margin-left:-.625rem;position:absolute;top:100%;left:0;box-shadow:0 4px 10px #13203359,inset 0 1px 2px #ffffff40,inset 0 -2px 4px #0000004d}.mpg-knob:after{content:"";background:radial-gradient(circle at 35% 30%,#149494,#086060 70%);border-radius:50%;position:absolute;inset:18%;box-shadow:inset 0 1px 1px #fff3}[data-theme=dark] .mpg-knob{background:repeating-conic-gradient(#1a8a8a 0deg 8deg,#2a9d9d 8deg 16deg);border-color:#0c5c5c}[data-theme=dark] .mpg-knob:after{background:radial-gradient(circle at 35% 30%,#5ec8c8,#0c7c7c 70%)}.jog-steps{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;gap:.35rem;width:100%;margin-bottom:.85rem;display:flex;overflow-x:auto}.jog-steps--host-feeds{gap:.45rem}.jog-host-feed{border:1px solid var(--line);background:var(--chip-bg-strong);min-width:0;color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;gap:.35rem;padding:.12rem .28rem .12rem .4rem;display:inline-flex}.jog-host-feed--fast{border-color:#c47a1073}.jog-host-feed-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem;font-weight:600;font-family:var(--font-sans)}.jog-host-feed-select{appearance:none;background-color:#0000;background-image:linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);min-width:4.2rem;max-width:6.5rem;color:var(--ink);font-family:var(--font-mono);cursor:pointer;background-position:calc(100% - .72rem) 55%,calc(100% - .42rem) 55%;background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;border:0;border-radius:5px;margin:0;padding:.18rem 1.35rem .18rem .35rem;font-size:.82rem;font-weight:700;line-height:1.2}.jog-host-feed-select:disabled{opacity:.55;cursor:not-allowed}.jog-host-feed-select:focus-visible{outline:2px solid var(--accent,#3c8cff);outline-offset:1px}.jog-live-feed-stack{flex-direction:column;gap:.22rem;width:100%;margin:.1rem 0 .3rem;display:flex;overflow:visible}.jog-live-feed{border:1px solid var(--line);background:var(--chip-bg-strong);width:100%;font-family:var(--font-mono);box-sizing:border-box;border-radius:8px;justify-content:flex-start;align-items:baseline;gap:.75rem;padding:.28rem .55rem;display:flex}.jog-live-feed.is-live{border-color:#0c7c7c73}.jog-live-feed-group{align-items:baseline;gap:.4rem;min-width:0;display:inline-flex}.jog-live-feed-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem;font-weight:700;font-family:var(--font-sans)}.jog-live-feed-value{font-variant-numeric:tabular-nums;letter-spacing:.01em;min-width:4.4ch;font-size:1.12rem;font-weight:700}.jog-live-feed-unit{color:var(--ink-soft);font-size:.66rem;font-family:var(--font-sans)}.jog-dist-gauge{background:var(--line);flex-shrink:0;width:100vw;max-width:100vw;height:3px;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.jog-dist-gauge-fill{background:#0c7c7c59;width:0;height:100%}.jog-dist-gauge.is-live .jog-dist-gauge-fill{background:#0c7c7ceb}.btn.secondary.jog-chip{border-color:var(--line);background:var(--chip-bg-strong);min-width:0;color:var(--ink);white-space:nowrap;flex:1 1 0;padding:.38rem .35rem}.btn.secondary.jog-chip.is-active,.btn.secondary.jog-chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal-deep);color:#fff;box-shadow:inset 0 0 0 1px #fff3}.btn.secondary.jog-chip.is-active:hover:not(:disabled),.btn.secondary.jog-chip[aria-pressed=true]:hover:not(:disabled){background:var(--teal-deep)}.jog-step-unit{color:var(--ink-soft);white-space:nowrap;flex:none;margin-left:.15rem;font-size:.68rem;font-weight:600}.jog-pad{box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(2.88rem,auto);gap:.4rem .35rem;width:100%;max-width:100%;padding-inline:2px;display:grid}.jog-pad.rotary-n-0{grid-template-areas:"feed view goto cancel"".yp.zp""xm ym xp zm"}.jog-pad.rotary-n-1{grid-template-areas:"feed view goto cancel""r0m r0p. ."".yp.zp""xm ym xp zm"}.jog-pad.rotary-n-2{grid-template-areas:"feed view goto cancel""r0m r0p r1m r1p"".yp.zp""xm ym xp zm"}.jog-pad.rotary-n-1 .jog-xy-yp,.jog-pad.rotary-n-1 .jog-z-p,.jog-pad.rotary-n-2 .jog-xy-yp,.jog-pad.rotary-n-2 .jog-z-p{margin-top:16px}.jog-rot-pair.contents{display:contents}.jog-pad-feed-slot{z-index:3;grid-area:feed;place-self:center start;align-items:flex-start;min-width:0;max-width:100%;display:flex}.jog-pad .jog-cancel{grid-area:cancel}.jog-goto-slot{z-index:4;flex-direction:column;grid-area:goto;place-self:end center;align-items:center;gap:.2rem;min-width:0;display:flex;position:relative}.jog-unlock--pad{white-space:nowrap;place-self:center;height:auto;min-height:2.1rem;padding:.22rem .45rem;position:static}.jog-pad .jog-rot-0-m{grid-area:r0m}.jog-pad .jog-rot-0-p{grid-area:r0p}.jog-pad .jog-rot-1-m{grid-area:r1m}.jog-pad .jog-rot-1-p{grid-area:r1p}.jog-pad .jog-xy-yp{grid-area:yp}.jog-pad .jog-xy-xm{grid-area:xm}.jog-pad .jog-xy-ym{grid-area:ym}.jog-pad .jog-xy-xp{grid-area:xp}.jog-pad .jog-z-p{grid-area:zp}.jog-pad .jog-z-m{grid-area:zm}.jog-btn{width:100%;min-width:0;min-height:2.88rem;font-family:var(--font-mono);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:.82rem}.jog-pad .jog-btn.axis-x,.jog-pad .jog-btn.axis-y,.jog-pad .jog-btn.axis-z,.jog-pad .jog-btn.axis-a,.jog-pad .jog-btn.axis-b,.jog-pad .jog-btn.axis-c{justify-content:center;align-items:center;padding:.18rem .22rem;display:inline-flex}.jog-axis-face{justify-content:center;align-items:center;gap:.12rem;line-height:1;display:inline-flex}.jog-axis-face--up{flex-direction:column}.jog-axis-face--down{flex-direction:column-reverse}.jog-axis-face--left{flex-direction:row}.jog-axis-face--right{flex-direction:row-reverse}.jog-axis-face--ccw{flex-direction:row}.jog-axis-face--cw{flex-direction:row-reverse}.jog-arrow{flex:none;width:.92rem;height:.92rem;display:block}.jog-arrow--right{transform:rotate(90deg)}.jog-arrow--down{transform:rotate(180deg)}.jog-arrow--left{transform:rotate(-90deg)}.jog-arrow--ccw{transform:scaleX(-1)}.jog-axis-text{letter-spacing:.01em;font-weight:700}.jog-pad .jog-btn{width:100%}.jog-cancel{font-size:.68rem}.jog-panel-locked{opacity:.92}.pos-table{gap:.35rem;width:100%;display:grid}.pos-table-row{background:var(--chip-bg);border:1px solid var(--line);border-radius:10px;grid-template-columns:2.5rem minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:.75rem;padding:.4rem .55rem;display:grid}.position-panel.section{padding:.85rem}.position-panel .section-title{margin-bottom:.45rem}.position-panel .jog-pos-strip{margin-bottom:0}.pos-table-head{background:#0c7c7c14;border-color:#0c7c7c2e}.pos-axis{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.axis-x{color:var(--axis-x)}.axis-y{color:var(--axis-y)}.axis-z{color:var(--axis-z)}.axis-a{color:var(--axis-a)}.axis-b{color:var(--axis-b)}.axis-c{color:var(--axis-c)}.pos-col-label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;text-align:left;white-space:nowrap;font-size:.72rem;font-weight:700}.position-panel .pos-col-label{white-space:nowrap}.pos-cell{justify-content:flex-start;align-items:baseline;min-width:0;display:flex}.pos-cell .dro-value,.jog-pos-val .dro-value{font-size:inherit}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .45rem;font-size:.72rem;font-weight:600}.topbar,.brand-mark,.brand-sub,.app-shell--screens .topbar{display:none!important}.topbar--fs-minimal .topbar-row{justify-content:flex-end}.brand-mark--spacer{flex:1;min-width:0;font-size:0;line-height:0}.state-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.state-pill{color:var(--teal-deep);background:#0c7c7c1a;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.86rem;font-weight:600;display:inline-flex}.state-pill[data-state=Run]{color:var(--ok);background:#1f8a4c24}.state-pill[data-state=Hold],.state-pill[data-state=Door]{color:var(--amber);background:#c47a1029}.state-pill[data-state=Alarm]{color:var(--alarm);background:#c23b2e24}.state-pill[data-state=Offline],.state-pill[data-state=Unknown]{color:var(--ink-soft);background:#13203314}.pulse{background:currentColor;border-radius:50%;width:.65rem;height:.65rem;animation:1.8s ease-out infinite pulse;box-shadow:0 0}.dro-list{gap:.35rem;max-width:28rem;display:grid}.dro-row{background:var(--chip-bg);border:1px solid var(--line);border-radius:10px;grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:.65rem;padding:.35rem .55rem;display:grid}.dro-label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.dro-value-wrap{align-items:baseline;gap:.45rem;min-width:0;display:flex}.dro-value{--dro-frac-ch:3ch;grid-template-columns:7.5ch .55ch var(--dro-frac-ch);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink);white-space:nowrap;place-items:baseline stretch;font-size:1rem;font-weight:600;display:inline-grid}.dro-value.axis-x{color:var(--axis-x)}.dro-value.axis-y{color:var(--axis-y)}.dro-value.axis-z{color:var(--axis-z)}.dro-value.axis-a{color:var(--axis-a)}.dro-value.axis-b{color:var(--axis-b)}.dro-value.axis-c{color:var(--axis-c)}.dro-value.dro-value-int{grid-template-columns:7.5ch}.position-panel .dro-value{grid-template-columns:minmax(0, var(--dro-int-ch,4.5ch)) .55ch var(--dro-frac-ch)}.position-panel .dro-value.dro-value-int{grid-template-columns:minmax(0, var(--dro-int-ch,4.5ch))}.dro-int{text-align:right;justify-self:stretch;min-width:0}.dro-sign{margin-right:0}.dro-dot{text-align:center;justify-self:center}.dro-frac{text-align:left;justify-self:stretch}.dro-unit{color:var(--ink-soft);white-space:nowrap;font-size:.72rem;font-weight:500}.dro-text{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.grid-2{gap:var(--window-gap);grid-template-columns:1.1fr .9fr;animation:.75s both rise;display:grid}.stack-overrides-alarms{gap:var(--window-gap);display:grid}.modal-state-panel{padding-top:.85rem;padding-bottom:.85rem}.io-signals-panel{margin-top:0;margin-bottom:0}.io-signals-panel.section,.modal-state-panel.section{padding-left:.475rem;padding-right:.475rem}.io-columns{gap:.65rem;display:grid}.io-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .4rem;font-size:.68rem;font-weight:600}.io-input-stacks{gap:calc(.3rem + 5px);display:grid}.io-led-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.io-led-grid--in{grid-template-columns:repeat(5,minmax(0,1fr))}.io-led{border:1px solid var(--line);background:var(--chip-bg);border-radius:8px;align-items:center;gap:.35rem;min-width:0;padding:.32rem .4rem;display:flex}.io-led--in{background:0 0;border:0;border-radius:0;padding:.12rem 0}.io-led-dot{box-sizing:border-box;background:#1320332e;border:1.5px solid #13203373;border-radius:999px;flex:none;width:.7rem;height:.7rem}.io-led--in.is-on .io-led-dot{background:#2f9e44;border-color:#1f7a34;box-shadow:0 0 0 2px #2f9e4438}.io-led--out.is-on .io-led-dot{background:#e67700;border-color:#b35e00;box-shadow:0 0 0 2px #e6770038}[data-theme=dark] .io-led-dot{background:#e6eef629;border-color:#e6eef68c}[data-theme=dark] .io-led--in.is-on .io-led-dot{border-color:#8ee0a0}[data-theme=dark] .io-led--out.is-on .io-led-dot{border-color:#ffc078}.io-led-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:.7rem;font-weight:600;overflow:hidden}.io-input-stacks .io-led-grid--in:nth-child(2) .io-led-label{font-size:.63rem}.io-led.axis-x .io-led-label{color:var(--axis-x)}.io-led.axis-y .io-led-label{color:var(--axis-y)}.io-led.axis-z .io-led-label{color:var(--axis-z)}.io-led.axis-a .io-led-label{color:var(--axis-a)}.io-led.axis-b .io-led-label{color:var(--axis-b)}.io-led.axis-c .io-led-label{color:var(--axis-c)}.modal-state-chips{flex-wrap:nowrap;align-items:stretch;gap:.14rem;min-width:0;display:flex}.modal-state-chip{border:1px solid var(--line);background:var(--chip-bg);min-width:0;color:var(--ink);font-family:var(--font-mono);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;padding:.36rem .08rem;font-size:.74rem;font-weight:600;display:inline-flex;overflow:hidden}.overrides{gap:.7rem;display:grid}.override-row{grid-template-columns:70px 1fr 48px;align-items:center;gap:.6rem;display:grid}.bar{background:#13203314;border-radius:999px;height:10px;overflow:hidden}.bar>i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #19a3a3);height:100%;transition:width .35s;display:block}.alarm-list{gap:.65rem;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.alarm-item{background:var(--chip-bg-strong);border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem}.alarm-item strong{margin-bottom:.2rem;display:block}.alarm-meta{color:var(--ink-soft);font-family:var(--font-mono);font-size:.78rem}.toolpath-plot-stack{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative}.toolpath-conn-badge{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.18rem;display:flex;position:absolute;top:.45rem;right:.45rem}.toolpath-conn-badge .badge{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #13203324}.toolpath-conn-machine{max-width:11rem;color:var(--ink-soft);letter-spacing:.01em;text-align:right;white-space:nowrap;text-overflow:ellipsis;padding:.12rem .2rem 0;font-size:.72rem;font-weight:600;line-height:1.2;overflow:hidden}.badge{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .55rem;font-size:.72rem;font-weight:500;display:inline-flex}.badge[data-tone=ok]{color:var(--ok)}.badge[data-tone=warn]{color:var(--amber)}.badge[data-tone=bad]{color:var(--alarm)}.badge[data-tone=muted]{color:var(--ink-soft)}.btn{background:var(--teal);color:#fff;border:0;border-radius:10px;padding:.42rem .72rem;font-size:.78rem;font-weight:600;transition:transform .15s,background .15s,border-color .15s,color .15s,box-shadow .15s}.btn:hover{background:var(--teal-deep);transform:translateY(-1px)}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.secondary:hover:not(:disabled){background:var(--chip-bg-strong);color:var(--ink)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.run-btn-run,.btn.run-btn-hold,.btn.run-btn-unlock,.btn.run-btn-stop{min-height:2.1rem;box-shadow:none;justify-content:center;align-items:center;gap:.35rem;padding:.22rem .35rem;font-size:.78rem;font-weight:700;display:inline-flex;transform:none}.btn.run-btn-run:hover:not(:disabled),.btn.run-btn-hold:hover:not(:disabled),.btn.run-btn-unlock:hover:not(:disabled),.btn.run-btn-stop:hover:not(:disabled){transform:none}.btn.run-btn-run{color:#1f8a4c;background:#1f8a4c1f;border:1px solid #1f8a4c73}.btn.run-btn-run:hover:not(:disabled){color:#1f8a4c;background:#1f8a4c38;border-color:#1f8a4ca6}.btn.run-btn-hold{color:#2b6cb0;background:#2b6cb01f;border:1px solid #2b6cb073}.btn.run-btn-hold:hover:not(:disabled){color:#2b6cb0;background:#2b6cb038;border-color:#2b6cb0a6}.btn.run-btn-unlock{color:#c47a10;background:#c47a101f;border:1px solid #c47a1073}.btn.run-btn-unlock:hover:not(:disabled){color:#c47a10;background:#c47a1038;border-color:#c47a10a6}.btn.run-btn-stop{color:#c23b2e;background:#c23b2e1f;border:1px solid #c23b2e73}.btn.run-btn-stop:hover:not(:disabled){color:#c23b2e;background:#c23b2e38;border-color:#c23b2ea6}.btn.jog-mpg-axis{color:var(--ink);border:1px solid var(--line);background:var(--chip-bg-strong)}.btn.jog-mpg-axis:hover:not(:disabled){transform:translateY(-1px)}.btn.jog-btn.axis-x,.btn.jog-mpg-axis.axis-x{color:var(--axis-x);background:#c23b2e1f;border:1px solid #c23b2e73}.btn.jog-btn.axis-y,.btn.jog-mpg-axis.axis-y{color:var(--axis-y);background:#1f8a4c1f;border:1px solid #1f8a4c73}.btn.jog-btn.axis-z,.btn.jog-mpg-axis.axis-z{color:var(--axis-z);background:#2b6cb01f;border:1px solid #2b6cb073}.btn.jog-btn.axis-a,.btn.jog-mpg-axis.axis-a{color:var(--axis-a);background:#b453091f;border:1px solid #b4530973}.btn.jog-btn.axis-b,.btn.jog-mpg-axis.axis-b{color:var(--axis-b);background:#7c3aed1f;border:1px solid #7c3aed73}.btn.jog-btn.axis-c,.btn.jog-mpg-axis.axis-c{color:var(--axis-c);background:#0f766e1f;border:1px solid #0f766e73}.btn.jog-btn.axis-x:hover:not(:disabled),.btn.jog-mpg-axis.axis-x:hover:not(:disabled){background:#c23b2e33}.btn.jog-btn.axis-y:hover:not(:disabled),.btn.jog-mpg-axis.axis-y:hover:not(:disabled){background:#1f8a4c33}.btn.jog-btn.axis-z:hover:not(:disabled),.btn.jog-mpg-axis.axis-z:hover:not(:disabled){background:#2b6cb033}.btn.jog-btn.axis-a:hover:not(:disabled),.btn.jog-mpg-axis.axis-a:hover:not(:disabled){background:#b4530933}.btn.jog-btn.axis-b:hover:not(:disabled),.btn.jog-mpg-axis.axis-b:hover:not(:disabled){background:#7c3aed33}.btn.jog-btn.axis-c:hover:not(:disabled),.btn.jog-mpg-axis.axis-c:hover:not(:disabled){background:#0f766e33}.btn.jog-btn.is-fast,.btn.jog-btn.is-fast:hover:not(:disabled){outline:2px solid var(--amber);outline-offset:1px;filter:brightness(1.12);box-shadow:0 0 0 3px #c47a1047}.btn.jog-mpg-axis.is-active,.btn.jog-mpg-axis[aria-pressed=true]{outline:none;box-shadow:inset 0 0 0 1px}.btn.jog-mpg-axis.axis-x.is-active,.btn.jog-mpg-axis.axis-x[aria-pressed=true],.btn.jog-mpg-axis.axis-x.is-active:hover:not(:disabled),.btn.jog-mpg-axis.axis-x[aria-pressed=true]:hover:not(:disabled){color:var(--axis-x);border-color:var(--axis-x);background:#c23b2e47}.btn.jog-mpg-axis.axis-y.is-active,.btn.jog-mpg-axis.axis-y[aria-pressed=true],.btn.jog-mpg-axis.axis-y.is-active:hover:not(:disabled),.btn.jog-mpg-axis.axis-y[aria-pressed=true]:hover:not(:disabled){color:var(--axis-y);border-color:var(--axis-y);background:#1f8a4c47}.btn.jog-mpg-axis.axis-z.is-active,.btn.jog-mpg-axis.axis-z[aria-pressed=true],.btn.jog-mpg-axis.axis-z.is-active:hover:not(:disabled),.btn.jog-mpg-axis.axis-z[aria-pressed=true]:hover:not(:disabled){color:var(--axis-z);border-color:var(--axis-z);background:#2b6cb047}.btn.jog-mpg-axis.axis-a.is-active,.btn.jog-mpg-axis.axis-a[aria-pressed=true],.btn.jog-mpg-axis.axis-a.is-active:hover:not(:disabled),.btn.jog-mpg-axis.axis-a[aria-pressed=true]:hover:not(:disabled){color:var(--axis-a);border-color:var(--axis-a);background:#b4530947}.btn.jog-mpg-axis.axis-b.is-active,.btn.jog-mpg-axis.axis-b[aria-pressed=true],.btn.jog-mpg-axis.axis-b.is-active:hover:not(:disabled),.btn.jog-mpg-axis.axis-b[aria-pressed=true]:hover:not(:disabled){color:var(--axis-b);border-color:var(--axis-b);background:#7c3aed47}.btn.jog-mpg-axis.axis-c.is-active,.btn.jog-mpg-axis.axis-c[aria-pressed=true],.btn.jog-mpg-axis.axis-c.is-active:hover:not(:disabled),.btn.jog-mpg-axis.axis-c[aria-pressed=true]:hover:not(:disabled){color:var(--axis-c);border-color:var(--axis-c);background:#0f766e47}.auth-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{width:min(420px,100%);padding:1.6rem;animation:.5s both rise}.auth-card h1{letter-spacing:-.03em;margin:0 0 .3rem;font-size:1.45rem}.auth-card p{color:var(--ink-soft);margin:0 0 1rem;font-size:.86rem}.field{gap:.3rem;margin-bottom:.75rem;display:grid}.field label{color:var(--ink-soft);font-size:.75rem}.field input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:.55rem .7rem;font-size:.86rem}.auth-actions{gap:.6rem;margin-top:.4rem;display:flex}.auth-actions .btn{flex:1}.error-text{color:var(--alarm);margin:.4rem 0 .8rem;font-size:.88rem}.hint{color:var(--ink-soft);background:#0c7c7c14;border-radius:12px;margin-top:1rem;padding:.8rem;font-size:.86rem;line-height:1.45}.toolpath-panel{margin-bottom:0;animation:.7s both rise}.toolpath-panel.section{padding-top:.4rem;padding-bottom:.4rem}.toolpath-cycle-bar{margin-bottom:.3rem}.toolpath-cycle-bar--bottom{margin-top:.3rem;margin-bottom:0}.toolpath-actions{flex-flow:column;justify-content:flex-start;align-items:flex-end;gap:.35rem;width:100%;margin:0 0 .3rem;display:flex}.toolpath-actions-main-row{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.toolpath-actions--overlay{z-index:3;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;max-width:none;box-shadow:none;pointer-events:auto;background:0 0;border:0;border-radius:0;align-items:flex-end;gap:.35rem;margin:0;padding:0;position:absolute;inset:auto .4rem .4rem}.toolpath-actions--overlay.toolpath-actions--bottom{inset:auto .4rem .4rem}.toolpath-actions--overlay.toolpath-actions--top{inset:.4rem .4rem auto}.toolpath-canvas-wrap:has(.toolpath-overlay-state) .toolpath-actions--overlay.toolpath-actions--bottom{padding-left:4.5rem}.screen-run.is-console-open .toolpath-actions--overlay{inset:.4rem .4rem auto}.screen-run:has(.mdi-panel.is-open) .toolpath-actions--overlay{inset:.4rem .4rem auto}.stack-board:has(.mdi-panel.is-open) .toolpath-actions--overlay{inset:.4rem .4rem auto}.screen-run.is-console-open .toolpath-overlay-dro{top:auto;bottom:.45rem}.screen-run:has(.mdi-panel.is-open) .toolpath-overlay-dro{top:auto;bottom:.45rem}.stack-board:has(.mdi-panel.is-open) .toolpath-overlay-dro{top:auto;bottom:.45rem}.toolpath-toggle{color:var(--ink);-webkit-user-select:none;user-select:none;white-space:nowrap;letter-spacing:.01em;background:0 0;border:0;border-radius:0;flex:none;align-items:center;gap:.3rem;padding:.18rem .28rem;font-size:.58rem;font-weight:700;line-height:1.05;display:inline-flex}.toolpath-toggle:has(input:disabled){opacity:.45;cursor:not-allowed}.toolpath-action-btn{white-space:nowrap;flex:1 1 0;min-width:0;padding:.38rem .45rem}.toolpath-action-btn--square{box-sizing:border-box;width:2.55rem;min-width:2.55rem;height:1.53rem;min-height:1.53rem;box-shadow:none;color:var(--ink);letter-spacing:.01em;text-align:center;white-space:normal;background:0 0;border:1px solid #13203338;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;font-size:.58rem;font-weight:700;line-height:1.05;display:inline-flex}.toolpath-action-btn--square:hover:not(:disabled),.toolpath-action-btn--square:focus-visible{box-shadow:none;color:var(--teal-deep);background:0 0;border-color:#13203361}[data-theme=dark] .toolpath-action-btn--square{border-color:#eef3f747}[data-theme=dark] .toolpath-action-btn--square:hover:not(:disabled),[data-theme=dark] .toolpath-action-btn--square:focus-visible{border-color:#eef3f77a}.toolpath-canvas-wrap{border:1px solid var(--line);background:var(--chip-bg);border-radius:14px;width:100%;position:relative;overflow:hidden}.toolpath-overlay-dro{z-index:2;pointer-events:none;font-family:var(--font-mono);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;align-items:baseline;gap:.55rem;padding:0;font-size:.72rem;display:flex;position:absolute;inset:.45rem auto auto .55rem}.toolpath-overlay-dro.is-bottom{top:auto;bottom:.45rem}.toolpath-overlay-dro.is-bottom.has-state{bottom:1.55rem}.toolpath-overlay-state{z-index:2;box-shadow:none;pointer-events:none;color:var(--teal-deep);background:0 0;border:0;border-radius:0;align-items:center;gap:.35rem;margin:0;padding:0;font-size:.78rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;bottom:.42rem;left:.55rem}.toolpath-overlay-state[data-state=Run]{color:var(--ok)}.toolpath-overlay-state[data-state=Hold],.toolpath-overlay-state[data-state=Door]{color:var(--amber)}.toolpath-overlay-state[data-state=Alarm]{color:var(--alarm)}.toolpath-overlay-state[data-state=Offline],.toolpath-overlay-state[data-state=Unknown]{color:var(--ink-soft)}.toolpath-overlay-state .pulse{width:.5rem;height:.5rem}[data-theme=dark] .toolpath-overlay-dro{background:0 0;border-color:#0000}.toolpath-canvas{cursor:grab;touch-action:none;width:100%;height:min(420px,55vh);display:block}.toolpath-canvas.is-follow{cursor:default;touch-action:pan-y}.toolpath-canvas.is-dragging{cursor:grabbing}.toolpath-coords{text-shadow:0 0 4px #ffffffd9,0 1px 2px #ffffffb3;flex-flow:row;align-items:flex-start;gap:3ch;min-width:0;font-weight:600;line-height:1.15;display:flex}.toolpath-coords-linear,.toolpath-coords-rotary{flex-direction:column;align-items:flex-start;gap:.08rem;line-height:1.05;display:flex}.toolpath-coords-unit{opacity:.72;font-size:.92em;font-weight:600}[data-theme=dark] .toolpath-coords{text-shadow:0 0 4px #000000d9,0 1px 2px #000000b3}.footer-note{color:var(--ink-soft);margin-top:1rem;font-size:.76rem;animation:.85s both rise}.empty{color:var(--ink-soft);font-size:.82rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.grid-2{grid-template-columns:1fr}.topbar-row{width:100%}.toolpath-canvas{height:min(320px,50vh)}.dro-list{max-width:none}}.screen-side-rail{display:contents}@media (width<=860px) and (orientation:portrait){.app-shell--screens{width:100%;max-width:100%;padding:.65rem .7rem calc(4.75rem + env(safe-area-inset-bottom,0px));margin:0}html.is-immersive .app-shell--screens,html.is-fullscreen .app-shell--screens,html.is-standalone .app-shell--screens,.app-shell--screens.is-immersive,.app-shell--screens.is-fullscreen{padding-top:calc(var(--nc-fs-edge) + env(safe-area-inset-top,0px));padding-right:.7rem;padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));padding-left:.7rem}.screen-nav{width:100%;padding:.45rem .55rem calc(.45rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);border-left:0;grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0;transform:none;box-shadow:0 -8px 28px #13203314}.screen-nav-btn{letter-spacing:.02em;border-radius:12px;padding:.65rem .35rem;font-size:.78rem;font-weight:600}.toolpath-canvas-wrap{aspect-ratio:1;width:min(100%,320px,52vh);margin-inline:auto}.app-shell--jog .jog-graph .toolpath-canvas-wrap{width:100%!important;aspect-ratio:unset!important;margin-inline:0!important}.toolpath-canvas{height:100%}}@media (orientation:landscape){.app-shell--screens{width:100%;max-width:100%;padding:0;padding-left:calc(env(safe-area-inset-left,0px) + var(--nc-pad-left,0px));padding-right:calc(env(safe-area-inset-right,0px) + var(--nc-pad-right,0px));padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;--window-gap:.2rem;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 2.5rem;gap:0;height:100dvh;min-height:100dvh;margin:0;overflow:hidden;display:grid!important}html.orient-pad-right .app-shell--screens{grid-template-columns:2.5rem minmax(0,1fr)}.app-shell--screens .topbar{display:none!important}.app-shell--screens .screen-body{grid-area:1/1;height:100%;min-height:0;max-height:none;padding:0;overflow:hidden}.app-shell--screens.has-remote-ctrl-banner .remote-ctrl-banner{left:calc(.35rem + env(safe-area-inset-left,0px) + var(--nc-pad-left,0px));right:calc(2.5rem + .35rem + env(safe-area-inset-right,0px) + var(--nc-pad-right,0px))}html.orient-pad-right .app-shell--screens.has-remote-ctrl-banner .remote-ctrl-banner{left:calc(2.5rem + .35rem + env(safe-area-inset-left,0px) + var(--nc-pad-left,0px));right:calc(.35rem + env(safe-area-inset-right,0px) + var(--nc-pad-right,0px))}html.orient-pad-right .app-shell--screens .screen-body{grid-column:2;padding:0}.app-shell--screens .screen-nav{width:100%;height:100%;min-height:0;padding:.15rem .06rem;padding-bottom:calc(.15rem + env(safe-area-inset-bottom,0px));border-top:0;border-left:1px solid var(--line);box-shadow:none;border-radius:0;flex-direction:column;grid-area:1/2;justify-content:stretch;align-items:stretch;gap:.12rem;display:flex;position:static!important;inset:auto!important;transform:none!important}html.orient-pad-right .app-shell--screens .screen-nav{border-left:0;border-right:1px solid var(--line);border-radius:0;grid-column:1}.app-shell--screens .screen-nav-btn{letter-spacing:.01em;writing-mode:horizontal-tb;border-radius:8px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.08rem;min-height:0;padding:.12rem .05rem;font-size:.58rem;font-weight:650;line-height:1.05;display:inline-flex}.app-shell--screens .screen-nav-btn--icon{padding:.12rem .05rem}.app-shell--screens .screen-nav-gear{width:.95rem;height:.95rem}.screen-run,.stack-board,.screen-main{align-items:stretch;gap:.15rem;height:100%;min-height:0;max-height:100%;overflow:hidden;grid-template-rows:minmax(0,1fr)!important;grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr)!important;display:grid!important}:is(.screen-run:not(:has(.screen-side-rail)),.stack-board:not(:has(.screen-side-rail)),.screen-run:not(:has(.screen-window--toolpath)),.stack-board:not(:has(.screen-window--toolpath))){grid-template-columns:minmax(0,1fr)}:is(.screen-run:not(:has(.screen-window--toolpath))>.screen-side-rail,.stack-board:not(:has(.screen-window--toolpath))>.screen-side-rail){grid-column:1}.screen-run{grid-template-rows:minmax(0,1fr)}.screen-window--toolpath{align-self:stretch;min-width:0;min-height:0;overflow:hidden;order:0!important;grid-area:1/1!important;height:100%!important;max-height:100%!important}.screen-run>.screen-window--toolpath{grid-row:1}.screen-side-rail{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:.15rem;min-width:0;height:100%;min-height:0;max-height:100%;padding-right:0;overflow:hidden auto;order:1!important;grid-area:1/2!important;display:flex!important}.screen-run>.screen-side-rail{grid-row:1}.screen-window--toolpath .toolpath-panel{border-radius:8px;flex-direction:column;height:100%;min-height:0;margin:0;display:flex}.screen-window--toolpath .toolpath-panel.section{padding:.15rem}.screen-window--toolpath .toolpath-plot-stack{flex:auto;min-height:0}.screen-window--toolpath .toolpath-canvas-wrap{width:100%;min-height:0;aspect-ratio:unset;border-radius:6px;flex:auto;height:auto;max-height:none;margin-inline:0;overflow:hidden}.screen-window--toolpath .toolpath-canvas{width:100%;height:100%;min-height:0;display:block}.screen-window--toolpath .toolpath-cycle-bar{flex:none;margin-top:.18rem;margin-bottom:.1rem}.screen-window--toolpath .toolpath-cycle-bar--bottom{order:2;margin-top:.1rem;margin-bottom:.18rem}.screen-window--toolpath .toolpath-cycle-bar--top{order:0}.screen-window--toolpath .toolpath-canvas-wrap{order:1}.screen-window--toolpath .toolpath-actions--overlay{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:.18rem;padding:0;inset:auto .28rem .28rem}.screen-window--toolpath .toolpath-actions--overlay.toolpath-actions--bottom{inset:auto .28rem .28rem}.screen-window--toolpath .toolpath-actions--overlay.toolpath-actions--top,.screen-run.is-console-open .screen-window--toolpath .toolpath-actions--overlay{inset:.28rem .28rem auto}.screen-run:has(.mdi-panel.is-open) .screen-window--toolpath .toolpath-actions--overlay{inset:.28rem .28rem auto}.screen-window--toolpath .toolpath-action-btn--square{width:2.15rem;min-width:2.15rem;height:1.29rem;min-height:1.29rem;box-shadow:none;background:0 0;border:1px solid #13203338;border-radius:6px;font-size:.52rem}[data-theme=dark] .screen-window--toolpath .toolpath-action-btn--square{border-color:#eef3f747}.screen-window--toolpath .toolpath-overlay-state{font-size:.68rem;bottom:.32rem;left:.4rem}.screen-window--toolpath .toolpath-overlay-dro.is-bottom.has-state{bottom:1.35rem}.screen-window--toolpath .toolpath-toggle{background:0 0;padding:.12rem .22rem;font-size:.52rem;font-weight:700}.screen-window--toolpath .run-cycle-btns{gap:.22rem}.screen-window--toolpath .run-cycle-btns .btn{min-height:1.75rem;padding:.24rem .3rem;font-size:.7rem}.screen-side-rail>.screen-window{flex:none;min-width:0}.screen-side-rail .section{padding:.35rem .45rem}.screen-side-rail .io-signals-panel.section,.screen-side-rail .modal-state-panel.section{padding-left:.225rem;padding-right:.225rem}.screen-side-rail .modal-state-chips{gap:.1rem}.screen-side-rail .modal-state-chip{border-radius:5px;padding:.32rem .04rem;font-size:.68rem}.screen-side-rail .section-title{margin-bottom:.25rem;font-size:.7rem}.screen-side-rail .mdi-panel.section{padding:.25rem .45rem}.screen-side-rail .mdi-panel.section.is-open{padding:.4rem .5rem}.screen-setup{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow:auto}.screen-jog{overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:auto;height:100%;max-height:100%;overflow:hidden}.app-shell--screens.app-shell--jog{width:100%;padding:0;padding-left:calc(env(safe-area-inset-left,0px) + var(--nc-pad-left,0px));padding-right:calc(env(safe-area-inset-right,0px) + var(--nc-pad-right,0px));padding-top:calc(var(--nc-fs-edge) * 2 + env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px);--jog-nav-gap:.675rem;column-gap:var(--jog-nav-gap);margin:0}html.is-fullscreen .app-shell--screens.app-shell--jog,html.is-immersive .app-shell--screens.app-shell--jog,html.is-standalone .app-shell--screens.app-shell--jog,.app-shell--screens.app-shell--jog.is-fullscreen,.app-shell--screens.app-shell--jog.is-immersive,.app-shell--screens.app-shell--jog.hide-title-chrome{padding-left:calc(env(safe-area-inset-left,0px) + var(--nc-pad-left,0px));padding-right:calc(env(safe-area-inset-right,0px) + var(--nc-pad-right,0px));padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px);column-gap:var(--jog-nav-gap,.675rem)}.app-shell--jog .topbar,.app-shell--jog .jog-title-row{display:none}.app-shell--jog .screen-body{grid-row:1/-1}.app-shell--jog .screen-jog{height:100%;min-height:0}.app-shell--jog .screen-jog .jog-panel-combined{height:100%;min-height:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;padding:.15rem .05rem;display:flex;overflow:hidden}.app-shell--jog .jog-layout{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:.2rem;min-height:0;display:grid}html.orient-pad-right .app-shell--jog .jog-layout{direction:rtl}html.orient-pad-right .app-shell--jog .jog-left-col,html.orient-pad-right .app-shell--jog .jog-right-col{direction:ltr}.app-shell--jog .jog-left-col{overscroll-behavior:none;touch-action:none;min-height:0;padding-left:var(--nc-pad-left,0px);padding-right:var(--nc-pad-right,0px);box-sizing:border-box;flex-direction:column;gap:.21rem;display:flex;overflow:hidden}.app-shell--jog .jog-mpg:has(.jog-dist-gauge){overflow-x:visible}.app-shell--jog .screen-jog .jog-panel-combined:has(.jog-dist-gauge){overflow-x:visible}.app-shell--jog .jog-left-col .jog-mode-tabs,.app-shell--jog .jog-left-col .jog-mpg-steps-under-tabs,.app-shell--jog .jog-mpg .jog-dist-gauge{z-index:2;flex:none;position:relative}.app-shell--jog .jog-left-col:has(.jog-graph) .jog-mode-tabs{margin-bottom:.1rem}.app-shell--jog .jog-left-col .jog-mpg-steps-under-tabs{margin-bottom:.24rem}.app-shell--jog .jog-left-col .jog-pos-strip{flex-direction:column;flex:auto;justify-content:flex-start;width:100%;margin-bottom:0;margin-left:0;margin-right:0;font-size:.9rem;display:flex}.app-shell--jog .jog-panel-combined:not(.is-graph) .jog-view-slot{box-sizing:border-box;padding:.7rem .45rem .35rem}.app-shell--jog .jog-panel-combined:not(.is-graph) .jog-pos-strip{gap:.16rem;padding:.85rem .7rem 1rem}.app-shell--jog .jog-left-col .jog-mode-tabs,.app-shell--jog .jog-left-col .jog-steps{box-sizing:border-box;width:100%;margin-left:0;margin-right:0}.app-shell--jog .jog-panel-combined>.jog-pos-strip{margin-left:var(--nc-pad-left,0px);margin-right:var(--nc-pad-right,0px)}.app-shell--jog .jog-left-col .jog-pos-val{font-size:1.02rem}.app-shell--jog .jog-left-col .jog-pos-val .dro-value{grid-template-columns:minmax(0, var(--dro-int-ch)) .55ch var(--dro-frac-ch)}.app-shell--jog .jog-left-col .jog-pos-val .dro-value.dro-value-int{grid-template-columns:minmax(0, var(--dro-int-ch))}html.is-fullscreen .app-shell--jog .jog-left-col .jog-pos-val .dro-value,.app-shell--jog.is-fullscreen .jog-left-col .jog-pos-val .dro-value{grid-template-columns:minmax(0, var(--dro-int-ch)) .55ch var(--dro-frac-ch)}html.is-fullscreen .app-shell--jog .jog-left-col .jog-pos-val .dro-value.dro-value-int,.app-shell--jog.is-fullscreen .jog-left-col .jog-pos-val .dro-value.dro-value-int{grid-template-columns:minmax(0, var(--dro-int-ch))}.app-shell--jog .jog-right-col{min-height:0;padding-right:var(--jog-nav-gap,.675rem);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:visible}html.orient-pad-right .app-shell--jog .jog-right-col{padding-right:0;padding-left:var(--jog-nav-gap,.675rem)}.app-shell--jog .jog-pad,.app-shell--jog .jog-mpg{margin-inline:0}.app-shell--jog .jog-mpg{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:.21rem;width:100%;height:100%;min-height:0;display:flex;overflow:visible}.app-shell--jog .jog-mpg-toolbar,.app-shell--jog .jog-mpg .jog-dist-gauge{flex:none;width:100%}.app-shell--jog .jog-mpg-feed-slot{grid-area:1/1;place-self:start;width:auto;max-width:100%;transform:none}.app-shell--jog .jog-mpg-stage{flex:auto;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;column-gap:.45rem;width:100%;min-height:0;padding-bottom:.15rem;display:grid;overflow:visible}.app-shell--jog .jog-mpg-cancel,.app-shell--jog .jog-pad .jog-cancel{z-index:6;position:relative}.app-shell--jog .jog-view-toggle--mpg{z-index:6;min-height:2rem;font-size:.72rem;position:relative;transform:translate(10px)}.app-shell--jog .jog-pad-stack{flex:none;width:100%;max-width:100%}.app-shell--jog .jog-left-col .jog-graph{flex:auto;min-height:0}.app-shell--jog .jog-view-slot{flex-direction:column;flex:1 1 0;width:100%;height:auto;min-height:0;max-height:none;display:flex;overflow:hidden}.app-shell--jog .jog-view-slot .jog-graph,.app-shell--jog .jog-view-slot .jog-pos-strip{flex:1 1 0;width:100%;height:100%;min-height:0;max-height:none;margin:0}html.is-standalone .app-shell--jog .jog-view-slot,.app-shell--jog.is-standalone .jog-view-slot,html.is-immersive .app-shell--jog .jog-view-slot,.app-shell--jog.is-immersive .jog-view-slot{flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important}.app-shell--jog .jog-left-col .jog-graph .toolpath-plot-stack{flex:auto;min-height:0}.app-shell--jog .jog-left-col .jog-graph .toolpath-canvas-wrap{aspect-ratio:unset;height:100%;min-height:0;max-height:none}.app-shell--jog .mpg-wheel-wrap,.app-shell--jog .mpg-wheel{width:var(--mpg-wheel-size);max-width:var(--mpg-wheel-size);max-height:var(--mpg-wheel-size)}.app-shell--jog .mpg-wheel-wrap.is-joystick-row{width:auto;max-width:100%;max-height:none}.app-shell--jog .mpg-joystick-row .mpg-joystick{width:var(--mpg-joy-size);max-width:var(--mpg-joy-size);max-height:var(--mpg-joy-size)}.app-shell--jog .mpg-joystick-row .mpg-joystick--aux{width:calc(var(--mpg-joy-size) * .2688);max-width:calc(var(--mpg-joy-size) * .2688);height:var(--mpg-joy-size);max-height:var(--mpg-joy-size)}.app-shell--jog .mpg-wheel-wrap{z-index:1;margin-top:0;margin-bottom:12px;margin-left:30px;overflow:visible;transform:translateY(-12px)}.app-shell--jog .mpg-wheel-wrap .mpg-wheel{margin:0;transform:none}html.is-fullscreen .app-shell--jog .mpg-wheel-wrap,html.is-fullscreen .app-shell--jog .mpg-wheel,.app-shell--jog.is-fullscreen .mpg-wheel-wrap,.app-shell--jog.is-fullscreen .mpg-wheel{width:var(--mpg-wheel-size);max-width:var(--mpg-wheel-size);max-height:var(--mpg-wheel-size)}.app-shell--jog .jog-pad{width:100%;max-width:22rem;margin-inline:auto}}@media (orientation:portrait){.app-shell--screens.app-shell--jog{box-sizing:border-box;width:100%;max-width:100%;padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px));margin:0;padding-left:.55rem;padding-right:.55rem;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;padding-bottom:calc(4.55rem + env(safe-area-inset-bottom,0px))!important;flex-direction:column!important;display:flex!important;overflow:hidden!important}.app-shell--jog .screen-body{flex-direction:column!important;flex:auto!important;height:100%!important;min-height:0!important;max-height:none!important;display:flex!important;overflow:hidden!important}.app-shell--jog .screen-jog{overscroll-behavior:none;touch-action:none;width:100%;flex-direction:column!important;flex:auto!important;gap:0!important;height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;overflow:hidden!important}.app-shell--jog .screen-jog .jog-panel-combined{width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:.15rem .05rem .1rem;overflow:hidden;flex-direction:column!important;flex:auto!important;height:100%!important;min-height:0!important;display:flex!important}.app-shell--jog .jog-layout{align-items:stretch;gap:.28rem;height:100%;flex-direction:column!important;flex:auto!important;min-height:0!important;display:flex!important}.app-shell--jog .jog-left-col,.app-shell--jog .jog-right-col{display:contents}.app-shell--jog .jog-view-slot{min-width:0;overflow:hidden;flex-direction:column!important;flex:1 1 0!important;min-height:0!important;display:flex!important}.app-shell--jog .jog-view-slot .jog-graph,.app-shell--jog .jog-view-slot .jog-pos-strip{width:100%;flex:1 1 0!important;height:100%!important;min-height:0!important;margin:0!important}.app-shell--jog .jog-left-col .jog-graph .toolpath-canvas-wrap,.app-shell--jog .jog-view-slot .jog-graph .toolpath-canvas-wrap{aspect-ratio:unset!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important}.app-shell--jog .jog-panel-combined:not(.is-graph) .jog-view-slot{box-sizing:border-box;padding:.3rem .1rem .05rem}.app-shell--jog .jog-panel-combined:not(.is-graph) .jog-view-slot .jog-pos-strip{box-sizing:border-box;flex-direction:column;justify-content:flex-start;gap:.18rem;padding:.85rem .7rem 1rem;display:flex!important}.app-shell--jog .jog-mode-tabs{flex:none;width:100%;margin:0}.app-shell--jog .jog-mpg-steps-under-tabs,.app-shell--jog .jog-view-row{flex:none;width:100%;margin:0!important}.app-shell--jog .jog-live-feed-stack{flex:none;overflow:visible}.app-shell--jog .jog-pad-stack,.app-shell--jog .jog-mpg{flex:none;width:100%;max-width:100%;height:auto;overflow:visible;margin:0!important}.app-shell--jog .jog-pad-stack{max-width:22rem;margin-inline:auto!important}.app-shell--jog .jog-mpg{flex-direction:column;align-items:center;gap:.17rem;display:flex}.app-shell--jog .jog-mpg-toolbar{width:100%}.app-shell--jog .jog-mpg-feed-slot{width:auto;max-width:100%;transform:none}.app-shell--jog .jog-mpg-stage{width:100%;padding-bottom:0;overflow:visible}.app-shell--jog .mpg-wheel{width:var(--mpg-wheel-size);max-width:var(--mpg-wheel-size);max-height:var(--mpg-wheel-size);margin:0 auto;transform:none}}@media (width<=960px) and (orientation:landscape) and (height<=420px){.app-shell--screens:not(.is-immersive):not(.is-fullscreen) .topbar,html:not(.is-immersive):not(.is-standalone):not(.is-fullscreen) .app-shell--screens .topbar{display:none}.app-shell--screens:not(.is-immersive):not(.is-fullscreen) .screen-body{grid-row:1/-1}.app-shell--screens:not(.is-immersive):not(.is-fullscreen){grid-template-rows:minmax(0,1fr);padding-top:.2rem;padding-bottom:.2rem}}@media (orientation:landscape){html.is-fullscreen .app-shell--screens,.app-shell--screens.is-fullscreen{padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}:fullscreen .app-shell--screens{padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}:fullscreen .app-shell--screens{padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}html.is-fullscreen .app-shell--screens .screen-body,.app-shell--screens.is-fullscreen .screen-body{padding-left:0!important;padding-right:0!important}html.is-fullscreen .app-shell--jog .screen-jog .jog-panel-combined,.app-shell--jog.is-fullscreen .screen-jog .jog-panel-combined{padding-left:.05rem;padding-right:.05rem}html.is-fullscreen .app-shell--jog .jog-left-col,.app-shell--jog.is-fullscreen .jog-left-col{padding-left:var(--nc-pad-left,0px);padding-right:var(--nc-pad-right,0px)}html.is-fullscreen .app-shell--jog .jog-panel-combined>.jog-pos-strip,.app-shell--jog.is-fullscreen .jog-panel-combined>.jog-pos-strip{margin-left:var(--nc-pad-left,0px);margin-right:var(--nc-pad-right,0px)}.app-shell--screens.app-shell--jog{padding-top:calc(var(--nc-fs-edge) * 2 + env(safe-area-inset-top,0px))!important}html.is-fullscreen .app-shell--screens.app-shell--jog,html.is-immersive .app-shell--screens.app-shell--jog,html.is-standalone .app-shell--screens.app-shell--jog,.app-shell--screens.app-shell--jog.is-fullscreen,.app-shell--screens.app-shell--jog.is-immersive,.app-shell--screens.app-shell--jog.hide-title-chrome{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}:fullscreen .app-shell--screens.app-shell--jog{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}:-webkit-full-screen .app-shell--screens.app-shell--jog{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}}@media (orientation:landscape) and (display-mode:standalone),(orientation:landscape) and (display-mode:fullscreen),(orientation:landscape) and (display-mode:minimal-ui){.app-shell--screens.app-shell--jog{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}}@media (orientation:portrait){html.is-fullscreen .app-shell--screens,html.is-immersive .app-shell--screens,html.is-standalone .app-shell--screens,html.is-fullscreen .app-shell--screens.app-shell--jog,html.is-immersive .app-shell--screens.app-shell--jog,html.is-standalone .app-shell--screens.app-shell--jog,.app-shell--screens.is-fullscreen,.app-shell--screens.is-immersive,.app-shell--screens.app-shell--jog.is-fullscreen,.app-shell--screens.app-shell--jog.is-immersive{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}:fullscreen .app-shell--screens{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}:-webkit-full-screen .app-shell--screens{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}}@media (orientation:portrait) and (display-mode:standalone),(orientation:portrait) and (display-mode:fullscreen),(orientation:portrait) and (display-mode:minimal-ui){.app-shell--screens,.app-shell--screens.app-shell--jog{padding-top:calc(var(--nc-fs-edge-app) + env(safe-area-inset-top,0px))!important}}@media (orientation:portrait){.screen-nav{grid-template-rows:none;grid-template-columns:repeat(4,1fr);width:100%;max-width:100%;height:auto;min-height:0;display:grid;position:fixed;inset:auto 0 0;transform:none}.app-shell--screens .screen-body,.screen-body{grid-area:auto;height:auto;max-height:none;overflow:visible}.app-shell--screens.app-shell--jog .screen-body{height:100%!important;max-height:none!important;overflow:hidden!important}.stack-board,.screen-main{grid-template-rows:none;grid-template-columns:minmax(0,1fr);height:auto;max-height:none;display:grid;overflow:visible}.screen-window--toolpath,.stack-board>.screen-window--toolpath{grid-area:auto;height:auto;max-height:none;position:static}.screen-side-rail{display:contents}}html.orient-landscape .app-shell--screens,html[data-orientation^=landscape] .app-shell--screens{width:100%;max-width:100%;height:100dvh;min-height:100dvh;padding:0;padding-left:calc(env(safe-area-inset-left,0px) + var(--nc-pad-left,0px));padding-right:calc(env(safe-area-inset-right,0px) + var(--nc-pad-right,0px));padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 2.5rem;margin:0;overflow:hidden;display:grid!important}html.orient-pad-right .app-shell--screens,html[data-orientation=landscape-secondary] .app-shell--screens{grid-template-columns:2.5rem minmax(0,1fr)}html.orient-landscape .app-shell--screens .screen-body,html[data-orientation^=landscape] .app-shell--screens .screen-body{grid-area:1/1;height:100%;min-height:0;padding:0;overflow:hidden}html.orient-pad-right .app-shell--screens .screen-body,html[data-orientation=landscape-secondary] .app-shell--screens .screen-body{grid-column:2}html.orient-landscape .app-shell--screens .screen-nav,html[data-orientation^=landscape] .app-shell--screens .screen-nav{width:100%;height:100%;min-height:0;padding:.15rem .06rem;padding-bottom:calc(.15rem + env(safe-area-inset-bottom,0px));border-top:0;border-left:1px solid var(--line);box-shadow:none;border-radius:0;flex-direction:column;grid-area:1/2;justify-content:stretch;align-items:stretch;gap:.12rem;display:flex!important;position:static!important;inset:auto!important;transform:none!important}html.orient-pad-right .app-shell--screens .screen-nav,html[data-orientation=landscape-secondary] .app-shell--screens .screen-nav{border-left:0;border-right:1px solid var(--line);grid-column:1}html.orient-landscape .screen-run,html.orient-landscape .stack-board,html.orient-landscape .screen-main,html[data-orientation^=landscape] .screen-run,html[data-orientation^=landscape] .stack-board,html[data-orientation^=landscape] .screen-main{gap:.15rem;grid-template-rows:minmax(0,1fr)!important;grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr)!important;height:100%!important;min-height:0!important;max-height:100%!important;display:grid!important;overflow:hidden!important}html.orient-landscape .screen-window--toolpath,html[data-orientation^=landscape] .screen-window--toolpath{overflow:hidden;grid-area:1/1!important;height:100%!important;min-height:0!important;max-height:100%!important}html.orient-landscape .screen-side-rail,html[data-orientation^=landscape] .screen-side-rail{min-width:0;overflow:hidden auto;flex-direction:column!important;grid-area:1/2!important;height:100%!important;max-height:100%!important;display:flex!important}html.orient-landscape .screen-window--toolpath .toolpath-plot-stack,html[data-orientation^=landscape] .screen-window--toolpath .toolpath-plot-stack{flex:auto;min-height:0}html.orient-landscape .screen-window--toolpath .toolpath-canvas-wrap,html[data-orientation^=landscape] .screen-window--toolpath .toolpath-canvas-wrap{flex:auto;min-height:0;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:unset!important;margin-inline:0!important}.screen-nav.screen-nav--with-visual{grid-template-columns:repeat(5,1fr)}.ml-machine{align-items:center;gap:6px;display:flex}.ml-add input{font:inherit;color:var(--mv-ink,#c9d0db);background:var(--mv-panel,#161718d9);border:1px solid var(--mv-line,#26292b);border-radius:999px;max-width:220px;padding:5px 10px}.ml-add input:focus{border-color:var(--mv-accent,#ff9d3c);outline:none}.ml-add{align-items:center;gap:4px;display:flex}.ml-add input{-webkit-user-select:text;user-select:text;width:140px}.ml-err{color:#ff4d4f;max-width:160px;font-size:10px}.ml-auth{background:#121314;min-height:100vh}.ml-auth-brand{color:#c9d0db;letter-spacing:.08em;z-index:2;align-items:center;gap:10px;font:600 14px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:flex;position:fixed;top:16px;left:20px;right:20px}.ml-auth-brand a{color:#7d8796;margin-left:auto;font-size:12px;font-weight:400;text-decoration:none}.ml-auth-brand a:hover{color:#ff9d3c}.mv-runstrip{flex:none;padding:10px 12px}.ml-strip{flex-direction:column;gap:7px;display:flex}.ml-strip-row{align-items:center;gap:6px;display:flex}.ml-seg{border:1px solid var(--mv-line);border-radius:999px;flex:1;gap:2px;padding:2px;display:flex}.ml-seg button{white-space:nowrap;cursor:pointer;min-width:max-content;color:var(--mv-dim);font:inherit;background:0 0;border:0;border-radius:999px;flex:auto;padding:3px 8px;font-size:11px}.ml-seg button.is-on{color:var(--mv-ink);background:var(--mv-bg);box-shadow:0 0 0 1px var(--mv-accent) inset}.ml-icon{cursor:pointer;border:1px solid var(--mv-line);width:26px;height:24px;color:var(--mv-dim);font:inherit;background:0 0;border-radius:999px}.ml-icon:hover:not(:disabled),.ml-seg button:hover:not(:disabled){color:var(--mv-ink)}.ml-file-input{display:none}.ml-file-select{width:100%;font:inherit;color:var(--mv-ink);background:var(--mv-bg);border:1px solid var(--mv-line);border-radius:8px;padding:5px 8px;font-size:11.5px}.ml-file-select:focus{border-color:var(--mv-accent);outline:none}.ml-prog{align-items:baseline;gap:8px;font-size:11px;display:flex}.ml-prog-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--mv-ink);flex:1;overflow:hidden}.ml-prog-count{color:var(--mv-accent);font-variant-numeric:tabular-nums}.ml-prog-bar{background:var(--mv-line);border-radius:2px;height:2px;position:relative;overflow:hidden}.ml-prog-bar i{background:var(--mv-accent);box-shadow:0 0 8px var(--mv-accent);transition:width .25s linear;position:absolute;inset:0 auto 0 0}.ml-cycle{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:4px;display:grid}.ml-btn{cursor:pointer;font:inherit;white-space:nowrap;border:1px solid var(--mv-line);color:var(--mv-ink);background:0 0;border-radius:7px;padding:6px 2px;font-size:10.5px}.ml-btn:hover:not(:disabled){border-color:var(--mv-dim)}.ml-btn:disabled{opacity:.35;cursor:not-allowed}.ml-btn.ml-start{color:#0e0f10;border-color:var(--mv-accent);background:var(--mv-accent);box-shadow:0 0 12px color-mix(in srgb, var(--mv-accent) 45%, transparent);font-weight:700}.ml-btn.ml-start:disabled{color:var(--mv-dim);box-shadow:none;background:0 0}.ml-btn.ml-resume:not(:disabled){border-color:var(--mv-accent);color:var(--mv-accent)}.ml-btn.ml-stop:not(:disabled){color:#ff8a8d;border-color:#e5484d}.ml-confirm{border:1px solid var(--mv-accent);box-shadow:0 0 14px color-mix(in srgb, var(--mv-accent) 25%, transparent);border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:4px;padding:5px 6px;font-size:11px;display:grid}.ml-confirm .ml-btn{padding:5px 8px}.ml-blocked{color:var(--mv-dim);margin:0;font-size:10px}@media (width<=760px){.mv-runstrip{display:block}}.mv-layout-ncrun{--nc-panel:#1a222ce6;--nc-alt:#222c38;--nc-border:#2e3a48;--nc-text:#f2f6fa;--nc-muted:#8a96a3;--nc-blue:#3c8cff;--nc-ok:#46b46e;--nc-danger:#e45757;--nc-x:#e45757;--nc-y:#3cb371;--nc-z:#3d8bff;--nc-a:#00a89c;--nc-bg:#0f141a;--nc-on:#fff;--mv-line:var(--nc-border);--mv-panel:var(--nc-panel);--mv-ink:var(--nc-text);--mv-dim:var(--nc-muted)}.mv-layout-ncrun .mv-panel{background:var(--nc-panel);border-radius:6px}.mv-layout-ncrun .mv-leftcol-ncrun{width:330px}.mv-leftcol-ncrun>.mv-runstrip{flex:none}.mv-rightcol>.mv-jogpanel{flex:none;width:auto;position:relative;bottom:auto;right:auto}.mv-rightcol{pointer-events:none;flex-direction:column;justify-content:flex-end;gap:10px;width:318px;display:flex;position:absolute;top:58px;bottom:52px;right:16px}.mv-rightcol>*{pointer-events:auto}.mv-rightcol>.mv-panel{position:relative}.mv-layout-ncrun .mv-read{right:350px}.mv-rightcol>.mv-jogpanel{max-height:100%;overflow-y:auto}.mv-layout-ncrun .mv-dro-row{border-radius:4px;align-items:center;margin:2px 0;padding:4px 6px}.mv-layout-ncrun .mv-dro-row>*{align-self:center;line-height:1}.mv-layout-ncrun .mv-dro-ax{background:var(--nc-alt);border:1px solid;border-radius:4px;place-items:center;width:26px;height:26px;font-family:Consolas,ui-monospace,monospace;font-weight:700;display:inline-grid}.mv-layout-ncrun .mv-dro-val{font-family:Consolas,ui-monospace,monospace}.mv-layout-ncrun [data-ax=x] .mv-dro-ax,.mv-layout-ncrun [data-ax=x] .mv-dro-val{color:var(--nc-x)}.mv-layout-ncrun [data-ax=y] .mv-dro-ax,.mv-layout-ncrun [data-ax=y] .mv-dro-val{color:var(--nc-y)}.mv-layout-ncrun [data-ax=z] .mv-dro-ax,.mv-layout-ncrun [data-ax=z] .mv-dro-val{color:var(--nc-z)}.mv-layout-ncrun [data-ax=a] .mv-dro-ax,.mv-layout-ncrun [data-ax=a] .mv-dro-val{color:var(--nc-a)}.mv-layout-ncrun .mv-dro-row.is-sel{border-color:var(--nc-blue);box-shadow:0 0 0 1px var(--nc-blue) inset}.mv-layout-ncrun .mv-chip{background:var(--nc-alt);color:var(--nc-text);border-radius:4px}.mv-layout-ncrun .mv-axes .mv-chip[data-ax=x]{color:var(--nc-x);border-color:var(--nc-x)}.mv-layout-ncrun .mv-axes .mv-chip[data-ax=y]{color:var(--nc-y);border-color:var(--nc-y)}.mv-layout-ncrun .mv-axes .mv-chip[data-ax=z]{color:var(--nc-z);border-color:var(--nc-z)}.mv-layout-ncrun .mv-axes .mv-chip[data-ax=a]{color:var(--nc-a);border-color:var(--nc-a)}.mv-layout-ncrun .mv-chip.is-on,.mv-layout-ncrun .mv-axes .mv-chip.is-on{color:var(--nc-on);background:var(--nc-blue);border-color:var(--nc-blue);box-shadow:none}.mv-layout-ncrun .mv-jogbtns .mv-jog{background:var(--nc-alt);border:1px solid var(--nc-border);color:var(--nc-text);border-radius:4px;font-family:Consolas,ui-monospace,monospace;font-size:16px}.mv-layout-ncrun .mv-jogbtns .mv-jog:active:not(:disabled){background:var(--nc-blue)}.mv-layout-ncrun .mv-cycle .mv-pill{border-radius:4px}.mv-layout-ncrun .mv-stop{border-radius:6px}.mv-layout-ncrun .ml-seg,.mv-layout-ncrun .ml-icon{background:var(--nc-alt);border-radius:6px}.mv-layout-ncrun .ml-seg button{border-radius:4px}.mv-layout-ncrun .ml-seg button.is-on{color:var(--nc-on);background:var(--nc-blue);box-shadow:none}.mv-layout-ncrun .ml-file-select{background:var(--nc-bg);border-radius:4px}.mv-layout-ncrun .ml-cycle{grid-template-columns:repeat(3,1fr);gap:6px}.mv-layout-ncrun .ml-btn{color:var(--nc-text);background:var(--nc-alt);border-color:var(--nc-border);border-radius:6px;padding:8px 2px;font-size:12px;font-weight:600}.mv-layout-ncrun .ml-btn.ml-start:not(:disabled){color:#fff;border-color:color-mix(in srgb, #46b46e 60%, var(--mv-accent));background:#46b46e38;box-shadow:0 0 12px -2px #46b46e66}.mv-layout-ncrun .ml-btn.ml-hold:not(:disabled){color:#fff;border-color:color-mix(in srgb, #3c8cff 60%, var(--mv-accent));background:#3c8cff38;box-shadow:0 0 12px -2px #3c8cff66}.mv-layout-ncrun .ml-btn.ml-stop:not(:disabled){color:#fff;background:#e457573d;border-color:#e45757;box-shadow:0 0 12px -2px #e4575773}.mv-theme-ncrun.mv-layout-ncrun .ml-btn.ml-start:not(:disabled){box-shadow:none;background:#2f6b4a;border-color:#46b46e}.mv-theme-ncrun.mv-layout-ncrun .ml-btn.ml-hold:not(:disabled){box-shadow:none;background:#2a4f8f;border-color:#3c8cff}.mv-theme-ncrun.mv-layout-ncrun .ml-btn.ml-stop:not(:disabled){box-shadow:none;background:#7a3438;border-color:#e45757}.mv-layout-ncrun .ml-btn:disabled{color:var(--nc-muted);background:var(--nc-alt);border-color:var(--nc-border);box-shadow:none;opacity:1}.mv-layout-ncrun .ml-prog-count,.mv-layout-ncrun .ml-prog-name{font-family:Consolas,ui-monospace,monospace}@media (width<=760px){.mv-rightcol{width:auto;position:static}.mv-layout-ncrun .mv-leftcol-ncrun{width:auto;right:16px}}.ml-jog{flex-direction:column;gap:8px;display:flex}.ml-jog-head{justify-content:space-between;align-items:center;display:flex}.ml-jog-head>span{letter-spacing:.12em;color:var(--nc-text);font-weight:700}.ml-jog-modes{background:var(--nc-alt);border:1px solid var(--nc-border);border-radius:999px;gap:2px;padding:2px;display:flex}.ml-jog-modes button{color:var(--nc-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:3px 12px;font-size:12px}.ml-jog-modes button.is-on{background:var(--nc-blue);color:var(--nc-on);box-shadow:0 0 10px color-mix(in srgb, var(--nc-blue) 45%, transparent)}.ml-jog-fields{grid-template-columns:1.15fr 1fr 1fr;gap:6px;display:grid}.ml-jog-fields label{color:var(--nc-muted);flex-direction:column;gap:3px;min-width:0;font-size:10.5px;display:flex}.ml-jog-fields input{box-sizing:border-box;background:var(--nc-bg);width:100%;min-width:0;color:var(--nc-text);border:1px solid var(--nc-border);-moz-appearance:textfield;border-radius:4px;padding:4px 6px;font:12px Consolas,ui-monospace,monospace}.ml-jog-fields input::-webkit-inner-spin-button{-webkit-appearance:none}.ml-jog-fields input:disabled{opacity:.45}.ml-spin{display:flex}.ml-spin input{border-radius:4px 0 0 4px}.ml-spin-btns{flex-direction:column;display:flex}.ml-spin-btns button{background:var(--nc-alt);width:18px;color:var(--nc-muted);border:1px solid var(--nc-border);cursor:pointer;border-left:0;flex:1;padding:0;font-size:9px;line-height:1}.ml-spin-btns button:first-child{border-bottom:0;border-radius:0 4px 0 0}.ml-spin-btns button:last-child{border-radius:0 0 4px}.ml-jog-grid{grid-template-rows:44px 44px;grid-template-columns:repeat(3,1fr) 1fr .7fr;grid-template-areas:".yp.zp ap""xm ym xp zm am";gap:6px;display:grid}.ml-jbtn{background:var(--nc-alt);border:1px solid var(--nc-border);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;font:600 13px Consolas,ui-monospace,monospace}.ml-jbtn[data-ax=x]{color:var(--nc-x)}.ml-jbtn[data-ax=y]{color:var(--nc-y)}.ml-jbtn[data-ax=z]{color:var(--nc-z)}.ml-jbtn[data-ax=a]{color:var(--nc-a)}.ml-jbtn:hover:not(:disabled){border-color:currentColor}.ml-jbtn:active:not(:disabled),.ml-jbtn.is-sel{background:var(--nc-blue);color:var(--nc-on);border-color:var(--nc-blue)}.ml-jbtn:disabled{opacity:.4;cursor:not-allowed}.ml-mpg{flex-direction:column;align-items:center;gap:4px;display:flex}.ml-mpg .mpg-wheel{width:170px;max-width:170px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--nc-blue) 35%, transparent))}.ml-mpg-note{color:var(--nc-muted);margin:0;font:11px Consolas,ui-monospace,monospace}.mv-layout-ncrun.mv-theme-glow{--nc-panel:#0d0e10c7;--nc-alt:color-mix(in srgb, var(--mv-accent) 7%, #141518);--nc-border:color-mix(in srgb, var(--mv-accent) 26%, #24272a);--nc-bg:#0b0c0d;--nc-text:#e8ebef;--nc-muted:#7d8796;--nc-blue:var(--mv-accent);--nc-ok:var(--mv-accent);--nc-on:#0b0c0d;--nc-x:var(--mv-accent);--nc-y:color-mix(in srgb, var(--mv-accent) 60%, #fff);--nc-z:color-mix(in srgb, var(--mv-accent) 55%, #9aa4b2);--nc-a:color-mix(in srgb, var(--mv-accent) 35%, #fff)}.mv-layout-ncrun.mv-theme-glow .mv-panel,.mv-layout-ncrun.mv-theme-glow .mv-read{border-color:var(--nc-border);box-shadow:0 0 0 1px color-mix(in srgb, var(--mv-accent) 10%, transparent), 0 0 28px -10px color-mix(in srgb, var(--mv-accent) 45%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mv-layout-ncrun.mv-theme-glow .mpg-wheel-face{border-color:color-mix(in srgb, var(--mv-accent) 50%, transparent);box-shadow:0 0 22px -4px color-mix(in srgb, var(--mv-accent) 55%, transparent), inset 0 0 18px #0009;background:#15171a}.mv-layout-ncrun .mv-root :focus-visible,.mv-layout-ncrun :focus-visible{outline:1px solid var(--nc-blue);outline-offset:1px}.ml-sim-badge{border:1px dashed var(--mv-accent);color:var(--mv-dim);background:color-mix(in srgb, var(--mv-accent) 8%, transparent);border-radius:4px;margin:6px 0 0;padding:4px 8px;font:11px Consolas,ui-monospace,monospace}.ml-sim-badge b{color:var(--mv-accent);letter-spacing:.14em}.mv-root.mv-phone{background:radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--mv-accent) 9%, transparent), transparent 70%), var(--mv-bg);flex-direction:column;display:flex}.mv-phone-top{padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;border-bottom:1px solid var(--nc-border,var(--mv-line));flex:none;align-items:center;gap:8px;display:flex}.mv-phone-top .mv-brand{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mv-phone-state{color:var(--mv-accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.mv-phone-stop{color:#fff;letter-spacing:.12em;background:#e457574d;border:1px solid #e45757;border-radius:6px;padding:6px 12px;font:700 12px Consolas,ui-monospace,monospace}.mv-phone-page{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 12px 16px;display:flex;overflow-y:auto}.mv-phone .mv-panel,.mv-phone .mv-rightcol>.mv-jogpanel,.mv-phone .mv-jogpanel{flex:none;width:auto;max-height:none;position:relative;inset:auto}.mv-phone .mv-gcode{flex-direction:column;min-height:260px;max-height:52vh;display:flex}.mv-phone .mv-read{align-self:center;margin-top:2px;position:static}.mv-phone .mv-dro-val{font-size:30px}.mv-phone .mv-dro-row{padding:8px}.mv-phone .ml-jog-grid{grid-template-rows:54px 54px}.mv-phone .ml-mpg .mpg-wheel{width:220px;max-width:220px}.mv-phone-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--nc-border,var(--mv-line));background:color-mix(in srgb, var(--mv-bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex:none;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.mv-phone-nav button{color:var(--mv-dim);letter-spacing:.04em;background:0 0;border:0;border-radius:10px;padding:11px 4px;font:600 12px ui-monospace,Consolas,monospace}.mv-phone-nav button.is-active{color:var(--mv-accent);background:color-mix(in srgb, var(--mv-accent) 14%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--mv-accent) 45%, transparent) inset}.mv-phone-more{flex-direction:column;gap:10px;display:flex}.mv-phone-more h3{letter-spacing:.14em;text-transform:uppercase;color:var(--mv-dim);margin:0;font-size:11px}.mv-phone-more .mv-swatches{align-self:flex-start}.mv-phone-more .mv-swatches button{width:34px;height:34px}.mv-phone-extra{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mv-phone-note,.mv-phone-conn{color:var(--mv-dim);margin:0;font-size:11px}.ml-mpg .mpg-hub-ring{transform-box:view-box;transform-origin:50%;transform:scale(.8)}.ml-mpg-axes{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.ml-mpg-axis{border-color:currentColor;height:38px;font-size:15px}.mv-phone .ml-mpg-axis{height:48px}.ml-mpg-axis.is-sel[data-ax=x]{background:var(--nc-x);border-color:var(--nc-x)}.ml-mpg-axis.is-sel[data-ax=y]{background:var(--nc-y);border-color:var(--nc-y)}.ml-mpg-axis.is-sel[data-ax=z]{background:var(--nc-z);border-color:var(--nc-z)}.ml-mpg-axis.is-sel[data-ax=a]{background:var(--nc-a);border-color:var(--nc-a)}.mv-theme-ncrun .ml-mpg-axis.is-sel{color:#fff}.ml-mpg-axis.is-sel{box-shadow:0 0 12px -2px}.mv-dock{pointer-events:none;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--mv-accent) 35%, transparent) transparent;z-index:3;flex-direction:column;gap:8px;width:330px;display:flex;position:absolute;top:58px;bottom:52px;overflow:hidden auto}.mv-dock-left{left:16px}.mv-dock-right{width:318px;right:16px}.mv-dock-right>:first-child{margin-top:auto}.mv-dock>*{pointer-events:auto}.mv-dock.is-empty{width:0;overflow:visible}.mv-dock.is-empty.is-drag{border:1px dashed color-mix(in srgb, var(--mv-accent) 60%, transparent);background:color-mix(in srgb, var(--mv-accent) 6%, transparent);pointer-events:auto;border-radius:8px;width:46px}.mv-dock-item{flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.mv-dock-item.is-grow{flex:260px;min-height:220px}.mv-dock-item.is-grow>.mv-panel{flex:auto;min-height:0}.mv-dock-item.is-dragging{opacity:.45}.mv-dock-item>.mv-panel{border-top:0;border-top-left-radius:0;border-top-right-radius:0;width:auto;position:relative;inset:auto}.mv-dock-item>.mv-jogpanel{max-height:none;overflow:visible}.mv-dock-bar{border:1px solid var(--mv-line);background:color-mix(in srgb, var(--mv-panel) 85%, var(--mv-accent) 6%);letter-spacing:.12em;text-transform:uppercase;height:22px;color:var(--mv-dim);border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:0 4px;font:600 10px/1 ui-monospace,Menlo,Consolas,monospace;display:flex}.mv-dock-item.is-collapsed .mv-dock-bar{border-radius:6px}.mv-dock-title{flex:1}.mv-dock-grip,.mv-dock-fold{width:20px;height:18px;color:var(--mv-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.mv-dock-grip{cursor:grab;touch-action:none;fill:currentColor}.mv-dock-grip:active{cursor:grabbing}.mv-dock-grip:hover,.mv-dock-grip:focus-visible,.mv-dock-fold:hover,.mv-dock-fold:focus-visible{color:var(--mv-accent);background:color-mix(in srgb, var(--mv-accent) 14%, transparent);box-shadow:0 0 8px color-mix(in srgb, var(--mv-accent) 40%, transparent);outline:none}.mv-dock-drop{background:var(--mv-accent);height:3px;box-shadow:0 0 10px var(--mv-accent), 0 0 2px var(--mv-accent);border-radius:2px;flex:none;margin:-1px 2px}.mv-theme-ncrun .mv-dock-bar{background:var(--nc-alt)}.mv-theme-ncrun .mv-dock-drop{background:var(--nc-blue);box-shadow:0 0 8px var(--nc-blue)}.mv-top-stop{color:#fff;letter-spacing:.14em;cursor:pointer;background:#e45757d9;border:1px solid #ff4d4f;border-radius:6px;height:26px;padding:0 14px;font:700 11px/1 ui-monospace,Menlo,Consolas,monospace;box-shadow:0 0 10px #ff4d4f73}.mv-top-stop:hover{background:#e45757}.mv-dro-zbadge{font:inherit;cursor:pointer;padding:0;transition:box-shadow .12s,background .12s}.mv-dro-zbadge:hover:not(:disabled),.mv-dro-zbadge:focus-visible{background:color-mix(in srgb, var(--mv-accent) 22%, transparent);box-shadow:0 0 0 1px var(--mv-accent), 0 0 10px color-mix(in srgb, var(--mv-accent) 55%, transparent);outline:none}.mv-dro-zbadge:disabled{cursor:not-allowed}.mv-dro-wcs{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--mv-ink);border:1px solid var(--mv-line);background:color-mix(in srgb, var(--mv-accent) 8%, transparent);cursor:pointer;border-radius:5px;justify-self:start;margin:-3px 0 0 -8px;padding:3px 8px}.mv-dro-wcs:hover:not(:disabled),.mv-dro-wcs:focus-visible{color:var(--mv-accent);border-color:var(--mv-accent);box-shadow:0 0 8px color-mix(in srgb, var(--mv-accent) 40%, transparent);outline:none}.mv-dro-wcs:disabled{opacity:.5;cursor:not-allowed}.mv-theme-ncrun .mv-dro-wcs:hover:not(:disabled){color:var(--nc-blue);border-color:var(--nc-blue)}.mv-dro-head{position:relative}.mv-dro-confirm{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:normal;text-transform:none;border:1px solid var(--mv-accent);background:color-mix(in srgb, var(--mv-panel) 85%, var(--mv-accent) 10%);width:max-content;max-width:min(280px,100vw - 32px);box-shadow:0 0 14px color-mix(in srgb, var(--mv-accent) 30%, transparent);color:var(--mv-ink);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.mv-dro-confirm>div{gap:6px;display:flex}.mv-dro-confirm button{font:inherit;border:1px solid var(--mv-line);color:var(--mv-ink);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:11px}.mv-dro-confirm .mv-dro-confirm-ok{border-color:var(--mv-accent);background:var(--mv-accent);color:var(--nc-on,#111)}.mv-theme-ncrun .mv-dro-confirm{border-color:var(--nc-blue)}.mv-theme-ncrun .mv-dro-confirm .mv-dro-confirm-ok{background:var(--nc-blue);border-color:var(--nc-blue);color:#fff}.mv-docked .mv-top{z-index:20;background:color-mix(in srgb, var(--mv-panel) 94%, transparent);border-bottom:1px solid var(--mv-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);row-gap:6px;padding:8px 16px;top:0;left:0;right:0}.mv-docked .mv-top-right{justify-content:flex-end;row-gap:6px}.mv-docked .mv-dock{top:calc(var(--mv-top-h,48px) + 8px)}.mv-docked .mv-top-stop{z-index:2;flex:none;position:relative}.mv-tools{display:contents}.mv-tools-toggle{display:none}@media (width<=1399px){.mv-docked .mv-tools-toggle{justify-content:center;align-items:center;min-width:34px;display:inline-flex}.mv-docked .mv-tools{z-index:30;border:1px solid var(--mv-line);background:var(--mv-panel);box-shadow:0 8px 24px #00000080, 0 0 12px color-mix(in srgb, var(--mv-accent) 20%, transparent);border-radius:8px;flex-direction:column;align-items:stretch;gap:4px;padding:6px;display:none;position:absolute;top:calc(100% + 4px);right:16px}.mv-docked .mv-tools.is-open{display:flex}.mv-docked .mv-tools .mv-pill{text-align:left}.mv-docked .mv-dock-left{width:min(320px,34vw)}.mv-docked .mv-dock-right{width:min(310px,34vw)}}@media (width<=1100px){.mv-docked .mv-conn{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.mv-docked .mv-brand{font-size:10px}}@media (width<=860px){.mv-docked .mv-dock-left,.mv-docked .mv-dock-right{width:calc(50vw - 22px)}.mv-docked .mv-hint,.mv-docked .mv-credit{display:none}.mv-docked .mv-read{max-width:60vw;left:50%;right:auto;transform:translate(-50%)}}.ml-console{flex-direction:column;gap:8px;min-height:180px;display:flex}.mv-dock-item.is-grow>.ml-console{min-height:0}.ml-console-head{color:var(--mv-dim);align-items:center;gap:10px;font-size:12px;display:flex}.ml-console-head>span{color:var(--mv-ink);flex:1}.ml-console-raw{cursor:pointer;align-items:center;gap:8px;display:inline-flex;position:relative}.ml-console-raw input{opacity:0;pointer-events:none;position:absolute}.ml-console-raw i{border:1px solid var(--mv-line);background:color-mix(in srgb, var(--mv-panel) 70%, #000);border-radius:999px;width:30px;height:16px;transition:background .15s,border-color .15s;position:relative}.ml-console-raw i:after{content:"";background:var(--mv-dim);border-radius:50%;width:10px;height:10px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.ml-console-raw input:checked+i{border-color:var(--mv-accent);background:color-mix(in srgb, var(--mv-accent) 25%, transparent)}.ml-console-raw input:checked+i:after{background:var(--mv-accent);box-shadow:0 0 8px var(--mv-accent);transform:translate(14px)}.ml-console-raw input:focus-visible+i{outline:1px solid var(--mv-accent);outline-offset:2px}.ml-console-clear,.ml-console-in button{font:inherit;cursor:pointer;border-radius:5px;font-size:12px}.ml-console-clear{border:1px solid var(--mv-line);color:var(--mv-ink);background:0 0;padding:4px 12px}.ml-console-clear:hover{border-color:var(--mv-accent);color:var(--mv-accent)}.ml-console-log{border:1px solid var(--mv-line);background:color-mix(in srgb, var(--mv-panel) 60%, #000);min-height:120px;color:var(--mv-ink);scrollbar-width:thin;border-radius:5px;flex:140px;padding:6px 8px;font:11.5px/1.45 Consolas,ui-monospace,Menlo,monospace;overflow-y:auto}.ml-cl{white-space:pre-wrap;word-break:break-word}.ml-cl-status{color:var(--mv-dim)}.ml-cl-sent{color:var(--mv-accent)}.ml-cl-sim{color:color-mix(in srgb, var(--mv-accent) 70%, var(--mv-dim));font-style:italic}.ml-cl-msg{color:#7cc4ff}.ml-cl-err,.ml-cl-alarm{color:#ff6b6b}.ml-cl-info{color:var(--mv-dim)}.ml-console-in{gap:8px;display:flex}.ml-console-in input{border:1px solid var(--mv-line);background:color-mix(in srgb, var(--mv-panel) 60%, #000);min-width:0;color:var(--mv-ink);border-radius:5px;flex:1;padding:7px 10px;font:12px Consolas,ui-monospace,monospace}.ml-console-in input:focus{border-color:var(--mv-accent);box-shadow:0 0 8px color-mix(in srgb, var(--mv-accent) 35%, transparent);outline:none}.ml-console-in button{color:#fff;background:#2f6fd6;border:1px solid #3c8cff;padding:0 18px;box-shadow:0 0 10px #3c8cff59}.ml-console-in button:hover:not(:disabled){background:#3c8cff}.ml-console-in button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.mv-theme-ncrun .ml-cl-sent{color:var(--nc-blue)}.mv-root .mv-stop-round,.mv-root.mv-phone .mv-stop-round{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;padding:0;transition:transform 80ms,box-shadow .15s,filter .15s;display:inline-grid;box-shadow:0 0 10px #ee1c1c73}.mv-root .mv-stop-round svg{width:100%;height:100%;display:block}.mv-root .mv-stop-round:hover{filter:brightness(1.08);background:0 0;box-shadow:0 0 16px #ff4632cc}.mv-root .mv-stop-round:active{filter:brightness(.9);transform:scale(.92)}.mv-root .mv-stop-round:focus-visible{outline-offset:2px;outline:2px solid #ffe600}.mv-root .mv-stop-round.mv-stop-big{place-self:flex-end end;width:72px;min-width:72px;height:72px;margin:6px 0 0 auto;display:grid}.mv-root .mv-cycle:empty{display:none}.ml-mpg-steps{margin-bottom:8px}.ml-mpg-step{color:var(--mv-accent);font-size:13px}.ml-mpg-step.is-sel{background:var(--mv-accent);border-color:var(--mv-accent);color:var(--nc-on,#111)}.mv-theme-ncrun .ml-mpg-step{color:var(--nc-blue)}.mv-theme-ncrun .ml-mpg-step.is-sel{background:var(--nc-blue);border-color:var(--nc-blue);color:#fff}.mv-stopbar{align-items:flex-end;gap:10px;margin-top:6px;display:flex}.mv-stopbar .mv-stop-round.mv-stop-big{flex:none;margin:0 0 0 auto}.mv-axinfo{flex-direction:column;flex:1;gap:8px;min-width:0;padding-bottom:6px;font-family:ui-monospace,Consolas,monospace;display:flex}.mv-axleds{flex-wrap:wrap;gap:10px;display:flex}.mv-axled{color:var(--mv-ink);align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.mv-axled i{background:#3a4450;border-radius:50%;width:10px;height:10px;transition:background .12s,box-shadow .12s}.mv-axled.is-pin i{background:#3dda7a;box-shadow:0 0 6px #3dda7a}.mv-axled.is-move i{background:var(--mv-accent);box-shadow:0 0 6px var(--mv-accent)}.mv-axled.is-alarm i{background:#ff4d4d;box-shadow:0 0 6px #ff4d4d}.mv-modal-line{color:var(--mv-dim);word-break:break-word;font-size:11.5px;line-height:1.35}.mv-modal-line span{color:var(--mv-ink)}.mv-theme-ncrun .mv-axled.is-move i{background:var(--nc-blue);box-shadow:0 0 6px var(--nc-blue)}.mv-dro-confirm:before{content:"";background:inherit;border-left:1px solid var(--mv-accent);border-top:1px solid var(--mv-accent);width:10px;height:10px;position:absolute;top:-6px;left:18px;transform:rotate(45deg)}.mv-theme-ncrun .mv-dro-confirm:before{border-color:var(--nc-blue)}.mv-dock-item:has(.mv-dro-confirm){z-index:30;overflow:visible}.mv-dock-item:has(.mv-dro-confirm)>.mv-panel{z-index:30;overflow:visible}.ml-cycle{position:relative}.ml-confirm.mv-popover{z-index:60;width:max-content;max-width:min(300px,100vw - 32px);color:var(--mv-ink);background:color-mix(in srgb, var(--mv-panel) 85%, var(--mv-accent) 10%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.ml-confirm.mv-popover>span{flex:100%}.ml-confirm.mv-popover>.ml-btn{flex:none}.ml-confirm.mv-popover:before{content:"";background:inherit;border-left:1px solid var(--mv-accent);border-top:1px solid var(--mv-accent);width:10px;height:10px;position:absolute;top:-6px;left:22px;transform:rotate(45deg)}.mv-theme-ncrun .ml-confirm.mv-popover,.mv-theme-ncrun .ml-confirm.mv-popover:before{border-color:var(--nc-blue)}.mv-dock-item:has(.mv-popover){z-index:30;overflow:visible}.mv-dock-item:has(.mv-popover)>.mv-panel{z-index:30;overflow:visible}.mv-runstrip:has(.mv-popover){z-index:30;overflow:visible}.mv-docked .mv-dock{bottom:16px}.mv-docked .mv-read[hidden]{display:none}.mv-docked .mv-dock-item.is-grow{min-height:160px}.mv-iso{flex:none;position:relative}.mv-iso-btn{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:6px;display:inline-flex}.mv-iso-caret{opacity:.7;font-size:9px}.mv-iso-menu{z-index:80;border:1px solid var(--mv-accent);background:color-mix(in srgb, #121314 92%, var(--mv-accent) 8%);min-width:170px;box-shadow:0 0 16px color-mix(in srgb, var(--mv-accent) 30%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.mv-iso-menu button{color:var(--mv-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.mv-iso-menu button i{width:12px;color:var(--mv-accent);font-style:normal}.mv-iso-menu button:hover,.mv-iso-menu button:focus-visible{background:color-mix(in srgb, var(--mv-accent) 18%, transparent);outline:none}.mv-theme-ncrun .mv-iso-menu{border-color:var(--nc-blue);box-shadow:0 0 14px color-mix(in srgb, var(--nc-blue) 35%, transparent)}.mv-theme-ncrun .mv-iso-menu button i{color:var(--nc-blue)}.mv-iso{display:inline-flex}.mv-iso .mv-iso-btn{border-top-right-radius:0;border-bottom-right-radius:0}.mv-iso .mv-iso-more{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding-left:8px;padding-right:8px;font-size:10px}.mv-docked .mv-source{z-index:5;white-space:nowrap;text-overflow:ellipsis;max-width:34vw;position:absolute;bottom:16px;left:362px;overflow:hidden}.mv-docked .mv-read{bottom:16px}@media (width<=1100px){.mv-docked .mv-source{max-width:24vw;left:calc(32px + min(320px,34vw))}}@media (width<=860px){.mv-docked .mv-source{display:none}}.mv-root .mv-stop-round.mv-bar-stop{flex:none;width:22px;min-width:22px;height:22px;margin-left:auto;box-shadow:0 0 6px #ee1c1c80}.mv-chevron{width:12px;height:12px;display:block}.mv-iso .mv-iso-more{font-size:inherit;justify-content:center;align-items:center;display:inline-flex}.ml-picker{align-items:stretch;display:inline-flex;position:relative}.ml-machine select.ml-picker-sel{appearance:none;cursor:pointer;border-top-right-radius:0;border-bottom-right-radius:0;max-width:220px}.ml-picker-caret{pointer-events:none;border-top-left-radius:0;border-bottom-left-radius:0;justify-content:center;align-items:center;margin-left:-1px;padding-left:8px;padding-right:8px;display:inline-flex}.ml-picker:hover .ml-picker-caret,.ml-picker:focus-within .ml-picker-caret{border-color:var(--mv-accent);color:var(--mv-accent)}.ml-machine select.ml-picker-sel option{color:var(--mv-ink,#c9d0db);background:#121314}.ml-machine .ml-picker select.ml-picker-sel{height:auto;color:var(--mv-ink,#c9d0db);padding:5px 11px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:17.4px}.ml-machine .ml-picker .ml-picker-caret{color:var(--mv-ink,#c9d0db);box-sizing:border-box;border-radius:0 999px 999px 0;width:30px;padding:5px 8px}.ml-machine .ml-picker select.ml-picker-sel{border-radius:999px;padding-right:41px}.ml-machine .ml-picker .ml-picker-caret{border:0;border-left:1px solid var(--mv-line,#26292b);background:0 0;border-radius:0 999px 999px 0;margin:0;position:absolute;top:0;bottom:0;right:0}.ml-picker:hover .ml-picker-caret,.ml-picker:focus-within .ml-picker-caret{color:inherit}.ml-machine .ml-picker:hover select.ml-picker-sel,.ml-machine .ml-picker select.ml-picker-sel:focus-visible{border-color:var(--mv-accent);color:var(--mv-accent);outline:none}.ml-machine .ml-picker:hover .ml-picker-caret{border-left-color:var(--mv-accent);color:var(--mv-accent)}.ml-machine .ml-picker:has(select:focus-visible) .ml-picker-caret{border-left-color:var(--mv-accent);color:var(--mv-accent)}.ml-machine .ml-picker:active select.ml-picker-sel{filter:brightness(1.15)}.mv-swatches .mv-sw-ncrun-dot[aria-checked=true]{box-shadow:0 0 0 1px var(--sw) inset}.mv-swatches .mv-sw-ncrun-dot i{letter-spacing:-.2px;color:#fff;place-items:center;width:17px;height:17px;font:700 8.5px/1 Consolas,ui-monospace,monospace;display:grid}.mv-gear{justify-content:center;align-items:center;padding:5px 8px;display:inline-flex}.mv-gear svg{display:block}.ml-set-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06070899;place-items:center;display:grid;position:fixed;inset:0}.ml-set{--mv-accent:var(--ml-set-accent,#ff9d3c);color:#c9d0db;border:1px solid color-mix(in srgb, var(--mv-accent) 55%, #26292b);width:min(860px,100vw - 32px);height:min(620px,100vh - 48px);box-shadow:0 0 28px color-mix(in srgb, var(--mv-accent) 22%, transparent), 0 20px 60px #0009;background:#121314;border-radius:12px;flex-direction:column;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;display:flex;overflow:hidden}.ml-set-head{border-bottom:1px solid #26292b;align-items:center;gap:10px;padding:12px 16px;display:flex}.ml-set-head>span{letter-spacing:.08em;text-transform:uppercase;color:var(--mv-accent);font-size:14px;font-weight:700}.ml-set-head small{color:#7d8796;flex:1}.ml-set-done,.ml-set-actions button,.ml-set-homebar button,.ml-set-seg button{font:inherit;color:#c9d0db;cursor:pointer;background:#161718d9;border:1px solid #26292b;border-radius:999px;padding:6px 14px}.ml-set-done{background:var(--mv-accent);border-color:var(--mv-accent);color:#111;font-weight:700}.ml-set-body{flex:1;min-height:0;display:flex}.ml-set-tabs{border-right:1px solid #26292b;flex-direction:column;flex:none;gap:2px;width:170px;padding:10px;display:flex}.ml-set-tabs button{font:inherit;text-align:left;color:#9aa4b2;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 10px}.ml-set-tabs button:hover{color:#c9d0db;background:#ffffff08}.ml-set-tabs button.is-on{color:var(--mv-accent);border-color:color-mix(in srgb, var(--mv-accent) 55%, transparent);background:color-mix(in srgb, var(--mv-accent) 10%, transparent)}.ml-set-page{flex:1;min-width:0;padding:14px 16px;overflow:auto}.ml-set-card h3{color:#e4e9f0;letter-spacing:.04em;margin:0 0 6px;font-size:13px}.ml-set-note{color:#7d8796;margin:0 0 12px;line-height:1.45}.ml-set-warn{color:#ff6b6b;margin:8px 0 0}.ml-set fieldset{border:1px solid #26292b;border-radius:10px;margin:0 0 12px;padding:10px 12px 12px}.ml-set legend{color:var(--mv-accent);letter-spacing:.06em;text-transform:uppercase;padding:0 6px;font-size:11px}.ml-set-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px;display:grid}.ml-set-num{grid-template-columns:70px 1fr auto;align-items:center;gap:6px;display:grid}.ml-set-num span{color:#9aa4b2}.ml-set-num em{color:#7d8796;font-size:11px;font-style:normal}.ml-set-num input{min-width:0;font:inherit;color:#e4e9f0;background:#0c0d0e;border:1px solid #26292b;border-radius:6px;padding:5px 7px}.ml-set-num input:focus{border-color:var(--mv-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--mv-accent) 40%, transparent);outline:none}.ml-set-actions{justify-content:flex-end;gap:8px;display:flex}.ml-set-actions button:disabled,.ml-set-homebar button:disabled{opacity:.45;cursor:not-allowed}.ml-set-actions .is-primary:not(:disabled){background:var(--mv-accent);border-color:var(--mv-accent);color:#111;font-weight:700}.ml-set-seg{flex-wrap:wrap;gap:6px;display:flex}.ml-set-seg button.is-on{border-color:var(--mv-accent);color:#111;background:var(--mv-accent)}.ml-set-row{border-bottom:1px dashed #1f2224;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.ml-set-row span{color:#9aa4b2}.ml-set-row b{color:#e4e9f0;text-align:right;word-break:break-word;font-weight:600}.ml-set-swatches{flex-wrap:wrap;gap:8px;display:flex}.ml-set-swatches button{font:inherit;color:#c9d0db;cursor:pointer;background:0 0;border:1px solid #26292b;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 6px;display:inline-flex}.ml-set-swatches button i{background:var(--sw);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font:700 8.5px/1 Consolas,monospace;display:grid}.ml-set-swatches button.is-on{border-color:var(--sw);box-shadow:0 0 10px color-mix(in srgb, var(--sw) 40%, transparent)}.ml-set-pre{color:#c9d0db;background:#0c0d0e;border:1px solid #26292b;border-radius:8px;max-height:380px;margin:0;padding:10px;overflow:auto}@media (width<=640px){.ml-set{border-radius:0;width:100vw;height:100dvh}.ml-set-body{flex-direction:column}.ml-set-tabs{border-bottom:1px solid #26292b;border-right:0;flex-direction:row;width:auto;overflow-x:auto}.ml-set-tabs button{white-space:nowrap}}.mv-phone-setup{align-self:flex-start}.mv-phone .mv-jogpanel .mv-stop-big,.mv-phone .mv-dock-collapsed .mv-stop-round{display:none}.mv-gc-edit{flex:none;gap:4px;display:inline-flex;position:relative}.mv-gc-edit .mv-pill{padding:2px 8px;font-size:10.5px}.mv-gc-dirty{color:var(--mv-accent)}.mv-gc-local{color:var(--mv-accent);opacity:.85;font-style:normal}.mv-gc-editor{flex:auto;min-height:120px;font-size:11.5px;line-height:20px;display:flex;overflow:hidden}.mv-gc-gut{width:var(--gc-gutter,4ch);box-sizing:content-box;text-align:right;color:var(--mv-dim);opacity:.6;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:none;padding:4px 10px 0 8px;overflow:hidden}.mv-gc-ta{resize:none;min-width:0;color:var(--mv-ink);font:inherit;white-space:pre;tab-size:4;caret-color:var(--mv-accent);background:0 0;border:0;outline:none;flex:1;margin:0;padding:4px 12px 0 2px;line-height:20px;overflow:auto}.mv-gc-editor:focus-within{box-shadow:inset 2px 0 0 var(--mv-accent)}.mv-gc-link{all:unset;cursor:pointer;color:var(--mv-accent);margin-left:8px;text-decoration:underline}.ml-editask.mv-popover{white-space:normal;top:calc(100% + 8px);left:auto;right:0}.ml-editask.mv-popover:before{left:auto;right:22px}.ml-editask-why{color:var(--mv-dim);flex:100%;font-size:10.5px}.mv-gcode:has(.mv-popover){z-index:30;overflow:visible}.ml-cycle .ml-editask.mv-popover{left:0;right:auto}.ml-cycle .ml-editask.mv-popover:before{left:22px;right:auto}.ml-set-home legend small{color:var(--mv-dim);letter-spacing:0;text-transform:none;font-weight:400}.ml-set-homebar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.ml-set-homebar .ml-set-note{flex:1;min-width:160px;margin:0}.ml-macros{flex-wrap:wrap;gap:4px;display:flex;position:relative}.ml-macro{flex:auto;min-width:64px}.ml-macro.is-on{border-color:var(--mv-accent);color:var(--mv-accent);box-shadow:0 0 8px color-mix(in srgb, var(--mv-accent) 35%, transparent)}.ml-macro-stop{color:#ff6b6b;border-color:#ff6b6b;flex:none}.ml-macro-confirm{flex:1 0 100%}.ml-lua-files{flex-wrap:wrap;gap:4px;display:flex}.ml-lua-files button{font:inherit;color:#9aa4b2;cursor:pointer;background:0 0;border:1px solid #26292b;border-radius:6px}.ml-lua-files button.is-on{color:var(--mv-accent);border-color:var(--mv-accent)}.ml-macro-lua{color:var(--mv-accent);cursor:default;flex:none}.ml-lua-body{flex-direction:column;gap:8px;display:flex}.ml-lua-tabs{margin:2px 0}.ml-lua-files button{font-size:11.5px;padding:5px 10px!important}.ml-lua-files em{color:#7d8796;padding:4px 10px;font-style:normal}.ml-lua-page{--mv-line:#26292b;--mv-ink:#c9d0db;--mv-dim:#7d8796;--mv-bg:#0c0d0e;flex-direction:column;gap:8px;display:flex}.ml-lua-page .ml-btn{color:#c9d0db;background:#161718d9}.ml-lua-page .ml-macros .ml-btn{padding:7px 10px}.ml-lua-page .ml-set-note{margin:0}.ml-lua-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ml-lua-bar b{color:#e4e9f0}.ml-lua-sp{flex:1}.ml-lua-bar button{font:inherit;color:#c9d0db;cursor:pointer;background:#161718d9;border:1px solid #26292b;border-radius:999px;padding:5px 12px}.ml-lua-bar button:disabled{opacity:.4;cursor:not-allowed}.ml-lua-bar button.is-primary:not(:disabled){background:var(--mv-accent);border-color:var(--mv-accent);color:#111;font-weight:700}.ml-lua-bar button.is-stop{color:#ff6b6b;border-color:#ff6b6b}.ml-lua-dirty{background:var(--mv-accent);border-radius:50%;width:8px;height:8px}.ml-lua-args{font:inherit;color:#e4e9f0;background:#0c0d0e;border:1px solid #26292b;border-radius:6px;flex:0 260px;padding:5px 8px}.ml-lua-ed{background:#0c0d0e;border:1px solid #26292b;border-radius:8px;flex:none;height:230px;display:flex;overflow:auto}.ml-lua-ed pre{color:#4b525c;text-align:right;-webkit-user-select:none;user-select:none;line-height:1.5;font:inherit;margin:0;padding:8px 6px 8px 10px;line-height:1.5}.ml-lua-ed textarea{resize:none;color:#e4e9f0;font:inherit;white-space:pre;field-sizing:content;background:0 0;border:0;outline:none;flex:1;min-height:100%;padding:8px 10px;line-height:1.5;overflow:hidden}.ml-lua-log{background:#0c0d0e;border:1px solid #26292b;border-radius:8px;flex:0 0 130px;padding:6px 10px;font-size:11.5px;line-height:1.45;overflow:auto}.ml-lua-log .is-cmd{color:#7d8796}.ml-lua-log .is-err{color:#ff6b6b}.ml-lua-log .is-info{color:var(--mv-accent)}.ml-lua-log .is-out{color:#e4e9f0}.ml-lua-help{color:#7d8796;font:inherit;white-space:pre-wrap;margin:0}.ml-lua-btns fieldset{margin-bottom:8px}.ml-lua-btnrow{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.ml-lua-btnrow input:not([type]){width:120px;font:inherit;color:#e4e9f0;background:#0c0d0e;border:1px solid #26292b;border-radius:6px;padding:4px 7px}.ml-lua-btnrow span,.ml-lua-btnrow label,.ml-lua-btns legend label{color:#9aa4b2}.ml-lua-line{color:#7d8796}
