prismdinstrument
EXTRACTED · 10 SECTIONS · 23 COLORS · GRADE C

upstash.com

Accent #5e6ad2 · __Inter_f367f3 — every value below measured via getComputedStyle(), not asserted by hand.

23
colors
3
faces
7
shadows
6
keyframes
upstash.com
real render · source of truth

upstash.com is built on a mid-dark canvas (oklch(0.97 0 0)). The system uses rgb(0, 188, 125) as the high-saturation accent for primary actions. Sharp 0px corners on CTAs — architectural restraint, engineering precision alongside __Inter_Tight_a3c0d3 as the primary typeface. __Inter_Tight_a3c0d3 is paired with __Inter_Fallback_f367f3 for secondary roles. A layered elevation system (7 distinct shadows) building a clear front-to-back hierarchy. Motion is a first-class concern — 6 keyframe animations plus transition-driven interactions.

01

Color — roles, semantics & the full census

23 colors measured · click any swatch to copy

Canvas
#ffffff
AAA 15.15:1
Ink
#022c22
AAA 15.15:1
Accent
#00bc7d
Fail 2.47:1
Line
#e4e4e7
Fail 1.27:1
Semantic states

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

23 colors mined from the live renderexpand
02

Type — the ladder, in the real face

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

display xl
display-xl128px · 700
display md
display-md48px · 600 · ×2.67
headline
headline180px · 700 · ×0.27
body
body14px · 400 · ×12.86
button
button16px · 500 · ×0.88
04

Depth — elevation is extracted, not invented

7 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

2 easing curves · 6 keyframes · hover a tile to preview

Easing & transitions
transition-2cubic-bezier(0.4, 0, 1, 1)
transition-3cubic-bezier(0.4, 0, 0.2, 1)
6 keyframe animations extracted
headShake
heartBeat
pulse
animate-slide
animate-gradient
launcherEnter
03

Spacing & radius, made spatial

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

Spacing scale
xxs · 2px
xs · 6px
sm · 8px
md · 16px
base · 32px
lg · 64px
xl · 80px
2xl · 96px
3xl · 112px
Radius
none
0px
xs
6px
sm
8px
md
12px
lg
16px
xl
35px
full
9999px
06

Components — the closed vocabulary

12 component families · 46 variants counted on the live DOM

ComponentVariants found
buttons×10
links×10
nav Links×6
footer Links×4
code Block×4
heading H4×3
inputs×2
heading H2×2
heading H5×2
cards×1
heading H1×1
heading H3×1
Component style specs (§4)expand

Buttons

Pill

  • Background: transparent
  • Text: #71717b
  • Padding: 8px 12px
  • Radius: 9999px
  • Font: 16px weight 400
  • Use: Status pills, tags, chips
  • Focus: outline: rgb(16, 16, 16) auto 1px

Pill

  • Background: transparent
  • Text: #71717b
  • Padding: 8px 16px
  • Radius: 9999px
  • Font: 16px weight 400
  • Use: Status pills, tags, chips
  • Focus: outline: rgb(16, 16, 16) auto 1px

Primary Brand

  • Background: #00bc7d {colors.primary}
  • Text: #ffffff {colors.surface-2}
  • Padding: 8px 32px
  • Radius: 12px
  • Font: 16px weight 500
  • Use: Primary CTA / brand action
  • Focus: outline: rgb(16, 16, 16) auto 1px

Light / Invert

  • Background: #ffffff {colors.surface-2}
  • Text: #dc2626
  • Padding: 0px 32px
  • Radius: 16px 16px 0px 0px
  • Font: 24px weight 600
  • Use: Bright CTA on dark sections
  • Focus: outline: rgb(16, 16, 16) auto 1px

Light / Invert

  • Background: #f5f5f5 {colors.background}
  • Text: #71717b
  • Padding: 0px 32px
  • Radius: 16px 16px 0px 0px
  • Font: 24px weight 600
  • Use: Bright CTA on dark sections
  • Focus: outline: rgb(16, 16, 16) auto 1px

Primary Brand

  • Background: #00bc7d {colors.primary}
  • Text: #ffffff {colors.surface-2}
  • Padding: 8px 20px
  • Radius: 12px
  • Font: 16px weight 500
  • Use: Primary CTA / brand action
  • Focus: outline: rgb(16, 16, 16) auto 1px

Cards & Containers

Standard Card

  • Background: rgba(4, 120, 87, 0.08)
07

Layout — structure & dimensions

4 layout metrics measured

header 125px 1200px max-width
max Width1200px
header Height125px
sidebar Width0px
container Padding0px
08

Responsive — real breakpoints

6 media-query stops read from the live CSS

420px
640px
768px
1024px
1280px
1536px
09

Do's & Don'ts

23 enforceable rules pulled verbatim from the spec

Do
Use Off-White (`#f5f5f5`) as the page background — it's intentionally not pure white
Use Text (`#022c22`) for text — not pure black, it's warmer and more readable
Use negative letter-spacing (-3.2px) at display sizes for compressed, editorial headlines
Use the extracted shadow patterns for elevation — they are tuned to match the brand palette
Use full-pill radius (9999px) only for specific elements (avatars, pills, toggles)
Use Primary (`#00bc7d`) as the primary accent — it's the brand's signature interactive color
Use 12px border-radius on buttons — the standard corner rounding for interactive elements
Apply 32px padding inside cards — matches the design system's content breathing room
Use 16px border-radius on cards — consistent with the grid card corners
Maintain nav height at 40px — consistent vertical space for the navigation bar
Respect the 6px–80px spacing range — the design uses a wide scale for visual breathing room
Use a single primary CTA in the hero — the design intentionally avoids choice paralysis
Each card uses an icon (not photo) — the visual language is illustrative, not photographic
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 increase letter-spacing on headings — the type is designed to run tight at scale
Don't invent new shadow values — use only the extracted shadow levels
Don't apply pill radius on rectangular buttons or cards — it's reserved for specific interactive elements
Don't introduce additional saturated accent colors — the palette is intentionally controlled
Don't collapse or hide the nav on scroll without an explicit scroll-triggered animation — the design uses fixed nav presence
Don't make the nav sticky — this design lets it scroll away to maximize content focus
Don't put a CTA button in the nav — this design uses links only at the top
Don't over-build the footer — this design keeps it minimal (1 cols, 6 links)
10

Agent guide & export

Paste-ready prompt + the real files behind this page

Build a UI in the upstash.com design system. Canvas #ffffff · ink #022c22 · accent #00bc7d. Type: __Inter_f367f3 — 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 upstash
DESIGN.md · narrative spec tokens.json
A · InstrumentB · Press