---
version: alpha
name: unfair.so
description: "Light interface measured from unfair.so: newPixel type with Inter, vivid indigo accents, tonal surfaces and 9px corners."
colors:
  background: "#F4F4F4"
  surface: "#F4F4F4"
  on-surface: "#1A1A1A"
  on-background: "#1A1A1A"
  on-surface-variant: "#6E6E6E"
  surface-container-low: "#EBEFFF"
  surface-container: "#EFEFEF"
  surface-container-high: "#FFFFFF"
  overlay: "#FFFFFF1A"
  overlay-strong: "#FFFFFF33"
  outline: "#E8E8E8"
  outline-variant: "#0033FF66"
  primary: "#0033FF"
  on-primary: "#1A1A1A"
  inverse-surface: "#212121"
  secondary: "#0026BF"
typography:
  headline-display:
    fontFamily: newPixel
    fontSize: 122.5px
    fontWeight: 400
    lineHeight: 0.96
    letterSpacing: -0.04em
  headline-lg:
    fontFamily: newPixel
    fontSize: 66px
    fontWeight: 400
    lineHeight: 1.04
    letterSpacing: -0.035em
  headline-md:
    fontFamily: Inter
    fontSize: 24px
    fontWeight: 500
    lineHeight: 1.25
    letterSpacing: -0.02em
  body-md:
    fontFamily: Inter
    fontSize: 18px
    fontWeight: 400
    lineHeight: 1.56
  body-lg:
    fontFamily: Inter
    fontSize: 20px
    fontWeight: 400
    lineHeight: 1.5
  body-sm:
    fontFamily: Inter
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.38
  label-lg:
    fontFamily: Inter
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  label-md:
    fontFamily: Inter
    fontSize: 14px
    fontWeight: 600
    lineHeight: 1.43
  label-sm:
    fontFamily: Inter
    fontSize: 13px
    fontWeight: 500
    lineHeight: 1.23
  headline-display-mobile:
    fontFamily: newPixel
    fontSize: 50px
    fontWeight: 400
    lineHeight: 0.96
    letterSpacing: -0.04em
  headline-md-mobile:
    fontFamily: Inter
    fontSize: 22px
    fontWeight: 500
    lineHeight: 1.27
    letterSpacing: -0.02em
rounded:
  xs: 9px
  sm: 12px
  md: 14px
  lg: 16px
  xl: 24px
spacing:
  xs: 2px
  sm: 8px
  md: 10px
  lg: 20px
  xl: 48px
  gutter: 10px
  section: 112px
  margin: 32px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.on-primary}"
    typography: "{typography.label-lg}"
    rounded: "{rounded.sm}"
    padding: 0px 28px
    height: 60px
  button-ghost:
    textColor: "{colors.on-surface}"
    rounded: 0px
    padding: 0px
  input-field:
    textColor: "{colors.on-surface}"
    typography: "{typography.body-lg}"
    rounded: 0px
    padding: 0px
  card:
    backgroundColor: "{colors.surface-container-high}"
    textColor: "{colors.on-surface}"
    typography: "{typography.label-lg}"
    rounded: "{rounded.md}"
    padding: 0px
---

# unfair.so Design System

## Overview

unfair.so describes itself as: “1000+ creators. First post today. Creators your buyers already follow — pick them by their real audience and keep every engager as a lead.” The interface is light, built on **Snow (#F4F4F4)** with **Charcoal (#1A1A1A)** text, and **Vivid Indigo (#0033FF)** as the main accent.

Type is set in **newPixel** and **Inter**. Headlines run large with tight negative tracking; body text is 18px. Depth comes from soft drop shadows. Corners are mostly 9px.

Measured from [unfair.so](https://unfair.so/) on October 23, 2026 at 1440×900 and 390×844 from 332 rendered elements. Values are computed styles from the live page, not the original source files.

## Colors

The palette has 14 roles.

- **Snow (#F4F4F4):** Page background, seen 2 times. Token `background`, CSS `--color-k-canvas`.
- **Charcoal (#1A1A1A):** Primary text and headings, seen 46 times. Token `on-surface`, CSS `--color-k-ink`.
- **Slate (#6E6E6E):** Secondary text, seen 14 times. Token `on-surface-variant`, CSS `--color-k-key-beard`.
- **Pale Indigo (#EBEFFF):** Raised areas one step from the page, seen 3 times. Token `surface-container-low`, CSS `--color-k-accent-soft`.
- **Mist (#EFEFEF):** Cards and panels, seen 3 times. Token `surface-container`.
- **White (#FFFFFF):** Hover and pressed fills, seen 55 times. Token `surface-container-high`, CSS `--color-k-surface`.
- **White 10% (#FFFFFF1A):** Translucent fill for cards and controls, seen 6 times. Token `overlay`.
- **White 20% (#FFFFFF33):** Stronger translucent fill, seen 1 time. Token `overlay-strong`.
- **Mist (#E8E8E8):** Borders and dividers, seen 53 times. Token `outline`.
- **Vivid Indigo 40% (#0033FF66):** Secondary dividers, seen 1 time. Token `outline-variant`.
- **Vivid Indigo (#0033FF):** Primary buttons and calls to action, seen 5 times. Token `primary`.
- **Charcoal (#1A1A1A):** Text and icons on primary. Token `on-primary`.
- **Charcoal (#212121):** High-contrast fills, seen 4 times. Token `inverse-surface`, CSS `--color-k-key-face`.
- **Dark Indigo (#0026BF):** Brand accent (CSS variable), seen 20 times. Token `secondary`, CSS `--color-k-accent-deep`.

## Typography

**newPixel** and **Inter** share the interface. Fallback stack: `newPixel, newPixel Fallback`. Other loaded fonts: Press Start 2P.

- **headline-display:** newPixel 122.5px at weight 400, line height 0.96, tracking -0.04em (50px on mobile). Page title (h1).
- **headline-lg:** newPixel 66px at weight 400, line height 1.04, tracking -0.035em. Section headings (h2).
- **headline-md:** Inter 24px at weight 500, line height 1.25, tracking -0.02em (22px on mobile). Sub-section headings.
- **body-md:** Inter 18px at weight 400, line height 1.56. Body text.
- **body-lg:** Inter 20px at weight 400, line height 1.5. Lead paragraphs.
- **body-sm:** Inter 13px at weight 400, line height 1.38. Secondary and small text.
- **label-lg:** Inter 16px at weight 400, line height 1.5. Large buttons and tabs.
- **label-md:** Inter 14px at weight 600, line height 1.43. Buttons, navigation and labels.
- **label-sm:** Inter 13px at weight 500, line height 1.23. Small labels and badges.

## Layout

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

- **Scale:** xs 2px, sm 8px, md 10px, lg 20px, xl 48px.
- **Sections:** 112px vertical padding between major sections.
- **Gaps:** 10px is the most common gap in flex and grid layouts.
- **Page margin:** 32px on each side of full-width sections.
- **Breakpoints:** 679.98px, 680px, 1179.98px, 1180px, 1319.98px.

## Elevation & Depth

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

- `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 12px 32px 0px`
- `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(255, 255, 255) 0px 0px 0px 3px, rgba(0, 38, 191, 0.12) 0px 4px 12px 0px`
- `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(110, 110, 110) 0px 4px 0px 0px`

## Shapes

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

- **xs (9px):** 100 elements.
- **md (14px):** 80 elements.
- **sm (12px):** 40 elements.
- **lg (16px):** 8 elements.
- **xl (24px):** 8 elements.

## Components

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

- **button-primary (“Get started”):** #0033FF fill, #1A1A1A text, 16px/400, 12px radius, padding 0px 28px.
- **button-ghost (“unfair.so”):** transparent fill, #1A1A1A text, 26px/400, padding 0px.
- **input-field (“Enter your website”):** transparent fill, #1A1A1A text, 20px/400, padding 0px.
- **card:** #FFFFFF fill, #1A1A1A text, 16px/400, 14px radius, padding 0px, border 1px solid #E8E8E8, shadow `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 12px 32px 0px`.

## Do's and Don'ts

- Do use #F4F4F4 for the page and lift surfaces in small steps: #EBEFFF, #EFEFEF, #FFFFFF.
- Do keep text in 2 levels: #1A1A1A, #6E6E6E.
- Do reserve #0033FF for primary actions and key highlights.
- Do set headlines in newPixel with tight tracking (-0.04em).
- Do reuse the measured spacing steps (8px, 10px, 20px).
- Do use 9px corners on most elements; larger surfaces also use 14px, 12px and 16px.
- Don't introduce new font families beyond newPixel and Inter.
- Don't use #0033FF for large backgrounds or body text.
- Don't make interface transitions slower than 0.42s.

## Motion

Interface transitions are quick: 0.15s, 0.2s, 0.24s, 0.1s. Longer ambient animations run 0.7s, 80s, 70s.

- **Easing:** `cubic-bezier(0.4, 0, 0.2, 1)`, `ease-out`, `cubic-bezier(0.2, 0.8, 0.2, 1)`.
- **Reduced motion:** the page responds to `prefers-reduced-motion`.

Generated by [Sitepeel](https://sitepeel.dev/design-md/unfair.so/), the free DESIGN.md generator.
