style(front): 디자인 토큰 정비
- 브랜드 스케일 채도 약 20%↓ (색상·명도 유지) - surface(콘텐츠 면 쿨 그레이)·table-header 토큰 추가 - 배너 주석 제거 및 최소화 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5eb83f9d54
commit
a0f7a229fa
@ -1,63 +1,93 @@
|
||||
/* Pretendard (CDN, 버전 고정 + dynamic-subset: 사용 글리프만 로드) */
|
||||
/* Pretendard (CDN, dynamic-subset) */
|
||||
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.css');
|
||||
@import "tailwindcss";
|
||||
|
||||
/* ============================================================
|
||||
디자인 토큰 (출처: design.md)
|
||||
- 이 프로젝트는 다크모드 없음 → light 값만 사용 (.dark / @custom-variant 미사용)
|
||||
- 차트(--chart-*) / 사이드바(--sidebar-*) 미사용 → 정의하지 않음
|
||||
============================================================ */
|
||||
/* 디자인 토큰 (light 전용) */
|
||||
:root {
|
||||
color-scheme: light;
|
||||
|
||||
--radius: 0.625rem; /* 10px (기준값) */
|
||||
--radius: 0.625rem; /* 10px 기준 */
|
||||
|
||||
/* --- 브랜드 메인 컬러 (blue, 숫자 스케일) --- */
|
||||
--brand-500: #3b7de0; /* light : 강조/포커스 등 밝은 변형 */
|
||||
--brand-600: #0046b0; /* base : 기본 메인 컬러 (= --primary) */
|
||||
--brand-700: #003380; /* deep : hover/pressed 등 톤다운 상태 */
|
||||
/* 브랜드 */
|
||||
--brand-500: #4e81cd;
|
||||
--brand-600: #124a9e; /* = --primary */
|
||||
--brand-700: #0d3673;
|
||||
|
||||
/* --- 색상 --- */
|
||||
--background: #ffffff;
|
||||
--background-rgb: 250, 250, 250; /* rgba() 조합용 raw 값 */
|
||||
--foreground: #0a0a0a;
|
||||
/* Neutral */
|
||||
--neutral-90: #151515;
|
||||
--neutral-80: #303030;
|
||||
--neutral-70: #606060;
|
||||
--neutral-60: #808080;
|
||||
--neutral-40: #dadbde;
|
||||
--neutral-30: #eaebef;
|
||||
--neutral-20: #f0f1f4;
|
||||
--neutral-10: #f7f8fa;
|
||||
--neutral-00: #ffffff;
|
||||
|
||||
--card: #ffffff;
|
||||
--card-foreground: #0a0a0a;
|
||||
--popover: #ffffff;
|
||||
--popover-foreground: #0a0a0a;
|
||||
/* 상태 / 테이블 */
|
||||
--negative: #e71c3b;
|
||||
--info: #4880ef;
|
||||
--table-header: #e3e8f1;
|
||||
--table-hover: #dbe6fc;
|
||||
--table-selected: #b6ccf9;
|
||||
|
||||
--primary: var(--brand-600); /* 메인 컬러 = 브랜드 base(600) */
|
||||
--primary-foreground: #fafafa; /* primary 위 텍스트(흰색) */
|
||||
--secondary: #f5f5f5;
|
||||
--secondary-foreground: #171717;
|
||||
--muted: #f5f5f5;
|
||||
--muted-foreground: #737373;
|
||||
--accent: #f5f5f5;
|
||||
--accent-foreground: #171717;
|
||||
/* 시맨틱 */
|
||||
--background: var(--neutral-00);
|
||||
--foreground: var(--neutral-90);
|
||||
--surface: #eceff5; /* 브랜드 틴트 쿨 그레이 (콘텐츠 면) */
|
||||
|
||||
--border: #e5e5e5;
|
||||
--input: #e5e5e5;
|
||||
--ring: var(--brand-500); /* 포커스 링 = 브랜드 light(500) */
|
||||
--card: var(--neutral-00);
|
||||
--card-foreground: var(--neutral-90);
|
||||
--popover: var(--neutral-00);
|
||||
--popover-foreground: var(--neutral-90);
|
||||
|
||||
--destructive: #e7000b;
|
||||
--primary: var(--brand-600);
|
||||
--primary-foreground: var(--neutral-00);
|
||||
--secondary: var(--neutral-20);
|
||||
--secondary-foreground: var(--neutral-90);
|
||||
--muted: var(--neutral-10);
|
||||
--muted-foreground: var(--neutral-60);
|
||||
--accent: var(--neutral-20);
|
||||
--accent-foreground: var(--neutral-90);
|
||||
|
||||
--border: var(--neutral-30);
|
||||
--input: var(--neutral-30);
|
||||
--ring: var(--brand-500);
|
||||
|
||||
--destructive: var(--negative);
|
||||
--success: #10b981;
|
||||
--warning: #f59e0b;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
Tailwind 테마 매핑 (@theme inline)
|
||||
토큰을 유틸로 노출: bg-*, text-*, border-*, rounded-*, font-* 등
|
||||
============================================================ */
|
||||
/* Tailwind 테마 매핑 (@theme inline) */
|
||||
@theme inline {
|
||||
/* 브랜드 메인 컬러 (bg-brand-600 / text-brand-700 / hover:bg-brand-700 ...) */
|
||||
/* 브랜드 */
|
||||
--color-brand-500: var(--brand-500);
|
||||
--color-brand-600: var(--brand-600);
|
||||
--color-brand-700: var(--brand-700);
|
||||
|
||||
/* 색상 */
|
||||
/* Neutral */
|
||||
--color-neutral-90: var(--neutral-90);
|
||||
--color-neutral-80: var(--neutral-80);
|
||||
--color-neutral-70: var(--neutral-70);
|
||||
--color-neutral-60: var(--neutral-60);
|
||||
--color-neutral-40: var(--neutral-40);
|
||||
--color-neutral-30: var(--neutral-30);
|
||||
--color-neutral-20: var(--neutral-20);
|
||||
--color-neutral-10: var(--neutral-10);
|
||||
--color-neutral-00: var(--neutral-00);
|
||||
|
||||
/* 상태 / 테이블 */
|
||||
--color-negative: var(--negative);
|
||||
--color-info: var(--info);
|
||||
--color-table-header: var(--table-header);
|
||||
--color-table-hover: var(--table-hover);
|
||||
--color-table-selected: var(--table-selected);
|
||||
|
||||
/* 시맨틱 */
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--color-surface: var(--surface);
|
||||
--color-card: var(--card);
|
||||
--color-card-foreground: var(--card-foreground);
|
||||
--color-popover: var(--popover);
|
||||
@ -82,7 +112,7 @@
|
||||
--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
|
||||
--font-heading: var(--font-sans);
|
||||
|
||||
/* 모서리 반경 (--radius 의 배수) */
|
||||
/* 모서리 반경 (--radius 배수) */
|
||||
--radius-sm: calc(var(--radius) * 0.6); /* 6px */
|
||||
--radius-md: calc(var(--radius) * 0.8); /* 8px */
|
||||
--radius-lg: var(--radius); /* 10px */
|
||||
@ -92,9 +122,6 @@
|
||||
--radius-4xl: calc(var(--radius) * 2.6); /* 26px */
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
기본 스타일
|
||||
============================================================ */
|
||||
@layer base {
|
||||
body {
|
||||
margin: 0;
|
||||
@ -109,7 +136,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* 스크롤바 (webkit) — 6px, thumb=border / hover=muted-foreground */
|
||||
/* 스크롤바 (webkit) */
|
||||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user