---
version: alpha
name: CodeMirror
description: "Light interface measured from codemirror.net: Merriweather type with Source Sans Pro, vivid blue accents, flat surfaces and square corners."
colors:
  background: "#FFFFFF"
  surface: "#FFFFFF"
  on-surface: "#000000"
  on-background: "#000000"
  on-surface-variant: "#777777"
  outline: "#E5E5E5"
  primary: "#066ADF"
  on-primary: "#FFFFFF"
  secondary: "#0000FF"
  tertiary: "#EE4400"
typography:
  headline-display:
    fontFamily: Merriweather
    fontSize: 32px
    fontWeight: 700
    lineHeight: 1.25
  body-md:
    fontFamily: Source Sans Pro
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.45
  label-lg:
    fontFamily: Merriweather
    fontSize: 16px
    fontWeight: 700
    lineHeight: 1.63
  label-md:
    fontFamily: Source Sans Pro
    fontSize: 14px
    fontWeight: 600
    lineHeight: 1.45
  label-sm:
    fontFamily: Merriweather
    fontSize: 12px
    fontWeight: 700
  code:
    fontFamily: SFMono-Regular
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.4
  headline-display-mobile:
    fontFamily: Merriweather
    fontSize: 22px
    fontWeight: 700
    lineHeight: 1.82
rounded:
  none: 0px
spacing:
  xs: 3px
  sm: 8px
  md: 12px
  lg: 17px
  xl: 50px
  gutter: 17px
  section: 62px
  container: 720px
components:
  link:
    textColor: "{colors.on-surface}"
---

# CodeMirror Design System

## Overview

The interface is light, built on **White (#FFFFFF)** with **Near Black (#000000)** text, and **Vivid Blue (#066ADF)** as the main accent.

Type is set in **Merriweather** and **Source Sans Pro**, with **SFMono-Regular** for code. Headlines run large; body text is 16px. The surface language is flat. Corners are square.

Measured from [codemirror.net](https://codemirror.net/) on November 4, 2026 at 1440×900 and 390×844 from 190 rendered elements. Values are computed styles from the live page, not the original source files.

## Colors

The palette has 8 roles.

- **White (#FFFFFF):** Page background, seen 1 time. Token `background`.
- **Near Black (#000000):** Primary text and headings, seen 67 times. Token `on-surface`.
- **Slate (#777777):** Secondary text, seen 3 times. Token `on-surface-variant`.
- **Mist (#E5E5E5):** Borders and dividers, seen 4 times. Token `outline`.
- **Vivid Blue (#066ADF):** Most used accent color, seen 9 times. Token `primary`.
- **White (#FFFFFF):** Text and icons on primary. Token `on-primary`.
- **Vivid Indigo (#0000FF):** Accent in text, fills and borders, seen 2 times. Token `secondary`.
- **Vivid Orange (#EE4400):** Accent in text, fills and borders, seen 2 times. Token `tertiary`.

## Typography

**Merriweather**, **Source Sans Pro** and **SFMono-Regular** (monospace) share the interface. Fallback stack: `Merriweather`.

- **headline-display:** Merriweather 32px at weight 700, line height 1.25 (22px on mobile). Page title (h1).
- **body-md:** Source Sans Pro 16px at weight 400, line height 1.45. Body text.
- **label-lg:** Merriweather 16px at weight 700, line height 1.63. Large buttons and tabs.
- **label-md:** Source Sans Pro 14px at weight 600, line height 1.45. Buttons, navigation and labels.
- **label-sm:** Merriweather 12px at weight 700. Small labels and badges.
- **code:** SFMono-Regular 14px at weight 400, line height 1.4. Code and technical values.

## Layout

Spacing does not follow a strict grid: 50% of measured values are multiples of 4px, so match the measured steps rather than rounding to a grid.

- **Scale:** xs 3px, sm 8px, md 12px, lg 17px, xl 50px.
- **Sections:** 62px vertical padding between major sections.
- **Gaps:** 17px is the most common gap in flex and grid layouts.
- **Container:** content is capped at 720px.
- **Breakpoints:** 830px, 1130px.

## Elevation & Depth

The design is flat: no shadows were measured. Hierarchy comes from color contrast and #E5E5E5 borders.

## Shapes

Corners are square. Measured radii, most used first:

- **none (0px):** measured.

## Components

Measured from the rendered page. Token values reference the tokens above.

- **link:** transparent fill, #000000 text, padding 0px.

## Do's and Don'ts

- Do use #FFFFFF for the page.
- Do keep text in 2 levels: #000000, #777777.
- Do reserve #066ADF for primary actions and key highlights.
- Do reuse the measured spacing steps (8px, 12px, 17px).
- Don't use #777777 for body text; it reaches 4.48:1 on #FFFFFF. Keep it for large text or metadata.
- Don't add drop shadows for depth; use borders and contrast.
- Don't introduce new font families beyond Merriweather, Source Sans Pro and SFMono-Regular.
- Don't use #066ADF for large backgrounds or body text.

Generated by [Sitepeel](https://sitepeel.dev/design-md/codemirror.net/), the free DESIGN.md generator (engine 2026.10.29+b828a475ee10).
