Wheel landing (Khmer) — deploy to Namecheap shared hosting
==========================================================

1. cPanel -> File Manager -> public_html
   (or a subfolder if this is not the main domain)

2. Upload this zip, then right-click it -> Extract.
   The files must land directly in public_html, i.e. you should end up with
   public_html/index.html, not public_html/build/index.html.
   Delete the zip afterwards.

3. Make the data folder writable so PHP can save the link:
   right-click data -> Change Permissions -> 755
   (if saving fails later, try 775, then 777 as a last resort)

4. Open https://YOURDOMAIN/admin/ in a browser.
   The first visit asks you to choose an admin password — minimum 8 characters.
   There is no default password. Pick one and keep it.

5. Paste your offer link, press "Save link".

6. Open https://YOURDOMAIN/ and check the wheel:
   click once -> it spins and stops on USD 30 -> the prize dialog opens ->
   the red button goes to your link.

Requirements
------------
PHP 7.4 or newer (Namecheap shared hosting has this by default).
No database, no Composer, no build step.


Changing the link later
-----------------------
Just log back into /admin/. Nothing else needs touching.

The landing's own query string is forwarded automatically, so s1, s2, s3, s4, s5,
p_id and the rest still reach your tracker.


Forgot the admin password
-------------------------
Delete data/auth.json in File Manager. The next visit to /admin/ will ask you to
set a new password.


Security notes
--------------
- data/.htaccess blocks HTTP access to that folder, so nobody can fetch your
  password hash or config.json by URL. Keep that file.
- /admin/ is password-protected but not rate-limited beyond a small delay.
  If you want a second lock, add cPanel's "Directory Privacy" on the admin folder.


Running without PHP
-------------------
If you ever move this to static hosting, edit config.js and set
window.LANDING_LINK to your offer link, then delete the admin, api and data
folders. Everything else keeps working.


What is where
-------------
index.html          the landing page
khmer.css           Khmer typography + prize dialog styles (loads after main.css)
main.css            the original stylesheet
bundle.js           spin logic, prize dialog, link resolution
config.js           fallback offer link
admin/              password-protected panel for changing the link
api/link.php        read-only endpoint the page calls to get the current link
data/               config.json (the link) + auth.json (password hash, created on setup)
img/wheel-km.png    the wheel face with the Khmer prize labels
fonts/khmer/        self-hosted Khmer webfonts
