philippines-america is a browser game built around a single, loud premise: a country-versus-country contest between the Philippines and America. The player opens the game, takes a side, and plays the matchup through to a result that names which country won.
The product intent is deliberately narrow and complete: a head-to-head country matchup that a casual player can start and finish in one sitting. There is no account, no roster of nations beyond the two named combatants, no campaign, and no persistent progression. The game is the contest.
The audience is casual players with an appetite for loud, argumentative, flag-waving contest culture. The register is partisan, high-energy and poster-like — a fight bill pasted on a wall, not a dashboard. The experience is designed to feel like a printed matchup poster that you can play.
philippines-america is delivered as a first-party browser application with custom UI. It consists of four ordered, anonymously reachable pages that carry the player from first impression to final verdict:
Actors. The only supported human actor is the Player. There are no other accepted human roles, no administrators, no spectators, and no second-player role. The application itself is the only system actor of consequence; there is no external provider, no third-party service, and no outbound recipient in the accepted scope.
Accepted behavior. The player chooses the Philippines or America, plays the matchup to a result, and sees which country won. The matchup is a single contest with a live scoreboard, a play area, and a terminal verdict.
Ownership. All four pages are owned by the application. No page is owned by a provider or an external destination. No capability in the accepted scope is owned solely by a background system process, because every accepted capability is initiated, controlled, and completed by the Player through first-party UI.
Narrow exclusions. This document does not specify accounts, login, profiles, leaderboards, matchmaking, multiplayer networking, chat, monetization, tournaments, additional countries, or saved match history. None of these were requested, and none are required to complete the accepted lifecycle.
Delivery. philippines-america is a first-party web application. The player reaches it in a browser, and every accepted interaction happens inside the application's own pages. There is no provider-owned surface and no external destination in the current scope.
Access. All four pages are anonymously reachable. The accepted journeys require no identity: a player can open the Landing page, pick a side, play the matchup, and see the result without ever establishing an account. Because no accepted capability creates a durable, resumable, actor-specific obligation — a match is played to completion in one sitting and its result is shown immediately — application-owned identity is not indispensable, and no identity establishment or verification lifecycle is specified. This is a deliberate boundary, not an omission.
Current versus future. Everything in this document is current. There is no accepted future horizon, no deferred phase, and no roadmap item carried forward from the requirement thread. Anything not described here is out of scope rather than scheduled.
clamp(44px, 11vw, 192px), each line flush to a different edge so the type block spans the full viewport. The word PHILIPPINES is set in #E23A1F; the word AMERICA is set in #1C2B4A; both sit on the warm newsprint ground #F2EFE6. A thick diagonal wedge of #E23A1F cuts in from the top-left and a wedge of #1C2B4A from the bottom-right, meeting behind the type but never crossing it. A small caps stamp in the top-right corner reads the project name. Nothing is centred; nothing floats.#F2C300 slab button, CHOOSE YOUR COUNTRY, pinned under the third headline line, flush left, with a 4px black offset outline. It advances the player to Game Setup.HeroHeadline renders the three-line Anton type mass and owns the per-line edge alignment and per-country colouring. DiagonalWedge renders the two opposing colour wedges behind the type. WordmarkStamp renders the small caps project-name stamp. ChooseCountryButton renders the single yellow slab and owns its press offset. HalftoneTexture renders the flag-derived halftone dot texture at 20% opacity behind the colour blocks.clamp(...) to fit. The diagonal wedges and halftone texture may bleed off the edge; they never cover the headline, the stamp, or the button.#E23A1F, America in #1C2B4A — with the country name set in Anton at viewport-filling size and a single PICK THIS SIDE slab per half. The page communicates that exactly one side will be chosen and that choosing a side is the only decision here.SideHalf renders one country's full-height colour block, its Anton country name, and its pick slab; it owns the selected state for its side. PickSideButton renders the flat colour slab with a 4px black offset outline that shifts on press. SideNameType renders the country name at viewport-filling Anton scale.#F2C300. Below it, the play area sits on the paper ground with the two sides' colours entering as opposing diagonal bands. A running marquee ticker of matchup slogans runs along the top of the screen in place of a conventional header. The player's chosen side is the active player token, marked in #F2C300.ScoreboardStrip renders the tabular cells, hairline rules, and the yellow live cell; it owns cell-by-cell numeral changes. PlayArea renders the contest surface and the opposing diagonal colour bands. SloganTicker renders the marquee of matchup slogans along the top. ActivePlayerToken renders the player's chosen side marker in #F2C300.prefers-reduced-motion the ticker becomes a horizontally scrollable row in which each slogan can be brought fully into view.VerdictWord renders the full-width Anton verdict and owns the winning-country background flood. StatTable renders the ruled tabular figures with hairline dividers. PlayAgainControl renders the return-to-setup slab.clamp(...) where needed.FR-1 — Open the country-versus-country game. (explicit) As a Player, I should be able to open the Philippines versus America game and immediately understand that it is a country-versus-country contest, so that I know what I am about to play.
#E23A1F and AMERICA in #1C2B4A on the #F2EFE6 ground, the two diagonal wedges meeting behind the type, the small caps wordmark stamp in the top-right, and the CHOOSE YOUR COUNTRY slab pinned flush left beneath the third line.FR-2 — Choose a side. (explicit) As a Player, I should be able to choose the Philippines or America as my side, so that the matchup is played as my country against the other.
FR-3 — Play the matchup to a result. (explicit) As a Player, I should be able to play the country-versus-country matchup through to a result, so that the contest between the two countries is actually decided.
#F2C300, and the matchup reaches a terminal result.FR-4 — See which country won. (explicit) As a Player, I should be able to see the completed matchup outcome and which country won, so that the contest has a clear verdict.
FR-5 — Read the live scoreboard during play. (required_inference) As a Player, I should be able to read the live score of the matchup while I am playing it, so that I can tell where the contest stands at any moment.
#F2C300 and numerals changing cell-by-cell rather than counting smoothly.FR-6 — Start a fresh matchup after a result. (required_inference) As a Player, I should be able to start a new matchup after seeing a result, so that a completed contest is not a dead end.
Product context. The Player is the only supported human role in philippines-america. They arrive at a browser game that presents a single country-versus-country contest between the Philippines and America, framed as a printed fight bill rather than a utility screen. They are a casual player with an appetite for loud, partisan, flag-waving contest culture, and they are not asked to learn a system, configure anything, or manage an account.
Primary goal. To pick a side — the Philippines or America — and play the matchup through to a result that names which country won.
Distinct accepted responsibilities. The Player's work is a short, complete arc with three distinct responsibilities that no other role shares:
Relevant inputs and decisions. The Player's only input decision is the side selection. Everything else is play within the matchup. The Player does not configure difficulty, choose a duration, name a match, or set any option — none of these were requested.
Interactions with other accepted participants. There are none. The Player is the sole human actor. The opposing country is a side in the contest, not a second human participant; there is no opponent player, no spectator, and no administrator. The application is the only other actor, and it serves the Player's actions rather than negotiating with them.
Observable success. The Player has completed a match and can see which country won: the verdict word is on screen, the winning country's colour fills the background, and the stat table shows the matchup's figures. The Player can then start a fresh matchup if they choose.
Constraints carried from source. The Player is anonymous throughout. No account, profile, or saved history is required or offered. The Player's experience is bounded by the four accepted pages and by the poster-like visual and motion direction — loud, hard-edged, and typographic — rather than a quiet, dashboard-like register.
clamp(44px, 11vw, 192px), each line flush to a different edge so the type block spans the viewport. PHILIPPINES is in #E23A1F, AMERICA is in #1C2B4A, both on the #F2EFE6 newsprint ground.#E23A1F cuts in from the top-left and a wedge of #1C2B4A from the bottom-right; they meet behind the type but never cross it. A small caps stamp in the top-right corner reads the project name.#F2C300 slab button, CHOOSE YOUR COUNTRY, sits pinned under the third line, flush left, with a 4px black offset outline.#E23A1F, America in #1C2B4A — with the country name set in Anton at viewport-filling size and a single PICK THIS SIDE slab.prefers-reduced-motion the ticker becomes a horizontally scrollable row in which each slogan can be brought fully into view.#F2C300. The Player's chosen side is marked as the active player token in #F2C300.Muse and headline. Typography as territory after Paula Scher — country versus country as poster war. The visual language is Scher's: words as the image, colour blocks colliding, energy over polish, typography big enough to be a flag. The duel structure — two sides, two colour fields, two type masses — is native to the matchup and puts the head-to-head tension on the first screen.
Mode. Light mode only. There is no dark mode in the accepted scope.
Colour tokens by role.
| Role | Hex | Use |
|---|---|---|
| Background | #F2EFE6 | Warm newsprint ground across all pages |
| Surface | #E8E2D4 | Slightly darker paper for panels and rule fills |
| Text | #111111 | All body and label type at full contrast |
| Primary | #E23A1F | Philippines side — flat poster block, ochre-red |
| Accent | #F2C300 | Hot signal yellow: live scoreboard cell, active player token, hover wipes |
| Muted | #6E675B | Metadata and rules only |
| America side | #1C2B4A | America side — deep navy flag block |
Colour discipline. Navy #1C2B4A is a flag block, never a SaaS accent, and it never sits on a white ground as a button colour. Signal yellow #F2C300 is reserved for the live scoreboard, the active player token, and hover wipes, and covers under 8% of any screen. The approximate screen balance is 55% paper, 20% each combatant block, 5% yellow. Muted #6E675B handles metadata and rules only.
Typography. Headings are Anton, all caps, condensed and packed tight (letter-spacing −0.01em to 0em, line-height 0.86), stacked into two- and three-line masses that read as a single slab of ink. Headlines are the largest element on every screen and are set to bleed to the viewport edge rather than sit inside a margin. Oswald at 500/600 weight in caps with wide tracking (0.08em) handles labels, scoreboard numerals, and buttons. Oswald regular/lowercase at 400 handles any running sentence at 16–18px. Body is Oswald.
Type scale. 1.5 modular, mobile-first: display steps 44 / 72 / 108 / 144 / 192; body 16 / 18 / 22; labels 12 / 13 caps tracked. Display uses clamp(44px, 11vw, 192px); section headlines use clamp(32px, 7vw, 96px).
Shape language. Hard edges only — zero border radius, zero soft shadows. Everything is a rectangle of ink or colour: full-bleed type bands, diagonal colour wedges, thick 4px and 8px rules, tabular scoreboard cells with hairline dividers. Buttons are flat colour slabs with a 4px black offset outline that shifts on press. No pills, no blobs, no glass.
Spacing rhythm. Strict columns, flush-left ragged-right type, rules instead of cards. Thick 4px and 8px rules separate bands; hairline dividers separate tabular cells. No card grid, no hover-lift, no uniform panel spacing.
Imagery style. Typography is the imagery. The only non-type visuals are flat colour fields, diagonal bands, thick rules, halftone-dotted flag-derived textures at 20% opacity behind the colour blocks, and high-contrast two-tone cut-out treatments of flag elements (three stars, a sun, stripes) used as oversized graphic marks that can bleed off the edge. No stock photography, no 3D, no illustration of people.
Forbidden. The generic indigo/blue-on-white SaaS template is forbidden for this project. Also avoided: blue or indigo primary accents on a white or near-white ground; rounded corners, pill buttons, soft drop shadows and glass panels; centred headline + subtext + button hero compositions; gradient blobs, glowing 3D orbs and particle fields; cards in a uniform grid with hover-lift; photography of people or stock lifestyle imagery; thin, elegant or light-weight display type; neutral greys used as the dominant surface.
The printed fight bill. The Landing page is not a hero section; it is a poster pasted on a wall. A single Anton headline — PHILIPPINES VERSUS AMERICA — is set in three stacked lines at clamp(44px, 11vw, 192px), each line flush to a different edge so the block spans the full viewport. The word PHILIPPINES is #E23A1F; the word AMERICA is #1C2B4A; both sit on the warm paper ground #F2EFE6. A thick diagonal wedge of #E23A1F cuts in from the top-left and a wedge of #1C2B4A from the bottom-right, meeting behind the type but never crossing it. The dominant element is the type mass, roughly 60% of the viewport height. A single #F2C300 slab button, CHOOSE YOUR COUNTRY, sits pinned under the third line, flush left, with a 4px black offset outline. A small caps stamp in the top-right corner reads the project name. Nothing is centred; nothing floats.
The concept is implementable with the accepted content alone: the headline text, the two country names and their colours, the two wedges, the wordmark stamp, and the one button. It recomposes accepted content and states — it introduces no new behaviour, page, or destination.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: flat
Landing Hero Motion Brief.
#E23A1F and AMERICA in #1C2B4A, and the two diagonal colour wedges that meet behind it.#F2C300 CHOOSE YOUR COUNTRY slab is already in place, flush left, ready to press.#E23A1F wedge holds the top-left, the #1C2B4A wedge holds the bottom-right, and they meet behind the type. The small caps wordmark stamp sits in the top-right corner. The yellow slab sits under the third line, flush left, with its 4px black offset outline. Nothing is centred.prefers-reduced-motion, all slams and wipes become instant state changes and nothing moves on its own. The headline, wedges, stamp, and button appear in their final composed positions immediately. The Game screen's slogan ticker becomes a horizontally scrollable row in which each slogan can be brought fully into view.NFR-1 — Readable text and controls stay whole at every viewport. (explicit)
Headlines, wordmarks, labels, numbers, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut exactly as the creative direction asks, as long as they cover no readable text or control. Where a direction or brief asks readable text or a control to be cropped, clipped, covered, or run off an edge, the text or control is kept whole and the gesture is carried with imagery or decoration instead.
NFR-2 — Moving and scrollable content remains fully readable. (explicit)
Moving and scrollable content — the Game screen's marquee ticker and any horizontally scrollable row — may cross the viewport or container edge by design. It is judged by whether it actually moves or scrolls and whether every item becomes fully readable as it passes, never by the item cut at the edge in a still frame. A scrollable row need not show every item fully at once. Source-backed overflow-x: auto or scroll, with items that fit the container when brought into view, is valid scrolling; a visible scrollbar is not required.
NFR-3 — Reduced-motion support. (explicit)
Under prefers-reduced-motion, all slams and wipes become instant state changes, the ticker becomes a horizontally scrollable row where each slogan can be brought fully into view, and nothing moves on its own. A usable static arrangement is provided: items wrap into rows or allow horizontal scrolling so each item can be brought fully into view.
NFR-4 — Anonymous access with no identity lifecycle. (required_inference) All four pages are reachable without establishing an account. No accepted capability creates a durable, resumable, actor-specific obligation, so no identity establishment, verification, or account-management surface is specified.
NFR-5 — No differentiated permissions. (required_inference) There is exactly one human role, and no accepted behavior establishes differentiated control or visibility over shared product state. No role-based access control, role-based visibility, or permission control is specified.
NFR-6 — Hard-edged visual system. (explicit) Zero border radius and zero soft shadows across the product. Buttons are flat colour slabs with a 4px black offset outline that shifts on press. No pills, no blobs, no glass panels, no gradient blobs, no glowing 3D orbs, no particle fields.
NFR-7 — Signal yellow is rationed. (explicit)
#F2C300 is reserved for the live scoreboard cell, the active player token, and hover wipes, and covers under 8% of any screen.
No source-specified technology choices were given in the requirement thread; the above are labeled defaults and do not alter product behavior.
Assumptions.
Constraints.
Out of scope. Accounts, login, profiles, leaderboards, matchmaking, multiplayer networking, chat, monetization, tournaments, additional countries, saved match history, difficulty settings, and match configuration options. None were requested and none are required by the accepted lifecycle.
#E23A1F) or America (#1C2B4A). The Player picks exactly one side per matchup.#F2C300 identifying the Player's chosen side during the matchup.#F2C300 and whose numerals change cell-by-cell.#F2C300, rationed to the live scoreboard cell, the active player token, and hover wipes, covering under 8% of any screen.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!