From 5f7e66c22090837010f4aa47d50176a26f8a8adb Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 27 May 2026 01:51:01 +0900 Subject: [PATCH] =?UTF-8?q?feat(saju-ui-v2):=20tokens.css=20=E2=80=94=20?= =?UTF-8?q?=EB=94=94=EC=9E=90=EC=9D=B8=20=EB=B3=80=EC=88=98=20+=20?= =?UTF-8?q?=ED=95=9C=EA=B8=80=20=ED=8F=B0=ED=8A=B8=20=ED=86=A0=ED=81=B0=20?= =?UTF-8?q?(.saju-v2=20scope)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/saju/_shell/tokens.css | 73 ++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/pages/saju/_shell/tokens.css diff --git a/src/pages/saju/_shell/tokens.css b/src/pages/saju/_shell/tokens.css new file mode 100644 index 0000000..ff3c7de --- /dev/null +++ b/src/pages/saju/_shell/tokens.css @@ -0,0 +1,73 @@ +/* 호령 사주 v2 — 디자인 토큰 */ +.saju-v2 { + /* Brand palette */ + --navy: #1F2A44; + --navy-deep: #141B30; + --navy-soft: #2E3B5A; + --ivory: #F7F2E8; + --ivory-soft: #FBF7EF; + --ivory-warm: #F0E9D9; + --gold: #D4AF37; + --gold-soft: #E8C76B; + --gold-dim: #B89530; + --green: #4E6B5C; + --green-soft: #6E8B7C; + --green-bg: #E6EBE5; + --purple: #6A4C7C; + --purple-soft: #8B6C9C; + --purple-bg: #ECE6F0; + --pink: #F2C7CD; + --pink-deep: #D89098; + --pink-bg: #FBE8EB; + --gray: #6B6B6B; + --gray-soft: #9A968D; + --gray-line: rgba(31, 42, 68, 0.10); + --gray-line-strong: rgba(31, 42, 68, 0.18); + + /* Element colors (오행) */ + --el-wood: #4E6B5C; + --el-fire: #C04A4A; + --el-earth: #A67B3F; + --el-metal: #D4AF37; + --el-water: #3A5A8C; + + /* Shadows */ + --shadow-card: 0 2px 8px rgba(31, 42, 68, 0.04), 0 8px 24px rgba(31, 42, 68, 0.06); + --shadow-pop: 0 8px 28px rgba(31, 42, 68, 0.16); + --shadow-dark: 0 4px 20px rgba(0, 0, 0, 0.35); + + /* Fonts */ + --font-title: 'Nanum Myeongjo', 'Gowun Batang', serif; + --font-body: 'Nanum Gothic', system-ui, -apple-system, sans-serif; + + /* Layout */ + --content-max-desktop: 1200px; + --bottom-nav-h: 72px; + --desktop-header-h: 64px; + + color: var(--navy); + font-family: var(--font-body); + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; +} + +.saju-v2 * { box-sizing: border-box; } + +.saju-v2 .font-title { + font-family: var(--font-title); + font-weight: 800; + letter-spacing: -0.01em; +} + +.saju-v2 button { + font-family: inherit; + cursor: pointer; +} +.saju-v2 button:focus-visible { + outline: 2px solid var(--gold); + outline-offset: 2px; +} + +/* hide scrollbar utility */ +.saju-v2 .no-scrollbar::-webkit-scrollbar { display: none; } +.saju-v2 .no-scrollbar { scrollbar-width: none; }