1import{z as h,r as g,j as e,N as j,H as u,L as n,A as f,B as y}from"./index-D5v3HSjQ.js";import{g as N,p as l,a as b,P as w,b as v,A as k}from"./PortfolioShared-i-EbsXMn.js";import{a as o}from"./seo-XVUhQy0y.js";import S from"./NotFoundPage-DB-1cgQ6.js";import{A as x}from"./arrow-left-BT_7L442.js";const $=[{key:"what",label:"What it is"},{key:"why",label:"Why I built it"},{key:"how",label:"How it works"}],_=()=>{const{slug:i}=h(),r=N(i),t=r===-1?null:l[r];if(g.useEffect(()=>{if(t)return document.body.classList.add("sophey-active"),window.scrollTo(0,0),()=>document.body.classList.remove("sophey-active")},[t,i]),!t)return e.jsx(S,{});if(t.slug!==i)return e.jsx(j,{replace:!0,to:`/portfolio/${t.slug}`});const c=r>0?l[r-1]:null,m=r<l.length-1?l[r+1]:null,s=t.accent,d={"@context":"https://schema.org","@type":"CreativeWork",name:t.name,headline:t.tagline,description:t.what,url:o(`/portfolio/${t.slug}`),author:{"@type":"Person",name:"Sophey",url:o("/")},...t.screenshot?{image:o(t.screenshot)}:{},...t.liveUrl?{sameAs:t.liveUrl}:{}};return e.jsxs(e.Fragment,{children:[e.jsxs(u,{children:[e.jsx("title",{children:`${t.name} â Sophey`}),e.jsx("meta",{name:"robots",content:"noindex, nofollow"}),e.jsx("meta",{name:"description",content:t.what.slice(0,300)}),e.jsx("meta",{property:"og:type",content:"article"}),e.jsx("meta",{property:"og:url",content:o(`/portfolio/${t.slug}`)}),e.jsx("meta",{property:"og:title",content:`${t.name} â Sophey`}),e.jsx("meta",{property:"og:description",content:t.tagline}),e.jsx("meta",{property:"og:image",content:o(t.screenshot||"/sophey_logo.png")}),e.jsx("meta",{name:"theme-color",content:"#05040A"}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:`${t.name} â Sophey`}),e.jsx("meta",{name:"twitter:description",content:t.tagline}),e.jsx("meta",{name:"twitter:image",content:o(t.screenshot||"/sophey_logo.png")}),e.jsx("link",{rel:"canonical",href:o(`/portfolio/${t.slug}`)}),e.jsx("link",{href:"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap",rel:"stylesheet"}),e.jsx("style",{children:b}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(d)})]}),e.jsxs("div",{className:"relative min-h-screen overflow-hidden bg-sophey-void text-sophey-cream",children:[e.jsxs("div",{className:"pointer-events-none fixed inset-0 z-0",children:[e.jsx("div",{className:"absolute -left-40 -top-52 h-[680px] w-[680px] rounded-full blur-[150px]",style:{background:s,opacity:.17}}),e.jsx("div",{className:"absolute -bottom-56 -right-40 h-[560px] w-[560px] rounded-full blur-[150px]",style:{background:s,opacity:.09}})]}),e.jsxs("nav",{className:"relative z-10 mx-auto flex max-w-6xl items-center justify-between px-6 pt-10",children:[e.jsxs(n,{to:"/portfolio",className:"group inline-flex items-center gap-2 pf-mono text-[11px] uppercase tracking-[0.2em] text-sophey-cream/50 transition-colors hover:text-sophey-cream",children:[e.jsx(x,{className:"h-3.5 w-3.5 transition-transform group-hover:-translate-x-1"}),"All projects"]}),e.jsx("a",{href:"/",className:"flex items-center",children:e.jsx("img",{src:"/sophey_logo.png",alt:"Sophey",className:"h-9 w-auto object-contain"})})]}),e.jsxs("main",{className:"relative z-10 mx-auto max-w-6xl px-6 pb-28 pt-16 md:pt-20",children:[e.jsxs("header",{children:[e.jsxs("div",{className:"mb-8 flex flex-wrap items-center gap-x-4 gap-y-2",children:[e.jsx("span",{className:"h-px w-10",style:{background:s}}),e.jsxs("span",{className:"pf-mono text-[11px] uppercase tracking-[0.28em] text-sophey-cream/45",children:[String(r+1).padStart(2,"0")," / ",l.length]}),e.jsx("span",{className:"pf-mono text-[11px] uppercase tracking-[0.28em] text-sophey-cream/45",children:t.category}),e.jsx("span",{className:"pf-mono text-[11px] uppercase tracking-[0.28em]",style:{color:s},children:t.status}),t.paused&&e.jsx(w,{compact:!0})]}),e.jsxs("div",{className:"flex items-start gap-5",children:[e.jsx("span",{className:"mt-2 hidden h-14 w-14 shrink-0 items-center justify-center border border-white/10 sm:flex",style:{color:s,background:`${s}14`}
1,children:e.jsx(v,{name:t.icon,className:"h-6 w-6"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"font-display text-[2.75rem] leading-[0.9] tracking-[-0.045em] sm:text-6xl md:text-7xl",children:t.name}),e.jsx("p",{className:"mt-4 text-lg text-sophey-cream/55 md:text-xl",children:t.tagline})]})]})]}),e.jsx("div",{className:"mt-14",children:t.screenshot?e.jsxs("figure",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute -inset-x-8 -bottom-6 -top-6 blur-[60px]",style:{background:s,opacity:.1}}),e.jsx("img",{src:t.screenshot,alt:`${t.name} interface`,width:"1600",height:"1000",className:"relative max-h-[480px] w-full border border-white/10 object-cover object-top"})]}):e.jsx("div",{className:"max-w-2xl",children:e.jsx(k,{artifact:t.artifact,accent:s,sizing:"min-h-[230px]"})})}),e.jsx("section",{className:"mt-20 space-y-14",children:$.map(({key:a,label:p})=>e.jsxs("article",{className:"grid gap-4 md:grid-cols-12 md:gap-10",children:[e.jsx("h2",{className:"pf-mono pt-1 text-[11px] uppercase tracking-[0.24em] text-sophey-cream/40 md:col-span-3",children:p}),e.jsx("p",{className:"text-[17px] leading-[1.75] text-sophey-cream/75 md:col-span-9",children:t[a]})]},a))}),t.findings?.length>0&&e.jsx("section",{className:"mt-24 border-t border-white/8 pt-12",children:e.jsxs("div",{className:"grid gap-8 md:grid-cols-12 md:gap-10",children:[e.jsxs("header",{className:"md:col-span-3",children:[e.jsx("p",{className:"pf-mono text-[11px] uppercase tracking-[0.24em] text-sophey-cream/40",children:"Selected findings"}),e.jsx("h2",{className:"mt-4 font-display text-3xl leading-tight tracking-[-0.035em]",children:"What I actually figured out"}),e.jsx("p",{className:"mt-4 text-sm leading-relaxed text-sophey-cream/45",children:"Concrete enough to explain the work. Deliberately not enough to reproduce the sensitive parts."})]}),e.jsx("div",{className:"md:col-span-9",children:e.jsx("ol",{className:"grid gap-x-10 md:grid-cols-2",children:t.findings.map((a,p)=>e.jsxs("li",{className:"border-t border-white/10 py-7 first:border-t-0 md:[&:nth-child(-n+2)]:border-t-0 md:[&:nth-child(-n+2)]:pt-0",children:[e.jsx("div",{className:"pf-mono text-[10px] tracking-[0.18em]",style:{color:s},children:String(p+1).padStart(2,"0")}),e.jsx("h3",{className:"mt-3 text-lg font-medium text-sophey-cream/90",children:a.title}),e.jsx("p",{className:"mt-3 text-[15px] leading-[1.7] text-sophey-cream/60",children:a.text})]},a.title))})})]})}),e.jsx("section",{className:"mt-20 border-t border-white/8 pt-12",children:e.jsxs("div",{className:"grid gap-10 md:grid-cols-12 md:gap-10",children:[e.jsx("h2",{className:"pf-mono text-[11px] uppercase tracking-[0.24em] text-sophey-cream/40 md:col-span-3",children:"Built with"}),e.jsxs("div",{className:"md:col-span-9",children:[e.jsx("ul",{className:"flex flex-wrap gap-2",children:t.stack.map(a=>e.jsx("li",{className:"pf-mono border border-white/10 px-3 py-2 text-[11px] tracking-[0.06em] text-sophey-cream/60",children:a},a))}),e.jsxs("p",{className:"mt-8 text-[15px] leading-relaxed text-sophey-cream/55",children:[e.jsx("span",{className:"pf-mono mr-2 text-[11px] uppercase tracking-[0.2em]",style:{color:s},children:"Status"}),t.statusNote]}),t.liveUrl&&e.jsxs("a",{href:t.liveUrl,target:"_blank",rel:"noopener noreferrer",className:"pf-mono mt-8 inl
1ine-flex items-center gap-2 border-b pb-1 text-[13px] tracking-[0.06em] transition-opacity hover:opacity-70",style:{color:s,borderColor:`${s}66`},children:[t.liveLabel,e.jsx(f,{className:"h-4 w-4"})]})]})]})}),e.jsxs("nav",{className:"mt-20 grid gap-4 border-t border-white/8 pt-10 sm:grid-cols-2",children:[c?e.jsxs(n,{to:`/portfolio/${c.slug}`,className:"group border border-white/8 p-6 transition-colors hover:border-white/20",children:[e.jsxs("span",{className:"pf-mono inline-flex items-center gap-2 text-[11px] uppercase tracking-[0.2em] text-sophey-cream/35",children:[e.jsx(x,{className:"h-3.5 w-3.5 transition-transform group-hover:-translate-x-1"}),"Previous"]}),e.jsx("div",{className:"mt-3 font-display text-2xl tracking-[-0.03em]",children:c.name})]}):e.jsx("span",{}),m&&e.jsxs(n,{to:`/portfolio/${m.slug}`,className:"group border border-white/8 p-6 text-right transition-colors hover:border-white/20 sm:col-start-2",children:[e.jsxs("span",{className:"pf-mono inline-flex items-center gap-2 text-[11px] uppercase tracking-[0.2em] text-sophey-cream/35",children:["Next",e.jsx(y,{className:"h-3.5 w-3.5 transition-transform group-hover:translate-x-1"})]}),e.jsx("div",{className:"mt-3 font-display text-2xl tracking-[-0.03em]",children:m.name})]})]})]}),e.jsx("footer",{className:"relative z-10 mx-auto max-w-6xl border-t border-white/5 px-6 pb-12 pt-8",children:e.jsxs("div",{className:"pf-mono flex flex-col gap-3 text-[11px] uppercase tracking-[0.2em] text-sophey-cream/35 md:flex-row md:items-center md:justify-between",children:[e.jsx("span",{children:"© 2026 Sophey"}),e.jsx(n,{to:"/portfolio",className:"transition-colors hover:text-sophey-cream",children:"Back to all projects"})]})})]})]})};export{_ as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.