انتقل إلى المحتوى

هذه الصفحة توثّق القالب نفسه، وهي متاحة بالإنجليزية فقط.

Style guide

The system, before the design

Every token, type class and component this site is built from. Kept because it is genuinely useful — and because a site about doing the invisible parts properly should show its own.

Ground and lines

  • #08080a

    --color-ground

    Page ground

  • #050506

    --color-ground-deep

    Banded sections, footer

  • #0f0f13

    --color-raised

    Cards

  • #16161c

    --color-raised-high

    Hover, nested cards

  • #1e1e26

    --color-line

    Hairlines

Ink

  • Headlines and body

    #f5f5f7

    --color-ink

    18.9:1 on ground

  • Secondary copy

    #a9a9b4

    --color-ink-soft

    8.6:1 on ground

  • Eyebrows, captions

    #7c7c88

    --color-ink-mute

    4.85 on ground · 4.63 on raised · fails on raised-high

Accent ramp

  • #ff6a1f

    --color-flare

    Accent. The only ramp stop that may carry text

    6.99:1 on ground

  • #d9460f

    --color-flare-deep

    Pressed and hovered solid orange

    —

  • #ffb98c

    --color-flare-soft

    Focus ring, chip borders

    11.4:1 on ground

  • #ff2f6d

    --color-ember

    Ramp middle. Decorative only

    —

  • #a01bff

    --color-magenta

    Ramp end. Never a text colour

    4.35:1 — decorative

Type scale

  • .type-display

    Creative studio

  • .type-headline

    We design with purpose

  • .type-title

    Card and section titles

  • .type-lead

    The opening paragraph of a section.

  • .type-body

    The default running text of the page.

  • .type-small

    Captions, legal and meta.

  • .type-label

    Eyebrows and buttons

  • .type-mono

    01 · 14 February 2026

  • .type-stat

    $10.7B

  • .type-price

    $2,199

Buttons

Surfaces

Raised

The default card.

Flat

Border only, no fill.

Accent

The featured pricing tier.

Generated artwork

Every image surface in the template. Each field is a pure function of its seed — the same string always produces the same gradient, on the server and in the browser, which is what keeps hydration clean.

  • seed: alpha

  • seed: beta

  • seed: gamma

  • seed: delta

  • seed: epsilon

  • seed: zeta

Small parts

Product designAI SaaS
Avatar stack
Vantage Care

Motion tokens

Easing

reveal
expo.out
scrub
power2.out
state
power2.inOut
linear
none

Duration (s)

fast
0.26
base
0.56
slow
1.1

Stagger (s)

tight
0.045
base
0.08
loose
0.15

Scroll start

reveal
top 85%
revealLate
top 78%
early
top 92%
pin
top top

Nothing in components/ may invent a duration, easing, stagger or scroll offset. If a beat needs something new it gets a name in lib/theme.ts first.