streak
bespoke · pillBespoke gamification chip - a warm flame count that celebrates a daily streak. The count leads bold; the label trails quiet.
Luminous gradients, playful rings, motion that levels up.
Lumina reads a learning platform as a game you love opening. The ground is a warm near-white washed with a soft lavender-to-peach light, so a single violet gradient and a spray of orange, teal and amber accents feel like XP lighting up. A chunky grotesque display shouts the headline while monospace labels tick across like a HUD; rings, streaks and badges turn progress into something you can feel. Energetic but premium - play with restraint.
re-imagined from https://www.codelevel.dev/
Pull this design system into any project - it follows the system's tokens, recipes and rules. Run the commands yourself, or let your coding agent set it up and build.
npx synthesisui@latest init --styles tailwind --ds luminanpx synthesisui@latest connectnpx synthesisui@latest connectUse the "Lumina" design system (slug: lumina) to: build the UI I describe next First make sure it's installed: run `npx synthesisui add lumina` if `_synthesisui/ds/lumina/` isn't in the project yet. Read these files first (highest authority first): - _synthesisui/ds/lumina/rules.md - project rules for this system (if present); obey them above everything else - _synthesisui/ds/lumina/philosophy.md - the mission, voice and principles (if present); let it shape every screen - _synthesisui/ds/lumina/v10/GUIDE.md - how to apply the system, the recipes and the token vocabulary Follow this contract (target framework: next): - First check whether this refers to UI that already exists in the project. If it does, modify only what's needed and keep the rest intact and on-system. If it doesn't, build it new. - Scope the markup with `data-ds="lumina"` (or rely on it at the app root). - Style with the design system only: reuse the `.ds-*` recipe classes and the DS-backed Tailwind utilities (`bg-primary`, `text-foreground`, `p-md`, `rounded-lg`, `font-display`…). Never use raw hex/px outside the system's scale. - Make sure `tokens.css` + `theme.css` are imported in the global CSS (see the GUIDE's "How to apply"). - Implement the behavior yourself (open/close, focus, routing) - the system ships the looks, not the JS. Composition (make it look composed, not just correct): - Cap page content with a max-width container and center it - this DS ships `max-w-app` for dashboards/wide UI and `max-w-prose` for text columns. Don't stretch content edge-to-edge. - Give the page a complete, intentional layout: clear vertical rhythm, sensible density and grouped sections. Never leave a single thin row floating on an empty screen. Deliver senior-level, production-quality code: clean structure, accessible (ARIA + keyboard), and responsive.
Paste into Claude Code, Cursor or any coding agent. From your project you can also run npx synthesisui use lumina "…".
What to install or load so the system renders at full fidelity - it ships token names and recipes, not the assets.
The system ships token names, not the fonts. Load them (Google Fonts, next/font or Fontsource) or type falls back to a generic family and loses the system's identity.
npm i lucide-reactComponents reference Lucide icon names. Install it (or swap in your own icon set) to render them.
Color
Named scales forged by the synthesis; semantic roles only ever point at them.
color.red
300#fca5a5
400#f87171
500#ef4444
600#dc2626
700#b91c1c
color.teal
50#ecfdf5
100#d1fae5
200#a7f3d0
300#6ee7b7
400#34d399
500#10b981
600#0d9488
700#0f766e
800#115e59
color.veil
500#0f172ab3
color.amber
100#fef3c7
200#fde68a
300#fcd34d
400#fbbf24
500#f59e0b
600#d97706
700#b45309
color.coral
50#fff7ed
100#ffedd5
200#fed7aa
300#fdba74
400#fb923c
500#f97316
600#ea580c
700#c2410c
800#9a3412
color.slate
50#ffffff
100#fbfaf6
200#f2f2f5
300#e2e3e9
400#b6bac6
500#8b90a0
600#5b6273
700#3d4456
800#1d2433
900#0f172a
950#060a14
color.violet
50#f5f3ff
100#ede9fe
200#ddd6fe
300#c4b5fd
400#a78bfa
500#8b5cf6
600#7c3aed
700#6d28d9
800#5b21b6
900#4c1d95
950#2e1065
color.semantic - resolved live via CSS variables
info
{color.violet.600}
faint
{color.slate.400}
muted
{color.slate.600}
scrim
{color.veil.500}
accent
{color.coral.700}
border
{color.slate.300}
canvas
{color.slate.100}
danger
{color.red.700}
raised
{color.slate.50}
overlay
{color.slate.200}
primary
{color.violet.600}
success
{color.teal.700}
surface
{color.slate.50}
warning
{color.amber.700}
foreground
{color.slate.900}
color.series - categorical data-viz palette (bg-series-*)
series-1
series-2
series-3
series-4
series-5
series-6
series-7
series-8
Foundations
Corner radius, spacing rhythm and elevation - the physical feel of the system.
radius
spacing
shadow
Typography
Display: Bricolage Grotesque · Body: Geist · Mono: Geist Mono
Motion
Every keyframe runs live below, dressed in the system's own colors - durations, easing curves and the interactions they power.
keyframes - 12 live
easings
durations
interaction patterns
A light beam sweeps across on a long cadence, then clears.
Soft color blobs roam slowly behind the content, never repeating in sync.
The hero's living gradient breathes, sliding its color field across a long, calm cadence.
Rewards and tiles pop in from a spark, overshooting once.
The status HUD scrolls endlessly across the top.
Sparkles fade and swell like distant XP catching the light.
Content rises softly into place, staggered by ~90ms.
A light sheen sweeps across primary CTAs on hover.
Cards rise 4px and gain a violet-tinted shadow.
Gradient headline text lets its spectrum drift back and forth.
Floating cards bob gently, alive but calm.
Live indicators pulse a violet ring to pull the eye.
Components · 7
Every value below is a token reference resolved by the renderer - hover, toggle and switch tabs to feel the states. Bespoke components are rendered from their anatomy hint.
Bespoke gamification chip - a warm flame count that celebrates a daily streak. The count leads bold; the label trails quiet.
Bespoke gamification progress bar - a track with a violet-to-light gradient fill that shimmers as it grows. Set the fill width inline.
tone
Bespoke community CTA - a pill that morphs on click into an inline email field with a Join button, then into a success state. All three layers share one grid cell so the layout never shifts; the width eases open and layers cross-fade with a staggered slide. The collapsed trigger stays pill; the field, Join action and success box share a 14px radius.
Floating content vessel. White surface, generous rounding and a soft shadow; lifts on hover with a violet-tinted glow.
emphasis
A card wearing this system.
A card wearing this system.
Pill tag for status and XP. Tonal fills in the system's playful hues, mono label.
tone
Rounded field on white, hairline border that lights up violet on focus.
Pill action. The primary intent carries the violet gradient signature and a soft glow; quieter intents stay in hairlines.
intent
Icons · lucide
Icons inherit the system: color via currentColor, a standardized stroke, sizing on the scale. Lucide by default; more libraries can be enabled per system.