renderNetworkMap() was missing its closing } after the setTimeout(50) callback. This caused a SyntaxError that prevented the entire script from parsing — doLookup was undefined, Lookup button did nothing. Also added deploy.sh backup script on Erik (auto-backup before restart, keeps last 20 versions of server.js + index.html).