:root{--color-bg:#050508;--color-bg-panel:#0a0c14d9;--color-border:#00dcff2e;--color-accent:#00dcff;--color-accent-dim:#00dcff8c;--color-accent2:#7b61ff;--color-success:#22d47a;--color-warning:#f5a623;--color-danger:#f44;--color-text:#e2e8f0;--color-text-muted:#718096;--color-text-dim:#4a5568;--font-ui:"Space Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--hud-padding:16px 20px;--hud-blur:blur(12px) saturate(1.6);--hud-shadow:0 8px 32px #000000b3}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:crosshair;font-size:14px;line-height:1.5}#root{flex-direction:column;display:flex;position:relative}.no-select{-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-accent-dim);border-radius:var(--radius-pill)}.glow-text{text-shadow:0 0 10px var(--color-accent), 0 0 20px var(--color-accent-dim)}.hud-panel{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--hud-padding);-webkit-backdrop-filter:var(--hud-blur);box-shadow:var(--hud-shadow)}.nl-term-window{font-family:var(--font-mono), "JetBrains Mono", "Courier New", monospace;background:#05070b;border:1px solid #1b2433;border-radius:10px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000bf,0 0 0 1px #00dcff0f,0 0 60px #00dcff0d}.nl-term-window:after{content:"";pointer-events:none;z-index:5;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px),radial-gradient(#0000 55%,#00000059 100%);position:absolute;inset:0}.nl-term-window.nl-term-screen{width:100%;height:100%;box-shadow:none;border:none;border-radius:0}.nl-term-titlebar{background:#0c1119;border-bottom:1px solid #1b2433;flex:none;align-items:center;gap:14px;padding:8px 14px;display:flex}.nl-hintstrip{scrollbar-width:none;font:11px var(--font-mono,monospace);background:#15110a;border-bottom:1px solid #3a2c12;flex:none;align-items:center;gap:6px;padding:5px 12px;display:flex;overflow-x:auto}.nl-hintstrip::-webkit-scrollbar{display:none}.nl-hint-tag{color:#f39c12;letter-spacing:.5px;flex-shrink:0;font-weight:700}.nl-hint-why{color:#b8a27a;flex-shrink:0}.nl-hint-help{color:#6b5c3a;flex-shrink:0;margin-left:auto;font-size:10px}.nl-hint-help b{color:#b8a27a}.nl-hint-cmd{cursor:pointer;white-space:nowrap;font:11px var(--font-mono,monospace);color:#8dffbd;background:#2ecc7114;border:1px solid #2ecc7159;border-radius:4px;flex-shrink:0;padding:1px 8px}.nl-hint-cmd:hover{background:#2ecc712e}.nl-hint-cmd-on{opacity:.45}.nl-hint-go{cursor:pointer;font:700 11px var(--font-mono,monospace);color:#05070b;background:#f39c12;border:1px solid #f39c12;border-radius:4px;flex-shrink:0;padding:1px 9px}.nl-devtabs{scrollbar-width:none;background:#0a0f17;border-bottom:1px solid #1b2433;flex:none;align-items:center;gap:5px;padding:5px 12px;display:flex;overflow-x:auto}.nl-devtabs::-webkit-scrollbar{display:none}.nl-devtabs-label{letter-spacing:1.6px;text-transform:uppercase;color:#46566b;margin-right:4px;font-size:9px}.nl-devtab{cursor:pointer;font:600 11px var(--font-mono,monospace);color:#8aa0b8;background:0 0;border:1px solid #1f2b3d;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.nl-devtab:hover{color:#d7e3f0;border-color:#33465f}.nl-devtab-on{color:#05070b;background:#00dcff;border-color:#00dcff}.nl-devtab-n{background:#ffffff1a;border-radius:8px;padding:0 5px;font-size:9px;font-weight:700}.nl-devtab-on .nl-devtab-n{background:#0000002e}.nl-term-lights{gap:7px;display:flex}.nl-term-lights span{cursor:pointer;border-radius:50%;width:11px;height:11px;display:inline-block;box-shadow:inset 0 0 0 1px #00000059}.nl-term-title{letter-spacing:.4px;color:#c5ccd6;font-size:12px}.nl-term-title-dim{color:#5b6b80}.nl-term-title-host{color:#00dcff;font-weight:700}.nl-term-tabs{align-items:center;gap:4px;margin-left:auto;display:flex}.nl-tab{cursor:pointer;color:#5b6b80;background:#ffffff08;border-radius:3px;padding:2px 9px;font-size:11px}.nl-tab-on{color:#05070b;background:#27c93f;font-weight:700}.nl-tab-alt{color:#05070b;background:#00dcff;font-weight:700}.nl-term-body{background:#1b2433;flex:1;gap:1px;min-height:0;display:flex}.nl-pane{background:#070a10;flex-direction:column;min-width:0;min-height:0;display:flex}.nl-side{background:#070a10;flex-direction:column;display:flex}.nl-resizer{cursor:col-resize;z-index:10;background:#1b2433;width:4px;transition:background .1s}.nl-resizer:hover,.nl-resizer.is-resizing{background:#00dcff}.nl-side-full{border-left:none;max-width:none}.nl-pane-capture{flex:1.15 1 0}.nl-pane-hex{flex:1 1 0}.nl-pane-head{letter-spacing:1.4px;text-transform:uppercase;background:#ffffff06;border-bottom:1px solid #1b2433;flex:none;padding:5px 12px;font-size:10.5px;font-weight:700}.nl-pane-head-dim{color:#5b6b80;letter-spacing:.6px;font-weight:400}.nl-term-scroll{color:#c5ccd6;-webkit-user-select:text;user-select:text;cursor:text;scrollbar-width:thin;flex:1;padding:10px 14px;font-size:13px;line-height:1.45;overflow:auto}.nl-term-line,.nl-term-line-inline{white-space:pre;min-height:1.45em}.nl-term-line-inline{display:inline}.nl-term-inputrow{white-space:pre;align-items:baseline;display:flex}.nl-term-inputwrap{flex:1;margin-left:1ch;display:inline-block;position:relative}.nl-term-input{color:#fff;width:100%;font:inherit;caret-color:#0000;background:0 0;border:none;outline:none;padding:0}.nl-term-cursor{pointer-events:none;background:#00dcff;width:.62ch;height:1.15em;animation:1.05s step-end infinite nl-blink;position:absolute;top:.12em;box-shadow:0 0 8px #00dcffcc}@keyframes nl-blink{0%,49%{opacity:1}50%,to{opacity:0}}.nl-capture{padding:0}.nl-cap-table{border-collapse:collapse;width:100%;font-size:11.5px}.nl-cap-table thead th{z-index:1;color:#05070b;letter-spacing:.8px;text-align:left;background:#27c93f;padding:4px 8px;font-weight:700;position:sticky;top:0}.nl-cap-table td{white-space:nowrap;color:#c5ccd6;border-bottom:1px solid #ffffff0a;padding:2px 8px}.nl-cap-table tbody tr:nth-child(odd) td{background:#ffffff05}.nl-dim{color:#5b6b80}.nl-empty{color:#5b6b80;text-align:center;padding:18px 0}.nl-hex{font-size:11.5px;line-height:1.5}.nl-term-status{color:#5b6b80;font-size:11px;font-family:var(--font-mono), monospace;background:#0b0f18;border-top:1px solid #1b2433;flex:none;align-items:center;gap:8px;padding:5px 14px;display:flex}.nl-status-tag{color:#5b6b80;letter-spacing:.4px}.nl-status-divider{color:#2a3545}.nl-status-connected{color:#00dcff;font-weight:600}.nl-status-mode{letter-spacing:.6px;border-radius:2px;padding:1px 7px;font-weight:700}.nl-mode-user{color:#6cb6ff;background:#6bb6ff29}.nl-mode-priv{color:#ff8a80;background:#ff8a8029}.nl-mode-config{color:#d7a3ff;background:#d7a3ff29}.nl-status-busy{color:#27c93f;margin-left:4px;animation:1s ease-in-out infinite nl-pulse}@keyframes nl-pulse{0%,to{opacity:1}50%{opacity:.35}}.nl-status-spacer{flex:1}.nl-status-clock{color:#c5ccd6;font-variant-numeric:tabular-nums}.nl-status-admin{color:#c5ccd6;letter-spacing:.3px}.nl-right-tabbar{background:#0c1119;border-bottom:1px solid #1b2433;flex:none;align-items:center;gap:0;padding:0 4px;display:flex}.nl-right-tab{color:#5b6b80;cursor:pointer;font-size:11.5px;font-family:var(--font-mono), monospace;letter-spacing:.5px;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;transition:color .15s}.nl-right-tab:hover{color:#c5ccd6}.nl-right-tab-on{color:#fff;background:#27c93f12;border-bottom-color:#27c93f}.nl-right-tab-action{color:#3a4a5f;padding:4px 10px;font-size:16px}.nl-right-tab-action:hover{color:#00dcff}.nl-right-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.nl-topology-wrap{flex:1;justify-content:center;align-items:center;padding:18px 12px;display:flex;overflow:hidden}.nl-topology-diagram{align-items:flex-start;gap:0;width:100%;display:flex;position:relative}.nl-topo-svg{pointer-events:none;width:100%;height:56px;position:absolute;top:0;left:0}.nl-topo-node{cursor:default;z-index:1;flex-direction:column;flex:1;align-items:center;transition:transform .15s;display:flex}.nl-topo-node:hover{transform:translateY(-2px)}.nl-topo-icon{background:#00dcff0f;border:2px solid #00dcff59;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 0 14px #00dcff1f}.nl-topo-node-active .nl-topo-icon{background:#27c93f1f;border-color:#27c93f;box-shadow:0 0 20px #27c93f4d}.nl-topo-label{color:#7b8fa8;font-size:10px;font-family:var(--font-mono), monospace;letter-spacing:.5px;margin-top:6px}.nl-topo-node-active .nl-topo-label{color:#27c93f}.nl-devices-panel{flex:1;padding:8px 0;overflow-y:auto}.nl-device-row{border-bottom:1px solid #ffffff08;align-items:center;gap:10px;padding:6px 14px;font-size:12px;transition:background .1s;display:flex}.nl-device-row:hover{background:#00dcff0a}.nl-device-icon{flex-shrink:0;font-size:16px}.nl-device-name{color:#c5ccd6;font-family:var(--font-mono), monospace;flex:1}.nl-device-status{letter-spacing:.5px;font-size:10px;font-weight:700}.nl-status-up{color:#27c93f}.nl-status-down{color:#ff5f56}.nl-logs-section{background:#06080e;border-top:1px solid #1b2433;flex-direction:column;flex:none;max-height:160px;display:flex}.nl-logs-header{letter-spacing:1.2px;text-transform:uppercase;color:#3a4a5f;background:#ffffff05;border-bottom:1px solid #1b2433;flex:none;justify-content:space-between;align-items:center;padding:5px 12px;font-size:10.5px;display:flex}.nl-logs-clear{color:#3a4a5f;cursor:pointer;letter-spacing:1px;text-transform:uppercase;font-size:10px;font-family:var(--font-mono);background:0 0;border:none;padding:0;transition:color .15s}.nl-logs-clear:hover{color:#00dcff}.nl-logs-body{font-size:10.5px;font-family:var(--font-mono), monospace;flex:1;padding:6px 10px;overflow-y:auto}.nl-logs-empty{color:#3a4a5f;text-align:center;padding:10px 0}.nl-log-entry{white-space:nowrap;text-overflow:ellipsis;gap:8px;padding:1.5px 0;line-height:1.5;display:flex;overflow:hidden}.nl-log-time{color:#3a4a5f;flex-shrink:0}.nl-log-msg{color:#7b8fa8}.nl-term-scrim{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;cursor:pointer;background:#020408d1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@media (width<=1100px){.nl-term-window:not(.nl-term-screen) .nl-side{display:none}}@media (width<=760px){.nl-term-window:not(.nl-term-screen) .nl-term-titlebar{gap:9px;padding:7px 10px}.nl-term-window:not(.nl-term-screen) .nl-term-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nl-term-window:not(.nl-term-screen) .nl-term-title-dim,.nl-term-window:not(.nl-term-screen) .nl-term-tabs{display:none}.nl-term-window:not(.nl-term-screen) .nl-term-status{white-space:nowrap;gap:7px;overflow:hidden}.nl-term-window:not(.nl-term-screen) .nl-status-hint{display:none}.nl-term-window:not(.nl-term-screen) .nl-term-scroll{padding:8px 10px;font-size:11.5px}}.nl-term-capture{opacity:0;z-index:60;background:0 0;border:none;outline:none;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.nl-term-3dbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono), monospace;color:#5b6b80;z-index:60;pointer-events:auto;background:#080c12d1;border:1px solid #00dcff38;border-radius:999px;align-items:center;gap:14px;padding:7px 10px 7px 16px;font-size:12px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.nl-term-3dbar-host{color:#00dcff;letter-spacing:.5px;font-weight:700}.nl-term-3dbar-hint{color:#5b6b80}.nl-term-3dbar-btn{color:#00dcff;cursor:pointer;font:inherit;background:#00dcff1f;border:1px solid #00dcff73;border-radius:999px;padding:4px 12px}.nl-term-3dbar-btn:hover{background:#00dcff38}#main-canvas{display:block;width:100%!important;height:100%!important}#app-root>div[style*="position: fixed"],#app-root div[class*=stats]{inset:0 350px auto auto!important}@keyframes hud-pulse-success{0%{filter:none;transform:scale(1)}35%{filter:drop-shadow(0 0 6px #0f8);transform:scale(1.6)}to{filter:none;transform:scale(1)}}@keyframes hud-hint-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes hud-hint-out{0%{opacity:1}to{opacity:0}}.hud-rails{display:contents}.hud-rail{pointer-events:none;flex-direction:column;gap:10px;width:320px;min-height:0;display:flex;position:absolute;top:20px;bottom:84px}.hud-rail>*{pointer-events:auto}.hud-rail-left{left:20px}.hud-rail-right{right:20px}.hud-scroll{scrollbar-width:thin;scrollbar-color:#00dcff4d transparent;overflow-y:auto}.hud-toolbar{scrollbar-width:none;max-width:calc(100vw - 40px);overflow-x:auto;flex-wrap:nowrap!important;padding-top:12px!important}.hud-toolbar::-webkit-scrollbar{display:none}.hud-toolbar>button{flex-shrink:0}@media (width<=1399px){.hud-statusbar{display:none!important}}@media (width<=1099px){.hud-rails{pointer-events:none;flex-direction:column;gap:10px;width:min(320px,100vw - 40px);min-height:0;display:flex;position:absolute;top:20px;bottom:84px;right:20px}.hud-rails>.hud-rail{display:contents}.hud-freemouse{left:20px!important;transform:none!important}}
