1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,96690,e=>{"use strict";var a=e.i(43476),t=e.i(71645),n=e.i(22016),r=e.i(18566),o=e.i(51969);let i=[{label:"Features",kind:"anchor",target:"features"},{label:"How It Works",kind:"anchor",target:"how"},{label:"Pricing",kind:"anchor",target:"pricing"},{label:"FAQ",kind:"anchor",target:"faq"},{label:"Contact",kind:"anchor",target:"contact"}],s=["features","how","pricing","faq","contact"];e.s(["default",0,function({hideAuth:e=!1}={}){let l=(0,r.usePathname)(),d=(0,r.useRouter)(),c="/"===l,[p,h]=(0,t.useState)(!1),[u,g]=(0,t.useState)(!1),[m,x]=(0,t.useState)(!1),[f,v]=(0,t.useState)("");function b(e,a){if(e.preventDefault(),c){let e=document.getElementById(a);if(e){let a=e.getBoundingClientRect().top+window.scrollY-80;window.scrollTo({top:a,behavior:"smooth"})}}else d.push(`/#${a}`);x(!1)}function w(e){return"anchor"===e.kind?c&&f===e.target:l===e.href}return(0,t.useEffect)(()=>{let e=()=>h(window.scrollY>24);return e(),window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),(0,t.useEffect)(()=>{if("/login"===l||"/register"===l)return;let e=new AbortController;return fetch("/user/api/me",{credentials:"include",headers:{Accept:"application/json"},signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>g(e?.authenticated===!0)).catch(e=>{e instanceof DOMException&&"AbortError"===e.name||g(!1)}),()=>e.abort()},[l]),(0,t.useEffect)(()=>{if(!c)return void v("");let e=()=>{v(s.find(e=>{let a=document.getElementById(e);if(!a)return!1;let t=a.getBoundingClientRect();return t.top<=120&&t.bottom>=120})||"")};return e(),window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[c]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("style",{children:` 2 .ed-nav { 3 position: fixed; top: 0; left: 0; right: 0; z-index: 100; 4 padding: 0 clamp(20px, 4vw, 40px); 5 background: rgba(250, 250, 248, 0.88); 6 backdrop-filter: blur(14px) saturate(1.1); 7 -webkit-backdrop-filter: blur(14px) saturate(1.1); 8 transition: border-color 300ms var(--ed-ease-out); 9 border-bottom: 1px solid transparent; 10 } 11 .ed-nav-scrolled { 12 border-bottom-color: var(--ed-rule); 13 } 14 .ed-nav-inner { 15 max-width: 1180px; margin: 0 auto; 16 display: flex; align-items: center; justify-content: space-between; 17 height: 68px; 18 } 19 .ed-logo { 20 display: flex; align-items: center; 21 text-decoration: none; 22 color: var(--ed-ink); 23 } 24 /* Two wrappers â one for each breakpoint. Each wrapper contains 25 a <BrandLogo> which renders both dark + light twins; global 26 CSS (design-system.css .aha-brand-dark / .aha-brand-light) 27 picks one per theme. Wrapper-level display handles the 28 breakpoint swap; theme swap happens INSIDE the visible wrapper. 29 Cleaner than a single 2D class product of breakpoint \xd7 theme. */ 30 .ed-logo-desktop-wrap { display: block; } 31 .ed-logo-mobile-wrap { display: none; } 32 @media (max-width: 767px) { 33 .ed-logo-desktop-wrap { display: none; } 34 .ed-logo-mobile-wrap { display: block; } 35 } 36 /* Size of the visible img inside each wrapper. Applies to both 37 dark + light twins (they share className). Only one is visible 38 at any given time thanks to .aha-brand-* theme rules. */ 39 /* Tight-cropped 10:1 horizontal art (wordmark fills 100% of 40 slot height). 20px slot â 20px wordmark, ~200px wide. */ 41 .ed-logo-size-horizontal { 42 height: 20px; 43 width: auto; 44 } 45 .ed-logo-size-icon { 46 height: 30px; 47 width: auto; 48 } 49 .ed-nav-links { 50 display: flex; gap: clamp(18px, 2.6vw, 36px); 51 list-style: none; margin: 0; padding: 0; 52 align-items: center; 53 } 54 .ed-nav-links li { display: flex; align-items: center; } 55 56 a.ed-nav-link { 57 display: inline-block; 58 background: none; border: none; 59 font-family: var(--ed-font-mono); 60 font-size: 11px; font-weight: 500; 61 letter-spacing: 2px; text-transform: uppercase; 62 text-decoration: none; line-height: 1; 63 color: var(--ed-ink-3); 64 padding: 10px 2px; 65 position: relative; 66 transition: color 200ms var(--ed-ease-out); 67 cursor: pointer; 68 } 69 a.ed-nav-link:hover { 70 color: var(--ed-ink); 71 } 72 a.ed-nav-link.active { 73 color: var(--ed-ink); 74 } 75 a.ed-nav-link.active::after { 76 content: ""; position: absolute; 77 left: 0; right: 0; bottom: 4px; height: 1px; 78 background: var(--ed-accent); 79 } 80 81 .ed-cta-cluster { display: flex; align-items: center; gap: 16px; } 82 .ed-nav-login { 83 font-family: var(--ed-font-mono); 84 font-size: 11px; font-weight: 500; 85 letter-spacing: 2px; text-transform: uppercase; 86 color: var(--ed-ink-3); 87 text-decoration: none; 88 transition: color 180ms var(--ed-ease-out); 89 padding: 8px 2px; 90 } 91 .ed-nav-login:hover { color: var(--ed-ink); } 92 93 .ed-nav-hamburger { 94 display: none; width: 36px; height: 36px; 95 background: transparent; border: 1px solid var(--ed-rule); 96 border-radius: 8px; 97 color: var(--ed-ink); 98 cursor: pointer; 99 align-items: center; justify-content: center; 100 transition: background 180ms var(--ed-ease-out); 101 } 102 .ed-nav-hamburger:hover { background: var(--ed-bg-subtle); } 103 104 .ed-mob-menu { 105 position: fixed; inset: 0; z-index: 200; 106 background: var(--ed-bg-page); 107 display: flex; flex-direction: column; 108 align-items: stretch; padding: 72px 32px 32px; 109 gap: 28px; 110 transform: translateX(100%); 111 transition: transform 320ms var(--ed-ease-drawer); 112 pointer-events: none; 113 overflow-y: auto; 114 } 115 .ed-mob-menu.open { 116 transform: translateX(0); pointer-events: auto; 117 } 118 .ed-mob-close { 119 position: absolute; top: 18px; right: 24px; 120 background: transparent; border: none; 121 color: var(--ed-ink); 122 font-size: 28px; font-weight: 300; line-height: 1; 123 cursor: pointer; 124 width: 36px; height: 36px; 125 display: flex; align-items: center; justify-content: center; 126 } 127 .ed-mob-menu a.ed-nav-link { font-size: 14px; padding: 8px 0; } 128 .ed-mob-sep { height: 1px; background: var(--ed-rule); margin: 8px 0; } 129 130 @media (max-width: 900px) { 131 .ed-nav-links { display: none; } 132 .ed-nav-login { display: none; } 133 .ed-cta-cluster .ed-cta-ink { display: none; } 134 .ed-nav-hamburger { display: flex; } 135 } 136 `}),(0,a.jsx)("nav",{className:`ed-nav ${p?"ed-nav-scrolled":""}`,"data-anim":"nav",children:(0,a.jsxs)("div",{className:"ed-nav-inner",children:[(0,a.jsxs)(n.default,{href:"/",className:"ed-logo","aria-label":"AhaMatch AI home",children:[(0,a.jsx)("span",{className:"ed-logo-desktop-wrap",children:(0,a.jsx)(o.default,{variant:"horizontal",width:440,height:44,priority:!0,fetchPriority:"high",className:"ed-logo-size-horizontal"})}),(0,a.jsx)("span",{className:"ed-logo-mobile-wrap",children:(0,a.jsx)(o.default,{variant:"icon",width:48,height:48,priority:!0,fetchPriority:"high",className:"ed-logo-size-icon"})})]}),(0,a.jsx)("ul",{className:"ed-nav-links",children:i.map(e=>(0,a.jsx)("li",{children:"anchor"===e.kind?(0,a.jsx)("a",{href:`/#${e.target}`,onClick:a=>b(a,e.target),className:`ed-nav-link ${w(e)?"active":""}`,children:e.label}):(0,a.jsx)(n.default,{href:e.href,className:`ed-nav-link ${w(e)?"active":""}`,children:e.label})},e.label))}),(0,a.jsxs)("div",{className:"ed-cta-cluster",children:[e?null:u?(0,a.jsxs)(n.default,{href:"/dashboard",className:"ed-cta-ink",children:["Dashboard ",(0,a.jsx)("span",{"aria-hidden":!0,
136children:"â"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.default,{href:"/login",className:"ed-nav-login",children:"Log in"}),(0,a.jsxs)(n.default,{href:"/register",className:"ed-cta-ink",children:["Sign up ",(0,a.jsx)("span",{"aria-hidden":!0,children:"â"})]})]}),(0,a.jsx)("button",{className:"ed-nav-hamburger",onClick:()=>x(!0),"aria-label":"Open menu",children:(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:(0,a.jsx)("path",{d:"M4 7h16M4 12h16M4 17h16"})})})]})]})}),(0,a.jsxs)("div",{className:`ed-mob-menu ${m?"open":""}`,children:[(0,a.jsx)("button",{className:"ed-mob-close",onClick:()=>x(!1),"aria-label":"Close menu",children:"Ã"}),i.map(e=>"anchor"===e.kind?(0,a.jsx)("a",{href:`/#${e.target}`,className:"ed-nav-link",onClick:a=>b(a,e.target),children:e.label},e.label):(0,a.jsx)(n.default,{href:e.href,className:"ed-nav-link",onClick:()=>x(!1),children:e.label},e.label)),(0,a.jsx)("div",{className:"ed-mob-sep"}),u?(0,a.jsxs)(n.default,{href:"/dashboard",className:"ed-cta-ink",onClick:()=>x(!1),style:{alignSelf:"flex-start"},children:["Dashboard ",(0,a.jsx)("span",{"aria-hidden":!0,children:"â"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.default,{href:"/login",className:"ed-nav-link",onClick:()=>x(!1),children:"Log in"}),(0,a.jsxs)(n.default,{href:"/register",className:"ed-cta-primary",onClick:()=>x(!1),style:{alignSelf:"flex-start"},children:["Sign up ",(0,a.jsx)("span",{className:"ed-cta-arrow","aria-hidden":!0,children:"â"})]})]})]})]})}])},41056,e=>{"use strict";e.i(47167);var a=e.i(43476),t=e.i(71645);let n=(0,t.createContext)(null);function r({clientId:e,nonce:a,locale:o,onScriptLoadSuccess:i,onScriptLoadError:s,children:l}){let d=function(e={}){let{nonce:a,locale:n,onScriptLoadSuccess:r,onScriptLoadError:o}=e,[i,s]=(0,t.useState)(!1),l=(0,t.useRef)(r);l.current=r;let d=(0,t.useRef)(o);return d.current=o,(0,t.useEffect)(()=>{let e=document.createElement("script");return e.src="https://accounts.google.com/gsi/client",n&&(e.src+=`?hl=${n}`),e.async=!0,e.defer=!0,e.nonce=a,e.onload=()=>{var e;s(!0),null==(e=l.current)||e.call(l)},e.onerror=()=>{var e;s(!1),null==(e=d.current)||e.call(d)},document.body.appendChild(e),()=>{document.body.removeChild(e)}},[a]),i}({nonce:a,onScriptLoadSuccess:i,onScriptLoadError:s,locale:o}),c=(0,t.useMemo)(()=>({locale:o,clientId:e,scriptLoadedSuccessfully:d}),[e,d]);return t.default.createElement(n.Provider,{value:c},l)}let o={large:40,medium:32,small:20};function i({onSuccess:e,onError:a,useOneTap:r,promptMomentNotification:s,type:l="standard",theme:d="outline",size:c="large",text:p,shape:h,logo_alignment:u,width:g,click_listener:m,state:x,containerProps:f,login_hint:v,...b}){let w=(0,t.useRef)(null),{clientId:k,locale:y,scriptLoadedSuccessfully:j}=function(){let e=(0,t.useContext)(n);if(!e)throw Error("Google OAuth components must be used within GoogleOAuthProvider");return e}(),N=(0,t.useRef)(e);N.current=e;let C=(0,t.useRef)(a);C.current=a;let z=(0,t.useRef)(s);return z.current=s,(0,t.useEffect)(()=>{var e,a,t,n,o,i,s,f,S;if(j)return null==(t=null==(a=null==(e=null==window?void 0:window.google)?void 0:e.accounts)?void 0:a.id)||t.initialize({client_id:k,callback:e=>{var a,t;if(!(null==e?void 0:e.credential))return null==(a=C.current)?void 0:a.call(C);let{credential:n,select_by:r}=e;N.current({credential:n,clientId:null!=(t=null==e?void 0:e.clientId)?t:null==e?void 0:e.client_id,select_by:r})},login_hint:v,...b}),null==(i=null==(o=null==(n=null==window?void 0:window.google)?void 0:n.accounts)?void 0:o.id)||i.renderButton(w.current,{type:l,theme:d,size:c,text:p,shape:h,logo_alignment:u,width:g,locale:y,click_listener:m,state:x}),r&&(null==(S=null==(f=null==(s=null==window?void 0:window.google)?void 0:s.accounts)?void 0:f.id)||S.prompt(z.current)),()=>{var e,a,t;r&&(null==(t=null==(a=null==(e=null==window?void 0:window.google)?void 0:e.accounts)?void 0:a.id)||t.cancel())}},[k,j,r,l,d,c,p,h,u,g,y,v]),t.default.createElement("div",{...f,ref:w,style:{height:o[c],...null==f?void 0:f.style}})}e.s(["default",0,function({onError:e,redirectTo:n="/dashboard"}){let[o,s]=(0,t.useState)(!1),l=async a=>{if(!a.credential)return void e?.("No credential returned from Google. Please try again.");s(!0);try{let t=await fetch("/auth/api/google",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:a.credential})}),r=await t.json();r.success?window.location.href=n:e?.(r.error||"Google sign-in failed. Please try again.")}catch(a){console.error("Google sign-in error:",a),e?.("Could not reach the server. Please try again.")}finally{s(!1)}};return(0,a.jsx)(r,{clientId:"579689884289-oira8pfgv2aunvjaa0voomv9remu4hq3.apps.googleusercontent.com",children:(0,a.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",margin:"12px 0",opacity:o?.6:1,pointerEvents:o?"none":"auto",transition:"opacity 0.2s",cursor:o?"wait":"pointer"},children:(0,a.jsx)(i,{onSuccess:l,onError:()=>{e?.("Google sign-in was cancelled or failed.")},theme:"outline",size:"medium",text:"continue_with",shape:"pill",width:"280",useOneTap:!1})})})}],41056)},94542,e=>{"use strict";var a=e.i(43476),t=e.i(71645),n=e.i(18566),r=e.i(22016),o=e.i(96690),i=e.i(41056);
136function s(){let e=(0,n.useRouter)(),s=(0,n.useSearchParams)(),[l,d]=(0,t.useState)(""),[c,p]=(0,t.useState)(""),[h,u]=(0,t.useState)(!1),[g,m]=(0,t.useState)(!1),[x,f]=(0,t.useState)(""),[v,b]=(0,t.useState)(!1),[w,k]=(0,t.useState)(null),y=(0,t.useCallback)(()=>k(null),[]);async function j(a){a.preventDefault(),f(""),b(!0);try{let a=await fetch("/auth/api/login",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:l,password:c,remember:g})}),t=await a.json();t.success?e.push("/dashboard"):t.verification_required?e.push(`/verify-email?email=${encodeURIComponent(t.email||l)}`):f(t.error||"Login failed. Please try again.")}catch(e){console.error("Login error:",e),f("Something went wrong. Please try again.")}finally{b(!1)}}return(0,t.useEffect)(()=>{let e=s.get("message"),a=s.get("error");if(a)k({message:a,type:"error"});else if(e){let a=e.toLowerCase().includes("success")?"success":"info";k({message:e,type:a})}},[s]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("style",{children:` 137 /* âââââ Shared auth shell âââââ */ 138 .ed-auth-shell { 139 min-height: 100vh; 140 padding-top: 68px; /* clear fixed nav */ 141 background: var(--ed-bg-page); 142 } 143 .ed-auth-grid { 144 max-width: 1180px; 145 margin: 0 auto; 146 min-height: calc(100vh - 68px); 147 display: grid; 148 grid-template-columns: 1fr 1fr; 149 gap: clamp(40px, 6vw, 96px); 150 align-items: center; 151 padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 40px); 152 } 153 154 /* âââââ Left: editorial side-panel âââââ */ 155 .ed-auth-side { max-width: 460px; } 156 .ed-auth-side .ed-eyebrow { 157 display: flex; align-items: center; gap: 14px; 158 font-family: var(--ed-font-mono); 159 font-size: 11px; font-weight: 500; 160 letter-spacing: 2.5px; text-transform: uppercase; 161 color: var(--ed-ink-3); 162 margin-bottom: 28px; 163 } 164 .ed-auth-side .ed-rule-short { 165 width: 40px; height: 1px; background: var(--ed-ink); 166 display: inline-block; 167 } 168 .ed-auth-side .ed-idx { color: var(--ed-ink); font-weight: 600; } 169 170 .ed-auth-welcome { 171 font-family: var(--ed-font-display); 172 font-variation-settings: "opsz" 96, "wght" 600, "SOFT" 100; 173 font-size: clamp(40px, 5vw, 56px); 174 font-weight: 600; 175 line-height: 1.05; 176 letter-spacing: -0.025em; 177 color: var(--ed-ink); 178 margin: 0 0 22px; 179 } 180 .ed-auth-welcome em { 181 font-family: var(--ed-font-quote); 182 font-style: italic; 183 color: var(--ed-accent-ink); 184 } 185 .ed-auth-lede { 186 font-family: var(--ed-font-body); 187 font-size: 17px; 188 line-height: 1.55; 189 color: var(--ed-ink-2); 190 margin: 0 0 40px; 191 max-width: 400px; 192 } 193 .ed-auth-quote { 194 border-top: 1px solid var(--ed-rule); 195 padding-top: 28px; 196 font-family: var(--ed-font-quote); 197 font-style: italic; 198 font-size: 19px; 199 line-height: 1.45; 200 color: var(--ed-ink-2); 201 margin: 0 0 14px; 202 } 203 .ed-auth-quote::before { 204 content: "" "; 205 font-family: var(--ed-font-quote); 206 font-size: 32px; 207 color: var(--ed-accent); 208 line-height: 0.5; 209 display: inline; 210 margin-right: 6px; 211 } 212 .ed-auth-quote::after { 213 content: "" "; 214 font-family: var(--ed-font-quote); 215 font-size: 32px; 216 color: var(--ed-accent); 217 line-height: 0.5; 218 display: inline; 219 margin-left: 4px; 220 } 221 .ed-auth-attr { 222 display: flex; align-items: center; gap: 12px; 223 font-family: var(--ed-font-mono); 224 font-size: 10px; letter-spacing: 2px; 225 text-transform: uppercase; 226 color: var(--ed-ink-3); 227 } 228 .ed-auth-attr::before { 229 content: ""; width: 28px; height: 1px; 230 background: var(--ed-ink-4); 231 } 232 233 /* âââââ Right: form surface âââââ */ 234 .ed-auth-form { 235 width: 100%; 236 max-width: 440px; 237 justify-self: end; 238 } 239 .ed-auth-heading { 240 font-family: var(--ed-font-display); 241 font-variation-settings: "opsz" 72, "wght" 600, "SOFT" 100; 242 font-size: clamp(28px, 3vw, 36px); 243 font-weight: 600; 244 letter-spacing: -0.02em; 245 line-height: 1.1; 246 color: var(--ed-ink); 247 margin: 0 0 6px; 248 } 249 .ed-auth-sub { 250 font-size: 14.5px; 251 color: var(--ed-ink-3); 252 margin: 0 0 32px; 253 } 254 255 .ed-flash { 256 border-radius: var(--ed-r-sm); 257 padding: 12px 16px; 258 margin-bottom: 20px; 259 font-size: 13px; 260 display: flex; align-items: center; justify-content: space-between; 261 gap: 12px; 262 border: 1px solid transparent; 263 animation: ed-flash-in 280ms var(--ed-ease-out); 264 } 265 @keyframes ed-flash-in { 266 from { opacity: 0; transform: translateY(-4px); } 267 to { opacity: 1; transform: translateY(0); } 268 } 269 .ed-flash--error { background: rgba(220, 38, 38, 0.06); border-color: rgba(220, 38, 38, 0.22); color: #B91C1C; } 270 .ed-flash--success { background: rgba(5, 150, 105, 0.06); border-color: rgba(5, 150, 105, 0.22); color: #047857; } 271 .ed-flash--info { background: rgba(15, 23, 42, 0.04); border-color: var(--ed-rule-strong); color: var(--ed-ink-2); } 272 .ed-flash-close { 273 background: none; border: none; cursor: pointer; 274 color: inherit; opacity: 0.65; font-size: 18px; 275 padding: 0 2px; line-height: 1; 276 } 277 .ed-flash-close:hover { opacity: 1; } 278 279 /* Google Sign-In divider (2026-05-30). */ 280 .ed-auth-divider { 281 display: flex; align-items: center; gap: 12px; 282 margin: 4px 0 22px; 283 font-family: var(--ed-font-mono); 284 font-size: 10.5px; font-weight: 500; 285 letter-spacing: 1.5px; text-transform: uppercase; 286 color: var(--ed-ink-3); 287 } 288 .ed-auth-divider::before, 289 .ed-auth-divider::after { 290 content: ""; flex: 1; height: 1px; 291 background: var(--ed-rule); 292 } 293 .ed-auth-divider span { white-space: nowrap; } 294 295 .ed-field { margin-bottom: 18px; } 296 .ed-label { 297 display: block; 298 font-family: var(--ed-font-mono); 299 font-size: 10.5px; font-weight: 600; 300 letter-spacing: 2px; text-transform: uppercase; 301 color: var(--ed-ink-3); 302 margin-bottom: 8px; 303 } 304 .ed-input { 305 width: 100%; 306 box-sizing: border-box; 307 font-family: var(--ed-font-body); 308 font-size: 15px; 309 color: var(--ed-ink); 310 background: var(--ed-bg-card); 311 border: 1px solid var(--ed-rule-strong); 312 border-radius: var(--ed-r-sm); 313 padding: 13px 16px; 314 outline: none; 315 transition: border-color 180ms var(--ed-ease-out), box-shadow 180ms var(--ed-ease-out); 316 } 317 .ed-input:focus { 318 border-color: var(--ed-accent); 319 box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12); 320 } 321 .ed-input::placeholder { color: var(--ed-ink-4); } 322 323 .ed-pw-wrap { position: relative; } 324 .ed-pw-wrap .ed-input { padding-right: 46px; } 325 .ed-pw-toggle { 326 position: absolute; 327 right: 12px; top: 50%; 328 transform: translateY(-50%); 329 background: none; border: none; 330 cursor: pointer; 331 color: var(--ed-ink-3); 332 padding: 4px; 333 display: flex; align-items: center; justify-content: center; 334 transition: color 160ms var(--ed-ease-out); 335 } 336 .ed-pw-toggle:hover { color: var(--ed-ink); } 337 338 .ed-row { 339 display: flex; align-items: center; justify-content: space-between; 340 margin-bottom: 28px; 341 } 342 .ed-check { 343 display: inline-flex; align-items: center; gap: 9px; 344 cursor: pointer; 345 font-size: 13px; color: var(--ed-ink-2); 346 user-select: none; 347 } 348 .ed-check-box { 349 width: 16px; height: 16px; 350 border: 1.5px solid var(--ed-rule-strong); 351 border-radius: 3px; 352 background: var(--ed-bg-card); 353 display: flex; align-items: center; justify-content: center; 354 transition: background 160ms var(--ed-ease-out), border-color 160ms var(--ed-ease-out); 355 } 356 .ed-check input { display: none; } 357 .ed-check input:checked + .ed-check-box { 358 background: var(--ed-accent); 359 border-color: var(--ed-accent); 360 } 361 .ed-link-sub { 362 font-family: var(--ed-font-body); 363 font-size: 13px; 364 color: var(--ed-accent-ink); 365 text-decoration: none; 366 border-bottom: 1px solid var(--ed-accent); 367 padding-bottom: 1px; 368 transition: color 160ms var(--ed-ease-out), border-color 160ms var(--ed-ease-out); 369 } 370 .ed-link-sub:hover { color: var(--ed-ink); border-bottom-color: var(--ed-ink); } 371 372 .ed-submit { 373 width: 100%; 374 font-family: var(--ed-font-body); 375 font-size: 15px; 376 font-weight: 600; 377 color: #FFFFFF; 378 background: var(--ed-accent); 379 border: 1px solid var(--ed-accent); 380 border-radius: var(--ed-r-sm); 381 padding: 14px; 382 cursor: pointer; 383 display: flex; align-items: center; justify-content: center; gap: 10px; 384 transition: transform 180ms var(--ed-ease-out), box-shadow 180ms var(--ed-ease-out), background 180ms var(--ed-ease-out); 385 box-shadow: 0 4px 14px rgba(249, 115, 22, 0.22); 386 } 387 .ed-submit:hover:not(:disabled) { 388 background: #EA580C; 389 border-color: #EA580C; 390 transform: translateY(-1px); 391 box-shadow: 0 8px 22px rgba(249, 115, 22, 0.30); 392 } 393 .ed-submit:active:not(:disabled) { transform: translateY(0) scale(0.98); }
394 .ed-submit:disabled { cursor: not-allowed; opacity: 0.7; transform: none; box-shadow: none; } 395 396 .ed-auth-foot { 397 margin-top: 32px; 398 text-align: center; 399 font-size: 14px; 400 color: var(--ed-ink-3); 401 } 402 .ed-auth-foot a { 403 color: var(--ed-ink); 404 font-weight: 600; 405 text-decoration: none; 406 border-bottom: 1px solid var(--ed-rule-strong); 407 padding-bottom: 1px; 408 transition: border-color 160ms var(--ed-ease-out); 409 } 410 .ed-auth-foot a:hover { border-bottom-color: var(--ed-accent); } 411 412 /* âââââ Responsive âââââ */ 413 @media (max-width: 900px) { 414 .ed-auth-grid { 415 grid-template-columns: 1fr; 416 gap: 40px; 417 padding: clamp(28px, 4vw, 48px) 20px; 418 } 419 .ed-auth-side { display: none; } 420 .ed-auth-form { justify-self: center; } 421 } 422 @media (max-width: 480px) { 423 .ed-auth-shell { padding-top: 60px; } 424 .ed-auth-heading { font-size: 26px; } 425 .ed-input { font-size: 14.5px; padding: 12px 14px; } 426 } 427 428 @keyframes ed-spin { to { transform: rotate(360deg); } } 429 .ed-spinner { animation: ed-spin 0.8s linear infinite; } 430 `}),(0,a.jsx)(o.default,{}),(0,a.jsx)("main",{className:"ed-auth-shell",children:(0,a.jsxs)("div",{className:"ed-auth-grid",children:[(0,a.jsxs)("aside",{className:"ed-auth-side",children:[(0,a.jsxs)("div",{className:"ed-eyebrow",children:[(0,a.jsx)("span",{className:"ed-rule-short"}),(0,a.jsx)("span",{className:"ed-idx",children:"A / 01"}),(0,a.jsx)("span",{children:"Welcome back"})]}),(0,a.jsxs)("h1",{className:"ed-auth-welcome",children:["Pick up where you ",(0,a.jsx)("em",{children:"left off."})]}),(0,a.jsx)("p",{className:"ed-auth-lede",children:"Your saved jobs, tracked applications, and resume profiles are ready. Sign in to continue."}),(0,a.jsx)("p",{className:"ed-auth-quote",children:"The resume that lands the interview is rarely the one you think is your best."}),(0,a.jsx)("div",{className:"ed-auth-attr",children:"Editorial · on job search"})]}),(0,a.jsxs)("section",{className:"ed-auth-form",children:[(0,a.jsx)("h2",{className:"ed-auth-heading",children:"Log in to AHA Match"}),(0,a.jsx)("p",{className:"ed-auth-sub",children:"Enter your email and password to continue."}),w&&(0,a.jsxs)("div",{className:`ed-flash ed-flash--${w.type}`,role:"status",children:[(0,a.jsx)("span",{children:w.message}),(0,a.jsx)("button",{className:"ed-flash-close",onClick:y,"aria-label":"Dismiss",children:"Ã"})]}),x&&(0,a.jsx)("div",{className:"ed-flash ed-flash--error",role:"alert",children:(0,a.jsx)("span",{children:x})}),(0,a.jsxs)("form",{onSubmit:j,noValidate:!0,children:[(0,a.jsxs)("div",{className:"ed-field",children:[(0,a.jsx)("label",{className:"ed-label",htmlFor:"login-email",children:"Email"}),(0,a.jsx)("input",{id:"login-email",type:"email",className:"ed-input",value:l,onChange:e=>d(e.target.value),required:!0,autoComplete:"email",autoFocus:!0,placeholder:"[email protected]"})]}),(0,a.jsxs)("div",{className:"ed-field",children:[(0,a.jsx)("label",{className:"ed-label",htmlFor:"login-password",children:"Password"}),(0,a.jsxs)("div",{className:"ed-pw-wrap",children:[(0,a.jsx)("input",{id:"login-password",type:h?"text":"password",className:"ed-input",value:c,onChange:e=>p(e.target.value),required:!0,autoComplete:"current-password",placeholder:"Enter your password"}),(0,a.jsx)("button",{type:"button",className:"ed-pw-toggle",onClick:()=>u(!h),tabIndex:-1,"aria-label":h?"Hide password":"Show password",children:h?(0,a.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94"}),(0,a.jsx)("path",{d:"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19"}),(0,a.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}):(0,a.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,a.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})})]})]}),(0,a.jsxs)("div",{className:"ed-row",children:[(0,a.jsxs)("label",{className:"ed-check",children:[(0,a.jsx)("input",{type:"checkbox",checked:g,onChange:e=>m(e.target.checked)}),(0,a.jsx)("span",{className:"ed-check-box",children:g&&(0,a.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"#fff",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("polyline",{points:"20 6 9 17 4 12"})})}),"Remember me"]}),(0,a.jsx)(r.default,{href:"/forgot-password",className:"ed-link-sub",children:"Forgot password?"})]}),(0,a.jsxs)("button",{type:"submit",className:"ed-submit",disabled:v,children:[v&&(0,a.jsx)("svg",{className:"ed-spinner",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),v?"Signing in...":"Sign in"]})]}),(0,a.jsx)("div",{className:"ed-auth-divider",children:(0,a.jsx)("span",{children:"or continue with"})}),(0,a.jsx)(i.default,{onError:f}),(0,a.jsxs)("div",{className:"ed-auth-foot",children:["Don't have an account?"," ",(0,a.jsx)(r.default,{href:"/register",children:"Create one"})]})]})]})})]})}e.s(["default",0,function(){return(0,a.jsx)(t.Suspense,{fallback:(0,a.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--ed-bg-page, #FBF8F4)"},children:(0,a.jsx)("div",{style:{width:24,height:24,border:"2px s
430olid var(--ed-rule, #E7DFC7)",borderTopColor:"var(--ed-accent, #F97316)",borderRadius:"50%",animation:"ed-spin 0.6s linear infinite"}})}),children:(0,a.jsx)(s,{})})}])}]);
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.