{
  "font-family": {
    "sans": {
      "$type": "fontFamily",
      "$value": "Public Sans",
      "$description": "Primary typeface — Public Sans (the NSW Government brand typeface). Use for all UI and body text.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_FAMILY"
          ],
          "codeSyntax": {
            "WEB": "var(--font-family-sans)"
          }
        }
      }
    },
    "display": {
      "$type": "fontFamily",
      "$value": "Public Sans",
      "$description": "Display typeface — currently the same typeface as sans; a separate token so display/heading type can diverge from body text later without a breaking change.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_FAMILY"
          ],
          "codeSyntax": {
            "WEB": "var(--font-family-display)"
          }
        }
      }
    },
    "system": {
      "$type": "fontFamily",
      "$value": "Public Sans",
      "$description": "System typeface — currently the same typeface as sans; a separate token for system-chrome contexts (toasts, native-feeling UI) that may diverge later.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_FAMILY"
          ],
          "codeSyntax": {
            "WEB": "var(--font-family-system)"
          }
        }
      }
    },
    "mono": {
      "$type": "fontFamily",
      "$value": "JetBrains Mono",
      "$description": "Monospace typeface — JetBrains Mono for code, tabular data, and technical content.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_FAMILY"
          ],
          "codeSyntax": {
            "WEB": "var(--font-family-mono)"
          }
        }
      }
    }
  },
  "font-size": {
    "12": {
      "$type": "dimension",
      "$value": {
        "value": 0.75,
        "unit": "rem"
      },
      "$description": "Font size 12px (0.75rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-12)"
          }
        }
      }
    },
    "14": {
      "$type": "dimension",
      "$value": {
        "value": 0.875,
        "unit": "rem"
      },
      "$description": "Font size 14px (0.875rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-14)"
          }
        }
      }
    },
    "16": {
      "$type": "dimension",
      "$value": {
        "value": 1,
        "unit": "rem"
      },
      "$description": "Font size 16px (1rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-16)"
          }
        }
      }
    },
    "18": {
      "$type": "dimension",
      "$value": {
        "value": 1.125,
        "unit": "rem"
      },
      "$description": "Font size 18px (1.125rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-18)"
          }
        }
      }
    },
    "20": {
      "$type": "dimension",
      "$value": {
        "value": 1.25,
        "unit": "rem"
      },
      "$description": "Font size 20px (1.25rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-20)"
          }
        }
      }
    },
    "22": {
      "$type": "dimension",
      "$value": {
        "value": 1.375,
        "unit": "rem"
      },
      "$description": "Font size 22px (1.375rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-22)"
          }
        }
      }
    },
    "24": {
      "$type": "dimension",
      "$value": {
        "value": 1.5,
        "unit": "rem"
      },
      "$description": "Font size 24px (1.5rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-24)"
          }
        }
      }
    },
    "30": {
      "$type": "dimension",
      "$value": {
        "value": 1.875,
        "unit": "rem"
      },
      "$description": "Font size 30px (1.875rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-30)"
          }
        }
      }
    },
    "36": {
      "$type": "dimension",
      "$value": {
        "value": 2.25,
        "unit": "rem"
      },
      "$description": "Font size 36px (2.25rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-36)"
          }
        }
      }
    },
    "48": {
      "$type": "dimension",
      "$value": {
        "value": 3,
        "unit": "rem"
      },
      "$description": "Font size 48px (3rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-48)"
          }
        }
      }
    },
    "56": {
      "$type": "dimension",
      "$value": {
        "value": 3.5,
        "unit": "rem"
      },
      "$description": "Font size 56px (3.5rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-56)"
          }
        }
      }
    },
    "64": {
      "$type": "dimension",
      "$value": {
        "value": 4,
        "unit": "rem"
      },
      "$description": "Font size 64px (4rem) — the step name is the px value at the default root font size.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_SIZE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-size-64)"
          }
        }
      }
    }
  },
  "font-weight": {
    "light": {
      "$type": "fontWeight",
      "$value": 300,
      "$description": "Light (300) — large display text only; avoid at body sizes for legibility.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_STYLE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-weight-light)"
          }
        }
      }
    },
    "regular": {
      "$type": "fontWeight",
      "$value": 400,
      "$description": "Regular (400) — default body text weight.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_STYLE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-weight-regular)"
          }
        }
      }
    },
    "medium": {
      "$type": "fontWeight",
      "$value": 500,
      "$description": "Medium (500) — subtle emphasis, labels, and navigation.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_STYLE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-weight-medium)"
          }
        }
      }
    },
    "semibold": {
      "$type": "fontWeight",
      "$value": 600,
      "$description": "Semibold (600) — headings and strong emphasis.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_STYLE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-weight-semibold)"
          }
        }
      }
    },
    "bold": {
      "$type": "fontWeight",
      "$value": 700,
      "$description": "Bold (700) — highest emphasis; key figures and primary headings.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_STYLE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-weight-bold)"
          }
        }
      }
    },
    "extrabold": {
      "$type": "fontWeight",
      "$value": 800,
      "$description": "Extrabold (800) — hero/display headings (the prose scale uses 800 for h1).",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "FONT_STYLE"
          ],
          "codeSyntax": {
            "WEB": "var(--font-weight-extrabold)"
          }
        }
      }
    }
  },
  "line-height": {
    "none": {
      "$type": "number",
      "$value": 100,
      "$description": "Solid (100%) — display headings set at their own size (48/48, 56/56, 64/64 in the prose scale).",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LINE_HEIGHT"
          ],
          "codeSyntax": {
            "WEB": "var(--line-height-none)"
          }
        }
      }
    },
    "tight": {
      "$type": "number",
      "$value": 120,
      "$description": "Tight (120%) — large headings (36/30 in the prose scale).",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LINE_HEIGHT"
          ],
          "codeSyntax": {
            "WEB": "var(--line-height-tight)"
          }
        }
      }
    },
    "snug": {
      "$type": "number",
      "$value": 133.3333282,
      "$description": "Snug (133.33%) — mid-size headings (32/24, 40/30 in the prose scale).",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LINE_HEIGHT"
          ],
          "codeSyntax": {
            "WEB": "var(--line-height-snug)"
          }
        }
      }
    },
    "base": {
      "$type": "number",
      "$value": 150,
      "$description": "Base (150%) — default for UI text and dense content (24/16, 36/24 in the prose scale); meets WCAG 1.4.12 text-spacing.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LINE_HEIGHT"
          ],
          "codeSyntax": {
            "WEB": "var(--line-height-base)"
          }
        }
      }
    },
    "relaxed": {
      "$type": "number",
      "$value": 160,
      "$description": "Relaxed (160%) — subheadings and lead text (32/20 in the prose scale).",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LINE_HEIGHT"
          ],
          "codeSyntax": {
            "WEB": "var(--line-height-relaxed)"
          }
        }
      }
    },
    "loose": {
      "$type": "number",
      "$value": 175,
      "$description": "Loose (175%) — long-form body text (28/16 in the prose scale).",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LINE_HEIGHT"
          ],
          "codeSyntax": {
            "WEB": "var(--line-height-loose)"
          }
        }
      }
    }
  },
  "letter-spacing": {
    "tight": {
      "$type": "number",
      "$value": -1.25,
      "$description": "Tight tracking (-1.25%) — large display headings.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LETTER_SPACING"
          ],
          "codeSyntax": {
            "WEB": "var(--letter-spacing-tight)"
          }
        }
      }
    },
    "normal": {
      "$type": "number",
      "$value": 0,
      "$description": "Normal tracking (0%) — default for body text.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LETTER_SPACING"
          ],
          "codeSyntax": {
            "WEB": "var(--letter-spacing-normal)"
          }
        }
      }
    },
    "wide": {
      "$type": "number",
      "$value": 2.5,
      "$description": "Wide tracking (2.5%) — small caps, overlines, and small labels.",
      "$extensions": {
        "com.figma": {
          "hiddenFromPublishing": false,
          "scopes": [
            "LETTER_SPACING"
          ],
          "codeSyntax": {
            "WEB": "var(--letter-spacing-wide)"
          }
        }
      }
    }
  }
}
