# `theme.srf` reference

`theme.srf` recolors the interactive TUI. zfin reads it from
`~/.config/zfin/theme.srf`. When the file is absent, built-in defaults
(a monokai/opencode palette) apply; when present, it is the **sole**
source of colors.

Generate a commented starting file from the current defaults:

```bash
zfin interactive --default-theme > ~/.config/zfin/theme.srf
```

## File format

One `key::value` per line. Every value is a hex RGB string,
`#rrggbb`:

```srf
#!srfv1
bg::#0a0a0a
text::#eeeeee
accent::#9d7cd8
positive::#7fd88f
negative::#e06c75
```

## Color keys

| Key                                    | Used for                            |
|----------------------------------------|-------------------------------------|
| `bg`                                   | Main background                     |
| `bg_panel`                             | Panel background                    |
| `bg_element`                           | Inset element background            |
| `tab_bg` / `tab_fg`                    | Inactive tab bar                    |
| `tab_active_bg` / `tab_active_fg`      | Active tab                          |
| `text`                                 | Primary text                        |
| `text_muted`                           | Secondary text                      |
| `text_dim`                             | De-emphasized text                  |
| `status_bg` / `status_fg`              | Status line                         |
| `input_bg` / `input_fg` / `input_hint` | Modal text input                    |
| `accent`                               | Accent / highlights                 |
| `positive`                             | Gains, positive values              |
| `negative`                             | Losses, negative values             |
| `warning`                              | Warnings (e.g. stale manual prices) |
| `info`                                 | Informational highlights            |
| `select_bg` / `select_fg`              | Selected row                        |
| `border`                               | Borders and rules                   |

Run `zfin interactive --default-theme` for the full key list with the
default values filled in.

## See also

- [Customize the TUI](../../guides/customize-the-tui.md) -- the walkthrough.
- [`keys.srf`](keys-srf.md) -- rebind keys.

---

[Documentation home](../../README.md#reference)
