Skip to content

Theming & Styling

Customize Pulse to match your brand using CSS custom properties.

How It Works

Override CSS variables on the <pulse-widget> element from your stylesheet:

css
pulse-widget {
  --pulse-primary: #e11d48;
}

That's it — the entire widget updates to use your color. No build step, no configuration files.

Available Properties

PropertyDefaultWhat It Changes
--pulse-primary#6366f1Buttons, badges, links, active states
--pulse-primary-hover#4f46e5Hover state of primary elements
--pulse-bg#ffffffPanel backgrounds
--pulse-bg-secondary#f8fafcHover backgrounds, secondary surfaces
--pulse-text#1e293bPrimary text
--pulse-text-secondary#64748bSecondary / muted text
--pulse-border#e2e8f0Borders and dividers
--pulse-radius12pxCorner rounding on panels
--pulse-fontsystem-ui, sans-serifFont family
--pulse-font-size13pxBase text size
--pulse-shadow0 8px 32px rgba(0,0,0,0.12)Panel shadow

Examples

Your Brand Color

css
pulse-widget {
  --pulse-primary: #e11d48;     /* Rose */
  --pulse-primary-hover: #be123c;
}

Dark Mode

css
pulse-widget {
  --pulse-primary: #818cf8;
  --pulse-primary-hover: #6366f1;
  --pulse-bg: #1e1e2e;
  --pulse-bg-secondary: #2a2a3e;
  --pulse-text: #e2e8f0;
  --pulse-text-secondary: #94a3b8;
  --pulse-border: #334155;
  --pulse-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

Match Your Font

css
pulse-widget {
  --pulse-font: 'Inter', system-ui, sans-serif;
  --pulse-font-size: 14px;
}

Compact / Less Rounded

css
pulse-widget {
  --pulse-radius: 6px;
  --pulse-font-size: 12px;
}

Auto Dark Mode

Respond to the user's system preference:

css
@media (prefers-color-scheme: dark) {
  pulse-widget {
    --pulse-bg: #1a1a2e;
    --pulse-bg-secondary: #262640;
    --pulse-text: #e2e8f0;
    --pulse-text-secondary: #94a3b8;
    --pulse-border: #334155;
    --pulse-primary: #818cf8;
    --pulse-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  }
}

Per-Widget Theming

Style different widgets independently:

html
<pulse-widget id="main-collab" ...></pulse-widget>
<pulse-widget id="sidebar-chat" ...></pulse-widget>

<style>
  #main-collab {
    --pulse-primary: #6366f1;
  }
  #sidebar-chat {
    --pulse-primary: #059669;
    --pulse-radius: 8px;
  }
</style>

Pulse Collaboration SDK