taste-skill / Style guides / Tailwind CSS style

How to build a UI in the Tailwind CSS style

Tailwind CSS (tailwindcss.com) reads as Engineered CSS Grid Lines & Technical Blueprint Precision — Daylight #FFFFFF canvas overlaid with exposed 1px rgba(0,0,20,0.05) blueprint construction lines, monumental 96px Inter headlines (-0.05em), PlexMono utility classes, and #38BDF8 / #F6339A accents. This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.

Source: computed styles extracted from https://tailwindcss.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Tailwind CSS is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Tailwind CSS.

Live preview with Tailwind CSS tokens

Tailwind CSS style · light
Ship the product, not the pixels.
Preview text rendered with the extracted Tailwind CSS canvas, text, muted and accent tokens.
v4.3 ⌘K
Card on extracted card recipe
Accent link: #0EA5E9 · border rgba(0, 0, 20, 0.05)

Color palette (light mode)

RoleValueTailwindUsage
canvasBg#FFFFFFbg-whitePrimary Tailwind CSS page canvas
surfaceElevated#F8FAFCbg-[#F8FAFC]Primary elevated card & bento surface
surfaceSecondaryrgba(0, 0, 0, 0.02)bg-black/[0.02]Secondary interactive container / hover fill
borderPrimaryrgba(0, 0, 20, 0.05)border-[rgba(0,0,20,0.05)]Primary structural divider (1px rgba(0,0,20,0.05))
borderSecondaryrgba(0, 0, 20, 0.05)border-[rgba(0,0,20,0.05)]Secondary nested module or pill border
textPrimary#030712text-[#030712]Hero H1, section H2 & high-contrast foreground
textMuted#4A5565text-[#4A5565]Lead paragraphs, descriptions & muted labels
accentPrimary#0EA5E9bg-[#0EA5E9]Primary interactive CTA & brand highlight (16px / 9999px)
accentSecondaryrgba(255, 255, 255, 0.1)text-white/[0.1]Secondary badge, syntax or telemetry highlight

Typography

Heading Inter · body Inter · mono IBM Plex Mono (plexMono)

LevelComputed spec
Hero H196px | line-height 96px (leading-[1]) | letter-spacing -4.8px (tracking-[-0.05em]) | weight 400 (font-[400]) | color #030712 (text-[#030712]) | font inter
Section H2 (Primary)40px | line-height 40px (leading-[1]) | letter-spacing -2px (tracking-[-0.05em]) | weight 500 (font-[500]) | color #030712 (text-[#030712]) | font inter
Card / Feature H336px | line-height 48px (leading-[1.33]) | letter-spacing 0px (tracking-[0em]) | weight 600 (font-[600]) | color #030712 (text-[#030712]) | font inter
Body Copy (Paragraph)18px | line-height 28px (leading-[1.56]) | letter-spacing 0px (tracking-[0em]) | weight 500 (font-[500]) | color #4A5565 (text-[#4A5565]) | font inter
Monospace / Code Block13px | line-height 24px (leading-[1.85]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #030712 (text-[#030712]) | font plexMono

Spacing, radius, depth and motion

Token familyMost frequent values (count on page)
Border radius8px ×27 · 16px ×12 · 12px ×10 · 32px ×2 · 24px ×1 · 16px 16px 0px 0px ×1
Box shadowrgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.129999 -0.00404751 -0.027702 / 0.1) 0px 0px 0px 1px inset, 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 ×188 · rgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.999994 0.0000455678 0.0000200868 / 0.2) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.129999 -0.00404751 -0.027702 / 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px ×6 · rgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.999994 0.0000455678 0.0000200868 / 0.1) 0px 0px 0px 1px inset, 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 ×4
Grid / flex gap8px ×32 · 16px ×10 · 24px 32px ×7 · 24px ×4 · 40px ×4 · 44px ×4
Container max-width768px ×3 · 1440px ×1
Section vertical padding57px / 0px ×1 · 0px / 160px ×1 · 32px / 32px ×1
Easingcubic-bezier(0.4, 0, 0.2, 1) ×224
Duration0.15s ×220 · 0.35s ×4

Component recipes

Buttons (5 distinct)

RenderedHeightPaddingRadiusBackground / TextBorderFont
v4.324px2px 6px16pxrgba(0, 0, 20, 0.05)
#030712
none12px / 500
⌘K24px4px 8px9999pxrgba(0, 0, 0, 0.02)
#000000
none16px / 400
Quick search ⌘K40px8px 16px9999pxtransparent
rgba(4, 8, 18, 0.5)
none14px / 400
Check availability40px8px 12px8px#F6339A
#FFFFFF
none14px / 700
index.html28px4px 8px4pxrgba(255, 255, 255, 0.1)
#FFFFFF
none12px / 400

Cards (3 distinct)

#BackgroundBorderRadiusPaddingShadow
1rgba(255, 255, 255, 0.1)none8px12px 12pxrgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.999994 0.0000455678 0.0000200868 / 0.1) 0px 0px 0px 1px inset, 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
2#FFFFFFnone16px 16px 0px 0px24px 24pxrgba(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, oklab(0.129999 -0.00404751 -0.027702 / 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px
3#FFFFFFnone12px0px 0pxrgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.129999 -0.00404751 -0.027702 / 0.05) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.25) 0px 25px 50px -12px

Rules: what never to do in the Tailwind CSS style

Copy-paste kit

CSS variables
:root {
  /* Tailwind CSS style — extracted from tailwindcss.com by taste-skill */
  --canvas: #FFFFFF;
  --surface: #F8FAFC;
  --text: #030712;
  --text-muted: #4A5565;
  --accent: #0EA5E9;
  --border: rgba(0, 0, 20, 0.05);
  --font-heading: Inter, Inter, system-ui, -apple-system, sans-serif;
  --font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono (plexMono)', 'JetBrains Mono', ui-monospace, monospace;
  --h1-size: 96px;
  --h1-tracking: -0.05em;
  --h1-weight: 400;
  --radius-button: 16px;
  --radius-common: 8px;
  --shadow-common: rgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.129999 -0.00404751 -0.027702 / 0.1) 0px 0px 0px 1px inset, 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;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration: 0.15s;
}
tailwind.config.js
// tailwind.config.js — Tailwind CSS style tokens (taste-skill)
module.exports = {
  theme: {
    extend: {
      colors: {
        canvas: "#FFFFFF",
        surface: "#F8FAFC",
        ink: "#030712",
        muted: "#4A5565",
        accent: "#0EA5E9",
        line: "rgba(0, 0, 20, 0.05)",
      },
      fontFamily: {
        heading: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
        sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
        mono: ["IBM Plex Mono (plexMono)", 'ui-monospace', 'monospace'],
      },
      fontSize: { display: ["96px", { letterSpacing: "-0.05em", fontWeight: "400" }] },
      borderRadius: { button: "16px", card: "8px" },
      boxShadow: { brand: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.129999 -0.00404751 -0.027702 / 0.1) 0px 0px 0px 1px inset, 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" },
      transitionTimingFunction: { brand: "cubic-bezier(0.4, 0, 0.2, 1)" },
    },
  },
};
.cursor/skills/tailwindcss-style/SKILL.md
---
name: tailwindcss-style
description: Build UI in the Tailwind CSS visual style (Engineered CSS Grid Lines & Technical Blueprint Precision). Use when the user asks for a Tailwind CSS-like look.
---

# Tailwind CSS Style — Quick Rules (source: tailwindcss.com, extracted by taste-skill)

## Tokens
- canvasBg: #FFFFFF — Primary Tailwind CSS page canvas
- surfaceElevated: #F8FAFC — Primary elevated card & bento surface
- surfaceSecondary: rgba(0, 0, 0, 0.02) — Secondary interactive container / hover fill
- borderPrimary: rgba(0, 0, 20, 0.05) — Primary structural divider (1px rgba(0,0,20,0.05))
- borderSecondary: rgba(0, 0, 20, 0.05) — Secondary nested module or pill border
- textPrimary: #030712 — Hero H1, section H2 & high-contrast foreground
- textMuted: #4A5565 — Lead paragraphs, descriptions & muted labels
- accentPrimary: #0EA5E9 — Primary interactive CTA & brand highlight (16px / 9999px)
- accentSecondary: rgba(255, 255, 255, 0.1) — Secondary badge, syntax or telemetry highlight

## Typography
- Heading font: Inter; body: Inter; mono: IBM Plex Mono (plexMono)
- Hero H1: 96px | line-height 96px (leading-[1]) | letter-spacing -4.8px (tracking-[-0.05em]) | weight 400 (font-[400]) | color #030712 (text-[#030712]) | font inter
- Section H2 (Primary): 40px | line-height 40px (leading-[1]) | letter-spacing -2px (tracking-[-0.05em]) | weight 500 (font-[500]) | color #030712 (text-[#030712]) | font inter
- Card / Feature H3: 36px | line-height 48px (leading-[1.33]) | letter-spacing 0px (tracking-[0em]) | weight 600 (font-[600]) | color #030712 (text-[#030712]) | font inter
- Body Copy (Paragraph): 18px | line-height 28px (leading-[1.56]) | letter-spacing 0px (tracking-[0em]) | weight 500 (font-[500]) | color #4A5565 (text-[#4A5565]) | font inter

## Components
- Primary button: height 24px, padding 2px 6px, radius 16px, bg rgba(0, 0, 20, 0.05), text #030712, 12px / 500
- Card: bg rgba(255, 255, 255, 0.1), border none, radius 8px, padding 12px 12px

## Never
- NEVER substitute generic uncalibrated gray backgrounds for Tailwind CSS’s exact #FFFFFF canvas and #F8FAFC surface pairing.
- NEVER replace Inter display typography or ignore its signature scale (96px / -0.05em (w400)).
- NEVER use thick opaque borders that clash with rgba(0, 0, 20, 0.05) (1px rgba(0,0,20,0.05)).
- NEVER deviate from the signature button geometry (16px / 9999px) or introduce off-brand saturated gradients.
- NEVER use default browser monospace when rendering code or telemetry—always pair with IBM Plex Mono (plexMono).

Full 120-line spec: https://taste-skill.pages.dev/taste/tailwindcss/
Or install the full spec
npx taste-skill add tailwindcss

Related

Similar styles

Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.

See taste-skill Pro →