topaz-game is a simple puzzle game for Android phones. The player solves puzzles and earns points, chasing a rising score across short, casual play sessions. The product intent is a lightweight, instantly legible game that a person can pick up one-handed, play for a few minutes, and feel an immediate hit of accomplishment from a score that visibly climbs.
The audience is anyone with a spare minute who wants colour and a small reward — a casual mobile player, not a productivity user. The experience is deliberately simple: one puzzle interaction, one score, no accounts, no setup, no complexity beyond tapping to solve and watching the score rise.
topaz-game is delivered as a lightweight, mobile-first web game that runs in the Android phone browser. It presents three surfaces: a Landing entry that introduces the game and starts play, a Puzzle Game surface where the core puzzle interaction and scoring happen, and a Score surface that shows the player's current score. All three surfaces are application-owned and openly reachable — there is no sign-in, no account, and no stored identity. The single active human actor is the Player.
The accepted behavior is narrow and complete: the player starts the game, plays the puzzle, earns points for solving, and sees the score. The score is a first-class, visible character in the interface — it flashes and rolls on every gain. There is no multiplayer, no leaderboard, no social layer, no in-app purchase, and no account management; none of these were requested and none are added.
Delivery. The game is a browser-delivered web experience optimized for Android phones, played one-handed in portrait. It is intentionally lightweight — no heavy 3D engine, no native install requirement — so it loads fast on a phone and responds instantly to taps.
Access ownership. All three surfaces are application-owned and require no identity. The player is anonymous throughout: there is no login, no profile, and no durable account. The score is a session-scoped game state, not a persisted personal record. Because no accepted journey requires a human to privately own or resume durable actor-specific state, no application identity is introduced.
Current vs. future. Everything in this document is current. No future-horizon features were accepted; nothing is deferred.
Not applicable — no reference directive in this project declares content_source.
The page inventory is the supplied final page contract: Landing, Puzzle Game, Score. Each is application-owned with no access requirement.
TOPAZ · strip along the bottom edge.FR-1 — Start the game from the landing entry. (explicit) As a Player, I should be able to open topaz-game on my Android phone and start playing from the landing entry, so that I can begin a session immediately.
FR-2 — Play the puzzle. (explicit) As a Player, I should be able to play a puzzle on the Puzzle Game surface, so that I can engage with the core game.
FR-3 — Score points for solving. (explicit) As a Player, I should earn points when I solve the puzzle, so that I have a score to chase.
FR-4 — See the current score. (explicit) As a Player, I should see my current score, so that I know how well I am doing.
FR-5 — Recognize a new best. (required_inference) As a Player, I should be told when I beat my previous best score in the session, so that the score chase feels rewarding.
FR-6 — Continue or restart after a puzzle ends. (required_inference) As a Player, I should be able to continue or restart play after a puzzle is completed or fails, so that a session never dead-ends.
Product context. The Player is a casual mobile user with a spare minute and an Android phone in one hand. They are not looking for depth, setup, or a commitment — they want colour, a tap, and a small hit of accomplishment. They arrive anonymously and expect to be playing within seconds.
Primary goal. Solve the puzzle and accumulate a score, with success measured by the score they achieve through repeated play sessions.
Distinct accepted responsibilities.
Relevant inputs or decisions. Which tile to tap; whether to keep playing or restart after a puzzle ends; whether to return to the board from the Score surface.
Interactions with other accepted participants. None. The Player is the only active human actor; there are no other participants, counterparties, or recipients in the accepted scope.
Observable success. A rising score, a flashing lime score pill, a NEW BEST sticker when they beat their best, and a session that never dead-ends.
What makes this role distinct. The Player is the sole human actor and the sole beneficiary of every accepted capability. Their work is entirely self-directed play: there is no handoff, no approval, no counterparty, and no shared state with anyone else. The score exists only for them, in their session.
Muse: Jessica Walsh. Headline direction: Saturated play, candy-block puzzle craft.
The register is delight, confidence, and instant reward — a toy you want to tap, never a productivity app. Colour is the surface itself; there is no white-first ground.
Palette (light mode):
| Role | Hex | Use |
|---|---|---|
| Background | #FFE9DC | Warm blush ground — the dominant field, never white |
| Surface | #FFD1DC | Cards, board card |
| Text | #1A0B2E | Ink for all readable text on the blush ground (~13:1 contrast) |
| Primary | #FF3D8B | Primary action and puzzle-piece family colour |
| Accent | #C6F135 | Acid lime — score gains, success states, winning tile |
| Muted | #7A5C8E | Labels and metadata only, never body copy below 14px |
| Support | #FF8A3D | Tangerine — secondary tiles and hover flips |
| Rare | #2B2BE0 | Cobalt — reserved for rare 'rare tile' moments |
Proportion: 60% blush ground, 20% pink, 12% lime/tangerine tiles, 8% ink text and outlines.
Typography:
clamp(3.5rem, 12vw, 8rem) (56px mobile → 128px desktop); h2 40px → 64px; h3 28px → 36px; body 17px → 19px; label 13px uppercase tracked +0.08em; score numeral 44px → 72px in Archivo Black tabular.Shape language: Big radii (24–32px) on cards and tiles; full pill buttons; sticker-like badges; offset hard shadows (4–6px solid ink, no blur). Puzzle tiles are chunky rounded squares with a 3px ink outline and a solid colour fill; the board sits on a pink card with a hard offset shadow so it reads as a physical toy. Section edges are cut with diagonal colour bands rather than straight rules. No soft glass, no gradient blobs — flat saturated colour fields with hard ink outlines.
Layout: Mobile-first single column at 375px — compact top bar (wordmark left, score pill right), a full-width Archivo Black headline wrapping to two lines, the puzzle board filling the remaining viewport as the dominant element, and the primary action pinned in a bottom thumb zone. At 768px the headline moves to a 5/7 asymmetric split with the board on the right and a sticker badge overlapping the seam. At 1280px the composition becomes an editorial poster: oversized headline bleeding off the left edge, board centred-right, score panel as a tall colour-block column on the far right. Strict 8pt spacing; hard-edged colour blocks instead of dividers.
Imagery: No stock photography. Imagery is the puzzle itself — solid-colour rounded tiles, sticker-style badges, chunky arrow and sparkle icons drawn as thick-outline vectors, and one or two surreal 3D props (a glossy oversized topaz gem, a melting ice-cream puzzle piece) art-directed as hero decorations that bleed off the edge. Halftone dot textures and diagonal colour bands fill empty space. Every graphic is flat colour with a hard ink outline, in the Walsh sticker vocabulary.
Readable text and controls stay whole at 375px, 768px, and 1280px — headlines, wordmarks, labels, numbers, cards' text and controls stay entirely inside the viewport and their container, wrapping or scaling to fit. Imagery, decoration, and motion may be cropped, bled, rotated, or overlapped as the direction asks, provided they cover no readable text or control.
The public entry is a saturated blush poster, not a SaaS banner.
clamp(3.5rem, 12vw, 8rem), uppercase, stacked on two lines, with the second line TAP. MATCH. SCORE. in lime on a pink colour block that bleeds off the left viewport edge.TOPAZ · running once.No centred stack, no subhead, no blue button, no gradient blob — colour blocks and oversized type are the composition. The gem, tiles, and marquee may be cropped; the wordmark, tagline, score pill, and CTA stay whole.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d
Landing Hero Motion Brief
In-game motion: tiles scale-in with a 120ms overshoot on load (staggered 40ms); a 90ms squash-and-pop on every successful tap; score numerals flip with a quick vertical roll; a lime flash wipes across the score pill on gain. Hover/tap colour flips on tiles (pink → tangerine, lime → cobalt). Every motion is a direct response to a tap or a reveal.
NFR-1 — Android phone target. (explicit) The game must run on Android phones. It is delivered as a lightweight, mobile-first web experience optimized for Android phone browsers, played one-handed in portrait.
NFR-2 — Simplicity. (explicit) The game must be simple. It has one puzzle interaction, one score, and no setup, accounts, or complexity beyond tapping to solve and watching the score rise.
NFR-3 — Lightweight performance. (required_inference) The game must load fast and respond instantly to taps on a phone. No heavy 3D engine is used; motion is phone-cheap and every animation is a direct response to a tap or a reveal.
NFR-4 — Readable text and controls. (explicit, from creative direction) Readable text and controls must stay whole at 375px, 768px, and 1280px — entirely inside the viewport and their container, wrapping or scaling to fit, with no other element covering any part of them. Imagery, decoration, and motion may be cropped, bled, rotated, or overlapped instead.
NFR-5 — Reduced-motion support. (explicit, from creative direction)
Under prefers-reduced-motion, all scale-ins become instant opacity changes, the marquee becomes a static centred wordmark, and tap feedback is a plain colour change with no transform. A usable static arrangement is provided for any moving or scrollable content.
NFR-6 — Accessible contrast. (explicit, from creative direction)
Ink #1A0B2E on the blush ground #FFE9DC provides ~13:1 contrast. Muted #7A5C8E is used only for labels and metadata, never body copy below 14px.
No source-specified technology choices were provided; the above are labeled defaults and do not introduce product behavior.
Constraints (explicit):
Assumptions (narrow, labeled):

One-handed puzzle, a few minutes at a time. Match the tiles, watch the score climb.

One-handed puzzle, a few minutes at a time. Match the tiles, watch the score climb.
No comments yet. Be the first!