Contrast report
Page actions
- View as Markdown (opens in a new tab)
- Ask ChatGPT (opens in a new tab)
- Ask Claude (opens in a new tab)
ChatGPT and Claude are third-party services. The link gives them this page's public address and a short instruction. This site records nothing.
Preview: the published page may be older or missing.
Generated contrast ratios for every foreground and surface pair in the brand tokens; do not edit by hand.
https://docs.gurbanisoul.com/brand/contrast-report/
Generated by scripts/brand/contrast_report.py from tokens.json. Do not edit by hand.
Required pairs
| Foreground | On | Min | light | dark | lightHC | darkHC | Result |
|---|---|---|---|---|---|---|---|
soul.accentText | canvas | 4.5 | 4.96 | 11.06 | 7.99 | 11.95 | pass |
soul.accentText | card | 4.5 | 5.54 | 10.25 | 9.50 | 11.07 | pass |
soul.accentText | paper | 4.5 | 5.19 | 10.87 | 9.50 | 12.51 | pass |
soul.accentText | paperWarm | 4.5 | 5.14 | 10.87 | 9.50 | 12.51 | pass |
soul.accent | card | 3.0 | 3.89 | 10.25 | 5.54 | 11.07 | pass |
soul.accent | paper | 3.0 | 3.64 | 10.87 | 5.54 | 12.51 | pass |
soul.accent | paperWarm | 3.0 | 3.61 | 10.87 | 5.54 | 12.51 | pass |
soul.onAccent | soul.accentFill | 4.5 | 9.94 | 9.94 | 5.54 | 10.74 | pass |
soul.onAccent | soul.accentDeep | 4.5 | 9.68 | 5.54 | 7.63 | 7.28 | pass |
brand.onRed | brand.red | 4.5 | 4.87 | 4.87 | 6.88 | 4.87 | pass |
brand.maroon | canvas | 4.5 | 8.38 | 5.68 | 9.97 | 8.07 | pass |
brand.maroon | card | 4.5 | 9.35 | 5.26 | 11.84 | 7.47 | pass |
brand.maroon | paper | 4.5 | 8.76 | 5.59 | 11.84 | 8.44 | pass |
brand.maroon | paperWarm | 4.5 | 8.67 | 5.59 | 11.84 | 8.44 | pass |
status.positive | canvas | 4.5 | 5.41 | 9.04 | 7.18 | 10.97 | pass |
status.positive | card | 4.5 | 6.04 | 8.37 | 8.53 | 10.16 | pass |
status.positive | paper | 4.5 | 5.66 | 8.89 | 8.53 | 11.48 | pass |
status.positive | paperWarm | 4.5 | 5.60 | 8.89 | 8.53 | 11.48 | pass |
status.negative | canvas | 4.5 | 5.44 | 7.33 | 7.06 | 9.24 | pass |
status.negative | card | 4.5 | 6.08 | 6.79 | 8.39 | 8.56 | pass |
status.negative | paper | 4.5 | 5.69 | 7.20 | 8.39 | 9.67 | pass |
status.negative | paperWarm | 4.5 | 5.63 | 7.20 | 8.39 | 9.67 | pass |
status.info | canvas | 4.5 | 5.05 | 8.49 | 6.42 | 10.73 | pass |
status.info | card | 4.5 | 5.64 | 7.86 | 7.63 | 9.94 | pass |
status.info | paper | 4.5 | 5.28 | 8.34 | 7.63 | 11.23 | pass |
status.info | paperWarm | 4.5 | 5.22 | 8.34 | 7.63 | 11.23 | pass |
status.special | canvas | 4.5 | 6.04 | 7.92 | 7.63 | 10.33 | pass |
status.special | card | 4.5 | 6.74 | 7.34 | 9.06 | 9.57 | pass |
status.special | paper | 4.5 | 6.32 | 7.79 | 9.06 | 10.81 | pass |
status.special | paperWarm | 4.5 | 6.25 | 7.79 | 9.06 | 10.81 | pass |
themeGroup.divine | canvas | 4.5 | 5.40 | 8.86 | 7.25 | 11.15 | pass |
themeGroup.divine | card | 4.5 | 6.03 | 8.21 | 8.62 | 10.33 | pass |
themeGroup.divine | paper | 4.5 | 5.65 | 8.71 | 8.62 | 11.67 | pass |
themeGroup.divine | paperWarm | 4.5 | 5.59 | 8.71 | 8.62 | 11.67 | pass |
themeGroup.condition | canvas | 4.5 | 6.34 | 9.34 | 8.37 | 11.65 | pass |
themeGroup.condition | card | 4.5 | 7.08 | 8.65 | 9.95 | 10.79 | pass |
themeGroup.condition | paper | 4.5 | 6.63 | 9.18 | 9.95 | 12.19 | pass |
themeGroup.condition | paperWarm | 4.5 | 6.56 | 9.18 | 9.95 | 12.19 | pass |
themeGroup.vices | canvas | 4.5 | 6.35 | 8.98 | 8.29 | 11.45 | pass |
themeGroup.vices | card | 4.5 | 7.09 | 8.32 | 9.85 | 10.61 | pass |
themeGroup.vices | paper | 4.5 | 6.64 | 8.82 | 9.85 | 11.99 | pass |
themeGroup.vices | paperWarm | 4.5 | 6.57 | 8.82 | 9.85 | 11.99 | pass |
themeGroup.path | canvas | 4.5 | 5.62 | 9.90 | 7.52 | 11.89 | pass |
themeGroup.path | card | 4.5 | 6.27 | 9.17 | 8.94 | 11.01 | pass |
themeGroup.path | paper | 4.5 | 5.87 | 9.73 | 8.94 | 12.44 | pass |
themeGroup.path | paperWarm | 4.5 | 5.81 | 9.73 | 8.94 | 12.44 | pass |
themeGroup.virtues | canvas | 4.5 | 5.73 | 10.94 | 7.56 | 12.92 | pass |
themeGroup.virtues | card | 4.5 | 6.39 | 10.14 | 8.98 | 11.97 | pass |
themeGroup.virtues | paper | 4.5 | 5.99 | 10.76 | 8.98 | 13.52 | pass |
themeGroup.virtues | paperWarm | 4.5 | 5.93 | 10.76 | 8.98 | 13.52 | pass |
themeGroup.states | canvas | 4.5 | 5.61 | 9.93 | 7.27 | 12.19 | pass |
themeGroup.states | card | 4.5 | 6.26 | 9.20 | 8.64 | 11.29 | pass |
themeGroup.states | paper | 4.5 | 5.86 | 9.77 | 8.64 | 12.75 | pass |
themeGroup.states | paperWarm | 4.5 | 5.80 | 9.77 | 8.64 | 12.75 | pass |
ink.muted | paper | 4.5 | 6.51 | 9.89 | 9.72 | 12.31 | pass |
ink.muted | paperWarm | 4.5 | 6.44 | 9.89 | 9.72 | 12.31 | pass |
Forbidden uses (light leg must stay below the threshold)
| Foreground | On | Light ratio | Threshold | Why |
|---|---|---|---|---|
soul.accentFill | card | 1.69 | < 3.0 | brand gold is never text or an unbordered fill in light mode |
soul.accentFill | paper | 1.58 | < 3.0 | brand gold is never text or an unbordered fill in light mode |
brand.kraft | card | 2.65 | < 4.5 | kraft is decorative only |
brand.kraft | paper | 2.48 | < 4.5 | kraft is decorative only |
brand.red | canvas | 4.36 | < 4.5 | brand red is fill-only; Ink.negative is the text red |
Web theme (frontend/src/theme.ts) — informational
| Pair | Light | Dark |
|---|---|---|
| accentText on paper | 5.19 | 10.87 |
| accentText on card | 5.54 | 10.25 |
| ink on paper | 16.15 | 15.59 |
| onAccent on accentFill | 9.94 | 9.94 |
Sri Guru Granth Sahib Ji — Knowledge Base wiki. Generated from commit c3d9360. Updated 23 October 2026. This copy may be out of date; the page is at https://docs.gurbanisoul.com/brand/contrast-report/