/**
 * CSS 변수 정의
 * 프로젝트 전반에서 사용되는 색상, 폰트, 간격 등을 중앙 관리
 */

:root {
  /* ===== 색상 (Colors) ===== */
  
  /* 기본 색상 */
  --color-primary: #d34f53;
  --color-primary-hover: #e26464;
  --color-primary-dark: #c43a3e;
  
  /* 텍스트 색상 */
  --color-text-primary: #0f0f0f;
  --color-text-secondary: #393939;
  --color-text-tertiary: #666;
  --color-text-quaternary: #888;
  --color-text-light: #999;
  --color-text-lighter: #9a9a9a;
  --color-text-lightest: #abaaaa;
  --color-text-dark: #323232;
  --color-text-darker: #1c1918;
  --color-text-white: #fff;
  --color-text-black: #000;
  
  /* 링크 색상 */
  --color-link: #2f2f2f;
  --color-link-hover: #d74e4e;
  --color-link-selected: #d74e4e;
  
  /* 배경 색상 */
  --color-bg-white: #fff;
  --color-bg-light: #f5f5f5;
  --color-bg-lighter: #f7f7f7;
  --color-bg-gray: #e8e8e8;
  --color-bg-dark-gray: #898989;
  --color-bg-darker: #727272;
  
  /* 테두리 색상 */
  --color-border: #ddd;
  --color-border-light: #e4e4e4;
  --color-border-medium: #ccc;
  --color-border-dark: #707070;
  --color-border-darker: #5a5a5a;
  --color-border-focus: #E26464;
  
  /* 상태 색상 */
  --color-success: #3399FF;
  --color-warning: #FF5E33;
  --color-error: #e83b3b;
  --color-error-dark: #cc3a3a;
  --color-error-darker: #ed1c2b;
  --color-info: #0098d0;
  --color-orange: #fc7648;
  --color-orange-dark: #e54a15;
  --color-orange-darker: #de0721;
  
  /* 다크모드 색상 */
  --color-dark-bg: #3c434a;
  --color-dark-text: #aaa;
  --color-dark-border: #515151;
  
  /* 특수 색상 */
  --color-brown: #42372C;
  --color-tip-bg: #000;
  --color-tip-text: #fff;
  
  /* ===== 폰트 (Typography) ===== */
  
  /* 폰트 패밀리 */
  --font-family-base: 'Noto Sans KR', sans-serif, Dotum, "돋움", Gulim, "굴림", Helvetica, Apple-Gothic;
  --font-family-nanum: 'Nanum Gothic', "나눔고딕", Dotum, "돋움", Gulim, "굴림", Helvetica, Apple-Gothic;
  --font-family-nanum-barun: 'Nanum Barun Gothic', "나눔바른고딕", Dotum, "돋움", Gulim, "굴림", Helvetica, Apple-Gothic;
  --font-family-dotum: 'dotum', Dotum, "돋움";
  
  /* 폰트 크기 */
  --font-size-xs: 10px;
  --font-size-sm: 11px;
  --font-size-base: 12px;
  --font-size-md: 13px;
  --font-size-lg: 14px;
  --font-size-xl: 15px;
  --font-size-2xl: 16px;
  --font-size-3xl: 20px;
  --font-size-4xl: 23px;
  --font-size-5xl: 24px;
  --font-size-6xl: 25px;
  --font-size-7xl: 32px;
  --font-size-8xl: 18px;
  
  /* 폰트 두께 */
  --font-weight-normal: normal;
  --font-weight-bold: bold;
  --font-weight-600: 600;
  --font-weight-700: 700;
  
  /* 줄 간격 */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;
  --line-height-loose: 1.8;
  
  /* 자간 */
  --letter-spacing-tight: -1.0px;
  --letter-spacing-normal: 0;
  
  /* ===== 간격 (Spacing) ===== */
  
  /* 마진 */
  --spacing-xs: 2px;
  --spacing-sm: 5px;
  --spacing-md: 10px;
  --spacing-lg: 15px;
  --spacing-xl: 20px;
  --spacing-2xl: 25px;
  --spacing-3xl: 30px;
  --spacing-4xl: 35px;
  --spacing-5xl: 40px;
  --spacing-6xl: 50px;
  --spacing-7xl: 60px;
  --spacing-8xl: 70px;
  --spacing-9xl: 80px;
  --spacing-10xl: 100px;
  --spacing-11xl: 120px;
  --spacing-12xl: 135px;
  --spacing-13xl: 170px;
  --spacing-14xl: 180px;
  --spacing-15xl: 200px;
  
  /* 패딩 */
  --padding-xs: 4px;
  --padding-sm: 5px;
  --padding-md: 10px;
  --padding-lg: 15px;
  --padding-xl: 20px;
  --padding-2xl: 25px;
  --padding-3xl: 30px;
  --padding-4xl: 35px;
  --padding-5xl: 40px;
  --padding-6xl: 50px;
  --padding-7xl: 60px;
  --padding-8xl: 80px;
  --padding-9xl: 90px;
  --padding-10xl: 100px;
  --padding-11xl: 180px;
  
  /* ===== 테두리 (Borders) ===== */
  
  --border-width: 1px;
  --border-radius-sm: 2px;
  --border-radius-md: 5px;
  --border-radius-lg: 10px;
  
  /* ===== 그림자 (Shadows) ===== */
  
  --shadow-sm: 0 0 12px rgba(0, 0, 0, 0.6);
  --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.15);
  
  /* ===== 기타 (Others) ===== */
  
  --transition-base: 0.2s ease;
  --transition-fast: 0.1s ease;
  --transition-slow: 0.3s ease;
  
  --z-index-dropdown: 100;
  --z-index-modal: 1000;
  --z-index-tooltip: 2000;
}

/* 다크모드 변수 */
body.dark {
  --color-text-primary: var(--color-dark-text);
  --color-bg-white: var(--color-dark-bg);
  --color-border: var(--color-dark-border);
}

