PR #596 routed the Project icon disc color through colorScheme.tertiaryContainer to replace a hardcoded dark teal Color(0xFF2A6B5A). However, tertiaryContainer in ChirpyDarkColorScheme is Color(0xFF292929) — near-black. The nightly UX audit (2026-06-23) caught this via roborazzi screenshots: the Project icon disc appeared near-black instead of the blue-slate family (Color(0xFF526C96)) used by all other 25+ node types.
composeApp/src/commonMain/kotlin/krill/zone/app/IconManager.kt: Changed colorScheme.tertiaryContainer → colorScheme.primaryContainer in the KrillApp.Project branch of getNodeStateColor().composeApp/src/desktopTest/kotlin/krill/zone/app/NodeStateColorTest.kt: Updated both Project color tests to assert primaryContainer (not tertiaryContainer) and added the near-black Color(0xFF292929) as the forbidden literal.ChirpyDarkColorScheme and ChirpyLightColorScheme before committing. tertiaryContainer maps to --card-header-bg (near-black in dark, near-white in light) — not a node-icon color.primaryContainer unless a specific semantic distinction is needed and the token’s resolved value is verified in both themes.getNodeStateColor() must check that the returned value equals a concrete theme token — not just that a forbidden literal is absent — so a “different but still wrong” token substitution doesn’t slip through.