selectedThemeId

The chosen appearance theme id, as observable Compose state.

Settings (which the host renders) writes this when the user picks a theme; the pill / com.midnight.kuira.dapp.PanelBar reads it so the pill re-themes live — Settings and the pill are split across the host boundary now, so a shared observable here is what keeps them on ONE palette. null = never picked (→ WalletThemes.Default). The durable source of truth remains ThemeStore; this is the in-memory mirror that drives recomposition.