> For the complete documentation index, see [llms.txt](https://docs.uichemy.com/llms.txt).
> Use it to discover all available pages before exploring further.

# Global Style: The Design System

How UiChemy's Global Style Manager works: the globals style block, what it stores, and how CSS variables, typography classes, and utility classes flow to every Composer widget.


The Global Style Manager creates a single `<style>` block injected into your site's `<head>`, containing CSS custom properties, typography definitions, and utility classes. This block appears on **every page of your site**, not just pages where a Composer widget is active.

```html
<style id="uichemy-globals">
  :root {
    --color-brand: #4F46E5;
    --color-text: #1a1a1a;
    --color-bg: #ffffff;
    --font-heading: 'Inter', sans-serif;
    --font-size-base: 1rem;
  }
  .text-heading-h1 { font-size: 3rem; font-weight: 700; }
  .uc-boxed { max-width: 1200px; margin-inline: auto; }
</style>
```

### What You Can Store

| Type | Description | Example |
|---|---|---|
| CSS Variables | Custom properties in `:root`, organized into collections you name and create yourself | `--color-brand: #4F46E5` |
| Typography Classes | `.text-*` classes for heading/body text | `.text-heading-h1` |
| Other Classes | Any reusable class without text styling, cards, buttons, containers, and more, written as plain CSS | `.uc-boxed` |

The manager preserves `@media` rules and any custom CSS you add.

<Callout kind="info">
On the free plan, Global Style supports up to **2 variable collections**, **1 typography class**, and **1 other class** (component or button). UiChemy Pro removes all three caps. See [Free vs Pro](/uichemy-composer/getting-started/free-vs-pro).
</Callout>

### Accessing the Manager

<Steps>
  <Step title="Open the Code tab" icon="code">
    Select a Composer widget and click **Code** in the switcher at the top of the panel (**Chat**, **Editor**, **Code**).
  </Step>
  <Step title="Go to Globals" icon="globe">
    Click the **Globals** tab. It shows a summary of your globals: **Colors**, **Text**, and **Sizes**, with a count for each.
  </Step>
  <Step title="Open a section" icon="mouse-pointer-click">
    Click a row, for example **Colors**, to open the Globals manager on that section.
  </Step>
</Steps>

<div style="border: 4px solid transparent; border-radius: 16px; background: linear-gradient(135deg, #FD6A35, #FEA686) border-box; overflow: hidden; margin: 1.5rem auto; max-width: 480px;">
  <div style={{margin: '-24px 0', lineHeight: 0}}>
    <Image src="https://res.cloudinary.com/ekxmy1t9/image/upload/v1791376772/uichemy-docs/uichemy-composer/uichemy-widget/code-tab/UiChemy-Composer-Code-Globals.webp" alt="" width={495} height={334} style={{display: 'block', width: '100%', height: 'auto', borderRadius: '8px', margin: 0}} priority={true} fetchPriority="high" />
  </div>
</div>
<p style="text-align: center; font-size: 0.875rem; color: var(--text-color-secondary, #6b7280); margin-top: 0.5rem;"><em>The Globals tab summary: click a row to open the Globals manager</em></p>

<div style="border: 4px solid transparent; border-radius: 16px; background: linear-gradient(135deg, #FD6A35, #FEA686) border-box; overflow: hidden; margin: 1.5rem auto; max-width: 720px;">
  <div style={{margin: '-24px 0', lineHeight: 0}}>
    <Image src="https://res.cloudinary.com/ekxmy1t9/image/upload/v1791377710/uichemy-docs/uichemy-composer/global-style/overview/UiChemy-Composer-Code-Globals-Colors.webp" alt="" width={918} height={605} style={{display: 'block', width: '100%', height: 'auto', borderRadius: '8px', margin: 0}} priority={true} fetchPriority="high" />
  </div>
</div>
<p style="text-align: center; font-size: 0.875rem; color: var(--text-color-secondary, #6b7280); margin-top: 0.5rem;"><em>The Globals manager, open on the Colors collection</em></p>

Variable collections (you name each one, for example Colors or Dimensions) and Classes (Typography, Others) live together in one manager with a left-hand list, there's no separate tab for each.

#### Inside the Globals Manager

<ExpandableGroup>
  <Expandable title="Collections" default-open="false">
    The left-hand list of your variable collections, each with a count, for example **Colors 32** or **Spacing 3**. Click one to open it.
  </Expandable>

  <Expandable title="+ Add collection" default-open="false">
    Creates a new variable collection that you name yourself. Free allows up to 2 collections, Pro removes the cap.
  </Expandable>

  <Expandable title="Classes" default-open="false">
    The class lists, **Typography** and **Others**, each with a count. Click one to see and edit those classes.
  </Expandable>

  <Expandable title="Variable list" default-open="false">
    The open collection's variables, each with a swatch or preview, its name (like **Primary**), and its value (like `#6366F1`). Click a variable to edit it.
  </Expandable>

  <Expandable title="Delete collection" default-open="false">
    The trash icon beside the collection name. Deletes the collection and every variable in it.
  </Expandable>

  <Expandable title="Search" default-open="false">
    Finds a global by name across your collections and classes.
  </Expandable>

  <Expandable title="+ Add" default-open="false">
    Adds a new global. Pick what to add: a **Color**, a **Text style**, an **Other value**, or a **Class**.
  </Expandable>

  <Expandable title="More menu (…)" default-open="false">
    **Export** your globals to a file, **Import…** globals from a file, or **Sync with the builder…** to match your globals with Elementor. See [Sync with Elementor Globals](/uichemy-composer/uichemy-widget/code-tab#sync-with-elementor-globals).
  </Expandable>

  <Expandable title="All changes saved" default-open="false">
    The status line at the bottom. It confirms your changes are saved.
  </Expandable>
</ExpandableGroup>

Direct raw-CSS editing of the same style block happens in a different place entirely, the Code tab's **Site** scope, under "Before `</head>`". See [Code Tab](/uichemy-composer/uichemy-widget/code-tab#standard-page-site-and-globals).

### Using Global Values in Composer Widgets

Reference a variable in any widget's CSS with `var()`, for example `background: var(--color-brand)`. They also work inside Twig expressions for dynamic inline styles. Apply a class directly in the widget's HTML, for example `<h1 class="text-heading-h1">`.

### AI Access Over MCP

Connected AI clients can read and update your Global Style CSS through UiChemy's MCP integration, included in Free, so design tokens stay part of AI-driven workflows too. See [Set up UiChemy MCP](/ai-to-wordpress/set-up).

### Use Cases

- **Keeping a client's brand consistent**, define colors, fonts, and spacing once instead of redefining them per widget.
- **Rebranding a site in one place**, change a variable or class once and every Composer widget using it updates automatically.
- **Letting a connected AI tool adjust design tokens**, read and update Global Style CSS over MCP instead of editing it by hand.

### Frequently Asked Questions

<ExpandableGroup>
  <Expandable title="Do I need to use the Global Style Manager to use UiChemy?" default-open="false">
    No. You can write all CSS directly in each Composer widget. The Global Style Manager becomes valuable when you want consistent design tokens across many sections and a single place to update them.
  </Expandable>

  <Expandable title="Can I use CSS variables from another source (Elementor Global Colors, theme variables)?" default-open="false">
    Yes. `var(--color-brand)` in a Composer widget resolves from whatever `:root` declaration the browser finds, whether that's in UiChemy's globals block or elsewhere. There's no conflict, but be careful not to duplicate variable names across sources.
  </Expandable>

  <Expandable title="What happens if I go over the free plan's limits and later lose Pro?" default-open="false">
    Variables and classes beyond the free plan's caps stop being editable in the Global Style Manager, but they continue to render on your site until you change them. Reactivating Pro restores full editing.
  </Expandable>
</ExpandableGroup>

### Related

<Columns cols={2}>
  <Card title="CSS Variables" href="/uichemy-composer/global-style/css-variables">
    Set the color and spacing values every widget can reuse.
  </Card>
  <Card title="Typography Classes" href="/uichemy-composer/global-style/typography">
    Define site-wide heading and body text styles.
  </Card>
  <Card title="CSS Classes" href="/uichemy-composer/global-style/css-classes">
    Build reusable classes on top of your variables.
  </Card>
  <Card title="Free vs Pro" href="/uichemy-composer/getting-started/free-vs-pro">
    See which Global Style features are Pro-only.
  </Card>
</Columns>
