Lifetime license back for a limited time  →
🦊  Built for Breakdance & Oxygen

Phox Framework. A design system your builder understands.

Fluid type and spacing, perceptual colour ramps, and text colours that stay readable on any surface. All of it synced straight into your builder's own variables, so every control picks them up natively.

2Builders, both native
8Shades per colour
0Breakpoints to write
5Presets to start from

Fluid by default

Every size is a clamp() between a small-screen and a large-screen value, so type and spacing interpolate smoothly across every width. Nothing needs a breakpoint to look deliberate on a phone.

Perceptual colour ramps

Pick one hex and get eight steps generated in OKLCH, so every shade moves by the same perceived amount instead of drifting muddy at one end. You also get a hover shade and a readable foreground.

Text that stays readable

Headings, body, captions and links are grown from your palette to hit real WCAG contrast targets, and each one holds a value for light surfaces and a value for dark ones.

Dark areas, not dark hacks

Mark a section as a dark area and every piece of text inside it switches to its dark value: headings, copy, links, captions, at any depth. Nothing inside needs styling twice.

Native builder variables

Tokens sync into Breakdance and Oxygen's own variable collection, so they appear in every native picker and a binding survives a token rename or a prefix change.

A picker on every control

A token button sits beside the builder's own colour and size fields. Pick a token, or take one at 60, 40, 20, 10 or 5 percent and the picker writes a real color-mix() tint.

One colour in, a whole ramp out

Type a hex. Every shade, the hover state and the dark-mode value are worked out for you, and you can still overrule any single one of them by hand.

The Phox Framework colours screen: a list of colour slots with on/off toggles beside a source colour field and the generated shade ramp, each shade showing its light and dark value
Where you set it. Switch off the slots you do not need and they stop generating tokens.

And a whole system out the other end

Every colour you enabled, every shade and every token name, on one page you can hand to a client or check a contrast grade against.

Phox Framework colour ramps, showing eight generated shades for each palette slot with hex values and token names
What you get. The specimen page, generated from your own tokens.

Sizes that flex, colours that flip

Every size interpolates between a small-screen and a large-screen value. Every text colour holds a light reading and a dark one, and a section marked as a dark area switches all of them at once.

A dark section where headings, body text, links and captions have automatically switched to their dark values
A dark area. Nothing inside it is styled a second time.
The fluid type scale, showing each heading level with the pixel range it interpolates between
The type scale, with the range each level spans.

Start from a design, not a blank form

Five starting points, each carrying a palette, type scale, spacing rhythm and corner radii. Apply one, look at your site, then change anything you like, and undo it in a click.

The Presets tab showing five design presets: Studio, Editorial, Commerce, Brutal and Calm, each with a colour strip
Presets never touch your token prefix, content width or builder settings.

Your AI assistant can use it too

Phox Framework registers five tools on Breakdance's own MCP server, so an assistant like Claude can read your design system, change it safely, and check its own work afterwards.

Read the whole system

One call returns the configuration, every token with its value and computed pixel range, the full colour ramps with their contrast grades, and how to reference each token in CSS or in the builder.

Change it without breaking it

Send only the keys you want changed. Everything is validated, saved, the stylesheet rebuilt and the builder variables pushed in one atomic step. A dry run shows you the result before anything is written.

Rebrand from one colour

Hand it a brand colour and it derives a whole palette in OKLCH, relating the hues by a colour theory strategy so the slots read as siblings, and giving the neutrals a trace of the brand hue instead of flat grey.

Audit, with the fix attached

Colour pairs failing WCAG AA, fluid sizes whose minimum exceeds their maximum, variable name conflicts, a stale stylesheet. Each one is reported with the specific change that resolves it.

Rebuild on demand

Regenerate the stylesheet and re-push every token to the builder's variables. Safe to run as often as you like: it is a rebuild, not a change.

Off unless you want it

The tools follow Breakdance's own MCP switch, so they exist only when you have agents turned on. Every write sits behind the same permission as editing the design system by hand.

It plays nicely with what you already have

The framework ships inside a CSS cascade layer, so any CSS you write beats it without a single !important. It fills your builder's Global Settings where they are empty, and steps aside, one property at a time, wherever you have made a choice of your own.

Included

The Phox Bundle

Every Phox plugin, one license
Phox Framework ships as part of the bundle Alongside Phox Elements (130+ elements), Phox Studio, Phox Vault, Email Designers, Phox Facets and more
  • Phox Framework for Breakdance and Oxygen
  • Every other Phox plugin, current and future
  • One license, unlimited websites
  • All future updates
  • 14 day money back guarantee
See bundle pricing →

Quick questions

Does it work with Oxygen as well as Breakdance?
Both, natively. The token picker, the variable sync, the Global Settings integration and the elements all run in either builder. There is no compatibility mode doing a worse job on one of them.
How is this different from just writing CSS variables?
Three things a hand-written file cannot do. The tokens are synced into the builder's own variable collection, so they show up in every native picker and a binding survives a rename. The shades and text colours are generated, so you change one hex and the ramp, the hover state and the readable foreground all follow. And a section marked as a dark area re-paints every piece of text inside it without you writing a second rule.
Will it fight my existing CSS?
No. Everything the framework emits sits inside a CSS cascade layer, and unlayered author styles beat any layer, so your own CSS wins without !important and without counting specificity. Where your builder's Global Settings carry a colour you actually chose, the framework steps aside for it, one property at a time.
What does the MCP support actually give me?
Five tools registered on Breakdance's MCP server: read the design system, change part of it, generate a palette from one brand colour, audit for contrast and consistency problems, and rebuild the stylesheet. In practice it means you can ask an assistant to recolour a site and then have it check its own contrast, instead of it guessing at hex codes and hard-coding them into your pages.
Can I rename the tokens?
Yes. The prefix is a setting, so --pxf-primary can become --acme-primary across the stylesheet, the builder variables and the picker. Useful when another framework on the site already owns a name.
What if I want to start from scratch?
Presets are a starting point, not a requirement. Every colour, ratio, size and step is editable, and a live preview shows the whole system reacting as you drag a picker, before you save anything. The first guide builds one from scratch in fifteen minutes, and the documentation walks through every tab.

I'm a cat. This is a breakdance popup