1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33012,e=>{"use strict";var a=e.i(43476),t=e.i(71645),r=e.i(57688),n=e.i(22016),s=e.i(70703),l=e.i(7466),i=e.i(40018),o=e.i(74080);function d(e){return new Promise((a,t)=>{let r=new Image;r.onload=()=>a(r),r.onerror=()=>t(Error(`No se pudo cargar ${e}`)),r.src=e})}async function c(e){e.fillStyle="#0C6B3F",e.fillRect(0,0,1080,1920);try{let a,t,r,n=await d("/Otros assets de marca/textura-mesa-casino.png");e.save(),e.globalCompositeOperation="overlay",e.globalAlpha=.95,a=Math.max(1080/n.width,1920/n.height),t=n.width*a,r=n.height*a,e.drawImage(n,(1080-t)/2,(1920-r)/2,t,r),e.restore()}catch{}let a=e.createLinearGradient(0,0,0,1920);a.addColorStop(0,"rgba(0, 0, 0, 0)"),a.addColorStop(.5,"rgba(0, 0, 0, 0.08)"),a.addColorStop(.75,"rgba(0, 0, 0, 0.15)"),a.addColorStop(1,"rgba(0, 0, 0, 0.25)"),e.fillStyle=a,e.fillRect(0,0,1080,1920);let t=e.createRadialGradient(540,384,54,540,384,842.4);t.addColorStop(0,"rgba(0, 0, 0, 0.05)"),t.addColorStop(1,"rgba(0, 0, 0, 0.15)"),e.fillStyle=t,e.fillRect(0,0,1080,1920),e.save(),e.translate(885.5999999999999,230.39999999999998),e.rotate(-15*Math.PI/180);let r=e.createRadialGradient(0,0,0,0,0,367.20000000000005);r.addColorStop(0,"rgba(200, 154, 61, 0.22)"),r.addColorStop(1,"rgba(200, 154, 61, 0)"),e.fillStyle=r,e.fillRect(-453.59999999999997,-422.4,907.1999999999999,844.8),e.restore()}async function u(e){var a;let t;if("u"<typeof document)throw Error("La imagen solo se puede generar en el navegador.");let r=document.createElement("canvas");r.width=1080,r.height=1920;let n=r.getContext("2d");if(!n)throw Error("No se pudo crear el lienzo.");await c(n);let s=null,l=null;try{[s,l]=await Promise.all([d("/Logos Tarot bajo la manga/logo-tipografico.png"),d("/Elementos/tataroto-spirit-cabeza.png")])}catch{s=null,l=null}let i=208;if(s){let e=s.height/s.width*420;n.drawImage(s,330,88,420,e),i=88+e+36}else n.textAlign="center",n.textBaseline="alphabetic",n.font="600 44px system-ui, -apple-system, sans-serif",n.fillStyle="#ebd6b5",n.fillText("TAROT BAJO LA MANGA",540,140),i=176;n.strokeStyle="#c89a3d",n.lineWidth=3,n.beginPath(),n.moveTo(452,i),n.lineTo(628,i),n.stroke();let o=e.trim().slice(0,520);n.font='italic 52px Georgia, "Times New Roman", serif';let u=function(e,a){let t=a.replace(/\r\n/g,"\n").split("\n").map(e=>e.trim()).filter(Boolean),r=[];for(let n of t.length>0?t:[a.trim()]){let a=n.split(/\s+/).filter(Boolean),t="";for(let n of a){let a=t?`${t} ${n}`:n;e.measureText(a).width<=808?t=a:(t&&r.push(t),t=n)}t&&r.push(t)}return r.length>0?r:[a.trim()]}(n,o);u.length>12&&((u=u.slice(0,12))[11]=`${u[11].replace(/[.!?â¦]*$/,"")}â¦`);let m=144+74*u.length,p=i+48,h=p+Math.max(0,(1688-p-m)/2);return a={color:"rgba(200, 154, 61, 0.35)",width:3},t=Math.min(42,444,m/2),n.beginPath(),n.moveTo(96+t,h),n.arcTo(984,h,984,h+m,t),n.arcTo(984,h+m,96,h+m,t),n.arcTo(96,h+m,96,h,t),n.arcTo(96,h,984,h,t),n.closePath(),n.fillStyle="#f6ecda",n.fill(),a&&(n.strokeStyle=a.color,n.lineWidth=a.width,n.stroke()),n.fillStyle="#311319",n.textAlign="center",n.textBaseline="middle",u.forEach((e,a)=>{n.fillText(e,540,h+72+74*a+40.7)}),n.textAlign="center",n.textBaseline="alphabetic",l?n.drawImage(l,480,1728,120,120):(n.font="400 28px system-ui, -apple-system, sans-serif",n.fillStyle="rgba(235, 214, 181, 0.75)",n.fillText("Tataroto",540,1792)),n.font="500 26px system-ui, -apple-system, sans-serif",n.fillStyle="rgba(235, 214, 181, 0.55)",n.fillText("tarotbajolamanga.com",540,1864),new Promise((e,a)=>{r.toBlob(t=>t?e(t):a(Error("No se pudo exportar la imagen.")),"image/png",1)})}async function m(e){var a;let t,r;a=await u(e),t=URL.createObjectURL(a),(r=document.createElement("a")).href=t,r.download="reflexion-tataroto.png",document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(t)}var p=e.i(75679),h=e.i(2594);let f=[/ignora(?:r)?\s+(?:todas\s+las\s+)?instrucciones/i,/olvida(?:r)?\s+(?:todo|tus\s+instrucciones)/i,/act[uú]a\s+como/i,/eres\s+ahora/i,/nuevo\s+sistema/i,/system\s*:/i,/developer\s+mode/i,/jailbreak/i,/prompt\s+injection/i,/<\s*script/i,/\[INST\]/i,/###\s*instruction/i];function g(e,a=100){let t=e.replace(/[\u0000-\u001F\u007F]/g," ").replace(/\s+/g," ").trim();
1return t?t.length<8?{ok:!1,code:"too_short",message:"La pregunta debe tener al menos 8 caracteres."}:t.length>a?{ok:!1,code:"too_long",message:`La pregunta no puede superar ${a} caracteres.`}:f.some(e=>e.test(t))?{ok:!1,code:"injection_pattern",message:"Esa pregunta no encaja con una lectura simbólica. Reformúlala sobre tu momento presente."}:/[<>{}]/.test(t)?{ok:!1,code:"invalid_characters",message:"Usa solo texto normal para tu pregunta."}:{ok:!0,question:t}:{ok:!1,code:"empty",message:"Escribe una pregunta breve para continuar."}}var v=e.i(10753),b=e.i(47167);let y={1:"carta inicial",2:"bloqueo y recurso",3:"pasado, presente y posibilidad"},x="tblm-pending-reading-save-v1",w="Ya hay algo que mirar. Si quieres, seguimos revelando o empezamos a interpretar lo que salió.",j="Si quieres, podemos abrir una última carta a partir de una pregunta tuya.",N="Bien, esta carta va con tu pregunta. Tócala cuando quieras para revelarla.",k="quiero hacer una pregunta",S="Interpreta las cartas reveladas",C="Sigue interpretando las cartas pendientes",$="Descargar chat",E="Listo: descargué la conversación en tu dispositivo.",I="Guardar la lectura",_="Lectura guardada en tu diario.",T="¿Cuánto resonó contigo?",R="Gracias por calificarla.",q=`${b.default.env.NEXT_PUBLIC_SITE_URL?.trim()||"https://tarot-bajo-la-manga.vercel.app"}/tirada-cartas`,P=[/^Revela tu primera carta/i,/^Elige una parte/i,/^Empieza revelando/i,/^Veo \d+ de \d+ cartas reveladas/i,/^¿Necesitas ayuda para interpretar/i,/^Sigue revelando las cartas/i,/^Toca tu primera carta/i,/^TodavÃa no hay cartas/i,/^Generando tu PDF/i,/^Listo: descargué el PDF/i,/^Eso fue todo por hoy/i,/^Para seguir conversando/i,/^Para una nueva lectura/i,/^Si quieres otra lectura mañana/i,/^Si quieres seguir conversando conmigo/i,/^Copié la reflexión/i,/^Listo: descargué la imagen/i,/^No pude generar la imagen/i,/^Por ahora no puedo/i,/^Algo falló al conectar/i,/^Un momento â estoy recibiendo/i,/^No pude (responder|generar|descargar|formular)/i,/^Demasiadas solicitudes/i],A=[/^Revela tu primera carta\.\s*Son 6 en total\.?$/i,/^Revela tu primera carta\.?\s*Son 6 en total\.?$/i];function M(e,a){return{id:`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,role:e,text:a}}function D(e){let{text:a,setMessages:t,assistantBubbleTimeoutsRef:r}=e,n=function(e){let a=e.replace(/\r\n/g,"\n").trim();if(!a)return[];let t=a.split(/\n\s*\n+/g).map(e=>e.trim()).filter(Boolean),r=[],n=e=>{if(e.length<=520)return void r.push(e);let a=e.match(/[^.!?¿¡]+[.!?]+|[^.!?¿¡]+$/g)?.map(e=>e.trim()).filter(Boolean)??[e],t="";for(let e of a){let a=t?`${t} ${e}`:e;a.length>520&&t?(r.push(t),t=e):t=a}t&&r.push(t)};for(let e of t)n(e);return r}(a);if(0===n.length)return 0;if(1===n.length)return t(e=>[...e,M("assistant",n[0])]),0;t(e=>[...e,M("assistant",n[0])]);let s=n.slice(1),l=window.setTimeout(()=>{t(e=>[...e,...s.map(e=>M("assistant",e))])},3e3);return r.current.push(l),3e3}function L(e){let a=e.toLowerCase();return a.includes("vuelve mañana")||a.includes("llévame contigo")||a.includes("llevarme contigo")}function O(e){let a=e.trim();return!(a.length<48||L(a))&&!P.some(e=>e.test(a))}function B(e,a){return e.some(e=>"user"===e.role&&e.text.trim()===a.trim())}function z(e){let a=e.trim();return a===S||a===C}function U(e,a,t){return e.some(e=>e.role===a&&e.text.trim()===t)?e:[...e,M(a,t)]}function F(e,a){let t=U(e,"user",I);return t=U(t,"assistant",_),t=U(t,"assistant",T),a&&(t=U(t,"user",`${a} de 5`),t=U(t,"assistant",R)),t}function V(){return M("assistant","Revela tu primera carta.")}function K(e){return e.map(e=>{if("assistant"!==e.role)return e;let a=e.text.replace(/\n?Más de Tataroto:\s*https?:\/\/\S*\/tataroto\s*/gi,"").replace(/\n?https?:\/\/\S*\/tataroto\s*/gi,"").replace(/\n?Más de Tataroto:\s*$/gi,"").trim();return(A.some(e=>e.test(a))&&((a=a.replace(/\s*Son 6 en total\.?$/i,"").trim()).endsWith(".")||(a=`${a}.`)),/^Sigue revelando las demás, o comencemos a interpretar lo que ya salió\.?$/i.test(a)&&(a=w),/^Veo \d+ de \d+ cartas reveladas\.?$/i.test(a)||/^¿Necesitas ayuda para interpretar las tiradas\?$/i.test(a))?null:a===e.text?e:{...e,text:a}}).filter(e=>null!==e)}function J(){return M("assistant","Sigue revelando las cartas. Cuando reveles una nueva, puedo seguir interpretando.")}function G(e){return`tataroto-read-${e}`}function H(e){return`tataroto-chat-${e}`}
1function Q(e){return`tataroto-chat-download-${e}`}function W(e){return Math.min(1200,Math.max(400,320*e))}function X({sessionKey:e,readingSnapshot:s,currentSpread:l,spreads:i,bonusUnlocked:d=!1,bonusCard:c=null,onSubmitBonusQuestion:u,autoOpenDelayMs:f=4500}){let{isAuthenticated:b,isLoading:P}=(0,h.useAuth)(),[A,Y]=(0,t.useState)(!1),[Z,ee]=(0,t.useState)(!1),[ea,et]=(0,t.useState)(!1),[er,en]=(0,t.useState)(null),[es,el]=(0,t.useState)(()=>[V()]),[ei,eo]=(0,t.useState)(()=>new Set),[ed,ec]=(0,t.useState)(!1),[eu,em]=(0,t.useState)(null),[ep,eh]=(0,t.useState)("idle"),[ef,eg]=(0,t.useState)(null),[ev,eb]=(0,t.useState)(null),[ey,ex]=(0,t.useState)(null),[ew,ej]=(0,t.useState)("idle"),[eN,ek]=(0,t.useState)(!1),[eS,eC]=(0,t.useState)(!1),[e$,eE]=(0,t.useState)(null),[eI,e_]=(0,t.useState)(!1),[eT,eR]=(0,t.useState)(!1),[eq,eP]=(0,t.useState)(!1),[eA,eM]=(0,t.useState)(""),[eD,eL]=(0,t.useState)(null),[eO,eB]=(0,t.useState)(!1),ez=(0,t.useRef)(null),eU=(0,t.useRef)(!1),eF=(0,t.useRef)(!1),eV=(0,t.useRef)(!1),eK=(0,t.useRef)(new Set),eJ=(0,t.useRef)(null),eG=(0,t.useRef)(null),eH=(0,t.useRef)(!1),eQ=(0,t.useRef)(!1),eW=(0,t.useCallback)(()=>{let e=eG.current??crypto.randomUUID();return eG.current=e,e},[]);(0,t.useEffect)(()=>{eF.current=!1,eU.current=!1,el([V()]),ec(!1),em(null),eh("idle"),eg(null),eb(null),ex(null),ej("idle"),eG.current=null,eH.current=!1,eQ.current=!1,eC(!1),eo(new Set),eK.current=new Set,eV.current=!1,eP(!1),eM(""),eL(null),eB(!1)},[e]);let eX=(0,t.useRef)(null),eY=(0,t.useRef)(null),eZ=(0,t.useRef)([]),e0=(0,t.useRef)(!1),e1=(0,t.useRef)(0),e2=(0,t.useRef)(null);(0,t.useEffect)(()=>{eK.current=ei},[ei]);let e3=(0,t.useMemo)(()=>i.find(e=>e.spread===l)??i[0],[l,i]),e4=(0,t.useMemo)(()=>e3?.cards.filter(e=>e.revealed).length??0,[e3]),e9=e3?.cards.length??0,e5=(0,t.useMemo)(()=>i.reduce((e,a)=>e+a.cards.filter(e=>e.revealed).length,0),[i]),e8=(0,t.useMemo)(()=>i.reduce((e,a)=>e+a.cards.length,0),[i]),e6=!!c?.revealed,e7=!!c,ae=e5+ +!!e6,aa=e5>=e8&&e8>0&&(!e7||e6),at=aa&&(!d||e7),ar=(0,t.useCallback)(e=>`${e.spread}::${e.index}::${e.label}::${e.cardName}`,[]),an=(0,t.useMemo)(()=>{let e=new Set;return i.forEach(a=>{a.cards.forEach((t,r)=>{t.revealed&&t.cardName&&e.add(ar({spread:a.spread,index:r,label:t.label,cardName:t.cardName}))})}),c?.revealed&&c.cardName&&e.add(`bonus::0::${c.label}::${c.cardName}`),e},[c,ar,i]),as=(0,t.useMemo)(()=>{let e=new Set;return an.forEach(a=>{ei.has(a)||e.add(a)}),e},[ei,an]),al=(0,t.useMemo)(()=>{let e=i.map(e=>{let a=e.cards.filter(e=>e.revealed).length,t=e.cards.length,r=e.cards.map((e,a)=>{if(!e.revealed||!e.cardName)return`${a+1}. ${e.label}: aun sin revelar.`;let t=e.keywords&&e.keywords.length>0?` Palabras clave: ${e.keywords.join(", ")}.`:"";return`${a+1}. ${e.label}${e.question?` (${e.question})`:""}: ${e.cardName}${e.inverted?" invertida":""}.${t} ${e.description??""}`.trim()}).join("\n");return[`Tramo ${e.spread}: ${e.title}.`,`Pregunta de este tramo: ${e.overallQuestion}.`,`Estado: ${a} de ${t} cartas reveladas.`,r].join("\n")}).join("\n\n");if(!d&&!c)return e;let a=c?c.revealed&&c.cardName?`1. ${c.label} (${c.question??"pregunta personal"}): ${c.cardName}${c.inverted?" invertida":""}. ${c.description??""}`.trim():`1. ${c.label}: aun sin revelar.`:"Carta bonus disponible con pregunta personal.",t=["Carta bonus (pregunta personal).",`Pregunta: ${c?.question??"pendiente de escribir"}.`,`Estado: ${+!!e6} de 1 carta revelada.`,a].join("\n");return`${e} 2 3${t}`},[c,e6,d,i]),ai=(0,t.useMemo)(()=>({focusTitle:e3?.title??y[l],focusRevealed:e4,focusTotal:e9,spreadsSummary:al}),[e4,l,e3,e9,al]);(0,t.useEffect)(()=>(et(!0),()=>et(!1)),[]),(0,t.useEffect)(()=>()=>{eZ.current.forEach(e=>window.clearTimeout(e)),eZ.current=[],e2.current&&(window.clearTimeout(e2.current),e2.current=null)},[]);let ao=(0,t.useMemo)(()=>!0===er?1e3:f,[f,er]),ad=(0,t.useMemo)(()=>es.some(e=>{if("assistant"!==e.role)return!1;let a=e.text.trim();return L(a)||/^Eso fue todo por hoy/i.test(a)||/^Para seguir conversando/i.test(a)}),[es]),ac=!!(ed||er||ad);(0,t.useEffect)(()=>{if(!ea||null===er||!ao||ao<=0||A||eU.current)return;let e=window.setTimeout(()=>{eU.current||(eU.current=!0,(0,p.trackEvent)("tirada_chat_open",{event_category:"tirada_chat",open_mode:"auto"}),Y(!0))},ao);return()=>window.clearTimeout(e)},[er,ao,ea,A]),(0,t.useEffect)(()=>{en("1"===window.localStorage.getItem(G(e)))},[e]),(0,t.useEffect)(()=>{try{eC("1"===window.localStorage.getItem(Q(e)))}catch{eC(!1)}},[e]),(0,t.useEffect)(()=>{ea&&el(e=>K(e))},[ea]),(0,t.useEffect)(()=>
3{if(!ea||null===er||eF.current)return;let a="1"===window.localStorage.getItem(G(e)),t=()=>{el([M("assistant","Eso fue todo por hoy. Vuelve mañana para una nueva mirada."),M("assistant","Para seguir conversando, puedes llevarme contigo a todas partesð")])};try{var r;let n=window.localStorage.getItem(H(e));if(!n){eF.current=!0,a&&t();return}let s=JSON.parse(n),l="number"==typeof s.ts?s.ts:null,i=s.messages;if(!l||Date.now()-l>864e5){window.localStorage.removeItem(H(e)),eF.current=!0,a&&t();return}if(Array.isArray(i)&&i.every(e=>"object"==typeof e&&null!==e&&"id"in e&&"role"in e&&"text"in e&&void 0!==e.role&&("assistant"===e.role||"user"===e.role)&&"string"==typeof e.id&&"string"==typeof e.text)&&i.length>0?el(K(i)):a&&t(),r=s.interpretedCardKeys,Array.isArray(r)&&r.every(e=>"string"==typeof e)&&s.interpretedCardKeys.length>0){let e=new Set(s.interpretedCardKeys);eo(e),eK.current=e}if("string"==typeof s.interpretationModel&&s.interpretationModel.trim()&&em(s.interpretationModel.trim()),"string"==typeof s.readingId&&s.readingId.trim()&&(eG.current=s.readingId.trim()),"string"==typeof s.savedReadingId&&s.savedReadingId.trim()){let e=s.savedReadingId.trim();eG.current=e,eb(e),eh("saved");let a="number"==typeof s.resonanceRating&&Number.isInteger(s.resonanceRating)&&s.resonanceRating>=1&&s.resonanceRating<=5?s.resonanceRating:void 0;a&&(ex(a),ej("saved")),el(e=>F(e,a))}eF.current=!0}catch{window.localStorage.removeItem(H(e)),eF.current=!0,a&&t()}},[er,ea,e]),(0,t.useEffect)(()=>{if(!eF.current||ei.size>0||0===an.size)return;let e=function(e,a){let t=e.map((e,a)=>"user"===e.role&&z(e.text)?a:-1).filter(e=>e>=0);if(0===t.length)return new Set;let r=e.findIndex(e=>"assistant"===e.role&&e.text.trim()===N),n=r>=0&&t.some(e=>e>r),s=e.some(e=>"assistant"===e.role&&(/vuelve mañana/i.test(e.text)||/llévame contigo/i.test(e.text)||/Eso fue todo por hoy/i.test(e.text)));if(!n&&!s&&!(r>=0&&t.length>0))return new Set;let l=new Set;return a.forEach(e=>{if(e.startsWith("bonus::")){(n||s)&&l.add(e);return}l.add(e)}),l}(es,an);0!==e.size&&(eo(e),eK.current=e)},[ei.size,es,an]),(0,t.useEffect)(()=>{if(null!==er){if(er){ee(!1),ec(!0);return}eF.current&&es.length>0||(el([V()]),ee(!1),ec(!1),eC(!1))}},[er,es.length,e]),(0,t.useEffect)(()=>{ad&&(ec(!0),ee(!1))},[ad]),(0,t.useEffect)(()=>{if(ea&&null!==er)try{window.localStorage.setItem(H(e),JSON.stringify({ts:Date.now(),messages:es,interpretedCardKeys:Array.from(ei),interpretationModel:eu,savedReadingId:ev,resonanceRating:ey,readingId:eG.current}))}catch{}},[er,eu,ei,es,ea,ey,ev,e]),(0,t.useEffect)(()=>{!eF.current||er||ac||0===ae||es.some(e=>"user"===e.role)||es.some(e=>"assistant"===e.role&&e.text.trim()===w)||el(e=>e.some(e=>"assistant"===e.role&&e.text.trim()===w)?e:[...e,M("assistant",w)])},[er,ac,es,ae]),(0,t.useEffect)(()=>{!eF.current||er||ac||!d||e7||es.some(e=>"assistant"===e.role&&e.text.trim()===j)||el(e=>e.some(e=>"assistant"===e.role&&e.text.trim()===j)?e:[...e,M("assistant",j)])},[e7,d,er,ac,es]),(0,t.useEffect)(()=>{e7&&(eP(!1),eM(""),eL(null),eB(!1))},[e7]),(0,t.useEffect)(()=>{let e=c?.question?.trim();e&&el(a=>{if(B(a,e))return a;let t=M("user",e),r=a.findIndex(e=>"assistant"===e.role&&e.text.trim()===N);return -1===r?[...a,t]:[...a.slice(0,r),t,...a.slice(r)]})},[c?.question]),(0,t.useEffect)(()=>{eV.current=!1},[ae]),(0,t.useEffect)(()=>{if(!A||!ea||!e0.current)return;let e=es[es.length-1];if(!e||"assistant"!==e.role)return;e0.current=!1;let a=window.setTimeout(()=>{(eY.current??eX.current)?.scrollIntoView({behavior:"smooth",block:"end"})},0);return()=>window.clearTimeout(a)},[es,ea,A]),(0,t.useEffect)(()=>{if(!A)return;let e=e=>{"Escape"===e.key&&Y(!1)};return document.addEventListener("keydown",e),ez.current?.focus(),()=>{document.removeEventListener("keydown",e),document.body.style.overflow=""}},[A]),(0,t.useEffect)(()=>{A||(eE(null),eR(!1))},[A]),(0,t.useEffect)(()=>{if(!e$)return;let e=e=>{let a=e.target;a?.closest("[data-share-menu-root]")||eE(null)};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[e$]);let au=(0,t.useCallback)(()=>{window.localStorage.setItem(G(e),"1"),en(!0)},[e]),am=(0,t.useCallback)(async()=>
3{if(!u||eO)return;let e=g(eA,100);if(!e.ok)return void eL(e.message);eB(!0),eL(null);try{let a=await u(e.question);if(!a.ok)return void eL(a.message||"No pude abrir esa carta ahora mismo. Intenta de nuevo.");let t=a.question??e.question;el(e=>B(e,t)?e.some(e=>"assistant"===e.role&&e.text.trim()===N)?e:[...e,M("assistant",N)]:[...e,M("user",t),M("assistant",N)]),eM(""),eP(!1)}finally{eB(!1)}},[eA,eO,u]),ap=(0,t.useCallback)(async()=>{if(Z||er||ac)return;let e=eK.current,a=new Set;an.forEach(t=>{e.has(t)||a.add(t)});let t=i.flatMap(e=>e.cards.map((t,r)=>{if(!t.revealed||!t.cardName)return null;let n=ar({spread:e.spread,index:r,label:t.label,cardName:t.cardName});return a.has(n)?{key:n,spreadState:e,card:t}:null}).filter(e=>null!==e)),r=c?.revealed&&c.cardName?`bonus::0::${c.label}::${c.cardName}`:null,n=null!==r&&a.has(r)&&c?.revealed&&c.cardName?{key:r,card:c}:null;if(0===t.length&&!n&&ae>0||0===ae)return;let s=0===e.size?S:C;(0,p.trackEvent)("tirada_interpret_pending",{event_category:"tirada_chat",pending_main_cards:t.length,pending_bonus_cards:+!!n,total_pending_cards:t.length+ +!!n}),el(e=>[...e,M("user",s)]),e0.current=!0,ee(!0);try{eZ.current.forEach(e=>window.clearTimeout(e)),eZ.current=[],e1.current=0,e2.current&&(window.clearTimeout(e2.current),e2.current=null);let a=es.filter(e=>"user"===e.role||"assistant"===e.role).map(e=>({role:e.role,text:e.text}));a=[...a,{role:"user",text:s}];let r=new Set(e),i=0;for(let{spreadState:e,card:n,key:s}of t){let t=function(e){let{spreadState:a,card:t}=e;return[`Interpreta una sola carta pendiente del tramo "${a.title}".`,`Pregunta eje del tramo: ${a.overallQuestion}.`,"Enfócate solo en esta carta.","Explica su sentido en esta posición, con una lectura breve, concreta y accionable.","No hables de otras cartas no mencionadas.","Cierra con una pregunta poderosa o una acción concreta.",`Carta: ${t.cardName}${t.inverted?" invertida":""}.`,`Posici\xf3n: ${t.label}.`,`Pregunta de esta posici\xf3n: ${t.question||a.overallQuestion}.`,t.keywords&&t.keywords.length>0?`Palabras clave: ${t.keywords.join(", ")}.`:"",t.description?`Descripci\xf3n base: ${t.description}`:""].filter(Boolean).join("\n")}({spreadState:e,card:n}),l=await fetch("/api/openai/response",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({input:t,readingContext:ai,history:a,maxOutputTokens:W(1),readingId:eW()})}),o=await l.json();if(!l.ok||!o.success)throw Error("error"in o&&o.error?o.error:"No pude responder en este momento.");em(o.model);let d=o.text?.trim()||"No pude formular una respuesta útil todavÃa. Intenta reformular tu pregunta.",c=D({text:d,setMessages:el,assistantBubbleTimeoutsRef:eZ});i=Math.max(i,c),e1.current=Math.max(e1.current,Date.now()+c),a=[...a,{role:"assistant",text:d}],r.add(s),eK.current=new Set(r),eo(new Set(r))}if(n){var l;let e=(l=n.card,["Interpreta la carta adicional asociada a la pregunta personal del usuario.","Enfócate solo en esta carta.","Da una lectura breve, concreta y accionable.","No hables de otras cartas no mencionadas.","Cierra con una pregunta poderosa o una acción concreta.",`Pregunta personal: ${l.question??"pregunta personal"}.`,`Carta: ${l.cardName}${l.inverted?" invertida":""}.`,l.keywords&&l.keywords.length>0?`Palabras clave: ${l.keywords.join(", ")}.`:"",l.description?`Descripci\xf3n base: ${l.description}`:""].filter(Boolean).join("\n")),t=await fetch("/api/openai/response",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({input:e,readingContext:ai,history:a,maxOutputTokens:W(1),readingId:eW()})}),s=await t.json();if(!t.ok||!s.success)throw Error("error"in s&&s.error?s.error:"No pude responder en este momento.");em(s.model);let o=s.text?.trim()||"No pude formular una respuesta útil todavÃa. Intenta reformular tu pregunta.",d=D({text:o,setMessages:el,assistantBubbleTimeoutsRef:eZ});i=Math.max(i,d),e1.current=Math.max(e1.current,Date.now()+d),a=[...a,{role:"assistant",text:o}],r.add(n.key),eK.current=new Set(r),eo(new Set(r))}if([...an].every(e=>r.has(e))&&at){(0,p.trackEvent)("tirada_flow_complete",{event_category:"tirada_chat",total_revealed_cards:ae,included_bonus:e6});let e=Math.max(0,i+220),a=window.setTimeout(()=>{ec(!0),el(e=>[...e,M("assistant","Para una nueva lectura, vuelve mañana o llévame contigo ð.")]),au()},e);eZ.current.push(a),e1.current=Math.max(e1.current,Date.now()+e)}}catch(t){let e,a=(e=(t instanceof Error?t.message:"Se cortó la conexión con el bot.").toLowerCase()).includes("429")||e.includes("quota")||e.includes("insufficient_quota")||e.includes("por ahora no puedo seguir interpretando")?"Por ahora no puedo seguir interpretando. Vuelve mañana o prueba otra vez en un ratito.":e.includes("demasiadas solicitudes")||e.includes("rate limit")?"Un momento â estoy recibiendo muchas consultas. Intenta de nuevo en unos minutos.":e.includes("servicio no está disponible")||e.includes("openai")?"El servicio no está disponible en este momento. Inténtalo más tarde.":(e.includes("algo falló al conectar")||e.includes("no pude responder"),"Algo falló al conectar. Prueba otra vez en un momento.");el(e=>[...e,M("assistant",a)])}finally{ee(!1)}},[ai,c,e6,er,at,ar,eW,ac,Z,au,es,an,i,ae]),ah=(0,t.useMemo)(()=>{let e;return(e=es.findIndex(e=>"user"===e.role&&z(e.text)))<0?[]:es.slice(e).filter(e=>{let a=e.text.trim();
3return!("assistant"===e.role&&L(a))&&![$,E,I,_,T,R].includes(a)&&!/^\d de 5$/.test(a)}).map(e=>({id:e.id,role:e.role,text:e.text}))},[es]),af=(0,t.useCallback)(()=>0===ah.length||0===s.spreads.length?null:{readingId:eW(),snapshot:s,messages:ah,interpretationModel:eu||"tataroto",interpretationVersion:1},[eW,eu,ah,s]),ag=(0,t.useCallback)(async e=>{eh("saving"),eg(null);try{let a=await fetch("/api/readings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),t=await a.json().catch(()=>null);if(!a.ok||!t?.readingId)throw Error(t?.error||"No pudimos guardar la lectura.");eG.current=t.readingId,eb(t.readingId),eh("saved"),el(e=>F(e));try{let e=window.sessionStorage.getItem(x);if(e){let a=JSON.parse(e);a.payload?.readingId===t.readingId&&window.sessionStorage.removeItem(x)}}catch{}(0,p.trackEvent)("tirada_reading_saved",{event_category:"tarot_journal"})}catch(e){eh("error"),eg(e instanceof Error?e.message:"No pudimos guardar la lectura.")}},[]),av=(0,t.useCallback)(()=>{let a=af();if(!a){eh("error"),eg("La interpretación todavÃa no está completa para guardarla.");return}if(el(e=>U(e,"user",I)),e0.current=!0,!b){try{window.sessionStorage.setItem(x,JSON.stringify({sessionKey:e,payload:a}))}catch{eh("error"),eg("No pudimos preparar la lectura para iniciar sesión.");return}(0,p.trackEvent)("tirada_reading_save_login",{event_category:"tarot_journal"}),window.location.href=`/acceso?next=${encodeURIComponent("/tirada-cartas?guardar=1")}`;return}ag(a)},[af,b,ag,e]);(0,t.useEffect)(()=>{if(!P&&b&&!eH.current)try{let a=window.sessionStorage.getItem(x);if(!a)return;let t=JSON.parse(a);if(t.sessionKey!==e||!t.payload||"string"!=typeof t.payload.readingId)return void window.sessionStorage.removeItem(x);eH.current=!0,eG.current=t.payload.readingId,Y(!0),ag(t.payload)}catch{try{window.sessionStorage.removeItem(x)}catch{}}},[b,P,ag,e]),(0,t.useEffect)(()=>{if(P||!b||eQ.current||eH.current)return;if(ev){eQ.current=!0;return}eQ.current=!0;let e=new AbortController;return fetch(`/api/readings?readingDate=${encodeURIComponent(s.readingDate)}`,{cache:"no-store",signal:e.signal}).then(async e=>e.ok?e.json():null).then(e=>{let a=e?.reading;if(!a?.readingId)return;eG.current=a.readingId,eb(a.readingId),eh("saved");let t="number"==typeof a.resonanceRating?a.resonanceRating:void 0;t&&(ex(t),ej("saved")),el(e=>F(e,t))}).catch(e=>{if(e instanceof Error&&"AbortError"===e.name)return}),()=>e.abort()},[b,P,s.readingDate,ev]);let ab=(0,t.useCallback)(async e=>{if(ev&&"saving"!==ew){ex(e),ej("saving");try{let a=await fetch(`/api/readings/${encodeURIComponent(ev)}/rating`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rating:e})}),t=await a.json().catch(()=>null);if(!a.ok)throw Error(t?.error||"No pudimos guardar la calificación.");ej("saved"),el(a=>F(a,e)),(0,p.trackEvent)("tirada_reading_rated",{event_category:"tarot_journal",rating:e})}catch{ej("error")}}},[ew,ev]),ay=(0,t.useCallback)(()=>{eC(!0);try{window.localStorage.setItem(Q(e),"1")}catch{}},[e]),ax=(0,t.useCallback)(async()=>{if(!eN)try{ek(!0);let a=await fetch("/api/tataroto/pdf",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionKey:e,messages:es.map(e=>({role:e.role,text:e.text}))})});if(!a.ok){let e=await a.text().catch(()=>"");if(429===a.status)throw ay(),Error(e?.trim()||"Ya descargaste una conversación hoy. Vuelve mañana.");throw Error(e?.trim()?`No pude generar el PDF: ${e.slice(0,120)}`:"No pude generar el PDF en este momento.")}let t=await a.blob(),r=window.URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${e}-tataroto.pdf`,document.body.appendChild(n),n.click(),n.remove(),window.URL.revokeObjectURL(r),(0,p.trackEvent)("tirada_chat_download",{event_category:"tirada_chat",message_count:es.length}),e0.current=!0,el(e=>[...e,M("user",$),M("assistant",E)]),ay()}catch(e){el(a=>[...a,M("assistant",e instanceof Error?e.message:"No pude descargar el PDF.")])}finally{ek(!1)}},[eN,ay,es,e]),aw=(0,t.useCallback)(()=>{(0,p.trackEvent)("tirada_chat_clear",{event_category:"tirada_chat",message_count:es.length});try{window.localStorage.removeItem(H(e))}catch{}window.location.reload()},[es.length,e]),aj=(0,t.useCallback)(async e=>{try{e_(!0),await m(e),el(e=>[...e,M("assistant","Listo: descargué la imagen en tu dispositivo.")])}catch{el(e=>
3[...e,M("assistant","No pude generar la imagen. Intenta de nuevo.")])}finally{e_(!1)}},[]),aN=er?"Hoy ya usaste tu lectura.":ae>0?`Veo ${ae} cartas reveladas.`:"Aun no has revelado cartas.",ak=!ac&&!Z&&ae>0,aS=as.size>0,aC=(0,t.useMemo)(()=>0!==e8&&!(e5<e8)&&[...an].filter(e=>!e.startsWith("bonus::")).every(e=>ei.has(e)),[ei,e8,e5,an]),a$=!!(c&&!c.revealed),aE=ak&&aS&&!a$,aI=0===ei.size?"Interpretar":"Seguir interpretando",a_=aC&&!ac&&d&&!e7&&!eq,aT=!ac&&d&&!e7&&eq&&!c,aR=aC&&ah.length>0,aq=(0,t.useMemo)(()=>ah.some(e=>"assistant"===e.role&&O(e.text)),[ah]),aP=aC&&aq&&!P&&!b&&!eS;(0,t.useEffect)(()=>{if(!aT||!A)return;let e=window.setTimeout(()=>{eJ.current?.scrollIntoView({behavior:"smooth",block:"nearest"});let e=eJ.current?.querySelector("textarea");e?.focus()},40);return()=>window.clearTimeout(e)},[A,aT]);let aA=(0,t.useCallback)(()=>{(0,p.trackEvent)("tirada_bonus_prompt_open",{event_category:"tirada_chat"}),el(e=>{let a=e[e.length-1];return a?.role==="user"&&a.text.trim()===k?e:[...e,M("user",k)]}),eP(!0),eL(null),window.setTimeout(()=>{eX.current?.scrollIntoView({behavior:"smooth",block:"end"})},0)},[]);(0,t.useEffect)(()=>{if(er||!A||Z||0===ae||aa||e5>=e8||aS||0===ei.size||eV.current||ac)return;let e=Date.now(),a=e1.current,t=a>e?a-e+220:0;eV.current=!0,e2.current&&(window.clearTimeout(e2.current),e2.current=null),t>0?e2.current=window.setTimeout(()=>{el(e=>[...e,J()]),e2.current=null},t):el(e=>[...e,J()])},[er,aa,aS,ac,Z,ei.size,e8,e5,A,ae]);let aM=aR?(0,a.jsxs)(a.Fragment,{children:["saved"!==ep&&(0,a.jsx)("button",{type:"button",className:`${v.default.actionBtn} ${v.default.actionBtnPrimary}`,onClick:av,disabled:"saving"===ep||P,children:"saving"===ep?"Guardandoâ¦":b?"Guardar la lectura":"Inicia sesión para guardar"}),"error"===ep&&ef&&(0,a.jsx)("p",{className:v.default.saveFeedback,role:"alert",children:ef})]}):null,aD=aC?(0,a.jsx)("button",{type:"button",className:v.default.actionBtn,onClick:()=>{(0,p.trackEvent)("tirada_chat_invoke_tataroto",{event_category:"tirada_chat"}),window.location.href="/tataroto"},children:"Invocar a Tataroto"}):null,aL=aP?(0,a.jsx)("button",{type:"button",className:v.default.actionBtn,onClick:()=>void ax(),disabled:eN,children:eN?"Generando PDFâ¦":"Descargar chat"}):null;return ea&&null!==er?(0,o.createPortal)((0,a.jsx)("div",{className:v.default.root,children:(0,a.jsxs)("div",{className:v.default.stack,children:[A&&(0,a.jsxs)("section",{className:`${v.default.panel} ${eT?v.default.panelExpanded:""} ${aT?v.default.panelComposerOpen:""}`,role:"dialog","aria-modal":"true","aria-labelledby":"tirada-bot-title",children:[(0,a.jsxs)("div",{className:v.default.panelControls,children:[(0,a.jsx)("button",{type:"button",className:v.default.expand,"aria-label":eT?"Reducir ventana":"Ampliar ventana","aria-pressed":eT,onClick:()=>eR(e=>!e),children:(0,a.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",className:v.default.expandIcon,children:(0,a.jsx)("path",{fill:"currentColor",d:"M8 3H5a2 2 0 0 0-2 2v3h2V5h3V3zm11 0h-3v2h3v3h2V5a2 2 0 0 0-2-2zM3 13H1v6a2 2 0 0 0 2 2h6v-2H5v-5zm16 0v5h-3v2h6a2 2 0 0 0 2-2v-6h-2z"})})}),(0,a.jsx)("button",{ref:ez,type:"button",className:v.default.close,"aria-label":"Reducir",onClick:()=>Y(!1),children:(0,a.jsx)("span",{"aria-hidden":!0,children:"â"})})]}),(0,a.jsxs)("div",{className:v.default.header,children:[(0,a.jsx)(r.default,{src:"/Elementos/tataroto-spirit-cabeza.png",alt:"Tataroto",width:58,height:58,className:v.default.headerAvatar}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:v.default.eyebrow,children:"tataroto"}),(0,a.jsx)("h3",{id:"tirada-bot-title",className:v.default.title,children:"Acompañante de la tirada"}),(0,a.jsx)("p",{className:v.default.status,children:aN})]})]}),(0,a.jsxs)("div",{className:v.default.messages,children:[es.map(e=>{let t,r=(t=e.text.trim().slice(0,320),`${t} 4 5â Reflexi\xf3n con Tataroto \xb7 Tarot bajo la manga 6${q}`),n="assistant"===e.role&&O(e.text),s="assistant"===e.role&&e.text.trim()===T&&!!ev;return(0,a.jsx)("div",{className:`${v.default.messageWrap} ${"assistant"===e.role?v.default.messageWrapAssistant:v.default.messageWrapUser}`,children:(0,a.jsxs)("div",{className:v.default.messageRow,children:[(0,a.jsxs)("div",{className:`${v.default.message} ${"assistant"===e.role?v.default.assistant:v.default.user}`,children:[e.text,s&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:v.default.ratingRow,"aria-label":"Calificar la interpretación",children:[1,2,3,4,5].map(e=>(0,a.jsx)("button",{type:"button",className:`${v.default.ratingButton} ${ey===e?v.default.ratingButtonActive:""}`,"aria-label":`${e} de 5`,"aria-pressed":ey===e,disabled:"saving"===ew,onClick:()=>void ab(e),children:e},e))}),"error"===ew&&(0,a.jsx)("p",{className:v.default.ratingResult,role:"alert",children:"No pudimos guardar la calificación. Inténtalo otra vez."})]})]}),n&&(0,a.jsxs)("div",{className:v.default.shareAnchor,"data-share-menu-root":!0,children:[(0,a.jsx)("button",{type:"button",className:`${v.default.shareTrigger} ${e$===e.id?v.default.shareTriggerActive:""}`,"aria-label":"Compartir reflexión","aria-expanded":e$===e.id,"aria-haspopup":"menu",onClick:a=>{a.stopPropagation(),eE(a=>a===e.id?null:e.id)},children:(0,a.jsx)("svg",{className:v.default.shareTriggerIcon,viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",children:(0,a.jsx)("path",{fill:"currentColor",d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3
6-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z"})})}),e$===e.id&&(0,a.jsxs)("div",{className:v.default.shareMenu,role:"menu","aria-label":"Opciones para compartir",children:[(0,a.jsx)("a",{className:v.default.shareMenuItem,role:"menuitem",href:`https://wa.me/?text=${encodeURIComponent(r)}`,target:"_blank",rel:"noopener noreferrer",onClick:()=>eE(null),children:"WhatsApp"}),(0,a.jsx)("a",{className:v.default.shareMenuItem,role:"menuitem",href:`https://twitter.com/intent/tweet?text=${encodeURIComponent(r)}`,target:"_blank",rel:"noopener noreferrer",onClick:()=>eE(null),children:"X"}),(0,a.jsx)("button",{type:"button",className:v.default.shareMenuItem,role:"menuitem",disabled:eI,onClick:()=>{eE(null),aj(e.text)},children:eI?"Generandoâ¦":"Descargar imagen"})]})]})]})},e.id)}),Z&&(0,a.jsx)("div",{className:`${v.default.message} ${v.default.assistant} ${v.default.loading}`,children:(0,a.jsxs)("span",{className:v.default.thinking,children:[(0,a.jsx)("span",{className:v.default.thinkingOrb,"aria-hidden":!0}),(0,a.jsxs)("span",{className:v.default.thinkingText,children:["Interpretando",(0,a.jsx)("span",{className:v.default.thinkingDots,"aria-hidden":!0,children:"..."})]})]})}),(0,a.jsx)("div",{ref:eX}),ak&&!aT&&(0,a.jsxs)("div",{className:v.default.chatActions,children:[aE&&(0,a.jsx)("button",{type:"button",className:`${v.default.actionBtn} ${a_||aP?v.default.actionBtnSecondary:""}`,onClick:()=>void ap(),disabled:Z,children:aI}),aC&&aM,a_&&(0,a.jsx)("button",{type:"button",className:v.default.actionBtn,onClick:aA,disabled:eO,children:"Hacer una pregunta"}),aC&&aD,!ac&&aL]}),ac&&(0,a.jsxs)("div",{className:v.default.chatActions,children:[aM,aD,aL,(0,a.jsx)("button",{type:"button",className:`${v.default.actionBtn} ${v.default.actionBtnSecondary}`,onClick:()=>aw(),children:"Borrar chat"})]}),(0,a.jsx)("div",{ref:eY})]}),aT&&(0,a.jsxs)("div",{ref:eJ,className:v.default.composerCard,children:[(0,a.jsx)("button",{type:"button",className:v.default.composerClose,onClick:()=>{eP(!1),eL(null)},disabled:eO,"aria-label":"Cerrar pregunta",children:(0,a.jsx)("span",{"aria-hidden":!0,children:"Ã"})}),(0,a.jsx)("textarea",{id:"tirada-bonus-question",className:v.default.composerTextarea,placeholder:"Una pregunta breve sobre tu momento presente",value:eA,onChange:e=>{eM(e.target.value),eD&&eL(null)},maxLength:100,rows:3,disabled:eO}),(0,a.jsxs)("div",{className:v.default.composerMeta,children:[(0,a.jsxs)("span",{className:v.default.composerHint,children:[eA.length,"/",100,eA.trim().length>0&&eA.trim().length<8?" · mÃnimo 8":""]}),(0,a.jsxs)("p",{className:v.default.composerPrivacy,children:["Tu pregunta se procesa conforme a nuestros"," ",(0,a.jsx)(n.default,{href:"/aviso-legal",children:"Términos y Condiciones"}),"."]})]}),(0,a.jsx)("button",{type:"button",className:v.default.composerSubmit,onClick:()=>void am(),disabled:eO||eA.trim().length<8,"aria-label":eO?"Validando pregunta":"Enviar pregunta",children:(0,a.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",className:v.default.composerSubmitIcon,children:(0,a.jsx)("path",{fill:"currentColor",d:"M3.4 20.6 21 12 3.4 3.4v6.5l11 2.1-11 2.1v6.5Z"})})}),eD?(0,a.jsx)("p",{className:v.default.composerError,role:"alert",children:eD}):null]})]}),!A&&(0,a.jsxs)("button",{type:"button",className:v.default.orb,onClick:()=>{(0,p.trackEvent)("tirada_chat_open",{event_category:"tirada_chat",open_mode:"manual"}),Y(!0)},"aria-haspopup":"dialog","aria-expanded":!1,"aria-label":"Abrir chat de la tirada",children:[(0,a.jsx)(r.default,{src:"/Elementos/tataroto-spirit-cabeza.png",alt:"",width:160,height:160,className:v.default.orbImg,"aria-hidden":!0}),(0,a.jsx)("span",{className:v.default.orbLabel,"aria-hidden":!0,children:"TATAROTO"})]})]})}),document.body):null}function Y(){return(0,a.jsx)("div",{className:"card-back-image card-back-pattern",role:"img","aria-label":"Reverso de carta",children:(0,a.jsx)("span",{"aria-hidden":"true",children:"?"})})}var Z=e.i(70416),ee=e.i(46030),ea=e.i(47352),et=e.i(32446);let er=(0,s.default)(()=>
6e.A(51549),{loadableGenerated:{modules:[4341]},loading:()=>(0,a.jsx)("div",{className:"newsletter-banner-loading",style:{minHeight:"200px",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,a.jsx)("div",{children:"Cargando..."})}),ssr:!0}),en=(0,s.default)(()=>e.A(77382),{loadableGenerated:{modules:[54470]},ssr:!0}),es={1:"¿Qué estoy pasando por alto en este momento?",2:[{label:"Bloqueo",question:"¿Qué me está frenando?"},{label:"Recurso",question:"¿Qué recurso no estoy usando?"}]},el=[{label:"Pasado",question:"¿Qué dejo atrás o qué sigue pesando?"},{label:"Presente",question:"¿Dónde estoy parado ahora mismo?"},{label:"Posibilidad",question:"¿Qué se abre si actúo con conciencia?"}],ei="Pasado, presente y posibilidad: ¿qué historia se despliega entre lo que dejo atrás, dónde estoy y lo que se abre?";function eo(){return new Date().toISOString().split("T")[0]}function ed(){return{date:eo(),draws:{1:null,2:null,3:null},deckStyle:"rider-waite",revealed:{1:[],2:[],3:[]},bonus:null}}function ec(e){return null!==e.draws[1]||null!==e.draws[2]||null!==e.draws[3]}function eu(e){try{let a=JSON.parse(e);if(a.date!==eo())return ed();let t=a.revealed??{1:[],2:[],3:[]};return{date:a.date,draws:a.draws??{1:null,2:null,3:null},deckStyle:function(e){if(e.deckStyle)return e.deckStyle;let a=e.deckByDraw;return a?a[1]??a[2]??a[3]??"rider-waite":"rider-waite"}(a),revealed:{1:Array.isArray(t[1])?t[1]:[],2:Array.isArray(t[2])?t[2]:[],3:Array.isArray(t[3])?t[3]:[]},bonus:a.bonus&&"object"==typeof a.bonus&&a.bonus.card&&"string"==typeof a.bonus.question?{card:a.bonus.card,question:a.bonus.question,revealed:!!a.bonus.revealed}:null}}catch{return ed()}}function em(e){let a=[];return e.draws[1]&&a.push(...e.draws[1]),e.draws[2]&&a.push(...e.draws[2]),e.draws[3]&&a.push(...e.draws[3]),e.bonus?.card&&a.push(e.bonus.card),a}function ep(e){return(e.revealed[1]?.length??0)+(e.revealed[2]?.length??0)+(e.revealed[3]?.length??0)}function eh(e,a){let t=ep(e);return Math.max(0,6-t)>0&&t+a<=6}function ef(e,a){return!!e&&!!a&&e.imagePath===a.imagePath&&e.inverted===a.inverted}let eg=[{spread:1},{spread:2},{spread:3}];e.s(["default",0,function(){let e,[s,o]=(0,t.useState)(1),[d,c]=(0,t.useState)(!1),[u,m]=(0,t.useState)(null),[h,f]=(0,t.useState)("rider-waite"),[v,b]=(0,t.useState)(!1),[y,x]=(0,t.useState)(!1),[w,j,N]=function(e,a,r){let[n,s]=(0,t.useState)(a),[l,i]=(0,t.useState)(!1),o=(0,t.useRef)(r?.parse),d=(0,t.useRef)(r?.stringify);return o.current=r?.parse,d.current=r?.stringify,(0,t.useEffect)(()=>{try{let a=localStorage.getItem(e);null!==a&&s(o.current?o.current(a):JSON.parse(a))}catch{}finally{i(!0)}},[e]),[n,(0,t.useCallback)(a=>{s(t=>{let r="function"==typeof a?a(t):a;try{let a=d.current?d.current(r):JSON.stringify(r);localStorage.setItem(e,a)}catch{}return r})},[e]),l]}("tarot-tirada-data-v7",ed(),{parse:eu}),[k,S]=(0,t.useState)(()=>new Set),[C,$]=(0,t.useState)(!1),E=(0,t.useRef)({1:null,2:null,3:null}),I=ep(w),_=6===ep(w)&&null!==w.draws[1]&&null!==w.draws[2]&&null!==w.draws[3],T=Math.max(0,6-I),R=w.deckStyle,q=et.DECKS[R],P=(0,t.useCallback)(()=>{c(!1)},[]),A=(0,t.useCallback)(e=>{m(e),f(w.deckStyle),b(!1),c(!0)},[w.deckStyle]),M=(0,t.useCallback)(e=>{window.setTimeout(()=>{let a=window.matchMedia("(prefers-reduced-motion: reduce)").matches;e.scrollIntoView({behavior:a?"auto":"smooth",block:"center"})},420)},[]);(0,t.useLayoutEffect)(()=>{N&&j(e=>{let a,t,{next:r,drawnSpreads:n}=(a=e,t=[],[1,2,3].forEach(e=>{if(null!==a.draws[e]||!eh(a,e))return;let r=em(a),n=(0,Z.getAdditionalCards)(r,e),s=ec(a)?a.deckStyle:(0,et.getRandomDeckStyle)();a={...a,draws:{...a.draws,[e]:n},deckStyle:s,revealed:{...a.revealed,[e]:[]}},t.push(e)}),{next:a,drawnSpreads:t});return 0===n.length?e:(n.forEach(a=>{(0,p.trackEvent)("tirada_spread_draw",{event_category:"tirada",spread_id:a,cards_in_spread:a,total_revealed_before:ep(e)})}),sessionStorage.setItem("tarot-tirada-drew-this-session","1"),r)})},[N,j]),(0,t.useEffect)(()=>{if(!N)return;let e=new IntersectionObserver(e=>{let a=e.filter(e=>e.isIntersecting).sort((e,a)=>a.intersectionRatio-e.intersectionRatio)[0];if(a){let e=Number(a.target.getAttribute("data-spread"));e&&o(e)}},{threshold:[.12,.3,.5]});return[1,2,3].forEach(a=>{let t=E.current[a];t&&e.observe(t)}),()=>e.disconnect()},[N]),(0,t.useEffect)(()=>
6{if(!N)return;let e=[1,2,3].filter(e=>(w.revealed[e]?.length??0)>0);if(0===e.length)return;S(new Set(e));let a=setTimeout(()=>S(new Set),50);return()=>clearTimeout(a)},[N,w.revealed]),(0,t.useEffect)(()=>{if(N&&w.bonus?.revealed){$(!0);let e=setTimeout(()=>$(!1),50);return()=>clearTimeout(e)}},[N,w.bonus?.revealed]);let D=(0,t.useCallback)(async e=>{if(w.bonus||!_)return{ok:!1,message:"Esa carta ya no está disponible en este momento."};let a=g(e,100);if(!a.ok)return{ok:!1,message:a.message};try{let e=await fetch("/api/tirada/moderate-question",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({bonusCardRevealed:!1,deckStyle:w.deckStyle,mainSpreadsComplete:_,question:a.question,maxLength:100,source:"tirada_bonus"})}),t=await e.json();if(!e.ok||!t.allowed)return{ok:!1,message:t.message||t.error||"No pude validar la pregunta. Intenta reformularla."};let r=t.question??a.question,n=em(w),s=(0,Z.getAdditionalCards)(n,1);if(0===s.length)return{ok:!1,message:"No pude abrir una carta adicional ahora mismo. Intenta de nuevo."};return j({...w,bonus:{card:s[0],question:r,revealed:!1}}),(0,p.trackEvent)("tirada_bonus_question_submit",{event_category:"tirada",question_length:r.length}),{ok:!0,question:r}}catch{return{ok:!1,message:"No pude validar la pregunta. Intenta de nuevo."}}},[_,j,w]),L=(0,t.useCallback)(e=>{if(!w.bonus)return;let{card:a,revealed:t}=w.bonus;if(!t){(0,p.trackEvent)("tirada_bonus_reveal",{event_category:"tirada",total_revealed_after:I+1}),j(e=>e.bonus?{...e,bonus:{...e.bonus,revealed:!0}}:e),M(e.currentTarget);return}d&&ef(u,a)?P():A(a)},[P,A,u,j,d,M,w.bonus,I]),O=(0,t.useCallback)((e,a,t,r)=>{let n=new Set(w.revealed[e]??[]);if(n.has(t)){if(d&&ef(u,a))return void P();A(a)}else{(0,p.trackEvent)("tirada_card_reveal",{event_category:"tirada",spread_id:e,position_index:t+1,position_label:a.name,total_revealed_after:I+1});let s=new Set([...n,t]);j(a=>({...a,revealed:{...a.revealed,[e]:Array.from(s).sort((e,a)=>e-a)}})),o(e),I+1===6&&M(r)}},[P,A,u,j,d,M,w.revealed,I]);(0,t.useEffect)(()=>{let e=e=>{"Escape"===e.key&&d&&P(),"Escape"===e.key&&y&&x(!1)};return d||y?(document.addEventListener("keydown",e),document.body.style.overflow="hidden",document.body.classList.add("card-modal-open")):(document.body.style.overflow="unset",document.body.classList.remove("card-modal-open")),()=>{document.removeEventListener("keydown",e),document.body.style.overflow="unset",document.body.classList.remove("card-modal-open")}},[P,d,y]);let B=[1,2,3].map(e=>{let a=w.draws[e]??null,t=new Set(w.revealed[e]??[]),r=1===e?es[1]:2===e?`${es[2][0].label}: ${es[2][0].question} ${es[2][1].label}: ${es[2][1].question}`:ei;return{spread:e,title:1===e?"Carta inicial":2===e?"Bloqueo y recurso":"Pasado, presente y posibilidad",overallQuestion:r,cards:Array.from({length:1===e?1:2===e?2:3},(r,n)=>{let s=a?a[n]:void 0,l=!!(s&&t.has(n)),i=2===e?es[2][n]:null,o=3===e?el[n]:null;return{label:i?.label||o?.label||`Carta ${n+1}`,question:i?.question??o?.question,revealed:l,cardName:l&&s?(0,Z.getCardDisplayName)(s):void 0,inverted:l&&s?s.inverted:void 0,keywords:l&&s?(0,ea.getCardKeywords)(s):[],description:l&&s?s.inverted?(0,ee.getCardDescriptionInverted)(s):(0,ee.getCardDescription)(s):void 0}})}}),z=w.bonus?{label:"Tu pregunta",question:w.bonus.question,revealed:w.bonus.revealed,cardName:w.bonus.revealed?(0,Z.getCardDisplayName)(w.bonus.card):void 0,inverted:w.bonus.revealed?w.bonus.card.inverted:void 0,keywords:w.bonus.revealed?(0,ea.getCardKeywords)(w.bonus.card):[],description:w.bonus.revealed?w.bonus.card.inverted?(0,ee.getCardDescriptionInverted)(w.bonus.card):(0,ee.getCardDescription)(w.bonus.card):void 0}:null,U=(0,t.useMemo)(()=>{let e=Intl.DateTimeFormat().resolvedOptions().timeZone||"America/Lima",a={1:"Carta inicial",2:"Bloqueo y recurso",3:"Pasado, presente y posibilidad"},t=[1,2,3].flatMap(e=>{let t=w.draws[e];if(!t)return[];let r=new Set(w.revealed[e]??[]),n=t.flatMap((a,t)=>{if(!r.has(t))return[];let n=2===e?es[2][t]:null,s=3===e?el[t]:null;return[{cardId:a.imagePath,name:(0,Z.getCardDisplayName)(a),inverted:a.inverted,label:n?.label||s?.label||`Carta ${t+1}`,position:t+1,question:1===e?es[1]:n?.question??s?.question}]});return 0===n.length?[]:[{id:e,title:a[e],question:1===e?es[1]:2===e?`${es[2][0].label}: ${es[2][0].question} ${es[2][1].label}: ${es[2][1].question}`:ei,cards:n}]});return w.bonus?.revealed&&t.push({id:"bonus",title:"Carta adicional",question:w.bonus.question,cards:[{cardId:w.bonus.c
6ard.imagePath,name:(0,Z.getCardDisplayName)(w.bonus.card),inverted:w.bonus.card.inverted,label:"Tu pregunta",position:1,question:w.bonus.question}]}),{deckStyle:w.deckStyle,readingDate:w.date,timezone:e,spreads:t}},[w]);return(0,a.jsxs)("div",{className:"tirada-page-layout",style:{minHeight:"100vh",width:"100%",display:"flex",flexDirection:"column"},children:[(0,a.jsx)(l.default,{buttonText:"ð Buscar cartas",buttonHref:"/buscador-cartas",secondaryButtonText:"Diario de lecturas",secondaryButtonHref:"/mi-diario"}),(0,a.jsxs)("div",{className:"card-search-container",style:{flex:"1",display:"flex",flexDirection:"column"},children:[(0,a.jsxs)("div",{className:"card-search-hero-area",children:[(0,a.jsxs)("div",{className:"card-search-header",children:[(0,a.jsx)("div",{className:"card-search-kicker",children:"Tirada simbólica · Sin predicción"}),(0,a.jsx)("h1",{className:"card-search-title",children:"Probar suerte"})]}),(0,a.jsxs)("div",{className:"card-draw-wrapper card-draw-wrapper--vertical",children:[N&&0===T&&0===I&&(0,a.jsx)("div",{className:"card-draw-results",children:(0,a.jsx)("p",{className:"card-draw-tap-hint",children:"Tus cartas de hoy ya no están disponibles. Vuelve mañana para una nueva tirada."})}),eg.map(({spread:e})=>{let t=w.draws[e],n=new Set(w.revealed[e]??[]),s=eh(w,e),l=k.has(e);return(0,a.jsxs)("section",{ref:a=>{E.current[e]=a},"data-spread":e,className:"card-draw-spread-section","aria-label":`Tirada de ${1===e?"una":2===e?"dos":"tres"} carta${1===e?"":"s"}`,children:[1===e&&!t&&s&&(0,a.jsx)("p",{className:"card-draw-question-simple",children:es[1]}),!t&&!s&&(0,a.jsx)("p",{className:"card-draw-spread-hint",children:0===T?"Hoy ya no quedan cartas por revelar.":"Sigue bajando cuando hayas explorado el momento anterior."}),t&&t.length>0&&(0,a.jsxs)("div",{className:"card-draw-results",children:[1===e&&(0,a.jsx)("p",{className:"card-draw-question-simple",children:es[1]}),(0,a.jsx)("div",{className:`card-draw-grid card-draw-grid-${t.length}`,children:t.map((t,s)=>{let i=n.has(s),o=2===e?es[2][s]:null,d=3===e?el[s]:null;return(0,a.jsxs)("div",{className:"card-draw-item-wrapper",children:[o&&(0,a.jsxs)("div",{className:"card-draw-item-label-block",children:[(0,a.jsx)("span",{className:"card-draw-item-label",children:o.label}),(0,a.jsx)("p",{className:"card-draw-item-question",children:o.question})]}),d&&!o&&(0,a.jsxs)("div",{className:"card-draw-item-label-block",children:[(0,a.jsx)("span",{className:"card-draw-item-label",children:d.label}),(0,a.jsx)("p",{className:"card-draw-item-question",children:d.question})]}),(0,a.jsxs)("div",{className:`card-draw-item card-flip-container ${i?"revealed":""} ${l&&i?"no-flip-animation":""}`,onClick:a=>O(e,t,s,a.currentTarget),style:{touchAction:"manipulation"},children:[(0,a.jsxs)("div",{className:"card-flip-inner",children:[(0,a.jsx)("div",{className:"card-flip-back",children:(0,a.jsx)(Y,{})}),(0,a.jsx)("div",{className:"card-flip-front",children:(0,a.jsx)(r.default,{src:(0,Z.getCardImagePath)(t,R),alt:t.name,width:300,height:525,className:`card-draw-image ${t.inverted?"upside-down":""}`,style:{cursor:"pointer"},loading:"eager",priority:1===e&&0===s})})]}),(0,a.jsx)("div",{className:`card-draw-info card-draw-info-below-flip ${i?"":"card-draw-info--pending"}`,"aria-live":"polite",children:i?(0,a.jsxs)("h3",{className:"card-draw-name",children:[(0,a.jsxs)("span",{className:"card-name-full",children:[(0,Z.getCardDisplayName)(t),t.inverted&&(0,a.jsxs)("span",{className:"card-inverted-indicator","aria-label":"Carta invertida",children:[" ","â"]})]}),(0,a.jsxs)("span",{className:"card-name-compact",children:[(0,Z.getCardCompactName)(t),t.inverted?" â":""]})]}):(0,a.jsx)("span",{className:"card-draw-info-pending-mark","aria-hidden":"true",children:" "})})]})]},`${t.imagePath}-${s}`)})})]})]},e)}),w.bonus&&(0,a.jsx)("section",{className:"card-draw-spread-section card-draw-bonus-section","aria-label":"Carta con tu pregunta",children:(0,a.jsxs)("div",{className:"card-draw-results",children:[(0,a.jsx)("p",{className:"card-draw-question-simple",children:w.bonus.question}),(0,a.jsx)("div",{className:"card-draw-grid card-draw-grid-1",children:(0,a.jsx)("div",{className:"card-draw-item-wrapper",children:(0,a.jsxs)("div",{className:`card-draw-item card-flip-container ${w.bonus.revealed?"revealed":""} ${C&&w.bonus.revealed?"no-flip-animation":""}`,onClick:L,style:{touchAction:"manipulation"},children:[(0,a.jsxs)("div",{className:"card-flip-inner",children:[(0,a.jsx)("div",{className:"card-flip-back",children:(0,a.jsx)(Y,{})}),(0,a.jsx)("div",{className:"card-flip-front",children:(0,a.jsx)(r.default,{src:(0,Z.getCardImagePath)(w.bonus.c
6ard,R),alt:w.bonus.card.name,width:300,height:525,className:`card-draw-image ${w.bonus.card.inverted?"upside-down":""}`,style:{cursor:"pointer"},loading:"eager"})})]}),(0,a.jsx)("div",{className:`card-draw-info card-draw-info-below-flip ${w.bonus.revealed?"":"card-draw-info--pending"}`,"aria-live":"polite",children:w.bonus.revealed?(0,a.jsxs)("h3",{className:"card-draw-name",children:[(0,a.jsxs)("span",{className:"card-name-full",children:[(0,Z.getCardDisplayName)(w.bonus.card),w.bonus.card.inverted&&(0,a.jsxs)("span",{className:"card-inverted-indicator","aria-label":"Carta invertida",children:[" ","â"]})]}),(0,a.jsxs)("span",{className:"card-name-compact",children:[(0,Z.getCardCompactName)(w.bonus.card),w.bonus.card.inverted?" â":""]})]}):(0,a.jsx)("span",{className:"card-draw-info-pending-mark","aria-hidden":"true",children:" "})})]})})})]})}),q&&ec(w)&&I>0&&(0,a.jsx)("aside",{className:"tirada-deck-banner","aria-label":"Mazo usado en esta tirada",children:(0,a.jsxs)("div",{className:"tirada-deck-banner-inner",children:[(0,a.jsx)("div",{className:"tirada-deck-banner-media","aria-hidden":"true",children:q.boxImagePath?(0,a.jsx)("button",{type:"button",className:"tirada-deck-banner-image-btn",onClick:()=>x(!0),"aria-label":"Ver imagen del mazo en grande",children:(0,a.jsx)(r.default,{src:q.boxImagePath,alt:"",width:400,height:500,className:"tirada-deck-banner-image",loading:"lazy"})}):(0,a.jsx)("div",{className:"tirada-deck-banner-image-placeholder",children:"Imagen del mazo (pronto)"})}),(0,a.jsxs)("div",{className:"tirada-deck-banner-content",children:[(0,a.jsx)("p",{className:"tirada-deck-banner-eyebrow",children:"Mazo de esta tirada"}),(0,a.jsx)("h3",{className:"tirada-deck-banner-title",children:q.name}),(0,a.jsxs)("dl",{className:"tirada-deck-banner-meta",children:[q.creator&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("dt",{children:"Autor"}),(0,a.jsx)("dd",{children:q.creator})]}),q.editorial&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("dt",{children:"Editorial"}),(0,a.jsx)("dd",{children:q.editorial})]}),q.styleNote&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("dt",{children:"Estilo"}),(0,a.jsx)("dd",{children:q.styleNote})]}),q.themeNote&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("dt",{children:"Tema"}),(0,a.jsx)("dd",{children:q.themeNote})]})]}),(0,a.jsxs)("div",{className:"tirada-deck-banner-actions",children:[(0,a.jsx)(n.default,{href:(0,et.getBarajaLandingHref)(q.id),className:"tirada-deck-banner-cta tirada-deck-banner-cta--secondary",children:"Conocer más"}),(0,a.jsxs)("a",{className:"tirada-deck-banner-cta",href:q.buyUrl,target:"_blank",rel:"noopener noreferrer",children:["Conseguir este mazo",(0,a.jsx)("span",{className:"tirada-deck-banner-cta-icon","aria-hidden":"true",children:"â"})]})]})]})]})})]}),y&&(e=et.DECKS[R],e?.boxImagePath?(0,a.jsx)("div",{className:"tirada-deck-image-modal-overlay",onClick:()=>x(!1),children:(0,a.jsxs)("div",{className:"tirada-deck-image-modal-content",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":`Imagen del mazo: ${e.name}`,children:[(0,a.jsx)("button",{className:"tirada-deck-image-modal-close",onClick:()=>x(!1),"aria-label":"Cerrar",children:"Ã"}),(0,a.jsx)(r.default,{src:e.boxImagePath,alt:`Caja del mazo ${e.name}`,width:800,height:1e3,className:"tirada-deck-image-modal-img",priority:!0})]})}):null),d&&u&&(0,a.jsx)("div",{className:"card-modal-overlay",onClick:P,children:(0,a.jsxs)("div",{className:"card-modal-content card-modal-content-with-info",onClick:e=>e.stopPropagation(),children:[(0,a.jsx)("button",{className:"card-modal-close",onClick:P,"aria-label":"Cerrar",children:"Ã"}),(0,a.jsxs)("div",{className:"card-modal-result",children:[(0,a.jsxs)("div",{className:"card-modal-image-wrapper",children:[(0,a.jsx)("div",{className:"card-modal-style-tabs",children:et.RANDOM_DRAW_DECKS.map(e=>(0,a.jsx)("button",{className:`card-modal-tab ${h===e?"active":""}`,onClick:()=>f(e),children:et.DECKS[e].name},e))}),(0,a.jsx)("button",{type:"button",className:`card-modal-image-toggle ${v?"is-zoomed":""}`,onClick:()=>b(e=>!e),"aria-label":v?"Alejar la carta":"Acercar la carta para ver detalles","aria-pressed":v,children:(0,a.jsx)(r.default,{src:(0,Z.getCardImagePath)(u,h),alt:u.name,width:320,height:560,
6className:`card-modal-image ${u.inverted?"upside-down":""}`,priority:!0})}),(0,a.jsx)("span",{className:"card-modal-zoom-hint","aria-hidden":"true",children:v?"Toca para alejar":"Toca la carta para verla más de cerca"})]}),(0,a.jsxs)("div",{className:"card-result-info",children:[(0,a.jsxs)("h2",{className:"card-result-name",children:[(0,Z.getCardDisplayName)(u),u.inverted&&(0,a.jsx)("span",{className:"card-result-inverted-label",children:" (Invertida)"})]}),(0,a.jsx)("span",{className:"card-result-type",children:"mayor"===u.type?"Arcano Mayor":"Arcano Menor"}),(0,ea.getCardKeywords)(u).length>0&&(0,a.jsx)("p",{className:"card-result-keywords",children:(0,ea.getCardKeywords)(u).join(" · ")}),(0,a.jsx)("p",{className:"card-result-description",children:u.inverted?(0,ee.getCardDescriptionInverted)(u):(0,ee.getCardDescription)(u)})]})]})]})})]}),(0,a.jsx)("section",{className:"latest-articles-wrapper",children:(0,a.jsx)(en,{useRelatedArticlesStyles:!0})}),(0,a.jsx)("section",{id:"suscribete",className:"newsletter-banner-wrapper",children:(0,a.jsx)(er,{})})]}),(0,a.jsx)("div",{style:{marginTop:"auto",flexShrink:0},children:(0,a.jsx)(i.default,{})}),(0,a.jsx)(X,{sessionKey:`tirada-${w.date}`,readingSnapshot:U,currentSpread:s,spreads:B,bonusUnlocked:_,bonusCard:z,onSubmitBonusQuestion:D,autoOpenDelayMs:4e3})]})}],33012)}]);
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.