{
  "name": "Goodreads (iOS)",
  "version": 1,
  "meta": {
    "source": "github",
    "repo": "feimacode/open-design-agent-kit",
    "package": "claude-design-systems/goodreads-ios",
    "upstream": "open-design-v0.24.1",
    "synced": "2026-10-22"
  },
  "color": {
    "themes": [
      {
        "id": "light",
        "name": "Light"
      }
    ],
    "tokens": [
      {
        "name": "bg",
        "value": "#f4f1ea",
        "usage": "Page background — defines the brand canvas."
      },
      {
        "name": "surface",
        "value": "#ffffff",
        "usage": "Card / lifted container background."
      },
      {
        "name": "surface-warm",
        "value": "#f2f0ef",
        "usage": "Tertiary surface tier (kami warm-sand)."
      },
      {
        "name": "fg",
        "value": "#382110",
        "usage": "Primary text on `bg` and `surface`."
      },
      {
        "name": "fg-2",
        "value": "#523c2c",
        "usage": "Secondary text on `bg` and `surface`."
      },
      {
        "name": "muted",
        "value": "#6b5e47",
        "usage": "Subtext and captions on `bg` and `surface`."
      },
      {
        "name": "meta",
        "value": "#8b806d",
        "usage": "Tertiary FG / metadata tier (kami stone)."
      },
      {
        "name": "border",
        "value": "#ddd6c7",
        "usage": "Default border / card edge."
      },
      {
        "name": "border-soft",
        "value": "#e8e3d8",
        "usage": "Inner row separator that should not visually compete."
      },
      {
        "name": "accent",
        "value": "#409d69",
        "usage": "Brand accent. ≤2 visible uses per screen (lint enforced)."
      },
      {
        "name": "accent-on",
        "value": "#ffffff",
        "usage": "Text and icons on `accent` fills. Below 4.5:1 on `accent` (3.36:1), as the brand has it."
      },
      {
        "name": "accent-hover",
        "value": "#388c5d",
        "usage": "Hover state for elements using --accent as bg."
      },
      {
        "name": "accent-active",
        "value": "#338055",
        "usage": "Active state for elements using --accent as bg."
      },
      {
        "name": "success",
        "value": "#409d69",
        "usage": "Success state."
      },
      {
        "name": "warn",
        "value": "#e9a100",
        "usage": "Warning state."
      },
      {
        "name": "danger",
        "value": "#d9534f",
        "usage": "Danger state."
      }
    ]
  },
  "type": {
    "fonts": [],
    "families": {
      "display": "\"Merriweather\", -apple-system, BlinkMacSystemFont, \"SF Pro Text\", system-ui, sans-serif",
      "body": "\"Merriweather\", -apple-system, BlinkMacSystemFont, \"SF Pro Text\", system-ui, sans-serif",
      "mono": "ui-monospace, \"SF Mono\", Menlo, monospace"
    },
    "groups": [
      {
        "name": "Display",
        "family": "display",
        "styles": [
          {
            "name": "text-xl",
            "fontSize": "19px",
            "lineHeight": 1.15,
            "letterSpacing": "-0.01em",
            "usage": "Type scale step — H2."
          },
          {
            "name": "text-2xl",
            "fontSize": "23px",
            "lineHeight": 1.15,
            "letterSpacing": "-0.01em",
            "usage": "Type scale step — section title."
          },
          {
            "name": "text-3xl",
            "fontSize": "30px",
            "lineHeight": 1.15,
            "letterSpacing": "-0.01em",
            "usage": "Type scale step — H1."
          },
          {
            "name": "text-4xl",
            "fontSize": "39px",
            "lineHeight": 1.15,
            "letterSpacing": "-0.01em",
            "usage": "Type scale step — display / hero."
          }
        ]
      },
      {
        "name": "Text",
        "family": "body",
        "styles": [
          {
            "name": "text-xs",
            "fontSize": "10px",
            "lineHeight": 1.6,
            "usage": "Type scale step — extra small (≈11–12px)."
          },
          {
            "name": "text-sm",
            "fontSize": "14px",
            "lineHeight": 1.6,
            "usage": "Type scale step — small (≈12–14px)."
          },
          {
            "name": "text-base",
            "fontSize": "15px",
            "lineHeight": 1.6,
            "usage": "Type scale step — body baseline."
          },
          {
            "name": "text-md",
            "fontSize": "15px"
          },
          {
            "name": "text-lg",
            "fontSize": "17px",
            "lineHeight": 1.6,
            "usage": "Type scale step — H3 / featured body."
          }
        ]
      }
    ]
  },
  "spacing": {
    "tokens": [
      {
        "name": "section-y-desktop",
        "value": "64px",
        "usage": "Vertical padding between sections — desktop."
      },
      {
        "name": "section-y-tablet",
        "value": "40px",
        "usage": "Vertical padding between sections — tablet."
      },
      {
        "name": "section-y-phone",
        "value": "24px",
        "usage": "Vertical padding between sections — phone."
      },
      {
        "name": "container-max",
        "value": "430px",
        "usage": "Max content container width."
      },
      {
        "name": "container-gutter-desktop",
        "value": "16px",
        "usage": "Container side gutter — desktop."
      },
      {
        "name": "container-gutter-tablet",
        "value": "16px",
        "usage": "Container side gutter — tablet."
      },
      {
        "name": "container-gutter-phone",
        "value": "16px",
        "usage": "Container side gutter — phone."
      }
    ]
  },
  "radius": {
    "tokens": [
      {
        "name": "radius-sm",
        "value": "4px",
        "usage": "Small radius — buttons, inputs, chips."
      },
      {
        "name": "radius-md",
        "value": "4px",
        "usage": "Medium radius — cards, modals."
      },
      {
        "name": "radius-lg",
        "value": "8px",
        "usage": "Large radius — featured containers."
      },
      {
        "name": "radius-pill",
        "value": "9999px",
        "usage": "Pill radius — avatars, badges."
      }
    ]
  },
  "typeMetrics": {
    "note": "Line heights and tracking from the Open Design token contract.",
    "tokens": [
      {
        "name": "leading-body",
        "value": "1.6",
        "usage": "Line-height for reading body."
      },
      {
        "name": "leading-tight",
        "value": "1.15",
        "usage": "Line-height for headings."
      },
      {
        "name": "tracking-display",
        "value": "-0.01em",
        "usage": "Letter-spacing applied to display sizes."
      }
    ]
  }
}
