Skip to content
DivaFans home

DivaFans · Design system v0.1

Charcoal first. Gold for the brand, pink for personality.

The rules that make every DivaFans screen feel like one product. Tokens live in src/styles/tokens.css; components in src/components/ui.

01

Principles

  1. Charcoal carries the page

    Black and charcoal dominate. Warm white carries the words. Fill less; highlight what matters.

  2. Gold and pink, sparingly

    Gold marks the primary action, the active place and VIP. Pink adds personality to one word or detail. Never every border.

  3. Editorial outside, efficient inside

    Marketing pages use serif display and generous space. Dashboards, forms and messages favour clear sans-serif headings and density.

  4. One hand

    Every action reachable by thumb. 44px minimum targets. Sheets over modals on phones.

  5. Motion with meaning

    Arrivals ease out, state changes ease in-out, drags use springs. All of it yields to reduced-motion.

  6. Honest privacy

    Promise what we can enforce: server-side entitlements, signed links. Never “screenshot-proof”.

02

Brand marks

DivaFans

Full logo. The approved artwork, on pure black, with its empty margin trimmed. Use it at 88px tall or more: footers, sign-in screens, splash moments.

DivaFans monogram

Monogram + wordmark. The DF monogram is cropped from the logo; headers pair it with the Bodoni text wordmark so the name stays readable. Both art files sit on black and use logo-art.

03

Colour

Metal — text wordmark only

04

Typography

05

Motion

  • Arrival

    --mk-ease-out · 800ms

  • State change

    --mk-ease-in-out · 520ms

  • Drag / throw

    spring 260 / 32

Durations: press 140 · hover 260 · sheet 520 · reveal 900 · hero 1400ms. Reduced motion removes movement; opacity fades remain.

06

Components

Button

One gold button per view. Outline for secondary; quiet for tertiary.

Field

Underline inputs. Label lights gold on focus; errors announce via role=alert.

Shown to creators. Change it anytime.

Segmented

A radiogroup with a gliding indicator. Arrow keys move selection.

Bottom sheet

Drag to dismiss, Escape to close, focus is trapped and restored.

Loading

Champagne shimmer at 7s — calm, never a grey flash. Static under reduced motion.

07

Imagery

Editorial plate
Arch plate
Editorial plate
Arch plate
Editorial plate

Creators without a photo get an abstract cover in the palette — never a figure or a made-up person. Arched plates for people, rounded rectangles for content. <Portrait src> swaps in a real photo without layout changes.

VIPMembersPay-per-viewLiveDraft