ClubReady Tokens
Xplor Technologies · Design System

One source of truth for colour, from Figma to production.

Every value on this page is generated from the Figma library. Nothing is typed by hand. Change a variable in Figma, regenerate, and every product that imports this file moves together.

Source Flowbite Design System Pro v3.1 Generated 2026-08-24 Colour tokens 103 Modes Light · Dark

Any stack — plain CSS

<link rel="stylesheet" href="https://design-tokens.clubready.com/production/v1.1/foundation.css">

.panel {
  background: var(--bg-primary);
  color:      var(--text-heading);
  border:     1px solid var(--border-base);
}

Tailwind / Flowbite

# Fetch both files from CloudFront at build time
BASE=https://design-tokens.clubready.com/production/v1.1
curl -fsSL $BASE/foundation.css   -o src/tokens/foundation.css
curl -fsSL $BASE/foundation-tailwind.css -o src/tokens/foundation-tailwind.css

# Then import the local copies
@import "tailwindcss";
@import "./tokens/foundation-tailwind.css";

Vite, webpack and PostCSS cannot @import
a remote URL, so the CDN fetch happens
in CI rather than in the stylesheet.

Dark mode

<html class="dark">          <!-- Tailwind -->
<html data-theme="dark">     <!-- anything else -->

Both flip the same variables.
No JS required.

Plan

Figma → git → CDN

Colour is edited in Figma. This gallery is built from the three JSON exports in GitHub and served from CloudFront. There is no npm package — the examples above point at https://design-tokens.clubready.com/production/v1.1/, the copy you are reading now.

WhoDoes
Design Export Value_tokens.json, Light_mode_tokens.json, Dark_mode_tokens.json and overwrite them in tokens/ on main. Do not upload CSS or HTML.
CI — staging Push of those files builds CSS and this page, then publishes /tokens/staging/.
Engineering — release GitHub Release tag v1.1. Writes immutable /production/v1.1/ and updates /production/latest/.
Product apps Pin https://design-tokens.clubready.com/production/v1.1/foundation.css (or vendor the Tailwind file from that URL). Do not parse JSON. Do not hardcode hex.
CDN prefixMutability
/tokens/staging/Overwritten on every JSON push to main
/production/v1.1/Immutable. Never overwrite.
/production/latest/Alias of the current GitHub Release

Design checklist before asking for a release:

  1. Staging gallery chips match Figma (left = light, right = dark).
  2. Toggle dark mode. Live buttons and alerts still look correct.
  3. Text contrast badges on body copy stay readable on --bg-primary.
  4. You did not add spacing, radius, or type overrides.

Spacing, radius, font sizes and border widths are not in the CSS file. Those scales already match stock Tailwind v4 exactly, so shipping them as overrides would resize every Flowbite component. Use p-4, rounded-xl, text-sm and they will match the mockups. The reference tables below are there so you can check a value without opening Figma.

ClubReady palette

11 · raw scale

The brand ramp. Use these directly only when no semantic token fits — prefer the semantic layer so a rebrand stays a one-line change.

Backgrounds

Surfaces and fills. Each chip is split: left half is light mode, right half is dark.

Text

Foreground colours. The badge shows contrast against --bg-primary in the mode you are viewing — 4.5 or above passes WCAG AA for body text.

Borders

Strokes, dividers and outlines.

Live check

all sample components · tokens only

Not screenshots. These components read the same custom properties your code will. If something looks wrong here, it is wrong in the tokens.

Navigation

Home / Members / Alex Rivera

Buttons

ClubReady Active Expiring Past due Draft

Form

Auto-renew
Forgot password

People

ARAlex Rivera
Unlimited · Front desk
JMJordan Miles
10-class pack
Studio card Next class starts at 6:00pm. Check-in uses --bg-secondary on --border-base.

Table

MemberStatusPlan
Alex RiveraActiveUnlimited
Jordan MilesExpiring10-class pack
Sam ChenPast dueTrial

Feedback

Membership updated.
Payment declined — card expired.
Two sessions remain on this plan.

Text

Heading uses --text-heading

Body copy uses --text-body on --bg-primary, inside a --border-base container.

Scales

reference only · stock Tailwind v4

Listed so you can look up a value quickly. Do not redeclare these — the stock utilities already produce these numbers.

Border radius

Border width

Font size

Line height

Spacing