--- name: custom-theme description: Author a Wisp custom theme CSS file that uses documented tokens and import constraints. Use when the user wants a custom look, hide the paragraph lead bar, restyle chat Markdown, override colors, or import a stylesheet under Settings → Appearance. --- # Custom Wisp theme CSS Wisp injects one user stylesheet after the built-in theme. Prefer CSS variables on `:root`. Do not invent Settings toggles for one-off look changes. ## Workflow 1. Ask what should change (lead bar, table size, accent, chat density, fonts). 2. Write a `.css` file in the project, usually `theme.css`. 3. Apply it: - Desktop: `configure` with `action=set` and `values.custom_css` set to the full stylesheet text. Empty string clears it. - Or tell the user to import the file under **Settings → Appearance**. 4. Confirm the change is visible. If a rule did nothing, the selector is wrong; do not add `!important` unless a built-in rule requires it. ## Constraints The host sanitizes CSS before inject. These are stripped: - `@import` and `@namespace` - every `url(...)` - `javascript:`, `expression(`, `behavior:`, `-moz-binding` - `