/**
 * tokens.css ── 自動生成ファイル（直接編集しないこと）
 *
 * @cakejp/design-system v0.3.5 の tokens.json から生成。
 * ds-tokens.css に無いスケール（typography / spacing / radius / shadow / touchTarget）だけを持つ。
 * 色は ds-tokens.css の --primitive-* を使うこと（このファイルは色を持たない）。
 *
 * 再生成: node scripts/gen-tokens.mjs
 * 追従  : npm update @cakejp/design-system && node scripts/gen-tokens.mjs
 */
:root {

  /* ===== Typography ===== */
  --font-size-heading-3xl: 28px;
  --line-height-heading-3xl: 1.5;
  --letter-spacing-heading-3xl: 0.04em;
  --font-weight-heading-3xl: 700;
  --font-size-heading-2xl: 24px;
  --line-height-heading-2xl: 1.5;
  --letter-spacing-heading-2xl: 0.04em;
  --font-weight-heading-2xl: 700;
  --font-size-heading-xl: 21px;
  --line-height-heading-xl: 1.5;
  --letter-spacing-heading-xl: 0.04em;
  --font-weight-heading-xl: 700;
  --font-size-heading-lg: 18px;
  --line-height-heading-lg: 1.5;
  --letter-spacing-heading-lg: 0.04em;
  --font-weight-heading-lg: 700;
  --font-size-heading-md: 16px;
  --line-height-heading-md: 1.5;
  --letter-spacing-heading-md: 0.04em;
  --font-weight-heading-md: 700;
  --font-size-heading-sm: 14px;
  --line-height-heading-sm: 1.5;
  --letter-spacing-heading-sm: 0.04em;
  --font-weight-heading-sm: 700;
  --font-size-body-lg: 16px;
  --line-height-body-lg: 1.75;
  --font-weight-body-lg: 400;
  --font-size-body-md: 14px;
  --line-height-body-md: 1.75;
  --font-weight-body-md: 400;
  --font-size-body-sm: 12px;
  --line-height-body-sm: 1.5;
  --font-weight-body-sm: 400;
  --font-size-body-xs: 10px;
  --line-height-body-xs: 1.5;
  --font-weight-body-xs: 400;
  --font-size-label-lg: 16px;
  --line-height-label-lg: 1.5;
  --letter-spacing-label-lg: 0.04em;
  --font-weight-label-lg: 700;
  --font-size-label-md: 14px;
  --line-height-label-md: 1.5;
  --letter-spacing-label-md: 0.04em;
  --font-weight-label-md: 700;
  --font-size-label-sm: 12px;
  --line-height-label-sm: 1.5;
  --font-weight-label-sm: 500;
  --font-size-label-xs: 10px;
  --line-height-label-xs: 1.5;
  --font-weight-label-xs: 500;

  /* ===== Spacing ===== */
  --spacing-base: 4px;
  --spacing-grid: 8px;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-6: 24px;
  --spacing-0-5: 2px;
  --spacing-1-5: 6px;

  /* ===== Radius ===== */
  --radius: 0.625rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  /* ===== Shadow ===== */
  --shadow-md: 0 2px 6px 0 rgba(0,0,0,0.08);
  --shadow-lg: 0 4px 12px 0 rgba(0,0,0,0.12);
  --shadow-menu: 0 4px 16px 0 rgba(0,0,0,0.12);
  --shadow-tooltip: 0 2px 8px 0 rgba(0,0,0,0.16);
  --shadow-dialog: 0 8px 24px 0 rgba(0,0,0,0.16);
  --shadow-modal: 0 16px 48px 0 rgba(0,0,0,0.24);

  /* ===== Touch targets ===== */
  --touch-button-cta-min: 40px;
  --touch-button-cta-rec: 48px;
  --touch-icon-button-min: 40px;
  --touch-icon-button-rec: 44px;
  --touch-text-input-min: 44px;
  --touch-text-input-rec: 48px;
  --touch-chip-min: 32px;
  --touch-chip-rec: 36px;
  --touch-dropdown-item-min: 36px;
  --touch-dropdown-item-rec: 40px;
  --touch-nav-item-min: 44px;
  --touch-nav-item-rec: 48px;
}
