1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9565],{19606:function(e,t,s){Promise.resolve().then(s.bind(s,80650))},80679:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{unstable_getImgProps:function(){return unstable_getImgProps},default:function(){return i}});let a=s(21024),r=s(7929),n=s(92637),l=s(90413),o=a._(s(69950)),unstable_getImgProps=e=>{(0,n.warnOnce)("Warning: unstable_getImgProps() is experimental and may change or be removed at any time. Use at your own risk.");let{props:t}=(0,r.getImgProps)(e,{defaultLoader:o.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:!0}});for(let[e,s]of Object.entries(t))void 0===s&&delete t[e];return{props:t}},i=l.Image},80650:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return _home_HomeClient}});var a=s(57437),r=s(2265),n=s(16691),l=s.n(n),o=s(61396),i=s.n(o),d=s(68637);let c={gbp:{code:"gbp",symbol:"\xa3",amounts:[3,10,25,50]},eur:{code:"eur",symbol:"â¬",amounts:[5,10,25,50]},usd:{code:"usd",symbol:"$",amounts:[5,10,25,50]}},x=new Set(["Europe/Berlin","Europe/Paris","Europe/Rome","Europe/Madrid","Europe/Amsterdam","Europe/Brussels","Europe/Vienna","Europe/Warsaw","Europe/Bucharest","Europe/Budapest","Europe/Prague","Europe/Copenhagen","Europe/Helsinki","Europe/Athens","Europe/Lisbon","Europe/Dublin","Europe/Stockholm","Europe/Tallinn","Europe/Riga","Europe/Vilnius","Europe/Ljubljana","Europe/Bratislava","Europe/Zagreb","Europe/Sofia","Europe/Luxembourg","Europe/Malta","Europe/Nicosia"]),h=new Set(["Europe/London","Europe/Belfast","Europe/Isle_of_Man","Europe/Guernsey","Europe/Jersey"]);function detectCurrency(){try{let e=navigator.language||"";if(e.startsWith("en-GB"))return"gbp";if(e.startsWith("en-US"))return"usd";let t=Intl.DateTimeFormat().resolvedOptions().timeZone||"";if(h.has(t))return"gbp";if(x.has(t)||t.startsWith("Europe/"))return"eur";return"usd"}catch(e){return"usd"}}function DonateSection(){let[e,t]=(0,r.useState)("gbp"),[s,n]=(0,r.useState)(10),[l,o]=(0,r.useState)("one-time"),[i,d]=(0,r.useState)(""),[x,h]=(0,r.useState)(!1),[m,u]=(0,r.useState)(""),p=c[e];(0,r.useEffect)(()=>{let e=detectCurrency();t(e),n(c[e].amounts[1])},[]),(0,r.useEffect)(()=>{let reset=()=>{h(!1)};return window.addEventListener("pageshow",e=>{e.persisted&&reset()}),document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState&&reset()}),()=>{window.removeEventListener("pageshow",reset),document.removeEventListener("visibilitychange",reset)}},[]);let g=(0,r.useMemo)(()=>{if("custom"===s){let e=parseFloat(i);return Number.isFinite(e)&&e>=1?e:0}return s},[s,i]),handleDonate=async()=>{if(g<1){u("Please enter a valid amount.");return}u(""),h(!0);try{let e=await fetch("/api/create-checkout-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({amount:g,currency:p.code,frequency:l})}),t=await e.json();if(!e.ok||!t.url)throw Error(t.error||"Something went wrong.");window.location.href=t.url}catch(e){u(e instanceof Error?e.message:"Something went wrong."),h(!1)}};return(0,a.jsx)("section",{id:"donate",className:"min-h-[85vh] flex items-center justify-center py-12 md:py-16 px-4 sm:px-6",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto w-full",children:[(0,a.jsxs)("div",{className:"text-center mb-8",children:[(0,a.jsx)("span",{className:"text-levant-purple font-bold tracking-[0.3em] uppercase text-xs mb-3 block",children:"Support SoulWhisp"}),(0,a.jsx)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-black text-[#1B2F4A] leading-tight mb-3",children:"Help keep this space open."}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-[#6B5C8A] max-w-2xl mx-auto font-[family:var(--font-secondary)] leading-relaxed",children:"Your donation keeps SoulWhisp free, private, and available\xa024/7 â so the next person who needs it can find\xa0it."})]}),(0,a.jsxs)("div",{className:"bg-white rounded-3xl shadow-2xl border border-[#6
1B5C8A]/8 overflow-hidden",children:[(0,a.jsx)("div",{className:"h-1.5 bg-gradient-to-r from-[#2A9D8F] via-[#4ECDC4] to-[#2A9D8F]"}),(0,a.jsxs)("div",{className:"flex flex-col md:flex-row",children:[(0,a.jsx)("div",{className:"md:w-[45%] px-6 sm:px-8 py-8 sm:py-10 flex flex-col justify-center border-b md:border-b-0 md:border-r border-[#6B5C8A]/8 bg-gradient-to-br from-[#F5F7FA] to-white",children:(0,a.jsx)("p",{className:"text-[1.1rem] leading-relaxed italic text-[#555] font-[family:var(--font-secondary)]",children:"You might never meet the person your donation helps. But at 2am, when they have nowhere else to turn, this space will be here\xa0â because of\xa0you."})}),(0,a.jsxs)("div",{className:"md:w-[55%] px-6 sm:px-8 py-8 sm:py-10",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 bg-[#F5F7FA] rounded-xl p-1 mb-6",children:[(0,a.jsx)("button",{onClick:()=>o("one-time"),className:"py-3 rounded-lg text-sm font-semibold transition-all ".concat("one-time"===l?"bg-[#1B2F4A] text-white shadow-sm":"text-[#6B5C8A]"),children:"One-off"}),(0,a.jsx)("button",{onClick:()=>o("monthly"),className:"py-3 rounded-lg text-sm font-semibold transition-all ".concat("monthly"===l?"bg-[#1B2F4A] text-white shadow-sm":"text-[#6B5C8A]"),children:"Monthly"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-5 gap-2 mb-6",children:[p.amounts.map(e=>(0,a.jsxs)("button",{onClick:()=>{n(e),d(""),u("")},className:"py-3 rounded-xl text-base font-bold border transition-all ".concat(s===e?"bg-[#2A9D8F] border-[#2A9D8F] text-white shadow-md":"bg-white border-[#6B5C8A]/15 text-[#1B2F4A] hover:border-[#2A9D8F]/40"),children:[p.symbol,e]},e)),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("span",{className:"absolute left-2 top-1/2 -translate-y-1/2 text-xs font-semibold pointer-events-none text-[#6B5C8A]",children:p.symbol}),(0,a.jsx)("input",{type:"number",min:"1",placeholder:"Other",value:i,onChange:e=>{d(e.target.value),n("custom"),u("")},className:"w-full py-3 pl-5 pr-1 rounded-xl text-base font-bold text-center border transition-all focus:outline-none ".concat("custom"===s&&i?"bg-[#2A9D8F] border-[#2A9D8F] text-white placeholder:text-white/50":"bg-white border-[#6B5C8A]/15 text-[#1B2F4A] placeholder:text-[#6B5C8A]/40 focus:border-[#2A9D8F]")})]})]}),m&&(0,a.jsx)("p",{className:"text-sm text-red-500 mb-3 text-center",children:m}),(0,a.jsx)("button",{onClick:handleDonate,disabled:x,className:"w-full flex items-center justify-center gap-2 bg-[#2A9D8F] hover:bg-[#238B7E] disabled:opacity-60 text-white font-bold py-4 rounded-xl text-base sm:text-lg shadow-lg hover:shadow-xl transition-all",children:x?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("svg",{className:"animate-spin h-5 w-5",viewBox:"0 0 24 24",fill:"none",children:[(0,a.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,a.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),"Redirectingâ¦"]}):"Donate ".concat(g>=1?p.symbol+g:""," ").concat("monthly"===l?"/ month":"now")}),(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-center gap-3 opacity-[0.45]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 750 471",className:"h-5 w-auto",children:[(0,a.jsx)("rect",{width:"750",height:"471",rx:"40",fill:"#1A1F71"}),(0,a.jsx)("path",{d:"M278.2 334.2h-49.7l31.1-191.6h49.7L278.2 334.2zm-86.5-191.6l-47.3 131.5-5.6-28.2-16.7-85.8s-2-17.5-23.4-17.5h-78.1l-.7 3.1s23.4 4.9 50.8 21.4l42.2 163.0h51.7l79.1-187.5h-52.0zm334.5 191.6h45.7l-39.8-191.6h-40.1c-18.5 0-22.8 14.3-22.8 14.3l-73.8 177.3h51.7l10.2-28.4h63.1l5.8 28.4zm-54.7-67.2l26.2-72.0 14.6 72.0h-40.8zM490.5 170.5l7.1-41.1s-21.9-8.3-44.7-8.3c-24.6 0-83.1 10.8-83.1 63.2 0 49.3 68.7 49.9 68.7 75.8 0 25.9-61.6 21.2-81.9 4.9l-7.4 42.9s22.0 10.7 55.6 10.7c33.6 0 84.3-17.4 84.3-65.4 0-49.6-69.3-54.2-69.3-75.8 0-21.6 48.2-18.8 70.7-6.9z",fill:"#fff"})]}),(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 750 471",className:"h-5 w-auto",children:[(0,a.jsx)("rect",{width:"750",height:"471",rx:"40",fill:"#16366F"}),(0,a.jsx)("circle",{cx:"312",cy:"235.5",r:"140",fill:"#EB001B"}),(0,a.jsx)("circle",{cx:"438",cy:"235.5",r:"140",fill:"#F79E1B"}),(0,a.jsx)("path",{d:"M375 130.7a140 140 0 0 0-52.2 104.8A140 140 0 0 0 375 340.3a140 140 0 0 0 52.2-104.8A140 140 0 0 0 375 130.7z",fill:"#FF5F00"})]}),(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 468 222.5",className:"h-[14px] w-auto",children:(0,a.jsx)("path",{d:"M414 113.4c0-25.6-12.4-45.8-36.1-45.8-23.8 0-38.2 20.2-38.2 45.6 0 30.1 17 45.3 41.4 45.3 11.9 0 20.9-2.7 27.7-6.5v-20c-6.8 3.4-14.6 5.5-24.5 5.5-9.7 0-18.3-3.4-19.4-15.2h48.9c0-1.3.2-6.5.2-8.9zm-49.4-9.5c0-11.3 6.9-16 13.2-16 6.1 0 12.6 4.7 12.6 16h-25.8zM301.1 67.6c-9.8 0-16.1 4.6-19.6 7.8l-1.3-6.2h-22v116.6l25-5.3.1-28.3c3.6 2.6 8.9 6.3 17.7 6.3 17.9 0 34.2-14.4 34.2-46.1-.1-29-16.6-44.8-34.1-44.8zm-6 68.9c-5.9 0-9.4-2.1-11.8-4.7l-.1-37.1c2.6-2.9 6.2-4.9 11.9-4.9 9.1 0 15.4 10.2 15.4 23.3 0 13.4-6.2 23.4-15.4 23.4zM223.8 61.7l25.1-
15.4V36l-25.1 5.3zM223.8 69.3h25.1v87.5h-25.1zM196.9 76.7l-1.6-7.4h-21.6v87.5h25V97.5c5.9-7.7 15.9-6.3 19-5.2v-23c-3.2-1.2-14.9-3.4-20.8 7.4zM146.9 47.6l-24.4 5.2-.1 80.1c0 14.8 11.1 25.7 25.9 25.7 8.2 0 14.2-1.5 17.5-3.3V135c-3.2 1.3-19 5.9-19-8.9V90.6h19V69.3h-19l.1-21.7zM79.3 94.7c0-3.9 3.2-5.4 8.5-5.4 7.6 0 17.2 2.3 24.8 6.4V72.2c-8.3-3.3-16.5-4.6-24.8-4.6C67.5 67.6 52 79.6 52 98.2c0 28.8 39.7 24.2 39.7 36.6 0 4.6-4 6.1-9.6 6.1-8.3 0-18.9-3.4-27.3-8v23.8c9.3 4 18.7 5.7 27.3 5.7 20.8 0 35.1-10.3 35.1-28.2-.1-31.1-39.9-25.6-39.9-37.5z",fill:"#6772E5"})})]}),(0,a.jsx)("p",{className:"mt-1.5 text-center text-[10px] text-[#6B5C8A]/50",children:"Secure payment \xb7 We never see your card details"})]})]})]})]})})}var m=s(85264);function detectRegion(){var e;if("undefined"==typeof navigator)return"international";let t=(null===(e=navigator.language)||void 0===e?void 0:e.toLowerCase())||"",s=Intl.DateTimeFormat().resolvedOptions().timeZone||"";return t.startsWith("en-gb")||s.includes("London")?"uk":t.startsWith("en-us")||s.includes("America")?"us":t.startsWith("en-au")||s.includes("Australia")?"au":"international"}function trackReferral(e,t,s){console.log("[SoulWhisp Referral]",{resourceId:e,topic:t,type:s,timestamp:new Date().toISOString()})}var u={src:"/_next/static/media/water-reflecting.86c10e94.jpg",height:4608,width:3456,blurDataURL:"data:image/jpeg;base64,/9j/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wgARCAAIAAYDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAP/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAABgF//xAAWEAEBAQAAAAAAAAAAAAAAAAACAQX/2gAIAQEAAQUCOgYf/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwF//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPwF//8QAGRAAAQUAAAAAAAAAAAAAAAAAAQACEiFx/9oACAEBAAY/ArcciF//xAAYEAACAwAAAAAAAAAAAAAAAAABEQAhMf/aAAgBAQABPyFbIFLBP//aAAwDAQACAAMAAAAQB//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/EK//xAAVEQEBAAAAAAAAAAAAAAAAAAAAIf/aAAgBAgEBPxCv/8QAGRABAAIDAAAAAAAAAAAAAAAAAQAxESFR/9oACAEBAAE/EHi5q0By12f/2Q==",blurWidth:6,blurHeight:8};function stripTags(e){return e.replace(/<\/?reply>/gi,"").replace(/<\/?summary>/gi,"").replace(/<reply>[\s\S]*/gi,"").replace(/<summary>[\s\S]*/gi,"").replace(/\[TOPIC:[\w-]+\]/g,"").replace(/\[READY:\w+\]/g,"").trim()}function parseTopic(e){let t=e.match(/\[TOPIC:([\w-]+)\]/);return t?t[1]:null}function parseReady(e){let t=e.match(/\[READY:(\w+)\]/);return t?t[1]:null}function sanitiseMessage(e){let t=e.replace(/<[^>]*>/g,"");return(t=(t=t.replace(/\s{10,}/g," ")).replace(/\0/g,"")).substring(0,1e3).trim()}function isGibberish(e){let t=e.trim();if(t.length<3)return!1;let s=t.split(/\s+/),a=/^[a-zA-Z]{2,}$/,r=s.filter(e=>a.test(e));return r.length/s.length<.3}let p={hero:{badge:"SOULWHISP",titleMain:"A Space to Be Heard",titleAccent:"When You Have Nowhere Else to Turn",description:"SoulWhisp is an AI-powered anonymous listener. No judgement. No advice â just space to say whatâs on your mind, practise putting your feelings into words, and build the confidence to have the real conversation when youâre ready.",backgroundImage:{src:"/_next/static/media/man-window.ef3ae15d.jpg",height:3456,width:5184,blurDataURL:"data:image/jpeg;base64,/9j/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wgARCAAFAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAT/xAAUAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAGEJ//EABYQAAMAAAAAAAAAAAAAAAAAAAITFP/aAAgBAQABBQKgV//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABkQAAEFAAAAAAAAAAAAAAAAAAACEhMyUf/aAAgBAQAGPwJkKKYf/8QAFxABAQEBAAAAAAAAAAAAAAAAEVEAIf/aAAgBAQABPyGXcoWpv//aAAwDAQACAAMAAAAQ/wD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAEDAQE/EH//xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAECAQE/EH//xAAaEAABBQEAAAAAAAAAAAAAAAAhAAERQVGB/9oACAEBAAE/EGNAs3i5xf/Z",blurWidth:8,blurHeight:5}},chat:{agentName:"SoulWhisp",status:"Here for you",initialMessage:"How are you feeling right now?",userPlaceholder:"I'm feeling a bit overwhelmed by everything around me...",inputPlaceholder:"Type what's on your mind...",footer:"SoulWhisp ⢠Here to listen"},about:{badge:"You don't have to face this alone",titleMain:"Here for you 24/7",titleSub:"when you need someone to talk to",description:"",buttonText:"Learn more about us â",image:u},resources:{badge:"ABOUT SOULWHISP",titleMain:"For when human connection feels out of reach.",titleAccent:"",description:"You might not have anyone to call. You might be too afraid to speak. You might feel too ashamed to be heard. SoulWhisp listens without storing your words, without judging your pain, without pushing you toward answers you're not ready for.\n\nWhere are you right now?",buttonLabel:"DescoperÄ"}},g={"suicidal thoughts":{userMessage:"I've been having suicidal thoughts",aiMessage:"I hear you. Those thoughts must be so heavy to carry. I'm here, and there's no rush - just space for you to share whatever you need to. What's it been like for you?"},"self-harm":{userMessage:"I'm struggling with self-harm",aiMessage:"I hear you. What's been going on for you?"}
1,depression:{userMessage:"I'm dealing with depression and feeling really low",aiMessage:"I hear you. Depression can make everything feel so impossibly heavy. What does it feel like for you right now?"},addiction:{userMessage:"I'm struggling with addiction",aiMessage:"That's a hard thing to carry. What's been most difficult for you?"},"domestic abuse":{userMessage:"I'm experiencing domestic abuse",aiMessage:"I'm so sorry you're going through this. You're safe to share here. I'm listening. What would help you most right now - to talk about what's happening, or how you're feeling?"},"shame & regret":{userMessage:"I'm feeling a lot of shame and regret",aiMessage:"Those feelings sound really heavy to carry. There's no judgment here, just space for you. Would you like to talk about what's weighing on you?"},"loss & grief":{userMessage:"I'm dealing with loss and grief",aiMessage:"I'm so sorry you're going through this. Loss is one of the hardest things we can face. I'm here to listen, for whatever you want to share. What's been hardest for you?"},isolation:{userMessage:"I'm feeling very isolated and alone",aiMessage:"Feeling isolated is such a lonely, painful place to be. I'm here, and I'm listening. What's making you feel most alone right now?"},bullying:{userMessage:"I'm being bullied",aiMessage:"I'm sorry you're dealing with this. Being bullied can feel really overwhelming and hurtful. I'm here to listen. What's been happening?"},"family breakdown":{userMessage:"My family is falling apart",aiMessage:"Family falling apart is so painful. I hear you. There's space here for whatever you're feeling - anger, sadness, confusion, all of it. What's been hardest for you?"},"worried about someone":{userMessage:"I'm worried about someone I care about",aiMessage:"It sounds like you really care about them, and that worry must be weighing on you. I'm here to listen. Tell me what's been going on?"},"something else":{userMessage:"I need to talk about something",aiMessage:"Hello, I'm an AI listener. I'm here to listen without judging or giving advice. What are you facing?"}},f=[{bad:"Regular AI gives advice and tries to fix your problems",good:"SoulWhisp asks gentle questions so you can find your own answers â at your own pace"},{bad:"Regular AI agrees with everything you say to keep you happy",good:"SoulWhisp reflects back what youâre saying â honestly, so you can hear yourself clearly"},{bad:"Regular AI stores your conversations and builds a profile of you",good:"SoulWhisp stores nothing. No memory. No history. Every session starts completely fresh"},{bad:"Regular AI is designed to keep you coming back",good:"SoulWhisp is designed to help you move forward â to a counsellor, a friend, a helpline, or anyone you trust"},{bad:"Regular AI doesnât know when youâre in crisis",good:"SoulWhisp detects crisis language and immediately shows real crisis resources"}],b=[{q:"Is this AI therapy?",a:"No. SoulWhisp doesnât do therapy, doesnât diagnose, and doesnât try to fix anything. Itâs a space to talk and be heard â and to practise putting your feelings into words so youâre more ready when you talk to a real person."},{q:"Will it give me advice?",a:"Never. SoulWhisp listens and asks gentle questions â thatâs it. Think of it as a practice conversation: it helps you explore what youâre feeling and put it into words, so when youâre ready to talk to a real person, you already know what you want to say."},{q:"Is my data safe?",a:"Nothing is stored. No account. No conversation history. No personal data collected. Your words exist only during your session and disappear completely when you close the window. There is nothing to sell, share, or breach."},{q:"What if Iâm in crisis?",a:"SoulWhisp is not a crisis service. If it detects you may be in crisis, it immediately shows real crisis resources â helplines, text lines, and emergency services. It will never try to handle a crisis itself."},{q:"How is this different from other AI chatbots?",a:"Most AI chatbots are general-purpose tools. Theyâll diagnose you, give advice, agree with everything you say, and try to keep you talking. SoulWhisp is purpose-built for one thing: helping you practise saying what you feel through listening and reflection â then pointing you to real people when youâre ready."},{q:"Can I become dependent on this?",a:"SoulWhisp is designed to be a practice step, not a destination. No memory, no stored conversations, no ongoing relationship. Every session ends by showing you real support options. The goal is to help you build the confidence to have the real conversation â not to keep you here."},{q:"Is this really free?",a:"Yes. Free for everyone, always. No hidden fees, no premium tier, no upsell. SoulWhisp is funded through donations and partnerships with organisations who benefit from helping people take the next step to their services."}];var _home_HomeClient=()=>{let[e,t]=(0,r.useState)(!1),[s,n]=(0,r.useState)(!1),[o,c]=(0,r.useState)(!1),[x,h]=(0,r.useState)([{role:"assistant",content:"Hello, I'm an AI listener. I'm here to listen without judging or giving advice. What are you facing?"}]),[y,A]=(0,r.useState)(""),[w,v]=(0,r.useState)(!1),[j,N]=(0,r.useState)(null),[k,E]=(0,r.useState)(""),[C,B]=(0,r.useState)(-1),[F,I]=(0,r.useState)(!1),[S,_]=(0,r.useState)(!1),[D,W]=(0,r.useState)(""),[T,M]=(0,r.useState)(0),[z,O]=(0,r.useState)(!1),[L,P]=(0,r.useState)(!1),R=(0,r.useRef)(null),[Q,H]=(0,r.useState)(!1),[Y,U]=(0,r.useState)("general"),[K,V]=(0,r.useState)(0),J=(0,r.useRef)(0),[G,Z]=(0,r.useState)(0),[$,X]=(0,r.useState)(null),ee=(0,r.useRef)(!1),et=(0,r.useRef)(null),es=(0,r.useRef)(null),ea=(0,r.useRef)(null),er=(0,r.useRef)(null),en=(0,r.useRef)(null),el=(0,r.useRef)(null),eo=(0,r.useRef)(null),ei=(0,r.useRef)(null);(0,r.useEffect)(()=>{let checkMobile=()=>{n(window.innerWidth<768)};return checkMobile(),window.addEventListener("resize",checkMobile),()=>window.removeEventListener("resize",checkMobile)},[]),(0,r.useEffect)(()=>()=>{R.current&&clearTimeout(R.current)},[]),(0,r.useEffect)(()=>{let handleHomeClick=s=>
1{let a=s.target.closest('a[href="/"]');a&&e&&(t(!1),c(!1),h([{role:"assistant",content:"Hello, I'm an AI listener. I'm here to listen without judging or giving advice. What are you facing?"}]),E(""),A(""),v(!1),N(null),M(0),O(!1),P(!1),R.current&&clearTimeout(R.current),H(!1),X(null),U("general"),V(0),J.current=0,Z(0),document.body.style.overflow="",deactivateChatFocus(),ee.current=!1,window.scrollTo({top:0,behavior:"smooth"}))};return document.addEventListener("click",handleHomeClick,!0),()=>document.removeEventListener("click",handleHomeClick,!0)},[e]),(0,r.useEffect)(()=>{el.current&&(el.current.scrollTop=el.current.scrollHeight),ea.current&&(ea.current.scrollTop=ea.current.scrollHeight)},[x,w,$]),(0,r.useEffect)(()=>{if(!e)return;let t=en.current;if(!t)return;let s=document.documentElement;s.style.overflow="hidden",s.style.position="fixed",s.style.width="100%",s.style.height="100%";let a=window.visualViewport;if(!a)return t.style.height="100dvh",()=>{s.style.overflow="",s.style.position="",s.style.width="",s.style.height=""};let update=()=>{t.style.height="".concat(a.height,"px"),t.style.top="".concat(a.offsetTop,"px"),requestAnimationFrame(()=>{el.current&&(el.current.scrollTop=el.current.scrollHeight)})};return update(),a.addEventListener("resize",update),a.addEventListener("scroll",update),()=>{a.removeEventListener("resize",update),a.removeEventListener("scroll",update),s.style.overflow="",s.style.position="",s.style.width="",s.style.height=""}},[e]);let activateChatFocus=()=>{if(!s&&!F&&(I(!0),!ee.current)){var e;ee.current=!0,null===(e=et.current)||void 0===e||e.scrollIntoView({behavior:"smooth",block:"center"})}},deactivateChatFocus=()=>{I(!1)};(0,r.useEffect)(()=>{if(!F)return;let handleScroll=()=>{if(!et.current)return;let e=et.current.getBoundingClientRect(),t=e.top+e.height/2,s=window.innerHeight/2;Math.abs(t-s)>300+e.height/2&&deactivateChatFocus()},handleKeyDown=e=>{"Escape"===e.key&&deactivateChatFocus()},handleNavClick=e=>{let t=e.target;t.closest("nav a, nav button")&&deactivateChatFocus()};return window.addEventListener("scroll",handleScroll,{passive:!0}),window.addEventListener("keydown",handleKeyDown),document.addEventListener("click",handleNavClick,!0),()=>{window.removeEventListener("scroll",handleScroll),window.removeEventListener("keydown",handleKeyDown),document.removeEventListener("click",handleNavClick,!0)}},[F]),(0,r.useEffect)(()=>{let e=document.getElementById("ssr-home-intro");e&&(e.style.display="none");let handleLocation=()=>{let e="#chat"===window.location.hash,s=new URLSearchParams(window.location.search),a="1"===s.get("chat")||"true"===s.get("chat");(e||a)&&(t(!0),a&&window.history.replaceState(null,"","/#chat"))};return handleLocation(),window.addEventListener("hashchange",handleLocation),()=>{window.removeEventListener("hashchange",handleLocation)}},[]),(0,r.useEffect)(()=>{o&&setTimeout(()=>{var e;null===(e=ei.current)||void 0===e||e.focus()},200)},[o]),(0,r.useEffect)(()=>{let e=setTimeout(()=>{var e;null===(e=er.current)||void 0===e||e.focus({preventScroll:!0})},800);return()=>clearTimeout(e)},[]),(0,r.useEffect)(()=>{let e=setTimeout(()=>_(!0),300);return()=>clearTimeout(e)},[]),(0,r.useEffect)(()=>{let t;if(e||s)return;let a="Share what's on your mind...",r=0,n="typing",tick=()=>{"typing"===n?(r++,W(a.slice(0,r)),r>=a.length?(n="waiting",t=setTimeout(tick,2e3)):t=setTimeout(tick,50)):"waiting"===n?(n="erasing",t=setTimeout(tick,30)):(r--,W(a.slice(0,r)),r<=0?(n="typing",t=setTimeout(tick,600)):t=setTimeout(tick,30))};return t=setTimeout(tick,1200),()=>clearTimeout(t)},[e,s]);let handleInputFocus=()=>{let t=window.innerWidth<768;t&&n(!0),t&&e&&(c(!0),document.body.style.overflow="hidden"),t&&e&&setTimeout(()=>{el.current&&(el.current.scrollTop=el.current.scrollHeight)},100),t||activateChatFocus()},handleExitFullScreen=()=>{c(!1),document.body.style.overflow="",document.body.style.backgroundColor="",t(!1),deactivateChatFocus(),ee.current=!1};(0,r.useEffect)(()=>{if(e){let e=window.matchMedia("(max-width: 767px)");if(e.matches){n(!0),c(!0),document.body.style.overflow="hidden",document.body.style.backgroundColor="#F0F2F5",window.history.pushState({soulwhispChat:!0},"");let handlePopState=()=>{handleExitFullScreen()};return window.addEventListener("popstate",handlePopState),()=>{document.body.style.overflow="",document.body.style.backgroundColor="",window.removeEventListener("popstate",handlePopState)}}}},[e]);let handleStartChat=e=>{let s=g[e.toLowerCase()],a=window.innerWidth<768;a&&n(!0),M(0),O(!1),P(!1),R.current&&clearTimeout(R.current),H(!1),s?h([{role:"user",content:s.userMessage},{role:"assistant",content:s.aiMessage}]):h([{role:"user",content:"I want to talk about ".concat(e)},{role:"assistant",content:"Hello, I'm an AI listener. I'm here to listen without judging or giving advice. What are you facing?"}]),E(""),t(!0),a&&(c(!0),document.body.style.overflow="hidden"),a||activateChatFocus()},ed=/\b(suicid|kill myself|end it all|end my life|self[- ]?harm|cut myself|hurt myself|want to die|don'?t want to live|wanna die)\b/i,ec=/\b(die for|dying to|dying for|
1kill for|killing it|dead serious|drop dead gorgeous|wouldn'?t be caught dead|over my dead body|to die for)\b/i,isCrisisMessage=e=>ed.test(e)&&!ec.test(e),ex=/\b(thank|thanks|bye|goodbye|good bye|that helped|feel better|feel good|i'?m done|i'?m okay|i'?m good)\b/i,handleStartReflecting=async()=>{var e,a,r;null===(e=(a=window).gtag)||void 0===e||e.call(a,"event","start_reflecting_clicked",{event_category:"engagement"});let l=y.trim(),o=window.innerWidth<768;if(o&&n(!0),t(!0),o&&(c(!0),document.body.style.overflow="hidden"),o||activateChatFocus(),l){let e=sanitiseMessage(l);if(!e)return;J.current=Date.now(),V(1);let t={role:"user",content:e};M(1);let a=l.toLowerCase();isCrisisMessage(a)&&(O(!0),P(!0),R.current&&clearTimeout(R.current),R.current=setTimeout(()=>P(!1),8e3)),h(e=>[...e,t]),A(""),N(null),v(!0);try{let e=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:[{role:"assistant",content:"Hello, I'm an AI listener. I'm here to listen without judging or giving advice. What are you facing?"},t],summary:""})});if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to get response"}));N(t.error||"Failed to get response"),v(!1);return}let a=await e.json(),n=a.message,l=parseTopic(n);l&&U(l),parseReady(n);let o=stripTags(n);"string"==typeof a.summary&&E(a.summary);let i=Math.min(4e3,Math.max(1500,25*o.length));await new Promise(e=>setTimeout(e,i)),h(e=>[...e,{role:"assistant",content:o}]),v(!1),s&&(null===(r=ei.current)||void 0===r||r.focus())}catch(e){N("Network error. Please try again.")}finally{v(!1)}}},handleSend=async()=>{if(!y.trim()||w)return;let e=sanitiseMessage(y);if(!e)return;let t=Date.now();if(t-J.current<2e3){h(e=>[...e,{role:"assistant",content:"Please slow down. I'm here â take your time."}]),A("");return}if(K>=50){h(e=>[...e,{role:"assistant",content:"We've been talking for a while. Would you like to take a break or see support options?"}]),A("");return}if(isGibberish(e)){let t=G+1;if(Z(t),t>=5){h(t=>[...t,{role:"user",content:e},{role:"assistant",content:"I'm still here if you need to talk. When you're ready, I'm listening."}]),A("");return}}else Z(0);J.current=t,V(e=>e+1);let a={role:"user",content:e};M(T+1);let r=e.toLowerCase();isCrisisMessage(r)&&(O(!0),P(!0),R.current&&clearTimeout(R.current),R.current=setTimeout(()=>P(!1),8e3));let n=x.length+1;n>=16&&!Q&&ex.test(r)&&setTimeout(()=>H(!0),3e3),h(e=>[...e,a]),A(""),N(null),v(!0);let l=[...x,a];try{var o;let e=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:l,summary:k})});if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to get response"}));N(t.error||"Failed to get response"),v(!1);return}let t=await e.json(),a=t.message,r=parseTopic(a);r&&U(r);let n=parseReady(a),i=stripTags(a);"string"==typeof t.summary&&E(t.summary);let d=Math.min(4e3,Math.max(1500,25*i.length));await new Promise(e=>setTimeout(e,d)),h(e=>[...e,{role:"assistant",content:i}]),v(!1),"ready"!==n||null!==$||Q||setTimeout(()=>X("exit-card"),2e3),s&&(null===(o=ei.current)||void 0===o||o.focus())}catch(e){N("Network error. Please try again.")}finally{v(!1)}},handleKeyPress=t=>{"Enter"!==t.key||t.shiftKey||(t.preventDefault(),e?handleSend():handleStartReflecting())},handleBack=()=>{o&&(c(!1),document.body.style.overflow=""),deactivateChatFocus(),ee.current=!1,t(!1)},handleEndSession=()=>{if(T<8){resetChatToInitial();return}X("exit-card")},resetChatToInitial=()=>{t(!1),c(!1),h([{role:"assistant",content:"Hello, I'm an AI listener. I'm here to listen without judging or giving advice. What are you facing?"}]),E(""),A(""),v(!1),N(null),M(0),O(!1),P(!1),R.current&&clearTimeout(R.current),H(!1),X(null),U("general"),V(0),J.current=0,Z(0),document.body.style.overflow="",deactivateChatFocus(),ee.current=!1},handleExitShowSupport=()=>X("support"),handleExitDonate=()=>X("donate"),handleExitClose=()=>resetChatToInitial();return(0,a.jsxs)("div",{className:"bg-levant-gradient bg-fixed min-h-screen font-sans text-slate-800 overflow-x-hidden",children:[e&&(0,a.jsx)("div",{className:"fixed inset-0 z-[70] bg-[#F0F2F5] md:hidden",style:{overscrollBehavior:"none"},children:(0,a.jsxs)("div",{ref:en,className:"absolute top-0 left-0 right-0 flex flex-col bg-[#F0F2F5]",style:{height:"100dvh"},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-3 border-b border-slate-200 bg-white shrink-0 z-10",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,a.jsxs)("div",{className:"relative shrink-0",children:[(0,a.jsx)("div",{className:"w-9 h-9 rounded-xl flex items-center justify-center shadow-md overflow-hidden",children:(0,a.jsx)("img",{src:"/favicon.ico",alt:"SoulWhisp",className:"w-full h-full object-contain"})}),(0,a.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-3 h-3 bg-green-500 border-[2px] border-white rounded-full"})]}),(0,a.jsxs)("div",{className:"text-left min-w-0",children:[(0,a.jsx)("p",{className:"font-semibold text-slate-900 text-[15px] leading-tight truncate",children:p.chat.agentName}),(0,a.jsx)("p",{className:"text-[10px] font-medium text-[#6B5C8A] tracking-wide uppercase leading-tight",children:"Here to listen"})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[(0,a.jsx)("button",{onClick:handleEndSession,className:"cursor-pointer text-[0.8rem] text-[#999] no-underline transition-colors hover:text-[#ccc] hover:underline",style:{padding:"4px 8px"},children:"End session"}),(0,a.jsxs)("button",{onClick:handleBack,className:"flex items-center gap-1 text-[#6B5C8A] text-sm font-medium transition-colors shrink-0 active:scale-95 px-2.5 py-1.5 rounded-lg hover:bg-slate-100","aria-label":"Back to home",children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19l-7-7 7-7"})}),"Back"]})]})]}),(0,a.jsxs)("div",{ref:el,className:"flex-1 min-h-0 overflow-y-auto px-4 py-3 bg-white",style:{WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},children:[j&&(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between rounded-lg bg-[#EF4444] px-3 py-2 text-white text-xs",children:[(0,a.jsx)("span",{children:j}),(0,a.jsx)("button",{onClick:()=>N(null),className:"ml-2 leading-none hover:opacity-80","aria-label":"Dismiss error",children:"\xd7"})]}),L&&(0,a.jsxs)("div",{className:"relative mb-3 rounded-lg bg-[#FEF3C7] border border-[#F59E0B]/30 px-3 py-2.5 text-xs text-[#92400E] transition-opacity duration-500",style:{animation:"fadeInCard 0.3s ease forwards"},children:[(0,a.jsx)("p",{className:"font-medium mb-1",children:"If you're in crisis, real people are ready to help:"}),(0,a.jsxs)("p",{children:[(0,a.jsx)("a",{href:"tel:988",className:"font-semibold text-[#B45309] hover:underline",children:"988"})," (Suicide & Crisis Lifeline) \xb7 ",(0,a.jsx)("a",{href:"sms:741741",className:"font-semibold text-[#B45309] hover:underline",children:"Text HOME to 741741"})]}),(0,a.jsx)("button",{onClick:()=>P(!1),className:"absolute top-1.5 right-2 text-[#92400E]/60 hover:text-[#92400E] text-sm leading-none","aria-label":"Dismiss",children:"\xd7"})]}),x.map((e,t)=>(0,a.jsx)("div",{className:"flex ".concat("user"===e.role?"justify-end":"justify-start"," mb-3"),children:(0,a.jsx)("div",{className:"max-w-[85%] break-words px-4 py-3 text-[15px] leading-relaxed ".concat("user"===e.role?"rounded-[20px_20px_4px_20px] bg-[#2E4A6F] text-white":"rounded-[20px_20px_20px_4px] bg-slate-100 text-[#1B2F4A]"),children:e.content})},t)),w&&(0,a.jsxs)("div",{className:"flex items-center gap-1 text-[#6B5C8A] py-1",children:[(0,a.jsx)("span",{className:"animate-pulse text-base",children:"â¢"}),(0,a.jsx)("span",{className:"animate-pulse text-base",style:{animationDelay:"0.2s"},children:"â¢"}),(0,a.jsx)("span",{className:"animate-pulse text-base",style:{animationDelay:"0.4s"},children:"â¢"})]}),Q&&!z&&null===$&&(0,a.jsxs)("div",{className:"text-center py-6 px-4",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-16 mx-auto mb-4 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-[15px] text-slate-500 mb-1.5 leading-relaxed",children:"We're glad you came here. SoulWhisp is free and always will be."}),(0,a.jsx)("p",{className:"text-[14px] text-slate-400 mb-4 leading-relaxed",children:"If this helped, you can help someone else find this space too."}),(0,a.jsx)(i(),{href:"/donate",target:"_blank",className:"inline-block px-6 py-2.5 bg-[#2E4A6F] text-white rounded-full text-[15px] font-medium shadow-md hover:bg-[#1B2F4A] transition-colors active:scale-95",children:"Support SoulWhisp"}),(0,a.jsx)("p",{className:"text-xs text-slate-400 mt-2",children:"Every donation keeps SoulWhisp free for someone who needs it."})]}),Q&&z&&null===$&&(0,a.jsxs)("div",{className:"text-center py-6 px-4",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-16 mx-auto mb-4 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-[15px] text-slate-500 mb-3 leading-relaxed",children:"Remember â there are real people ready to hear you too."}),(0,a.jsx)(i(),{href:"/links",target:"_blank",className:"inline-block px-6 py-2.5 border border-[#2E4A6F] text-[#2E4A6F] rounded-full text-[15px] font-medium hover:bg-[#2E4A6F]/5 transition-colors active:scale-95",children:"See crisis resources"})]}),"exit-card"===$&&(0,a.jsxs)("div",{className:"text-center py-6 px-4",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-16 mx-auto mb-4 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-[15px] text-slate-600 mb-1.5 leading-relaxed font-medium",children:z?"Before you go â there are people ready to hear you.":"Youâve found your words. There are people who can hear them â a counsellor, a helpline, someone you trust."}),(0,a.jsx)("p",{className:"text-[14px] text-slate-400 mb-5 leading-relaxed",children:z?"You donât have to do this alone.":"Would you like to see whatâs available?"}),(0,a.jsxs)("div",{className:"flex flex-col gap-3 max-w-[280px] mx-auto",children:[(0,a.jsx)("button",{onClick:handleExitShowSupport,className:"w-full px-5 py-2.5 bg-[#2A9D8F] text-white rounded-full text-[15px] font-medium shadow-md hover:bg-[#238478] transition-colors active:scale-95",children:z?"Find support now":"Yes, show me whatâs available"}),!z&&(0,a.jsx)("button",{onClick:handleExitDonate,className:"w-full px-5 py-2.5 border-2 border-[#2A9D8F] text-[#2A9D8F] rounded-full text-[15px] font-medium hover:bg-[#2A9D8F] hover:text-white transition-colors active:scale-95",children:"Not yet â I need more time"}),(0,a.jsx)("button",{onClick:handleExitClose,className:"w-full px-5 py-2 text-slate-400 text-[14px] hover:text-slate-600 transition-colors",children:"Close"})]})]}),"support"===$&&(()=>{let e=detectRegion(),t=(0,m.Uu)(Y),s=t.free.filter(t=>t.region===e||"all"===t.region||"international"===t.region);return(0,a.jsxs)("div",{className:"py-5 px-4",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-16 mx-auto mb-4 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-center text-[15px] text-slate-600 mb-5 font-medium leading-relaxed",children:t.exitMessage}),(0,a.jsx)("p",{className:"text-[11px] font-semibold text-[#2A9D8F] tracking-wide uppercase mb-2",children:"Free & confidential"}),(0,a.jsx)("div",{className:"flex flex-col gap-2 mb-5",children:s.map(e=>(0,a.jsxs)("div",{className:"rounded-xl border border-[#2A9D8F]/20 bg-[#2A9D8F]/5 p-3",children:[(0,a.jsx)("p",{className:"text-[14px] font-semibold text-[#1B2F4A] mb-0.5",children:e.label}),(0,a.jsx)("p",{className:"text-[12px] text-slate-400 mb-2",children:e.subt
1itle}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:e.contacts.map((t,s)=>t.value?(0,a.jsxs)("a",{href:"phone"===t.kind?"tel:".concat(t.value):"text"===t.kind?"sms:".concat(t.value):t.value,target:"url"===t.kind?"_blank":void 0,rel:"url"===t.kind?"noopener noreferrer":void 0,onClick:()=>trackReferral(e.id,Y,"free"),className:"text-[13px] text-[#2A9D8F] font-medium hover:underline",children:[t.label," ","phone"===t.kind?"(".concat(t.value,")"):"url"===t.kind?"â":""]},s):(0,a.jsx)("p",{className:"text-[13px] italic text-[#6B5C8A]",children:t.label},s))})]},e.id))}),t.partner.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold text-[#B48E92] tracking-wide uppercase mb-2",children:"Professional support"}),(0,a.jsx)("div",{className:"flex flex-col gap-2 mb-5",children:t.partner.map(e=>(0,a.jsxs)("div",{className:"rounded-xl border border-[#B48E92]/20 bg-[#B48E92]/5 p-3",children:[(0,a.jsx)("p",{className:"text-[14px] font-semibold text-[#1B2F4A] mb-0.5",children:e.label}),(0,a.jsx)("p",{className:"text-[12px] text-slate-400 mb-2",children:e.subt
1itle}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:e.contacts.map((t,s)=>(0,a.jsxs)("a",{href:t.value,target:"_blank",rel:"noopener noreferrer",onClick:()=>trackReferral(e.id,Y,"partner"),className:"text-[13px] text-[#B48E92] font-medium hover:underline",children:[t.label," â"]},s))})]},e.id))})]}),(0,a.jsxs)("div",{className:"text-center mt-2",children:[!z&&(0,a.jsx)("button",{onClick:handleExitDonate,className:"block w-full max-w-[260px] mx-auto mb-2 px-5 py-2.5 bg-[#2E4A6F] text-white rounded-full text-[14px] font-medium shadow-md hover:bg-[#1B2F4A] transition-colors active:scale-95",children:"Support SoulWhisp"}),(0,a.jsx)("button",{onClick:handleExitClose,className:"text-slate-400 text-[13px] hover:text-slate-600 transition-colors",children:"Close"})]})]})})(),"donate"===$&&(0,a.jsxs)("div",{className:"text-center py-6 px-4",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-16 mx-auto mb-4 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-[15px] text-slate-500 mb-1.5 leading-relaxed",children:"SoulWhisp is free and always will be."}),(0,a.jsx)("p",{className:"text-[14px] text-slate-400 mb-4 leading-relaxed",children:"Every donation keeps this space open for someone who needs it."}),(0,a.jsx)(i(),{href:"/donate",target:"_blank",className:"inline-block px-6 py-2.5 bg-[#2E4A6F] text-white rounded-full text-[15px] font-medium shadow-md hover:bg-[#1B2F4A] transition-colors active:scale-95",children:"Donate"}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)("button",{onClick:handleExitClose,className:"text-slate-400 text-[13px] hover:text-slate-600 transition-colors",children:"Close"})})]}),(0,a.jsx)("div",{ref:eo})]}),null===$&&(0,a.jsx)("div",{className:"shrink-0 bg-[#F0F2F5] px-4 pt-3 pb-3 z-[70]",style:{paddingBottom:"max(1rem, env(safe-area-inset-bottom, 1rem))"},children:(0,a.jsxs)("div",{className:"flex items-center gap-2 border border-slate-200 rounded-2xl px-4 py-2 bg-white",children:[(0,a.jsx)("textarea",{ref:ei,rows:1,value:y,onChange:e=>A(e.target.value),onKeyDown:handleKeyPress,onFocus:handleInputFocus,placeholder:"Type here...",className:"w-full bg-transparent resize-none outline-none border-none focus:ring-0 px-0 text-[#1B2F4A] placeholder:text-[#6B5C8A]/50 text-base leading-relaxed font-normal",style:{fontSize:"16px",minHeight:"24px",maxHeight:"120px"}}),(0,a.jsx)("button",{onClick:handleSend,disabled:w||!y.trim(),className:"bg-[#2E4A6F] hover:bg-[#1B2F4A] text-white font-semibold w-9 h-9 rounded-full text-sm shadow-md shrink-0 transition-all flex items-center justify-center disabled:opacity-30 disabled:cursor-not-allowed active:scale-95",children:(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4.5 10.5L12 3m0 0l7.5 7.5M12 3v18"})})})]})})]})}),(0,a.jsxs)("div",{className:e?"hidden md:block":"",children:[(0,a.jsx)("div",{className:"fixed inset-0 bg-black/[0.15] z-40 transition-opacity duration-300 ease-in-out pointer-events-none ".concat(F?"opacity-100":"opacity-0 invisible")}),(0,a.jsxs)("section",{id:"chat",className:"relative pt-16 pb-8 sm:pt-20 sm:pb-10 px-4 sm:px-6 lg:px-8 ".concat(F?"z-50 overflow-visible":"overflow-hidden"),children:[(0,a.jsx)("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-full max-w-[800px] h-[400px] bg-levant-purple/10 blur-[120px] rounded-full z-10"}),(0,a.jsxs)("div",{className:"max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-4 sm:gap-6 lg:gap-10 items-center relative ".concat(F?"z-50":"z-20"),children:[(0,a.jsxs)("div",{className:"text-center lg:text-left relative",children:[(0,a.jsxs)("div",{className:"relative z-10",children:[(0,a.jsx)("h2",{className:"text-[10px] sm:text-xs text-levant-purple mb-2 font-bold tracking-[0.3em] uppercase",children:p.hero.badge}),(0,a.jsxs)("div",{className:"inline-block bg-white/70 backdrop-blur-sm rounded-3xl px-4 sm:px-6 py-4 sm:py-5 shadow-lg",children:[(0,a.jsxs)("h1",{className:"text-2xl sm:text-4xl md:text-5xl font-black mb-3 tracking-tighter leading-[1.1] bg-text-gradient bg-clip-text text-transparent",children:[p.hero.titleMain," ",(0,a.jsx)("br",{}),p.hero.titleAccent]}),(0,a.jsx)("p",{className:"bg-text-gradient bg-clip-text text-transparent mb-0
1sm:mb-1 text-sm sm:text-base font-medium leading-relaxed max-w-2xl mx-auto lg:mx-0",children:p.hero.description})]}),(0,a.jsx)("p",{className:"mt-4 text-xs sm:text-sm text-[#6B5C8A]/70 tracking-wide",children:"AI-powered \xb7 Free \xb7 Anonymous \xb7 No account needed \xb7 Nothing stored"})]}),(0,a.jsx)("div",{className:"mt-4 sm:mt-4 relative rounded-[3rem] overflow-hidden shadow-xl border border-white",children:(0,a.jsx)("div",{className:"h-[220px] sm:h-[280px] lg:h-[320px]",children:(0,a.jsx)(l(),{src:p.hero.backgroundImage,alt:"Hero background",fill:!0,priority:!0,quality:90,placeholder:"blur",className:"object-cover"})})})]}),(0,a.jsx)("div",{className:"w-full ".concat(o?"hidden":""),children:(0,a.jsxs)("div",{ref:et,className:"w-full max-w-3xl mx-auto rounded-[2.5rem] sm:rounded-[3rem] overflow-hidden border border-white/60 flex flex-col relative transition-all duration-300 ease-in-out hover:shadow-2xl ".concat(F?"z-50 bg-white shadow-[0_12px_40px_rgba(0,0,0,0.12)]":"bg-white/40 backdrop-blur-2xl shadow-xl"),style:e?void 0:{animation:"widgetGlow 3s ease-in-out infinite"},children:[(0,a.jsxs)("div",{className:"sticky top-0 z-10 flex items-center justify-between gap-4 p-4 sm:p-5 border-b border-white/20 bg-white/95 backdrop-blur-sm rounded-t-[2.5rem] sm:rounded-t-[3rem]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"w-12 h-12 rounded-2xl flex items-center justify-center shadow-lg overflow-hidden",children:(0,a.jsx)("img",{src:"/favicon.ico",alt:"SoulWhisp",className:"w-full h-full object-contain"})}),(0,a.jsx)("span",{className:"absolute -bottom-1 -right-1 w-5 h-5 bg-green-500 border-[3px] border-white rounded-full",style:{animation:"onlinePulse 2s ease-in-out infinite"}})]}),(0,a.jsxs)("div",{className:"text-left",children:[(0,a.jsx)("p",{className:"font-bold text-slate-900 text-lg",children:p.chat.agentName}),(0,a.jsx)("p",{className:"text-[11px] font-semibold text-levant-purple tracking-[0.1em] uppercase",children:p.chat.status})]})]}),e&&(0,a.jsxs)("div",{className:"flex items-center gap-4 shrink-0",children:[(0,a.jsx)("button",{onClick:handleEndSession,className:"cursor-pointer text-[0.8rem] text-[#999] no-underline transition-colors hover:text-[#777] hover:underline",style:{padding:"4px 8px"},children:"End session"}),(0,a.jsxs)("button",{onClick:handleBack,className:"text-[#6B5C8A]/70 hover:text-[#6B5C8A] text-sm font-medium transition-colors shrink-0 flex items-center gap-1","aria-label":"Back to topics",children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19l-7-7 7-7"})}),"Back"]})]})]}),(0,a.jsxs)("div",{className:"h-[400px] sm:h-[420px] p-4 sm:p-6 flex flex-col space-y-2 overflow-y-auto bg-white/10 relative z-10 text-left text-sm sm:text-base",style:{WebkitOverflowScrolling:"touch"},children:[j&&(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between rounded-lg bg-[#EF4444] px-4 py-3 text-white",children:[(0,a.jsx)("span",{className:"text-sm",children:j}),(0,a.jsx)("button",{onClick:()=>N(null),className:"ml-4 text-xl leading-none hover:opacity-80","aria-label":"Dismiss error",children:"\xd7"})]}),e?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{ref:ea,className:"flex-1 flex flex-col gap-4 overflow-y-auto ".concat(o?"p-4":""),style:o?{WebkitOverflowScrolling:"touch"}:{},children:[L&&(0,a.jsxs)("div",{className:"relative mb-4 rounded-lg bg-[#FEF3C7] border border-[#F59E0B]/30 px-4 py-3 text-sm text-[#92400E] transition-opacity duration-500",style:{animation:"fadeInCard 0.3s ease forwards"},children:[(0,a.jsx)("p",{className:"font-medium mb-1",children:"If you're in crisis, real people are ready to help:"}),(0,a.jsxs)("p",{children:[(0,a.jsx)("a",{href:"tel:988",className:"font-semibold text-[#B45309] hover:underline",children:"988"})," (Suicide & Crisis Lifeline) \xb7 ",(0,a.jsx)("a",{href:"sms:741741",className:"font-semibold text-[#B45309] hover:underline",children:"Text HOME to 741741"})]}),(0,a.jsx)("button",{onClick:()=>P(!1),className:"absolute top-2 right-2.5 text-[#92400E]/60 hover:text-[#92400E] text-base leading-none","aria-label":"Dismiss",children:"\xd7"})]}),x.map((e,t)=>(0,a.jsx)("div",{className:"flex ".concat("user"===e.role?"justify-end":"justify-start"),children:(0,a.jsx)("div",{className:"max-w-[75%] break-words px-4 py-3.5 text-sm leading-relaxed ".concat("user"===e.role?"rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white":"rounded-[18px_18px_18px_4px] bg-white text-[#1B2F4A]"),children:e.content})},t)),w&&(0,a.jsxs)("div",{className:"flex items-center gap-1 text-[#6B5C8A]",children:[(0,a.jsx)("span",{className:"animate-pulse text-lg",children:"â¢"}),(0,a.jsx)("span",{className:"animate-pulse text-lg",style:{animationDelay:"0.2s"},children:"â¢"}),(0,a.jsx)("span",{className:"animate-pulse text-lg",style:{animationDelay:"0.4s"},children:"â¢"})]}),Q&&!z&&null===$&&(0,a.jsxs)("div",{className:"text-center py-5 px-3",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-14 mx-auto mb-3 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-1 leading-relaxed",children:"We're glad you came here. SoulWhisp is free and always will be."}),(0,a.jsx)("p",{className:"text-[13px] text-slate-400 mb-3 leading-relaxed",children:"If this helped, you can help someone else find this space too."}),(0,a.jsx)(i(),{href:"/donate",target:"_blank",className:"inline-block px-5 py-2 bg-[#2E4A6F] text-white rounded-full text-sm font-medium shadow-md hover:bg-[#1B2F4A] transition-colors active:scale-95",children:"Support SoulWhisp"}),(0,a.jsx)("p",{className:"text-xs text-slate-400 mt-1.5",children:"Every donation keeps SoulWhisp free for someone who needs it."})]}),Q&&z&&null===$&&(0,a.jsxs)("div",{className:"text-center py-5 px-3",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-14 mx-auto mb-3 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-3 leading-relaxed",children:"Remember â there are real people ready to hear you too."}),(0,a.jsx)(i(),{href:"/links",target:"_blank",className:"inline-block px-5 py-2 border border-[#2E4A6F] text-[#2E4A6F] rounded-full text-sm font-medium hover:bg-[#2E4A6F]/5 transition-colors active:scale-95",children:"See crisis resources"})]}),"exit-card"===$&&(0,a.jsxs)("div",{className:"text-center py-5 px-3",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-14 mx-auto mb-3 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-sm text-slate-600 mb-1 leading-relaxed font-medium",children:z?"Before you go â there are people ready to hear you.":"Youâve found your words. There are people who can hear them â a counsellor, a helpline, someone you trust."}),(0,a.jsx)("p",{className:"text-[13px] text-slate-400 mb-4 leading-relaxed",children:z?"You donât have to do this alone.":"Would you like to see whatâs available?"}),(0,a.jsxs)("div",{className:"flex flex-col gap-2.5 max-w-[260px] mx-auto",children:[(0,a.jsx)("button",{onClick:handleExitShowSupport,className:"w-full px-4 py-2 bg-[#2A9D8F] text-white rounded-full text-sm font-medium shadow-md hover:bg-[#238478] transition-colors active:scale-95",children:z?"Find support now":"Yes, show me whatâs available"}),!z&&(0,a.jsx)("button",{onClick:handleExitDonate,className:"w-full px-4 py-2 border-2 border-[#2A9D8F] text-[#2A9D8F] rounded-full text-sm font-medium hover:bg-[#2A9D8F] hover:text-white transition-colors active:scale-95",children:"Not yet â I need more time"}),(0,a.jsx)("button",{onClick:handleExitClose,className:"w-full px-4 py-1.5 text-slate-400 text-[13px] hover:text-slate-600 transition-colors",children:"Close"})]})]}),"support"===$&&(()=>{let e=detectRegion(),t=(0,m.Uu)(Y),s=t.free.filter(t=>t.region===e||"all"===t.region||"international"===t.region);return(0,a.jsxs)("div",{className:"py-4 px-3",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-14 mx-auto mb-3 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-center text-sm text-slate-600 mb-4 font-medium leading-relaxed",children:t.exitMessage}),(0,a.jsx)("p",{className:"text-[10px] font-semibold text-[#2A9D8F] tracking-wide uppercase mb-1.5",children:"Free & confidential"}),(0,a.jsx)("div",{className:"flex flex-col gap-2 mb-4",children:s.map(e=>(0,a.jsxs)("div",{className:"rounded-xl border border-[#2A9D8F]/20 bg-[#2A9D8F]/5 p-2.5",children:[(0,a.jsx)("p",{className:"text-[13px] font-semibold text-[#1B2F4A] mb-0.5",children:e.label}),(0,a.jsx)("p",{className:"text-[11px] text-slate-400 mb-1.5",children:e.subt
1itle}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:e.contacts.map((t,s)=>t.value?(0,a.jsxs)("a",{href:"phone"===t.kind?"tel:".concat(t.value):"text"===t.kind?"sms:".concat(t.value):t.value,target:"url"===t.kind?"_blank":void 0,rel:"url"===t.kind?"noopener noreferrer":void 0,onClick:()=>trackReferral(e.id,Y,"free"),className:"text-[12px] text-[#2A9D8F] font-medium hover:underline",children:[t.label," ","phone"===t.kind?"(".concat(t.value,")"):"url"===t.kind?"â":""]},s):(0,a.jsx)("p",{className:"text-[12px] italic text-[#6B5C8A]",children:t.label},s))})]},e.id))}),t.partner.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-[10px] font-semibold text-[#B48E92] tracking-wide uppercase mb-1.5",children:"Professional support"}),(0,a.jsx)("div",{className:"flex flex-col gap-2 mb-4",children:t.partner.map(e=>(0,a.jsxs)("div",{className:"rounded-xl border border-[#B48E92]/20 bg-[#B48E92]/5 p-2.5",children:[(0,a.jsx)("p",{className:"text-[13px] font-semibold text-[#1B2F4A] mb-0.5",children:e.label}),(0,a.jsx)("p",{className:"text-[11px] text-slate-400 mb-1.5",children:e.subt
1itle}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:e.contacts.map((t,s)=>(0,a.jsxs)("a",{href:t.value,target:"_blank",rel:"noopener noreferrer",onClick:()=>trackReferral(e.id,Y,"partner"),className:"text-[12px] text-[#B48E92] font-medium hover:underline",children:[t.label," â"]},s))})]},e.id))})]}),(0,a.jsxs)("div",{className:"text-center mt-1",children:[!z&&(0,a.jsx)("button",{onClick:handleExitDonate,className:"block w-full max-w-[240px] mx-auto mb-2 px-4 py-2 bg-[#2E4A6F] text-white rounded-full text-[13px] font-medium shadow-md hover:bg-[#1B2F4A] transition-colors active:scale-95",children:"Support SoulWhisp"}),(0,a.jsx)("button",{onClick:handleExitClose,className:"text-slate-400 text-[12px] hover:text-slate-600 transition-colors",children:"Close"})]})]})})(),"donate"===$&&(0,a.jsxs)("div",{className:"text-center py-5 px-3",style:{animation:"fadeInCard 0.5s ease forwards"},children:[(0,a.jsx)("hr",{className:"w-14 mx-auto mb-3 border-0 border-t border-slate-200"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-1 leading-relaxed",children:"SoulWhisp is free and always will be."}),(0,a.jsx)("p",{className:"text-[13px] text-slate-400 mb-3 leading-relaxed",children:"Every donation keeps this space open for someone who needs it."}),(0,a.jsx)(i(),{href:"/donate",target:"_blank",className:"inline-block px-5 py-2 bg-[#2E4A6F] text-white rounded-full text-sm font-medium shadow-md hover:bg-[#1B2F4A] transition-colors active:scale-95",children:"Donate"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("button",{onClick:handleExitClose,className:"text-slate-400 text-[12px] hover:text-slate-600 transition-colors",children:"Close"})})]}),(0,a.jsx)("div",{ref:es})]})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex items-start gap-3 max-w-[80%]",children:(0,a.jsx)("div",{className:"bg-white text-[#1B2F4A] rounded-2xl px-5 py-3 shadow-sm border border-white",children:(0,a.jsx)("p",{className:"font-medium leading-relaxed",children:p.chat.initialMessage})})}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2 justify-start items-start max-w-full pb-4",children:[{text:"Depression",bg:"bg-white",size:"px-3 py-2 text-[11px]",margin:"mt-0 ml-0"},{text:"Addiction",bg:"bg-gradient-to-br from-[#E8E4F3]/30 to-white",size:"px-2.5 py-1.5 text-[10px]",margin:"mt-2 ml-1"},{text:"Domestic abuse",bg:"bg-white",size:"px-3 py-2 text-[11px]",margin:"mt-1 ml-2"},{text:"Shame & regret",bg:"bg-gradient-to-br from-[#F3E8E4]/30 to-white",size:"px-2.5 py-1.5 text-[10px]",margin:"mt-3 ml-0"},{text:"Loss & grief",bg:"bg-white",size:"px-2.5 py-1.5 text-[10px]",margin:"mt-0 ml-1"},{text:"Isolation",bg:"bg-gradient-to-br from-[#E8E4F3]/30 to-white",size:"px-3 py-2 text-[11px]",margin:"mt-2 ml-2"},{text:"Bullying",bg:"bg-white",size:"px-2.5 py-1.5 text-[10px]",margin:"mt-1 ml-0"},{text:"Family breakdown",bg:"bg-gradient-to-br from-[#F3E8E4]/30 to-white",size:"px-3 py-2 text-[11px]",margin:"mt-3 ml-1"},{text:"Suicidal thoughts",bg:"bg-white",size:"px-3 py-2 text-[11px]",margin:"mt-0 ml-2"},{text:"Self-harm",bg:"bg-gradient-to-br from-[#E8E4F3]/30 to-white",size:"px-2.5 py-1.5 text-[10px]",margin:"mt-2 ml-0"},{text:"Worried about someone",bg:"bg-white",size:"px-3 py-2 text-[11px]",margin:"mt-1 ml-1"},{text:"Something else",bg:"bg-gradient-to-br from-[#F3E8E4]/30 to-white",size:"px-2.5 py-1.5 text-[10px]",margin:"mt-3 ml-2"}].map((e,t)=>{let s=t%2==0;return(0,a.jsxs)("button",{onClick:()=>handleStartChat(e.text),className:"relative inline-block ".concat(e.bg," ").concat(e.size," ").concat(e.margin," rounded-2xl shadow-lg border-2 border-[#6B5C8A]/20 hover:shadow-xl hover:-translate-y-1 hover:scale-105 hover:border-[#6B5C8A]/40 transition-all duration-200 font-semibold text-[#1B2F4A] whitespace-nowrap"),style:S?{opacity:0,animation:"fadeSlideIn 400ms ease forwards",animationDelay:"".concat(70*t,"ms")}:{opacity:0},children:[s?(0,a.jsx)("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 -ml-1.5 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-r-[5px] border-r-white",style:{filter:"drop-shadow(-1px 0px 1px rgba(0,0,0,0.1))"}}):(0,a.jsx)("span",{className:"absolute right-0 top-1/2 -translate-y-1/2 -mr-1.5 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-l-[5px] border-l-white",style:{filter:"drop-shadow(1px 0px 1px rgba(0,0,0,0.1))"}}),e.text]},t)})})]})]}),(0,a.jsxs)("div",{className:"p-5 sm:p-6 bg-white/60 border-t border-slate-100 relative z-10 ".concat(o?"p-4 bg-white":""," ").concat(null!==$?"hidden":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 sm:gap-3 bg-white border-2 border-slate-300 rounded-full px-3 sm:px-4 py-1.5 shadow-inner ".concat(o?"rounded-lg border-slate-200":""),children:[(0,a.jsx)("textarea",{ref:er,id:"chat-input",rows:1,value:y,onChange:e=>A(e.target.value),onKeyDown:handleKeyPress,onFocus:handleInputFocus,placeholder:s?"Type here...":D||" ",className:"w-full bg-white resize-none outline-none border-none focus:ring-0 px-3 py-2 text-[#1B2F4A] placeholder:text-[#1B2F4A] placeholder:opacity-80 text-base sm:text-sm leading-relaxed font-medium",style:{caretColor:"#2DB88A"}}),(0,a.jsx)("button",{onClick:e?handleSend:handleStartReflecting,disabled:w||e&&!y.trim(),className:"".concat(e?"bg-[#2E4A6F] hover:bg-[#1B2F4A]":"bg-[#2DB88A] hover:bg-[#26A67B]"," text-white font-medium px-4 sm:px-5 py-2 min-h-[40px] min-w-[110px] sm:min-w-[130px] rounded-full text-xs sm:text-sm shadow-lg shrink-0 transition-all hover:scale-105 active:scale-95 flex items-center justify-center disabled:opacity-50 disabled:cursor-not-allowed"),style:e?void 0:{animation:"btnPulse 2s ease-in-out infinite"},children:e?"Send":"Start Reflecting"})]}),(0,a.jsx)("p",{className:"text-xs text-[#6B5C8A]/60 uppercase tracking-wider text-center py-3",children:p.chat.footer})]})]})})]})]}),(0,a.jsx)("section",{className:"bg-[#1B2F4A] py-8 sm:py-10 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto text-center",children:[(0,a.jsxs)("p",{className:"text-base sm:text-lg text-white/90 leading-relaxed font-[family:var(--font-secondary)]",children:["SoulWhisp is AI â ",(0,a.jsx)("strong",{className:"text-white font-semibold",children:"but not the kind that tries to fix you."})," It won't give advice. It won't agree with everything you say just to make you feel better. It listens, asks gentle questions, and helps you practise saying what you need to say â so when you're ready to talk to a real person, ",(0,a.jsx)("strong",{className:"text-white font-semibold",children:"you've already found your words."})," Nothing is stored. Nothing is shared. Your words disappear when you close the window."]}),(0,a.jsx)("div",{className:"flex flex-wrap justify-center gap-2 mt-4",children:[{text:"â No advice",positive:!1},{text:"â No diagnosis",positive:!1},{text:"â No data stored",positive:!1},{text:"â No sign-up",positive:!1}].map(e=>(0,a.jsx)("span",{className:"px-4 py-2 rounded-full text-sm font-medium border border-white/20 text-white/80 bg-white/5",children:e.text},e.text))}),(0,a.jsx)("div",{className:"flex flex-wrap justify-center gap-2 mt-3",children:["â Just listening","â Practise finding your words","â Points you to real help","â Real crisis resources"].map(e=>(0,a.jsx)("span",{className:"px-4 py-2 rounded-full text-sm font-medium border border-[#4ECDC4]/40 text-[#4ECDC4] bg-[#4ECDC4]/10",children:e},e))})]})}),(0,a.jsx)("section",{className:"py-8 md:py-10 px-4 sm:px-6",children:(0,a.jsx)("div",{className:"max-w-7xl mx-auto",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsxs)("h3",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-semibold text-[#1B2F4A] leading-tight mb-3",children:[p.resources.titleMain," ",p.resources.titleAccent]}),(0,a.jsx)("p",{className:"text-lg md:text-xl text-[#6B5C8A] leading-relaxed max-w-4xl mx-auto font-[family:var(--font-secondary)]",children:p.resources.description})]})})}),(0,a.jsx)("section",{className:"pt-8 md:pt-10 pb-4 md:pb-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 md:gap-8 lg:gap-12 items-center",children:[(0,a.jsxs)("div",{className:"order-2 lg:order-1 text-left",children:[(0,a.jsx)("span",{className:"inline-block mb-2 text-[10px] sm:text-xs font-bold text-levant-purple bg-white border border-levant-purple/20 px-3 sm:px-4 py-1.5 rounded-full tracking-widest uppercase shadow-sm",children:p.about.badge}),(0,a.jsxs)("h3",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-semibold mb-3 leading-tight text-[#1B2F4A] tracking-tight",children:[p.about.titleMain," ",(0,a.jsx)("br",{}),p.about.titleSub]}
1),(0,a.jsxs)("div",{className:"text-[#6B5C8A] text-base md:text-lg leading-relaxed font-[family:var(--font-secondary)]",children:[(0,a.jsx)("p",{children:"Sometimes reaching out to a person feels impossible. You might not be ready to talk to family or friends. A therapist might not be available. It might be 3am with nowhere to turn. Or maybe speaking to someone face-to-face feels too overwhelming right now."}),(0,a.jsx)("p",{className:"mt-4",children:"That's where SoulWhisp can help."}),(0,a.jsx)("p",{className:"mt-4",children:"SoulWhisp offers a space without judgment or pressure. It listens without storing your words. It won't tell you what to do â it simply helps you explore your thoughts and feelings at your own pace."})]})]}),(0,a.jsx)("div",{className:"relative order-1 lg:order-2 self-center",children:(0,a.jsx)("div",{className:"h-[260px] sm:h-[300px] lg:h-[360px] w-full rounded-2xl overflow-hidden shadow-2xl border border-white",children:(0,a.jsx)(l(),{src:u,alt:"Mountains at sunset",width:800,height:500,priority:!0,quality:90,placeholder:"blur",className:"w-full h-full object-cover object-top transition-transform duration-1000 hover:scale-105"})})})]})}),(0,a.jsx)("section",{className:"pt-4 md:pt-6 pb-8 md:pb-10 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 md:gap-8 lg:gap-12 items-center",children:[(0,a.jsx)("div",{className:"relative order-1 lg:order-1 self-center",children:(0,a.jsx)("div",{className:"h-[260px] sm:h-[300px] lg:h-[400px] w-full rounded-2xl overflow-hidden shadow-2xl border border-white",children:(0,a.jsx)(l(),{src:u,alt:"Water reflecting",width:800,height:500,priority:!0,quality:90,placeholder:"blur",className:"w-full h-full object-cover object-bottom transition-transform duration-1000 hover:scale-105"})})}),(0,a.jsxs)("div",{className:"order-2 lg:order-2 text-left",children:[(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-semibold mb-3 leading-tight text-[#1B2F4A] tracking-tight",children:"The hardest part isn't finding help â it's finding the words"}),(0,a.jsxs)("div",{className:"text-[#6B5C8A] mb-3 text-base md:text-lg leading-relaxed font-[family:var(--font-secondary)]",children:[(0,a.jsx)("p",{children:"You know something is wrong but you've never said it out loud. You don't know how to start. You're afraid of how it will sound."}),(0,a.jsxs)("p",{className:"mt-4",children:["SoulWhisp gives you a space to rehearse. To try saying âI think I'm depressedâ or âI need to leaveâ or âI lost everythingâ â before you have to say it to a real person's face. ",(0,a.jsx)("span",{className:"font-semibold text-[#1B2F4A]",children:"Think of it as a practice conversation."})," It helps you get things off your chest, untangle what you're feeling, and build the confidence to have the real conversation when the time comes â with a counsellor, a friend, a helpline, or anyone you trust."]}),(0,a.jsxs)("p",{className:"mt-4",children:[(0,a.jsx)("span",{className:"font-semibold text-[#1B2F4A]",children:"We're not a replacement for professional help or human connection."})," But we can be a first step when you're not ready for that yet â or when those options aren't available. Whatever you're going through, SoulWhisp will face it with you."]}),(0,a.jsx)("p",{className:"mt-4 italic text-[#6B5C8A]/80 text-sm sm:text-base",children:"The goal isn't to keep you here. The goal is to help you feel ready for what comes next."})]}),(0,a.jsx)(i(),{href:"/about",className:"inline-flex items-center gap-2 sm:gap-3 bg-gradient-to-r from-[#2E4A6F] to-[#1B2F4A] text-white px-6 sm:px-8 py-3 sm:py-4 min-h-[44px] rounded-full font-medium text-sm sm:text-base shadow-lg transition-all hover:shadow-xl hover:scale-105 group",children:p.about.buttonText})]})]})}),(0,a.jsx)("section",{className:"py-8 md:py-10 px-4 sm:px-6 lg:px-8",children:(0,a.jsx)("div",{className:"max-w-7xl mx-auto",children:(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[{emoji:"\uD83D\uDD07",text:"No advice. No diagnosis. Just listening and gentle questions that help you find your own words."},{emoji:"\uD83D\uDCAC",text:"A practice conversation. Rehearse what you need to say before saying it to a real person."},{emoji:"\uD83D\uDEAB",text:"Nothing stored. No account. No memory between sessions. Your words disappear."},{emoji:"â³",text:"Available 24/7. Whenever you need it â and every session ends by pointing you to real help."}].map((e,t)=>(0,a.jsxs)("div",{className:"bg-white rounded-2xl p-5 shadow-sm border border-[#6
1B5C8A]/10 hover:shadow-md transition-all",children:[(0,a.jsx)("span",{className:"text-3xl mb-4 block",children:e.emoji}),(0,a.jsx)("p",{className:"text-[#1B2F4A] text-sm sm:text-base leading-relaxed font-[family:var(--font-secondary)]",children:e.text})]},t))})})}),(0,a.jsx)("section",{className:"py-8 md:py-10 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-[600px] lg:max-w-5xl max-[767px]:max-w-[95%] mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-4 md:mb-6 max-w-xl mx-auto",children:[(0,a.jsx)("span",{className:"inline-block mb-2 text-[10px] sm:text-xs font-bold text-levant-purple bg-white border border-levant-purple/20 px-4 py-1.5 rounded-full tracking-widest uppercase shadow-sm",children:"What a practice conversation feels like"}),(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl font-semibold text-[#1B2F4A] mb-3",children:"No advice. No diagnosis. Just listening."}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-[#6B5C8A] max-w-xl mx-auto font-[family:var(--font-secondary)]",children:"This is what it sounds like when someone finally says the thing they've been carrying alone."})]}),(0,a.jsxs)("div",{className:"relative max-w-[420px] lg:max-w-none mx-auto",ref:e=>{if(!e||e.__observerAttached)return;e.__observerAttached=!0;let t=e.querySelectorAll(".conv-annotation"),s=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.style.opacity="1",s.unobserve(e.target))})},{threshold:.3});t.forEach(e=>s.observe(e))},children:[(0,a.jsxs)("div",{className:"hidden lg:block absolute left-0 top-0 bottom-0 w-[200px]",style:{pointerEvents:"none"},children:[(0,a.jsxs)("div",{className:"conv-annotation absolute right-0 text-right transition-opacity duration-500 flex items-center gap-2",style:{top:"8%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"No judgment. Just presence."}),(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"})]}),(0,a.jsxs)("div",{className:"conv-annotation absolute right-0 text-right transition-opacity duration-500 flex items-center gap-2",style:{top:"32%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"A question, never advice"}),(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"})]}),(0,a.jsxs)("div",{className:"conv-annotation absolute right-0 text-right transition-opacity duration-500 flex items-center gap-2",style:{top:"55%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"That's what practice feels like"}),(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"})]}),(0,a.jsxs)("div",{className:"conv-annotation absolute right-0 text-right transition-opacity duration-500 flex items-center gap-2",style:{top:"82%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"Ready for the real conversation"}),(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"})]})]}),(0,a.jsxs)("div",{className:"hidden lg:block absolute right-0 top-0 bottom-0 w-[200px]",style:{pointerEvents:"none"},children:[(0,a.jsxs)("div",{className:"conv-annotation absolute left-0 text-left transition-opacity duration-500 flex items-center gap-2",style:{top:"20%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"}),(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"Finally saying what's real"})]}),(0,a.jsxs)("div",{className:"conv-annotation absolute left-0 text-left transition-opacity duration-500 flex items-center gap-2",style:{top:"43%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"}),(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"The words come from you â not us"})]}),(0,a.jsxs)("div",{className:"conv-annotation absolute left-0 text-left transition-opacity duration-500 flex items-center gap-2",style:{to
vendor: 8,609 bytes, line 1
1p:"68%",opacity:0,maxWidth:"160px"},children:[(0,a.jsx)("div",{className:"w-[3px] min-h-[20px] rounded-full bg-[#4ECDC4] flex-shrink-0"}),(0,a.jsx)("p",{className:"text-[0.9rem] font-semibold text-[#1B2F4A] leading-snug",children:"You found your own answer"})]})]}),(0,a.jsxs)("div",{className:"max-w-[420px] mx-auto rounded-[32px] border border-black/[0.08] bg-white overflow-hidden relative z-10",style:{boxShadow:"0 8px 40px rgba(0,0,0,0.08)"},children:[(0,a.jsx)("div",{className:"h-6 bg-slate-50 flex items-center justify-center",children:(0,a.jsx)("div",{className:"w-20 h-[5px] bg-black/10 rounded-full"})}),(0,a.jsxs)("div",{className:"px-4 py-4 max-h-[600px] overflow-y-auto",style:{scrollbarWidth:"thin",scrollbarColor:"rgba(0,0,0,0.1) transparent"},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,a.jsx)("span",{className:"w-2.5 h-2.5 bg-green-500 rounded-full"}),(0,a.jsx)("span",{className:"text-xs text-[#6B5C8A]/60 font-medium",children:"SoulWhisp"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-3.5",children:[(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"It's 2am and I can't sleep again. I don't even know what I'm looking for. I just can't be alone with my head anymore."})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"You're here. That's enough for now. What's keeping you up tonight?"})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"Everything. I had this moment today where I was driving home from work and I just... pulled over and sat there. I couldn't make myself go home. I sat in my car for an hour."})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"An hour. Something about going home felt impossible today. What was going through your mind in that car?"})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"That I'm failing at everything. I'm failing at work. I'm failing my family. My partner thinks I'm fine because I keep saying I'm fine. But I'm not fine. I haven't been fine for months."})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"You've been saying âI'm fineâ for months while carrying all of that. What happens when you think about telling your partner the truth?"})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"They'd worry. And then they'd want to fix it. And I don't need someone to fix it â I don't even understand what's wrong yet. I just need to say it out loud without someone panicking or trying to solve me."})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"So you need space to hear yourself think â without judgment, without someone rushing to fix it. What would you say right now if you knew no one would panic?"})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"That I think I'm falling apart. That I cry in the shower so nobody hears. That some days the only reason I get out of bed is because people are counting on me. And I'm so tired of being the strong one."})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"You just said it. All of it. And nothing broke. How does it feel to see those words?"})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"Like I've been holding my breath for months and I just exhaled."})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"That weight you've been carrying alone â you just put some of it down. You said âI don't even understand what's wrong yet.â But look at what you just told me. You do know. You're exhausted from performing strength you don't feel. What would it look like to let one person in?"})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_4px_18px] bg-[#2E4A6F] text-white",children:"Maybe my partner. If I could say it the way I just said it here â without the âI'm fineâ part. Just... âI'm not okay and I need you to just listen.â"})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[75%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100",children:"âI'm not okay and I need you to just listen.â Those are the exact right words. You found them yourself."})}),(0,a.jsx)("p",{className:"text-center text-[#6B5C8A]/40 text-lg tracking-[0.5em] my-2",children:"\xb7 \xb7 \xb7"}),(0,a.jsx)("p",{className:"text-center text-[#6B5C8A]/60 italic text-[0.8rem] font-[family:var(--font-secondary)]",children:"The conversation goes on for as long as you want."}),(0,a.jsx)("div",{className:"flex justify-start mt-2",children:(0,a.jsx)("div",{className:"max-w-[80%] px-4 py-3 text-[13px] leading-relaxed rounded-[18px_18px_18px_4px] bg-slate-50 text-[#1B2F4A] border border-slate-100 border-l-[3px] border-l-[#4ECDC4]",children:"You've found your words. There are people who can hear them â a counsellor, a helpline, someone you trust. Would you like to see what's available?"})}),(0,a.jsxs)("div",{className:"flex flex-wrap justify-center gap-2.5 mt-2 pb-1",children:[(0,a.jsx)("span",{className:"px-4 py-2 bg-[#2E4A6F] text-white text-xs rounded-full font-medium",children:"Yes, show me what's available"}),(0,a.jsx)("span",{className:"px-4 py-2 bg-white text-[#1B2F4A] text-xs rounded-full font-medium border border-slate-200 shadow-sm",children:"Not yet â I need more time"})]})]})]})]})]}),(0,a.jsx)("p",{className:"text-xs text-[#6B5C8A]/60 text-center italic leading-relaxed mt-6 font-[family:var(--font-secondary)]",children:"No advice was given. No diagnosis. They came here at 2am with a weight they'd been carrying for months. They left knowing exactly what to say â and who to say it to."})]})}),(0,a.jsx)("section",{className:"bg-[#1B2F4A] py-8 sm:py-10 md:py-12 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-4 md:mb-6",children:[(0,a.jsx)("span",{className:"inline-block mb-2 text-[10px] sm:text-xs font-bold text-[#B48E92] tracking-widest uppercase",children:"Why this isn't like other AI"}),(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl font-semibold text-white mb-2",children:"This is not your regular AI chatbot"}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-white/80 max-w-[700px] mx-auto leading-relaxed font-[family:var(--font-secondary)]",children:"Most people who turn to AI when they're struggling end up using general-purpose chatbots that aren't built for this. They give advice you didn't ask for, try to fix you, and agree with everything you say. SoulWhisp was built to do one thing only: help you practise saying the hard thing â so you're ready when it's time to say it for real."})]}
1),(0,a.jsx)("div",{className:"max-w-[800px] mx-auto space-y-4",children:f.map((e,t)=>(0,a.jsxs)("div",{className:"rounded-xl transition-colors hover:bg-white/[0.03] ".concat(t<f.length-1?"pb-4 border-b border-white/[0.08]":""),children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 mb-3 border-l-[3px] border-red-500/40 pl-4 py-1",children:[(0,a.jsx)("span",{className:"text-red-400/70 font-bold text-lg shrink-0 mt-0.5",children:"â"}),(0,a.jsx)("p",{className:"text-white/50 text-sm sm:text-base leading-relaxed",children:e.bad})]}),(0,a.jsxs)("div",{className:"flex items-start gap-3 border-l-[3px] border-[#4ECDC4]/60 pl-4 py-1",children:[(0,a.jsx)("span",{className:"text-[#4ECDC4] font-bold text-lg shrink-0 mt-0.5",children:"â"}),(0,a.jsx)("p",{className:"text-white text-sm sm:text-base leading-relaxed font-semibold",children:e.good})]})]},t))})]})}),(0,a.jsx)("section",{className:"bg-[#2E4A6F] py-8 md:py-10 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto text-center",children:[(0,a.jsx)("span",{className:"inline-block mb-2 text-[10px] sm:text-xs font-bold text-[#B48E92] tracking-widest uppercase",children:"Who built this"}),(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl font-semibold text-white mb-3",children:"Built by a trained volunteer listener"}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-white/80 leading-relaxed font-[family:var(--font-secondary)] max-w-3xl mx-auto",children:"SoulWhisp was created by someone who spent years listening to people in crisis â as a trained volunteer listener. The same principles that work when sitting across from someone in their hardest moment â active listening, no advice, no judgment, letting people find their own words â are what SoulWhisp is built on. This is not another tech company guessing. It's real listening experience, turned into a space where you can practise saying what matters before you say it for real."})]})}),(0,a.jsx)("section",{className:"py-8 md:py-10 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,a.jsx)("div",{className:"text-center mb-3 md:mb-4",children:(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl font-semibold text-[#1B2F4A]",children:"Frequently Asked Questions"})}),(0,a.jsx)("div",{className:"space-y-0",children:b.map((e,t)=>(0,a.jsxs)("div",{className:"border-b border-[#6B5C8A]/10",children:[(0,a.jsxs)("button",{onClick:()=>B(C===t?-1:t),className:"w-full flex items-center justify-between py-5 text-left group",children:[(0,a.jsx)("span",{className:"text-base sm:text-lg font-semibold text-[#1B2F4A] pr-4 group-hover:text-[#6B5C8A] transition-colors",children:e.q}),(0,a.jsx)("span",{className:"text-[#6B5C8A] text-xl shrink-0 transition-transform duration-200 ".concat(C===t?"rotate-45":""),children:"+"})]}),C===t&&(0,a.jsx)("div",{className:"pb-5 pr-8",style:{animation:"fadeUp 0.3s ease-out"},children:(0,a.jsx)("p",{className:"text-[#6B5C8A] text-sm sm:text-base leading-relaxed font-[family:var(--font-secondary)]",children:e.a})})]},t))})]})}),(0,a.jsx)(DonateSection,{}),(0,a.jsxs)("section",{className:"py-8 sm:py-10 md:py-12 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-3 md:mb-4 lg:mb-6",children:[(0,a.jsx)("div",{className:"inline-block bg-[#E74C3C]/10 border-2 border-[#E74C3C] rounded-full px-4 sm:px-6 py-2 sm:py-3 mb-2 md:mb-3",children:(0,a.jsx)("p",{className:"text-xs sm:text-sm md:text-base uppercase tracking-widest text-[#E74C3C] font-bold",children:"â ï¸ NEED IMMEDIATE HELP?"})}),(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl font-bold text-[#1B2F4A] text-center mb-3 md:mb-4",children:"If you're in danger right now"}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-[#6B5C8A] text-center mb-3 md:mb-4 max-w-4xl mx-auto leading-relaxed font-[family:var(--font-secondary)] px-4",children:"SoulWhisp is here to listen, but we're not a crisis service. If you're in immediate danger or planning to harm yourself, please reach out to these professional services."})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-3 md:mb-4",children:[(0,a.jsxs)("div",{className:"bg-white border border-[#
1E74C3C]/20 p-5 rounded-2xl shadow-sm hover:shadow-lg transition-all",children:[(0,a.jsx)("h4",{className:"text-xl sm:text-2xl font-bold text-[#1B2F4A] mb-2 md:mb-3",children:"Talk to someone now"}),(0,a.jsxs)("div",{className:"space-y-3 md:space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-[#1B2F4A] text-sm sm:text-base",children:"988 Suicide & Crisis Lifeline (US)"}),(0,a.jsxs)("p",{className:"text-[#6B5C8A] text-sm sm:text-base",children:[(0,a.jsx)("a",{href:"tel:988",className:"text-[#E74C3C] hover:underline min-h-[44px] inline-flex items-center py-2",children:"Call or text: 988"}),(0,a.jsx)("span",{className:"text-[#6B5C8A]",children:" - Available 24/7"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-[#1B2F4A]",children:"Samaritans (UK)"}),(0,a.jsxs)("p",{className:"text-[#6B5C8A]",children:[(0,a.jsx)("a",{href:"tel:116123",className:"text-[#E74C3C] hover:underline",children:"Call: 116 123"}),(0,a.jsx)("span",{className:"text-[#6B5C8A]",children:" - Available 24/7"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-[#1B2F4A]",children:"Lifeline (Australia)"}),(0,a.jsxs)("p",{className:"text-[#6B5C8A]",children:[(0,a.jsx)("a",{href:"tel:131114",className:"text-[#E74C3C] hover:underline",children:"Call: 13 11 14"}),(0,a.jsx)("span",{className:"text-[#6B5C8A]",children:" - Available 24/7"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-[#1B2F4A]",children:"Crisis Text Line (US)"}),(0,a.jsxs)("p",{className:"text-[#6B5C8A]",children:["Text HOME to ",(0,a.jsx)("span",{className:"font-semibold",children:"741741"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-[#1B2F4A]",children:"Shout (UK)"}),(0,a.jsxs)("p",{className:"text-[#6B5C8A]",children:["Text SHOUT to ",(0,a.jsx)("span",{className:"font-semibold",children:"85258"})]})]})]}),(0,a.jsxs)("a",{href:"https://www.iasp.info/resources/Crisis_Centres/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-[#E74C3C] hover:text-[#C0392B] font-semibold mt-6 transition-colors",children:["Find your country's hotline ",(0,a.jsx)("span",{className:"ml-2",children:"â"})]})]}),(0,a.jsxs)("div",{className:"bg-white border border-[#E74C3C]/20 p-5 rounded-2xl shadow-sm hover:shadow-lg transition-all",children:[(0,a.jsx)("h4",{className:"text-xl sm:text-2xl font-bold text-[#1B2F4A] mb-2 md:mb-3",children:"In immediate danger"}),(0,a.jsxs)("div",{className:"space-y-4 text-[#6B5C8A] font-[family:var(--font-secondary)]",children:[(0,a.jsx)("p",{children:"If you or someone else is in immediate physical danger:"}),(0,a.jsxs)("ul",{className:"space-y-3",children:[(0,a.jsxs)("li",{className:"flex gap-3",children:[(0,a.jsx)("span",{className:"text-[#E74C3C] font-bold mt-1",children:"â¢"}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"font-semibold text-[#1B2F4A]",children:"Call emergency services"})," (US: ",(0,a.jsx)("a",{href:"tel:911",className:"text-[#E74C3C] hover:underline",children:"911"}),", UK: ",(0,a.jsx)("a",{href:"tel:999",className:"text-[#E74C3C] hover:underline",children:"999"}),", EU: ",(0,a.jsx)("a",{href:"tel:112",className:"text-[#E74C3C] hover:underline",children:"112"}),")"]})]}),(0,a.jsxs)("li",{className:"flex gap-3",children:[(0,a.jsx)("span",{className:"text-[#E74C3C] font-bold mt-1",children:"â¢"}),(0,a.jsx)("span",{children:(0,a.jsx)("span",{className:"font-semibold text-[#1B2F4A]",children:"Go to nearest emergency room"})})]}),(0,a.jsxs)("li",{className:"flex gap-3",children:[(0,a.jsx)("span",{className:"text-[#E74C3C] font-bold mt-1",children:"â¢"}),(0,a.jsx)("span",{children:(0,a.jsx)("span",{className:"font-semibold text-[#1B2F4A]",children:"Don't waitâact now"})})]})]})]})]})]}),(0,a.jsx)("p",{className:"text-sm text-[#6B5C8A]/70 text-center mt-6 max-w-3xl mx-auto font-[family:var(--font-secondary)] leading-relaxed",children:"These services are staffed by trained professionals who can provide immediate crisis intervention. SoulWhisp complementsâbut does not replaceâprofessional mental health care."})]}),(0,a.jsx)("section",{className:"py-8 sm:py-10 md:py-12 px-4 sm:px-6 lg:px-8 text-center",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,a.jsx)("h3",{className:"text-2xl sm:text-3xl md:text-4xl font-semibold text-[#1B2F4A] mb-3 leading-tight",children:"Whatever you're going through, you don't have to face it alone."}),(0,a.jsx)("p",{className:"text-base sm:text-lg text-[#6B5C8A] mb
1-3 font-[family:var(--font-secondary)] leading-relaxed",children:"Practise saying it here. Find your words. Then say it for real â when you're ready."}),(0,a.jsx)(i(),{href:"/#chat",className:"inline-flex items-center gap-2 bg-[#2DB88A] hover:bg-[#26A67B] text-white px-8 sm:px-10 py-3 sm:py-4 min-h-[44px] rounded-full font-medium text-base sm:text-lg shadow-lg transition-all hover:shadow-xl hover:scale-105",style:{animation:"btnPulse 2s ease-in-out infinite"},children:"Start talking"})]})}),(0,a.jsx)(d.default,{})]})]})}},30622:function(e,t,s){"use strict";/** 2 * @license React 3 * react-jsx-runtime.production.min.js 4 * 5 * Copyright (c) Meta Platforms, Inc. and affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var a=s(2265),r=Symbol.for("react.element"),n=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,o=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function q(e,t,s){var a,n={},d=null,c=null;for(a in void 0!==s&&(d=""+s),void 0!==t.key&&(d=""+t.key),void 0!==t.ref&&(c=t.ref),t)l.call(t,a)&&!i.hasOwnProperty(a)&&(n[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===n[a]&&(n[a]=t[a]);return{$$typeof:r,type:e,key:d,ref:c,props:n,_owner:o.current}}t.Fragment=n,t.jsx=q,t.jsxs=q},57437:function(e,t,s){"use strict";e.exports=s(30622)},16691:function(e,t,s){e.exports=s(80679)},61396:function(e,t,s){e.exports=s(68326)},91172:function(e,t,s){"use strict";s.d(t,{w_:function(){return GenIcon}});var a=s(2265),r={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},n=a.createContext&&a.createContext(r),__assign=function(){return(__assign=Object.assign||function(e){for(var t,s=1,a=arguments.length;s<a;s++)for(var r in t=arguments[s])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},__rest=function(e,t){var s={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(s[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,a=Object.getOwnPropertySymbols(e);r<a.length;r++)0>t.indexOf(a[r])&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(s[a[r]]=e[a[r]]);return s};function Tree2Element(e){return e&&e.map(function(e,t){return a.createElement(e.tag,__assign({key:t},e.attr),Tree2Element(e.child))})}function GenIcon(e){return function(t){return a.createElement(IconBase,__assign({attr:__assign({},e.attr)},t),Tree2Element(e.child))}}function IconBase(e){var elem=function(t){var s,r=e.attr,n=e.size,l=e.title,o=__rest(e,["attr","size","title"]),i=n||t.size||"1em";return t.className&&(s=t.className),e.className&&(s=(s?s+" ":"")+e.className),a.createElement("svg",__assign({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,o,{className:s,style:__assign(__assign({color:e.color||t.color},t.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),l&&a.createElement("title",null,l),e.children)};return void 0!==n?a.createElement(n.Consumer,null,function(e){return elem(e)}):elem(r)}}},function(e){e.O(0,[2306,8326,413,6368,2971,2472,1744],function(){return e(e.s=19606)}),_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.