{
"name": "Lovable",
"slug": "lovable",
"domain": "https://lovable.dev/",
"sources": [
"apollo_us_mid",
"ramp_top_saas_feb_2026",
"startups_gallery"
],
"branding": {
"colorScheme": "light",
"fonts": [
{
"family": "Camera Plain Variable",
"role": "unknown"
}
],
"colors": {
"primary": "#000000",
"accent": "#1E1E1E",
"background": "#FCFBF8",
"textPrimary": "#1C1C1C",
"link": "#000000"
},
"typography": {
"fontFamilies": {
"primary": "Camera Plain Variable",
"heading": "Camera Plain Variable"
},
"fontStacks": {
"heading": [
"Camera Plain Variable",
"ui-sans-serif",
"system-ui",
"sans-serif"
],
"body": [
"Camera Plain Variable",
"ui-sans-serif",
"system-ui",
"sans-serif"
],
"paragraph": [
"Camera Plain Variable",
"ui-sans-serif",
"system-ui",
"sans-serif"
]
},
"fontSizes": {
"h1": "20px",
"h2": "48px",
"body": "20px"
}
},
"spacing": {
"baseUnit": 4,
"borderRadius": "4px"
},
"components": {
"buttonPrimary": {
"background": "#1E1E1E",
"textColor": "#FAFAFA",
"borderRadius": "8px",
"borderRadiusCorners": {
"topLeft": "8px",
"topRight": "8px",
"bottomRight": "8px",
"bottomLeft": "8px"
},
"shadow": "rgba(0, 0, 0, 0.08) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.16) 0px -1px 0px 0px inset, rgb(0, 0, 0) 0px 0px 0px 1px inset, rgba(255, 255, 255, 0.24) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.16) 0px -1px 0px 0px inset, rgba(0, 0, 0, 0.12) 0px 2px 2px -1px, rgba(0, 0, 0, 0.12) 0px 4px 4px -2px"
},
"buttonSecondary": {
"background": "transparent",
"textColor": "#2E2E2D",
"borderColor": "#C5C4C2",
"borderRadius": "8px",
"borderRadiusCorners": {
"topLeft": "8px",
"topRight": "8px",
"bottomRight": "8px",
"bottomLeft": "8px"
},
"shadow": "none"
}
},
"images": {
"logo": "data:image/svg+xml;utf8,%3Csvg%20role%3D%22img%22%20aria-label%3D%22Lovable%22%20viewBox%3D%220%200%20755%20129%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22shrink-0%20text-foreground%20h-6%20lg%3Ah-%5B18px%5D%22%20data-fc-idx%3D%220%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M303.603%2030.94c9.149%200%2017.163%201.982%2024.04%205.945%206.876%203.963%2012.18%209.616%2015.91%2016.959%203.788%207.285%205.682%2015.852%205.682%2025.7%200%209.85-1.894%2018.447-5.682%2025.79-3.73%207.343-9.034%2012.996-15.91%2016.959-6.877%203.963-14.891%205.944-24.04%205.944-9.15%200-17.193-1.981-24.128-5.944-6.877-3.963-12.21-9.616-15.998-16.959-3.73-7.343-5.595-15.94-5.595-25.79%200-9.848%201.865-18.415%205.595-25.7%203.788-7.343%209.121-12.996%2015.998-16.96%206.935-3.962%2014.978-5.944%2024.128-5.944Zm176.168%200c8.683%200%2016.026%201.428%2022.029%204.284%206.002%202.797%2010.519%206.818%2013.55%2012.063%203.088%205.245%204.633%2011.511%204.633%2018.796v38.464c0%204.138.292%207.984.874%2011.539.641%203.497%201.545%205.712%202.71%206.644v2.972H496.03c-.641-2.506-1.136-5.332-1.486-8.479-.116-1.04-.214-2.1-.298-3.178a32.537%2032.537%200%200%201-2.149%202.828c-2.914%203.438-6.674%206.207-11.278%208.305-4.545%202.039-9.732%203.059-15.56%203.059-5.77%200-10.957-1.136-15.561-3.409-4.546-2.273-8.13-5.507-10.753-9.703-2.564-4.254-3.846-9.208-3.846-14.861%200-8.626%202.535-15.211%207.605-19.757%205.07-4.604%2012.385-7.605%2021.942-9.004l15.999-2.273c3.205-.467%205.74-1.05%207.605-1.749%201.865-.699%203.234-1.632%204.108-2.797.875-1.224%201.312-2.768%201.312-4.633%200-1.923-.524-3.672-1.573-5.245-.991-1.632-2.507-2.915-4.546-3.847-1.982-.99-4.4-1.486-7.256-1.486-4.546%200-8.189%201.195-10.928%203.585-2.739%202.33-4.225%205.536-4.458%209.615h-27.362c.233-6.178%202.098-11.656%205.595-16.435%203.555-4.837%208.479-8.596%2014.773-11.277%206.294-2.68%2013.58-4.02%2021.856-4.02Zm78.465%2015.936a31.342%2031.342%200%200%201%203.148-4.92c2.797-3.556%206.206-6.267%2010.227-8.132%204.022-1.923%208.538-2.884%2013.55-2.884%207.518%200%2014.046%201.952%2019.582%205.857%205.537%203.905%209.792%209.529%2012.764%2016.872%202.972%207.285%204.458%2015.94%204.458%2025.964%200%209.965-1.516%2018.62-4.546%2025.963-3.031%207.285-7.372%2012.879-13.025%2016.784-5.595%203.905-12.151%205.857-19.669%205.857-5.012%200-9.5-.873-13.463-2.622-3.905-1.748-7.227-4.371-9.966-7.868a31.218%2031.218%200%200%201-3.321-5.4v13.355h-26.227V.342h26.488v46.534ZM710.451%2030.94c8.567%200%2016.173%201.865%2022.817%205.595%206.643%203.73%2011.802%209.15%2015.473%2016.26%203.73%207.11%205.595%2015.619%205.595%2025.526%200%203.555-.03%206.382-.088%208.48h-63.814c.251%204.09%201.038%207.645%202.359%2010.665%201.632%203.73%203.963%206.556%206.993%208.479%203.031%201.865%206.615%202.798%2010.753%202.798%204.546%200%208.305-1.166%2011.277-3.497%202.972-2.389%204.838-5.74%205.595-10.053h26.487c-.815%206.761-3.117%2012.618-6.905%2017.572-3.73%204.953-8.713%208.771-14.949%2011.452-6.236%202.681-13.492%204.02-21.768%204.02-9.324%200-17.425-1.777-24.302-5.332-6.877-3.613-12.239-9.033-16.085-16.259-3.788-7.227-5.682-16.173-5.682-26.838%200-10.14%201.981-18.883%205.944-26.226%203.963-7.401%209.441-13.026%2016.435-16.872%206.993-3.846%2014.949-5.77%2023.865-5.77Zm-502.536%2069.546h32.087c23.362%200%2020.196%2025.163%2020.189%2025.216h-79.726V.342h27.45v100.144Zm185.126-2.03%2019.101-64.981h27.362l-31.908%2092.227h-29.46l-33.132-92.227h28.148l19.889%2064.981Zm263.245%2027.246h-26.488V.342h26.488v125.36ZM493.845%2080.731a13.951%2013.951%200%200%201-3.06%201.961c-2.04.991-4.808%201.836-8.305%202.536l-6.731%201.311c-4.487.874-7.868%202.214-10.141%204.02-2.214%201.807-3.322%204.343-3.322%207.606s1.195%205.857%203.584%207.78c2.39%201.924%205.45%202.886%209.18%202.886%203.73%200%207.022-.816%209.878-2.448%202.855-1.69%205.041-4.021%206.556-6.993%201.574-2.972%202.361-6.353%202.361-10.141v-8.518Zm82.662-29.597c-3.905%200-7.256%201.194-10.053%203.584-2.739%202.33-4.808%205.653-6.207%209.966-1.399%204.254-2.098%209.237-2.098%2014.949%200%205.77.699%2010.782%202.098%2015.036s3.468%207.547%206.207%209.878c2.797%202.331%206.148%203.497%2010.053%203.497%203.963%200%207.285-1.166%209.966-3.497%202.739-2.331%204.778-5.624%206.119-9.878%201.398-4.254%202.098-9.267%202.098-15.036%200-5.77-.7-10.782-2.098-15.036-1.341-4.255-3.38-7.548-6.119-9.88-2.681-2.389-6.003-3.583-9.966-3.583Zm-272.904.088c-3.847%200-7.169%201.078-9.966%203.234-2.739%202.098-4.838%205.274-6.295%209.528-1.457%204.196-2.185%209.383-2.185%2015.56%200%206.178.728%2011.395%202.185%2015.65%201.457%204.254%203.556%207.459%206.295%209.616%202.797%202.097%206.119%203.146%209.966%203.146%203.846%200%207.138-1.049%209.877-3.146%202.74-2.157%204.837-5.334%206.294-9.53%201.457-4.254%202.186-9.5%202.186-15.735%200-9.266-1.602-16.289-4.808-21.068-3.205-4.837-7.722-7.255-13.549-7.255Zm406.237-1.137c-3.905%200-7.343.962-10.316%202.885-2.914%201.865-5.187%204.662-6.819%208.392-.893%202.117-1.532%204.477-1.918%207.081h36.494c-.261-3.3-.917-6.156-1.969-8.567-1.34-3.264-3.321-5.712-5.944-7.344-2.622-1.631-5.799-2.447-9.528-2.447Z%22%20style%3D%22fill%3A%20rgb(28%2C%2028%2C%2028)%20!important%3B%22%2F%3E%3Cmask%20id%3D%22_R_9bajhepolliv9fkl5b_-b%22%20width%3D%22124%22%20height%3D%22126%22%20x%3D%220%22%20y%3D%220%22%20maskUnits%3D%22userSpaceOnUse%22%20style%3D%22mask-type%3A%20alpha%3B%20fill%3A%20none%20!important%3B%22%3E%3Cpath%20fill%3D%22url(%23_R_9bajhepolliv9fkl5b_-a)%22%20fill-rule%3D%22evenodd%22%20d%3D%22M37.3.343c20.43%200%2036.991%2016.605%2036.991%2037.088v14.095h12.31c20.43%200%2036.991%2016.605%2036.991%2037.088s-16.561%2037.088-36.99%2037.088H.31V37.431C.31%2016.948%2016.87.343%2037.3.343Z%22%20clip-rule%3D%22evenodd%22%20style%3D%22fill%3A%20url(%26quot%3B%23_R_9bajhepolliv9fkl5b_-a%26quot%3B)%20!important%3B%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23_R_9bajhepolliv9fkl5b_-b)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-c)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Ccircle%20cx%3D%2254.389%22%20cy%3D%2267.257%22%20r%3D%2283.452%22%20fill%3D%22%234B73FF%22%20style%3D%22fill%3A%20rgb(75%2C%20115%2C%20255)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-d)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cellipse%20cx%3D%2263.557%22%20cy%3D%2221.462%22%20fill%3D%22%23FF66F4%22%20rx%3D%22106.879%22%20ry%3D%2283.452%22%20style%3D%22fill%3A%20rgb(255%2C%20102%2C%20244)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-e)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cellipse%20cx%3D%2280.992%22%20cy%3D%225.757%22%20fill%3D%22%23FF0105%22%20rx%3D%2283.452%22%20ry%3D%2273.289%22%20style%3D%22fill%3A%20rgb(255%2C%201%2C%205)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-f)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Ccircle%20cx%3D%2265.043%22%20cy%3D%2221.442%22%20r%3D%2250.188%22%20fill%3D%22%23FE7B02%22%20style%3D%22fill%3A%20rgb(254%2C%20123%2C%202)%20!important%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-c%22%20width%3D%22241.704%22%20height%3D%22241.704%22%20x%3D%22-66.463%22%20y%3D%22-53.596%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-d%22%20width%3D%22288.559%22%20height%3D%22241.704%22%20x%3D%22-80.723%22%20y%3D%22-99.39%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-e%22%20width%3D%22241.704%22%20height%3D%22221.378%22%20x%3D%22-39.86%22%20y%3D%22-104.931%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-f%22%20width%3D%22175.176%22%20height%3D%22175.176%22%20x%3D%22-22.545%22%20y%3D%22-66.146%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3ClinearGradient%20id%3D%22_R_9bajhepolliv9fkl5b_-a%22%20x1%3D%2241.797%22%20x2%3D%2279.356%22%20y1%3D%2222.372%22%20y2%3D%22125.655%22%20gradientUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cstop%20offset%3D%22.025%22%20stop-color%3D%22%23FF8E63%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(255%2C%20142%2C%2099)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%22.56%22%20stop-color%3D%22%23FF7EB0%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(255%2C%20126%2C%20176)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%22.95%22%20stop-color%3D%22%234B73FF%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(75%2C%20115%2C%20255)%20!important%3B%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E",
"favicon": "https://lovable.dev/favicon.svg",
"ogImage": "https://lovable.dev/img/opengraph-image.png",
"logoHref": "/",
"logoAlt": "Lovable"
},
"__llm_logo_reasoning": {
"selectedIndex": 3,
"reasoning": "Selected #3 because it is visible, located in the header, links to the homepage, and matches the brand name 'Lovable'.",
"confidence": 0.9,
"source": "llm"
},
"__llm_button_reasoning": {
"primary": {
"index": 0,
"text": "Get started",
"reasoning": "Button #0 with text 'Get started' is likely the primary CTA due to its action-oriented text and dark background color, which stands out as a strong call-to-action."
},
"secondary": {
"index": 6,
"text": "View all",
"reasoning": "Button #6 with text 'View all' is chosen as secondary due to its transparent background, making it less prominent than the primary button."
},
"confidence": 0.9
},
"personality": {
"tone": "modern",
"energy": "medium",
"targetAudience": "developers and tech enthusiasts"
},
"designSystem": {
"framework": "tailwind",
"componentLibrary": ""
},
"confidence": {
"buttons": 0.9,
"colors": 0.9,
"overall": 0.9
},
"__llm_metadata": {
"logoSelection": {
"llmCalled": true,
"llmSucceeded": true,
"finalSource": "llm",
"rawLogoSelection": {
"selectedLogoIndex": 3,
"selectedLogoReasoning": "Selected #3 because it is visible, located in the header, links to the homepage, and matches the brand name 'Lovable'.",
"confidence": 0.9
}
},
"buttonClassification": {
"llmCalled": true,
"llmSucceeded": true
}
}
},
"images": [
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/lovable/20052fad6f.webp",
"alt": "Perspective - Lifestyle Blog Template | Lovable",
"source_url": "https://lovable.dev/templates/websites/blog/perspective-lifestyle",
"image_url": "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/a8b116a9-20b6-43a8-ae91-693ba5a35c3b/id-preview-172571d0--7410f81b-8218-4f2d-bb32-1ba1f84eabb2.lovable.app-1760028648399.png",
"width": 1920,
"height": 1080,
"bytes": 449208,
"query": "site:lovable.dev blog",
"query_suffix": "site:lovable.dev blog"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/lovable/ffbaeda875.webp",
"alt": "How Long Should a Blog Post Be? Data-Backed Guide 2026 | Lovable",
"source_url": "https://lovable.dev/guides/how-long-should-blog-post-be-data-backed-guide",
"image_url": "https://lovable.dev/content/guides/thumbnails/how-long-should-blog-post-be-data-backed-guide.jpg",
"width": 1536,
"height": 1024,
"bytes": 2956375,
"query": "site:lovable.dev blog",
"query_suffix": "site:lovable.dev blog"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/lovable/f4d9be9687.webp",
"alt": "How to maintain brand control when building with Lovable | Lovable",
"source_url": "https://lovable.dev/blog/how-to-maintain-brand-control-when-build-with-lovable",
"image_url": "https://lovable.dev/content/news/covers/brand-control-marketing-design.png",
"width": 3840,
"height": 2160,
"bytes": 3958328,
"query": "site:lovable.dev",
"query_suffix": "site:lovable.dev"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/lovable/92b278f3b8.webp",
"alt": "How to Set Up a Blog from Scratch | Lovable",
"source_url": "https://lovable.dev/guides/how-to-set-up-blog-from-scratch",
"image_url": "https://lovable.dev/content/guides/thumbnails/how-to-set-up-blog-from-scratch.jpg",
"width": 1536,
"height": 1024,
"bytes": 2365880,
"query": "site:lovable.dev blog",
"query_suffix": "site:lovable.dev blog"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/lovable/6843c9a453.webp",
"alt": "Lifestyle & Wellness Blog Template | Lovable",
"source_url": "https://lovable.dev/templates/websites/blog/evolve-lifestyle-wellness-blog-template",
"image_url": "https://lovable.dev/cdn-cgi/image/width=3840,f=auto,fit=scale-down/templates/evolve-lifestyle-wellness-blog-template-screenshot.webp",
"width": 1280,
"height": 720,
"bytes": 58187,
"query": "site:lovable.dev blog",
"query_suffix": "site:lovable.dev blog"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/lovable/fb26499445.webp",
"alt": "10 Blog Niche Ideas That Actually Make Money in 2026 | Lovable",
"source_url": "https://lovable.dev/guides/profitable-blog-niches-2026",
"image_url": "https://lovable.dev/content/guides/thumbnails/profitable-blog-niches-2026.jpg",
"width": 1536,
"height": 1024,
"bytes": 2897467,
"query": "site:lovable.dev blog",
"query_suffix": "site:lovable.dev blog"
}
],
"font_resources": [
{
"family": "Camera Plain Variable",
"google_fonts_url": "https://fonts.google.com/specimen/Camera+Plain+Variable"
},
{
"family": "Camera Plain Variable",
"google_fonts_url": "https://fonts.google.com/specimen/Camera+Plain+Variable"
}
],
"google_fonts_css": "https://fonts.googleapis.com/css2?family=Camera+Plain+Variable&family=Camera+Plain+Variable&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/lovable",
"agent_instructions": "You are designing or implementing in Lovable's brand identity.\n\n# Brand profile\n- Company: Lovable\n- Source: https://lovable.dev/\n- Color scheme: light\n\n# Colors\n- primary: #000000\n- accent: #1E1E1E\n- background: #FCFBF8\n- textPrimary: #1C1C1C\n- link: #000000\n\n# Typography\n- primary: Camera Plain Variable — https://fonts.google.com/specimen/Camera+Plain+Variable\n- heading: Camera Plain Variable — https://fonts.google.com/specimen/Camera+Plain+Variable\n\nLoad all fonts at once: \n\n# UI Components\n- buttonPrimary: background=#1E1E1E, textColor=#FAFAFA, borderRadius=8px, shadow=rgba(0, 0, 0, 0.08) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.16) 0px -1px 0px 0px inset, rgb(0, 0, 0) 0px 0px 0px 1px inset, rgba(255, 255, 255, 0.24) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.16) 0px -1px 0px 0px inset, rgba(0, 0, 0, 0.12) 0px 2px 2px -1px, rgba(0, 0, 0, 0.12) 0px 4px 4px -2px\n- buttonSecondary: background=transparent, textColor=#2E2E2D, borderColor=#C5C4C2, borderRadius=8px, shadow=none\n\n# Brand voice\n- Tone: modern\n- Energy: medium\n- Audience: developers and tech enthusiasts\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/lovable.json",
"page_markdown": "# Lovable Brand Identity\n\nA complete profile of **Lovable**'s visual system — colors, typography, components, and personality — extracted from https://lovable.dev/. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/lovable\n- Machine-readable JSON: https://characterquilt.com/branding/lovable.json\n- Per-page llms.txt: https://characterquilt.com/branding/lovable/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #000000 |\n| Accent | #1E1E1E |\n| Body Font | Camera Plain Variable |\n| Heading Font | Camera Plain Variable |\n\n## Color Palette\n\n- primary: #000000\n- accent: #1E1E1E\n- background: #FCFBF8\n- textPrimary: #1C1C1C\n- link: #000000\n\n## Typography\n\n- primary: Camera Plain Variable — https://fonts.google.com/specimen/Camera+Plain+Variable\n- heading: Camera Plain Variable — https://fonts.google.com/specimen/Camera+Plain+Variable\n\n## Visual Assets\n\n- Logo: data:image/svg+xml;utf8,%3Csvg%20role%3D%22img%22%20aria-label%3D%22Lovable%22%20viewBox%3D%220%200%20755%20129%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22shrink-0%20text-foreground%20h-6%20lg%3Ah-%5B18px%5D%22%20data-fc-idx%3D%220%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M303.603%2030.94c9.149%200%2017.163%201.982%2024.04%205.945%206.876%203.963%2012.18%209.616%2015.91%2016.959%203.788%207.285%205.682%2015.852%205.682%2025.7%200%209.85-1.894%2018.447-5.682%2025.79-3.73%207.343-9.034%2012.996-15.91%2016.959-6.877%203.963-14.891%205.944-24.04%205.944-9.15%200-17.193-1.981-24.128-5.944-6.877-3.963-12.21-9.616-15.998-16.959-3.73-7.343-5.595-15.94-5.595-25.79%200-9.848%201.865-18.415%205.595-25.7%203.788-7.343%209.121-12.996%2015.998-16.96%206.935-3.962%2014.978-5.944%2024.128-5.944Zm176.168%200c8.683%200%2016.026%201.428%2022.029%204.284%206.002%202.797%2010.519%206.818%2013.55%2012.063%203.088%205.245%204.633%2011.511%204.633%2018.796v38.464c0%204.138.292%207.984.874%2011.539.641%203.497%201.545%205.712%202.71%206.644v2.972H496.03c-.641-2.506-1.136-5.332-1.486-8.479-.116-1.04-.214-2.1-.298-3.178a32.537%2032.537%200%200%201-2.149%202.828c-2.914%203.438-6.674%206.207-11.278%208.305-4.545%202.039-9.732%203.059-15.56%203.059-5.77%200-10.957-1.136-15.561-3.409-4.546-2.273-8.13-5.507-10.753-9.703-2.564-4.254-3.846-9.208-3.846-14.861%200-8.626%202.535-15.211%207.605-19.757%205.07-4.604%2012.385-7.605%2021.942-9.004l15.999-2.273c3.205-.467%205.74-1.05%207.605-1.749%201.865-.699%203.234-1.632%204.108-2.797.875-1.224%201.312-2.768%201.312-4.633%200-1.923-.524-3.672-1.573-5.245-.991-1.632-2.507-2.915-4.546-3.847-1.982-.99-4.4-1.486-7.256-1.486-4.546%200-8.189%201.195-10.928%203.585-2.739%202.33-4.225%205.536-4.458%209.615h-27.362c.233-6.178%202.098-11.656%205.595-16.435%203.555-4.837%208.479-8.596%2014.773-11.277%206.294-2.68%2013.58-4.02%2021.856-4.02Zm78.465%2015.936a31.342%2031.342%200%200%201%203.148-4.92c2.797-3.556%206.206-6.267%2010.227-8.132%204.022-1.923%208.538-2.884%2013.55-2.884%207.518%200%2014.046%201.952%2019.582%205.857%205.537%203.905%209.792%209.529%2012.764%2016.872%202.972%207.285%204.458%2015.94%204.458%2025.964%200%209.965-1.516%2018.62-4.546%2025.963-3.031%207.285-7.372%2012.879-13.025%2016.784-5.595%203.905-12.151%205.857-19.669%205.857-5.012%200-9.5-.873-13.463-2.622-3.905-1.748-7.227-4.371-9.966-7.868a31.218%2031.218%200%200%201-3.321-5.4v13.355h-26.227V.342h26.488v46.534ZM710.451%2030.94c8.567%200%2016.173%201.865%2022.817%205.595%206.643%203.73%2011.802%209.15%2015.473%2016.26%203.73%207.11%205.595%2015.619%205.595%2025.526%200%203.555-.03%206.382-.088%208.48h-63.814c.251%204.09%201.038%207.645%202.359%2010.665%201.632%203.73%203.963%206.556%206.993%208.479%203.031%201.865%206.615%202.798%2010.753%202.798%204.546%200%208.305-1.166%2011.277-3.497%202.972-2.389%204.838-5.74%205.595-10.053h26.487c-.815%206.761-3.117%2012.618-6.905%2017.572-3.73%204.953-8.713%208.771-14.949%2011.452-6.236%202.681-13.492%204.02-21.768%204.02-9.324%200-17.425-1.777-24.302-5.332-6.877-3.613-12.239-9.033-16.085-16.259-3.788-7.227-5.682-16.173-5.682-26.838%200-10.14%201.981-18.883%205.944-26.226%203.963-7.401%209.441-13.026%2016.435-16.872%206.993-3.846%2014.949-5.77%2023.865-5.77Zm-502.536%2069.546h32.087c23.362%200%2020.196%2025.163%2020.189%2025.216h-79.726V.342h27.45v100.144Zm185.126-2.03%2019.101-64.981h27.362l-31.908%2092.227h-29.46l-33.132-92.227h28.148l19.889%2064.981Zm263.245%2027.246h-26.488V.342h26.488v125.36ZM493.845%2080.731a13.951%2013.951%200%200%201-3.06%201.961c-2.04.991-4.808%201.836-8.305%202.536l-6.731%201.311c-4.487.874-7.868%202.214-10.141%204.02-2.214%201.807-3.322%204.343-3.322%207.606s1.195%205.857%203.584%207.78c2.39%201.924%205.45%202.886%209.18%202.886%203.73%200%207.022-.816%209.878-2.448%202.855-1.69%205.041-4.021%206.556-6.993%201.574-2.972%202.361-6.353%202.361-10.141v-8.518Zm82.662-29.597c-3.905%200-7.256%201.194-10.053%203.584-2.739%202.33-4.808%205.653-6.207%209.966-1.399%204.254-2.098%209.237-2.098%2014.949%200%205.77.699%2010.782%202.098%2015.036s3.468%207.547%206.207%209.878c2.797%202.331%206.148%203.497%2010.053%203.497%203.963%200%207.285-1.166%209.966-3.497%202.739-2.331%204.778-5.624%206.119-9.878%201.398-4.254%202.098-9.267%202.098-15.036%200-5.77-.7-10.782-2.098-15.036-1.341-4.255-3.38-7.548-6.119-9.88-2.681-2.389-6.003-3.583-9.966-3.583Zm-272.904.088c-3.847%200-7.169%201.078-9.966%203.234-2.739%202.098-4.838%205.274-6.295%209.528-1.457%204.196-2.185%209.383-2.185%2015.56%200%206.178.728%2011.395%202.185%2015.65%201.457%204.254%203.556%207.459%206.295%209.616%202.797%202.097%206.119%203.146%209.966%203.146%203.846%200%207.138-1.049%209.877-3.146%202.74-2.157%204.837-5.334%206.294-9.53%201.457-4.254%202.186-9.5%202.186-15.735%200-9.266-1.602-16.289-4.808-21.068-3.205-4.837-7.722-7.255-13.549-7.255Zm406.237-1.137c-3.905%200-7.343.962-10.316%202.885-2.914%201.865-5.187%204.662-6.819%208.392-.893%202.117-1.532%204.477-1.918%207.081h36.494c-.261-3.3-.917-6.156-1.969-8.567-1.34-3.264-3.321-5.712-5.944-7.344-2.622-1.631-5.799-2.447-9.528-2.447Z%22%20style%3D%22fill%3A%20rgb(28%2C%2028%2C%2028)%20!important%3B%22%2F%3E%3Cmask%20id%3D%22_R_9bajhepolliv9fkl5b_-b%22%20width%3D%22124%22%20height%3D%22126%22%20x%3D%220%22%20y%3D%220%22%20maskUnits%3D%22userSpaceOnUse%22%20style%3D%22mask-type%3A%20alpha%3B%20fill%3A%20none%20!important%3B%22%3E%3Cpath%20fill%3D%22url(%23_R_9bajhepolliv9fkl5b_-a)%22%20fill-rule%3D%22evenodd%22%20d%3D%22M37.3.343c20.43%200%2036.991%2016.605%2036.991%2037.088v14.095h12.31c20.43%200%2036.991%2016.605%2036.991%2037.088s-16.561%2037.088-36.99%2037.088H.31V37.431C.31%2016.948%2016.87.343%2037.3.343Z%22%20clip-rule%3D%22evenodd%22%20style%3D%22fill%3A%20url(%26quot%3B%23_R_9bajhepolliv9fkl5b_-a%26quot%3B)%20!important%3B%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23_R_9bajhepolliv9fkl5b_-b)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-c)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Ccircle%20cx%3D%2254.389%22%20cy%3D%2267.257%22%20r%3D%2283.452%22%20fill%3D%22%234B73FF%22%20style%3D%22fill%3A%20rgb(75%2C%20115%2C%20255)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-d)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cellipse%20cx%3D%2263.557%22%20cy%3D%2221.462%22%20fill%3D%22%23FF66F4%22%20rx%3D%22106.879%22%20ry%3D%2283.452%22%20style%3D%22fill%3A%20rgb(255%2C%20102%2C%20244)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-e)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cellipse%20cx%3D%2280.992%22%20cy%3D%225.757%22%20fill%3D%22%23FF0105%22%20rx%3D%2283.452%22%20ry%3D%2273.289%22%20style%3D%22fill%3A%20rgb(255%2C%201%2C%205)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-f)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Ccircle%20cx%3D%2265.043%22%20cy%3D%2221.442%22%20r%3D%2250.188%22%20fill%3D%22%23FE7B02%22%20style%3D%22fill%3A%20rgb(254%2C%20123%2C%202)%20!important%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-c%22%20width%3D%22241.704%22%20height%3D%22241.704%22%20x%3D%22-66.463%22%20y%3D%22-53.596%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-d%22%20width%3D%22288.559%22%20height%3D%22241.704%22%20x%3D%22-80.723%22%20y%3D%22-99.39%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-e%22%20width%3D%22241.704%22%20height%3D%22221.378%22%20x%3D%22-39.86%22%20y%3D%22-104.931%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-f%22%20width%3D%22175.176%22%20height%3D%22175.176%22%20x%3D%22-22.545%22%20y%3D%22-66.146%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3ClinearGradient%20id%3D%22_R_9bajhepolliv9fkl5b_-a%22%20x1%3D%2241.797%22%20x2%3D%2279.356%22%20y1%3D%2222.372%22%20y2%3D%22125.655%22%20gradientUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cstop%20offset%3D%22.025%22%20stop-color%3D%22%23FF8E63%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(255%2C%20142%2C%2099)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%22.56%22%20stop-color%3D%22%23FF7EB0%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(255%2C%20126%2C%20176)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%22.95%22%20stop-color%3D%22%234B73FF%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(75%2C%20115%2C%20255)%20!important%3B%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\n- Favicon: https://lovable.dev/favicon.svg\n- Social card (og:image): https://lovable.dev/img/opengraph-image.png\n\n## UI Components\n\n- buttonPrimary: background=#1E1E1E, textColor=#FAFAFA, borderRadius=8px, shadow=rgba(0, 0, 0, 0.08) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.16) 0px -1px 0px 0px inset, rgb(0, 0, 0) 0px 0px 0px 1px inset, rgba(255, 255, 255, 0.24) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.16) 0px -1px 0px 0px inset, rgba(0, 0, 0, 0.12) 0px 2px 2px -1px, rgba(0, 0, 0, 0.12) 0px 4px 4px -2px\n- buttonSecondary: background=transparent, textColor=#2E2E2D, borderColor=#C5C4C2, borderRadius=8px, shadow=none\n\n## Brand Personality\n\nTone: modern · Energy: medium · Audience: developers and tech enthusiasts\n\n## Lovable Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **Perspective - Lifestyle Blog Template | Lovable**\n - Image: https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/a8b116a9-20b6-43a8-ae91-693ba5a35c3b/id-preview-172571d0--7410f81b-8218-4f2d-bb32-1ba1f84eabb2.lovable.app-1760028648399.png\n - Source: https://lovable.dev/templates/websites/blog/perspective-lifestyle\n- **How Long Should a Blog Post Be? Data-Backed Guide 2026 | Lovable**\n - Image: https://lovable.dev/content/guides/thumbnails/how-long-should-blog-post-be-data-backed-guide.jpg\n - Source: https://lovable.dev/guides/how-long-should-blog-post-be-data-backed-guide\n- **How to maintain brand control when building with Lovable | Lovable**\n - Image: https://lovable.dev/content/news/covers/brand-control-marketing-design.png\n - Source: https://lovable.dev/blog/how-to-maintain-brand-control-when-build-with-lovable\n- **How to Set Up a Blog from Scratch | Lovable**\n - Image: https://lovable.dev/content/guides/thumbnails/how-to-set-up-blog-from-scratch.jpg\n - Source: https://lovable.dev/guides/how-to-set-up-blog-from-scratch\n- **Lifestyle & Wellness Blog Template | Lovable**\n - Image: https://lovable.dev/cdn-cgi/image/width=3840,f=auto,fit=scale-down/templates/evolve-lifestyle-wellness-blog-template-screenshot.webp\n - Source: https://lovable.dev/templates/websites/blog/evolve-lifestyle-wellness-blog-template\n- **10 Blog Niche Ideas That Actually Make Money in 2026 | Lovable**\n - Image: https://lovable.dev/content/guides/thumbnails/profitable-blog-niches-2026.jpg\n - Source: https://lovable.dev/guides/profitable-blog-niches-2026\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\": \"Camera Plain Variable\",\n \"role\": \"unknown\"\n }\n ],\n \"colors\": {\n \"primary\": \"#000000\",\n \"accent\": \"#1E1E1E\",\n \"background\": \"#FCFBF8\",\n \"textPrimary\": \"#1C1C1C\",\n \"link\": \"#000000\"\n },\n \"typography\": {\n \"fontFamilies\": {\n \"primary\": \"Camera Plain Variable\",\n \"heading\": \"Camera Plain Variable\"\n },\n \"fontStacks\": {\n \"heading\": [\n \"Camera Plain Variable\",\n \"ui-sans-serif\",\n \"system-ui\",\n \"sans-serif\"\n ],\n \"body\": [\n \"Camera Plain Variable\",\n \"ui-sans-serif\",\n \"system-ui\",\n \"sans-serif\"\n ],\n \"paragraph\": [\n \"Camera Plain Variable\",\n \"ui-sans-serif\",\n \"system-ui\",\n \"sans-serif\"\n ]\n },\n \"fontSizes\": {\n \"h1\": \"20px\",\n \"h2\": \"48px\",\n \"body\": \"20px\"\n }\n },\n \"spacing\": {\n \"baseUnit\": 4,\n \"borderRadius\": \"4px\"\n },\n \"components\": {\n \"buttonPrimary\": {\n \"background\": \"#1E1E1E\",\n \"textColor\": \"#FAFAFA\",\n \"borderRadius\": \"8px\",\n \"borderRadiusCorners\": {\n \"topLeft\": \"8px\",\n \"topRight\": \"8px\",\n \"bottomRight\": \"8px\",\n \"bottomLeft\": \"8px\"\n },\n \"shadow\": \"rgba(0, 0, 0, 0.08) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.16) 0px -1px 0px 0px inset, rgb(0, 0, 0) 0px 0px 0px 1px inset, rgba(255, 255, 255, 0.24) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.16) 0px -1px 0px 0px inset, rgba(0, 0, 0, 0.12) 0px 2px 2px -1px, rgba(0, 0, 0, 0.12) 0px 4px 4px -2px\"\n },\n \"buttonSecondary\": {\n \"background\": \"transparent\",\n \"textColor\": \"#2E2E2D\",\n \"borderColor\": \"#C5C4C2\",\n \"borderRadius\": \"8px\",\n \"borderRadiusCorners\": {\n \"topLeft\": \"8px\",\n \"topRight\": \"8px\",\n \"bottomRight\": \"8px\",\n \"bottomLeft\": \"8px\"\n },\n \"shadow\": \"none\"\n }\n },\n \"images\": {\n \"logo\": \"data:image/svg+xml;utf8,%3Csvg%20role%3D%22img%22%20aria-label%3D%22Lovable%22%20viewBox%3D%220%200%20755%20129%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22shrink-0%20text-foreground%20h-6%20lg%3Ah-%5B18px%5D%22%20data-fc-idx%3D%220%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M303.603%2030.94c9.149%200%2017.163%201.982%2024.04%205.945%206.876%203.963%2012.18%209.616%2015.91%2016.959%203.788%207.285%205.682%2015.852%205.682%2025.7%200%209.85-1.894%2018.447-5.682%2025.79-3.73%207.343-9.034%2012.996-15.91%2016.959-6.877%203.963-14.891%205.944-24.04%205.944-9.15%200-17.193-1.981-24.128-5.944-6.877-3.963-12.21-9.616-15.998-16.959-3.73-7.343-5.595-15.94-5.595-25.79%200-9.848%201.865-18.415%205.595-25.7%203.788-7.343%209.121-12.996%2015.998-16.96%206.935-3.962%2014.978-5.944%2024.128-5.944Zm176.168%200c8.683%200%2016.026%201.428%2022.029%204.284%206.002%202.797%2010.519%206.818%2013.55%2012.063%203.088%205.245%204.633%2011.511%204.633%2018.796v38.464c0%204.138.292%207.984.874%2011.539.641%203.497%201.545%205.712%202.71%206.644v2.972H496.03c-.641-2.506-1.136-5.332-1.486-8.479-.116-1.04-.214-2.1-.298-3.178a32.537%2032.537%200%200%201-2.149%202.828c-2.914%203.438-6.674%206.207-11.278%208.305-4.545%202.039-9.732%203.059-15.56%203.059-5.77%200-10.957-1.136-15.561-3.409-4.546-2.273-8.13-5.507-10.753-9.703-2.564-4.254-3.846-9.208-3.846-14.861%200-8.626%202.535-15.211%207.605-19.757%205.07-4.604%2012.385-7.605%2021.942-9.004l15.999-2.273c3.205-.467%205.74-1.05%207.605-1.749%201.865-.699%203.234-1.632%204.108-2.797.875-1.224%201.312-2.768%201.312-4.633%200-1.923-.524-3.672-1.573-5.245-.991-1.632-2.507-2.915-4.546-3.847-1.982-.99-4.4-1.486-7.256-1.486-4.546%200-8.189%201.195-10.928%203.585-2.739%202.33-4.225%205.536-4.458%209.615h-27.362c.233-6.178%202.098-11.656%205.595-16.435%203.555-4.837%208.479-8.596%2014.773-11.277%206.294-2.68%2013.58-4.02%2021.856-4.02Zm78.465%2015.936a31.342%2031.342%200%200%201%203.148-4.92c2.797-3.556%206.206-6.267%2010.227-8.132%204.022-1.923%208.538-2.884%2013.55-2.884%207.518%200%2014.046%201.952%2019.582%205.857%205.537%203.905%209.792%209.529%2012.764%2016.872%202.972%207.285%204.458%2015.94%204.458%2025.964%200%209.965-1.516%2018.62-4.546%2025.963-3.031%207.285-7.372%2012.879-13.025%2016.784-5.595%203.905-12.151%205.857-19.669%205.857-5.012%200-9.5-.873-13.463-2.622-3.905-1.748-7.227-4.371-9.966-7.868a31.218%2031.218%200%200%201-3.321-5.4v13.355h-26.227V.342h26.488v46.534ZM710.451%2030.94c8.567%200%2016.173%201.865%2022.817%205.595%206.643%203.73%2011.802%209.15%2015.473%2016.26%203.73%207.11%205.595%2015.619%205.595%2025.526%200%203.555-.03%206.382-.088%208.48h-63.814c.251%204.09%201.038%207.645%202.359%2010.665%201.632%203.73%203.963%206.556%206.993%208.479%203.031%201.865%206.615%202.798%2010.753%202.798%204.546%200%208.305-1.166%2011.277-3.497%202.972-2.389%204.838-5.74%205.595-10.053h26.487c-.815%206.761-3.117%2012.618-6.905%2017.572-3.73%204.953-8.713%208.771-14.949%2011.452-6.236%202.681-13.492%204.02-21.768%204.02-9.324%200-17.425-1.777-24.302-5.332-6.877-3.613-12.239-9.033-16.085-16.259-3.788-7.227-5.682-16.173-5.682-26.838%200-10.14%201.981-18.883%205.944-26.226%203.963-7.401%209.441-13.026%2016.435-16.872%206.993-3.846%2014.949-5.77%2023.865-5.77Zm-502.536%2069.546h32.087c23.362%200%2020.196%2025.163%2020.189%2025.216h-79.726V.342h27.45v100.144Zm185.126-2.03%2019.101-64.981h27.362l-31.908%2092.227h-29.46l-33.132-92.227h28.148l19.889%2064.981Zm263.245%2027.246h-26.488V.342h26.488v125.36ZM493.845%2080.731a13.951%2013.951%200%200%201-3.06%201.961c-2.04.991-4.808%201.836-8.305%202.536l-6.731%201.311c-4.487.874-7.868%202.214-10.141%204.02-2.214%201.807-3.322%204.343-3.322%207.606s1.195%205.857%203.584%207.78c2.39%201.924%205.45%202.886%209.18%202.886%203.73%200%207.022-.816%209.878-2.448%202.855-1.69%205.041-4.021%206.556-6.993%201.574-2.972%202.361-6.353%202.361-10.141v-8.518Zm82.662-29.597c-3.905%200-7.256%201.194-10.053%203.584-2.739%202.33-4.808%205.653-6.207%209.966-1.399%204.254-2.098%209.237-2.098%2014.949%200%205.77.699%2010.782%202.098%2015.036s3.468%207.547%206.207%209.878c2.797%202.331%206.148%203.497%2010.053%203.497%203.963%200%207.285-1.166%209.966-3.497%202.739-2.331%204.778-5.624%206.119-9.878%201.398-4.254%202.098-9.267%202.098-15.036%200-5.77-.7-10.782-2.098-15.036-1.341-4.255-3.38-7.548-6.119-9.88-2.681-2.389-6.003-3.583-9.966-3.583Zm-272.904.088c-3.847%200-7.169%201.078-9.966%203.234-2.739%202.098-4.838%205.274-6.295%209.528-1.457%204.196-2.185%209.383-2.185%2015.56%200%206.178.728%2011.395%202.185%2015.65%201.457%204.254%203.556%207.459%206.295%209.616%202.797%202.097%206.119%203.146%209.966%203.146%203.846%200%207.138-1.049%209.877-3.146%202.74-2.157%204.837-5.334%206.294-9.53%201.457-4.254%202.186-9.5%202.186-15.735%200-9.266-1.602-16.289-4.808-21.068-3.205-4.837-7.722-7.255-13.549-7.255Zm406.237-1.137c-3.905%200-7.343.962-10.316%202.885-2.914%201.865-5.187%204.662-6.819%208.392-.893%202.117-1.532%204.477-1.918%207.081h36.494c-.261-3.3-.917-6.156-1.969-8.567-1.34-3.264-3.321-5.712-5.944-7.344-2.622-1.631-5.799-2.447-9.528-2.447Z%22%20style%3D%22fill%3A%20rgb(28%2C%2028%2C%2028)%20!important%3B%22%2F%3E%3Cmask%20id%3D%22_R_9bajhepolliv9fkl5b_-b%22%20width%3D%22124%22%20height%3D%22126%22%20x%3D%220%22%20y%3D%220%22%20maskUnits%3D%22userSpaceOnUse%22%20style%3D%22mask-type%3A%20alpha%3B%20fill%3A%20none%20!important%3B%22%3E%3Cpath%20fill%3D%22url(%23_R_9bajhepolliv9fkl5b_-a)%22%20fill-rule%3D%22evenodd%22%20d%3D%22M37.3.343c20.43%200%2036.991%2016.605%2036.991%2037.088v14.095h12.31c20.43%200%2036.991%2016.605%2036.991%2037.088s-16.561%2037.088-36.99%2037.088H.31V37.431C.31%2016.948%2016.87.343%2037.3.343Z%22%20clip-rule%3D%22evenodd%22%20style%3D%22fill%3A%20url(%26quot%3B%23_R_9bajhepolliv9fkl5b_-a%26quot%3B)%20!important%3B%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23_R_9bajhepolliv9fkl5b_-b)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-c)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Ccircle%20cx%3D%2254.389%22%20cy%3D%2267.257%22%20r%3D%2283.452%22%20fill%3D%22%234B73FF%22%20style%3D%22fill%3A%20rgb(75%2C%20115%2C%20255)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-d)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cellipse%20cx%3D%2263.557%22%20cy%3D%2221.462%22%20fill%3D%22%23FF66F4%22%20rx%3D%22106.879%22%20ry%3D%2283.452%22%20style%3D%22fill%3A%20rgb(255%2C%20102%2C%20244)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-e)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cellipse%20cx%3D%2280.992%22%20cy%3D%225.757%22%20fill%3D%22%23FF0105%22%20rx%3D%2283.452%22%20ry%3D%2273.289%22%20style%3D%22fill%3A%20rgb(255%2C%201%2C%205)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cg%20filter%3D%22url(%23_R_9bajhepolliv9fkl5b_-f)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Ccircle%20cx%3D%2265.043%22%20cy%3D%2221.442%22%20r%3D%2250.188%22%20fill%3D%22%23FE7B02%22%20style%3D%22fill%3A%20rgb(254%2C%20123%2C%202)%20!important%3B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-c%22%20width%3D%22241.704%22%20height%3D%22241.704%22%20x%3D%22-66.463%22%20y%3D%22-53.596%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-d%22%20width%3D%22288.559%22%20height%3D%22241.704%22%20x%3D%22-80.723%22%20y%3D%22-99.39%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-e%22%20width%3D%22241.704%22%20height%3D%22221.378%22%20x%3D%22-39.86%22%20y%3D%22-104.931%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22_R_9bajhepolliv9fkl5b_-f%22%20width%3D%22175.176%22%20height%3D%22175.176%22%20x%3D%22-22.545%22%20y%3D%22-66.146%22%20color-interpolation-filters%3D%22sRGB%22%20filterUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeBlend%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3CfeGaussianBlur%20result%3D%22effect1_foregroundBlur%22%20stdDeviation%3D%2218.7%22%20style%3D%22fill%3A%20none%20!important%3B%22%2F%3E%3C%2Ffilter%3E%3ClinearGradient%20id%3D%22_R_9bajhepolliv9fkl5b_-a%22%20x1%3D%2241.797%22%20x2%3D%2279.356%22%20y1%3D%2222.372%22%20y2%3D%22125.655%22%20gradientUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cstop%20offset%3D%22.025%22%20stop-color%3D%22%23FF8E63%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(255%2C%20142%2C%2099)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%22.56%22%20stop-color%3D%22%23FF7EB0%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(255%2C%20126%2C%20176)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%22.95%22%20stop-color%3D%22%234B73FF%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(75%2C%20115%2C%20255)%20!important%3B%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\",\n \"favicon\": \"https://lovable.dev/favicon.svg\",\n \"ogImage\": \"https://lovable.dev/img/opengraph-image.png\",\n \"logoHref\": \"/\",\n \"logoAlt\": \"Lovable\"\n },\n \"__llm_logo_reasoning\": {\n \"selectedIndex\": 3,\n \"reasoning\": \"Selected #3 because it is visible, located in the header, links to the homepage, and matches the brand name 'Lovable'.\",\n \"confidence\": 0.9,\n \"source\": \"llm\"\n },\n \"__llm_button_reasoning\": {\n \"primary\": {\n \"index\": 0,\n \"text\": \"Get started\",\n \"reasoning\": \"Button #0 with text 'Get started' is likely the primary CTA due to its action-oriented text and dark background color, which stands out as a strong call-to-action.\"\n },\n \"secondary\": {\n \"index\": 6,\n \"text\": \"View all\",\n \"reasoning\": \"Button #6 with text 'View all' is chosen as secondary due to its transparent background, making it less prominent than the primary button.\"\n },\n \"confidence\": 0.9\n },\n \"personality\": {\n \"tone\": \"modern\",\n \"energy\": \"medium\",\n \"targetAudience\": \"developers and tech enthusiasts\"\n },\n \"designSystem\": {\n \"framework\": \"tailwind\",\n \"componentLibrary\": \"\"\n },\n \"confidence\": {\n \"buttons\": 0.9,\n \"colors\": 0.9,\n \"overall\": 0.9\n },\n \"__llm_metadata\": {\n \"logoSelection\": {\n \"llmCalled\": true,\n \"llmSucceeded\": true,\n \"finalSource\": \"llm\",\n \"rawLogoSelection\": {\n \"selectedLogoIndex\": 3,\n \"selectedLogoReasoning\": \"Selected #3 because it is visible, located in the header, links to the homepage, and matches the brand name 'Lovable'.\",\n \"confidence\": 0.9\n }\n },\n \"buttonClassification\": {\n \"llmCalled\": true,\n \"llmSucceeded\": true\n }\n }\n}\n```\n"
}