Further cleanup: move static assets into /public