Original prompt
Write a complete, playable single-file HTML document implementing a Breakout game on an HTML5 canvas (NO libraries - pure DOM + Canvas 2D API). Create an 800x600 canvas, render a paddle moved with LEFT/RIGHT arrows (or A/D), a ball that bounces off the walls and paddle with angle based on strike position and speeds up over time, and rows of bricks that are destroyed on impact. The player must be able to lose: when the ball falls past the paddle the player loses a life, and the game ends after all lives or all bricks are gone. Show a live score HUD and remaining lives via HTML overlay. Include Start and Game Over screens with a Restart button. Style the page with a clean, modern look (dark background, colorful bricks, rounded corners) - no external assets.SCORING & PERSISTENT HIGH-SCORE BOARD (REQUIRED): The game MUST award points for gameplay actions and maintain a persistent high-score table. When a run finishes, prompt the player to enter their name/initials and record it with the score. Save the top 5 scores (name + score) to a local JSON file in the working directory (e.g. high_scores.json), and also write the latest finished run as {"initials": name, "score": number} to /tmp/alpaca_score.json (overwrite it every run) so the arcade scoreboard can pick it up automatically, load and display them on startup and on the game-over screen, and write a new entry whenever a run finishes. Scores must survive restarting the program. Every new game MUST start with the score reset to 0 - never carry over the previous game's score into the next session. Every new game MUST start with the score reset to 0 - never carry over the previous game's score into the next session. SUCCESS CRITERIA: the page must (1) run a real physics loop (ball reflection, paddle deflection, brick collision), (2) render everything on canvas, (3) accept keyboard input, (4) persist a top-5 high-score table with name entry, and (5) auto-start the game loop without a user gesture so the headless renderer captures a non-blank frame. OUTPUT FORMAT: Respond with the COMPLETE, self-contained HTML document in ONE single ```html code block. Do NOT split the code across multiple blocks, do NOT include a thinking summary inside the block, and do NOT place any prose, explanation, or comments between the opening and closing of the code block. The entire document (doctype through </html>) must be inside one fenced code block so it can be extracted and rendered verbatim. OUTPUT REQUIREMENT: Respond with ONLY the raw, runnable source code in a single fenced code block, with the first line starting at column 0 (no leading indentation). Do not include any thinking, explanation, summary, or prose before or after the code, and keep comments inside the code minimal.