✦
✦

iBookaholic

One library, one account, everything in it — dark, starlit, a little indulgent.

Colour palette

Amethyst
oklch(0.7 0.16 300)
The app accent: chrome, wordmark, primary CTA, subscription and unlock buttons
Rose Quartz
oklch(0.72 0.15 345)
Novel format — ratings, progress
Indigo
oklch(0.62 0.19 280)
Webtoon labels and progress
Quill Gold
oklch(0.82 0.14 85)
Quills, top-ups, early access
Ember
oklch(0.78 0.05 40)
16+ and Spicy content warnings
Void
oklch(0.13 0.012 55)
App background
Surface
oklch(0.19 0.015 55)
Cards, sheets, inputs
Ink 300
oklch(0.6 0.02 55)
Secondary text, inactive nav
Ink 50
oklch(0.95 0.008 60)
Primary text on dark

Type

Aa
Cormorant Garamond
Hero titles, series names, chapter body text. Never under 16px.
Aa
Manrope
All UI: buttons, nav, tabs, badges, prices. Weights 400/600/700/800.
Aa
UI Monospace
Placeholder art, colour codes, technical metadata.

App chrome

iBookaholic
One account, one chrome
Amethyst on the Void ramp, everywhere. The shell publishes it as --accent, --accent-ink, --accent-strong and --accent-hue; no surface picks a colour from the account.
oklch(0.7 0.16 300)

Content-type accents

❋Novel
Rose Quartz on covers, ratings and reading progress.
oklch(0.72 0.15 345)
♪Audiobook
Amethyst — also the app-wide primary, since audio is the flagship.
oklch(0.7 0.16 300)
▤Webtoon
Indigo on episode labels, panel chrome and episode progress.
oklch(0.62 0.19 280)

Rules

✦One accent per surface. A novel card never carries indigo.
✦Quill Gold is reserved for money. Never use it for navigation or emphasis.
✦Ember means mature content only — never a warning, never an error.
✦Amethyst is the app accent — chrome, wordmark and CTA together. Nothing recolours per account.
✦One neutral ramp. Never write a neutral oklch() literal; use bg-surface / text-ink-3 / border-border.
✦Covers are 3:4 with a 135° stripe placeholder until real art lands.
✦Sparkles are punctuation, not decoration: max two per screen.