taste-skill / Style guides / Framer style

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.

Source: computed styles extracted from 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

Framer style · dark
Ship the product, not the pixels.
Preview text rendered with the extracted Framer canvas, text, muted and accent tokens.
Sign up Get started for free
Card on surface + border tokens
Accent link: #0099FF · border rgba(0, 153, 255, 0.42)

Color palette (dark mode)

RoleValueTailwindUsage
canvasBg#000000bg-blackPrimary Framer page canvas
surfaceElevated#111111bg-[#111111]Primary elevated card & bento surface
surfaceSecondary#111111bg-[#111111]Secondary interactive container / hover fill
borderPrimaryrgba(0, 153, 255, 0.42)border-[rgba(0,153,255,0.42)]Primary structural divider (1px rgba(0,153,255,0.42))
borderSecondary#0099FFborder-[#0099FF]Secondary nested module or pill border
textPrimary#FFFFFFtext-whiteHero H1, section H2 & high-contrast foreground
textMuted#999999text-[#999999]Lead paragraphs, descriptions & muted labels
accentPrimary#0099FFbg-[#0099FF]Primary interactive CTA & brand highlight (8px)
accentSecondary#FFFFFFtext-whiteSecondary badge, syntax or telemetry highlight

Typography

Heading GT Walsheim Medium · body Inter · mono JetBrains Mono

LevelComputed spec
Hero H154px | 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 H318px | 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 Block13px | 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 familyMost frequent values (count on page)
Border radius15px ×70 · 8px ×56 · 6px ×34 · 4px ×23 · 20px ×20 · 5px ×9
Box shadowrgba(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 gap10px ×154 · 15px ×53 · 6px ×42 · 8px ×28 · 5px ×24 · 20px ×14
Container max-width1200px ×11 · 660px ×1
Section vertical padding120px / 120px ×2 · 64px / 0px ×1 · 100px / 100px ×1 · 20px / 120px ×1
Easingnot detected
Durationnot detected

Component recipes

Buttons (3 distinct)

RenderedHeightPaddingRadiusBackground / TextBorderFont
Sign up30px8px 10px8px#FFFFFF
#0000EE
none12px / 400
Get started for free34px10px 14px8px#FFFFFF
#0000EE
none12px / 400
Copy30px0px 10px8px#1F1F1F
#000000
none12px / 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

Copy-paste kit

CSS variables
: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
// 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" },
    },
  },
};
.cursor/skills/framer-style/SKILL.md
---
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/
Or install the full spec
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 →