:root{--background: #151820;--background-alt: #0d1015;--panel: #2e2a2b;--panel-strong: #1b1c22;--panel-border: #52545d;--text: #f2f2f5;--text-muted: #a1a1aa;--accent: #1698ff;--accent-secondary: #0fb49c;--accent-danger: #d11c1d;--accent-warning: #ff9910;--axis-x: #1897ea;--axis-y: #15c300;--axis-z: #9b59bd;--axis-a: #ffb021;--axis-all: #10b39c;--joystick-bg: #353234;--joystick-border: #7c7c82;--joystick-line: #6d6d73;--state-idle: #00ff00;--state-run: #00bfff;--state-hold: #fbc02d;--state-alarm: #ff4e45;--terminal-green: #00ff12}*{box-sizing:border-box}@font-face{font-family:Brand Libre Franklin;src:url(/static/vendor/fontsource/libre-franklin/libre-franklin-latin-600-normal.woff2) format("woff2");font-style:normal;font-weight:600;font-display:block}@font-face{font-family:Brand Libre Franklin;src:url(/static/vendor/fontsource/libre-franklin/libre-franklin-latin-800-normal.woff2) format("woff2");font-style:normal;font-weight:800;font-display:block}[hidden]{display:none!important}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at top,#243042 0%,transparent 35%),linear-gradient(180deg,#171a22,#0f1117);color:var(--text);font-family:Bahnschrift,Segoe UI,Tahoma,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--panel-border);border-radius:1rem;background:#1e1b2e;color:var(--text);transition:border-color .12s ease,transform .12s ease,filter .12s ease}.button-with-icon{display:inline-flex;align-items:center;justify-content:center}.button-icon-content{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;line-height:1}.button-icon-slot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.button-icon-text{line-height:1;white-space:nowrap}.button-collapse-to-icon{min-width:0}.ui-caret-icon{width:1.1em;height:1.1em;flex:0 0 auto;transform-origin:50% 50%;overflow:visible}.ui-glyph-icon{width:1.1em;height:1.1em;flex:0 0 auto;overflow:visible}button:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.06)}button:active:not(:disabled){transform:translateY(1px)}button:disabled,input:disabled{cursor:not-allowed;opacity:.3}input,select{border-radius:.95rem;border:1px solid var(--panel-border);background:#12151d;color:var(--text);padding:.7rem .85rem}.app-shell{--app-shell-max-width: 1240px;--layout-zoom: 1;width:min(calc(var(--app-shell-max-width) / var(--layout-zoom)),calc(100% / var(--layout-zoom)));zoom:var(--layout-zoom);min-height:100vh;margin:0 auto;padding:clamp(.35rem,1vw,.7rem);display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:0}.utility-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;padding:.8rem 1rem;background:#12161feb;border:1px solid #303545;border-radius:1.1rem 1.1rem 0 0}.brand-block{display:flex;align-items:flex-start;align-self:start;min-width:0}.brand-logo{display:block;width:auto;height:clamp(2.14rem,3.55vw,2.72rem);flex:0 0 auto;max-width:min(100%,28rem);overflow:visible;transform:translate(-.52rem,-.22rem) scale(1.18);transform-origin:left center;transform-box:fill-box}.brand-logo .stack-top,.brand-logo .stack-bottom{font-family:Brand Libre Franklin,Arial,sans-serif;font-kerning:normal;font-synthesis:none;text-rendering:geometricPrecision;font-weight:800}.brand-logo .stack-top{font-size:14px;letter-spacing:.14em;fill:#d9d2ff}.brand-logo .stack-bottom{font-size:27px;letter-spacing:.045em;fill:#fff}.brand-logo .subtitle-line{font-family:Brand Libre Franklin,Arial,sans-serif;font-size:.5rem;font-weight:600;letter-spacing:.01em}.brand-logo .subtitle-copy{fill:#9ba8bc}.brand-logo .subtitle-link{cursor:pointer}.brand-logo .subtitle-link-text{fill:var(--accent)}.brand-logo .brand-logo-home-link{cursor:pointer}.brand-logo .subtitle-link:hover .subtitle-link-text,.brand-logo .subtitle-link:focus-visible .subtitle-link-text{text-decoration:underline}.brand-logo .subtitle-link:focus-visible{outline:none}.brand-logo .disk{opacity:.92}.brand-logo .c0{fill:#fff7fb}.brand-logo .c1{fill:#f3dcff}.brand-logo .c2{fill:#e1c6ff}.brand-logo .c3{fill:#c8b9ff}.brand-logo .c4{fill:#b5caff}.brand-logo .c5{fill:#b9e8f4}.brand-logo .c6{fill:#efd2ea}.brand-logo .c7{fill:#f7efcc}.brand-logo .o1{opacity:.98}.brand-logo .o2{opacity:.88}.brand-logo .o3{opacity:.74}.brand-logo .o4{opacity:.58}.brand-logo .o5{opacity:.42}.brand-logo .o6{opacity:.28}.brand-logo .o7{opacity:.16}.utility-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;align-items:center;min-width:0}.utility-input{min-width:0;flex:1 1 8rem}.machine-input,.host-input{flex:0 1 10rem}.android-network-input{flex:0 1 12rem}.android-network-passphrase{flex:0 1 14rem}.utility-btn{padding:.72rem 1rem;background:#262d39}.utility-btn.is-connect{background:#144277;border-color:#2788e6}.utility-btn.is-disconnect{background:#5b2327;border-color:#d85a63}.utility-btn.is-pending{background:#5d481d;border-color:#d7aa4a}.utility-btn-toggle{flex:0 0 auto;min-width:7.5rem}.utility-origin{margin:0;margin-left:5.75rem;color:var(--text-muted);font-size:.95rem;line-height:1.25;align-self:end}.utility-origin-link{color:var(--accent);font-weight:600;text-decoration:none}.utility-origin-link:hover{text-decoration:underline}.utility-origin-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.2rem}.utility-meta{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;min-width:0;grid-column:2 / 3;justify-self:end}.utility-status-group{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:.6rem;min-width:0}.utility-detail{margin:0;color:var(--text-muted);font-size:.95rem;text-align:right;white-space:nowrap}.utility-state-text{font-size:.86rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.android-network-banner{display:grid;gap:.55rem;margin:.85rem 0 0;padding:.9rem 1rem;border:1px solid #35506f;border-radius:.95rem;background:linear-gradient(135deg,#0b1928f0,#122338e0)}.android-network-banner.is-warning{border-color:#c08b2e;background:linear-gradient(135deg,#362207f2,#2b1f0de6)}.android-network-banner.is-error{border-color:#a13a45;background:linear-gradient(135deg,#360c14f5,#2a1015e6)}.android-network-banner-headline{color:#eef5ff;font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.android-network-banner-detail,.android-network-banner-action{margin:0;color:#d3dbe8;line-height:1.4}.android-network-banner-action{color:#f6c874}.android-network-banner-badges{display:flex;flex-wrap:wrap;gap:.5rem}.android-network-badge{display:inline-flex;align-items:center;min-height:1.95rem;padding:.22rem .65rem;border-radius:999px;border:1px solid #507094;background:#112133c7;color:#d9e8ff;font-size:.8rem;font-weight:700;letter-spacing:.04em}.android-network-badge.is-good{border-color:#2f9a66;color:#b8ffd8}.android-network-badge.is-warning{border-color:#c08b2e;color:#ffd78f}.android-network-badge.is-error{border-color:#bb5361;color:#ffc5cd}.is-connected{color:var(--state-idle)}.is-connecting{color:var(--state-run)}.is-error{color:var(--state-alarm)}.is-offline{color:#c5cedb}.state-idle{color:var(--state-idle)}.state-run{color:var(--state-run)}.state-hold{color:var(--state-hold)}.state-alarm{color:var(--state-alarm)}.state-muted{color:#c5cedb}.tab-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;background:#26252d;margin-top:.15rem;border-radius:1rem 1rem 0 0;overflow:hidden}.tab-bar button,.header-action-btn{display:flex;align-items:center;justify-content:center;color:var(--text);font-size:1.25rem;font-weight:400}.tab-bar button{min-height:0;height:3.25rem;border-radius:0;border-width:0 0 3px;border-color:transparent;background:#261c3a80}.tab-bar button.active{background:#233a54;border-color:var(--accent);color:#eaf5ff}.tabs-root{min-height:420px;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);background:var(--panel);border-inline:1px solid #363943;padding:0;border-radius:0 0 1rem 1rem;overflow:hidden}.tab-panel{display:block;min-height:360px;height:100%}.panel,.placeholder-panel,.control-placeholder,.jog-grid,.jog-selectors{background:transparent}.placeholder-panel,.control-placeholder{padding:1.5rem}.section-title{margin:0 0 .9rem;color:#7b7d83;font-size:1.05rem;font-weight:500;letter-spacing:.05em}.muted{color:var(--text-muted)}.status-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:1rem;align-items:start}.status-overview-grid{display:grid;gap:.75rem;grid-template-columns:1fr}.status-secondary-grid{display:grid;gap:.75rem}.panel{border:1px solid #4a4d57;border-radius:1rem;padding:1rem;background:#25262e;min-width:0}.axis-row{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid #3b3f49}.axis-label{font-weight:700}.axis-x .axis-label,.axis-x{color:var(--axis-x)}.axis-y .axis-label,.axis-y{color:var(--axis-y)}.axis-z .axis-label,.axis-z{color:var(--axis-z)}.machine-state-large{font-size:1.6rem;font-weight:700;margin:.3rem 0 .1rem}.machine-state-plain{margin:.1rem 0 0;color:var(--text-muted);font-size:.97rem}.machine-state-next{margin:.3rem 0 0;color:#7eb8f7;font-size:.9rem}.status-motion-controls{margin-top:.95rem}.status-action-row{display:flex;flex-wrap:wrap;gap:.65rem}.status-action-btn{flex:1 1 10rem;min-width:10rem}.status-action-btn:disabled{opacity:.42;filter:saturate(.35)}.panel.is-data-stale{opacity:.6;border-color:#363840}.connection-diagnostic{margin-top:.9rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid #46506a;background:#1b2230}.connection-diagnostic.is-secondary{margin-top:.65rem;opacity:.72;font-size:.88rem}.connection-diagnostic.is-warning{border-color:#b98a2a;background:#2b2416}.connection-diagnostic.is-error{border-color:#b5525a;background:#311d22}.connection-diagnostic-title{margin:0 0 .45rem;font-size:1rem}.connection-diagnostic-list{margin:0;padding-left:1.15rem;color:var(--text-muted)}.connection-diagnostic-list li+li{margin-top:.25rem}.app-shell.layout-width-wide .status-grid{gap:.85rem}.app-shell.layout-width-wide .status-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.app-shell.layout-width-medium .status-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100%;padding:.9rem .95rem 1rem;background:#16181f}.files-panel{padding:.85rem .9rem 1rem;background:#181b23}.files-toolbar{display:grid;grid-template-columns:160px 110px 110px 120px 120px 120px minmax(0,1fr);gap:.65rem;align-items:start}.files-source-select,.files-toolbar-btn{min-height:46px;border-radius:.9rem}.files-source-select{background:#2e333d;border-color:#4d5563}.files-toolbar-btn{border:0;background:#303540;color:#fff}.files-toolbar-btn.is-primary{background:var(--accent)}.files-toolbar-btn.is-secondary{background:var(--accent-secondary)}.files-path-stack{min-width:0;display:grid;gap:.35rem}.files-path-box{min-height:46px;display:flex;align-items:center;padding:0 .95rem;border:1px solid #4e5561;border-radius:.9rem;background:#11151c}.files-path-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-secondary)}.files-status{margin:0;min-height:1.2rem;color:var(--text-muted);font-size:.95rem}.files-status.is-success{color:#37d47d}.files-status.is-warning{color:var(--accent-warning)}.files-status.is-danger{color:#ff7168}.files-list-frame{margin-top:.8rem;min-height:320px;padding:.4rem;border:2px solid #525a67;border-radius:1rem;background:#10141a}.files-list{display:grid;gap:.45rem;max-height:328px;overflow:auto}.files-empty{min-height:300px;display:grid;place-items:center;padding:1rem;color:var(--text-muted);text-align:center}.file-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:.8rem;align-items:center;min-height:54px;padding:.45rem .5rem .45rem .85rem;border:1px solid #484e5a;border-radius:.9rem;background:#252932}.file-row.is-directory{background:#1f2c2a}.file-row.is-clickable{cursor:pointer}.file-row.is-clickable:hover{border-color:var(--accent-secondary)}.file-name-block{min-width:0;display:grid;gap:.15rem}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f6f7fb;font-size:1rem}.file-name.is-directory{color:#6fe8d8}.file-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.82rem}.file-size{color:#c8d0dc;text-align:right;white-space:nowrap;font-size:.92rem}.file-actions{display:flex;justify-content:flex-end;gap:.5rem}.file-action-btn,.files-dialog-btn{min-height:38px;border:0;border-radius:.8rem;color:#fff}.file-action-btn{min-width:78px;padding:0 .9rem}.file-action-btn.is-play{background:#14b851}.file-action-btn.is-delete,.files-dialog-btn.is-delete{background:var(--accent-danger)}.file-action-btn.is-upload,.files-dialog-btn.is-upload{background:var(--accent)}.file-action-hint{color:#86d5ca;font-size:.9rem;letter-spacing:.03em}.files-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#06080cc7;z-index:50}.files-modal{width:min(560px,calc(100vw - 2rem));display:grid;gap:.9rem;padding:1.35rem;border:1px solid #4c5360;border-radius:1.15rem;background:#232831;box-shadow:0 24px 60px #00000059}.android-permissions-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#070a0fd1;z-index:60}.android-permissions-card{width:min(620px,calc(100vw - 2rem));display:grid;gap:.95rem;padding:1.4rem;border:1px solid #4c5360;border-radius:1.15rem;background:#202631;box-shadow:0 24px 60px #00000061}.android-permissions-title{margin:0;font-size:1.3rem;font-weight:600;color:#f4f6fb}.android-permissions-copy{margin:0;color:var(--text-muted);line-height:1.45}.android-permissions-grid{display:grid;gap:.55rem}.android-permissions-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border:1px solid #444d5a;border-radius:.9rem;background:#141922}.android-permissions-name{color:#f4f6fb}.android-permissions-value{color:var(--accent-secondary);font-weight:600;text-align:right}.android-permissions-details{margin:0;padding:.8rem .9rem;min-height:4.5rem;border:1px solid #444d5a;border-radius:.9rem;background:#11161d;color:var(--text-muted);font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.84rem;line-height:1.35;white-space:pre-wrap}.android-permissions-actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}.android-permissions-btn{min-width:128px}.files-dialog-title{margin:0;font-size:1.35rem;font-weight:600}.files-dialog-title.is-primary{color:var(--accent)}.files-dialog-title.is-danger{color:#ff7168}.files-dialog-path,.files-dialog-copy,.files-progress-label{margin:0}.files-dialog-path{color:#f4f5f8;font-size:1rem;word-break:break-word}.files-dialog-copy{color:var(--text-muted)}.files-dialog-actions{display:flex;justify-content:center;gap:.6rem}.files-dialog-btn{min-width:120px;padding:0 1rem;background:#3a414e}.files-dialog-btn.is-primary{background:var(--accent)}.files-progress-track{height:16px;overflow:hidden;border-radius:999px;background:#131822;border:1px solid #4d5562}.files-progress-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d76d8,#16b0ff)}.files-progress-label{color:#f4f5f8;font-size:1rem}.terminal-controls{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px 42px 130px auto;gap:.6rem;align-items:center;margin-bottom:.9rem}.terminal-command-input{min-width:0;min-height:46px;border-radius:.85rem;background:#3a3737;border-color:#3a3737;font-size:1.05rem}.terminal-mini-btn,.terminal-send-btn{min-height:46px;border:0;color:#fff}.terminal-mini-btn{border-radius:.85rem;background:var(--accent-secondary);font-size:1rem}.terminal-mini-btn.is-clear{background:#ff5f2a}.terminal-send-btn{border-radius:.95rem;background:var(--accent);font-size:1.15rem}.terminal-toggle{position:relative;display:inline-grid;grid-auto-flow:column;gap:.7rem;align-items:center;justify-self:end;color:#f1f3f8}.terminal-toggle input{position:absolute;opacity:0;pointer-events:none}.terminal-toggle-track{position:relative;width:52px;height:30px;border-radius:999px;background:#4a505e;transition:background .12s ease}.terminal-toggle-track:after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .12s ease}.terminal-toggle input:checked+.terminal-toggle-track{background:var(--accent)}.terminal-toggle input:checked+.terminal-toggle-track:after{transform:translate(22px)}.terminal-output-frame{min-height:282px;height:auto;overflow:auto;border:2px solid #5f656f;border-radius:.85rem;padding:.15rem .35rem;background:#000}.terminal-output{margin:0;min-height:100%;color:var(--terminal-green);font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.98rem;line-height:1.18;white-space:pre-wrap}.screen-status-bar{display:grid;grid-template-columns:190px 1fr 220px;gap:.75rem;align-items:center;min-height:74px;padding:.6rem .85rem;background:var(--background-alt);border:1px solid #2d3039;border-top:0;border-radius:0 0 1.1rem 1.1rem}.status-box{min-width:0}.status-machine-state{font-size:2rem;font-weight:500;letter-spacing:.04em}.status-box-positions{display:grid;gap:.15rem}.status-position-row{display:flex;flex-wrap:wrap;gap:1.45rem;align-items:center}.status-position-label{color:#ffb021;min-width:52px}.status-axis{font-size:.95rem}.status-box-identity{display:grid;justify-items:end;gap:.15rem;text-align:right}.status-machine-name,.status-network-name{color:var(--accent);font-size:.95rem}@media (max-width: 900px){.utility-bar{grid-template-columns:1fr}.utility-origin{grid-column:1 / -1}.utility-meta{grid-column:1 / -1;justify-self:end}.utility-controls{justify-content:stretch}.utility-input,.host-input,.utility-btn-toggle,.android-network-input,.android-network-passphrase{flex:1 1 100%}.utility-status-group{grid-column:1 / -1;justify-self:end}.utility-status-group{justify-content:flex-end}.tab-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.files-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.files-source-select,.files-path-stack{grid-column:1 / -1}.file-row{grid-template-columns:minmax(0,1fr) auto}.file-size{text-align:left}.file-actions{grid-column:1 / -1;justify-content:flex-start}.files-dialog-actions{flex-direction:column-reverse}.files-dialog-btn{width:100%}.android-permissions-actions{flex-direction:column-reverse}.android-permissions-btn{width:100%}.terminal-controls{grid-template-columns:repeat(4,1fr)}.terminal-command-input,.terminal-send-btn,.terminal-toggle{grid-column:1 / -1}.screen-status-bar{grid-template-columns:1fr}.status-box-identity{justify-items:start;text-align:left}.app-header{grid-template-columns:1fr;justify-items:stretch}.app-header-actions{justify-content:flex-end}}.app-shell.is-layout-zoom{transform-origin:top center}.app-shell.is-layout-zoom-expanded{width:min(var(--app-shell-max-width),100%);margin-left:0;margin-right:auto}.app-shell.is-rotated{transform:rotate(180deg);transform-origin:center center}.layout-zoom-overlay{position:fixed;top:.75rem;left:.75rem;z-index:70;display:grid;gap:.15rem;min-width:8.5rem;padding:.6rem .8rem;border:1px solid rgba(118,178,255,.45);border-radius:.9rem;background:#0a0f16e6;box-shadow:0 14px 30px #00000057;pointer-events:none}.layout-zoom-overlay-label{color:#9bb0cd;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.layout-zoom-overlay-value{color:#eef4ff;font-size:1.2rem;font-weight:800;line-height:1}.app-chrome{position:sticky;top:0;z-index:20;display:grid;gap:.35rem;padding-bottom:.32rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:.8rem;min-height:4.5rem;padding:.7rem .85rem;background:#0c1018e0;border:1px solid #334052;border-radius:1.2rem;box-shadow:0 18px 38px #00000047}.brand-home{display:flex;align-items:center;min-width:0;overflow:visible}.app-header-center{display:flex;justify-content:flex-end;min-width:0}.app-header-actions{display:inline-flex;justify-content:flex-end;gap:.55rem}.header-action-btn{min-height:2.9rem;padding:.2rem .5rem;border-radius:.95rem;background:#34244ee0;line-height:1}.header-action-btn .button-icon-content{gap:.55rem}.header-action-btn .ui-glyph-icon{width:2rem;height:2rem;font-size:1.14rem}.fluidnc-web-btn{min-width:3.4rem;padding-inline:.6rem}.fluidnc-web-btn-logo{display:block;width:auto;height:1.55rem;max-width:5.4rem;object-fit:contain}.fluidnc-web-btn-logo-min{display:none}.app-shell.layout-width-medium .button-with-icon.button-collapse-to-icon,.app-shell.layout-width-compact .button-with-icon.button-collapse-to-icon{padding-inline:.45rem}.app-shell.layout-width-medium .button-with-icon.button-collapse-to-icon .button-icon-text,.app-shell.layout-width-compact .button-with-icon.button-collapse-to-icon .button-icon-text{display:none}.app-shell.layout-width-medium .fluidnc-web-btn,.app-shell.layout-width-compact .fluidnc-web-btn{min-width:2.9rem}.app-shell.layout-width-medium .fluidnc-web-btn-logo-full,.app-shell.layout-width-compact .fluidnc-web-btn-logo-full{display:none}.app-shell.layout-width-medium .fluidnc-web-btn-logo-min,.app-shell.layout-width-compact .fluidnc-web-btn-logo-min{display:block}.header-action-btn.is-active,.header-action-btn:hover:not(:disabled){border-color:#7fb0ff}.session-strip{padding:0}.fluidnc-web-overlay-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:0;border:0;border-radius:0;background:linear-gradient(180deg,#121822fc,#0b0f16);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;isolation:isolate}.fluidnc-web-overlay-panel>.fluidnc-web-overlay-header{padding:.6rem .85rem .5rem}.fluidnc-web-overlay-title-block{display:grid;gap:.2rem;min-width:0}.fluidnc-web-overlay-target{margin:0;color:#9fb7d9;font-size:.95rem;line-height:1.35;word-break:break-all}.fluidnc-web-overlay-warning{padding:.7rem .85rem;border:1px solid #8b5f2b;border-radius:.9rem;background:#462c0ab8;color:#ffd79a}.fluidnc-web-overlay-warning:not([hidden]){margin:0 .85rem .5rem}.fluidnc-web-frame-shell,.fluidnc-web-overlay-empty{grid-row:3;min-height:0;border:1px solid #334052;border-radius:1rem;background:#0a0e14f5}.fluidnc-web-frame-shell{overflow:hidden}.fluidnc-web-frame{display:block;width:100%;height:100%;border:0;background:#fff}.fluidnc-web-overlay-empty{display:grid;align-content:center;justify-items:center;gap:.55rem;padding:1.5rem;text-align:center}.fluidnc-web-overlay-empty-title{margin:0;color:#e7eef9;font-size:1rem;font-weight:700}.session-strip-row{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.05rem}.session-chip{min-width:max-content;display:grid;gap:.15rem;padding:.55rem .8rem;border:1px solid #2f3949;border-radius:.9rem;background:#0f141deb}.session-chip-label{color:#8f9db3;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.session-chip-value{color:#dde6f2;font-size:.88rem;white-space:nowrap}.session-message-chip{min-width:18rem;max-width:min(34rem,calc(100vw - 2rem))}.session-message-chip .session-chip-value{overflow:hidden;text-overflow:ellipsis}.session-message-chip.is-message{border-color:#46506a}.session-message-chip.is-alarm{border-color:color-mix(in srgb,var(--state-alarm) 55%,#46506a);background:color-mix(in srgb,var(--state-alarm) 12%,rgba(15,20,29,.92))}.session-message-chip.is-alarm .session-chip-label{color:var(--state-alarm)}.session-state-chip{min-width:max-content;display:flex;align-items:center;padding:.3rem .95rem;border:1px solid #2f3949;border-radius:.9rem;background:#0f141deb;font-size:1.4rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.layout-debug-hud{position:fixed;right:12px;bottom:12px;z-index:1400;min-width:230px;max-width:280px;padding:10px 12px;border:1px solid rgba(110,193,255,.35);border-radius:12px;background:#0a1018e0;box-shadow:0 10px 30px #00000047;color:#f0f7fff2;font:12px/1.4 JetBrains Mono,Fira Code,monospace;pointer-events:none}.layout-debug-hud-title{margin-bottom:8px;color:#6ec1fff2;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.layout-debug-hud-body{display:grid;gap:4px}.layout-debug-hud-line{display:grid;grid-template-columns:72px 1fr;gap:8px}.layout-debug-hud-label{color:#a6bad1e0;text-transform:uppercase}.layout-debug-hud-value{color:#f4f8fcfa;text-align:right}@media (max-width: 760px){.session-strip-row{gap:.45rem}.button-with-icon.button-collapse-to-icon .button-icon-text{display:none}}@media (max-width: 599px){.status-grid,.status-overview-grid,.status-secondary-grid{grid-template-columns:1fr}}.control-shell{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:360px}.control-sidebar{display:flex;flex-direction:column;background:var(--panel-strong)}.control-sidebar-btn{min-height:72px;border-radius:0;border-width:0 4px 0 0;border-color:transparent;background:transparent;color:#c7c7cf;font-size:1rem;text-align:left;padding-inline:1.25rem}.control-sidebar-btn.active{background:#10372f;border-color:var(--accent-secondary);color:#f8ffff}.control-content{min-width:0;padding:1rem 1rem 1.1rem;background:var(--panel)}.control-actions-panel{height:100%}.actions-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.actions-column,.actions-stack{display:grid;gap:.75rem}.action-btn{min-height:54px;border:0;border-radius:.95rem;font-size:1.15rem;font-weight:500;color:#fff}.action-btn.is-primary{background:var(--accent)}.action-btn.is-hold{background:var(--state-hold);color:#fffef0}.action-btn.is-play{background:#14b851}.action-btn.is-warning{background:var(--accent-warning)}.action-btn.is-stop{background:var(--accent-danger)}.action-btn.is-axis-x{background:var(--axis-x)}.action-btn.is-axis-y{background:var(--axis-y)}.action-btn.is-axis-z{background:var(--axis-z)}.action-btn.is-axis-all{background:var(--axis-all)}.control-jog-panel,.control-joystick-panel,.control-probe-panel,.control-overrides-panel{min-height:100%;padding:1rem 1rem 1.15rem}.jog-layout{display:grid;grid-template-columns:1.1fr .92fr;gap:1.75rem}.jog-section-title,.joystick-title{margin:0 0 .7rem;font-size:1rem;font-weight:500;letter-spacing:.03em;text-align:center}.jog-title-xy,.joystick-title-xy,.joystick-value-xy{color:#15d9c7}.joystick-title-y,.joystick-value-y{color:var(--axis-y)}.joystick-value-x{color:var(--axis-x)}.jog-title-z,.joystick-title-z,.joystick-value-z{color:var(--axis-z)}.jog-matrix-area,.jog-z-layout{display:grid;grid-template-columns:62px 1fr;gap:.95rem;align-items:start}.jog-z-layout{grid-template-columns:62px 84px 102px}.jog-step-column{display:grid;gap:.45rem}.jog-step-heading,.jog-feed-label,.jog-feed-unit{color:#f4f2f6;font-size:.88rem}.jog-step-btn{min-height:44px;border:0;border-radius:.9rem;background:#38373a;color:#f0eff4;font-size:.95rem}.jog-step-btn.active{background:var(--accent)}.jog-direction-grid{display:grid;grid-template-columns:repeat(3,70px);gap:10px}.jog-dir-btn,.jog-center-display{min-height:70px;border-radius:1rem}.jog-dir-btn{border:0;font-size:2rem;font-weight:700;color:#fff}.jog-dir-btn.is-diagonal{background:var(--axis-all)}.jog-dir-btn.is-x{background:var(--axis-x)}.jog-dir-btn.is-y{background:var(--axis-y)}.jog-dir-btn.is-z{background:var(--axis-z);width:84px}.jog-center-display{display:grid;place-items:center;background:#1d1d1f;color:#f6f6f8;font-size:1rem;line-height:1.2;white-space:pre-line;text-align:center}.jog-center-display-z{width:84px;min-height:84px}.jog-z-stack{display:grid;gap:.7rem;justify-items:stretch}.jog-stop-wrap{display:grid;align-content:center;justify-items:center}.jog-stop-btn{position:relative;display:grid;place-items:center;width:78px;height:78px;padding:0;border:0;border-radius:0;background:#fff;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);color:#fff;font-size:1.5rem;font-weight:800;line-height:.9;text-align:center;isolation:isolate}.jog-stop-btn:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:#c70000;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);z-index:-1}.jog-feed-row{display:flex;align-items:baseline;gap:.5rem;margin-top:.9rem}.jog-feed-value{color:#fff;font-size:1.05rem}.jog-feed-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.5rem}.jog-feed-btn{min-height:44px;border:0;border-radius:.9rem;background:var(--accent);color:#fff;font-size:.95rem}.joystick-layout{display:grid;grid-template-columns:minmax(250px,1fr) 180px 160px;gap:1.8rem;align-items:start}.joystick-column{display:grid;justify-items:center}.joystick-track-host{min-height:220px;display:grid;place-items:center}.joystick-track{position:relative;display:grid;place-items:center;border:2px solid var(--joystick-border);background:var(--joystick-bg)}.joystick-track-xy{width:220px;height:220px;border-radius:50%}.joystick-track-x{width:220px;height:80px;border-radius:999px}.joystick-track-y,.joystick-track-z{width:80px;height:220px;border-radius:1rem}.joystick-line{position:absolute;background:var(--joystick-line)}.joystick-line-horizontal{width:calc(100% - 20px);height:2px}.joystick-line-vertical{width:2px;height:calc(100% - 20px)}.joystick-knob{position:absolute;top:50%;left:50%;display:grid;place-items:center;border:4px solid #fff;color:#fff;font-size:1.1rem;font-weight:500;transform:translate(0);translate:-50% -50%;will-change:transform}.joystick-knob-xy{width:86px;height:86px;border-radius:50%;background:var(--axis-all)}.joystick-knob-x{width:70px;height:70px;border-radius:1rem;background:var(--axis-x)}.joystick-knob-y{width:70px;height:70px;border-radius:1rem;background:var(--axis-y)}.joystick-knob-z{width:70px;height:70px;border-radius:1rem;background:var(--axis-z)}.joystick-mode-switches{display:grid;grid-template-columns:repeat(3,64px);gap:.5rem;margin-top:.95rem}.joystick-mode-btn{min-height:40px;border:0;border-radius:.9rem;color:#fff}.joystick-mode-btn.is-xy{background:var(--axis-all)}.joystick-mode-btn.is-x{background:var(--axis-x)}.joystick-mode-btn.is-y{background:var(--axis-y)}.joystick-mode-btn.active{box-shadow:inset 0 0 0 3px #fff}.joystick-info{display:grid;gap:.35rem;padding-top:3.4rem}.joystick-value{font-size:1.05rem;font-weight:500}.joystick-readout{color:#fff;font-size:.98rem}.joystick-max-readout{color:#19c9ff;font-size:.95rem}.joystick-info-spacer{height:1rem}.control-probe-panel{display:grid;grid-template-columns:220px 1fr;gap:2rem}.probe-axis-column,.probe-params-column{display:grid;align-content:start;gap:1rem}.probe-axis-group{display:grid;gap:.6rem}.probe-axis-buttons{display:flex;gap:.6rem;flex-wrap:wrap}.probe-btn{min-width:100px;min-height:50px;border:0;border-radius:.9rem;color:#fff;font-size:1.05rem;font-weight:600}.probe-btn.is-axis-x{background:var(--axis-x)}.probe-btn.is-axis-y{background:var(--axis-y)}.probe-btn.is-axis-z{background:var(--axis-z)}.probe-field{display:grid;grid-template-columns:150px 120px auto;gap:.7rem;align-items:center}.probe-field-label,.probe-field-unit{color:#f1f1f4}.probe-input{min-height:45px;border-radius:.8rem;background:#1d2028}.probe-result-title{margin-top:.75rem}.probe-result-box{min-height:60px;padding:.7rem .8rem;border:1px solid #4d5059;border-radius:.9rem;background:#1a1b21;color:#cfd6e3;font-size:1rem;line-height:1.3;white-space:pre-line}.probe-result-box.is-pending{color:#f0ca5b}.probe-result-box.is-success{color:#37d47d}.probe-result-box.is-failed{color:#ff6f66}.override-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.override-column{display:grid;justify-items:center;gap:.8rem}.override-value{color:#11d5bf;font-size:2rem;font-weight:600}.override-stack{display:grid;gap:.55rem;width:min(180px,100%)}.override-btn{min-height:46px;border:0;border-radius:.9rem;background:#4e5158;color:#fff;font-size:1rem}.override-btn.is-reset,.override-btn.active{background:var(--accent)}@media (max-width: 900px){.control-shell{grid-template-columns:1fr}.control-sidebar{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr))}.control-sidebar-btn{min-height:54px;text-align:center;padding-inline:.4rem;border-width:0 0 4px}.actions-columns{grid-template-columns:1fr;gap:1.25rem}.jog-layout,.control-probe-panel,.override-columns,.joystick-layout{grid-template-columns:1fr}.jog-z-layout{grid-template-columns:62px 84px}.jog-stop-wrap{grid-column:1 / -1}.probe-field{grid-template-columns:1fr}.joystick-info{padding-top:0}}.overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.overlay-dismiss-layer{position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-radius:0;background:#04060a42}.machines-network-overlay-panel,.help-overlay-panel{position:fixed;width:min(1024px,calc(100vw - 2rem));display:grid;gap:.65rem;padding:.8rem;border:1px solid #41516a;border-radius:1.15rem;background:linear-gradient(180deg,#121822fa,#0b0f16fa);box-shadow:0 28px 60px #0000006b;isolation:isolate}.help-overlay-panel{width:min(400px,calc(100vw - 2rem))}.machines-network-overlay-header,.help-overlay-header,.fluidnc-web-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;background:linear-gradient(180deg,#121822,#0b0f16fa);border-radius:.75rem;margin:0;padding:0 0 .15rem}.overlay-title{margin:0;font-size:1.05rem;font-weight:700}.overlay-header-actions{display:inline-flex;align-items:center;gap:clamp(.45rem,1.6vw,.9rem)}.overlay-copy,.overlay-note{margin:0;color:#b8c4d5;line-height:1.45}.overlay-note.is-error{color:#ff9ca6}.overlay-close-btn{min-height:2.65rem;padding:.62rem .82rem;margin-right:1rem;background:#253040}.overlay-close-btn-corner{flex:0 0 auto;min-height:unset;padding:.3rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.65rem;background:#5b2327b8;border:1px solid #7e4f55;line-height:1;align-self:center}@media (max-width: 760px){.overlay-root.is-mobile .machines-network-overlay-panel,.overlay-root.is-mobile .help-overlay-panel{top:auto!important;left:1rem!important;right:1rem;bottom:1rem;width:auto;max-height:calc(100dvh - 2rem);overflow-y:auto}}.machines-network-button{width:min(100%,21rem);min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem;align-items:center;padding:.2rem .5rem;border-radius:.9rem;border:1px solid #42526a;background:#34244ee0;text-align:left}.machines-network-button.is-expanded{border-color:#7ca9ef;box-shadow:0 0 0 1px #7ca9ef4d}.machines-network-rows{min-width:0;display:grid;gap:.08rem}.machines-network-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.24rem;color:#c7d3e2}.machines-network-row-leading{min-width:0;display:inline-flex;align-items:center;gap:.22rem}.machines-network-row-icon{display:inline-flex;align-items:center;justify-content:center;width:.92rem;height:.92rem;flex:0 0 auto}.machines-network-row-icon-svg,.machine-identity-icon,.machines-network-list-icon-svg,.overlay-machine-icon{width:100%;height:100%}.machines-network-row-label,.machines-network-row-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machines-network-row-label{font-size:1rem;font-weight:400;letter-spacing:.01em;line-height:1.1}.machines-network-row-detail{max-width:7rem;font-size:1rem;line-height:1}.machines-network-row.is-good{color:#7ef0b6}.machines-network-row.is-warning{color:#ffd28d}.machines-network-row.is-danger{color:#ff9ca6}.machines-network-row.is-muted{color:#c7d3e2}.machines-network-row.is-broken{color:#ff4d4f}.machines-network-row.is-danger .machines-network-row-label{color:#7ef0b6}.machines-network-row.is-danger .machines-network-row-label{color:#ff9ca6}.machines-network-row.is-broken .machines-network-row-label{color:#ff4d4f;text-decoration:line-through}.machines-network-row.is-warning .machines-network-row-label{color:#ffd28d}.machines-network-caret{width:.82rem;height:.82rem;color:#b4c4da;transition:transform .14s ease}.machines-network-title-wrap{display:grid;gap:.18rem}.overlay-card{display:grid;gap:.55rem;padding:.7rem;border:1px solid #2d3848;border-radius:1rem;background:#121822b8}.overlay-status-card{gap:.4rem;padding:.65rem .75rem}.overlay-status-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem}.overlay-status-badge{padding:.22rem .5rem;border-radius:999px;background:#151d28e6;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.overlay-status-copy{min-width:0;display:grid;gap:.08rem}.overlay-status-primary,.overlay-status-secondary,.overlay-status-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-status-primary{color:#e6eef9;font-size:.88rem;font-weight:700}.overlay-status-secondary{color:#b8c4d5;font-size:.8rem}.overlay-status-hint{max-width:16rem;color:#9dafc6;font-size:.76rem;text-align:right}.overlay-section-title{margin:0;color:#dfe7f2;font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.overlay-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.overlay-card-header-actions{display:flex;justify-content:flex-end}.overlay-header-action{white-space:nowrap}.overlay-summary-hero{display:grid;grid-template-columns:124px minmax(0,1fr);gap:.9rem}.overlay-machine-preview,.overlay-editor-preview{display:grid;gap:.7rem;justify-items:center}.overlay-machine-icon{width:2.8rem;height:2.8rem;color:#dfe8f4}.machine-profile-preview{width:100%;min-height:88px;display:grid;place-items:center;padding:.55rem;border:1px solid #344256;border-radius:.9rem;background:#090d13b8}.machine-profile-preview-svg{width:100%;height:auto}.machine-profile-preview-svg #bed{fill:#1e384859;stroke:#6e819b;stroke-width:2}.machine-profile-preview-svg #frame,.machine-profile-preview-svg #gantry,.machine-profile-preview-svg #tool,.machine-profile-preview-svg #limit-left,.machine-profile-preview-svg #limit-right{fill:none;stroke:#9fb2ca;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.machine-profile-preview-svg .is-good{stroke:var(--state-idle)}.machine-profile-preview-svg .is-warning{stroke:var(--state-hold)}.machine-profile-preview-svg .is-danger{stroke:var(--state-alarm)}.machine-profile-preview-svg .is-muted{stroke:#95a4b9}.overlay-summary-rows{display:grid;gap:.55rem}.overlay-truth-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:.85rem;background:#0b1016bf}.overlay-truth-row.is-good{color:#88f0ba}.overlay-truth-row.is-warning{color:#ffd28d}.overlay-truth-row.is-danger{color:#ff9ca6}.overlay-truth-row.is-muted{color:#d4deeb}.overlay-truth-title{color:#8ea0b7;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.overlay-truth-label,.overlay-truth-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-truth-label{font-weight:700}.overlay-truth-detail{color:#a8b6c8;font-size:.8rem}.overlay-summary-meta{display:flex;flex-wrap:wrap;gap:.55rem}.overlay-summary-pill{min-width:max-content;display:grid;gap:.12rem;padding:.5rem .7rem;border-radius:.8rem;background:#0a0e14db;border:1px solid #2d3746}.overlay-summary-pill-label{color:#8a9ab0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.overlay-summary-pill-value{color:#deebf9;font-size:.84rem;white-space:nowrap}.overlay-diagnostic{padding:.75rem .8rem;border-radius:.85rem;border:1px solid #4b5a70;background:#121925d6}.overlay-diagnostic.is-warning{border-color:#aa7c27}.overlay-diagnostic.is-danger{border-color:#a54854}.overlay-diagnostic-title{margin:0 0 .45rem;font-size:.95rem}.overlay-diagnostic-list{margin:0;padding-left:1.1rem;color:#c0cbdb}.overlay-action-bar{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.overlay-network-note{margin:-.1rem 0 0}.overlay-network-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.machines-network-shell{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:.65rem}.machines-network-primary{align-self:start}.machines-network-method-stack{display:grid;gap:.55rem}.machines-network-inline-editor{display:grid;gap:.6rem;padding:.7rem;border:1px solid #334152;border-radius:.95rem;background:#0a0f16c7}.machines-network-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem}.machines-network-empty{padding:.9rem;border-radius:.9rem;background:#0a0e14bd;color:#c2cddd}.machines-network-list{display:grid;gap:.55rem}.machines-network-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.65rem;border:1px solid #334152;border-radius:.9rem;background:#0c121ad6;cursor:pointer}.machines-network-list-row.is-selected{border-color:#4d88c7;background:#153151e0;box-shadow:inset 0 0 0 1px #87c1ff29}.machines-network-list-row.is-selected .machines-network-list-name{color:#eef6ff}.machines-network-list-row.is-selected .machines-network-list-subtitle{color:#c7daee}.machines-network-list-meta{min-width:0;display:grid;grid-template-columns:2.3rem minmax(0,1fr);gap:.7rem;align-items:center}.machines-network-list-icon{width:2.3rem;height:2.3rem;color:#d9e6f8}.machines-network-list-copy{min-width:0;display:grid;gap:.15rem}.machines-network-list-name,.machines-network-list-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machines-network-list-name{font-weight:700}.machines-network-list-subtitle{color:#aab7ca;font-size:.82rem}.machines-network-current-tag{margin-left:.45rem;padding:.1rem .42rem;border-radius:999px;background:#247ad640;color:#87c1ff;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.machines-network-list-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.machine-row-btn{min-height:2.25rem;padding:.45rem .7rem;border-radius:.8rem;background:#2a3444}.machine-row-btn.is-primary{background:#15416f}.machine-row-btn.is-danger{background:#5a252e}.overlay-editor-card{margin-bottom:.1rem}.overlay-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.machines-network-type-dropdown{position:relative}.machines-network-type-trigger,.machines-network-type-option{width:100%;min-height:2.8rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.45rem .55rem;border:1px solid #334152;border-radius:.8rem;background:#0c121ae6;color:#dfe8f4;text-align:left}.machines-network-type-trigger.is-open{border-color:#4d88c7;box-shadow:inset 0 0 0 1px #87c1ff29}.machines-network-type-trigger-value{min-width:0;display:grid;grid-template-columns:1rem minmax(0,1fr);align-items:center;gap:.45rem}.machines-network-type-caret{width:.9rem;height:.9rem;color:#b7c9df}.machines-network-type-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:2;display:grid;gap:.35rem;padding:.35rem;border:1px solid #334152;border-radius:.9rem;background:#0a0f16fa;box-shadow:0 12px 28px #00000059}.machines-network-type-menu .machines-network-type-option{grid-template-columns:1rem minmax(0,1fr)}.machines-network-type-option.is-selected{border-color:#4d88c7;background:#153151e0;box-shadow:inset 0 0 0 1px #87c1ff29}.machines-network-type-option-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center}.machines-network-type-option-icon-svg{width:100%;height:100%}.machines-network-type-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600}.overlay-advanced{display:grid;gap:.75rem;padding-top:.1rem}.overlay-advanced>summary{cursor:pointer;color:#8ec0ff;font-weight:700}.machine-manager-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#05080cb8;z-index:90}.machine-manager-modal,.machine-manager-editor{width:min(760px,calc(100vw - 2rem));display:grid;gap:.85rem;padding:1rem;border:1px solid #41516a;border-radius:1.1rem;background:#18202b;box-shadow:0 24px 56px #00000061}.machine-manager-editor{width:min(560px,calc(100vw - 2rem))}.machine-manager-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.machine-manager-title{margin:0;font-size:1.08rem}.machine-manager-actions,.machine-manager-row-actions,.machine-manager-editor-fields,.machine-manager-list,.machine-manager-content{display:grid;gap:.7rem}.machine-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid #334152;border-radius:.9rem;background:#111822}.machine-manager-name{font-weight:700}.machine-manager-host{color:#9eacc0;font-size:.84rem}.machine-manager-current-tag{margin-left:.45rem;color:#88c2ff;font-size:.72rem;text-transform:uppercase}.machine-manager-btn{min-height:2.2rem;padding:.45rem .7rem;border-radius:.8rem;background:#2c3848}.machine-manager-btn.is-primary{background:#144277}.machine-manager-btn.is-danger{background:#5b2327}.machine-manager-empty{padding:.95rem;border-radius:.9rem;background:#111822;color:#c5d0df}.machine-manager-status{margin:0;min-height:1.2rem;color:#b4c0d2}.machine-manager-status.is-success{color:#84ebb4}.machine-manager-status.is-error{color:#ff9ca6}@media (max-width: 900px){.machines-network-shell,.machines-network-select-row,.overlay-editor-grid,.machines-network-list-row,.machine-manager-row{grid-template-columns:1fr}.machines-network-list-actions,.machine-manager-row-actions{justify-content:flex-start}}.macros-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.9rem;height:100%;padding:1rem;background:linear-gradient(180deg,#26232af5,#1d1b22fa)}.macros-header{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:1rem}.macros-intro{display:grid;gap:.35rem;max-width:46rem}.macros-intro .section-title{margin-bottom:0;color:#c5ccd7}.macros-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.macros-content{min-height:0;padding:.8rem;border:1px solid #50505a;border-radius:1rem;background:linear-gradient(180deg,#1f2025f2,#16171b);overflow:auto}.macros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:.8rem;align-content:start}.macro-launch-btn{min-height:clamp(4.4rem,13vh,5.6rem);padding:.85rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:.9rem;color:#fff;font-size:clamp(1rem,1.15rem + .2vw,1.35rem);font-weight:700;line-height:1.1;text-align:center;text-wrap:balance;box-shadow:inset 0 1px #ffffff14;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,filter .12s ease}.macro-launch-btn:hover:not(:disabled),.macro-launch-btn:focus-visible:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff24,0 10px 20px #0003;filter:saturate(1.05) brightness(1.03)}.macro-launch-btn:disabled{opacity:.55;cursor:not-allowed}.macros-empty{display:grid;place-items:center;min-height:100%;padding:1.4rem;border:1px dashed rgba(130,142,161,.35);border-radius:.95rem;background:#0f121773;color:#d3d9e3;text-align:center;font-size:1rem;line-height:1.5}.macros-edit-list{display:grid;gap:.7rem;align-content:start}.macros-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.macros-edit-main{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:.7rem;align-items:stretch;min-width:0}.macros-edit-preview{min-height:4.3rem;border:1px solid rgba(255,255,255,.08);border-radius:.9rem;color:#fff;font-size:1rem;font-weight:700}.macros-edit-meta{display:grid;gap:.3rem;min-width:0;padding:.8rem .95rem;border:1px solid #343d4d;border-radius:.9rem;background:#10141bbf}.macros-edit-name{color:#f0f4fb;font-size:1rem;font-weight:700}.macros-edit-path{color:#91a5c5;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.82rem;line-height:1.4;word-break:break-word}.macros-edit-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.macros-row-btn{min-height:3rem}.macros-row-btn.is-delete{background:linear-gradient(180deg,#ff3b34,#df1811)}.macros-status{margin:0;min-height:1.3rem;color:#b4bed0}.macros-status.is-success{color:#84ebb4}.macros-status.is-error{color:#ff9ca6}.macros-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#080b11b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.macros-modal{display:grid;gap:1rem;width:min(38rem,100%);max-height:min(90vh,44rem);overflow:auto;padding:1.2rem;border:1px solid #3e4b60;border-radius:1.15rem;background:linear-gradient(180deg,#1b1f26,#12161e);box-shadow:0 22px 48px #0000006b}.macros-modal-title{margin:0;font-size:1.2rem;color:#eef4ff}.macros-modal-fields{display:grid;gap:.85rem}.macros-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(2.75rem,1fr));gap:.5rem}.macros-color-btn{min-height:2.9rem;border:1px solid rgba(255,255,255,.08);border-radius:.8rem}.macros-color-btn.active{box-shadow:0 0 0 2px #ffffffd9}@media (max-width: 900px){.macros-edit-row,.macros-edit-main{grid-template-columns:minmax(0,1fr)}.macros-edit-actions{justify-content:stretch}.macros-row-btn{flex:1 1 8rem}}@media (max-width: 640px){.macros-panel{padding:.8rem}.macros-header,.macros-actions{grid-template-columns:minmax(0,1fr)}.macros-actions{width:100%;justify-content:stretch}.macros-actions>.utility-btn{flex:1 1 100%}.macros-content{padding:.65rem}.macros-grid{grid-template-columns:minmax(0,1fr)}.macro-launch-btn{min-height:4rem}}.settings-shell{display:grid;grid-template-columns:180px minmax(0,1fr);height:100%;min-height:420px;background:#171b24}.settings-sidebar{display:grid;align-content:start;gap:.2rem;padding:.7rem 0;background:#121720}.settings-sidebar-btn{min-height:3.2rem;border:0;border-right:4px solid transparent;border-radius:0;background:transparent;text-align:left;padding:0 1rem;color:#ccd6e4}.settings-sidebar-btn.active{background:#20354a;border-right-color:#76b2ff}.settings-content{min-width:0;min-height:0;padding:1rem;overflow:auto}.settings-panel{display:grid;gap:.85rem;align-content:start}.settings-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}.settings-grid-two{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.settings-card{display:grid;min-width:0;gap:.75rem;padding:.95rem;border:1px solid #344055;border-radius:1rem;background:#1a202b}.settings-card-title{margin:0;font-size:1rem;font-weight:700}.settings-card-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.settings-card-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;border:1px solid #2a7a4a;background:#14502d73;color:#7fe8b0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}.settings-status{margin:0;min-height:1.2rem;color:#b3bfd1}.settings-status.is-success{color:#84ebb4}.settings-status.is-error{color:#ff9ca6}.settings-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}.settings-field{display:grid;min-width:0;gap:.35rem}.settings-field-label{color:#9ba9be;font-size:.82rem;font-weight:700}.settings-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-input{min-height:2.9rem}.settings-inline-field{display:flex;flex-wrap:wrap;align-items:stretch;min-width:0;gap:.55rem}.settings-inline-field>.settings-input{flex:1 1 10rem;min-width:0;width:auto}.settings-inline-field>.utility-btn{flex:0 0 auto;margin-inline-start:auto;max-width:100%;min-height:2.9rem;white-space:nowrap}.settings-json-editor{width:100%;min-height:20rem;padding:.85rem;border:1px solid #354257;border-radius:.85rem;background:#10151d;color:#d6e2f0;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.82rem;line-height:1.45;resize:vertical}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.settings-checkbox{width:1.2rem;height:1.2rem}.settings-pre{margin:0;padding:.85rem;border-radius:.85rem;background:#10151d;border:1px solid #354257;color:#d6e2f0;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.82rem;line-height:1.45;white-space:pre-wrap}.settings-wcs-grid .settings-card{gap:.9rem}.settings-wcs-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center}.settings-wcs-workspace{color:#f4f019;font-size:1.3rem;font-weight:800;letter-spacing:.04em}.settings-wcs-name-field{gap:0}.settings-wcs-name-field .settings-input{min-width:0;min-height:3rem}.settings-wcs-lock-field{position:relative;display:inline-flex;align-items:stretch;justify-content:center;gap:0;min-width:6rem}.settings-wcs-lock-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.settings-wcs-lock-state{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0 1rem;border:1px solid #36465e;border-radius:.8rem;background:#262c36;color:#e7ecf5;font-size:.92rem;font-weight:700;letter-spacing:.03em;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.settings-wcs-lock-field.is-locked .settings-wcs-lock-state{border-color:#1698ff99;background:linear-gradient(180deg,#1698fff2,#106ac2f2);color:#f4fbff;box-shadow:0 0 0 1px #1698ff38}.settings-wcs-lock-field:focus-within .settings-wcs-lock-state,.settings-wcs-name-field .settings-input:focus{box-shadow:0 0 0 2px #76b2ff47}.settings-wcs-note{max-width:58rem}.app-shell.layout-stack-settings .settings-shell{grid-template-columns:1fr}.app-shell.layout-stack-settings .settings-sidebar{grid-template-columns:repeat(6,minmax(110px,1fr));overflow-x:auto}.app-shell.layout-stack-settings .settings-sidebar-btn{border-right:0;border-bottom:4px solid transparent;text-align:center}.app-shell.layout-stack-settings .settings-sidebar-btn.active{border-bottom-color:#76b2ff}.app-shell.layout-stack-settings .settings-grid,.app-shell.layout-stack-settings .settings-grid-two{grid-template-columns:minmax(0,1fr)}.app-shell.layout-stack-settings .settings-inline-field{display:grid;grid-template-columns:minmax(0,1fr)}.app-shell.layout-stack-settings .settings-inline-field>.utility-btn{margin-inline-start:0;width:100%}.app-shell.layout-stack-settings .settings-wcs-row{grid-template-columns:minmax(0,1fr)}.app-shell.layout-stack-settings .settings-wcs-workspace{justify-self:start}.app-shell.layout-stack-settings .settings-wcs-lock-field,.app-shell.layout-stack-settings .settings-wcs-lock-state{width:100%}@media (max-width: 860px){.settings-wcs-row{grid-template-columns:minmax(0,1fr)}.settings-wcs-lock-field,.settings-wcs-lock-state{width:100%}}
