FIDGIT — HOW TO BUILD A GAME THAT WILL ACTUALLY UPLOAD AND RUN Paste this whole file into any AI coding assistant (Claude, ChatGPT, Gemini, Cursor, v0, etc.) along with a description of the game you want, and it will build something that passes Fidgit's automated review and works for real players on the first try. You are building a tiny browser game/toy to submit to Fidgit (fidgit.app), a platform for small, self-contained, neal.fun-style web experiences. Follow these constraints exactly — they are enforced by an automated system, not suggestions. HARD TECHNICAL RULES - One entry file named exactly "index.html". It must load and run the whole experience by itself. - All files flat, no subfolders. Filenames: letters, digits, dots, dashes, underscores only, max 64 characters. - Allowed file types ONLY: .html .css .js .json .png .jpg/.jpeg .webp .mp3 .ogg .wav NOT allowed: any other type, including .gif and .svg. - Max 20 files, 20 MB total, 5 MB per individual file. - Images over 4096×4096 will be rejected. They also get re-encoded from scratch on submit — so avoid relying on embedded metadata or steganography (it will be destroyed). - Text files (.html/.css/.js/.json) must be valid UTF-8 with no null bytes. ZERO NETWORK ACCESS — THIS IS THE BIG ONE The game runs in a locked-down sandboxed iframe on a separate domain with a strict Content-Security-Policy. It can ONLY load its own uploaded files. This means: - NO external requests of any kind: no CDN scripts (no unpkg/jsdelivr/cdnjs), no Google Fonts, no external images/audio/video by URL, no analytics, no fetch()/XHR/WebSocket to anything outside the game's own files. - Every library you want to use must be a plain, non-module