Restate Design System

Documentation of current styles, components, and patterns

Typography

Font Families

'Stack Sans Headline', sans-serif
Stack Sans Headline
Used for: Headings (h1-h6) • Loaded from Google Fonts
'Stack Sans Notch', sans-serif
Stack Sans Notch
Used for: Inline highlights and emphasis • Use class: font-notch
var(--font-inter)
Inter
Used for: Body text, UI elements
var(--font-jetbrains-mono)
JetBrains Mono
Used for: Code blocks, technical content

Stack Font Weight Comparison

Stack Sans Headline
ExtraLight (200)
The quick brown fox jumps
Light (300)
The quick brown fox jumps
Regular (400)
The quick brown fox jumps
Medium (500)
The quick brown fox jumps
Stack Sans Notch
ExtraLight (200)
The quick brown fox jumps
Light (300)
The quick brown fox jumps
Regular (400)
The quick brown fox jumps
Medium (500)
The quick brown fox jumps
Side-by-Side Comparisons
Both at 200 (ExtraLight)
Headline: innately resilient
Notch: innately resilient
Both at 300 (Light)
Headline: innately resilient
Notch: innately resilient
Both at 400 (Regular)
Headline: innately resilient
Notch: innately resilient
Both at 500 (Medium)
Headline: innately resilient
Notch: innately resilient
Headline 300 vs Notch 200
Headline: innately resilient
Notch: innately resilient
Headline 400 vs Notch 300
Headline: innately resilient
Notch: innately resilient

Heading Styles

Heading 1 - The quick brown fox jumps

Heading 2 - The quick brown fox jumps

Heading 3 - The quick brown fox jumps

Heading 4 - The quick brown fox jumps

Heading 5 - The quick brown fox jumps
Heading 6 - The quick brown fox jumps

Body Text Styles

text-xl

Large body text - The quick brown fox jumps over the lazy dog. This is commonly used for introductory paragraphs and section leads.

text-base (default)

Regular body text - The quick brown fox jumps over the lazy dog. This is the standard text size used throughout the site.

text-sm

Small body text - The quick brown fox jumps over the lazy dog. Used for captions, helper text, and secondary information.

text-xs

Extra small text - The quick brown fox jumps over the lazy dog. Used for labels and fine print.

Code Styles

inline code

Here is some inline code within a paragraph of text.

code block
const greeting = "Hello, World!";
console.log(greeting);

Notch Font (Inline Highlights)

className="font-notch"

Use Stack Sans Notch for emphasis and inline highlights to draw attention to key terms or phrases.

Example sizes

Small: This is notch text inline

Base: This is notch text inline

Large: This is notch text inline

XL: This is notch text inline

Colors

Primary Colors

Brand Blue
--color-brand-blue
oklch(0.2959 0.1713 263.99)
Accent Blue
--color-accent-blue
#3258FF
Text Primary
--color-text-primary
oklch(0.1969 0.0101 276.49)
Paper
--color-paper
var(--color-blue-50)
Background
--color-background
oklch(0.9764 0.0013 286.38)

Gray Scale

Gray 50
gray-50
Gray 100
gray-100
Gray 200
gray-200
Gray 300
gray-300
Gray 400
gray-400
Gray 500
gray-500
Gray 600
gray-600
Gray 700
gray-700
Gray 800
gray-800
Gray 900
gray-900

Common Border Colors

border-black/10
Most common border color
border-black/15
Slightly stronger borders
border-gray-200
Alternative border color

Buttons

Button Component (Link-based)

variant="primary"
Primary Button
variant="secondary"
Secondary Button
variant="icon"

UI Button Component (HTML button)

variant="default"
variant="secondary"
variant="outline"
variant="ghost"
variant="link"
variant="destructive"

Sizes

Spacing Scale

4px (1)
8px (2)
12px (3)
16px (4)
24px (6)
32px (8)
48px (12)
64px (16)
80px (20)
96px (24)
128px (32)

Border Radius

rounded-lg
rounded-xl
rounded-2xl
rounded-3xl

Common Component Patterns

Card

Card Title

This is a common card pattern with rounded corners, border, and padding. Used throughout the site for content containers.

Learn more →

CTA Section

Ready to get started?

Large white bordered container used for conversion-focused sections with strong visual hierarchy.

Code Block

TypeScript
import { RestateContext } from "@restatedev/restate-sdk";

export async function processPayment(
  ctx: RestateContext,
  paymentId: string
) {
  // Durable execution with automatic retry
  const result = await ctx.run(() =>
    chargeCard(paymentId)
  );

  return result;
}

Spotlight Callout

Highlighted Feature

Gradient overlay callout box with brand-blue text styling. Used for highlighting important features or announcements.

FAQ/Accordion Item

What is Restate?
Semantic HTML details/summary element with custom styling. Fully accessible with no JavaScript required.

Responsive Breakpoints

NameSizeUsage
xxs424pxCustom - Extra small mobile
xs512pxCustom - Small mobile
sm640pxLarge mobile
md768pxTablet
lg1024pxDesktop
xl1280pxLarge desktop
2xl1536pxExtra large desktop

Component Files

/components/Button.tsx
Custom link-based button with variants: primary, secondary, icon
/components/ui/button.tsx
shadcn-style HTML button with 6 variants and size options
/components/CTA.tsx
Large call-to-action section component
/components/CodeTabs.tsx
Tabbed code viewer with syntax highlighting
/components/Faq.tsx
Accordion component using native details/summary
/components/layout/Header.tsx
Fixed navigation header with backdrop blur
/components/layout/Footer.tsx
Global footer with link groups and social icons
/components/homepage/Hero.tsx
Full-height hero section with gradient background

Design Principles

Semantic HTML First

Uses native HTML elements (details/summary for accordions) rather than JavaScript-heavy solutions for better accessibility and performance.

OKLCH Color Space

Uses perceptually uniform OKLCH colors for brand blue ensuring better color consistency across different displays and color modes.

Performance Focused

Pure Tailwind + PostCSS approach without CSS-in-JS runtime. Font display swap strategy. Next.js Image optimization.

Accessibility

ARIA labels, proper focus states, color contrast adherence, and screen reader support throughout.

This design system documentation is for internal reference only (noindex, nofollow).

Generated from existing codebase at /app/design-system