/* ============================================================
 * Design Tokens — Odapnote
 * 책임: Claude Code (이 파일은 Codex가 수정하지 않습니다)
 *
 * 브랜드: Energy Coral
 * 모든 색상/타이포/간격은 여기서 정의한 변수만 사용하세요.
 * ============================================================ */

:root {
  /* ----- Color: Brand (Energy Coral) ----- */
  --color-brand-50:  #FFF5F2;
  --color-brand-100: #FFE5DC;
  --color-brand-200: #FFCDBC;
  --color-brand-300: #FFA98C;
  --color-brand-400: #FF8765;
  --color-brand-500: #FF6B47;
  --color-brand-600: #E84F2D;
  --color-brand-700: #B83A1F;
  --color-brand-800: #7A2614;

  /* ----- Color: Neutral ----- */
  --color-bg:        #FFFFFF;
  --color-bg-soft:   #FAFAFA;
  --color-bg-muted:  #F2F4F6;
  --color-border:    #E5E8EB;
  --color-border-strong: #D1D6DB;
  --color-text:      #191F28;
  --color-text-sub:  #4E5968;
  --color-text-mute: #8B95A1;
  --color-text-on-brand: #FFFFFF;

  /* ----- Color: Semantic ----- */
  --color-success:    #00C896;
  --color-success-bg: #E6F9F2;
  --color-warning:    #FFB020;
  --color-warning-bg: #FFF6E5;
  --color-danger:     #FF5247;
  --color-danger-bg:  #FFEEED;
  --color-info:       #4F86F7;
  --color-info-bg:    #EDF3FE;

  /* ----- Typography ----- */
  --font-sans: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  --font-serif: 'Noto Serif KR', 'Times New Roman', 'Times', serif; /* 수식/세리프 강조용 */
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  --font-size-xs:  12px;
  --font-size-sm:  14px;
  --font-size-md:  16px;
  --font-size-lg:  18px;
  --font-size-xl:  22px;
  --font-size-2xl: 28px;
  --font-size-3xl: 36px;
  --font-size-4xl: 48px;
  --font-size-5xl: 60px;

  --font-weight-regular:  400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;

  --line-height-tight:   1.2;
  --line-height-snug:    1.35;
  --line-height-normal:  1.5;
  --line-height-relaxed: 1.7;

  /* ----- Spacing (4px scale) ----- */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ----- Radius ----- */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-2xl:  32px;
  --radius-full: 9999px;

  /* ----- Shadow ----- */
  --shadow-sm:  0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg:  0 12px 32px rgba(0, 0, 0, 0.10);
  --shadow-xl:  0 24px 48px rgba(0, 0, 0, 0.12);

  --shadow-brand-md: 0 8px 20px rgba(255, 107, 71, 0.20);
  --shadow-brand-lg: 0 16px 36px rgba(255, 107, 71, 0.28);

  /* ----- Container ----- */
  --container-max: 1200px;
  --container-pad: var(--space-5);

  /* ----- Transition ----- */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast:   150ms;
  --duration-normal: 250ms;
  --duration-slow:   400ms;

  /* ----- Z-index ----- */
  --z-base:    1;
  --z-dropdown: 100;
  --z-sticky:  200;
  --z-modal:   1000;
  --z-toast:   2000;
}
