1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{1473:function(e,t,a){Promise.resolve().then(a.bind(a,3186))},6215:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},401:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},476:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]])},1817:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},525:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},5805:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]])},1239:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},3145:function(e,t,a){"use strict";a.d(t,{default:function(){return l.a}});var s=a(8461),l=a.n(s)},9376:function(e,t,a){"use strict";var s=a(5475);a.o(s,"useParams")&&a.d(t,{useParams:function(){return s.useParams}}),a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}}),a.o(s,"useSearchParams")&&a.d(t,{useSearchParams:function(){return s.useSearchParams}})},8461:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(t,{default:function(){return c},getImageProps:function(){return i}});let s=a(917),l=a(5346),r=a(5878),n=s._(a(5084));function i(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:n.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],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=r.Image},6832:function(e,t,a){"use strict";a.d(t,{Z:function(){return c}});var s=a(7437),l=a(9877),r=a(7393);let n={default:{container:"space-y-3 p-8",mapTitle:"text-6xl font-bold",meteoLabel:"text-[10px] font-medium uppercase tracking-[0.12em] text-slate-600",pace:"text-2xl font-semibold text-slate-900",summary:"mt-4 space-y-0.5 text-center",summaryLead:"text-[11px] leading-snug text-slate-700",summaryHighlight:"text-sm font-bold",impacts:"mt-4 space-y-2 text-left",impactRow:"flex justify-between text-xs",screen:"relative h-full min-h-full w-full overflow-hidden"},export:{container:"space-y-5 px-5 py-5",mapTitle:"text-8xl font-bold leading-none",meteoLabel:"text-sm font-medium uppercase tracking-[0.14em] text-slate-600",pace:"text-4xl font-semibold text-slate-900",summary:"mt-4 space-y-1 text-center",summaryLead:"text-sm leading-snug text-slate-700",summaryHighlight:"text-lg font-bold",impacts:"mt-4 space-y-3 text-left",impactRow:"flex justify-between gap-3 text-base",screen:"relative h-full min-h-full w-full overflow-hidden"}};function i(e){let{styles:t,contentOffsetY:a}=e;return(0,s.jsx)("div",{className:"relative flex h-full min-h-full w-full items-center justify-center",children:(0,s.jsxs)("div",{className:"".concat(t.container," text-center"),style:0!==a?{transform:"translateY(".concat(a,"px)")}:void 0,children:[(0,s.jsx)("div",{className:t.mapTitle,style:{background:l.bX,WebkitBackgroun
1dClip:"text",backgroundClip:"text",color:"transparent"},children:"MAP"}),(0,s.jsx)("div",{className:t.meteoLabel,children:"Meteo Adjusted Pace"}),(0,s.jsx)("div",{className:t.pace,children:"4:22 /km"}),(0,s.jsxs)("div",{className:t.summary,children:[(0,s.jsx)("p",{className:t.summaryLead,children:"Conditions and hills cost the equivalent of"}),(0,s.jsx)("p",{className:"".concat(t.summaryHighlight," text-slate-900"),children:"8 sec/km"})]}),(0,s.jsxs)("div",{className:t.impacts,children:[(0,s.jsxs)("div",{className:t.impactRow,children:[(0,s.jsx)("span",{className:"text-slate-700",children:"Actual Pace:"}),(0,s.jsx)("span",{className:"font-medium text-slate-900",children:"4:30 /km"})]}),(0,s.jsxs)("div",{className:t.impactRow,children:[(0,s.jsx)("span",{className:"text-slate-700",children:"Heat Impact:"}),(0,s.jsx)("span",{className:"font-medium text-[#fb7185]",children:"+0:04"})]}),(0,s.jsxs)("div",{className:t.impactRow,children:[(0,s.jsx)("span",{className:"text-slate-700",children:"Wind Impact:"}),(0,s.jsx)("span",{className:"font-medium ".concat(r.hx),children:"-0:02"})]}),(0,s.jsxs)("div",{className:t.impactRow,children:[(0,s.jsx)("span",{className:"text-slate-700",children:"Elevation Impact:"}),(0,s.jsx)("span",{className:"font-medium text-[#fb7185]",children:"+0:06"})]})]})]})})}function c(e){let{contentOffsetY:t=0,className:a="",variant:r="default"}=e,c=n[r];return(0,s.jsxs)("div",{className:"".concat(c.screen," ").concat(a),style:{background:l.I_},children:[(0,s.jsx)("div",{className:"absolute inset-0",style:{background:l.A}}),(0,s.jsx)(i,{styles:c,contentOffsetY:t})]})}},7804:function(e,t,a){"use strict";var s=a(7437);a(2265);var l=a(3145),r=a(9877);t.Z=e=>{let{children:t,className:a="",variant:n="dark",screenWidth:i="83%",layout:c="default"}=e,d="light"===n?"bg-white":"bg-black",o="crop"===c||"light"===n?{background:r.I_}:void 0;return(0,s.jsx)("div",{className:"phone-frame-container relative ".concat(a),children:(0,s.jsxs)("div",{className:"relative w-full",style:"crop"===c?{aspectRatio:"".concat(366," / ").concat(770)}:void 0,children:[(0,s.jsx)("div",{className:"crop"===c?"absolute inset-0 z-0":"absolute top-0 left-0 w-full h-full flex items-center justify-center z-0",children:(0,s.jsx)("div",{className:"crop"===c?"absolute left-[8.5%] top-[4%] z-0 h-[92%] w-[83%] min-h-[92%] overflow-hidden rounded-[25px] ".concat(d):"relative h-[92%] overflow-hidden rounded-[25px] ".concat(d," my-32"),style:"crop"===c?o:{...o,width:i},children:t})}),(0,s.jsx)("div",{className:"crop"===c?"pointer-events-none absolute inset-0 z-10":"pointer-events-none relative w-full z-10",children:"crop"===c?(0,s.jsx)("img",{src:"/iphone-frame.png",alt:"",width:366,height:770,className:"absolute inset-0 block h-full w-full",draggable:!1}):(0,s.jsx)(l.default,{src:"/iphone-frame.png",alt:"iPhone frame",width:366,height:770,className:"w-full h-auto",priority:!0})})]})})}},3186:function(e,t,a){"use strict";a.d(t,{default:function(){return eq}});var s=a(7437),l=a(7648),r=a(6858),n=a(9205);let i=(0,n.Z)("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);var c=a(3774),d=a(1341);let o=(0,n.Z)("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);var m=a(401),x=a(6215),h=a(6899),u=a(5805);let p=(0,n.Z)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);var f=a(525),g=a(875),b=a(6654),w=a(2265),j=a(7804),v=e=>{let{src:t,className:a="max-w-[320px] mx-auto",autoPlay:l=!0,muted:r=!0,controls:n=!1,loop:i=!0,poster:c,variant:d="dark"}=e;return(0,s.jsx)("div",{className:a,children:(0,s.jsx)(j.Z,{variant:d,screenWidth:"84.4%",children:(0,s.jsx)("video",{src:t,autoPlay:l,muted:r,loop:i,playsInl
1ine:!0,poster:c,controls:n,className:"absolute inset-0 h-full w-full object-cover object-center"})})})};let y=(0,n.Z)("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),N=(0,n.Z)("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]),k=(0,n.Z)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var D=a(5957),P=a(4004);function T(){P.O.current||(0,D.A)();let[e]=(0,w.useState)(P.n.current);return e}let M=[{quote:"Really useful app for marathon training, especially in the heat. It helps adjust pace based on temperature and humidity, as well as elevation, so you don't overcook sessions or long runs. I've found it makes a big difference for staying controlled and consistent on hotter days. Simple to use and takes the guesswork out of pacing. Highly recommend.",author:"Mads8767",role:"App Store \xb7 Australia",reviewMonthYear:"March 2026",rating:5},{quote:"Fantastic app for planning races effectively. Weather data is accurate & impact on performance lines up well with pace on race day. Updates are timely & effective to create an ever improving app. Highly recommend",author:"Josh Moody",role:"Google Play",reviewMonthYear:"February 2026",rating:5},{quote:"Incredible detail and insight to help me maximize race day.",author:"Clayton Young",role:"Google Play",reviewMonthYear:"April 2026",rating:5},{quote:"Well designed app that's great for both reviewing how you really went in that marathon where it was 5C hotter than planned, but more importantly how to target your training paces over terrain and in variable weather. Summer is a great example ⦠how much should I slow down on that hot afternoon session so I don't blow up? How hard are those hills really? Support very accessible too. \uD83D\uDC4D\uD83D\uDC4D",author:"AR3128",role:"App Store \xb7 Australia",reviewMonthYear:"March 2026",rating:5},{kind:"youtube",youtubeId:"7fGbR_70AYk",startSeconds:242,caption:"6 Apps Every Runner Needs",author:"Cole Running",role:"YouTube Content Creator"},{quote:"Started using this app fairly recently and am very impressed. Helped me sort it by pacing strategy for a recent half marathon taking in to account both the weather and course profile. Running the first few miles into a headwind it gave me confidence to relax and trust that I could make the time back - which I did!",author:"PeteHRC",role:"App Store \xb7 United Kingdom",reviewMonthYear:"March 2026",rating:5},{quote:"Great tool to aid racing and training especially in areas effected by wind and temperature.",author:"James Gullen",role:"Google Play",reviewMonthYear:"March 2026",rating:5},{quote:"Used MeteoPace in 2025 Berlin Marathon to plan race and paces. Unprecedented hot weather av temp 27 deg. MeteoPace predicted accurately within 30 secs of my time! Under really tough conditions made it a successful day where there was significant DNF's. Thanks for such an impressive race tool!",author:"Lynn Pesk",role:"App Store \xb7 Australia",reviewMonthYear:"September 2025",rating:5},{kind:"instagram",href:"https://www.instagram.com/stories/highlights/18089818009616771/",caption:"Shoutouts from Instagram"},{quote:"I've been enjoying the app for the last few days and found the data for London very helpful. Looking forward to using this for training towards Sydney in August!",author:"Shnabz1",role:"App Store \xb7 Australia",reviewMonthYear:"May 2025",rating:5},{quote:"amazing app",author:"Owain Zerilli",role:"Google Play",reviewMonthYear:"March 2026",rating:5},{quote:"This app is an absolute game changer.",author:"Gmyre",role:"App Store \xb7 United Kingdom",reviewMonthYear:"February 2026",rating:5}];function C(e){let{value:t}=e,a=Math.min(5,Math.max(0,Math.round(t))),l="h-3.5 w-3.5 shrink-0 sm:h-4 sm:w-4";return(0,s.jsx)("div",{className:"flex items-center gap-2",role:"img","aria-label":"".concat(a," out of 5 stars"),children:Array.from({length:5},(e,t)=>(0,s.jsx)(y,{className:t<a?"".concat(l," fill-[#F5C451] text-[#F5C451] stroke-[#D4A43E]"):"".concat(l," fill-slate-200 stroke-slate-400/90 text-slate-200"),"aria-hidden":!0,strokeWidth:t<a?1.35:1.55,absoluteStrokeWidth:!0},t))})}let _="relative flex w-[min(100vw-2rem,22rem)] flex-shrink-0 flex-col rounded-2xl border border-slate-200 bg-white p-3 shadow-[0_2px_12px_rgba(15,23,42,0.08)] sm:w-[24rem]
1sm:p-4",S="h-[16rem] shrink-0 overflow-hidden sm:h-[17rem]";function K(e){let{className:t}=e;return(0,s.jsx)("svg",{className:t,viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",children:(0,s.jsx)("path",{fill:"currentColor",d:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"})})}function E(e){let{className:t}=e;return(0,s.jsxs)("svg",{className:t,viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",children:[(0,s.jsx)("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"}),(0,s.jsx)("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),(0,s.jsx)("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),(0,s.jsx)("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]})}function Z(e){let{className:t}=e;return(0,s.jsxs)("svg",{className:t,viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",children:[(0,s.jsx)("path",{fill:"#FF0000",d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814z"}),(0,s.jsx)("path",{fill:"#fff",d:"M9.545 15.568V8.432L15.818 12l-6.273 3.568z"})]})}function A(e){let{className:t}=e,a=(0,w.useId)().replace(/:/g,""),l="ig-".concat(a);return(0,s.jsxs)("svg",{className:t,viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",children:[(0,s.jsx)("defs",{children:(0,s.jsxs)("linearGradient",{id:l,x1:"0%",y1:"100%",x2:"100%",y2:"0%",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:"#f09433"}),(0,s.jsx)("stop",{offset:"50%",stopColor:"#e6683c"}),(0,s.jsx)("stop",{offset:"100%",stopColor:"#bc1888"})]})}),(0,s.jsx)("path",{fill:"url(#".concat(l,")"),d:"M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.897 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.654.07-4.859.07-3.2 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.897-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.2.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.757 6.162 6.162 6.162 3.405 0 6.162-2.757 6.162-6.162 0-3.403-2.757-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.645-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"})]})}function I(e){let{videoId:t,alt:a,explicitSrc:l}=e,[r,n]=(0,w.useState)(0);if(l)return(0,s.jsx)("img",{src:l,alt:a,className:"h-full w-full object-cover",loading:"lazy"});let i=["https://i.ytimg.com/vi/".concat(t,"/maxresdefault.jpg"),"https://i.ytimg.com/vi/".concat(t,"/hqdefault.jpg")];return r>=i.length?(0,s.jsx)("div",{className:"flex h-full w-full items-center justify-center bg-slate-100 px-2 text-center text-[10px] font-semibold text-slate-700",children:"Preview unavailable"}):(0,s.jsx)("img",{src:i[r],alt:a,className:"h-full w-full object-cover",loading:"lazy",onError:()=>n(e=>e+1)})}function z(e){let{quote:t,author:a,role:l,reviewMonthYear:r,rating:n}=e,i=l.includes("App Store")?"apple":l.includes("Google Play")?"google":null;return(0,s.jsxs)("figure",{className:"".concat(_," ").concat(S," min-h-0 justify-between"),title:t,children:[(0,s.jsx)(N,{className:"absolute right-2.5 top-2.5 h-5 w-5 text-sky-400/40 sm:right-3 sm:top-3 sm:h-6 sm:w-6","aria-hidden":!0}),(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2",children:[(0,s.jsx)("div",{className:"shrink-0 pb-0.5",children:(0,s.jsx)(C,{value:n})}),(0,s.jsx)("blockquote",{className:"min-h-0 flex-1 overflow-y-auto overscroll-y-contain pr-4 text-xs leading-snug text-slate-900 sm:pr-5 sm:text-sm",children:(0,s.jsxs)("p",{children:["â",t,"â"]})})]}),(0,s.jsxs)("figcaption",{className:"mt-2 shrink-0 border-t border-slate-200 pt-2 sm:mt-2.5 sm:pt-2.5",children:[(0,s.jsx)("span",{className:"text-sm font-semibold text-slate-900",children:a}),(0,s.jsxs)("span",{className:"mt-0.5 flex items-start gap-1 text-[11px] font-medium leading-snug text-slate-600 sm:text-xs",children:["apple"===i&&(0,s.jsx)(K,{className:"mt-0.5 h-3 w-3 shrink-0 text-slate-900 sm:h-3.5 sm:w-3.5"}),"google"===i&&(0,s.jsx)(E,{className:"mt-0.5 h-3 w-3 shrink-0 sm:h-3.5 sm:w-3.5"}),(0,s.jsxs)("span",{className:"min-w-0 leading-snug",children:[l,r&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-slate-400",children:" \xb7 "}),(0,s.jsx)("span",{className:"tabular-nums text-[10px] font-semibold text-slate-600 sm:text-[11px]",children:r})]})]})]})]})]})}function F(e){let{youtubeId:t,thumbnailSrc:a,startSeconds:l,author:r,role:n,caption:i}=e,c=t.includes("YOUR_")||11!==t.length,d=null!=l&&l>=0?"https://www.youtube.com/watch?v=".concat(encodeURIComponent(t),"&t=").concat(Math.round(l),"s"):"https://www.youtube.com/watch?v=".concat(encodeURIComponent(t));return(0,s.jsxs)("figure",{className:"".concat(_," ").concat(S," min-h-0 gap-2 sm:gap-3"),children:[(0,s.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl bg-white ring-1 ring-slate-200",children:c?(0,s.jsx)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-2 bg-slate-50 px-4 py-4 text-center",children:(0,s.jsxs)("p",{className:"text-xs font-medium text-slate-600",children:["Set a real"," ",(0,s.jsx)("span",{className:"font-mono text-slate-900",children:"youtubeId"}
1)," ","(11 characters) to show the video thumbnail."]})}):(0,s.jsxs)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"group relative block min-h-0 w-full flex-1 overflow-hidden outline-none ring-offset-2 focus-visible:ring-2 focus-visible:ring-sky-500","aria-label":"Watch on YouTube: ".concat(null!=i?i:r," (").concat(r,")"),children:[(0,s.jsx)(I,{videoId:t,explicitSrc:a,alt:"".concat(null!=i?i:"YouTube video"," by ").concat(r)}),(0,s.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-gradient-to-t from-black/50 via-black/15 to-black/25 transition-colors group-hover:from-black/55 group-hover:via-black/20",children:(0,s.jsx)("span",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-white/95 text-red-600 shadow-lg sm:h-11 sm:w-11",children:(0,s.jsx)(k,{className:"ml-0.5 h-5 w-5 sm:h-6 sm:w-6",fill:"currentColor","aria-hidden":!0})})})]})}),i&&(0,s.jsx)("p",{className:"line-clamp-2 shrink-0 text-xs font-semibold leading-snug text-slate-900 sm:text-sm",children:i}),(0,s.jsxs)("figcaption",{className:"mt-auto flex shrink-0 items-end justify-between gap-2 border-t border-slate-200 pt-2 sm:pt-2.5",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("span",{className:"text-sm font-semibold text-slate-900",children:r}),(0,s.jsx)("span",{className:"mt-0.5 block text-[11px] font-semibold text-sky-600 sm:text-xs",children:n})]}),(0,s.jsx)(Z,{className:"h-4 w-4 shrink-0 self-end sm:h-5 sm:w-5"})]})]})}function R(e){var t;let{href:a,thumbnailSrc:l,caption:r}=e,n=null!==(t=null==l?void 0:l.trim())&&void 0!==t?t:"",[i,c]=(0,w.useState)(()=>n||null),[d,o]=(0,w.useState)(()=>n?"ready":"loading");return(0,w.useEffect)(()=>{if(n){c(n),o("ready");return}let e=!1;return o("loading"),c(null),fetch("/api/instagram-thumbnail?url=".concat(encodeURIComponent(a))).then(e=>e.json()).then(t=>{var a;if(e)return;let s=null==t?void 0:null===(a=t.thumbnailUrl)||void 0===a?void 0:a.trim();s?(c(s),o("ready")):o("error")}).catch(()=>{e||o("error")}),()=>{e=!0}},[a,n]),(0,s.jsxs)("figure",{className:"".concat("relative flex w-[min(100vw-2rem,10.5rem)] flex-shrink-0 flex-col gap-1 overflow-hidden rounded-2xl border border-slate-200 bg-white px-2.5 pb-2.5 pt-2 shadow-[0_2px_12px_rgba(15,23,42,0.08)] sm:w-[11rem] sm:px-3 sm:pb-3 sm:pt-2.5"," ").concat(S," min-h-0 justify-between gap-0"),children:[(0,s.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"relative mt-0 flex min-h-0 w-full flex-1 flex-col overflow-hidden rounded-t-2xl rounded-b-lg bg-slate-50 ring-1 ring-slate-200 outline-none ring-offset-2 focus-visible:ring-2 focus-visible:ring-sky-500","aria-label":"Open Instagram post",children:"ready"===d&&i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("img",{src:i,alt:"",className:"h-full w-full object-cover",loading:"lazy"}),(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/35 via-trans
1parent to-black/10"})]}):"loading"===d?(0,s.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 animate-pulse bg-slate-200/90","aria-hidden":!0}):(0,s.jsx)("div",{className:"flex h-full min-h-0 flex-1 flex-col items-center justify-center gap-1 px-1 text-center",children:(0,s.jsxs)("p",{className:"text-[9px] font-medium leading-tight text-slate-600",children:["No preview. Add"," ",(0,s.jsx)("span",{className:"font-mono text-[0.65rem] text-slate-900",children:"thumbnailSrc"})," ","(image in ",(0,s.jsx)("span",{className:"font-mono text-[0.65rem]",children:"public/"})," ","or URL)."]})})}),(0,s.jsxs)("figcaption",{className:"flex shrink-0 items-end justify-between gap-1.5 border-t border-slate-200 pt-1.5 text-[11px] font-medium leading-snug text-slate-900 sm:gap-2 sm:pt-2 sm:text-xs",children:[(0,s.jsx)("span",{className:"line-clamp-3 min-w-0 flex-1",children:r}),(0,s.jsx)(A,{className:"h-3.5 w-3.5 shrink-0 self-end sm:h-4 sm:w-4"})]})]})}function L(e){return"youtube"===e.kind?(0,s.jsx)(F,{...e}):"instagram"===e.kind?(0,s.jsx)(R,{...e}):(0,s.jsx)(z,{...e})}let H=[...M,...M,...M];function W(){return(0,s.jsx)("header",{className:"mx-auto mb-4 w-full max-w-full overflow-x-auto overscroll-x-contain px-4 text-center sm:mb-5",children:(0,s.jsx)("h2",{className:"mx-auto max-w-3xl text-center text-xs font-semibold uppercase leading-relaxed tracking-[0.2em] text-slate-500 dark:text-modern-background/60 sm:max-w-4xl",children:"What runners say after race day"})})}function Y(e,t){if(t<=0)return;let a=e.scrollLeft,s=0;for(;a<t&&s++<16;)a+=t;for(s=0;a>=2*t&&s++<16;)a-=t;Math.abs(a-e.scrollLeft)>.5&&(e.scrollLeft=a)}function B(){let e=T(),t=(0,w.useRef)(null),a=(0,w.useRef)(null),l=(0,w.useRef)(0),r=(0,w.useRef)(null),n=(0,w.useRef)(null),i=(0,w.useRef)({pending:!1,active:!1,pointerId:null,startX:0,startY:0,startScrollLeft:0}),[c,d]=(0,w.useState)(!1),[o,m]=(0,w.useState)(!1),x=()=>{let e=t.current;if(!e)return;let a=e.scrollWidth/3;a<=1||(l.current=a,Y(e,a))};(0,w.useLayoutEffect)(()=>{let e=a.current,s=t.current;if(!e||!s)return;x();let l=new ResizeObserver(()=>x());return l.observe(e),()=>l.disconnect()},[]),(0,w.useEffect)(()=>{if(e){r.current=null;return}let a=0,s=e=>{let n=t.current,i=l.current;if(n&&i>0){if(c||o)r.current=e;else{let t=r.current;null!=t&&(n.scrollLeft+=i/55*Math.min(.1,(e-t)/1e3)),r.current=e}Y(n,i)}a=requestAnimationFrame(s)};return a=requestAnimationFrame(s),()=>{cancelAnimationFrame(a),r.current=null}},[c,o,e]),(0,w.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]);let h=()=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{let e=i.current;e.active||e.pending||d(!1)},1200)},u=()=>{d(!0),h()},p=()=>{let e=i.current,a=t.current;if(e.active&&null!=a&&null!=e.pointerId){try{a.hasPointerCapture(e.pointerId)&&a.releasePointerCapture(e.pointerId)}catch(e){}h()}i.current={pending:!1,active:!1,pointerId:null,startX:0,startY:0,startScrollLeft:0}};return e?(0,s.jsxs)("div",{className:"bg-white px-4 pb-5 dark:bg-modern-primary sm:px-6 sm:pb-6",children:[(0,s.jsx)(W,{}),(0,s.jsx)("div",{className:"mx-auto grid max-w-6xl gap-4 sm:grid-cols-2 lg:grid-cols-3",children:M.slice(0,3).map((e,t)=>(0,s.jsx)(L,{...e},"static-".concat(t)))})]}):(0,s.jsxs)("div",{className:"bg-white pb-5 dark:bg-modern-primary sm:pb-6",children:[(0,s.jsx)(W,{}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("div",{className:"pointer-events-none absolute inset-y-0 left-0 z-10 w-12 bg-gradient-to-r from-white dark:from-modern-primary sm:w-20","aria-hidden":!0}),(0,s.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 z-10 w-12 bg-gradient-to-l from-white dark:from-modern-primary sm:w-20","aria-hidden":!0}),(0,s.jsx)("div",{ref:t,className:"select-none overflow-x-auto overflow-y-hidden overscroll-x-contain cursor-grab active:cursor-grabbing [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",onWheel:e=>{let a=t.current;if(!a)return;let s=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.deltaY;if(0===s)return;e.preventDefault(),u(),a.scrollLeft+=1.15*s;let r=l.current;r>0&&Y(a,r)},onScroll:()=>{let e=t.current,a=l.current;e&&a>0&&Y(e,a)},onPointerDown:e=>{if("touch"===e.pointerType)return;let a=t.current;a&&(i.current={pending:!0,active:!1,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,startScrollLeft:a.scrollLeft})},onPointerMove:e=>{let a=t.current,s=i.current;if(a&&(s.pending||s.active)){if(s.pending&&!s.active){var r;let t=e.clientX-s.startX,n=e.clientY-s.startY;
1if(t*t+n*n<64)return;null===(r=window.getSelection())||void 0===r||r.removeAllRanges(),i.current={...s,pending:!1,active:!0},d(!0);try{a.setPointerCapture(e.pointerId)}catch(e){}e.preventDefault(),a.scrollLeft=s.startScrollLeft-t;let c=l.current;c>0&&Y(a,c);return}if(s.active){e.preventDefault(),a.scrollLeft=s.startScrollLeft-(e.clientX-s.startX);let t=l.current;t>0&&Y(a,t)}}},onPointerUp:()=>{p()},onPointerCancel:()=>{p()},onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),children:(0,s.jsx)("div",{ref:a,className:"flex w-max items-stretch gap-4 pr-4 sm:gap-5 sm:pr-5",children:H.map((e,t)=>(0,s.jsx)(L,{...e},"marquee-".concat(t)))})})]})]})}var q=a(1047),O=a(2973),G=a(265),U=a(6927),V=a(3245),X=a(2135),J=a(476),Q=a(2489),$=a(9097),ee=a(7393),et=a(6012),ea=a(4493);function es(e){return!function(e){let t=e.trim().toLowerCase().replace(/\s/g,"");if("+0s"===t||"-0s"===t||"0s"===t||"+0"===t||"-0"===t)return!0;let a=t.match(/^([+-]?)(\d+):(\d{1,2})s?$/);if(a)return 0===Number(a[2])&&0===Number(a[3]);let s=t.match(/^([+-]?)(\d+(?:\.\d+)?)s$/);return!!s&&0===Number(s[2])}(e)?(0,ee.ip)(e):"text-slate-500"}let el="Switch between kilometers and miles in the MeteoPace app.",er="You can customise your split interval in 1 km or 1 mile increments in the MeteoPace app.",en=[{distance:"3 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"13:51",timeDelta:"+0s",rowKind:"split"},{distance:"6 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"27:42",timeDelta:"+0s",rowKind:"split"},{distance:"9 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"41:33",timeDelta:"+0s",rowKind:"split"},{distance:"12 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"55:24",timeDelta:"+0s",rowKind:"split"},{distance:"15 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:09:15",timeDelta:"+0s",rowKind:"split"},{distance:"18 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:23:06",timeDelta:"+0s",rowKind:"split"},{distance:"21 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:36:57",timeDelta:"+0s",rowKind:"split"},{distance:"Half",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:37:31",timeDelta:"+0s",rowKind:"half"},{distance:"24 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:50:48",timeDelta:"+0s",rowKind:"split"},{distance:"27 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"2:04:39",timeDelta:"+0s",rowKind:"split"},{distance:"30 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"2:18:30",timeDelta:"+0s",rowKind:"split"},{distance:"33 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"2:32:21",timeDelta:"+0s",rowKind:"split"},{distance:"36 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"2:46:12",timeDelta:"+0s",rowKind:"split"},{distance:"39 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"3:00:03",timeDelta:"+0s",rowKind:"split"},{distance:"42 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"3:13:54",timeDelta:"+0s",rowKind:"split"},{distance:"42.2 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"3:15:00",timeDelta:"+0s",rowKind:"split"},{distance:"Total",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"3:15:00",timeDelta:"+0s",rowKind:"total"}],ei=[{id:1,title:"Choose a race",support:"Set your goal pace and target time for the course."},{id:2,title:"Impact over the hills",support:"Elevation, climbs, and descents become pace cost along the course profile."},{id:3,title:"Weather layered onto your race",support:"Live forecasts or historical race-day weather, mapped onto each segment of the route."}],ec={1:{title:"Race selected",blurb:"Your goal time, before terrain and weather change the math.",goalTime:"3:15:00",adjustedTime:null,deltaLabel:null,impactBreakdown:{elevation:0,heat:0,wind:0},totalImpact:0},2:{title:"Terrain cost applied",blurb:"The course profile moves your expected time before race-day weather is added.",goalTime:"3:15:00",adjustedTime:"3:17:24",deltaLabel:"+2:24 due to hills",impactBreakdown:{elevation:1.35,heat:0,wind:0},totalImpact:1.35},3:{title:"Your adjusted race outcome",blurb:"Terrain, heat, and wind rolled into one adjusted finish time.",goalTime:"3:15:00",adjustedTime:"3:18:14",deltaLabel:"+3:14 due to hills and conditions",impactBreakdown:{elevation:1.35,heat:.32,wind:-.07},totalImpact:1.6}},ed={Total:[{distance:"3 km",adjustedPace:"4:47/km",paceDelta:"+10s",cumulativeTime:"13:55",timeDelta:"+24s",rowKind:"split"},{distance:"6 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"27:51",timeDelta:"+26s",rowKind:"split"},{distance:"9 km",adjustedPace:"4:31/km",paceDelta:"-5s",cumulativeTime:"41:25",timeDelta:"+1s",rowKind:"split"},{distance:"12 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"55:16",timeDelta:"+1s",rowKind:"split"},{distance:"15 km",adjustedPace:"4:41/km",paceDelta:"+5s",cumulativeTime:"1:09:18",timeDelta:"+4s",rowKind:"split"},{distance:"18 km",adjustedPace:"4:38/km",paceDelta:"+2s",cumulativeTime:"1:23:11",timeDelta:"+7s",rowKind:"split"},{distance:"21 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:37:00",timeDelta:"+7s",rowKind:"split"},{distance:"Half",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"1:37:45",timeDelta:"+16s",rowKind:"half"},{distance:"24 km",adjustedPace:"4:47/km",paceDelta:"+10s",cumulativeTime:"1:50:56",timeDelta:"+15s",rowKind:"split"},{distance:"27 km",adjustedPace:"4:40/km",paceDelta:"+3s",cumulativeTime:"2:04:58",timeDelta:"+16s",rowKind:"split"},{distance:"30 km",adjustedPace:"4:34/km",paceDelta:"-3s",cumulativeTime:"2:18:39",timeDelta:"+6s",rowKind:"split"},{distance:"33 km",adjustedPace:"4:41/km",paceDelta:"+5s",cumulativeTime:"2:32:43",timeDelta:"+10s",rowKind:"split"},{distance:"36 km",adjustedPace:"4:44/km",paceDelta:"+7s",cumulativeTime:"2:56:57",timeDelta:"+17s",rowKind:"split"},{distance:"39 km",adjustedPace:"4:55/km",paceDelta:"+18s",cumulativeTime:"3:11:43",timeDelta:"+28s",rowKind:"split"},{distance:"42 km",adjustedPace:"4:47/km",paceDelta:"+10s",cumulativeTime:"3:16:24",timeDelta:"+34s",rowKind:"split"},{distance:"42.2 km",adjustedPace:"4:52/km",paceDelta:"+15s",cumulativeTime:"3:18:14",timeDelta:"+3:14",rowKind:"split"},{distance:"Total",adjustedPace:"4:41/km",paceDelta:"+5s",cumulativeTime:"3:18:14",timeDelta:"+3:14",rowKind:"total"}],Elevation:[{distance:"3 km",adjustedPace:"4:48/km",paceDelta:"+11s",cumulativeTime:"13:58",timeDelta:"+27s",rowKind:"split"},{distance:"6 km",adjustedPace:"4:38/km",paceDelta:"+2s",cumulativeTime:"27:53",timeDelta:"+28s",rowKind:"split"},{distance:"9 km",adjustedPace:"4:32/km",paceDelta:"-5s",cumulativeTime:"41:28",timeDelta:"+4s",rowKind:"split"},{distance:"12 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"55:21",timeDelta:"+6s",rowKind:"split"},{distance:"15 km",adjustedPace:"4:42/km",paceDelta:"+5s",cumulativeTime:"1:09:26",timeDelta:"+12s",rowKind:"split"},{distance:"18 km",adjustedPace:"4:38/km",paceDelta:"+2s",cumulativeTime:"1:23:20",timeDelta:"+16s",rowKind:"split"},{distance:"21 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:37:12",timeDelta:"+19s",rowKind:"split"},{distance:"Half",adjustedPace:"4:39/km",paceDelta:"+2s",cumulativeTime:"1:38:17",timeDelta:"+48s",rowKind:"half"},{distance:"24 km",adjustedPace:"4:46/km",paceDelta:"+9s",cumulativeTime:"1:51:30",timeDelta:"+49s",rowKind:"split"},{distance:"27 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"2:05:25",timeDelta:"+43s",rowKind:"split"},{distance:"30 km",adjustedPace:"4:33/km",paceDelta:"-4s",cumulativeTime:"2:19:04",timeDelta:"+31s",rowKind:"split"},{distance:"33 km",adjustedPace:"4:41/km",paceDelta:"+4s",cumulativeTime:"2:33:06",timeDelta:"+33s",rowKind:"split"},{distance:"36 km",adjustedPace:"4:39/km",paceDelta:"+2s",cumulativeTime:"2:47:04",timeDelta:"+31s",rowKind:"split"},{distance:"39 km",adjustedPace:"4:49/km",paceDelta:"+12s",cumulativeTime:"3:01:33",timeDelta:"+18s",rowKind:"split"},{distance:"42 km",adjustedPace:"4:43/km",paceDelta:"+6s",cumulativeTime:"3:15:43",timeDelta:"+23s",rowKind:"split"},{distance:"42.2 km",adjustedPace:"4:50/km",paceDelta:"+14s",cumulativeTime:"3:17:24",timeDelta:"+2:24",rowKind:"split"},{distance:"Total",adjustedPace:"4:40/km",paceDelta:"+3s",cumulativeTime:"3:17:24",timeDelta:"+2:24",rowKind:"total"}],Heat:[{distance:"3 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"13:49",timeDelta:"-2s",rowKind:"split"},{distance:"6 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"27:38",timeDelta:"-2s",rowKind:"split"},{distance:"9 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"41:27",timeDelta:"-2s",rowKind:"split"},{distance:"12 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"55:16",timeDelta:"-1s",rowKind:"split"},{distance:"15 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:09:05",timeDelta:"-1s",rowKind:"split"},{distance:"18 km",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:22:54",timeDelta:"-1s",rowKind:"split"},{distance:"21 km",adjustedPace:"4:37/km",paceDelta:"+1s",cumulativeTime:"1:36:43",timeDelta:"+1s",rowKind:"split"},{distance:"Half",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"1:37:33",timeDelta:"+4s",rowKind:"half"},{distance:"24 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"1:50:34",timeDelta:"+3s",rowKind:"split"},{distance:"27 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"2:04:25",timeDelta:"+4s",rowKind:"split"},{distance:"30 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"2:18:16",timeDelta:"+6s",rowKind:"split"},{distance:"33 km",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"2:32:07",timeDelta:"+7s",rowKind:"split"},{distance:"36 km",adjustedPace:"4:38/km",paceDelta:"+2s",cumulativeTime:"2:45:58",timeDelta:"+9s",rowKind:"split"},{distance:"39 km",adjustedPace:"4:39/km",paceDelta:"+2s",cumulativeTime:"2:59:52",timeDelta:"+13s",rowKind:"split"},{distance:"42 km",adjustedPace:"4:39/km",paceDelta:"+2s",cumulativeTime:"3:13:49",timeDelta:"+19s",rowKind:"split"},{distance:"42.2 km",adjustedPace:"4:39/km",paceDelta:"+2s",cumulativeTime:"3:15:37",timeDelta:"+37s",rowKind:"split"},{distance:"Total",adjustedPace:"4:38/km",paceDelta:"+1s",cumulativeTime:"3:15:37",timeDelta:"+37s",rowKind:"total"}],Wind:[{distance:"3 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"13:48",timeDelta:"-3s",rowKind:"split"},{distance:"6 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"27:36",timeDelta:"-4s",rowKind:"split"},{distance:"9 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"41:24",timeDelta:"-5s",rowKind:"split"},{distance:"12 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"55:13",timeDelta:"-5s",rowKind:"split"},{distance:"15 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"1:09:01",timeDelta:"-6s",rowKind:"split"},{distance:"18 km",adjustedPace:"4:36/km",paceDelta:"+0s",cumulativeTime:"1:22:49",timeDelta:"-7s",rowKind:"split"},{distance:"21 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"1:36:38",timeDelta:"-8s",rowKind:"split"},{distance:"Half",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"1:37:14",timeDelta:"-14s",rowKind:"half"},{distance:"24 km",adjustedPace:"4:36/km",paceDelta:"+0s",cumulativeTime:"1:50:27",timeDelta:"-14s",rowKind:"split"},{distance:"27 km",adjustedPace:"4:37/km",paceDelta:"+1s",cumulativeTime:"2:04:22",timeDelta:"-9s",rowKind:"split"},{distance:"30 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"2:18:09",timeDelta:"-8s",rowKind:"split"},{distance:"33 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"2:31:58",timeDelta:"-8s",rowKind:"split"},{distance:"36 km",adjustedPace:"4:40/km",paceDelta:"+3s",cumulativeTime:"2:45:59",timeDelta:"+0s",rowKind:"split"},{distance:"39 km",adjustedPace:"4:41/km",paceDelta:"+4s",cumulativeTime:"3:00:03",timeDelta:"+6s",rowKind:"split"},{distance:"42 km",adjustedPace:"4:39/km",paceDelta:"+2s",cumulativeTime:"3:14:01",timeDelta:"+11s",rowKind:"split"},{distance:"42.2 km",adjustedPace:"4:36/km",paceDelta:"-1s",cumulativeTime:"3:15:12",timeDelta:"+12s",rowKind:"split"},{distance:"Total",adjustedPace:"4:37/km",paceDelta:"+0s",cumulativeTime:"3:15:12",timeDelta:"+12s",rowKind:"total"}]},eo=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],em={Total:[13.46,1.51,-5.72,.48,5.17,1.42,-.19,9.32,4.47,-2.57,4.43,5.78,15.6,8.22,15.1],Elevation:[14.21,2.1,-4.98,1.13,5.54,1.55,-.14,8.78,3.09,-3.37,3.39,2.92,12.28,5.18,13.71],Heat:[0,0,0,.09,.36,.41,.51,.92,1.35,1.47,1.5,1.64,1.97,2.11,2.11],Wind:[-.75,-.58,-.75,-.75,-.72,-.54,-.56,-.39,.03,-.67,-.45,1.23,1.37,.93,-.72]},ex=4+37/60;function eh(e){let t=Math.round(10*e)/10;return"".concat(t>0?"+":"").concat(t.toFixed(1),"%")}function eu(e,t,a,s,l){var r;let n=null!==(r=(1===s?eo:em[l])[a])&&void 0!==r?r:0,{paceMin:i,paceMax:c,paceRangeSize:d,barMinWidth:o,barWidthRange:m}=t,x=o+m;if(d<=0){let e=o+.5*m;return{barWidthPercent:100*e,linePercent:100*e}}return{barWidthPercent:100*Math.min(x,Math.max(o,o+(c-(ex+n/60))/d*m)),linePercent:100*Math.min(x,Math.max(o,o+(c-ex)/d*m))}}let ep="new-york-city-marathon";function ef(){let{resolvedTheme:e}=(0,$.F)(),t="dark"===e?"dark":"light",[a,l]=(0,w.useState)(null),[r,n]=(0,w.useState)(!1);return(0,w.useEffect)(()=>{let e=!1;return fetch("/api/race-route-overlay/".concat(ep,"?theme=").concat(t)).then(e=>e.json()).then(t=>{var a;if(e)return;let s=null==t?void 0:null===(a=t.data)||void 0===a?void 0:a.routeOverlayPngUrl;"string"==typeof s&&s.length>0?l(s):n(!0)}).catch(()=>{e||n(!0)}),()=>{e=!0}},[t]),(0,s.jsxs)("div",{className:"relative h-[76px] w-full min-w-0 overflow-hidden sm:h-[82px]",children:[!a&&!r&&(0,s.jsx)("div",{className:"absolute inset-0 animate-pulse bg-slate-100/50","aria-hidden":!0}),r&&(0,s.jsx)("div",{className:"flex h-full items-center justify-center px-1 text-center text-[9px] leading-tight text-slate-400",children:"Route preview"}),a?(0,s.jsx)("img",{src:a,alt:"",className:"h-full w-full object-contain object-center",loading:"lazy",decoding:"async"}):null]})}function eg(){return(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-white/70 px-3 py-1.5 shadow-[0_6px_16px_rgba(15,23,42,0.08)] backdrop-blur-md sm:rounded-xl sm:px-4 sm:py-1",children:(0,s.jsx)("div",{className:"flex w-full justify-center",children:(0,s.jsxs)("div",{className:"inline-flex max-w-full items-center gap-5 sm:gap-7 md:gap-9",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("h4",{className:"whitespace-nowrap text-sm font-semibold leading-tight tracking-tight text-slate-900 sm:text-sm",children:"New York City Marathon"}),(0,s.jsxs)("div",{className:"mt-1.5 space-y-0.5 text-xs leading-snug text-slate-600 sm:text-xs",children:[(0,s.jsxs)("p",{className:"flex items-center gap-1",children:[(0,s.jsx)(q.Z,{className:"h-3.5 w-3.5 shrink-0 text-slate-500 sm:h-4 sm:w-4","aria-hidden":!0}),"Nov 1, 2026"]}),(0,s.jsxs)("p",{className:"flex items-start gap-1",children:[(0,s.jsx)(c.Z,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-slate-500 sm:h-4 sm:w-4","aria-hidden":!0}),(0,s.jsx)("span",{className:"min-w-0",children:"New York, NY, USA"})]})]})]}),(0,s.jsx)("div",{className:"min-h-0 w-24 shrink-0 sm:w-28",children:(0,s.jsx)(ef,{})})]})})})}function eb(){let[e,t]=(0,w.useState)(null),[a,l]=(0,w.useState)(!1);return(0,w.useEffect)(()=>{let e=!1;return fetch("/api/race-elevation/".concat(ep,"?theme=light&format=desktop")).then(e=>e.json()).then(a=>{var s;if(e)return;let r=null==a?void 0:null===(s=a.data)||void 0===s?void 0:s.elevationCurveImage;"string"==typeof r&&r.length>0?t(r):l(!0)}).catch(()=>{e||l(!0)}),()=>{e=!0}},[]),(0,s.jsxs)("div",{className:"relative h-full w-full overflow-hidden",children:[!e&&!a&&(0,s.jsx)("div",{className:"absolute inset-0 animate-pulse bg-slate-100/70","aria-hidden":!0}),a&&(0,s.jsx)("div",{className:"flex h-full items-center justify-center px-2 text-center text-[9px] leading-tight text-slate-400",children:"Elevation chart"}),e?(0,s.jsx)("img",{src:e,alt:"",className:"h-full w-full object-fill",loading:"lazy",decoding:"async"}):null]})}let ew={iconKey:"mostlycloudy",avgTempC:13,feelsC:13,startTempC:12,endTempC:15,humidityPct:67,cloudPct:58,windKmh:15.6,windDirDeg:180};function ej(){let e=(0,et.IA)(ew.iconKey,!1),t=null!=ew.startTempC&&null!=ew.endTempC?"Race Start: ".concat(Math.round(ew.startTempC),"\xb0C â End: ").concat(Math.round(ew.endTempC),"\xb0C"):null,a=null!=ew.cloudPct?"".concat(Math
1.round(ew.cloudPct),"%"):"â",l=null!=ew.humidityPct?"".concat(Math.round(ew.humidityPct),"%"):"â",r=null!=ew.windKmh&&Number.isFinite(ew.windKmh)?"".concat(ew.windKmh.toFixed(1)):"â";return(0,s.jsx)("div",{className:"rounded-lg border border-slate-300/80 bg-white/72 px-2 py-1.5 shadow-[0_6px_16px_rgba(15,23,42,0.08)] backdrop-blur-md sm:rounded-xl sm:px-2.5 sm:py-2",children:(0,s.jsxs)("div",{className:"flex flex-col gap-1.5 sm:gap-2",children:[(0,s.jsxs)("div",{className:"flex items-start gap-1.5 sm:gap-2",children:[(0,s.jsx)("img",{src:e,alt:"",className:"h-11 w-11 shrink-0 object-contain sm:h-12 sm:w-12",loading:"lazy",decoding:"async"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("p",{className:"text-lg font-semibold leading-none text-slate-900 sm:text-xl",children:[Math.round(ew.avgTempC),"\xb0C"]}),(0,s.jsxs)("p",{className:"mt-0.5 text-xs leading-tight text-slate-600 sm:text-sm",children:["Feels like ",Math.round(ew.feelsC),"\xb0C"]}),t?(0,s.jsx)("p",{className:"mt-0.5 text-xs leading-tight text-slate-600 sm:text-sm",children:t}):null]})]}),(0,s.jsx)("div",{className:"mt-1 border-t border-slate-300/70 pt-2",children:(0,s.jsxs)("div",{className:"flex",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1 pr-2 text-center",children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] text-slate-500 sm:text-xs",children:[(0,s.jsx)(d.Z,{className:"h-2.5 w-2.5 shrink-0 sm:h-3 sm:w-3","aria-hidden":!0}),"Cloud cover"]}),(0,s.jsx)("p",{className:"mt-1 text-sm font-semibold leading-none text-slate-900 sm:text-base",children:a})]}),(0,s.jsxs)("div",{className:"min-w-0 flex-1 border-l border-slate-300/70 px-2 text-center",children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] text-slate-500 sm:text-xs",children:[(0,s.jsx)(O.Z,{className:"h-2.5 w-2.5 shrink-0 sm:h-3 sm:w-3","aria-hidden":!0}),"Wind"]}),(0,s.jsxs)("p",{className:"mt-1 flex items-center justify-center gap-0.5 text-sm font-semibold leading-none text-slate-900 sm:text-base",children:[null!=ew.windDirDeg&&Number.isFinite(ew.windDirDeg)?(0,s.jsx)(G.Z,{className:"h-3.5 w-3.5 shrink-0 sm:h-4 sm:w-4",style:{transform:"rotate(".concat((0,ea.wK)(ew.windDirDeg),"deg)")},"aria-hidden":!0}):null,(0,s.jsxs)("span",{children:[r,"â"!==r?(0,s.jsx)("span",{className:"text-[9px] font-medium text-slate-600 sm:text-[10px]",children:" km/h"}):null]})]})]}),(0,s.jsxs)("div",{className:"min-w-0 flex-1 border-l border-slate-300/70 pl-2 text-center",children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] text-slate-500 sm:text-xs",children:[(0,s.jsx)(U.Z,{className:"h-2.5 w-2.5 shrink-0 sm:h-3 sm:w-3","aria-hidden":!0}),"Humidity"]}),(0,s.jsx)("p",{className:"mt-1 text-sm font-semibold leading-none text-slate-900 sm:text-base",children:l})]})]})})]})})}function ev(e){let{stepId:t}=e;return 1===t?(0,s.jsx)(eg,{}):2===t?(0,s.jsx)("div",{className:"h-20 overflow-hidden",children:(0,s.jsx)(eb,{})}):3===t?(0,s.jsx)(ej,{}):null}function ey(e){var t;let{variant:a="standalone"}=e,l=T(),[n,i]=(0,w.useState)(!1),[c,d]=(0,w.useState)(1),[o,m]=(0,w.useState)(null),[x,p]=(0,w.useState)("Total"),[j,v]=(0,w.useState)("Bars"),[y,N]=(0,w.useState)(null),[k,D]=(0,w.useState)(!0),[P,M]=(0,w.useState)(!1),C=null!=o?o:c;(0,w.useEffect)(()=>{if(!y)return;let e=e=>{"Escape"===e.key&&N(null)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[y]),(0,w.useEffect)(()=>{l&&i(!0)},[l]),(0,w.useEffect)(()=>{let e=l?0:1200,t=window.setTimeout(()=>d(3),e);return()=>window.clearTimeout(t)},[l]);let _=(0,w.useMemo)(()=>ec[C],[C]),S="".concat(C/3*100,"%"),K=(0,w.useMemo)(()=>_.impactBreakdown.wind,[_.impactBreakdown.wind]),E=(0,w.useMemo)(()=>{if(3!==C)return _.totalImpact;let{elevation:e,heat:t}=_.impactBreakdown;return Math.round((e+t+K)*10)/10},[C,_.totalImpact,_.impactBreakdown.elevation,_.impactBreakdown.heat,K]),Z=(0,w.useMemo)(()=>(function(e){if(e<=0)return{label:"Favorable",colorClass:ee.hx,icon:"\uD83D\uDC4D",markerPercent:100};let t=Math.round(10*e)/10,a=t<=1?100-20*t:t<=3?80-(t-1)*25:Math.max(0,30-(t-3)*10),s=Math.max(10,Math.min(100,12+.88*a));return a>80?{label:"Favorable",colorClass:ee.hx,icon:"\uD83D\uDC4D",markerPercent:s}:a>30?{label:"Moderate",colorClass:"text-amber-600",icon:"â ï¸",markerPercent:s}:{label:"Challenging",colorClass:"text-rose-600",icon:"â",markerPercent:s}})(E),[E]),A=(0,w.useMemo)(()=>1===C?en:ed[x],[C,x]),I=(0,w.useMemo)(()=>(function(e,t,a){let s=e.filter(e=>"split"===e.rowKind||void 0===e.rowKind),l=1===t?eo:em[a],r=s.map((e,t)=>{var a;return ex+(null!==(a=l[t])&&void 0!==a?a:0)/60});if(0===r.length)return null;let n=Math.min(...r),i=Math.max(...r),c=i-n;return{paceMin:n,paceMax:i,paceRangeSize:c,barMinWidth:.55,barWidthRange:.25*Math.max(.6,Math.min(1,c/.5))}})(A,C,x),[A,C,x]),z=(0,w.useMemo)(()=>{var e,t;if(!I)return 78;let a=A.find(e=>"split"===e.rowKind||void 0===e.rowKind);return a&&null!==(t=null===(e=eu(a,I,0,C,x))||void 0===e?void 0:e.linePercent)&&void 0!==t?t:78},[A,I,C,x]),F=(0,w.useMemo)(()=>4.5+.9*z,[z]),R=(0,w.useMemo)(()=>1===C?eo:em[x],[C,x]),L=(0,w.useMemo)(()=>Math.max(2,...R.map(e=>Math.abs(e))),[R]);(0,w.useEffect)(()=>{2===C?p("Elevation"):p("Total")},[C]);let H=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"relative mx-auto w-full max-w-sm sm:max-w-md md:hidden",children:[(0,s.jsx)(b.E.div,{"aria-hidden":!0,
1className:"pointer-events-none absolute left-[2rem] top-10 bottom-10 w-0.5 rounded-full bg-gradient-to-b from-modern-accent1/70 via-slate-400 to-modern-accent2/70",initial:!1,animate:{opacity:n?1:0},transition:{duration:l?0:.3}}),(0,s.jsx)("div",{className:"space-y-4",children:ei.map((e,t)=>{let a=C===e.id;return(0,s.jsxs)(b.E.div,{initial:!l&&{opacity:0,y:14,scale:.96},whileInView:l?void 0:{opacity:1,y:0,scale:1},viewport:{once:!0,amount:.25},transition:{duration:l?0:.26,delay:l?0:.07*t},onAnimationComplete:()=>{2!==t||l||i(!0)},className:"relative z-[1] flex cursor-default flex-col gap-3 rounded-xl border border-slate-200 bg-white p-4 text-left shadow-sm",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"relative z-[1] flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-base font-extrabold tabular-nums bg-modern-primary text-white shadow-md ".concat(a?"ring-2 ring-modern-accent1 ring-offset-2 ring-offset-white":""),children:e.id}),(0,s.jsx)("h3",{className:"min-w-0 flex-1 text-base font-bold leading-tight text-slate-900",children:e.title})]}),(0,s.jsx)("p",{className:"text-sm leading-snug text-slate-600",children:e.support}),(0,s.jsx)("div",{children:(0,s.jsx)(ev,{stepId:e.id})})]},e.id)})})]}),(0,s.jsxs)("div",{className:"mt-8 md:mt-10 md:flex md:items-start md:justify-center md:gap-6 lg:gap-8",children:[(0,s.jsx)("div",{className:"hidden md:block md:w-[19rem] md:shrink-0 lg:w-[21rem]",children:(0,s.jsxs)("div",{className:"relative flex flex-col gap-4",children:[(0,s.jsx)(b.E.div,{"aria-hidden":!0,className:"pointer-events-none absolute left-[calc(1rem+0.875rem)] top-8 bottom-8 z-0 w-0.5 -translate-x-1/2 rounded-full bg-gradient-to-b from-modern-accent1/75 via-slate-400 to-modern-accent2/75",initial:!1,animate:{opacity:n?1:0},transition:{duration:l?0:.35}}),ei.map((e,t)=>{let a=C===e.id;return(0,s.jsxs)(b.E.button,{type:"button",initial:!l&&{opacity:0,y:18,scale:.94},whileInView:l?void 0:{opacity:1,y:0,scale:1},viewport:{once:!0,amount:.25},transition:{duration:l?0:.3,delay:l?0:.14+.08*t},onAnimationComplete:()=>{2!==t||l||i(!0)},onMouseEnter:()=>m(e.id),onMouseLeave:()=>m(null),onFocus:()=>m(e.id),onBlur:()=>m(null),onClick:()=>d(e.id),className:"group relative rounded-2xl border bg-white p-4 text-left shadow-sm transition-all ".concat(a?"z-[1] border-modern-accent1/70 shadow-[0_12px_30px_rgba(15,23,42,0.12)]":"border-slate-200 bg-white/90 hover:border-modern-accent1/45 hover:shadow-[0_8px_22px_rgba(15,23,42,0.08)]"),"aria-pressed":a,children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"relative z-[1] inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-sm font-extrabold tabular-nums shadow-sm ".concat(a?"bg-modern-primary text-white shadow-md":"border-2 border-slate-500 bg-white text-slate-900 shadow-md"),children:e.id}),(0,s.jsx)("h3",{className:"min-w-0 flex-1 text-base font-bold leading-tight text-slate-900",children:e.title})]}),(0,s.jsx)("p",{className:"mt-1.5 text-sm leading-snug text-slate-600",children:e.support}),(0,s.jsx)("div",{className:"mt-3",children:(0,s.jsx)(ev,{stepId:e.id})})]},e.id)})]})}),(0,s.jsxs)(b.E.div,{initial:!l&&{opacity:0,y:16},whileInView:l?void 0:{opacity:1,y:0},viewport:{once:!0,amount:.25},transition:{duration:l?0:.35,delay:l?0:.2},className:"mx-auto w-full max-w-sm min-w-0 rounded-2xl border border-slate-200 bg-white p-4 shadow-[0_12px_28px_rgba(15,23,42,0.09)] sm:max-w-md sm:p-5 md:mx-0",children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("div",{className:"min-w-0 pr-11",children:[(0,s.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.08em] text-slate-500",children:"Outcome Panel"}),(0,s.jsx)("h3",{className:"text-lg font-bold text-slate-900 sm:text-xl",children:_.title}),(0,s.jsx)("p",{className:"mt-0.5 text-xs text-slate-600 sm:text-sm",children:_.blurb})]}),(0,s.jsx)("span",{className:"absolute right-0 top-0 inline-flex h-7 w-7 items-center justify-center rounded-full text-sm font-extrabold tabular-nums shadow-sm bg-modern-primary text-white shadow-md","aria-label":"Step ".concat(C),children:C})]}),(0,s.jsx)("div",{className:"mt-4 h-2 overflow-hidden rounded-full bg-slate-200",children:(0,s.jsx)(b.E.div,{className:"h-full rounded-full bg-gradient-to-r from-modern-accent1 to-modern-accent2",animate:{width:S},transition:{duration:l?0:.35,ease:"easeOut"}})}),(0,s.jsxs)("div",{className:"mt-4 flex flex-col gap-4 lg:gap-5",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"px-0.5 py-1",children:[(0,s.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto] grid-rows-[auto_auto] justify-start gap-x-1.5 gap-y-0.5 border-b border-slate-200 pb-2.5 sm:gap-x-2",children:[(0,s.jsx)("p",{className:"col-start-1 row-start-1 min-w-0 self-end text-[11px] font-semibold uppercase tracking-[0.08em] text-slate-500",children:"Goal time"}),(0,s.jsx)("p",{className:"col-start-3 row-start-1 min-w-0 self-end bg-gradient-to-r from-modern-accent1 to-modern-accent2 bg-clip-text text-[11px] font-semibold uppercase tracking-[0.08em] text-transparent",children:"Adjusted time"}),(0,s.jsx)("div",{className:"col-start-2 row-span-2 row-start-1 flex items-center justify-center self-stretch",children:(0,s.jsx)(r.Z,{className:"h-4 w-4 shrink-0 text-slate-400 sm:h-5 sm:w-5","aria-hidden":!0})}),(0,s.jsx)("p",{className:"col-start-1 row-start-2 min-w-0 text-xl font-extrabold leading-none text-slate-900 sm:text-2xl",children:_.goalTime}),(0,s.jsx)("p",{className:"col-start-3 row-start-2 min-w-0 bg-gradient-to-r from-sky-500 to-rose-400 bg-clip-text text-xl font-extrabold leading-none text-transparent sm:text-2xl",children:null!==(t=_.adjustedTime)&&void 0!==t?t:"â"})]}),_.deltaLabel?(0,s.jsx)("p",{className:"mt-1.5 text-base font-bold sm:text-lg ".concat(function(e){let t=e.toLowerCase();return t.includes("slower")||t.includes("due to hills")?"text-amber-600":(t.includes("faster"),ee.hx)}(_.deltaLabel)),children:_.deltaLabel}):null]}),(0,s.jsxs)("div",{className:"mt-4 border-t border-slate-200 pt-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsxs)("button",{type:"button",className:"min-w-0 flex-1 rounded-lg text-left outline-none ring-modern-primary/40 focu
1s-visible:ring-2",onClick:()=>D(e=>!e),children:[(0,s.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,s.jsx)("span",{className:"text-lg font-bold leading-tight text-slate-900",children:"Performance Impact"})}),(0,s.jsx)("p",{className:"mt-0.5 text-xs leading-snug text-slate-600 sm:text-sm",children:"How each factor will affect your pace"})]}),(0,s.jsx)("button",{type:"button",className:"mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-modern-primary outline-none hover:bg-slate-100 focus-visible:ring-2 focus-visible:ring-modern-primary/40","aria-label":"Performance impact assumptions",title:"Our race calculations assume proper hydration, fueling, and clothing. We do not assume extra cooling (ice, shade) or pre-cooling. Individual responses vary widely.",onClick:e=>e.stopPropagation(),children:(0,s.jsx)(V.Z,{className:"h-5 w-5",strokeWidth:2,"aria-hidden":!0})}),(0,s.jsx)("button",{type:"button",className:"mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-slate-700 outline-none hover:bg-slate-100 focus-visible:ring-2 focus-visible:ring-modern-primary/40","aria-expanded":k,"aria-label":k?"Collapse performance impact":"Expand performance impact",onClick:()=>D(e=>!e),children:(0,s.jsx)(X.Z,{className:"h-5 w-5 transition-transform ".concat(k?""
1:"rotate-180"),"aria-hidden":!0})})]}),k?(0,s.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg bg-slate-100 p-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,s.jsx)(u.Z,{className:"h-[18px] w-[18px] shrink-0 text-slate-500","aria-hidden":!0}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-base font-medium text-slate-900",children:"Drafting"}),(0,s.jsx)("p",{className:"mt-0.5 text-xs text-slate-600",children:"Cuts wind and still-air drag"})]})]}),(0,s.jsx)("div",{className:"relative h-7 w-12 shrink-0 cursor-default rounded-full bg-modern-primary","aria-hidden":!0,children:(0,s.jsx)("span",{className:"absolute right-0.5 top-0.5 h-6 w-6 rounded-full bg-white shadow"})})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg bg-slate-100 p-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,s.jsx)(h.Z,{className:"h-[18px] w-[18px] shrink-0 text-slate-500","aria-hidden":!0}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)("span",{className:"text-base font-medium text-slate-900",children:"Heat adaptation"}),(0,s.jsx)("button",{type:"button",className:"inline-flex rounded-full p-0.5 text-modern-primary outline-none hover:bg-white/80 focus-visible:ring-2 focus-visible:ring-modern-primary/40","aria-label":"About heat adaptation",title:"Choose baseline vs heat-adapted physiology so thermal penalties match how prepared you are. Full controls are in the MeteoPace app.",children:(0,s.jsx)(V.Z,{className:"h-4 w-4","aria-hidden":!0})})]}),(0,s.jsx)("p",{className:"mt-0.5 text-xs text-slate-600",children:"Current: Baseline"})]})]}),(0,s.jsx)("span",{className:"shrink-0 rounded-md border border-modern-primary px-3 py-1.5 text-xs font-semibold text-modern-primary",title:"Adjust heat adaptation in the MeteoPace app",children:"Adjust"})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center rounded-lg p-3 ".concat((0,ee.uK)(_.impactBreakdown.elevation)),children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center gap-1.5",children:[(0,s.jsx)(f.Z,{className:"h-[18px] w-[18px] shrink-0 text-slate-800","aria-hidden":!0}),(0,s.jsx)("span",{className:"text-xs font-medium text-slate-900",children:"Elevation"}),(0,s.jsx)("button",{type:"button",className:"inline-flex rounded-full p-0.5 text-modern-primary outline-none hover:bg-black/[0.04] focus-visible:ring-2 focus-visible:ring-modern-primary/40","aria-label":"Elevation impact details",title:"We adjust for elevation using your route profile, including energy costs of climbs and descents and related physiological effects.",children:(0,s.jsx)(V.Z,{className:"h-4 w-4","aria-hidden":!0})})]}),(0,s.jsx)("p",{className:"text-base font-bold tabular-nums sm:text-lg ".concat((0,ee.SE)(_.impactBreakdown.elevation)),children:eh(_.impactBreakdown.elevation)})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center rounded-lg p-3 ".concat((0,ee.uK)(_.impactBreakdown.heat)),children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center gap-1.5",children:[(0,s.jsx)(h.Z,{className:"h-[18px] w-[18px] shrink-0 text-slate-800","aria-hidden":!0}),(0,s.jsx)("span",{className:"text-xs font-medium text-slate-900",children:"Heat"}),(0,s.jsx)("button",{type:"button",className:"inline-flex rounded-full p-0.5 text-modern-primary outline-none hover:bg-black/[0.04] focus-visible:ring-2 focus-visible:ring-modern-primary/40","aria-label":"Heat impact details",title:"Heat impact reflects temperature, humidity, solar radiation, wind, and optional urban heat effects along the course.",children:(0,s.jsx)(V.Z,{className:"h-4 w-4","aria-hidden":!0})})]}),(0,s.jsx)("p",{className:"text-base font-bold tabular-nums sm:text-lg ".concat((0,ee.SE)(_.impactBreakdown.heat)),children:eh(_.impactBreakdown.heat)})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center rounded-lg p-3 ".concat((0,ee.uK)(K)),children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center gap-1.5",children:[(0,s.jsx)(O.Z,{className:"h-[18px] w-[18px] shrink-0 text-slate-800","aria-hidden":!0}),(0,s.jsx)("span",{className:"text-xs font-medium text-slate-900",children:"Wind"}),(0,s.jsx)("button",{type:"button",className:"inline-flex rounded-full p-0.5 text-modern-primary outline-none hover:bg-black/[0.04] focus-visible:ring-2 focus-visible:ring-modern-primary/40","aria-label":"Wind impact details",title:"Wind is computed from forecast wind relative to your direction on the route, with terrain context. Drafting controls are in the MeteoPace app.",children:(0,s.jsx)(V.Z,{className:"h-4 w-4","aria-hidden":!0})})]}),(0,s.jsx)("p",{className:"text-base font-bold tabular-nums sm:text-lg ".concat((0,ee.SE)(K)),children:eh(K)})]})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg px-3 py-3 ".concat((0,ee.uK)(E)),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(J.Z,{className:"h-[18px] w-[18px] shrink-0 text-slate-800","aria-hidden":!0}),(0,s.jsx)("span",{className:"text-xs font-medium text-slate-900 sm:text-sm",children:"Total Impact"})]}),(0,s.jsx)("p",{className:"text-base font-bold tabular-nums sm:text-lg ".concat((0,ee.SE)(E)),children:eh(E)})]})]}):null]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-slate-200 bg-white p-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("p",{className:"text-base font-bold text-slate-900",children:"Pace Opportunity"}),(0,s.jsxs)("p",{className:"text-base font-bold ".concat(Z.colorClass),children:[Z.icon," ",Z.label]})]}),(0,s.jsxs)("div",{className:"relative mt-2.5 h-2.5 overflow-hidden rounded-full bg-slate-200",children:[(0,s.jsx)(b.E.div,{className:"h-full rounded-full bg-gradient-to-r from-rose-500 via-amber-500 to-emerald-500",animate:{width:"".concat(Z.markerPercent,"%")},transition:{duration:l?0:.35,ease:"easeOut"}}),(0,s.jsx)(b.E.div,{className:"absolute top-1/2 h-3.5 w-0.5 -translate-y-1/2 roun
1ded-full bg-slate-900/75",animate:Z.markerPercent>=100?{left:"auto",right:"2px"}:{left:"calc(".concat(Z.markerPercent,"% - 1px)"),right:"auto"},transition:{duration:l?0:.35,ease:"easeOut"}})]}),(0,s.jsxs)("div",{className:"mt-1.5 grid grid-cols-3 text-center text-[11px] font-semibold text-slate-600",children:[(0,s.jsx)("span",{children:"Challenging"}),(0,s.jsx)("span",{children:"Moderate"}),(0,s.jsx)("span",{children:"Favorable"})]})]})]}),(0,s.jsxs)("div",{className:"min-w-0 rounded-lg border border-slate-200 bg-slate-50 p-3",children:[(0,s.jsx)("p",{className:"text-base font-bold text-slate-900",children:"Race Splits"}),(0,s.jsx)("p",{className:"mt-0.5 text-[11px] text-slate-500",children:"3 km increments ⢠adjusted pace and cumulative time"}),(0,s.jsx)("div",{className:"mt-2 flex items-center gap-1.5 overflow-x-auto pb-0.5",children:["Total","Elevation","Heat","Wind"].map(e=>{let t=e===x;return(0,s.jsx)("button",{type:"button",onClick:()=>p(e),className:"inline-flex rounded-full border px-3 py-0.5 text-xs font-semibold ".concat(t?"border-slate-900 bg-slate-900 text-white":"border-slate-300 bg-white text-slate-600"),children:e},e)})}),(0,s.jsx)("div",{className:"mt-2 rounded-md border border-slate-200 bg-white px-2 py-2.5",children:(0,s.jsxs)("div",{className:"grid grid-cols-[2.1rem_1fr] items-stretch gap-1.5",children:[(0,s.jsxs)("div",{className:"flex h-28 flex-col justify-between text-right text-[9px] font-semibold text-slate-500",children:[(0,s.jsxs)("span",{children:["+",L.toFixed(0),"s"]}),(0,s.jsx)("span",{children:"0s"}),(0,s.jsxs)("span",{children:["-",L.toFixed(0),"s"]})]}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"relative h-28",children:[(0,s.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px bg-slate-300"}),(0,s.jsx)("div",{className:"grid h-full gap-1",style:{gridTemplateColumns:"repeat(".concat(R.length,", minmax(0, 1fr))")},children:R.map((e,t)=>{let a=Math.max(4,Math.abs(e)/L*56);return(0,s.jsx)("div",{className:"relative h-full min-w-0",children:(0,s.jsx)("div",{className:"absolute left-0 right-0 rounded-sm",style:e>=0?{height:"".concat(a,"px"),bottom:"50%",background:"linear-gradient(to top, rgba(251,113,133,0.35), rgba(251,113,133,0.82))"}:{height:"".concat(a,"px"),top:"50%",background:"linear-gradient(to bottom, rgba(125,211,252,0.45), rgba(14,165,233,0.88))"}})},t)})})]}),(0,s.jsx)("div",{className:"mt-1 grid gap-1",style:{gridTemplateColumns:"repeat(".concat(R.length,", minmax(0, 1fr))")},children:R.map((e,t)=>{let a=function(e){let t=e+1;if(t%2!=0)return null;let a=3*t;return a>42?null:a}(t);return(0,s.jsx)("div",{className:"flex justify-center",children:null!=a?(0,s.jsx)("span",{className:"text-[9px] font-semibold tabular-nums text-slate-600",children:a}):null},"x-".concat(t))})})]})]})}),(0,s.jsxs)("button",{type:"button",onClick:()=>M(e=>!e),"aria-expanded":P,className:"mt-2 flex w-full items-center justify-center gap-1.5 rounded-md border border-slate-200 bg-white py-1.5 text-xs font-semibold text-slate-600 outline-none ring-modern-accent1/40 transition hover:bg-slate-50 focus-visible:ring-2",children:[P?"Hide per-split detail":"View per-split detail",(0,s.jsx)(g.Z,{className:"h-3.5 w-3.5 transition-transform ".concat(P?"rotate-180":""),"aria-hidden":!0})]}),P?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center justify-between gap-1.5",children:[(0,s.jsxs)("button",{type:"button",className:"inline-flex shrink-0 cursor-pointer rounded-full border border-slate-300 bg-white p-0.5 text-left shadow-sm outline-none ring-modern-accent1/40 transition hover:bg-slate-50 focus-visible:ring-2","aria-label":"".concat(el," Opens a short message."),"aria-haspopup":"dialog",onClick:()=>N("units"),children:[(0,s.jsx)("span",{className:"rounded-full bg-slate-900 px-2.5 py-0.5 text-xs font-semibold text-white",children:"km"}),(0,s.jsx)("span",{className:"px-2.5 py-0.5 text-xs font-semibold text-slate-600",children:"mi"})]}),(0,s.jsxs)("button",{type:"button",className:"inline-flex shrink-0 cursor-pointer items-center gap-1 whitespace-nowrap rounded-full border border-slate-300 bg-white px-2.5 py-1 text-xs font-semibold text-slate-700 shadow-sm outline-none ring-modern-accent1/40 transition hover:bg-slate-50 focus-visible:ring-2","aria-label":"".concat(er," Opens a short message."),"aria-haspopup":"dialog",onClick:()=>N("interval"),children:[(0,s.jsx)(g.Z,{className:"h-3.5 w-3.5 shrink-0 text-slate-500","aria-hidden":!0}),"3 km"]}),(0,s.jsxs)("div",{className:"inline-flex shrink-0 rounded-full border border-slate-300 bg-white p-0.5",children:[(0,s.jsx)("button",{type:"button",onClick:()=>v("Bars"),className:"rounded-full px-2.5 py-0.5 text-xs font-semibold ".concat("Bars"===j?"bg-slate-900 text-white":"text-slate-600"),children:"Bars"}),(0,s.jsx)("button",{type:"button",onClick:()=>v("Table"),className:"rounded-full px-2.5 py-0.5 text-xs font-semibold ".concat("Table"===j?"bg-slate-900 text-white":"text-slate-600"),children:"Table"})]})]}),(0,s.jsx)("div",{className:"mt-2 overflow-hidden rounded-md border border-slate-200 bg-white",children:"Bars"===j?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"grid grid-cols-[0.58fr_2fr_0.9fr] border-b border-slate-200 px-2 py-0.5 text-[10px] font-normal uppercase leading-tight tracking-[0.04em] text-slate-500",children:[(0,s.jsx)("span",{children:"Distance"}),(0,s.jsxs)("div",{className:"relative h-5 w-full","aria-hidden":!0,
1children:[(0,s.jsx)("span",{className:"absolute top-0 whitespace-nowrap pr-0.5 text-[9px] uppercase tracking-[0.04em] text-slate-500",style:{left:"".concat(F,"%"),transform:"translate(calc(-100% - 2px), 0)"},children:"GOAL PACE"}),(0,s.jsx)("span",{className:"absolute bottom-0 h-0 w-0 -translate-x-1/2 border-l-[4px] border-r-[4px] border-t-[6px] border-l-transparent border-r-transparent border-t-slate-500",style:{left:"".concat(F,"%")}})]}),(0,s.jsx)("span",{className:"text-right",children:"Adjusted pace (km)"})]}),(0,s.jsx)("div",{children:A.map((e,t)=>{var a;let l=es(e.paceDelta),r=es(e.timeDelta),n="half"===e.rowKind||"total"===e.rowKind?-1:A.slice(0,t).filter(e=>"half"!==e.rowKind&&"total"!==e.rowKind).length,i=null!=I&&n>=0?eu(e,I,n,C,x):null;return"half"===e.rowKind||"total"===e.rowKind?(0,s.jsxs)("div",{className:"grid grid-cols-[0.58fr_2fr_0.9fr] items-center border-t border-slate-200 px-2 py-0.5 text-[10px] font-bold leading-tight text-slate-800",children:[(0,s.jsx)("span",{children:e.distance}),(0,s.jsxs)("span",{className:"text-center",children:[e.cumulativeTime," ",(0,s.jsxs)("span",{className:r,children:["(",e.timeDelta,")"]})]}),(0,s.jsxs)("span",{className:"text-right",children:[e.adjustedPace," ",(0,s.jsxs)("span",{className:l,children:["(",e.paceDelta,")"]})]})]},e.distance):(0,s.jsxs)("div",{className:"grid grid-cols-[0.58fr_2fr_0.9fr]
1items-center border-b border-slate-100 px-2 py-0.5 text-[10px] leading-tight text-slate-800 last:border-b-0",children:[(0,s.jsx)("span",{className:"font-normal",children:e.distance}),(0,s.jsxs)("div",{className:"relative mx-auto h-4 w-full",children:[(0,s.jsx)("div",{className:"absolute top-1/2 h-3 -translate-y-1/2 rounded-full bg-sky-400",style:{left:"".concat(4.5,"%"),width:"".concat((null!==(a=null==i?void 0:i.barWidthPercent)&&void 0!==a?a:76)*.9,"%")}}),(0,s.jsx)("span",{className:"absolute inset-y-0 w-px bg-slate-500",style:{left:"".concat(F,"%")},"aria-hidden":!0})]}),(0,s.jsxs)("span",{className:"text-right font-normal",children:[e.adjustedPace," ",(0,s.jsxs)("span",{className:l,children:["(",e.paceDelta,")"]})]})]},"".concat(e.distance,"-").concat(e.adjustedPace))})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"grid grid-cols-[0.8fr_1fr_1fr] border-b border-slate-200 px-2 py-0.5 text-[10px] font-normal uppercase leading-tight tracking-[0.04em] text-slate-500",children:[(0,s.jsx)("span",{children:"Distance"}),(0,s.jsx)("span",{children:"Adjusted pace (km)"}),(0,s.jsx)("span",{className:"text-right",children:"Time"})]}),(0,s.jsx)("div",{children:A.map(e=>{let t=es(e.paceDelta),a=es(e.timeDelta),l="half"===e.rowKind||"total"===e.rowKind;return(0,s.jsxs)("div",{className:"grid grid-cols-[0.8fr_1fr_1fr] items-center border-b border-slate-100 px-2 py-0.5 text-[10px] leading-tight text-slate-800 last:border-b-0 ".concat(l?"font-bold":"font-normal"),children:[(0,s.jsx)("span",{children:e.distance}),(0,s.jsxs)("span",{children:[e.adjustedPace," ",(0,s.jsxs)("span",{className:t,children:["(",e.paceDelta,")"]})]}),(0,s.jsxs)("span",{className:"text-right",children:[e.cumulativeTime," ",(0,s.jsxs)("span",{className:a,children:["(",e.timeDelta,")"]})]})]},"table-".concat(e.distance,"-").concat(e.adjustedPace))})})]})})]}):null]})]})]})]})]}),W=y?(0,s.jsx)("div",{className:"fixed inset-0 z-[200] flex items-center justify-center bg-slate-900/45 p-4",role:"presentation",onClick:()=>N(null),children:(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"race-splits-hint-heading",className:"w-full max-w-[min(100%,20rem)] rounded-xl border border-slate-200 bg-white p-4 shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,s.jsx)("h2",{id:"race-splits-hint-heading",className:"text-sm font-bold text-slate-900",children:"units"===y?"Units in the app":"Split interval in the app"}),(0,s.jsx)("button",{type:"button",className:"rounded-md p-1 text-slate-500 outline-none ring-modern-accent1/40 hover:bg-slate-100 hover:text-slate-800 focus-visible:ring-2","aria-label":"Close",onClick:()=>N(null),children:(0,s.jsx)(Q.Z,{className:"h-4 w-4","aria-hidden":!0})})]}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-slate-600",children:"units"===y?el:er}),(0,s.jsx)("button",{type:"button",className:"mt-4 w-full rounded-lg bg-slate-900 py-2.5 text-sm font-semibold text-white outline-none ring-modern-accent1/30 hover:bg-slate-800 focus-visible:ring-2",onClick:()=>N(null),children:"Got it"})]})}):null;return"tab-panel"===a?(0,s.jsxs)(s.Fragment,{children:[H,W]}):(0,s.jsxs)("section",{id:"features",className:"relative py-14 sm:py-20",children:[(0,s.jsxs)("div",{className:"container relative mx-auto max-w-6xl px-4 sm:px-6",children:[(0,s.jsxs)(b.E.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.25},transition:{duration:.35},className:"mx-auto mb-8 max-w-3xl text-center sm:mb-10",children:[(0,s.jsx)("h2",{className:"text-3xl font-bold tracking-tight sm:text-4xl md:text-5xl",children:(0,s.jsx)("span",{className:"bg-gradient-to-r from-modern-accent1 to-modern-accent2 bg-clip-text text-transparent",children:"How MeteoPace works"})}),(0,s.jsx)("p",{className:"mt-3 text-base text-slate-700 sm:text-lg",children:"See how weather, wind, heat, and terrain will affect your pace before race day."})]}),H]}),W]})}var eN=a(1817);let ek=(0,n.Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),eD=(0,n.Z)("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}
1]]),eP=(0,n.Z)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),eT=(0,n.Z)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),eM={heat:.8,wind:-.05},eC={elevation:.8,heat:1.3,wind:-.07},e_=eC.elevation+eC.heat+eC.wind,eS=[{id:1,title:"Training planner",support:"Pick place and time, then preview the cost of training in the heat, training with the wind, or training for the hills before you head out."},{id:2,title:"Connect your apps",support:"Connect Strava for activity sync, or link Garmin or COROS to send structured race plans to your watch."},{id:3,title:"Log + weekly view",support:"See the same impact breakdown after each run, plus weekly training context."}];function eK(){let{resolvedTheme:e}=(0,$.F)(),t="dark"===e?"dark":"light",[a,l]=(0,w.useState)(null),[r,n]=(0,w.useState)(!1),[i,c]=(0,w.useState)(!1);(0,w.useEffect)(()=>{c(!1)},[a]),(0,w.useEffect)(()=>{let e=!1;return(async()=>{let a="/api/race-route-overlay/".concat("nn-marathon-rotterdam","?theme=").concat(t);try{var s;let t=await fetch(a);if(!t.ok){e||n(!0);return}let r=await t.json(),i=null==r?void 0:null===(s=r.data)||void 0===s?void 0:s.routeOverlayPngUrl;if(e)return;if("string"==typeof i&&i.length>0){l(i),n(!1);return}}catch(e){}e||n(!0)})(),()=>{e=!0}},[t]);let d=!r&&(!a||!i);return(0,s.jsxs)("div",{className:"relative h-[76px] w-full min-w-0 overflow-hidden sm:h-[82px]",children:[d&&(0,s.jsxs)("div",{className:"absolute inset-0 z-[1] flex items-center justify-center bg-slate-50/90","aria-live":"polite","aria-busy":"true",children:[(0,s.jsx)(eN.Z,{className:"h-6 w-6 animate-spin text-modern-primary/70","aria-hidden":!0}),(0,s.jsx)("span",{className:"sr-only",children:"Loading route preview"})]}),r&&(0,s.jsx)("div",{className:"flex h-full items-center justify-center px-1 text-center text-[9px] leading-tight text-slate-400",children:"Route preview"}),a&&!r?(0,s.jsx)("img",{src:a,alt:"",className:"h-full w-full object-contain object-center transition-opacity duration-200 ".concat(i?"opacity-100":"opacity-0"),loading:"eager",decoding:"async",onLoad:()=>c(!0),onError:()=>{c(!0),n(!0)}}):null]})}function eE(){return(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-white/70 px-3 py-1.5 shadow-[0_6px_16px_rgba(15,23,42,0.08)] backdrop-blur-md sm:rounded-xl sm:px-4 sm:py-1",children:(0,s.jsx)("div",{className:"flex w-full justify-center",children:(0,s.jsxs)("div",{className:"inline-flex max-w-full items-center gap-5 sm:gap-7 md:gap-9",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("h4",{className:"whitespace-nowrap text-sm font-semibold leading-tight tracking-tight text-slate-900 sm:text-sm",children:"Morning run"}),(0,s.jsxs)("div",{className:"mt-1.5 space-y-0.5 text-xs leading-snug text-slate-600 sm:text-xs",children:[(0,s.jsxs)("p",{className:"flex items-center gap-1",children:[(0,s.jsx)(q.Z,{className:"h-3.5 w-3.5 shrink-0 text-slate-500 sm:h-4 sm:w-4","aria-hidden":!0}),"Today, 07:00"]}),(0,s.jsxs)("p",{className:"flex items-start gap-1",children:[(0,s.jsx)(c.Z,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-slate-500 sm:h-4 sm:w-4","aria-hidden":!0}),(0,s.jsx)("span",{className:"min-w-0",children:"Preston, UK"})]})]})]}),(0,s.jsx)("div",{className:"min-h-0 w-24 shrink-0 sm:w-28",children:(0,s.jsx)(eK,{})})]})})})}function eZ(e){let{stepId:t}=e;return 1===t?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-white/70 px-2.5 py-1.5 shadow-[0_6px_16px_rgba(15,23,42,0.08)] backdrop-blur-md sm:rounded-xl sm:px-3 sm:py-2",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(c.Z,{className:"h-4 w-4 shrink-0 text-modern-primary","aria-hidden":!0}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"text-[11px] font-semibold text-slate-900 sm:text-xs",children:"Location"}),(0,s.jsx)("p",{className:"truncate text-[10px] text-slate-600 sm:text-[11px]",children:"Search or switch place"})]})]})}),(0,s.jsxs)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-slate-50/90 px-2.5 py-1.5
1sm:rounded-xl sm:px-3 sm:py-2",children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center gap-1 text-[10px] font-semibold text-slate-600",children:[(0,s.jsx)(ek,{className:"h-3 w-3","aria-hidden":!0}),"Next 24 hours"]}),(0,s.jsx)("div",{className:"flex gap-1",children:["Now","+3h","+6h","+12h","Tomorrow"].map(e=>(0,s.jsx)("div",{className:"min-w-0 flex-1 rounded-md py-1 text-center text-[8px] font-bold sm:text-[9px] ".concat("+6h"===e?"bg-modern-primary text-white":"border border-slate-200 bg-white text-slate-600"),children:e},e))})]}),(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-white/70 px-2.5 py-1.5 shadow-[0_6px_16px_rgba(15,23,42,0.08)] sm:rounded-xl sm:px-3 sm:py-2",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(eD,{className:"h-4 w-4 shrink-0 text-slate-700","aria-hidden":!0}),(0,s.jsx)("p",{className:"text-[10px] font-semibold text-slate-800 sm:text-[11px]",children:"Saved routes"})]})})]}):2===t?(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-white/70 px-3 py-2 shadow-[0_6px_16px_rgba(15,23,42,0.08)] backdrop-blur-md sm:rounded-xl sm:px-4 sm:py-2.5",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-[#FC4C02]/15",children:(0,s.jsx)(eP,{className:"h-4 w-4 text-[#FC4C02]","aria-hidden":!0})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-xs font-semibold text-slate-900 sm:text-sm",children:"Strava connected"}),(0,s.jsx)("p",{className:"text-[11px] text-slate-600 sm:text-xs",children:"Last sync \xb7 just now"})]}),(0,s.jsx)(m.Z,{className:"ml-auto h-5 w-5 shrink-0 text-emerald-600","aria-hidden":!0})]})}):(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-gradient-to-br from-sky-50/90 to-white px-3 py-2 shadow-[0_6px_16px_rgba(15,23,42,0.08)] sm:rounded-xl sm:px-3 sm:py-2.5",children:[(0,s.jsx)("p",{className:"text-center text-[10px] font-bold uppercase tracking-[0.12em] text-slate-500",children:"MAP"}),(0,s.jsx)("p",{className:"text-center text-lg font-extrabold text-slate-900 sm:text-xl",children:"4:30 /km"}),(0,s.jsx)("p",{className:"text-center text-[10px] text-slate-600 sm:text-xs",children:"Adjusted for conditions"})]}),(0,s.jsxs)("div",{className:"overflow-hidden rounded-lg border border-slate-300/80 bg-white/70 px-2 py-1.5 shadow-[0_6px_16px_rgba(15,23,42,0.08)] backdrop-blur-md sm:rounded-xl sm:px-3 sm:py-2",children:[(0,s.jsx)("div",{className:"flex items-center justify-between gap-1",children:["M","T","W","T","F","S","S"].map((e,t)=>(0,s.jsx)("div",{className:"flex h-7 w-7 items-center justify-center rounded-md text-[9px] font-bold sm:h-8 sm:w-8 sm:text-[10px] ".concat(2===t?"bg-modern-primary text-white":"bg-slate-100 text-slate-600"),children:e},"".concat(e,"-").concat(t)))}),(0,s.jsx)("p",{className:"mt-1.5 text-center text-[9px] text-slate-500 sm:text-[10px]",children:"Training calendar"})]})]})}function eA(){let e=T(),[t,a]=(0,w.useState)(!1),[l,n]=(0,w.useState)(1),[i,c]=(0,w.useState)(null),d=null!=i?i:l;(0,w.useEffect)(()=>{e&&a(!0)},[e]),(0,w.useEffect)(()=>{let t=e?0:1200,a=window.setTimeout(()=>n(3),t);return()=>window.clearTimeout(a)},[e]);let o="".concat(d/3*100,"%"),x=(0,w.useMemo)(()=>1===d?{title:"Plan with conditions",blurb:"Choose when and where to run, then preview the cost of training in the heat, training with the wind, or training for the hills."}:2===d?{title:"Auto-sync from Strava",blurb:"Route, elevation, and weather through the run get combined into your Meteo Adjusted Pace."}:{title:"Review in your log",blurb:"The same impact view shows up after the run, with weekly load context."},[d]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"relative mx-auto w-full max-w-sm sm:max-w-md md:hidden",children:[(0,s.jsx)(b.E.div,{"aria-hidden":!0,className:"pointer-events-none absolute left-[2rem] top-10 bottom-10 w-0.5 rounded-full bg-gradient-to-b from-modern-accent1/70 via-slate-400 to-modern-accent2/70",initial:!1,animate:{o
1pacity:t?1:0},transition:{duration:e?0:.3}}),(0,s.jsx)("div",{className:"space-y-4",children:eS.map((t,l)=>{let r=d===t.id;return(0,s.jsxs)(b.E.div,{initial:!e&&{opacity:0,y:14,scale:.96},whileInView:e?void 0:{opacity:1,y:0,scale:1},viewport:{once:!0,amount:.25},transition:{duration:e?0:.26,delay:e?0:.07*l},onAnimationComplete:()=>{2!==l||e||a(!0)},className:"relative z-[1] flex cursor-default flex-col gap-3 rounded-xl border border-slate-200 bg-white p-4 text-left shadow-sm",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"relative z-[1] flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-base font-extrabold tabular-nums bg-modern-primary text-white shadow-md ".concat(r?"ring-2 ring-modern-accent1 ring-offset-2 ring-offset-white":""),children:t.id}),(0,s.jsx)("h3",{className:"min-w-0 flex-1 text-base font-bold leading-tight text-slate-900",children:t.title})]}),(0,s.jsx)("p",{className:"text-sm leading-snug text-slate-600",children:t.support}),(0,s.jsx)("div",{children:(0,s.jsx)(eZ,{stepId:t.id})})]},t.id)})})]}),(0,s.jsxs)("div",{className:"mt-8 md:mt-10 md:flex md:items-start md:justify-center md:gap-6 lg:gap-8",children:[(0,s.jsx)("div",{className:"hidden md:block md:w-[19rem] md:shrink-0 lg:w-[21rem]",children:(0,s.jsxs)("div",{className:"relative flex flex-col gap-4",children:[(0,s.jsx)(b.E.div,{"aria-hidden":!0,className:"pointer-events-none absolute left-[calc(1rem+0.875rem)] top-8 bottom-8 z-0 w-0.5 -translate-x-1/2 rounded-full bg-gradient-to-b from-modern-accent1/75 via-slate-400 to-modern-accent2/75",initial:!1,animate:{opacity:t?1:0},transition:{duration:e?0:.35}}),eS.map((t,l)=>{let r=d===t.id;return(0,s.jsxs)(b.E.button,{type:"button",initial:!e&&{opacity:0,y:18,scale:.94},whileInView:e?void 0:{opacity:1,y:0,scale:1},viewport:{once:!0,amount:.25},transition:{duration:e?0:.3,delay:e?0:.14+.08*l},onAnimationComplete:()=>{2!==l||e||a(!0)},onMouseEnter:()=>c(t.id),onMouseLeave:()=>c(null),onFocus:()=>c(t.id),onBlur:()=>c(null),onClick:()=>n(t.id),className:"group relative rounded-2xl border bg-white p-4 text-left shadow-sm transition-all ".concat(r?"z-[1] border-modern-accent1/70 shadow-[0_12px_30px_rgba(15,23,42,0.12)]":"border-slate-200 bg-white/90 hover:border-modern-accent1/45 hover:shadow-[0_8px_22px_rgba(15,23,42,0.08)]"),"aria-pressed":r,children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"relative z-[1] inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-sm font-extrabold tabular-nums shadow-sm ".concat(r?"bg-modern-primary text-white shadow-md":"border-2 border-slate-500 bg-white text-slate-900 shadow-md"),children:t.id}),(0,s.jsx)("h3",{className:"min-w-0 flex-1 text-base font-bold leading-tight text-slate-900",children:t.title})]}),(0,s.jsx)("p",{className:"mt-1.5 text-sm leading-snug text-slate-600",children:t.support}),(0,s.jsx)("div",{className:"mt-3",children:(0,s.jsx)(eZ,{stepId:t.id})})]},t.id)})]})}),(0,s.jsxs)(b.E.div,{initial:!e&&{opacity:0,y:16},whileInView:e?void 0:{opacity:1,y:0},viewport:{once:!0,amount:.25},transition:{duration:e?0:.35,delay:e?0:.2},className:"mx-auto w-full max-w-sm min-w-0 rounded-2xl border border-slate-200 bg-white p-4 shadow-[0_12px_28px_rgba(15,23,42,0.09)] sm:sticky sm:top-8 sm:self-start sm:max-w-md sm:p-5 md:mx-0",children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("div",{className:"min-w-0 pr-11",children:[(0,s.jsx)("h3",{className:"text-lg font-bold text-slate-900 sm:text-xl",children:x.title}),(0,s.jsx)("p",{className:"mt-1 text-xs leading-snug text-slate-600 sm:text-sm",children:x.blurb})]}),(0,s.jsx)("span",{className:"absolute right-0 top-0 inline-flex h-7 w-7 items-center justify-center rounded-full text-sm font-extrabold tabular-nums shadow-sm bg-modern-primary text-white shadow-md","aria-label":"Step ".concat(d),children:d})]}),(0,s.jsx)("div",{className:"mt-4 h-2 overflow-hidden rounded-full bg-slate-200",children:(0,s.jsx)(b.E.div,{className:"h-full rounded-full bg-gradient-to-r from-modern-accent1 to-modern-accent2",animate:{width:o},transition:{duration:e?0:.35,ease:"easeOut"}})}),1===d?(0,s.jsxs)("div",{className:"mt-5 space-y-3",children:[(0,s.jsxs)("div",{className:"rounded-xl border border-slate-200 bg-slate-50 p-3",children:[(0,s.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.08em] text-slate-500",children:"Forecast window"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-slate-800",children:"Next 24 hours \xb7 local time."})]}),(0,s.jsxs)("div",{className:"rounded-xl border border-slate-200 bg-white p-3",children:[(0,s.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto] grid-rows-[auto_auto] justify-start gap-x-1.5 gap-y-0.5 sm:gap-x-2",children:[(0,s.jsx)("p",{className:"col-start-1 row-start-1 min-w-0 self-end text-[11px] font-semibold uppercase tracking-[0.08em] text-slate-500",children:"Actual pace"}),(0,s.jsx)("p",{className:"col-start-3 row-start-1 min-w-0 self-end bg-gradient-to-r from-modern-accent1 to-modern-accent2 bg-clip-text text-[11px] font-semibold uppercase tracking-[0.08em] text-transparent",children:"Meteo Adjusted pace (MAP)"}),(0,s.jsx)("div",{className:"col-start-2 row-span-2 row-start-1 flex items-center justify-center self-stretch",children:(0,s.jsx)(r.Z,{className:"h-4 w-4 shrink-0 text-slate-400","aria-hidden":!0})}),(0,s.jsx)("p",{className:"col-start-1 row-start-2 min-w-0 text-xl font-extrabold leading-none text-slate-900 sm:text-2xl",children:"4:30"}),(0,s.jsx)("p",{className:"col-start-3 row-start-2 min-w-0 bg-gradient-to-r from-sky-500 to-rose-400 bg-clip-text text-xl font-extrabold leading-none text-transparent sm:text-2xl",children:"4:33"})]}),(0,s.jsx)("p",{className:"mt-1.5 text-base font-bold text-rose-600",children:"0:03 slower"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-1.5 sm:gap-2",children:[(0,s.jsxs)("div",{className:"min-w-0 rounded-lg border p-2 text-center sm:p-2.5 ".concat((0,ee.uK)(eM.heat)),children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] font-medium text-slate-700 sm:gap-1 sm:text-[11px]",children:[(0,s.jsx)(h.Z,{className:"h-3 w-3","aria-hidden":!0}),"Heat",(0,s.jsx)(eT,{className:"h-3 w-3 text-slate-500/80","aria-hidden":!0})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-lg font-bold ".concat((0,ee.SE)(eM.heat)),children:[eM.heat>0?"+":"",eM.heat.toFixed(1),"%"]})]}),(0,s.jsxs)("div",{className:"min-w-0 rounded-lg border p-2 text-center sm:p-2.5 ".concat((0,ee.uK)(eM.wind)),children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] font-medium text-slate-700 sm:gap-1 sm:text-[11px]",children:[(0,s.jsx)(O.Z,{className:"h-3 w-3","aria-hidden":!0}),"Wind",(0,s.jsx)(eT,{className:"h-3 w-3 text-slate-500/80","aria-hidden":!0})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-lg font-bold ".concat((0,ee.SE)(eM.wind)),children:[eM.wind>0?"+":"",eM.wind.toFixed(1),"%"]})]})]}),(0,s.jsxs)("div",{className:"flex items-start gap-2 rounded-xl border border-slate-200 bg-white px-3 py-2",children:[(0,s.jsx)(eD,{className:"mt-0.5 h-4 w-4 shrink-0 text-slate-600","aria-hidden":!0}),(0,s.jsx)("p",{className:"text-xs leading-snug text-slate-700",children:"Map â saved routes."})]})]}):null,2===d?(0,s.jsxs)("div",{className:"mt-5 space-y-2 rounded-xl border border-slate-200 bg-slate-50 p-4",children:[(0,s.jsx)("p",{className:"text-sm font-semibold text-slate-900",children:"Per activity"}),(0,s.jsxs)("ul",{className:"space-y-1.5 text-sm leading-snug text-slate-700",children:[(0,s.jsxs)("li",{className:"flex gap-2",children:[(0,s.jsx)(m.Z,{className:"mt-0.5 h-4 w-4 shrink-0 text-emerald-600","aria-hidden":!0}),"GPS, elevation, route"]}),(0,s.jsxs)("li",{className:"flex gap-2",children:[(0,s.jsx)(m.Z,{className:"mt-0.5 h-4 w-4 shrink-0 text-emerald-600","aria-hidden":!0}),"Weather progression throughout run"]})]}),(0,s.jsx)("div",{className:"mt-3",children:(0,s.jsx)(eE,{})})]}):null,3===d?(0,s.jsxs)("div",{className:"mt-5 space-y-4",children:[(0,s.jsxs)("div",{className:"rounded-xl border border-slate-200 bg-white p-3",children:[(0,s.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto] grid-rows-[auto_auto] justify-start gap-x-1.5 gap-y-0.5 border-b border-slate-200 pb-2.5 sm:gap-x-2",children:[(0,s.jsx)("p",{className:"col-start-1 row-start-1 min-w-0 self-end text-[11px] font-semibold uppercase tracking-[0.08em] text-slate-500",children:"Actual pace"}),(0,s.jsx)("p",{className:"col-start-3 row-start-1 min-w-0 self-end bg-gradient-to-r from-modern-accent1 to-modern-accent2 bg-clip-text text-[11px] font-semibold uppercase tracking-[0.08em] text-transparent",children:"Meteo Adjusted pace (MAP)"}),(0,s.jsx)("div",{className:"col-start-2 row-span-2 row-start-1 flex items-center justify-center self-stretch",children:(0,s.jsx)(r.Z,{className:"h-4 w-4 shrink-0 text-slate-400 sm:h-5 sm:w-5","aria-hidden":!0})}),(0,s.jsx)("p",{className:"col-start-1 row-start-2 min-w-0 text-xl font-extrabold leading-none text-slate-900 sm:text-2xl",children:"4:35"}),(0,s.jsx)("p",{className:"col-start-3 row-start-2 min-w-0 bg-gradient-to-r from-sky-500 to-rose-400 bg-clip-text text-xl font-extrabold leading-none text-transparent sm:text-2xl",children:"4:30/km"})]}),(0,s.jsx)("p",{className:"mt-1.5 text-base font-bold ".concat(ee.hx),children:"0:05 faster (MAP)"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-1.5 sm:gap-2",children:[(0,s.jsxs)("div",{className:"min-w-0 rounded-lg border p-2 text-center sm:p-2.5 ".concat((0,ee.uK)(eC.elevation)),children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] font-medium text-slate-700 sm:gap-1 sm:text-[11px]",children:[(0,s.jsx)(G.Z,{className:"h-3 w-3","aria-hidden":!0}),"Elevation",(0,s.jsx)(eT,{className:"h-3 w-3 text-slate-500/80","aria-hidden":!0})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-lg font-bold ".concat((0,ee.SE)(eC.elevation)),children:[eC.elevation>0?"+":"",eC.elevation.toFixed(1),"%"]})]}),(0,s.jsxs)("div",{className:"min-w-0 rounded-lg border p-2 text-center sm:p-2.5 ".concat((0,ee.uK)(eC.heat)),children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] font-medium text-slate-700 sm:gap-1 sm:text-[11px]",children:[(0,s.jsx)(h.Z,{className:"h-3 w-3","aria-hidden":!0}),"Heat",(0,s.jsx)(eT,{className:"h-3 w-3 text-slate-500/80","aria-hidden":!0})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-lg font-bold ".concat((0,ee.SE)(eC.heat)),children:[eC.heat>0?"+":"",eC.heat.toFixed(1),"%"]})]}),(0,s.jsxs)("div",{className:"min-w-0 rounded-lg border p-2 text-center sm:p-2.5 ".concat((0,ee.uK)(eC.wind)),children:[(0,s.jsxs)("p",{className:"flex items-center justify-center gap-0.5 text-[10px] font-medium text-slate-700 sm:gap-1 sm:text-[11px]",children:[(0,s.jsx)(O.Z,{className:"h-3 w-3","aria-hidden":!0}),"Wind",(0,s.jsx)(eT,{className:"h-3 w-3 text-slate-500/80","aria-hidden":!0})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-lg font-bold ".concat((0,ee.SE)(eC.wind)),children:[eC.wind>0?"+":"",eC.wind.toFixed(1),"%"]})]})]}),(0,s.jsx)("div",{className:"rounded-lg border p-3 ".concat((0,ee.uK)(e_)),children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsx)("p",{className:"text-xs font-semibold text-slate-900",children:"Total Impact"}),(0,s.jsxs)("p",{className:"text-lg font-bold ".concat((0,ee.SE)(e_)),children:[e_>0?"+":"",e_.toFixed(1),"%"]})]})}),(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-3 py-2",children:[(0,s.jsx)(q.Z,{className:"h-5 w-5 shrink-0 text-modern-primary","aria-hidden":!0}),(0,s.jsx)("p",{className:"text-sm font-medium text-slate-800",children:"Weekly load view"})]})]}):null]})]})]})}let eI="how-training-works",ez={race:{label:"Race",subtitle:"See how weather, wind, heat, and terrain will change your pace before race day."}
1,training:{label:"Training",subtitle:"Preview the cost of training in the heat, training with the wind, or training for the hills. Then check the same impacts in your log."}};function eF(){let{active:e,onActiveChange:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,w.useId)(),[l,r]=(0,w.useState)("race"),n=null!=e?e:l,i=a=>{null==t||t(a),void 0===e&&r(a)};(0,w.useEffect)(()=>{let a=()=>{window.location.hash==="#".concat(eI)&&(null==t||t("training"),void 0===e&&r("training"))};return a(),window.addEventListener("hashchange",a),()=>window.removeEventListener("hashchange",a)},[]);let c="".concat(a,"-race-panel"),d="".concat(a,"-training-panel"),o="".concat(a,"-race-tab"),m="".concat(a,"-training-tab");return(0,s.jsxs)("section",{id:"features",className:"relative scroll-mt-24 py-14 sm:py-20",children:[(0,s.jsx)("div",{id:eI,className:"absolute top-0 scroll-mt-24","aria-hidden":!0}),(0,s.jsxs)("div",{className:"container relative mx-auto max-w-6xl px-4 sm:px-6",children:[(0,s.jsx)(b.E.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.25},transition:{duration:.35},className:"mx-auto mb-6 max-w-3xl text-center sm:mb-8",children:(0,s.jsx)("h2",{className:"text-3xl font-bold tracking-tight sm:text-4xl md:text-5xl",children:(0,s.jsx)("span",{className:"bg-gradient-to-r from-modern-accent1 to-modern-accent2 bg-clip-text text-transparent",children:"How MeteoPace works"})})}),(0,s.jsxs)("div",{className:"mb-6 flex flex-col items-center gap-4 sm:mb-8",children:[(0,s.jsxs)("div",{role:"tablist","aria-label":"How MeteoPace works",className:"inline-flex rounded-full border border-slate-200 bg-white/90 p-1 shadow-sm",children:[(0,s.jsx)("button",{id:o,type:"button",role:"tab","aria-selected":"race"===n,"aria-controls":c,tabIndex:"race"===n?0:-1,onClick:()=>i("race"),onKeyDown:e=>{("ArrowRight"===e.key||"ArrowDown"===e.key)&&(e.preventDefault(),i("training"))},className:"rounded-full px-5 py-2 text-sm font-semibold transition-colors sm:px-6 sm:text-base ".concat("race"===n?"bg-modern-primary text-white shadow-md":"text-slate-600 hover:text-slate-900"),children:ez.race.label}),(0,s.jsx)("button",{id:m,type:"button",role:"tab","aria-selected":"training"===n,"aria-controls":d,tabIndex:"training"===n?0:-1,onClick:()=>i("training"),onKeyDown:e=>{("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(e.preventDefault(),i("race"))},className:"rounded-full px-5 py-2 text-sm font-semibold transition-colors sm:px-6 sm:text-base ".concat("training"===n?"bg-modern-primary text-white shadow-md":"text-slate-600 hover:text-slate-900"),children:ez.training.label})]}),(0,s.jsx)("p",{className:"max-w-2xl text-center text-base text-slate-700 sm:text-lg",children:ez[n].subtitle})]}),(0,s.jsx)("div",{id:c,role:"tabpanel","aria-labelledby":o,hidden:"race"!==n,children:"race"===n?(0,s.jsx)(ey,{variant:"tab-panel"}):null}),(0,s.jsx)("div",{id:d,role:"tabpanel","aria-labelledby":m,hidden:"training"!==n,children:"training"===n?(0,s.jsx)(eA,{}):null})]})]})}var eR=a(1239),eL=a(6832);function eH(){return(0,s.jsx)("section",{id:"map",className:"relative py-14 sm:py-18",children:(0,s.jsx)("div",{className:"container relative mx-auto px-4 sm:px-6",children:(0,s.jsxs)("div",{className:"mx-auto grid max-w-5xl items-center gap-8 lg:grid-cols-[minmax(0,1.2fr)_minmax(0,0.8fr)] lg:gap-10",children:[(0,s.jsxs)(b.E.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6},className:"space-y-6",children:[(0,s.jsxs)("div",{className:"inline-flex w-fit items-center rounded-full border border-modern-accent2/30 bg-modern-accent2/20 px-4 py-2 text-sm font-medium text-modern-accent2",children:[(0,s.jsx)(eR.Z,{className:"mr-2 h-4 w-4"}),"Key Metric"]}),(0,s.jsx)("h2",{className:"bg-gradient-to-r from-modern-accent1 to-modern-accent2 bg-clip-text text-3xl font-bold text-transparent sm:text-4xl",children:"Meteo Adjusted Pace (MAP)"}),(0,s.jsxs)("p",{className:"text-lg leading-relaxed text-slate-700",children:["Traditional pace zones assume perfect conditions that rarely exist in real training."," ",(0,s.jsx)("strong",{className:"font-bold text-slate-900",children:"MAP normalizes your performance"})," by accounting for weather, elevation, and course difficulty so you can compare progress across any day."]}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("div",{className:"rounded-lg bg-modern-accent2/20 p-2",children:(0,s.jsx)(m.Z,{className:"h-5 w-5 text-modern-accent2"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"mb-1 font-semibold text-slate-900",children:"Realistic Training Assessment"}),(0,s.jsx)("p",{className:"text-sm text-slate-700",children:"See how you are actually progressing, not just what your watch shows."})]})]}),(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("div",{className:"rounded-lg bg-modern-accent2/20 p-2",children:(0,s.jsx)(m.Z,{className:"h-5 w-5 text-modern-accent2"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"mb-1 font-semibold text-slate-900",children:"Weather-Independent Progress"}),(0,s.jsx)("p",{className:"text-sm text-slate-700",children:"Track fitness gains even when conditions change daily."})]})]}),(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("div",{className:"rounded-lg bg-modern-accent2/20 p-2",children:(0,s.jsx)(m.Z,{className:"h-5 w-5 text-modern-accent2"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"mb-1 font-semibold text-slate-900",children:"Course-Adjusted Metrics"}),(0,s.jsx)("p",{className:"text-sm text-slate-700",children:"Account for elevation and terrain in every anal
1ysis."})]})]})]})]}),(0,s.jsx)(b.E.div,{initial:{opacity:0,x:20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6},className:"flex justify-center lg:justify-end",children:(0,s.jsx)("div",{className:"w-full max-w-[320px]",children:(0,s.jsx)(j.Z,{variant:"light",children:(0,s.jsx)(eL.Z,{})})})})]})})})}let eW=["hills.","heat.","wind."],eY=[{question:"What is the weather impact on running?",answer:"Heat, hills, and wind change how hard a given pace feels and what finish time is realistic. MeteoPace shows that weather impact on running for race day and training, so you can adjust before you dig too deep."},{question:"How does MeteoPace help with training in the heat, wind, and hills?",answer:"MeteoPace shows how conditions change the cost of a session before and after you run. Whether you are training in the heat, training with the wind, or training for the hills, you can adjust effort and judge fitness with weather and terrain in context."},{question:"How accurate are the weather forecasts?",answer:"MeteoPace uses forecasts from national meteorological offices where possible up to about two weeks (14 days) before race day, then historical reanalysis when race day is further away. That gives you useful pacing context both close to race day and earlier in the planning cycle."},{question:"What is the difference between Race Pass, Core, and Pro?",answer:"Race Pass is one race plan. Core is daily training context and Strava. Pro is unlimited race planning, MAP splits, heat adaptation, and Garmin or COROS race-plan send. Sign-up starts with a 14-day Pro trial. Dismiss it if you want the free preview first."},{question:"How do connected services work?",answer:"Strava is on Core and Pro: weather and impact write-back, plus MAP. Sending a race plan to Garmin or COROS is Pro, or Race Pass when you have a plan. You stay in control and can revoke access anytime."}];eY.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}));let eB=[{name:"London Marathon",slug:"london-marathon"},{name:"Boston Marathon",slug:"boston-marathon"},{name:"Berlin Marathon",slug:"berlin-marathon"},{name:"Chicago Marathon",slug:"chicago-marathon"},{name:"New York City Marathon",slug:"new-york-city-marathon"},{name:"Tokyo Marathon",slug:"tokyo-marathon"},{name:"Sydney Marathon",slug:"sydney-marathon"},{name:"Valencia Marathon",slug:"valencia-marathon"},{name:"Copenhagen Half Marathon",slug:"copenhagen-half-marathon"},{name:"Great North Run",slug:"great-north-run"}];function eq(e){let{upcomingRaceLinks:t}=e,[a,n]=(0,w.useState)("race"),[y,N]=(0,w.useState)(0),[k,D]=(0,w.useState)(eW[0]),[P,T]=(0,w.useState)(!1),[M,C]=(0,w.useState)(!1);return(0,w.useEffect)(()=>{C(!0)},[]),(0,w.useEffect)(()=>{if(!M)return;let e=eW[y],t=k===e,a=0===k.length,s=window.setTimeout(()=>{if(P){if(!a){D(e.slice(0,k.length-1));return}T(!1),N(e=>(e+1)%eW.length);return}if(!t){D(e.slice(0,k.length+1));return}T(!0)},P?a?220:55:t?1100:90);return()=>window.clearTimeout(s)},[y,M,P,k]),(0,s.jsx)("div",{className:"min-h-screen bg-white text-slate-950 dark:bg-slate-950 dark:text-white",children:(0,s.jsxs)("main",{className:"flex-1",children:[(0,s.jsx)("section",{className:"relative overflow-hidden bg-slate-100 px-4 pt-8 pb-12 dark:bg-modern-primary sm:pt-12 sm:pb-16 sm:px-6 lg:px-8",children:(0,s.jsx)("div",{className:"container relative mx-auto",children:(0,s.jsxs)("div",{className:"grid gap-12 lg:grid-cols-2 items-center",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center text-center lg:items-start lg:text-left",children:[(0,s.jsxs)("h1",{className:"mb-6 flex flex-col items-center lg:items-start text-4xl font-bold sm:text-5xl lg:text-6xl tracking-tight leading-[1.12] lg:leading-[1.08]",children:[(0,s.jsx)("span",{className:"block text-gradient",children:"How should I adjust my pace?"}),(0,s.jsx)("span",{className:"mt-2 flex w-full justify-center text-modern-primary dark:text-modern-background lg:justify-start",children:(0,s.jsxs)("span",{className:"inline-flex items-end align-bottom",children:[(0,s.jsx)("span",{children:"For the\xa0"}),(0,s.jsxs)("span",{className:"inline-flex items-end",children:[(0,s.jsx)("span",{children:k}),(0,s.jsx)(b.E.span,{"aria-hidden":"true",className:"ml-1 inline-block h-[0.95em] w-[2px] bg-modern-primary/90 dark:bg-modern-background/90",animate:{o
1pacity:[1,0,1]},transition:{duration:.9,repeat:Number.POSITIVE_INFINITY}})]})]})})]}),(0,s.jsx)("p",{className:"mb-8 max-w-2xl text-xl text-slate-700 dark:text-modern-background/90 sm:text-2xl",children:"Plan your pace for the race-day weather and conditions youâll actually train and race in."}),(0,s.jsxs)("div",{className:"flex flex-col items-center lg:items-start gap-3",children:[(0,s.jsxs)(l.default,{href:"/races",className:"btn-primary text-lg px-6 py-3 sm:text-xl sm:px-8 sm:py-4 font-semibold hover:scale-105 hover:-translate-y-0.5 cursor-pointer text-modern-primary inline-flex items-center shadow-sm",children:["Plan my race",(0,s.jsx)(r.Z,{className:"ml-3 h-5 w-5 sm:h-6 sm:w-6 inline-block"})]}),(0,s.jsx)("a",{href:"#".concat(eI),onClick:()=>n("training"),className:"text-sm font-medium text-slate-600 underline decoration-slate-300 underline-offset-2 transition-colors hover:text-slate-900 hover:decoration-slate-500 dark:text-modern-background/80 dark:decoration-modern-background/30 dark:hover:text-modern-background/95 dark:hover:decoration-modern-background/55 sm:text-base",children:"Not racing? Understand your training"}),(0,s.jsxs)("figure",{className:"mt-3 w-full max-w-2xl rounded-xl border border-slate-200 bg-slate-50 px-4 py-3 text-center shadow-sm dark:border-white/15 dark:bg-white/5 dark:backdrop-blur-[2px] sm:mt-4 sm:px-5 sm:py-4 sm:text-left",children:[(0,s.jsx)("blockquote",{className:"text-base font-medium leading-relaxed text-slate-800 dark:text-modern-background/90 sm:text-lg sm:leading-relaxed",children:"âItâs been a game changer in my trainingâ"}),(0,s.jsxs)("figcaption",{className:"mt-3 text-xs font-medium leading-snug text-slate-600 dark:text-modern-background/65 sm:text-sm",children:["Runnerâs World,"," ",(0,s.jsx)("a",{href:"https://www.runnersworld.com/gear/a69440795/gear-of-the-year-2026/",target:"_blank",rel:"noopener noreferrer",className:"underline decoration-slate-300 underline-offset-2 transition-colors hover:text-slate-900 hover:decoration-slate-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-modern-accent1 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:decoration-modern-background/25 dark:hover:text-modern-background/90 dark:hover:decoration-modern-background/45 dark:focus-visible:ring-offset-modern-primary",children:"Gear of the Year 2026"})]})]})]})]}),(0,s.jsx)("div",{className:"relative flex justify-center lg:justify-end",children:(0,s.jsx)("div",{className:"w-full max-w-[400px] drop-shadow-2xl lg:-translate-x-8",children:(0,s.jsx)(v,{src:"/videos/20260825.mp4",className:"w-full mx-auto",poster:"/videos/20260825-poster.png"})})})]})})}),(0,s.jsxs)("section",{className:"relative bg-white pt-4 dark:bg-modern-primary sm:pt-5",children:[(0,s.jsx)(B,{}),(0,s.jsxs)("div",{className:"w-full border-y border-slate-200 px-4 py-2.5 dark:border-white/10 sm:px-6 sm:py-3 lg:px-12",children:[(0,s.jsx)("p",{className:"mb-2 text-center text-xs font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-modern-background/60",children:"Featured in"}),(0,s.jsxs)("div",{className:"mx-auto grid max-w-6xl grid-cols-2 items-stretch gap-y-3 md:grid-cols-3 md:divide-x md:divide-slate-200 md:gap-0 md:dark:divide-white/10",children:[(0,s.jsx)("div",{className:"order-2 h-full px-3 py-2 sm:px-6 md:order-1",children:(0,s.jsxs)("div",{className:"flex h-full flex-col items-center gap-2 text-center",children:[(0,s.jsx)("div",{className:"flex h-24 items-center justify-center sm:h-24",children:(0,s.jsx)("a",{href:"https://open.spotify.com/show/0XNi1i6IdT2TJBc8uwy2IY",target:"_blank",rel:"noopener noreferrer","aria-label":"Inside Running Podcast",children:(0,s.jsx)("img",{src:"https://image-cdn-ak.spotifycdn.com/image/ab67656300005f1f410a3e0e9c41f63a868c24c1",alt:"Inside Running Podcast",className:"h-24 w-24 rounded-md object-cover",loading:"lazy"})})}),(0,s.jsx)("p",{className:"text-xs text-slate-600 dark:text-modern-background/70",children:(0,s.jsx)("a",{href:"https://open.spotify.com/show/0XNi1i6IdT2TJBc8uwy2IY",target:"_blank",rel:"noopener noreferrer",className:"underline transition-colors hover:text-modern-accent1",children:"Listen here"})})]})}),(0,s.jsx)("div",{className:"order-1 col-span-2 flex h-full flex-col items-center px-3 py-2 pb-4 sm:px-6 md:order-2 md:col-span-1 md:pb-2",children:(0,s.jsxs)("div",{className:"flex w-full max-w-full flex-col items-center text-center",children:[(0,s.jsx)("div",{className:"flex h-12 w-full items-center justify-center sm:h-14",children:(0,s.jsx)("a",{href:"https://www.runnersworld.com/gear/a69440795/gear-of-the-year-2026/",target:"_blank",rel:"noopener noreferrer",className:"flex w-full max-w-[min(100%,320px)] justify-center transition-opacity hover:opacity-90","aria-label":"Runner's World, Gear of the Year 2026",children:(0,s.jsx)("img",{src:"/runners-world-logo.svg",alt:"Runner's World",className:"mx-auto block h-7 w-auto max-w-full object-contain object-center opacity-95 dar
1k:brightness-0 dark:invert sm:h-8",loading:"lazy"})})}),(0,s.jsx)("p",{className:"-mt-0.5 text-center",children:(0,s.jsxs)("a",{href:"https://www.runnersworld.com/gear/a69440795/gear-of-the-year-2026/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-1.5 text-lg leading-snug text-slate-800 transition-colors hover:text-modern-accent1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-modern-accent1 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:text-modern-background/90 dark:focus-visible:ring-offset-modern-primary sm:gap-2 sm:text-xl",children:[(0,s.jsx)(i,{className:"h-5 w-5 shrink-0 text-slate-700 dark:text-modern-background/85 sm:h-5 sm:w-5",strokeWidth:1.75,"aria-hidden":!0}),(0,s.jsx)("span",{className:"font-medium bg-gradient-to-r from-modern-accent1/75 to-modern-accent2/75 bg-no-repeat pb-px [background-position:0_100%] [background-size:100%_1.5px] sm:[background-size:100%_1.5px]",children:"Gear of the Year 2026"})]})}),(0,s.jsx)("p",{className:"mt-1 text-xs text-slate-600 dark:text-modern-background/70",children:(0,s.jsx)("a",{href:"https://www.runnersworld.com/gear/a69440795/gear-of-the-year-2026/",target:"_blank",rel:"noopener noreferrer",className:"underline transition-colors hover:text-modern-accent1",children:"See article"})})]})}),(0,s.jsx)("div",{className:"order-3 h-full px-3 py-2 sm:px-6 md:order-3",children:(0,s.jsxs)("div",{className:"flex h-full flex-col items-center gap-2 text-center",children:[(0,s.jsx)("div",{className:"flex h-24 items-center justify-center sm:h-24",children:(0,s.jsx)("a",{href:"https://open.spotify.com/episode/0I7DFrDyX0i3Srs4AHULe0?si=6815c0726ffe4eaf",target:"_blank",rel:"noopener noreferrer","aria-label":"The Physiology of Endurance Running Podcast episode",children:(0,s.jsx)("img",{src:"https://i.scdn.co/image/ab6765630000ba8a85d458d5e8f25b805ccb6938",alt:"The Physiology of Endurance Running Podcast episode",className:"h-24 w-24 rounded-md object-cover",loading:"lazy"})})}),(0,s.jsx)("p",{className:"text-xs text-slate-600 dark:text-modern-background/70",children:(0,s.jsx)("a",{href:"https://open.spotify.com/episode/0I7DFrDyX0i3Srs4AHULe0?si=6815c0726ffe4eaf",target:"_blank",rel:"noopener noreferrer",className:"underline transition-colors hover:text-modern-accent1",children:"Listen here"})})]})})]})]})]}),(0,s.jsx)("section",{className:"relative overflow-hidden bg-slate-100 dark:bg-modern-background",children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(eF,{active:a,onActiveChange:n}),(0,s.jsx)("div",{className:"mx-auto my-1.5 h-px w-full max-w-5xl bg-gradient-to-r from-transparent via-slate-400 to-transparent"}),(0,s.jsx)(eH,{})]})}),(0,s.jsxs)("section",{className:"relative overflow-hidden bg-white py-16 dark:bg-[#1A1A2E] sm:py-24",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_30%_70%,rgba(56,189,248,0.08),transparent_50%)] dark:bg-[radial-gradient(circle_at_30%_70%,rgba(131,197,190,0.1),transparent_50%)]"}),(0,s.jsx)("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-slate-200 to-transparent"}),(0,s.jsxs)("div",{className:"container relative mx-auto px-4 sm:px-6",children:[(0,s.jsxs)("div",{className:"text-center mb-12",children:[(0,s.jsx)("h2",{className:"text-2xl sm:text-3xl font-bold mb-4 bg-clip-text text-transparent bg-gradient-to-r from-modern-accent1 to-modern-accent2",children:"Features that matter on race day"}),(0,s.jsx)("p",{className:"text-lg text-slate-700 dark:text-white/80 max-w-2xl mx-auto",children:"Built so you can act on the conditions. Each piece helps you adjust pace for race-day weather and terrain."})]}),(0,s.jsxs)("div",{className:"grid md:grid-cols-2 gap-4 sm:gap-6 max-w-5xl mx-auto",children:[(0,s.jsx)("div",{className:"p-4 sm:p-6 rounded-lg bg-slate-50 border border-slate-200 shadow-sm transition-all hover:border-slate-300 hover:shadow-md dark:bg-white/10 dark:backdrop-blur-sm dark:border-white/20 dark:hover:bg-white/15",children:(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 sm:gap-4",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-[190p
1x] sm:w-[180px] mx-auto sm:mx-0",children:(0,s.jsx)(j.Z,{children:(0,s.jsx)("img",{src:"/videos/features-home/course-modeling.gif",alt:"Course Modeling",className:"w-full h-full object-cover",loading:"lazy"})})}),(0,s.jsxs)("div",{className:"flex-1 text-center sm:text-left",children:[(0,s.jsxs)("div",{className:"flex items-center justify-center sm:justify-start gap-3 mb-2",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-modern-accent1/30 flex items-center justify-center",children:(0,s.jsx)(c.Z,{className:"h-5 w-5 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-xl font-bold text-slate-900 dark:text-white",children:"Course Modeling"})]}),(0,s.jsx)("p",{className:"text-slate-700 text-sm dark:text-white/80",children:"We model terrain, elevation, and surrounding geography. When you are training for the hills or racing them, you see where gradient and wind exposure will cost you."})]})]})}),(0,s.jsx)("div",{className:"p-4 sm:p-6 rounded-lg bg-slate-50 border border-slate-200 shadow-sm transition-all hover:border-slate-300 hover:shadow-md dark:bg-white/10 dark:backdrop-blur-sm dark:border-white/20 dark:hover:bg-white/15",children:(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 sm:gap-4",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-[190px] sm:w-[180px] mx-auto sm:mx-0",children:(0,s.jsx)(j.Z,{children:(0,s.jsx)("img",{src:"/videos/features-home/weather-impact.gif",alt:"Weather Impact",className:"w-full h-full object-cover",loading:"lazy"})})}),(0,s.jsxs)("div",{className:"flex-1 text-center sm:text-left",children:[(0,s.jsxs)("div",{className:"flex items-center justify-center sm:justify-start gap-3 mb-2",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-modern-accent1/30 flex items-center justify-center",children:(0,s.jsx)(d.Z,{className:"h-5 w-5 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-xl font-bold text-slate-900 dark:text-white",children:"Weather Impact"})]}),(0,s.jsx)("p",{className:"text-slate-700 text-sm dark:text-white/80",children:"Hour-by-hour temperature, humidity, wind direction vs course, and cloud cover. Useful for training with the wind as well as race day. Live forecasts close in; historical reanalysis further out."})]})]})}),(0,s.jsx)("div",{className:"p-4 sm:p-6 rounded-lg bg-slate-50 border border-slate-200 shadow-sm transition-all hover:border-slate-300 hover:shadow-md dark:bg-white/10 dark:backdrop-blur-sm dark:border-white/20 dark:hover:bg-white/15",children:(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 sm:gap-4",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-[190px] sm:w-[180px] mx-auto sm:mx-0",children:(0,s.jsx)(j.Z,{children:(0,s.jsx)("img",{src:"/videos/features-home/adjusted-pacing.gif",alt:"Adjusted Pacing",className:"w-full h-full object-cover",loading:"lazy"})})}),(0,s.jsxs)("div",{className:"flex-1 text-center sm:text-left",children:[(0,s.jsxs)("div",{className:"flex items-center justify-center sm:justify-start gap-3 mb-2",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-modern-accent1/30 flex items-center justify-center",children:(0,s.jsx)(o,{className:"h-5 w-5 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-xl font-bold text-slate-900 dark:text-white",children:"Adjusted Pacing"})]}),(0,s.jsx)("p",{className:"text-slate-700 text-sm dark:text-white/80",children:"See a realistic adjusted finish time, or the exact splits you need to hit your original target. Know where to push and where to hold back."})]})]})}),(0,s.jsx)("div",{className:"p-4 sm:p-6 rounded-lg bg-slate-50 border border-slate-200 shadow-sm transition-all hover:border-slate-300 hover:shadow-md dark:bg-white/10 dark:backdrop-blur-sm dark:border-white/20 dark:hover:bg-white/15",children:(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 sm:gap-4",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-[190px] sm:w-[180px] mx-auto sm:mx-0",children:(0,s.jsx)(j.Z,{children:(0,s.jsx)("img",{src:"/videos/features-home/race-day-splits.gif",alt:"Race-Day Splits",className:"w-full h-full object-cover",loading:"lazy"})})}),(0,s.jsxs)("div",{className:"flex-1 text-center sm:text-left",children:[(0,s.jsxs)("div",{className:"flex items-center justify-center sm:justify-start gap-3 mb-2",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-modern-accent1/30 flex items-center justify-center",children:(0,s.jsx)(m.Z,{className:"h-5 w-5 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-xl font-bold text-slate-900 dark:text-white",children:"Race-Day Splits"})]}),(0,s.jsx)("p",{className:"text-slate-700 text-sm dark:text-white/80",children:"Mile and km splits for every race marker. See the difference when you can draft vs when you can't."})]})]})}),(0,s.jsx)("div",{className:"p-4 sm:p-6 rounded-lg bg-slate-50 border border-slate-200 shadow-sm transition-all hover:border-slate-300 hover:shadow-md relative dark:bg-white/10 dark:backdrop-blur-sm dark:border-white/20 dark:hover:bg-white/15",children:(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 sm:gap-4",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-[190p
1x] sm:w-[180px] mx-auto sm:mx-0",children:(0,s.jsx)(j.Z,{children:(0,s.jsx)("img",{src:"/videos/features-home/strava-sync.gif",alt:"Strava Sync",className:"w-full h-full object-cover",loading:"lazy"})})}),(0,s.jsxs)("div",{className:"flex-1 text-center sm:text-left",children:[(0,s.jsxs)("div",{className:"flex items-center justify-center sm:justify-start gap-3 mb-2",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-modern-accent1/30 flex items-center justify-center",children:(0,s.jsx)(x.Z,{className:"h-5 w-5 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-xl font-bold text-slate-900 dark:text-white",children:"Connected services"})]}),(0,s.jsx)("p",{className:"text-slate-700 text-sm dark:text-white/80",children:"Strava is on Core and Pro (weather and impact write-back). Send a race plan to Garmin or COROS with Pro, or with Race Pass when you have a plan."})]})]})}),(0,s.jsx)("div",{className:"p-4 sm:p-6 rounded-lg bg-slate-50 border border-slate-200 shadow-sm transition-all hover:border-slate-300 hover:shadow-md relative dark:bg-white/10 dark:backdrop-blur-sm dark:border-white/20 dark:hover:bg-white/15",children:(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center gap-3 sm:gap-4",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-[190px] sm:w-[180px] mx-auto sm:mx-0",children:(0,s.jsx)(j.Z,{children:(0,s.jsx)("img",{src:"/videos/features-home/personalized-heat-impacts.gif",alt:"Personalized Heat Impacts",className:"w-full h-full object-cover",loading:"lazy"})})}),(0,s.jsxs)("div",{className:"flex-1 text-center sm:text-left",children:[(0,s.jsxs)("div",{className:"flex items-center justify-center sm:justify-start gap-3 mb-2",children:[(0,s.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-modern-accent1/30 flex items-center justify-center",children:(0,s.jsx)(h.Z,{className:"h-5 w-5 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-xl font-bold text-slate-900 dark:text-white",children:"Personalized Heat Impacts"})]}),(0,s.jsx)("p",{className:"text-slate-700 text-sm dark:text-white/80",children:"Training in the heat changes how hard a session feels. Impacts adjust to your acclimatization, so a hot easy run isn't mistaken for lost fitness."})]})]})})]}),(0,s.jsx)("div",{className:"mt-12 text-center",children:(0,s.jsxs)(l.default,{href:"/plans",className:"inline-flex items-center rounded-lg border-2 border-modern-accent1 bg-transparent px-8 py-3 font-semibold text-modern-accent1 transition-all duration-200 hover:bg-modern-accent1/10",children:["Compare plans",(0,s.jsx)(r.Z,{className:"ml-2 h-5 w-5"})]})})]})]}),(0,s.jsxs)("section",{className:"relative overflow-hidden bg-slate-100 py-14 dark:bg-[#141428] sm:py-20",children:[(0,s.jsx)("div",{className:"absolute inset-0 hidden bg-[radial-gradient(circle_at_30%_70%,rgba(56,189,248,0.2),rgba(131,197,190,0.15),transparent_50%)] dark:block"}),(0,s.jsx)("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-slate-200 to-transparent"}),(0,s.jsx)("div",{className:"container relative mx-auto",children:(0,s.jsx)("div",{className:"flex flex-col items-center justify-center space-y-6 text-center",children:(0,s.jsxs)(b.E.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"w-full max-w-4xl mx-auto mb-8",children:[(0,s.jsx)("h2",{className:"text-2xl sm:text-3xl md:text-4xl font-bold mb-6 bg-clip-text text-transparent bg-gradient-to-r from-modern-accent1 to-modern-accent2",children:"Runners worldwide already race with MeteoPace"}),(0,s.jsxs)("div",{className:"grid md:grid-cols-3 gap-6",children:[(0,s.jsxs)("div",{className:"text-center p-6 rounded-xl bg-white border border-slate-200 shadow-sm dark:bg-white/5 dark:backdrop-blur-sm dark:border-white/10",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-modern-accent1/20 mb-4",children:(0,s.jsx)(u.Z,{className:"h-6 w-6 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-lg font-bold text-slate-900 mb-2 dark:text-white",children:"Elite athletes"}),(0,s.jsx)("p",{className:"text-slate-700 text-sm leading-relaxed dark:text-white/80",children:"Olympians and national team runners using MeteoPace for major championships."})]}),(0,s.jsxs)("div",{className:"text-center p-6 rounded-xl bg-white border border-slate-200 shadow-sm dark:bg-white/5 dark:backdrop-blur-sm dark:border-white/10",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-modern-accent2/20 mb-4",children:(0,s.jsx)(p,{className:"h-6 w-6 text-modern-accent2"})}),(0,s.jsx)("h3",{className:"text-lg font-bold text-slate-900 mb-2 dark:text-white",children:"Coaches"}),(0,s.jsx)("p",{className:"text-slate-700 text-sm leading-relaxed dark:text-white/80",children:"Coaches who use MeteoPace to set expectations and give feedback that matches the day."})]}),(0,s.jsxs)("div",{className:"text-center p-6 rounded-xl bg-white border border-slate-200 shadow-sm dark:bg-white/5 dark:backdrop-blur-sm dark:border-white/10",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-modern-accent1/2
10 mb-4",children:(0,s.jsx)(f.Z,{className:"h-6 w-6 text-modern-accent1"})}),(0,s.jsx)("h3",{className:"text-lg font-bold text-slate-900 mb-2 dark:text-white",children:"Runners worldwide"}),(0,s.jsx)("p",{className:"text-slate-700 text-sm leading-relaxed dark:text-white/80",children:"Thousands of runners using weather and terrain context to judge training and race day."})]})]})]})})})]}),(0,s.jsx)("section",{className:"relative overflow-hidden bg-white py-12 sm:py-16",children:(0,s.jsxs)("div",{className:"container mx-auto max-w-4xl px-4 sm:px-6",children:[(0,s.jsx)("div",{className:"text-center mb-8 sm:mb-10",children:(0,s.jsx)("h2",{className:"text-2xl sm:text-3xl font-bold tracking-tight text-modern-primary",children:"Frequently asked questions"})}),(0,s.jsxs)("div",{className:"overflow-hidden rounded-xl border border-slate-200 bg-slate-50 shadow-sm",children:[eY.map((e,t)=>(0,s.jsxs)("details",{className:"group ".concat(t>0?"border-t border-slate-200":""),children:[(0,s.jsxs)("summary",{className:"flex w-full cursor-pointer list-none items-center justify-between gap-4 px-5 py-4 text-left transition-colors hover:bg-slate-100 [&::-webkit-details-marker]:hidden",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold text-slate-900",children:e.question}),(0,s.jsx)(g.Z,{className:"h-5 w-5 flex-shrink-0 text-slate-500 transition-transform duration-200 group-open:rotate-180"})]}),(0,s.jsx)("div",{className:"border-t border-slate-200 px-5 py-4",children:(0,s.jsx)("p",{className:"text-sm leading-relaxed text-slate-600",children:e.answer})})]},e.question)),(0,s.jsxs)("div",{className:"border-t border-slate-200 px-5 py-4 text-center",children:[(0,s.jsxs)(l.default,{href:"/support",className:"inline-flex items-center text-sm font-medium text-modern-accent1 transition-colors hover:text-modern-accent2",children:["More questions? Visit Support",(0,s.jsx)(r.Z,{className:"ml-1.5 h-4 w-4"})]}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsxs)(l.default,{href:"/plans",className:"inline-flex items-center text-sm font-medium text-slate-600 transition-colors hover:text-modern-accent1",children:["Compare plans",(0,s.jsx)(r.Z,{className:"ml-1.5 h-4 w-4"})]})})]})]})]})}),(0,s.jsx)("section",{"aria-labelledby":"popular-races-heading",className:"border-t border-slate-200 bg-white py-10 dark:border-slate-800 dark:bg-slate-950 sm:py-12",children:(0,s.jsxs)("div",{className:"container mx-auto px-4 text-center sm:px-6",children:[(0,s.jsx)("h2",{id:"popular-races-heading",className:"text-2xl font-bold tracking-tight text-slate-900 dark:text-white",children:"Race weather and pacing guides"}),(0,s.jsx)("p",{className:"mx-auto mt-2 max-w-2xl text-sm leading-relaxed text-slate-600 dark:text-slate-300 sm:text-base",children:"Explore course conditions, weather, and pacing insights for popular races worldwide."}),(0,s.jsx)("nav",{"aria-label":"Popular race guides",className:"mx-auto mt-6 flex max-w-5xl flex-wrap justify-center gap-2",children:eB.map(e=>(0,s.jsx)(l.default,{href:"/race/".concat(e.slug),className:"rounded-full border border-slate-200 bg-slate-50 px-3.5 py-2 text-sm font-medium text-slate-700 transition-colors hover:border-modern-accent1 hover:text-modern-accent1 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-200 dark:hover:border-modern-accent1 dark:hover:text-modern-accent1",children:e.name},e.slug))}),t.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h3",{className:"mt-8 text-sm font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:"Races in the next two weeks"}),(0,s.jsx)("nav",{"aria-label":"Upcoming race guides",className:"mx-auto mt-3 flex max-w-5xl flex-wrap justify-center gap-2",children:t.map(e=>{var t;return(0,s.jsxs)(l.default,{href:"/race/".concat(e.slug),className:"rounded-full border border-sky-200 bg-sky-50 px-3.5 py-2 text-sm font-medium text-sky-800 transition-colors hover:border-modern-accent1 hover:text-modern-accent1 dark:border-sky-900 dark:bg-sky-950/40 dark:text-sky-200 dark:hover:border-modern-accent1 dark:hover:text-modern-accent1",children:[e.name,(0,s.jsx)("span",{className:"ml-1.5 text-xs font-normal text-sky-600 dark:text-sky-400",children:(t=e.startTime,new Intl.DateTimeFormat("en",{month:"short",day:"numeric",timeZone:"UTC"}).format(new Date(t)))})]},e.slug)})})]}),(0,s.jsxs)(l.default,{href:"/races/directory",className:"mt-6 inline-flex items-center text-sm font-semibold text-modern-accent1 transition-colors hover:text-modern-accent2",children:["Browse all race weather and pacing guides",(0,s.jsx)(r.Z,{className:"ml-1.5 h-4 w-4"})]})]})}),(0,s.jsxs)("section",{id:"download",className:"relative overflow-hidden border-t border-slate-200 bg-slate-100 py-14 dark:border-transparent dark:bg-modern-primary sm:py-20 md:py-24",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_30%_70%,rgba(131,197,190,0.08),transparent_50%)] dark:bg-[radial-gradient(circle_at_30%_70%,rgba(131,197,190,0.1),transparent_50%)]"}),(0,s.jsxs)("div",{className:"container relative grid items-center gap-8 sm:gap-12 lg:grid-cols-12 lg:gap-14",children:[(0,s.jsxs)("div",{className:"space-y-5 sm:space-y-6 lg:col-span-7 text-center lg:text-left",children:[(0,s.jsx)("h2",{className:"text-4xl sm:text-5xl lg:text-6xl font-bold text-modern-primary tracking-tight dark:text-modern-background",children:"Ready for a race plan that matches the day?"}),(0,s.jsx)("div",{className:"flex flex-col items-center lg:items-start gap-4",children:(0,s.jsx)("p",{className:"text-base sm:text-lg lg:text-xl leading-relaxed text-slate-700 max-w-2xl mx-auto dark:text-modern-background/80 lg:mx-0",children:"On iOS and Android n
1ow, with weather-aware pacing for racing and training."})})]}),(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-6 lg:col-span-5 lg:justify-center",children:[(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsx)("a",{href:"https://apps.apple.com/app/MeteoPace/id6743384949",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center hover:scale-105 transition-transform cursor-pointer","aria-label":"Download on the App Store",children:(0,s.jsx)("img",{src:"/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg",alt:"Download on the App Store",style:{height:"50px",width:"auto"},className:"object-contain"})})}),(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsx)("a",{href:"https://play.google.com/store/apps/details?id=com.raceweather.app&pcampaignid=web_share",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center hover:scale-105 transition-transform cursor-pointer","aria-label":"Get it on Google Play",children:(0,s.jsx)("img",{src:"/getitongoogleplay.svg",alt:"Get it on Google Play",style:{height:"50px",width:"auto"},className:"object-contain"})})})]})]})]})]})})}},9097:function(e,t,a){"use strict";a.d(t,{F:function(){return n}});var s=a(9376),l=a(5922),r=a(2265);let n=()=>{let e=(0,s.usePathname)(),{theme:t,setTheme:a,resolvedTheme:n}=(0,l.F)(),[i,c]=(0,r.useState)("dark"===n?"dark":"light");return(0,r.useEffect)(()=>{let e=()=>{c(document.documentElement.classList.contains("dark")?"dark":"light")};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[n]),{theme:t,resolvedTheme:i,setTheme:a,toggleTheme:()=>{a(("/"===e?"dark"===i:"undefined"!=typeof document?document.documentElement.classList.contains("dark"):"dark"===i)?"light":"dark")}}}},7393:function(e,t,a){"use strict";a.d(t,{SE:function(){return l},hx:function(){return s},ip:function(){return n},uK:function(){return r}});let s="text-modern-accent1";function l(e){return e<=1?"text-[#4CAF50]":e<=3?"text-[#FFA000]":"text-[#F44336]"}function r(e){return e<=1?"border-0 bg-[#E8F5E9]":e<=3?"border-0 bg-[#FFF8E1]":"border-0 bg-[#FFEBEE]"}function n(e){return e.trim().startsWith("-")?s:"text-rose-500"}},9877:function(e,t,a){"use strict";a.d(t,{A:function(){return s},I_:function(){return l},bX:function(){return r}});let s="linear-gradient(to bottom right, #a5e1fc, #fdbfc8)",l="#ffffff",r="linear-gradient(to right, #38bdf8, #fb7185)"}},function(e){e.O(0,[2972,5878,9762,28,4387,2971,2117,1744],function(){return e(e.s=1473)}),_N_E=e.O()}]);
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.