Implement a complete 3D city exploration environment using Three.js, featuring a sky-blue fogged scene, first-person camera controls with pointer lock, WASD/arrow key movement, and dynamic shadow mapping. The scene includes ambient and directional lighting, a ground plane, and procedurally generated building structures with varied heights and colors.