39b84965b6
Closes the spec gap flagged after v0.20.0: the 24 mockups in docs/ui-mockups/ are 23 mobile + 1 desktop, but desktop is still the primary delivery surface. Stitch's variant generation kept timing out on layout-only adaptation prompts, so the deterministic fix is rules-based: a markdown spec that captures (a) the desktop viewport assumptions, (b) seven universal adaptation rules that apply to every screen, and (c) per-screen geometry rules for the priority surfaces (Game Table, Win Summary, Settings, Help, Pause, Home, Splash, Stats, Profile / Achievements / Theme Picker / Daily Challenge). Why rules > visual mockups for this gap: - Apply uniformly to every screen — including the 9 missing-plugin surfaces (splash, challenge, time-attack, weekly-goals, leader- board, sync, level-up, replay-overlay, radial-menu) that have only mobile mockups today. - Reference-able from code comments and commit messages without loading an image. - Layout-agnostic by construction: tells the engine "use percent / flex / min(720, 50%) widths" instead of pinning a specific desktop pixel layout. - Cheaper than re-running Stitch generation per screen, which is flaky for layout-only adaptation work. Cross-check confirms that v0.20.0's port (modal scaffold, toasts, table chrome, card chrome, gameplay-feedback, splash cursor) is already layout-agnostic — the spec gap mattered for *next* ports, not the work that just shipped. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>