taste-skill / Style guides / Cal.com style
How to build a UI in the Cal.com style
Cal.com (cal.com) reads as Neo-Brutalist Swiss Scheduling & Geometric Cal Sans — Tactile #F4F4F4 industrial stone canvas with crisp #FFFFFF widget cards, bold 64px geometric Cal Sans display headings, high-contrast #242424 ink, and #AA61F1 violet scheduling 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://cal.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Cal.com is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Cal.com.Live preview with Cal.com tokens
Cal.com style · light
Ship the product, not the pixels.
Preview text rendered with the extracted Cal.com canvas, text, muted and accent tokens.
Card on extracted card recipe
Accent link: #242424 · border
#E5E5E5Color palette (light mode)
| Role | Value | Tailwind | Usage |
|---|---|---|---|
| canvasBg | #F4F4F4 | bg-[#F4F4F4] | Primary Cal.com page canvas |
| surfaceElevated | #FFFFFF | bg-white | Primary elevated card & bento surface |
| surfaceSecondary | #F4F4F4 | bg-[#F4F4F4] | Secondary interactive container / hover fill |
| borderPrimary | #E5E5E5 | border-[#E5E5E5] | Primary structural divider (1px solid #E5E5E5) |
| borderSecondary | #E5E5E5 | border-[#E5E5E5] | Secondary nested module or pill border |
| textPrimary | #242424 | text-[#242424] | Hero H1, section H2 & high-contrast foreground |
| textMuted | #898989 | text-[#898989] | Lead paragraphs, descriptions & muted labels |
| accentPrimary | #242424 | bg-[#242424] | Primary interactive CTA & brand highlight (12px) |
| accentSecondary | #7826B1 | text-[#7826B1] | Secondary badge, syntax or telemetry highlight |
Typography
Heading Cal Sans · body Inter · mono Roboto Mono
| Level | Computed spec |
|---|---|
| Hero H1 | 64px | line-height 70.4px (leading-[1.1]) | letter-spacing 0px (tracking-[0em]) | weight 600 (font-[600]) | color #242424 (text-[#242424]) | font Cal Sans |
| Section H2 (Primary) | 48px | line-height 52.8px (leading-[1.1]) | letter-spacing 0px (tracking-[0em]) | weight 600 (font-[600]) | color #242424 (text-[#242424]) | font Cal Sans |
| Card / Feature H3 | 18px | line-height 23.4px (leading-[1.3]) | letter-spacing -0.2px (tracking-[-0.011em]) | weight 300 (font-[300]) | color #242424 (text-[#242424]) | font Cal Sans UI Variable Light |
| Body Copy (Paragraph) | 16px | line-height 24px (leading-[1.5]) | letter-spacing 0px (tracking-[0em]) | weight 300 (font-[300]) | color #898989 (text-[#898989]) | font Cal Sans UI Variable Light |
| Monospace / Code Block | 13px–14px | line-height 1.5 (leading-relaxed) | font "Fragment Mono" |
Spacing, radius, depth and motion
| Token family | Most frequent values (count on page) |
|---|---|
| Border radius | 12px ×44 · 4px ×39 · 2px ×35 · 29px ×32 · 8px ×30 · 16px ×22 |
| Box shadow | rgba(0, 0, 0, 0.16) 0px 1px 1.9px 0px inset ×64 · rgba(36, 36, 36, 0.7) 0px 1px 5px -4px, rgba(36, 36, 36, 0.05) 0px 4px 8px 0px ×17 · rgba(19, 19, 22, 0.7) 0px 1px 5px -4px, rgba(34, 42, 53, 0.1) 0px 0px 0px 1px, rgba(34, 42, 53, 0.05) 0px 4px 8px 0px ×8 |
| Grid / flex gap | 10px ×166 · 4px ×100 · 8px ×31 · 12px ×23 · 16px ×11 · 48px ×8 |
| Container max-width | 1224px ×16 · 640px ×15 · 1200px ×6 · 1280px ×6 |
| Section vertical padding | 96px / 0px ×1 |
| Easing | not detected |
| Duration | not detected |
Component recipes
Buttons (1 distinct)
| Rendered | Height | Padding | Radius | Background / Text | Border | Font |
|---|---|---|---|---|---|---|
| Get started | 36px | 8px 12px | 12px | transparent#0000EE | none | 12px / 400 |
Cards (2 distinct)
| # | Background | Border | Radius | Padding | Shadow |
|---|---|---|---|---|---|
| 1 | #FFFFFF | none | 12px | 0px 0px | rgba(36, 36, 36, 0.7) 0px 1px 5px -4px, rgba(36, 36, 36, 0.05) 0px 4px 8px 0px |
| 2 | #FFFFFF | none | 16px | 24px 24px | rgba(36, 36, 36, 0.7) 0px 1px 5px -4px, rgba(36, 36, 36, 0.05) 0px 4px 8px 0px |
Rules: what never to do in the Cal.com style
- NEVER substitute generic uncalibrated gray backgrounds for Cal.com’s exact
#F4F4F4canvas and#FFFFFFsurface pairing. - NEVER replace
Cal Sansdisplay typography or ignore its signature scale (64px / 1.1 (w600)). - NEVER use thick opaque borders that clash with
#E5E5E5(1px solid #E5E5E5). - NEVER deviate from the signature button geometry (
12px) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with
Roboto Mono.
Copy-paste kit
CSS variables
:root {
/* Cal.com style — extracted from cal.com by taste-skill */
--canvas: #F4F4F4;
--surface: #FFFFFF;
--text: #242424;
--text-muted: #898989;
--accent: #242424;
--border: #E5E5E5;
--font-heading: 'Cal Sans', Inter, system-ui, -apple-system, sans-serif;
--font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
--font-mono: 'Roboto Mono', 'JetBrains Mono', ui-monospace, monospace;
--h1-size: 64px;
--h1-tracking: 0em;
--h1-weight: 600;
--radius-button: 12px;
--radius-common: 12px;
--shadow-common: rgba(0, 0, 0, 0.16) 0px 1px 1.9px 0px inset;
}tailwind.config.js
// tailwind.config.js — Cal.com style tokens (taste-skill)
module.exports = {
theme: {
extend: {
colors: {
canvas: "#F4F4F4",
surface: "#FFFFFF",
ink: "#242424",
muted: "#898989",
accent: "#242424",
line: "#E5E5E5",
},
fontFamily: {
heading: ["Cal Sans", 'Inter', 'system-ui', 'sans-serif'],
sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
mono: ["Roboto Mono", 'ui-monospace', 'monospace'],
},
fontSize: { display: ["64px", { letterSpacing: "0em", fontWeight: "600" }] },
borderRadius: { button: "12px", card: "12px" },
boxShadow: { brand: "rgba(0, 0, 0, 0.16) 0px 1px 1.9px 0px inset" },
},
},
};.cursor/skills/cal-style/SKILL.md
--- name: cal-style description: Build UI in the Cal.com visual style (Neo-Brutalist Swiss Scheduling & Geometric Cal Sans). Use when the user asks for a Cal.com-like look. --- # Cal.com Style — Quick Rules (source: cal.com, extracted by taste-skill) ## Tokens - canvasBg: #F4F4F4 — Primary Cal.com page canvas - surfaceElevated: #FFFFFF — Primary elevated card & bento surface - surfaceSecondary: #F4F4F4 — Secondary interactive container / hover fill - borderPrimary: #E5E5E5 — Primary structural divider (1px solid #E5E5E5) - borderSecondary: #E5E5E5 — Secondary nested module or pill border - textPrimary: #242424 — Hero H1, section H2 & high-contrast foreground - textMuted: #898989 — Lead paragraphs, descriptions & muted labels - accentPrimary: #242424 — Primary interactive CTA & brand highlight (12px) - accentSecondary: #7826B1 — Secondary badge, syntax or telemetry highlight ## Typography - Heading font: Cal Sans; body: Inter; mono: Roboto Mono - Hero H1: 64px | line-height 70.4px (leading-[1.1]) | letter-spacing 0px (tracking-[0em]) | weight 600 (font-[600]) | color #242424 (text-[#242424]) | font Cal Sans - Section H2 (Primary): 48px | line-height 52.8px (leading-[1.1]) | letter-spacing 0px (tracking-[0em]) | weight 600 (font-[600]) | color #242424 (text-[#242424]) | font Cal Sans - Card / Feature H3: 18px | line-height 23.4px (leading-[1.3]) | letter-spacing -0.2px (tracking-[-0.011em]) | weight 300 (font-[300]) | color #242424 (text-[#242424]) | font Cal Sans UI Variable Light - Body Copy (Paragraph): 16px | line-height 24px (leading-[1.5]) | letter-spacing 0px (tracking-[0em]) | weight 300 (font-[300]) | color #898989 (text-[#898989]) | font Cal Sans UI Variable Light ## Components - Primary button: height 36px, padding 8px 12px, radius 12px, bg transparent, text #0000EE, 12px / 400 - Card: bg #FFFFFF, border none, radius 12px, padding 0px 0px ## Never - NEVER substitute generic uncalibrated gray backgrounds for Cal.com’s exact #F4F4F4 canvas and #FFFFFF surface pairing. - NEVER replace Cal Sans display typography or ignore its signature scale (64px / 1.1 (w600)). - NEVER use thick opaque borders that clash with #E5E5E5 (1px solid #E5E5E5). - NEVER deviate from the signature button geometry (12px) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with Roboto Mono. Full 120-line spec: https://taste-skill.pages.dev/taste/cal/
Or install the full spec
npx taste-skill add cal
Related
Cal.com full token specCal.com CardsCal.com Pricing TableCal.com vs NotionCal.com vs DubCal.com vs Loops
Similar styles
Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.
See taste-skill Pro →