Exercise 1: theme.extend vs. theme (Replacing), With Concrete Scenarios — Possible Solution ==================================================================== WHAT theme.extend DOES ------------------------------ Per this chapter, "theme.extend adds new values while keeping Tailwind's own sensible defaults intact." Placing a new value inside extend adds it alongside everything Tailwind already ships by default — the full default spacing scale, color palette, and so on all remain fully available and unchanged, with the new value simply added on top as an additional option. WHAT theme (DIRECT, WITHOUT extend) DOES ------------------------------ Per this chapter, "replacing a key directly under theme (without extend) discards the default scale for that key entirely." If a project instead defines a key directly under theme without wrapping it in extend, Tailwind's own default values for THAT SPECIFIC key are completely thrown away — only the values explicitly listed remain available for that key going forward. A CONCRETE SCENARIO FOR extend ------------------------------ A project needs one additional brand-specific color (say, a specific teal used only in this company's own logo) while still wanting every one of Tailwind's own existing default colors (the full reds, blues, grays, and so on) to remain fully usable everywhere else in the project. Per this chapter's own example, this would be added under theme.extend.colors — the new brand color becomes available alongside the complete existing default palette, with nothing lost. A CONCRETE SCENARIO FOR theme (DIRECT, REPLACING) ------------------------------ A project has a genuinely small, deliberately restrictive design system — say, a design team has decided the ENTIRE project should only ever use exactly five specific brand colors, and wants to actively PREVENT any developer from accidentally reaching for one of Tailwind's own huge default color palette (hundreds of shades) instead of sticking to the five approved brand colors. Replacing colors directly under theme (not extend) would remove every one of Tailwind's own default color options entirely, leaving only the five explicitly listed colors available — making it structurally impossible for a developer to accidentally use an unapproved color, since it simply wouldn't exist as an option anymore. WHY THIS WORKS AS AN ANSWER ------------------------------ It defines both configuration approaches precisely using the chapter's own wording, and constructs two genuinely different, realistic scenarios (adding one color while keeping everything else, vs. deliberately restricting the entire palette) that clearly justify choosing each approach specifically.