# Colors Edit `themes/palette.gd`: base swatches define the hues; derived shades use `lightened()`, `darkened()`, and `lerp()`. `SOFT`, `HIGH_CONTRAST`, and `INSTRUMENT` map them to theme roles. Treat derived static values as read-only. Regenerate after palette edits: ```sh godot --headless --path . --script themes/build_theme.gd ``` Commit the generated themes and compass material alongside palette changes. The generator also updates the viewport background when needed. Controls inherit the active theme. Custom graphics use `get_theme_color(role, "SurfaceSide")` for instrument roles and `get_theme_color("font_color", "Label")` for text. Prefer existing roles before adding new ones.