Frontend stage now builds on the mise image and installs node + pnpm from mise.toml instead of node:25 plus an unpinned global pnpm.