# Themes & Styling (CSS/SCSS) XO Forms is completely themable, and comes with a few built in themes that are ready for use in light and dark modes. If you need to adjust styling, add your customizations on top of an existing theme, or completely roll your own themes. The XO base styling handles every aspect you could call 'functional', so writing your own themes doesn't need to take much time. ## Available themes: ### Material (default)  ### Fluent  ### Thin (added in 1.6)  ## Using a theme ```js const schema = { theme: "thin", pages: [ { fields: [ { type: "text" }, ], }, ], }; ``` # Customizing styling XO generates HTML from your JSON/JS schema, following the following pattern: ```pug div.exf-container form.exf-form div.exf-wrapper fieldset.exf-page field1 field2 fieldset.exf-page field3 field4 fieldset.exf-nav-cnt control1 control2 ``` ... where each field uses the following template: ```pug div.exf-ctl-cnt div.exf-ctl label element div.exf-fld-details div.exf-help-wrapper ``` Here's a full snippet of the rendered HTML of a (very simple) form, with just a ```text``` and a ```multiline``` field: ```html
```