전역 색상
1. 개요
1. 개요
전역 색상은 CSS에서 문서의 모든 요소에 일관되게 적용할 수 있는 색상 속성 변수를 의미한다. 이는 특정 요소의 색상 값을 상속받지 않고, 프로젝트 전반에서 재사용 가능한 색상 값을 중앙에서 정의하고 관리할 수 있게 해준다. CSS Custom Properties for Cascading Variables Module Level 1 명세에서 도입된 이 기능은 웹 디자인과 프론트엔드 개발 분야에서 색상 체계를 체계적으로 구성하는 핵심 도구로 자리 잡았다.
주요 용도는 웹사이트나 애플리케이션 전체에 걸쳐 통일된 색상 테마를 정의하고, 이를 쉽게 변경하거나 확장하는 데 있다. 예를 들어, 기본 색상, 강조 색상, 배경 색상 등을 전역 변수로 선언해두면, 디자인 변경 시 수많은 CSS 규칙을 일일이 수정하지 않고도 몇 개의 변수 값만 변경하여 전체적인 색상을 빠르게 업데이트할 수 있다. 이는 코드의 재사용성을 높이고 유지보수를 매우 용이하게 만든다.
또한, 사용자 정의 테마를 구현하는 데 필수적으로 활용된다. 대표적인 예가 다크 모드 지원이다. 밝은 모드와 어두운 모드에 각각 다른 색상 값 세트를 전역 변수로 정의해두면, 사용자의 선호도나 시스템 설정에 따라 동적으로 색상 테마를 전환할 수 있다. 이는 접근성을 향상시키고 사용자 경험을 개선하는 데 기여한다.
전역 색상 변수는 일반적으로 :root 의사 클래스 내부에 --변수명: 값; 형식으로 선언한다. :root는 HTML 문서의 최상위 요소를 가리키므로, 여기에 선언된 변수는 문서의 모든 요소에서 참조하여 사용할 수 있다. 이렇게 선언된 변수는 var() 함수를 통해 실제 CSS 속성 값으로 적용된다.
2. 정의
2. 정의
전역 색상은 CSS에서 문서의 모든 요소에 적용할 수 있는 색상 속성으로, 요소의 색상 값을 상속받지 않고 전역적으로 설정할 수 있는 변수이다. 이는 CSS Custom Properties for Cascading Variables Module Level 1 명세에서 도입된 개념으로, 웹 디자인과 프론트워크 개발에서 색상 값을 중앙 집중식으로 관리하기 위한 핵심 도구로 자리 잡았다.
전역 색상은 주로 :root 의사 클래스 내부에 --변수명: 값; 형식으로 선언된다. 예를 들어, --primary-color: #007bff;와 같이 선언하면, 이 변수는 문서의 최상위 요소에 정의되어 모든 하위 요소에서 참조하여 사용할 수 있다. 이 방식을 통해 재사용성을 높이고, 색상 값을 한 곳에서 변경하면 전체 사용자 인터페이스에 반영되도록 하여 유지보수를 용이하게 한다.
주요 용도는 웹사이트나 애플리케이션 전체에서 일관된 색상 테마를 정의하고 관리하는 것이다. 또한, 사용자 정의 테마, 예를 들어 다크 모드와 라이트 모드를 전환하는 기능을 구현하는 데도 효과적으로 활용된다. 이는 디자인 시스템을 구축하는 데 있어 색상 팔레트를 체계적으로 관리할 수 있는 기반을 제공한다.
3. 설계 원칙
3. 설계 원칙
3.1. 일관성
3.1. 일관성
전역 색상의 가장 중요한 설계 원칙 중 하나는 일관성이다. 웹사이트나 애플리케이션의 모든 구성 요소에서 동일한 색상 값을 사용함으로써 통일된 시각적 경험을 제공하는 것이 목표이다. 예를 들어, 주요 버튼의 배경색, 헤더의 강조 색상, 링크의 색상이 서로 다른 값을 가진다면 사용자는 혼란을 느끼고 브랜드에 대한 신뢰도가 떨어질 수 있다. 전역 색상을 사용하면 이러한 색상 값을 하나의 변수로 정의하고 여러 곳에서 참조할 수 있어, 디자인 시스템 전반에 걸쳐 색상의 일관성을 보장할 수 있다.
이러한 일관성은 유지보수 측면에서도 큰 이점을 가져온다. 만약 브랜드의 메인 색상을 변경해야 할 경우, 전역 색상 변수를 사용하지 않았다면 수십, 수백 개의 CSS 파일을 일일이 찾아서 색상 코드를 수정해야 하는 번거로움이 발생한다. 반면, --primary-color와 같은 전역 변수를 사용했다면, 해당 변수의 값만 한 번에 변경함으로써 전체 웹사이트에 적용된 모든 색상을 즉시 업데이트할 수 있다. 이는 개발 효율성을 극대화하고, 실수로 인한 불일치를 방지하는 데 핵심적인 역할을 한다.
일관성을 유지하는 과정은 단순히 색상 코드를 통일하는 것을 넘어, 접근성을 고려한 색상 대비 관리와도 깊이 연관된다. 예를 들어, 텍스트와 배경색의 대비 비율은 WCAG 지침을 준수해야 한다. 전역 색상 변수를 통해 주요 텍스트 색상과 배경색을 정의해 두면, 이러한 접근성 기준을 만족하는 색상 조합을 체계적으로 관리하고 테스트할 수 있다. 결과적으로, 모든 사용자에게 일관되게 가독성 높은 사용자 인터페이스를 제공하는 데 기여한다.
따라서, 전역 색상을 활용한 일관성 확보는 단순한 디자인 편의를 넘어, 프론트엔드 개발의 품질과 효율성을 높이는 근간이 되는 설계 원칙이다. 이는 디자인 시스템과 컴포넌트 기반 개발의 필수 요소로 자리 잡았다.
3.2. 접근성
3.2. 접근성
전역 색상은 웹 접근성을 보장하는 데 중요한 역할을 한다. 특히 시각 장애 사용자나 색각 이상을 가진 사용자들이 콘텐츠를 명확하게 인식할 수 있도록 돕는다. 이를 위해 전역 색상 변수로 정의된 주요 색상과 보조 색상 간의 충분한 명도 대비를 유지하는 것이 핵심이다. WCAG 가이드라인은 텍스트와 배경 사이의 명도 대비 비율을 명시하고 있으며, 전역 색상을 사용하면 이러한 기준을 한 곳에서 관리하고 일관되게 적용할 수 있다.
또한, 전역 색상은 다크 모드와 같은 사용자 정의 테마를 구현하는 기반이 된다. 사용자가 선호하는 색상 조합이나 고대비 모드로 전환할 때, 미리 정의된 전역 색상 변수 세트를 교체함으로써 전체 인터페이스의 색상을 체계적으로 변경할 수 있다. 이는 단순히 미적 요소를 넘어, 다양한 사용자 요구와 환경에 맞춰 가시성을 보장하는 기능적 접근성 향상에 기여한다.
3.3. 브랜드 정체성
3.3. 브랜드 정체성
전역 색상은 단순한 기술적 도구를 넘어 브랜드의 시각적 정체성을 구축하고 강화하는 핵심 요소로 작용한다. 웹사이트나 애플리케이션에서 사용되는 색상은 사용자에게 가장 직접적이고 강력한 시각적 신호를 전달하며, 이를 전역적으로 관리함으로써 브랜드가 추구하는 이미지와 감정을 일관되게 표현할 수 있다. 예를 들어, 특정 헥스 코드로 정의된 브랜드 컬러를 전역 변수로 선언하면, 로고, 버튼, 헤더, 강조 텍스트 등 모든 디자인 요소에서 동일한 색상을 정확하게 적용할 수 있어 브랜드 인지도를 높이는 데 기여한다.
이러한 일관된 색상 사용은 사용자 경험을 구성하는 중요한 부분이다. 사용자는 특정 색상 조합을 보고 특정 서비스나 회사를 즉시 연상할 수 있으며, 이는 디지털 환경에서의 브랜드 충성도를 형성하는 기반이 된다. 전역 색상을 통해 정의된 색상 체계는 마케팅 자료부터 제품 인터페이스에 이르기까지 모든 채널에서 통일된 브랜드 메시지를 전달하는 데 필수적이다. 따라서 전역 색상의 설계는 단순한 스타일링 차원을 넘어 브랜드 전략의 일환으로 고려되어야 한다.
또한, 다크 모드와 같은 사용자 정의 테마를 지원할 때도 브랜드 정체성은 유지되어야 한다. 전역 색상을 활용하면 라이트 테마와 다크 테마 각각에 맞는 색상 변형을 체계적으로 정의할 수 있어, 모드가 변경되더라도 브랜드의 고유한 색상 톤과 느낌을 계속해서 유지할 수 있다. 이는 사용자에게 일관성 있는 브랜드 경험을 제공하면서도 접근성과 사용자 선호도를 존중하는 현대적인 디자인 시스템의 핵심 원칙을 구현하는 방법이다.
4. 구현 방식
4. 구현 방식
4.1. CSS 변수 (Custom Properties)
4.1. CSS 변수 (Custom Properties)
CSS 변수(Custom Properties)는 CSS 명세에서 도입된 기능으로, 웹사이트나 애플리케이션 전체에서 일관된 색상 값을 정의하고 재사용할 수 있게 해줍니다. 이 변수는 :root 의사 클래스 내부에 --변수명: 값; 형식으로 선언하여, 문서의 모든 요소에서 전역적으로 참조할 수 있습니다. 기존 CSS의 상속 모델과 달리, 이러한 변수는 특정 요소에 종속되지 않고 독립적으로 관리되므로, 중앙 집중식 색상 관리를 가능하게 합니다.
주요 용도는 디자인 시스템의 일환으로 색상 팔레트를 구성하고, 이를 통해 유지보수성을 높이는 데 있습니다. 예를 들어, 브랜드의 주 색상을 CSS 변수로 정의해두면, 해당 색상을 사용하는 수많은 요소들의 코드를 일일이 수정하지 않고, 변수 값 하나만 변경하면 전체에 반영할 수 있습니다. 또한, 다크 모드와 같은 사용자 정의 테마를 구현할 때 핵심 기술로 활용됩니다. 라이트 모드와 다크 모드 각각에 대한 색상 변수 세트를 정의하고, 자바스크립트나 미디어 쿼리를 통해 전환하면 효율적으로 테마 변경이 가능합니다.
이 기술은 프론트엔드 개발과 웹 디자인 워크플로우에 큰 변화를 가져왔습니다. 재사용성을 극대화하고 코드의 일관성을 유지하며, 디자이너와 개발자 간의 협업을 원활하게 하는 디자인 토큰 개념의 실질적인 구현 수단이 되고 있습니다.
4.2. 디자인 시스템
4.2. 디자인 시스템
디자인 시스템은 디지털 제품을 구축하기 위한 일련의 표준, 가이드라인, 재사용 가능한 컴포넌트 및 에셋의 집합이다. 이 시스템 내에서 전역 색상은 가장 핵심적인 디자인 토큰 중 하나로, 색상 팔레트를 체계적으로 정의하고 관리하는 데 중요한 역할을 한다. 디자인 시스템은 단순한 스타일 가이드를 넘어, 브랜드 정체성을 유지하면서 프론트엔드 개발과 디자인 작업 간의 효율적인 협업을 가능하게 하는 생태계를 구축한다.
디자인 시스템에서 전역 색상은 보통 --color-primary, --color-background와 같은 의미론적인 이름으로 CSS 변수를 정의하여 관리한다. 이 접근 방식은 색상 값을 하드코딩하는 대신, 재사용성을 극대화하고 유지보수를 용이하게 한다. 예를 들어, 브랜드의 주요 색상이 변경되더라도 디자인 시스템에 정의된 하나의 전역 색상 변수 값만 수정하면, 해당 변수를 사용하는 모든 웹사이트와 애플리케이션에 변경 사항이 일관되게 반영된다.
또한, 디자인 시스템은 다크 모드와 같은 다양한 테마를 지원하기 위한 기반을 제공한다. 시스템 내에 :root와 [data-theme="dark"]와 같은 선택자 아래에 각기 다른 전역 색상 변수 세트를 정의함으로써, 사용자 선호도나 시스템 설정에 따라 전체 색상 체계를 전환하는 복잡한 로직을 간소화할 수 있다. 이는 접근성을 높이고 사용자 경험을 개선하는 데 기여한다.
결국, 디자인 시스템은 전역 색상을 포함한 모든 디자인 결정을 문서화하고 중앙 집중식으로 관리함으로써, 대규모 프로젝트나 여러 팀이 참여하는 조직에서 디자인의 일관성과 개발의 효율성을 동시에 보장하는 프레임워크 역할을 한다.
4.3. 프레임워크별 구현
4.3. 프레임워크별 구현
CSS 변수를 활용한 전역 색상 시스템은 다양한 프론트엔드 프레임워크와 라이브러리에서 각자의 방식으로 구현되어 널리 사용된다. 리액트 생태계에서는 스타일드 컴포넌트나 에모션과 같은 CSS-in-JS 라이브러리를 통해 자바스크립트 객체로 색상 변수를 정의하고 컴포넌트에 주입하는 방식이 일반적이다. 반면, 뷰나 앵귤러와 같은 프레임워크는 전통적으로 별도의 CSS 파일에 :root 의사 클래스를 사용해 변수를 선언하고, 컴포넌트의 스타일 블록에서 이를 참조하는 방식을 선호한다.
테일윈드 CSS와 같은 유틸리티 퍼스트 CSS 프레임워크는 접근 방식이 다르다. 이들은 구성 파일(tailwind.config.js) 내에 색상 팔레트를 확장 가능한 자바스크립트 객체로 정의하며, 빌드 프로세스를 통해 각 색상 값에 대응하는 유틸리티 클래스(예: bg-primary, text-secondary)를 자동으로 생성한다. 이 방식은 HTML 마크업 내에서 직접 클래스를 적용함으로써 전역 색상을 사용하게 한다.
최신 메타 프레임워크인 넥스트나 뷰는 CSS 모듈이나 스코프드 CSS와 같은 기술을 지원하면서도, 프로젝트 루트의 전역 스타일시트에 CSS 변수를 정의하여 모든 컴포넌트에서 일관되게 가져다 쓸 수 있는 하이브리드 방식을 권장하기도 한다. 이는 디자인 시스템의 통일성을 유지하면서 컴포넌트의 스타일을 모듈화하는 데 유용하다.
5. 관련 개념
5. 관련 개념
5.1. 디자인 토큰
5.1. 디자인 토큰
디자인 토큰은 디자인 시스템의 가장 기본적인 스타일 값으로, 색상, 간격, 타이포그래피, 그림자 등과 같은 시각적 속성의 원자 단위 데이터를 의미한다. CSS 변수나 Sass 변수와 같은 기술적 구현체가 아니라, 디자인 결정을 기술에 독립적인 형태로 추상화한 '단일 진실 공급원' 역할을 한다. 즉, 디자이너와 개발자가 공유하는 공통 언어로서, '브랜드 메인 컬러'나 '기본 여백 단위'와 같은 디자인 의도를 '--color-primary: #0070f3;'이나 '--spacing-unit: 8px;'과 같은 구체적인 값으로 변환하기 전의 중간 계층 개념이다.
이 개념은 디자인 시스템의 규모와 복잡성이 커지면서 등장했다. 여러 플랫폼(웹, iOS, 안드로이드)과 프레임워크에서 동일한 디자인을 구현해야 할 때, 각 플랫폼별로 색상 코드나 여백 값을 하드코딩하면 일관성을 유지하기 어렵고 변경 사항을 반영하는 데 많은 비용이 든다. 디자인 토큰은 이러한 문제를 해결하기 위해 디자인 의도를 중앙에서 관리 가능한 데이터 집합으로 정의한다.
구현 측면에서 디자인 토큰은 보통 JSON이나 YAML 같은 구조화된 파일 형식으로 관리되며, 이 파일을 소스로 하여 각 플랫폼에 맞는 실제 코드(예: CSS 변수, Swift의 상수, Kotlin의 리소스 파일)를 자동으로 생성하는 도구를 활용하는 것이 일반적이다. 이는 전역 색상을 포함한 모든 디자인 속성의 변경이 단일 파일의 수정만으로 모든 애플리케이션과 웹사이트에 동시에 반영될 수 있도록 보장한다.
따라서 디자인 토큰은 전역 색상을 관리하는 CSS의 기술적 접근법을 넘어, 디자인과 개발 간의 협업 효율성을 높이고 브랜드의 시각적 일관성을 다각도로 유지하는 체계적인 방법론의 핵심 구성 요소라 할 수 있다. 이는 프론트엔드 개발과 UI/UX 디자인의 경계를 넘어선 통합적 접근의 산물이다.
5.2. 테마
5.2. 테마
테마는 웹사이트나 애플리케이션의 시각적 외관을 정의하는 색상, 글꼴, 간격 등의 속성 집합을 의미한다. 전역 색상은 이러한 테마의 핵심 구성 요소로, CSS 변수를 통해 중앙에서 정의되고 관리된다. 이를 통해 다크 모드와 라이트 모드 같은 대조적인 사용자 인터페이스 테마를 쉽게 전환할 수 있다. 테마는 단순한 색상 모음 이상으로, 사용자 경험의 일관성과 접근성을 보장하는 디자인의 근간이 된다.
테마 구현은 일반적으로 :root 의사 클래스에 --primary-color, --background-color와 같은 전역 색상 변수를 선언하는 방식으로 시작한다. 이후 각 UI 컴포넌트는 고정된 색상 값 대신 이러한 변수를 참조하여 스타일을 적용한다. 이 방식은 디자인 시스템의 일부로 체계화되며, 프론트엔드 프레임워크나 CSS-in-JS 라이브러리를 통해 더욱 효율적으로 관리될 수 있다.
테마 관리의 고급 형태로는 디자인 토큰 개념이 있다. 이는 색상, 타이포그래피, 레이아웃 간격 등 모든 디자인 결정을 플랫폼 중립적인 이름-값 쌍으로 추상화한 것이다. 전역 색상은 이러한 디자인 토큰의 한 유형으로, JSON이나 YAML 같은 형식으로 정의된 후 다양한 플랫폼과 기술 스택에 일관되게 적용될 수 있다.
5.3. 색상 팔레트
5.3. 색상 팔레트
색상 팔레트는 디자인 시스템이나 웹사이트, 애플리케이션에서 사용되는 모든 색상의 체계적인 집합을 의미한다. 이는 단순히 몇 가지 색상을 나열한 것이 아니라, 브랜드의 정체성을 반영하고 사용자 경험을 일관되게 유지하기 위해 정의된 체계이다. 색상 팔레트는 일반적으로 브랜드 색상, 중립 색상, 강조 색상, 상태 색상 등으로 구성되며, 각 색상은 시각적 계층 구조와 명도 대비를 고려하여 선정된다.
전역 색상 변수는 이러한 색상 팔레트를 코드 레벨에서 구현하고 관리하는 핵심 도구이다. CSS 변수를 사용하여 :root에 --primary-color, --neutral-gray-100, --error-red와 같은 변수명으로 색상 값을 정의하면, 프로젝트 전반에 걸쳐 동일한 색상을 쉽게 재사용할 수 있다. 이 접근 방식은 디자인 시스템과 프론트엔드 개발 간의 간극을 줄여주며, 디자이너와 개발자가 동일한 색상 언어를 공유하도록 돕는다.
색상 팔레트를 전역 변수로 관리할 때의 주요 이점은 유지보수성과 확장성이다. 예를 들어, 브랜드의 메인 색상을 변경해야 할 경우, 수십 개의 CSS 파일을 일일이 수정하는 대신 전역 변수 하나의 값만 업데이트하면 전체 인터페이스에 반영된다. 또한, 다크 모드와 같은 사용자 정의 테마를 구현할 때는 동일한 변수명에 다른 색상 값을 매핑하는 방식으로 효율적으로 대응할 수 있다.
효과적인 색상 팔레트 설계는 접근성을 반드시 고려해야 한다. 이는 시각 장애를 가진 사용자도 콘텐츠를 인지할 수 있도록 명도 대비를 충분히 확보하는 것을 포함한다. WCAG 지침에 따른 대비 비율을 검증하고, 색상만으로 정보를 전달하지 않도록 하는 것이 중요하다. 잘 정의된 색상 팔레트는 일관성 있는 UI를 제공함으로써 사용자의 인지 부하를 줄이고, 전반적인 사용성을 향상시킨다.
6. 장단점
6. 장단점
6.1. 장점
6.1. 장점
전역 색상을 사용하는 주요 장점은 일관성 있는 디자인 시스템을 구축하고 유지보수성을 크게 향상시킨다는 점이다. 기존에는 각 CSS 선택자마다 색상 값을 하드코딩해야 했기 때문에, 브랜드 색상 변경 시 수많은 코드를 일일이 찾아 수정해야 했다. 전역 색상 변수를 사용하면 :root와 같은 최상위 요소에 정의된 변수 값만 변경함으로써, 해당 변수를 참조하는 모든 요소의 색상을 한 번에 업데이트할 수 있다. 이는 대규모 웹사이트나 애플리케이션의 개발 및 디자인 작업 효율을 극적으로 높인다.
또 다른 중요한 장점은 다크 모드와 같은 사용자 정의 테마를 구현하는 데 매우 효과적이라는 것이다. 동일한 변수명을 가진 색상 값을 다른 값으로 재정의하는 방식으로, 라이트 테마와 다크 테마를 손쉽게 전환할 수 있다. 이는 접근성을 고려한 디자인에 필수적이며, 사용자 선호도에 맞는 인터페이스를 제공하는 데 기여한다. 또한 CSS 변수는 자바스크립트를 통해 실시간으로 동적 조작이 가능하여, 더욱 풍부하고 상호작용적인 사용자 경험을 창출할 수 있다.
마지막으로, 전역 색상은 프론트엔드 개발 팀과 UI 디자이너 간의 협업을 원활하게 한다. 디자인 파일에 정의된 색상 팔레트와 개발 코드의 변수명을 매핑함으로써, 디자인 가이드라인을 코드에 정확하고 체계적으로 반영할 수 있다. 이는 디자인 토큰 관리의 기초가 되며, 브랜드 정체성을 디지털 제품 전반에 걸쳐 일관되게 표현하는 데 핵심적인 역할을 한다.
6.2. 단점
6.2. 단점
전역 색상은 유지보수와 일관성을 크게 향상시키지만, 몇 가지 고유한 단점을 가지고 있다. 가장 큰 문제는 전역 네임스페이스 오염이다. 모든 변수가 전역 스코프에 선언되기 때문에, 대규모 프로젝트나 여러 팀이 협업하는 환경에서는 변수 이름이 충돌하거나 의도치 않게 덮어쓰여질 위험이 있다. 이는 특히 서드파티 라이브러리나 복잡한 디자인 시스템을 통합할 때 디버깅을 어렵게 만든다.
또한, CSS 변수의 동적 특성으로 인해 성능에 미세한 영향을 줄 수 있다. 변수 값이 변경되면 이를 참조하는 모든 요소의 스타일이 재계산되어야 하기 때문이다. 변수를 과도하게 사용하거나, 매우 깊은 DOM 트리에서 변경이 빈번하게 발생하는 경우, 레이아웃 리플로우와 스타일 재계산으로 인한 렌더링 성능 저하가 발생할 가능성이 있다.
마지막으로, 과도한 추상화로 인한 복잡성 증가가 있다. 간단한 프로젝트에서 몇 가지 색상만 사용한다면, 전역 색상 변수를 정의하고 관리하는 오버헤드가 오히려 생산성을 떨어뜨릴 수 있다. 또한, 변수 간의 의존 관계(예: 기본 색상에서 유도된 강조 색상)가 복잡해지면, 디자인을 변경할 때 예상치 못한 사이드 이펙트를 초래하기 쉽다. 이는 프론트엔드 개발 초보자에게 학습 곡선을 더 가파르게 만드는 요인이 된다.
7. 여담
7. 여담
전역 색상은 CSS의 CSS 변수 기능을 활용한 구체적인 구현 사례로 볼 수 있다. 이 개념은 단순히 색상 값을 하드코딩하는 방식을 넘어, 프론트엔드 개발과 웹 디자인의 효율성을 크게 높였다. 특히 대규모 웹사이트나 복잡한 웹 애플리케이션을 구축할 때, 중앙에서 정의된 색상 값을 수정하기만 하면 관련된 모든 요소에 변경 사항이 즉시 반영되므로, 디자인 변경에 대한 대응이 매우 신속해진다.
이러한 접근 방식은 디자인 시스템의 핵심 구성 요소로 자리 잡았으며, 디자인 토큰이라는 더 추상화된 개념의 기반이 되기도 한다. 전역 색상을 정의하는 방식은 반응형 웹 디자인과 결합되어, 다양한 기기와 화면 크기에 맞춰 색상 대비나 톤을 미세하게 조정하는 데에도 활용될 수 있다.
실제 적용 사례를 살펴보면, 다크 모드 지원이 대표적이다. 사용자의 시스템 설정이나 선호도에 따라 라이트 테마와 다크 테마를 전환할 때, 미리 정의된 전역 색상 변수 세트를 교체하는 방식으로 구현된다. 이는 JavaScript를 이용한 간단한 클래스 토글만으로 전체 인터페이스의 색상을 일괄 변경할 수 있게 해준다. 또한, 접근성을 고려한 색상 대비 기준을 만족시키기 위해 색상 값을 관리하는 데에도 유용하게 쓰인다.
