# [[Tailwind CSS v4]]

## 📌 Brief Summary
Tailwind CSS v4는 JavaScript 설정 파일 대신 CSS 우선(CSS-first) 아키텍처를 도입하여 프론트엔드 스타일링의 패러다임을 전환한 프레임워크입니다 [1-3]. Rust 기반의 Oxide 엔진을 탑재하여 기존 대비 빌드 속도를 비약적으로 향상시켰으며, 네이티브 CSS 변수를 통해 디자인 토큰을 직접 제어할 수 있도록 지원합니다 [3, 4]. 이를 통해 제로 컨피그(Zero Config) 환경을 제공하고 런타임 자바스크립트의 오버헤드 없이 확장 가능한 디자인 시스템과 테마 기능을 효율적으로 구현할 수 있습니다 [3, 4].

## 📖 Core Content

* **CSS 우선 아키텍처(CSS-First Architecture):** 
  Tailwind CSS v4의 가장 큰 구조적 변화는 기존의 `tailwind.config.js`를 통한 JavaScript 기반 설정에서 벗어나 CSS 파일 내에서 직접 설정을 관리한다는 점입니다 [1-3]. 개발자는 `@source` 지시어(directive)를 통해 유틸리티 클래스를 스캔할 콘텐츠 경로를 선언하고, `@theme` 지시어를 사용해 테마와 디자인 토큰을 정의합니다 [5, 6].

* **테마 변수(Theme variables) 및 네이티브 CSS 변수:** 
  `@theme` 블록 내에 디자인 토큰(예: `--color-mint-500`)을 정의하면, 이는 네이티브 CSS 변수로 노출될 뿐만 아니라 `bg-mint-500`, `text-mint-500`과 같은 유틸리티 클래스들을 자동으로 생성합니다 [2, 7-9]. 이러한 네이티브 CSS 변수 접근 방식은 다크 모드나 브랜드 테마와 같은 런타임 테마 전환을 JavaScript 문맥(Context) 업데이트 없이도 손쉽게 구현할 수 있게 해줍니다 [3, 10]. 또한 `var()`를 사용하여 임의의 값이나 인라인 스타일에서 디자인 토큰을 직접 참조하는 것도 가능해졌습니다 [9, 11].

* **압도적인 성능 향상 (Oxide 엔진):** 
  Tailwind v4는 Rust로 작성된 새로운 Oxide 엔진을 도입하여 기존 버전에 비해 성능이 크게 향상되었습니다 [3, 4, 12]. 전체 빌드 속도는 최대 10배, 증분 빌드(incremental builds)는 100배 이상 빨라졌으며, 거의 즉각적인 HMR(Hot Module Replacement)을 제공합니다 [3, 4, 13]. 자바스크립트 실행 없이 빌드 타임에 정적 CSS를 생성하기 때문에, 브라우저가 스타일을 네이티브하게 구문 분석할 수 있어 서버 CPU 지연 시간과 Time to First Byte(TTFB)를 크게 줄입니다 [14, 15].

* **확장 가능한 디자인 시스템 설계:** 
  Tailwind v4는 인간의 인지 수준에 맞춰 균일한 밝기 단계를 제공하는 OKLCH 색상 시스템을 채택하여 일관성 있는 색상 스케일을 쉽게 구축할 수 있습니다 [10]. 또한, CVA(Class Variance Authority)와 같은 도구를 함께 사용하면 컴파운드 컴포넌트(Compound Components) 패턴으로 복잡한 UI 컴포넌트 변형(variant)을 직관적이고 확장성 있게 관리할 수 있습니다 [6, 16]. 

## 🔗 Knowledge Connections
- **Related Topics:** [[Design Tokens]], [[CSS-in-JS]], [[React Server Components]], [[Compound Components]]
- **Projects/Contexts:** [[Next.js App Router]], [[Scalable Design Systems]]
- **Contradictions/Notes:** 소스에 따르면 Tailwind CSS v4는 JS 오버헤드가 없는 정적 CSS 생성으로 인해 Core Web Vitals 최적화와 SSR 환경에 유리한 반면, Styled Components와 같은 런타임 기반 CSS-in-JS 라이브러리는 동적 스타일링에 강점이 있지만 스타일 생성 및 주입 과정에서 JavaScript 성능 오버헤드가 발생하며 React Server Components(RSC)와의 기본 호환성이 부족하다는 차이점을 가집니다 [14, 17-19].

---
*Last updated: 2026-04-26*