{
  "$description": "Siontology design tokens. Mirrors brand/tokens.css; that file is the source of truth for the website. Colour is achromatic; the one hue (signal) means a refusal and is never decoration.",
  "color": {
    "light": {
      "bg": { "$value": "#ffffff", "$description": "Page background" },
      "bg-raised": { "$value": "#f4f4f4", "$description": "Code blocks and raised panels" },
      "ink": { "$value": "#000000", "$description": "Primary text, the mark, accepted and certified states" },
      "ink-2": { "$value": "#3d3d3d", "$description": "Secondary text" },
      "ink-3": { "$value": "#676767", "$description": "Tertiary text, pending states (5.6:1 on bg)" },
      "rule": { "$value": "#dcdcdc", "$description": "Hairline rules and grid lines" },
      "rule-strong": { "$value": "#a3a3a3", "$description": "Emphasised rules" },
      "signal": { "$value": "#c4271b", "$description": "Refusal only: conflict, withheld data, refused payment (5.7:1 on bg)" },
      "focus": { "$value": "#000000", "$description": "Focus ring" }
    },
    "dark": {
      "bg": { "$value": "#000000", "$description": "Page background; dark is the signature look" },
      "bg-raised": { "$value": "#0e0e0e" },
      "ink": { "$value": "#f5f5f5" },
      "ink-2": { "$value": "#b8b8b8" },
      "ink-3": { "$value": "#848484", "$description": "5.6:1 on bg" },
      "rule": { "$value": "#262626" },
      "rule-strong": { "$value": "#4d4d4d" },
      "signal": { "$value": "#ff5a4c", "$description": "6.8:1 on bg" },
      "focus": { "$value": "#ffffff" }
    },
    "logo": {
      "on-dark": { "$value": "#ffffff" },
      "on-light": { "$value": "#000000" },
      "tile": { "$value": "#000000", "$description": "Favicon and app-icon tile" }
    }
  },
  "font": {
    "family": {
      "sans": { "$value": ["Archivo", "Siontology Symbols", "ui-sans-serif", "system-ui", "sans-serif"], "$description": "Archivo variable (OFL), width 62-125, weight 100-900" },
      "mono": { "$value": ["Fragment Mono", "Siontology Symbols", "ui-monospace", "monospace"], "$description": "Fragment Mono (OFL), for code, commands and formulas only" },
      "symbols": { "$value": "Siontology Symbols", "$description": "A 9 KB subset of Noto Sans Math (OFL): Greek letters, arrows and logic operators" }
    },
    "width": {
      "display": { "$value": "125%" },
      "heading": { "$value": "112%" },
      "text": { "$value": "100%" }
    },
    "weight": {
      "display": { "$value": 480 },
      "heading": { "$value": 560 },
      "strong": { "$value": 600 },
      "label": { "$value": 520 },
      "text": { "$value": 400 }
    },
    "size": {
      "xs": { "$value": "12px" },
      "sm": { "$value": "14px" },
      "md": { "$value": "17px", "$description": "Body" },
      "lg": { "$value": "21px" },
      "xl": { "$value": "24px" },
      "2xl": { "$value": "28-36px", "$description": "clamp(1.75rem, 1.35rem + 1.6vw, 2.25rem)" },
      "3xl": { "$value": "32-48px", "$description": "clamp(2rem, 1.3rem + 2.8vw, 3rem)" },
      "4xl": { "$value": "38-72px", "$description": "clamp(2.375rem, 1.2rem + 4.8vw, 4.5rem)" },
      "5xl": { "$value": "42-92px", "$description": "clamp(2.625rem, 0.5rem + 5.9vw, 5.75rem)" }
    },
    "leading": {
      "display": { "$value": 1.02 },
      "heading": { "$value": 1.1 },
      "text": { "$value": 1.58 },
      "code": { "$value": 1.6 }
    },
    "tracking": {
      "display": { "$value": "-0.022em" },
      "heading": { "$value": "-0.012em" },
      "text": { "$value": "0.004em" },
      "label": { "$value": "0.01em" }
    },
    "measure": { "$value": "66ch" }
  },
  "space": {
    "1": { "$value": "4px" },
    "2": { "$value": "8px" },
    "3": { "$value": "12px" },
    "4": { "$value": "16px" },
    "5": { "$value": "24px" },
    "6": { "$value": "32px" },
    "7": { "$value": "48px" },
    "8": { "$value": "64px" },
    "9": { "$value": "96px" },
    "10": { "$value": "128px" },
    "gutter": { "$value": "16px (phones), 32px (from 768px)" },
    "page-max": { "$value": "1360px" }
  },
  "radius": {
    "0": { "$value": "0", "$description": "Default: every element is a cell on the grid" },
    "control": { "$value": "2px", "$description": "Buttons and inputs" },
    "device": { "$value": "10px", "$description": "Only for drawn devices in diagrams (a phone)" }
  },
  "rule": {
    "hair": { "$value": "1px" },
    "strong": { "$value": "2px" }
  },
  "motion": {
    "duration": {
      "instant": { "$value": "90ms" },
      "fast": { "$value": "160ms" },
      "base": { "$value": "240ms" },
      "slow": { "$value": "480ms" },
      "fold": { "$value": "720ms", "$description": "Two cells joining into one" },
      "pulse": { "$value": "1000ms", "$description": "One Pulse; the cadence of every protocol animation" }
    },
    "easing": {
      "standard": { "$value": "cubic-bezier(0.2, 0, 0, 1)" },
      "fold": { "$value": "cubic-bezier(0.65, 0, 0.35, 1)" },
      "exit": { "$value": "cubic-bezier(0.4, 0, 1, 1)" }
    },
    "reduced": { "$value": "All durations 0; animations show one static, labelled frame and offer a Play button" }
  }
}
