Challenge 1: Why PostCSS Isn't "a Preprocessor" — Possible Solution ==================================================================== WHAT POSTCSS ITSELF ACTUALLY DOES ------------------------------ Per this chapter's own explanation, PostCSS "doesn't transform anything by default." On its own, PostCSS is just a pipeline that parses CSS into a form plugins can inspect and modify, and reassembles the result afterward — the actual transformation work (adding prefixes, rewriting future syntax, etc.) is entirely the job of whichever PLUGINS are configured to run inside that pipeline. Without any plugins attached, running PostCSS over a CSS file produces essentially the same CSS back out. WHY THIS IS DIFFERENT FROM "A PREPROCESSOR" ------------------------------ A preprocessor (in the sense that term is often loosely used) is usually thought of as one integrated tool with one built-in set of transformations baked in. PostCSS instead ships with none of the actual transformation logic itself — every real capability (like this chapter's own autoprefixer example) comes from a separately installed, separately configured plugin. The chapter demonstrates this directly: the "before" and "after" CSS in this chapter's own example differ specifically because autoprefixer was configured to run, not because PostCSS itself has any opinion about vendor prefixes. THE PARALLEL TO BABEL ------------------------------ Per this chapter's own explicit statement, this is "structurally the same architecture" as build-tooling1-4's own Babel: Babel itself, per that chapter, doesn't decide which syntax to transform on its own either — it relies on configured plugins/presets (like @babel/preset-env) to determine what actually gets rewritten. Both tools are, at their core, an empty pipeline that plugins do the real work inside of — PostCSS for CSS, Babel for JavaScript syntax. WHY THIS WORKS AS AN ANSWER ------------------------------ It states specifically what PostCSS does and doesn't do on its own (pipeline only, no built-in transformations), uses the chapter's own autoprefixer example as concrete evidence, and draws the explicit architectural parallel to Babel the chapter itself names.