Design system
Every value here is lifted from SunnySort.View.Palette and the game's own UI kit — the same code the app paints from. The site cannot drift from the product, because it is reading the product's own numbers.
Brand
Three stacked tiles, warm to cool from the bottom up: the emblem is the game's win condition drawn as an object.
The scalloped awning stripe is the second brand mark. It sits at the very top of every page and nowhere else — one appearance, so it stays an arrival and not a texture.
Colour
Warm by construction: there is no neutral grey anywhere in the system. Every grey is ink at reduced alpha over a cream ground, which is why the page never goes cold.
#FFF7E8Palette.Cream#F3E3C3Palette.CreamDeep#FFF3D9Palette.SkyTop#F1BE84Palette.SkyBottom#3B2314Palette.Ink#8E7A6CPalette.InkSoft @62%#D9BD94Palette.CardLip#4CB853Palette.Primary#2F8C3APalette.PrimaryLip#FFD23FPalette.Yellow#E9553DPalette.CanopyA#B97A43Palette.BoardBase#9E6437Palette.Tray#F6E6C8Palette.Tile#F2A81DKindTheme#8E44C6KindTheme#4A2A6BKindTheme#E8412FKindThemeType
Baloo 2 carries every heading — rounded and heavy, the voice of a hand-painted market sign. Nunito Sans takes all running text; its open counters keep long paragraphs light next to that display weight.
| Role | Size | Face |
|---|---|---|
| Display / hero | clamp(40px, 6.4vw, 68px) | Baloo 2 800 |
| Section heading | clamp(30px, 4.2vw, 44px) | Baloo 2 800 |
| Card heading | 21px | Baloo 2 800 |
| Lede | 20px | Nunito Sans 400 |
| Body | 16.5px | Nunito Sans 400 |
| Kicker / label | 13px, .14em tracking, uppercase | Nunito Sans 700 |
Buttons
Both buttons carry a solid lip shadow with no blur underneath a soft one. That is taken straight from the game, where every button is an extruded slab — the lip is the side you would see edge on.
Surfaces
Cards get a lip too, and nothing else does. Border, fill and shadow are spent by role: a card is a separate object, a section is not.
| --radius | 1.25rem | Cards, panels, the ink strip |
| .lip | 0 4px 0 #D9BD94 + soft drop | The solid edge under a card |
| .lip-green | 0 5px 0 #2F8C3A + soft drop | The primary button |
| rounded-full | 999px | Buttons and chips only |
Pieces
Each kind is a colour and a silhouette. That pairing is an accessibility requirement in the game, not decoration — the board has to stay readable when the colours do not separate.
Voice
The product's whole pitch is that it does not manipulate you. Copy that oversells would contradict the thing being sold, so the rules are strict.
Claim what was measured
“No impossible levels” is sayable because a solver plays every level before it ships. Each claim on this site traces to a number in the repository.
Never borrow social proof
No star ratings, no download counts, no “loved by thousands”. The app has no users yet and the site says so.
Name things as the player does
STACKS, SPACE, MOVES LEFT — the words on the HUD, not the words in the code.
No urgency, no countdown
Nothing on this site pressures a download. A game with no ads and no purchases has nothing to rush anyone into.