/* 
 * custom.css
 * 사용자 수정 가능한 디자인 토큰 (Color, Font, Spacing)
 * 이 파일만 수정하면 전체 색상, 폰트, 간격 변경 가능
 */

/* ==========================================
   색상 팔레트 (Color Palette)
   ========================================== */

:root {
    /* Primary 색상 */
    --palette-primary: #4169e1;
    --palette-primary-light: #6b8ce8;
    --palette-primary-dark: #2a4bc4;
    
    /* Secondary 색상 */
    --palette-secondary: #6c757d;
    --palette-secondary-light: #adb5bd;
    --palette-secondary-dark: #495057;
    
    /* Semantic 색상 */
    --palette-success: #198754;
    --palette-success-light: #20c997;
    --palette-success-dark: #157347;
    
    --palette-info: #0dcaf0;
    --palette-info-light: #5dd4f5;
    --palette-info-dark: #0aa2c0;
    
    --palette-warning: #ffc107;
    --palette-warning-light: #ffcd39;
    --palette-warning-dark: #cc9900;
    
    --palette-danger: #dc3545;
    --palette-danger-light: #e4606d;
    --palette-danger-dark: #bb2d3b;
    
    /* Neutral 색상 */
    --palette-white: #ffffff;
    --palette-black: #000000;
    --palette-light: #f8f9fa;
    --palette-dark: #212529;
    
    /* Gray Scale */
    --palette-gray-100: #f8f9fa;
    --palette-gray-200: #e9ecef;
    --palette-gray-300: #dee2e6;
    --palette-gray-400: #ced4da;
    --palette-gray-500: #adb5bd;
    --palette-gray-600: #6c757d;
    --palette-gray-700: #495057;
    --palette-gray-800: #343a40;
    --palette-gray-900: #212529;

    /* ==========================================
       간격 시스템 (Spacing Scale)
       100, 200, 300, 400, 500 - 5단계 통일
       ========================================== */
    --spacing-100: 0.25rem;   /* 4px   - 가장 작은 간격 */
    --spacing-200: 0.5rem;    /* 8px   - 작은 간격 */
    --spacing-300: 1rem;      /* 16px  - 기본 간격 */
    --spacing-400: 1.5rem;    /* 24px  - 큰 간격 */
    --spacing-500: 2rem;      /* 32px  - 가장 큰 간격 */
    
    /* 하위 호환성 별칭 */
    --spacing-xs: var(--spacing-100);
    --spacing-sm: var(--spacing-200);
    --spacing-md: var(--spacing-300);
    --spacing-lg: var(--spacing-400);
    --spacing-xl: var(--spacing-500);
    --spacing-xxl: var(--spacing-500);
    
    /* ==========================================
       크기 시스템 (Size Scale)
       100, 200, 300, 400, 500 - 5단계 통일
       ========================================== */
    
    /* 폰트 크기 */
    --size-font-100: 0.75rem;    /* 12px - 가장 작은 텍스트 */
    --size-font-200: 0.875rem;   /* 14px - 작은 텍스트 */
    --size-font-300: 1rem;       /* 16px - 기본 텍스트 */
    --size-font-400: 1.25rem;    /* 20px - 큰 텍스트 */
    --size-font-500: 1.5rem;     /* 24px - 가장 큰 텍스트 */
    
    /* 하위 호환성 별칭 */
    --font-size-xs: var(--size-font-100);
    --font-size-sm: var(--size-font-200);
    --font-size-base: var(--size-font-300);
    --font-size-lg: var(--size-font-400);
    --font-size-xl: var(--size-font-500);
    --font-size-xxl: var(--size-font-500);
    
    /* 테두리 반경 */
    --size-radius-100: 0.25rem;   /* 4px   - 가장 작은 둥근 모서리 */
    --size-radius-200: 0.375rem;  /* 6px   - 작은 둥근 모서리 */
    --size-radius-300: 0.5rem;    /* 8px   - 기본 둥근 모서리 */
    --size-radius-400: 0.75rem;   /* 12px  - 큰 둥근 모서리 */
    --size-radius-500: 1rem;      /* 16px  - 가장 큰 둥근 모서리 */
    
    /* 하위 호환성 별칭 */
    --border-radius-sm: var(--size-radius-100);
    --border-radius: var(--size-radius-200);
    --border-radius-md: var(--size-radius-300);
    --border-radius-lg: var(--size-radius-400);
    --border-radius-xl: var(--size-radius-500);
    
    /* ==========================================
       타이포그래피 (Typography)
       ========================================== */
    --font-family-base: 'Gothic A1', 'Noto Sans KR', system-ui, sans-serif;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    --line-height-tight: 1.25;
    --line-height-base: 1.5;
    --line-height-loose: 1.75;
    
    /* ==========================================
       그림자 (Shadow Scale)
       ========================================== */
    --shadow-100: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-200: 0 2px 4px rgba(0, 0, 0, 0.1);
    --shadow-300: 0 4px 12px rgba(0, 0, 0, 0.12);
    --shadow-400: 0 8px 16px rgba(0, 0, 0, 0.15);
    --shadow-500: 0 12px 24px rgba(0, 0, 0, 0.2);
    
    /* 하위 호환성 별칭 */
    --shadow-sm: var(--shadow-100);
    --shadow: var(--shadow-200);
    --shadow-md: var(--shadow-300);
    --shadow-lg: var(--shadow-400);
    --shadow-xl: var(--shadow-500);
    
    /* ==========================================
       전환 효과 (Transitions)
       ========================================== */
    --transition-fast: 0.15s ease;
    --transition-base: 0.2s ease;
    --transition-slow: 0.3s ease;
    
    /* ==========================================
       Z-index 레이어 (Z-index Layers)
       ========================================== */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}

/* ==========================================
   다크 모드 색상 팔레트 (Dark Mode Color Palette)
   ========================================== */
[data-theme="dark"],
[data-bs-theme="dark"] {
    --palette-primary: #6b8ce8;
    --palette-primary-light: #8ba7f0;
    --palette-primary-dark: #4169e1;
    
    --palette-secondary: #adb5bd;
    --palette-secondary-light: #ced4da;
    --palette-secondary-dark: #6c757d;
    
    --palette-light: #2d2d2d;
    --palette-dark: #e9ecef;
    
    --palette-gray-100: #1a1a1a;
    --palette-gray-200: #2d2d2d;
    --palette-gray-300: #343a40;
    --palette-gray-400: #495057;
    --palette-gray-500: #6c757d;
    --palette-gray-600: #adb5bd;
    --palette-gray-700: #ced4da;
    --palette-gray-800: #e9ecef;
    --palette-gray-900: #ffffff;
}
