Design system

Ludea, by the book.

What the Ludea brand is made of — for the landing page, the docs and anything that speaks for the engine. The games keep their own worlds; this is the look of the engine that makes them. Art: tools/art/brand.cjs · tokens: landing.css.

Colour

Warm paper, deep ink, and a tangerine-to-coral brand gradient. Accents are used sparingly, one per element. Dark ink bands give rhythm (code, skills). Text is ink or muted on light, white or #c9c8e6 on ink.

--paper#fffaf3 · Page background

--sand#f6efe5 · Alternate sections

--surface#ffffff · Cards

--ink#1d1b3a · Text, dark bands, outlines

--muted#5d5b7a · Secondary text

--coral#ff5b4f · Brand, primary actions

--tangerine#ff8a3d · Brand gradient start

--sun#ffbe2e · Spark, highlights

--mint#19c39a · Success, nature

--sky#3c8dff · Info, tech

--lilac#8a6cff · Magic, help

--rose#ff7aa8 · Care, warmth

--brandtangerine → coral · logo, primary buttons, emphasis

Type

Bricolage Grotesque (600–800) for display and headings, with tight tracking; DM Sans (400–700) for text; the system monospace for code and skill names. Both fonts are self-hosted (SIL Open Font License).

You describe it.
Four games, one engine
Start from the template

Lead — DM Sans 19/1.6, muted. Body — DM Sans 17/1.6.

new-game · feedback-session — monospace, coral.

Components

Rounded, tactile, friendly: pill buttons with a pressed edge, white cards with a soft shadow, 22 px radius (12 small, 30 large). Buttons are 44–50 px high, with icons that fill them.

Ages 6–7FrenchArcadeENFR
Add a shop where you can buy decorations
It's live!Supporting detail, muted.

Step card

Numbered with a brand badge.

/new-game

Icons

Illustrated, never emoji: thick ink outline, two-tone gradient, glossy highlight — the same family as the games' UI, in the Ludea palette. Drawn in a 128 box, rendered at 256 px (WebP).

star
heart
help
avatar
goals
play
check
gift
hand
sparkle
moon
refresh
arrow
home
lock
palette
sound
smile
trophy
pad
shop
speed
ride
guide
flag
seed
crate
polish
creature
timer
portal
siren
flagFr
flagGb

Lu, the guide

Lu is the logo with a face: the bubble that listens to your idea. Lu explains things on the site — at most once per screen, never inside the games. Drawn by the same function family as the mark (guide() in brand.cjs), so they never drift apart.

hello — welcomes (hero)
point — shows something (install)
idea — invites you to create (footer)

Voice

  • Plain words, no jargon: “describe”, “play”, “say what you think”.
  • Short sentences, active voice, warm but not childish.
  • English by default, French as a full translation — never mixed.
  • Show, don't claim: real screenshots, honest limits.

Don't

  • No emoji anywhere — use the icon set.
  • Don't use a game's art (Nebula, Dr Smile…) as Ludea branding.
  • Don't put Lu inside a game, or more than once per screen.
  • Don't recolour the mark or the gradient.