{"version":3,"sources":["../src/tokens/colors.ts","../src/tokens/shadows.ts","../src/tokens/typography.ts","../src/tokens/spacing.ts","../src/tokens/radius.ts"],"sourcesContent":["/**\n * CP 디자인 시스템 컬러 토큰\n * Primary, Secondary, Tertiary, Semantic Colors\n */\n\nexport const colors = {\n  // Primary — Teal\n  primary: {\n    50: '#f0fdfa',\n    200: '#99f6e4',\n    400: '#2dd4bf',\n    500: '#14b8a6',\n    600: '#0d9488',\n    800: '#115e59',\n  } as const,\n\n  // Secondary — Indigo\n  secondary: {\n    50: '#eef2ff',\n    500: '#6366f1',\n    600: '#4f46e5',\n  } as const,\n\n  // Tertiary — Blue\n  tertiary: {\n    50: '#eff6ff',\n    500: '#3b82f6',\n    600: '#2563eb',\n  } as const,\n\n  // Semantic Colors\n  semantic: {\n    success: {\n      bg: 'bg-green-50',\n      text: 'text-green-600',\n      icon: 'text-green-500',\n    } as const,\n    warning: {\n      bg: 'bg-yellow-50',\n      text: 'text-amber-700',\n      icon: 'text-amber-500',\n    } as const,\n    error: {\n      bg: 'bg-red-50',\n      text: 'text-red-600',\n      icon: 'text-red-500',\n      border: 'border-red-300',\n    } as const,\n    info: {\n      bg: 'bg-blue-50',\n      text: 'text-blue-600',\n      icon: 'text-blue-500',\n    } as const,\n  } as const,\n\n  // Surface / Background\n  surface: {\n    white: '#ffffff',\n    slate50: '#f8fafc',\n    slate100: '#f1f5f9',\n    slate200: '#e2e8f0',\n  } as const,\n\n  // Text Colors\n  text: {\n    slate900: '#0f172a',\n    slate800: '#1e293b',\n    slate500: '#64748b',\n    slate400: '#94a3b8',\n  } as const,\n} as const\n\n// Helper functions for class names\nexport const getPrimaryColorClass = (level: keyof typeof colors.primary) =>\n  `bg-primary-${level}` as const\n\nexport const getTextPrimaryColorClass = (level: keyof typeof colors.primary) =>\n  `text-primary-${level}` as const\n","/**\n * 그림자 토큰 — teal 틴트를 포함한 부드러운 그림자\n */\n\nexport const shadows = {\n  soft: {\n    sm: '0 1px 2px rgba(0,0,0,0.05)',\n    md: '0 1px 8px rgba(20,184,166,0.08)',\n    lg: '0 4px 24px rgba(20,184,166,0.12)',\n    xl: '0 8px 40px rgba(20,184,166,0.16)',\n  } as const,\n} as const\n\nexport type ShadowKey = keyof typeof shadows.soft\n\nexport const getShadowClass = (level: ShadowKey) =>\n  `shadow-soft-${level}` as const\n","/**\n * Typography 토큰 — 7 단계 타입 스케일\n */\n\nexport const typography = {\n  fontSize: {\n    'display-lg': '48px',\n    'display-md': '36px',\n    'display-sm': '28px',\n    'h1': '24px',\n    'h2': '20px',\n    'h3': '16px',\n    'body-lg': '16px',\n    'body-md': '14px',\n    'body-sm': '13px',\n    'caption': '12px',\n  } as const,\n\n  fontWeight: {\n    normal: '400',\n    medium: '500',\n    semibold: '600',\n    bold: '700',\n  } as const,\n\n  lineHeight: {\n    tight: 1.2,\n    snug: 1.25,\n    normal: 1.3,\n    relaxed: 1.35,\n    loose: 1.4,\n    body: 1.5,\n    relaxedBody: 1.6,\n  } as const,\n} as const\n\nexport type FontSizeKey = keyof typeof typography.fontSize\nexport type FontWeightKey = keyof typeof typography.fontWeight\nexport type LineHeightKey = keyof typeof typography.lineHeight\n","/**\n * Spacing 토큰 — 4px 기반 간격 스케일\n */\n\nexport const spacing = {\n  xs: '4px',\n  sm: '8px',\n  md: '16px',\n  lg: '24px',\n  xl: '32px',\n  '2xl': '48px',\n  '3xl': '64px',\n} as const\n\nexport type SpacingKey = keyof typeof spacing\n\n// Helper functions for class names\nexport const getSpacingClass = (level: SpacingKey, property: 'margin' | 'padding' = 'padding') => {\n  const prop = property === 'margin' ? 'm' : 'p'\n  return `${prop}-${level}` as const\n}\n\nexport const getSpacingValue = (level: SpacingKey): string => spacing[level]\n","/**\n * Border Radius 토큰 — 4 단계\n */\n\nexport const radius = {\n  sm: '6px',\n  md: '8px',\n  lg: '10px',\n  xl: '14px',\n  '2xl': '18px',\n  full: '9999px',\n} as const\n\nexport type RadiusKey = keyof typeof radius\n\nexport const getRadiusClass = (level: RadiusKey) =>\n  `rounded-${level}` as const\n"],"mappings":";AAKO,IAAM,SAAS;AAAA;AAAA,EAEpB,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA;AAAA,EAGA,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA;AAAA,EAGA,UAAU;AAAA,IACR,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA;AAAA,EAGA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA,EAGA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA;AAAA,EAGA,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AACF;AAGO,IAAM,uBAAuB,CAAC,UACnC,cAAc,KAAK;AAEd,IAAM,2BAA2B,CAAC,UACvC,gBAAgB,KAAK;;;ACzEhB,IAAM,UAAU;AAAA,EACrB,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACN;AACF;AAIO,IAAM,iBAAiB,CAAC,UAC7B,eAAe,KAAK;;;ACZf,IAAM,aAAa;AAAA,EACxB,UAAU;AAAA,IACR,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb;AAAA,EAEA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAM;AAAA,EACR;AAAA,EAEA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;AC9BO,IAAM,UAAU;AAAA,EACrB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AACT;AAKO,IAAM,kBAAkB,CAAC,OAAmB,WAAiC,cAAc;AAChG,QAAM,OAAO,aAAa,WAAW,MAAM;AAC3C,SAAO,GAAG,IAAI,IAAI,KAAK;AACzB;AAEO,IAAM,kBAAkB,CAAC,UAA8B,QAAQ,KAAK;;;AClBpE,IAAM,SAAS;AAAA,EACpB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AACR;AAIO,IAAM,iBAAiB,CAAC,UAC7B,WAAW,KAAK;","names":[]}