Design systems
DESIGN.md → tokens, fonts, type scale.
design-systems/soft-glass/DESIGN.md
Friendly, luminous AI/consumer product system — soft blue-violet gradients, translucent frosted cards and generous rounded shapes. Best for AI assistants, consumer apps, onboarding flows and approachable product marketing.
Legacy preset · install only when explicitly selected. New design directions start from real references and a working composition.
pnpm dlx shadcn@latest add @design-infra/theme-soft-glassType scale
Body copy sits on the canvas with enough contrast to read for minutes, not seconds. Links look like this, and inline code like this.
One registry for themes, blocks and curated components — installable with a single command.
Pick a design system, pull components, keep agents on-brand.
DESIGN.md → tokens, fonts, type scale.
~1,000 components, ranked.
find-component, pick-design-system.
Spotlights, beams, orbs.
npx shadcn add @oc/…
Start free, upgrade when your team grows.
For side projects.
$0/mo
For growing teams.
$20/mo
Custom contracts.
Custom
$48,210
12.4%increasevs. last month
8,904
3.2%increasevs. last month
2.1%
0.6%decreaselower is better
182ms
18.5%increasevs. last week
/pricing converts worst at 1.8% (site average 4.1%). Two likely causes:
Enterprise question has no answer.select page, signups::float / sessions as cvr
from page_stats order by cvr asc limit 3;Soft Glass is the look of a helpful, slightly magical product. It is the visual language of AI assistants, consumer apps and onboarding flows that want to feel warm, optimistic and effortless — like the interface is gently lit from behind. Nothing is sharp, nothing shouts; the product feels approachable to people who have never read a changelog.
The world is built from three materials: a pale lavender-white canvas, frosted glass cards floating above a soft periwinkle-lilac-sky gradient wash, and one confident blue-violet for actions. Dark mode keeps the same materials at night: deep indigo-black, smoked glass, and a brighter periwinkle primary.
Use generous radius, generous padding and a calm rhythm. Motion is soft and springy, never snappy or mechanical.
bg-card/70 with
backdrop-blur-xl, a 1px border hairline and a white inner highlight. The token is
opaque white so text contrast is guaranteed even when blur is unsupported.primary to ~6% lighter.gradient-from #C7D2FE (periwinkle) → gradient-via #E9D5FF (lilac) →
gradient-to #BAE6FD (sky). Use as large blurred blobs or a mesh behind hero sections and
empty states; in dark mode the same roles become indigo, violet and deep ocean.Dark mode: dark-background #0E0E1A, cards #171728 (rendered as bg-card/60 glass),
dark-primary #8E92FF with deep-indigo text (7.0:1), translucent white borders at 10–14%.
Plus Jakarta Sans carries everything — its open, slightly rounded geometric forms read as friendly without being childish. Geist Mono is for code, tokens, model names and numbers that need to align.
bg-clip-text) for one or two words, never a whole paragraph.A 4px base with an 8px rhythm and roomy defaults: 24px card padding, 16–24px gaps inside cards, 40–64px between sections. Content max-width is 1200px; chat and reading surfaces cap at 720px and are centred. Layouts favour centred compositions and bento grids of rounded cards over dense tables. Leave breathing room around the gradient wash — it should feel like ambient light, not a pattern.
Depth is glass over light. Three layers:
blur-3xl, 40–60% opacity).backdrop-blur-xl, 1px border, an inner top
highlight (inset 0 1px 0 #FFFFFFB3), and a soft coloured shadow
0 8px 32px -8px #5B5FE326.popover with
0 16px 48px -12px #16162A33.Shadows are always soft, large and tinted with the primary hue — never grey and tight.
Generous and consistent. --radius is 16px (rounded.lg): popovers, menus and medium
cards. Large cards and dialogs use rounded.xl (22px); inputs rounded.md (12px); small
chips inside cards rounded.sm (10px). Buttons, badges, tabs and the chat composer are
pills (rounded.full). Nested radii must shrink inward (outer radius = inner radius +
padding). Icons are 20px Lucide/Tabler at 1.75px stroke with rounded joins.
input border, 12px radius (composer is a pill or
20px-radius textarea), 44px min height; focus shows a 3px periwinkle halo.Motion language: lively (MOTION.md). Friendly, springy, never frantic.
stiffness 380, damping 30 for UI, stiffness 220, damping 26 for larger surfaces; CSS fallback cubic-bezier(0.34, 1.3, 0.64, 1).prefers-reduced-motion: replace springs with 120ms fades.You are designing in the Soft Glass system: a friendly, luminous AI/consumer interface on a pale lavender canvas (#F7F7FC) with a periwinkle primary (#5B5FE3; #8E92FF in dark mode). Surfaces are frosted glass cards (white at ~70% with backdrop blur, 1px lavender hairline, soft primary-tinted shadow) floating over a blurred periwinkle-lilac-sky gradient wash. Set everything in Plus Jakarta Sans (700 headlines, 400 body at 15px, 600 sentence-case labels) and use Geist Mono only for code and model ids. Radius is generous — 16px base, 22px for large cards, pills for buttons, badges and the chat composer. Motion is soft and springy (200–400ms), with orbs, shimmer text and aurora-style backgrounds for AI moments. Prefer centred layouts, bento grids and roomy spacing over dense tables.