the brand guide

how kanso is drawn

a language about removing what does not carry meaning cannot be dressed in decoration. everything here follows from that: one accent, one idea per surface, and a great deal of paper left blank on purpose. the palette is small enough to memorize, which is the point — a reader should recognize a kanso page before they read a word of it.

the palette

ten colors, and only one of them raises its voice. the neutrals do the work; the orange is spent, never spread.

rice paper
#fcfbf7

the page. warm enough that it never reads as a screen default, close enough to white that nothing competes with it.

sumi
#17161b

ink, and never quite black. the violet under it keeps long passages from going harsh.

torii
#f03a00

the one loud thing. a gate is a single mark you can see from across a valley, and it works because there is only one.

torii, pressed
#c93000

the accent under a cursor. darker, not brighter — the surface gives way rather than lighting up.

slate tea
#6a6871

secondary text. present when looked for, silent otherwise.

shoji
#e7e4dc

every rule and border. a screen divides a room without closing it.

lacquer
#101014

the code panel. deeper than the ink, so a listing reads as an object set on the page rather than a hole in it.

matcha
#6ccfa3

strings. the only cool color in the set, and it appears exclusively inside code.

persimmon
#f0c674

numbers. warm, adjacent to the accent, never mistaken for it.

indigo dusk
#7faff7

types. the coldest thing on the site, for the most abstract thing in the language.

the dark theme is the same palette with the paper and the ink exchanged, and the accent lifted to #ff5a2e so it survives a dark ground at the same apparent weight.

the type

three faces, each with one job, and none of them chosen to be interesting.

space grotesk · display · headings and the brand

simplicity through elimination

a grotesque with the corners left slightly unfinished. it has personality without ornament, which is the whole brief — the letterforms are plain, but they are not neutral, and at large sizes the tension shows.

64簡素
32guardrails, not lifetimes
18the founding principle
inter · text · everything you actually read

the reader is smart. the job is to explain the material to them, not to perform it. inter disappears at reading size, which is the highest compliment a text face can be paid, and it holds up in the long technical passages the compiler page is made of.

17a value is computed when it is demanded, or never.
14a value is computed when it is demanded, or never.
12a value is computed when it is demanded, or never.
jetbrains mono · code · listings, counters, and every number

fn greet name
  "hello, {name}"

chosen for the tall x-height and the unmistakable zero. every measured number on this site is set in it, which is a quiet promise: if it is in mono, somebody ran it.

the reasoning

space is the material

a luxury brand is recognized by what it leaves out; so is this one. when a section feels thin, the answer is more room around it, not more in it.

one accent, spent deliberately

torii marks the single most important thing on a screen. two accents on one page means neither is the most important thing, and the reader has to decide — which is work you were supposed to do for them.

the machinery stays behind the panel

kanso is cool, not intimidating. the compiler page exists for anyone who wants the internals; every other page should read as though the internals are handled.

nothing decorative that cannot be run

the sample on the landing page is not a picture of code — it executes. an illustration that could have been a demonstration is a missed one.

the enso is the mark: a circle drawn in one stroke, left open. it is the oldest visual argument for this language's thesis — the gap is what makes it a drawing rather than a shape.