String randomHexId(int parts) { final r = Random(); return Iterable.generate( parts, (_) => r.nextInt(255).toRadixString(16).padLeft(2, '0')).join(':'); }