1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,488143,(e,t,a)=>{"use strict";function i({widthInt:e,heightInt:t,blurWidth:a,blurHeight:r,blurDataURL:s,objectFit:n}){let o=a?40*a:e,l=r?40*r:t,d=o&&l?`viewBox='0 0 ${o} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===n?"xMidYMid":"cover"===n?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${s}'/%3E%3C/svg%3E`}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImageBlurSvg",{enumerable:!0,get:function(){return i}})},987690,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var i={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return n}};for(var r in i)Object.defineProperty(a,r,{enumerable:!0,get:i[r]});let s=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},908927,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(233525);let i=e.r(543369),r=e.r(488143),s=e.r(987690),n=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:a=!1,priority:c=!1,preload:m=!1,loading:u,className:p,quality:h,width:x,height:g,fill:f=!1,style:y,overrideSrc:b,onLoad:v,onLoadingComplete:j,placeholder:w="empty",blurDataURL:N,fetchPriority:k,decoding:S="async",layout:_,objectFit:C,objectPosition:P,lazyBoundary:E,lazyRoot:O,...R},I){var M;let z,A,L,{imgConf:T,showAltText:$,blurComplete:B,defaultLoader:D}=I,H=T||s.imageConfigDefault;if("allSizes"in H)z=H;else{let e=[...H.deviceSizes,...H.imageSizes].sort((e,t)=>e-t),t=H.deviceSizes.sort((e,t)=>e-t),a=H.qualities?.sort((e,t)=>e-t);z={...H,allSizes:e,deviceSizes:t,qualities:a}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let W=R.loader||D;delete R.loader,delete R.srcSet;let U="__next_img_default"in W;if(U){if("custom"===z.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=W;W=t=>{let{config:a,...i}=t;return e(i)}}if(_){"fill"===_&&(f=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(y={...y,...e});let a={responsive:"100vw",fill:"100vw"}[_];a&&!t&&(t=a)}let V="",G=l(x),F=l(g);if((M=e)&&"object"==typeof M&&(o(M)||void 0!==M.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}
2`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(A=t.blurWidth,L=t.blurHeight,N=N||t.blurDataURL,V=t.src,!f)if(G||F){if(G&&!F){let e=G/t.width;F=Math.round(t.height*e)}else if(!G&&F){let e=F/t.height;G=Math.round(t.width*e)}}else G=t.width,F=t.height}let q=!c&&!m&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:V)||e.startsWith("data:")||e.startsWith("blob:"))&&(a=!0,q=!1),z.unoptimized&&(a=!0),U&&!z.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(a=!0);let X=l(h),Y=Object.assign(f?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:C,objectPosition:P}:{},$?{}:{color:"transparent"},y),J=B||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,r.getImageBlurSvg)({widthInt:G,heightInt:F,blurWidth:A,blurHeight:L,blurDataURL:N||"",objectFit:Y.objectFit})}")`:`url("${w}")`,K=n.includes(Y.objectFit)?"fill"===Y.objectFit?"100% 100%":"cover":Y.objectFit,Q=J?{backgroundSize:K,backgroundPosition:Y.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},Z=function({config:e,src:t,unoptimized:a,width:r,quality:s,sizes:n,loader:o}){if(a){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,i.getDeploymentId)();if(e){let a=t.indexOf("?");if(-1!==a){let i=new URLSearchParams(t.slice(a+1));i.get("dpl")||(i.append("dpl",e),t=t.slice(0,a)+"?"+i.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},a,i){if(i){let a=/(^|\s)(1?\d?\d)vw/g,r=[];for(let e;e=a.exec(i);)r.push(parseInt(e[2]));if(r.length){let a=.01*Math.min(...r);return{widths:t.filter(t=>t>=e[0]*a),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof a?{widths:e,kind:"w"}:{widths:[...new Set([a,2*a].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,r,n),c=l.length-1;return{sizes:n||"w"!==d?n:"100vw",srcSet:l.map((a,i)=>`${o({config:e,src:t,quality:s,width:a})} ${"w"===d?a:i+1}${d}`).join(", "),src:o({config:e,src:t,quality:s,width:l[c]})}}({config:z,src:e,unoptimized:a,width:G,quality:X,sizes:t,loader:W}),ee=q?"lazy":u;return{props:{...R,loading:ee,fetchPriority:k,width:G,height:F,decoding:S,className:p,style:{...Y,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:b||Z.src},meta:{unoptimized:a,preload:m||c,placeholder:w,fill:f}}}},898879,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return o}});let i=e.r(271645),r="u"<typeof window,s=r?()=>{}:i.useLayoutEffect,n=r?()=>{}:i.useEffect;function o(e){let{headManager:t,reduceComponentsToState:a}=e;function o(){if(t&&t.mountedInstances){let e=i.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(a(e))}}return r&&(t?.mountedInstances?.add(e.children),o()),s(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),s(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),n(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},325633,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var i={default:function(){return x},defaultHead:function(){return m}};for(var r in i)Object.defineProperty(a,r,{enumerable:!0,get:i[r]});let s=e.r(555682),n=e.r(190809),o=e.r(843476),l=n._(e.r(271645)),d=s._(e.r(898879)),c=e.r(742732);function m(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function u(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(233525);let p=["name","httpEquiv","charSet","itemProp"];function h(e){let t,a,i,r;return e.reduce(u,[]).reverse().concat(m().reverse()).filter((t=new Set,a=new Set,i=new Set,r={},e=>{let s=!0,n=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){n=!0;let a=e.key.slice(e.key.indexOf("$")+1);t.has(a)?s=!1:t.add(a)}switch(e.type){case"title":case"base":a.has(e.type)?s=!1:a.add(e.type);break;case"meta":for(let t=0,a=p.length;t<a;t++){let a=p[t];if(e.props.hasOwnProperty(a))if("charSet"===a)i.has(a)?s=!1:i.add(a);else{let t=e.props[a],i=r[a]||new Set;
2("name"!==a||!n)&&i.has(t)?s=!1:(i.add(t),r[a]=i)}}}return s})).reverse().map((e,t)=>{let a=e.key||t;return l.default.cloneElement(e,{key:a})})}let x=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,o.jsx)(d.default,{reduceComponentsToState:h,headManager:t,children:e})};("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},918556,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let i=e.r(555682)._(e.r(271645)),r=e.r(987690),s=i.default.createContext(r.imageConfigDefault)},65856,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"RouterContext",{enumerable:!0,get:function(){return i}});let i=e.r(555682)._(e.r(271645)).default.createContext(null)},670965,(e,t,a)=>{"use strict";function i(e,t){let a=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-a)<Math.abs(e-a)?t:e,t.qualities[0]):a}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"findClosestQuality",{enumerable:!0,get:function(){return i}})},1948,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return n}});let i=e.r(670965),r=e.r(543369);function s({config:e,src:t,width:a,quality:n}){let o=(0,r.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let a=new URLSearchParams(t.slice(e+1)),i=a.get("dpl");if(i){o=i,a.delete("dpl");let r=a.toString();t=t.slice(0,e)+(r?"?"+r:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,i.findClosestQuality)(n,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${a}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}s.__next_img_default=!0;let n=s},605500,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"Image",{enumerable:!0,get:function(){return v}});let i=e.r(555682),r=e.r(190809),s=e.r(843476),n=r._(e.r(271645)),o=i._(e.r(174080)),l=i._(e.r(325633)),d=e.r(908927),c=e.r(987690),m=e.r(918556);e.r(233525);let u=e.r(65856),p=i._(e.r(1948)),h=e.r(818581),x={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,a,i,r,s,n){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&r(!0),a?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let i=!1,r=!1;a.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>i,isPropagationStopped:()=>r,persist:()=>{},preventDefault:()=>{i=!0,t.preventDefault()},stopPropagation:()=>{r=!0,t.stopPropagation()}})}i?.current&&i.current(e)}}))}function f(e){return n.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,n.forwardRef)(({src:e,srcSet:t,sizes:a,height:i,width:r,decoding:o,className:l,style:d,fetchPriority:c,placeholder:m,loading:u,unoptimized:p,fill:x,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:v,setShowAltText:j,sizesInput:w,onLoad:N,onError:k,...S},_)=>{let C=(0,n.useCallback)(e=>{e&&(k&&(e.src=e.src),e.complete&&g(e,m,y,b,v,p,w))},[e,m,y,b,v,k,p,w]),P=(0,h.useMergedRef)(_,C);return(0,s.jsx)("img",{...S,...f(c),loading:u,width:r,height:i,decoding:o,"data-nimg":x?"fill":"1",className:l,style:d,sizes:a,srcSet:t,src:e,ref:P,onLoad:e=>{g(e.currentTarget,m,y,b,v,p,w)},onError:e=>{j(!0),"empty"!==m&&v(!0),k&&k(e)}})});function b({isAppRouter:e,imgAttributes:t}){let a={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...f(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,a),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...a},"__nimg-"+t.src+t.srcSet+t.sizes)})}let v=(0,n.forwardRef)((e,t)=>{let a=(0,n.useContext)(u.RouterContext),i=(0,n.useContext)(m.ImageConfigContext),r=(0,n.useMemo)(()=>{let e=x||i||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),a=e.deviceSizes.sort((e,t)=>e-t),r=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:a,qualities:r,localPatterns:"u"<typeof window?i?.localPatterns:e.localPatterns}},[i]),{onLoad:o,onLoadingComplete:l}=e,h=(0,n.useRef)(o);(0,n.useEffect)(()=>{h.current=o},[o]);let g=(0,n.useRef)(l);(0,n.useEffect)(()=>{g.current=l},[l]);let[f,v]=(0,n.useState)(!1),[j,w]=(0,n.useState)(!1),{props:N,meta:k}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:r,blurComplete:f,showAltText:j});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y,{...N,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:v,setShowAltText:w,sizesInput:e.sizes,ref:t}),k.preload?(0,s.jsx)(b,{isAppRouter:!a,imgAttributes:N}):null]})});("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},794909,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var i={default:function(){return c},getImageProps:function(){return d}};for(var r in i)Object.defineProperty(a,r,{enumerable:!0,get:i[r]});let s=e.r(555682),n=e.r(908927),o=e.r(605500),l=s._(e.r(1948));function d(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,a]of Object.entries(t))void 0===a&&delete t[e];return{props:t}}let c=o.Image},657688,(e,t,a)=>{t.exports=e.r(794909)},188673,e=>{"use strict";var t=e.i(843476),a=e.i(271645),i=e.i(846932),r=e.i(657688),s=e.i(843053),n=e.i(604756),o=e.i(522016),l=e.i(375156),d=e.i(262652);e.s(["SceneHero",0,function(){let[e,c]=(0,a.useState)(!1),m=d.LANDING_PLANNER_SCREENSHOT_SRC,u=/^https?:\/\//i.test(m);return(0,t.jsxs)("div",{className:"relative -mt-20 sm:-mt-[5.25rem] md:-mt-24 flex min-h-screen items-center justify-center overflow-hidden",children:[(0,t.jsx)(i.motion.div,{className:"absolute inset-0",initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5,ease:"easeOut"},style:{backgroundImage:`url("${d.LANDING_SCENE_HERO_BG_URL}")`,backgroundSize:"cover",backgroundPosition:"center"},children:(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-b from-black/60 via-black/50 to-black/70"})}),(0,t.jsx)(i.motion.div,{className:"absolute top-20 right-20 w-2 h-2 bg-card/30 rounded-full hidden sm:block",animate:{y:[0,-20,0],opacity:[.3,.6,.3]},transition:{duration:4,repeat:1/0,ease:"easeInOut"}}),(0,t.jsx)(i.motion.div,{className:"absolute bottom-40 left-20 w-3 h-3 bg-card/20 rounded-full hidden sm:block",animate:{y:[0,20,0],opacity:[.2,.5,.2]},transition:{duration:5,repeat:1/0,ease:"easeInOut",delay:1}}),(0,t.jsx)("div",{className:`relative z-10 mx-auto max-w-[90rem] pt-20 ${s.SITE_PAGE_GUTTER_X_CLASS}`,children:(0,t.jsxs)("div",{className:"grid lg:grid-cols-[minmax(0,1fr)_minmax(0,1.22fr)] gap-10 lg:gap-14 xl:gap-16 items-center",children:[(0,t.jsxs)(i.motion.div,{className:`text-left ${s.SITE_BRAND_OPTICAL_INSET_CLASS}`,initial:{opacity:0,x:-30},animate:{opacity:1,x:0},transition:{duration:.8,delay:.2},children:[(0,t.jsxs)("h1",{className:"text-5xl sm:text-6xl lg:text-7xl font-bold text-white mb-6 tracking-tight",children:[(0,t.jsx)("span",{className:"sr-only",children:"Roamset trip planner: "}),"Plan less,",(0,t.jsx)("br",{}),(0,t.jsxs)("span",{className:"relative inline-block",children:["roam more",(0,t.jsx)(i.motion.span,{className:"absolute -bottom-2 left-0 right-0 h-1 bg-card/30",initial:{scaleX:0},animate:{scaleX:1},transition:{duration:.8,delay:1},style:{originX:0}})]})]}),(0,t.jsx)(i.motion.p,{className:"text-xl text-white/90 mb-8 max-w-xl leading-relaxed",initial:{opacity:0}
3,animate:{opacity:1},transition:{duration:.6,delay:.8},children:"Save places from YouTube, Google Maps, and travel blogs with the Chrome extension. Build day-by-day itineraries on a live map with routes, photos, and export."}),(0,t.jsxs)(i.motion.div,{className:"flex flex-row flex-wrap items-center gap-3 sm:gap-4",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:1},children:[(0,t.jsx)(n.Button,{size:"lg",asChild:!0,className:"group shrink-0 bg-primary hover:bg-primary/90 text-white rounded-lg px-5 sm:px-8 text-sm sm:text-base shadow-lg transition-all hover:shadow-xl hover:scale-105",children:(0,t.jsxs)(o.default,{href:"/signup",children:["Start planning free",(0,t.jsx)(i.motion.svg,{className:"h-5 w-5 ml-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",whileHover:{x:3},transition:{duration:.2},children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})})]})}),(0,t.jsx)(n.Button,{size:"lg",asChild:!0,className:"shrink-0 bg-card/10 hover:bg-card/20 text-white backdrop-blur-sm rounded-lg px-5 sm:px-8 text-sm sm:text-base border border-white/20 transition-all hover:border-white/40",children:(0,t.jsx)("a",{href:"#video-demo",children:"View demo"})})]})]}),(0,t.jsxs)(i.motion.div,{className:"relative",initial:{opacity:0,x:30},animate:{opacity:1,x:0},transition:{duration:.8,delay:.4},children:[(0,t.jsx)("div",{className:`relative w-full border border-white/20 ${l.APP_UI.landingScreenshotFrame} ${l.APP_UI.landingPlannerScreenshotBg}`,children:(0,t.jsxs)("div",{className:`relative aspect-[3/2] w-full ${l.APP_UI.landingPlannerScreenshotBg}`,children:[e?null:u?(0,t.jsx)("img",{src:m,alt:"Roamset day planner with itinerary list and map",className:"absolute inset-0 h-full w-full object-contain object-center",onError:()=>c(!0)}):(0,t.jsx)(r.default,{src:m,alt:"Roamset day planner with itinerary list and map",fill:!0,className:"object-contain object-center",sizes:"(max-width: 1024px) 100vw, (max-width: 1536px) 640px, 720px",quality:90,priority:!0,onError:()=>c(!0)}),e?(0,t.jsxs)("div",{className:"absolute inset-0 flex items-center justify-center",children:[(0,t.jsxs)("div",{className:"text-center p-8 relative z-10",children:[(0,t.jsx)(i.motion.div,{className:"h-20 w-20 rounded-full bg-card/10 backdrop-blur-sm flex items-center justify-center mx-auto mb-4 border border-white/20",whileHover:{scale:1.1,backgroundColor:"rgba(255,255,255,0.15)"},transition:{duration:.2},children:(0,t.jsx)("svg",{className:"h-10 w-10 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7"})})}),(0,t.jsx)("p",{className:"text-white font-medium text-lg",children:"Your adventure starts here"}),(0,t.jsxs)("p",{className:"text-white/60 text-sm mt-2 max-w-xs mx-auto",children:["Add ",(0,t.jsx)("code",{className:"rounded bg-card/10 px-1 text-xs",children:"public/marketing/planner-hero-screenshot.png"})," ","for your planner screenshot."]})]}),(0,t.jsx)(i.motion.div,{className:"absolute inset-0 opacity-10",style:{backgroundImage:"linear-gradient(white 1px, transparent 1px), linear-gradient(90deg, white 1px, transparent 1px)",backgroundSize:"50px 50px"},animate:{backgroundPosition:["0px 0px","50px 50px"]},transition:{duration:20,repeat:1/0,ease:"linear"}})]}):null]})}),(0,t.jsx)(i.motion.div,{className:"absolute -top-4 -right-4 h-32 w-32 bg-gray-400 rounded-full blur-[100px] opacity-20",animate:{scale:[1,1.2,1],opacity:[.2,.3,.2]},transition:{duration:4,repeat:1/0,ease:"easeInOut"}}),(0,t.jsx)(i.motion.div,{className:"absolute -bottom-4 -left-4 h-32 w-32 bg-gray-600 rounded-full blur-[100px] opacity-20",animate:{scale:[1,1.3,1],opacity:[.2,.25,.2]},transition:{duration:5,repeat:1/0,ease:"easeInOut",delay:1}})]})]})})]})}])},387652,e=>{"use strict";var t=e.i(271645),a=e.i(749652);let i={some:0,all:1};e.s(["useInView",0,function(e,{root:r,margin:s,amount:n,once:o=!1,initial:l=!1}={}){let[d,c]=(0,t.useState)(l);return(0,t.useEffect)(()=>
3{if(!e.current||o&&d)return;let t={root:r&&r.current||void 0,margin:s,amount:n};return function(e,t,{root:r,margin:s,amount:n="some"}={}){let o=(0,a.resolveElements)(e),l=new WeakMap,d=new IntersectionObserver(e=>{e.forEach(e=>{let a=l.get(e.target);if(!!a!==e.isIntersecting)if(e.isIntersecting){let a=t(e.target,e);"function"==typeof a?l.set(e.target,a):d.unobserve(e.target)}else"function"==typeof a&&(a(e),l.delete(e.target))})},{root:r,rootMargin:s,threshold:"number"==typeof n?n:i[n]});return o.forEach(e=>d.observe(e)),()=>d.disconnect()}(e.current,()=>(c(!0),o?void 0:()=>c(!1)),t)},[r,e,s,o,n]),d}],387652)},305894,e=>{"use strict";var t=e.i(843476),a=e.i(846932),i=e.i(387652),r=e.i(271645),s=e.i(279151),n=e.i(604756),o=e.i(461702);let l=[{image:"https://images.unsplash.com/photo-1682687220742-aba13b6e50ba?q=80&w=800",title:"Sahara Dawn",price:"$450",location:"Morocco"},{image:"https://images.unsplash.com/photo-1559827260-dc66d52bef19?q=80&w=800",title:"Oasis Mirage",price:"$850",location:"Maldives"},{image:"https://images.unsplash.com/photo-1509316785289-025f5b846b35?q=80&w=800",title:"Ormaan Dunes",price:"$650",location:"UAE"}];e.s(["DestinationShowcase",0,function(){let e=(0,r.useRef)(null),d=(0,i.useInView)(e,{once:!0,margin:"-100px"}),[c,m]=(0,r.useState)(null);return(0,t.jsxs)("div",{ref:e,className:"py-24 bg-card relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute top-20 right-10 w-72 h-72 bg-gray-100 rounded-full blur-3xl op
3acity-50"}),(0,t.jsx)("div",{className:"absolute bottom-20 left-10 w-96 h-96 bg-gray-50 rounded-full blur-3xl opacity-50"}),(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8 relative z-10",children:[(0,t.jsxs)(a.motion.div,{className:"flex items-center justify-between mb-12",initial:{opacity:0,y:30},animate:d?{opacity:1,y:0}:{opacity:0,y:30},transition:{duration:.6},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(a.motion.p,{className:"text-sm font-semibold text-primary mb-2 tracking-wide uppercase",initial:{opacity:0,x:-20},animate:d?{opacity:1,x:0}:{opacity:0,x:-20},transition:{duration:.5,delay:.2},children:"Our Destination"}),(0,t.jsxs)(a.motion.h2,{className:"text-4xl font-bold text-foreground",initial:{opacity:0,x:-20},animate:d?{opacity:1,x:0}:{opacity:0,x:-20},transition:{duration:.6,delay:.3},children:["Your Journey to the Perfect",(0,t.jsx)("br",{}),(0,t.jsxs)("span",{className:"relative inline-block",children:["Destination Begins Here",(0,t.jsx)(a.motion.span,{className:"absolute -bottom-1 left-0 h-0.5 bg-primary/30",initial:{width:0},animate:d?{width:"100%"}:{width:0},transition:{duration:.8,delay:.8}})]})]})]}),(0,t.jsxs)(a.motion.div,{className:"hidden md:flex items-center gap-4",initial:{opacity:0,x:20},animate:d?{opacity:1,x:0}:{opacity:0,x:20},transition:{duration:.6,delay:.4},children:[(0,t.jsx)(n.Button,{variant:"outline",className:"rounded-full border-2 hover:bg-gray-50 transition-all hover:scale-105",children:"See All Destination"}),(0,t.jsx)(a.motion.div,{whileHover:{scale:1.1,rotate:90},whileTap:{scale:.95},children:(0,t.jsx)(n.Button,{className:"bg-primary hover:bg-primary/90 text-primary-foreground rounded-full h-12 w-12 p-0",children:(0,t.jsx)("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})})})})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:l.map((e,i)=>(0,t.jsx)(a.motion.div,{initial:{opacity:0,y:50},animate:d?{opacity:1,y:0}:{opacity:0,y:50},transition:{duration:.6,delay:.2+.1*i},onHoverStart:()=>m(i),onHoverEnd:()=>m(null),children:(0,t.jsx)(s.Card,{className:"cursor-pointer overflow-hidden rounded-3xl border-0 shadow-xl",children:(0,t.jsxs)("div",{className:"relative isolate h-80 overflow-hidden rounded-3xl bg-muted",children:[(0,t.jsx)(a.motion.div,{className:"absolute inset-0 origin-center will-change-transform",animate:{scale:c===i?1.08:1},transition:{duration:.7,ease:"easeOut"},children:(0,t.jsx)(o.ImageWithFallback,{src:e.image,alt:e.title,className:"h-full w-full object-cover"})}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 bg-gradient-to-t from-black/60 via-black/20 to-transparent"}),(0,t.jsx)(a.motion.button,{type:"button",className:"absolute right-4 top-4 flex h-10 w-10 items-center justify-center rounded-full bg-card/90 backdrop-blur-sm transition-colors hover:bg-card",whileHover:{scale:1.08},whileTap:{scale:.95},children:(0,t.jsx)("svg",{className:"h-5 w-5 text-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"})})}),(0,t.jsxs)(a.motion.div,{className:"absolute bottom-0 left-0 right-0 p-6 text-white",initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.5+.1*i},children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-sm",children:[(0,t.jsx)("svg",{className:"h-4 w-4",fill:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"})}),e.location]}),(0,t.jsx)("h3",{className:"mb-2 text-2xl font-bold",children:e.title}),(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-2xl font-bold",children:e.price}),(0,t.jsx)("span",{className:"text-sm text-white/80",children:" / per person"})]})})]})]})})},i))}),(0,t.jsx)(a.motion.div,{className:"flex md:hidden items-center justify-center gap-4 mt-8",initial:{opacity:0}
3,animate:d?{opacity:1}:{opacity:0},transition:{duration:.6,delay:.8},children:(0,t.jsx)(n.Button,{variant:"outline",className:"rounded-full border-2",children:"See All Destination"})})]})]})}])},916881,e=>{"use strict";var t=e.i(843476),a=e.i(846932),i=e.i(387652),r=e.i(271645),s=e.i(279151);e.s(["VideoDemo",0,function(){let e=(0,r.useRef)(null),n=(0,r.useRef)(null),o=(0,i.useInView)(e,{once:!0,margin:"-100px"}),[l,d]=(0,r.useState)(!1);return(0,t.jsx)("div",{ref:e,id:"video-demo",className:"py-16 bg-background",children:(0,t.jsxs)("div",{className:"mx-auto max-w-5xl px-6 lg:px-8",children:[(0,t.jsxs)(a.motion.div,{className:"text-center mb-10",initial:{opacity:0,y:30},animate:o?{opacity:1,y:0}:{opacity:0,y:30},transition:{duration:.6},children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-primary mb-3 tracking-wide uppercase",children:"See it in action"}),(0,t.jsx)("h2",{className:"text-3xl font-bold text-foreground mb-3",children:"Watch how Roamset works"}),(0,t.jsx)("p",{className:"text-base text-muted-foreground max-w-2xl mx-auto",children:"Extension saves, place suggestions, and day-by-day planning on the map"})]}),(0,t.jsx)(a.motion.div,{initial:{opacity:0,scale:.95},animate:o?{opacity:1,scale:1}:{opacity:0,scale:.95},transition:{duration:.6,delay:.2},children:(0,t.jsx)(s.Card,{className:"overflow-hidden shadow-xl border-0 rounded-2xl",children:(0,t.jsxs)("div",{className:"relative aspect-video bg-black",children:[(0,t.jsx)("video",{ref:n,src:"/marketing/product-demo.mp4",poster:"/marketing/product-demo-poster.jpg",className:"absolute inset-0 w-full h-full object-contain",preload:"metadata",playsInline:!0,controls:!0,onPlay:()=>d(!0),onPause:()=>d(!1)}),!l&&(0,t.jsx)("button",{type:"button",onClick:function(){let e=n.current;e&&(e.paused?(e.play(),d(!0)):(e.pause(),d(!1)))},className:"absolute inset-0 flex items-center justify-center z-10 bg-black/20 cursor-pointer","aria-label":"Play video",children:(0,t.jsx)(a.motion.div,{whileHover:{scale:1.1},whileTap:{scale:.95},children:(0,t.jsx)("div",{className:"h-16 w-16 rounded-full bg-white/90 hover:bg-white flex items-center justify-center shadow-xl",children:(0,t.jsx)("svg",{className:"h-7 w-7 ml-1 text-foreground",fill:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M8 5v14l11-7z"})})})})})]})})}),(0,t.jsx)("div",{className:"mt-8 grid grid-cols-1 md:grid-cols-3 gap-4",children:[{icon:"M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7",title:"Smart routes",desc:"Day-by-day stops on a live map with routing helpers so getting around stays obvious.",gradient:"from-slate-50 to-white",color:"slate"},{icon:"M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z",title:"Trip budgets",desc:"Set a trip cap, estimate per stop, and track spend in the currency you actually use.",gradient:"from-gray-50 to-white",color:"primary"},{icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",title:"Collaborate",desc:"Invite travel mates to edit the same itinerary and keep everyone aligned.",gradient:"from-amber-50 to-white",color:"amber"}].map((e,i)=>(0,t.jsx)(a.motion.div,{initial:{opacity:0,y:20},animate:o?{opacity:1,y:0}:{opacity:0,y:20},transition:{duration:.5,delay:.4+.1*i},children:(0,t.jsx)(a.motion.div,{whileHover:{y:-4,scale:1.02},transition:{duration:.2},children:(0,t.jsxs)(s.Card,{className:`p-4 text-center rounded-xl border-0 bg-gradient-to-br ${e.gradient}`,children:[(0,t.jsx)(a.motion.div,{className:`h-10 w-10 rounded-full ${"primary"===e.color?"bg-primary/10 text-primary":"slate"===e.color?"bg-slate-200 text-muted-foreground":"bg-amber-100 text-amber-800"} flex items-center justify-center mx-auto mb-3`,whileHover:{rotate:360},transition:{duration:.5},children:(0,t.jsx)("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:e.icon})})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground mb-1",children:e.title}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.desc})]})})},i))})]})})}])},696587,e=>{"use strict";var t=e.i(843476),a=e.i(846932),i=e.i(387652);let r=(0,e.i(475254).default)("map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);var s=e.i(971757),n=e.i(283086),o=e.i(761911),l=e.i(252754),d=e.i(39312),c=e.i(271645),m=e.i(279151);let u="h-6 w-6 shrink-0",p=[{icon:(0,t.jsx)(n.Sparkles,{className:u,strokeWidth:2,"aria-hidden":!0}),title:"Import places from anywhere.",description:"Save from YouTube, travel blogs, PDFs, or a pasted Google Maps link. Maps links match instantly; other saves become place suggestions you verify with Google, then add to your days with photos on each stop."},{icon:(0,t.jsx)(d.Zap,{className:u,strokeWidth:2,"aria-hidden":!0}),title:"Built around your days.",description:"Organize day by day: drag stops, refresh travel times along your route, and see everything on a live map."},{icon:(0,t.jsx)(r,{className:u,strokeWidth:2,"aria-hidden":!0}),title:"Map-first planning.",description:"Every stop on the map with walking or transit legs between them. Know how long it takes to get there."},{icon:(0,t.jsx)(l.Wallet,{className:u,strokeWidth:2,"aria-hidden":!0}),title:"Budget, unruffled.",description:"Track spend, split tabs, and watch the total in any currency. No spreadsheets required."},{icon:(0,t.jsx)(o.Users,{className:u,strokeWidth:2,"aria-hidden":!0}),title:"Plan as a party.",description:"Invite travel mates to the same trip: shared planner, inbox saves, and the same place list."},{icon:(0,t.jsx)(s.Plane,{className:u,strokeWidth:2,"aria-hidden":!0}),title:"Flights, stays & tours.",description:"Search flights via Aviasales, book tours through Viator, and find eSIMs through Airalo - all linked from your itinerary."}],h=[{num:"01",title:"Capture\nas you browse.",desc:"Install the Chrome extension, or paste a Google Maps link in the planner. Saves land in your Roambox inbox."},{num:"02",title:"Review &\nverify.",desc:"Review suggested places from your saves, confirm with Google when needed, and add them to days with photos and route times. Google Maps links skip that step."},{num:"03",title:"Go with\nyour plan.",desc:"Follow the live map, track budget, invite collaborators, and book flights or tours from your itinerary."}];e.s(["SaaSFeatures",0,function(){let e=(0,c.useRef)(null),r=(0,c.useRef)(null),s=(0,i.useInView)(e,{once:!0,margin:"-100px"}),n=(0,i.useInView)(r,{once:!0,margin:"-100px"});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{ref:e,id:"how-it-works",className:"py-24 bg-background relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-gray-50 to-white opacity-50"}),(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8 relative z-10",children:[(0,t.jsxs)(a.motion.div,{className:"mx-auto max-w-2xl text-center mb-16",initial:{opacity:0,y:30},animate:s?{opacity:1,y:0}:{opacity:0,y:30},transition:{duration:.6},children:[(0,t.jsx)(a.motion.div,{className:"text-sm font-semibold text-primary mb-3 tracking-wide uppercase",initial:{opacity:0}
3,animate:s?{opacity:1}:{opacity:0},transition:{duration:.5,delay:.2},children:"The method"}),(0,t.jsxs)("h2",{className:"text-4xl font-bold tracking-tight text-foreground mb-4",children:["From saved tabs to a trip",(0,t.jsx)("br",{}),"in three easy steps."]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8 relative",children:[(0,t.jsx)("div",{className:"hidden md:block absolute top-16 left-0 right-0 h-0.5 bg-gradient-to-r from-transparent via-primary/20 to-transparent",style:{top:"3rem"}}),h.map((e,i)=>(0,t.jsx)(a.motion.div,{initial:{opacity:0,y:50},animate:s?{opacity:1,y:0}:{opacity:0,y:50},transition:{duration:.6,delay:.2+.15*i},children:(0,t.jsx)(a.motion.div,{whileHover:{y:-8,scale:1.02},transition:{duration:.3},children:(0,t.jsxs)(m.Card,{className:"p-8 border-0 bg-card shadow-sm hover:shadow-lg transition-all relative",children:[(0,t.jsxs)(a.motion.div,{className:"h-12 w-12 rounded-full bg-primary/10 text-primary flex items-center justify-center mb-6 font-bold text-lg relative",whileHover:{scale:1.1,backgroundColor:"rgba(15, 23, 42, 0.15)"},transition:{duration:.2},children:[e.num,(0,t.jsx)(a.motion.div,{className:"absolute inset-0 rounded-full border-2 border-primary/20",initial:{scale:1,opacity:.5},whileHover:{scale:1.3,opacity:0}
3,transition:{duration:.4}})]}),(0,t.jsx)("h3",{className:"text-2xl font-bold text-foreground mb-3 whitespace-pre-line",children:e.title}),(0,t.jsx)("p",{className:"text-muted-foreground leading-relaxed",children:e.desc})]})})},i))]})]})]}),(0,t.jsxs)("div",{ref:r,id:"features",className:"py-24 bg-card relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute top-20 left-20 w-96 h-96 bg-gray-50 rounded-full blur-3xl opacity-60"}),(0,t.jsx)("div",{className:"absolute bottom-20 right-20 w-80 h-80 bg-gray-100 rounded-full blur-3xl opacity-60"}),(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8 relative z-10",children:[(0,t.jsxs)(a.motion.div,{className:"mx-auto max-w-2xl text-center mb-16",initial:{opacity:0,y:30},animate:n?{opacity:1,y:0}:{opacity:0,y:30},transition:{duration:.6},children:[(0,t.jsx)(a.motion.div,{className:"text-sm font-semibold text-primary mb-3 tracking-wide uppercase",initial:{opacity:0},animate:n?{opacity:1}:{opacity:0},transition:{duration:.5,delay:.2},children:"What's in the kit"}),(0,t.jsxs)("h2",{className:"text-4xl font-bold tracking-tight text-foreground mb-4",children:["Every tool a modern traveler",(0,t.jsx)("br",{}),"could reasonably ask for."]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:p.map((e,i)=>(0,t.jsx)(a.motion.div,{initial:{opacity:0,y:30},animate:n?{opacity:1,y:0}:{opacity:0,y:30},transition:{duration:.5,delay:.1+.08*i},children:(0,t.jsx)(a.motion.div,{whileHover:{y:-4,scale:1.02},transition:{duration:.2},children:(0,t.jsxs)(m.Card,{className:"flex h-full flex-col gap-0 border border-border/90 bg-card p-6 shadow-sm transition-all hover:shadow-lg",children:[(0,t.jsxs)("div",{className:"mb-4 text-xs font-mono text-muted-foreground",children:["0",i+1," / 0",p.length]}),(0,t.jsx)(a.motion.div,{className:"mb-4 flex h-12 w-12 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",whileHover:{rotate:5,scale:1.1},transition:{duration:.2},children:e.icon}),(0,t.jsx)("h3",{className:"mb-2 text-lg font-semibold text-foreground",children:e.title}),(0,t.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:e.description})]})})},i))})]})]})]})}],696587)},510156,e=>{"use strict";var t=e.i(843476),a=e.i(846932),i=e.i(387652),r=e.i(657688),s=e.i(643531),n=e.i(778917),o=e.i(271645);let l=e.i(247167).default.env.NEXT_PUBLIC_CHROME_EXTENSION_URL||"https://chromewebstore.google.com/detail/roamset-save-to-trip/oogmmmofkbjfdblmjmfpbbaccghdebje";var d=e.i(375156),c=e.i(262652),m=e.i(843053),u=e.i(604756),p=e.i(390581);let h=["Floating save button on Google Maps, YouTube, blogs, and booking sites","Detects place, link, or document, and shows an image preview when available","Panel updates as you navigate (new video, new Maps pin) without reloading","Saves to your trip inbox on roamset.app, same login, trips, and credits as the website","Review suggested places and add verified stops to your day planner on the web"];e.s(["ChromeExtensionPromo",0,function(){let e=(0,o.useRef)(null),x=(0,i.useInView)(e,{once:!0,margin:"-100px"});return(0,t.jsxs)("div",{ref:e,id:"chrome-extension",className:(0,p.cn)("relative overflow-hidden bg-background py-24",m.SITE_ANCHOR_SCROLL_MARGIN_CLASS),children:[(0,t.jsxs)("div",{className:"pointer-events-none absolute inset-0",children:[(0,t.jsx)("div",{className:"absolute right-10 top-20 h-72 w-72 rounded-full bg-gray-100 blur-3xl opacity-50"}),(0,t.jsx)("div",{className:"absolute bottom-20 left-10 h-80 w-80 rounded-full bg-gray-50 blur-3xl opacity-40"})]}),(0,t.jsx)("div",{className:"relative z-10 mx-auto max-w-7xl px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 items-center gap-12 lg:grid-cols-2 lg:gap-16",children:[(0,t.jsx)(a.motion.div,{initial:{opacity:0,y:24},animate:x?{opacity:1,y:0}:{opacity:0,y:24},transition:{duration:.55},className:"order-2 lg:order-1",children:(0,t.jsxs)("div",{className:`border border-border/80 ${d.APP_UI.landingScreenshotFrame} ${d.APP_UI.landingExtensionScreenshotBg}`,children:[(0,t.jsxs)("div",{className:"flex h-10 items-center gap-2 border-b border-border/80 bg-[#282828] px-3",children:[(0,t.jsxs)("span",{className:"flex gap-1.5","aria-hidden":!0,
3children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-red-400/90"}),(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-amber-400/90"}),(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-emerald-400/90"})]}),(0,t.jsx)("div",{className:"ml-1 min-w-0 flex-1 truncate rounded-md bg-[#3d3d3d] px-2.5 py-1 text-[11px] text-zinc-300",children:"youtube.com/watch"})]}),(0,t.jsx)("div",{className:`relative aspect-[3/2] w-full ${d.APP_UI.landingExtensionScreenshotBg}`,children:(0,t.jsx)(r.default,{src:c.LANDING_EXTENSION_SCREENSHOT_SRC,alt:"Roamset Chrome extension saving a YouTube travel video to a trip",fill:!0,className:"object-contain object-top",sizes:"(max-width: 1024px) 100vw, 560px",quality:88})})]})}),(0,t.jsxs)(a.motion.div,{initial:{opacity:0,y:24},animate:x?{opacity:1,y:0}:{opacity:0,y:24},transition:{duration:.55,delay:.08},className:"order-1 lg:order-2",children:[(0,t.jsx)("p",{className:"mb-3 text-sm font-semibold uppercase tracking-wide text-primary",children:"Chrome extension"}),(0,t.jsx)("h2",{className:"mb-4 text-3xl font-bold tracking-tight text-foreground sm:text-4xl",children:"Save while you browse. Plan on roamset.app."}),(0,t.jsxs)("p",{className:"mb-8 text-lg leading-relaxed text-muted-foreground",children:["The extension captures places, videos, and links into your trip inbox. The day planner on"," ",(0,t.jsx)("span",{className:"font-medium text-foreground",children:"www.roamset.app"})," turns those saves into suggested stops you verify, then a day-by-day itinerary with maps, photos, and travel times."]}),(0,t.jsx)("ul",{className:"mb-10 space-y-3",children:h.map(e=>(0,t.jsxs)("li",{className:"flex gap-3 text-sm text-foreground",children:[(0,t.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-primary/10 text-primary",children:(0,t.jsx)(s.Check,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":!0})}),(0,t.jsx)("span",{className:"leading-relaxed",children:e})]},e))}),(0,t.jsx)(u.Button,{size:"lg",asChild:!0,className:"bg-primary text-primary-foreground shadow-lg hover:bg-primary/90",children:(0,t.jsxs)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:["Install Chrome Extension",(0,t.jsx)(n.ExternalLink,{className:"h-4 w-4","aria-hidden":!0})]})})]})]})})]})}],510156)},821505,e=>{"use strict";var t=e.i(843476),a=e.i(846932),i=e.i(387652),r=e.i(271645),s=e.i(522016),n=e.i(604756),o=e.i(279151),l=e.i(991918),d=e.i(225913),c=e.i(390581);let m=(0,d.cva)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function u({className:e,variant:a,asChild:i=!1,...r}){let s=i?l.Slot:"span";return(0,t.jsx)(s,{"data-slot":"badge",className:(0,c.cn)(m({variant:a}),e),...r})}var p=e.i(643531),h=e.i(283086),x=e.i(39312),g=e.i(792038),f=e.i(330609),y=e.i(796261);let b=[g.ROAMSET_PLANS.free,g.ROAMSET_PLANS.explorer,g.ROAMSET_PLANS.pro].map(function(e){let t="free"===e.tier,a=t?"~1 trip/mo":"explorer"===e.tier?"~4 trips/mo":"~10 trips/mo";return{key:e.tier,name:e.displayName,icon:"pro"===e.tier?x.Zap:h.Sparkles,price:t?"$0":`$${e.priceUsd}`,period:t?"forever":"per month",description:t?"Core planning, free forever.":`${e.premiumPlaceDetailsPerMonth} premium place details / month \xb7 ${a}`,popular:!!e.highlighted,savingsBadge:"pro"===e.tier?"Best value":void 0,cta:e.cta??"Choose plan",ctaHref:"/signin?redirect=/plan",features:e.features,highlight:[{label:t?"Free forever":"pro"===e.tier?"Best value":"Most popular",note:t?"No card required.":`${e.premiumPlaceDetailsPerMonth} Google place details + ${a}`}]}});e.s(["SaaSPricing",0,function(){let e=(0,r.useRef)(null),l=(0,i.useInView)(e,{once:!0,margin:"-100px"});return(0,t.jsxs)("div",{ref:e,id:"pricing",className:"relative overflow-hidden bg-muted/30 py-24",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent via-gray-50/50 to-transparent"}),(0,t.jsxs)("div",{className:"relative z-10 mx-auto max-w-7xl px-6 lg:px-8",children:[(0,t.jsxs)(a.motion.div,{className:"mx-auto mb-16 max-w-2xl text-center",initial:{opacity:0,y:30},animate:l?{opacity:1,y:0}:{opacity:0,y:30},transition:{duration:.6},children:[(0,t.jsx)("h2",{className:"mb-4 text-4xl font-bold tracking-tight text-foreground",children:"Simple, transparent pricing"}),(0,t.jsx)("p",{className:"text-lg text-muted-foreground",children:"Free to start, then simple monthly plans. Web and extension share the same account, credits, and Google enrichment."}),(0,t.jsxs)("p",{className:"mt-3 text-sm text-muted-foreground",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:"New accounts:"})," ",(0,f.formatWelcomePlaceDetailsLine)()," ","(not a plan - just a one-time signup grant). ","Credits apply when Roamset imports places, verifies them, or calculates routes. Cache hits cost 0."]})]}),(0,t.jsx)("div",{className:"mx-auto grid max-w-6xl grid-cols-1 items-start gap-6 md:grid-cols-3",children:b.map((e,i)=>{let r=e.icon;return(0,t.jsx)(a.motion.div,{initial:{opacity:0,y:40},animate:l?{opacity:1,y:0}:{opacity:0,y:40},transition:{duration:.5,delay:.1+.1*i},children:(0,t.jsx)(a.motion.div,{whileHover:{y:-6},transition:{duration:.25}
3,children:(0,t.jsxs)(o.Card,{className:(0,c.cn)("relative flex h-full flex-col p-7",e.popular?"border-2 border-primary/20 shadow-xl shadow-slate-200/80":"border border-border"),children:[e.savingsBadge?(0,t.jsx)(u,{className:"absolute -top-3.5 left-1/2 -translate-x-1/2 border-0 bg-emerald-600 px-3 text-white",children:e.savingsBadge}):e.popular?(0,t.jsx)(u,{className:"absolute -top-3.5 left-1/2 -translate-x-1/2 border-0 bg-primary px-3 text-primary-foreground",children:"Best value"}):null,(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:(0,c.cn)("mb-3 inline-flex items-center gap-2 text-base font-bold",e.popular?"text-primary":"text-foreground"),children:[(0,t.jsx)(r,{className:"h-4 w-4","aria-hidden":!0}),e.name]}),(0,t.jsxs)("div",{className:"flex items-baseline gap-1.5",children:[(0,t.jsx)(a.motion.span,{className:"text-4xl font-extrabold text-foreground",initial:{opacity:0,scale:.7},animate:l?{opacity:1,scale:1}:{opacity:0,scale:.7},transition:{duration:.4,delay:.3+.1*i},children:e.price}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:e.period})]}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-snug text-muted-foreground",children:e.description})]}),(0,t.jsx)(a.motion.div,{whileHover:{scale:1.02},whileTap:{scale:.98},className:"mb-6",children:(0,t.jsx)(n.Button,{asChild:!0,className:(0,c.cn)("w-full",e.popular&&"bg-primary text-primary-foreground hover:bg-primary/90"),variant:e.popular?"default":"outline",children:(0,t.jsx)(s.default,{href:e.ctaHref,children:e.cta})})}),(0,t.jsx)("ul",{className:"flex-1 space-y-2.5",children:e.features.map((i,r)=>(0,t.jsxs)(a.motion.li,{className:"flex items-start gap-2.5",initial:{opacity:0,x:-8},animate:l?{opacity:1,x:0}:{opacity:0,x:-8},transition:{duration:.35,delay:.35+.04*r},children:[(0,t.jsx)("span",{className:(0,c.cn)("mt-0.5 shrink-0 rounded-full p-0.5",e.popular?"bg-slate-200 text-foreground":"bg-emerald-100 text-emerald-600"),children:(0,t.jsx)(p.Check,{className:"h-3 w-3","aria-hidden":!0})}),(0,t.jsx)("span",{className:"text-sm text-card-foreground",children:i})]},r))}),e.highlight.map(e=>(0,t.jsxs)("div",{className:"mt-5 rounded-xl border border-border bg-secondary p-3 text-xs",children:[(0,t.jsxs)("p",{className:"mb-0.5 font-semibold text-foreground",children:["⦠",e.label]}),(0,t.jsx)("p",{className:"text-muted-foreground",children:e.note})]},e.label))]})})},e.key)})}),(0,t.jsx)(a.motion.p,{className:"mx-auto mt-8 max-w-3xl px-4 text-center text-sm text-muted-foreground",initial:{opacity:0}
3,animate:l?{opacity:1}:{opacity:0},transition:{duration:.5,delay:.55},children:"Trip estimates use ~486 credits per typical itinerary (saves, verify, routes, photos). Actual usage varies; cache hits cost 0."}),(0,t.jsxs)(a.motion.div,{className:"mx-auto mt-10 flex max-w-6xl flex-col gap-3 rounded-2xl border border-border bg-gradient-to-r from-slate-50 to-sky-50/80 px-6 py-5 sm:flex-row sm:items-center",initial:{opacity:0,y:16},animate:l?{opacity:1,y:0}:{opacity:0,y:16},transition:{duration:.5,delay:.7},children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-foreground",children:"Extension = same backend as the web app"}),(0,t.jsxs)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:["Sign up to claim ",y.WELCOME_CREDITS," welcome credits, then buy packs when you need more. No separate extension subscription."]})]}),(0,t.jsxs)(s.default,{href:"/signup",className:"inline-flex shrink-0 items-center gap-1.5 rounded-xl bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground transition-colors hover:bg-primary/90",children:[(0,t.jsx)(h.Sparkles,{className:"h-3.5 w-3.5","aria-hidden":!0}),"Create account"]})]}),(0,t.jsx)(a.motion.p,{className:"mt-6 text-center text-sm text-muted-foreground",initial:{opacity:0}
3,animate:l?{opacity:1}:{opacity:0},transition:{duration:.6,delay:.9},children:"Free plan available · Monthly Explorer/Pro plans · Cancel anytime"})]})]})}],821505)},920934,e=>{"use strict";var t=e.i(843476),a=e.i(846932),i=e.i(387652),r=e.i(271645),s=e.i(522016),n=e.i(604756);e.s(["SaaSCTA",0,function(){let e=(0,r.useRef)(null),o=(0,i.useInView)(e,{once:!0,margin:"-100px"});return(0,t.jsxs)("div",{ref:e,className:"py-24 bg-background relative overflow-hidden",children:[(0,t.jsxs)("div",{className:"absolute inset-0",children:[(0,t.jsx)("div",{className:"absolute top-1/4 left-10 w-72 h-72 bg-gray-100 rounded-full blur-3xl opacity-30"}),(0,t.jsx)("div",{className:"absolute bottom-1/4 right-10 w-80 h-80 bg-gray-50 rounded-full blur-3xl opacity-40"})]}),(0,t.jsxs)("div",{className:"mx-auto max-w-4xl px-6 lg:px-8 text-center relative z-10",children:[(0,t.jsxs)(a.motion.div,{className:"inline-flex items-center gap-2 mb-6",initial:{opacity:0,scale:.8},animate:o?{opacity:1,scale:1}:{opacity:0,scale:.8},transition:{duration:.5},children:[(0,t.jsx)(a.motion.span,{className:"h-px w-12 bg-foreground
3/20",initial:{scaleX:0},animate:o?{scaleX:1}:{scaleX:0},transition:{duration:.5,delay:.2}}),(0,t.jsx)("span",{className:"text-sm font-medium text-muted-foreground uppercase tracking-wide",children:"Plan less, roam more"}),(0,t.jsx)(a.motion.span,{className:"h-px w-12 bg-foreground/20",initial:{scaleX:0},animate:o?{scaleX:1}:{scaleX:0},transition:{duration:.5,delay:.2}})]}),(0,t.jsxs)(a.motion.h2,{className:"text-4xl sm:text-5xl font-bold text-foreground mb-4",initial:{opacity:0,y:20},animate:o?{opacity:1,y:0}:{opacity:0,y:20},transition:{duration:.6,delay:.3},children:["Somewhere out there",(0,t.jsx)("br",{}),"is your next trip."]}),(0,t.jsx)(a.motion.p,{className:"text-xl text-muted-foreground mb-10 max-w-2xl mx-auto",initial:{opacity:0,y:20},animate:o?{opacity:1,y:0}:{opacity:0,y:20},transition:{duration:.6,delay:.4},children:"Join travelers who plan less and wander more. No card. No catch. No upsell. Just a map and a very good suggestion or two."}),(0,t.jsx)(a.motion.div,{className:"flex flex-col sm:flex-row items-center justify-center gap-4 mb-8",initial:{opacity:0,y:20},animate:o?{opacity:1,y:0}:{opacity:0,y:20},transition:{duration:.6,delay:.5},children:(0,t.jsx)(a.motion.div,{whileHover:{scale:1.05},whileTap:{scale:.95},children:(0,t.jsx)(n.Button,{size:"lg",asChild:!0,className:"bg-primary hover:bg-primary/90 text-white shadow-lg hover:shadow-xl transition-all",children:(0,t.jsxs)(s.default,{href:"/signup",children:["Plan my trip free",(0,t.jsx)(a.motion.svg,{className:"ml-2 h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",whileHover:{x:3},transition:{duration:.2},children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})})]})})})}),(0,t.jsx)(a.motion.div,{className:"flex flex-wrap items-center justify-center gap-6 text-sm text-muted-foreground",initial:{opacity:0}
3,animate:o?{opacity:1}:{opacity:0},transition:{duration:.6,delay:.7},children:["+160 countries","Real places · real photos","Hand-verified listings","Works offline"].map((e,i)=>(0,t.jsxs)(a.motion.div,{className:"flex items-center gap-2",initial:{opacity:0,x:-10},animate:o?{opacity:1,x:0}:{opacity:0,x:-10},transition:{duration:.4,delay:.8+.1*i},children:[(0,t.jsx)(a.motion.span,{className:"h-1.5 w-1.5 rounded-full bg-primary",animate:{scale:[1,1.3,1],opacity:[.7,1,.7]},transition:{duration:2,repeat:1/0,delay:.2*i}}),e]},i))})]})]})}])}]);
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.