RAVAND UI · VERSION 1.0 · 2026

Design system

The single source of truth for Ravand’s interface: tokens, scales, components and the rules that govern them. Every value on this page is the value that ships.

6 COLOR TOKENS4 TYPEFACES5 BREAKPOINTSRTL / LTR
01 — PRINCIPLES

Principles

Four rules decide every open question in this system. When a component and a principle disagree, the principle wins.

01

Quiet by default

Hairlines and space before boxes and fills.

02

One accent

Green marks what matters — nothing else.

03

Bilingual first

Every layout must survive an RTL to LTR flip.

04

Evidence on screen

Numbers get the most typographic weight on a page.

02 — COLOR

Color

Six tokens, two themes. There is no seventh color; anything else you need is a mix of the accent with the background.

TOKENLIGHTDARKUSAGE
--bg#F6F5F1#0A0B09Page and card surface
--fg#14160F#EDEDE7Headings and body text
--fg-2#5B6058#8B918ASecondary text, mono labels
--linefg 13%fg 14%Hairlines, borders, dividers
--accent#3B6045#4F7A5BLinks, primary action, live data
--btn-fg#F6F5F1#0A0B09Text and icons on accent
ACCENT MIXES

Only these five mixes: 7 / 16 / 34 / 62 / 100 percent of the accent over --bg.

CONTRAST — LIGHT / DARK
fg / bg14.9 · 15.8 — AAA
fg-2 / bg5.9 · 6.4 — AA
btn-fg / accent6.8 · 5.1 — AA
03 — TYPOGRAPHY

Typography

Four faces with strictly separate jobs. If a piece of text does not fit one of the roles below, it does not belong on the page.

HEADINGSپینار

Pinar — all headings, light and regular weights.

TEXTیکان‌بخ

Yekan Bakh — body copy, UI labels, forms.

LATIN DISPLAYRavand

Instrument Serif — wordmark and key figures only.

LABELS01 — LABEL

JetBrains Mono — metadata, always LTR, .2em tracking.

TOKENSAMPLESIZELEADING
display/xlGrowth path34 → 681.16
heading/lgSection heading22 → 341.35
heading/smCard title16 → 191.5
bodyBody copy with a doubled line-height for Persian readability.14.5 → 172.0
captionSupporting note and image caption.131.9
label/mono02 — COLOR9 → 10.51.0
04 — SPACE & RADIUS

Space & radius

PXSCALEUSE
4Icon to label
8Inside a chip
14Stack inside a card
24Card padding
40Between blocks
72Between sections
RADIUS
8 · chip
12 · input
16 · card
full · button

Nested corners step down by 4: a 16px card holds 12px inputs.

05 — LAYOUT

Grid & breakpoints

A 12-column grid inside a 1360px container, gutters from the space scale. Below each breakpoint the layout simplifies rather than shrinks.

BREAKPOINTCOLUMNSBEHAVIOUR
≥ 118112full layout, sticky scenes, side nav
≤ 11808charts shrink, cards scroll-snap
≤ 10808side nav drops, single content column
≤ 9006burger nav, stacked sections
≤ 640416px inputs, tables become lists
06 — SURFACES

Surfaces & depth

There are no shadows in this system. Depth is a hairline, a 6% tint, or a blur behind a sticky bar — nothing else.

LEVEL 0 · HAIRLINE
LEVEL 1 · TINT 6%
LEVEL 2 · ACCENT PANEL
STICKY · BLUR 14
07 — ICONS

Iconography

SET
SPEC
GRID24 × 24
STROKE1.5 · round
FILLnone
COLORcurrentColor

Icons never carry the accent on their own; they inherit the color of the text they sit with.

08 — COMPONENTS

Components

Each component below is shown live, followed by its states and rules. Hover and focus the examples — they behave exactly as they do in production.

Text link
BUTTONDEFAULTHOVERFOCUS
primaryaccent / btn-fgbrightness 1.12outline accent 2px
secondary1px line borderborder + text accentoutline accent 2px
height46pxhit area 44 minradius full
FORM

Labels sit above the field; errors sit below in accent, never red.

CHIPS · BADGES · TOGGLE
SEOPerformanceLive
Off / on
METRIC
3.4%Conversion rate
DAY 0DAY 90

Figures are Latin, in Instrument Serif; their labels are mono.

09 — MOTION

Motion

Motion behaves like a plant growing: slow in, soft out. Nothing loops in the reader’s field of view except a single seed dot.

TOKENVALUEUSE
ease/out.16,1,.3,1entrances, panels, overlays
dur/fast300mshover, focus, color change
dur/panel450msdrawer, dialog, theme swap
dur/scene700msscroll scenes, reveals
reduced0msprefers-reduced-motion: all decoration off
10 — ACCESSIBILITY

Accessibility

Requirements, not recommendations. A component that fails one of these does not ship.

4.5 : 1 MIN

Body contrast in both themes; 3:1 above 24px.

44 × 44 PX

Minimum touch target, even for small controls.

FOCUS VISIBLE

2px accent outline, 3px offset. Never removed.

16PX INPUTS

Fields never below 16px on mobile — prevents iOS zoom.

LOGICAL CSS

inset-inline and margin-inline only — no left/right.

NOT COLOR ALONE

State is never green alone — pair it with text or an icon.

11 — CHANGELOG

Versioning

1.0 · 2026First public system: six color tokens, Pinar and Yekan Bakh, light default with dark theme, bilingual layout rules.
NEXTPlanned: data-visualisation tokens, email templates, motion presets for scroll scenes.