---
version: alpha
name: Coolors
description: Light design system extracted from coolors.co (DOM-true values, Emblematic extractor 0.2.0, 2026-11-12).
colors:
  background: "#FFFFFF"
  surface: "#F5F5F5"
  on-surface: "#0A0A0A"
  on-surface-variant: "#525252"
  primary: "#2563EB"
  yellow-100: "#FEF9C3"
  green-100: "#DCFCE7"
  cyan-100: "#CFFAFE"
  blue-100: "#DBEAFE"
  purple-100: "#F3E8FF"
  red-100: "#FEE2E2"
  orange-100: "#FFEDD5"
  cyan-600: "#0891B2"
  pink-600: "#DB2777"
  red-600: "#DC2626"
  yellow-600: "#CA8A04"
  on-primary: "#FFFFFF"
typography:
  display-lg:
    fontFamily: Inter
    fontSize: 57.6px
    fontWeight: 750
    lineHeight: 1
    letterSpacing: -0.02em
  body-md:
    fontFamily: Inter
    fontSize: 20px
    fontWeight: 450
    lineHeight: 1.3
  body-sm:
    fontFamily: Inter
    fontSize: 16px
    fontWeight: 450
    lineHeight: 1.2
rounded:
  sm: 8px
  md: 10px
  lg: 14px
spacing:
  xxs: 4px
  xs: 5px
  sm: 10px
  md: 12px
  lg: 14.5px
  xl: 20px
  2xl: 25px
  3xl: 30px
  4xl: 40px
  5xl: 50px
  6xl: 60px
  7xl: 70px
  container: 1320px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.background}"
    rounded: "{rounded.md}"
    padding: 0px
    height: 46px
  card:
    backgroundColor: "{colors.surface}"
    rounded: "{rounded.lg}"
    padding: 30px
---

# Coolors

> Extracted from [https://coolors.co/](https://coolors.co/) on 2026-11-12 by Emblematic. Every value below was read from the rendered DOM (computed styles, `document.fonts`, and the fonts Chrome actually used to paint text), not estimated from pixels. When the YAML front matter and this prose disagree, the YAML wins. Copy values from this file exactly; don't transcribe them from memory. Don't copy logos, imagery, illustrations or marketing copy.

## Overview

Coolors uses a light canvas (#FFFFFF) with a palette led by #2563EB. Type is set in **Inter** (display + body), with 20px body text. Layout: 1320px container, top-fixed navigation, 4 sections. Built with jquery, google-tag-manager, cloudflare.

## Colors

Area-weighted from painted backgrounds, text and borders on the 1440px light capture. Roles are inferred from usage (largest background, most text, interactive fills). Every hex is an exact computed value; a role marked *unverified* is a best guess that has not passed review, so its canonical token (e.g. `primary`) is left out of the front matter.

| Token | Hex | OKLCH | Role | Share of paint | CSS variable |
|---|---|---|---|---|---|
| `background` | `#FFFFFF` | 1 0 0 | bg | 58.0% | `--bg-color` |
| `surface` | `#F5F5F5` | 0.97 0 0 | surface | 9.6% | `--bg-color-2` |
| `on-surface` | `#0A0A0A` | 0.145 0 0 | text | 7.0% | `--text-color` |
| `on-surface-variant` | `#525252` | 0.439 0 0 | muted | 1.3% | `--subtext-color` |
| `primary` | `#2563EB` | 0.546 0.215 262.9 | accent | 0.80% | `--color-primary-600` |
| `yellow-100` | `#FEF9C3` | 0.973 0.069 103.2 | other | 1.8% | `--color-yellow-100` |
| `green-100` | `#DCFCE7` | 0.962 0.043 156.7 | other | 1.8% | `--color-green-100` |
| `cyan-100` | `#CFFAFE` | 0.956 0.044 203.4 | other | 1.7% | `--color-cyan-100` |
| `blue-100` | `#DBEAFE` | 0.932 0.032 255.6 | other | 1.7% | `--color-blue-100` |
| `purple-100` | `#F3E8FF` | 0.946 0.033 307.2 | other | 3.5% | `--color-purple-100` |
| `red-100` | `#FEE2E2` | 0.936 0.031 17.7 | other | 1.8% | `--color-red-100` |
| `orange-100` | `#FFEDD5` | 0.954 0.037 75.2 | other | 1.8% | `--color-orange-100` |
| `cyan-600` | `#0891B2` | 0.609 0.111 221.7 | other | 0.73% | `--color-cyan-600` |
| `pink-600` | `#DB2777` | 0.592 0.218 0.6 | other | 0.69% | `--color-pink-600` |
| `red-600` | `#DC2626` | 0.577 0.215 27.3 | other | 0.68% | `--color-red-600` |
| `yellow-600` | `#CA8A04` | 0.681 0.142 75.8 | other | 0.67% | `--color-yellow-600` |

Sparse chromatic highlights (not accents): `#0891B2` (`--color-cyan-600`), `#DB2777` (`--color-pink-600`), `#DC2626` (`--color-red-600`), `#CA8A04` (`--color-yellow-600`).

Contrast: text on background 19.8:1, muted text 7.81:1, accent 5.17:1.

The site does not change under `prefers-color-scheme: dark`.

## Typography

| Family | Role | Weights | Share of text | Source |
|---|---|---|---|---|
| **Inter** | display, body | 400, 450, 500, 600, 750, 800 | 100.0% | webfont |

Declared in `@font-face` but not used to paint text on this page: IBM Plex Mono, Google Sans Code, Space Mono, Nucleo. Don't treat these as the page's fonts.

Scale (px): 10, 12, 13, 14, 15, 16, 20, 24, 28, 40, 57.5, 110, 151. Effective ratio ≈ 1.401 (close to a augmented fourth). Body 20px at line-height 1.2; display 57.6px with tracking -0.02em. Headings are mixed case. On a 390px viewport the body is 20px and display 40px.

## Layout

Spacing has no reliable single base unit; the most used steps are 4, 5, 10, 12, 14.5, 20, 25, 30, 40, 50, 60, 70px. Sections open with about 115px of space before their first line of text. Content sits in a 1320px container on a 3-column grid. Text density 0.205 (text area / page area).

Section order (desktop). Kinds below the review threshold are shown as *section*:

1. **nav** (60px, bg #FFFFFF)
2. **hero** — “! r o t a r e n e g s e t t e l a p r o l o c t s a f r e p u s e h T” (3085px, bg #FFFFFF)
3. **section** (722px, bg #FFFFFF)
4. **footer** (884px, bg #FFFFFF)

## Elevation & Depth

Style: subtle. Most used shadows:

- `rgba(0, 0, 0, 0.07) 0px 1px 0px 0px`
- `rgba(0, 0, 0, 0.05) 10px -10px 20px 0px`
- `rgba(0, 0, 0, 0.07) 0px -1px 0px 0px`

## Shapes

Dominant corner radius 10px; radii in use: 8px, 10px, 14px. Borders: none (1px).

## Components

- **button-primary**: backgroundColor `#2563EB`, textColor `#FFFFFF`, rounded `10px`, padding `0px 21px`, height `46px`, fontFamily `Inter`, fontSize `16px`, fontWeight `600` (e.g. “Start the Generator”)
- **card**: rounded `14px`, padding `30px`, backgroundColor `#F5F5F5`

## Do's and Don'ts

- Do reserve `#2563EB` for primary actions and highlights; it covers only 0.80% of the painted page.
- Do set body copy in Inter at 20px / 1.2.
- Do tighten large headlines (-0.02em at 57.6px).
- Don't introduce font weights beyond 400, 450, 500, 600, 750, 800.
- Do keep corners at 10px for most controls, and use the larger radii only for cards and media.
- Don't copy this site's logos, illustrations, photography or copy; use the system, not the brand assets.

## Provenance

Spec v2, extractor 0.2.0. Render quality: **ok**. Vision pass: not run. Fields below confidence 0.7 are hedged or left out above: `color.accent_strategy`, `imagery.dominant_colors`, `layout.columns`, `layout.hero`, `layout.section_count`, `space.base`, `space.section_padding_px`. Full per-field provenance is in `spec.json`.
