Presets Pistachio Keystone

Pistachio Keystone

Calm, clinical web3 UI: blue-grey neutrals, one muted olive-lime action color and IBM Plex type for wallets, staking and on-chain tools.

Free Use in Figma, free Download

Colour

Five ramps, 50 to 950

brand50fbf9e6100f4f0c6200e7e092300d6ca5c400bfb337500a29a1c600827a10700665f0a8004d4805900383402950211f01
neutral50f5f8fa100eaeff3200d9e1e7300bfcad24009aa9b45007888936005f6e797004a586280035414a900222c35950131a20
success50eaf8ee100d0f1da200ade3bf30086cfa14005fb682500389c6460023824f70016683d8000c502e90003391e950012211
warning50fff4e8100ffe4c4200f8cd98300e8ad6a400d18f3a500b4730f600955e05700774a028005a37009003f2600950271600
danger50fff4f5100ffe3e6200ffc6ce300ff9dac400f66e89500e1436b600c02d567009c2043800791231900580521950390011

Semantic tokens

Light and dark

LightPrimarySecondary
background#f5f8fa
foreground#131a20
card#ffffff
card-foreground#131a20
popover#ffffff
popover-foreground#131a20
primary#665f0a
primary-foreground#ffffff
secondary#eaeff3
secondary-foreground#222c35
muted#eaeff3
muted-foreground#4a5862
accent#f4f0c6
accent-foreground#383402
destructive#c02d56
destructive-foreground#ffffff
success#16683d
success-foreground#ffffff
warning#f8cd98
warning-foreground#3f2600
border#d9e1e7
input#bfcad2
ring#827a10
DarkPrimarySecondary
background#131a20
foreground#f5f8fa
card#222c35
card-foreground#f5f8fa
popover#222c35
popover-foreground#f5f8fa
primary#d6ca5c
primary-foreground#211f01
secondary#35414a
secondary-foreground#eaeff3
muted#35414a
muted-foreground#bfcad2
accent#383402
accent-foreground#f4f0c6
destructive#f66e89
destructive-foreground#390011
success#5fb682
success-foreground#012211
warning#d18f3a
warning-foreground#271600
border#35414a
input#4a5862
ring#bfb337

Typography

IBM Plex Serif, IBM Plex Sans and IBM Plex Mono

Grow what matters

display-lg · 48/1.1 · 500 · -0.022em
IBM Plex Serif

Grow what matters

display-md · 36/1.15 · 500 · -0.018em
IBM Plex Serif

A calmer way to work

heading-lg · 27/1.25 · 500 · -0.012em
IBM Plex Serif

A calmer way to work

heading-md · 20/1.35 · 600 · -0.006em
IBM Plex Sans

A calmer way to work

heading-sm · 16/1.4 · 600
IBM Plex Sans

Good systems disappear. People notice the product, not the parts.

body-lg · 18/1.6 · 400
IBM Plex Sans

Good systems disappear. People notice the product, not the parts.

body-md · 16/1.6 · 400
IBM Plex Sans

Good systems disappear. People notice the product, not the parts.

body-sm · 14/1.5 · 400
IBM Plex Sans

Save changes

label · 14/1.3 · 500 · 0.005em
IBM Plex Sans

Updated 2 minutes ago

caption · 12/1.4 · 500 · 0.01em
IBM Plex Sans

const theme = preset("pistachio-keystone")

code · 13/1.5 · 400
IBM Plex Mono

Spacing · radius · shadow

The quiet rules

0.52px
14px
1.56px
28px
312px
416px
520px
624px
832px
1040px
1248px
1664px
2080px
2496px
sm
4px
md
6px
lg
10px
xl
14px
full
full
sm
md
lg

Components

Every part, every state

Buttons

DefaultHoverFocusDisabledPrimaryPrimaryPrimaryPrimaryPrimarySecondarySecondarySecondarySecondarySecondaryOutlineOutlineOutlineOutlineOutlineGhostGhostGhostGhostGhostDestructiveDeleteDeleteDeleteDelete
SmallMediumLargeNew invoiceSavingLearn more

Inputs

Md Rakib ShekhPlaceholder
nusrat@studio.coFocused
••••••Use at least 8 characters
Design
EngineeringDesign Marketing
Search customersisrat-jahan.studioDisabled
Hi Israt, the new onboarding is ready for review.
Email updatesSMS alerts–Some selectedDisabled
MonthlyYearlyLifetime
Dark modeAuto-saveLocked

Navigation

ProductPricingCustomersDocsSign inGet started
OverviewActivityMembersBilling
DayWeekMonthHome / Projects / Q3 launch
123…12

Feedback

New version availableReload to get the latest features.
Payment received$2,400 from Md Rakib Shekh.
Card expires soonUpdate it before Friday.
Sync failedWe will try again in 30 seconds.
NJ
Nusrat JahanCommented on Q3 launch
View
Invoice sent to Israt Jahan
Undo
PrimarySecondaryOutlineActivePendingFailedNew
Copied to clipboard72%
MRNJIJMRNJIJ+5

Cards, table and overlays

Monthly revenue12.4%

$48,210

74% of the $65k goal
The web3 report

What changed this quarter, and what to do next.

MRMd Rakib Shekh4 min read
IJ
Israt Jahan

Product designer

MessageFollow
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00
Showing 1–3 of 36
123…12
Delete project?

“Q3 launch” and its 24 files will be removed for everyone. You can’t undo this.

CancelDelete
No messages yet

When customers write to you, their messages show up here.

Invite your team

Screens

Pistachio Keystone as a real product

Landing page

pistachio-keystone.com
ProductPricingCustomersDocsSign inGet started
New · web3

Pistachio Keystone

Calm, clinical web3 UI: blue-grey neutrals, one muted olive-lime action color and IBM Plex type for wallets, staking and on-chain tools.

Get startedBook a demo
MRNJIJLoved by 2,000+ teams
This week

+24.6%

Dashboard

OverviewReportsInbox12CustomersProjectsSettings

Good morning, Rakib

Overview

New report
Revenue

$48,210

+12.4%
Customers

2,318

+4.1%
Churn

1.8%

-0.3%
RevenueWeekMonthYear
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00

Phone app

9:41●●● 100%

Welcome back

Md Rakib Shekh
MR
Balance

$12,480

SendRequest
Search
MR
Md Rakib ShekhPaid
$2,400
NJ
Nusrat JahanPending
$860
IJ
Israt JahanFailed
$1,120
HomeStatsInboxProfile
9:41●●● 100%

Q3 launch

TasksFilesChat
Write onboarding copyMd Rakib Shekh · Today
Review new pricingNusrat Jahan · Tomorrow
Ship release notesIsrat Jahan · Friday
1 of 3 doneOn track for Friday.
HomeStatsInboxProfile

Pricing

Starter

$0 /month

For trying things out

Start free
  • 1 project
  • Basic reports
  • Email support
ProPopular

$24 /month

For growing teams

Choose Pro
  • Unlimited projects
  • Team workspaces
  • Priority support
  • Advanced reports
Business

$79 /month

For larger organisations

Choose Business
  • Everything in Pro
  • SSO and audit log
  • A dedicated manager

Sign in

Welcome back

Sign in to continue to your workspace.

Continue with Googleor
israt@studio.co
••••••••••
Remember meForgot password?
Sign in

“We set up our whole workspace in an afternoon.”

NJNusrat Jahan
Head of operations

Settings

OverviewReportsInbox12CustomersProjectsSettings

Settings

ProfileNotificationsBilling
MRMd Rakib Shekhrakib@studio.coChange photo
Email notificationsA summary every Monday.
Two-factor sign-inProtect your account with a code.
LanguageUsed across the app.English
Delete accountThis removes all your data.Delete
CancelSave changes

Use Pistachio Keystone

In Figma

Open UIX, go to Presets and search “Pistachio Keystone”. Press Use this preset, then Sync to Figma.

Install UIX

In code

Install the theme with shadcn/ui, or download the files.

DESIGN.mdtheme.csstokens.dtcg.jsonfigma-variables.jsonshadcn-theme.jsonpreset.json

Send to your AI agent

Connect the UIX MCP once, then ask Claude Code, Cursor or any MCP client: “Use the Pistachio Keystone preset”.

Get your MCP link

About Pistachio Keystone

Overview

Pistachio Keystone is for web3 screens where users fear irreversible actions: wallets, staking dashboards, transaction review and governance votes. It avoids neon gradients and dark drama. It uses pale cool surfaces, one olive accent (primary) and plain labels, so each confirmation step reads as checked and under control. Every text pair in both modes is at least 4.5:1, and most reach 6:1 or more.

Color

Neutrals are blue-grey at OKLCH hue ≈235 with low chroma that peaks at 500–700, so surfaces recede and numbers stay in front. Brand is olive-lime at hue ≈100, nudged slightly greener than v1.0 so it reads as pistachio rather than mustard. Its chroma peaks at 400–500 and tapers evenly toward 50 and 950. Light mode: primary = brand.700 (#665f0a) with white text, about 6.6:1. ring = brand.600, about 4:1 on background. Dark mode: primary = brand.300 (#d6ca5c) with brand.950 text, about 10:1, on neutral.950 (#131a20). Danger is a cool crimson at hue ≈5, far from olive (ΔE2000 > 40 in both modes). Success sits at hue ≈155, cooler than brand so 'confirmed' never reads as 'click me'. Warning is shifted toward orange (hue ≈65) so amber banners stay distinct from the olive primary. Success and warning use the same chroma curve as brand.

Typography

The size scale steps by about ×1.33 (perfect fourth) from 20px upward: heading-md 20 → heading-lg 27 → display-md 36 → display-lg 48. Below that, body sizes are 12/14/16/18. IBM Plex Serif (weight 500) is used only for heading-lg and the two display sizes, giving a statement-like voice. Letter spacing tightens with size: -0.012em at 27px, -0.018em at 36px, -0.022em at 48px. IBM Plex Sans covers all UI text, with body-md at 16px/1.6 for comfortable reading. IBM Plex Mono (400/500) sets addresses, hashes and transaction amounts at 13px. Only shipped weights are used: Serif and Sans 400/500/600, Mono 400/500.

Layout

Comfortable density on a 4px grid. Content max width is 1120px. Cards use space.6 (24px) padding. Buttons and inputs are 40px high; large confirm buttons on transaction review are 44px. Keep at least space.8 (32px) between a transaction summary card and the confirm or cancel row.

Elevation

Nearly flat. Surfaces are separated by a 1px border (neutral.200 in light, neutral.800 in dark) plus shadow.sm on cards. Use shadow.md only for dropdowns, popovers and toasts. Use shadow.lg only for modal dialogs such as transaction confirmation. In dark mode, depth comes from surface steps: background neutral.950 → card neutral.900 → secondary/muted neutral.800.

Shapes

radius.md (6px) on buttons, inputs and selects. radius.lg (10px) on cards. radius.xl (14px) on modal dialogs. radius.full only for status badges and network chips. Buttons are never fully round.

Do

  • Use one primary button per view (brand.700 in light, brand.300 in dark) for the main step, such as 'Review transaction' or 'Confirm'. Make all other actions secondary or ghost buttons.
  • Set wallet addresses, hashes and IDs in typography.code (IBM Plex Mono, 13px). Truncate them in the middle (0x12ab…89ef) and add a copy icon button with a 'Copied' tooltip state.
  • Use IBM Plex Serif only for heading-lg (27px), display-md (36px) and display-lg (48px). Use IBM Plex Sans for every button, input, table and paragraph.
  • Before any irreversible action, show a card with amount, recipient and network fee. Place the confirm button bottom-right, at least space.8 (32px) below the summary.
  • Show focus with a 2px outline in the ring token (brand.600 light, brand.400 dark) with a 2px offset on buttons, inputs and badges.
  • Pair every success, warning and destructive color with an icon and a text label, such as 'Failed' or 'Pending', so meaning never depends on color alone.
  • Separate surfaces with a 1px border token plus shadow.sm on cards. Use shadow.md for popovers and shadow.lg for modals only.
  • Keep content text at body-md (16px/1.6) minimum. Use muted-foreground only for secondary text such as timestamps, never for amounts or warnings.

Don’t

  • Don't use neon gradients, glows or glassmorphism. Surfaces stay flat (card, muted, background) with 1px borders.
  • Don't use olive (brand) for errors, failed transactions or destructive actions. Use the destructive token (danger.600 light, danger.400 dark).
  • Don't use brand.400 or lighter as text or icon color on light backgrounds. It falls below 3:1 on neutral.50.
  • Don't set IBM Plex Serif below 24px, in all caps, or in buttons and form labels.
  • Don't use pure black or pure white page backgrounds. Use neutral.50 (light) or neutral.950 (dark). White is reserved for card and popover in light mode.
  • Don't use radius.full on buttons or inputs. Keep radius.md (6px), and use pills only for badges and network chips.
  • Don't place warning banners (warning.200 light / warning.400 dark) next to primary buttons without an icon. Show at most one warning banner per screen.
Access
Free
Industries
web3, wallets, defi, infrastructure
Mood
calm, clinical, reassuring, precise
Display font
IBM Plex Serif
Body font
IBM Plex Sans
Mono font
IBM Plex Mono
Density
Comfortable
Contrast
Standard
Corner radius
6px

Similar presets

All 251 presets →