25장. CSS Architecture
좋은 구조는 팀이 수정 위치와 영향 범위를 예측하게 한다. tokens, base, layout, components, utilities, enhancements layer를 시작점으로 쓰되 조직의 배포 단위와 ownership에 맞춘다.
BEM, CSS Modules, utility-first, CSS-in-JS는 각각 tradeoff가 있다. 이름 격리, runtime 비용, dead code, theme, SSR, source map, 채용 역량을 비교한다. 도구가 cascade를 없애지는 않는다.
component public API는 HTML 구조, custom property, data/ARIA state, slot, size variant다. 내부 selector를 소비자가 덮어야만 쓸 수 있다면 API가 부족한지 먼저 본다.