{
  "$schema": "https://tr.designtokens.org/format/",
  "$description": "Workbridge design tokens. Mirrors styles/tokens.css. Contrast-audited by scripts/contrast.py.",
  "brand": {
    "name": "Workbridge",
    "domain": "workbridge.ai",
    "spelling": "Workbridge — capital W, lowercase b. Never WorkBridge, never workbridge in prose."
  },
  "color": {
    "ink": {
      "$type": "color",
      "900": { "$value": "#141413", "$description": "Primary text, dark surfaces." },
      "700": { "$value": "#3a3a37" },
      "500": { "$value": "#57564f", "$description": "Muted body text on paper (7.00:1)." }
    },
    "neutral": {
      "$type": "color",
      "paper": { "$value": "#faf9f5", "$description": "Default page background. Warm, not white." },
      "linen": { "$value": "#e8e6dc", "$description": "Sunken surfaces, quiet Free-15 chrome." },
      "stone": { "$value": "#b0aea5", "$description": "Muted text on ink. Decorative rules." },
      "stone-500": { "$value": "#8b8980", "$description": "Dividers. Control borders in reverse." },
      "stone-600": { "$value": "#6f6d64", "$description": "Form-control borders on light (4.93:1)." }
    },
    "copper": {
      "$type": "color",
      "$description": "Primary. Terracotta and cork: money, action, the paid map.",
      "100": { "$value": "#f7e4dc" },
      "300": { "$value": "#eab19a", "$description": "Links and focus ring in reverse context." },
      "500": { "$value": "#d97757", "$description": "Graphic accent only. Not a text colour on paper." },
      "600": { "$value": "#c05c3b", "$description": "Graphic fills only. Fails AA under paper text." },
      "700": { "$value": "#9c4527", "$description": "Primary action fill and link colour (6.05:1)." },
      "800": { "$value": "#76331c", "$description": "Primary action hover (8.82:1)." }
    },
    "harbor": {
      "$type": "color",
      "$description": "Secondary. Measurement, scores, data. Never a call to action.",
      "100": { "$value": "#dfeaf5" },
      "300": { "$value": "#a5c4e2" },
      "500": { "$value": "#6a9bcc" },
      "600": { "$value": "#3f7bb3" },
      "700": { "$value": "#2b5c89" },
      "800": { "$value": "#1f4364" }
    },
    "moss": {
      "$type": "color",
      "$description": "Tertiary. Recovered hours, shipped work, sealed leaks.",
      "100": { "$value": "#e6ebdc" },
      "300": { "$value": "#b3c096" },
      "500": { "$value": "#788c5d" },
      "600": { "$value": "#5f7247" },
      "700": { "$value": "#485636" }
    },
    "amber": {
      "$type": "color",
      "$description": "Semantic warning only. Never decorative.",
      "100": { "$value": "#f7e8cd" },
      "500": { "$value": "#c08a2e" },
      "600": { "$value": "#9a6b18" },
      "700": { "$value": "#7a5412" }
    },
    "brick": {
      "$type": "color",
      "$description": "Semantic danger only. Never decorative.",
      "100": { "$value": "#f7dedb" },
      "500": { "$value": "#c4463a" },
      "600": { "$value": "#a5342a" },
      "700": { "$value": "#83271f" }
    }
  },
  "role": {
    "$type": "color",
    "light": {
      "bg": { "$value": "{color.neutral.paper}" },
      "bg-sunken": { "$value": "{color.neutral.linen}" },
      "surface": { "$value": "#ffffff" },
      "surface-dark": { "$value": "{color.ink.900}" },
      "text": { "$value": "{color.ink.900}" },
      "text-muted": { "$value": "{color.ink.500}" },
      "text-subtle": { "$value": "{color.neutral.stone-600}" },
      "action": { "$value": "{color.copper.700}" },
      "action-hover": { "$value": "{color.copper.800}" },
      "action-text": { "$value": "{color.neutral.paper}" },
      "link": { "$value": "{color.copper.700}" },
      "accent": { "$value": "{color.copper.500}" },
      "border": { "$value": "{color.neutral.linen}" },
      "border-control": { "$value": "{color.neutral.stone-600}" },
      "divider": { "$value": "{color.neutral.stone-500}" },
      "focus": { "$value": "{color.copper.700}" }
    },
    "reverse": {
      "bg": { "$value": "{color.ink.900}" },
      "surface": { "$value": "#1d1d1b" },
      "surface-raised": { "$value": "#24241f" },
      "text": { "$value": "{color.neutral.paper}" },
      "text-muted": { "$value": "{color.neutral.stone}" },
      "text-subtle": { "$value": "{color.neutral.stone-500}" },
      "action": { "$value": "{color.copper.500}" },
      "action-hover": { "$value": "{color.copper.300}" },
      "action-text": { "$value": "{color.ink.900}" },
      "link": { "$value": "{color.copper.300}" },
      "border": { "$value": "#33332f" },
      "focus": { "$value": "{color.copper.300}" }
    },
    "semantic": {
      "success": { "$value": "{color.moss.600}" },
      "success-surface": { "$value": "{color.moss.100}" },
      "success-text": { "$value": "{color.moss.700}" },
      "warn": { "$value": "{color.amber.600}" },
      "warn-surface": { "$value": "{color.amber.100}" },
      "warn-text": { "$value": "{color.amber.700}" },
      "danger": { "$value": "{color.brick.600}" },
      "danger-surface": { "$value": "{color.brick.100}" },
      "danger-text": { "$value": "{color.brick.700}" },
      "info": { "$value": "{color.harbor.600}" },
      "info-surface": { "$value": "{color.harbor.100}" },
      "info-text": { "$value": "{color.harbor.700}" }
    },
    "offer": {
      "$description": "Hierarchy encodes the sales rule: free is quietest, the paid map is loudest.",
      "free15-surface": { "$value": "{color.neutral.linen}" },
      "free15-border": { "$value": "{color.neutral.stone-600}" },
      "free15-text": { "$value": "{color.ink.900}" },
      "cork-surface": { "$value": "{color.copper.100}" },
      "cork-border": { "$value": "{color.copper.700}" },
      "cork-text": { "$value": "{color.copper.800}" },
      "concierge-surface": { "$value": "{color.ink.900}" },
      "concierge-border": { "$value": "{color.ink.900}" },
      "concierge-text": { "$value": "{color.neutral.paper}" }
    }
  },
  "font": {
    "family": {
      "$type": "fontFamily",
      "display": { "$value": ["Poppins", "Helvetica Neue", "Arial", "sans-serif"] },
      "body": { "$value": ["Lora", "Georgia", "Times New Roman", "serif"] },
      "mono": { "$value": ["JetBrains Mono", "ui-monospace", "SF Mono", "Menlo", "Consolas", "monospace"] }
    },
    "size": {
      "$type": "dimension",
      "display-1": { "$value": "3.75rem" },
      "display-2": { "$value": "3rem" },
      "h1": { "$value": "2.25rem" },
      "h2": { "$value": "1.875rem" },
      "h3": { "$value": "1.5rem" },
      "h4": { "$value": "1.25rem" },
      "lg": { "$value": "1.125rem" },
      "base": { "$value": "1rem" },
      "sm": { "$value": "0.875rem" },
      "xs": { "$value": "0.8125rem" },
      "label": { "$value": "0.875rem", "$description": "Poppins UI labels. Sentence case, never uppercase." },
      "annotation": { "$value": "0.75rem", "$description": "Uppercase mono drafting marks inside an exhibit. Never a label above a heading." }
    },
    "lineHeight": {
      "tight": { "$value": 1.05 },
      "snug": { "$value": 1.2 },
      "normal": { "$value": 1.45 },
      "relaxed": { "$value": 1.65 }
    },
    "tracking": {
      "tight": { "$value": "-0.02em" },
      "normal": { "$value": "0" },
      "wide": { "$value": "0.08em" },
      "annotation": { "$value": "0.14em" }
    },
    "measure": { "$value": "68ch", "$description": "Maximum body-copy line length." }
  },
  "space": {
    "$type": "dimension",
    "$description": "4px base grid.",
    "1": { "$value": "0.25rem" },
    "2": { "$value": "0.5rem" },
    "3": { "$value": "0.75rem" },
    "4": { "$value": "1rem" },
    "5": { "$value": "1.5rem" },
    "6": { "$value": "2rem" },
    "7": { "$value": "3rem" },
    "8": { "$value": "4rem" },
    "9": { "$value": "6rem" },
    "10": { "$value": "8rem" }
  },
  "radius": {
    "$type": "dimension",
    "sm": { "$value": "3px" },
    "md": { "$value": "5px" },
    "lg": { "$value": "8px" },
    "pill": { "$value": "999px", "$description": "Badges only. Never buttons." }
  },
  "shadow": {
    "$type": "shadow",
    "1": { "$value": "0 1px 2px rgba(20, 20, 19, 0.06)" },
    "2": { "$value": "0 2px 6px rgba(20, 20, 19, 0.07), 0 1px 2px rgba(20, 20, 19, 0.05)" },
    "lift": { "$value": "0 6px 18px rgba(20, 20, 19, 0.09)" }
  },
  "motion": {
    "duration-fast": { "$value": "120ms" },
    "duration-base": { "$value": "200ms" },
    "easing": { "$value": "cubic-bezier(0.2, 0, 0.3, 1)", "$description": "No overshoot. Calm does not bounce." }
  }
}
