Skip to content

Theme, fonts and backdrop

Config.Theme and Config.Scene.backdrop. Both take effect on a restart nuggs_multicharacter — nothing in html/, css/ or js/ is touched.

Fonts. displayFont is the big lettering (crest, titles, step headings, character names); uiFont is everything else. 39 families ship in html/fonts/, so naming one is the whole job:

Config.Theme = {
fonts = { displayFont = "Bebas Neue", uiFont = "Inter", scale = 1.0 },
}

Names are case- and space-sensitive; a typo falls back to the built-in stack and is named in the console. scale sizes the whole screen. To add your own font, put the file in html/fonts/ and describe it in fonts.custom.

Colours. Six hexes drive the screen. Set one and every shade built on it — borders, glows, gradients, and the dark text printed on top — is recalculated.

Config.Theme = {
preset = "gold", -- gold, ice, crimson, emerald, neon, mono
colors = {
accent = "#c9992f", -- THE colour of the screen
premium = "#a855f7", -- membership / VIP
danger = "#d8393f", -- delete and disconnect
background = "#040302",
text = "#f3ebdd",
success = "#58d68d",
},
}

preset names a palette from Config.ThemePresets; anything in colors is laid on top. Colours must be hex, so a typo cannot break the screen.

The monogram shield follows the theme on its own. Override it in Config.Brand.shield when it should be an emblem rather than a swatch — every line is optional and independent.

Backdrop. Config.Scene.backdrop puts a still image behind the characters instead of the world. Two ship and are on by default: html/images/CharacterSelectionBackground.png and CharacterCreationBackground.png. Swap either for any PNG or JPG in html/images — nothing to stream, no .ytd to build. /ccbackdrop toggles it, and enabled = false goes back to the world showing through.

The font list, every colour token, and every backdrop option are in Config reference §§ 3 and 13.