Added game persistence — asteroids, buildings, and ships now survive across browser sessions via GamePersistence. Buildings and ships serialize their state on save and restore it on load, so you can close the tab and pick up where you left off.

Added ChemLab and BioReactor production buildings. The ProductionManager now uses proportional resource allocation when multiple buildings compete for the same inputs, preventing starvation.

Fixed region labels rendering incorrectly on concave polygons by extracting a proper calculateLabelPosition utility. Fixed ship selection not working on landing pads, and fixed angled liftoff after a reload where ships were restoring stale rotation state.