/* 디자인 토큰 정본(OPS-1885 브랜드 설계안 5장, 10/11). 색 hex 는 이 파일과 icons.css 그림에만 둔다.
   다른 CSS 는 var(--nd-*) 만 쓴다. 대비 실측은 web/js/core/design-tokens.test.js 가 이 파일을 읽어 확인한다. */
@font-face { font-family: 'ND Sans'; src: url('/fonts/nd-sans-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'ND Sans'; src: url('/fonts/nd-sans-700.woff2') format('woff2'); font-weight: 500 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'ND Sans'; src: url('/fonts/nd-sans-800.woff2') format('woff2'); font-weight: 800 900; font-style: normal; font-display: swap; }

:root {
  /* 색 */
  --nd-ink: #11201D;
  --nd-ink-2: #4F5E5A;
  --nd-muted: #636D69;
  --nd-paper: #F6F4EF;
  --nd-surface: #FFFFFF;
  --nd-sunk: #F1EFE9;
  --nd-line: #DDD9CF;
  --nd-line-strong: #7D8784;
  --nd-track: #E9E6DE;
  --nd-pine: #0F4F47;
  --nd-pine-deep: #0B3B35;
  --nd-pine-tint: #EAF3EF;
  --nd-on-pine: #FFFFFF;
  --nd-on-pine-2: #CFE3DD;
  --nd-coral: #FF5A3C;
  --nd-coral-ink: #C2381C;
  --nd-coral-tint: #FFEDE8;
  --nd-ok: #1B7343;
  --nd-ok-bg: #E5F4EA;
  --nd-caution: #8A5300;
  --nd-caution-bg: #FFF0D2;
  --nd-stop: #B42318;
  --nd-stop-bg: #FDECEA;
  --nd-est: #5F6B68;
  --nd-est-line: #8C948F;
  --nd-disabled-bg: #E4E1D9;
  --nd-disabled-ink: #6E7773;
  --nd-scrim: rgba(17, 32, 29, .38);
  --nd-sand: #E2BE7E;

  /* 간격: 화면 좌우 16, 카드 안 16, 묶음 사이 24 */
  --nd-s1: 4px;
  --nd-s2: 8px;
  --nd-s3: 12px;
  --nd-s4: 16px;
  --nd-s5: 20px;
  --nd-s6: 24px;
  --nd-s7: 32px;
  --nd-s8: 40px;
  --nd-s9: 56px;

  /* 라운드: 누를 수 있는 것만 둥글게 */
  --nd-r-chip: 999px;
  --nd-r-btn: 12px;
  --nd-r-card: 16px;
  --nd-r-sheet: 24px;
  --nd-r-sm: 8px;

  /* 그림자는 시트 하나뿐, 카드는 1px 선 */
  --nd-shadow-sheet: 0 -10px 30px rgba(17, 32, 29, .14);

  /* 글자: 한국어·영어는 ND Sans, 일본어·번체는 기기 서체 */
  --nd-font: 'ND Sans', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Hiragino Sans', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --nd-fs-display: 44px;
  --nd-fs-title: 26px;
  --nd-fs-num: 40px;
  --nd-fs-h2: 20px;
  --nd-fs-h3: 17px;
  --nd-fs-body: 16px;
  --nd-fs-ui: 15px;
  --nd-fs-label: 13px;
  --nd-fs-meta: 12.5px;
  --nd-lh: 1.45;
  --nd-lh-tight: 1.1;

  /* 터치·크기 */
  --nd-tap: 48px;
  --nd-tap-primary: 52px;
  --nd-gap-min: 8px;
  --nd-bar-h: 52px;
  --nd-tab-h: 64px;

  /* 모션: 상태가 바뀐 이유를 보일 때만, 계속 도는 움직임 없음 */
  --nd-dur-press: 120ms;
  --nd-dur-sheet: 240ms;
  --nd-dur-swap: 280ms;
  --nd-dur-pulse: 600ms;
  --nd-ease: cubic-bezier(.2, .8, .2, 1);
}
:root:lang(ja) { --nd-font: 'Hiragino Sans', 'Noto Sans CJK JP', 'Yu Gothic', 'ND Sans', system-ui, sans-serif; }
:root:lang(zh-Hant) { --nd-font: 'PingFang TC', 'Noto Sans CJK TC', 'Microsoft JhengHei', 'ND Sans', system-ui, sans-serif; }

@media (prefers-reduced-motion: reduce) {
  :root { --nd-dur-sheet: 120ms; --nd-dur-swap: 120ms; --nd-dur-pulse: 0ms; }
}
