/**
 * FamilySync Design System — TypeScript Token Object (Phase 2, D-01/D-02)
 *
 * Mirrors apps/pwa/src/styles/tokens.css. Used by components that need token
 * values in inline-style props (e.g., dynamic CSS-in-JS, canvas, SVG).
 *
 * Keep names aligned with the CSS custom property names (camelCase of the CSS
 * var name after `--`).
 */

export const tokens = {
  // ── Surface / Border / Text ──────────────────────────────────────────────

  colorSurface: '#FFFFFF',
  colorSurfaceDim: '#F7F7F8',
  colorSurfaceRaised: '#FFFFFF',

  colorBorder: '#E2E4E9',
  colorBorderSubtle: '#ECEEF2',

  colorTextPrimary: '#111318',
  colorTextSecondary: '#6B7280',
  colorTextMuted: '#9CA3AF',

  colorFocusRing: '#4A90D9',
  colorOverlay: 'rgba(0, 0, 0, 0.32)',

  // ── Calendar Colors ───────────────────────────────────────────────────────

  colorMember0: '#4A90D9',
  colorMember1: '#50C878',
  colorMember2: '#F5A623',
  colorMember3: '#9B59B6',
  colorMember4: '#E67E22',
  colorMember5: '#1ABC9C',

  colorSharedFamily: '#F25C7A',
  colorDestructive: '#DC2626',

  // ── Spacing Scale ─────────────────────────────────────────────────────────

  space1: '4px',
  space2: '8px',
  space3: '12px',
  space4: '16px',
  space6: '24px',
  space8: '32px',
  space12: '48px',

  // ── Typography ────────────────────────────────────────────────────────────

  fontFamilyBase: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',

  textBodySize: '15px',
  textBodyWeight: 400,
  textBodyLineHeight: 1.5,

  textLabelSize: '13px',
  textLabelWeight: 400,
  textLabelLineHeight: 1.4,

  textHeadingSize: '18px',
  textHeadingWeight: 600,
  textHeadingLineHeight: 1.25,

  textDisplaySize: '24px',
  textDisplayWeight: 600,
  textDisplayLineHeight: 1.2,

  // ── Breakpoints ───────────────────────────────────────────────────────────

  bpPhone: '0px',
  bpTablet: '768px',
  bpDesktop: '1280px',
} as const;

export type Tokens = typeof tokens;
