/* ============================================================
   Design Tokens — PDBC1 Coach Introduction
   背景：#F8F8F5，配色參考 AAPD Flagship Light Mode
   ============================================================ */

:root {
  /* --- Background & Surface --- */
  --color-bg: #F8F8F5;
  --color-surface: #FFFFFF;
  --color-surface-alt: #F2F2EE;
  --color-surface-hover: #EBEBE7;

  /* --- Border --- */
  --color-border: #E2E0D9;
  --color-border-light: #EDECEA;

  /* --- Text --- */
  --color-text-primary: #1A1A1A;
  --color-text-secondary: #5C5C5C;
  --color-text-muted: #9A9A9A;
  --color-text-on-accent: #FFFFFF;

  /* --- Brand Accent --- */
  --color-accent: #3B3DEF;
  --color-accent-light: #ECEEFF;
  --color-accent-dark: #2C2EBF;

  /* --- Role Colors --- */
  --color-lecturer: #F05030;
  --color-lecturer-light: #FEF0ED;
  --color-assistant-lead: #F05030;
  --color-assistant-lead-light: #FEF0ED;
  --color-coach: #3B3DEF;
  --color-coach-light: #ECEEFF;

  /* --- Semantic --- */
  --color-tag-bg: #EFEFEB;
  --color-tag-text: #4A4A4A;

  /* --- Typography --- */
  --font-sans: 'Inter', 'Noto Sans TC', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;

  --text-2xs: 0.6875rem;   /* 11px */
  --text-xs:  0.75rem;     /* 12px */
  --text-sm:  0.875rem;    /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:  1.125rem;    /* 18px */
  --text-xl:  1.25rem;     /* 20px */
  --text-2xl: 1.5rem;      /* 24px */
  --text-3xl: 1.875rem;    /* 30px */
  --text-4xl: 2.25rem;     /* 36px */
  --text-5xl: 3rem;        /* 48px */

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

  --line-height-tight: 1.2;
  --line-height-snug: 1.4;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.75;

  /* --- Spacing (4px base unit) --- */
  --space-1:  0.25rem;   /* 4px */
  --space-2:  0.5rem;    /* 8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */

  --section-gap: 7.5rem;  /* 120px between sections */
  --container-max: 1200px;
  --container-padding: var(--space-8);

  /* --- Border Radius --- */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* --- Shadows --- */
  --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06);
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.07);
  --shadow-card-hover: 0 8px 32px rgba(0, 0, 0, 0.12);
  --shadow-tooltip: 0 4px 16px rgba(0, 0, 0, 0.15);

  /* --- Transitions --- */
  --transition-fast: all 0.15s ease;
  --transition-default: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Flip Card --- */
  --flip-duration: 0.55s;
}
