{
  "$description": "Gohu family design tokens. Each name maps to a CSS custom property with a --g- prefix (color.light.bg-elev is --g-bg-elev). Stylesheet: https://colors.gohu.ca/gohu.css",
  "color": {
    "brand": {
      "$description": "The same in every theme.",
      "navy": { "$type": "color", "$value": "#131a33", "$description": "The mark's tile." },
      "indigo": { "$type": "color", "$value": "#4353ff", "$description": "The mark's dot and app-icon glyphs. Not for buttons or links." },
      "indigo-deep": { "$type": "color", "$value": "#2b37cc", "$description": "Shaded faces in app icons." },
      "indigo-light": { "$type": "color", "$value": "#7c88ff", "$description": "Lit faces in app icons." }
    },
    "signal": {
      "$description": "The same in every theme.",
      "yes": { "$type": "color", "$value": "#27ae60" },
      "no": { "$type": "color", "$value": "#e74c3c" },
      "yes-tint": { "$type": "color", "$value": "rgba(39, 174, 96, 0.10)", "$description": "Yes button background." },
      "no-tint": { "$type": "color", "$value": "rgba(231, 76, 60, 0.10)", "$description": "No button background." }
    },
    "light": {
      "bg": { "$type": "color", "$value": "#ffffff" },
      "bg-elev": { "$type": "color", "$value": "#f6f7f9" },
      "bg-card": { "$type": "color", "$value": "#ffffff" },
      "border": { "$type": "color", "$value": "#e5e7eb" },
      "text": { "$type": "color", "$value": "#0e1116" },
      "text-muted": { "$type": "color", "$value": "#6b7280" },
      "accent": { "$type": "color", "$value": "#1652f0" },
      "on-accent": { "$type": "color", "$value": "#ffffff" },
      "accent-tint": { "$type": "color", "$value": "rgba(22, 82, 240, 0.15)" },
      "track": { "$type": "color", "$value": "#dbdbdc", "$description": "Text at 15% over bg." },
      "yes-text": { "$type": "color", "$value": "#1d7f46", "$description": "Yes label. Passes AA on yes-tint." },
      "no-text": { "$type": "color", "$value": "#c0392b", "$description": "No label. Passes AA on no-tint." }
    },
    "dark": {
      "bg": { "$type": "color", "$value": "#0b0d10" },
      "bg-elev": { "$type": "color", "$value": "#15181d" },
      "bg-card": { "$type": "color", "$value": "#15181d" },
      "border": { "$type": "color", "$value": "#25282d" },
      "text": { "$type": "color", "$value": "#f3f4f6" },
      "text-muted": { "$type": "color", "$value": "#9aa0a6" },
      "accent": { "$type": "color", "$value": "#3b6fff" },
      "on-accent": { "$type": "color", "$value": "#ffffff" },
      "accent-tint": { "$type": "color", "$value": "rgba(59, 111, 255, 0.15)" },
      "track": { "$type": "color", "$value": "#2e3032", "$description": "Text at 15% over bg." },
      "yes-text": { "$type": "color", "$value": "#27ae60" },
      "no-text": { "$type": "color", "$value": "#e74c3c" }
    }
  },
  "font": {
    "sans": { "$type": "fontFamily", "$value": ["Space Grotesk", "system-ui", "sans-serif"] },
    "mono": { "$type": "fontFamily", "$value": ["JetBrains Mono", "ui-monospace", "monospace"], "$description": "Numbers only: money, odds, counts." }
  },
  "fs": {
    "xs": { "$type": "dimension", "$value": "12px", "$description": "Footers, helper text. Line height 16px." },
    "sm": { "$type": "dimension", "$value": "14px", "$description": "Body copy, pills, labels. Line height 20px." },
    "base": { "$type": "dimension", "$value": "16px", "$description": "Buttons, inputs. Line height 24px." },
    "lg": { "$type": "dimension", "$value": "18px", "$description": "Card titles. Line height 1.375." },
    "xl": { "$type": "dimension", "$value": "20px" },
    "2xl": { "$type": "dimension", "$value": "24px", "$description": "Page titles. Line height 32px." },
    "3xl": { "$type": "dimension", "$value": "30px" },
    "4xl": { "$type": "dimension", "$value": "36px", "$description": "Display. Line height 40px." }
  },
  "radius": {
    "sm": { "$type": "dimension", "$value": "8px", "$description": "Buttons, inputs, Yes/No." },
    "md": { "$type": "dimension", "$value": "12px" },
    "lg": { "$type": "dimension", "$value": "16px", "$description": "Cards, disclosures, app tiles." },
    "pill": { "$type": "dimension", "$value": "9999px", "$description": "Filter pills, the primary action in a toolbar." }
  },
  "space": {
    "1": { "$type": "dimension", "$value": "4px" },
    "2": { "$type": "dimension", "$value": "8px" },
    "3": { "$type": "dimension", "$value": "12px" },
    "4": { "$type": "dimension", "$value": "16px" },
    "5": { "$type": "dimension", "$value": "20px" },
    "6": { "$type": "dimension", "$value": "24px" },
    "8": { "$type": "dimension", "$value": "32px" },
    "10": { "$type": "dimension", "$value": "40px" },
    "16": { "$type": "dimension", "$value": "64px" }
  },
  "layout": {
    "content": { "$type": "dimension", "$value": "768px" },
    "narrow": { "$type": "dimension", "$value": "384px" },
    "gutter": { "$type": "dimension", "$value": "16px" },
    "header-h": { "$type": "dimension", "$value": "64px" }
  },
  "motion": {
    "ease": { "$type": "cubicBezier", "$value": [0.25, 0.1, 0.25, 1] },
    "ease-spring": { "$type": "cubicBezier", "$value": [0.34, 1.56, 0.64, 1] },
    "dur-fast": { "$type": "duration", "$value": "140ms" },
    "dur": { "$type": "duration", "$value": "220ms" }
  }
}
