---
version: alpha
name: Bun
description: Light design system extracted from bun.sh (DOM-true values, Emblematic extractor 0.2.0, 2026-11-12).
colors:
  background: "#FFFFFF"
  on-surface: "#0A0A0A"
  surface: "#F6F6F699"
  on-surface-variant: "#525252"
  outline: "#E2E2E2"
  color-6: "#0A0A0A12"
  color-7: "#111114"
  color-8: "#707070"
  color-9: "#F6F6F6"
  color-10: "#EAEAE8"
  color-11: "#0000008C"
  docsearch-primary-color: "#FF1F8F"
  color-13: "#181818"
  color-14: "#1E1E21"
  primary: "#FF2E97"
  background-dark: "#0D0A0C"
  on-surface-dark: "#EAEAE8"
  on-surface-variant-dark: "#A8A8A5"
  surface-dark: "#17131699"
  primary-dark: "#FF2E97"
  outline-dark: "#28282B"
typography:
  display-lg:
    fontFamily: Archivo
    fontSize: 68px
    fontWeight: 800
    lineHeight: 0.92
    letterSpacing: -0.02em
  headline-md:
    fontFamily: Archivo
    fontSize: 76px
    fontWeight: 800
    lineHeight: 0.92
    letterSpacing: -0.02em
  title-md:
    fontFamily: SF Pro (system-ui)
    fontSize: 20.48px
    fontWeight: 600
    lineHeight: 1.375
    letterSpacing: -0.015em
  body-md:
    fontFamily: SF Pro (system-ui)
    fontSize: 17.28px
    fontWeight: 400
    lineHeight: 1.625
  body-sm:
    fontFamily: SF Pro (system-ui)
    fontSize: 14.5px
    fontWeight: 400
    lineHeight: 1.625
  mono-md:
    fontFamily: Martian Mono
    fontSize: 11px
    fontWeight: 400
    lineHeight: 1.5
rounded:
  sm: 3px
  md: 4px
  full: 9999px
spacing:
  xxs: 2px
  xs: 4px
  sm: 6px
  md: 8px
  lg: 10px
  xl: 12px
  2xl: 14px
  3xl: 16px
  4xl: 20px
  5xl: 24px
  6xl: 40px
  7xl: 112px
  base: 4px
  container: 1216px
components:
  button-primary:
    backgroundColor: "{colors.on-surface}"
    textColor: "{colors.background}"
    rounded: 0px
    padding: 0px
    height: 36px
  button-secondary:
    backgroundColor: "#0C0C0C"
    textColor: "{colors.background}"
    rounded: 0px
    padding: 12px
    height: 44.5px
---

# Bun

> Extracted from [https://bun.sh/](https://bun.sh/) on 2026-11-12 by Emblematic. Every value below was read from the rendered DOM (computed styles, `document.fonts`, and the fonts Chrome actually used to paint text), not estimated from pixels. When the YAML front matter and this prose disagree, the YAML wins. Copy values from this file exactly; don't transcribe them from memory. Don't copy logos, imagery, illustrations or marketing copy.

## Overview

Bun uses a light canvas (#FFFFFF) with a palette. Type is set in **Archivo** (display), **SF Pro (system-ui)**, **Martian Mono** (mono), with 17.5px body text. Layout: 1216px container, top-sticky navigation, 13 sections. Built with react, tailwind, google-tag-manager, vercel, cloudflare.

## Colors

Area-weighted from painted backgrounds, text and borders on the 1440px light capture. Roles are inferred from usage (largest background, most text, interactive fills). Every hex is an exact computed value; a role marked *unverified* is a best guess that has not passed review, so its canonical token (e.g. `primary`) is left out of the front matter.

| Token | Hex | OKLCH | Role | Share of paint | CSS variable |
|---|---|---|---|---|---|
| `background` | `#FFFFFF` | 1 0 0 | bg | 70.9% | `--tw-ring-offset-color` |
| `on-surface` | `#0A0A0A` | 0.145 0 0 | text | 12.9% | — |
| `surface` | `#F6F6F699` (on bg `#FAFAFA`) | 0.973 0 0 | surface | 3.4% | — |
| `on-surface-variant` | `#525252` | 0.439 0 0 | muted | 3.1% | — |
| `outline` | `#E2E2E2` | 0.913 0 0 | border | 0.26% | — |
| `color-6` | `#0A0A0A12` (on bg `#EEEEEE`) | 0.145 0 0 | other | 1.7% | — |
| `color-7` | `#111114` | 0.179 0.006 285.8 | other | 1.6% | — |
| `color-8` | `#707070` | 0.545 0 0 | other | 1.5% | — |
| `color-9` | `#F6F6F6` | 0.973 0 0 | other | 1.1% | — |
| `color-10` | `#EAEAE8` | 0.936 0.003 106.5 | other | 0.87% | — |
| `color-11` | `#0000008C` (on bg `#737373`) | 0 0 0 | other | 0.57% | — |
| `docsearch-primary-color` | `#FF1F8F` | 0.657 0.255 358.6 | other | 0.62% | `--docsearch-primary-color` |
| `color-13` | `#181818` | 0.209 0 0 | other | 0.37% | — |
| `color-14` | `#1E1E21` | 0.236 0.006 286 | other | 0.24% | — |

Declared brand/accent tokens: `--docsearch-primary-color` = `#FF1F8F`.

Contrast: text on background 19.8:1, muted text 7.81:1, accent 3.45:1.

Gradients in use: `linear-gradient(rgba(10, 10, 10, 0.07) 0px, rgba(10, 10, 10, 0.07) 0px), linear-gradient(rgba(10, 10, 10, 0.07) 0px, rgba(10, 10, 10, 0.07) `.

The site responds to `prefers-color-scheme: dark`; the `-dark` tokens hold the dark-mode roles.

## Typography

| Family | Role | Weights | Share of text | Source |
|---|---|---|---|---|
| **Archivo** | display | 800, 900 | 43.3% | webfont |
| **SF Pro (system-ui)** (CSS: `ui-sans-serif`) | body | 400, 500, 600, 700 | 43.3% | system (stack `ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe`, resolved on macos) |
| **Martian Mono** | mono | 400, 500, 700 | 13.4% | webfont |

Scale (px): 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 16, 16.5, 17, 17.5, 18, 19, 20.5, 32, 37, 43, 68, 76, 117. Effective ratio ≈ 1.235 (close to a major third). Body 17.5px at line-height 1.55; display 68px with tracking -0.02em. Headings are sentence case. On a 390px viewport the body is 17px and display 40px.

## Layout

Spacing follows a 4px base unit; the most used steps are 2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 40, 112px. Sections open with about 113px of space before their first line of text. Content sits in a 1216px container on a 2-column grid. Text density 0.144 (text area / page area).

Section order (desktop). Kinds below the review threshold are shown as *section*:

1. **nav** (64px, bg #FFFFFF)
2. **hero** — “Bun is a JavaScript runtime toolkit. All in one.” (777px, bg #FFFFFF)
3. **section** — “Four tools, designed together.” (616px, bg #FFFFFF)
4. **section** — “One binary for the whole workflow.” (1007px, bg #FFFFFF)
5. **section** — “bun fmt: a Prettier-compatible formatter built into Bun.” (870px, bg #FFFFFF)
6. **section** — “Bun in production” (1486px, bg #FFFFFF)
7. **section** — “The fastest install in every situation you actually hit.” (1191px, bg #FFFFFF)
8. **testimonials** — “Everything built in.” (930px, bg #FFFFFF)
9. **section** — “The APIs you need, baked in.” (1554px, bg #FFFFFF)
10. **section** — “Full speed, full‑stack” (943px, bg #FFFFFF)
11. **section** — “Bun is a complete toolkit.” (1015px, bg #FFFFFF)
12. **section** — “Try it on the repo you have” (707px, bg #0D0A0C)
13. **footer** (378px, bg #FAFAFA)

## Shapes

Dominant corner radius 0px; radii in use: 3px, 4px, pill. Borders: hairline (1px).

## Components

- **button-primary**: backgroundColor `#0A0A0A`, textColor `#FFFFFF`, rounded `0px`, padding `0px 14px`, height `36px`, fontFamily `SF Pro (system-ui)`, fontSize `13.5px`, fontWeight `600` (e.g. “Install”)
- **button-secondary**: backgroundColor `#0C0C0C`, textColor `#FFFFFF`, rounded `0px`, padding `12px 10px`, height `44.5px`, fontFamily `SF Pro (system-ui)`, fontSize `13px`, fontWeight `600`, border `1px solid #181818` (e.g. “bun install”)

## Do's and Don'ts

- Do set body copy in SF Pro (system-ui) at 17.5px / 1.55.
- Do use Archivo only for display sizes, not for body text.
- Do tighten large headlines (-0.02em at 68px).
- Don't introduce font weights beyond 400, 500, 600, 700, 800, 900.
- Don't add drop shadows; depth comes from tone and borders.
- Do keep corners at 0px for most controls, and use the larger radii only for cards and media.
- Do snap spacing to multiples of 4px.
- Don't copy this site's logos, illustrations, photography or copy; use the system, not the brand assets.

## Provenance

Spec v2, extractor 0.2.0. Render quality: **ok**. Vision pass: not run. Fields below confidence 0.7 are hedged or left out above: `color.accent_strategy`, `layout.columns`, `layout.hero`, `layout.section_count`, `sections[].kind`, `space.section_padding_px`. Full per-field provenance is in `spec.json`.
