Prism prismd.fr
Extracted · 10 sections · 16 colors · grade B

tanstack.com

Accent #5e6ad2 · Inter — chaque valeur ci-dessous est mesurée via getComputedStyle(), jamais affirmée à la main.

16
colors
1
face
16
shadows
17
keyframes
tanstack.com
rendu réel · source de vérité

tanstack.com is built on a pure-white canvas (rgb(253, 253, 253)). The system uses rgb(115, 115, 115) as the singular interactive color. Sharp 0px corners on CTAs — architectural restraint, engineering precision alongside Inter as the primary typeface. A layered elevation system (16 distinct shadows) building a clear front-to-back hierarchy. Motion is a first-class concern — 17 keyframe animations plus transition-driven interactions.

01

Color — roles, semantics & the full census

16 colors measured · click any swatch to copy

Canvas
#fdfdfd
AAA 17.62:1
Ink
#171717
AAA 17.62:1
Accent
#737373
AA 4.66:1
Line
#e5e5e5
Fail 1.24:1
Semantic states

No semantic state colors detected — this system signals state through weight & motion, not hue.

16 colors mined from the live renderexpand
02

Type — the ladder, in the real face

6 roles · rendered live in the real Inter (captured woff2) · lines are editable, click any spec to copy

display xl
display-xl96px · 900
display md
display-md24px · 600 · ×4.00
headline
headline16px · 700 · ×1.50
body
body16px · 400 · ×1.00
body sm
body-sm14px · 400 · ×1.14
button
button20px · 900 · ×0.70
03

Spacing & radius, made spatial

9 spacing steps · 7 radii · bars are exact px widths

Spacing scale
xxs · 2px
xs · 4px
sm · 8px
md · 16px
base · 20px
lg · 27px
xl · 53px
2xl · 64px
3xl · 72px
Radius
none
0px
xs
4px
sm
8px
md
12px
lg
16px
xl
32px
full
9999px
04

Depth — elevation is extracted, not invented

16 box-shadows measured on the live page · click a tile to copy its raw value

shadow-1
shadow-2
shadow-3
shadow-4
shadow-5
05

Motion — easings, transitions & live keyframes

3 easing curves · 17 keyframes · hover a tile to preview

Easing & transitions
transition-2cubic-bezier(0.4, 0, 0.2, 1)
default-transition-timing-functioncubic-bezier(.4, 0, .2, 1)
ease-outcubic-bezier(0, 0, .2, 1)
17 keyframe animations extracted
fadeIn
pulseScale
ship-peek
ship-pointer-events
open-source-underline-color
open-source-underline-draw
open-source-underline-drift
dropdown-in
dropdown-out
cart-panel-in
cart-panel-out
cart-overlay-in
06

Components — the closed vocabulary

9 component families · 28 variants counted on the live DOM

ComponentVariants found
buttons×6
heading H3×6
heading H4×4
links×4
inputs×2
nav Links×2
heading H2×2
status Badge×1
heading H1×1
Component style specs (§4)expand

Buttons

Ghost

  • Background: transparent
  • Text: #171717 {colors.primary-focus}
  • Padding: 4px 0px
  • Radius: 0px
  • Font: 20px weight 900
  • Use: Subtle action, toolbar, nav button
  • Focus: outline: rgb(23, 23, 23) auto 3px

Ghost

  • Background: transparent
  • Text: #171717 {colors.primary-focus}
  • Padding: 0px 8px 0px 4px
  • Radius: 0px
  • Font: 16px weight 400
  • Use: Subtle action, toolbar, nav button
  • Focus: outline: rgb(23, 23, 23) auto 3px

Secondary

  • Background: #737373 {colors.primary}
  • Text: #171717 {colors.primary-focus}
  • Padding: 6px 8px
  • Radius: 6px
  • Border: 1px solid rgb(229, 229, 229)
  • Font: 12px weight 500
  • Use: Secondary action
  • Focus: outline: rgb(23, 23, 23) auto 3px

Outline

  • Background: transparent
  • Text: #171717 {colors.primary-focus}
  • Padding: 6px 8px
  • Radius: 6px
  • Border: 1px solid rgb(229, 229, 229)
  • Font: 12px weight 500
  • Use: Secondary action with border
  • Focus: outline: rgb(23, 23, 23) auto 3px

Inputs & Forms

Text Input

  • Background: transparent
  • Text: #171717 {colors.primary-focus}
  • Padding: 4px 20px 16px
  • Radius: 0px
  • Border: 0px solid rgb(229, 229, 229)
  • Font: 14px weight 400
  • Use: Text fields, search inputs
  • Focus: outline: rgb(16, 16, 16) none 1px
07

Layout — structure & dimensions

5 layout metrics measured

header 64px 1200px max-width
max Width1200px
header Height64px
sidebar Width0px
gap16px
container Padding24px
08

Responsive — real breakpoints

fluid system — no hard stops

No distinct @media breakpoints captured at the desktop/mobile pass — this layout is fluid, adapting by ratio rather than hard stops.

09

Do's & Don'ts

14 enforceable rules pulled verbatim from the spec

Do
Use Pure White (`#fdfdfd`) as the page background — it's intentionally not pure white
Use Near-Black (`#171717`) for text — not pure black, it's warmer and more readable
Use Inter as the primary typeface — it defines the brand personality
Use the extracted shadow patterns for elevation — they are tuned to match the brand palette
Use Slate Grey (`#737373`) as the primary accent — it's the brand's signature interactive color
Use 6px border-radius on buttons — the standard corner rounding for interactive elements
Respect the 4px–53px spacing range — the design uses a wide scale for visual breathing room
Each card includes a top image — imagery is part of the card identity, not optional
Don't
Don't use pure white (`#ffffff`) as a page background — the warm tone is part of the brand identity
Don't use pure black (`#000000`) for text — the near-black adds warmth
Don't substitute with generic sans-serif or serif — the custom font carries the brand
Don't invent new shadow values — use only the extracted shadow levels
Don't introduce additional saturated accent colors — the palette is intentionally controlled
Don't over-build the footer — this design keeps it minimal (1 cols, 10 links)
10

Agent guide & export

Paste-ready prompt + the real files behind this page

Build a UI in the tanstack.com design system. Canvas #fdfdfd · ink #171717 · accent #737373. Type: Inter — respect the size/weight ladder in §3. Radius, spacing, shadow: use only the extracted scales (no magic numbers). Full spec follows — paste the DESIGN.md below into your agent.
Every value above was getComputedStyle-verified.
$ npx prismd add tanstack
DESIGN.md · narrative spec tokens.json