Design System
A living reference for Solo Creator Systems' "simple systems, digital gardens" look — colors, type, buttons, and the garden-scrapbook details (leaf clips, the leaf-sprig background) that set it apart from the rest of the family of sites. Click any value to copy it.
01. Interactive Colors
Sage, forest, and gold — a cooler, greener palette than the rest of the family of sites. Swatches show the light-mode value; several tokens flip for dark mode (noted below).
02. Typography & Playground
An editorial serif, a clean variable sans, and a handwritten accent for the wordmark. Edit the field below to try custom text.
"Bitter", serif
Used for headings and card titles. A grounded slab serif with more weight than the old Instrument Serif.
"Google Sans Flex", sans-serif
Used for body copy, tags, navigation, and buttons. A variable font — clean and highly legible at small sizes.
"Caveat", cursive
Reserved for the header/footer wordmark only — a handwritten signature touch, not for body copy.
Build simple systems
font-family: var(--font-serif); font-size: clamp(2.5rem, 5.5vw, 4rem); Build simple systems and let them grow
font-family: var(--font-serif); font-size: clamp(2rem, 4.5vw, 2.8rem); font-family: var(--font-accent); font-weight: 600; Build simple systems and let them grow
font-family: var(--font-sans); font-size: 1.15rem; line-height: 1.6; font-family: var(--font-sans); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; 03. Buttons & Live Customizer
Every button and card uses a diagonal cut — one pair of opposite corners rounded, the other pair sharp. Play with the options to view configurations.
The diagonal-cut token pair
--radius-card: 28px and --radius-btn: 14px
drive every card and button: border-radius: var(--radius-btn) 0 var(--radius-btn) 0;
rounds the top-left and bottom-right corners and leaves the other
two sharp. Small badges and tags skip this — the cut doesn't
read cleanly at that size.
04. Category Tags
Product category badges, colored from the same trio used for leaf clips.
class="category-label category-blue" class="category-label category-green" class="category-label category-gold" 05. Corner Radius Scale
The two radius tokens, shown at actual size.
06. Product Card
The scrapbook card style used on the shop grid — leaf clip, diagonal corners, tilt at rest that straightens on hover.
Simple Website Starter
A mockup of the product card style used on the shop page — diagonal corners, a leaf clip instead of tape, and a rotation that straightens on hover.
07. Interactive Accordions
Reusable FAQ/accordion pattern.
How is this accordion structured?
Standard semantic <details> / <summary>. The plus/minus icon rotates via CSS pseudo-elements when [open].
Does it support smooth transitions?
Yes — the answer panel fades in on open using a small keyframe animation.
08. Garden Elements
The two motifs that replace the old washi-tape scrapbook look: a single leaf "pinning" each card at its stem, and a scattered leaf-sprig pattern behind every section.
Leaf-Clipped Card
A single leaf shape sits across the top edge, colored per category and tilted per instance.
--leaf-color / --leaf-rotate
Background pattern — fixed to the viewport
Three rules that keep the garden look intact
The leaf clip is one global .leaf-clip class (a CSS
mask, not an image), so any card can use it by setting
--leaf-color and --leaf-rotate inline
— no new markup per color.
A rotated card creates its own stacking context, so the leaf clip
can't out-rank the card's own background with z-index
alone. Lift the card's content instead
(.card > *:not(.leaf-clip) { position: relative; z-index: 1; }).
The background pattern is .pattern-band (scattered
leaves) or .pattern-hills (a horizon line with small
tree silhouettes; currently unused, kept as an available option) —
a plain background-image with
background-attachment: fixed right on the section's
own box, so it stays pinned to the viewport as you scroll through
that section. Being a normal background property rather than a
separate fixed-position element, it's confined to the section by
definition and can't bleed into neighbors the way a fixed
::before pseudo-element did in an earlier version.
The trade-off: most mobile browsers ignore fixed attachment and
scroll it normally there, which is an accepted, well-known
degradation. Applied to alternating accent sections only — never
hero sections, which use HeroTreeScene instead, and
never every section — so it reads as an accent, not wallpaper
behind every card. Desktop also swaps in a dimmer variant of the
same pattern above 861px, where it covers more of the viewport at
once.