● Live preview — everything reacts to the panel

One panel, every component on this page.

Open the THEME tab on the right edge. Change a preset, drag a slider, toggle dark mode, pick an element with the inspector — buttons, cards, forms, tables, dialogs and video frames below all follow.

How it works
12 presets40+ controlsdark modeinspector
Themed preview image
Images, cards & media inherit your tokensvar(--card-radius)
01 · Buttons

Button variants & sizes

Radius, weight and color come from --btn-radius, --font-weight, --primary and --destructive. Drag those sliders and watch.

Hover the dotted word for a tooltip.
02 · Feedback

Alerts & badges

Semantic colors — --success --warning --destructive --info — each have their own picker in the panel.

✓
Theme exported

theme.css downloaded with 30 variables and your custom CSS.

!
Unsaved explorations

You shuffled presets 3 times. Export before resetting.

✕
Import failed

That file isn't a valid theme snapshot. Try a .json export.

i
Inspector tip

Use Inspect → Pick an element to restyle anything, even this alert.

PrimaryDefaultOutline ● Live● Beta● Deprecated● New in v3
03 · Cards & media

Cards, stats & gallery

Surface, border, radius and shadow tokens drive every card. Try shadow depth, card radius and dark mode here.

Drop-in install

One script tag. No markup changes, no build step, no dependencies.

Inspect anything

Click any element on the page and restyle it directly. Overrides persist.

Export clean CSS

A :root {} block plus custom CSS — paste and ship.

Themes exported

12,408

+18% this month

Avg. controls used

17.4

per session

Presets shipped

12

+2 in v3

Dependencies

0

vanilla JS forever

04 · Video

Video embed

Even media frames follow your radius, border and shadow tokens.

05 · Forms

Inputs, selects & toggles

Input radius, border width, fonts and focus rings are all live. Try an invalid state by clearing the email field.

Used as the exported file prefix.
We'll send the theme.css here.
Native range — accent-colored by --primary.
Email me the file
Changelog emails
06 · Data

Table & pagination

Row hover, header tint and status badges all derive from your tokens.

ThemePresetStatusExportsUpdated
ACAcme launchNavy & GoldApproved482h ago
BRBoreal rebrandForest & AmberIn review17Yesterday
VLViolet SaaSViolet & MintDraft92d ago
MNMono portfolioMono InkStale3Last week
07 · Navigation & disclosure

Tabs, accordion, breadcrumb & more

Interactive components with zero dependencies — all themed.

Home / Themes / Acme launch

Live preview of the current theme on real components. Switch tabs — the active pill follows --primary.

theme.css is ready: 30 variables plus your custom CSS block.

Every change is saved to a cookie, so history survives reloads and page hops.

How do I theme third-party widgets?
Use the inspector for one-offs or custom CSS for patterns. Both ship inside Export.
Does dark mode affect my brand colors?
No — only neutral surfaces swap. Primary and accent carry over untouched.
Can I script the panel?
Yes: setVar(), getVar(), addPreset(), buildCSS() — see docs.

Avatars

Stacked team presence.

VSAKJM+9

Skeleton

Loading shimmer follows surfaces.

Upload

Import a theme JSON snapshot.

Mirrors the panel's Import button.

08 · Typography

Type scale in action

Pairings, base size, heading scale, weight, line height and letter spacing — every slider in the Typography section moves this prose.

A theme is more than a color

The space between lines and the space between letters change how a page feels long before anyone notices the palette. Tight and dense reads efficient; loose and airy reads calm and editorial.

Design Customizer treats both as first-class controls, alongside color, radius, density and elevation — so a page's full typographic rhythm can be tuned without touching a stylesheet.

--font-heading:
--font-body:
--line-height: · --letter-spacing:

09 · Marketing blocks

Pricing & testimonial

The same tokens theme marketing sections — restyle the featured tier with the inspector.

Starter

Free
  • Core panel
  • 12 color presets
  • Export as CSS

Studio

Free
  • Everything in Standard
  • Runtime addPreset()
  • White-label friendly
“We sent the client a staging link instead of mockups. They picked their own palette in the panel, we exported it, and sign-off took one call instead of three weeks.”
— A design lead who stopped emailing screenshots
◉ Try it: open the THEME tab → drag any slider