{
  "$description": "Glow design tokens, measured from the original design image (1536x1024, 1 design px = 1 CSS px at 1536 wide). Shared by the website (glow.css), the Affinity build and the PhotoCraft build.",
  "color": {
    "ink":          { "$value": "#111111", "$description": "Headlines, primary text, icons" },
    "ink-strong":   { "$value": "#0B0B0B", "$description": "Primary buttons" },
    "text":         { "$value": "#1E1E1E", "$description": "Field values" },
    "text-muted":   { "$value": "#555555", "$description": "Intro paragraph, secondary copy" },
    "text-subtle":  { "$value": "#6A6A6A", "$description": "Feature descriptions" },
    "text-faint":   { "$value": "#8A8A8A", "$description": "Placeholders, inactive tabs" },
    "eyebrow":      { "$value": "#3A3A3A", "$description": "Uppercase eyebrow labels" },
    "line":         { "$value": "#E8E8E8", "$description": "Borders of pills, rings, search bar" },
    "line-soft":    { "$value": "#EFEFEF", "$description": "Card borders, dividers inside the phone" },
    "divider":      { "$value": "#DDDDDD", "$description": "Vertical dividers between features" },
    "surface":      { "$value": "#FFFFFF", "$description": "Cards, pills, search bar, badge" },
    "canvas-top":   { "$value": "#EEEEEE", "$description": "Page background, top of gradient" },
    "canvas":       { "$value": "#F6F6F6", "$description": "Page background from ~450px down" },
    "strip":        { "$value": "#FBFBFB", "$description": "Brand strip" },
    "tile":         { "$value": "#EFEDEB", "$description": "Warm service tile" },
    "btn-primary":  { "$value": "#000001", "$description": "Sign Up button (measured)" },
    "btn-search":   { "$value": "#111214", "$description": "Hero Search button (measured)" },
    "btn-app":      { "$value": "#060606", "$description": "App Book buttons (measured)" },
    "field":        { "$value": "#FEFEFE", "$description": "Search bar, app search field, badge (measured)" },
    "surface-soft": { "$value": "#F7F7F7", "$description": "Location pill, phone screen (measured)" },
    "ring-fill":    { "$value": "#FBFBFB", "$description": "Feature icon rings (measured)" },
    "card":         { "$value": "#FCFCFB", "$description": "App listing cards (measured)" },
    "on-dark":      { "$value": "#FFFFFF", "$description": "Text on primary buttons" }
  },
  "font": {
    "display": { "$value": ["Glow Display", "Libre Caslon Display", "Bodoni 72", "Georgia", "serif"], "$description": "Custom font traced from the design (glyphfont.py), with measured kerning; covers the headline letters plus 0 1 +. Libre Caslon Display is the closest free lookalike" },
    "display-italic": { "$value": ["Glow Display", "Libre Caslon Text", "Georgia", "serif"], "$description": "Italic of Glow Display (only the letters in the design); Libre Caslon Text Italic as fallback" },
    "sans":    { "$value": ["Figtree", "Helvetica Neue", "Helvetica", "Arial", "sans-serif"], "$description": "Best match from fontmatch.py (same line width as the original)" }
  },
  "type": {
    "display-xl": { "$value": { "family": "display", "size": 73.4, "lineHeight": 74, "tracking": 0 }, "$description": "Hero headline" },
    "display-l":  { "$value": { "family": "display", "size": 64, "lineHeight": 64 }, "$description": "Wordmark" },
    "display-m":  { "$value": { "family": "display", "size": 25, "lineHeight": 28 }, "$description": "Badge numeral (measured with glyphfont.py)" },
    "display-s":  { "$value": { "family": "display", "size": 21, "lineHeight": 24 }, "$description": "App screen title" },
    "body-l":     { "$value": { "family": "sans", "size": 18.5, "lineHeight": 30 }, "$description": "Intro paragraph" },
    "title":      { "$value": { "family": "sans", "size": 17, "lineHeight": 22, "weight": 500 }, "$description": "Feature titles" },
    "body":       { "$value": { "family": "sans", "size": 16, "lineHeight": 22 }, "$description": "Nav links, buttons" },
    "body-s":     { "$value": { "family": "sans", "size": 15, "lineHeight": 20 }, "$description": "Field text, pills" },
    "label":      { "$value": { "family": "sans", "size": 14, "lineHeight": 22 }, "$description": "Feature descriptions" },
    "eyebrow":    { "$value": { "family": "sans", "size": 13, "lineHeight": 14, "tracking": 0.3, "case": "upper" }, "$description": "Section eyebrow" },
    "app-title":  { "$value": { "family": "sans", "size": 11.5, "weight": 500 }, "$description": "App section heading" },
    "app-body":   { "$value": { "family": "sans", "size": 9.3 }, "$description": "App body / placeholders" },
    "app-caption":{ "$value": { "family": "sans", "size": 8.5 }, "$description": "Tile labels, meta" }
  },
  "radius": {
    "pill": { "$value": 999 },
    "xl":   { "$value": 26, "$description": "Search bar" },
    "l":    { "$value": 18, "$description": "Button inside the search bar" },
    "m":    { "$value": 10, "$description": "Cards, tiles, app fields" },
    "s":    { "$value": 8,  "$description": "Card thumbnails" },
    "device":        { "$value": 52, "$description": "Phone body" },
    "device-screen": { "$value": 42 }
  },
  "size": {
    "control":    { "$value": 48, "$description": "Pills, buttons, fields" },
    "control-lg": { "$value": 72, "$description": "Hero search bar" },
    "ring":       { "$value": 66, "$description": "Feature icon ring" },
    "badge":      { "$value": 140 },
    "icon-sm":    { "$value": 16 },
    "icon":       { "$value": 20 },
    "icon-lg":    { "$value": 30 }
  },
  "space": {
    "1": { "$value": 4 }, "2": { "$value": 8 }, "3": { "$value": 12 }, "4": { "$value": 16 },
    "5": { "$value": 20 }, "6": { "$value": 24 }, "8": { "$value": 32 }, "10": { "$value": 40 },
    "gutter": { "$value": 58, "$description": "Left page margin on desktop" }
  },
  "stroke": { "icon": { "$value": 1.6, "$description": "Line icons (traced icons carry their own weight)" }, "hairline": { "$value": 1 } },
  "shadow": {
    "card":   { "$value": "0 2px 8px rgba(0,0,0,.04)" },
    "badge":  { "$value": "0 6px 20px rgba(0,0,0,.06)" },
    "device": { "$value": "0 24px 50px rgba(0,0,0,.22)" }
  }
}
