@kuckit/landing-module 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["modules: Module[]","colorMap: Record<ModuleColor, { bg: string; border: string; text: string }>","layers: Layer[]","colorMap: Record<LayerColor, { bg: string; border: string; text: string; glow: string }>","faqItems: FAQItem[]"],"sources":["../../src/client/components/hero.tsx","../../src/client/components/value-props.tsx","../../src/client/components/code-quality.tsx","../../src/client/components/module-showcase.tsx","../../src/client/components/how-it-works.tsx","../../src/client/components/architecture-preview.tsx","../../src/client/components/cli-demo.tsx","../../src/client/components/faq.tsx","../../src/client/components/WaitlistForm.tsx","../../src/client/components/cta-section.tsx","../../src/client/components/LandingPage.tsx","../../src/client/index.ts"],"sourcesContent":["import { useState } from 'react'\n\nexport function Hero() {\n\tconst [copied, setCopied] = useState(false)\n\n\tconst copyCommand = () => {\n\t\tnavigator.clipboard.writeText('bunx create-kuckit-app my-app')\n\t\tsetCopied(true)\n\t\tsetTimeout(() => setCopied(false), 2000)\n\t}\n\n\treturn (\n\t\t<section className=\"relative min-h-[90vh] flex flex-col items-center justify-center px-6 pt-20\">\n\t\t\t{/* Floating module blocks - decorative */}\n\t\t\t<div className=\"absolute inset-0 overflow-hidden pointer-events-none\">\n\t\t\t\t<ModuleBlock className=\"absolute top-[15%] left-[10%] animate-float\" label=\"auth\" />\n\t\t\t\t<ModuleBlock\n\t\t\t\t\tclassName=\"absolute top-[25%] right-[15%] animate-float-delayed\"\n\t\t\t\t\tlabel=\"billing\"\n\t\t\t\t/>\n\t\t\t\t<ModuleBlock\n\t\t\t\t\tclassName=\"absolute bottom-[30%] left-[8%] animate-float-slow\"\n\t\t\t\t\tlabel=\"analytics\"\n\t\t\t\t/>\n\t\t\t\t<ModuleBlock className=\"absolute bottom-[20%] right-[10%] animate-float\" label=\"email\" />\n\t\t\t\t<ModuleBlock\n\t\t\t\t\tclassName=\"absolute top-[40%] left-[20%] animate-float-delayed opacity-50\"\n\t\t\t\t\tlabel=\"storage\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t\t<ModuleBlock\n\t\t\t\t\tclassName=\"absolute bottom-[40%] right-[20%] animate-float-slow opacity-50\"\n\t\t\t\t\tlabel=\"ai\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div className=\"relative z-10 max-w-4xl mx-auto text-center\">\n\t\t\t\t{/* Badge */}\n\t\t\t\t<div className=\"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-white/5 border border-white/10 text-sm text-white/70 mb-8 backdrop-blur-sm\">\n\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-emerald-400 animate-pulse\" />\n\t\t\t\t\t<span>Marketplace coming soon</span>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Main headline */}\n\t\t\t\t<h1 className=\"text-5xl md:text-7xl font-bold tracking-tight mb-6\">\n\t\t\t\t\t<span className=\"block text-white\">Build Modules.</span>\n\t\t\t\t\t<span className=\"block bg-gradient-to-r from-emerald-400 via-teal-400 to-cyan-400 bg-clip-text text-transparent\">\n\t\t\t\t\t\tEarn Revenue.\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"block text-white\">Ship Faster.</span>\n\t\t\t\t</h1>\n\n\t\t\t\t{/* Subheadline */}\n\t\t\t\t<p className=\"text-xl md:text-2xl text-white/60 max-w-2xl mx-auto mb-12 leading-relaxed\">\n\t\t\t\t\tThe TypeScript ecosystem where developers build once and sell forever, while builders ship\n\t\t\t\t\tin hours instead of months.\n\t\t\t\t</p>\n\n\t\t\t\t{/* CTAs */}\n\t\t\t\t<div className=\"flex flex-col sm:flex-row items-center justify-center gap-4 mb-12\">\n\t\t\t\t\t<button className=\"group relative px-8 py-4 bg-gradient-to-r from-emerald-500 to-teal-500 rounded-xl font-semibold text-black transition-all hover:scale-105 hover:shadow-lg hover:shadow-emerald-500/25\">\n\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t<span className=\"absolute inset-0 rounded-xl bg-gradient-to-r from-emerald-400 to-teal-400 opacity-0 group-hover:opacity-100 transition-opacity blur-xl -z-10\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<button className=\"px-8 py-4 rounded-xl font-semibold text-white border border-white/20 bg-white/5 backdrop-blur-sm hover:bg-white/10 hover:border-white/30 transition-all\">\n\t\t\t\t\t\tJoin Marketplace Waitlist\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Quick start command */}\n\t\t\t\t<div\n\t\t\t\t\tonClick={copyCommand}\n\t\t\t\t\tclassName=\"inline-flex items-center gap-3 px-5 py-3 rounded-xl bg-black/50 border border-white/10 cursor-pointer hover:border-emerald-500/50 transition-colors group\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"text-emerald-400 font-mono\">$</span>\n\t\t\t\t\t<code className=\"text-white/80 font-mono text-sm\">bunx create-kuckit-app my-app</code>\n\t\t\t\t\t<span className=\"text-white/40 group-hover:text-emerald-400 transition-colors\">\n\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t<svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\td=\"M5 13l4 4L19 7\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\td=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Scroll indicator */}\n\t\t\t<div className=\"absolute bottom-8 left-1/2 -translate-x-1/2 animate-bounce\">\n\t\t\t\t<svg\n\t\t\t\t\tclassName=\"w-6 h-6 text-white/30\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\td=\"M19 14l-7 7m0 0l-7-7m7 7V3\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<style>{`\n\t\t\t\t@keyframes float {\n\t\t\t\t\t0%, 100% { transform: translateY(0px) rotate(0deg); }\n\t\t\t\t\t50% { transform: translateY(-20px) rotate(3deg); }\n\t\t\t\t}\n\t\t\t\t@keyframes float-delayed {\n\t\t\t\t\t0%, 100% { transform: translateY(0px) rotate(0deg); }\n\t\t\t\t\t50% { transform: translateY(-15px) rotate(-2deg); }\n\t\t\t\t}\n\t\t\t\t@keyframes float-slow {\n\t\t\t\t\t0%, 100% { transform: translateY(0px) rotate(0deg); }\n\t\t\t\t\t50% { transform: translateY(-10px) rotate(1deg); }\n\t\t\t\t}\n\t\t\t\t.animate-float { animation: float 6s ease-in-out infinite; }\n\t\t\t\t.animate-float-delayed { animation: float-delayed 7s ease-in-out infinite; animation-delay: 1s; }\n\t\t\t\t.animate-float-slow { animation: float-slow 8s ease-in-out infinite; animation-delay: 2s; }\n\t\t\t`}</style>\n\t\t</section>\n\t)\n}\n\nfunction ModuleBlock({\n\tclassName = '',\n\tlabel,\n\tsize = 'md',\n}: {\n\tclassName?: string\n\tlabel: string\n\tsize?: 'sm' | 'md'\n}) {\n\tconst sizeClasses = size === 'sm' ? 'w-16 h-16 text-[10px]' : 'w-24 h-24 text-xs'\n\n\treturn (\n\t\t<div className={`${sizeClasses} ${className}`}>\n\t\t\t<div className=\"w-full h-full rounded-2xl bg-gradient-to-br from-white/10 to-white/5 border border-white/10 backdrop-blur-sm flex items-center justify-center\">\n\t\t\t\t<span className=\"font-mono text-white/50\">{label}</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n","export function ValueProps() {\n\tconst columns = [\n\t\t{\n\t\t\ttitle: 'For Builders',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M13 10V3L4 14h7v7l9-11h-7z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tcolor: 'emerald',\n\t\t\titems: [\n\t\t\t\t{ label: 'Ship in hours', desc: 'Not weeks or months' },\n\t\t\t\t{ label: 'One command install', desc: 'kuckit add @vendor/module' },\n\t\t\t\t{ label: 'Focus on your product', desc: 'Not boilerplate' },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\ttitle: 'For Sellers',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tcolor: 'teal',\n\t\t\titems: [\n\t\t\t\t{ label: 'Build once, sell forever', desc: 'Passive revenue stream' },\n\t\t\t\t{ label: 'Growing marketplace', desc: 'Reach thousands of builders' },\n\t\t\t\t{ label: 'Your code, your pricing', desc: 'Set your own terms' },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\ttitle: 'For Everyone',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tcolor: 'cyan',\n\t\t\titems: [\n\t\t\t\t{ label: 'Battle-tested code', desc: 'Community validated' },\n\t\t\t\t{ label: 'Guardrailed quality', desc: 'Enforced standards' },\n\t\t\t\t{ label: 'Type-safe modules', desc: 'End-to-end TypeScript' },\n\t\t\t],\n\t\t},\n\t]\n\n\tconst colorMap = {\n\t\temerald: {\n\t\t\tbg: 'bg-emerald-500/10',\n\t\t\tborder: 'border-emerald-500/20',\n\t\t\ttext: 'text-emerald-400',\n\t\t\tglow: 'group-hover:shadow-emerald-500/10',\n\t\t},\n\t\tteal: {\n\t\t\tbg: 'bg-teal-500/10',\n\t\t\tborder: 'border-teal-500/20',\n\t\t\ttext: 'text-teal-400',\n\t\t\tglow: 'group-hover:shadow-teal-500/10',\n\t\t},\n\t\tcyan: {\n\t\t\tbg: 'bg-cyan-500/10',\n\t\t\tborder: 'border-cyan-500/20',\n\t\t\ttext: 'text-cyan-400',\n\t\t\tglow: 'group-hover:shadow-cyan-500/10',\n\t\t},\n\t}\n\n\treturn (\n\t\t<section className=\"py-24 px-6\">\n\t\t\t<div className=\"max-w-6xl mx-auto\">\n\t\t\t\t<div className=\"grid md:grid-cols-3 gap-6\">\n\t\t\t\t\t{columns.map((col) => {\n\t\t\t\t\t\tconst colors = colorMap[col.color as keyof typeof colorMap]\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={col.title}\n\t\t\t\t\t\t\t\tclassName={`group relative rounded-2xl border ${colors.border} bg-white/[0.02] p-8 hover:bg-white/[0.04] transition-all hover:shadow-xl ${colors.glow}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Header */}\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-3 mb-8\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={`w-12 h-12 rounded-xl ${colors.bg} ${colors.text} flex items-center justify-center`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{col.icon}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<h3 className=\"text-xl font-semibold text-white\">{col.title}</h3>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{/* Items */}\n\t\t\t\t\t\t\t\t<div className=\"space-y-6\">\n\t\t\t\t\t\t\t\t\t{col.items.map((item) => (\n\t\t\t\t\t\t\t\t\t\t<div key={item.label}>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-white font-medium mb-1\">{item.label}</div>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-white/50 text-sm\">{item.desc}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","export function CodeQuality() {\n\tconst features = [\n\t\t{\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\ttitle: 'AGENTS.md in Every Package',\n\t\t\tdesc: 'AI and humans follow the same rules. Clear instructions ensure consistent, maintainable code.',\n\t\t},\n\t\t{\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\ttitle: 'Pre-commit Hooks',\n\t\t\tdesc: \"Bad code can't even be committed. Husky runs checks before every commit.\",\n\t\t},\n\t\t{\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\ttitle: 'CI/CD Validation',\n\t\t\tdesc: 'Nothing merges without passing architecture checks. Every PR is verified.',\n\t\t},\n\t\t{\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\ttitle: 'Clean Architecture Layers',\n\t\t\tdesc: 'Domain, Application, Infrastructure stay separated. Always.',\n\t\t},\n\t]\n\n\treturn (\n\t\t<section className=\"py-24 px-6 relative overflow-hidden\">\n\t\t\t{/* Background accent */}\n\t\t\t<div className=\"absolute inset-0 bg-gradient-to-b from-emerald-500/5 via-transparent to-transparent pointer-events-none\" />\n\n\t\t\t<div className=\"max-w-6xl mx-auto relative\">\n\t\t\t\t{/* Section header */}\n\t\t\t\t<div className=\"max-w-2xl mb-16\">\n\t\t\t\t\t<div className=\"inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-emerald-500/10 border border-emerald-500/20 text-xs text-emerald-400 font-medium mb-6\">\n\t\t\t\t\t\t<svg className=\"w-3.5 h-3.5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\td=\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\tQuality Guaranteed\n\t\t\t\t\t</div>\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold text-white mb-6\">Code That Stays Clean</h2>\n\t\t\t\t\t<p className=\"text-xl text-white/60 leading-relaxed\">\n\t\t\t\t\t\tCodebases rot. AI generates spaghetti. Developers cut corners.\n\t\t\t\t\t\t<span className=\"text-white\"> Kuckit enforces structure automatically.</span>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Two column layout */}\n\t\t\t\t<div className=\"grid lg:grid-cols-2 gap-12 items-center\">\n\t\t\t\t\t{/* Features list */}\n\t\t\t\t\t<div className=\"space-y-6\">\n\t\t\t\t\t\t{features.map((feature) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={feature.title}\n\t\t\t\t\t\t\t\tclassName=\"group flex gap-4 p-4 rounded-xl hover:bg-white/[0.03] transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"w-10 h-10 rounded-lg bg-emerald-500/10 border border-emerald-500/20 flex items-center justify-center text-emerald-400 shrink-0 group-hover:scale-110 transition-transform\">\n\t\t\t\t\t\t\t\t\t{feature.icon}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<h3 className=\"text-white font-semibold mb-1\">{feature.title}</h3>\n\t\t\t\t\t\t\t\t\t<p className=\"text-white/50 text-sm leading-relaxed\">{feature.desc}</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Visual comparison */}\n\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t{/* Shield graphic */}\n\t\t\t\t\t\t<div className=\"relative aspect-square max-w-md mx-auto\">\n\t\t\t\t\t\t\t{/* Outer glow */}\n\t\t\t\t\t\t\t<div className=\"absolute inset-0 bg-gradient-to-br from-emerald-500/20 to-teal-500/20 rounded-3xl blur-2xl\" />\n\n\t\t\t\t\t\t\t{/* Shield container */}\n\t\t\t\t\t\t\t<div className=\"relative h-full rounded-3xl border border-white/10 bg-black/50 backdrop-blur-sm p-8 flex flex-col items-center justify-center\">\n\t\t\t\t\t\t\t\t{/* Shield icon */}\n\t\t\t\t\t\t\t\t<div className=\"w-24 h-24 mb-6 relative\">\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-full text-emerald-400\"\n\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={1}\n\t\t\t\t\t\t\t\t\t\t\td=\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t<div className=\"absolute inset-0 bg-emerald-400/20 rounded-full blur-xl\" />\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{/* Stats */}\n\t\t\t\t\t\t\t\t<div className=\"text-center mb-6\">\n\t\t\t\t\t\t\t\t\t<div className=\"text-3xl font-bold text-white mb-1\">100%</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-white/50 text-sm\">Architecture Compliance</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{/* Blocked items */}\n\t\t\t\t\t\t\t\t<div className=\"w-full space-y-2\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-red-500/10 border border-red-500/20\">\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 text-red-400\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M6 18L18 6M6 6l12 12\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-red-400/80 font-mono\">Circular dependencies</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-red-500/10 border border-red-500/20\">\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 text-red-400\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M6 18L18 6M6 6l12 12\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-red-400/80 font-mono\">Layer violations</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-red-500/10 border border-red-500/20\">\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 text-red-400\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M6 18L18 6M6 6l12 12\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-red-400/80 font-mono\">Untyped exports</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","type ModuleColor = 'emerald' | 'teal' | 'cyan' | 'violet' | 'amber' | 'pink'\n\ninterface Module {\n\tname: string\n\ticon: React.ReactNode\n\tdesc: string\n\tcolor: ModuleColor\n}\n\nexport function ModuleShowcase() {\n\tconst modules: Module[] = [\n\t\t{\n\t\t\tname: 'Auth',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tdesc: 'OAuth, MFA, sessions',\n\t\t\tcolor: 'emerald',\n\t\t},\n\t\t{\n\t\t\tname: 'Billing',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tdesc: 'Stripe, subscriptions',\n\t\t\tcolor: 'teal',\n\t\t},\n\t\t{\n\t\t\tname: 'Analytics',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tdesc: 'Events, dashboards',\n\t\t\tcolor: 'cyan',\n\t\t},\n\t\t{\n\t\t\tname: 'Email',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tdesc: 'Transactional, templates',\n\t\t\tcolor: 'violet',\n\t\t},\n\t\t{\n\t\t\tname: 'Storage',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tdesc: 'S3, uploads, CDN',\n\t\t\tcolor: 'amber',\n\t\t},\n\t\t{\n\t\t\tname: 'AI',\n\t\t\ticon: (\n\t\t\t\t<svg className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\td=\"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t),\n\t\t\tdesc: 'Chat, embeddings',\n\t\t\tcolor: 'pink',\n\t\t},\n\t]\n\n\tconst colorMap: Record<ModuleColor, { bg: string; border: string; text: string }> = {\n\t\temerald: { bg: 'bg-emerald-500/10', border: 'border-emerald-500/30', text: 'text-emerald-400' },\n\t\tteal: { bg: 'bg-teal-500/10', border: 'border-teal-500/30', text: 'text-teal-400' },\n\t\tcyan: { bg: 'bg-cyan-500/10', border: 'border-cyan-500/30', text: 'text-cyan-400' },\n\t\tviolet: { bg: 'bg-violet-500/10', border: 'border-violet-500/30', text: 'text-violet-400' },\n\t\tamber: { bg: 'bg-amber-500/10', border: 'border-amber-500/30', text: 'text-amber-400' },\n\t\tpink: { bg: 'bg-pink-500/10', border: 'border-pink-500/30', text: 'text-pink-400' },\n\t}\n\n\treturn (\n\t\t<section className=\"py-24 px-6\">\n\t\t\t<div className=\"max-w-6xl mx-auto\">\n\t\t\t\t{/* Section header */}\n\t\t\t\t<div className=\"text-center mb-16\">\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold text-white mb-6\">Modules for Everything</h2>\n\t\t\t\t\t<p className=\"text-xl text-white/60 max-w-2xl mx-auto\">\n\t\t\t\t\t\tSkip weeks of development. Install battle-tested modules and focus on what makes your\n\t\t\t\t\t\tproduct unique.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Module grid */}\n\t\t\t\t<div className=\"grid grid-cols-2 md:grid-cols-3 gap-4\">\n\t\t\t\t\t{modules.map((mod) => {\n\t\t\t\t\t\tconst colors = colorMap[mod.color]\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={mod.name}\n\t\t\t\t\t\t\t\tclassName=\"group relative rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-white/20 hover:bg-white/[0.04] transition-all cursor-pointer\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Coming soon badge */}\n\t\t\t\t\t\t\t\t<div className=\"absolute top-3 right-3 px-2 py-0.5 rounded text-[10px] font-medium bg-white/10 text-white/50\">\n\t\t\t\t\t\t\t\t\tSoon\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{/* Icon */}\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`w-12 h-12 rounded-xl ${colors.bg} ${colors.text} flex items-center justify-center mb-4 group-hover:scale-110 transition-transform`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{mod.icon}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold text-white mb-1\">{mod.name}</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-white/50\">{mod.desc}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{/* CTA */}\n\t\t\t\t<div className=\"mt-12 text-center\">\n\t\t\t\t\t<button className=\"inline-flex items-center gap-2 px-6 py-3 rounded-xl border border-white/20 text-white/80 hover:bg-white/5 hover:border-white/30 transition-all\">\n\t\t\t\t\t\t<span>Join waitlist for marketplace access</span>\n\t\t\t\t\t\t<svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\td=\"M17 8l4 4m0 0l-4 4m4-4H3\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","import { useState } from 'react'\n\nexport function HowItWorks() {\n\tconst [activeTab, setActiveTab] = useState<'builders' | 'sellers'>('builders')\n\n\tconst builderSteps = [\n\t\t{\n\t\t\tstep: '01',\n\t\t\tcommand: 'bunx create-kuckit-app my-app',\n\t\t\ttitle: 'Scaffold your app',\n\t\t\tdesc: 'Get a production-ready TypeScript app with Clean Architecture baked in.',\n\t\t},\n\t\t{\n\t\t\tstep: '02',\n\t\t\tcommand: 'kuckit add @vendor/billing',\n\t\t\ttitle: 'Install modules',\n\t\t\tdesc: 'One command adds both server and client code, wired and ready.',\n\t\t},\n\t\t{\n\t\t\tstep: '03',\n\t\t\tcommand: 'bun run dev',\n\t\t\ttitle: 'Ship it',\n\t\t\tdesc: 'Your app is ready. Maintainable, type-safe, and battle-tested.',\n\t\t},\n\t]\n\n\tconst sellerSteps = [\n\t\t{\n\t\t\tstep: '01',\n\t\t\tcommand: 'kuckit generate module billing',\n\t\t\ttitle: 'Scaffold with AGENTS.md',\n\t\t\tdesc: 'Generated structure includes documentation for AI and human developers.',\n\t\t},\n\t\t{\n\t\t\tstep: '02',\n\t\t\tcommand: 'git commit && git push',\n\t\t\ttitle: 'Build & test',\n\t\t\tdesc: 'Guardrails ensure your module meets quality standards before it ships.',\n\t\t},\n\t\t{\n\t\t\tstep: '03',\n\t\t\tcommand: 'kuckit publish',\n\t\t\ttitle: 'Earn revenue',\n\t\t\tdesc: 'Set your price, publish to the marketplace, and start earning.',\n\t\t},\n\t]\n\n\tconst steps = activeTab === 'builders' ? builderSteps : sellerSteps\n\n\treturn (\n\t\t<section className=\"py-24 px-6 relative\">\n\t\t\t{/* Background */}\n\t\t\t<div className=\"absolute inset-0 bg-gradient-to-b from-transparent via-teal-500/5 to-transparent pointer-events-none\" />\n\n\t\t\t<div className=\"max-w-5xl mx-auto relative\">\n\t\t\t\t{/* Section header */}\n\t\t\t\t<div className=\"text-center mb-12\">\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold text-white mb-6\">How It Works</h2>\n\t\t\t\t\t<p className=\"text-xl text-white/60\">Three steps to shipping or selling.</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Tab switcher */}\n\t\t\t\t<div className=\"flex justify-center mb-12\">\n\t\t\t\t\t<div className=\"inline-flex rounded-xl bg-white/5 p-1\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={() => setActiveTab('builders')}\n\t\t\t\t\t\t\tclassName={`px-6 py-2.5 rounded-lg text-sm font-medium transition-all ${\n\t\t\t\t\t\t\t\tactiveTab === 'builders'\n\t\t\t\t\t\t\t\t\t? 'bg-white/10 text-white'\n\t\t\t\t\t\t\t\t\t: 'text-white/50 hover:text-white/80'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tFor Builders\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={() => setActiveTab('sellers')}\n\t\t\t\t\t\t\tclassName={`px-6 py-2.5 rounded-lg text-sm font-medium transition-all ${\n\t\t\t\t\t\t\t\tactiveTab === 'sellers'\n\t\t\t\t\t\t\t\t\t? 'bg-white/10 text-white'\n\t\t\t\t\t\t\t\t\t: 'text-white/50 hover:text-white/80'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tFor Sellers\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Steps */}\n\t\t\t\t<div className=\"space-y-6\">\n\t\t\t\t\t{steps.map((step, index) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={step.step}\n\t\t\t\t\t\t\tclassName=\"group relative flex gap-6 md:gap-10 items-start p-6 rounded-2xl hover:bg-white/[0.02] transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* Step number */}\n\t\t\t\t\t\t\t<div className=\"shrink-0\">\n\t\t\t\t\t\t\t\t<div className=\"w-14 h-14 rounded-2xl bg-gradient-to-br from-emerald-500/20 to-teal-500/20 border border-emerald-500/20 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-emerald-400 font-bold text-lg\">{step.step}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{/* Connector line */}\n\t\t\t\t\t\t\t\t{index < steps.length - 1 && (\n\t\t\t\t\t\t\t\t\t<div className=\"w-px h-12 bg-gradient-to-b from-emerald-500/30 to-transparent mx-auto mt-4\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t<div className=\"flex-1 pt-1\">\n\t\t\t\t\t\t\t\t<h3 className=\"text-xl font-semibold text-white mb-2\">{step.title}</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-white/50 mb-4\">{step.desc}</p>\n\n\t\t\t\t\t\t\t\t{/* Command */}\n\t\t\t\t\t\t\t\t<div className=\"inline-flex items-center gap-3 px-4 py-2.5 rounded-xl bg-black/50 border border-white/10 font-mono text-sm\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-emerald-400\">$</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-white/80\">{step.command}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","type LayerColor = 'emerald' | 'teal' | 'cyan' | 'violet' | 'pink'\n\ninterface Layer {\n\tname: string\n\titems: string[]\n\tcolor: LayerColor\n\tdesc: string\n}\n\nexport function ArchitecturePreview() {\n\tconst layers: Layer[] = [\n\t\t{\n\t\t\tname: 'Interface Layer',\n\t\t\titems: ['apps/web', 'apps/server'],\n\t\t\tcolor: 'emerald',\n\t\t\tdesc: 'React UI + Express API',\n\t\t},\n\t\t{\n\t\t\tname: 'SDK Layer',\n\t\t\titems: ['sdk', 'sdk-react'],\n\t\t\tcolor: 'teal',\n\t\t\tdesc: 'Module system + DI container',\n\t\t},\n\t\t{\n\t\t\tname: 'Application Layer',\n\t\t\titems: ['application', 'api'],\n\t\t\tcolor: 'cyan',\n\t\t\tdesc: 'Use cases + oRPC procedures',\n\t\t},\n\t\t{\n\t\t\tname: 'Domain Layer',\n\t\t\titems: ['domain', 'contracts'],\n\t\t\tcolor: 'violet',\n\t\t\tdesc: 'Entities + Zod schemas',\n\t\t},\n\t\t{\n\t\t\tname: 'Infrastructure Layer',\n\t\t\titems: ['infrastructure', 'db', 'auth'],\n\t\t\tcolor: 'pink',\n\t\t\tdesc: 'Repositories + Drizzle ORM',\n\t\t},\n\t]\n\n\tconst colorMap: Record<LayerColor, { bg: string; border: string; text: string; glow: string }> = {\n\t\temerald: {\n\t\t\tbg: 'bg-emerald-500/10',\n\t\t\tborder: 'border-emerald-500/30',\n\t\t\ttext: 'text-emerald-400',\n\t\t\tglow: 'shadow-emerald-500/20',\n\t\t},\n\t\tteal: {\n\t\t\tbg: 'bg-teal-500/10',\n\t\t\tborder: 'border-teal-500/30',\n\t\t\ttext: 'text-teal-400',\n\t\t\tglow: 'shadow-teal-500/20',\n\t\t},\n\t\tcyan: {\n\t\t\tbg: 'bg-cyan-500/10',\n\t\t\tborder: 'border-cyan-500/30',\n\t\t\ttext: 'text-cyan-400',\n\t\t\tglow: 'shadow-cyan-500/20',\n\t\t},\n\t\tviolet: {\n\t\t\tbg: 'bg-violet-500/10',\n\t\t\tborder: 'border-violet-500/30',\n\t\t\ttext: 'text-violet-400',\n\t\t\tglow: 'shadow-violet-500/20',\n\t\t},\n\t\tpink: {\n\t\t\tbg: 'bg-pink-500/10',\n\t\t\tborder: 'border-pink-500/30',\n\t\t\ttext: 'text-pink-400',\n\t\t\tglow: 'shadow-pink-500/20',\n\t\t},\n\t}\n\n\treturn (\n\t\t<section className=\"py-24 px-6\">\n\t\t\t<div className=\"max-w-6xl mx-auto\">\n\t\t\t\t{/* Section header */}\n\t\t\t\t<div className=\"text-center mb-16\">\n\t\t\t\t\t<div className=\"inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-violet-500/10 border border-violet-500/20 text-xs text-violet-400 font-medium mb-6\">\n\t\t\t\t\t\t<svg className=\"w-3.5 h-3.5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\td=\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\tClean Architecture\n\t\t\t\t\t</div>\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold text-white mb-6\">\n\t\t\t\t\t\tEvery Module, Same Structure\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"text-xl text-white/60 max-w-2xl mx-auto\">\n\t\t\t\t\t\tClear boundaries between layers. AGENTS.md in every package ensures AI and humans build\n\t\t\t\t\t\tconsistently.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Architecture diagram */}\n\t\t\t\t<div className=\"max-w-3xl mx-auto space-y-3\">\n\t\t\t\t\t{layers.map((layer, index) => {\n\t\t\t\t\t\tconst colors = colorMap[layer.color]\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div key={layer.name} className=\"relative group\">\n\t\t\t\t\t\t\t\t{/* Connection line */}\n\t\t\t\t\t\t\t\t{index < layers.length - 1 && (\n\t\t\t\t\t\t\t\t\t<div className=\"absolute left-1/2 -bottom-3 w-px h-3 bg-white/10\" />\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Layer card */}\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`relative rounded-xl border ${colors.border} ${colors.bg} p-5 hover:shadow-lg ${colors.glow} transition-all`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col md:flex-row md:items-center gap-4\">\n\t\t\t\t\t\t\t\t\t\t{/* Layer name */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"md:w-48 shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t<h3 className={`font-semibold ${colors.text}`}>{layer.name}</h3>\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-white/40 text-sm\">{layer.desc}</p>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* Packages */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 flex-1\">\n\t\t\t\t\t\t\t\t\t\t\t{layer.items.map((item) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={item}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 px-3 py-1.5 rounded-lg bg-black/30 border border-white/10\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-white/30\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-mono text-white/70\">{item}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* AGENTS.md indicator */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"shrink-0 flex items-center gap-1.5 px-2.5 py-1 rounded-md bg-emerald-500/10 border border-emerald-500/20\">\n\t\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-3.5 h-3.5 text-emerald-400\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs font-mono text-emerald-400\">AGENTS.md</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Direction arrows */}\n\t\t\t\t<div className=\"mt-8 flex justify-center\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-white/40\">\n\t\t\t\t\t\t<svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\td=\"M19 14l-7 7m0 0l-7-7m7 7V3\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span>Dependencies flow down only</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","import { useState, useEffect } from 'react'\n\nexport function CliDemo() {\n\tconst commands = [\n\t\t{\n\t\t\tinput: 'kuckit generate module billing',\n\t\t\toutput: [\n\t\t\t\t'Creating module: @myapp/billing-module',\n\t\t\t\t' Directory: ./packages/billing-module',\n\t\t\t\t'',\n\t\t\t\t'✓ Created src/server/module.ts',\n\t\t\t\t'✓ Created src/client/index.ts',\n\t\t\t\t'✓ Created AGENTS.md',\n\t\t\t\t'✓ Created package.json',\n\t\t\t\t'',\n\t\t\t\t'Module created successfully!',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tinput: 'kuckit add @vendor/auth-module',\n\t\t\toutput: [\n\t\t\t\t'Installing @vendor/auth-module...',\n\t\t\t\t'',\n\t\t\t\t'✓ Package installed',\n\t\t\t\t'✓ Server module wired in modules.ts',\n\t\t\t\t'✓ Client module wired in modules.client.ts',\n\t\t\t\t'✓ TypeScript types available',\n\t\t\t\t'',\n\t\t\t\t'Module ready to use!',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tinput: 'kuckit doctor',\n\t\t\toutput: [\n\t\t\t\t'Checking project setup...',\n\t\t\t\t'',\n\t\t\t\t'✓ kuckit.config.ts found',\n\t\t\t\t'✓ All modules registered',\n\t\t\t\t'✓ No circular dependencies',\n\t\t\t\t'✓ AGENTS.md in all packages',\n\t\t\t\t'✓ Pre-commit hooks configured',\n\t\t\t\t'',\n\t\t\t\t'All checks passed!',\n\t\t\t],\n\t\t},\n\t]\n\n\tconst [activeCommand, setActiveCommand] = useState(0)\n\tconst [displayedLines, setDisplayedLines] = useState<string[]>([])\n\tconst [isTyping, setIsTyping] = useState(true)\n\tconst [typedInput, setTypedInput] = useState('')\n\n\tuseEffect(() => {\n\t\tconst command = commands[activeCommand]\n\t\tif (!command) return\n\n\t\tlet inputIndex = 0\n\t\tlet outputIndex = 0\n\t\tsetDisplayedLines([])\n\t\tsetTypedInput('')\n\t\tsetIsTyping(true)\n\n\t\t// Type the input command\n\t\tconst inputInterval = setInterval(() => {\n\t\t\tif (inputIndex <= command.input.length) {\n\t\t\t\tsetTypedInput(command.input.slice(0, inputIndex))\n\t\t\t\tinputIndex++\n\t\t\t} else {\n\t\t\t\tclearInterval(inputInterval)\n\t\t\t\tsetIsTyping(false)\n\n\t\t\t\t// Then show output lines\n\t\t\t\tconst outputInterval = setInterval(() => {\n\t\t\t\t\tif (outputIndex < command.output.length) {\n\t\t\t\t\t\tconst line = command.output[outputIndex]\n\t\t\t\t\t\tif (line !== undefined) {\n\t\t\t\t\t\t\tsetDisplayedLines((prev) => [...prev, line])\n\t\t\t\t\t\t}\n\t\t\t\t\t\toutputIndex++\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclearInterval(outputInterval)\n\n\t\t\t\t\t\t// Move to next command after delay\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tsetActiveCommand((prev) => (prev + 1) % commands.length)\n\t\t\t\t\t\t}, 3000)\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}, 50)\n\n\t\treturn () => {\n\t\t\tclearInterval(inputInterval)\n\t\t}\n\t}, [activeCommand])\n\n\treturn (\n\t\t<section className=\"py-24 px-6 relative\">\n\t\t\t{/* Background */}\n\t\t\t<div className=\"absolute inset-0 bg-gradient-to-b from-transparent via-emerald-500/5 to-transparent pointer-events-none\" />\n\n\t\t\t<div className=\"max-w-4xl mx-auto relative\">\n\t\t\t\t{/* Section header */}\n\t\t\t\t<div className=\"text-center mb-12\">\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold text-white mb-6\">Powerful CLI</h2>\n\t\t\t\t\t<p className=\"text-xl text-white/60\">\n\t\t\t\t\t\tGenerate, add, search, and validate modules from the command line.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Terminal */}\n\t\t\t\t<div className=\"rounded-2xl border border-white/10 bg-black/80 backdrop-blur-sm overflow-hidden shadow-2xl\">\n\t\t\t\t\t{/* Terminal header */}\n\t\t\t\t\t<div className=\"flex items-center gap-2 px-4 py-3 bg-white/5 border-b border-white/10\">\n\t\t\t\t\t\t<div className=\"flex gap-1.5\">\n\t\t\t\t\t\t\t<div className=\"w-3 h-3 rounded-full bg-red-500/80\" />\n\t\t\t\t\t\t\t<div className=\"w-3 h-3 rounded-full bg-yellow-500/80\" />\n\t\t\t\t\t\t\t<div className=\"w-3 h-3 rounded-full bg-green-500/80\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span className=\"text-white/40 text-sm font-mono ml-2\">terminal</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Terminal body */}\n\t\t\t\t\t<div className=\"p-6 font-mono text-sm min-h-[320px]\">\n\t\t\t\t\t\t{/* Input line */}\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 mb-4\">\n\t\t\t\t\t\t\t<span className=\"text-emerald-400\">$</span>\n\t\t\t\t\t\t\t<span className=\"text-white\">{typedInput}</span>\n\t\t\t\t\t\t\t{isTyping && <span className=\"w-2 h-5 bg-white/80 animate-pulse\" />}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Output lines */}\n\t\t\t\t\t\t<div className=\"space-y-0.5\">\n\t\t\t\t\t\t\t{displayedLines.map((line, index) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\t\t\t\tline?.startsWith('✓')\n\t\t\t\t\t\t\t\t\t\t\t? 'text-emerald-400'\n\t\t\t\t\t\t\t\t\t\t\t: line?.includes('!')\n\t\t\t\t\t\t\t\t\t\t\t\t? 'text-white'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'text-white/60'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{line || '\\u00A0'}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Command tabs */}\n\t\t\t\t<div className=\"flex justify-center gap-2 mt-6\">\n\t\t\t\t\t{commands.map((_, index) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tonClick={() => setActiveCommand(index)}\n\t\t\t\t\t\t\tclassName={`w-2 h-2 rounded-full transition-all ${\n\t\t\t\t\t\t\t\tindex === activeCommand ? 'bg-emerald-400 w-6' : 'bg-white/20 hover:bg-white/40'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","import { useState } from 'react'\nimport { ChevronDown } from 'lucide-react'\n\ninterface FAQItem {\n\tid: string\n\tquestion: string\n\tanswer: string\n\tcategory: 'seller' | 'general'\n}\n\nconst faqItems: FAQItem[] = [\n\t{\n\t\tid: 'seller-1',\n\t\tcategory: 'seller',\n\t\tquestion: 'Can I develop and sell my own Kuckit modules?',\n\t\tanswer:\n\t\t\t'Yes. You can develop complete, production-ready modules extending Kuckit functionality. Set your own pricing and publish them to the Kuckit marketplace.',\n\t},\n\t{\n\t\tid: 'seller-2',\n\t\tcategory: 'seller',\n\t\tquestion: 'What pricing models are available for my module?',\n\t\tanswer:\n\t\t\t'You have full control over your pricing strategy. Choose between one-time payments (pay once, own forever) or subscription models (recurring billing). Each module can use a different model.',\n\t},\n\t{\n\t\tid: 'seller-3',\n\t\tcategory: 'seller',\n\t\tquestion: 'How does the partnership program work?',\n\t\tanswer:\n\t\t\t\"If you want to partner with Kuckit, your module can be integrated into the core platform. As a partner, you receive revenue share benefits whenever Kuckit generates sales, giving you passive income from the platform's growth.\",\n\t},\n\t{\n\t\tid: 'seller-4',\n\t\tcategory: 'seller',\n\t\tquestion: 'What are the requirements for marketplace publishing?',\n\t\tanswer:\n\t\t\t\"Modules must follow Kuckit's Clean Architecture patterns, include proper documentation, and pass quality checks. Review our module development guide for detailed requirements.\",\n\t},\n\t{\n\t\tid: 'seller-5',\n\t\tcategory: 'seller',\n\t\tquestion: 'Can I update my module after publishing?',\n\t\tanswer:\n\t\t\t'Absolutely. You can release new versions anytime. Existing customers are notified of updates, and you control version management and backwards compatibility.',\n\t},\n\t{\n\t\tid: 'general-1',\n\t\tcategory: 'general',\n\t\tquestion: 'What is Kuckit?',\n\t\tanswer:\n\t\t\t'Kuckit is a full-stack, modular platform built on Clean Architecture and Dependency Injection. It provides a professional foundation for building scalable applications with a plugin-based module system.',\n\t},\n\t{\n\t\tid: 'general-2',\n\t\tcategory: 'general',\n\t\tquestion: 'What is the Kuckit business model?',\n\t\tanswer:\n\t\t\t'Kuckit provides a foundation platform for building applications. Module creators can publish to the marketplace with flexible pricing (one-time or subscription), and partners can integrate modules into core for revenue sharing benefits.',\n\t},\n\t{\n\t\tid: 'general-3',\n\t\tcategory: 'general',\n\t\tquestion: 'What technology stack does Kuckit use?',\n\t\tanswer:\n\t\t\t'Kuckit is built with TypeScript, React (frontend), Express (backend), Drizzle ORM, and features comprehensive tooling. The modular architecture lets you swap implementations as needed.',\n\t},\n]\n\nexport function FAQ() {\n\tconst [expandedId, setExpandedId] = useState<string | null>(null)\n\n\tconst sellerFaqs = faqItems.filter((item) => item.category === 'seller')\n\tconst generalFaqs = faqItems.filter((item) => item.category === 'general')\n\n\treturn (\n\t\t<section className=\"relative py-20 px-6\">\n\t\t\t<div className=\"max-w-4xl mx-auto\">\n\t\t\t\t{/* Header */}\n\t\t\t\t<div className=\"text-center mb-16\">\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold mb-4 bg-gradient-to-r from-emerald-400 via-teal-400 to-cyan-400 bg-clip-text text-transparent\">\n\t\t\t\t\t\tFrequently Asked Questions\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"text-white/60 text-lg\">\n\t\t\t\t\t\tEverything you need to know about developing, selling, and partnering with Kuckit\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* For Sellers Section */}\n\t\t\t\t<div className=\"mb-16\">\n\t\t\t\t\t<h3 className=\"text-2xl font-bold text-emerald-400 mb-8 flex items-center gap-2\">\n\t\t\t\t\t\t<div className=\"w-1 h-8 bg-gradient-to-b from-emerald-400 to-teal-500 rounded-full\" />\n\t\t\t\t\t\tFor Module Sellers\n\t\t\t\t\t</h3>\n\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t{sellerFaqs.map((item) => (\n\t\t\t\t\t\t\t<FAQItem\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\tisExpanded={expandedId === item.id}\n\t\t\t\t\t\t\t\tonToggle={() => setExpandedId(expandedId === item.id ? null : item.id)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* General Section */}\n\t\t\t\t<div>\n\t\t\t\t\t<h3 className=\"text-2xl font-bold text-teal-400 mb-8 flex items-center gap-2\">\n\t\t\t\t\t\t<div className=\"w-1 h-8 bg-gradient-to-b from-teal-400 to-cyan-500 rounded-full\" />\n\t\t\t\t\t\tGeneral\n\t\t\t\t\t</h3>\n\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t{generalFaqs.map((item) => (\n\t\t\t\t\t\t\t<FAQItem\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\tisExpanded={expandedId === item.id}\n\t\t\t\t\t\t\t\tonToggle={() => setExpandedId(expandedId === item.id ? null : item.id)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\ninterface FAQItemProps {\n\titem: FAQItem\n\tisExpanded: boolean\n\tonToggle: () => void\n}\n\nfunction FAQItem({ item, isExpanded, onToggle }: FAQItemProps) {\n\treturn (\n\t\t<button\n\t\t\tonClick={onToggle}\n\t\t\tclassName=\"w-full text-left bg-white/5 hover:bg-white/10 border border-white/10 rounded-lg p-5 transition-all duration-200\"\n\t\t>\n\t\t\t<div className=\"flex items-start justify-between gap-4\">\n\t\t\t\t<span className=\"text-base md:text-lg font-semibold text-white pr-4\">{item.question}</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tsize={20}\n\t\t\t\t\tclassName={`flex-shrink-0 text-emerald-400 transition-transform duration-300 ${\n\t\t\t\t\t\tisExpanded ? 'rotate-180' : ''\n\t\t\t\t\t}`}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{isExpanded && (\n\t\t\t\t<p className=\"text-white/70 mt-4 text-sm md:text-base leading-relaxed\">{item.answer}</p>\n\t\t\t)}\n\t\t</button>\n\t)\n}\n","'use client'\n\nimport { useState, type FormEvent } from 'react'\nimport { toast } from 'sonner'\nimport { useRpc } from '@kuckit/sdk-react'\n\ntype FormState = 'idle' | 'loading'\n\ninterface WaitlistRouter {\n\twaitlist: {\n\t\tjoin: (input: {\n\t\t\temail: string\n\t\t\tsource?: string\n\t\t}) => Promise<{ success: boolean; message: string }>\n\t}\n}\n\ninterface WaitlistFormProps {\n\tsource?: string\n\tclassName?: string\n}\n\nexport function WaitlistForm({ source = 'landing', className }: WaitlistFormProps) {\n\tconst rpc = useRpc<WaitlistRouter>()\n\tconst [email, setEmail] = useState('')\n\tconst [state, setState] = useState<FormState>('idle')\n\n\tconst handleSubmit = async (e: FormEvent) => {\n\t\te.preventDefault()\n\t\tsetState('loading')\n\n\t\ttry {\n\t\t\tconst result = await rpc.waitlist.join({ email, source })\n\n\t\t\tif (result.success) {\n\t\t\t\ttoast.success(result.message)\n\t\t\t\tsetEmail('')\n\t\t\t} else {\n\t\t\t\ttoast.error(result.message || 'Something went wrong. Please try again.')\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Waitlist submission error:', error)\n\t\t\ttoast.error('Network error. Please try again.')\n\t\t} finally {\n\t\t\tsetState('idle')\n\t\t}\n\t}\n\n\treturn (\n\t\t<form onSubmit={handleSubmit} className={`flex flex-col sm:flex-row gap-3 ${className}`}>\n\t\t\t<input\n\t\t\t\ttype=\"email\"\n\t\t\t\tvalue={email}\n\t\t\t\tonChange={(e) => setEmail(e.target.value)}\n\t\t\t\tplaceholder=\"Enter your email\"\n\t\t\t\trequired\n\t\t\t\tdisabled={state === 'loading'}\n\t\t\t\tclassName=\"flex-1 px-5 py-3 rounded-xl bg-white/5 border border-white/10 text-white placeholder:text-white/40 focus:outline-none focus:border-emerald-500/50 focus:ring-2 focus:ring-emerald-500/20 transition-all disabled:opacity-50\"\n\t\t\t/>\n\t\t\t<button\n\t\t\t\ttype=\"submit\"\n\t\t\t\tdisabled={state === 'loading'}\n\t\t\t\tclassName=\"px-6 py-3 rounded-xl bg-white/10 border border-white/20 font-medium text-white hover:bg-white/15 transition-colors shrink-0 disabled:opacity-50 disabled:cursor-not-allowed\"\n\t\t\t>\n\t\t\t\t{state === 'loading' ? 'Joining...' : 'Join Waitlist'}\n\t\t\t</button>\n\t\t</form>\n\t)\n}\n","import { WaitlistForm } from './WaitlistForm'\n\nexport function CtaSection() {\n\treturn (\n\t\t<section className=\"py-32 px-6 relative overflow-hidden\">\n\t\t\t{/* Background effects */}\n\t\t\t<div className=\"absolute inset-0 pointer-events-none\">\n\t\t\t\t<div className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-gradient-to-br from-emerald-500/20 via-teal-500/10 to-transparent rounded-full blur-3xl\" />\n\t\t\t</div>\n\n\t\t\t<div className=\"max-w-4xl mx-auto relative\">\n\t\t\t\t{/* Main CTA card */}\n\t\t\t\t<div className=\"relative rounded-3xl border border-white/10 bg-white/[0.02] backdrop-blur-sm p-12 md:p-16 text-center\">\n\t\t\t\t\t{/* Decorative corners */}\n\t\t\t\t\t<div className=\"absolute top-0 left-0 w-24 h-24 border-l-2 border-t-2 border-emerald-500/30 rounded-tl-3xl\" />\n\t\t\t\t\t<div className=\"absolute bottom-0 right-0 w-24 h-24 border-r-2 border-b-2 border-teal-500/30 rounded-br-3xl\" />\n\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-bold text-white mb-6\">Ready to Build?</h2>\n\t\t\t\t\t<p className=\"text-xl text-white/60 mb-10 max-w-xl mx-auto\">\n\t\t\t\t\t\tJoin thousands of developers building modular TypeScript applications.\n\t\t\t\t\t</p>\n\n\t\t\t\t\t{/* Buttons */}\n\t\t\t\t\t<div className=\"flex flex-col sm:flex-row items-center justify-center gap-4 mb-12\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/docs\"\n\t\t\t\t\t\t\tclassName=\"group relative px-8 py-4 bg-gradient-to-r from-emerald-500 to-teal-500 rounded-xl font-semibold text-black transition-all hover:scale-105 hover:shadow-lg hover:shadow-emerald-500/25\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tRead the Docs\n\t\t\t\t\t\t\t<span className=\"absolute inset-0 rounded-xl bg-gradient-to-r from-emerald-400 to-teal-400 opacity-0 group-hover:opacity-100 transition-opacity blur-xl -z-10\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https://github.com/kuckit\"\n\t\t\t\t\t\t\tclassName=\"px-8 py-4 rounded-xl font-semibold text-white border border-white/20 bg-white/5 hover:bg-white/10 hover:border-white/30 transition-all flex items-center gap-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t\t\t\t\td=\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\tView on GitHub\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Divider */}\n\t\t\t\t\t<div className=\"flex items-center gap-4 mb-10\">\n\t\t\t\t\t\t<div className=\"flex-1 h-px bg-white/10\" />\n\t\t\t\t\t\t<span className=\"text-white/40 text-sm\">or join the marketplace waitlist</span>\n\t\t\t\t\t\t<div className=\"flex-1 h-px bg-white/10\" />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Waitlist form */}\n\t\t\t\t\t<WaitlistForm source=\"cta-section\" className=\"max-w-md mx-auto\" />\n\t\t\t\t</div>\n\n\t\t\t\t{/* Stats */}\n\t\t\t\t<div className=\"grid grid-cols-3 gap-6 mt-12\">\n\t\t\t\t\t<div className=\"text-center\">\n\t\t\t\t\t\t<div className=\"text-3xl md:text-4xl font-bold text-white mb-1\">100%</div>\n\t\t\t\t\t\t<div className=\"text-white/50 text-sm\">TypeScript</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-center\">\n\t\t\t\t\t\t<div className=\"text-3xl md:text-4xl font-bold text-white mb-1\">5 min</div>\n\t\t\t\t\t\t<div className=\"text-white/50 text-sm\">To first module</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-center\">\n\t\t\t\t\t\t<div className=\"text-3xl md:text-4xl font-bold text-white mb-1\">∞</div>\n\t\t\t\t\t\t<div className=\"text-white/50 text-sm\">Modules possible</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","import { Hero } from './hero'\nimport { ValueProps } from './value-props'\nimport { CodeQuality } from './code-quality'\nimport { ModuleShowcase } from './module-showcase'\nimport { HowItWorks } from './how-it-works'\nimport { ArchitecturePreview } from './architecture-preview'\nimport { CliDemo } from './cli-demo'\nimport { FAQ } from './faq'\nimport { CtaSection } from './cta-section'\n\nexport function LandingPage() {\n\treturn (\n\t\t<div className=\"min-h-screen bg-[#0a0a0b] text-white overflow-x-hidden\">\n\t\t\t{/* Ambient background */}\n\t\t\t<div className=\"fixed inset-0 pointer-events-none\">\n\t\t\t\t<div className=\"absolute top-0 left-1/4 w-[600px] h-[600px] bg-emerald-500/10 rounded-full blur-[120px] animate-pulse\" />\n\t\t\t\t<div className=\"absolute bottom-1/4 right-1/4 w-[400px] h-[400px] bg-teal-500/8 rounded-full blur-[100px] animate-pulse delay-1000\" />\n\t\t\t</div>\n\n\t\t\t<div className=\"relative z-10\">\n\t\t\t\t<Hero />\n\t\t\t\t<ValueProps />\n\t\t\t\t<CodeQuality />\n\t\t\t\t<ModuleShowcase />\n\t\t\t\t<HowItWorks />\n\t\t\t\t<ArchitecturePreview />\n\t\t\t\t<CliDemo />\n\t\t\t\t<FAQ />\n\t\t\t\t<CtaSection />\n\t\t\t</div>\n\n\t\t\t{/* Footer */}\n\t\t\t<footer className=\"relative z-10 border-t border-white/5 py-12\">\n\t\t\t\t<div className=\"max-w-6xl mx-auto px-6 flex flex-col md:flex-row justify-between items-center gap-6\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<div className=\"w-8 h-8 rounded-lg bg-gradient-to-br from-emerald-400 to-teal-500 flex items-center justify-center\">\n\t\t\t\t\t\t\t<span className=\"text-black font-bold text-sm\">K</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span className=\"text-white/60 text-sm\">Kuckit &copy; {new Date().getFullYear()}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex gap-8 text-sm text-white/40\">\n\t\t\t\t\t\t<a href=\"/docs\" className=\"hover:text-white transition-colors\">\n\t\t\t\t\t\t\tDocs\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a href=\"https://github.com/kuckit\" className=\"hover:text-white transition-colors\">\n\t\t\t\t\t\t\tGitHub\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a href=\"/discord\" className=\"hover:text-white transition-colors\">\n\t\t\t\t\t\t\tDiscord\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t</div>\n\t)\n}\n","import { defineKuckitClientModule, type KuckitClientModuleContext } from '@kuckit/sdk-react'\nimport { LandingPage } from './components/LandingPage'\n\nexport const kuckitClientModule = defineKuckitClientModule({\n\tid: 'kuckit.landing',\n\tdisplayName: 'Landing',\n\tversion: '0.1.0',\n\n\tregister(ctx: KuckitClientModuleContext) {\n\t\tctx.registerComponent('LandingPage', LandingPage)\n\n\t\tctx.addRoute({\n\t\t\tid: 'landing',\n\t\t\tpath: '/',\n\t\t\tcomponent: LandingPage,\n\t\t\tmeta: {\n\t\t\t\ttitle: 'Kuckit - Build Modules. Earn Revenue. Ship Faster.',\n\t\t\t\trequiresAuth: false,\n\t\t\t},\n\t\t})\n\t},\n})\n\nexport { LandingPage } from './components/LandingPage'\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["outputInterval: NodeJS.Timeout | null","AI_FEATURES: AiFeature[]","faqItems: FAQItem[]","modules: Module[]"],"sources":["../../src/client/components/terminal-animation.tsx","../../src/client/components/hero.tsx","../../src/client/components/features.tsx","../../src/client/components/pricing.tsx","../../src/client/components/faq.tsx","../../src/client/components/LandingPage.tsx","../../src/client/components/ModulesPage.tsx","../../src/client/index.ts"],"sourcesContent":["import { useState, useEffect } from 'react'\n\ninterface Command {\n\tinput: string\n\toutput: string[]\n}\n\ninterface TerminalAnimationProps {\n\tcommands: Command[]\n\tclassName?: string\n\tminHeight?: string\n}\n\nexport function TerminalAnimation({\n\tcommands,\n\tclassName = '',\n\tminHeight = 'min-h-[280px]',\n}: TerminalAnimationProps) {\n\tconst [activeCommand, setActiveCommand] = useState(0)\n\tconst [displayedLines, setDisplayedLines] = useState<string[]>([])\n\tconst [isTyping, setIsTyping] = useState(true)\n\tconst [typedInput, setTypedInput] = useState('')\n\n\tuseEffect(() => {\n\t\tconst command = commands[activeCommand]\n\t\tif (!command) return\n\n\t\tlet inputIndex = 0\n\t\tlet outputIndex = 0\n\t\tlet outputInterval: NodeJS.Timeout | null = null\n\t\tsetDisplayedLines([])\n\t\tsetTypedInput('')\n\t\tsetIsTyping(true)\n\n\t\tconst inputInterval = setInterval(() => {\n\t\t\tif (inputIndex <= command.input.length) {\n\t\t\t\tsetTypedInput(command.input.slice(0, inputIndex))\n\t\t\t\tinputIndex++\n\t\t\t} else {\n\t\t\t\tclearInterval(inputInterval)\n\t\t\t\tsetIsTyping(false)\n\n\t\t\t\toutputInterval = setInterval(() => {\n\t\t\t\t\tif (outputIndex < command.output.length) {\n\t\t\t\t\t\tconst line = command.output[outputIndex]\n\t\t\t\t\t\tif (line !== undefined) {\n\t\t\t\t\t\t\tsetDisplayedLines((prev) => [...prev, line])\n\t\t\t\t\t\t}\n\t\t\t\t\t\toutputIndex++\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (outputInterval) clearInterval(outputInterval)\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tsetActiveCommand((prev) => (prev + 1) % commands.length)\n\t\t\t\t\t\t}, 3000)\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}, 50)\n\n\t\treturn () => {\n\t\t\tclearInterval(inputInterval)\n\t\t\tif (outputInterval) clearInterval(outputInterval)\n\t\t}\n\t}, [activeCommand, commands])\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t<div className=\"border border-border bg-background\">\n\t\t\t\t<div className=\"flex items-center justify-between px-4 py-3 border-b border-border bg-card\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<div className=\"w-3 h-3 rounded-full bg-[hsl(var(--status-error)/0.8)]\" />\n\t\t\t\t\t\t<div className=\"w-3 h-3 rounded-full bg-[hsl(var(--status-warning)/0.8)]\" />\n\t\t\t\t\t\t<div className=\"w-3 h-3 rounded-full bg-[hsl(var(--status-success)/0.8)]\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<span className=\"text-xs text-muted-foreground font-mono\">terminal</span>\n\t\t\t\t\t<div className=\"w-16\" />\n\t\t\t\t</div>\n\n\t\t\t\t<div className={`p-6 font-mono text-sm ${minHeight}`}>\n\t\t\t\t\t<div className=\"flex items-center gap-2 mb-4\">\n\t\t\t\t\t\t<span className=\"text-primary\">$</span>\n\t\t\t\t\t\t<span className=\"text-foreground\">{typedInput}</span>\n\t\t\t\t\t\t{isTyping && <span className=\"w-2 h-5 bg-primary animate-pulse\" />}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"space-y-0.5\">\n\t\t\t\t\t\t{displayedLines.map((line, index) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\t\t\tline?.startsWith('✓')\n\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--status-success))]'\n\t\t\t\t\t\t\t\t\t\t: line?.includes('!')\n\t\t\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line || '\\u00A0'}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex justify-center gap-2 mt-6\">\n\t\t\t\t{commands.map((_, index) => (\n\t\t\t\t\t<button\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tonClick={() => setActiveCommand(index)}\n\t\t\t\t\t\tclassName={`h-1.5 transition-all ${\n\t\t\t\t\t\t\tindex === activeCommand\n\t\t\t\t\t\t\t\t? 'bg-primary w-8'\n\t\t\t\t\t\t\t\t: 'bg-muted hover:bg-muted-foreground/30 w-1.5'\n\t\t\t\t\t\t}`}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n","import { useState } from 'react'\nimport { TerminalAnimation } from './terminal-animation'\n\nconst heroCommands = [\n\t{\n\t\tinput: 'bunx create-kuckit-app my-saas',\n\t\toutput: [\n\t\t\t'Creating new Kuckit project...',\n\t\t\t'',\n\t\t\t'✓ Cloned template',\n\t\t\t'✓ Installed dependencies',\n\t\t\t'✓ Set up database',\n\t\t\t'',\n\t\t\t'Run: cd my-saas && bun run dev',\n\t\t],\n\t},\n\t{\n\t\tinput: 'kuckit add @kuckit/payments-module',\n\t\toutput: [\n\t\t\t'Installing @kuckit/payments-module...',\n\t\t\t'',\n\t\t\t'✓ Package installed',\n\t\t\t'✓ Server module wired',\n\t\t\t'✓ Client routes added',\n\t\t\t'',\n\t\t\t'Stripe + Polar ready!',\n\t\t],\n\t},\n]\n\nexport function Hero() {\n\tconst [copied, setCopied] = useState(false)\n\n\tconst copyCommand = () => {\n\t\tnavigator.clipboard.writeText('bunx create-kuckit-app my-app')\n\t\tsetCopied(true)\n\t\tsetTimeout(() => setCopied(false), 2000)\n\t}\n\n\treturn (\n\t\t<section className=\"relative min-h-screen\">\n\t\t\t{/* Top navigation bar */}\n\t\t\t<nav className=\"relative z-20 border-b border-border\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between h-16 px-8\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclassName=\"w-8 h-8\"\n\t\t\t\t\t\t\tviewBox=\"0 0 512 512\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<polygon points=\"256,64 384,144 384,304 256,224\" fill=\"#3D3A39\" />\n\t\t\t\t\t\t\t<polygon points=\"256,64 128,144 128,304 256,224\" fill=\"#5C5855\" />\n\t\t\t\t\t\t\t<polygon points=\"128,144 256,224 384,144 256,64\" fill=\"#A49D9A\" />\n\t\t\t\t\t\t\t<polygon points=\"256,224 352,280 352,392 256,336\" fill=\"#D15010\" />\n\t\t\t\t\t\t\t<polygon points=\"256,224 160,280 160,392 256,336\" fill=\"#EE6018\" />\n\t\t\t\t\t\t\t<polygon points=\"160,280 256,336 352,280 256,224\" fill=\"#EF6F2E\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"text-foreground font-medium tracking-tight\">Kuckit</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"hidden md:flex items-center gap-8\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/docs\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDocs\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/modules\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tModules\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"#pricing\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPricing\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/login\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors px-4 py-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSign in\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/docs/getting-started\"\n\t\t\t\t\t\t\tclassName=\"text-sm bg-primary text-primary-foreground px-4 py-2 hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</nav>\n\n\t\t\t{/* Hero content */}\n\t\t\t<div className=\"relative z-10 max-w-7xl mx-auto px-8 pt-24 pb-32\">\n\t\t\t\t<div className=\"grid lg:grid-cols-12 gap-12 lg:gap-16 items-center\">\n\t\t\t\t\t{/* Left column - Main content */}\n\t\t\t\t\t<div className=\"lg:col-span-7\">\n\t\t\t\t\t\t{/* Eyebrow */}\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 mb-8\">\n\t\t\t\t\t\t\t<div className=\"h-px w-12 bg-primary\" />\n\t\t\t\t\t\t\t<span className=\"text-xs text-primary tracking-[0.25em] uppercase font-medium\">\n\t\t\t\t\t\t\t\tVibe coding ain't fun when you're stuck\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Headline */}\n\t\t\t\t\t\t<h1 className=\"mb-8\">\n\t\t\t\t\t\t\t<span className=\"block text-4xl md:text-5xl lg:text-6xl font-light text-foreground tracking-[-0.03em] leading-[1.1]\">\n\t\t\t\t\t\t\t\tYou don't need more prompts.\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"block text-4xl md:text-5xl lg:text-6xl font-light text-primary tracking-[-0.03em] leading-[1.1] mt-2\">\n\t\t\t\t\t\t\t\tYou need a foundation.\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</h1>\n\n\t\t\t\t\t\t{/* Subheadline */}\n\t\t\t\t\t\t<p className=\"text-lg md:text-xl text-muted-foreground max-w-xl leading-relaxed mb-12\">\n\t\t\t\t\t\t\tVibe coding builds fast. We build right. Ship in hours.\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t{/* CTA group */}\n\t\t\t\t\t\t<div className=\"flex flex-col sm:flex-row items-start gap-4 mb-16\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"/docs/getting-started\"\n\t\t\t\t\t\t\t\tclassName=\"group inline-flex items-center gap-3 px-6 py-4 bg-primary text-primary-foreground font-medium hover:bg-primary/90 transition-all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>Get Unstuck</span>\n\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 group-hover:translate-x-1 transition-transform\"\n\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\td=\"M17 8l4 4m0 0l-4 4m4-4H3\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Quick start command */}\n\t\t\t\t\t\t<div className=\"inline-block\">\n\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground tracking-[0.15em] uppercase mb-3\">\n\t\t\t\t\t\t\t\tQuick Start\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={copyCommand}\n\t\t\t\t\t\t\t\tclassName=\"group flex items-center gap-4 px-5 py-4 bg-card border border-border hover:border-primary/50 transition-colors font-mono text-sm\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text-primary\">$</span>\n\t\t\t\t\t\t\t\t<code className=\"text-foreground\">bunx create-kuckit-app my-app</code>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground group-hover:text-primary transition-colors ml-4\">\n\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t<svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M5 13l4 4L19 7\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Right column - Terminal animation */}\n\t\t\t\t\t<div className=\"lg:col-span-5 relative\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t{/* Glow effect behind terminal */}\n\t\t\t\t\t\t\t<div className=\"absolute -inset-4 bg-primary/5 blur-2xl rounded-lg\" />\n\n\t\t\t\t\t\t\t{/* Corner markers - larger and more prominent */}\n\t\t\t\t\t\t\t<div className=\"absolute -top-4 -left-4 w-8 h-8 border-l-2 border-t-2 border-primary/60\" />\n\t\t\t\t\t\t\t<div className=\"absolute -top-4 -right-4 w-8 h-8 border-r-2 border-t-2 border-primary/60\" />\n\t\t\t\t\t\t\t<div className=\"absolute -bottom-4 -left-4 w-8 h-8 border-l-2 border-b-2 border-primary/60\" />\n\t\t\t\t\t\t\t<div className=\"absolute -bottom-4 -right-4 w-8 h-8 border-r-2 border-b-2 border-primary/60\" />\n\n\t\t\t\t\t\t\t{/* Terminal label */}\n\t\t\t\t\t\t\t<div className=\"absolute -top-8 left-0 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<div className=\"w-2 h-2 bg-primary\" />\n\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground tracking-[0.2em] uppercase\">\n\t\t\t\t\t\t\t\t\tLive Demo\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<TerminalAnimation commands={heroCommands} minHeight=\"min-h-[320px]\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","interface AiFeature {\n\ttitle: string\n\ttag?: 'Hot' | 'New'\n}\n\nconst AI_FEATURES: AiFeature[] = [\n\t{ title: 'Context Engineering', tag: 'Hot' },\n\t{ title: 'Skills Your AI Can Use' },\n\t{ title: 'Curated MCP Tools', tag: 'New' },\n\t{ title: 'Multi-Agent Workflows' },\n]\n\nfunction ScanLines() {\n\treturn (\n\t\t<div className=\"absolute inset-0 pointer-events-none overflow-hidden opacity-[0.03]\">\n\t\t\t<div\n\t\t\t\tclassName=\"absolute inset-0\"\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundImage:\n\t\t\t\t\t\t'repeating-linear-gradient(0deg, transparent, transparent 2px, currentColor 2px, currentColor 3px)',\n\t\t\t\t\tbackgroundSize: '100% 4px',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nfunction GridPattern() {\n\treturn (\n\t\t<div className=\"absolute inset-0 pointer-events-none opacity-[0.04]\">\n\t\t\t<svg className=\"w-full h-full\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<defs>\n\t\t\t\t\t<pattern id=\"grid\" width=\"20\" height=\"20\" patternUnits=\"userSpaceOnUse\">\n\t\t\t\t\t\t<path d=\"M 20 0 L 0 0 0 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"0.5\" />\n\t\t\t\t\t</pattern>\n\t\t\t\t</defs>\n\t\t\t\t<rect width=\"100%\" height=\"100%\" fill=\"url(#grid)\" />\n\t\t\t</svg>\n\t\t</div>\n\t)\n}\n\nfunction CornerMarkers({ glow = false }: { glow?: boolean }) {\n\tconst baseClass = 'absolute w-5 h-5 border-primary'\n\tconst glowClass = glow ? 'shadow-[0_0_10px_rgba(209,80,16,0.5)]' : ''\n\treturn (\n\t\t<>\n\t\t\t<div className={`${baseClass} ${glowClass} -top-px -left-px border-l-2 border-t-2`} />\n\t\t\t<div className={`${baseClass} ${glowClass} -top-px -right-px border-r-2 border-t-2`} />\n\t\t\t<div className={`${baseClass} ${glowClass} -bottom-px -left-px border-l-2 border-b-2`} />\n\t\t\t<div className={`${baseClass} ${glowClass} -bottom-px -right-px border-r-2 border-b-2`} />\n\t\t</>\n\t)\n}\n\nfunction DiagonalAccent() {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"absolute top-0 right-0 w-32 h-32 pointer-events-none\"\n\t\t\tstyle={{\n\t\t\t\tbackground: 'linear-gradient(135deg, hsl(var(--primary) / 0.15) 0%, transparent 50%)',\n\t\t\t}}\n\t\t/>\n\t)\n}\n\nfunction CardA() {\n\treturn (\n\t\t<div className=\"group relative bg-gradient-to-br from-card via-card to-primary/5 border border-border overflow-hidden transform-gpu md:col-span-2 md:row-span-2 transition-all duration-500 hover:border-primary/60 hover:shadow-[0_0_40px_rgba(209,80,16,0.15)]\">\n\t\t\t<CornerMarkers glow />\n\t\t\t<GridPattern />\n\t\t\t<DiagonalAccent />\n\n\t\t\t{/* Animated glow orb */}\n\t\t\t<div className=\"absolute -top-20 -right-20 w-64 h-64 bg-primary/20 rounded-full blur-[80px] group-hover:scale-150 transition-transform duration-700\" />\n\n\t\t\t{/* Data visualization element */}\n\t\t\t<div className=\"absolute bottom-0 left-0 right-0 h-24 opacity-20 group-hover:opacity-40 transition-opacity\">\n\t\t\t\t<svg className=\"w-full h-full\" viewBox=\"0 0 400 100\" preserveAspectRatio=\"none\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M0,80 Q50,60 100,70 T200,50 T300,65 T400,45 L400,100 L0,100 Z\"\n\t\t\t\t\t\tfill=\"url(#waveGradient)\"\n\t\t\t\t\t/>\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<linearGradient id=\"waveGradient\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n\t\t\t\t\t\t\t<stop offset=\"0%\" stopColor=\"hsl(var(--primary))\" stopOpacity=\"0.4\" />\n\t\t\t\t\t\t\t<stop offset=\"100%\" stopColor=\"hsl(var(--primary))\" stopOpacity=\"0\" />\n\t\t\t\t\t\t</linearGradient>\n\t\t\t\t\t</defs>\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<div className=\"absolute inset-0 flex flex-col justify-center p-8 md:p-12\">\n\t\t\t\t{/* Content that slides up on hover */}\n\t\t\t\t<div className=\"transition-transform duration-500 ease-out group-hover:-translate-y-6\">\n\t\t\t\t\t{/* Eyebrow */}\n\t\t\t\t\t<div className=\"flex items-center gap-3 mb-6\">\n\t\t\t\t\t\t<div className=\"w-2 h-2 bg-primary animate-pulse shadow-[0_0_8px_rgba(209,80,16,0.8)]\" />\n\t\t\t\t\t\t<span className=\"text-[10px] text-primary tracking-[0.3em] uppercase font-medium\">\n\t\t\t\t\t\t\tProduction Ready\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<h3 className=\"text-3xl md:text-4xl lg:text-5xl font-light tracking-[-0.04em] text-foreground mb-6 leading-[1.1]\">\n\t\t\t\t\t\tShip faster.\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span className=\"text-primary\">Build right.</span>\n\t\t\t\t\t</h3>\n\n\t\t\t\t\t<div className=\"flex flex-wrap gap-3\">\n\t\t\t\t\t\t{['Production-ready', 'Pre-built features', 'AI-native'].map((pill, i) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tkey={pill}\n\t\t\t\t\t\t\t\tclassName=\"px-4 py-2 text-xs border border-primary/40 text-foreground/80 bg-primary/5 backdrop-blur-sm tracking-wide transition-all duration-300 hover:bg-primary/20 hover:border-primary\"\n\t\t\t\t\t\t\t\tstyle={{ animationDelay: `${i * 100}ms` }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{pill}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* CTA that reveals from below */}\n\t\t\t\t<div className=\"absolute bottom-8 md:bottom-12 left-8 md:left-12 opacity-0 group-hover:opacity-100 translate-y-6 group-hover:translate-y-0 transition-all duration-500 delay-100\">\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"/docs/getting-started\"\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-3 text-sm text-primary font-medium tracking-wide group/cta\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"relative\">\n\t\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t\t<span className=\"absolute bottom-0 left-0 w-0 h-px bg-primary group-hover/cta:w-full transition-all duration-300\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclassName=\"w-4 h-4 group-hover/cta:translate-x-1 transition-transform\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M17 8l4 4m0 0l-4 4m4-4H3\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction CardB({ className = '' }: { className?: string }) {\n\tconst capabilities = [\n\t\t{ label: 'Smart Context', value: '100%' },\n\t\t{ label: 'Auto-Complete', value: '95%' },\n\t\t{ label: 'Team of AIs', value: '∞' },\n\t]\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`group relative bg-card border border-border overflow-hidden transform-gpu transition-all duration-500 hover:border-primary/60 hover:shadow-[0_0_30px_rgba(209,80,16,0.1)] ${className}`}\n\t\t>\n\t\t\t<CornerMarkers />\n\t\t\t<ScanLines />\n\n\t\t\t{/* Pulsing ring effect */}\n\t\t\t<div className=\"absolute top-6 right-6 w-16 h-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"absolute inset-0 border border-primary/30 rounded-full animate-ping\"\n\t\t\t\t\tstyle={{ animationDuration: '3s' }}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"absolute inset-2 border border-primary/50 rounded-full animate-ping\"\n\t\t\t\t\tstyle={{ animationDuration: '3s', animationDelay: '0.5s' }}\n\t\t\t\t/>\n\t\t\t\t<div className=\"absolute inset-4 bg-primary/20 rounded-full flex items-center justify-center\">\n\t\t\t\t\t<div className=\"w-2 h-2 bg-primary rounded-full shadow-[0_0_10px_rgba(209,80,16,0.8)]\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"absolute inset-0 flex flex-col p-6\">\n\t\t\t\t{/* Header */}\n\t\t\t\t<div className=\"flex items-center gap-2 mb-6\">\n\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground tracking-[0.2em] uppercase\">\n\t\t\t\t\t\tAI Enhancement\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"px-1.5 py-0.5 text-[8px] bg-[hsl(var(--status-success))] text-white tracking-wider uppercase\">\n\t\t\t\t\t\tActive\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Big stat with glow */}\n\t\t\t\t<div className=\"flex-1 flex flex-col justify-center\">\n\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t<span className=\"text-6xl md:text-7xl font-extralight text-foreground tracking-tighter\">\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t<span className=\"text-primary\">x</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className=\"absolute -inset-4 bg-primary/10 blur-2xl -z-10\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<span className=\"text-sm text-muted-foreground mt-2 tracking-wide\">\n\t\t\t\t\t\tFaster AI responses\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Capability bars */}\n\t\t\t\t<div className=\"space-y-2 mt-4\">\n\t\t\t\t\t{capabilities.map((cap, i) => (\n\t\t\t\t\t\t<div key={cap.label} className=\"group/bar relative overflow-hidden\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-between text-xs mb-1\">\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{cap.label}</span>\n\t\t\t\t\t\t\t\t<span className=\"text-primary font-mono\">{cap.value}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"h-1 bg-border rounded-full overflow-hidden\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"h-full bg-gradient-to-r from-primary/50 to-primary rounded-full transition-all duration-700 group-hover:from-primary group-hover:to-primary\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\twidth: cap.value === '∞' ? '100%' : cap.value,\n\t\t\t\t\t\t\t\t\t\ttransitionDelay: `${i * 100}ms`,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction CardC({ className = '' }: { className?: string }) {\n\tconst transforms = [\n\t\t{ problem: 'Stuck in loops', outcome: 'Ship in hours', icon: '○' },\n\t\t{ problem: \"Can't debug\", outcome: 'Code you own', icon: '△' },\n\t\t{ problem: \"Won't deploy\", outcome: 'Launch confident', icon: '□' },\n\t]\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`group relative bg-card border border-border overflow-hidden transform-gpu transition-all duration-500 hover:border-primary/60 ${className}`}\n\t\t>\n\t\t\t<CornerMarkers />\n\n\t\t\t{/* Diagonal split background */}\n\t\t\t<div\n\t\t\t\tclassName=\"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500\"\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground:\n\t\t\t\t\t\t'linear-gradient(135deg, transparent 49.5%, hsl(var(--primary) / 0.1) 49.5%, hsl(var(--primary) / 0.1) 50.5%, transparent 50.5%)',\n\t\t\t\t}}\n\t\t\t/>\n\n\t\t\t<div className=\"absolute inset-0 flex flex-col justify-center p-6\">\n\t\t\t\t<div className=\"text-[10px] text-muted-foreground tracking-[0.2em] uppercase mb-4\">\n\t\t\t\t\tTransformation\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t{transforms.map((t, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={t.problem}\n\t\t\t\t\t\t\tclassName=\"group/row relative flex items-center gap-3 transition-all duration-300\"\n\t\t\t\t\t\t\tstyle={{ transitionDelay: `${i * 50}ms` }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* Icon */}\n\t\t\t\t\t\t\t<span className=\"w-6 h-6 flex items-center justify-center border border-border text-muted-foreground text-xs group-hover/row:border-primary group-hover/row:text-primary transition-colors\">\n\t\t\t\t\t\t\t\t{t.icon}\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t{/* Text transformation */}\n\t\t\t\t\t\t\t<div className=\"flex-1 flex items-center gap-2 text-sm\">\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/60 line-through decoration-primary/50 group-hover:text-muted-foreground/40 transition-colors\">\n\t\t\t\t\t\t\t\t\t{t.problem}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 text-primary shrink-0 group-hover:translate-x-1 transition-transform\"\n\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M13 7l5 5m0 0l-5 5m5-5H6\" />\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<span className=\"text-foreground font-medium group-hover:text-primary transition-colors\">\n\t\t\t\t\t\t\t\t\t{t.outcome}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction FeaturePill({ title, tag }: AiFeature) {\n\treturn (\n\t\t<div className=\"shrink-0 px-5 py-3 bg-gradient-to-r from-card to-primary/5 border border-border flex items-center gap-3 group-hover:border-primary/40 transition-colors\">\n\t\t\t<div className=\"w-1.5 h-1.5 bg-primary rounded-full\" />\n\t\t\t<span className=\"text-sm font-medium whitespace-nowrap text-foreground\">{title}</span>\n\t\t\t{tag && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`text-[9px] px-2 py-0.5 tracking-wider uppercase font-medium ${\n\t\t\t\t\t\ttag === 'Hot' ? 'bg-primary text-white' : 'bg-[hsl(var(--status-info))] text-white'\n\t\t\t\t\t}`}\n\t\t\t\t>\n\t\t\t\t\t{tag}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nfunction CardD() {\n\treturn (\n\t\t<div className=\"group relative bg-card border border-border overflow-hidden transform-gpu md:col-span-2 transition-all duration-500 hover:border-primary/60\">\n\t\t\t<CornerMarkers />\n\n\t\t\t{/* Gradient fade edges */}\n\t\t\t<div className=\"absolute left-0 top-0 bottom-0 w-16 bg-gradient-to-r from-card to-transparent z-10 pointer-events-none\" />\n\t\t\t<div className=\"absolute right-0 top-0 bottom-0 w-16 bg-gradient-to-l from-card to-transparent z-10 pointer-events-none\" />\n\n\t\t\t<div className=\"absolute inset-0 flex flex-col justify-center\">\n\t\t\t\t{/* Label */}\n\t\t\t\t<div className=\"absolute top-4 left-4 z-20\">\n\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground tracking-[0.2em] uppercase\">\n\t\t\t\t\t\tAI Superpowers\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex overflow-hidden py-4\">\n\t\t\t\t\t<div className=\"flex gap-4 px-4 animate-marquee group-hover:[animation-play-state:paused]\">\n\t\t\t\t\t\t{AI_FEATURES.map((f) => (\n\t\t\t\t\t\t\t<FeaturePill key={f.title} {...f} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{AI_FEATURES.map((f) => (\n\t\t\t\t\t\t\t<FeaturePill key={`dup-${f.title}`} {...f} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction CardE() {\n\tconst layers = [\n\t\t{ name: 'Apps', packages: ['web', 'server'], radius: 95 },\n\t\t{ name: 'Infrastructure', packages: ['db', 'auth', 'infra'], radius: 75 },\n\t\t{ name: 'Adapters', packages: ['api', 'contracts'], radius: 55 },\n\t\t{ name: 'Application', packages: ['application'], radius: 38 },\n\t\t{ name: 'Domain', packages: ['domain'], radius: 20 },\n\t]\n\n\treturn (\n\t\t<div className=\"group relative bg-card border border-border overflow-hidden transform-gpu md:col-span-2 transition-all duration-500 hover:border-primary/60\">\n\t\t\t<CornerMarkers />\n\t\t\t<ScanLines />\n\n\t\t\t{/* Label */}\n\t\t\t<div className=\"absolute top-4 left-4 z-20\">\n\t\t\t\t<span className=\"text-[10px] text-muted-foreground tracking-[0.2em] uppercase\">\n\t\t\t\t\tClean Architecture\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t{/* Dependency direction indicator */}\n\t\t\t<div className=\"absolute top-4 right-4 z-20 flex items-center gap-2\">\n\t\t\t\t<span className=\"text-[8px] text-muted-foreground tracking-wider uppercase\">\n\t\t\t\t\tdeps flow in\n\t\t\t\t</span>\n\t\t\t\t<svg\n\t\t\t\t\tclassName=\"w-3 h-3 text-primary animate-pulse\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t{/* Onion layers visualization */}\n\t\t\t<div className=\"absolute inset-0 flex items-center justify-center\">\n\t\t\t\t<div className=\"relative w-48 h-48 md:w-56 md:h-56\">\n\t\t\t\t\t{/* Animated pulse rings flowing inward */}\n\t\t\t\t\t<div className=\"absolute inset-0 flex items-center justify-center\">\n\t\t\t\t\t\t{[0, 1, 2].map((i) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tclassName=\"absolute rounded-full border border-primary/20\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\tanimation: `pulseIn 3s ease-in-out infinite`,\n\t\t\t\t\t\t\t\t\tanimationDelay: `${i * 1}s`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Concentric layer rings */}\n\t\t\t\t\t{layers.map((layer, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={layer.name}\n\t\t\t\t\t\t\tclassName=\"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border transition-all duration-300 group/layer flex items-center justify-center cursor-default\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: `${layer.radius}%`,\n\t\t\t\t\t\t\t\theight: `${layer.radius}%`,\n\t\t\t\t\t\t\t\tborderColor:\n\t\t\t\t\t\t\t\t\ti === layers.length - 1\n\t\t\t\t\t\t\t\t\t\t? 'hsl(var(--primary))'\n\t\t\t\t\t\t\t\t\t\t: `hsl(var(--primary) / ${0.15 + i * 0.1})`,\n\t\t\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\t\t\ti === layers.length - 1\n\t\t\t\t\t\t\t\t\t\t? 'hsl(var(--primary) / 0.15)'\n\t\t\t\t\t\t\t\t\t\t: `hsl(var(--primary) / ${0.02 + i * 0.02})`,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* Layer label - visible on hover or for Domain */}\n\t\t\t\t\t\t\t{i === layers.length - 1 ? (\n\t\t\t\t\t\t\t\t<span className=\"text-[9px] font-medium text-primary tracking-wide\">\n\t\t\t\t\t\t\t\t\t{layer.name}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"absolute text-[8px] text-muted-foreground/60 tracking-wide opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\ttop: '2px',\n\t\t\t\t\t\t\t\t\t\tleft: '50%',\n\t\t\t\t\t\t\t\t\t\ttransform: 'translateX(-50%)',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{layer.name}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t{/* Center glow */}\n\t\t\t\t\t<div className=\"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-8 bg-primary/30 rounded-full blur-xl\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Package legend on side */}\n\t\t\t<div className=\"absolute right-4 top-1/2 -translate-y-1/2 space-y-1 opacity-0 group-hover:opacity-100 transition-opacity duration-300\">\n\t\t\t\t{layers\n\t\t\t\t\t.slice()\n\t\t\t\t\t.reverse()\n\t\t\t\t\t.map((layer) => (\n\t\t\t\t\t\t<div key={layer.name} className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"w-2 h-2 rounded-full\"\n\t\t\t\t\t\t\t\tstyle={{ backgroundColor: 'hsl(var(--primary) / 0.5)' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<code className=\"text-[8px] text-muted-foreground font-mono\">\n\t\t\t\t\t\t\t\t{layer.packages.join(', ')}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction CardF() {\n\treturn (\n\t\t<div className=\"group relative bg-card border border-border overflow-hidden transform-gpu transition-all duration-500 hover:border-primary/60 hover:bg-primary/5\">\n\t\t\t<CornerMarkers />\n\n\t\t\t{/* Blueprint-style background */}\n\t\t\t<div className=\"absolute inset-0 opacity-5\">\n\t\t\t\t<svg className=\"w-full h-full\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"none\">\n\t\t\t\t\t<circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"0.5\" />\n\t\t\t\t\t<circle cx=\"50\" cy=\"50\" r=\"25\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"0.5\" />\n\t\t\t\t\t<line x1=\"0\" y1=\"50\" x2=\"100\" y2=\"50\" stroke=\"currentColor\" strokeWidth=\"0.5\" />\n\t\t\t\t\t<line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"100\" stroke=\"currentColor\" strokeWidth=\"0.5\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<div className=\"absolute inset-0 flex flex-col justify-center items-center p-6 text-center\">\n\t\t\t\t{/* File icon with glow */}\n\t\t\t\t<div className=\"relative mb-4 group-hover:scale-110 transition-transform duration-300\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclassName=\"w-10 h-10 text-primary\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\td=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<div className=\"absolute -inset-2 bg-primary/20 blur-lg -z-10 group-hover:bg-primary/30 transition-colors\" />\n\t\t\t\t</div>\n\n\t\t\t\t<span className=\"text-sm font-mono text-primary tracking-wide\">AGENTS.md</span>\n\t\t\t\t<span className=\"text-[10px] text-muted-foreground mt-1 tracking-wider uppercase\">\n\t\t\t\t\tIn every package\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport function Features() {\n\treturn (\n\t\t<section className=\"relative border-t border-border overflow-hidden\">\n\t\t\t{/* Background atmosphere */}\n\t\t\t<div className=\"absolute inset-0 pointer-events-none\">\n\t\t\t\t<div className=\"absolute top-1/4 -left-1/4 w-1/2 h-1/2 bg-primary/5 rounded-full blur-[120px]\" />\n\t\t\t\t<div className=\"absolute bottom-1/4 -right-1/4 w-1/2 h-1/2 bg-primary/5 rounded-full blur-[120px]\" />\n\t\t\t</div>\n\n\t\t\t<div className=\"relative max-w-7xl mx-auto px-8 py-20 md:py-28\">\n\t\t\t\t{/* Section header */}\n\t\t\t\t<div className=\"mb-16 md:mb-20\">\n\t\t\t\t\t<div className=\"flex items-center gap-4 mb-6\">\n\t\t\t\t\t\t<div className=\"h-px w-16 bg-gradient-to-r from-primary to-transparent\" />\n\t\t\t\t\t\t<span className=\"text-[11px] text-primary tracking-[0.3em] uppercase font-medium\">\n\t\t\t\t\t\t\tFeatures\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<h2 className=\"text-4xl md:text-5xl lg:text-6xl font-light text-foreground tracking-[-0.04em] mb-6\">\n\t\t\t\t\t\tEverything You Need\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"text-lg md:text-xl text-muted-foreground max-w-2xl leading-relaxed\">\n\t\t\t\t\t\tA complete foundation for building production-ready SaaS applications.\n\t\t\t\t\t\t<span className=\"text-foreground\"> No assembly required.</span>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Bento grid with improved gaps and sizing */}\n\t\t\t\t<div className=\"grid grid-cols-1 md:grid-cols-3 auto-rows-[14rem] gap-4 md:gap-5\">\n\t\t\t\t\t<CardA />\n\t\t\t\t\t<CardB className=\"md:row-span-2\" />\n\t\t\t\t\t<CardC className=\"md:row-span-2\" />\n\t\t\t\t\t<CardD />\n\t\t\t\t\t<CardE />\n\t\t\t\t\t<CardF />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","import { GlareCard } from '@kuckit/polar-payments-module/client'\nimport { Zap, Check } from 'lucide-react'\n\nconst product = {\n\tname: 'Kuckit',\n\tprice: '249',\n\tdescription:\n\t\t'Stop debugging. Start launching. Everything you need to escape the vibe coding trap.',\n\tfeatures: [\n\t\t'Production-ready architecture',\n\t\t'Auth, payments, dashboards included',\n\t\t'Code you can actually understand',\n\t\t'Deploy in hours, not weeks',\n\t\t'Support when you get stuck',\n\t],\n}\n\nexport function Pricing() {\n\treturn (\n\t\t<section id=\"pricing\" className=\"relative border-t border-border scroll-mt-16\">\n\t\t\t{/* Section header */}\n\t\t\t<div className=\"max-w-7xl mx-auto px-8 py-16 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-4 mb-4\">\n\t\t\t\t\t<div className=\"h-px w-12 bg-primary\" />\n\t\t\t\t\t<span className=\"text-xs text-primary tracking-[0.25em] uppercase font-medium\">\n\t\t\t\t\t\tOne-time investment\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-light text-foreground tracking-[-0.03em]\">\n\t\t\t\t\tSkip months of debugging\n\t\t\t\t</h2>\n\t\t\t\t<p className=\"mt-4 text-lg text-muted-foreground max-w-2xl\">\n\t\t\t\t\tPay once. Ship forever. No subscriptions, no surprises.\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t{/* Single product - centered GlareCard */}\n\t\t\t<div className=\"max-w-7xl mx-auto px-8 py-16\">\n\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t<GlareCard className=\"flex flex-col p-8 min-h-[520px]\">\n\t\t\t\t\t\t{/* Header */}\n\t\t\t\t\t\t<div className=\"flex items-start justify-between mb-8\">\n\t\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t\t<div className=\"inline-flex items-center justify-center size-12 rounded-sm bg-primary/10 border border-primary/20\">\n\t\t\t\t\t\t\t\t\t<Zap className=\"size-6 text-primary\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<h3 className=\"text-2xl font-normal text-foreground tracking-tight\">\n\t\t\t\t\t\t\t\t\t{product.name}\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span className=\"px-3 py-1.5 text-xs uppercase tracking-[0.15em] bg-primary/10 text-primary border border-primary/20\">\n\t\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Price */}\n\t\t\t\t\t\t<div className=\"mb-8\">\n\t\t\t\t\t\t\t<div className=\"flex items-baseline gap-1\">\n\t\t\t\t\t\t\t\t<span className=\"text-sm text-muted-foreground\">$</span>\n\t\t\t\t\t\t\t\t<span className=\"text-6xl font-light text-foreground tabular-nums tracking-tighter\">\n\t\t\t\t\t\t\t\t\t{product.price}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p className=\"text-muted-foreground text-sm mt-3 tracking-wide\">one-time payment</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Divider */}\n\t\t\t\t\t\t<div className=\"h-px bg-gradient-to-r from-transparent via-border to-transparent mb-8\" />\n\n\t\t\t\t\t\t{/* Description */}\n\t\t\t\t\t\t<p className=\"text-muted-foreground text-sm leading-relaxed mb-8\">\n\t\t\t\t\t\t\t{product.description}\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t{/* Features */}\n\t\t\t\t\t\t<div className=\"space-y-3 mb-10 flex-grow\">\n\t\t\t\t\t\t\t{product.features.map((feature) => (\n\t\t\t\t\t\t\t\t<div key={feature} className=\"flex items-center gap-3\">\n\t\t\t\t\t\t\t\t\t<div className=\"w-4 h-4 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 text-primary\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-foreground\">{feature}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* CTA */}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/billing\"\n\t\t\t\t\t\t\tclassName=\"w-full py-4 text-sm font-medium tracking-wide transition-all duration-300 flex items-center justify-center gap-2 bg-primary text-primary-foreground hover:bg-primary/90\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</GlareCard>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n","import { useState } from 'react'\n\ninterface FAQItem {\n\tid: string\n\tquestion: string\n\tanswer: string\n\tcategory: 'seller' | 'general'\n}\n\nconst faqItems: FAQItem[] = [\n\t{\n\t\tid: 'seller-1',\n\t\tcategory: 'seller',\n\t\tquestion: 'Can I develop and sell my own Kuckit modules?',\n\t\tanswer:\n\t\t\t'Yes. You can develop complete, production-ready modules extending Kuckit functionality. Set your own pricing and publish them to the Kuckit marketplace.',\n\t},\n\t{\n\t\tid: 'seller-2',\n\t\tcategory: 'seller',\n\t\tquestion: 'What pricing models are available for my module?',\n\t\tanswer:\n\t\t\t'You have full control over your pricing strategy. Choose between one-time payments (pay once, own forever) or subscription models (recurring billing). Each module can use a different model.',\n\t},\n\t{\n\t\tid: 'seller-3',\n\t\tcategory: 'seller',\n\t\tquestion: 'How does the partnership program work?',\n\t\tanswer:\n\t\t\t\"If you want to partner with Kuckit, your module can be integrated into the core platform. As a partner, you receive revenue share benefits whenever Kuckit generates sales, giving you passive income from the platform's growth.\",\n\t},\n\t{\n\t\tid: 'seller-4',\n\t\tcategory: 'seller',\n\t\tquestion: 'What are the requirements for marketplace publishing?',\n\t\tanswer:\n\t\t\t\"Modules must follow Kuckit's Clean Architecture patterns, include proper documentation, and pass quality checks. Review our module development guide for detailed requirements.\",\n\t},\n\t{\n\t\tid: 'seller-5',\n\t\tcategory: 'seller',\n\t\tquestion: 'Can I update my module after publishing?',\n\t\tanswer:\n\t\t\t'Absolutely. You can release new versions anytime. Existing customers are notified of updates, and you control version management and backwards compatibility.',\n\t},\n\t{\n\t\tid: 'general-1',\n\t\tcategory: 'general',\n\t\tquestion: 'What is Kuckit?',\n\t\tanswer:\n\t\t\t'Kuckit is a full-stack, modular platform built on Clean Architecture and Dependency Injection. It provides a professional foundation for building scalable applications with a plugin-based module system.',\n\t},\n\t{\n\t\tid: 'general-2',\n\t\tcategory: 'general',\n\t\tquestion: 'What is the Kuckit business model?',\n\t\tanswer:\n\t\t\t'Kuckit provides a foundation platform for building applications. Module creators can publish to the marketplace with flexible pricing (one-time or subscription), and partners can integrate modules into core for revenue sharing benefits.',\n\t},\n\t{\n\t\tid: 'general-3',\n\t\tcategory: 'general',\n\t\tquestion: 'What technology stack does Kuckit use?',\n\t\tanswer:\n\t\t\t'Kuckit is built with TypeScript, React (frontend), Express (backend), Drizzle ORM, and features comprehensive tooling. The modular architecture lets you swap implementations as needed.',\n\t},\n]\n\nexport function FAQ() {\n\tconst [expandedId, setExpandedId] = useState<string | null>(null)\n\n\tconst sellerFaqs = faqItems.filter((item) => item.category === 'seller')\n\tconst generalFaqs = faqItems.filter((item) => item.category === 'general')\n\n\treturn (\n\t\t<section className=\"relative border-t border-border\">\n\t\t\t{/* Section header */}\n\t\t\t<div className=\"max-w-7xl mx-auto px-8 py-16 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-4 mb-4\">\n\t\t\t\t\t<div className=\"h-px w-12 bg-primary\" />\n\t\t\t\t\t<span className=\"text-xs text-primary tracking-[0.25em] uppercase font-medium\">FAQ</span>\n\t\t\t\t</div>\n\t\t\t\t<h2 className=\"text-4xl md:text-5xl font-light text-foreground tracking-[-0.03em] mb-4\">\n\t\t\t\t\tFrequently Asked Questions\n\t\t\t\t</h2>\n\t\t\t\t<p className=\"text-lg text-muted-foreground max-w-2xl\">\n\t\t\t\t\tEverything you need to know about developing, selling, and partnering with Kuckit\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t{/* FAQ sections */}\n\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t<div className=\"grid lg:grid-cols-2\">\n\t\t\t\t\t{/* For Sellers */}\n\t\t\t\t\t<div className=\"border-b lg:border-b-0 lg:border-r border-border\">\n\t\t\t\t\t\t<div className=\"px-8 py-6 border-b border-border bg-card\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground tracking-[0.15em] uppercase\">\n\t\t\t\t\t\t\t\t\t01\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">For Module Sellers</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t\t{sellerFaqs.map((item, index) => (\n\t\t\t\t\t\t\t\t<FAQItemComponent\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\tisExpanded={expandedId === item.id}\n\t\t\t\t\t\t\t\t\tonToggle={() => setExpandedId(expandedId === item.id ? null : item.id)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* General */}\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"px-8 py-6 border-b border-border bg-card\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground tracking-[0.15em] uppercase\">\n\t\t\t\t\t\t\t\t\t02\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">General</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t\t{generalFaqs.map((item, index) => (\n\t\t\t\t\t\t\t\t<FAQItemComponent\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\tisExpanded={expandedId === item.id}\n\t\t\t\t\t\t\t\t\tonToggle={() => setExpandedId(expandedId === item.id ? null : item.id)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\ninterface FAQItemProps {\n\titem: FAQItem\n\tindex: number\n\tisExpanded: boolean\n\tonToggle: () => void\n}\n\nfunction FAQItemComponent({ item, index, isExpanded, onToggle }: FAQItemProps) {\n\treturn (\n\t\t<button onClick={onToggle} className=\"w-full text-left p-6 hover:bg-card/50 transition-colors\">\n\t\t\t<div className=\"flex items-start gap-4\">\n\t\t\t\t<span className=\"text-xs text-muted-foreground font-mono shrink-0 pt-1\">\n\t\t\t\t\t{String(index + 1).padStart(2, '0')}\n\t\t\t\t</span>\n\t\t\t\t<div className=\"flex-1\">\n\t\t\t\t\t<div className=\"flex items-start justify-between gap-4\">\n\t\t\t\t\t\t<span className=\"text-foreground font-medium leading-relaxed\">{item.question}</span>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclassName={`w-4 h-4 text-muted-foreground shrink-0 mt-1 transition-transform duration-200 ${\n\t\t\t\t\t\t\t\tisExpanded ? 'rotate-45' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\td=\"M12 4v16m8-8H4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{isExpanded && (\n\t\t\t\t\t\t<p className=\"text-muted-foreground text-sm leading-relaxed mt-4 pr-8\">{item.answer}</p>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</button>\n\t)\n}\n","import { Hero } from './hero'\nimport { Features } from './features'\nimport { Pricing } from './pricing'\nimport { FAQ } from './faq'\n\nexport function LandingPage() {\n\treturn (\n\t\t<div className=\"min-h-screen bg-background text-foreground overflow-x-hidden\">\n\t\t\t{/* Industrial grid overlay */}\n\t\t\t<div\n\t\t\t\tclassName=\"fixed inset-0 pointer-events-none\"\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundImage: `\n\t\t\t\t\t\tlinear-gradient(to right, hsl(var(--border) / 0.15) 1px, transparent 1px),\n\t\t\t\t\t\tlinear-gradient(to bottom, hsl(var(--border) / 0.15) 1px, transparent 1px)\n\t\t\t\t\t`,\n\t\t\t\t\tbackgroundSize: '60px 60px',\n\t\t\t\t}}\n\t\t\t/>\n\n\t\t\t{/* Diagonal accent line - Factory.ai signature */}\n\t\t\t<div\n\t\t\t\tclassName=\"fixed top-0 right-0 w-[1px] h-[200vh] bg-gradient-to-b from-primary via-primary/50 to-transparent pointer-events-none origin-top-right\"\n\t\t\t\tstyle={{ transform: 'rotate(-35deg) translateX(300px)' }}\n\t\t\t/>\n\n\t\t\t{/* Corner accent glow */}\n\t\t\t<div className=\"fixed top-0 right-0 w-[500px] h-[500px] pointer-events-none\">\n\t\t\t\t<div className=\"absolute inset-0 bg-primary/8 blur-[100px] rounded-full -translate-y-1/2 translate-x-1/2\" />\n\t\t\t</div>\n\n\t\t\t<div className=\"relative z-10\">\n\t\t\t\t<Hero />\n\t\t\t\t<Features />\n\t\t\t\t<Pricing />\n\t\t\t\t<FAQ />\n\t\t\t</div>\n\n\t\t\t{/* Footer - Factory precision */}\n\t\t\t<footer className=\"relative z-10 border-t border-border\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t\t{/* Upper footer */}\n\t\t\t\t\t<div className=\"grid grid-cols-1 md:grid-cols-12 border-b border-border\">\n\t\t\t\t\t\t{/* Brand */}\n\t\t\t\t\t\t<div className=\"md:col-span-4 p-8 md:p-12 border-b md:border-b-0 md:border-r border-border\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-4 mb-6\">\n\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\tclassName=\"w-10 h-10\"\n\t\t\t\t\t\t\t\t\tviewBox=\"0 0 512 512\"\n\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{/* Back cube */}\n\t\t\t\t\t\t\t\t\t<polygon points=\"256,64 384,144 384,304 256,224\" fill=\"#3D3A39\" />\n\t\t\t\t\t\t\t\t\t<polygon points=\"256,64 128,144 128,304 256,224\" fill=\"#5C5855\" />\n\t\t\t\t\t\t\t\t\t<polygon points=\"128,144 256,224 384,144 256,64\" fill=\"#A49D9A\" />\n\t\t\t\t\t\t\t\t\t{/* Front cube (accent) */}\n\t\t\t\t\t\t\t\t\t<polygon points=\"256,224 352,280 352,392 256,336\" fill=\"#D15010\" />\n\t\t\t\t\t\t\t\t\t<polygon points=\"256,224 160,280 160,392 256,336\" fill=\"#EE6018\" />\n\t\t\t\t\t\t\t\t\t<polygon points=\"160,280 256,336 352,280 256,224\" fill=\"#EF6F2E\" />\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-foreground font-medium tracking-tight\">Kuckit</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-muted-foreground text-xs tracking-[0.15em] uppercase\">\n\t\t\t\t\t\t\t\t\t\tFramework\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p className=\"text-muted-foreground text-sm leading-relaxed max-w-xs\">\n\t\t\t\t\t\t\t\tThe TypeScript module ecosystem where developers build once and sell forever.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Links grid */}\n\t\t\t\t\t\t<div className=\"md:col-span-8 grid grid-cols-3\">\n\t\t\t\t\t\t\t<div className=\"p-8 border-r border-border\">\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground tracking-[0.2em] uppercase mb-6\">\n\t\t\t\t\t\t\t\t\tResources\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/docs\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tDocumentation\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/docs/getting-started\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tQuick Start\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/docs/api\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tAPI Reference\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"p-8 border-r border-border\">\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground tracking-[0.2em] uppercase mb-6\">\n\t\t\t\t\t\t\t\t\tCommunity\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/discord\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tDiscord\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"https://twitter.com/kuckit\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tTwitter\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"p-8\">\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground tracking-[0.2em] uppercase mb-6\">\n\t\t\t\t\t\t\t\t\tLegal\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/privacy\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tPrivacy\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/terms\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tTerms\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref=\"/license\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"block text-foreground hover:text-primary transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tLicense\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Lower footer - status bar style */}\n\t\t\t\t\t<div className=\"flex flex-col md:flex-row items-center justify-between gap-4 px-8 md:px-12 py-6\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-6 text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t<span>&copy; {new Date().getFullYear()} Kuckit</span>\n\t\t\t\t\t\t\t<span className=\"hidden md:inline text-border\">|</span>\n\t\t\t\t\t\t\t<span className=\"hidden md:inline\">MIT License</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Status indicator */}\n\t\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-1.5 bg-muted border border-border\">\n\t\t\t\t\t\t\t\t<span className=\"w-1.5 h-1.5 rounded-full bg-[hsl(var(--status-success))] animate-pulse\" />\n\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground tracking-wide\">\n\t\t\t\t\t\t\t\t\tAll systems operational\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground font-mono\">v1.0.0</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t</div>\n\t)\n}\n","interface Module {\n\tname: string\n\tslug: string\n\tpackage: string\n\tdesc: string\n\tstatus: 'stable' | 'beta' | 'soon'\n\tfeatures: string[]\n}\n\nconst modules: Module[] = [\n\t{\n\t\tname: 'Payments',\n\t\tslug: 'payments',\n\t\tpackage: '@kuckit/polar-payments-module',\n\t\tdesc: 'Accept payments in minutes. Subscriptions, one-time purchases, customer portal.',\n\t\tstatus: 'stable',\n\t\tfeatures: [\n\t\t\t'Stripe integration',\n\t\t\t'Polar integration',\n\t\t\t'Subscription management',\n\t\t\t'Customer portal',\n\t\t],\n\t},\n\t{\n\t\tname: 'User Accounts',\n\t\tslug: 'users',\n\t\tpackage: '@kuckit/users-module',\n\t\tdesc: 'User registration, profiles, and account management ready to go.',\n\t\tstatus: 'stable',\n\t\tfeatures: ['OAuth providers', 'Profile management', 'Settings UI', 'Account deletion'],\n\t},\n\t{\n\t\tname: 'Documentation',\n\t\tslug: 'docs',\n\t\tpackage: '@kuckit/docs-module',\n\t\tdesc: 'Beautiful docs for your users. Write in plain text, get a polished help center.',\n\t\tstatus: 'stable',\n\t\tfeatures: ['MDX support', 'Search built-in', 'Auto-navigation', 'Code highlighting'],\n\t},\n\t{\n\t\tname: 'AI Chat',\n\t\tslug: 'ai',\n\t\tpackage: '@kuckit/ai-module',\n\t\tdesc: 'Add AI chat to your app. Streaming responses, conversation history included.',\n\t\tstatus: 'stable',\n\t\tfeatures: ['OpenAI integration', 'Streaming responses', 'Chat history', 'Context management'],\n\t},\n\t{\n\t\tname: 'CLI Login',\n\t\tslug: 'cli-auth',\n\t\tpackage: '@kuckit/cli-auth-module',\n\t\tdesc: 'Let users log in from command line tools with a simple device code.',\n\t\tstatus: 'stable',\n\t\tfeatures: ['Device code flow', 'Token management', 'CLI SDK', 'Secure auth'],\n\t},\n\t{\n\t\tname: 'More Coming',\n\t\tslug: 'coming-soon',\n\t\tpackage: 'Email, storage, analytics',\n\t\tdesc: \"We're building more modules every week. Tell us what you need.\",\n\t\tstatus: 'soon',\n\t\tfeatures: ['Email service', 'File storage', 'Analytics', 'And more...'],\n\t},\n]\n\nexport function ModulesPage() {\n\treturn (\n\t\t<div className=\"min-h-screen bg-background text-foreground\">\n\t\t\t{/* Industrial grid overlay */}\n\t\t\t<div\n\t\t\t\tclassName=\"fixed inset-0 pointer-events-none\"\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundImage: `\n\t\t\t\t\t\tlinear-gradient(to right, hsl(var(--border) / 0.15) 1px, transparent 1px),\n\t\t\t\t\t\tlinear-gradient(to bottom, hsl(var(--border) / 0.15) 1px, transparent 1px)\n\t\t\t\t\t`,\n\t\t\t\t\tbackgroundSize: '60px 60px',\n\t\t\t\t}}\n\t\t\t/>\n\n\t\t\t{/* Navigation */}\n\t\t\t<nav className=\"relative z-20 border-b border-border\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between h-16 px-8\">\n\t\t\t\t\t<a href=\"/\" className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclassName=\"w-8 h-8\"\n\t\t\t\t\t\t\tviewBox=\"0 0 512 512\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<polygon points=\"256,64 384,144 384,304 256,224\" fill=\"#3D3A39\" />\n\t\t\t\t\t\t\t<polygon points=\"256,64 128,144 128,304 256,224\" fill=\"#5C5855\" />\n\t\t\t\t\t\t\t<polygon points=\"128,144 256,224 384,144 256,64\" fill=\"#A49D9A\" />\n\t\t\t\t\t\t\t<polygon points=\"256,224 352,280 352,392 256,336\" fill=\"#D15010\" />\n\t\t\t\t\t\t\t<polygon points=\"256,224 160,280 160,392 256,336\" fill=\"#EE6018\" />\n\t\t\t\t\t\t\t<polygon points=\"160,280 256,336 352,280 256,224\" fill=\"#EF6F2E\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"text-foreground font-medium tracking-tight\">Kuckit</span>\n\t\t\t\t\t</a>\n\n\t\t\t\t\t<div className=\"hidden md:flex items-center gap-8\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/docs\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDocs\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a href=\"/modules\" className=\"text-sm text-foreground font-medium\">\n\t\t\t\t\t\t\tModules\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/#pricing\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPricing\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/login\"\n\t\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors px-4 py-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSign in\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/docs/getting-started\"\n\t\t\t\t\t\t\tclassName=\"text-sm bg-primary text-primary-foreground px-4 py-2 hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGet Started\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</nav>\n\n\t\t\t{/* Page header */}\n\t\t\t<div className=\"relative z-10 border-b border-border\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto px-8 py-20\">\n\t\t\t\t\t<div className=\"flex items-center gap-4 mb-6\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"/\"\n\t\t\t\t\t\t\tclassName=\"text-xs text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tHome\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">/</span>\n\t\t\t\t\t\t<span className=\"text-xs text-primary tracking-[0.15em] uppercase\">Modules</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<h1 className=\"text-5xl md:text-6xl font-light text-foreground tracking-[-0.03em] mb-6\">\n\t\t\t\t\t\tModule Ecosystem\n\t\t\t\t\t</h1>\n\t\t\t\t\t<p className=\"text-xl text-muted-foreground max-w-2xl\">\n\t\t\t\t\t\tProduction-ready modules that integrate seamlessly. Skip weeks of development and focus\n\t\t\t\t\t\ton what makes your product unique.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Modules grid */}\n\t\t\t<div className=\"relative z-10 max-w-7xl mx-auto\">\n\t\t\t\t<div className=\"grid lg:grid-cols-2\">\n\t\t\t\t\t{modules.map((mod, index) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={mod.slug}\n\t\t\t\t\t\t\tclassName={`group relative p-10 transition-colors hover:bg-card border-b border-border ${\n\t\t\t\t\t\t\t\tindex % 2 === 0 ? 'lg:border-r' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* Status badge */}\n\t\t\t\t\t\t\t<div className=\"absolute top-8 right-8\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 text-[10px] tracking-[0.15em] uppercase ${\n\t\t\t\t\t\t\t\t\t\tmod.status === 'stable'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--status-success)/0.1)] text-[hsl(var(--status-success))] border border-[hsl(var(--status-success)/0.2)]'\n\t\t\t\t\t\t\t\t\t\t\t: mod.status === 'beta'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-primary/10 text-primary border border-primary/20'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted text-muted-foreground border border-border'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{mod.status}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t<div className=\"pr-24\">\n\t\t\t\t\t\t\t\t<span className=\"text-sm text-primary font-mono block mb-3\">{mod.package}</span>\n\t\t\t\t\t\t\t\t<h2 className=\"text-2xl font-medium text-foreground mb-3 tracking-tight group-hover:text-primary transition-colors\">\n\t\t\t\t\t\t\t\t\t{mod.name}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"text-muted-foreground mb-6\">{mod.desc}</p>\n\n\t\t\t\t\t\t\t\t{/* Features */}\n\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t{mod.features.map((feature) => (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tkey={feature}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-3 py-1 text-xs text-muted-foreground bg-muted border border-border\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Hover arrow */}\n\t\t\t\t\t\t\t{mod.status !== 'soon' && (\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref={`/docs/modules/${mod.slug}`}\n\t\t\t\t\t\t\t\t\tclassName=\"absolute bottom-8 right-8 opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-6 h-6 text-primary\"\n\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\tstrokeWidth={1.5}\n\t\t\t\t\t\t\t\t\t\t\td=\"M17 8l4 4m0 0l-4 4m4-4H3\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t{/* CTA section */}\n\t\t\t\t<div className=\"border-t border-border\">\n\t\t\t\t\t<div className=\"px-8 py-12 flex flex-col md:flex-row md:items-center justify-between gap-6\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3 className=\"text-xl font-medium text-foreground mb-2\">Need a custom module?</h3>\n\t\t\t\t\t\t\t<p className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\tWe can help you build it, or tell us what you need and we'll add it to our roadmap.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex gap-4\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"/docs/module-development\"\n\t\t\t\t\t\t\t\tclassName=\"group inline-flex items-center gap-3 px-6 py-3 border border-border text-foreground hover:border-primary/50 hover:bg-card transition-all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>Build Your Own</span>\n\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 group-hover:translate-x-1 transition-transform\"\n\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\t\t\td=\"M17 8l4 4m0 0l-4 4m4-4H3\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"/discord\"\n\t\t\t\t\t\t\t\tclassName=\"group inline-flex items-center gap-3 px-6 py-3 bg-primary text-primary-foreground hover:bg-primary/90 transition-all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>Request Module</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Footer */}\n\t\t\t<footer className=\"relative z-10 border-t border-border mt-20\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto px-8 py-8 flex items-center justify-between\">\n\t\t\t\t\t<span className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t&copy; {new Date().getFullYear()} Kuckit\n\t\t\t\t\t</span>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"/\"\n\t\t\t\t\t\tclassName=\"text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t>\n\t\t\t\t\t\t← Back to Home\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t</div>\n\t)\n}\n","import { defineKuckitClientModule, type KuckitClientModuleContext } from '@kuckit/sdk-react'\nimport { LandingPage } from './components/LandingPage'\nimport { ModulesPage } from './components/ModulesPage'\n\nexport const kuckitClientModule = defineKuckitClientModule({\n\tid: 'kuckit.landing',\n\tdisplayName: 'Landing',\n\tversion: '0.1.0',\n\n\tregister(ctx: KuckitClientModuleContext) {\n\t\tctx.registerComponent('LandingPage', LandingPage)\n\t\tctx.registerComponent('ModulesPage', ModulesPage)\n\n\t\tctx.addRoute({\n\t\t\tid: 'landing',\n\t\t\tpath: '/',\n\t\t\tcomponent: LandingPage,\n\t\t\tmeta: {\n\t\t\t\ttitle: 'Kuckit - Build Modules. Earn Revenue. Ship Faster.',\n\t\t\t\trequiresAuth: false,\n\t\t\t},\n\t\t})\n\n\t\tctx.addRoute({\n\t\t\tid: 'modules',\n\t\t\tpath: '/modules',\n\t\t\tcomponent: ModulesPage,\n\t\t\tmeta: {\n\t\t\t\ttitle: 'Modules - Kuckit',\n\t\t\t\trequiresAuth: false,\n\t\t\t},\n\t\t})\n\t},\n})\n\nexport { LandingPage } from './components/LandingPage'\nexport { ModulesPage } from './components/ModulesPage'\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kuckit/landing-module",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "description": "Landing module for Kuckit",
5
5
  "type": "module",
6
6
  "main": "dist/server/module.js",
@@ -17,31 +17,30 @@
17
17
  "types": "./dist/client/index.d.ts",
18
18
  "default": "./dist/client/index.js"
19
19
  },
20
- "./server/router": {
21
- "types": "./src/server/router/waitlist.router.ts",
22
- "default": "./src/server/router/waitlist.router.ts"
23
- }
20
+ "./styles.css": "./dist/styles.css"
24
21
  },
25
22
  "kuckit": {
26
23
  "id": "kuckit.landing",
27
24
  "server": ".",
28
- "client": "./client"
25
+ "client": "./client",
26
+ "styles": "./styles.css"
29
27
  },
30
28
  "scripts": {
31
29
  "build": "tsdown",
32
30
  "prepublishOnly": "npm run build && node ../../scripts/resolve-workspace-protocols.cjs && node ../../scripts/check-no-workspace-protocol.cjs"
33
31
  },
34
32
  "peerDependencies": {
35
- "@kuckit/sdk": "^3.0.2",
36
- "@kuckit/sdk-react": "^3.0.2",
33
+ "@kuckit/sdk": "^3.0.4",
34
+ "@kuckit/sdk-react": "^3.0.4",
37
35
  "react": "^18 || ^19",
38
36
  "sonner": "^2.0.0",
39
37
  "typescript": "^5",
40
38
  "drizzle-orm": "^0.44.2"
41
39
  },
42
40
  "dependencies": {
43
- "@kuckit/api": "^3.0.2",
44
- "@kuckit/domain": "^3.0.2",
41
+ "@kuckit/api": "^3.0.4",
42
+ "@kuckit/domain": "^3.0.4",
43
+ "@kuckit/polar-payments-module": "^1.0.3",
45
44
  "lucide-react": "^0.379.0",
46
45
  "zod": "^4.1.11"
47
46
  },