NexaKit 1.0.1 — Mobile menu, workspaces and contact fix

1. Back up your current website in Hostinger.
2. Upload this ZIP into the SAME public_html directory that contains index.php.
3. Extract it and allow replacement of the included files. If File Manager does not replace automatically, upload the extracted files manually to their matching paths.
4. Refresh your website with Ctrl+F5. On mobile, close the tab and reopen the site. Clear Hostinger/CDN cache if you enabled it.
5. Test the mobile menu, Email Extractor and Contact. Contact confirmations appear under the form and messages appear in Admin > Messages.

This ZIP contains only: index.php, core.php, api.php, .htaccess, assets/app.js, source.zip and these instructions.
It contains no storage/site.json, setup.php, uploaded thumbnails or custom tools. Your administrator account, settings, articles, messages and tool definitions are preserved.
Do not run setup again. Keep source.zip without extracting it, as before.

Changed:
- Frontend initialization no longer depends on Hostinger serving a separate .mjs module correctly.
- app.js is a self-contained deferred script with a new cache version.
- Explicit JavaScript/CSS MIME declarations were added.
- The contact form also saves through PHP when JavaScript is unavailable, with a visible confirmation and shared validation.

Verified: PHP/JS syntax, all 11 workspace initializations in parsed-DOM tests, mobile menu click behavior, email extraction, contact AJAX confirmation, PHP contact fallback, inbox persistence, and the existing setup/admin/publishing checks.
Live Hostinger behavior is not verified because no website URL has been supplied. This patch addresses the shared frontend-loading failure suggested by the reported symptoms. If the issue persists, send your live website URL.
