/**
 * OKLCH Primitive Palette — Mode-Independent Color Primitives
 *
 * 지각 균일(perceptually uniform) OKLCH 색공간 기반.
 * hex 값은 참조용 주석으로만 표시.
 * 이 파일의 값은 모드(라이트/다크)에 무관한 순수 원색.
 *
 * 구조: --{hue}-{shade} (50~900 중심, 중간 shade 포함)
 * 적용: colors.css의 시맨틱 토큰이 이 프리미티브를 참조
 *
 * Phase 1: OKLCH 프리미티브 팔레트 (2026-03-29)
 */

:root {
    color-scheme: light dark;

    /* ═══════════════════════════════════════════
       Blue (hue ~257) — Primary
       기준: #007bff → oklch(60% 0.22 257deg)
       ═══════════════════════════════════════════ */
    --blue-50:  oklch(97% 0.01 257deg);   /* ~#ebf8ff */
    --blue-100: oklch(93% 0.04 257deg);   /* ~#e6f2ff */
    --blue-200: oklch(85% 0.08 257deg);   /* ~#bee3f8 */
    --blue-250: oklch(80% 0.10 257deg);   /* 다크 링크 hover / 밝은 액센트 */
    --blue-300: oklch(75% 0.14 257deg);   /* ~#4da3ff */
    --blue-400: oklch(67% 0.18 257deg);   /* ~#4facfe */
    --blue-500: oklch(60% 0.22 257deg);   /* ~#007bff */
    --blue-550: oklch(52% 0.17 257deg);   /* 다크 action-fill (white 텍스트 ≈5.6:1) — v2 정식 추가 */
    --blue-600: oklch(47% 0.16 257deg);   /* ~#0056b3 */
    --blue-700: oklch(40% 0.14 257deg);   /* ~#003d7a */
    --blue-800: oklch(33% 0.11 257deg);   /* ~#025f92 */
    --blue-850: oklch(28% 0.08 257deg);   /* 다크 primary soft bg */
    --blue-900: oklch(22% 0.05 257deg);   /* 다크 primary 최저 틴트 */

    /* ═══════════════════════════════════════════
       Green (hue ~147) — Success
       기준: #28a745 → oklch(64% 0.18 147deg)
       ═══════════════════════════════════════════ */
    --green-50:  oklch(97% 0.03 147deg);  /* ~#f6ffed */
    --green-100: oklch(93% 0.05 147deg);
    --green-200: oklch(85% 0.10 147deg);
    --green-300: oklch(75% 0.15 147deg);  /* ~#5cb85c */
    --green-400: oklch(70% 0.17 147deg);  /* ~#20c997 */
    --green-500: oklch(64% 0.18 147deg);  /* ~#28a745 */
    --green-600: oklch(55% 0.15 147deg);  /* ~#218838 */
    --green-700: oklch(50% 0.13 147deg);  /* ~#1e7e34 */
    --green-800: oklch(42% 0.10 147deg);  /* ~#155724 */
    --green-900: oklch(35% 0.08 147deg);

    /* ═══════════════════════════════════════════
       Red (hue ~21) — Danger
       기준: #dc3545 → oklch(59% 0.20 21deg)
       ═══════════════════════════════════════════ */
    --red-50:  oklch(97% 0.01 21deg);     /* ~#fff1f0 */
    --red-100: oklch(93% 0.03 21deg);     /* ~#f8d7da */
    --red-200: oklch(88% 0.06 21deg);     /* ~#f2c1c1 */
    --red-300: oklch(78% 0.12 21deg);     /* ~#ffa39e */
    --red-400: oklch(68% 0.17 21deg);     /* ~#ff6b6b */
    --red-500: oklch(59% 0.20 21deg);     /* ~#dc3545 */
    --red-600: oklch(54% 0.20 23deg);     /* ~#c82333 */
    --red-700: oklch(50% 0.18 23deg);     /* ~#bd2130 */
    --red-800: oklch(43% 0.15 21deg);     /* ~#9e1717 */

    /* ═══════════════════════════════════════════
       Amber (hue ~85) — Warning
       기준: #ffc107 → oklch(84% 0.17 85deg)
       ═══════════════════════════════════════════ */
    --amber-50:  oklch(97% 0.03 85deg);   /* ~#fff3cd */
    --amber-100: oklch(94% 0.06 85deg);   /* ~#ffeaa7 */
    --amber-200: oklch(90% 0.08 85deg);
    --amber-300: oklch(88% 0.13 85deg);   /* ~#fee140 */
    --amber-400: oklch(86% 0.15 85deg);   /* ~#fdcb6e */
    --amber-500: oklch(84% 0.17 85deg);   /* ~#ffc107 */
    --amber-600: oklch(77% 0.17 64deg);   /* ~#ff9800 */
    --amber-700: oklch(70% 0.16 52deg);   /* ~#f57c00 */
    --amber-800: oklch(55% 0.11 55deg);
    --amber-900: oklch(48% 0.08 80deg);   /* ~#856404 */

    /* ═══════════════════════════════════════════
       Cyan (hue ~212) — Info
       기준: #17a2b8 → oklch(66% 0.11 212deg)
       ═══════════════════════════════════════════ */
    --cyan-50:  oklch(97% 0.02 212deg);   /* ~#e6fffb */
    --cyan-100: oklch(93% 0.03 212deg);   /* ~#d1ecf1 */
    --cyan-200: oklch(88% 0.05 212deg);   /* ~#c8e1f8 */
    --cyan-300: oklch(75% 0.08 212deg);   /* ~#5baadf */
    --cyan-400: oklch(72% 0.10 212deg);   /* ~#69cefe */
    --cyan-500: oklch(66% 0.11 212deg);   /* ~#17a2b8 */
    --cyan-600: oklch(55% 0.09 212deg);   /* ~#117a8b */
    --cyan-700: oklch(52% 0.10 250deg);   /* ~#1a73b5 */

    /* ═══════════════════════════════════════════
       Purple (hue ~272) — Accent
       기준: #667eea → oklch(63% 0.16 272deg)
       ═══════════════════════════════════════════ */
    --purple-50:  oklch(97% 0.02 272deg); /* ~#f9f0ff */
    --purple-300: oklch(68% 0.16 300deg); /* ~#a55eea */
    --purple-400: oklch(65% 0.18 292deg); /* ~#a451f8 */
    --purple-500: oklch(63% 0.16 272deg); /* ~#667eea */
    --purple-600: oklch(50% 0.10 260deg); /* ~#3b5999 */
    --purple-700: oklch(52% 0.14 310deg); /* ~#764ba2 */
    --purple-800: oklch(42% 0.16 300deg); /* ~#531dab */

    /* ═══════════════════════════════════════════
       Orange (hue ~52) — Emoney / Accent
       기준: #fd7e14 → oklch(73% 0.19 52deg)
       ═══════════════════════════════════════════ */
    --orange-100: oklch(92% 0.05 60deg);  /* ~#FFDAB9 */
    --orange-300: oklch(82% 0.13 65deg);  /* ~#FFB74D */
    --orange-500: oklch(73% 0.19 52deg);  /* ~#fd7e14 */
    --orange-600: oklch(74% 0.17 60deg);  /* ~#fb8c00 */
    --orange-700: oklch(60% 0.13 52deg);  /* ~#c46b2d */
    --orange-800: oklch(45% 0.08 52deg);  /* ~#8B4513 */
    --orange-900: oklch(50% 0.15 35deg);  /* ~#BF4400 */

    /* ═══════════════════════════════════════════
       Pink (hue ~350)
       기준: #e83e8c → oklch(60% 0.20 350deg)
       ═══════════════════════════════════════════ */
    --pink-50:  oklch(97% 0.03 350deg);
    --pink-400: oklch(70% 0.17 350deg);   /* ~#fa709a */
    --pink-500: oklch(60% 0.20 350deg);   /* ~#e83e8c */
    --pink-600: oklch(68% 0.16 350deg);   /* ~#fd79a8 */
    --pink-700: oklch(50% 0.18 345deg);   /* ~#c41d7f */

    /* ═══════════════════════════════════════════
       Neutral (hue ~248) — Gray Scale
       지각 균일 명도 스케일
       ═══════════════════════════════════════════ */
    --neutral-50:  oklch(98% 0.003 248deg);  /* ~#fafafa */
    --neutral-100: oklch(97% 0.003 248deg);  /* ~#f8f9fa */
    --neutral-200: oklch(93% 0.005 248deg);  /* ~#e9ecef */
    --neutral-300: oklch(91% 0.007 248deg);  /* ~#dee2e6 */
    --neutral-400: oklch(85% 0.008 248deg);  /* ~#ced4da */
    --neutral-500: oklch(77% 0.010 248deg);  /* ~#adb5bd */
    --neutral-600: oklch(57% 0.012 248deg);  /* ~#677078 */
    --neutral-700: oklch(43% 0.010 248deg);  /* ~#495057 */
    --neutral-800: oklch(34% 0.008 248deg);  /* ~#333333 */
    --neutral-900: oklch(26% 0.010 248deg);  /* ~#212529 */

    /* ═══════════════════════════════════════════
       Shade — 다크 역할 프리미티브 램프(role primitive), surface hue 257
       ═══════════════════════════════════════════ */
    --shade-50:  oklch(14% 0.012 257deg);  /* page shell */
    --shade-100: oklch(16% 0.014 257deg);  /* sidebar / filter shell */
    --shade-200: oklch(18.5% 0.016 257deg);/* card / panel */
    --shade-300: oklch(21% 0.016 257deg);  /* hover / zebra / tabs */
    --shade-400: oklch(24% 0.018 257deg);  /* modal / dropdown */
    --shade-500: oklch(27% 0.016 257deg);  /* elevated hover */
    --shade-600: oklch(30% 0.014 257deg);  /* elevated active */
    --shade-700: oklch(33% 0.012 257deg);  /* bright interactive */

    /* ═══════════════════════════════════════════
       Ash — 다크 역할 프리미티브 램프(role primitive), text hue 248
       ash-500/600은 보조 캡션(faint)·disabled 전용
       ═══════════════════════════════════════════ */
    --ash-100: oklch(92% 0.004 248deg);  /* text primary */
    --ash-200: oklch(84% 0.006 248deg);  /* text strong-secondary */
    --ash-300: oklch(76% 0.008 248deg);  /* text secondary */
    --ash-400: oklch(66% 0.010 248deg);  /* text tertiary */
    --ash-500: oklch(58% 0.010 248deg);  /* text faint */
    --ash-600: oklch(50% 0.010 248deg);  /* text disabled */
}
