This document defines the visual and UX direction for HifzLink.
- keep Quran memorization flow clear and fast
- keep Arabic ayah as the primary reading element
- show translation as optional secondary aid
- maintain lightweight implementation (HTML, CSS, minimal JS)
Arabic ayah is always primary.
Translation appears directly under the same ayah block when enabled.
No UI mode should show translation without Arabic.
Inspired by Quran.com in clarity and calmness, without cloning.
- neutral warm backgrounds
- clean white surfaces
- restrained teal/green accents
- high contrast text for readability
--bg: #F7F5F0--surface: #FFFFFF--surface-soft: #FAF9F6--text: #1F2937--text-muted: #6B7280--border: #E5E7EB--accent: #0F766E--accent-strong: #0B5F59--focus: #14B8A6
Arabic:
- font:
Amiri Quran(preferred) orNoto Naskh Arabic - size:
2.1remdesktop,1.7remmobile - line-height:
2.0to2.2 - direction: RTL, right-aligned
UI + translation text:
- font:
IBM Plex Sans(or fallback sans stack) - body size:
16px - translation size:
1remto1.05rem - translation line-height:
1.7
Each ayah card should render in this order:
- ayah reference line (
60:8, surah name, juz) - Arabic ayah text
- translation text (if language enabled)
- actions (compare, open related)
Translation text style should be visually secondary:
- lower emphasis than Arabic
- muted color
- slightly smaller than Arabic
- enough spacing from Arabic to avoid mixing lines
Provide three modes in header toggle:
AR(Arabic only)AR + ENAR + ID
Mode applies consistently across pages.
- top search input for
surah:ayah - language toggle visible near search
- quick links remain simple
- Arabic verse large and clear
- translation immediately below Arabic when enabled
- related ayah list uses the same Arabic-then-translation pattern
- two columns on desktop, one column on mobile
- each side keeps same order:
- Arabic
- translation below
- maintain equal visual weight between both ayahs
- list relation pairs
- optional compact preview: Arabic only by default
- on open/expand, translation appears below Arabic for each ayah
- same pattern as Surah Relations page
- preserve full ayah text (no truncation)
- keep WCAG AA contrast for UI text and controls
- visible focus styles for keyboard navigation
- minimum tap target size
44px
- max content width:
1100px - compare view stacks on small screens
- keep Arabic line breaks natural and legible
- avoid cramped mixed Arabic/translation blocks
- token system + typography
- reusable components (cards, buttons, inputs, ayah block)
- page-by-page redesign
- accessibility and mobile QA