Exercise 2: Why Combining Paradigms Is Normal, Not a Compromise — Possible Solution ==================================================================== THE CHAPTER'S OWN CLAIM ------------------------------ Per this chapter's own framework, "combining paradigms is normal, not a compromise — Tailwind for styling plus a headless library for complex interactive components is a genuinely common, sensible combination, not a failure to fully commit to one approach." THE CONCRETE EXAMPLE: TAILWIND + A HEADLESS LIBRARY ------------------------------ This combination directly reflects cssfw1-6's and cssfw1-7's own material: a project uses Tailwind's own utility classes (cssfw1-2/3/4) for the visual styling of most of its interface, while reaching for a headless library like Radix or Headless UI (cssfw1-6) specifically for the genuinely hard-to-get-right interactive components — dropdowns, modals, comboboxes — that need real ARIA/keyboard/focus behavior. The styling utility (Tailwind) and the behavior primitive (the headless library) are two entirely separate, independent tools, each covering the part of the problem it's actually best suited for, used together in the same project. WHY THIS ISN'T A SIGN OF AN UNCLEAR DECISION ------------------------------ Per cssfw1-1's own material, the three (now four, per cssfw1-8) major paradigms this course covers each provide something genuinely DIFFERENT: utility-first provides styling primitives, headless libraries provide accessible behavior with zero styling. These aren't competing solutions to the exact same problem, where choosing more than one would represent indecision about which one is "right" — they solve genuinely DIFFERENT problems (visual design vs. accessible interactive behavior) that a single real project usually has BOTH of at once. Choosing Tailwind for styling and a headless library for behavior isn't hedging between two competing options for the same job — it's correctly recognizing that the project has two distinct needs, and applying the tool best suited to each one specifically. This is precisely why cssfw1-7's own entire chapter (shadcn/ui) exists: it's built around formalizing this exact combination as a genuine, first-class pattern, not an ad hoc workaround. WHY THIS WORKS AS AN ANSWER ------------------------------ It states the chapter's own claim precisely, uses the Tailwind-plus- headless-library combination the chapter itself names as the concrete example, and explains specifically why this combination reflects recognizing two genuinely different problems rather than indecision about a single problem.