# Mobile and desktop games

Declare `devices: ['mobile', 'desktop']` on built-in game metadata or an upload's details.
Use one device when only that device works. An absent/empty declaration means unknown.
Inputs (`touch`, `keyboard`, `voice`, etc.) describe controls separately. Mobile declarations
require touch, voice or camera input. A device badge is a creator declaration checked in review.

Creator Studio asks for target devices before building. Its Phone preview changes the iframe's
actual width to at most 390 CSS pixels. Desktop uses a real 1280×800 viewport, scaled to fit the
editor. Check both, then test on physical devices before
selecting the playtested devices in the publishing form. Updates can add device support through
the same review process; the current live game's declaration stays unchanged until approval.

- Fit the document at 320, 390, 760 and 1440 CSS pixels without sideways page scrolling.
- Keep text readable and important HUD elements in view in portrait and landscape.
- Provide touch controls with Pointer Events and targets at least 44 CSS pixels across.
  Support simultaneous fingers when movement and actions need to happen together.
- Provide keyboard/mouse equivalents for desktop. Avoid hover-only actions.
- Release held controls on pointer cancellation, lost capture, blur, pause and game exit.
- Reserve space for controls and safe-area insets. Resizing must not reset or change the rules.
- Verify intro, gameplay, pause, results, replay, settings and saved progress on each device.
- Ask for microphone/camera only when needed and explain unavailable browser features.
- Keep game code isolated from platform wallets, credentials and publishing actions.

The platform filters declared support and displays device labels; it cannot prove that every
uploaded game works on every browser. Do not mark mobile support just because a canvas resizes.
