{
  "name": "Kastle",
  "slug": "kastle",
  "domain": "https://kastle.ai/",
  "sources": [
    "yc"
  ],
  "branding": {
    "colorScheme": "light",
    "fonts": [
      {
        "family": "General Sans",
        "role": "body"
      },
      {
        "family": "JetBrains Mono",
        "role": "monospace"
      },
      {
        "family": "Reckless Neue",
        "role": "heading"
      }
    ],
    "colors": {
      "primary": "#A855F7",
      "secondary": "#34D399",
      "accent": "#A855F7",
      "background": "#FFFFFF",
      "textPrimary": "#0000EE",
      "link": "#0000EE"
    },
    "typography": {
      "fontFamilies": {
        "primary": "General Sans",
        "heading": "Reckless Neue"
      },
      "fontStacks": {
        "heading": [
          "Reckless Neue",
          "sans-serif"
        ],
        "body": [
          "sans-serif"
        ],
        "paragraph": [
          "JetBrains Mono",
          "sans-serif"
        ]
      },
      "fontSizes": {
        "h1": "64px",
        "h2": "51px",
        "body": "15px"
      }
    },
    "spacing": {
      "baseUnit": 4,
      "borderRadius": "0px"
    },
    "components": {
      "buttonPrimary": {
        "background": "#A855F7",
        "textColor": "#000000",
        "borderRadius": "1000px",
        "borderRadiusCorners": {
          "topLeft": "1000px",
          "topRight": "1000px",
          "bottomRight": "1000px",
          "bottomLeft": "1000px"
        },
        "shadow": "rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.15) 0px -1px 0px 0px inset"
      },
      "buttonSecondary": {
        "background": "#FFFFFF",
        "textColor": "#000000",
        "borderRadius": "0px",
        "borderRadiusCorners": {
          "topLeft": "0px",
          "topRight": "0px",
          "bottomRight": "0px",
          "bottomLeft": "0px"
        },
        "shadow": "none"
      }
    },
    "images": {
      "logo": "data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22width%3A100%25%3Bheight%3A100%25%3B%22%20preserveAspectRatio%3D%22none%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20data-fc-idx%3D%220%22%3E%3Csvg%20viewBox%3D%220%200%20113.007%2016.072%22%20overflow%3D%22visible%22%20id%3D%22svg-185937953_2191%22%3E%3Cg%3E%3Cpath%20d%3D%22M%202.303%200.212%20L%202.303%206.94%20L%203.023%206.94%20L%2010.466%200.212%20L%2013.187%200.212%20L%205.187%207.429%20L%205.187%208.2%20L%2013.582%2015.86%20L%2010.605%2015.86%20L%202.978%208.899%20L%202.303%208.899%20L%202.303%2015.86%20L%200%2015.86%20L%200%200.212%20Z%20M%2023.842%200.212%20L%2030.097%2015.86%20L%2027.748%2015.86%20L%2026.004%2011.47%20L%2018.165%2011.47%20L%2016.421%2015.86%20L%2014.211%2015.86%20L%2020.401%200.212%20L%2023.844%200.212%20Z%20M%2018.911%209.578%20L%2025.238%209.578%20L%2022.4%202.477%20L%2021.702%202.477%20Z%20M%2037.616%200.002%20C%2041.338%200.002%2043.919%201.66%2043.919%204.696%20L%2043.919%205.935%20L%2041.64%205.935%20L%2041.64%204.696%20C%2041.64%202.851%2040.104%201.894%2037.616%201.894%20L%2037.268%201.894%20C%2034.756%201.894%2033.245%202.829%2033.245%204.277%20L%2033.245%204.535%20C%2033.245%206.053%2034.548%206.402%2038.221%207.104%20C%2042.314%207.899%2044.221%208.971%2044.221%2011.588%20L%2044.221%2011.867%20C%2044.221%2014.32%2041.966%2016.072%2037.664%2016.072%20L%2037.292%2016.072%20C%2032.942%2016.072%2030.735%2014.32%2030.735%2011.26%20L%2030.735%209.976%20L%2033.014%209.976%20L%2033.014%2011.26%20C%2033.014%2013.34%2034.502%2014.181%2037.316%2014.181%20L%2037.664%2014.181%20C%2040.455%2014.181%2041.945%2013.364%2041.945%2011.867%20L%2041.945%2011.61%20C%2041.945%2010.137%2040.618%209.554%2036.99%208.923%20C%2033.175%208.246%2030.944%207.335%2030.944%204.554%20L%2030.944%204.32%20C%2030.944%201.658%2033.362%200%2037.271%200%20L%2037.619%200%20Z%20M%2060.042%200.212%20L%2060.042%202.152%20L%2053.833%202.152%20L%2053.833%2015.863%20L%2051.53%2015.863%20L%2051.53%202.152%20L%2045.344%202.152%20L%2045.344%200.212%20Z%20M%2064.131%200.212%20L%2064.131%2013.923%20L%2073.131%2013.923%20L%2073.131%2015.863%20L%2061.828%2015.863%20L%2061.828%200.212%20Z%20M%2086.963%200.212%20L%2086.963%202.128%20L%2077.241%202.128%20L%2077.241%206.961%20L%2085.684%206.961%20L%2085.684%208.853%20L%2077.241%208.853%20L%2077.241%2013.945%20L%2086.963%2013.945%20L%2086.963%2015.86%20L%2074.94%2015.86%20L%2074.94%200.212%20Z%20M%20109%202%20L%20107.217%202%20L%20107.217%200.212%20L%20103.211%200.212%20L%20103.211%202%20L%20101.43%202%20L%20101.43%200.212%20L%2097.424%200.212%20L%2097.424%204.684%20L%20113.007%204.684%20L%20113.007%200.212%20L%20109%200.212%20Z%20M%20113.005%205.578%20L%20109.444%205.578%20L%20109.444%2015.863%20L%20113.005%2015.863%20Z%20M%2095.643%2015.863%20L%2099.65%2015.863%20L%2099.65%2012.287%20C%2099.65%2010.805%20100.845%209.605%20102.321%209.605%20C%20103.796%209.605%20104.991%2010.805%20104.991%2012.287%20L%20104.991%2015.863%20L%20108.552%2015.863%20L%20108.552%205.578%20L%2097.421%205.578%20L%2095.641%2015.863%20Z%22%20fill%3D%22var(--token-b25ea3a8-37e1-4c01-a024-8e82a4904623%2C%20rgb(250%2C%20250%2C%20250))%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%3C%2Fsvg%3E",
      "favicon": "https://framerusercontent.com/images/AIX1GGmHSzJBl1MbMDmFZ0EMHE.png",
      "ogImage": "https://framerusercontent.com/images/nWHdKftAnklKiPSskgcJquexg.png",
      "logoHref": "./"
    },
    "__llm_logo_reasoning": {
      "selectedIndex": 0,
      "reasoning": "Selected #0 because it is visible, located in the header, and links to the homepage, matching the brand 'Kastle'.",
      "confidence": 0.9,
      "source": "llm"
    },
    "__llm_button_reasoning": {
      "primary": {
        "index": 0,
        "text": "Create Agent",
        "reasoning": "Button #0 has a vibrant brand color (#A855F7) and action-oriented text ('Create Agent'), making it the primary CTA."
      },
      "secondary": {
        "index": 1,
        "text": "[data-button-map=\"1\"] [data-lucide] {\n                    width: 26px !important;\n                  ",
        "reasoning": "Button #1 has a different background color (#FFFFFF) and appears less prominent, suitable as a secondary button."
      },
      "confidence": 0.95
    },
    "personality": {
      "tone": "modern",
      "energy": "high",
      "targetAudience": "tech-savvy professionals in consumer lending"
    },
    "designSystem": {
      "framework": "custom",
      "componentLibrary": ""
    },
    "confidence": {
      "buttons": 0.95,
      "colors": 0.9,
      "overall": 0.925
    },
    "__llm_metadata": {
      "logoSelection": {
        "llmCalled": true,
        "llmSucceeded": true,
        "finalSource": "llm",
        "rawLogoSelection": {
          "selectedLogoIndex": 0,
          "selectedLogoReasoning": "Selected #0 because it is visible, located in the header, and links to the homepage, matching the brand 'Kastle'.",
          "confidence": 0.9
        }
      },
      "buttonClassification": {
        "llmCalled": true,
        "llmSucceeded": true
      }
    }
  },
  "images": [
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/kastle/9369b4d07d.webp",
      "alt": "Kastle - AI agents for consumer lending",
      "source_url": "https://www.kastle.ai/",
      "image_url": "https://framerusercontent.com/images/FQeZHGdZ7SRuroOCNiVBA57zKQ.png?width=2000&height=2000",
      "width": 2000,
      "height": 2000,
      "bytes": 22203,
      "query": "site:kastle.ai",
      "query_suffix": "site:kastle.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/kastle/89451c4160.webp",
      "alt": "Kastle - AI agents for consumer lending",
      "source_url": "https://www.kastle.ai/",
      "image_url": "https://framerusercontent.com/images/rRfX0aoXSpDFFUDkfUCniWta4Yo.png?scale-down-to=1024&width=1432&height=1590",
      "width": 922,
      "height": 1024,
      "bytes": 60846,
      "query": "site:kastle.ai",
      "query_suffix": "site:kastle.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/kastle/5e3f35f767.webp",
      "alt": "Kastle - AI agents for consumer lending",
      "source_url": "https://www.kastle.ai/",
      "image_url": "https://framerusercontent.com/images/nWHdKftAnklKiPSskgcJquexg.png",
      "width": 1200,
      "height": 630,
      "bytes": 90871,
      "query": "site:kastle.ai",
      "query_suffix": "site:kastle.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/kastle/01f631ae56.webp",
      "alt": "Kastle - AI agents for consumer lending",
      "source_url": "https://www.kastle.ai/",
      "image_url": "https://framerusercontent.com/images/822brqgogMl0fKW9VuHOVuLuwA.jpg?width=958&height=639",
      "width": 958,
      "height": 639,
      "bytes": 74279,
      "query": "site:kastle.ai",
      "query_suffix": "site:kastle.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/kastle/c2f0ae7c1a.webp",
      "alt": "Kastle - AI agents for consumer lending",
      "source_url": "https://www.kastle.ai/",
      "image_url": "https://framerusercontent.com/images/b1K7Ia1dSlIIjJnyGCX56Zir9w.png?width=3840&height=1337",
      "width": 3840,
      "height": 1337,
      "bytes": 36851,
      "query": "site:kastle.ai",
      "query_suffix": "site:kastle.ai"
    }
  ],
  "font_resources": [
    {
      "family": "General Sans",
      "google_fonts_url": "https://fonts.google.com/specimen/General+Sans"
    },
    {
      "family": "Reckless Neue",
      "google_fonts_url": "https://fonts.google.com/specimen/Reckless+Neue"
    }
  ],
  "google_fonts_css": "https://fonts.googleapis.com/css2?family=General+Sans&family=Reckless+Neue&display=swap",
  "font_download_note": "Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.",
  "page_url": "https://characterquilt.com/branding/kastle",
  "agent_instructions": "You are designing or implementing in Kastle's brand identity.\n\n# Brand profile\n- Company: Kastle\n- Source: https://kastle.ai/\n- Color scheme: light\n\n# Colors\n- primary: #A855F7\n- secondary: #34D399\n- accent: #A855F7\n- background: #FFFFFF\n- textPrimary: #0000EE\n- link: #0000EE\n\n# Typography\n- primary: General Sans — https://fonts.google.com/specimen/General+Sans\n- heading: Reckless Neue — https://fonts.google.com/specimen/Reckless+Neue\n\nLoad all fonts at once: <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=General+Sans&family=Reckless+Neue&display=swap\">\n\n# UI Components\n- buttonPrimary: background=#A855F7, textColor=#000000, borderRadius=1000px, shadow=rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.15) 0px -1px 0px 0px inset\n- buttonSecondary: background=#FFFFFF, textColor=#000000, borderRadius=0px, shadow=none\n\n# Brand voice\n- Tone: modern\n- Energy: high\n- Audience: tech-savvy professionals in consumer lending\n\n# Working with these fonts\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n# Full machine-readable profile\nhttps://characterquilt.com/branding/kastle.json",
  "page_markdown": "# Kastle Brand Identity\n\nA complete profile of **Kastle**'s visual system — colors, typography, components, and personality — extracted from https://kastle.ai/. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/kastle\n- Machine-readable JSON: https://characterquilt.com/branding/kastle.json\n- Per-page llms.txt: https://characterquilt.com/branding/kastle/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #A855F7 |\n| Accent | #A855F7 |\n| Body Font | General Sans |\n| Heading Font | Reckless Neue |\n\n## Color Palette\n\n- primary: #A855F7\n- secondary: #34D399\n- accent: #A855F7\n- background: #FFFFFF\n- textPrimary: #0000EE\n- link: #0000EE\n\n## Typography\n\n- primary: General Sans — https://fonts.google.com/specimen/General+Sans\n- heading: Reckless Neue — https://fonts.google.com/specimen/Reckless+Neue\n\n## Visual Assets\n\n- Logo: data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22width%3A100%25%3Bheight%3A100%25%3B%22%20preserveAspectRatio%3D%22none%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20data-fc-idx%3D%220%22%3E%3Csvg%20viewBox%3D%220%200%20113.007%2016.072%22%20overflow%3D%22visible%22%20id%3D%22svg-185937953_2191%22%3E%3Cg%3E%3Cpath%20d%3D%22M%202.303%200.212%20L%202.303%206.94%20L%203.023%206.94%20L%2010.466%200.212%20L%2013.187%200.212%20L%205.187%207.429%20L%205.187%208.2%20L%2013.582%2015.86%20L%2010.605%2015.86%20L%202.978%208.899%20L%202.303%208.899%20L%202.303%2015.86%20L%200%2015.86%20L%200%200.212%20Z%20M%2023.842%200.212%20L%2030.097%2015.86%20L%2027.748%2015.86%20L%2026.004%2011.47%20L%2018.165%2011.47%20L%2016.421%2015.86%20L%2014.211%2015.86%20L%2020.401%200.212%20L%2023.844%200.212%20Z%20M%2018.911%209.578%20L%2025.238%209.578%20L%2022.4%202.477%20L%2021.702%202.477%20Z%20M%2037.616%200.002%20C%2041.338%200.002%2043.919%201.66%2043.919%204.696%20L%2043.919%205.935%20L%2041.64%205.935%20L%2041.64%204.696%20C%2041.64%202.851%2040.104%201.894%2037.616%201.894%20L%2037.268%201.894%20C%2034.756%201.894%2033.245%202.829%2033.245%204.277%20L%2033.245%204.535%20C%2033.245%206.053%2034.548%206.402%2038.221%207.104%20C%2042.314%207.899%2044.221%208.971%2044.221%2011.588%20L%2044.221%2011.867%20C%2044.221%2014.32%2041.966%2016.072%2037.664%2016.072%20L%2037.292%2016.072%20C%2032.942%2016.072%2030.735%2014.32%2030.735%2011.26%20L%2030.735%209.976%20L%2033.014%209.976%20L%2033.014%2011.26%20C%2033.014%2013.34%2034.502%2014.181%2037.316%2014.181%20L%2037.664%2014.181%20C%2040.455%2014.181%2041.945%2013.364%2041.945%2011.867%20L%2041.945%2011.61%20C%2041.945%2010.137%2040.618%209.554%2036.99%208.923%20C%2033.175%208.246%2030.944%207.335%2030.944%204.554%20L%2030.944%204.32%20C%2030.944%201.658%2033.362%200%2037.271%200%20L%2037.619%200%20Z%20M%2060.042%200.212%20L%2060.042%202.152%20L%2053.833%202.152%20L%2053.833%2015.863%20L%2051.53%2015.863%20L%2051.53%202.152%20L%2045.344%202.152%20L%2045.344%200.212%20Z%20M%2064.131%200.212%20L%2064.131%2013.923%20L%2073.131%2013.923%20L%2073.131%2015.863%20L%2061.828%2015.863%20L%2061.828%200.212%20Z%20M%2086.963%200.212%20L%2086.963%202.128%20L%2077.241%202.128%20L%2077.241%206.961%20L%2085.684%206.961%20L%2085.684%208.853%20L%2077.241%208.853%20L%2077.241%2013.945%20L%2086.963%2013.945%20L%2086.963%2015.86%20L%2074.94%2015.86%20L%2074.94%200.212%20Z%20M%20109%202%20L%20107.217%202%20L%20107.217%200.212%20L%20103.211%200.212%20L%20103.211%202%20L%20101.43%202%20L%20101.43%200.212%20L%2097.424%200.212%20L%2097.424%204.684%20L%20113.007%204.684%20L%20113.007%200.212%20L%20109%200.212%20Z%20M%20113.005%205.578%20L%20109.444%205.578%20L%20109.444%2015.863%20L%20113.005%2015.863%20Z%20M%2095.643%2015.863%20L%2099.65%2015.863%20L%2099.65%2012.287%20C%2099.65%2010.805%20100.845%209.605%20102.321%209.605%20C%20103.796%209.605%20104.991%2010.805%20104.991%2012.287%20L%20104.991%2015.863%20L%20108.552%2015.863%20L%20108.552%205.578%20L%2097.421%205.578%20L%2095.641%2015.863%20Z%22%20fill%3D%22var(--token-b25ea3a8-37e1-4c01-a024-8e82a4904623%2C%20rgb(250%2C%20250%2C%20250))%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%3C%2Fsvg%3E\n- Favicon: https://framerusercontent.com/images/AIX1GGmHSzJBl1MbMDmFZ0EMHE.png\n- Social card (og:image): https://framerusercontent.com/images/nWHdKftAnklKiPSskgcJquexg.png\n\n## UI Components\n\n- buttonPrimary: background=#A855F7, textColor=#000000, borderRadius=1000px, shadow=rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.15) 0px -1px 0px 0px inset\n- buttonSecondary: background=#FFFFFF, textColor=#000000, borderRadius=0px, shadow=none\n\n## Brand Personality\n\nTone: modern · Energy: high · Audience: tech-savvy professionals in consumer lending\n\n## Kastle Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **Kastle - AI agents for consumer lending**\n  - Image: https://framerusercontent.com/images/FQeZHGdZ7SRuroOCNiVBA57zKQ.png?width=2000&height=2000\n  - Source: https://www.kastle.ai/\n- **Kastle - AI agents for consumer lending**\n  - Image: https://framerusercontent.com/images/rRfX0aoXSpDFFUDkfUCniWta4Yo.png?scale-down-to=1024&width=1432&height=1590\n  - Source: https://www.kastle.ai/\n- **Kastle - AI agents for consumer lending**\n  - Image: https://framerusercontent.com/images/nWHdKftAnklKiPSskgcJquexg.png\n  - Source: https://www.kastle.ai/\n- **Kastle - AI agents for consumer lending**\n  - Image: https://framerusercontent.com/images/822brqgogMl0fKW9VuHOVuLuwA.jpg?width=958&height=639\n  - Source: https://www.kastle.ai/\n- **Kastle - AI agents for consumer lending**\n  - Image: https://framerusercontent.com/images/b1K7Ia1dSlIIjJnyGCX56Zir9w.png?width=3840&height=1337\n  - Source: https://www.kastle.ai/\n\n## Working with these fonts\n\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n## Machine-Readable Profile\n\n```json\n{\n  \"colorScheme\": \"light\",\n  \"fonts\": [\n    {\n      \"family\": \"General Sans\",\n      \"role\": \"body\"\n    },\n    {\n      \"family\": \"JetBrains Mono\",\n      \"role\": \"monospace\"\n    },\n    {\n      \"family\": \"Reckless Neue\",\n      \"role\": \"heading\"\n    }\n  ],\n  \"colors\": {\n    \"primary\": \"#A855F7\",\n    \"secondary\": \"#34D399\",\n    \"accent\": \"#A855F7\",\n    \"background\": \"#FFFFFF\",\n    \"textPrimary\": \"#0000EE\",\n    \"link\": \"#0000EE\"\n  },\n  \"typography\": {\n    \"fontFamilies\": {\n      \"primary\": \"General Sans\",\n      \"heading\": \"Reckless Neue\"\n    },\n    \"fontStacks\": {\n      \"heading\": [\n        \"Reckless Neue\",\n        \"sans-serif\"\n      ],\n      \"body\": [\n        \"sans-serif\"\n      ],\n      \"paragraph\": [\n        \"JetBrains Mono\",\n        \"sans-serif\"\n      ]\n    },\n    \"fontSizes\": {\n      \"h1\": \"64px\",\n      \"h2\": \"51px\",\n      \"body\": \"15px\"\n    }\n  },\n  \"spacing\": {\n    \"baseUnit\": 4,\n    \"borderRadius\": \"0px\"\n  },\n  \"components\": {\n    \"buttonPrimary\": {\n      \"background\": \"#A855F7\",\n      \"textColor\": \"#000000\",\n      \"borderRadius\": \"1000px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"1000px\",\n        \"topRight\": \"1000px\",\n        \"bottomRight\": \"1000px\",\n        \"bottomLeft\": \"1000px\"\n      },\n      \"shadow\": \"rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.15) 0px -1px 0px 0px inset\"\n    },\n    \"buttonSecondary\": {\n      \"background\": \"#FFFFFF\",\n      \"textColor\": \"#000000\",\n      \"borderRadius\": \"0px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"0px\",\n        \"topRight\": \"0px\",\n        \"bottomRight\": \"0px\",\n        \"bottomLeft\": \"0px\"\n      },\n      \"shadow\": \"none\"\n    }\n  },\n  \"images\": {\n    \"logo\": \"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22width%3A100%25%3Bheight%3A100%25%3B%22%20preserveAspectRatio%3D%22none%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20data-fc-idx%3D%220%22%3E%3Csvg%20viewBox%3D%220%200%20113.007%2016.072%22%20overflow%3D%22visible%22%20id%3D%22svg-185937953_2191%22%3E%3Cg%3E%3Cpath%20d%3D%22M%202.303%200.212%20L%202.303%206.94%20L%203.023%206.94%20L%2010.466%200.212%20L%2013.187%200.212%20L%205.187%207.429%20L%205.187%208.2%20L%2013.582%2015.86%20L%2010.605%2015.86%20L%202.978%208.899%20L%202.303%208.899%20L%202.303%2015.86%20L%200%2015.86%20L%200%200.212%20Z%20M%2023.842%200.212%20L%2030.097%2015.86%20L%2027.748%2015.86%20L%2026.004%2011.47%20L%2018.165%2011.47%20L%2016.421%2015.86%20L%2014.211%2015.86%20L%2020.401%200.212%20L%2023.844%200.212%20Z%20M%2018.911%209.578%20L%2025.238%209.578%20L%2022.4%202.477%20L%2021.702%202.477%20Z%20M%2037.616%200.002%20C%2041.338%200.002%2043.919%201.66%2043.919%204.696%20L%2043.919%205.935%20L%2041.64%205.935%20L%2041.64%204.696%20C%2041.64%202.851%2040.104%201.894%2037.616%201.894%20L%2037.268%201.894%20C%2034.756%201.894%2033.245%202.829%2033.245%204.277%20L%2033.245%204.535%20C%2033.245%206.053%2034.548%206.402%2038.221%207.104%20C%2042.314%207.899%2044.221%208.971%2044.221%2011.588%20L%2044.221%2011.867%20C%2044.221%2014.32%2041.966%2016.072%2037.664%2016.072%20L%2037.292%2016.072%20C%2032.942%2016.072%2030.735%2014.32%2030.735%2011.26%20L%2030.735%209.976%20L%2033.014%209.976%20L%2033.014%2011.26%20C%2033.014%2013.34%2034.502%2014.181%2037.316%2014.181%20L%2037.664%2014.181%20C%2040.455%2014.181%2041.945%2013.364%2041.945%2011.867%20L%2041.945%2011.61%20C%2041.945%2010.137%2040.618%209.554%2036.99%208.923%20C%2033.175%208.246%2030.944%207.335%2030.944%204.554%20L%2030.944%204.32%20C%2030.944%201.658%2033.362%200%2037.271%200%20L%2037.619%200%20Z%20M%2060.042%200.212%20L%2060.042%202.152%20L%2053.833%202.152%20L%2053.833%2015.863%20L%2051.53%2015.863%20L%2051.53%202.152%20L%2045.344%202.152%20L%2045.344%200.212%20Z%20M%2064.131%200.212%20L%2064.131%2013.923%20L%2073.131%2013.923%20L%2073.131%2015.863%20L%2061.828%2015.863%20L%2061.828%200.212%20Z%20M%2086.963%200.212%20L%2086.963%202.128%20L%2077.241%202.128%20L%2077.241%206.961%20L%2085.684%206.961%20L%2085.684%208.853%20L%2077.241%208.853%20L%2077.241%2013.945%20L%2086.963%2013.945%20L%2086.963%2015.86%20L%2074.94%2015.86%20L%2074.94%200.212%20Z%20M%20109%202%20L%20107.217%202%20L%20107.217%200.212%20L%20103.211%200.212%20L%20103.211%202%20L%20101.43%202%20L%20101.43%200.212%20L%2097.424%200.212%20L%2097.424%204.684%20L%20113.007%204.684%20L%20113.007%200.212%20L%20109%200.212%20Z%20M%20113.005%205.578%20L%20109.444%205.578%20L%20109.444%2015.863%20L%20113.005%2015.863%20Z%20M%2095.643%2015.863%20L%2099.65%2015.863%20L%2099.65%2012.287%20C%2099.65%2010.805%20100.845%209.605%20102.321%209.605%20C%20103.796%209.605%20104.991%2010.805%20104.991%2012.287%20L%20104.991%2015.863%20L%20108.552%2015.863%20L%20108.552%205.578%20L%2097.421%205.578%20L%2095.641%2015.863%20Z%22%20fill%3D%22var(--token-b25ea3a8-37e1-4c01-a024-8e82a4904623%2C%20rgb(250%2C%20250%2C%20250))%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%3C%2Fsvg%3E\",\n    \"favicon\": \"https://framerusercontent.com/images/AIX1GGmHSzJBl1MbMDmFZ0EMHE.png\",\n    \"ogImage\": \"https://framerusercontent.com/images/nWHdKftAnklKiPSskgcJquexg.png\",\n    \"logoHref\": \"./\"\n  },\n  \"__llm_logo_reasoning\": {\n    \"selectedIndex\": 0,\n    \"reasoning\": \"Selected #0 because it is visible, located in the header, and links to the homepage, matching the brand 'Kastle'.\",\n    \"confidence\": 0.9,\n    \"source\": \"llm\"\n  },\n  \"__llm_button_reasoning\": {\n    \"primary\": {\n      \"index\": 0,\n      \"text\": \"Create Agent\",\n      \"reasoning\": \"Button #0 has a vibrant brand color (#A855F7) and action-oriented text ('Create Agent'), making it the primary CTA.\"\n    },\n    \"secondary\": {\n      \"index\": 1,\n      \"text\": \"[data-button-map=\\\"1\\\"] [data-lucide] {\\n                    width: 26px !important;\\n                  \",\n      \"reasoning\": \"Button #1 has a different background color (#FFFFFF) and appears less prominent, suitable as a secondary button.\"\n    },\n    \"confidence\": 0.95\n  },\n  \"personality\": {\n    \"tone\": \"modern\",\n    \"energy\": \"high\",\n    \"targetAudience\": \"tech-savvy professionals in consumer lending\"\n  },\n  \"designSystem\": {\n    \"framework\": \"custom\",\n    \"componentLibrary\": \"\"\n  },\n  \"confidence\": {\n    \"buttons\": 0.95,\n    \"colors\": 0.9,\n    \"overall\": 0.925\n  },\n  \"__llm_metadata\": {\n    \"logoSelection\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true,\n      \"finalSource\": \"llm\",\n      \"rawLogoSelection\": {\n        \"selectedLogoIndex\": 0,\n        \"selectedLogoReasoning\": \"Selected #0 because it is visible, located in the header, and links to the homepage, matching the brand 'Kastle'.\",\n        \"confidence\": 0.9\n      }\n    },\n    \"buttonClassification\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true\n    }\n  }\n}\n```\n"
}