     // Web Worker for position calculations
        const workerBlob = new Blob([`
            self.onmessage = function(e) {
                const { bodies, elapsedTime, timeScale } = e.data;
                const updatedBodies = bodies.map(body => {
                    if (body.orbitalPeriod === 0) return body;
                    const angle = (2 * Math.PI / body.orbitalPeriod) * (elapsedTime * timeScale) / 86400;
                    return {
                        ...body,
                        x: b