Design System
Solar’s design language is dark, minimal, and amber-accented. It’s built on a small set of CSS custom properties — drop the:root block into any Solar project and the tokens are available everywhere.
Color tokens
| Token | Value | Use |
|---|---|---|
--solar | #f59e0b | Buttons, links, active states, highlights |
--solar-dim | #b45309 | Hover, pressed, gradient end |
--solar-glow | rgba(245,158,11,0.25) | box-shadow, ambient blur layers |
--text | #f0ede8 | Body copy, headings |
--text-dim | #6b6860 | Labels, captions, secondary info |
--surface | rgba(255,255,255,0.04) | Cards, panels, inputs |
--border | rgba(255,255,255,0.08) | Card borders, dividers |
--bg | #09080a | Page background |
Typography
Headlines use a linear gradient from warm white to amber, clipped to the text.Logo mark
A radial-gradient circle — no image file required.letter-spacing: 0.12em, color: var(--text-dim).
Button
Two variants:primary (amber fill) and secondary (ghost).
variant: 'primary' | 'secondary' as a prop — the Button component maps it to these classes.
Card
A frosted-glass panel. Works on the dark background withbackdrop-filter: blur.
Ambient effects
Orb
A large blurred radial gradient positioned off-screen top-center. Creates the warm glow behind the hero.Stars
Rendered onto a<canvas> that fills the viewport. 160 dots, randomized position, radius (0.2–1.4px), and opacity.
Orbit ring
An animated ring used in the hero. Built entirely with::before / ::after pseudo-elements — no extra markup inside.