DESIGN.md · Analysis

zkPass

zkpass.org · 14 Jun 2026 · 47 colors · PT Serif, Inter Tight

zkPass

A privacy-first trust layer for the verifiable internet, enabling humans and AI agents to prove claims without exposing raw data through zero-knowledge cryptography.

Colors

surface#000000
surface-dim#0a0a0a
surface-bright#1a1a1a
surface-container-lowest#050505
surface-container-low#0f0f0f
surface-container#1a1a1a
surface-container-high#2d2d2d
surface-container-highest#3d3d3d
on-surface#ffffff
on-surface-variant#c5c5c5
inverse-surface#ffffff
inverse-on-surface#000000
outline#7a7a7a
outline-variant#646464
surface-tint#c5ff4a
primary#c5ff4a
on-primary#000000
primary-container#ffffff
on-primary-container#000000
inverse-primary#3d3d3d
secondary#ffffff
on-secondary#000000
secondary-container#ebebeb
on-secondary-container#1a1a1a
tertiary#c5ff4a
on-tertiary#000000
tertiary-container#3d3d3d
on-tertiary-container#c5ff4a
error#ff6b6b
on-error#ffffff
error-container#8a0000
on-error-container#ffb4ab
primary-fixed#c5ff4a
primary-fixed-dim#a8d700
on-primary-fixed#000000
on-primary-fixed-variant#3d3d3d
secondary-fixed#ffffff
secondary-fixed-dim#e5e5e5
on-secondary-fixed#000000
on-secondary-fixed-variant#646464
tertiary-fixed#c5ff4a
tertiary-fixed-dim#a8d700
on-tertiary-fixed#000000
on-tertiary-fixed-variant#3d3d3d
background#000000
on-background#ffffff
surface-variant#3d3d3d

Typography

display
fontFamily: PT Serif · fontSize: 69px · fontWeight: 400 · lineHeight: 76px · letterSpacing: -0.02em
headline-lg
fontFamily: PT Serif · fontSize: 48px · fontWeight: 400 · lineHeight: 56px · letterSpacing: -0.01em
headline-md
fontFamily: PT Serif · fontSize: 36px · fontWeight: 400 · lineHeight: 44px
title-lg
fontFamily: Inter Tight · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0.01em
body-lg
fontFamily: PT Serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px
body-md
fontFamily: PT Serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: Inter Tight · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Inter Tight · fontSize: 11px · fontWeight: 600 · lineHeight: 16px · letterSpacing: 0.22em

Design guidance

Overview

zkPass is a privacy-first infrastructure layer that transforms zero-knowledge cryptography into a trust graph for the verifiable internet. The brand serves both humans seeking data sovereignty and AI agents requiring cryptographic proof of behavior and credit—a dual-audience positioning that demands visual clarity without sacrificing technical sophistication. The aesthetic is "Cryptographic Minimalism": a pure black canvas (rgb(0, 0, 0)) punctuated by a vivid lime accent (#c5ff4a) that evokes both the glow of digital signals and the energy of breakthrough technology. The UI feels austere yet alive—every element is intentional, every interaction carries weight. The emotional response is one of precision and trust: users should feel they are interfacing with something mathematically rigorous, not marketing theater.

The brand voice is direct, technical, and unapologetically sophisticated. zkPass speaks in the language of cryptography and trust architecture, avoiding hype and hyperbole. Vocabulary patterns include "proof," "credit," "verification," "protocol," and "claim"—words that anchor the brand in concrete capability rather than aspiration. The tone is calm and authoritative, as if explaining a complex system to someone who already understands the stakes. Example sentence in brand voice: "Proof is for humans. Credit is for agents. One zkTLS protocol underneath, carrying the weight of both."

Colors

The color system is built on a high-contrast, signal-based palette. Primary (#c5ff4a) is the brand's cryptographic accent—used on all call-to-action buttons, focus states, and key interactive elements. It appears sparingly but with maximum impact, creating a visual hierarchy that guides attention without noise. The lime hue is chosen for its association with digital signals and energy; it reads as both technical and alive on the pure black background. Secondary (#ffffff) serves as the inverse accent for text and secondary UI elements, ensuring legibility and providing a cool counterpoint to the warm lime. Tertiary (#c5ff4a, same as primary in this system) reinforces the accent through badges and status indicators. The surface stack is monochromatic: surface (#000000) is the canvas, with co

Typography

The type system pairs PT Serif for editorial and display content with Inter Tight for UI labels and navigation. PT Serif (400 weight, 69px, -0.02em letter-spacing) anchors the display layer with classical authority—appropriate for a brand that positions itself as foundational infrastructure. Headline-lg (48px, 400 weight) and headline-md (36px, 400 weight) maintain the serif voice for section headers, creating a visual rhythm that feels deliberate and measured. Body text (PT Serif, 16–18px, 400 weight, 24–28px line-height) is set with generous line-height (1.5x) to ensure readability on the dark background and to reinforce the spacious, uncluttered aesthetic. Inter Tight (600 weight, 11–14px, 0.22em letter-spacing for labels) provides the technical, uppercase UI layer—navigation items, but

Layout

The layout follows a 12-column grid with a max-width of 1280px, maintaining a fixed container on desktop and fluid margins on mobile. The page rhythm is driven by 40px (lg spacing) section separation, creating breathing room between major content blocks. The hero section occupies 200vh (two full viewport heights) with a sticky header, allowing for parallax and animated background elements without overwhelming the viewport. Navigation uses a horizontal segmented layout with 1.5px borders (rgba(61, 61, 61, 0.6)) separating nav items, creating a modular, grid-like appearance that echoes the brand's technical precision. Gutter spacing is 24px on desktop, reducing to 12px (sm spacing) on tablets and 8px (unit) on mobile. The container-max-width of 1280px ensures content remains readable and foc

Elevation & Depth

Depth in zkPass is achieved through layered borders and subtle glow effects rather than traditional shadows. The elevation system uses three levels: Level 1 (Base) is the pure black background (rgb(0, 0, 0)) with no shadow. Level 2 (Standard Card) applies a 1.5px border at rgba(61, 61, 61, 0.6) and an optional box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) for subtle separation. Level 3 (Elevated/Interactive) adds a glow effect: box-shadow: 0 0 8px rgba(197, 255, 74, 0.7) for primary accents, or 0 0 14px rgba(197, 255, 74, 0.3) for secondary glows. Interactive elements (buttons, inputs with focus)

Shapes

The shape philosophy is "Technical Minimalism"—minimal rounding that suggests precision without coldness. Border-radius is kept small and consistent: sm (0.25rem / 4px) for tight, technical elements like small badges; DEFAULT (0.5rem / 8px) for buttons and inputs, providing just enough softness to feel approachable; md (0.75rem / 12px) for cards and larger containers; lg (1rem / 16px) for modals and elevated surfaces; xl (1.5rem / 24px) for hero sections and full-width containers; full (9999px) for pill-shaped badges and circular elements. Buttons use DEFAULT (8px) to balance technical precisi

Components

Action Elements Buttons are the primary interaction mechanism. The primary button (button-primary) uses a background of {colors.primary} (#c5ff4a), text color of {colors.on-primary} (#000000), padding of 0 18px, height of 40px, and no border. Typography is {typography.label-sm} (Inter Tight, 11px, 600 weight, 0.22em letter-spacing). On hover (button-primary-hover), the background shifts to {colors.primary-container} (#ffffff) and text remains {colors.on-primary} (#000000), creating a high-contrast inversion. The secondary button (button-secondary) uses a transparent background with a 1.5px border at rgba(61, 61, 61, 0.6), text color of {colors.primary} (#c5ff4a), padding of 14px 22px, and height of 48px. On hover (button-secondary-hover), the background becomes {colors.surface-containe

Do's and Don'ts

**Do**

  • Do use the lime accent (#c5ff4a) sparingly and intentionally—on CTAs, focus states, and key interactive elements only. Never use it for body text or large background areas.
  • Do maintain the pure black background (rgb(0, 0, 0)) as the canvas; it is non-negotiable for the brand's technical authority and contrast.
  • Do apply 1.5px borders at rgba(61, 61, 61, 0.6) to all cards, inputs, and nav items to define edges without visual clutter.
  • Do use PT Serif for editorial content and Inter Tight for UI labels; never mix them within a single component.
  • Do apply glow effects (box-shadow with rgba(197, 255, 74, ...)) only to interactive or highlighted elements; never use them decoratively.
  • Do maintain consistent padding and margin using the spacing scale (8px unit, 12px sm, 24px md, 40px lg); never use arbitrary values.

**Don't**

  • Don't use rounded corners larger than {rounded.lg} (16px) on buttons or inputs; it softens the technical aesthetic.
  • Don't apply text-shadow to body text; reserve it for accent text over busy backgrounds only.
  • Don't use colors outside the defined palette; the system is intentionally limited to reinforce brand identity.
  • Don't mix serif and sans-serif fonts within a single line or component; maintain clear typographic hierarchy.
  • Don't apply multiple glow effects to a single element; one glow layer is sufficient and more impactful.
  • Don't use the secondary color (#ffffff) as a background; it should appear only as text, borders, or accents on dark surfaces.