Skip to main content

  • Foundations
    • Border radius
    • Breakpoints
    • Colours
    • Colour scheme
    • Elevation
    • Focus and outline
    • Sizing and spacing
    • Layout
    • Motion
    • Typography
    • Z-index
  • Elements
    • Buttons
    • Code
    • Icons
    • Figure and caption
    • Forms
    • Links
    • Lists
    • Media
    • Tables
  • Components
    • Accordion
    • Alerts
    • Avatar
    • Blockquote
    • Breadcrumbs
    • Card
    • Chiplets
    • Details and summary
    • Dialog
    • Empty state
    • Stats
    • Global footer
    • Horizontal rule
    • Kanban
    • Key-value list
    • Meter
    • Objects
    • Pagination
    • Polka background
    • Post-it note
    • Progress
    • Speech bubbles
    • Status dot
    • Skeleton
    • Skip link
    • Spinner
    • Toggles
    • Tooltip
    • Webmentions
  • Patterns
    • Article header
    • Author card
    • App list and app sheet
    • Error page
    • Related posts
    • Search results
    • Utilities

John Peart

  • Search
  • Menu
John Peart

Colours

Brand, foreground, background, neutrals, grays and accent palettes.

All site colours are defined as CSS custom properties on :root. Each swatch shows the token name, RGB triplet and hex code. Derived tokens that change by colour scheme show both light and dark values.

Foreground and background

These tokens resolve differently in light and dark mode using light-dark(). Each value points at a step from the neutral spectrum above.

Text--colorlight: var(--black)dark: var(--white)
Text inverse--color--inverselight: var(--white)dark: var(--black)
Background--backgroundlight: var(--white)dark: var(--black)
Background inverse--background--inverselight: var(--black)dark: var(--white)
Secondary bg--secondary-backgroundlight: var(--gray-100)dark: var(--gray-900)
Secondary text--secondary-colorlight: var(--gray-700)dark: var(--gray-300)
Secondary border--secondary-borderColorlight: var(--gray-300)dark: var(--gray-700)

Neutrals

Whites, grays and blacks form a continuous spectrum. The five grays sit between --white and --black on a perceptually-uniform ramp (≈15-point lightness step). The --absolute-* endpoints are reserved for pure-white and pure-black fills where absolutely no tint is wanted.

Absolute white
--absolute-white
L 100%
White
--white
L 98%
Gray 100
--gray-100
L 83%
Gray 300
--gray-300
L 68%
Gray 500
--gray-500
L 53%
Gray 700
--gray-700
L 38%
Gray 900
--gray-900
L 23%
Black
--black
L 9%
Absolute black
--absolute-black
L 0%

Colours

Red tint--red-tintrgb(250, 199, 203)#fac7cb
Red--redrgb(250, 35, 60)#fa233c
Red tone--red-tonergb(200, 4, 27)#c8041b
Orange tint--orange-tintrgb(255, 205, 183)#ffcdb7
Orange--orangergb(255, 79, 0)#ff4f00
Orange tone--orange-tonergb(200, 63, 0)#c83f00
Yellow tint--yellow-tinthsl(51, 100%, 75%)
Yellow--yellowhsl(51, 100%, 50%)
Yellow tone--yellow-tonehsl(51, 100%, 35%)
Green tint--green-tinthsl(136, 37%, 60%)
Green--greenhsl(136, 37%, 46%)
Green tone--green-tonehsl(123, 91%, 16%)
Cyan tint--cyan-tinthsl(198, 100%, 60%)
Cyan--cyanhsl(198, 100%, 45%)
Cyan tone--cyan-tonehsl(198, 100%, 30%)
Blue tint--blue-tinthsl(211, 100%, 75%)
Blue--bluehsl(211, 100%, 50%)
Blue tone--blue-tonehsl(211, 100%, 35%)
Purple tint--purple-tinthsl(283, 97%, 80%)
Purple--purplehsl(283, 97%, 63%)
Purple tone--purple-tonehsl(283, 97%, 45%)
Magenta tint--magenta-tinthsl(327, 100%, 70%)
Magenta--magentahsl(327, 100%, 45%)
Magenta tone--magenta-tonehsl(327, 100%, 30%)
A line drawing of John Peart

John Peart

www.johnpe.art

Mastodon logo

Mastodon

BlueSky logo

Bluesky

LinkedIn logo

LinkedIn

Github logo

GitHub