C

DESIGN.md · Analysis

Cloudflare Challenge

provider.headway.co · 14 Jun 2026 · 47 colors · Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif

Cloudflare Challenge

A security verification interface that balances trust and clarity. The design conveys procedural confidence through a minimal, accessible aesthetic with strategic use of status colors for success, error, and verification states.

Colors

surface#f2f2f2
surface-dim#e8e8e8
surface-bright#ffffff
surface-container-lowest#f9f9f9
surface-container-low#f5f5f5
surface-container#f2f2f2
surface-container-high#ececec
surface-container-highest#e0e0e0
on-surface#313131
on-surface-variant#666666
inverse-surface#0a0a0a
inverse-on-surface#f2f2f2
outline#b6b6b6
outline-variant#d0d0d0
surface-tint#4693ff
primary#4693ff
on-primary#ffffff
primary-container#b9d6ff
on-primary-container#003681
inverse-primary#b9d6ff
secondary#2db35e
on-secondary#ffffff
secondary-container#228b49
on-secondary-container#f2f2f2
tertiary#fc574a
on-tertiary#ffffff
tertiary-container#feccc8
on-tertiary-container#780a02
error#b20f03
on-error#ffffff
error-container#feccc8
on-error-container#780a02
primary-fixed#b9d6ff
primary-fixed-dim#9d94ec
on-primary-fixed#003681
on-primary-fixed-variant#4693ff
secondary-fixed#228b49
secondary-fixed-dim#2db35e
on-secondary-fixed#ffffff
on-secondary-fixed-variant#f2f2f2
tertiary-fixed#fc574a
tertiary-fixed-dim#f38020
on-tertiary-fixed#ffffff
on-tertiary-fixed-variant#feccc8
background#f2f2f2
on-background#313131
surface-variant#e8e8e8

Typography

display
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.02em
headline-lg
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 32px · fontWeight: 600 · lineHeight: 40px · letterSpacing: -0.015em
headline-md
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 24px · fontWeight: 600 · lineHeight: 32px
title-lg
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 20px · fontWeight: 600 · lineHeight: 28px
body-lg
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px
body-md
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

Cloudflare Challenge is a security verification interface designed to communicate procedural transparency and user trust during bot-detection flows. The aesthetic follows 'Austere Clarity'—a design philosophy that strips away visual noise to focus on essential information hierarchy, using a near-white canvas (#f2f2f2) paired with a confident blue accent (#4693ff) for interactive elements. The interface serves users who are temporarily blocked and need reassurance that the verification process is legitimate, controlled, and brief. The brand personality is calm, direct, and reassuring—never alarming. Example voice: 'Verifying you are human. This may take a few seconds.'

Colors

The color system uses a light-dominant palette anchored by a near-white surface (#f2f2f2) that conveys openness and trustworthiness. Primary (#4693ff) is the signature accent, used exclusively on interactive elements (links, focus states, primary buttons) to draw attention without overwhelming. Secondary (#2db35e) signals successful verification states, while Tertiary (#fc574a) and Error (#b20f03) communicate failure or warning conditions. The surface stack progresses from #f9f9f9 (surface-container-lowest, for subtle depth) through #f2f2f2 (base) to #e0e0e0 (surface-container-highest, for elevated containers). On-surface text is #313131, a near-black that maintains 7:1 contrast against the light background. Focus states use a 2px solid outline in primary (#4693ff) with 2px offset, applied

Typography

The type system uses Segoe UI / Roboto as the primary font stack, chosen for their clarity and universal availability across platforms—critical for a security-sensitive interface where users must trust the content. Display (40px, 600 weight, -0.02em tracking) anchors the domain name at the top, establishing immediate context. Headline-md (24px, 600 weight) is used for status messages ('Verifying you are human'). Body-md (16px, 400 weight, 24px line-height) carries explanatory text, with generous line-height to ensure readability during potentially stressful moments. Label-md (14px, 600 weight, 0.01em tracking) is applied to buttons and interactive labels. All text uses a neutral gray (#313131) except on colored backgrounds, where it shifts to white for contrast. Apply text-shadow: 0 1px 2p

Layout

The page uses a centered, single-column layout with a max-width of 960px, reflecting the austere, focused aesthetic. The main content container sits at margin-top: 8rem on desktop (4rem on mobile ≤720px), creating breathing room above the verification card. Padding-left: 1.5rem ensures mobile safety. The grid is 12-column but typically uses 1–2 columns of content, leaving ample white space on either side. Spacing follows the semantic scale: lg (40px) separates major sections (heading from card), md (24px) separates card content internally, and sm (12px) is used between form elements. This rhythm creates a calm, unhurried visual experience—critical for users who may be anxious about being blocked.

Elevation & Depth

Depth is conveyed through subtle shadows and border treatments rather than dramatic layering. The base surface (#f2f2f2) has no shadow. Cards use box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) (md elevation) to separate them from the background, creating a single, clear layer of hierarchy. On hover, cards elevate to box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) (lg elevation), signaling interactivity. All cards have a 1px solid border in outline-variant (#d0d0d0) to define edges crisply. Status icons (success, error, verifying) use inset box-shadow: inset 0 0 0 [color] to create a hollow, animated eff

Shapes

The shape philosophy is 'Geometric Minimalism'—sharp, precise corners that convey technical competence and security. Buttons and inputs use border-radius: 1rem (16px) for a subtle, modern softness without appearing playful. Cards use border-radius: 0.5rem (8px), slightly sharper than buttons, to differentiate container types. Focus outlines use border-radius: 2px (0.125rem), creating crisp, technical rectangles that signal keyboard accessibility. Status icons use border-radius: 50% for perfect circles, a universal symbol of completion or state. The overall effect is 'technical yet approachable

Components

Action Elements Buttons use a 44px height (padding: 12px 24px, typography: label-md) for comfortable touch targets. Primary buttons have backgroundColor: {colors.primary} (#4693ff), textColor: white, and no border. On hover, the background shifts to #3a7fd9 (a 15% darker blue), signaling interactivity without animation lag. On focus, apply outline: 2px solid #4693ff with outline-offset: 2px and border-radius: 2px for keyboard users. Secondary buttons use a transparent background with a 1px border in outline (#b6b6b6), and on hover, the background becomes surface-container-high (#ececec). Links use textColor: {colors.primary} with text-decoration: underline, and on focus, apply the same 2px outline treatment.

Containers & Surfaces Cards are the primary container, with backgroundCol

Do's and Don'ts

**Do**

  • Do use primary (#4693ff) exclusively for interactive elements—buttons, links, focus outlines—to create a single, trustworthy accent that users learn to recognize.
  • Do maintain the 2px outline with 2px offset on all focus states; this is critical for keyboard accessibility and conveys technical rigor.
  • Do apply box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) to cards and dropdowns; this subtle shadow creates depth without visual noise.
  • Do use status colors (green #2db35e for success, red #b20f03 for error) consistently across all verification states; users rely on color to quickly parse outcomes.
  • Do preserve the near-white background (#f2f2f2) and avoid gradients or textures; the austere aesthetic builds trust through clarity.

**Don't**

  • Don't use primary (#4693ff) for body text or backgrounds; reserve it exclusively for interactive elements to maintain visual hierarchy.
  • Don't apply box-shadow values larger than 0 8px 24px rgba(0, 0, 0, 0.12); deeper shadows undermine the austere, lightweight aesthetic.
  • Don't use border-radius values smaller than 2px on focus outlines; crisp, technical rectangles signal accessibility and security.
  • Don't introduce new accent colors beyond primary, secondary, and tertiary; the limited palette reinforces trust and reduces cognitive load.
  • Don't animate transitions faster than 0.3s or slower than 0.6s on status icons; the timing must feel responsive without appearing frantic or sluggish.