Palette
Hex values are authoritative in frontend/src/theme.ts (molibPalette). This file documents intent.
Surfaces & ink
| Token |
Hex |
Use |
page |
#EEF0F2 |
App background. Cool gray with a faint blue cast. |
surface |
#FFFFFF |
Cards, panels, app bar. |
surfaceAlt |
#F6F7F9 |
Table headers, inset metadata blocks, hover states. |
border |
#D8DCE0 |
All hairline dividers. The only separator we use. |
ink |
#1A1D21 |
Primary text. Near-black, never pure black. |
inkMuted |
#5A6068 |
Secondary text, captions, table column headers. |
inkSubtle |
#8A9099 |
Disabled, placeholder, tertiary metadata. |
Accent
| Token |
Hex |
Use |
teal |
#0F6E6E |
palette.primary.main. Primary buttons, links, focus. |
tealDark |
#0A5151 |
Hover/pressed state for primary. |
tealLight |
#3F8F8F |
Light variant; used sparingly, e.g. selected chips. |
Semantic
| Token |
Hex |
MUI role |
success |
#2F7D4F |
palette.success |
warning |
#B5731B |
palette.warning |
error |
#B23A3A |
palette.error |
info |
#2F6FA8 |
palette.info |
All semantic colors are muted versions of their conventional counterparts, picked to coexist with teal without clashing.