(()=>{var a={};a.id=8974,a.ids=[8974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},7225:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11687:(a,b,c)=>{Promise.resolve().then(c.bind(c,99647))},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21050:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>B});var d=c(48249),e=c(71303),f=c(67484),g=c(2116),h=c.n(g);let i={visual:"",developer:`## Architecture Newsletter — Developer Digest \xb7 May 2026

**Generator:** Architecture Newsletter \xb7 Developer audience

Coherence score: 87/100 (B+) ↑ from 81 last month.

AuthService: ✅ clean — no new deps, no drift detected.
PaymentEngine: ⚠️ 2 undocumented deps added (stripe-client@3, redis-cache@2).
UserManagement: 🔴 capability boundary crossed in 3 files — O-principle violation.

SOLID score: B+ → B this sprint (Open-Closed regression in UserManagement).
Active ADRs awaiting review: ADR-042 (Redis migration), ADR-043 (auth-service split).

arc42 \xa75 Building Block View updated — 14 services mapped, 3 new interfaces documented.

---
*Generated with forge0x2B \xb7 forge0x2B.dev*`,executive:`## ROI Slide / CFO Deck — Executive Summary \xb7 May 2026

**Generator:** ROI Slide \xb7 Executive / CTO audience

### Architecture Health: B+ (87/100) ↑ +6 pts

**Cost impact this month:**
- Resolved PaymentEngine cycle → estimated -€4,200/mo infra overhead
- 3 active drifts (2 new) → remediation est. 12 eng-hours @ €120/h = €1,440

**Risk register:**
- 🔴 UserManagement boundary breach — compliance exposure if unchecked
- 🟡 ADR-042 Redis migration — decision deadline: EOW

**ROI of architecture governance (YTD):**
Prevented 2 outage-risk incidents → est. €28,000 avoided cost.

*Deck slides 3–6 available in Google Slides export.*

---
*Generated with forge0x2B \xb7 forge0x2B.dev*`,manager:`## Compliance Autopilot — SOC 2 Evidence \xb7 May 2026

**Generator:** Compliance Autopilot \xb7 Manager / PM audience

**SOC 2 Type II — Change Management Evidence**

System: PaymentEngine \xb7 Scan date: 2026-05-23 \xb7 Evidence ID: EVD-2026-05-42

Summary for audit trail:
All architectural changes this sprint were detected, logged, and reviewed.
ADR-042 documents the Redis migration decision with context and consequences.
No unauthorized dependency additions detected in AuthService or OrderService.

Gaps requiring action before audit:
1. UserManagement — 3 boundary violations need ADR or remediation plan.
2. ADR-043 — decision pending; must be resolved before architecture freeze.

GDPR relevance: UserManagement handles PII — boundary breach is a data-flow risk.

---
*Generated with forge0x2B \xb7 forge0x2B.dev*`},j={developer:"Newsletter (Developer)",executive:"ROI Slide (Executive)",manager:"Compliance Doc (Manager)",visual:"Widget (PNG/GIF/MP4)"};function k(){return(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-2",children:[(0,d.jsxs)("svg",{viewBox:"0 0 360 200",className:"w-full max-w-[360px]","aria-label":"Generated Architecture Health stat card",children:[(0,d.jsxs)("defs",{children:[(0,d.jsxs)("linearGradient",{id:"widget-bg",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"rgb(15,23,42)"}),(0,d.jsx)("stop",{offset:"100%",stopColor:"rgb(2,6,23)"})]}),(0,d.jsxs)("linearGradient",{id:"widget-accent",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"rgb(251,191,36)"}),(0,d.jsx)("stop",{offset:"100%",stopColor:"rgb(249,115,22)"})]}),(0,d.jsxs)("linearGradient",{id:"widget-score-ring",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"rgb(56,189,248)"}),(0,d.jsx)("stop",{offset:"100%",stopColor:"rgb(99,102,241)"})]})]}),(0,d.jsx)("rect",{x:"2",y:"2",width:"356",height:"196",rx:"14",fill:"url(#widget-bg)",stroke:"rgba(148,163,184,0.18)",strokeWidth:"1"}),(0,d.jsx)("rect",{x:"2",y:"2",width:"356",height:"3",rx:"1.5",fill:"url(#widget-accent)"}),(0,d.jsx)("text",{x:"20",y:"32",fontSize:"10",fontFamily:"ui-monospace, monospace",fill:"rgba(251,191,36,0.85)",fontWeight:"bold",letterSpacing:"2",children:"ARCHITECTURE HEALTH \xb7 MAY 2026"}),(0,d.jsxs)("g",{transform:"translate(72,108)",children:[(0,d.jsx)("circle",{r:"44",fill:"none",stroke:"rgba(51,65,85,0.6)",strokeWidth:"6"}),(0,d.jsx)("circle",{r:"44",fill:"none",stroke:"url(#widget-score-ring)",strokeWidth:"6",strokeDasharray:"241 276",strokeDashoffset:"0",strokeLinecap:"round",transform:"rotate(-90)"}),(0,d.jsx)("text",{textAnchor:"middle",y:"6",fontSize:"28",fontFamily:"ui-sans-serif, system-ui",fontWeight:"700",fill:"rgb(226,232,240)",children:"87"}),(0,d.jsx)("text",{textAnchor:"middle",y:"22",fontSize:"8",fontFamily:"ui-monospace, monospace",fill:"rgba(148,163,184,0.7)",letterSpacing:"1",children:"B+ \xb7 +6 pts"})]}),(0,d.jsx)("g",{transform:"translate(150,68)",children:[{label:"SOLID",value:"82 \xb7 B",color:"rgb(56,189,248)"},{label:"12-FACTOR",value:"91 \xb7 A-",color:"rgb(52,211,153)"},{label:"DORA-PREDICTED",value:"Elite",color:"rgb(251,191,36)"},{label:"DRIFT",value:"3 active",color:"rgb(248,113,113)"}].map((a,b)=>(0,d.jsxs)("g",{transform:`translate(0, ${22*b})`,children:[(0,d.jsx)("rect",{x:"0",y:"-2",width:"3",height:"14",rx:"1.5",fill:a.color}),(0,d.jsx)("text",{x:"10",y:"6",fontSize:"9",fontFamily:"ui-monospace, monospace",fill:"rgba(148,163,184,0.75)",children:a.label}),(0,d.jsx)("text",{x:"180",y:"6",fontSize:"9",fontFamily:"ui-monospace, monospace",fill:"rgba(226,232,240,0.95)",textAnchor:"end",fontWeight:"600",children:a.value})]},a.label))}),(0,d.jsx)("text",{x:"20",y:"186",fontSize:"7",fontFamily:"ui-monospace, monospace",fill:"rgba(100,116,139,0.6)",letterSpacing:"0.5",children:"forge0x2B \xb7 widget generator \xb7 360\xd7200 \xb7 PNG export"})]}),(0,d.jsx)("p",{className:"text-[11px] text-slate-500 leading-snug text-center max-w-sm",children:"Widget Generator: stat cards, CTA banners, framework badges, animated GIFs (10s loops), and short MP4s — embed anywhere or push to Slack/Teams."})]})}let l={professional:"Professional",casual:"Casual",accessible:"Accessible"};function m(){let[a,b]=(0,f.useState)("developer"),[c,e]=(0,f.useState)("professional"),[g,h]=(0,f.useState)(!0),[m,n]=(0,f.useState)(!1),[o,p]=(0,f.useState)(!1),[q,r]=(0,f.useState)(null),s=i[a],{displayed:t,done:u}=function(a=12){let[b,c]=(0,f.useState)(""),[d,e]=(0,f.useState)(!1);return(0,f.useRef)(null),{displayed:b,done:d}}(10);async function v(a){let b="slack"===a?s.replace(/^## /gm,"*").replace(/\n---\n/g,"\n").replace(/\*Generated with.*$/m,"_Generated with forge0x2B_"):s;await navigator.clipboard.writeText(b),r(a),setTimeout(()=>r(null),2e3)}let w=o?t:"";return(0,d.jsxs)("div",{className:"rounded-2xl border border-slate-700/50 bg-slate-900/60 overflow-hidden shadow-2xl shadow-black/40",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-5 py-3 border-b border-slate-800 bg-slate-900/80",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/60"}),(0,d.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-500/60"}),(0,d.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-green-500/60"})]}),(0,d.jsx)("span",{className:"ml-2 text-xs text-slate-500 font-mono",children:"forge0x2B — live demo"}),(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-400 animate-pulse"}),(0,d.jsx)("span",{className:"text-[10px] text-slate-600",children:"prism0x2A connected"})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 divide-y md:divide-y-0 md:divide-x divide-slate-800",children:[(0,d.jsxs)("div",{className:"p-5 flex flex-col gap-4",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-1",children:"Configuration"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs font-medium text-slate-400 mb-1.5",children:"Target Audience"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("select",{value:a,onChange:a=>{b(a.target.value),p(!1)},className:"w-full appearance-none bg-slate-800/80 border border-slate-700/60 rounded-lg px-3 py-2 text-sm text-slate-200 focus:outline-none focus:border-orange-500/50 focus:ring-1 focus:ring-orange-500/20 transition-all cursor-pointer",children:Object.entries(j).map(([a,b])=>(0,d.jsx)("option",{value:a,children:b},a))}),(0,d.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-slate-500 text-xs",children:"▾"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs font-medium text-slate-400 mb-1.5",children:"Tone"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("select",{value:c,onChange:a=>e(a.target.value),className:"w-full appearance-none bg-slate-800/80 border border-slate-700/60 rounded-lg px-3 py-2 text-sm text-slate-200 focus:outline-none focus:border-orange-500/50 focus:ring-1 focus:ring-orange-500/20 transition-all cursor-pointer",children:Object.entries(l).map(([a,b])=>(0,d.jsx)("option",{value:a,children:b},a))}),(0,d.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-slate-500 text-xs",children:"▾"})]})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-medium text-slate-400",children:"Include Metrics"}),(0,d.jsx)("p",{className:"text-[10px] text-slate-600 mt-0.5",children:"Score, drift count, trend arrows"})]}),(0,d.jsx)("button",{onClick:()=>h(!g),className:`relative w-10 h-5.5 rounded-full transition-colors flex-shrink-0 ${g?"bg-orange-600":"bg-slate-700"}`,style:{height:"22px",width:"40px"},children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white shadow transition-transform ${g?"translate-x-[18px]":"translate-x-0"}`})})]}),(0,d.jsxs)("div",{className:"rounded-lg border border-slate-800 bg-slate-950/50 p-3 mt-1",children:[(0,d.jsx)("p",{className:"text-[10px] text-slate-600 font-mono mb-2",children:"prism0x2A data snapshot"}),(0,d.jsx)("div",{className:"space-y-1",children:[["Coherence score","87/100 (B+) ↑"],["Services scanned","14"],["Active drifts","3 (2 new)"],["Open ADRs","2 awaiting review"]].map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[10px] text-slate-600",children:a}),(0,d.jsx)("span",{className:"text-[10px] text-slate-400 font-mono",children:b})]},a))})]}),(0,d.jsx)("button",{onClick:function(){p(!1),n(!0),setTimeout(()=>{n(!1),p(!0)},900)},disabled:m,className:"w-full py-2.5 rounded-lg bg-orange-600 hover:bg-orange-500 disabled:bg-orange-900 disabled:cursor-not-allowed text-white text-sm font-medium transition-all flex items-center justify-center gap-2 mt-auto",children:m?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("svg",{className:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),"Generating…"]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:"Generate"}),(0,d.jsx)("span",{className:"text-orange-300 text-xs",children:"⚡"})]})})]}),(0,d.jsxs)("div",{className:"p-5 flex flex-col",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600",children:j[a]}),u&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>v("md"),className:"text-[10px] px-2 py-1 rounded border border-slate-700/60 text-slate-400 hover:text-slate-200 hover:border-slate-600 bg-slate-800/60 transition-colors",children:"md"===q?"Copied!":"Copy"}),(0,d.jsx)("button",{onClick:()=>v("slack"),className:"text-[10px] px-2 py-1 rounded border border-slate-700/60 text-slate-400 hover:text-slate-200 hover:border-slate-600 bg-slate-800/60 transition-colors",children:"slack"===q?"Copied!":"Copy for Slack"})]})]}),(0,d.jsxs)("div",{className:"flex-1 rounded-lg border border-slate-800/60 bg-slate-950/60 p-4 min-h-[240px] relative",children:[!o&&!m&&(0,d.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-2 text-slate-700",children:[(0,d.jsx)("span",{className:"text-3xl",children:"visual"===a?"\uD83E\uDDE9":"\uD83D\uDCF0"}),(0,d.jsxs)("p",{className:"text-xs text-center",children:["Select an audience and click",(0,d.jsx)("br",{}),"Generate to preview output"]})]}),m&&(0,d.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-3",children:[(0,d.jsx)("div",{className:"flex gap-1",children:[0,1,2].map(a=>(0,d.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-orange-500 animate-bounce",style:{animationDelay:`${150*a}ms`}},a))}),(0,d.jsx)("p",{className:"text-xs text-slate-600",children:"visual"===a?"Rendering widget…":"Reading architecture data…"})]}),u&&"visual"===a&&(0,d.jsx)(k,{}),w&&"visual"!==a&&(0,d.jsxs)("pre",{className:"text-xs text-slate-300 font-mono leading-relaxed whitespace-pre-wrap",children:[w,!u&&(0,d.jsx)("span",{className:"animate-pulse text-orange-400",children:"▋"})]})]}),u&&(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-[10px] text-slate-600",children:"Export as:"}),[{label:"Markdown",soon:!1},{label:"PDF",soon:!1},{label:"Google Slides",soon:!1},{label:"Slack",soon:!0},{label:"Teams",soon:!0}].map(({label:a,soon:b})=>(0,d.jsxs)("span",{title:b?"Coming Q3 2026 — webhook push not yet wired":void 0,className:`text-[10px] px-2 py-0.5 rounded border transition-colors ${b?"border-slate-700/20 text-slate-600 italic":"border-slate-700/40 text-slate-500 hover:text-slate-300 hover:border-slate-600 cursor-pointer"}`,children:[a,b?" \xb7 soon":""]},a))]})]})]})]})}function n({size:a=32}){return(0,d.jsxs)("svg",{width:a,height:a,viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",className:"flex-shrink-0",children:[(0,d.jsxs)("defs",{children:[(0,d.jsxs)("linearGradient",{id:"forge-logo-hex",x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"rgba(251,146,60,0.18)"}),(0,d.jsx)("stop",{offset:"100%",stopColor:"rgba(234,88,12,0.08)"})]}),(0,d.jsxs)("linearGradient",{id:"forge-logo-plus",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"rgb(251,191,36)"}),(0,d.jsx)("stop",{offset:"100%",stopColor:"rgb(249,115,22)"})]})]}),(0,d.jsx)("polygon",{points:"16,2 28,9 28,23 16,30 4,23 4,9",fill:"url(#forge-logo-hex)",stroke:"rgb(249,115,22)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,d.jsx)("line",{x1:"16",y1:"9",x2:"16",y2:"23",stroke:"url(#forge-logo-plus)",strokeWidth:"3",strokeLinecap:"round"}),(0,d.jsx)("line",{x1:"9",y1:"16",x2:"23",y2:"16",stroke:"url(#forge-logo-plus)",strokeWidth:"3",strokeLinecap:"round"})]})}let o=[{id:"markdown",label:"Markdown",status:"live"},{id:"pdf",label:"PDF",status:"live"},{id:"google-slides",label:"Google Slides",status:"partial",partialNote:"Push via Google OAuth access token (Playground or service account); one-click OAuth flow on the roadmap"},{id:"google-docs",label:"Google Docs",status:"partial",partialNote:"Push via Google OAuth access token; one-click OAuth flow on the roadmap"},{id:"google-sheets",label:"Google Sheets",status:"partial",partialNote:"Push via Google OAuth access token; one-click OAuth flow on the roadmap"},{id:"slack",label:"Slack",status:"live"},{id:"teams",label:"Microsoft Teams",status:"live"},{id:"confluence",label:"Confluence",status:"stub",reason:"Copy-to-clipboard only — no Confluence REST integration"},{id:"notion",label:"Notion",status:"roadmap",roadmapQuarter:"Q4 2026",reason:"Notion API integration not yet built"},{id:"html-email",label:"HTML Email",status:"roadmap",roadmapQuarter:"Q4 2026",reason:"SMTP + email template engine not yet built"}];function p(a){switch(a.status){case"live":return"Available now";case"partial":return a.partialNote??"Partial — see docs";case"stub":return a.reason??"Not yet available";case"roadmap":return a.roadmapQuarter?`Coming ${a.roadmapQuarter}`:"On the roadmap"}}let q={live:"",partial:"bg-amber-500/10 border-amber-500/30 text-amber-300",stub:"bg-slate-700/30 border-slate-600/40 text-slate-400",roadmap:"bg-slate-700/30 border-slate-600/40 text-slate-400"};function r({targetId:a}){let b=o.find(b=>b.id===a);if(!b||"live"===b.status)return null;let c="partial"===b.status?"Partial":"stub"===b.status?"Coming soon":b.roadmapQuarter?`Coming ${b.roadmapQuarter}`:"Roadmap";return(0,d.jsx)("span",{title:p(b),className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-mono border ${q[b.status]}`,children:c})}let s="https://prism0x2a.lemonsqueezy.com/checkout/buy/64d25b45-7c4a-410d-b4aa-7504f98ab5f7",t="https://prism0x2a.vercel.app",u=[{icon:"\uD83D\uDCF0",title:"Architecture Newsletter",desc:"Weekly digest for engineering teams — pulled from your PRISM data. Score, drift, wins, action items — written for the right audience.",formats:["Slack","HTML","Markdown"],free:!0},{icon:"\uD83D\uDDC3️",title:"Sprint Retro",desc:"Architecture decisions recap per sprint. What improved, what drifted, what to fix. Auto-sorted by severity.",formats:["Markdown","Confluence"],free:!0},{icon:"\uD83D\uDE80",title:"Onboarding Co-Pilot",desc:"New hire architecture guide auto-generated from your actual codebase. Real file paths, real dependency graph, real entry points.",formats:["Markdown","HTML","Notion"],free:!0},{icon:"⚡",title:"Change Impact Brief",desc:"Stakeholder-ready change summary. What changed, what it affects, what action is needed. Written for non-technical decision-makers.",formats:["PDF","Slack","Markdown"],free:!1},{icon:"\uD83D\uDD17",title:"API Changelog",desc:"Auto-generated API change docs from detected diffs in your PRISM scan. Breaking changes flagged and highlighted.",formats:["Markdown","HTML","Notion"],free:!1},{icon:"\uD83D\uDCB0",title:"ROI Slide / CFO Deck",desc:"6-slide executive presentation with cost numbers, risk language, and ROI framing. Ready for board-level conversations.",formats:["Google Slides","PDF","Markdown"],free:!1},{icon:"\uD83D\uDEE1️",title:"Compliance Autopilot",desc:"Auto-generate SOC2 / ISO 27001 / GDPR evidence docs from your architecture scan. Audit-ready, timestamped, structured.",formats:["PDF","Markdown","Google Docs"],free:!1},{icon:"\uD83D\uDCCB",title:"ADR Generator",desc:"Auto-draft Architecture Decision Records from detected changes in your PRISM scan. Includes context, decision, and consequences.",formats:["Markdown","Confluence","HTML"],free:!1},{icon:"\uD83C\uDFD7️",title:"arc42 Documentation",desc:"Full arc42 template populated from your codebase. CC-BY 4.0 licensed. The de-facto standard for architecture documentation.",formats:["Markdown","HTML","Confluence"],free:!1},{icon:"\uD83C\uDF99️",title:"Architecture Radio",desc:"Audio-style summaries for async teams. Conversational, short-form, ready to record or share as a standup script.",formats:["Markdown","Slack"],free:!1},{icon:"\uD83D\uDCDD",title:"Knowledge Capture",desc:"Structured architecture knowledge export. Ask any question — forge0x2B turns the answer into a blog post, wiki entry, or email.",formats:["Markdown","HTML","Notion"],free:!1},{icon:"\uD83D\uDCCA",title:"Master Framework Report",desc:"Aggregates all 17 prism framework scores into one C-suite PDF. Coherence score, capability map, drift timeline — exec-ready.",formats:["PDF","HTML","Markdown"],free:!1}],v=[{q:"Do I need prism0x2A to use forge0x2B?",a:"For the Blueprint-powered generators, yes — prism0x2A provides the architecture intelligence. The Newsletter, Sprint Retro, ADR generator, and most outputs work best with live PRISM data. Knowledge Capture works standalone."},{q:"How many generators does forge include?",a:"17 generators today — newsletters, retros, ADRs, compliance docs, arc42, ROI slides, change-impact briefs, API changelogs, widget videos/GIFs, multi-channel dispatch, and more. Free tier includes 3 generators (Newsletter, Sprint Retro, Onboarding Co-Pilot). forge Pro unlocks all 17."},{q:"What export formats are supported?",a:"Live today: Markdown, PDF (for Presentations), and Google Slides / Docs / Sheets via Google OAuth access token. On the roadmap (Q3-Q4 2026): one-click OAuth flow for Google, direct Slack and Microsoft Teams webhook push, Notion API integration, and HTML email. Confluence is copy-to-clipboard only today."},{q:"Can I bring my own LLM / API key?",a:"Yes. forge0x2B uses your own Anthropic API key — configured in Settings. You pay Anthropic directly for tokens. forge Pro is just the license; LLM costs are billed by Anthropic."},{q:"What does 0x2B mean?",a:"0x2B is the ASCII hex code for '+'. forge0x2B = forge plus. And of course: 2B or not 2B — that is the question."},{q:"Spectrum Bundle — what exactly do I get?",a:"One license key that unlocks both prism0x2A Pro (unlimited scanning, Blueprint Explorer, framework analysis) and forge Pro (all 17 generators, no watermark, Google Workspace export, API access; Slack/Teams push on the roadmap). €49/mo vs €68/mo buying separately."},{q:"Every output says 'Generated with forge0x2B' — can I remove that?",a:"Yes on forge Pro and Spectrum plans. On Free, the footer stays — it's how forge0x2B grows. It's also a conversation starter: 'wait, what generated this?' is a good question."}];function w({text:a}){let[b,c]=(0,f.useState)(!1);async function e(){await navigator.clipboard.writeText(a),c(!0),setTimeout(()=>c(!1),2e3)}return(0,d.jsx)("button",{onClick:e,className:"absolute top-3 right-3 text-xs px-2.5 py-1 rounded border border-slate-600/60 text-slate-400 hover:text-slate-200 hover:border-slate-500 bg-slate-900/80 transition-colors",children:b?"Copied!":"Copy"})}function x({q:a,a:b}){let[c,e]=(0,f.useState)(!1);return(0,d.jsxs)("div",{className:"border-b border-slate-800 last:border-0",children:[(0,d.jsxs)("button",{onClick:()=>e(!c),className:"w-full flex items-center justify-between py-4 text-left gap-4",children:[(0,d.jsx)("span",{className:"text-sm font-medium text-slate-200",children:a}),(0,d.jsx)("span",{className:`text-slate-500 transition-transform flex-shrink-0 ${c?"rotate-180":""}`,children:"▾"})]}),c&&(0,d.jsx)("p",{className:"pb-4 text-sm text-slate-400 leading-relaxed",children:b})]})}function y(){return(0,d.jsxs)("div",{className:"min-h-screen flex flex-col bg-slate-950 text-slate-200 relative",children:[(0,d.jsxs)("div",{className:"fixed inset-0 pointer-events-none",children:[(0,d.jsx)("div",{className:"absolute top-0 left-1/4 w-96 h-96 bg-orange-500/5 rounded-full blur-3xl"}),(0,d.jsx)("div",{className:"absolute top-1/3 right-1/4 w-80 h-80 bg-amber-400/5 rounded-full blur-3xl"}),(0,d.jsx)("div",{className:"absolute bottom-1/3 left-1/3 w-72 h-72 bg-rose-500/4 rounded-full blur-3xl"})]}),(0,d.jsxs)("header",{className:"border-b border-slate-800/60 px-6 py-3 flex items-center justify-between sticky top-0 z-10 bg-slate-950/90 backdrop-blur-sm",children:[(0,d.jsx)(h(),{href:"/",className:"group",children:(0,d.jsxs)("span",{className:"text-lg font-semibold text-slate-100 tracking-tight group-hover:text-white transition-colors",children:["forge",(0,d.jsx)("span",{className:"font-mono text-orange-400",children:"0x2B"})]})}),(0,d.jsxs)("div",{className:"hidden md:flex items-center gap-6 text-sm text-slate-400",children:[(0,d.jsx)("a",{href:"#demo",className:"hover:text-slate-200 transition-colors",children:"Demo"}),(0,d.jsx)("a",{href:"#generators",className:"hover:text-slate-200 transition-colors",children:"Generators"}),(0,d.jsx)("a",{href:"#pricing",className:"hover:text-slate-200 transition-colors",children:"Pricing"}),(0,d.jsx)("a",{href:"#faq",className:"hover:text-slate-200 transition-colors",children:"FAQ"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsxs)("a",{href:"https://www.npmjs.com/package/forgesmith",target:"_blank",rel:"noopener noreferrer",className:"hidden sm:flex items-center gap-1.5 text-xs text-slate-400 hover:text-slate-200 transition-colors",children:[(0,d.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M0 0v24h24V0H0zm6.672 19.992H4.008V4.008h2.664v15.984zm6.672 0H10.68V4.008h2.664v15.984zm6.648 0h-2.664V4.008h2.664v15.984z"})}),"npm"]}),(0,d.jsx)("a",{href:"https://prism0x2a.lemonsqueezy.com/checkout/buy/21c1146e-9fea-4c32-a4fc-c5a5e64215e7",target:"_blank",rel:"noopener noreferrer",className:"px-3 py-1.5 rounded-md bg-orange-600 hover:bg-orange-500 text-white text-xs font-semibold transition-colors",children:"Get Started"})]})]}),(0,d.jsxs)("main",{className:"flex-1",children:[(0,d.jsxs)("section",{className:"flex flex-col items-center text-center px-6 pt-24 pb-20 max-w-4xl mx-auto",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2 mb-8",children:[(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-slate-700/60 bg-slate-900/50 text-xs text-slate-400",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block"}),"Free tier available \xb7 No telemetry"]}),(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-orange-600/25 bg-orange-700/5 text-xs text-orange-400/80",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-400 inline-block"}),"Part of Spectrum 0x55 Bundle"]}),(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-emerald-600/25 bg-emerald-900/10 text-xs text-emerald-400/80",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block animate-pulse"}),"Launching ",(0,d.jsx)("strong",{className:"ml-1 text-emerald-300",children:"31 May 2026"})]})]}),(0,d.jsx)("h1",{className:"text-6xl sm:text-7xl md:text-8xl font-bold text-slate-50 tracking-tight mb-5 leading-none font-mono",children:"2B or not 2B."}),(0,d.jsx)("p",{className:"text-2xl sm:text-3xl text-slate-300 font-light mb-4 max-w-2xl leading-snug",children:"Turn your architecture data into stakeholder communication."}),(0,d.jsx)("p",{className:"text-base text-slate-400 mb-3 max-w-xl leading-relaxed",children:"forge0x2B reads prism0x2A's architecture intelligence and writes the update for you. No manual reporting. No copy-pasting metrics. Just clear, accurate architecture communication."}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mb-10 font-mono",children:"Works with prism0x2A \xb7 Also works standalone"}),(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 mb-10",children:[(0,d.jsx)(h(),{href:"/forge",className:"px-7 py-3 rounded-lg bg-orange-700 hover:bg-orange-600 text-white font-medium transition-colors text-sm shadow-lg shadow-orange-900/30",children:"Start for Free →"}),(0,d.jsx)("a",{href:"#demo",className:"px-7 py-3 rounded-lg border border-slate-700 text-slate-300 hover:border-slate-600 hover:text-slate-100 transition-colors text-sm",children:"See Example Newsletter →"})]}),(0,d.jsxs)("div",{className:"relative w-full max-w-lg text-left",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-slate-700/60 bg-slate-900/70 overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 border-b border-slate-800",children:[(0,d.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/60"}),(0,d.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-500/60"}),(0,d.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-green-500/60"}),(0,d.jsx)("span",{className:"ml-2 text-xs text-slate-600 font-mono",children:"terminal"})]}),(0,d.jsxs)("div",{className:"px-5 py-4 font-mono text-sm text-slate-300 leading-relaxed",children:[(0,d.jsx)("span",{className:"text-slate-600",children:"$ "}),"npm install --save-dev forge0x2b",(0,d.jsx)("br",{}),(0,d.jsx)("span",{className:"text-slate-600",children:"$ "}),"npx forge dev"]})]}),(0,d.jsx)(w,{text:"npm install --save-dev forge0x2b\nnpx forge dev"})]})]}),(0,d.jsx)("section",{className:"px-6 py-20",children:(0,d.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,d.jsxs)("div",{className:"text-center mb-14",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-3",children:"How it works"}),(0,d.jsx)("h2",{className:"text-2xl font-semibold text-slate-100",children:"Three steps from data to delivery."})]}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[{step:"1",icon:"\uD83D\uDCE1",color:"orange",title:"Reads",body:"forge0x2B connects to prism0x2A and reads your architecture data — coherence score, capability map, detected drifts, framework scores."},{step:"2",icon:"✍️",color:"amber",title:"Writes",body:"Claude AI generates the right communication for each audience. Management gets metrics and action items. Teams get drift alerts and scores. All Hands gets plain language."},{step:"3",icon:"\uD83D\uDCE4",color:"orange",title:"Delivers",body:"Copy to Slack, export HTML, open in Confluence — in one click. Every output includes export targets and a 'Generated with forge0x2B' footer."}].map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center md:items-start text-center md:text-left gap-4",children:[(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("div",{className:`w-16 h-16 rounded-2xl flex items-center justify-center text-2xl border ${"amber"===a.color?"bg-amber-900/20 border-amber-600/30":"bg-orange-900/20 border-orange-600/30"}`,children:a.icon}),(0,d.jsx)("div",{className:`absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full flex items-center justify-center text-[10px] font-mono font-bold border ${"amber"===a.color?"bg-amber-600 border-amber-500 text-amber-100":"bg-orange-700 border-orange-600 text-orange-100"}`,children:a.step})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-slate-100 mb-2",children:a.title}),(0,d.jsx)("p",{className:"text-sm text-slate-400 leading-relaxed",children:a.body})]})]},a.step))})]})}),(0,d.jsxs)("section",{id:"demo",className:"px-6 py-20 max-w-5xl mx-auto scroll-mt-20",children:[(0,d.jsxs)("div",{className:"text-center mb-10",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-3",children:"Live Demo"}),(0,d.jsx)("h2",{className:"text-2xl font-semibold text-slate-100 mb-3",children:"Generate a newsletter right now."}),(0,d.jsx)("p",{className:"text-slate-500 max-w-xl mx-auto text-sm",children:"Pick your audience, choose a tone, hit Generate. Watch forge0x2B write the architecture update."})]}),(0,d.jsx)(m,{}),(0,d.jsx)("p",{className:"text-center mt-4 text-xs text-slate-600",children:"Demo uses hardcoded sample data. Real output reads live from prism0x2A."})]}),(0,d.jsx)("section",{id:"generators",className:"px-6 py-20 scroll-mt-20",children:(0,d.jsxs)("div",{className:"max-w-5xl mx-auto",children:[(0,d.jsxs)("div",{className:"text-center mb-12",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-3",children:"Generators"}),(0,d.jsx)("h2",{className:"text-2xl font-semibold text-slate-100 mb-3",children:"17 generators. 3 audiences. Every format."}),(0,d.jsx)("p",{className:"text-slate-500 max-w-xl mx-auto text-sm",children:"Developer digest \xb7 Manager brief \xb7 Executive deck — every generator writes for each audience. Free tier includes 3 generators."})]}),(0,d.jsxs)("div",{className:"mb-6 rounded-xl border border-slate-800/50 bg-slate-900/30 p-4",children:[(0,d.jsx)("p",{className:"text-xs text-slate-600 uppercase tracking-widest mb-3",children:"Audience variants — available for every generator"}),(0,d.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:[{icon:"\uD83D\uDCBB",label:"Developer Digest",desc:"Technical detail, jargon OK, file-level specifics."},{icon:"\uD83D\uDCCB",label:"Manager / PM Brief",desc:"Impact-focused, no jargon, action items up front."},{icon:"\uD83D\uDCC8",label:"Executive / CTO Deck",desc:"ROI framing, risk language, board-ready."}].map(a=>(0,d.jsxs)("div",{className:"flex items-start gap-2.5 p-3 rounded-lg bg-slate-900/60 border border-slate-800/40",children:[(0,d.jsx)("span",{className:"text-lg flex-shrink-0",children:a.icon}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-medium text-slate-300 mb-0.5",children:a.label}),(0,d.jsx)("p",{className:"text-[10px] text-slate-500 leading-relaxed",children:a.desc})]})]},a.label))})]}),(0,d.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:u.map(a=>(0,d.jsx)("div",{className:"rounded-xl border border-slate-800/60 bg-slate-900/40 p-5 hover:border-orange-600/20 hover:bg-slate-900/60 transition-all",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"text-2xl flex-shrink-0",children:a.icon}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("h3",{className:"font-semibold text-slate-100 text-sm",children:a.title}),a.free&&(0,d.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-emerald-900/40 border border-emerald-700/30 text-emerald-400 font-mono uppercase tracking-wide",children:"Free"})]}),(0,d.jsx)("p",{className:"text-xs text-slate-500 leading-relaxed mb-3",children:a.desc}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.formats.map(a=>{let b,c=(b=a.trim().toLowerCase(),o.find(a=>a.label.toLowerCase()===b)),e=c&&("stub"===c.status||"roadmap"===c.status);return(0,d.jsxs)("span",{title:c?p(c):void 0,className:`text-[10px] px-2 py-0.5 rounded border font-mono ${e?"border-slate-700/30 text-slate-600 italic":"border-slate-700/50 text-slate-500"}`,children:[a,e?" \xb7 soon":""]},a)})})]})]})},a.title))})]})}),(0,d.jsx)("section",{className:"px-6 py-16",children:(0,d.jsx)("div",{className:"max-w-4xl mx-auto",children:(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-12 items-center",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-3",children:"Spectrum 0x55 Bundle"}),(0,d.jsx)("h2",{className:"text-2xl font-semibold text-slate-100 mb-4",children:"Pair with prism0x2A"}),(0,d.jsx)("p",{className:"text-slate-400 mb-3 leading-relaxed",children:"Together, they're your engineering team's architect and comms department in a box."}),(0,d.jsx)("p",{className:"text-sm text-slate-500 mb-6 leading-relaxed font-mono bg-slate-900/60 border border-slate-800 rounded-lg px-3 py-2",children:"prism0x2A scans your codebase → generates a blueprint → forge0x2B reads the blueprint → generates stakeholder communication"}),(0,d.jsxs)("div",{className:"space-y-3 mb-8",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"w-6 h-6 rounded-full bg-blue-900/50 border border-blue-700/40 flex items-center justify-center flex-shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"text-blue-400 text-xs",children:"1"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium text-slate-200",children:"prism0x2A discovers your architecture"}),(0,d.jsx)("p",{className:"text-xs text-slate-500 mt-0.5",children:"Scans files, builds dependency graph, identifies patterns, scores 17 frameworks, detects drift."})]})]}),(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"w-6 h-6 rounded-full bg-orange-900/50 border border-orange-700/40 flex items-center justify-center flex-shrink-0 mt-0.5",children:(0,d.jsx)("span",{className:"text-orange-400 text-xs",children:"2"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium text-slate-200",children:"forge0x2B turns it into communication"}),(0,d.jsx)("p",{className:"text-xs text-slate-500 mt-0.5",children:"Reads real data and generates newsletters, retros, ADRs, onboarding docs — tailored to each audience."})]})]})]}),(0,d.jsx)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-lg bg-gradient-to-r from-blue-700 to-orange-700 hover:from-blue-600 hover:to-orange-600 text-white text-sm font-medium transition-all",children:"Get Spectrum Bundle — €49/mo →"}),(0,d.jsx)("p",{className:"text-xs text-slate-700 mt-2",children:"Includes prism0x2A Pro + forge Pro. Save €19/mo vs separate."})]}),(0,d.jsx)("div",{className:"hidden md:block",children:(0,d.jsxs)("div",{className:"rounded-xl border border-slate-700/40 bg-slate-900/50 p-5 font-mono text-xs text-slate-400 leading-loose",children:[(0,d.jsx)("div",{className:"text-slate-600 mb-2",children:"# prism0x2A → Architecture Blueprint"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-blue-400",children:"prism scan"})," → .prism/blueprint/snapshot.json"]}),(0,d.jsx)("div",{className:"text-slate-700 my-2",children:"───────────────────────────"}),(0,d.jsx)("div",{className:"text-slate-600 mb-2",children:"# forge0x2B reads + writes"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-orange-400",children:"forge generate"})," stakeholder-newsletter"]}),(0,d.jsx)("div",{className:"text-slate-500 mt-1 pl-4",children:'→ "Architecture Health Update — May 2026'}),(0,d.jsx)("div",{className:"text-slate-500 pl-6",children:"  Coherence score: 87/100 (B+) ↑"}),(0,d.jsx)("div",{className:"text-slate-500 pl-6",children:'  Action required: Review ADR-042..."'}),(0,d.jsx)("div",{className:"text-slate-700 my-2",children:"───────────────────────────"}),(0,d.jsx)("div",{className:"text-slate-500 text-[10px]",children:"Generated with forge0x2B \xb7 forge0x2B.dev"})]})})]})})}),(0,d.jsxs)("section",{id:"pricing",className:"px-6 py-20 max-w-4xl mx-auto text-center scroll-mt-20",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-3",children:"Pricing"}),(0,d.jsx)("h2",{className:"text-2xl font-semibold text-slate-100 mb-3",children:"Simple. Start free."}),(0,d.jsx)("p",{className:"text-slate-500 mb-10 text-sm",children:"No credit card required. forge0x2B is included in prism0x2A Pro and Team."}),(0,d.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 max-w-3xl mx-auto mb-6",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-slate-700/50 bg-slate-900/50 p-5 text-left",children:[(0,d.jsx)("div",{className:"text-xs text-slate-500 mb-2 uppercase tracking-wider",children:"Free"}),(0,d.jsx)("div",{className:"text-2xl font-bold text-slate-100 mb-1",children:"€0"}),(0,d.jsx)("div",{className:"text-xs text-slate-500 mb-4",children:"3 generators \xb7 forge0x2B watermark"}),(0,d.jsxs)("ul",{className:"text-xs text-slate-400 space-y-1.5",children:[(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-slate-600",children:"✓"})," Architecture Newsletter"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-slate-600",children:"✓"})," Sprint Retro"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-slate-600",children:"✓"})," Onboarding Co-Pilot"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-slate-600",children:"✓"})," BYO Anthropic key"]})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-orange-600/30 bg-orange-700/5 p-5 text-left relative",children:[(0,d.jsx)("div",{className:"absolute -top-2.5 left-1/2 -translate-x-1/2",children:(0,d.jsx)("span",{className:"bg-orange-600 text-white text-[10px] font-medium px-2.5 py-0.5 rounded-full",children:"Most popular"})}),(0,d.jsx)("div",{className:"text-xs text-orange-400 mb-2 uppercase tracking-wider",children:"forge Pro"}),(0,d.jsxs)("div",{className:"text-2xl font-bold text-slate-100 mb-1",children:["€29",(0,d.jsx)("span",{className:"text-sm font-normal text-slate-500",children:"/mo"})]}),(0,d.jsx)("div",{className:"text-xs text-slate-500 mb-4",children:"All 17 generators \xb7 unlimited AI generation"}),(0,d.jsxs)("ul",{className:"text-xs text-slate-400 space-y-1.5",children:[(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-orange-500",children:"✓"})," All 17 generators"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-orange-500",children:"✓"})," Remove watermark"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-orange-500",children:"✓"})," Google Workspace export"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-orange-500",children:"✓"})," Slack / Teams push"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-orange-500",children:"✓"})," Priority support"]})]})]}),(0,d.jsxs)("div",{className:"rounded-xl border border-blue-600/30 bg-gradient-to-b from-blue-950/20 to-orange-950/10 p-5 text-left relative",children:[(0,d.jsx)("div",{className:"text-xs text-blue-400 mb-2 uppercase tracking-wider",children:"Spectrum Bundle"}),(0,d.jsxs)("div",{className:"text-2xl font-bold text-slate-100 mb-1",children:["€49",(0,d.jsx)("span",{className:"text-sm font-normal text-slate-500",children:"/mo"})]}),(0,d.jsx)("div",{className:"text-xs text-slate-500 mb-4",children:"prism Pro + forge Pro — save €19/mo"}),(0,d.jsxs)("ul",{className:"text-xs text-slate-400 space-y-1.5",children:[(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-blue-400",children:"✓"})," prism0x2A Pro (full pipeline)"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-blue-400",children:"✓"})," All 17 forge generators"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-blue-400",children:"✓"})," Google Workspace + Slack/Teams"]}),(0,d.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-blue-400",children:"✓"})," API access"]})]})]})]}),(0,d.jsxs)("p",{className:"text-xs text-slate-600 mb-4",children:["forge0x2B Pro is included in the ",(0,d.jsx)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"text-orange-500 hover:text-orange-400 transition-colors",children:"Spectrum Bundle"})," — prism + forge, one price."]}),(0,d.jsx)("a",{href:"https://atomar.dev/pricing",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-orange-400 hover:text-orange-300 transition-colors",children:"View full pricing on atomar.dev — monthly/yearly + Spectrum 0x55 bundle →"})]}),(0,d.jsx)("section",{className:"px-6 py-12",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto text-center",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-widest text-slate-600 mb-5",children:"Export to"}),(0,d.jsx)("div",{className:"flex flex-wrap items-center justify-center gap-3",children:o.map(a=>{let b="stub"===a.status||"roadmap"===a.status;return(0,d.jsxs)("div",{title:p(a),className:`px-4 py-2 rounded-lg border bg-slate-900/50 text-sm transition-colors flex items-center gap-2 ${b?"border-slate-700/30 text-slate-600 opacity-60":"border-slate-700/50 text-slate-400 hover:text-slate-200 hover:border-slate-600"}`,children:[(0,d.jsx)("span",{children:a.label}),(0,d.jsx)(r,{targetId:a.id})]},a.id)})})]})}),(0,d.jsx)("section",{id:"faq",className:"px-6 py-16 scroll-mt-20",children:(0,d.jsxs)("div",{className:"max-w-2xl mx-auto",children:[(0,d.jsxs)("div",{className:"text-center mb-10",children:[(0,d.jsx)("div",{className:"text-xs uppercase tracking-widest text-slate-600 mb-3",children:"FAQ"}),(0,d.jsx)("h2",{className:"text-2xl font-semibold text-slate-100",children:"Frequently asked questions."})]}),(0,d.jsx)("div",{children:v.map(a=>(0,d.jsx)(x,{q:a.q,a:a.a},a.q))})]})}),(0,d.jsx)("section",{className:"px-6 py-24 text-center",children:(0,d.jsxs)("div",{className:"max-w-xl mx-auto",children:[(0,d.jsx)("p",{className:"text-lg text-slate-400 mb-2 italic",children:"“Your architecture tells a story.”"}),(0,d.jsxs)("p",{className:"text-2xl font-semibold text-slate-100 mb-2",children:["Let forge",(0,d.jsx)("span",{className:"font-mono text-orange-400",children:"0x2B"})," tell it."]}),(0,d.jsx)("p",{className:"text-sm text-slate-500 mb-10",children:"Free to start. No account needed."}),(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-3 mb-6",children:[(0,d.jsx)(h(),{href:"/forge",className:"px-7 py-3 rounded-lg bg-orange-700 hover:bg-orange-600 text-white font-medium transition-colors text-sm shadow-lg shadow-orange-900/30",children:"Start for Free"}),(0,d.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"px-7 py-3 rounded-lg border border-slate-700 text-slate-300 hover:border-slate-500 hover:text-slate-100 transition-colors text-sm",children:"Get prism0x2A →"})]}),(0,d.jsx)("p",{className:"text-xs text-slate-700 font-mono",children:"2B or not 2B."})]})})]}),(0,d.jsx)("footer",{className:"border-t border-slate-800/50 px-6 py-8",children:(0,d.jsxs)("div",{className:"max-w-6xl mx-auto space-y-6",children:[(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 text-xs text-slate-600",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(n,{size:20}),(0,d.jsxs)("span",{children:["forge",(0,d.jsx)("span",{className:"font-mono",children:"0x2B"})]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-x-5 gap-y-2",children:[(0,d.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-400 transition-colors",children:"prism0x2A"}),(0,d.jsx)("a",{href:"https://atomar.dev/pricing",target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-400 transition-colors",children:"Pricing"}),(0,d.jsx)("a",{href:"#faq",className:"hover:text-slate-400 transition-colors",children:"FAQ"}),(0,d.jsx)("a",{href:"https://www.npmjs.com/package/forgesmith",target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-400 transition-colors",children:"npm"}),(0,d.jsx)(h(),{href:"/impressum",className:"hover:text-slate-400 transition-colors",children:"Impressum"}),(0,d.jsx)(h(),{href:"/datenschutz",className:"hover:text-slate-400 transition-colors",children:"Datenschutz"}),(0,d.jsx)(h(),{href:"/agb",className:"hover:text-slate-400 transition-colors",children:"AGB"})]}),(0,d.jsx)("div",{className:"text-slate-700 hidden sm:block font-mono",children:"2B or not 2B."})]}),(0,d.jsx)("p",{className:"text-center text-[11px] font-mono text-slate-700 tracking-wide",children:"No cookies \xb7 No analytics \xb7 No tracking \xb7 Just the page."})]})})]})}function z(){let[a,b]=(0,f.useState)(!1),[c,e]=(0,f.useState)(!1);return!c||a?null:(0,d.jsx)("div",{className:"mt-14 max-w-2xl w-full px-5 py-5 rounded-xl border border-slate-700/40 bg-gradient-to-r from-blue-900/10 to-pink-900/10 text-left",children:(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("span",{className:"text-sm font-semibold bg-gradient-to-r from-blue-400 to-pink-400 bg-clip-text text-transparent",children:"Spectrum 0x55 Bundle"}),(0,d.jsx)("span",{className:"text-xs text-slate-600 border border-slate-700 rounded-full px-2 py-0.5",children:"€49/m"})]}),(0,d.jsxs)("p",{className:"text-xs text-slate-500",children:["Pair with ",(0,d.jsx)("strong",{className:"text-slate-400",children:"prism0x2A"})," to discover + map your architecture, then narrate it with forge",(0,d.jsx)("span",{className:"font-mono-brand",children:"0x2B"}),".",(0,d.jsx)("br",{}),(0,d.jsx)("span",{className:"text-slate-600",children:"Unlocks both prism0x2A Pro and forge0x2B Pro. Save €19/m vs buying separately."})]})]}),(0,d.jsx)("a",{href:"https://prism0x2a.lemonsqueezy.com/checkout/buy/64d25b45-7c4a-410d-b4aa-7504f98ab5f7",target:"_blank",rel:"noopener noreferrer",className:"whitespace-nowrap px-4 py-2 rounded-lg bg-gradient-to-r from-blue-700 to-pink-700 hover:from-blue-600 hover:to-pink-600 text-white text-sm font-medium transition-all text-center",children:"Get Spectrum →"})]})})}function A(){return(0,d.jsxs)("div",{className:"min-h-screen flex flex-col",children:[(0,d.jsxs)("header",{className:"border-b border-slate-800 px-6 py-4 flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"text-lg font-semibold text-slate-100",children:"forge"}),(0,d.jsx)("span",{className:"font-mono-brand text-lg font-semibold text-orange-400",children:"0x2B"})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-4 text-sm text-slate-400",children:[(0,d.jsx)(h(),{href:"/settings",className:"hover:text-slate-200 transition-colors",children:"Settings"}),(0,d.jsx)(h(),{href:"/assets/architecture-walkthrough",className:"px-3 py-1.5 rounded-md bg-orange-700/20 border border-orange-600/30 text-orange-300 hover:bg-orange-700/30 transition-colors",children:"⚒ Generate"})]})]}),(0,d.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 py-16 text-center",children:[(0,d.jsxs)("div",{className:"mb-4",children:[(0,d.jsxs)("div",{className:"inline-flex items-center gap-1 mb-2",children:[(0,d.jsx)("span",{className:"text-5xl font-bold text-slate-50 tracking-tight",children:"forge"}),(0,d.jsx)("span",{className:"font-mono-brand text-5xl font-bold text-orange-400 tracking-tight",children:"0x2B"})]}),(0,d.jsx)("p",{className:"text-xl text-slate-400 mt-4 max-w-xl",children:"Forge the message from the code."}),(0,d.jsx)("p",{className:"text-sm text-slate-600 mt-2",children:"Architecture narratives and content intelligence for engineering teams."})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 mt-12 max-w-4xl w-full",children:[(0,d.jsxs)(h(),{href:"/assets/architecture-walkthrough",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83C\uDFD7"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Architecture Walkthrough"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Long-form narrative explaining structure, key files, and important relationships."})]}),(0,d.jsxs)(h(),{href:"/assets/changes-since",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDCCA"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"What Changed"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Delta narrative between Blueprint snapshots — new files, removed files, structural shifts."})]}),(0,d.jsxs)(h(),{href:"/assets/onboarding-doc",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDC4B"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Onboarding Doc"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"New-developer introduction — start here, key folders, conventions, first files to read."})]}),(0,d.jsxs)(h(),{href:"/assets/refactoring-report",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDD0D"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Refactoring Report"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Hot spots, import cycles, high fan-out files — with concrete refactoring priorities."})]}),(0,d.jsxs)(h(),{href:"/assets/release-notes",className:"group p-5 rounded-xl border border-slate-700/30 bg-slate-900/30 hover:bg-slate-800/50 hover:border-slate-600 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-slate-400 text-xl mb-2",children:"⚒"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Release Notes"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Generate release notes from your prism0x2A sessions and recommendations."})]}),(0,d.jsxs)(h(),{href:"/assets/ask",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDCAC"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Ask"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Ask any question — get a blog post, tweet, email, Slack message, or slide deck from your architecture."})]}),(0,d.jsxs)(h(),{href:"/assets/presentation",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDCCA"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Presentations"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Generate a polished slide deck from your Blueprint — audience, theme, focus area, and tone controls."})]}),(0,d.jsxs)(h(),{href:"/assets/arc42",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDCCB"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("h2",{className:"font-semibold text-slate-100",children:"arc42 Docs"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded border border-orange-600/40 text-orange-400 font-mono",children:"Pro"})]}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Complete architecture documentation — 12 sections, PRISM-grounded. CC-BY 4.0."})]}),(0,d.jsxs)(h(),{href:"/assets/sprint-retro",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-orange-400 text-xl mb-2",children:"\uD83D\uDD04"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("h2",{className:"font-semibold text-slate-100",children:"Sprint Retro"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded border border-orange-600/40 text-orange-400 font-mono",children:"Pro"})]}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Data-driven sprint retrospective from git history, capability health, and coherence scores."})]}),(0,d.jsxs)(h(),{href:"/assets/newsletter",className:"group p-5 rounded-xl border border-emerald-600/20 bg-emerald-700/5 hover:bg-emerald-700/10 hover:border-emerald-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-emerald-400 text-xl mb-2",children:"\uD83D\uDCEE"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("h2",{className:"font-semibold text-slate-100",children:"Newsletter"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded border border-emerald-600/40 text-emerald-400 font-mono",children:"Free"})]}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Weekly stakeholder digest — email, Slack, Teams, and HTML from last week's activity."})]}),(0,d.jsxs)(h(),{href:"/assets/radio",className:"group p-5 rounded-xl border border-emerald-600/20 bg-emerald-700/5 hover:bg-emerald-700/10 hover:border-emerald-600/40 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-emerald-400 text-xl mb-2",children:"\uD83D\uDCE1"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("h2",{className:"font-semibold text-slate-100",children:"Architecture Radio"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded border border-emerald-600/40 text-emerald-400 font-mono",children:"Free"})]}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Daily architectural briefing — Slack, email, and tweet from live engineering signal. Delivered automatically by PRISM."})]}),(0,d.jsxs)(h(),{href:"/assets/knowledge-capture",className:"group p-5 rounded-xl border border-purple-600/20 bg-purple-900/5 hover:bg-purple-900/10 hover:border-purple-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-purple-400 text-xl",children:"\uD83E\uDDE0"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{background:"rgba(147,51,234,0.12)",color:"#c084fc",border:"1px solid rgba(147,51,234,0.25)"},children:"Pro"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Knowledge Capture"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Preserve the genius before it walks out the door — complete architectural brain dump with onboarding checklist."})]}),(0,d.jsxs)(h(),{href:"/assets/roi-slide",className:"group p-5 rounded-xl border border-emerald-600/20 bg-emerald-700/5 hover:bg-emerald-700/10 hover:border-emerald-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-emerald-400 text-xl",children:"\uD83D\uDCB6"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{background:"rgba(16,185,129,0.12)",color:"#10b981",border:"1px solid rgba(16,185,129,0.25)"},children:"Pro"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"ROI Slide Deck"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Turn PRISM architecture debt data into a CFO-ready 6-slide executive deck with cost breakdown and budget ask."})]}),(0,d.jsxs)(h(),{href:"/assets/change-impact",className:"group p-5 rounded-xl border border-red-600/20 bg-red-900/5 hover:bg-red-900/10 hover:border-red-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-red-400 text-xl",children:"\uD83D\uDEE1"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{background:"rgba(234,88,12,0.12)",color:"#fb923c",border:"1px solid rgba(234,88,12,0.25)"},children:"Pro"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Change Impact Brief"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Executive-ready CTO/CAB brief — risk level, compliance impact, rollback complexity, and recommended actions."})]}),(0,d.jsxs)(h(),{href:"/assets/api-changelog",className:"group p-5 rounded-xl border border-blue-600/20 bg-blue-900/5 hover:bg-blue-900/10 hover:border-blue-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-blue-400 text-xl",children:"\uD83D\uDCCB"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{background:"rgba(234,88,12,0.12)",color:"#fb923c",border:"1px solid rgba(234,88,12,0.25)"},children:"Pro"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"API Changelog"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Living API changelog for internal, external, or partner audiences — breaking changes, migrations, and deprecation notices."})]}),(0,d.jsxs)(h(),{href:"/assets/compliance",className:"group p-5 rounded-xl border border-blue-600/20 bg-blue-900/5 hover:bg-blue-900/10 hover:border-blue-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-blue-400 text-xl",children:"⚖"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{background:"rgba(59,130,246,0.12)",color:"#60a5fa",border:"1px solid rgba(59,130,246,0.25)"},children:"✦ Spectrum"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Compliance Autopilot"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"SOX, ISO 27001, GDPR, SOC 2 — compliance docs grounded in your AMBER capability registry."})]}),(0,d.jsxs)(h(),{href:"/assets/ddd-doc",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-orange-400 text-xl",children:"\uD83C\uDFDB️"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded border border-emerald-600/40 text-emerald-400 font-mono",children:"Free"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"DDD Documentation"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Bounded Context Map, Ubiquitous Language glossary, and architecture recommendations from AMBER capabilities."})]}),(0,d.jsxs)(h(),{href:"/assets/adr",className:"group p-5 rounded-xl border border-orange-600/20 bg-orange-700/5 hover:bg-orange-700/10 hover:border-orange-600/40 transition-all text-left",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsx)("span",{className:"text-orange-400 text-xl",children:"\uD83D\uDCD0"}),(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{background:"rgba(234,88,12,0.12)",color:"#fb923c",border:"1px solid rgba(234,88,12,0.25)"},children:"Pro"})]}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"ADR Generator"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Architecture Decision Records in MADR format from import cycles, capability boundaries, and dependency patterns."})]}),(0,d.jsxs)(h(),{href:"/assets/history",className:"group p-5 rounded-xl border border-slate-700/50 bg-slate-900/50 hover:bg-slate-800/50 hover:border-slate-600 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-slate-400 text-xl mb-2",children:"\uD83D\uDCDA"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Asset History"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Browse, copy, download, and regenerate all previously generated assets."})]}),(0,d.jsxs)(h(),{href:"/settings",className:"group p-5 rounded-xl border border-slate-700/50 bg-slate-900/50 hover:bg-slate-800/50 hover:border-slate-600 transition-all text-left",children:[(0,d.jsx)("div",{className:"text-slate-400 text-xl mb-2",children:"⚙"}),(0,d.jsx)("h2",{className:"font-semibold text-slate-100 mb-1",children:"Settings"}),(0,d.jsx)("p",{className:"text-sm text-slate-500",children:"Configure API key, prism0x2A folder path, and manage your license."})]})]}),(0,d.jsxs)("div",{className:"mt-8 max-w-4xl w-full",children:[(0,d.jsx)("h2",{className:"text-xs font-medium text-slate-600 uppercase tracking-wider mb-3",children:"Forge Engine"}),(0,d.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,d.jsxs)(h(),{href:"/forge/templates",className:"group p-4 rounded-xl border border-slate-700/50 bg-slate-900/30 hover:bg-slate-800/50 hover:border-slate-600 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-slate-400 text-lg shrink-0",children:"\uD83D\uDCCB"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"Templates"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"Channel \xd7 intent \xd7 format definitions"})]})]}),(0,d.jsxs)(h(),{href:"/forge/audiences",className:"group p-4 rounded-xl border border-slate-700/50 bg-slate-900/30 hover:bg-slate-800/50 hover:border-slate-600 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-slate-400 text-lg shrink-0",children:"\uD83D\uDC65"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"Audiences"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"Tonality, reading level, channel hints"})]})]}),(0,d.jsxs)(h(),{href:"/forge/brand",className:"group p-4 rounded-xl border border-blue-700/20 bg-blue-900/5 hover:bg-blue-900/10 hover:border-blue-700/30 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-blue-400 text-lg shrink-0",children:"\uD83C\uDFA8"}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h3",{className:"text-sm font-medium text-slate-200",children:["Brand Kit ",(0,d.jsx)("span",{className:"text-[10px] text-blue-400 font-mono",children:"✦ Spectrum"})]}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"Palette + voice \xb7 auto-extract from URL or prism"})]})]}),(0,d.jsxs)(h(),{href:"/forge/widgets",className:"group p-4 rounded-xl border border-purple-700/20 bg-purple-900/5 hover:bg-purple-900/10 hover:border-purple-700/30 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-purple-400 text-lg shrink-0",children:"\uD83E\uDDE9"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"Widget Generator"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"Stat cards, CTAs, testimonials — HTML/MD/React"})]})]}),(0,d.jsxs)(h(),{href:"/forge/multi",className:"group p-4 rounded-xl border border-green-700/20 bg-green-900/5 hover:bg-green-900/10 hover:border-green-700/30 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-green-400 text-lg shrink-0",children:"\uD83D\uDCE1"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"Multi-Channel Dispatch"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"One Ask → Tweet, LinkedIn, blog, HN, and 5 more"})]})]}),(0,d.jsxs)(h(),{href:"/forge/from-prism",className:"group p-4 rounded-xl border border-cyan-700/20 bg-cyan-900/5 hover:bg-cyan-900/10 hover:border-cyan-700/30 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-cyan-400 text-lg shrink-0",children:"\uD83D\uDD2D"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"From prism0x2A"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"Blueprint-grounded generation \xb7 real zones & coupling data"})]})]}),(0,d.jsxs)(h(),{href:"/forge/deck",className:"group p-4 rounded-xl border border-orange-700/20 bg-orange-900/5 hover:bg-orange-900/10 hover:border-orange-700/30 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-orange-400 text-lg shrink-0",children:"\uD83D\uDCCA"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"Presentation Builder"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"3–10 slide 16:9 deck from your blueprint \xb7 PDF, PPTX, PNG export"})]})]}),(0,d.jsxs)(h(),{href:"/forge/framework-report",className:"group p-4 rounded-xl border border-orange-700/30 bg-orange-900/10 hover:bg-orange-900/15 hover:border-orange-700/50 transition-all text-left flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-orange-400 text-lg shrink-0",children:"\uD83C\uDFDB️"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-slate-200",children:"Master Framework Report"}),(0,d.jsx)("p",{className:"text-xs text-slate-600 mt-0.5",children:"All-frameworks executive report \xb7 C4, SOLID, 12-Factor, DORA, Wardley + more"})]})]})]})]}),(0,d.jsx)(z,{}),(0,d.jsx)("div",{className:"mt-12 text-xs text-slate-700",children:(0,d.jsxs)("p",{children:["Reads from your ",(0,d.jsx)("code",{className:"font-mono-brand",children:".prism/"})," folder — powered by forgesmith."]})})]}),(0,d.jsx)("footer",{className:"border-t border-slate-800/50 px-6 py-3 text-center",children:(0,d.jsxs)("p",{className:"text-xs text-slate-700",children:["2B or not 2B. — forge",(0,d.jsx)("span",{className:"font-mono-brand text-slate-600",children:"0x2B"})," v0.10.2"]})})]})}function B(){return(0,e.A)()?(0,d.jsx)(y,{}):(0,d.jsx)(A,{})}},21660:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23318,23))},25057:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g}),c(5735);var d=c(88868);let e={runtime:"edge",alt:"forge0x2B — Forge the message from the code.",size:{width:1200,height:630},contentType:"image/png"};function f(a,b,c){let e=(0,d.fillMetadataSegment)(".",c,"opengraph-image",!1),f={alt:a.alt,type:a.contentType||"image/png",url:e+(b?"/"+b:"")+"?5bfe3a6f432bc174"},{size:g}=a;return g&&(f.width=g.width,f.height=g.height),f}async function g(a){let{generateImageMetadata:b}=e,c=await a.params;return b?(await b({params:c})).map((a,b)=>{let d=a.id+"";return f(a,d,c)}):[f(e,"",c)]}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32056:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j,metadata:()=>i});var d=c(5735),e=c(67755),f=c.n(e),g=c(69634),h=c.n(g);c(82704);let i={title:"forge0x2B — Forge the message from the code.",description:"Auto-generate release notes, architecture walkthroughs, onboarding docs, and refactoring reports from your codebase's real architecture. Pair with prism0x2A. €39/month or €49 in Spectrum Bundle.",keywords:["content-generation","release-notes","architecture-documentation","marketing-automation","codebase-analysis","technical-writing","developer-tools","prism0x2A","forgesmith"],authors:[{name:"dadenjo"}],openGraph:{type:"website",title:"forge0x2B — Forge the message from the code.",description:"Auto-generate release notes, architecture walkthroughs, onboarding docs, and refactoring reports from your real codebase structure. Local-first. BYO API key.",siteName:"forge0x2B",images:[{url:"/opengraph-image",width:1200,height:630,alt:"forge0x2B — Forge the message from the code."}]},twitter:{card:"summary_large_image",title:"forge0x2B — Forge the message from the code.",description:"Auto-generate release notes, architecture walkthroughs, and more from your real codebase. Pair with prism0x2A for the Spectrum Bundle.",images:["/opengraph-image"]},robots:{index:!0,follow:!0}};function j({children:a}){return(0,d.jsx)("html",{lang:"en",className:`${f().variable} ${h().variable} h-full antialiased`,children:(0,d.jsx)("body",{className:"min-h-full flex flex-col bg-slate-950 text-slate-200",children:a})})}},33873:a=>{"use strict";a.exports=require("path")},37548:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(5735),e=c(63059),f=c.n(e);function g(){return(0,d.jsxs)("div",{className:"min-h-screen flex flex-col items-center justify-center bg-slate-950 px-6",children:[(0,d.jsx)("p",{className:"text-xs font-mono text-orange-500 mb-4 tracking-widest",children:"404"}),(0,d.jsx)("h1",{className:"text-2xl font-semibold text-slate-100 mb-2",children:"Page not found"}),(0,d.jsx)("p",{className:"text-sm text-slate-500 mb-8 text-center max-w-xs",children:"This route doesn't exist. Head back to the dashboard or home page."}),(0,d.jsxs)("div",{className:"flex items-center gap-4",children:[(0,d.jsx)(f(),{href:"/",className:"px-4 py-2 rounded-lg bg-orange-700 hover:bg-orange-600 text-white text-sm font-medium transition-colors",children:"← Home"}),(0,d.jsx)(f(),{href:"/assets/history",className:"px-4 py-2 rounded-lg border border-slate-700 text-slate-400 hover:text-slate-200 text-sm transition-colors",children:"Asset History"})]})]})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41951:(a,b,c)=>{Promise.resolve().then(c.bind(c,21050))},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48015:()=>{},56263:()=>{},57152:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70304:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},71303:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(67484);function e(){let[a,b]=(0,d.useState)(!1);return a}},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},78335:()=>{},79804:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2116,23))},82560:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,99647)),"/private/tmp/forge-publish/app/page.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[],openGraph:[async a=>(await Promise.resolve().then(c.bind(c,25057))).default(a)],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,32056)),"/private/tmp/forge-publish/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.bind(c,37548)),"/private/tmp/forge-publish/app/not-found.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[],openGraph:[async a=>(await Promise.resolve().then(c.bind(c,25057))).default(a)],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},82704:()=>{},86364:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?f43d7dceb252b2d3"}]},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94073:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},96487:()=>{},99647:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/private/tmp/forge-publish/app/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/forge-publish/app/page.tsx","default")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[3445,524,4463],()=>b(b.s=82560));module.exports=c})();