DESIGN.md · Analysis

Tailwind CSS

tailwindcss.com · 30 Aug 2026 · 47 colors · Inter

Tailwind CSS

A utility-first CSS framework for rapidly building modern websites. Tailwind CSS emphasizes developer velocity through composable, low-level utility classes that enable direct styling in HTML markup.

Colors

surface#ffffff
surface-dim#f9fafb
surface-bright#ffffff
surface-container-lowest#f3f4f6
surface-container-low#f9fafb
surface-container#f3f4f6
surface-container-high#e5e7eb
surface-container-highest#d1d5dc
on-surface#000000
on-surface-variant#6a7282
inverse-surface#101828
inverse-on-surface#f9fafb
outline#99a1af
outline-variant#d1d5dc
surface-tint#38bdf8
primary#000000
on-primary#ffffff
primary-container#f3f4f6
on-primary-container#1e2939
inverse-primary#ffffff
secondary#38bdf8
on-secondary#000000
secondary-container#dff2fe
on-secondary-container#024a70
tertiary#625fff
on-tertiary#ffffff
tertiary-container#eef2ff
on-tertiary-container#312c85
error#fb2c36
on-error#ffffff
error-container#fef2f2
on-error-container#82181a
primary-fixed#f3f4f6
primary-fixed-dim#e5e7eb
on-primary-fixed#1e2939
on-primary-fixed-variant#364153
secondary-fixed#dff2fe
secondary-fixed-dim#b8e6fe
on-secondary-fixed#024a70
on-secondary-fixed-variant#0069a4
tertiary-fixed#eef2ff
tertiary-fixed-dim#c7d2ff
on-tertiary-fixed#312c85
on-tertiary-fixed-variant#4f39f6
background#ffffff
on-background#000000
surface-variant#e5e7eb

Typography

display
fontFamily: Inter · fontSize: 96px · fontWeight: 400 · lineHeight: 104px · letterSpacing: -0.04em
headline-lg
fontFamily: Inter · fontSize: 40px · fontWeight: 400 · lineHeight: 48px · letterSpacing: -0.02em
headline-md
fontFamily: Inter · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
title-lg
fontFamily: Inter · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
body-lg
fontFamily: Inter · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Inter · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Inter · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Inter · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em

Design guidance

Overview

Tailwind CSS is a utility-first CSS framework designed for developers who want to build modern, responsive websites without leaving their HTML. The design system embodies a philosophy of "Pragmatic Minimalism"—combining the efficiency of low-level utility classes with a clean, professional aesthetic that prioritizes developer velocity and design consistency. The brand voice is direct, technical yet approachable, and emphasizes practical solutions over decorative flourishes. The UI conveys confidence through bold typography (96px display headlines in 400 weight), a stark black-and-white foundation, and strategic accent colors (cyan #38bdf8 and indigo #625fff) that highlight interactive and secondary elements. Example sentence in brand voice: "Compose any design directly in your markup—no context switching, no CSS file hunting."

Colors

The color system uses a light-first, high-contrast foundation optimized for developer readability and accessibility. Primary (#000000) is pure black, used for all text, buttons, and primary interactive elements—it commands attention without distraction. Secondary (#38bdf8, a vibrant cyan) serves as the accent color for links, highlights, and interactive states, appearing in the Tailwind logo and throughout the UI to signal actionable elements. Tertiary (#625fff, a deep indigo) provides additional visual hierarchy for badges, tags, and supporting interactive elements. The surface stack ranges from pure white (#ffffff) for the main canvas to subtle grays (#f9fafb, #f3f4f6, #e5e7eb) for containers and hover states. Error red (#fb2c36) is reserved for validation and destructive actions. All te

Typography

The typography system uses Inter exclusively, a geometric sans-serif that conveys modern efficiency and technical precision. Display (96px, 400 weight, -0.04em letter-spacing) is reserved for hero headlines and establishes visual dominance through scale rather than weight. Headline-lg (40px, 400 weight) and headline-md (28px, 600 weight) create a clear hierarchy for section titles and subsections. Body text (16px–18px, 400 weight, 24–28px line-height) ensures comfortable reading at typical screen distances. Label-md (14px, 600 weight) is used for buttons, badges, and UI labels with 0.01em tracking for precision. Code blocks use IBM Plex Mono (14px, 500 weight, 1.5 line-height) to distinguish technical content. All headlines use negative letter-spacing (-0.04em to -0.01em) to tighten letter

Layout

The page uses a fluid, 12-column grid system with a max-width container of 1280px, centered on the viewport. Horizontal padding (gutter: 24px) is applied at all breakpoints to maintain breathing room. Vertical rhythm is established through a consistent spacing scale: xs (4px) for micro-adjustments, sm (8px) for tight grouping, md (16px) for component padding, lg (24px) for section separation, and xl (32px) for major layout divisions. The hero section uses lg spacing (24px) between the headline and body copy, with xl spacing (32px) before the call-to-action group. Cards and containers use md padding (16px) internally. The search bar and input fields use sm padding (8px) vertically and md (16px) horizontally. White-space is generous—sections are separated by lg or xl spacing to create visual

Elevation & Depth

Depth is conveyed through subtle shadows and border treatments rather than dramatic layering. The base surface (Level 1) is pure white (#ffffff) with no shadow. Standard cards (Level 2) use elevation.sm (0 1px 2px 0 rgba(0, 0, 0, 0.05)) combined with a 1px solid border in outline-variant (#d1d5dc) to define boundaries without visual heaviness. Elevated cards and modals (Level 3) use elevation.md (0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)) with the same border treatment. Hover states on interactive elements transition to elevation.md over 150ms. Code blocks and featur

Shapes

The shape philosophy is "Functional Precision"—border-radius is used strategically to signal component type and interaction affordance, never for purely decorative effect. Buttons use full radius (9999px) to create pill-shaped affordances that signal clickability and reduce visual harshness. Cards and containers use lg radius (0.75rem / 12px) for a subtle, modern appearance that avoids sharp corners without appearing soft or rounded. Input fields and search boxes use DEFAULT radius (0.375rem / 6px) for a neutral, technical appearance. Code blocks and pre-formatted content use lg radius (0.75re

Components

Action Elements Buttons are the primary interaction mechanism. The primary button (button-primary) uses solid black (#000000) background with white text, full radius (9999px), and padding 8px 16px for a compact, pill-shaped appearance. On hover, the background darkens to #1a1a1a with a 150ms transition. The secondary button uses a transparent background with a 1px outline-variant border, lg radius (0.75rem), and the same padding; on hover, it fills with surface-container-low (#f9fafb). The accent button uses the secondary color (#38bdf8) with black text and full radius, signaling a secondary call-to-action. All buttons use label-md typography (14px, 600 weight) for consistency.

Containers & Surfaces Cards use a white background (#ffffff) with a 1px border in outline-variant (#d1d5

Do's and Don'ts

**Do**

  • Do use black (#000000) for primary text and buttons—it commands attention and maintains the technical, no-nonsense brand voice.
  • Do apply cyan (#38bdf8) sparingly to links, active states, and secondary CTAs to create visual hierarchy without overwhelming the interface.
  • Do maintain generous white-space: use lg (24px) or xl (32px) spacing between major sections to reduce cognitive load and emphasize content.
  • Do use full radius (9999px) exclusively for buttons and badges to create clear affordances; use lg radius (0.75rem) for cards and containers.
  • Do apply subtle shadows (elevation.sm or elevation.md) with 1px borders to define card boundaries; never use shadows alone without a border.
  • Do use Inter 400 weight for headlines and body text; reserve 600 weight for labels, buttons, and emphasis only.

**Don't**

  • Don't use decorative shadows or gradients—every visual element must serve a functional purpose aligned with Tailwind's pragmatic philosophy.
  • Don't apply rounded corners to code blocks or technical content; use lg radius only to signal they are distinct from body text.
  • Don't mix multiple accent colors in a single section; secondary (#38bdf8) and tertiary (#625fff) should appear in separate contexts to avoid visual confusion.
  • Don't use font weights lighter than 400 for body text or heavier than 600 for labels—this violates the clean, technical aesthetic.
  • Don't add color to neutral surfaces (white, grays) unless signaling an interactive state; the palette is intentionally restrained.
  • Don't use outline-variant (#d1d5dc) for text or interactive elements; reserve it exclusively for borders and dividers.