Skip to content

Theming

Outconceive's stylesheet uses CSS custom properties. Switch themes instantly with no re-render.

Built-in Themes

javascript
Outconceive.theme('light');  // Default
Outconceive.theme('dark');   // Deep navy
Outconceive.theme('nord');   // Arctic blue

Custom Themes

Pass an object to override any CSS variable:

javascript
Outconceive.theme({
    'bg': '#fdf6e3',
    'text': '#657b83',
    'accent': '#268bd2',
    'card-bg': '#eee8d5',
    'danger': '#dc322f',
});

Per-Instance Themes

Apply a theme to one instance without affecting others:

javascript
sidebar.theme('dark');
mainView.theme('light');

CSS Variables

VariableDefault (light)Description
--mc-bg#f5f5f5Page background
--mc-text#333Primary text
--mc-text-muted#555Secondary text
--mc-card-bg#fffCard background
--mc-card-shadow0 2px 8px rgba(0,0,0,0.1)Card shadow
--mc-border#cccInput/button border
--mc-input-bg#fffInput background
--mc-accent#4a90d9Primary accent color
--mc-accent-hover#3a7bc8Accent hover state
--mc-danger#dc3545Danger/error color
--mc-warning#ffc107Warning color
--mc-success#28a745Success/valid color
--mc-radius4pxBorder radius
--mc-radius-lg8pxLarge border radius

All components — inputs, buttons, cards, labels — transition smoothly (0.3s) when the theme changes.

Released under the MIT License.