Create a single-page SPA (Single Page Application) using HTML, CSS, and JavaScript for a Firefox browser extension. The extension aims to enhance the default right-click context menu. The user interface should allow users to easily toggle on/off specific context menu items and adjust common `about:config` settings related to the context menu without directly editing `about:config`.
**Core Functionality:**
1. **UI Design:** Design a clean, intuitive, and responsive user interface. It should primarily consist of a dashboard with sections for different categories of context menu options (e.g., Text Selection, Image Handling, Link Options, Page Actions).
2. **Context Menu Item Toggling:** For each category, provide checkboxes or toggle switches to enable/disable specific context menu items. Examples:
* 'Copy Image Address'
* 'Search with Google/Bing/etc.'
* 'Add to Pocket'
* 'View Page Source'
* 'Inspect Element'
3. **`about:config` Integration (Simplified):** Identify a few *very common* and *safe* `about:config` preferences that directly impact context menu behavior or appearance. Provide simple controls (e.g., dropdowns, sliders, checkboxes) to modify these preferences. **Crucially, abstract away the `about:config` complexity.** The user should not see `about:config` at all. Examples (hypothetical, research actual safe options):
* Adjusting delay for certain context menu sub-menus.
* Enabling/disabling 'Open Link in New Tab' variations.
4. **Persistence:** User preferences must be saved using `browser.storage.sync` (or `local` if sync is not feasible for certain settings) and applied immediately or upon browser restart, as appropriate.
5. **JavaScript Logic:** Implement the necessary JavaScript to:
* Load saved preferences when the extension popup or options page loads.
* Update `browser.storage` when user changes settings.
* Apply the changes to the Firefox context menu. This might involve using Firefox's WebExtension APIs (research necessary APIs for context menu manipulation, potentially `contextMenus.create` and `contextMenus.update` if customizing *new* menus, or injecting scripts to modify existing ones if direct manipulation is limited).
* Handle potential errors gracefully.
6. **Manifest File (`manifest.json`):** Define the necessary permissions (e.g., `contextMenus`, `storage`, `scripting` if needed for page modification), background scripts, popup configuration, and icons.
7. **Error Handling:** Implement basic error handling for storage operations and API calls.
8. **Styling:** Use clean, modern CSS. Ensure the UI is usable on different screen sizes (though primarily intended for a popup or options page).
**Key Considerations:**
* **Security:** Only modify settings that are known to be safe and have a clear user benefit. Avoid making drastic changes that could destabilize the browser.
* **User Experience:** Prioritize simplicity and ease of use. The goal is to *replace* the need for `about:config` for these specific tasks.
* **Firefox API Limitations:** Be aware of what is possible with the WebExtensions API for Firefox. Direct manipulation of the *native* context menu might be limited; focus on creating *new* custom entries or modifying behaviour via script injection if necessary and permitted.
* **MVP Scope:** Focus on a small, manageable set of the most impactful context menu options and `about:config` tweaks for the MVP. Avoid feature creep.
**Deliverable:** A single HTML file, a single CSS file, and a single JavaScript file, along with a `manifest.json` file. The JS should be well-commented, explaining the logic, especially around storage and applying settings. Assume the extension will be loaded as a temporary add-on in Firefox for testing.