This reference documents all CSS variables provided by OxyMade’s design system.
Color Variables
Primary Color
| Variable | Description |
|---|
--primary | Base primary color |
--bg-primary | Primary background (50) |
--surface-primary | Primary surface (100) |
--subtle-primary | Primary subtle (200) |
--border-primary | Primary border (300) |
--muted-primary | Primary muted (400) |
--hover-primary | Primary hover (600) |
--text-primary | Primary text (700) |
--active-primary | Primary active (800) |
--heading-primary | Primary heading (900) |
--dark-primary | Primary dark (950) |
Secondary Color
| Variable | Description |
|---|
--secondary | Base secondary color |
--bg-secondary | Secondary background (50) |
--surface-secondary | Secondary surface (100) |
--subtle-secondary | Secondary subtle (200) |
--border-secondary | Secondary border (300) |
--muted-secondary | Secondary muted (400) |
--hover-secondary | Secondary hover (600) |
--text-secondary | Secondary text (700) |
--active-secondary | Secondary active (800) |
--heading-secondary | Secondary heading (900) |
--dark-secondary | Secondary dark (950) |
Tertiary Color
| Variable | Description |
|---|
--tertiary | Base tertiary color |
--bg-tertiary | Tertiary background (50) |
--surface-tertiary | Tertiary surface (100) |
--subtle-tertiary | Tertiary subtle (200) |
--border-tertiary | Tertiary border (300) |
--muted-tertiary | Tertiary muted (400) |
--hover-tertiary | Tertiary hover (600) |
--text-tertiary | Tertiary text (700) |
--active-tertiary | Tertiary active (800) |
--heading-tertiary | Tertiary heading (900) |
--dark-tertiary | Tertiary dark (950) |
Accent Color
| Variable | Description |
|---|
--accent | Base accent color |
--bg-accent | Accent background (50) |
--surface-accent | Accent surface (100) |
--subtle-accent | Accent subtle (200) |
--border-accent | Accent border (300) |
--muted-accent | Accent muted (400) |
--hover-accent | Accent hover (600) |
--text-accent | Accent text (700) |
--active-accent | Accent active (800) |
--heading-accent | Accent heading (900) |
--dark-accent | Accent dark (950) |
Neutral Color
| Variable | Description |
|---|
--neutral | Base neutral color |
--bg-neutral | Neutral background (50) |
--surface-neutral | Neutral surface (100) |
--subtle-neutral | Neutral subtle (200) |
--border-neutral | Neutral border (300) |
--muted-neutral | Neutral muted (400) |
--hover-neutral | Neutral hover (600) |
--text-neutral | Neutral text (700) |
--active-neutral | Neutral active (800) |
--heading-neutral | Neutral heading (900) |
--dark-neutral | Neutral dark (950) |
Base Colors
| Variable | Description |
|---|
--base-white | White (#ffffff) |
--base-black | Black (#101010) |
RGB Values
For use with rgba():
| Variable | Description |
|---|
--primary-rgb-vals | Primary RGB values |
--secondary-rgb-vals | Secondary RGB values |
--tertiary-rgb-vals | Tertiary RGB values |
--accent-rgb-vals | Accent RGB values |
--neutral-rgb-vals | Neutral RGB values |
--base-white-rgb-vals | White RGB values |
--base-black-rgb-vals | Black RGB values |
Usage:
.overlay {
background: rgba(var(--primary-rgb-vals), 0.5);
}
Spacing Variables
Numeric Scale
| Variable | Typical Value |
|---|
--s1 | 0.25rem |
--s2 | 0.5rem |
--s3 | 0.75rem |
--s4 | 1rem |
--s5 | 1.25rem |
--s6 | 1.5rem |
--s7 | 1.75rem |
--s8 | 2rem |
--s9 | 2.25rem |
--s10 | 2.5rem |
--s12 | 3rem |
--s14 | 3.5rem |
--s16 | 4rem |
--s20 | 5rem |
--s24 | 6rem |
--s28 | 7rem |
--s32 | 8rem |
--s36 | 9rem |
--s40 | 10rem |
--s44 | 11rem |
--s48 | 12rem |
--s56 | 14rem |
--s64 | 16rem |
--s72 | 18rem |
Section Spacing
| Variable | Description |
|---|
--ss-none | No spacing (0) |
--ss-xxs | Extra extra small |
--ss-xs | Extra small |
--ss-sm | Small |
--ss-md | Medium |
--ss-lg | Large |
--ss-xl | Extra large |
--ss-xxl | Extra extra large |
Border Radius Variables
| Variable | Description |
|---|
--radius-sm | Small radius |
--radius-md | Medium radius |
--radius-lg | Large radius |
--radius-xl | Extra large |
--radius-2xl | 2x large |
--radius-3xl | 3x large |
--radius-full | Fully rounded (9999px) |
Typography Variables
Font Sizes
| Variable | Description |
|---|
--text-xs | Extra small |
--text-sm | Small |
--text-base | Base/body |
--text-lg | Large |
--text-xl | Extra large |
--text-2xl | 2x large |
--text-3xl | 3x large |
--text-4xl | 4x large |
--text-5xl | 5x large |
--text-6xl | 6x large |
--text-7xl | 7x large |
--text-hero | Hero size |
Font Weights
| Variable | Value |
|---|
--font-normal | 400 |
--font-medium | 500 |
--font-semibold | 600 |
--font-bold | 700 |
Using Variables
In CSS
.card {
background: var(--surface-neutral);
border: 1px solid var(--border-neutral);
border-radius: var(--radius-lg);
padding: var(--s6);
}
.card-title {
color: var(--heading-neutral);
font-size: var(--text-lg);
font-weight: var(--font-semibold);
}
.button-primary {
background: var(--primary);
padding: var(--s3) var(--s6);
border-radius: var(--radius-md);
}
.button-primary:hover {
background: var(--hover-primary);
}
In Oxygen
Use the {var- prefix in Oxygen’s input fields:
{var-primary}
{var-s8}
{var-radius-lg}
{var-text-lg}
With calc()
Combine variables with calc():
.element {
padding: calc(var(--s4) * 2);
margin-bottom: calc(var(--s8) + var(--s2));
}
With rgba()
Use RGB variables for transparency:
.overlay {
background: rgba(var(--primary-rgb-vals), 0.8);
}
.shadow {
box-shadow: 0 4px 12px rgba(var(--neutral-rgb-vals), 0.15);
}
Variable Naming Convention
Pattern
--[shade]-[color]
--[utility]-[size]
Colors
- Base:
--primary, --secondary, etc. - With shade:
--bg-primary, --hover-secondary, etc.
Spacing
- Numeric:
--s1, --s2, etc. - Semantic:
--ss-sm, --ss-lg, etc.
Typography
- Sizes:
--text-sm, --text-lg, etc. - Weights:
--font-bold, --font-medium, etc.
Default Values
Default values depend on your selected design set. See Design Sets for specific values.
Layers Design Set (Default)
:root {
--primary: #6366f1;
--secondary: #10b981;
--tertiary: #f59e0b;
--accent: #ec4899;
--neutral: #71717a;
--base-white: #ffffff;
--base-black: #101010;
}
Customizing Variables
Via OxyMade Settings
- Go to OxyMade settings
- Adjust color palette
- Save and sync with Oxygen
Via Custom CSS
Override variables in your custom CSS:
:root {
--primary: #your-color;
}
Note: Custom CSS overrides will be lost if you re-sync with Replace mode.