Single source of truth for visual design decisions. OWL (design profile), developer, and any agent doing UI work MUST read this before writing CSS/HTML. Keep in sync with
style/tokens.css— if you change tokens in code, update this file in the same commit.
Professional fintech-tool aesthetic: trustworthy, precise, calm. Dark-first (default), light theme available via [data-theme="light"].
:root)| Token | Value | Usage |
|---|---|---|
--primary-color |
#64ffda |
Accent: CTAs, links, highlights |
--background-color |
#0a192f |
Page background (deep navy) |
--card-background |
#172a45 |
Cards, panels |
--text-color |
#ccd6f6 |
Body text |
--label-color |
#a0aac0 |
Labels, secondary text |
--border-color |
#233554 |
Card/input borders |
--shadow |
0 4px 12px rgba(0,0,0,.2) |
Cards |
--green-color |
#2ecc71 |
Positive results |
--red-color |
#e74c3c |
Negative results |
[data-theme="light"])| Token | Value |
|---|---|
--primary-color |
#077A7D |
--background-color |
#F5EEDD |
--card-background |
#FCF9EC |
--text-color |
#333333 |
⚠️ Never hardcode hex values — always reference tokens.
font-display: swap)--sticky-nav-height: 61pxcards.css, simple-grid.css)card-headers.css patterns| Pattern | File |
|---|---|
| Calculator cards | style/cards.css + card-headers.css |
| Results display | style/results.css |
| Blog grid/list | style/blog-*.css |
| Modals | style/modals.css |
| Buttons | style/buttons.css |
style/style.css at build. NEVER edit dist/.js/theme-switcher.js — both themes must stay visually complete.