Paper. Ink. Mineral.

Paper gives the brand space. Ink carries the words and structure. Mineral is the door, water and accent.

The core.

Use the three colours as a family. Pure black and pure white belong only in platform crop checks.

Paper

The default page and post canvas.

Ink

Type, marks and the product surface.

Mineral

The door panel and small areas of colour.

Derived site colours.

Use these for surfaces, rules and secondary text. A colour name does not establish a passing text pair.

Ink soft

Mineral deep

Paper soft

Line

Muted

Seven tones for art.

The ramp belongs to illustration. Quantise artwork to these colours; keep type and diagrams vector sharp.

Tone 0#F4F2EC
Tone 1#D9DFDF
Tone 2#B8CAD1
Tone 3#8DB1C1
Tone 4#7695A4
Tone 5#57707F
Tone 6#1B2B41
ToneRoleToken
0Paper sky, moon and brightest stone
1Light sky and pale dither
2Haze, distant water and light midtone
3Water and the Mineral door
4Middle stone and shaded water
5Deep shade and night texture
6Linework, trees and night sky

Theme tokens.

Use semantic tokens for the page. The light and dark themes have their own text, surfaces and control boundaries.

Light

#F4F2EC
#1B2B41
#E9EAE4
#F4F2EC
#4A5A6E
#C9D1D4
#4A5A6E
#1B2B41
#F4F2EC

Dark

#1B2B41
#F4F2EC
#24374F
#2D4361
#AAB7C4
#4A5A6E
#7F90A3
#B9D2DC
#1B2B41

Line tokens separate sections. They are decorative. Form controls and interactive outlines use the stronger control border token, which passes 3:1 against the page and first surface.

Product UI stays on Ink.

The wallet and bridge share Ink surfaces in day and night marketing.

Address check

The network, type and checksum must match.

prl1pe…r2ms

Check the recipient address.

TokenValueUse
Product UI card.
Product UI raise.
Product UI raise 2.
Product UI line.
Product UI text.
Product UI muted.
Decorative detail only; use Muted for small text.
Small text on Card or Raise. Use Accent strong on Raise 2.
Product UI accent strong.
Background for the real Pearl asset mark.
Errors and paused notices only.

Product rule: rgba(244,242,236,.10) is a decorative divider. Coral #F0A898 is reserved for errors or paused status. It never enters art or decorates a post.

Contrast, measured.

Normal text needs 4.5:1. Large text and meaningful control boundaries need 3:1. Ratios use WCAG relative luminance, without rounding to pass.

SystemPairContrastResultAllowed use
site lightfg / bg12.77:1AAnormal text
site lightfg / surface11.82:1AAnormal text
site lightfg / surface-212.77:1AAnormal text
site lighttext-muted / bg6.30:1AAnormal text
site lighttext-muted / surface5.83:1AAnormal text
site lighttext-muted / surface-26.30:1AAnormal text
site lighton-accent / accent12.77:1AAnormal text
site lightcontrol-border / bg6.30:1AAcontrol boundary
site lightcontrol-border / surface5.83:1AAcontrol boundary
site darkfg / bg12.77:1AAnormal text
site darkfg / surface10.82:1AAnormal text
site darkfg / surface-28.99:1AAnormal text
site darktext-muted / bg7.00:1AAnormal text
site darktext-muted / surface5.93:1AAnormal text
site darktext-muted / surface-24.92:1AAnormal text
site darkon-accent / accent9.07:1AAnormal text
site darkcontrol-border / bg4.37:1AAcontrol boundary
site darkcontrol-border / surface3.70:1AAcontrol boundary
product UItext / card12.77:1AAnormal text
product UItext / raise10.82:1AAnormal text
product UItext / raise-28.99:1AAnormal text
product UImuted / card7.00:1AAnormal text
product UImuted / raise5.93:1AAnormal text
product UImuted / raise-24.92:1AAnormal text
product UIfaint / card4.37:1Restricteddecoration only
product UIfaint / raise3.70:1Restricteddecoration only
product UIfaint / raise-23.08:1Restricteddecoration only
product UIaccent / card6.26:1AAnormal text
product UIaccent / raise5.30:1AAnormal text
product UIaccent / raise-24.40:1Restricteddecoration only
product UIaccent-strong / card9.07:1AAnormal text
product UIaccent-strong / raise7.68:1AAnormal text
product UIaccent-strong / raise-26.38:1AAnormal text
product UItoken-chip / card10.53:1AAnormal text
product UItoken-chip / raise8.92:1AAnormal text
product UItoken-chip / raise-27.41:1AAnormal text
product UIerror / card7.33:1AAnormal text
product UIerror / raise6.20:1AAnormal text
product UIerror / raise-25.16:1AAnormal text

Faint is 4.37:1 on the base Ink card and lower on raised surfaces. It is not an AA small text colour. Mineral is 4.40:1 on Raise 2; use Accent strong there. These source tokens remain available for nontext details.

Source: W3C contrast minimum guidance ↗. The kit evaluates normal text without rounding a near miss into a pass.

Core pair matrix.

A failing pair can still be a surface or decorative fill. Do not use it for normal text.

ForegroundOn PaperOn InkOn Mineral
Ink12.77:1 · AA1.00:1 · Fails text6.26:1 · AA
Paper1.00:1 · Fails text12.77:1 · AA2.04:1 · Fails text
Mineral2.04:1 · Fails text6.26:1 · AA1.00:1 · Fails text
Ink-soft9.39:1 · AA1.36:1 · Fails text4.60:1 · AA
Mineral-deep2.95:1 · Fails text4.32:1 · Fails text1.45:1 · Fails text
Paper-soft1.08:1 · Fails text11.82:1 · AA1.89:1 · Fails text
Line1.38:1 · Fails text9.23:1 · AA1.48:1 · Fails text
Muted6.30:1 · AA2.03:1 · Fails text3.09:1 · Fails text

Give the canvas room.

Start with a dominant neutral, then use the accent where it carries meaning.

The browser wallet
for Pearl.

PEARL on Pearl and wPEARL on Ethereum, in one account.

Day: a large Paper field, Ink type and one Mineral detail.

Your keys stay
on your device.

The browser wallet for Pearl.

Night: Ink does the same job as the Paper field. Use mono Paper.

Starting proportion for a day layout: about 70% Paper, 20% Ink and 10% Mineral. Art can use the full ramp. Avoid three equally sized colour fields in a finished post.

Charts use the ramp.

On Ink, use Paper, the light midtone and Mineral. Distinguish series by stroke and labels as well as colour.

Example A, solidExample B, dashedExample C, dotted

The specimen is a style example. Use labelled units and a real source whenever publishing data. Do not introduce a new hue for an extra series.