Display
Bricolage Grotesque
Kina is a language for tensors.
- Token
--family-display- CSS
var(--font-display)- Weights
- 500
- Used for
- Hero display and page titles (.display, .title).
Design · Type
Three families, a fluid modular scale, and a short list of roles. This page renders the same tokens and classes the rest of the site already uses. Do not invent a fourth family or a raw step on a page — add a role instead.
Families
Display for scarce headlines, sans for reading, mono for the language itself.
Display
Kina is a language for tensors.
--family-displayvar(--font-display)Sans
The compiler lowers typed programs to textual MLIR.
--family-sansvar(--font-sans)Mono
fn main() -> Tensor[f32; 2, 2]
--family-monovar(--font-mono)Scale
Viewport-clamped steps from --step--2 to --step-5. Body is step 0 at 1.6 line-height. Measure is 66ch. The ladder shows size only; family is a separate choice.
Roles
Prefer these classes over ad-hoc sizes. If a new surface needs a size that is not here, add a role.
.kickerIBM Plex Mono 500 · step−2 · uppercase · 0.16em tracking · Pelorous
Phase 1
Eyebrow above a title. Names the topic; it is not decorative Latin.
.displayBricolage Grotesque 500 · step-5 · −0.04em tracking · line-height 1.02 · max 18ch
Typed tensors. Honest status.
Landing hero only. One thought, then stop.
.titleBricolage Grotesque 500 · step-4 · −0.035em tracking · line-height 1.1
Language overview
Interior page title under the kicker.
.sectionDM Sans 650 · step-3 · −0.025em tracking
What the compiler does
In-page section heading. Not Bricolage — display stays scarce.
.ledeDM Sans 400 · step-1 · muted ink · line-height 1.55
Kina is a research language for typed tensor programs. The bootstrap compiler is written in OCaml and lowers typed programs to textual MLIR.
One or two sentences under a title. Explains the page; it does not repeat the title.
.tile-titleDM Sans 650 · step-2 · −0.02em tracking
Reverse-mode AD
Card heading. Keep it short enough to scan in a three-column grid.
.tile-nameIBM Plex Mono 500 · step-0
storylm0_forward.kina
Example filenames and other identifiers inside a tile.
.tile-copyDM Sans 400 · step−1 · muted ink · line-height 1.45
What the compiler, runtime, and site actually do today.
Supporting line on a card. One claim.
.brandIBM Plex Mono 500 · step−1 · uppercase · 0.14em tracking
Kina.ai
Masthead wordmark. The .ai suffix is Pelorous.
.chipIBM Plex Mono 400 · step−2 · pill · muted ink
StoryLM-0 is a forward graph
Fact, not a link. Used under the landing hero.
.figure-labelIBM Plex Mono 400 · step−2 · 0.04em tracking · muted ink
From the StoryLM-0 forward graph — compile and numerical check
Caption above a code figure.
.actionDM Sans 550 · step−1 · pill · line-height 1
Control label. Color and border belong to the action page; the type role lives here.
Prose
Doc and language pages wrap Markdown in .prose. Headings step down from the page title; body stays DM Sans. Measure stays 66ch.
Kina is an AI-native programming language targeting tensors natively. The bootstrap compiler is written in OCaml, accepts the .kina surface, and lowers typed programs to textual MLIR.
Use the prose column for explanation. Keep sentences short. Put code in a fence, not in the middle of a claim.
Inline Tensor[f32; B, T, D] stays IBM Plex Mono. Lists and tables inherit the same measure.
fn main() -> Tensor[f32; 2, 2] {
[[1.0, 0.0], [0.0, 1.0]]
}Next
Color, space, and actions have their own pages. Page shells and recipes live on Structure. Space defines the tile grid; masonry stays opt-in.