Creating Your First Theme
Themes in BDUK define the overall look and feel of your UI — including fonts, colors, borders, gradients, and effects. You can create your own themes by editing a simple CSS file and registering it in the system config.
Step 1: Copy the Default Theme
Start with the default theme located at:
/ui/css/themes/default.css
Make a copy, give it a name like:
/ui/css/themes/mytheme.css
Keep the credit line at the top — support honest development. don't be that guy... Don't forget to add your own credit note below.
Step 2: Edit Your Theme
Open your new CSS file and change any of the variables inside the body.YOUR_THEME_NAME
block.
Below is a complete list of available CSS variables you can use when customizing your theme:
Category
Variable
Description
Fonts
--header_font
Font used in headers
--text_font
Font used for regular text
Border Radius
--border_radius_outer
Radius for card/panel corners
--border_radius_inner
Radius for inner elements like inputs
Backgrounds
--background_main
Main background color
--background_panel
Panels/containers background
--background_hover
Background when hovered
--background_overlay
Overlay background for modals/tooltips
Text Colors
--text_primary
Main text color
--text_secondary
Subtext or secondary UI text
--text_tertiary
Placeholder or hint text
Accents
--accent
Primary accent color
--accent2
Secondary accent
--accent3
Used for alerts/danger zones
--accent4
Extra accent (often for icons or details)
Borders
--border_dark
Dark border (used for cards/panels)
--border_light
Light border (used for separation lines)
--border_dashed
Dashed border for debugging/separators
Shadows
--shadow_soft
Soft drop shadow
--shadow_medium
Medium drop shadow
--shadow_large
Large drop shadow
--inset_shadow_large
Large inset shadow for panels/inputs
--inset_shadow_small
Small inset shadow for inputs
--text_shadow_hard
Strong black outline around text
Gradients
--gradient_fade_left
Fade from left
--gradient_fade_right
Fade from right
--gradient_fade_both
Symmetrical fade in from both sides
Buttons
--button_padding
Padding inside buttons
Scrollbars
--scrollbar_track
Background of scrollbars
--scrollbar_thumb
Scrollbar draggable section
Icons
--icon_primary
Color for primary icons
--icon_secondary
Color for secondary icons
Tooltips
--tooltip_title
Background/text color for tooltip title
--tooltip_rarity_badge
Background color for rarity badge in tooltip
Namecard Ranks
--rank_bronze
to --rank_legend
Rank color coding on namecards
Item Rarity
--rarity_common
to --rarity_legendary
Color overlays for item rarity
Notifications
--notify_success
Color for success notifications
--notify_error
Color for error notifications
--notify_info
Color for info notifications
--notify_warning
Color for warning notifications
--notify_primary
Used for general or system notices
Step 3: Register Your Theme
Open manifest.json
and make sure your theme is properly registered.
1. Add your theme to the list:
"themes": ["dark", "light", "mytheme"]
2. Add the CSS file:
"css": [
...
"/ui/css/themes/mytheme.css"
]
3. Set it as the default if you want it active:
"default_theme": "mytheme"
Note: Theme switching is not supported live yet — only the default theme is applied on load.
That's It!
Your theme will now be used automatically when the UI loads. You can build as many themes as you want and change the default in the manifest to test each.
Coming Soon
Support for dynamic theme switching in the builder
Theme preview and selection components
Theme-specific overrides for cards, modals, namecards, and more
Last updated