:root{--bg: #07090d;--bg-grid: rgba(120, 160, 200, .06);--surface: #0d1117;--surface-2: #121821;--surface-3: #18202b;--border: #1f2a37;--border-strong: #2c3a4b;--text: #d7dee8;--text-dim: #8b98a9;--text-faint: #5b6778;--accent: #5be3ff;--accent-dim: rgba(91, 227, 255, .14);--accent-glow: 0 0 0 1px rgba(91, 227, 255, .45), 0 0 18px rgba(91, 227, 255, .12);--ok: #4ade80;--warn: #fbbf24;--danger: #f87171;--info: #93c5fd;--radius: 6px;--radius-sm: 4px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--titlebar-h: 30px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}::selection{background:#5be3ff47}.nx-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;white-space:nowrap}.nx-btn:hover{border-color:var(--accent)}.nx-btn:disabled{opacity:.5;cursor:default;border-color:var(--border-strong)}.nx-btn.primary{background:var(--accent-dim);border-color:#5be3ff80;color:var(--accent)}.nx-btn.danger{color:var(--danger);border-color:#f8717166}.nx-btn.ghost{background:transparent;border-color:transparent}.nx-btn.ghost:hover{background:var(--surface-3);border-color:var(--border)}.nx-btn.sm{height:24px;padding:0 8px;font-size:12px}.nx-input{height:30px;padding:0 9px;width:100%;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none}.nx-input:focus,.nx-textarea:focus{border-color:var(--accent);box-shadow:var(--accent-glow)}.nx-textarea{width:100%;padding:8px 9px;resize:vertical;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none}.nx-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.nx-muted{color:var(--text-dim)}.nx-mono{font-family:var(--mono)}.nx-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:3px;font-size:11px;border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap}.nx-badge.ok{color:var(--ok);border-color:#4ade8066}.nx-badge.warn{color:var(--warn);border-color:#fbbf2466}.nx-badge.danger{color:var(--danger);border-color:#f8717166}.nx-badge.accent{color:var(--accent);border-color:#5be3ff66}.nx-notice{padding:10px 12px;border:1px solid var(--border-strong);border-left:3px solid var(--info);background:var(--surface-2);border-radius:var(--radius-sm)}.nx-notice.warn{border-left-color:var(--warn)}.nx-notice.danger{border-left-color:var(--danger)}.nx-notice.ok{border-left-color:var(--ok)}.nx-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.nx-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:nx-spin .8s linear infinite;display:inline-block}@keyframes nx-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.nx-spinner{animation-duration:2s}}.nx-toasts{position:fixed;right:16px;bottom:16px;z-index:100000;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}.nx-toast{padding:10px 12px;background:var(--surface-2);border:1px solid var(--border-strong);border-left:3px solid var(--info);border-radius:var(--radius-sm);box-shadow:var(--shadow);cursor:pointer}.nx-toast.ok{border-left-color:var(--ok)}.nx-toast.warn{border-left-color:var(--warn)}.nx-toast.error{border-left-color:var(--danger)}.nx-center{height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.nx-state-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:420px;padding:24px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.nx-state-card>.nx-spinner+span{color:var(--text-dim)}.nx-state-title{font-size:15px;font-weight:600}.nx-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer}.nx-icon-btn:hover,.nx-icon-btn.open{color:var(--text);background:var(--surface-3);border-color:var(--border)}.nx-btn.on{color:var(--accent)}.nx-btn.open{border-color:var(--accent)}.nx-icon{flex:none;display:block}.nx-form{display:flex;flex-direction:column;gap:12px}.nx-field{display:flex;flex-direction:column;gap:6px}.nx-field-label{display:block;margin-bottom:6px}body.nx-interacting{user-select:none;-webkit-user-select:none}body.nx-interacting iframe{pointer-events:none!important}.nx-login{height:100%;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(91,227,255,.06),transparent 70%),var(--bg)}.nx-login-card{width:min(360px,100%);display:flex;flex-direction:column;gap:16px;padding:28px 26px 26px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.nx-login-brand{display:flex;align-items:center;gap:10px}.nx-login-name{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.32em}.nx-login-sub{color:var(--text-dim);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:-6px}.nx-login-input{height:36px}.nx-login-btn{height:34px;justify-content:center}.nx-shell{height:100%;display:grid;grid-template-rows:40px minmax(0,1fr)}.nx-main{display:flex;min-height:0;min-width:0}.nx-topbar{display:flex;align-items:center;gap:6px;padding:0 8px 0 12px;min-width:0;background:var(--surface-2);border-bottom:1px solid var(--border);position:relative;z-index:20}.nx-topbar-sep{width:1px;height:18px;background:var(--border-strong);margin:0 6px;flex:none}.nx-topbar-fill{flex:1;min-width:8px}.nx-logo{display:flex;align-items:center;gap:9px;flex:none;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.3em;color:var(--text);-webkit-user-select:none;user-select:none}.nx-logo-os{color:var(--accent);margin-left:.5em}.nx-logo-mark{width:10px;height:10px;flex:none;transform:rotate(45deg);border:1.5px solid var(--accent);box-shadow:0 0 10px #5be3ff59}.nx-ws-btn{max-width:260px}.nx-ws-caption{color:var(--text-faint);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.nx-ws-name{overflow:hidden;text-overflow:ellipsis;font-weight:500}.nx-search-btn{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 6px 0 10px;margin-left:6px;min-width:0;max-width:300px;flex:0 1 300px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;text-align:left}.nx-search-btn span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nx-search-btn:hover{border-color:var(--accent);color:var(--text-dim)}.nx-search-btn kbd,.nx-switcher-foot kbd{font-family:var(--mono);font-size:10px;padding:1px 5px;border-radius:3px;border:1px solid var(--border-strong);color:var(--text-dim);background:var(--surface-2)}.nx-meters{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;flex:none}.nx-meters.stale{opacity:.55}.nx-meter{display:inline-flex;align-items:baseline;gap:5px;height:22px;padding:3px 7px;border:1px solid var(--border);border-radius:3px;color:var(--text)}.nx-meter-label{color:var(--text-faint);font-size:10px;letter-spacing:.08em}.nx-meter.warn .nx-meter-val{color:var(--warn)}.nx-meter.danger .nx-meter-val{color:var(--danger)}.nx-conn{width:8px;height:8px;border-radius:50%;flex:none;margin:0 6px;background:var(--text-faint)}.nx-conn.open{background:var(--ok);box-shadow:0 0 6px #4ade8099}.nx-conn.connecting{background:var(--info)}.nx-conn.reconnecting{background:var(--warn)}.nx-conn.offline{background:var(--danger)}@media (max-width: 1180px){.nx-search-btn span,.nx-ws-caption{display:none}.nx-search-btn{flex:none}}@media (max-width: 960px){.nx-meter-label{display:none}}.nx-menu{position:fixed;z-index:10000;padding:4px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.nx-menu-item{display:flex;align-items:center;gap:8px;width:100%;min-height:28px;padding:4px 8px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left}.nx-menu-item:hover:not(:disabled){background:var(--surface-3)}.nx-menu-item:disabled{color:var(--text-faint);cursor:default}.nx-menu-item.danger{color:var(--danger)}.nx-menu-item.checked{color:var(--accent)}.nx-menu-item:disabled,.nx-menu-item.danger:disabled{color:var(--text-faint)}.nx-menu-icon{width:16px;flex:none;display:inline-flex;justify-content:center;color:var(--text-dim)}.nx-menu-item.checked .nx-menu-icon{color:var(--accent)}.nx-menu-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-menu-hint{font-size:11px;color:var(--text-faint)}.nx-menu-sep{height:1px;margin:4px 2px;background:var(--border)}.nx-menu-label{padding:6px 8px 4px;font-size:11px;color:var(--text-dim);max-width:320px}.nx-sidebar{width:272px;flex:none;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border);position:relative;z-index:10}.nx-sidebar.collapsed{width:44px;align-items:center;padding-top:6px;gap:10px}.nx-sidebar-scroll{flex:1;min-height:0;overflow-x:hidden}.nx-rail{display:flex;flex-direction:column;gap:8px;align-items:center}.nx-rail-dot{width:12px;height:12px;border-radius:3px;border:0;padding:0;cursor:pointer;opacity:.75}.nx-rail-dot:hover,.nx-rail-dot.selected{opacity:1;box-shadow:0 0 0 2px var(--bg),0 0 0 3px currentColor;color:var(--text-dim)}.nx-tree{padding:6px 6px 16px;display:flex;flex-direction:column;gap:2px}.nx-tree-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 6px 8px}.nx-tree-head-actions{display:inline-flex;align-items:center;gap:2px}.nx-tree-empty{padding:6px 8px;color:var(--text-faint);font-size:12px;display:flex;align-items:center;gap:8px}.nx-tree-notice{margin:4px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.nx-proj{--c: var(--accent);border-radius:var(--radius-sm)}.nx-proj-head{display:flex;align-items:center;gap:2px;min-height:30px;padding-right:2px;border-radius:var(--radius-sm)}.nx-proj-head:hover{background:var(--surface-2)}.nx-proj.selected>.nx-proj-head{background:var(--surface-3);box-shadow:inset 2px 0 0 var(--c)}.nx-proj-caret{width:22px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-faint);cursor:pointer;padding:0}.nx-proj-caret:hover{color:var(--text)}.nx-proj-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:28px;padding:0 4px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--text)}.nx-dot{width:8px;height:8px;border-radius:2px;flex:none;background:var(--c);box-shadow:0 0 6px color-mix(in srgb,var(--c) 50%,transparent)}.nx-proj-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nx-proj-count{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.nx-proj-body{padding:2px 0 8px 22px;display:flex;flex-direction:column;gap:1px}.nx-proj-actions{display:flex;flex-wrap:wrap;gap:4px;padding:6px 4px 2px}.nx-proj-actions .nx-btn{gap:4px}.nx-proj-path{font-size:11px;color:var(--text-faint);word-break:break-all}.nx-proj.system{margin-top:10px;border-top:1px solid var(--border);padding-top:8px}.nx-proj.system .nx-proj-head:hover{background:transparent}.nx-proj.system .nx-proj-body,.nx-sys-label{padding-left:8px}.nx-tree-win{display:flex;align-items:center;gap:8px;width:100%;min-height:26px;padding:2px 6px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;text-align:left}.nx-tree-win:hover{background:var(--surface-2);color:var(--text)}.nx-tree-win.active{color:var(--text);background:var(--accent-dim)}.nx-tree-win-icon{width:16px;flex:none;text-align:center;font-family:var(--mono);color:var(--text-faint)}.nx-tree-win-title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nx-tree-win-kind{font-size:11px;color:var(--text-faint)}.nx-tree-sub{margin-top:8px;padding:0 4px;display:flex;flex-direction:column;gap:4px}.nx-tree-term{display:flex;align-items:center;gap:6px;min-height:26px}.nx-tree-term-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-dim)}.nx-led{width:6px;height:6px;border-radius:50%;flex:none;background:var(--text-faint)}.nx-led.ok{background:var(--ok)}.nx-swatches{display:grid;grid-template-columns:repeat(8,20px);gap:6px;padding:4px 8px 8px}.nx-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.4);padding:0;cursor:pointer}.nx-swatch:hover{transform:scale(1.1)}.nx-swatch.current{box-shadow:0 0 0 2px var(--surface-2),0 0 0 3px var(--text)}.nx-canvas{position:relative;flex:1;min-width:0;overflow:hidden;touch-action:none;background-color:var(--bg);background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);cursor:default}.nx-canvas.space{cursor:grab}.nx-canvas.panning{cursor:grabbing}.nx-canvas.space .nx-win,.nx-canvas.panning .nx-win{cursor:inherit}.nx-world{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}.nx-windows{position:absolute;left:0;top:0;z-index:1}.nx-groups{position:absolute;left:0;top:0;z-index:0;pointer-events:none}.nx-group{--c: var(--accent);position:absolute;pointer-events:none;border:calc(1px/min(var(--nx-zoom, 1),1)) solid color-mix(in srgb,var(--c) 32%,transparent);background:color-mix(in srgb,var(--c) 3%,transparent);border-radius:10px}.nx-group-label{position:absolute;left:0;bottom:100%;margin-bottom:calc(4px/min(var(--nx-zoom, 1),1));pointer-events:auto;cursor:pointer;white-space:nowrap;font-family:var(--mono);font-size:calc(11px/min(var(--nx-zoom, 1),1));letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 80%,var(--text));background:transparent;border:0;padding:0 2px;opacity:.8}.nx-group-label:hover{opacity:1;text-decoration:underline}.nx-canvas-empty{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);max-width:420px;padding:0 16px;text-align:center;color:var(--text-dim);pointer-events:none;display:flex;flex-direction:column;gap:6px}.nx-canvas-empty-title{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--text-faint)}.nx-zoom{position:absolute;right:12px;bottom:12px;z-index:5;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.nx-zoom-btn,.nx-zoom-val{height:28px;background:transparent;border:0;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nx-zoom-btn{width:28px}.nx-zoom-val{min-width:52px;font-family:var(--mono);font-size:11px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.nx-zoom-btn:hover,.nx-zoom-val:hover{color:var(--accent)}.nx-win{--hz: calc(8px / var(--nx-zoom, 1));position:absolute;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.nx-win.active{border-color:#5be3ff8c;box-shadow:var(--accent-glow),var(--shadow)}.nx-win.minimized{height:auto}.nx-win-title{height:var(--titlebar-h);flex:none;display:flex;align-items:center;gap:8px;padding-right:4px;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}.nx-win.minimized .nx-win-title{border-bottom:0;border-radius:var(--radius)}.nx-win.active .nx-win-title{background:linear-gradient(180deg,rgba(91,227,255,.07),transparent),var(--surface-2)}body.nx-interacting .nx-win-title{cursor:grabbing}.nx-win-projbar{width:3px;align-self:stretch;flex:none;border-top-left-radius:var(--radius)}.nx-win-icon{width:16px;flex:none;text-align:center;font-family:var(--mono);color:var(--text-dim)}.nx-win-proj{flex:none;max-width:40%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.nx-win-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:12px}.nx-win:not(.active) .nx-win-name{color:var(--text-dim)}.nx-win-btns{display:flex;align-items:center;gap:1px;flex:none}.nx-win-btn{width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer}.nx-win-btn:hover{background:var(--surface-3);color:var(--text)}.nx-win-btn.close:hover{background:#f8717126;color:var(--danger)}.nx-win-content{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:0 0 var(--radius) var(--radius);cursor:auto;touch-action:auto}.nx-win-content>*{flex:1;min-height:0}.nx-win-parked,.nx-app-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;color:var(--text-faint);-webkit-user-select:none;user-select:none}.nx-win-parked-icon{font-family:var(--mono);font-size:28px;color:var(--text-faint)}.nx-app-stub-title{color:var(--text);font-weight:600}.nx-app-stub-err{max-width:100%;font-size:11px;word-break:break-word}.nx-rz{position:absolute;z-index:3;touch-action:none}.nx-rz-n{top:calc(var(--hz) / -2);left:var(--hz);right:var(--hz);height:var(--hz);cursor:ns-resize}.nx-rz-s{bottom:calc(var(--hz) / -2);left:var(--hz);right:var(--hz);height:var(--hz);cursor:ns-resize}.nx-rz-e{right:calc(var(--hz) / -2);top:var(--hz);bottom:var(--hz);width:var(--hz);cursor:ew-resize}.nx-rz-w{left:calc(var(--hz) / -2);top:var(--hz);bottom:var(--hz);width:var(--hz);cursor:ew-resize}.nx-rz-ne,.nx-rz-nw,.nx-rz-se,.nx-rz-sw{width:calc(var(--hz) * 1.6);height:calc(var(--hz) * 1.6)}.nx-rz-ne{top:calc(var(--hz) / -2);right:calc(var(--hz) / -2);cursor:nesw-resize}.nx-rz-sw{bottom:calc(var(--hz) / -2);left:calc(var(--hz) / -2);cursor:nesw-resize}.nx-rz-nw{top:calc(var(--hz) / -2);left:calc(var(--hz) / -2);cursor:nwse-resize}.nx-rz-se{bottom:calc(var(--hz) / -2);right:calc(var(--hz) / -2);cursor:nwse-resize}.nx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:flex-start;justify-content:center;padding:max(12vh,16px) 12px 12px;background:#0305089e}.nx-modal{display:flex;flex-direction:column;max-height:80vh;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow),0 0 0 1px #5be3ff0f}.nx-modal-head{padding:12px 16px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.nx-modal-body{padding:16px;overflow:auto}.nx-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.nx-dialog-text{margin:0;color:var(--text-dim)}.nx-switcher-backdrop{padding-top:max(10vh,12px)}.nx-switcher{width:min(640px,100%);display:flex;flex-direction:column;max-height:min(70vh,560px);background:var(--surface);border:1px solid rgba(91,227,255,.35);border-radius:var(--radius);box-shadow:var(--shadow),0 0 24px #5be3ff14}.nx-switcher-input{height:46px;padding:0 16px;flex:none;background:transparent;border:0;border-bottom:1px solid var(--border);outline:none;font-size:15px}.nx-switcher-list{flex:1;min-height:0;padding:4px}.nx-switcher-empty{padding:16px;text-align:center;color:var(--text-faint)}.nx-switcher-item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:4px 10px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left}.nx-switcher-item.sel{background:var(--accent-dim);box-shadow:inset 2px 0 0 var(--accent)}.nx-switcher-icon{width:18px;flex:none;text-align:center;font-family:var(--mono);color:var(--text-dim)}.nx-switcher-label{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nx-switcher-hint{flex:1 1 0;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-faint);font-size:12px}.nx-switcher-group{flex:none;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.nx-switcher-foot{padding:6px 12px;border-top:1px solid var(--border);color:var(--text-faint);font-size:11px}.nx-connbar{position:fixed;left:0;right:0;top:0;z-index:9500;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;min-height:32px;padding:calc(3px + env(safe-area-inset-top,0px)) 12px 3px;background:#1e1808f5;border-bottom:1px solid rgba(251,191,36,.6);box-shadow:0 0 16px #fbbf241f;color:var(--text)}.nx-connbar .nx-spinner{border-top-color:var(--warn)}.nx-shell~.nx-connbar{top:40px;padding-top:3px}.nx-shell~.nx-connbar~.nx-conflictbar{top:84px}.nx-connbar.inline{position:static;flex:none;flex-wrap:nowrap;justify-content:flex-start;padding:4px 8px 4px 12px;font-size:12px}.nx-connbar.inline .nx-connbar-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nx-m .nx-connbar.inline .nx-btn{height:32px}.nx-m~.nx-conflictbar{top:calc(56px + env(safe-area-inset-top,0px))}.nx-conflictbar{position:fixed;left:50%;transform:translate(-50%);z-index:9500;top:calc(48px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 16px);padding:6px 10px;background:var(--surface-2);border:1px solid rgba(91,227,255,.5);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.nx-switching{position:fixed;right:16px;top:52px;z-index:9400;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim)}.nx-m{height:100%;height:100dvh;position:relative;overflow:hidden}.nx-m-home{height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)}.nx-m-home.hidden{visibility:hidden}.nx-m-head{display:flex;align-items:center;gap:4px;height:52px;padding:0 8px 0 14px;flex:none;background:var(--surface-2);border-bottom:1px solid var(--border)}.nx-m-ws{padding:8px 10px;flex:none;border-bottom:1px solid var(--border);background:var(--surface)}.nx-m-ws .nx-ws-btn{width:100%;max-width:none;justify-content:flex-start;height:40px}.nx-m-ws .nx-ws-caption{display:inline}.nx-m-ws .nx-ws-name{flex:1;text-align:left}.nx-m-list{flex:1;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-overflow-scrolling:touch}.nx-m .nx-icon-btn{width:44px;height:44px}.nx-m .nx-tree{padding:8px 8px 24px;gap:4px}.nx-m .nx-proj-head{min-height:48px}.nx-m .nx-proj-caret{width:40px;height:44px}.nx-m .nx-proj-name{height:44px;font-size:15px}.nx-m .nx-proj-body{padding-left:12px}.nx-m .nx-tree-win{min-height:44px;font-size:14px;padding:4px 10px}.nx-m .nx-tree-term{min-height:44px}.nx-m .nx-btn{height:40px;padding:0 12px;font-size:13px}.nx-m .nx-btn.sm{height:40px}.nx-m .nx-proj-actions{gap:6px;padding:8px 4px 4px}.nx-m .nx-tree-head{padding:8px 4px 8px 8px}.nx-m .nx-proj.system .nx-proj-body{padding-left:4px}.nx-m-win{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:var(--surface);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.nx-m-win-head{display:flex;align-items:center;gap:6px;height:52px;padding:0 4px;flex:none;background:var(--surface-2);border-bottom:1px solid var(--border)}.nx-m-win-icon{width:22px;flex:none;text-align:center;font-family:var(--mono);color:var(--text-dim)}.nx-m-win-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.nx-m-win-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px}.nx-m-win-proj{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nx-m-win-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.nx-m-win-body>*{flex:1;min-height:0}@media (pointer: coarse){.nx-menu-item{min-height:44px;font-size:14px}.nx-swatches{grid-template-columns:repeat(4,36px)}.nx-swatch{width:36px;height:36px}.nx-switcher-item{min-height:44px}.nx-input{height:40px;font-size:16px}.nx-switcher-input{font-size:16px}}.nx-tree-term{min-width:0}.nx-tree-term .nx-tree-term-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-tree-term .nx-badge,.nx-tree-term .nx-btn{flex:0 0 auto}.nxa{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;background:var(--surface);color:var(--text);overflow:hidden;container-type:inline-size}.nxa-toolbar{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:36px;padding:4px 8px;background:var(--surface-2);border-bottom:1px solid var(--border)}.nxa-toolbar .nx-input{height:26px;min-width:0;flex:1 1 140px}.nxa-statusbar{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-height:22px;padding:2px 8px;font-size:11px;color:var(--text-dim);background:var(--surface-2);border-top:1px solid var(--border);white-space:nowrap;overflow:hidden}.nxa-spacer{flex:1 1 auto}.nxa-row{display:flex;align-items:center;gap:6px;min-width:0}.nxa-wrap{flex-wrap:wrap}.nxa-stack{display:flex;flex-direction:column;gap:8px;min-width:0}.nxa-pad{padding:12px}.nxa-small{font-size:12px}.nxa-center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;min-height:0}.nxa-center-text{align-items:center;text-align:center}.nxa-field{display:flex;flex-direction:column;gap:4px;min-width:0}.nxa-warn-text{color:var(--warn)}.nxa-danger-text{color:var(--danger)}.nxa-errorline{padding:4px 8px;font-size:12px;color:var(--danger);background:#f8717114;border-bottom:1px solid var(--border)}.nxa code{font-family:var(--mono);font-size:.95em;color:var(--accent)}a.nx-btn{text-decoration:none}.nxa-menu-wrap{position:relative}.nxa-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:min(300px,80vw);max-height:320px;display:flex;flex-direction:column;padding:4px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.nxa-menu-item{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;text-align:left;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.nxa-menu-item:hover{background:var(--surface-3)}.nxa-menu-item.current{background:var(--accent-dim)}.nxa-menu-item.accent{color:var(--accent)}.nxa-menu-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.nxa-menu-note{padding:6px 8px;font-size:12px}.nxa.mobile .nx-btn{height:36px;padding:0 12px}.nxa.mobile .nx-btn.sm{height:34px;padding:0 10px;font-size:13px}.nxa.mobile .nx-input{height:40px;font-size:16px}.nxa.mobile .nxa-toolbar .nx-input{height:36px}.nxa.mobile .nx-textarea,.nxa.mobile select{font-size:16px}.nxa.mobile .nxa-toolbar{min-height:46px;padding:5px 8px}.nxa.mobile .nxa-statusbar{min-height:26px;font-size:12px}.nxt-name{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.nxt-body{position:relative;flex:1 1 auto;min-height:0;background:var(--bg)}.nxt-host{position:absolute;top:4px;right:0;bottom:0;left:6px;overflow:hidden}.nxt-host .xterm{height:100%}.nxt-host .xterm-viewport{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.nxt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:16px;background:#07090d9e}.nxt-overlay-box{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:14px 16px;max-width:420px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius)}.nxt-keys{display:flex;gap:4px;flex:0 0 auto;overflow-x:auto;padding:6px;background:var(--surface-2);border-top:1px solid var(--border);scrollbar-width:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.nxt-keys::-webkit-scrollbar{display:none}.nxt-key{flex:0 0 auto;min-width:42px;height:38px;padding:0 10px;font-family:var(--mono);font-size:14px;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.nxt-key:active{border-color:var(--accent)}.nxt-key.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.nxf-crumbs{gap:4px}.nxf-path{display:flex;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.nxf-path::-webkit-scrollbar{display:none}.nxf-crumb-wrap{display:inline-flex;align-items:center}.nxf-crumb{padding:2px 4px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer}.nxf-crumb:hover{color:var(--accent);background:var(--surface-3)}.nxf-crumb-wrap:last-child .nxf-crumb,.nxf-path>.nxf-crumb:only-child{color:var(--text)}.nxf-sep{color:var(--text-faint);padding:0 1px}.nxf-list{flex:1 1 auto;min-height:0}.nxf-table{width:100%;border-collapse:collapse;table-layout:fixed}.nxf-table th{position:sticky;top:0;z-index:1;padding:5px 8px;text-align:left;font-weight:500;font-size:11px;color:var(--text-faint);background:var(--surface);border-bottom:1px solid var(--border)}.nxf-table td{padding:0 8px;height:30px;border-bottom:1px solid rgba(31,42,55,.6);white-space:nowrap}.nxf-row:hover td,.nxf-row.open td{background:var(--surface-2)}.nxf-size{width:84px;text-align:right}.nxf-table th.nxf-size{text-align:right}.nxf-date{width:136px;font-size:12px}.nxf-act{width:40px;text-align:right;padding-right:4px!important}.nxf-name{overflow:hidden}.nxf-open{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0;background:transparent;border:0;text-align:left;cursor:pointer;min-width:0}.nxf-open:hover .nxf-label{color:var(--accent)}.nxf-open.dir .nxf-label{font-weight:500}.nxf-glyph{width:12px;flex:0 0 auto;color:var(--text-faint);font-family:var(--mono)}.nxf-open.dir .nxf-glyph{color:var(--accent)}.nxf-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nxf-actions td{background:var(--surface-2);padding:6px 8px 8px 28px;height:auto}.nxf.dragover .nxf-list{outline:1px dashed var(--accent);outline-offset:-4px}.nxf-drop{position:absolute;left:12px;right:12px;bottom:12px;z-index:5;pointer-events:none;padding:10px 12px;text-align:center;color:var(--accent);background:var(--surface-2);border:1px solid rgba(91,227,255,.5);border-radius:var(--radius)}.nxa.mobile .nxf-table td,.nxa.mobile .nxf-open{height:44px}@container (max-width: 460px){.nxf-date{display:none}.nxf-size{width:70px}}.nxe-body{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.nxe-host{flex:1 1 auto;min-height:0}.nxe-host .cm-editor{height:100%}.nxe-host .cm-editor.cm-focused{outline:none}.nxe-conflict{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:6px 8px;padding:6px 10px}.nxe-path{min-width:0;overflow:hidden;text-overflow:ellipsis}.nxp-pathform{display:flex;flex:1 1 120px;min-width:80px;max-width:260px}.nxp-settings{padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface);max-width:640px}.nxp-summary{padding:3px 10px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-body{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto}.nxp-frame{flex:1 1 auto;width:100%;min-height:0;border:0;background:#fff}.nxn-text{flex:1 1 auto;min-height:0;width:100%;resize:none;padding:12px 14px;border:0;outline:none;background:var(--surface);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6}.nxa.mobile .nxn-text{font-size:16px}.nxm-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;padding:12px}.nxm-metric{display:flex;flex-direction:column;gap:5px}.nxm-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.nxm-detail{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.nxm-bar{height:8px;background:var(--surface-3);border:1px solid var(--border);border-radius:2px;overflow:hidden}.nxm-fill{height:100%;background:var(--accent);transition:width .3s ease}.nxm-fill.warn{background:var(--warn)}.nxm-fill.danger{background:var(--danger)}.nxm-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto}@media (prefers-reduced-motion: reduce){.nxm-fill{transition:none}}.nxw-body{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.nxw-note{padding:4px 10px;color:var(--warn);background:var(--surface-2);border-bottom:1px solid var(--border)}.nxw-frame{flex:1 1 auto;width:100%;min-height:0;border:0;background:#fff}.nxg-split{display:flex;flex:1 1 auto;min-height:0}.nxg-list-pane{display:flex;flex-direction:column;gap:8px;padding:10px;flex:0 0 300px;min-height:0;border-right:1px solid var(--border)}.nxg.narrow .nxg-list-pane{flex:1 1 auto;border-right:0}.nxg-detail-pane{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.nxg-detail-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.nxg-detail-scroll>.nxg-form,.nxg-detail-scroll>.nx-notice{margin:12px}.nxg-pad{padding:4px 2px}.nxg-conn{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.nxg-conn-title{font-weight:600}.nxg-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:12px}.nxg-dl dt{color:var(--text-dim)}.nxg-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.nxg-setup-title{font-weight:600;color:var(--warn)}.nxg-cred{padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.nxg-cred-title{font-weight:600}.nxg-list-tools{padding:2px 0}.nxg-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer}.nxg-check input{accent-color:var(--accent)}.nxg-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.nxg-task{display:flex;flex-direction:column;gap:4px;width:100%;padding:8px 10px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.nxg-task:hover{border-color:var(--border-strong);background:var(--surface-2)}.nxg-task.selected{border-color:#5be3ff80;background:var(--accent-dim)}.nxg-task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nxg-task-meta{display:flex;align-items:center;gap:8px;font-size:11px;flex-wrap:wrap}.nxg-task-proj{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nxg-form{max-width:640px}.nxg-form-title,.nxg-detail-title{font-size:15px;font-weight:600}.nxg-num{width:150px}.nxg-detail{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.nxg-detail-head{flex:0 1 auto;max-height:58%;overflow:auto;padding:12px;border-bottom:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.nxg.narrow .nxg-detail-head{max-height:none;overflow:visible}.nxg.narrow .nxg-detail-scroll{overflow:auto;display:block}.nxg.narrow .nxg-detail{display:block}.nxg.narrow .nxg-log{max-height:none;min-height:200px;overflow:visible}.nxg-prompt,.nxg-pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.nxg-prompt{padding:8px 10px;font-family:var(--mono);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.nxg-summary{display:flex;flex-direction:column;gap:8px;padding:8px 10px;background:var(--surface-2);border-left:3px solid var(--ok);border-radius:var(--radius-sm)}.nxg-result summary{cursor:pointer;margin-bottom:4px}.nxg-log-head{display:flex;align-items:center;gap:8px;padding:8px 12px 4px}.nxg-log-spin{width:10px;height:10px;border-width:2px}.nxg-log{flex:1 1 140px;min-height:120px;padding:4px 12px 12px;display:flex;flex-direction:column;gap:4px}.nxg-ev{display:grid;grid-template-columns:auto auto 1fr;gap:0 8px;align-items:baseline;font-size:12px}.nxg-ev-time{color:var(--text-faint);font-size:11px}.nxg-ev-kind{color:var(--text-faint);font-size:11px;min-width:0}.nxg-ev-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.nxg-ev-text.mono{font-family:var(--mono);font-size:11px;color:var(--text-dim);max-height:160px;overflow:auto;scrollbar-width:thin}.nxg-ev.tool .nxg-ev-kind{color:var(--accent)}.nxg-ev.error .nxg-ev-text,.nxg-ev.stderr .nxg-ev-text,.nxg-ev.error .nxg-ev-kind,.nxg-ev.stderr .nxg-ev-kind{color:var(--danger)}.nxg-ev.result .nxg-ev-text{color:var(--ok)}.nxg-ev.user .nxg-ev-text{color:var(--info)}.nxa.mobile .nxg-task{padding:12px}
