Create a JavaScript app that fits entirely in a single .html file that works offline. I will describe the web app later, here are generic guidelines to follow. The idea is to have a web app that can be easily shared by downloading or copying the html file. Ideally this does not require third party packages or dependencies, but if so, include their minified form directly in the .html file. Do not minify the source code of the app, and ensure there are plentiful code comments aimed at experienced developers (not beginners). The app should work on desktop and mobile. Favor a compact user interface when possible. The app's UI should match the dark mode or light mode setting of the browser. If appropriate, have a few different preset color schemes for this app (especially if it's a game) and make the color scheme customizable. The app will have a language selection dropdown that changes the app's UI language, but don't do any translation just yet (this will wait until the app development has finished). Have the app ready for I18N internationalization and L10N localization edits in the future. Use icons for commonly understood operations and to avoid the need to translate words. For example, use a download icon instead of the word "Download". The language will be automatically set to the browser's language setting, but default to English if not set. Ensure layouts tolerate substantially longer or shorter translations. Avoid fixed text widths, fixed-height text containers, and controls sized to English labels. The supported languages will be English, Simplified Chinese, Spanish, Arabic, Indonesian, Portuguese, French, Japanese, Russian, German, Hindi, Bengali, Urdu, Korean, Vietnamese, Turkish, Italian, Dutch, Polish, Thai, Persian, Ukrainian, Czech, Malay, Romanian, Greek, Hebrew, Swedish, Filipino, Tamil, Hungarian, Danish, Finnish, Norwegian Bokmål, Slovak, Bulgarian, Serbian, Croatian, Slovenian, Catalan. Start the language selection dropdown with just English, and put emoji flags next to the language options in the dropdown. In the source code above the assignment for the translation data, have an all caps comment that says "TO REDUCE FILE SIZE, DELETE ALL THE LANGUAGES YOU DON'T WANT SUPPORTED." and also at the end of the assignment have a comment that says "DO NOT DELETE CODE BELOW THIS LINE." and have the language dropdown automatically adjust based on what languages are in the source still. Use emoji or data uri to embed any needed images. Prefer SVG images for simple icons. Generate OG tags and metadata. Embed a favico in the html file. If the app works with a significant amount of data, offer import/export features defaulting to JSON, markdown, or other appropriate formats. If the data is an image, offer png, jpg, and webp formats. Vector graphics should import/export SVG and perhaps also bitmap formats. Ask me about what should be importable/exportable in this app before beginning. Ensure that this app is accessible, such as having alt tags and high contrast. Use local storage and IndexedDB where appropriate. Put the credit "Generated and human-reviewed by Al Sweigart. This app works offline and you own it forever. No ads. No registration. No subscriptions. No trackers. Just right-click and save the .html page." with "Al Sweigart" as a link to https://inventwithpython.com. Also put the version information here as "vX.X.X" where the first version is "0.1.0" and this version string is built from a single global version constant in the code. Also generate a separate PNG image for the OG preview image (based on the favico image) named XX-og-preview.png where XX is the app name. Create a "Share" button that copies a text description of and link to the app to the clipboard suitable for posting to social media sites, and when clicked it briefly explains with a "copied to clipboard" style message. If this app is for a general, non-technical audience, include small question mark buttons next to user interface features that concisely explain the feature. Ask me a series of design questions for clarification before beginning.