# Styling Strategies Ignite-element supports multiple styling approaches so you can match the needs of each component library: ## Global Styles (Shadow DOM) Use `setGlobalStyles(href)` to load a stylesheet once and reuse it across every component instance. These styles are applied to each component’s **shadow root**; they do not affect the page’s light DOM (e.g. `body`). ```ts import { setGlobalStyles } from "ignite-element"; const href = new URL("./styles.css", import.meta.url).href; setGlobalStyles(href); ``` ### Centralised Configuration (shadow scope) Create an `ignite.config.ts` file and register it with `defineIgniteConfig` to configure global styles (and future defaults) once per application. The helpers automatically call `setGlobalStyles` under the hood. ```ts // ignite.config.ts import { defineIgniteConfig } from "ignite-element"; export default defineIgniteConfig({ styles: new URL("./styles.css", import.meta.url).href, // formerly globalStyles }); ``` Import this module once in your entry file or rely on the provided bundler plugins to inject it automatically. ### Light-DOM (page) styles For app-level styling (backgrounds, layout, typography), import a stylesheet in your entry file or include a `` in `index.html`. The `styles` setting is intentionally scoped to components; keep page shell styles separate or reuse the same file in both places if desired. ## Scoped Styles Add `