/* Global design tokens: palette, typography, layout, spacing, shape, motion, and layers. */
@font-face {font-family: Pretendard;src: url("../fonts/Pretendard-Regular.woff2") format("woff2");font-weight: 400;font-display: swap;}
@font-face {font-family: Pretendard;src: url("../fonts/Pretendard-Medium.woff2") format("woff2");font-weight: 500;font-display: swap;}
@font-face {font-family: Pretendard;src: url("../fonts/Pretendard-Bold.woff2") format("woff2");font-weight: 700;font-display: swap;}

:root {
  /* Brand palette */
  --color-navy-950: #06172d;
  --color-navy-900: #0b1f3a;
  --color-navy-800: #102b4c;
  --color-blue-600: #1f6bff;
  --color-blue-500: #2f7dff;
  --color-copper-700: #98642b;
  --color-copper-600: #b8793d;
  --color-copper-500: #c98a4b;
  --color-copper-300: #dfc7a7;
  --color-copper-100: #f4e7d9;
  --color-gold-300: #daa520;
  --color-gold-200: #ffd700;
  --color-gold-100: #fafad2;

  /* Neutral palette */
  --color-ivory: #f8f4ee;
  --color-paper: #ffffff;
  --color-cloud: #f4f7fb;
  --color-tint: #f5f8fd;
  --color-line: #dfe6ef;
  --color-ink: #071628;
  --color-text: #14263d;
  --color-muted: #627086;

  /* State palette */
  --color-danger: #d92d20;
  --color-danger-bg: #fef3f2;
  --color-success: #15803d;
  --color-success-bg: #ecfdf3;
  --color-warning: #b54708;
  --color-warning-bg: #fffaeb;
  --color-info: #1f6bff;
  --color-info-bg: #eff6ff;

  /* Typography */
  --font-family-base: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;

  /* Typography scale: use value-based tokens in new code. */
  --font-12: 12px;
  --font-13: 13px;
  --font-14: 14px;
  --font-16: clamp(15px, 0.28vw + 14px, 16px);
  --font-18: clamp(16px, 0.42vw + 15px, 18px);
  --font-20: clamp(18px, 0.50vw + 16px, 20px);
  --font-24: clamp(20px, 0.75vw + 17px, 24px);
  --font-28: clamp(22px, 1vw + 18px, 28px);
  --font-32: clamp(26px, 1.2vw + 21px, 32px);
  --font-40: clamp(32px, 2vw + 24px, 40px);
  --font-48: clamp(38px, 2.6vw + 28px, 48px);

  /* Line-height */
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-compact: 1.45;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  --letter-spacing: -0.01em;

  /* Font weight */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;

  /* Layout */
  --layout-container: 1120px;
  --layout-wide: 1280px;
  --layout-content: 860px;
  --layout-narrow: 720px;

  /* Spacing */
  --space-0: 0;
  --space-4: 4px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-16: clamp(12px, calc(10px + 0.2vw), 16px);
  --space-20: clamp(12px, calc(10px + 0.2vw), 20px);
  --space-24: clamp(12px, calc(10px + 0.2vw), 24px);
  --space-28: clamp(12px, calc(12px + 0.2vw), 28px);
  --space-32: clamp(12px, calc(12px + 0.8vw), 32px);
  --space-40: clamp(12px, calc(12px + 1.4vw), 40px);
  --space-48: clamp(32px, calc(20px + 2vw), 48px);
  --space-80: clamp(48px, calc(24px + 4vw), 80px);
  --space-120: clamp(64px, calc(28px + 7vw), 120px);
  --space-160: clamp(64px, calc(32px + 9vw), 160px);

  /* Shape */
  --radius-0: 0px;
  --radius-4: 4px;
  --radius-8: 8px;
  --radius-12: 12px;
  --radius-16: clamp(8px, 0.28vw + 8px, 16px);
  --radius-18: 18px;
  --radius-24: 24px;
  --radius-pill: 999px;

  /* Border */
  --border-width: 1px;
  --border-soft: 1px solid var(--color-line);
  --border-strong: 1px solid var(--color-navy-900);

  /* Shadow */
  --shadow-soft: 0 1px 4px 0 rgba(0, 0, 0, .06);
  --shadow-card: 0 24px 30px rgba(6, 23, 45, .10);
  --shadow-float: 0 28px 80px rgba(6, 23, 45, .16);

  /* Motion */
  --motion-ease: cubic-bezier(.16, 1, .3, 1);
  --transition-fast: 160ms var(--motion-ease);
  --transition-base: 220ms var(--motion-ease);
  --transition-slow: 360ms var(--motion-ease);

  /* Layer */
  --z-header: 100;
  --z-sticky: 200;
  --z-toast: 800;
  --z-modal: 1000;
}
