# Hellion Dashboard — Architecture ## Overview Hellion Dashboard is a browser extension (NewTab replacement) built with **Vanilla JavaScript ES2020**, **CSS Custom Properties**, and **zero dependencies**. No build step, no framework, no bundler — files are loaded directly via ` ``` **Rule:** A module may only reference modules loaded before it. --- ## Z-Index Hierarchy | Layer | z-index | Elements | |---|---|---| | Background | 0-2 | `#bgLayer`, boards | | Search bar | 90 | `.search-bar-wrapper` | | Widgets + Toolbar | 100+ | `.widget`, `.widget-toolbar` | | Header | 100 | `#header` | | Settings panel | 200 | `#settingsPanel` | | Dialogs / Modals | 300 | `.hellion-dialog-overlay`, modals | | Onboarding | 400 | `#onboardingOverlay` | Widgets use incrementing z-index (`WidgetManager._topZ++`) to stack above each other on click. --- ## Storage Keys | Key | Type | Content | |---|---|---| | `boards` | Array | Board objects with bookmarks | | `settings` | Object | User preferences (theme, toggles, etc.) | | `widgetStates` | Object | All widget data (see [widget-schema.md](widget-schema.md)) | | `onboardingDone` | Boolean | Whether onboarding has been completed | | `lastBackupReminder` | Number | Timestamp of last backup reminder | --- ## Browser Compatibility | Browser | Engine | Manifest | |---|---|---| | Chrome | Chromium MV3 | `manifest.json` | | Edge | Chromium MV3 | `manifest.json` | | Brave | Chromium MV3 | `manifest.json` | | Vivaldi | Chromium MV3 | `manifest.json` | | Opera / GX | Chromium MV3 | `manifest.opera.json` | | Firefox | Gecko MV3 | `manifest.firefox.json` | Changes affecting manifest fields must be synchronized across all three manifest files.