Deep Signal ← Back to Qwave
Design system

Deep Signal

The visual language of a sovereign browser: deep-space navy, aurora gradients, and the wave. Tokens are defined once in qwave.css and drive both this guide and the landing page — edit a token, both update.

Color

An oklch palette for perceptually even ramps, composed at runtime with color-mix(). Aqua is the wave; violet marks post-quantum; green means verified.

--aqua
brand · the wave
--blue
signal
--green
verified · allow
--violet
post-quantum
--rose
blocked
--amber
caution
--ink-900
surface base
--ink-999
page bg
--grad-brand
primary actions
--grad-aurora
accents · progress
--grad-text
headline fills

Typography

Space Grotesk for display, Inter for body, JetBrains Mono for code and system labels. The scale is fluid — every step is a clamp() that breathes with the viewport.

step-5Qwave
step-4Sovereign browser
step-3Prove what it sends
step-2Container universes
step-1Post-quantum by construction
step-0Body copy runs at step-0 in Inter, 1.65 line height.
monoswift test -c release

Space & radius

A single geometric spacing scale and five radii, from control corners to the big hero card.

--sp-1 · 4px
--sp-2 · 8px
--sp-4 · 16px
--sp-6 · 32px
--sp-8 · 64px
--sp-9 · 96px
r-1
r-2
r-3
r-4
pill

Elevation & glow

Three shadow tiers plus a brand glow reserved for primary actions and live surfaces.

--shadow-1
--shadow-2
--shadow-3
--glow-brand

Components

The reusable pieces, straight from the shipped stylesheet.

buttons

Primary Ghost Large

pills & tags

live · v0.4.4 FIPS 203 Constant-time Fail-closed

cards (hover for spotlight + gradient border)

🛡️

Standard card

Glass surface, pointer-tracked spotlight, lift on hover.

🌊

Featured

Adds the animated conic --qw-angle gradient border.

terminal

example
# build the release binary
xcodegen generate && xcodebuild -scheme Qwave build

Motion

Motion is purposeful and always honors prefers-reduced-motion. Tokens: four durations, three easings.

Bleeding-edge, progressively enhanced. The top progress bar is a native CSS scroll-driven animation (animation-timeline: scroll()) where supported. Animated borders use registered @property custom properties. Cross-page navigation uses the View Transitions API. None of it is required for the page to work.
--ease-out · cubic-bezier(0.22, 1, 0.36, 1)
--ease-spring · cubic-bezier(0.34, 1.56, 0.64, 1)
--dur-1 0.16s   --dur-2 0.3s   --dur-3 0.6s   --dur-4 1s