# WPEC design system

> WPEC design system measured from cbs12.com: Open Sans font, #BE0000 primary on #EDEDED, 11 color hex codes, type scale, spacing and a free DESIGN.md.

Canonical page: https://sitepeel.dev/design-md/cbs12.com/

WPEC’s website (cbs12.com) uses the Open Sans font and #BE0000 as its main color on a #EDEDED background. Measured by Sitepeel on November 6, 2026.

## What font does WPEC use?

WPEC uses Open Sans (weights 400, 700 and 800) on cbs12.com. Page titles are 33px at weight 400 and body text is 14px. Measured on November 6, 2026.

- Open Sans (weights 400, 700, 800)

## WPEC colors: palette and hex codes

WPEC’s main colors are #EDEDED (mist) for the background, #121212 (charcoal) for text and #BE0000 (dark red) as the main accent, with #3AB44B (green) and #0766FF (vivid blue) as other accents. Measured on November 6, 2026.

- #EDEDED: mist
- #121212: charcoal
- #000000: near black
- #222222: charcoal
- #FFFFFF: white
- #BE0000: dark red
- #3AB44B: green
- #0766FF: vivid blue

## What is WPEC built with?

WPEC’s website (cbs12.com) is built with Next.js, Backbone.js, React, CSS Modules and Amazon CloudFront. Measured on November 6, 2026.

- JavaScript framework: Next.js 16.4.2, Backbone.js 1.6.1, React 18.3.1
- Analytics: Mixpanel, Google Analytics, Google Tag Manager
- Hosting & CDN: Amazon CloudFront
- UI & CSS: CSS Modules
- Fonts & icons: Google Fonts

## Questions and answers

### What font does WPEC use?

WPEC’s website uses Open Sans (weights 400, 700 and 800). Page titles are 33px at weight 400 and body text is 14px. Measured on November 6, 2026.

### What are the WPEC colors and hex codes?

On cbs12.com: #EDEDED (mist) for the background, #121212 (charcoal) for text and #BE0000 (dark red) as the main accent, with #3AB44B (green) and #0766FF (vivid blue) as other accents. The color palette above lists all 11 colors with their hex codes and where each one is used.

### What is the WPEC design system?

The design system on this page is cbs12.com’s, as measured on November 6, 2026: Open Sans type, #BE0000 as the main color and 100px corners, written down as a DESIGN.md. It is not WPEC’s own documentation.

### What is WPEC built with?

WPEC’s website (cbs12.com) is built with Next.js, Backbone.js, React, CSS Modules and Amazon CloudFront. The full tech stack Sitepeel found: Next.js, Backbone.js, React, Mixpanel, Amazon CloudFront, CSS Modules, Google Fonts, Google Analytics and Google Tag Manager. Measured on November 6, 2026.

### What is the WPEC DESIGN.md?

A plain-text file with WPEC’s measured colors, type, spacing, corners and components as tokens, plus short rules, in the DESIGN.md format Google published with Stitch. Your AI coding agent reads it and builds in this style. More about DESIGN.md.

### How do I use it with Claude Code or Cursor?

Download the file and put it in your project’s root folder, then ask your agent to follow DESIGN.md. Step-by-step guides: Claude Code, Cursor, Codex, GitHub Copilot.

### Is this WPEC’s official design system?

No. Sitepeel measured it from cbs12.com’s public page on November 6, 2026. It is an independent analysis, not made or approved by WPEC.

### Can I use WPEC’s style in my own product?

Use it to learn, prototype and compare. For a real product, make the style your own, and never copy WPEC’s logo, name, pictures or text.

### How accurate are the values?

Each value was measured on the rendered page after it fully loaded, on desktop and mobile: colors where they appear, type with tracking, spacing, corners, shadows and hover states. Sites change, so check the date at the top.

## Files

- [DESIGN.md](https://sitepeel.dev/design-md/cbs12.com/DESIGN.md): the plain file to put in your project.
- [All brand DESIGN.md files](https://sitepeel.dev/design-md/examples/index.md)

Independent analysis by Sitepeel (sitepeel.dev), not affiliated with WPEC.

## The DESIGN.md file

```markdown
---
version: alpha
name: WPEC
description: "Light interface measured from cbs12.com: Open Sans type, dark red accents, tonal surfaces and 100px corners."
colors:
  background: "#EDEDED"
  surface: "#EDEDED"
  on-surface: "#121212"
  on-background: "#121212"
  on-surface-strong: "#000000"
  on-surface-variant: "#222222"
  surface-container-low: "#FFFFFF"
  overlay: "#00000066"
  overlay-strong: "#00000040"
  primary: "#BE0000"
  on-primary: "#FFFFFF"
  secondary: "#3AB44B"
  tertiary: "#0766FF"
typography:
  headline-display:
    fontFamily: Open Sans
    fontSize: 33px
    fontWeight: 400
  headline-lg:
    fontFamily: Open Sans
    fontSize: 20px
    fontWeight: 800
    lineHeight: 1
  body-md:
    fontFamily: Open Sans
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.6
  body-lg:
    fontFamily: Open Sans
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  body-sm:
    fontFamily: Open Sans
    fontSize: 11px
    fontWeight: 400
  caption:
    fontFamily: Open Sans
    fontSize: 10px
    fontWeight: 400
  label-lg:
    fontFamily: Open Sans
    fontSize: 15px
    fontWeight: 700
    lineHeight: 1.33
  label-md:
    fontFamily: Open Sans
    fontSize: 13px
    fontWeight: 700
    lineHeight: 1.54
  label-sm:
    fontFamily: Open Sans
    fontSize: 12px
    fontWeight: 700
    lineHeight: 1.5
rounded:
  sm: 30px
  md: 100px
  lg: 200px
spacing:
  xs: 2px
  sm: 5px
  md: 15px
  lg: 18px
  gutter: 10px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.label-sm}"
    rounded: 0px
    padding: 0px 18px
    height: 61px
  button-secondary:
    backgroundColor: "#484848"
    textColor: "{colors.on-primary}"
    typography: "{typography.body-md}"
    rounded: 0px
    padding: 15px
    height: 49px
  button-tertiary:
    backgroundColor: "{colors.on-surface-variant}"
    textColor: "{colors.on-surface-strong}"
    typography: "{typography.label-md}"
    rounded: 0px
    padding: 1px 6px
    height: 61px
  button-ghost:
    textColor: "{colors.primary}"
    typography: "{typography.body-md}"
    rounded: 0px
    padding: 0px
  input-field:
    textColor: "{colors.on-surface-variant}"
    typography: "{typography.label-md}"
    rounded: 0px
    padding: 0px
  card:
    textColor: "{colors.on-surface}"
    typography: "{typography.caption}"
    rounded: 0px
    padding: 0px
  link:
    textColor: "#FFFFFF80"
---

# WPEC Design System

## Overview

WPEC describes itself as: “WPEC CBS 12 provides local news, weather, sports, traffic and entertainment for West Palm Beach and nearby towns and communities in South Florida including the Palm Beaches and Treasure Coast, serving Stuart, Royal Palm ” The interface is light, built on **Mist (#EDEDED)** with **Charcoal (#121212)** text, and **Dark Red (#BE0000)** as the main accent.

Type is set in **Open Sans**. Headlines run large; body text is 14px. Depth comes from soft drop shadows. Corners are mostly 100px.

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

## Colors

The palette has 11 roles.

- **Mist (#EDEDED):** Page background, seen 1 time. Token `background`.
- **Charcoal (#121212):** Primary text and headings, seen 4 times. Token `on-surface`.
- **Near Black (#000000):** Headings and emphasis, seen 6 times. Token `on-surface-strong`, CSS `--dd-primary-color`.
- **Charcoal (#222222):** Secondary text, seen 4 times. Token `on-surface-variant`, CSS `--bsDarkAlt2ButtonBg`.
- **White (#FFFFFF):** Raised areas one step from the page, seen 4 times. Token `surface-container-low`, CSS `--bsDarkAlt4ButtonHoverFg`.
- **Near Black 40% (#00000066):** Translucent fill for cards and controls, seen 4 times. Token `overlay`.
- **Near Black 25% (#00000040):** Stronger translucent fill, seen 2 times. Token `overlay-strong`.
- **Dark Red (#BE0000):** Primary buttons and calls to action, seen 20 times. Token `primary`.
- **White (#FFFFFF):** Text and icons on primary. Token `on-primary`.
- **Green (#3AB44B):** Accent in text, fills and borders, seen 14 times. Token `secondary`.
- **Vivid Blue (#0766FF):** Accent in text, fills and borders, seen 2 times. Token `tertiary`.

## Typography

**Open Sans** carries the whole interface. Fallback stack: `Open Sans, Open Sans Fallback`. Other loaded fonts: Montserrat.

- **headline-display:** Open Sans 33px at weight 400. Page title (h1).
- **headline-lg:** Open Sans 20px at weight 800, line height 1, uppercase. Section headings (h2).
- **body-md:** Open Sans 14px at weight 400, line height 1.6. Body text.
- **body-lg:** Open Sans 16px at weight 400, line height 1.5. Lead paragraphs.
- **body-sm:** Open Sans 11px at weight 400. Secondary and small text.
- **caption:** Open Sans 10px at weight 400. Captions and fine print.
- **label-lg:** Open Sans 15px at weight 700, line height 1.33. Large buttons and tabs.
- **label-md:** Open Sans 13px at weight 700, line height 1.54. Buttons, navigation and labels.
- **label-sm:** Open Sans 12px at weight 700, line height 1.5. Small labels and badges.

## Layout

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

- **Scale:** xs 2px, sm 5px, md 15px, lg 18px.
- **Gaps:** 10px is the most common gap in flex and grid layouts.
- **Breakpoints:** 374px, 475px, 480px, 500px, 728px, 767px, 768px, 1023px, 1024px, 1499px, 1500px, 1899px, 1900px.

## Elevation & Depth

Raised elements use soft drop shadows. The most used recipes:

- `rgb(230, 236, 240) 0px 1px 0px 0px`
- `rgb(18, 18, 18) 0px 4px 30px 0px`
- `rgba(0, 0, 0, 0.2) 4px 5px 30.2px 0px`

## Shapes

Most elements use 100px corners. Measured radii, most used first:

- **md (100px):** 8 elements.
- **sm (30px):** 4 elements.
- **lg (200px):** 4 elements.

## Components

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

- **button-primary (“NEWS”):** #BE0000 fill, #FFFFFF text, 12px/700, padding 0px 18px.
- **button-secondary (“Question of the Day”):** #484848 fill, #FFFFFF text, 14px/700, padding 15px.
- **button-tertiary (“Open Search Input Field”):** #222222 fill, #000000 text, 13.3333px/400, padding 1px 6px.
- **button-ghost (“Cookie Preferences”):** transparent fill, #BE0000 text, 14px/400, padding 0px.
- **input-field (“Text field”):** transparent fill, #222222 text, 13px/400, padding 0px.
- **card:** transparent fill, #121212 text, 10px/400, padding 0px, shadow `rgb(230, 236, 240) 0px 1px 0px 0px`.
- **link:** transparent fill, #FFFFFF80 text, padding 0px.

## Do's and Don'ts

- Do use #EDEDED for the page and lift surfaces in small steps: #FFFFFF.
- Do keep text in 3 levels: #121212, #000000, #222222.
- Do reserve #BE0000 for primary actions and key highlights.
- Do reuse the measured spacing steps (5px, 15px, 18px).
- Do use 100px corners on most elements; larger surfaces also use 30px and 200px.
- Don't introduce new font families beyond Open Sans.
- Don't use #BE0000 for large backgrounds or body text.
- Don't make interface transitions slower than 0.3s.

## Motion

Interface transitions are quick: 0.2s, 0.1s, 0.3s. Longer ambient animations run 6.5s, 6s.

- **Easing:** `ease`, `ease-in-out`, `ease-in`.

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

```
