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.
the page. warm enough that it never reads as a screen default, close enough to white that nothing competes with it.
ink, and never quite black. the violet under it keeps long passages from going harsh.
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.
the accent under a cursor. darker, not brighter — the surface gives way rather than lighting up.
secondary text. present when looked for, silent otherwise.
every rule and border. a screen divides a room without closing it.
the code panel. deeper than the ink, so a listing reads as an object set on the page rather than a hole in it.
strings. the only cool color in the set, and it appears exclusively inside code.
numbers. warm, adjacent to the accent, never mistaken for it.
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.
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.
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.
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.