|
51 | 51 | --color-primary-pressed: var(--color-sage-700); |
52 | 52 |
|
53 | 53 | /* ========================================================= |
54 | | - * 4. Typography — Font Families |
55 | | - * font-heading, font-subheading, font-sans |
| 54 | + * 4. Color — Status (Success / Warning / Danger / Info) |
| 55 | + * Sage 톤과 조화되는 muted jewel tones. |
| 56 | + * 스케일: -50 (연한 배경), -500 (기본/표면), -700 (강조/텍스트) |
| 57 | + * 축약 별칭: bg-success / text-warning / border-danger ... |
| 58 | + * ========================================================= */ |
| 59 | + --color-success-50: #e8efe1; |
| 60 | + --color-success-500: #5b7c47; |
| 61 | + --color-success-700: #3f5731; |
| 62 | + --color-success: var(--color-success-500); |
| 63 | + |
| 64 | + --color-warning-50: #f4e8d4; |
| 65 | + --color-warning-500: #b88840; |
| 66 | + --color-warning-700: #8a6529; |
| 67 | + --color-warning: var(--color-warning-500); |
| 68 | + |
| 69 | + --color-danger-50: #f4e0d8; |
| 70 | + --color-danger-500: #a8503c; |
| 71 | + --color-danger-700: #803a2a; |
| 72 | + --color-danger: var(--color-danger-500); |
| 73 | + |
| 74 | + --color-info-50: #dde4ea; |
| 75 | + --color-info-500: #4d6878; |
| 76 | + --color-info-700: #36475a; |
| 77 | + --color-info: var(--color-info-500); |
| 78 | + |
| 79 | + /* ========================================================= |
| 80 | + * 5. Color — Domain (Jobs / Interview Types) |
| 81 | + * StackUp 도메인 한정. features/[domain]/ui 의 도메인 뱃지에서만 사용. |
| 82 | + * Sage 모노크로매틱과 조화되도록 muted jewel tone 으로 통일. |
| 83 | + * ========================================================= */ |
| 84 | + --color-job-frontend: #5e8a98; /* teal */ |
| 85 | + --color-job-backend: #7d6c93; /* plum */ |
| 86 | + --color-job-infra: #b06c70; /* rose */ |
| 87 | + --color-job-dba: #b89c5e; /* gold */ |
| 88 | + |
| 89 | + --color-type-personality: #6f9978; /* mint */ |
| 90 | + --color-type-technical: #6c8294; /* slate */ |
| 91 | + --color-type-live-coding: #a87385; /* mauve */ |
| 92 | + --color-type-integrated: #8a7896; /* violet */ |
| 93 | + |
| 94 | + /* ========================================================= |
| 95 | + * 6. Typography — Font Families |
| 96 | + * font-heading, font-subheading, font-sans, font-mono |
56 | 97 | * ========================================================= */ |
57 | 98 | --font-heading: |
58 | 99 | 'Fira Sans Extra Condensed', 'Pretendard Variable', system-ui, sans-serif; |
|
68 | 109 | 'Geist Mono', ui-monospace, 'JetBrains Mono', Consolas, monospace; |
69 | 110 |
|
70 | 111 | /* ========================================================= |
71 | | - * 5. Typography — Text Scale |
72 | | - * text-display, text-h1 ... text-caption |
73 | | - * (각 토큰은 size + line-height + letter-spacing + weight 페어) |
| 112 | + * 7. Typography — Text Scale |
| 113 | + * text-display / text-h2..h6 / text-rich / text-body / text-button / text-caption |
| 114 | + * 각 토큰은 size + line-height + letter-spacing + font-weight 페어. |
74 | 115 | * |
75 | 116 | * 반응형: 모바일 (< lg) 에서는 *-mobile 변형을 사용. |
76 | 117 | * ex) <h1 class="text-display-mobile lg:text-display"> |
|
144 | 185 | --text-caption--font-weight: 400; |
145 | 186 |
|
146 | 187 | /* ========================================================= |
147 | | - * 6. Radius |
| 188 | + * 8. Radius |
148 | 189 | * ========================================================= */ |
149 | 190 | --radius-sm: 4px; |
150 | 191 | --radius-md: 8px; |
|
154 | 195 | --radius-pill: 9999px; |
155 | 196 |
|
156 | 197 | /* ========================================================= |
157 | | - * 7. Shadow / Elevation |
| 198 | + * 9. Shadow / Elevation (sage-tint) |
| 199 | + * shadow-sm, shadow-md, shadow-lg, shadow-focus-ring |
158 | 200 | * ========================================================= */ |
159 | 201 | --shadow-sm: 0 1px 2px rgba(31, 39, 27, 0.06); |
160 | 202 | --shadow-md: |
|
166 | 208 | --shadow-focus-ring: 0 0 0 3px rgba(98, 110, 92, 0.45); |
167 | 209 |
|
168 | 210 | /* ========================================================= |
169 | | - * 8. Motion |
| 211 | + * 10. Motion |
| 212 | + * duration-fast/normal/slow, ease-standard/decelerate/accelerate |
170 | 213 | * ========================================================= */ |
171 | 214 | --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); |
172 | 215 | --ease-decelerate: cubic-bezier(0, 0, 0.2, 1); |
|
177 | 220 | --duration-slow: 320ms; |
178 | 221 |
|
179 | 222 | /* ========================================================= |
180 | | - * 9. Breakpoints (Tailwind v4 default 유지 + 확장 시 여기에) |
181 | | - * Tailwind v4 는 sm/md/lg/xl/2xl 을 기본 제공. |
182 | | - * 필요 시 --breakpoint-* 로 재정의. |
| 223 | + * 11. Z-Index Scale |
| 224 | + * `--z-*` 는 Tailwind 자동 namespace 가 아니므로 utility 미생성. |
| 225 | + * 사용 — style={{ zIndex: 'var(--z-modal)' }} 또는 className="z-[var(--z-modal)]" |
| 226 | + * ========================================================= */ |
| 227 | + --z-base: 0; |
| 228 | + --z-raised: 10; |
| 229 | + --z-dropdown: 1000; |
| 230 | + --z-sticky: 1100; |
| 231 | + --z-modal-backdrop: 1200; |
| 232 | + --z-modal: 1300; |
| 233 | + --z-popover: 1400; |
| 234 | + --z-tooltip: 1500; |
| 235 | + --z-toast: 1600; |
| 236 | + |
| 237 | + /* ========================================================= |
| 238 | + * 12. Container max-widths (Tailwind v4 max-w-*) |
| 239 | + * max-w-readable, max-w-content, max-w-app |
| 240 | + * ========================================================= */ |
| 241 | + --container-readable: 65ch; /* 본문 / 프로즈 카드 */ |
| 242 | + --container-content: 1280px; /* TopNav 안쪽 메인 영역 */ |
| 243 | + --container-app: 1440px; /* 앱 전체 최대 폭 */ |
| 244 | + |
| 245 | + /* ========================================================= |
| 246 | + * 13. Breakpoints |
| 247 | + * Tailwind v4 default 사용 — sm 640 / md 768 / lg 1024 / xl 1280 / 2xl 1536. |
| 248 | + * 재정의 필요 시 --breakpoint-* 로 오버라이드. |
183 | 249 | * ========================================================= */ |
184 | 250 | } |
0 commit comments