taste-skill / Style guides / Resend style

How to build a UI in the Resend style

Resend (resend.com) reads as Obsidian Developer Luxury & Editorial Serif-Meets-Mono — True #000000 obsidian canvas with rgba(212,234,255,0.19) ice-tinted borders, 96px Domaine editorial serif H1, -0.05em ABC Favorit H2, CommitMono code, and blur(25px) glass CTAs. 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://resend.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Resend is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Resend.

Live preview with Resend tokens

Resend style · dark
Ship the product, not the pixels.
Preview text rendered with the extracted Resend canvas, text, muted and accent tokens.
Get started Get started
Card on extracted card recipe
Accent link: #00A3FF · border rgba(212, 234, 255, 0.19)

Color palette (dark mode)

RoleValueTailwindUsage
canvasBg#000000bg-blackTrue pitch-black primary canvas (unlike Linear’s #08090A)
surfaceCanvasrgba(20, 22, 23, 0.6)bg-[#141517]/60Translucent dark card & code editor surface
surfaceElevated#191B1Ebg-[#191B1E]Elevated interactive tabs, terminal headers & secondary panels
borderIceSlatergba(212, 234, 255, 0.19)border-[rgba(212,234,255,0.19)]Signature cool-tinted translucent border across sections, cards & pills (234 DOM instances)
borderSubtleSlatergba(211, 237, 246, 0.11)border-[rgba(211,237,246,0.11)]Secondary inner code-block & divider hairline
borderGlassBtnrgba(255, 255, 255, 0.05)border-2 border-white/[0.05]2px translucent rim on frosted glass CTA buttons
textPrimary#F0F0F0text-[#F0F0F0]Hero H1 & Section H2 primary display text
textHeadingHighrgba(252, 253, 255, 0.94)text-[#FCFDFF]/[0.94]Feature card H3 headings & active labels
textMuted#A1A4A5text-[#A1A4A5]Primary 18px body copy & lead paragraphs (51 DOM instances)
textCodergba(241, 247, 254, 0.71)text-[#F1F7FE]/[0.71]Terminal output, JSON payloads & code block foreground
accentCyan#00A3FFbg-[#00A3FF] text-whiteHigh-visibility developer action button & active focus highlight
accentViolet#9281F7text-[#9281F7]Syntax highlighting, badge accents & linear-gradient(to right bottom in oklab, #9281F7, #9A54DC)
accentEmeraldrgba(70, 254, 165, 0.83)text-[#46FEA5]/[0.83]HTTP 200 status indicators & deliverability telemetry

Typography

Heading Domaine / ABC Favorit · body Inter · mono CommitMono

LevelComputed spec
Hero H196px | line-height 96px (leading-[1]) | letter-spacing -0.96px (tracking-[-0.01em]) | weight 400 (font-[400]) | color #F0F0F0 (text-[#F0F0F0]) | font domaine
Section H2 (Primary)56px | line-height 67.2px (leading-[1.2]) | letter-spacing -2.8px (tracking-[-0.05em]) | weight 400 (font-[400]) | color #F0F0F0 (text-[#F0F0F0]) | font aBCFavorit
Card / Feature H320px | line-height 20px (leading-[1]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(252, 253, 255, 0.94) (text-[rgba(252,253,255,0.94)]) | font aBCFavorit
Body Copy (Paragraph)18px | line-height 27px (leading-[1.5]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #A1A4A5 (text-[#A1A4A5]) | font inter
Monospace / Code Block14px | line-height 20px (leading-[1.43]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #EBECED (text-[#EBECED]) | font commitMono

Spacing, radius, depth and motion

Token familyMost frequent values (count on page)
Border radius8px ×29 · 16px ×24 · 6px ×23 · 4px ×19 · 24px ×10 · 10px ×6
Box shadowrgb(0, 0, 0) 0px 0px 0px 8px ×5 · 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.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px ×3
Grid / flex gap16px ×37 · 8px ×31 · 6px ×21 · 12px ×12 · 4px ×11 · 48px ×11
Container max-width1280px ×9 · 1024px ×2 · 768px ×1
Section vertical padding96px / 96px ×7 · 0px / 32px ×2 · 0px / 48px ×1
Easingcubic-bezier(0.4, 0, 0.2, 1) ×82 · cubic-bezier(0.4, 0, 1, 1) ×6 · ease-out ×1
Duration0.2s ×68 · 0.15s ×18 · 0.5s ×3

Component recipes

Buttons (4 distinct)

RenderedHeightPaddingRadiusBackground / TextBorderFont
Get started40px0px 16px16pxtransparent
#FFFFFF
2px solid rgba(255, 255, 255, 0.05)14px / 600
Get started48px0px 20px16pxtransparent
#FFFFFF
2px solid rgba(255, 255, 255, 0.05)16px / 600
Get Started41px12px 20px4px#00A3FF
#FFFFFF
none14px / 600
Send32px5px 12px9999pxtransparent
#F0F0F0
1px solid rgba(212, 234, 255, 0.19)14px / 400

Cards (3 distinct)

#BackgroundBorderRadiusPaddingShadow
1transparent1px solid rgba(212, 234, 255, 0.19)24px0px 0pxnone
2transparent1px solid rgba(212, 234, 255, 0.19)16px0px 0pxnone
3#0000001px solid #262A2D16px 16px 0px 0px0px 0pxnone

Rules: what never to do in the Resend style

Copy-paste kit

CSS variables
:root {
  /* Resend style — extracted from resend.com by taste-skill */
  --canvas: #000000;
  --surface: #141517;
  --text: #F0F0F0;
  --text-muted: #A1A4A5;
  --accent: #00A3FF;
  --border: rgba(212, 234, 255, 0.19);
  --font-heading: 'Domaine / ABC Favorit', Inter, system-ui, -apple-system, sans-serif;
  --font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
  --font-mono: 'CommitMono', 'JetBrains Mono', ui-monospace, monospace;
  --h1-size: 96px;
  --h1-tracking: -0.01em;
  --h1-weight: 600;
  --radius-button: 16px;
  --radius-common: 8px;
  --shadow-common: rgb(0, 0, 0) 0px 0px 0px 8px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration: 0.2s;
}
tailwind.config.js
// tailwind.config.js — Resend style tokens (taste-skill)
module.exports = {
  theme: {
    extend: {
      colors: {
        canvas: "#000000",
        surface: "#141517",
        ink: "#F0F0F0",
        muted: "#A1A4A5",
        accent: "#00A3FF",
        line: "rgba(212, 234, 255, 0.19)",
      },
      fontFamily: {
        heading: ["Domaine / ABC Favorit", 'Inter', 'system-ui', 'sans-serif'],
        sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
        mono: ["CommitMono", 'ui-monospace', 'monospace'],
      },
      fontSize: { display: ["96px", { letterSpacing: "-0.01em", fontWeight: "600" }] },
      borderRadius: { button: "16px", card: "8px" },
      boxShadow: { brand: "rgb(0, 0, 0) 0px 0px 0px 8px" },
      transitionTimingFunction: { brand: "cubic-bezier(0.4, 0, 0.2, 1)" },
    },
  },
};
.cursor/skills/resend-style/SKILL.md
---
name: resend-style
description: Build UI in the Resend visual style (Obsidian Developer Luxury & Editorial Serif-Meets-Mono). Use when the user asks for a Resend-like look.
---

# Resend Style — Quick Rules (source: resend.com, extracted by taste-skill)

## Tokens
- canvasBg: #000000 — True pitch-black primary canvas (unlike Linear’s #08090A)
- surfaceCanvas: rgba(20, 22, 23, 0.6) — Translucent dark card & code editor surface
- surfaceElevated: #191B1E — Elevated interactive tabs, terminal headers & secondary panels
- borderIceSlate: rgba(212, 234, 255, 0.19) — Signature cool-tinted translucent border across sections, cards & pills (234 DOM instances)
- borderSubtleSlate: rgba(211, 237, 246, 0.11) — Secondary inner code-block & divider hairline
- borderGlassBtn: rgba(255, 255, 255, 0.05) — 2px translucent rim on frosted glass CTA buttons
- textPrimary: #F0F0F0 — Hero H1 & Section H2 primary display text
- textHeadingHigh: rgba(252, 253, 255, 0.94) — Feature card H3 headings & active labels
- textMuted: #A1A4A5 — Primary 18px body copy & lead paragraphs (51 DOM instances)
- textCode: rgba(241, 247, 254, 0.71) — Terminal output, JSON payloads & code block foreground
- accentCyan: #00A3FF — High-visibility developer action button & active focus highlight
- accentViolet: #9281F7 — Syntax highlighting, badge accents & linear-gradient(to right bottom in oklab, #9281F7, #9A54DC)
- accentEmerald: rgba(70, 254, 165, 0.83) — HTTP 200 status indicators & deliverability telemetry

## Typography
- Heading font: Domaine / ABC Favorit; body: Inter; mono: CommitMono
- Hero H1: 96px | line-height 96px (leading-[1]) | letter-spacing -0.96px (tracking-[-0.01em]) | weight 400 (font-[400]) | color #F0F0F0 (text-[#F0F0F0]) | font domaine
- Section H2 (Primary): 56px | line-height 67.2px (leading-[1.2]) | letter-spacing -2.8px (tracking-[-0.05em]) | weight 400 (font-[400]) | color #F0F0F0 (text-[#F0F0F0]) | font aBCFavorit
- Card / Feature H3: 20px | line-height 20px (leading-[1]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(252, 253, 255, 0.94) (text-[rgba(252,253,255,0.94)]) | font aBCFavorit
- Body Copy (Paragraph): 18px | line-height 27px (leading-[1.5]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #A1A4A5 (text-[#A1A4A5]) | font inter

## Components
- Primary button: height 40px, padding 0px 16px, radius 16px, bg transparent, text #FFFFFF, 14px / 600
- Card: bg transparent, border 1px solid rgba(212, 234, 255, 0.19), radius 24px, padding 0px 0px

## Never
- NEVER use a single generic sans-serif font across the entire page—Resend’s signature tension comes from combining an editorial serif (Domaine for Hero H1), a tight neo-grotesque display sans (ABC Favorit with -0.05em tracking for H2), Inter for body copy, and CommitMono for code.
- NEVER use warm or neutral gray borders on #000000—always use cool ice-tinted translucent borders (rgba(212, 234, 255, 0.19) / --slate-a6 or rgba(211, 237, 246, 0.11)).
- NEVER use loose letter-spacing on H2 headings—Resend uses an aggressive -0.05em (-2.8px at 56px) tracking on section headings.
- NEVER use flat opaque colored buttons for primary hero CTAs—use frosted glass buttons (backdrop-filter: blur(25px), border: 2px solid rgba(255, 255, 255, 0.05), rounded-2xl 16px) or crisp #00A3FF utility actions.
- NEVER clutter code blocks with heavy chrome—use #000000 or rgba(20, 22, 23, 0.6) backgrounds with 1px solid rgba(212, 234, 255, 0.19) borders, 16px–24px border-radius, and CommitMono at 14px–16px.

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

Related

Similar styles

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

See taste-skill Pro →