Persona System
Each AI persona has a unique color identity that reflects their personality, expertise, and energy.
Core Personas
The founding team of AI companions, each with distinct expertise.
The warm, grounding presence who orchestrates your team. Forest green represents growth, stability, and natural wisdom.
--persona-ferni: #4a6741--persona-ferni-glow: rgba(74, 103, 65, 0.28)
Deep-thinking analyst with a knack for pattern recognition. Teal represents depth, clarity, and analytical precision.
--persona-peter: #3a6b73--persona-peter-glow: rgba(58, 107, 115, 0.28)
Compassionate habit coach using behavioral science. Warm terracotta represents nurturing energy and grounded support.
--persona-maya: #a67a6a--persona-maya-glow: rgba(166, 122, 106, 0.28)
Articulate wordsmith for emails, messages, and presentations. Steel blue represents clarity, professionalism, and precision.
--persona-alex: #5a6b8a--persona-alex-glow: rgba(90, 107, 138, 0.28)
Strategic planner who helps you achieve milestones. Warm coral represents energy, ambition, and forward momentum.
--persona-jordan: #c4856a--persona-jordan-glow: rgba(196, 133, 106, 0.28)
Philosophical guide for life's deeper questions. Warm gold represents wisdom, warmth, and timeless perspective.
--persona-nayan: #b8956a--persona-nayan-glow: rgba(184, 149, 106, 0.28)
Color Philosophy
Warm, Organic Tones
All persona colors share a warm undertone that feels approachable and human. We avoid cold, clinical colors that create distance.
Distinct Yet Harmonious
Each persona is immediately recognizable by color, yet all colors work together in the same interface without clashing.
WCAG Compliant
All persona colors meet WCAG AA contrast requirements when used as text on both light and dark backgrounds. We provide textOnDark variants for dark themes.
Usage Patterns
Avatar Colors
.avatar--ferni { background: var(--persona-ferni); }
.avatar--peter { background: var(--persona-peter); }
.avatar--maya { background: var(--persona-maya); }
/* ... */
Accent Borders
.message--from-ferni {
border-left: 3px solid var(--persona-ferni);
}
.card--maya-highlight {
border: 1px solid var(--persona-maya);
}
Glow Effects
.avatar--ferni.speaking {
box-shadow: 0 0 20px var(--persona-ferni-glow);
}
.badge--peter {
background: var(--persona-peter-glow);
color: var(--persona-peter);
}
Theme-Aware Text
/* Light theme - use primary color */
.persona-label { color: var(--persona-ferni); }
/* Dark theme - use textOnDark variant */
[data-theme="dark"] .persona-label {
color: var(--persona-ferni-text);
}
All Tokens
/* Core Personas */
--persona-ferni: #4a6741;
--persona-ferni-glow: rgba(74, 103, 65, 0.28);
--persona-peter: #3a6b73;
--persona-peter-glow: rgba(58, 107, 115, 0.28);
--persona-maya: #a67a6a;
--persona-maya-glow: rgba(166, 122, 106, 0.28);
--persona-alex: #5a6b8a;
--persona-alex-glow: rgba(90, 107, 138, 0.28);
--persona-jordan: #c4856a;
--persona-jordan-glow: rgba(196, 133, 106, 0.28);
--persona-nayan: #b8956a;
--persona-nayan-glow: rgba(184, 149, 106, 0.28);