PageSourceSearch

https://slantapp.ai/assets/NFLMadridDemo-DK83u_2E.js

js slantapp.ai collected 2026-10-05 15:05:48 UTC 48,914 bytes, 1 lines download raw bytes

1import{c as re,r as P,F as A,av as ie,M as le,ab as ne,an as B,U as p,j as e,aM as b,B as o,L as E,a9 as oe,J as D,O as r,af as ce,$ as I,ac as R,a0 as z,c7 as de,p as G,d as me,aL as xe,P as ge,a6 as he,C as c,K as m,N as x,aa as u,a as d,o as T,c4 as O,cd as F,Y as V,S as pe,ce as be,b4 as ue,b2 as je,aC as fe,e as Ne,q as _,Q as H}from"./index-tc5-nNLC.js";import{T as ye,a as ve,b as v,c as w}from"./tabs-D2OfY7RH.js";import{P as we}from"./progress-CJIgvptw.js";import{P as Ce}from"./play-DZhwD__F.js";import{C}from"./circle-check-B8vEXYAG.js";import{C as Me}from"./chevron-left-ObYy0wWc.js";import{P as $}from"./party-popper-GuyWa3aC.js";const Z="/assets/image0-B6DVOtVh.jpeg",Se="/assets/image1-COjK1v3L.jpeg",ke="/assets/image2-CESgI732.jpeg",Pe="/assets/image3-DWuJR6OQ.jpeg",De="/assets/image4-CQ4POQZJ.jpeg",Te="/assets/image6-Nj5Iap_O.jpeg",Fe="/assets/image7-DntlPZsQ.jpeg",W="/assets/image8-BIvyjmA_.jpeg",Le="/assets/image9-DHL8FA1F.jpeg",Ae="/assets/image10-CyXFV9Kk.jpeg",Be="/assets/image11-B9DvQUow.jpeg",Ee="/assets/image12-C6npXKvr.jpeg",Ie="/assets/image13-5Kemajy1.jpeg",Re="/assets/image14-t0LU_5VX.jpeg",Q="/assets/image15-tfMA0Vgf.jpeg",ze="/assets/image16-DN3QTFmY.jpeg",J="/assets/image17-BmlXV1ws.jpeg",Ge="/assets/image18-CaeT2LKQ.jpeg",Oe="/assets/image19-Bv5-NeZo.jpeg",Ve="/assets/image20-_hqXkpKY.jpeg",_e="/assets/image21-Cybv_owm.jpeg",X="/assets/image22-B7lLiC0R.jpeg",He="/assets/image23-BJB8cEUA.jpeg",$e="/assets/image24-BhhYPdxR.jpeg",Ze="/assets/image25-D5_l7xHD.jpeg",We="/assets/image26-BcDbPmG2.jpeg",Y="/assets/image27-CC_J4IXC.jpeg",Qe="/assets/image28-CkRgqDiC.jpeg",Je="/assets/image29-BmzkbSd8.jpeg",Xe="/assets/image30-BdiKg-R_.jpeg",Ye="/assets/image31-DElXR0CZ.jpeg",Ue="/assets/image32-Cu2jj8aH.jpeg",qe="/assets/image33-lTE1OAE1.jpeg",Ke="/assets/image34-DT-jQ2lL.jpeg",ea="/assets/image35-DwJAuBlx.jpeg",aa="/assets/image36-B1FWqPB0.jpeg",ta="/assets/image37-ro_p4nPE.jpeg",sa="/assets/image38-Bmk4-ysv.jpeg",ra="/assets/image39-DAdNpv-F.jpeg",j=[{url:Z,category:"stadium",caption:"Santiago Bernabéu Stadium"},{url:Se,category:"fan_zone",caption:"NFL Fan Zone at Plaza Mayor"},{url:ke,category:"city",caption:"Madrid City Views"},{url:Pe,category:"food",caption:"Spanish Tapas Experience"},{url:De,category:"fans",caption:"NFL Fans in Madrid"},{url:Te,category:"paris",caption:"Paris Layover - Eiffel Tower Views"},{url:Fe,category:"paris",caption:"Paris Layover - French Culture"},{url:W,category:"nightlife",caption:"Madrid Nightlife"},{url:Le,category:"street",caption:"Madrid Streets"},{url:Ae,category:"stadium",caption:"Game Day at Bernabéu"},{url:Be,category:"crowd",caption:"NFL Crowd"},{url:Ee,category:"tailgate",caption:"Fan Tailgate"},{url:Ie,category:"market",caption:"Mercado de San Miguel"},{url:Re,category:"tapas",caption:"Tapas Selection"},{url:Q,category:"plaza",caption:"Plaza Mayor"},{url:ze,category:"team",caption:"Team Spirit"},{url:J,category:"game_day",caption:"Game Day Atmosphere"},{url:Ge,category:"celebration",caption:"Victory Celebration"},{url:Oe,category:"fans",caption:"International Fans"},{url:Ve,category:"art",caption:"Spanish Art"},{url:_e,category:"museum",caption:"Prado Museum"},{url:X,category:"park",caption:"Retiro Park"},{url:He,category:"shopping",caption:"Gran Vía Shopping"},{url:$e,category:"nightlife",caption:"Night in Madrid"},{url:Ze,category:"restaurant",caption:"Spanish Restaurant"},{url:We,category:"fans",caption:"Dolphins vs Commanders"},{url:Y,category:"paris",caption:"Paris Layover - City Stroll"},{url:Qe,category:"paris",caption:"Paris Layover - French Architecture"},{url:Je,category:"culture",caption:"Local Culture"},{url:Xe,category:"paris",caption:"Paris Layover - Café Stop"},{url:Ye,category:"transport",caption:"Getting Around"},{url:Ue,category:"hotel",caption:"Madrid Hotels"},{url:qe,category:"arrival",caption:"Arrival in Spain"},{url:Ke,category:"departure",caption:"Until Next Time"},{url:ea,category:"memories",caption:"Trip Memories"},{url:aa,category:"highlights",caption:"Trip Highlights"},{url:ta,category:"experience",caption:"The Experience"},{url:sa,category:"adventure",caption:"Madrid Adventure"},{url:ra,category:"journey",caption:"The Journey"}],ia=[{title:"Arrival in Madrid",subtitle:"The Journey Begins",categories:["arrival","transport","city","hotel"],description:"Fans from Miami and Washington descend on the Spanish capital, ready for an unforgettable NFL experience.",color:"from-blue-600 to-cyan-600"}
1,{title:"The Paris Slant",subtitle:"11-Hour Layover Adventure",categories:["paris"],description:"An unexpected 11-hour layover in France? That's not a delay—it's a Slant! Quick trip into Paris to see the Eiffel Tower, grab a croissant, and add a whole new chapter to the journey.",color:"from-rose-500 to-pink-600",isSlant:!0,presaleStory:{problem:"After visiting the landmarks, we were hungry. It was near closing time—restaurants were winding down and no merchants knew we were there and available to buy. We wandered the streets of Paris trying to find somewhere to eat.",solution:`With Slant + Presale, nearby restaurants would have seen hungry NFL fans in their area. They could have pushed a limited-time offer right to our phones: "American travelers nearby? 20% off our late-night menu—we're open for 2 more hours!"`,benefit:"Travelers find food. Merchants fill empty tables. Everyone wins."}},{title:"Stadium Experience",subtitle:"Santiago Bernabéu",categories:["stadium","game_day","crowd","team"],description:"The legendary home of Real Madrid transforms into an American football arena. 80,000 fans witness history.",color:"from-amber-600 to-orange-600"},{title:"Fan Zone Energy",subtitle:"Plaza Mayor & Beyond",categories:["fan_zone","fans","tailgate","plaza"],description:"Dolphins and Commanders fans unite in celebration. Team colors fill the historic plazas of Madrid.",color:"from-teal-600 to-green-600"},{title:"Spanish Cuisine",subtitle:"Tapas & More",categories:["food","tapas","market","restaurant"],description:"From Mercado de San Miguel to Botín, fans discover the flavors of Madrid between NFL events.",color:"from-red-600 to-pink-600"},{title:"Culture & Art",subtitle:"Beyond the Game",categories:["art","museum","culture","architecture","park"],description:"The Prado, Retiro Park, and Gran Vía offer world-class experiences for the traveling fan.",color:"from-purple-600 to-violet-600"},{title:"Celebration",subtitle:"Victory & Memories",categories:["celebration","nightlife","memories","experience","adventure","journey","highlights","entertainment","shopping","street"],description:"Win or lose, the Madrid night comes alive. Fans celebrate an experience they'll never forget.",color:"from-indigo-600 to-blue-600"}],f={title:"NFL Madrid Spider Chain",description:"A spider chain starts from a central hub (Santiago Bernabéu Stadium) and branches out as different fans take different routes through Madrid. Each branch represents a unique journey from the same starting point.",hub:{name:"Santiago Bernabéu Stadium",location:"Madrid, Spain",challenge:"Check in at the NFL game!"},branches:[{name:"The Foodie Branch",color:"#FF6B6B",traveler:"Carlos (Dolphins Fan)",stops:["Mercado de San Miguel","Botín Restaurant","Chocolatería San Ginés"]},{name:"The Culture Branch",color:"#4ECDC4",traveler:"Maria (Commanders Fan)",stops:["Prado Museum","Retiro Park","Royal Palace"]},{name:"The Nightlife Branch",color:"#45B7D1",traveler:"Jake (Group Leader)",stops:["Gran Vía","Malasaña District","Rooftop Bar"]},{name:"The Paris Slant",color:"#DDA0DD",traveler:"You!",stops:["CDG Airport","Eiffel Tower","Parisian Café"]}]},M={title:'Spell "SLANT" Across Europe',description:"An expression chain challenges travelers to visit locations that spell out a word or shape on the map. Complete the SLANT expression by visiting 5 European cities!",letters:[{letter:"S",city:"Seville",country:"Spain",lat:37.3891,lng:-5.9845,challenge:"Visit the Plaza de España"},{letter:"L",city:"Lisbon",country:"Portugal",lat:38.7223,lng:-9.1393,challenge:"Ride Tram 28 through Alfama"},{letter:"A",city:"Amsterdam",country:"Netherlands",lat:52.3676,lng:4.9041,challenge:"Explore the canal district"},{letter:"N",city:"Nice",country:"France",lat:43.7102,lng:7.262,challenge:"Walk the Promenade des Anglais"},{letter:"T",city:"Toledo",country:"Spain",lat:39.8628,lng:-4.0273,challenge:"View the city from Mirador del Valle"}],reward:'Complete all 5 letters to unlock the "SLANT Master" badge and special confetti celebration!'},s={title:'Spell "MADRID" - The Ultimate Fan Challenge',description:"Complete the NFL Madrid Experience by visiting 6 iconic locations that spell out MADRID. Each stop unlocks exclusive content and rewards!",letters:[{letter:"M",location:"Mercado de San Miguel",type:"Culinary",lat:40.4154,lng:-3.709,challenge:"Try 3 different tapas and share your favorite",completedBy:"Carlos R.",completedAt:"Nov 22, 2:45 PM",photo:Q,points:150},{letter:"A",location:"Almudena Cathedral",type:"Cultural",lat:40.4156,lng:-3.7146,challenge:"Capture a photo of the cathedral facade",completedBy:"Maria S.",completedAt:"Nov 22, 4:15 PM",photo:X,points:100},{letter:"D",location:"Downtown Gran Vía",type:"Urban",lat:40.4203,lng:-3.7017,challenge:"Find the NFL pop-up store and take a selfie",completedBy:"Jake M.",completedAt:"Nov 23, 11:30 AM",photo:W,points:125},{letter:"R",location:"Retiro Park",type:"Nature",lat:40.4153,lng:-3.6845,challenge:"Row a boat on the Crystal Palace lake",completedBy:"You",completedAt:"Nov 23, 3:00 PM",photo:Y,points:175},{letter:"I",location:"Iglesia de San Ginés",type:"Historic",lat:40.4171,lng:-3.7068,challenge:"Get churros at Chocolatería San Ginés next door",completedBy:null,completedAt:null,photo:J,points:100},{letter:"D",location:"Dolphins vs Commanders Game",type:"NFL Event",lat:40.453,lng:-3.6883,challenge:"Check in at Santiago Bernabéu for the big game
1!",completedBy:null,completedAt:null,photo:Z,points:500}],totalPoints:1150,earnedPoints:550,participants:[{name:"Carlos R.",avatar:"🦅",completedLetters:4,role:"Chain Leader"},{name:"Maria S.",avatar:"🐬",completedLetters:3,role:"Contributor"},{name:"Jake M.",avatar:"🏈",completedLetters:2,role:"Contributor"},{name:"You",avatar:"⭐",completedLetters:1,role:"New Participant"}],badge:{name:"Madrid Master",icon:"🏆",description:"Completed the MADRID expression chain",rarity:"Legendary"}};function ha(){const{toast:N}=re(),[l,L]=P.useState(null),[la,y]=P.useState(null),[g,U]=P.useState("cta"),S=A({mutationFn:async()=>(await H("POST","/api/demo/nfl-madrid/seed")).json(),onSuccess:a=>{a.success&&a.data&&(L(a.data),N({title:"Demo Loaded!",description:"NFL Madrid demo data has been seeded successfully."}),_.invalidateQueries())},onError:a=>{N({title:"Error",description:a instanceof Error?a.message:"Failed to seed demo data",variant:"destructive"})}}),k=A({mutationFn:async()=>(await H("DELETE","/api/demo/nfl-madrid/clear")).json(),onSuccess:()=>{L(null),N({title:"Demo Cleared",description:"All NFL Madrid demo data has been removed."}),_.invalidateQueries()},onError:a=>{N({title:"Error",description:a instanceof Error?a.message:"Failed to clear demo data",variant:"destructive"})}}),q=a=>j.filter(t=>a.includes(t.category)),K=[{title:"Explorer (Fan)",icon:p,color:"bg-blue-500",description:"Carlos Rivera - First-time NFL fan visiting Madrid",benefits:["Personalized itinerary recommendations","Local tips from the community","Connect with other fans","Exclusive offers based on engagement"],route:"/"},{title:"NFL",icon:b,color:"bg-red-600",description:"Official NFL International Series",benefits:["Fan engagement tracking","Content distribution reach","Partner offer coordination","Event analytics & insights"],route:"/presale"},{title:"Hotels",icon:xe,color:"bg-amber-500",description:"Madrid Hotels Group - Premium partner",benefits:["Target high-engagement fans","Dynamic pricing based on activity","Direct booking integration","Conversion tracking"],route:"/presale"},{title:"Madrid Tourism",icon:ge,color:"bg-green-500",description:"Visit Madrid - Official tourism board",benefits:["Promote cultural attractions","Track tourist interests","Cross-promote with NFL events","Measure campaign ROI"],route:"/reports"},{title:"Creator (Remixer)",icon:B,color:"bg-purple-500",description:"Sarah Chen - Sports tourism creator",benefits:["Create content from routes","Earn from affiliate links","Build audience with chains","Monetize travel expertise"],route:"/routes"},{title:"Dolphins Fans",icon:p,color:"bg-teal-500",description:"Miami Dolphins Madrid Tailgate group",benefits:["Coordinated group itineraries","Bulk booking discounts","Fan meetup organization","Exclusive team offers"],route:"/group-trips"},{title:"Commanders Fans",icon:p,color:"bg-rose-700",description:"Commanders European Invasion group",benefits:["Team-specific experiences","Pre-game rally planning","Group voting on activities","Shared expense tracking"],route:"/group-trips"},{title:"Musician",icon:he,color:"bg-indigo-500",description:'Alejandro Vega - "Touchdown Madrid" artist',benefits:["Music featured in fan stories","Exposure through viral chains","Attribution in highlight reels","Performance opportunity tracking"],route:"/discover"}],ee=[{title:"Travel Routes",icon:ie,count:l?Object.keys(l.routes).length:0,description:"Pre-built fan experience routes",items:["Dolphins Experience","Commanders Journey","NFL Explorer","Creator Guide"]},{title:"Destinations",icon:le,count:l?Object.keys(l.destinations).length:0,description:"Madrid venues and attractions",items:["Bernabéu Stadium","Fan Zone","Prado Museum","Gran Vía"]},{title:"Slant Chains",icon:ne,count:l?Object.keys(l.chains).length:0,description:"Connected fan journey challenges",items:["Stadium Hub","Fan Zone Rally","Food Tour","Night Life"]},{title:"Videos",icon:B,count:l?Object.keys(l.videos).length:0,description:"Discoverable content",items:["Dolphins Hype","Commanders Tour","Music Video","Fan Vlog"]},{title:"Fan Groups",icon:p,count:l?Object.keys(l.groups).length:0,description:"Team-based communities",items:["Dolphins Tailgate","Commanders Invasion"]},{title:"Demo Users",icon:p,count:l?Object.keys(l.users).length:0,description:"Stakeholder personas",items:["Fans","Creator","NFL","Hotels","Tourism","Musician"]}];return e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-gray-900 via-gray-800 to-gray-900 text-white pb-24",children:e.jsxs("div",{className:"container mx-auto px-4 py-8",children:[e.jsxs("div",{className:"text-center mb-12",children:[e.jsxs("div",{className:"flex items-center justify-center gap-4 mb-4",children:[e.jsx(b,{className:"h-12 w-12 text-amber-400"}),e.jsx("h1",{className:"text-4xl font-bold bg-gradient-to-r from-amber-400 to-orange-500 bg-clip-text text-transparent",children:"NFL Madrid Demo"}),e.jsx(b,{className:"h-12 w-12 text-amber-400"})]}),e.jsxs("p",{className:"text-xl text-gray-300 max-w-3xl mx-auto",children:["Experience Slant's full ecosystem with the NFL International Series in Madrid.",e.jsx("br",{}),e.jsx("span",{className:"text-amber-400 font-semibold",children:"Dolphins vs Commanders • November 2024"})]})]}),e.jsxs("div",{className:"flex flex-wrap justify-center gap-4 mb-12",children:[e.jsxs(o,{size:"lg",onClick:()=>S.mutate(),disabled:S.isPending,className:"bg-gradient-to-r from-amber-500 to-orange-500 hover:from-amber-600 hover:to-orange-600 text-black font-bold","data-testid":"button-seed-demo",children:[S.isPending?e.jsx(E,{className:"mr-2 h-5 w-5 animate-spin"}):e.jsx(Ce,{className:"mr-2 h-5 w-5"}),"Load Demo Data"]}),e.jsxs(o,{size:"lg",variant:"outline",onClick:()=>k.mutate(),disabled:k.isPending,className:"border-red-500 text-red-400 hover:bg-red-500/20","data-testid":"button-clear-demo",children:[k.isPending?e.jsx(E,{className:"mr-2 h-5 w-5 animate-spin"}):e.jsx(oe,{className:"mr-2 h-5 w-5"}),"Clear Demo"]})]}),e.jsxs("div",{className:"flex flex-wrap justify-center gap-4 mb-8",children:[l&&e.jsxs("div",{className:"flex items-center gap-2 text-green-400 bg-green-400/10 px-4 py-2 rounded-full",children:[e.jsx(C,{className:"h-5 w-5"}),e.jsx("span",{className:"font-medium",children:"Demo data loaded!"})]}),e.jsxs("div",{className:"flex items-center gap-2 text-purple-400 bg-purple-400/10 px-4 py-2 rounded-full",children:[e.jsx(D,{className:"h-5 w-5"}),e.jsxs("span",{className:"font-medium",children:[j.length," live photos from Madrid"]})]})]}),e.jsxs(ye,{defaultValue:"story",className:"mb-12",children:[e.jsxs(ve,{className:"grid w-full grid-cols-4 lg:w-[800px] mx-auto bg-gray-800",children:[e.jsxs(v,{value:"story",className:"flex items-center gap-2",children:[e.jsx(D,{className:"h-4 w-4"}),"Live Story"]}),e.jsx(v,{value:"stakeholders",children:"Stakeholders"}),e.jsx(v,{value:"features",children:"Features"}),e.jsx(v,{value:"b2b",children:"B2B Products"})]}),e.jsx(w,{value:"story",className:"mt-8",children:e.jsxs("div",{className:"space-y-12",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"text-3xl font-bold bg-gradient-to-r from-teal-400 to-cyan-400 bg-clip-text text-transparent mb-2",children:"The NFL Madrid Experience"}),e.jsx("p",{className:"text-gray-400",children:"Real moments captured during the Dolphins vs Commanders game"})]}),ia.map((a,t)=>{const i=q(a.categories),n="isSlant"in a&&a.isSlant;return e.jsxs("div",{className:`relative ${n?"ring-2 ring-rose-500/50 ring-offset-2 ring-offset-gray-900":""}`,children:[e.jsx("div",{className:`absolute inset-0 bg-gradient-to-r ${a.color} ${n?"opacity-10":"opacity-5"} rounded-2xl`}),e.jsxs("div",{className:"relative p-6 rounded-2xl border border-gray-700/50",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row gap-6",children:[e.jsxs("div",{className:"lg:w-1/3",children:[e.jsx("div",{className:"flex items-center gap-2 mb-3",children:n?e.jsxs(e.Fragment,{children:[e.jsx(r,{className:"bg-gradient-to-r from-rose-500 to-pink-600 text-white animate-pulse",children:"Slant It!"}),e.jsx(r,{variant:"outline",className:"border-rose-400 text-rose-300",children:"Itinerary Adjustment"})]}):e.jsxs(r,{className:`bg-gradient-to-r ${a.color} text-white`,children:["Chapter ",t+1]})}),e.jsx("h3",{className:"text-2xl font-bold text-white mb-1",children:a.title}),e.jsx("p",{className:`${n?"text-rose-400":"text-amber-400"} font-medium mb-3`,children:a.subtitle}),e.jsx("p",{className:"text-gray-300",children:a.description}),n&&e.jsx("p",{className:"text-sm text-rose-300/70 mt-2 italic",children:"This is what Slant is all about—turning unexpected moments into unforgettable memories."})]}),e.jsx("div",{className:"lg:w-2/3",children:e.jsxs(ce,{className:"w-full whitespace-nowrap rounded-lg",children:[e.jsx("div",{className:"flex gap-4 pb-4",children:i.map((h,ae)=>{const te=j.findIndex(se=>se.url===h.url);return e.jsxs(I,{children:[e.jsx(R,{asChild:!0,children:e.jsxs("div",{className:"relative flex-shrink-0 w-48 h-32 rounded-lg overflow-hidden cursor-pointer group",onClick:()=>y(te),children:[e.jsx("img",{src:h.url,alt:h.caption,className:"w-full h-full object-cover transition-transform group-hover:scale-110",loading:"lazy"}),e.jsx("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/30 transition-colors flex items-center justify-center",children:e.jsx(D,{className:"h-8 w-8 text-white opacity-0 group-hover:opacity-100 transition-opacity"})}),e.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-2",children:e.jsx("p",{className:"text-xs text-white truncate",children:h.caption})})]})}),e.jsxs(z,{className:"max-w-4xl bg-gray-900 border-gray-700",children:[e.jsx("img",{src:h.url,alt:h.caption,className:"w-full h-auto max-h-[80vh] object-contain rounded-lg"}),e.jsx("p",{className:"text-center text-gray-300 mt-2",children:h.caption})]})]},ae)})}),e.jsx(de,{orientation:"horizontal"})]})})]}),"presaleStory"in a&&a.presaleStory&&e.jsxs("div",{className:"mt-6 pt-6 border-t border-rose-500/30",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(r,{className:"bg-gradient-to-r from-amber-500 to-orange-500 text-white",children:"Presale Opportunity"}),e.jsx("span",{className:"text-gray-400 text-sm",children:"Real story from this trip"})]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"bg-red-900/20 border border-red-500/30 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-red-500/20 flex items-center justify-center",children:e.jsx("span",{className:"text-red-400 text-lg",children:"!"})}),e.jsx("h4",{className:"font-semibold text-red-300",children:"The Problem"})]}),e.jsx("p",{className:"text-sm text-gray-300",children:a.presaleStory.problem})]}),e.jsxs("div",{className:"bg-green-900/20 border border-green-500/30 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-green-500/20 flex items-center justify-center",children:e.jsx(G,{className:"h-4 w-4 text-green-400"})}),e.jsx("h4",{className:"font-semibold text-green-300",children:"With Slant + Presale"})]}),e.jsx("p",{className:"text-sm text-gray-300",children:a.presaleStory.solution})]}),e.jsxs("div",{className:"bg-amber-900/20 border border-amber-500/30 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-amber-500/20 flex items-center justify-center",children:e.jsx(b,{className:"h-4 w-4 text-amber-400"})}),e.jsx("h4",{className:"font-semibold text-amber-300",children:"The Win-Win"})]}),e.jsx("p",{className:"text-sm text-gray-300",children:a.presaleStory.benef
1it})]})]}),e.jsx("div",{className:"mt-4 p-4 bg-gray-800/50 rounded-lg border border-gray-700",children:e.jsxs("p",{className:"text-center text-gray-300",children:[e.jsx("span",{className:"text-amber-400 font-semibold",children:"This is Presale:"})," Merchants see travelers nearby in real-time. Travelers get timely offers. Empty tables get filled. Revenue that would have been lost is captured."]})})]})]})]},t)}),e.jsxs("div",{className:"mt-12 mb-8",children:[e.jsx("h3",{className:"text-xl font-bold text-white mb-4",children:"Full Photo Gallery"}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-3 relative z-10",children:j.map((a,t)=>e.jsxs(I,{children:[e.jsx(R,{asChild:!0,children:e.jsxs("button",{type:"button",className:"aspect-square rounded-lg overflow-hidden cursor-pointer group relative focus:outline-none focus:ring-2 focus:ring-amber-500",onClick:()=>y(t),"data-testid":`gallery-photo-${t}`,children:[e.jsx("img",{src:a.url,alt:a.caption,className:"w-full h-full object-cover transition-transform group-hover:scale-110",loading:"lazy"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/50 to-transparent opacity-0 group-hover:opacity-100 transition-opacity"}),e.jsx(r,{className:"absolute bottom-2 left-2 text-xs opacity-0 group-hover:opacity-100 transition-opacity bg-black/70",children:a.category})]})}),e.jsx(z,{className:"max-w-4xl bg-gray-900 border-gray-700 p-2",children:e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:a.url,alt:a.caption,className:"w-full h-auto max-h-[80vh] object-contain rounded-lg"}),e.jsx("p",{className:"text-center text-gray-300 mt-2",children:a.caption}),e.jsxs("div",{className:"absolute top-1/2 left-4 right-4 flex justify-between items-center -translate-y-1/2 pointer-events-none",children:[e.jsx(o,{variant:"secondary",size:"icon",onClick:i=>{i.stopPropagation(),y(t>0?t-1:j.length-1)},className:"bg-black/50 hover:bg-black/70 pointer-events-auto",children:e.jsx(Me,{className:"h-6 w-6"})}),e.jsx(o,{variant:"secondary",size:"icon",onClick:i=>{i.stopPropagation(),y(t<j.length-1?t+1:0)},className:"bg-black/50 hover:bg-black/70 pointer-events-auto",children:e.jsx(me,{className:"h-6 w-6"})})]}),e.jsxs(r,{className:"absolute bottom-16 left-1/2 -translate-x-1/2 bg-black/70",children:[t+1," / ",j.length]})]})})]},t))})]})]})}),e.jsx(w,{value:"stakeholders",className:"mt-8",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:K.map((a,t)=>e.jsxs(c,{className:"bg-gray-800/50 border-gray-700 hover:border-amber-500/50 transition-all cursor-pointer","data-testid":`card-stakeholder-${t}`,children:[e.jsxs(m,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`p-2 rounded-lg ${a.color}`,children:e.jsx(a.icon,{className:"h-5 w-5 text-white"})}),e.jsx(x,{className:"text-lg text-white",children:a.title})]}),e.jsx(u,{className:"text-gray-400",children:a.description})]}),e.jsxs(d,{children:[e.jsx("ul",{className:"space-y-2",children:a.benefits.map((i,n)=>e.jsxs("li",{className:"flex items-start gap-2 text-sm text-gray-300",children:[e.jsx(C,{className:"h-4 w-4 text-green-400 mt-0.5 flex-shrink-0"}),i]},n))}),e.jsx(T,{href:a.route,children:e.jsx(o,{variant:"ghost",size:"sm",className:"w-full mt-4 text-amber-400 hover:text-amber-300 hover:bg-amber-500/10",children:"Explore →"})})]})]},t))})}),e.jsxs(w,{value:"features",className:"mt-8 space-y-12",children:[e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:ee.map((a,t)=>e.jsxs(c,{className:"bg-gray-800/50 border-gray-700","data-testid":`card-feature-${t}`,children:[e.jsxs(m,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(a.icon,{className:"h-6 w-6 text-amber-400"}),e.jsx(x,{className:"text-lg text-white",children:a.title})]}),e.jsx(r,{variant:"secondary",className:"bg-amber-500/20 text-amber-400",children:a.count})]}),e.jsx(u,{className:"text-gray-400",children:a.description})]}),e.jsx(d,{children:e.jsx("div",{className:"flex flex-wrap gap-2",children:a.items.map((i,n)=>e.jsx(r,{variant:"outline",className:"text-gray-300 border-gray-600",children:i},n))})})]},t))}),e.jsxs("div",{className:"mt-12",children:[e.jsxs("div",{className:"text-center mb-6",children:[e.jsx(r,{className:"bg-gradient-to-r from-purple-500 to-pink-500 text-white mb-2",children:"Chain Type: Spider"}),e.jsx("h3",{className:"text-2xl font-bold text-white",children:f.title}),e.jsx("p",{className:"text-gray-400 max-w-2xl mx-auto mt-2",children:f.description})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsxs("div",{className:"bg-gradient-to-r from-amber-500 to-orange-500 p-6 rounded-2xl text-center max-w-sm shadow-lg shadow-amber-500/20",children:[e.jsx("div",{className:"w-16 h-16 bg-white/20 rounded-full flex items-center justify-center mx-auto mb-3",children:e.jsx(b,{className:"h-8 w-8 text-white"})}),e.jsx("h4",{className:"text-xl font-bold text-white",children:f.hub.name}),e.jsx("p",{className:"text-amber-100 text-sm",children:f.hub.location}),e.jsxs(r,{className:"mt-2 bg-white/20 text-white",children:["HUB: ",f.hub.challenge]})]})}),e.jsx("div",{className:"absolute top-32 left-1/2 w-px h-8 bg-gradient-to-b from-amber-500 to-transparent -translate-x-1/2"}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:f.branches.map((a,t)=>e.jsxs(c,{className:"bg-gray-800/50 border-2 transition-all hover:scale-105",style:{borderColor:a.color},children:[e.jsxs(m,{className:"pb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-4 h-4 rounded-full",style:{backgroundColor:a.color}}),e.jsx(x,{className:"text-sm text-white",children:a.name})]}),e.jsx(u,{className:"text-xs",style:{color:a.color},children:a.traveler})]}),e.jsx(d,{children:e.jsx("div",{className:"space-y-2",children:a.stops.map((i,n)=>e.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-300",children:[e.jsx("div",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:a.color,opacity:1-n*.2}}),i]},n))})})]},t))})]})]}),e.jsxs("div",{className:"mt-12",children:[e.jsxs("div",{className:"text-center mb-6",children:[e.jsx(r,{className:"bg-gradient-to-r from-cyan-500 to-blue-500 text-white mb-2",children:"Chain Type: Expression"}),e.jsx("h3",{className:"text-2xl font-bold text-white",children:M.title}),e.jsx("p",{className:"text-gray-400 max-w-2xl mx-auto mt-2",children:M.description})]}),e.jsx("div",{className:"flex flex-wrap justify-center gap-4 mb-6",children:M.letters.map((a,t)=>e.jsxs("div",{className:"relative group",children:[e.jsxs("div",{className:"bg-gradient-to-br from-cyan-600 to-blue-700 p-6 rounded-2xl text-center min-w-[140px] transition-all group-hover:scale-110 group-hover:shadow-lg group-hover:shadow-cyan-500/30",children:[e.jsx("div",{className:"text-5xl font-black text-white mb-2",children:a.letter}),e.jsx("div",{className:"text-lg font-semibold text-cyan-100",children:a.city}),e.jsx("div",{className:"text-xs text-cyan-200",children:a.country})]}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 opacity-0 group-hover:opacity-100 transition-all bg-gray-900 border border-cyan-500 rounded-lg p-3 w-48 z-10 shadow-xl",children:e.jsxs("p",{className:"text-xs text-gray-300",children:[e.jsx("span",{className:"text-cyan-400 font-semibold",children:"Challenge:"})," ",a.challenge]})})]},t))}),e.jsxs("div",{className:"bg-gradient-to-r from-cyan-900/30 to-blue-900/30 border border-cyan-500/30 rounded-xl p-4 text-center max-w-xl mx-auto",children:[e.jsx(G,{className:"h-6 w-6 text-cyan-400 mx-auto mb-2"}),e.jsx("p",{className:"text-cyan-300",children:M.reward})]})]}),e.jsxs("div",{className:"mt-16 border-t border-gray-700 pt-12",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx(r,{className:"bg-gradient-to-r from-red-500 via-amber-500 to-red-500 text-white mb-2 text-lg px-4 py-1",children:"INTERACTIVE DEMO"}),e.jsx("h3",{className:"text-3xl font-bold text-white",children:s.title}),e.jsx("p",{className:"text-gray-400 max-w-2xl mx-auto mt-2",children:s.description})]}),e.jsx("div",{className:"flex flex-wrap justify-center gap-2 mb-8",children:[{id:"cta",label:"CTA",icon:O},{id:"progress",label:"Progress",icon:F},{id:"map",label:"Map View",icon:V},{id:"attribution",label:"Participants",icon:p},{id:"celebration",label:"Celebration",icon:$}].map(a=>e.jsxs(o,{variant:g===a.id?"default":"outline",size:"sm",onClick:()=>U(a.id),className:g===a.id?"bg-amber-500 hover:bg-amber-600 text-black":"border-gray-600 text-gray-300 hover:bg-gray-700","data-testid":`btn-madrid-screen-${a.id}`,children:[e.jsx(a.icon,{className:"h-4 w-4 mr-1"}),a.label]},a.id))}),e.jsxs("div",{className:"max-w-4xl mx-auto",children:[g==="cta"&&e.jsxs(c,{className:"bg-gradient-to-br from-red-900/40 via-amber-900/30 to-red-900/40 border-amber-500/50 overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMyI+PHBhdGggZD0iTTM2IDM0aDR2MWgtNHYtMXptMCAyaDN2MWgtM3YtMXptLTIgMmgzdjFoLTN2LTF6Ii8+PC9nPjwvZz48L3N2Zz4=')] opacity-30"}),e.jsxs(d,{className:"p-8 relative",children:[e.jsxs("div",{className:"text-center mb-6",children:[e.jsx("div",{className:"text-6xl font-black tracking-wider text-transparent bg-clip-text bg-gradient-to-r from-red-400 via-amber-400 to-red-400 mb-4",children:"MADRID"}),e.jsx("p",{className:"text-xl text-amber-200",children:"Complete the chain. Earn the badge. Make history."})]}),e.jsx("div",{className:"grid grid-cols-6 gap-2 mb-8",children:s.letters.map((a,t)=>e.jsxs("div",{className:`aspect-square rounded-xl flex items-center justify-center text-3xl font-black transition-all ${a.completedBy?"bg-gradient-to-br from-green-500 to-emerald-600 text-white shadow-lg shadow-green-500/30":"bg-gray-800/80 text-gray-500 border-2 border-dashed border-gray-600"}`,children:[a.letter,a.completedBy&&e.jsx(C,{className:"absolute -top-1 -right-1 h-5 w-5 text-green-400"})]},t))}),e.jsxs("div",{className:"bg-black/30 rounded-xl p-6 mb-6",children:[e.jsxs("h4",{className:"text-amber-400 font-semibold mb-3 flex items-center gap-2",children:[e.jsx(O,{className:"h-5 w-5"}),'Next Challenge: Letter "I"']}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("img",{src:s.letters[4].photo,alt:"Iglesia de San Ginés",className:"w-24 h-24 object-cover rounded-lg"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-semibold",children:s.letters[4].location}),e.jsx("p",{className:"text-gray-400 text-sm",children:s.letters[4].challenge}),e.jsxs(r,{className:"mt-2 bg-amber-500/20 text-amber-400",children:["+",s.letters[4].points," points"]})]})]})]}),e.jsxs(o,{className:"w-full bg-gradient-to-r from-amber-500 to-red-500 hover:from-amber-600 hover:to-red-600 text-black font-bold text-lg py-6","data-testid":"btn-accept-madrid-challenge",children:[e.jsx(F,{className:"h-5 w-5 mr-2"}),"Accept This Challenge"]})]})]}),g==="progress"&&e.jsxs(c,{className:"bg-gray-800/50 border-gray-700",children:[e.jsx(m,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(x,{className:"text-white flex items-center gap-2",children:[e.jsx(F,{className:"h-5 w-5 text-amber-400"}),"Chain Progress"]}),e.jsxs(r,{className:"bg-amber-500/20 text-amber-400 text-lg px-3",children:[s.letters.filter(a=>a.completedBy).length," / ",s.letters.length]})]})}),e.jsxs(d,{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between text-sm mb-2",children:[e.jsx("span",{className:"text-gray-400",children:"Overall Progress"}),e.jsxs("span",{className:"text-amber-400 font-semibold",children:[Math.round(s.letters.filter(a=>a.completedBy).length/s.letters.length*100),"%"]})]}),e.jsx(we,{value:s.letters.filter(a=>a.completedBy).length/s.letters.length*100,className:"h-3 bg-gray-700"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"bg-gradient-to-br from-amber-900/30 to-amber-800/20 rounded-xl p-4 text-center",children:[e.jsx(pe,{className:"h-8 w-8 text-amber-400 mx-auto mb-2"}),e.jsx("div",{className:"text-3xl font-bold text-white",children:s.earnedPoints}),e.jsx("div",{className:"text-sm text-gray-400",children:"Points Earned"})]}),e.jsxs("div",{className:"bg-gradient-to-br from-gray-700/30 to-gray-600/20 rounded-xl p-4 text-center",children:[e.jsx(b,{className:"h-8 w-8 text-gray-400 mx-auto mb-2"}),e.jsx("div",{className:"text-3xl font-bold text-gray-400",children:s.totalPoints-s.earnedPoints}),e.jsx("div",{className:"text-sm text-gray-500",children:"Points Remaining"})]})]}),e.jsx("div",{className:"space-y-3",children:s.letters.map((a,t)=>e.jsxs("div",{className:`flex items-center gap-4 p-3 rounded-lg transition-all ${a.completedBy?"bg-green-900/20 border border-green-500/30":"bg-gray-700/30 border border-gray-600/30"}`,children:[e.jsx("div",{className:`w-12 h-12 rounded-lg flex items-center justify-center text-2xl font-black ${a.completedBy?"bg-green-500 text-white":"bg-gray-700 text-gray-500"}`,children:a.letter}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-white font-medium",children:a.location}),e.jsx(r,{variant:"outline",className:"text-xs border-gray-600 text-gray-400",children:a.type})]}),e.jsx("p",{className:"text-sm text-gray-400",children:a.challenge})]}),e.jsx("div",{className:"text-right",children:a.completedBy?e.jsxs("div",{className:"flex items-center gap-1 text-green-400",children:[e.jsx(be,{className:"h-5 w-5"}),e.jsx("span",{className:"text-sm",children:a.completedBy})]}):e.jsxs(r,{className:"bg-amber-500/20 text-amber-400",children:["+",a.points," pts"]})})]},t))})]})]}),g==="map"&&e.jsxs(c,{className:"bg-gray-800/50 border-gray-700",children:[e.jsxs(m,{children:[e.jsxs(x,{className:"text-white flex items-center gap-2",children:[e.jsx(V,{className:"h-5 w-5 text-amber-400"}),"MADRID Chain Map"]}),e.jsx(u,{className:"text-gray-400",children:"Your path through Madrid spelling out the city name"})]}),e.jsx(d,{children:e.jsxs("div",{className:"relative bg-gradient-to-br from-gray-900 to-gray-800 rounded-xl p-6 min-h-[400px] overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 opacity-10",children:e.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,#ffffff10_1px,transparent_1px),linear-gradient(to_bottom,#ffffff10_1px,transparent_1px)] bg-[size:40px_40px]"})}),e.jsxs("svg",{className:"absolute inset-0 w-full h-full",style:{zIndex:1},children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:"pathGradient",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[e.jsx("stop",{offset:"0%",stopColor:"#f59e0b"}),e.jsx("stop",{offset:"100%",stopColor:"#ef4444"})]})}),e.jsx("path",{d:"M 80,200 Q 150,150 220,180 Q 290,210 360,160 Q 430,110 500,180",fill:"none",stroke:"url
1(#pathGradient)",strokeWidth:"3",strokeDasharray:"8,4",className:"opacity-60"})]}),e.jsx("div",{className:"relative z-10 flex justify-around items-center min-h-[350px]",children:s.letters.map((a,t)=>{const i=[{top:"40%",left:"8%"},{top:"25%",left:"22%"},{top:"50%",left:"38%"},{top:"20%",left:"55%"},{top:"60%",left:"70%"},{top:"30%",left:"85%"}];return e.jsxs("div",{className:"absolute flex flex-col items-center gap-2 group",style:{top:i[t].top,left:i[t].left},children:[e.jsxs("div",{className:`relative w-16 h-16 rounded-full flex items-center justify-center text-2xl font-black shadow-lg transition-transform group-hover:scale-110 ${a.completedBy?"bg-gradient-to-br from-green-400 to-emerald-600 text-white":"bg-gradient-to-br from-gray-600 to-gray-700 text-gray-400 border-2 border-dashed border-gray-500"}`,children:[a.letter,a.completedBy&&e.jsx("div",{className:"absolute -top-1 -right-1 w-6 h-6 bg-green-500 rounded-full flex items-center justify-center",children:e.jsx(C,{className:"h-4 w-4 text-white"})})]}),e.jsx("div",{className:`text-xs text-center max-w-[80px] ${a.completedBy?"text-green-400":"text-gray-500"}`,children:a.location.split(" ")[0]}),e.jsxs("div",{className:"absolute -bottom-20 left-1/2 -translate-x-1/2 opacity-0 group-hover:opacity-100 transition-all bg-gray-900 border border-amber-500/50 rounded-lg p-3 w-48 z-20 shadow-xl pointer-events-none",children:[e.jsx("p",{className:"text-white font-semibold text-sm mb-1",children:a.location}),e.jsx("p",{className:"text-gray-400 text-xs",children:a.challenge}),a.completedBy&&e.jsxs("p",{className:"text-green-400 text-xs mt-1",children:["Completed by ",a.completedBy]})]})]},t)})}),e.jsxs("div",{className:"absolute bottom-4 left-4 flex items-center gap-4 text-xs",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-3 h-3 rounded-full bg-green-500"}),e.jsx("span",{className:"text-gray-400",children:"Completed"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-3 h-3 rounded-full bg-gray-600 border border-dashed border-gray-400"}),e.jsx("span",{className:"text-gray-400",children:"Pending"})]})]})]})})]}),g==="attribution"&&e.jsxs(c,{className:"bg-gray-800/50 border-gray-700",children:[e.jsxs(m,{children:[e.jsxs(x,{className:"text-white flex items-center gap-2",children:[e.jsx(p,{className:"h-5 w-5 text-amber-400"}),"Chain Participants"]}),e.jsx(u,{className:"text-gray-400",children:"Everyone who contributed to spelling MADRID"})]}),e.jsxs(d,{className:"space-y-6",children:[e.jsx("div",{className:"space-y-3",children:s.participants.map((a,t)=>e.jsxs("div",{className:`flex items-center gap-4 p-4 rounded-xl transition-all ${t===0?"bg-gradient-to-r from-amber-900/40 to-amber-800/20 border border-amber-500/30":"bg-gray-700/30 border border-gray-600/30"}`,children:[e.jsx("div",{className:"text-2xl font-bold text-gray-500 w-8",children:t+1}),e.jsx("div",{className:"text-3xl",children:a.avatar}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-white font-semibold",children:a.name}),t===0&&e.jsx(b,{className:"h-4 w-4 text-amber-400"})]}),e.jsx(r,{variant:"outline",className:"text-xs border-gray-600 text-gray-400",children:a.role})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"text-2xl font-bold text-amber-400",children:a.completedLetters}),e.jsx("div",{className:"text-xs text-gray-500",children:"letters"})]})]},t))}),e.jsxs("div",{className:"border-t border-gray-700 pt-6",children:[e.jsxs("h4",{className:"text-white font-semibold mb-4 flex items-center gap-2",children:[e.jsx(ue,{className:"h-4 w-4 text-amber-400"}),"Completion Timeline"]}),e.jsx("div",{className:"space-y-3",children:s.letters.filter(a=>a.completedBy).map((a,t)=>e.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-green-500/20 flex items-center justify-center text-green-400 font-bold",children:a.letter}),e.jsxs("div",{className:"flex-1",children:[e.jsx("span",{className:"text-white",children:a.completedBy}),e.jsx("span",{className:"text-gray-500",children:" completed "}),e.jsx("span",{className:"text-amber-400",children:a.location})]}),e.jsx("div",{className:"text-gray-500 text-xs",children:a.completedAt})]},t))})]})]})]}),g==="celebration"&&e.jsxs(c,{className:"bg-gradient-to-br from-amber-900/40 via-red-900/30 to-purple-900/40 border-amber-500/50 overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(30)].map((a,t)=>e.jsx("div",{className:"absolute animate-bounce",style:{left:`${Math.random()*100}%`,top:`${Math.random()*100}%`,animationDelay:`${Math.random()*2}s`,animationDuration:`${1+Math.random()}s`},children:e.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:["#f59e0b","#ef4444","#22c55e","#3b82f6","#a855f7"][Math.floor(Math.random()*5)]}})},t))}),e.jsxs(d,{className:"p-8 relative text-center",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx($,{className:"h-16 w-16 text-amber-400 mx-auto mb-4 animate-bounce"}),e.jsx("h2",{className:"text-4xl font-black text-transparent bg-clip-text bg-gradient-to-r from-amber-400 via-red-400 to-purple-400 mb-2",children:"CHAIN COMPLETE!"}),e.jsx("p",{className:"text-xl text-amber-200",children:"You spelled MADRID!"})]}),e.jsx("div",{className:"flex justify-center gap-2 mb-8",children:s.letters.map((a,t)=>
1e.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-green-400 to-emerald-600 flex items-center justify-center text-2xl font-black text-white shadow-lg shadow-green-500/30 animate-pulse",style:{animationDelay:`${t*.1}s`},children:a.letter},t))}),e.jsxs("div",{className:"bg-black/30 rounded-2xl p-6 mb-6 inline-block",children:[e.jsx("div",{className:"text-6xl mb-3",children:s.badge.icon}),e.jsx("h3",{className:"text-2xl font-bold text-white mb-1",children:s.badge.name}),e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:s.badge.description}),e.jsx(r,{className:"bg-gradient-to-r from-purple-500 to-pink-500 text-white",children:s.badge.rarity})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-6",children:[e.jsxs("div",{className:"bg-black/20 rounded-xl p-4",children:[e.jsx("div",{className:"text-3xl font-bold text-amber-400",children:s.totalPoints}),e.jsx("div",{className:"text-xs text-gray-400",children:"Total Points"})]}),e.jsxs("div",{className:"bg-black/20 rounded-xl p-4",children:[e.jsx("div",{className:"text-3xl font-bold text-green-400",children:"6"}),e.jsx("div",{className:"text-xs text-gray-400",children:"Locations"})]}),e.jsxs("div",{className:"bg-black/20 rounded-xl p-4",children:[e.jsx("div",{className:"text-3xl font-bold text-purple-400",children:"4"}),e.jsx("div",{className:"text-xs text-gray-400",children:"Contributors"})]})]}),e.jsxs("div",{className:"flex gap-3 justify-center",children:[e.jsx(o,{className:"bg-white/10 hover:bg-white/20 text-white",children:"Share Achievement"}),e.jsx(o,{className:"bg-gradient-to-r from-amber-500 to-red-500 hover:from-amber-600 hover:to-red-600 text-black font-semibold",children:"Find Next Chain"})]})]})]})]})]})]}),e.jsxs(w,{value:"b2b",className:"mt-8",children:[e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[e.jsxs(c,{className:"bg-gradient-to-br from-blue-900/50 to-purple-900/50 border-blue-500/30",children:[e.jsx(m,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(je,{className:"h-8 w-8 text-blue-400"}),e.jsxs("div",{children:[e.jsx(x,{className:"text-2xl text-white",children:"Presale"}),e.jsx(u,{className:"text-blue-300",children:"AI-Powered Merchant Offers"})]})]})}),e.jsxs(d,{className:"space-y-4",children:[e.jsx("p",{className:"text-gray-300",children:"Merchants can target high-engagement fans with personalized offers. The more active users are on Slant, the better discounts they unlock!"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-semibold text-white",children:"NFL Madrid Use Cases:"}),e.jsxs("ul",{className:"space-y-1 text-gray-300",children:[e.jsx("li",{children:"• Hotels: 20% off for Tier 4+ engagement users"}),e.jsx("li",{children:"• Restaurants: Free drink with route check-in"}),e.jsx("li",{children:"• NFL Shop: Exclusive merch for chain participants"}),e.jsx("li",{children:"• Tourism: Museum bundle for multi-day visitors"})]})]}),e.jsx(T,{href:"/presale",children:e.jsx(o,{className:"w-full bg-blue-600 hover:bg-blue-700",children:"Open Presale Dashboard →"})})]})]}),e.jsxs(c,{className:"bg-gradient-to-br from-emerald-900/50 to-teal-900/50 border-emerald-500/30",children:[e.jsx(m,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(fe,{className:"h-8 w-8 text-emerald-400"}),e.jsxs("div",{children:[e.jsx(x,{className:"text-2xl text-white",children:"Majority Report"}),e.jsx(u,{className:"text-emerald-300",children:"Big Data Analytics for Researchers"})]})]})}),e.jsxs(d,{className:"space-y-4",children:[e.jsx("p",{className:"text-gray-300",children:"Anonymized travel data and insights for market researchers. GDPR-compliant aggregated analytics on sports tourism trends."}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-semibold text-white",children:"NFL Madrid Insights:"}),e.jsxs("ul",{className:"space-y-1 text-gray-300",children:[e.jsx("li",{children:"• Fan travel patterns by team affiliation"}),e.jsx("li",{children:"• Spending trends during NFL events"}),e.jsx("li",{children:"• Popular venues and activities"}),e.jsx("li",{children:"• Conversion rates for partner offers"})]})]}),e.jsx(T,{href:"/reports",children:e.jsx(o,{className:"w-full bg-emerald-600 hover:bg-emerald-700",children:"Open Reports →"})})]})]})]}),e.jsxs(c,{className:"mt-8 bg-gray-800/50 border-gray-700",children:[e.jsx(m,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ne,{className:"h-6 w-6 text-amber-400"}),e.jsx(x,{className:"text-white",children:"Privacy & Consent"})]})}),e.jsxs(d,{children:[e.jsx("p",{className:"text-gray-300 mb-4",children:"All B2B data flows are governed by user consent. Fans control what data is shared with merchants and researchers through the Privacy Console."}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"p-4 bg-gray-700/50 rounded-lg",children:[e.jsx("h4",{className:"font-semibold text-amber-400 mb-2",children:"NFL Madrid Offers"}),e.jsx("p",{className:"text-sm text-gray-400",children:"Receive exclusive offers from NFL partners"})]}),e.jsxs("div",{className:"p-4 bg-gray-700/50 rounded-lg",children:[e.jsx("h4",{className:"font-semibold text-amber-400 mb-2",children:"Tourism Recommendations"}),e.jsx("p",{className:"text-sm text-gray-400",children:"Personalized tips from Visit Madrid"})]}),e.jsxs("div",{className:"p-4 bg-gray-700/50 rounded-lg",children:[e.jsx("h4",{className:"font-semibold text-amber-400 mb-2",children:"Sports Tourism Research"}),e.jsx("p",{className:"text-sm text-gray-400",children:"Anonymized data for research studies"})]})]})]})]})]})]}),e.jsxs("div",{className:"text-center mt-12 p-6 bg-gray-800/30 rounded-xl border border-gray-700",children:[e.jsx("h3",{className:"text-xl font-bold text-amber-400 mb-2",children:"The Slant Value Proposition"}),e.jsxs("p",{className:"text-gray-300 max-w-2xl mx-auto",children:["One platform connects ",e.jsx("span",{className:"text-blue-400",children:"fans"}),",",e.jsx("span",{className:"text-purple-400",children:" creators"}),",",e.jsx("span",{className:"text-green-400",children:" businesses"}),", and",e.jsx("span",{className:"text-amber-400",children:" destinations"})," through shared travel experiences.",e.jsx("br",{}),e.jsx("strong",{className:"text-white",children:"More activity = better offers = richer experiences = more activity."})]})]})]})})}export{ha 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.