/*
 * 디자인 토큰 — 색 · 타이포 · 간격 · 반경 · 그림자
 *
 * 라이트가 기본이고, 다크는 두 경로로 적용된다.
 *   1) prefers-color-scheme: dark  — 시스템 설정
 *   2) :root[data-theme="dark"]    — 헤더의 수동 토글 (시스템 설정보다 우선)
 */

:root {
  /* 브랜드 */
  --color-primary: #2549e0;
  --color-primary-strong: #1b39b8;
  --color-primary-soft: #e8ecfd;
  --color-accent: #0d9488;
  --color-accent-soft: #d9f2ee;

  /* 표면 */
  --color-bg: #ffffff;
  --color-surface: #f6f7f9;
  --color-surface-raised: #ffffff;
  --color-border: #e3e6ea;
  --color-border-strong: #cdd3da;

  /* 텍스트 */
  --color-text: #14161a;
  --color-text-muted: #5b6472;
  --color-text-subtle: #7b8494;
  --color-text-inverse: #ffffff;

  /* 로고 타일은 원본 로고가 흰 배경이라 다크모드에서도 항상 밝게 유지한다 */
  --color-logo-tile: #ffffff;
  --color-logo-tile-border: #e3e6ea;

  /* 타이포 */
  --font-sans: -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Pretendard',
    'Noto Sans KR', 'Malgun Gothic', system-ui, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;
  --text-4xl: 3rem;

  /* 간격 */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  /* 형태 */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgb(15 23 42 / 6%), 0 1px 3px rgb(15 23 42 / 4%);
  --shadow-md: 0 4px 12px rgb(15 23 42 / 8%), 0 2px 4px rgb(15 23 42 / 4%);
  --shadow-lg: 0 12px 32px rgb(15 23 42 / 12%);

  /* 레이아웃 */
  --container-max: 1120px;
  --header-height: 60px;

  --transition-fast: 140ms ease;
  --transition-base: 240ms ease;

  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --color-primary: #7d9bff;
    --color-primary-strong: #9db4ff;
    --color-primary-soft: #1b2544;
    --color-accent: #2dd4bf;
    --color-accent-soft: #10312f;

    --color-bg: #0d1117;
    --color-surface: #151a22;
    --color-surface-raised: #1a212b;
    --color-border: #262d38;
    --color-border-strong: #38414f;

    --color-text: #e8edf4;
    --color-text-muted: #a3adbb;
    --color-text-subtle: #7f8a99;
    --color-text-inverse: #0d1117;

    --color-logo-tile: #f4f6f8;
    --color-logo-tile-border: #2f3742;

    --shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);
    --shadow-md: 0 4px 12px rgb(0 0 0 / 45%);
    --shadow-lg: 0 12px 32px rgb(0 0 0 / 55%);

    color-scheme: dark;
  }
}

:root[data-theme='dark'] {
  --color-primary: #7d9bff;
  --color-primary-strong: #9db4ff;
  --color-primary-soft: #1b2544;
  --color-accent: #2dd4bf;
  --color-accent-soft: #10312f;

  --color-bg: #0d1117;
  --color-surface: #151a22;
  --color-surface-raised: #1a212b;
  --color-border: #262d38;
  --color-border-strong: #38414f;

  --color-text: #e8edf4;
  --color-text-muted: #a3adbb;
  --color-text-subtle: #7f8a99;
  --color-text-inverse: #0d1117;

  --color-logo-tile: #f4f6f8;
  --color-logo-tile-border: #2f3742;

  --shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);
  --shadow-md: 0 4px 12px rgb(0 0 0 / 45%);
  --shadow-lg: 0 12px 32px rgb(0 0 0 / 55%);

  color-scheme: dark;
}
