Skip to main content
Context GrammarDesign for context-aware AI

Design system catalogue

Foundations

Colour, type and the brand marks: the tokens every page is built from, shown live.

Colour

01

Ink, paper and spark

  • --paper

    The ground every page sits on.

    Light #f8f7f2 · Dark #15171c

  • --ink

    Type and hairlines.

    Light #15171c · Dark #f8f7f2

  • --spark

    The one signal — a fill, never body text.

    Light #e1402f · Dark #e1402f

Two neutrals that trade places between light and dark, and one red that stays put. Red is a fill and a border; type set in red uses --spark-ink.

02

Colour tokens

var(--paper)
…
…
var(--paper-2)
…
…
var(--paper-3)
…
…
var(--ink)
…
…
var(--ink-2)
…
…
var(--muted)
…
…
var(--line)
…
…
var(--line-2)
…
…
var(--line-strong)
…
…
var(--line-control)
…
…
var(--spark)
…
…
var(--spark-ink)
…
…

Every colour on the site is a named token. The values and the contrast against paper are read from the live stylesheet, so they follow the light and dark switch. Text takes ink, ink-2, muted or spark-ink; lines and spark are for shape.

Type

03

Type roles

Context changes the answer.

Intent First reads language as intent, context and constraints, not as menu paths.

Intent First reads language as intent, context and constraints, not as menu paths.

Design system

Design system · 0123456789

Japanese (lang=ja)

状況が変われば、答えも変わる。

Intent First は、言葉をメニュー操作に当てはめず、意図・文脈・制約として読み取ります。

Intent First は、言葉をメニュー操作に当てはめず、意図・文脈・制約として読み取ります。

デザインシステム

デザインシステム · 0123456789

Text asks for a role — display, body, label, voice or data — never a font. The switch swaps the display family under every heading in the sample; Japanese has its own faces.

04

Role by scale

scaledisplaybodylabelvoicedata
text-caption13pxIntentIntentIntentIntentIntent
text-meta14pxIntentIntentIntentIntentIntent
text-body17pxIntentIntentIntentIntentIntent
text-lead21pxIntentIntentIntentIntentIntent
text-h426pxIntentIntentIntentIntentIntent
text-h333pxIntentIntentIntentIntentIntent
text-h241pxAaAaAaAaAa
text-h152pxAaAaAaAaAa
text-display52–65pxAaAaAaAaAa
text-hero41–96pxAaAaAaAaAa

Every role at every step of the type scale. The pixel figures are approximate: the larger steps are fluid and grow with the screen.

Spacing

05

Spacing

4px
8px
12px
16px
24px
32px
48px
64px

A reference scale from 4px to 64px, drawn at true size.

Brand

06

The “if” mark

Ink tile: if mark

Ink tile

Favicon on light browser chrome; apple-touch-icon (square, full bleed).

/brand/favicon-light-32.png · 192 · 512

Paper tile: if mark

Paper tile

Favicon on dark browser chrome.

/brand/favicon-dark-32.png · 192 · 512

The initials of intentfirst set in Newsreader, with the i’s dot in spark. It reads as the start of a condition, which is what the site is about: what the AI should do, if this is the situation.