How to build a UI in the Framer style
Framer (framer.com) reads as Pitch-Black Interactive Canvas & Electric #0099FF Blue Glow — Pure #000000 canvas with #111111 elevated stage cards, glowing rgba(0,153,255,0.42) borders, 54px GT Walsheim Medium headlines (-0.04em tracking), and #0099FF electric blue + #FFFFFF 8px 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.
https://www.framer.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Framer is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Framer.Live preview with Framer tokens
rgba(0, 153, 255, 0.42)Color palette (dark mode)
| Role | Value | Tailwind | Usage |
|---|---|---|---|
| canvasBg | #000000 | bg-black | Primary Framer page canvas |
| surfaceElevated | #111111 | bg-[#111111] | Primary elevated card & bento surface |
| surfaceSecondary | #111111 | bg-[#111111] | Secondary interactive container / hover fill |
| borderPrimary | rgba(0, 153, 255, 0.42) | border-[rgba(0,153,255,0.42)] | Primary structural divider (1px rgba(0,153,255,0.42)) |
| borderSecondary | #0099FF | border-[#0099FF] | Secondary nested module or pill border |
| textPrimary | #FFFFFF | text-white | Hero H1, section H2 & high-contrast foreground |
| textMuted | #999999 | text-[#999999] | Lead paragraphs, descriptions & muted labels |
| accentPrimary | #0099FF | bg-[#0099FF] | Primary interactive CTA & brand highlight (8px) |
| accentSecondary | #FFFFFF | text-white | Secondary badge, syntax or telemetry highlight |
Typography
Heading GT Walsheim Medium · body Inter · mono JetBrains Mono
| Level | Computed spec |
|---|---|
| Hero H1 | 54px | line-height 54px (leading-[1]) | letter-spacing -2.16px (tracking-[-0.04em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font GT Walsheim Medium |
| Section H2 (Primary) | 54px | line-height 54px (leading-[1]) | letter-spacing -2.16px (tracking-[-0.04em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font GT Walsheim Medium |
| Section H2 (Secondary) | 44px | line-height 48.4px (leading-[1.1]) | letter-spacing -1.76px (tracking-[-0.04em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font GT Walsheim Medium |
| Card / Feature H3 | 18px | line-height 24.3px (leading-[1.35]) | letter-spacing -0.2px (tracking-[-0.011em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Inter Variable |
| Body Copy (Paragraph) | 18px | line-height 24.3px (leading-[1.35]) | letter-spacing -0.2px (tracking-[-0.011em]) | weight 400 (font-[400]) | color rgba(255, 255, 255, 0.6) (text-white/[0.6]) | font Inter Variable |
| Monospace / Code Block | 13px | line-height 16.9px (leading-[1.3]) | letter-spacing -0.01px (tracking-[-0.001em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font JetBrains Mono |
Spacing, radius, depth and motion
| Token family | Most frequent values (count on page) |
|---|---|
| Border radius | 15px ×70 · 8px ×56 · 6px ×34 · 4px ×23 · 20px ×20 · 5px ×9 |
| Box shadow | rgba(255, 255, 255, 0.35) 0px 1px 1px 0px inset, rgba(255, 255, 255, 0.35) 0px -1px 1px 0px inset ×3 · rgba(0, 0, 0, 0.1) 0px 1px 2px 0px ×3 · rgba(255, 255, 255, 0.08) 0px 0px 0px 1px ×1 |
| Grid / flex gap | 10px ×154 · 15px ×53 · 6px ×42 · 8px ×28 · 5px ×24 · 20px ×14 |
| Container max-width | 1200px ×11 · 660px ×1 |
| Section vertical padding | 120px / 120px ×2 · 64px / 0px ×1 · 100px / 100px ×1 · 20px / 120px ×1 |
| Easing | not detected |
| Duration | not detected |
Component recipes
Buttons (3 distinct)
| Rendered | Height | Padding | Radius | Background / Text | Border | Font |
|---|---|---|---|---|---|---|
| Sign up | 30px | 8px 10px | 8px | #FFFFFF#0000EE | none | 12px / 400 |
| Get started for free | 34px | 10px 14px | 8px | #FFFFFF#0000EE | none | 12px / 400 |
| Copy | 30px | 0px 10px | 8px | #1F1F1F#000000 | none | 12px / 400 |
No card container was detected on the extracted page; use #111111 surface with rgba(0, 153, 255, 0.42) border.
Rules: what never to do in the Framer style
- NEVER substitute generic uncalibrated gray backgrounds for Framer’s exact
#000000canvas and#111111surface pairing. - NEVER replace
GT Walsheim Mediumdisplay typography or ignore its signature scale (54px / -0.04em (w500)). - NEVER use thick opaque borders that clash with
rgba(0, 153, 255, 0.42)(1px rgba(0,153,255,0.42)). - NEVER deviate from the signature button geometry (
8px) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with
JetBrains Mono.
Copy-paste kit
:root {
/* Framer style — extracted from framer.com by taste-skill */
--canvas: #000000;
--surface: #111111;
--text: #FFFFFF;
--text-muted: #999999;
--accent: #0099FF;
--border: rgba(0, 153, 255, 0.42);
--font-heading: 'GT Walsheim Medium', Inter, system-ui, -apple-system, sans-serif;
--font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
--font-mono: 'JetBrains Mono', 'JetBrains Mono', ui-monospace, monospace;
--h1-size: 54px;
--h1-tracking: -0.04em;
--h1-weight: 500;
--radius-button: 8px;
--radius-common: 15px;
--shadow-common: rgba(255, 255, 255, 0.35) 0px 1px 1px 0px inset, rgba(255, 255, 255, 0.35) 0px -1px 1px 0px inset;
}// tailwind.config.js — Framer style tokens (taste-skill)
module.exports = {
theme: {
extend: {
colors: {
canvas: "#000000",
surface: "#111111",
ink: "#FFFFFF",
muted: "#999999",
accent: "#0099FF",
line: "rgba(0, 153, 255, 0.42)",
},
fontFamily: {
heading: ["GT Walsheim Medium", 'Inter', 'system-ui', 'sans-serif'],
sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
mono: ["JetBrains Mono", 'ui-monospace', 'monospace'],
},
fontSize: { display: ["54px", { letterSpacing: "-0.04em", fontWeight: "500" }] },
borderRadius: { button: "8px", card: "15px" },
boxShadow: { brand: "rgba(255, 255, 255, 0.35) 0px 1px 1px 0px inset, rgba(255, 255, 255, 0.35) 0px -1px 1px 0px inset" },
},
},
};--- name: framer-style description: Build UI in the Framer visual style (Pitch-Black Interactive Canvas & Electric #0099FF Blue Glow). Use when the user asks for a Framer-like look. --- # Framer Style — Quick Rules (source: framer.com, extracted by taste-skill) ## Tokens - canvasBg: #000000 — Primary Framer page canvas - surfaceElevated: #111111 — Primary elevated card & bento surface - surfaceSecondary: #111111 — Secondary interactive container / hover fill - borderPrimary: rgba(0, 153, 255, 0.42) — Primary structural divider (1px rgba(0,153,255,0.42)) - borderSecondary: #0099FF — Secondary nested module or pill border - textPrimary: #FFFFFF — Hero H1, section H2 & high-contrast foreground - textMuted: #999999 — Lead paragraphs, descriptions & muted labels - accentPrimary: #0099FF — Primary interactive CTA & brand highlight (8px) - accentSecondary: #FFFFFF — Secondary badge, syntax or telemetry highlight ## Typography - Heading font: GT Walsheim Medium; body: Inter; mono: JetBrains Mono - Hero H1: 54px | line-height 54px (leading-[1]) | letter-spacing -2.16px (tracking-[-0.04em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font GT Walsheim Medium - Section H2 (Primary): 54px | line-height 54px (leading-[1]) | letter-spacing -2.16px (tracking-[-0.04em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font GT Walsheim Medium - Section H2 (Secondary): 44px | line-height 48.4px (leading-[1.1]) | letter-spacing -1.76px (tracking-[-0.04em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font GT Walsheim Medium - Card / Feature H3: 18px | line-height 24.3px (leading-[1.35]) | letter-spacing -0.2px (tracking-[-0.011em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Inter Variable ## Components - Primary button: height 30px, padding 8px 10px, radius 8px, bg #FFFFFF, text #0000EE, 12px / 400 - Card: bg #111111, border 1px solid rgba(0, 153, 255, 0.42) ## Never - NEVER substitute generic uncalibrated gray backgrounds for Framer’s exact #000000 canvas and #111111 surface pairing. - NEVER replace GT Walsheim Medium display typography or ignore its signature scale (54px / -0.04em (w500)). - NEVER use thick opaque borders that clash with rgba(0, 153, 255, 0.42) (1px rgba(0,153,255,0.42)). - NEVER deviate from the signature button geometry (8px) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with JetBrains Mono. Full 120-line spec: https://taste-skill.pages.dev/taste/framer/
npx taste-skill add framer
Related
Similar styles
Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.
See taste-skill Pro →