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.
Card on extracted card recipe
Accent link: #00A3FF · border
rgba(212, 234, 255, 0.19)Color palette (dark mode)
| Role | Value | Tailwind | Usage |
|---|---|---|---|
| canvasBg | #000000 | bg-black | True pitch-black primary canvas (unlike Linear’s #08090A) |
| surfaceCanvas | rgba(20, 22, 23, 0.6) | bg-[#141517]/60 | Translucent dark card & code editor surface |
| surfaceElevated | #191B1E | bg-[#191B1E] | Elevated interactive tabs, terminal headers & secondary panels |
| borderIceSlate | rgba(212, 234, 255, 0.19) | border-[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) | border-[rgba(211,237,246,0.11)] | Secondary inner code-block & divider hairline |
| borderGlassBtn | rgba(255, 255, 255, 0.05) | border-2 border-white/[0.05] | 2px translucent rim on frosted glass CTA buttons |
| textPrimary | #F0F0F0 | text-[#F0F0F0] | Hero H1 & Section H2 primary display text |
| textHeadingHigh | rgba(252, 253, 255, 0.94) | text-[#FCFDFF]/[0.94] | Feature card H3 headings & active labels |
| textMuted | #A1A4A5 | text-[#A1A4A5] | Primary 18px body copy & lead paragraphs (51 DOM instances) |
| textCode | rgba(241, 247, 254, 0.71) | text-[#F1F7FE]/[0.71] | Terminal output, JSON payloads & code block foreground |
| accentCyan | #00A3FF | bg-[#00A3FF] text-white | High-visibility developer action button & active focus highlight |
| accentViolet | #9281F7 | text-[#9281F7] | Syntax highlighting, badge accents & linear-gradient(to right bottom in oklab, #9281F7, #9A54DC) |
| accentEmerald | rgba(70, 254, 165, 0.83) | text-[#46FEA5]/[0.83] | HTTP 200 status indicators & deliverability telemetry |
Typography
Heading Domaine / ABC Favorit · body Inter · mono CommitMono
| Level | Computed spec |
|---|---|
| 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 |
| Monospace / Code Block | 14px | 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 family | Most frequent values (count on page) |
|---|---|
| Border radius | 8px ×29 · 16px ×24 · 6px ×23 · 4px ×19 · 24px ×10 · 10px ×6 |
| Box shadow | rgb(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 gap | 16px ×37 · 8px ×31 · 6px ×21 · 12px ×12 · 4px ×11 · 48px ×11 |
| Container max-width | 1280px ×9 · 1024px ×2 · 768px ×1 |
| Section vertical padding | 96px / 96px ×7 · 0px / 32px ×2 · 0px / 48px ×1 |
| Easing | cubic-bezier(0.4, 0, 0.2, 1) ×82 · cubic-bezier(0.4, 0, 1, 1) ×6 · ease-out ×1 |
| Duration | 0.2s ×68 · 0.15s ×18 · 0.5s ×3 |
Component recipes
Buttons (4 distinct)
| Rendered | Height | Padding | Radius | Background / Text | Border | Font |
|---|---|---|---|---|---|---|
| Get started | 40px | 0px 16px | 16px | transparent#FFFFFF | 2px solid rgba(255, 255, 255, 0.05) | 14px / 600 |
| Get started | 48px | 0px 20px | 16px | transparent#FFFFFF | 2px solid rgba(255, 255, 255, 0.05) | 16px / 600 |
| Get Started | 41px | 12px 20px | 4px | #00A3FF#FFFFFF | none | 14px / 600 |
| Send | 32px | 5px 12px | 9999px | transparent#F0F0F0 | 1px solid rgba(212, 234, 255, 0.19) | 14px / 400 |
Cards (3 distinct)
| # | Background | Border | Radius | Padding | Shadow |
|---|---|---|---|---|---|
| 1 | transparent | 1px solid rgba(212, 234, 255, 0.19) | 24px | 0px 0px | none |
| 2 | transparent | 1px solid rgba(212, 234, 255, 0.19) | 16px | 0px 0px | none |
| 3 | #000000 | 1px solid #262A2D | 16px 16px 0px 0px | 0px 0px | none |
Rules: what never to do in the Resend style
- NEVER use a single generic sans-serif font across the entire page—Resend’s signature tension comes from combining an editorial serif (
Domainefor Hero H1), a tight neo-grotesque display sans (ABC Favoritwith-0.05emtracking for H2),Interfor body copy, andCommitMonofor code. - NEVER use warm or neutral gray borders on
#000000—always use cool ice-tinted translucent borders (rgba(212, 234, 255, 0.19)/--slate-a6orrgba(211, 237, 246, 0.11)). - NEVER use loose letter-spacing on H2 headings—Resend uses an aggressive
-0.05em(-2.8pxat56px) 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-2xl16px) or crisp#00A3FFutility actions. - NEVER clutter code blocks with heavy chrome—use
#000000orrgba(20, 22, 23, 0.6)backgrounds with1px solid rgba(212, 234, 255, 0.19)borders,16px–24pxborder-radius, andCommitMonoat14px–16px.
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
Resend full token specResend ButtonsResend CardsResend Pricing TableResend vs LoopsResend vs MintlifyResend vs NeonResend vs Railway
Similar styles
Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.
See taste-skill Pro →