Build a single self-contained HTML file (no build step, external assets limited to the Three.js CDN) that renders an interactive 3D solar system animation. Use the exact data below; scale values are stylized for visibility, not physically accurate distances. The scene must match the following specifications.
1. Scene & Renderer Setup

Use Three.js r128+ from a CDN. WebGLRenderer with antialiasing, sRGB output encoding, and ACES Filmic tone mapping (exposure 1.0).
Black space background #000008. Set pixel ratio to Math.min(window.devicePixelRatio, 2).
Full window resize handling that preserves aspect ratio.

2. Camera & Controls

PerspectiveCamera (55° FOV), starting position (0, 60, 140) looking at the origin (the Sun).
Implement orbit controls from scratch (do NOT rely on OrbitControls being available): left-drag rotates the view around the system, scroll zooms (clamp distance 30–400), with inertial damping that decays after release.

3. The Sun

A sphere of radius 8 at the origin, using a MeshBasicMaterial (self-lit) in warm yellow-orange #FFAA33, with a slightly larger additive glow sprite/halo behind it (#FFCC66 fading to transparent).
A PointLight at the Sun's position, color #FFF4E0, intensity ~2.5, illuminating all planets. The Sun slowly rotates on its axis.

4. Planets

Render 8 planets as spheres orbiting the Sun on the XZ plane. Each has: orbit radius, size (sphere radius), base color, orbital speed (relative angular velocity — inner planets faster), and self-rotation. Use these exact values:

Mercury — orbit 14, size 0.8, color #A9A9A9, orbit speed 4.15, fast spin
Venus — orbit 19, size 1.5, color #E6C27A, orbit speed 1.62
Earth — orbit 26, size 1.6, color #2E6FF2, orbit speed 1.00
Mars — orbit 33, size 1.1, color #C1440E, orbit speed 0.53
Jupiter — orbit 50, size 4.5, color #D8A86B, orbit speed 0.084
Saturn — orbit 66, size 3.8, color #E3D9A6, orbit speed 0.034
Uranus — orbit 80, size 2.6, color #9FE3E0, orbit speed 0.012
Neptune — orbit 92, size 2.5, color #3B5BDB, orbit speed 0.006
Planets use MeshStandardMaterial (roughness ~0.8, metalness 0) so they're lit by the Sun and show a day/night terminator.

5. Special Features

Earth's Moon: a small grey #BFBFBF sphere (radius 0.4) orbiting Earth at radius 3, faster than Earth's orbit, correctly following Earth around the Sun (parent the moon's orbit pivot to Earth).
Saturn's rings: a flat ring (RingGeometry) around Saturn, tilted ~27°, semi-transparent #C9BE9A, with an inner/outer radius proportioned to the planet.
Orbit paths: draw each planet's orbit as a thin faint circle (LineLoop / line, color #333344) on the XZ plane.

6. Starfield

A background of ~3,000 points scattered on a large sphere shell, small white #FFFFFF points of slightly varied size/brightness, to read as distant stars. They should not move with the camera zoom in a way that breaks the illusion (place them far out).

7. Animation

All orbits and rotations advance using delta time (frame-rate independent), not frame count.
Include a global "time scale" that can be sped up or slowed down (see UI). At time scale 1.0, Earth completes one orbit in roughly 60 seconds.

8. UI Overlay

Minimal HUD (top-left, non-blocking pointer events) with live FPS.
A control panel (top-right) with: a time-scale slider (0× to 10×, with a pause at 0), a toggle to show/hide orbit paths, and a toggle to show/hide planet name labels.
Planet labels: when enabled, each planet shows a small text label that tracks its 2D screen position (project 3D → 2D each frame). Labels styled cleanly in CSS, non-blocking.

9. Interaction

Clicking a planet (raycast) smoothly flies/eases the camera to focus on that planet and then keeps it framed until the user drags to take manual control again. Clicking empty space returns to the full-system view.

10. Constraints

Single .html file. All JS inline; only the Three.js CDN external. Must run by opening directly in a browser with no console errors.
Properly dispose of geometries/materials if anything is regenerated; no per-frame allocations in the render loop.
Do NOT use localStorage/sessionStorage.
Code commented at each major section.

Success criteria for comparison: correctness of the orbital hierarchy (especially the Moon correctly orbiting a moving Earth and Saturn's tilted rings); frame-rate independence of motion; quality of lighting (visible day/night terminator from the Sun's point light); robustness of the hand-rolled controls and the click-to-focus camera; accuracy of the screen-space planet labels; smoothness, visual polish, and clean code organization.