PageSourceSearch

https://www.twinzy.com/assets/FanOnboarding-BLZQTdmN.js

js twinzy.com collected 2026-09-25 13:11:04 UTC 46,441 bytes, 6 lines download raw bytes

1import{r as j,b as W,j as e,L as O}from"./index-CklPjjmi.js";import{O as B}from"./OnboardingLayout-C1x_sKzJ.js";import{t as m}from"./twin-mia-DovT1XEd.js";import{t as u}from"./twin-aya-B1ncfDjq.js";import{t as g}from"./twin-kai-dmKMl-fU.js";import{t as U}from"./twin-lena-BkYr8oMT.js";import{a as C,t as V}from"./twin-sofia-CAqd_WY5.js";import{t as K,a as H,b as J}from"./twin-food-tOmfnVNn.js";import{t as Z}from"./twin-beauty-aDGxzR43.js";import{t as _}from"./twin-music-JXUFu__5.js";import{t as q}from"./twin-gaming-Bn423MFJ.js";import{Z as Q}from"./zap-C6tloatk.js";import{L as F}from"./lock-CQaFHUlT.js";import{S as c}from"./sparkles-BdyeHDdV.js";import{U as X}from"./user-D0ztpqtC.js";import{P as ee}from"./palette-Dwv5ojKN.js";import{G as te}from"./globe-CIZDLR61.js";import{H as re}from"./heart-CI7vGrO8.js";import{M as ae}from"./music-O6NIsZr1.js";import{R as se}from"./radio-ukPvgUkD.js";import{B as $}from"./bell-DWVI6qCm.js";import{S as p}from"./shield-check-BjLaWgNU.js";import{C as M}from"./credit-card-ChIydrSG.js";import{C as y}from"./crown-DspJDa0z.js";import{M as w}from"./message-circle-CXeOpj9E.js";import{S as P}from"./smartphone-BCnMc7EU.js";import{G as v}from"./gift-oD1-Oq9J.js";import{R as A}from"./rocket-Rmv18ybp.js";import{C as ne}from"./camera-Bs2FREXi.js";import{C as h}from"./check-kqyELjjS.js";import{C as L}from"./chevron-right-CkzW9TkV.js";import{P as z}from"./play-DszsrXXu.js";import{P as ie}from"./pin-C9N7cYGQ.js";import{D as le}from"./dollar-sign-C2f1nrCL.js";import{P as N}from"./party-popper-BJmouhPQ.js";import{T as oe}from"./trending-up-Bt1Z0Mfo.js";import{F as de}from"./flame-CVkUB9f2.js";import{V as ce}from"./volume-2-CN3ssJ5_.js";import{c as xe}from"./createLucideIcon-iEcUfUei.js";import{W as k}from"./wallet-DR8Iw52c.js";import"./Footer-vBzLBou3.js";import"./twinzy-logo-transparent-34uwDrCR.js";import"./twinzy-official-seal-small-BYwo_bUK.js";import"./MobileTabBar-Cle5n6TN.js";import"./RoleSwitcher-LCngUS3r.js";import"./sparkle-BMXCgLpx.js";import"./briefcase-DLhZLN_H.js";import"./twinzy-wordmark.png.asset-BGkEEAKL.js";import"./arrow-left-CHeuJtXT.js";import"./arrow-right-D1O5U4Hc.js";import"./signal-DjbtJxZL.js";import"./wifi-DmQ0QHU_.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const me=xe("Apple",[["path",{d:"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z",key:"3s7exb"}],["path",{d:"M10 2c1 .5 2 2 2 5",key:"fcco2y"}]]),ue={handle:"",avatar:null,vibes:[],birthYear:"2001",country:"United States",languages:["English"],following:[],notif:{drops:!0,live:!0,replies:!0,duets:!1,mystery:!0},safety:{parental:!1,matureFilter:!0},payment:null,fanTier:null,superChatTier:null,firstSubTwin:null,concierge:[],pushGranted:!1,widgetAdded:!1,duetTrack:null,duetLine:null,liveJoined:null,mysteryOpened:!1,mysteryPrize:null},d=[{id:"welcome",title:"Welcome to Twinzy",short:"Start",sub:"30 sec",icon:c},{id:"handle",title:"Pick your handle",short:"Handle",sub:"Your identity",icon:X},{id:"vibes",title:"What are you into?",short:"Vibes",sub:"Pick 3+",icon:ee},{id:"region",title:"Where in the world?",short:"Region",sub:"Age · region",icon:te},{id:"follow",title:"Follow your first Twins",short:"Follow",sub:"Pick 12+",icon:re},{id:"duet",title:"Duet a Twin (it's a vibe)",short:"Duet",sub:"Try a remix",icon:ae},{id:"live",title:"Grab a front-row seat",short:"Live",sub:"Live rooms",icon:se},{id:"notif",title:"How should we ping you?",short:"Notif",sub:"Granular",icon:$},{id:"safety",title:"Safety & transparency",short:"Safety",sub:"You're in control",icon:p},{id:"payment",title:"Add a payment method",short:"Pay",sub:"Tips + subs",icon:M},{id:"tier",title:"Pick your fan tier",short:"Tier",sub:"$4.99–$49.99",icon:y},{id:"sub",title:"Try one paid Twin — free 7d",short:"Sub",sub:"One tap cancel",icon:y},{id:"concierge",title:"Say hi to your Concierge Twin",short:"Chat",sub:"Live intro",icon:w},{id:"push",title:"Push + lock-screen widget",short:"Push",sub:"Never miss a drop",icon:P},{id:"mystery",title:"Open your welcome Mystery Box",short:"Gift",sub:"Free prize",icon:v},{id:"done",title:"You're in",short:"Launch",sub:"Welcome gift",icon:A}];function Et(){const[r,s]=j.useState(0),[n,t]=j.useState(ue),a=W(),i=x=>t(G=>({...G,...x})),l=d[r],b=r===d.length-1,I=()=>
6{if(b){a("/feed");return}s(x=>Math.min(d.length-1,x+1)),window.scrollTo({top:320,behavior:"smooth"})},R=()=>s(x=>Math.max(0,x-1)),Y=n.handle?`hey, @${n.handle}`:"hey, welcome in",D=r===0?{label:"Waitlist rank",value:"#3,412",live:"moving"}:r===d.length-1?{label:"Your first drop",value:"in 24h",live:"reserved"}:{label:"Setup",value:`${r+1}/${d.length}`};return e.jsxs(B,{role:"Fan onboarding",headline:"Get inside Twinzy.",headlineItalic:"It only takes 90 seconds.",intro:"Follow your Twins. Skip the algorithm. Get direct replies, live rooms, exclusive drops, and the only fandom experience that talks back.",chips:[{icon:Q,label:"Under 90 sec"},{icon:F,label:"Verified fans only"},{icon:c,label:"Free to join"}],steps:d,step:r,onStepChange:s,phoneGreeting:Y,phoneAvatar:n.avatar||m,onNext:I,onPrev:R,isLast:b,nextLabel:b?"Enter the feed":void 0,sideChip:D,aside:e.jsx(Ee,{step:l.id,state:n}),belowFold:e.jsx(Ie,{}),children:[l.id==="welcome"&&e.jsx(pe,{}),l.id==="handle"&&e.jsx(he,{state:n,patch:i}),l.id==="vibes"&&e.jsx(be,{state:n,patch:i}),l.id==="region"&&e.jsx(we,{state:n,patch:i}),l.id==="follow"&&e.jsx(ve,{state:n,patch:i}),l.id==="duet"&&e.jsx($e,{state:n,patch:i}),l.id==="live"&&e.jsx(Pe,{state:n,patch:i}),l.id==="notif"&&e.jsx(je,{state:n,patch:i}),l.id==="safety"&&e.jsx(Ne,{state:n,patch:i}),l.id==="payment"&&e.jsx(ke,{state:n,patch:i}),l.id==="tier"&&e.jsx(Ae,{state:n,patch:i}),l.id==="sub"&&e.jsx(Te,{state:n,patch:i}),l.id==="concierge"&&e.jsx(Se,{state:n,patch:i}),l.id==="push"&&e.jsx(Ce,{state:n,patch:i}),l.id==="mystery"&&e.jsx(Le,{state:n,patch:i}),l.id==="done"&&e.jsx(ze,{state:n})]})}function pe(){return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"rounded-2xl bg-gradient-to-br from-primary/20 to-white border border-neutral-100 p-4",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-neutral-500",children:"Invite-only"}),e.jsx("div",{className:"font-[Fraunces] text-[24px] leading-tight text-neutral-900 mt-1",children:"Every Twin. Talks back."}),e.jsx("div",{className:"text-[12px] text-neutral-600 mt-2 leading-relaxed",children:"Twinzy is the only fandom app where the creator's AI Twin replies to you personally — every message, every voice note, every live."})]}),e.jsx("div",{className:"grid grid-cols-3 gap-2 text-center",children:[{n:"2.4M",l:"Fans in"},{n:"180+",l:"Twins"},{n:"24/7",l:"Replies"}].map(r=>e.jsxs("div",{className:"rounded-xl border border-neutral-100 py-2 bg-white",children:[e.jsx("div",{className:"font-[Fraunces] text-lg",children:r.n}),e.jsx("div",{className:"text-[9px] uppercase tracking-wider text-neutral-500",children:r.l})]},r.l))}),e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3 flex items-center gap-3",children:[e.jsx(p,{className:"w-5 h-5 text-emerald-600"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11.5px] font-bold text-neutral-900",children:"Every reply is labeled AI."}),e.jsx("div",{className:"text-[10px] text-neutral-500",children:"Full transparency. No fake human accounts. Ever."})]})]}),e.jsx("div",{className:"text-[10px] text-neutral-500 text-center pt-1",children:"Tap Start — no email needed yet."})]})}function he({state:r,patch:s}){var a;const n=r.handle.length>=3&&!["admin","twinzy","official"].includes(r.handle.toLowerCase()),t=r.handle.length>=3?[`${r.handle}_`,`${r.handle}22`,`real${r.handle}`,`${r.handle}xo`]:["luna_02","nightowl","miafan","kaiedits"];return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 mb-2",children:"Handle"}),e.jsxs("div",{className:"flex items-center gap-2 rounded-xl bg-neutral-50 border border-neutral-200 px-3 py-2",children:[e.jsx("span",{className:"text-neutral-500 text-[13px]",children:"@"}),e.jsx("input",{value:r.handle,onChange:i=>s({handle:i.target.value.replace(/[^a-z0-9_]/gi,"").toLowerCase().slice(0,20)}),placeholder:"yourname",className:"flex-1 bg-transparent text-[13px] outline-none min-w-0"}),r.handle.length>=3&&e.jsx("span",{className:`text-[10px] font-bold ${n?"text-emerald-600":"text-red-500"}`,children:n?"Available":"Taken"})]}),r.handle.length>=3&&!n&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-1.5",children:t.map(i=>e.jsxs("button",{onClick:()=>s({handle:i}),className:"text-[10.5px] px-2 py-1 rounded-full bg-neutral-100 text-neutral-700 border border-neutral-200",children:["@",i]},i))})]}),e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 mb-2",children:"Avatar"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-14 h-14 roun
6ded-full bg-gradient-to-br from-primary to-yellow-300 grid place-items-center overflow-hidden",children:r.avatar?e.jsx("img",{src:r.avatar,alt:"",className:"w-full h-full object-cover"}):e.jsx("span",{className:"text-2xl font-[Fraunces]",children:((a=r.handle[0])==null?void 0:a.toUpperCase())||"?"})}),e.jsxs("div",{className:"flex-1 grid grid-cols-2 gap-1.5",children:[e.jsxs("button",{className:"text-[11px] font-bold py-2 rounded-lg border border-neutral-200 flex items-center justify-center gap-1",children:[e.jsx(ne,{className:"w-3 h-3"}),"Upload"]}),e.jsxs("button",{onClick:()=>s({avatar:u}),className:"text-[11px] font-bold py-2 rounded-lg border border-neutral-200 flex items-center justify-center gap-1",children:[e.jsx(c,{className:"w-3 h-3"}),"AI generate"]})]})]})]}),e.jsx("div",{className:"rounded-2xl border border-neutral-100 p-3 bg-yellow-50/60",children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(F,{className:"w-4 h-4 text-yellow-700 mt-0.5"}),e.jsx("div",{className:"text-[11px] text-yellow-900 leading-snug",children:"Your handle is public. Your email + payment are never shared with Twins. Only your first name appears on tips."})]})})]})}const ge=["fashion","beauty","fitness","food","comedy","gaming","music","K-pop","anime","travel","luxury","streetwear","wellness","spiritual","storytime","tech","business","sports","dance","art","mental health","photography"];function be({state:r,patch:s}){const n=t=>{const a=new Set(r.vibes);a.has(t)?a.delete(t):a.add(t),s({vibes:Array.from(a)})};return e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"text-[11px] text-neutral-600 leading-snug",children:"Pick 3 or more. We'll surface Twins, drops, and lives you'll actually love — no algorithmic guessing."}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:ge.map(t=>{const a=r.vibes.includes(t);return e.jsxs("button",{onClick:()=>n(t),className:`text-[11px] px-3 py-1.5 rounded-full border font-medium transition ${a?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-700 border-neutral-200"}`,children:[a&&e.jsx(h,{className:"w-3 h-3 inline mr-1 -mt-0.5"}),t]},t)})}),e.jsxs("div",{className:"rounded-xl bg-neutral-50 border border-neutral-100 p-2.5 flex items-center gap-2",children:[e.jsx(c,{className:"w-3.5 h-3.5 text-primary"}),e.jsx("div",{className:"text-[10.5px] text-neutral-600",children:r.vibes.length<3?`Pick ${3-r.vibes.length} more to unlock your feed.`:`Nice — ${r.vibes.length} vibes locked in.`})]})]})}const fe=["United States","United Kingdom","Canada","Australia","Germany","France","Italy","Spain","Brazil","Mexico","Japan","South Korea","India","UAE","Singapore"],ye=["English","Spanish","Portuguese","French","German","Italian","Japanese","Korean","Arabic","Hindi","Mandarin","Turkish"];function we({state:r,patch:s}){const n=t=>{const a=new Set(r.languages);a.has(t)?a.delete(t):a.add(t),a.size===0&&a.add("English"),s({languages:Array.from(a)})};return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 mb-2",children:"Birth year"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{value:r.birthYear,onChange:t=>s({birthYear:t.target.value.slice(0,4)}),placeholder:"2001",className:"flex-1 bg-neutral-50 border border-neutral-200 rounded-xl px-3 py-2 text-[13px] outline-none"}),e.jsx("div",{className:"text-[10px] text-neutral-500",children:"13+ only"})]})]}),e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 mb-2",children:"Country"}),e.jsx("select",{value:r.country,onChange:t=>s({country:t.target.value}),className:"w-full bg-neutral-50 border border-neutral-200 rounded-xl px-3 py-2 text-[13px] outline-none",children:fe.map(t=>e.jsx("option",{children:t},t))})]}),e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 mb-2",children:"Languages · Twins auto-translate"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:ye.map(t=>{const a=r.languages.includes(t);return e.jsx("button",{onClick:()=>n(t),className:`text-[10.5px] px-2.5 py-1 rounded-full border ${a?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-700 border-neutral-200"}`,children:t},t)})})]})]})}
6const E=[{id:"mia",name:"Mia · fashion",img:m,tags:["fashion","luxury"]},{id:"kai",name:"Kai · fitness",img:g,tags:["fitness","wellness"]},{id:"aya",name:"Aya · beauty",img:u,tags:["beauty","K-pop"]},{id:"lena",name:"Lena · food",img:U,tags:["food"]},{id:"sofia",name:"Sofia · music",img:C,tags:["music","dance"]},{id:"zara",name:"Zara · streetwear",img:V,tags:["streetwear","fashion"]},{id:"fash",name:"Nova · fashion",img:K,tags:["fashion"]},{id:"fit",name:"Ryder · fitness",img:H,tags:["fitness","sports"]},{id:"beau",name:"June · beauty",img:Z,tags:["beauty"]},{id:"food",name:"Theo · food",img:J,tags:["food"]},{id:"music",name:"Iris · music",img:_,tags:["music"]},{id:"game",name:"Rex · gaming",img:q,tags:["gaming"]}];function ve({state:r,patch:s}){const n=t=>{const a=new Set(r.following);a.has(t)?a.delete(t):a.add(t),s({following:Array.from(a)})};return e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"text-[11px] text-neutral-600 leading-snug",children:"Follow at least 12 to unlock your Feed. You can add more later."}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:E.map(t=>{const a=r.following.includes(t.id);return e.jsxs("button",{onClick:()=>n(t.id),className:`relative rounded-xl overflow-hidden border-2 transition ${a?"border-primary shadow-md":"border-neutral-200"}`,children:[e.jsx("div",{className:"aspect-square",children:e.jsx("img",{src:t.img,alt:"",className:"w-full h-full object-cover"})}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/80 to-transparent p-1.5",children:e.jsx("div",{className:"text-white text-[9px] font-bold leading-tight truncate",children:t.name})}),a&&e.jsx("div",{className:"absolute top-1 right-1 w-5 h-5 rounded-full bg-primary grid place-items-center",children:e.jsx(h,{className:"w-3 h-3 text-primary-foreground"})})]},t.id)})}),e.jsxs("div",{className:"text-center text-[10.5px] text-neutral-500",children:[r.following.length,"/12 followed"]})]})}function je({state:r,patch:s}){const n=a=>s({notif:{...r.notif,[a]:!r.notif[a]}}),t=[{k:"drops",label:"Morning Drops",sub:"One perfect post per Twin, 8am your time.",icon:de},{k:"live",label:"Live Rooms",sub:"Only when Twins you follow go live.",icon:ce},{k:"replies",label:"Twin replies to you",sub:"That warm 'ping' when your Twin writes back.",icon:w},{k:"duets",label:"Duet invites",sub:"When your Twin remixes your fan post.",icon:z},{k:"mystery",label:"Mystery Boxes",sub:"Free surprise drops. Never spam. Never more than 1 per week.",icon:c}];return e.jsxs("div",{className:"space-y-2",children:[t.map(a=>e.jsxs("button",{onClick:()=>n(a.k),className:"w-full text-left rounded-2xl border border-neutral-100 p-3 flex items-center gap-3",children:[e.jsx("span",{className:"w-9 h-9 rounded-lg bg-neutral-100 grid place-items-center shrink-0",children:e.jsx(a.icon,{className:"w-4 h-4 text-neutral-800"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[12px] font-semibold text-neutral-900",children:a.label}),e.jsx("div",{className:"text-[10px] text-neutral-500 leading-snug",children:a.sub})]}),e.jsx("span",{className:`w-8 h-5 rounded-full relative transition ${r.notif[a.k]?"bg-neutral-900":"bg-neutral-200"}`,children:e.jsx("span",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition ${r.notif[a.k]?"left-3.5":"left-0.5"}`})})]},a.k)),e.jsx("div",{className:"rounded-xl bg-neutral-50 border border-neutral-100 p-2.5 text-[10.5px] text-neutral-600",children:"Turn any of these off any time. Twinzy will never push a marketing ad."})]})}function Ne({state:r,patch:s}){return e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"rounded-2xl border-2 border-emerald-200 bg-emerald-50 p-3",children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(p,{className:"w-5 h-5 text-emerald-700 mt-0.5"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[12px] font-bold text-emerald-900",children:'Every reply says "AI".'}),e.jsx("div",{className:"text-[10.5px] text-emerald-800 mt-1 leading-snug",children:"Twinzy Twins never pretend to be human. Every message, voice note, and live chat is clearly labeled — required by our platform rules."})]})]})}),e.jsx(T,{label:"Parental / teen mode",sub:"Auto-filters mature language, hides tips, no card on file.",val:r.safety.parental,onChange:n=>s({safety:{...r.safety,parental:n}})}),e.jsx(T,{label:"Mature content filter",sub:"Hides 18+ Twins from your Discover feed.",val:r.safety.matureFilter,onChange:n=>s({safety:{...r.safety,matureFilter:n}
6})}),e.jsxs("div",{className:"rounded-2xl border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 mb-1.5",children:"Report + block anytime"}),e.jsx("div",{className:"text-[10.5px] text-neutral-600 leading-snug",children:"Long-press any Twin, message, or comment → report. Our trust team responds within 4 hours, 24/7."})]})]})}function T({label:r,sub:s,val:n,onChange:t}){return e.jsxs("button",{onClick:()=>t(!n),className:"w-full text-left rounded-2xl border border-neutral-100 p-3 flex items-center gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[12px] font-semibold text-neutral-900",children:r}),e.jsx("div",{className:"text-[10px] text-neutral-500 leading-snug",children:s})]}),e.jsx("span",{className:`w-8 h-5 rounded-full relative transition ${n?"bg-neutral-900":"bg-neutral-200"}`,children:e.jsx("span",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition ${n?"left-3.5":"left-0.5"}`})})]})}function ke({state:r,patch:s}){const n=[{id:"apple",label:"Apple Pay",sub:"Fastest · Face ID",icon:me},{id:"google",label:"Google Pay",sub:"One tap",icon:k},{id:"card",label:"Credit / debit card",sub:"Visa · Mastercard · Amex",icon:M},{id:"paypal",label:"PayPal",sub:"Or Venmo",icon:k}];return e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("div",{className:"text-[11px] text-neutral-600 leading-snug",children:"You'll only be charged when you tip or start a paid Twin sub. Nothing charged now."}),n.map(t=>e.jsxs("button",{onClick:()=>s({payment:t.id}),className:`w-full text-left rounded-2xl border-2 p-3 flex items-center gap-3 transition ${r.payment===t.id?"border-primary bg-primary/5":"border-neutral-100 hover:border-neutral-300"}`,children:[e.jsx("span",{className:"w-9 h-9 rounded-lg bg-neutral-900 text-white grid place-items-center",children:e.jsx(t.icon,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[12.5px] font-semibold text-neutral-900",children:t.label}),e.jsx("div",{className:"text-[10px] text-neutral-500",children:t.sub})]}),r.payment===t.id&&e.jsx(h,{className:"w-4 h-4 text-primary"})]},t.id)),e.jsxs("div",{className:"rounded-xl bg-neutral-50 border border-neutral-100 p-2.5 flex items-center gap-2",children:[e.jsx(p,{className:"w-3.5 h-3.5 text-emerald-600"}),e.jsx("div",{className:"text-[10px] text-neutral-600",children:"256-bit encrypted · never shared with Twins · cancel any charge in 1 tap."})]}),e.jsx("button",{onClick:()=>s({payment:null}),className:"text-[10.5px] text-neutral-500 underline w-full text-center py-1",children:"Skip for now"})]})}function Te({state:r,patch:s}){const n=[{id:"mia",name:"Mia's Twin",img:m,price:"$12/mo",perk:"Daily voice notes · fits by request · fan-only lives"},{id:"kai",name:"Kai's Twin",img:g,price:"$9/mo",perk:"Personal workout plans · reply within 60 seconds"},{id:"aya",name:"Aya's Twin",img:u,price:"$10/mo",perk:"Beauty routine reviews · monthly makeover"}];return e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{className:"rounded-2xl bg-gradient-to-br from-primary/15 to-white border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500",children:"7-day free trial"}),e.jsx("div",{className:"font-[Fraunces] text-[19px] text-neutral-900 leading-tight mt-0.5",children:"Try one paid Twin. Cancel in one tap."}),e.jsx("div",{className:"text-[10.5px] text-neutral-600 mt-1",children:"You control every renewal from Settings → Subs."})]}),n.map(t=>e.jsxs("button",{onClick:()=>s({firstSubTwin:t.id}),className:`w-full text-left rounded-2xl border-2 p-3 flex items-center gap-3 transition ${r.firstSubTwin===t.id?"border-primary bg-primary/5":"border-neutral-100"}`,children:[e.jsx("img",{src:t.img,alt:"",className:"w-14 h-14 rounded-xl object-cover"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("div",{className:"text-[12.5px] font-bold text-neutral-900",children:t.name}),e.jsx("span",{className:"text-[9.5px] font-bold text-neutral-500",children:t.price})]}),e.jsx("div",{className:"text-[10.5px] text-neutral-600 leading-snug mt-0.5",children:t.perk})]}),r.firstSubTwin===t.id?e.jsx(h,{className:"w-4 h-4 text-primary shrink-0"}):e.jsx(L,{className:"w-4 h-4 text-neutral-400 shrink-0"})]},t.id)),e.jsx("button",{onClick:()=>s({firstSubTwin:null}),className:"text-[10.5px] text-neutral-500 underline w-full text-center py-1",children:"Skip — I'll browse free first"})]})}function Se({state:r,patch:s}
6){const n=[{from:"twin",text:`hey ${r.handle?"@"+r.handle:"you"} — welcome in xx`},{from:"twin",text:"i'm Mia's Twin, your concierge for the first 24h. anything feels off, just tap me."},...r.concierge.map(a=>({from:"you",text:a}))],t=["how are Twins different from bots?","can I chat 1-on-1?","how do tips work?"];return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"rounded-2xl border border-neutral-100 bg-neutral-50 p-3 max-h-[220px] overflow-y-auto space-y-2",children:n.map((a,i)=>e.jsx("div",{className:`flex ${a.from==="you"?"justify-end":"justify-start"}`,children:e.jsx("div",{className:`max-w-[80%] px-3 py-1.5 rounded-2xl text-[11.5px] leading-snug ${a.from==="twin"?"bg-white border border-neutral-200 text-neutral-800":"bg-primary text-primary-foreground"}`,children:a.text})},i))}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.map(a=>e.jsx("button",{onClick:()=>s({concierge:[...r.concierge,a]}),className:"text-[10.5px] px-2.5 py-1 rounded-full bg-white border border-neutral-200 text-neutral-700",children:a},a))}),e.jsx("div",{className:"text-[10px] text-neutral-500 text-center",children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(p,{className:"w-3 h-3 text-emerald-600"}),"AI · always labeled"]})})]})}function Ce({state:r,patch:s}){return e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"rounded-2xl overflow-hidden border border-neutral-200 bg-gradient-to-br from-neutral-800 to-neutral-950 relative aspect-[9/12]",children:e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center pt-8",children:[e.jsx("div",{className:"text-white/80 text-[10px] font-semibold uppercase tracking-widest",children:"Monday"}),e.jsx("div",{className:"text-white font-[Fraunces] text-[46px] font-light leading-none mt-1",children:"8:14"}),e.jsxs("div",{className:"mt-6 w-[86%] rounded-2xl bg-white/10 backdrop-blur p-2.5 flex items-center gap-2 border border-white/10",children:[e.jsx("div",{className:"w-8 h-8 rounded-lg bg-primary grid place-items-center",children:e.jsx(c,{className:"w-4 h-4 text-primary-foreground"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-white text-[11px] font-bold",children:"Twinzy · Morning Drop"}),e.jsx("div",{className:"text-white/85 text-[10.5px] truncate",children:"Mia dropped a new fit — for you first."})]}),e.jsx("div",{className:"text-white/60 text-[9px]",children:"now"})]}),e.jsxs("div",{className:"mt-2 w-[86%] rounded-2xl bg-white/10 backdrop-blur p-2.5 flex items-center gap-2 border border-white/10",children:[e.jsx("img",{src:g,alt:"",className:"w-8 h-8 rounded-lg object-cover"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-white text-[11px] font-bold",children:"Kai · replied"}),e.jsx("div",{className:"text-white/85 text-[10.5px] truncate",children:'"leg day, no excuses — send me a check-in xx"'})]}),e.jsx("div",{className:"text-white/60 text-[9px]",children:"2m"})]})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("button",{onClick:()=>s({pushGranted:!0}),className:`py-3 rounded-xl border-2 text-[11.5px] font-bold flex items-center justify-center gap-1 ${r.pushGranted?"border-primary bg-primary/10 text-neutral-900":"border-neutral-200 text-neutral-700"}`,children:[e.jsx($,{className:"w-3.5 h-3.5"})," ",r.pushGranted?"Push on":"Enable push"]}),e.jsxs("button",{onClick:()=>s({widgetAdded:!0}),className:`py-3 rounded-xl border-2 text-[11.5px] font-bold flex items-center justify-center gap-1 ${r.widgetAdded?"border-primary bg-primary/10 text-neutral-900":"border-neutral-200 text-neutral-700"}`,children:[e.jsx(P,{className:"w-3.5 h-3.5"})," ",r.widgetAdded?"Widget added":"Add widget"]})]})]})}const S=[{id:"mia",name:"Mia's Twin",img:m,track:"sunset drive · lo-fi",emoji:"🌅"},{id:"aya",name:"Aya's Twin",img:u,track:"glow up anthem",emoji:"✨"},{id:"sofia",name:"Sofia's Twin",img:C,track:"3am confessions",emoji:"🎤"}],Fe=["you had me at 'hi bestie'","main character energy fr","this is my roman empire","no thoughts, just vibes"];function $e({state:r,patch:s}
6){const n=S.find(t=>t.id===r.duetTrack);return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"text-[11px] text-neutral-600 leading-snug",children:["Duets are how fans go viral ",e.jsx("em",{children:"with"})," a Twin. Pick a track, drop a line, and your Twin remixes it into a shareable clip. Try one now — takes 2 seconds."]}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:S.map(t=>{const a=r.duetTrack===t.id;return e.jsxs("button",{onClick:()=>s({duetTrack:t.id}),className:`relative rounded-xl overflow-hidden border-2 transition ${a?"border-primary shadow-md scale-[1.02]":"border-neutral-200"}`,children:[e.jsx("div",{className:"aspect-square",children:e.jsx("img",{src:t.img,alt:"",className:"w-full h-full object-cover"})}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/85 to-transparent p-1.5",children:e.jsxs("div",{className:"text-white text-[9px] font-bold truncate",children:[t.emoji," ",t.track]})}),a&&e.jsx("div",{className:"absolute top-1 right-1 w-5 h-5 rounded-full bg-primary grid place-items-center",children:e.jsx(z,{className:"w-2.5 h-2.5 text-primary-foreground fill-current"})})]},t.id)})}),n&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500 pt-1",children:"Drop your line"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:Fe.map(t=>{const a=r.duetLine===t;return e.jsxs("button",{onClick:()=>s({duetLine:t}),className:`text-[11px] px-3 py-1.5 rounded-full border font-medium transition ${a?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-700 border-neutral-200"}`,children:['"',t,'"']},t)})})]}),n&&r.duetLine&&e.jsxs("div",{className:"rounded-2xl border-2 border-primary/40 bg-gradient-to-br from-primary/10 to-white p-3 flex items-center gap-3 animate-in fade-in slide-in-from-bottom-2",children:[e.jsx("img",{src:n.img,alt:"",className:"w-12 h-12 rounded-xl object-cover"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"text-[10.5px] text-neutral-500",children:["Your duet with ",n.name.split("'")[0]," · draft"]}),e.jsxs("div",{className:"text-[12px] font-[Fraunces] italic text-neutral-900 leading-snug truncate",children:['"',r.duetLine,'"']}),e.jsx("div",{className:"text-[10px] text-neutral-600 mt-0.5",children:"🎥 Ready when you enter the app"})]})]})]})}const Me=[{id:"mia",name:"Mia's Twin",img:m,title:"sunset GRWM + Q&A",viewers:"1.2k",when:"live now"},{id:"kai",name:"Kai's Twin",img:g,title:"leg day live — send form",viewers:"874",when:"in 2h"},{id:"aya",name:"Aya's Twin",img:u,title:"unboxing korean skincare",viewers:"3.4k",when:"tonight 8pm"}];function Pe({state:r,patch:s}){const n=[{amt:2,color:"bg-blue-500",label:"Ping",dur:"30s pin"},{amt:5,color:"bg-emerald-500",label:"Shout",dur:"2m pin"},{amt:10,color:"bg-orange-500",label:"Boost",dur:"5m pin · read aloud"},{amt:25,color:"bg-pink-500",label:"Spotlight",dur:"10m pin · Twin reacts on cam"}],t=n.find(a=>a.amt===r.superChatTier);return e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"text-[11px] text-neutral-600 leading-snug",children:"Twin Lives are the front-row seat you never got on IG. Tiny rooms, direct replies, and the Twin actually reads your comment out loud. Reserve your first seat."}),Me.map(a=>{const i=r.liveJoined===a.id;return e.jsxs("button",{onClick:()=>s({liveJoined:a.id}),className:`w-full rounded-2xl border-2 p-2.5 flex items-center gap-3 transition text-left ${i?"border-primary bg-primary/5":"border-neutral-100"}`,children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx("img",{src:a.img,alt:"",className:"w-14 h-14 rounded-xl object-cover"}),a.when==="live now"&&e.jsxs("span",{className:"absolute -top-1 -right-1 px-1.5 py-0.5 rounded-full bg-red-500 text-white text-[8px] font-bold flex items-center gap-0.5",children:[e.jsx("span",{className:"w-1 h-1 rounded-full bg-white animate-pulse"}),"LIVE"]})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[12px] font-bold text-neutral-900 truncate",children:a.title}),e.jsxs("div",{className:"text-[10px] text-neutral-500 flex items-center gap-2 mt-0.5",children:[e.jsx("span",{children:a.name}),e.jsx("span",{children:"·"}),e.jsxs("span",{children:[a.viewers," inside"]}),e.jsx("span",{children:"·"}),e.jsx("span",{children:a.when})]})]}),e.jsx("div",{className:`text-[10.5px] font-bold px-2.5 py-1.5 rounded-full shrink-0 ${i?"bg-neutral-900 text-white":"bg-neutral-100 text-neutral-700"}`,children:i?"Seat saved":"Save seat"})]},a.id)}),e.jsxs("div",{className:"rounded-2xl border-2 border-primary/40 bg-gradient-to-br from-primary/10 to-white p-3 space-y-2.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(ie,{className:"w-3.5 h-3.5 text-primary"}),e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-900",children:"Super Chat · pin your comment"})]}),e.jsx("div",{className:"text-[10.5px] text-neutral-600 leading-snug",children:"Want the Twin to actually see you in a packed live? Pin your message. Bigger tip = longer pin. 85% goes to the creator."}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5",children:n.map(a=>{const i=r.superChatTier===a.amt;return e.jsxs("button",{onClick:()=>s({superChatTier:a.amt}),className:`rounded-xl p-2 text-center transition ${i?`${a.color} text-white`:"bg-white border border-neutral-200 text-neutral-800"}`,children:[e.jsxs("div",{className:"text-[13px] font-bold leading-none",children:["$",a.amt]}),e.jsx("div",{className:`text-[8.5px] mt-1 leading-tight ${i?"text-white/90":"text-neutral-500"}`,children:a.label})]},a.amt)})}),t&&e.jsxs("div",{className:"rounded-xl bg-neutral-900 text-white p-2.5 flex items-start gap-2",children:[e.jsx("div",{className:`w-8 h-8 rounded-lg ${t.color} grid place-items-center shrink-0`,children:e.jsx(le,{className:"w-4 h-4 text-white"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[10px] font-bold text-white/90",children:"Preview · your pinned message"}),e.jsxs("div",{className:"text-[11px] mt-0.5",children:['"@',r.handle||"you",' — hey Mia, c
6an you shout out my birthday?? xx"']}),e.jsxs("div",{className:"text-[9px] text-white/60 mt-0.5",children:["$",t.amt," · ",t.dur," · +",t.amt*20,"x leaderboard boost"]})]})]})]}),e.jsx("div",{className:"rounded-xl bg-neutral-50 border border-neutral-100 p-2.5 text-[10.5px] text-neutral-600",children:"You'll get a ping 5 min before it starts. No spam, no fake urgency."}),e.jsxs("div",{className:"rounded-xl bg-gradient-to-r from-amber-50 to-primary/10 border border-amber-200 p-2.5 text-[10.5px] text-neutral-700 flex items-start gap-2",children:[e.jsx(v,{className:"w-3.5 h-3.5 text-amber-700 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("b",{className:"text-neutral-900",children:"Tips work inside DMs too."})," Slide any Twin $1–$50 in a private chat — pins your message for 24h so they actually read it. 85% goes to the creator."]})]})]})}function Ae({state:r,patch:s}){const n=[{id:"fan",name:"Fan",price:"$4.99/mo",grad:"from-neutral-50 to-white",perks:["Ad-free feed","Fan-only posts","Weekly voice note drop","Streak protection"]},{id:"super",name:"Super Fan",price:"$14.99/mo",badge:"Most picked",grad:"from-primary/15 to-white",perks:["Everything in Fan","DM the Twin — replies within 24h","Front-row Live seat","Monthly duet render","Early access to drops"]},{id:"inner",name:"Inner Circle",price:"$49.99/mo",badge:"Only 500 seats",grad:"from-yellow-100 to-white",perks:["Everything in Super Fan","Voice-note replies from the Twin","1-on-1 monthly voice call","Merch drops before public","Concierge Twin priority queue"]}];return e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{className:"rounded-2xl bg-gradient-to-br from-primary/15 to-white border border-neutral-100 p-3",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500",children:"Fan subscription"}),e.jsx("div",{className:"font-[Fraunces] text-[19px] text-neutral-900 leading-tight mt-0.5",children:"Pick your tier. 85% goes to the creator."}),e.jsx("div",{className:"text-[10.5px] text-neutral-600 mt-1",children:"Cancel anytime · switch tiers monthly · Inner Circle is capped for scarcity."})]}),n.map(t=>{const a=r.fanTier===t.id;return e.jsxs("button",{onClick:()=>s({fanTier:t.id}),className:`w-full text-left rounded-2xl border-2 p-3 bg-gradient-to-br ${t.grad} transition ${a?"border-primary":"border-neutral-100"}`,children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"text-[13px] font-bold text-neutral-900",children:t.name}),t.badge&&e.jsx("span",{className:"text-[9px] font-bold px-1.5 py-0.5 rounded-full bg-neutral-900 text-white",children:t.badge})]}),e.jsx("div",{className:"text-[12px] font-bold text-neutral-900",children:t.price})]}),e.jsx("ul",{className:"mt-1.5 space-y-0.5",children:t.perks.map(i=>e.jsxs("li",{className:"text-[10.5px] text-neutral-700 flex items-start gap-1.5",children:[e.jsx(h,{className:"w-3 h-3 text-primary mt-[3px] shrink-0"}),i]},i))})]},t.id)}),e.jsx("button",{onClick:()=>s({fanTier:null}),className:"text-[10.5px] text-neutral-500 underline w-full text-center py-1",children:"Skip — browse free first"})]})}const f=[{label:"7 days free of Mia's Twin",emoji:"👑",rarity:"rare"},{label:"50 Twinzy coins",emoji:"🪙",rarity:"common"},{label:"1 free duet render",emoji:"🎬",rarity:"rare"},{label:"Front-row seat to next Twin Live",emoji:"🎟️",rarity:"epic"}];function Le({state:r,patch:s}){const n=()=>{const a=f[Math.floor(Math.random()*f.length)];s({mysteryOpened:!0,mysteryPrize:a.label})},t=f.find(a=>a.label===r.mysteryPrize);return e.jsx("div",{className:"space-y-3 text-center py-2",children:r.mysteryOpened?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative mx-auto w-40 h-40 rounded-3xl bg-gradient-to-br from-primary via-yellow-200 to-white grid place-items-center shadow-xl animate-in zoom-in-50",children:[e.jsx("div",{className:"text-6xl",children:t==null?void 0:t.emoji}),e.jsx(N,{className:"absolute -top-3 -left-3 w-6 h-6 text-primary rotate-[-20deg]"}),e.jsx(N,{className:"absolute -bottom-3 -right-3 w-6 h-6 text-primary rotate-[20deg]"})]}),e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"You unlocked"}),e.jsx("div",{className:"font-[Fraunces] text-[20px] text-neutral-900 leading-tight px-4",children:t==null?void 0:t.label}),e.jsx("div",{className:"text-[10px] text-neutral-500",children:"Auto-added to your account. See it in Me → Rewards."})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-[11px] text-neutral-600 leading-snug text-left",children:"Every new fan gets one Mystery Box on day 1. Tap to unbox. (You'll get another one after your first 7-day streak.)"}),e.jsxs("button",{onClick:n,className:"relative mx-auto w-40 h-40 rounded-3xl bg-gradient-to-br from-primary via-yellow-300 to-yellow-400 grid place-items-center shadow-xl hover:scale-105 active:scale-95 transition",children:[e.jsx(v,{className:"w-16 h-16 text-neutral-900"}
6),e.jsx("span",{className:"absolute inset-0 rounded-3xl ring-4 ring-primary/30 animate-pulse"}),e.jsx("span",{className:"absolute -top-2 -right-2 px-2 py-1 rounded-full bg-neutral-900 text-white text-[10px] font-bold",children:"TAP"})]}),e.jsx("div",{className:"text-[11px] font-bold text-neutral-900",children:"Your first Mystery Box"}),e.jsx("div",{className:"text-[10px] text-neutral-500",children:"Prizes: subs · coins · duets · live seats · limited merch"})]})})}function ze({state:r}){return e.jsxs("div",{className:"space-y-3 text-center py-4 relative overflow-hidden",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0",children:["top-2 left-4","top-6 right-8","top-16 left-10","top-20 right-4","top-4 left-1/2"].map((s,n)=>e.jsx("span",{className:`absolute ${s} w-2 h-2 rounded-full bg-primary animate-bounce`,style:{animationDelay:`${n*120}ms`}},n))}),e.jsx("div",{className:"w-20 h-20 rounded-full bg-gradient-to-br from-primary to-yellow-300 mx-auto grid place-items-center shadow-lg animate-in zoom-in-50",children:e.jsx(A,{className:"w-9 h-9 text-neutral-900"})}),e.jsx("div",{className:"font-[Fraunces] text-[26px] leading-tight text-neutral-900",children:"You're in. xx"}),e.jsxs("div",{className:"text-[12px] text-neutral-600 leading-relaxed max-w-[240px] mx-auto",children:[r.following.length," Twins are prepping your first drop. It lands in the morning. Wake up and vibe."]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 pt-1 text-left",children:[e.jsxs("div",{className:"rounded-xl border border-neutral-100 p-2.5",children:[e.jsx("div",{className:"text-[9px] uppercase tracking-wider text-neutral-500",children:"First drop"}),e.jsx("div",{className:"text-[12px] font-bold text-neutral-900",children:"Tomorrow · 8am"})]}),e.jsxs("div",{className:"rounded-xl border border-neutral-100 p-2.5",children:[e.jsx("div",{className:"text-[9px] uppercase tracking-wider text-neutral-500",children:"Streak"}),e.jsx("div",{className:"text-[12px] font-bold text-neutral-900",children:"Day 1 🔥"})]}),r.duetTrack&&e.jsxs("div",{className:"rounded-xl border border-neutral-100 p-2.5",children:[e.jsx("div",{className:"text-[9px] uppercase tracking-wider text-neutral-500",children:"Your duet"}),e.jsx("div",{className:"text-[12px] font-bold text-neutral-900",children:"Rendering…"})]}),r.liveJoined&&e.jsxs("div",{className:"rounded-xl border border-neutral-100 p-2.5",children:[e.jsx("div",{className:"text-[9px] uppercase tracking-wider text-neutral-500",children:"Live seat"}),e.jsx("div",{className:"text-[12px] font-bold text-neutral-900",children:"Reserved 🎟️"})]})]}),r.mysteryPrize&&e.jsxs("div",{className:"rounded-2xl border-2 border-primary/40 bg-gradient-to-br from-primary/10 to-white p-3 text-left",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-neutral-500",children:"Welcome gift unlocked"}),e.jsx("div",{className:"text-[13px] font-bold text-neutral-900 mt-0.5",children:r.mysteryPrize})]})]})}function Ee({step:r,state:s}){var t;const n={welcome:"Twinzy = fandom, but the creator's AI actually knows you back. 2.4M fans already inside.",handle:"Your handle is how Twins remember you when they reply. Choose something you love.",vibes:"We use these to seed your Feed. You'll refine it just by tapping ❤️ over the first week.",region:"Region personalizes drop times. Language lets any Twin talk to you in yours — instantly.",follow:"The more you follow, the richer your Feed. You can unfollow silently any time.",duet:"Duets are Twinzy's version of going viral — with the Twin, not against the algorithm.",live:"Twin Lives are capped at cozy sizes so your comment actually gets read. First-come, first-seat.",notif:"Twinzy's notification budget is tiny by design. Quality over noise.",safety:"Zero tolerance for impersonation. Every Twin is verified by the creator + our trust team.",payment:"We use Stripe — same as Apple, Amazon, and Uber. Card data never touches Twinzy.",tier:"Inner Circle is capped at 500 seats per Twin — that's why fans upgrade fast. You can downgrade any month.",sub:"7 days free. Cancel in one tap from Settings → Subs.",concierge:"Your Concierge Twin is Mia's Twin by default — she guides your first 24 hours.",push:"Adding the widget doubles morning engagement. Fans call it 'my little Twinzy check-in'.",mystery:"Mystery Boxes are our thank-you. Every 7-day streak = another one. Rarest prize is a lifetime sub.",done:"Your Feed is refreshing every 15 min for the next hour. Head to /feed to see it fill up."}[r]??"";return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-5",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.22em] text-muted-foreground mb-2",children:"Why this step"}
6),e.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:n})]}),e.jsxs("div",{className:"rounded-2xl border border-border bg-secondary/40 p-5",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.22em] text-muted-foreground mb-3",children:"Your Twinzy so far"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsx(o,{label:"Handle",value:s.handle?`@${s.handle}`:"—"}),e.jsx(o,{label:"Vibes",value:s.vibes.length?`${s.vibes.length} picked`:"—"}),e.jsx(o,{label:"Following",value:s.following.length?`${s.following.length} Twins`:"—"}),e.jsx(o,{label:"Region",value:s.country}),e.jsx(o,{label:"Notif",value:Object.values(s.notif).filter(Boolean).length+" on"}),e.jsx(o,{label:"Payment",value:s.payment??"Skipped"}),e.jsx(o,{label:"Fan tier",value:s.fanTier?s.fanTier==="inner"?"Inner Circle · $49.99":s.fanTier==="super"?"Super Fan · $14.99":"Fan · $4.99":"Skipped"}),e.jsx(o,{label:"Super Chat",value:s.superChatTier?`$${s.superChatTier} pin ready`:"—"}),e.jsx(o,{label:"First sub",value:s.firstSubTwin?((t=E.find(a=>a.id===s.firstSubTwin))==null?void 0:t.name.split(" · ")[0])??"—":"Skipped"})]})]}),e.jsxs("div",{className:"rounded-2xl border border-border bg-background p-5",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.22em] text-muted-foreground mb-2",children:"Not sure?"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-3",children:"Every setting can be changed later. Nothing here is locked in."}),e.jsxs(O,{to:"/trust",className:"text-xs font-bold text-primary flex items-center gap-1",children:["Read our trust promise ",e.jsx(L,{className:"w-3 h-3"})]})]})]})}function o({label:r,value:s}){return e.jsxs("div",{className:"flex items-center justify-between border-b border-border/40 pb-1.5 last:border-b-0 last:pb-0",children:[e.jsx("span",{className:"text-muted-foreground text-xs uppercase tracking-wider",children:r}),e.jsx("span",{className:"font-semibold text-foreground",children:s})]})}function Ie(){return e.jsx("section",{className:"border-t border-border bg-secondary/40 py-16 md:py-20",children:e.jsxs("div",{className:"max-w-[1100px] mx-auto px-5 md:px-8",children:[e.jsx("h3",{className:"font-[Fraunces] text-2xl md:text-4xl font-light tracking-tight text-foreground max-w-2xl",children:"The fandom app that treats you like a person, not a stat."}),e.jsx("div",{className:"mt-8 grid md:grid-cols-3 gap-4",children:[{icon:w,title:"Every Twin replies",body:"Voice notes, comments, DMs — the AI Twin is trained on the creator's real voice and reads every message."},{icon:oe,title:"Your Feed is yours",body:"No algorithm. Just the Twins you followed, in the order they drop. Chronological, always."},{icon:y,title:"Fair to fans",body:"No fake scarcity, no fake urgency, no hidden fees. Every drop, tip, and sub is transparent."}].map(r=>e.jsxs("div",{className:"rounded-2xl border border-border bg-background p-6",children:[e.jsx(r.icon,{size:22,className:"text-accent mb-3"}),e.jsx("div",{className:"font-semibold text-foreground mb-1",children:r.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:r.body})]},r.title))})]})})}export{Et 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.