1import{a as ba,j as e,u as Na}from"./vendor-query-skQMsM6X.js";import{u as ya,r as i,R as rr,a as nr,b as ir}from"./vendor-react-DyYvSSk1.js";import{w as or,c as ca}from"./resumeSession-CHH25sIm.js";import{u as lr}from"./use-mobile-DzwrM5_H.js";import{H as da,T as cr}from"./theme-toggle-BICOvWX4.js";import{q as dr,T as g,B as Le,am as mr,an as ur,ao as xr,ap as pr,az as fr,p as re,c as de,X as _t,a5 as Hs,a7 as Gs,ab as Se,aa as Ks,b as be,N as hr,O as gr,Q as jr,R as vr,a4 as br,C as qs,u as Nr,aB as yr,aC as _r,aD as wr,aE as Sr,aF as kr,aG as Cr,aH as Rr,aI as Ar}from"./index-BGwtrXIa.js";import{P as Er}from"./progress-DewcR8Rb.js";import{L as Ms,u as _a}from"./educationStore-CjIKFVAs.js";import{u as qr}from"./useStudySession-Bna7hxSY.js";import{u as Mr}from"./useStudyProgress-DVknZELD.js";import{A as Ys,b as Ir,c as Tr,d as Pr}from"./useCardProgress-iggurYlP.js";import{u as wa}from"./useEnergy-BefU9y3S.js";import{n as Js,R as Sa,S as ys,b as $r,Q as ma,i as Lr}from"./educationCacheKeys-CmL-cCie.js";import{u as Dr,p as Vs}from"./useEducationAccess-KFfyVG_H.js";import{b as Br}from"./EduGate-kRPBukAi.js";import{C as Fr}from"./ConfettiEffect-LcWM84jy.js";import{S as ka}from"./SocialShareMenu-C_v-z9-f.js";import{L as Ps}from"./LeagueIcon-CFDY3G8r.js";import{g as zr,f as Ur}from"./motivationalMessages-CQ8Agn_s.js";import{a0 as ua,aE as He,o as Ca,x as xs,v as _s,a$ as Ra,dE as Qr,dF as Aa,aA as Is,Z as wt,A as bt,aW as Or,ak as Wr,S as ds,ac as ms,dG as Xr,i as et,aq as Ea,ar as Vr,aw as qa,a4 as Hr,aO as Gr,ab as Ma,_ as Kr,aD as Ia,r as Jr,w as Yr,af as Ta,bf as Pa,aF as st,a5 as Zr,az as en,a as Ue,Y as sn,cn as tn,aY as an,av as rn,C as xa,h as Ye,bg as Zs,G as $a,F as nn,B as on,a_ as ln,aL as cn,aZ as dn,aC as mn,aR as un,P as xn,c as pn,bt as fn,bc as hn,cB as gn,V as jn,q as vn,b as bn}from"./vendor-ui-CCmu0bzQ.js";import{L as Nn}from"./learningPathsConfig-FXX-qurp.js";import{C as Nt,a as yt}from"./Card-CFJOMB8b.js";import{P as yn}from"./portal-B_595Tc2.js";import{E as _n}from"./EducationHelmet-DcLdxE0S.js";import{r as ws,e as wn,b as La,f as Sn,C as Da,a as kn,u as Cn,R as Rn}from"./useStudySessionLogger-BL-k1Cjx.js";import{u as An,g as En}from"./useStudyPlan-pLe384jM.js";import{a as qn}from"./useSprintPlan-gnT6xmrZ.js";import{p as Mn}from"./planDay-CoirCnqq.js";import"./textarea-ChvLdc2s.js";import"./useAICredits-DMlHQu4c.js";import"./useUserSessionData-DFvafMsG.js";import"./vendor-supabase-BfoV2C50.js";import"./useDailyChallenge-CryHByuT.js";import"./upgradeBridge-DxSiXl64.js";const In=["frente","front","pergunta","p","q"],Tn=["verso","back","resposta","r","a"];function pa(s,t){const a=s.trim();for(const n of t){const o=new RegExp(`^${n}\\s*[:\\-â]\\s*`,"i");if(o.test(a))return a.replace(o,"").trim()}return null}function Pn(s){const t=s.trim();if(!t)return null;const a=t.split(/\s*;\s*|\r?\n+/).map(l=>l.trim()).filter(Boolean);let n="",o="";for(const l of a){const m=pa(l,In);if(m!==null&&!n){n=m;continue}const d=pa(l,Tn);if(d!==null&&!o){o=d;continue}o?o+=` ${l}`:n&&(n+=` ${l}`)}return!n&&!o&&a.length>=2&&(n=a[0],o=a.slice(1).join(" ")),n=n.trim(),o=o.trim(),!n||!o?null:{front:n,back:o}}function $n(s){const t=String(s.front??s.q??s.pergunta??s.frente??"").trim(),a=String(s.back??s.a??s.resposta??s.verso??"").trim();return!t||!a?null:{front:t,back:a}}function $s(s){if(!s)return[];if(Array.isArray(s)){const t=[];for(const n of s)t.push(...$s(n));const a=new Set;return t.filter(n=>{const o=`${n.front}||${n.back}`;return a.has(o)?!1:(a.add(o),!0)})}if(typeof s=="string"){const t=s.trim();if(!t)return[];if(t.startsWith("{")||t.startsWith("["))try{return $s(JSON.parse(t))}catch{}const a=Pn(t);return a?[a]:[]}if(typeof s=="object"){const t=$n(s);return t?[t]:[]}return[]}const Ln=s=>{const t=Math.floor(s/1e3),a=Math.floor(t/60),n=t%60;return a>0?`${a}m ${n}s`:`${n}s`};function Dn({summary:s,onClose:t,onNewSession:a,fromTrail:n,fromTraining:o,fromResidency:l,fromPlan:m,fromSprint:d,className:x}){const u=ya(),p=ba(),{total:f,correct:y,accuracy:w,xpEarned:R,duration:v,byQuality:k}=s,F=i.useMemo(()=>zr(w),[w]),[I,z]=i.useState(!1),[P,O]=i.useState(0),[L,D]=i.useState(0);i.useEffect(()=>{w>=80&&z(!0);const ps=1e3,Z=Date.now(),H=()=>{const es=Date.now()-Z,te=Math.min(es/ps,1),ke=1-(1-te)*(1-te);O(Math.round(w*ke)),D(Math.round(R*ke)),te<1&&requestAnimationFrame(H)};requestAnimationFrame(H)}
1,[w,R]);const se=()=>u("/educacao"),V=()=>{n!=null&&n.returnPath?u(n.returnPath):u("/educacao")},B=F.label.split(" "),ne=B[0]??F.label,_e=B.slice(1).join(" ");return e.jsxs(dr,{padding:"lg",className:g("max-w-lg sm:max-w-3xl mx-auto animate-scale-in motion-reduce:animate-none relative",x),children:[e.jsx(Fr,{show:I,duration:3e3,pieceCount:50}),e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"mb-4 flex justify-center animate-scale-in motion-reduce:animate-none",style:{animationDelay:"0.2s"},children:e.jsx(Ps,{name:F.icon,size:56,className:F.color})}),e.jsxs("h2",{className:"font-display text-3xl md:text-4xl font-semibold tracking-tight text-mono animate-fade-in motion-reduce:animate-none",style:{animationDelay:"0.3s"},children:[e.jsx("strong",{children:ne}),_e&&` ${_e}`]}),e.jsx("p",{className:"text-mono-muted mt-2 text-sm",children:n?e.jsxs("span",{children:["Trilha concluÃda:"," ",e.jsx("span",{className:"font-medium text-mono",children:n.categoria}),n.modulo&&e.jsxs("span",{className:"text-xs text-mono-muted",children:[" · ",n.modulo]})]}):"Sessão concluÃda"})]}),e.jsxs("div",{className:"grid grid-cols-3 border hairline mb-8",children:[e.jsx(pt,{icon:e.jsx(ua,{className:"h-4 w-4",strokeWidth:1.75}),value:`${P}%`,label:"Precisão",delay:"0.4s"}),e.jsx(pt,{icon:e.jsx(He,{className:"h-4 w-4",strokeWidth:1.75}),value:`+${L}`,label:"XP ganho",delay:"0.5s",borderX:!0}),e.jsx(pt,{icon:e.jsx(Ca,{className:"h-4 w-4",strokeWidth:1.75}),value:Ln(v),label:"Tempo",delay:"0.6s"})]}),e.jsxs("div",{className:"space-y-3 mb-8",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.14em] text-mono-muted",children:"Detalhes"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-mono",children:[e.jsx(xs,{className:"h-4 w-4 ",strokeWidth:1.75}),e.jsxs("span",{children:["Corretos:"," ",e.jsxs("strong",{className:"tabular-nums",children:[y,"/",f]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-mono",children:[e.jsx(_s,{className:"h-4 w-4 text-destructive",strokeWidth:1.75}),e.jsxs("span",{children:["Erros: ",e.jsx("strong",{className:"tabular-nums",children:k.wrong})]})]})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs text-mono-muted pt-2 hairline-t",children:[e.jsxs("div",{className:"flex items-center gap-1.5 pt-2",children:[e.jsx(Ra,{className:"h-3 w-3 ",strokeWidth:1.75}),"Fácil: ",e.jsx("span",{className:"tabular-nums text-mono",children:k.easy})]}),e.jsxs("div",{className:"flex items-center gap-1.5 pt-2",children:[e.jsx(Qr,{className:"h-3 w-3 ",strokeWidth:1.75}),"Médio: ",e.jsx("span",{className:"tabular-nums text-mono",children:k.medium})]}),e.jsxs("div",{className:"flex items-center gap-1.5 pt-2",children:[e.jsx(Aa,{className:"h-3 w-3 ",strokeWidth:1.75}),"DifÃcil: ",e.jsx("span",{className:"tabular-nums text-mono",children:k.hard})]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2.5",children:[d?e.jsxs(Le,{variant:"accent",size:"lg",className:"w-full justify-center gap-2 animate-btn-shimmer bg-[length:200%_100%]",onClick:()=>{p.invalidateQueries({queryKey:["cbr-sprint-active"]}),p.invalidateQueries({queryKey:["cbr-category-accuracy"]}),p.invalidateQueries({queryKey:["cbr-weak-categories"]}),u("/educacao/sprint")},children:[e.jsx(Is,{className:"h-4 w-4",strokeWidth:1.75}),"Voltar ao Sprint"]}):m?e.jsxs(Le,{variant:"accent",size:"lg",className:"w-full justify-center gap-2 animate-btn-shimmer bg-[length:200%_100%]",onClick:()=>{p.invalidateQueries({queryKey:["cbr-study-plan-active"]}),p.invalidateQueries({queryKey:["cbr-category-accuracy"]}),p.invalidateQueries({queryKey:["cbr-weak-categories"]}),u("/educacao/plano")},children:[e.jsx(Is,{className:"h-4 w-4",strokeWidth:1.75}),"Voltar ao Plano de Estudos"]}):l?e.jsxs(Le,{variant:"accent",size:"lg",className:"w-full justify-center gap-2 animate-btn-shimmer bg-[length:200%_100%]",onClick:()=>u("/educacao/simulado"),children:[e.jsx(Is,{className:"h-4 w-4",strokeWidth:1.75}),"Voltar ao Simulado"]}):o?e.jsxs(Le,{variant:"accent",size:"lg",className:"w-full justify-center gap-2 animate-btn-shimmer bg-[length:200%_100%]",onClick:()=>u("/educacao/treino"),children:[e.jsx(wt,{className:"h-4 w-4",strokeWidth:1.75}),"Novo Treino Rápido"]}):n!=null&&n.returnPath?e.jsxs(Le,{variant:"accent",size:"lg",className:"w-full justify-center gap-2 animate-btn-shimmer bg-[length:200%_100%]",onClick:V,children:[e.jsx(bt,{className:"h-4 w-4",strokeWidth:1.75}),"Próxima Frase"]}):e.jsxs(Le,{variant:"accent",size:"lg",className:"w-full justify-center gap-2 animate-btn-shimmer bg-[length:200%_100%]",onClick:se,children:[e.jsx(Or,{className:"h-4 w-4",strokeWidth:1.75}),"Escolher Trilha"]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2.5",children:[e.jsxs(Le,{variant:"outline",className:"justify-center gap-2",onClick:()=>u("/educacao/sessao?source=cbr&quantidade=10"),children:[e.jsx(bt,{className:"h-4 w-4",strokeWidth:1.75}),"Mais 10 questões"]}),e.jsxs(Le,{variant:"outline",className:"justify-center gap-2",disabled:k.wrong===0,onClick:()=>u("/educacao/sessao?source=cbr&quantidade=15&weak=1"),children:[e.jsx(ua,{className:"h-4 w-4",strokeWidth:1.75}),"Refazer meus erros"]})]}),e.jsxs("div",{className:"flex gap-2.5",children:[e.jsx(Le,{variant:"outline",className:"flex-1 justify-center",onClick:t,children:"Fechar"}),a&&e.jsxs(Le,{variant:"outline",className:"flex-1 justify-center gap-2",onClick:a,children:[e.jsx(Wr,{className:"h-4 w-4",strokeWidth:1.75}),"Repetir"]})]}),e.jsx(ka,{title:`Completei uma sessão de estudo: ${y}/${f} acertos (${w}%) e ganhei ${R} XP no RadReport!`,url:"https://radreport.com.br/educacao",hashtags:["RadReport","Radiologia","Aprendizado"],className:"w-full"})]})]})}function pt({icon:s,value:t,label:a,delay:n,borderX:o}){return e.jsxs("div",{className:g("text-center py-6 md:py-7 px-3 md:px-5 surface-mono animate-fade-in motion-reduce:animate-none",o&&"hairline-l hairline-r"),style:{animationDelay:n},children:[e.jsx("div",{className:"flex justify-center text-amber-500 mb-2",children:s}),e.jsx("div",{className:"font-display text-3xl md:text-4xl font-bold text-mono tabular-nums leading-none",children:t}),e.jsx("div",{className:"mt-2 text-[11px] uppercase tracking-[0.14em] text-mono-muted",children:a})]})}function fa({newLevel:s,open:t,onClose:a}){var w,R;const[n,o]=i.useState(!1),[l,m]=i.useState(!1),{refillOnLevelUp:d,maxHearts:x}=wa(),u=Ms.find(v=>v.level===s),p=Object.entries(Nn).filter(([v,k])=>k.requiredLevel===s).map(([v,k])=>({key:v,...k}));i.useEffect(()=>{if(t){o(!0),m(!1);const v=setTimeout(()=>
1o(!1),4e3);return()=>clearTimeout(v)}},[t]);const f=()=>{a(),d().then(v=>{v!=null&&v.success&&(m(!0),de.success("Corações recarregados!",{description:`Bônus de level up: ${v.max_hearts}/${v.max_hearts} corações`,icon:rr.createElement(ms,{className:"h-4 w-4 text-destructive fill-current text-destructive"})}))}).catch(v=>{_t.error("[LevelUpModal] Error refilling hearts:",v)})},y=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA","#F472B6","#34D399"];return e.jsx(mr,{open:t,onOpenChange:v=>{v||f()},children:e.jsxs(ur,{className:g("landing-mono edu-scope w-[95vw] max-w-md sm:max-w-md max-h-[90svh] overflow-hidden border-2 ",""),children:[n&&e.jsxs("div",{className:"absolute inset-0 pointer-events-none overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 animate-pulse"}),Array.from({length:40}).map((v,k)=>e.jsx("div",{className:"absolute w-2.5 h-2.5 rounded-full animate-confetti",style:{left:`${Math.random()*100}%`,backgroundColor:y[k%y.length],animationDelay:`${Math.random()*2}s`,animationDuration:`${2+Math.random()*2}s`}},k)),Array.from({length:12}).map((v,k)=>e.jsx(ds,{className:"absolute animate-pulse",style:{left:`${Math.random()*90+5}%`,top:`${Math.random()*60}%`,animationDelay:`${Math.random()*1}s`,opacity:.5+Math.random()*.5}},`sparkle-${k}`))]}),e.jsxs(xr,{className:"relative text-center pt-4",children:[e.jsxs("div",{className:"relative mx-auto mb-5",children:[e.jsx("div",{className:g("w-28 h-28 rounded-full flex items-center justify-center","","","animate-bounce-slow"),children:e.jsx(Is,{className:"h-14 w-14 text-white drop-shadow-lg"})}),e.jsx("div",{className:g("absolute -bottom-2 -right-2 w-12 h-12 rounded-full","","flex items-center justify-center text-white font-bold text-xl","shadow-lg border-4 "),children:s})]}),e.jsxs(pr,{className:"text-3xl text-transparent bg-clip-text ",children:[e.jsx(ds,{className:"h-6 w-6 "})," Parabéns!"]}),e.jsxs(fr,{className:"text-lg ",children:["Você alcançou o ",e.jsxs("span",{className:"font-bold text-white",children:["NÃvel ",s]})]})]}),e.jsxs("div",{className:"relative py-4 space-y-5",children:[e.jsx("div",{className:"text-center",children:e.jsx("span",{className:g("text-4xl font-bold","","bg-clip-text text-transparent","drop-"),children:(u==null?void 0:u.name)||"Novo NÃvel"})}),e.jsxs("div",{className:g("flex items-center justify-center gap-3 p-4 rounded-xl","","border border-red-500/30",""),children:[e.jsx(ms,{className:"h-6 w-6 fill-current text-destructive text-destructive animate-pulse"}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"font-bold text-red-200",children:"BÃNUS: Corações Recarregados!"}),e.jsxs("div",{className:"text-sm text-red-300/70",children:["Todos os ",x," corações serão restaurados"]})]}),e.jsx(ms,{className:"h-6 w-6 fill-current text-destructive text-destructive animate-pulse"})]}),p.length>0&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm font-medium ",children:[e.jsx(Xr,{className:"h-4 w-4"}),e.jsx("span",{children:"Novas trilhas desbloqueadas:"})]}),e.jsx("div",{className:"grid gap-2",children:p.map(v=>e.jsxs("div",{className:g("flex items-center gap-4 p-4 rounded-xl","","border ",""),children:[e.jsx(Ps,{name:v.icon,size:28}),e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold ",children:v.name}),e.jsxs("div",{className:"text-xs ",children:[v.modules.length," módulos disponÃveis"]})]})]},v.key))})]}),s<15&&e.jsxs("div",{className:"text-center text-sm ",children:[e.jsx("span",{children:"Próximo nÃvel: "}),e.jsx("span",{className:"font-medium ",children:(w=Ms.find(v=>v.level===s+1))==null?void 0:w.name}),e.jsxs("span",{className:"",children:[" (",(R=Ms.find(v=>v.level===s+1))==null?void 0:R.xpRequired.toLocaleString("pt-BR")," XP)"]})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(ka,{title:`Nivel Up: Alcancei o nÃvel ${s} (${(u==null?void 0:u.name)||"Novo NÃvel"}) no RadReport Learning Hub!`,url:"https://radreport.com.br/educacao",hashtags:["RadReport","Radiologia","Aprendizado"],className:"flex-1"}),e.jsxs(re,{onClick:f,className:g("flex-1 gap-2 h-12 font-bold text-base","","hover: hover: hover:","shadow-lg "),children:["Continuar Estudando",e.jsx(bt,{className:"h-5 w-5"})]})]})]})})}function Bn(s,t){const[a,n]=i.useState({show:!1,level:0}),o=i.useRef(new Set);i.useEffect(()=>{if(t===0||s<=t)return;const d=Ms.reduce((u,p)=>t>=p.xpRequired?p.level:u,1),x=Ms.reduce((u,p)=>s>=p.xpRequired?p.level:u,1);x>d&&!o.current.has(x)&&(o.current.add(x),n({show:!0,level:x}))},[s,t]);const l=i.useCallback(()=>{n({show:!1,level:0})},[]),m=i.useCallback(()=>{o.current.clear()},[]);return{showLevelUp:a.show,newLevel:a.level,closeLevelUp:l,resetShownLevels:m}}const Fn={"BI-RADS":{bg:"",text:"",Icon:ms},"TI-RADS":{bg:"",text:"",Icon:Ea},"LI-RADS":{bg:"",text:"",Icon:Vr},"PI-RADS":{bg:"",text:"",Icon:qa},"O-RADS":{bg:"",text:"",Icon:Hr},"Lung-RADS":{bg:"",text:"",Icon:Gr},"NI-RADS":{bg:"",text:"",Icon:Ma},"C-RADS":{bg:"",text:"",Icon:Kr}},ha={critico:{color:"text-destructive",icon:e.jsx(Ia,{className:"h-3 w-3"}),label:"CrÃtico"},urgente:{color:"",icon:e.jsx(et,{className:"h-3 w-3"}),label:"Urgente"},moderado:{color:"",icon:e.jsx(Ea,{className:"h-3 w-3"}),label:"Moderado"},leve:{color:"",icon:e.jsx(Jr,{className:"h-3 w-3"}),label:"Leve"},rotina:{color:"",icon:e.jsx(He,{className:"h-3 w-3"}),label:"Rotina"}};function zn({sistemaRads:s,severidade:t,achadoCritico:a,className:n}){if(!s&&!t&&!a)return null;const o=t==null?void 0:t.toLowerCase().trim(),l=o?ha[o]||ha.rotina:null,m=s?Object.entries(Fn).find(([u])=>s.toUpperCase().includes(u.toUpperCase())):null,d=m==null?void 0:m[1],x=m==null?void 0:m[0];return e.jsxs("div",{className:g("flex flex-wrap gap-1.5",n),children:[a&&e.jsxs(Hs,{children:[e.jsx(Gs,{asChild:!0,children:e.jsxs(Se,{variant:"destructive",className:"gap-1 text-[11px] px-1.5 py-0.5 animate-pulse",children:[e.jsx(et,{className:"h-2.5 w-2.5"}),"CRÃTICO"]})}),e.jsx(Ks,{children:e.jsx("p",{className:"text-xs",children:"Achado crÃtico - comunicação imediata recomendada"})})]}),s&&d&&e.jsxs(Hs,{children:[e.jsx(Gs,{asChild:!0,children:e.jsxs(Se,{variant:"outline",className:g("gap-1 text-[11px] px-1.5 py-0.5 border-0",d.bg,d.text),children:[e.jsx(d.Icon,{className:"h-3 w-3"}),x]})}),e.jsx(Ks,{children:e.jsxs("p",{className:"text-xs",children:["Sistema de classificação: ",s]})})]}),l&&e.jsxs(Hs,{children:[e.jsx(Gs,{asChild:!0,children:e.jsxs(Se,{variant:"outline",className:g("gap-1 text-[11px] px-1.5 py-0.5",l.color),children:[l.icon,l.label]})}),e.jsx(Ks,{children:e.jsxs("p",{className:"text-xs",children:["Severidade: ",t]})})]})]})}function Ba({xp:s,show:t,onComplete:a,className:n}){const[o,l]=i.useState([]),[m,d]=i.useState(!1),x=i.useRef(a);return x.current=a,i.useEffect(()=>{if(t&&s>0){d(!0);const u=[],p=Math.min(s/5,10);for(let y=0;y<p;y++)u.push({id:y,x:(Math.random()-.5)*100,y:(Math.random()-.5)*60,scale:.5+Math.random()*.5,rotation:Math.random()*360,delay:y*50});l(u);const f=setTimeout(()=>{var y;d(!1),l([]),(y=x.current)==null||y.call(x)},1500);return()=>clearTimeout(f)}},[t,s]),m?e.jsxs("div",{className:g("fixed inset-0 pointer-events-none z-50 flex items-center justify-center",n),children:[e.jsxs("div",{className:"relative",children:[e.jsxs("div",{className:"flex items-center gap-2 px-6 py-3 rounded-full font-bold text-2xl shadow-2xl animate-in zoom-in-50 duration-300",style:{animation:"xp-pop 0.5s ease-out forwards, xp-float 1s ease-out 0.5s forwards"},children:[e.jsx(He,{className:"h-6 w-6 fill-amber-950"}),e.jsxs("span",{children:["+",s]})]}),o.map(u=>e.jsx("div",{className:"absolute top-1/2 left-1/2",style:{transform:"translate(-50%, -50%)",animation:`particle-fly 1s ease-out ${u.delay}ms forwards`,"--particle-x":`${u.x}px`,"--particle-y":`${u.y}px`,"--particle-scale":u.scale,"--particle-rotation":`${u.rotation}deg`},children:e.jsx(He,{className:"h-4 w-4 fill-amber-400",style:{transform:`scale(${u.scale})`}})},u.id))]}),e.jsx("style",{children:`
2 @keyframes xp-pop { 3 0% { 4 transform: scale(0); 5 opacity: 0; 6 } 7 50% { 8 transform: scale(1.2); 9 } 10 100% { 11 transform: scale(1); 12 opacity: 1; 13 } 14 } 15 16 @keyframes xp-float { 17 0% { 18 transform: translateY(0) scale(1); 19 opacity: 1; 20 } 21 100% { 22 transform: translateY(-50px) scale(0.8); 23 opacity: 0; 24 } 25 } 26 27 @keyframes particle-fly { 28 0% { 29 transform: translate(-50%, -50%) translate(0, 0) rotate(0deg) scale(1); 30 opacity: 1; 31 } 32 100% { 33 transform: translate(-50%, -50%) translate(var(--particle-x), var(--particle-y)) rotate(var(--particle-rotation)) scale(0); 34 opacity: 0; 35 } 36 } 37 `})]}):null}function Un({value:s,prefix:t="+",className:a}){const[n,o]=i.useState(s),[l,m]=i.useState(!1),d=i.useRef(s);return i.useEffect(()=>{if(s!==d.current){m(!0);const x=d.current,u=s-x,p=400,f=Date.now(),y=()=>{const R=Date.now()-f,v=Math.min(R/p,1),k=1-(1-v)*(1-v);o(Math.round(x+u*k)),v<1&&requestAnimationFrame(y)};requestAnimationFrame(y),d.current=s;const w=setTimeout(()=>m(!1),600);return()=>clearTimeout(w)}},[s]),e.jsxs("span",{className:g("inline-block transition-transform",l&&"animate-bounce-in",a),children:[t,n]})}function Qn({active:s=!0,className:t}){return e.jsxs("div",{className:g("relative inline-flex",t),children:[e.jsx(Ia,{className:g("h-4 w-4 transition-all",s&&"animate-flame-flicker drop-")}),s&&e.jsx("div",{className:"absolute inset-0 rounded-full animate-glow-pulse "})]})}function On({type:s,xp:t=0,onDone:a}){const[n,o]=i.useState(!0),[l,m]=i.useState("flash"),d=i.useRef(a);if(d.current=a,i.useEffect(()=>{const u=setTimeout(()=>m("icon"),200),p=setTimeout(()=>m("exit"),1200),f=setTimeout(()=>{var y;o(!1),(y=d.current)==null||y.call(d)},1500);return()=>{clearTimeout(u),clearTimeout(p),clearTimeout(f)}},[]),!n)return null;const x=s==="correct";return e.jsx(yn,{children:e.jsxs("div",{className:g("fixed inset-0 z-[100] flex items-center justify-center pointer-events-none transition-opacity duration-300",l==="exit"&&"opacity-0",x?"":"bg-red-500/20"),children:[l==="flash"&&e.jsx("div",{className:g("absolute inset-0",x?"":"bg-red-500/30")}),(l==="icon"||l==="exit")&&e.jsx("div",{className:"flex flex-col items-center gap-4 animate-bounce-in",children:x?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-24 h-24 rounded-full flex items-center justify-center",children:e.jsx(xs,{className:"h-16 w-16 "})}),e.jsx("p",{className:"text-3xl font-black ",children:"Correto!"}),t>0&&e.jsxs("div",{className:"flex items-center gap-2 animate-xp-float",children:[e.jsx(He,{className:"h-6 w-6 "}),e.jsxs("span",{className:"text-2xl font-bold ",children:["+",t," XP"]})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-24 h-24 rounded-full bg-red-500/30 flex items-center justify-center animate-shake",children:e.jsx(ms,{className:"h-16 w-16 text-destructive animate-heart-break"})}),e.jsx("p",{className:"text-3xl font-black text-destructive",children:"Incorreto!"}),e.jsx("p",{className:"text-lg text-red-400/80",children:"-1 coração"})]})}),x&&l==="icon"&&e.jsx("div",{className:"absolute inset-0 pointer-events-none overflow-hidden",children:Array.from({length:8}).map((u,p)=>e.jsx("div",{className:"absolute animate-confetti-fall",style:{left:`${15+Math.random()*70}%`,top:`${30+Math.random()*20}%`,animationDelay:`${p*.1}s`},children:e.jsx(He,{className:"h-4 w-4 ",style:{transform:`rotate(${Math.random()*360}deg)`}})},p))})]})})}function Wn({stepKey:s,children:t,className:a}){return e.jsx("div",{className:g("animate-slide-in-step",a),children:t},s)}function Xn(s,t,a={}){const{minQuestionsNeeded:n=5,forceLoad:o=!1}=a;return Na({queryKey:["question-pool",s,t],queryFn:async()=>{if(!s||!t)return[];const{data:l,error:m}=await be.from("frases_modelo").select("id, p_residency_bank").eq("ativa",!0).ilike("categoria",s).or(`subcategoria.ilike.${t} > %,subcategoria.ilike.${t}`).not("p_residency_bank","is",null);if(m)return console.error("[useRegionQuestionPool] Error:",m),[];const d=[];for(const x of l||[]){const u=x.p_residency_bank;if(Array.isArray(u))for(const p of u)p&&typeof p=="object"&&"q"in p&&"a"in p&&"c"in p&&d.push({q:String(p.q||""),a:Array.isArray(p.a)?p.a.map(String):[],c:String(p.c||"A"),f:String(p.f||"")})}return _t.debug(`[useRegionQuestionPool] Found ${d.length} questions in pool`),d},enabled:o||!!s&&!!t,staleTime:10*60*1e3,gcTime:30*60*1e3})}const Vn={torax:"Tórax",tórax:"Tórax","tc de torax":"Tórax","tc de tórax":"Tórax",musculoesqueletico:"Musculoesquelético",musculoesquelético:"Musculoesquelético","cabeca e pescoco":"Cabeça e Pescoço","cabeça e pescoço":"Cabeça e Pescoço","neurorradiologia terapeutica":"Neurorradiologia Terapêutica","neurorradiologia terapêutica":"Neurorradiologia Terapêutica","fisica medica":"FÃsica Médica","fÃsica médica":"FÃsica Médica","fisica radiologica":"FÃsica Radiológica","fÃsica radiológica":"FÃsica Radiológica","densitometria ossea":"Densitometria Ãssea","densitometria óssea":"Densitometria Ãssea",obstetricia:"ObstetrÃcia",obstetrÃcia:"Ob
37stetrÃcia","ginecologia e obstetricia":"Ginecologia e ObstetrÃcia","ginecologia e obstetrÃcia":"Ginecologia e ObstetrÃcia"};function ft(s){if(!s||!s.trim())return"Outros";const t=s.trim().toLowerCase();return Vn[t]??s.trim()}function us(s){return s.split(/(\*\*[^*]+\*\*)/g).map((a,n)=>{const o=a.match(/^\*\*(.+)\*\*$/);return o?e.jsx("strong",{className:"font-semibold text-foreground",children:o[1]},n):e.jsx("span",{children:a},n)})}function Hn(s){const t=/(\d+)[.)]\s+/g,a=[...s.matchAll(t)];if(a.length<2)return[];const n=a.map(x=>parseInt(x[1])),o=n[0]===1,l=n[0]===2;if(!o&&!l)return[];for(let x=1;x<n.length;x++)if(n[x]!==n[x-1]+1)return[];const m=[];if(l){const x=s.substring(0,a[0].index).trim().replace(/[.;,]\s*$/,"").trim();x&&m.push(x)}const d=[];if(o){const x=a[0].index,u=s.substring(0,x).trim();u&&d.push(e.jsx("p",{className:"leading-relaxed mb-1",children:us(u)},"prefix"))}for(let x=0;x<a.length;x++){const u=a[x].index+a[x][0].length,p=x<a.length-1?a[x+1].index:s.length;let f=s.substring(u,p).trim();f=f.replace(/[,;]\s*$/,"").trim(),f&&m.push(f)}return m.length>=2&&d.push(e.jsx("ol",{className:"list-decimal list-inside space-y-2.5 ml-1",children:m.map((x,u)=>e.jsx("li",{className:"leading-relaxed py-0.5",children:e.jsx("span",{children:us(x)})},u))},"inline-ol")),d}function Gn(s){const t=/([a-z])\)\s+/g,a=[...s.matchAll(t)];if(a.length<2)return[];const n=a.map(x=>x[1]);if(n[0]!=="a")return[];for(let x=1;x<n.length;x++)if(n[x].charCodeAt(0)!==n[x-1].charCodeAt(0)+1)return[];const o=[],l=a[0].index,m=s.substring(0,l).trim();m&&o.push(e.jsx("p",{className:"leading-relaxed mb-1",children:us(m)},"prefix"));const d=[];for(let x=0;x<a.length;x++){const u=a[x].index+a[x][0].length,p=x<a.length-1?a[x+1].index:s.length;let f=s.substring(u,p).trim();f=f.replace(/[,;]\s*$/,"").trim(),f&&d.push(f)}return d.length>=2&&o.push(e.jsx("ol",{className:"list-decimal list-inside space-y-1.5 ml-1",style:{listStyleType:"lower-alpha"},children:d.map((x,u)=>e.jsx("li",{className:"leading-relaxed",children:e.jsx("span",{children:us(x)})},u))},"inline-letter-ol")),o}function Ze(s){if(!s)return null;const t=s.split(` 38`),a=/^\s*(\d+)[.)]\s+/,n=/^\s*[-â¢ââ]\s+/,o=[];let l=null;const m=()=>{if(!l)return;const d=l.type==="ol"?"ol":"ul",x=l.type==="ol"?"list-decimal list-inside space-y-1.5 ml-1":"space-y-1.5 ml-1";o.push(e.jsx(d,{className:x,children:l.items.map((u,p)=>e.jsxs("li",{className:"flex items-start gap-2 leading-relaxed",children:[l.type==="ul"&&e.jsx("span",{className:"mt-2 w-1.5 h-1.5 rounded-full bg-foreground
38/40 flex-shrink-0"}),e.jsx("span",{className:"flex-1",children:us(u)})]},p))},`list-${o.length}`)),l=null};for(let d=0;d<t.length;d++){const u=t[d].trim();if(!u){m();continue}if(/^-{3,}$/.test(u)){m(),o.push(e.jsx("hr",{className:"border-border/50 my-2"},`hr-${d}`));continue}if(u.match(a)){const R=u.replace(a,"").trim();(l==null?void 0:l.type)==="ol"?l.items.push(R):(m(),l={type:"ol",items:[R]});continue}if(u.match(n)){const R=u.replace(n,"").trim();(l==null?void 0:l.type)==="ul"?l.items.push(R):(m(),l={type:"ul",items:[R]});continue}m();const y=Hn(u);if(y.length>0){o.push(e.jsx("div",{className:"space-y-1",children:y},`ine-${d}`));continue}const w=Gn(u);if(w.length>0){o.push(e.jsx("div",{className:"space-y-1",children:w},`ile-${d}`));continue}o.push(e.jsx("p",{className:"leading-relaxed",children:us(u)},`p-${d}`))}return m(),o.length===0?e.jsx("p",{className:"leading-relaxed",children:us(s)}):e.jsx("div",{className:"space-y-2",children:o})}const Kn=[{key:"etiologia",label:"Etiologia",icon:"ð§¬",color:""},{key:"fisiopatologia",label:"Fisiopatologia",icon:"âï¸",color:""},{key:"achado_imagem",label:"Achados de Imagem",icon:"ð¬",color:""},{key:"consequencia_clinica",label:"Consequência ClÃnica",icon:"ð¥",color:""},{key:"interpretacao_fisica",label:"Interpretação FÃsica",icon:"ð",color:""}];function Jn({data:s,onAllExpanded:t,className:a}){const n=Kn.filter(p=>s[p.key]),[o,l]=i.useState([]),[m,d]=i.useState(null),x=i.useRef([]),u=n.length>0&&o.length>=n.length;return i.useEffect(()=>{t==null||t(u)},[u,t]),i.useEffect(()=>{const p=o.find(f=>!x.current.includes(f));if(p){d(p);const f=setTimeout(()=>d(null),500);return x.current=o,()=>clearTimeout(f)}x.current=o},[o]),i.useEffect(()=>{l([]),x.current=[]},[s]),n.length===0?e.jsx("div",{className:g("text-center text-mono-muted py-8",a),children:"Mapa mental não disponÃvel para este tópico."}):e.jsxs("div",{className:g("space-y-2",a),children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs(Se,{variant:"outline",className:"text-[11px] border-[color:var(--mono-hairline)] font-normal",children:[o.length," / ",n.length," seções lidas"]}),u&&e.jsxs(Se,{className:"text-[11px] gap-1 font-normal",children:[e.jsx(xs,{className:"h-3 w-3"}),"Todas lidas"]})]}),e.jsx(hr,{type:"multiple",value:o,onValueChange:l,className:"space-y-1.5",children:n.map(p=>{const f=o.includes(p.key);return e.jsxs(gr,{value:p.key,className:g("mono-study-card border border-[color:var(--mono-hairline)] rounded-xl px-4 transition-all duration-300 shadow-sm shadow-black/[0.03] dark:shadow-black/30",f&&"border-amber-500/40",m===p.key&&"border-amber-500/60 shadow-md"),children:[e.jsx(jr,{className:"py-3 hover:no-underline",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm font-normal tracking-tight",children:[e.jsx("span",{className:"text-base",children:p.icon}),e.jsx("span",{className:g(p.color,"font-medium"),children:p.label}),f&&e.jsx(xs,{className:"h-3 w-3 ml-1"})]})}),e.jsx(vr,{className:"pb-4",children:e.jsx("div",{className:"text-[15px] text-[color:color-mix(in_srgb,var(--mono-text)_80%,transparent)] leading-relaxed",children:Ze(s[p.key]||"")})})]},p.key)})})]})}const ht=[{quality:"wrong",label:"De novo",hint:"errei",xp:0,key:"1"},{quality:"hard",label:"DifÃcil",hint:"com esforço",xp:5,key:"2"},{quality:"medium",label:"Bom",hint:"lembrei",xp:10,key:"3"},{quality:"easy",label:"Fácil",hint:"trivial",xp:15,key:"4"}],Ts="\0GAP\0";function Fa(s){return s.replace(/\[\s*\.\.\.\s*\]/g,Ts).replace(/\[\s*â¦\s*\]/g,Ts).replace(/_{3,}/g,Ts)}function Yn(s){return Fa(s).includes(Ts)}function Zn({text:s}){const t=Fa(s).split(Ts);return t.length===1?e.jsx(e.Fragment,{children:ws(s)}):e.jsx(e.Fragment,{children:t.map((a,n)=>e.jsxs("span",{children:[ws(a),n<t.length-1&&e.jsx("span",{role:"img","aria-label":"lacuna a preencher",className:"inline-block align-baseline mx-1 w-[4.5em] border-b-2 border-[color:var(--mono-text)] select-none",children:" "})]},n))})}function ga({children:s,min:t=14,max:a=34,serif:n,deps:o}){const l=i.useRef(null),m=i.useRef(null),[d,x]=i.useState(a);return i.useLayoutEffect(()=>{x(a)},[a,o]),i.useLayoutEffect(()=>{const u=l.current,p=m.current;if(!u||!p)return;let f=d,y=0;for(;p.scrollHeight>u.clientHeight&&f>
38t&&y<40;)f-=1,y+=1,p.style.fontSize=`${f}px`;f!==d&&x(f)}),e.jsx("div",{ref:l,className:"h-full min-h-0 flex items-center justify-center overflow-hidden",children:e.jsx("div",{ref:m,style:{fontSize:`${d}px`,lineHeight:1.28},className:g("w-full text-center text-mono",n?"font-editorial font-semibold":"font-medium"),children:s})})}function gt(s){return s<1?"<1d":s<30?`${s}d`:s<365?`${Math.round(s/30)}m`:`${Math.round(s/365)}a`}function ei(s,t){if(t==="wrong")return"10min";const a=(s==null?void 0:s.ease)??2.5,n=(s==null?void 0:s.intervalDays)??0,o=((s==null?void 0:s.repetitions)??0)+1;if(o===1)return gt(t==="easy"?2:1);if(o===2)return gt(t==="easy"?4:3);const l=t==="hard"?1.2:t==="easy"?a*1.3:a;return gt(Math.max(1,Math.round(Math.max(1,n)*l)))}function si(s){const t=(s==null?void 0:s.repetitions)??0;if(!s||t===0)return"Card novo";const a=[`${t+1}ª vez`],n=s.lapses??0;if(n>0&&a.push(`${n} ${n===1?"erro":"erros"}`),s.lastReviewedAt){const o=Math.floor((Date.now()-new Date(s.lastReviewedAt).getTime())/864e5);a.push(o<=0?"hoje":o===1?"ontem":`há ${o} dias`)}return a.join(" · ")}function ti({data:s,onComplete:t,categoria:a,pearl:n,history:o,className:l}){const[m,d]=i.useState(!1),[x,u]=i.useState(!1),{bilingualMode:p}=_a();i.useEffect(()=>{d(!1),u(!1)},[s.front,s.back]);const f=i.useMemo(()=>ht.reduce((v,k)=>(v[k.quality]=ei(o,k.quality),v),{}),[o]),y=i.useCallback((v,k)=>{!m||x||(u(!0),t(v,k))},[m,x,t]);i.useEffect(()=>{const v=k=>{const F=k.target;
38if(!(F&&/^(INPUT|TEXTAREA)$/.test(F.tagName))){if(!m&&(k.code==="Space"||k.key==="Enter")){k.preventDefault(),d(!0);return}if(m){const I=ht.find(z=>z.key===k.key);I&&(k.preventDefault(),y(I.quality,I.xp))}}};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[m,y]);const w=(a||"").trim()||"Sem especialidade",R=Yn(s.front)?"Complete a lacuna":"Responda";return e.jsxs("div",{className:g("space-y-5",l),children:[p&&s.equivalenteEn&&e.jsxs("div",{className:"flex items-center gap-2 text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted",children:[e.jsx(Yr,{className:"h-3 w-3",strokeWidth:1.6}),e.jsx("span",{children:"Modo bilÃngue"}),s.artigoEn&&e.jsxs("a",{href:s.artigoEn,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 underline underline-offset-4",children:["artigo EN ",e.jsx(Ta,{className:"h-2.5 w-2.5"})]})]}),e.jsx("div",{style:{perspective:"1600px"},className:"w-full",children:e.jsxs("div",{className:g("relative w-full h-[min(72dvh,540px)] sm:h-[min(68dvh,580px)] lg:h-[620px]","transition-transform duration-500 [transform-style:preserve-3d]",m&&"[transform:rotateY(180deg)]"),children:[e.jsxs("button",{type:"button",onClick:()=>d(!0),"aria-label":"Revelar a resposta do flashcard",className:g("group absolute inset-0 [backface-visibility:hidden]","border border-[color:var(--mono-hairline)] bg-[color:var(--mono-surface-1)]","p-5 sm:p-8 lg:p-10 flex flex-col text-center"),children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4 shrink-0",children:[e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted truncate",children:w}),e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted shrink-0",children:R})]}),e.jsx("div",{className:"flex-1 min-h-0 py-2",children:e.jsxs(ga,{serif:!0,min:16,max:36,deps:s.front,children:[e.jsx(Zn,{text:s.front}),p&&s.equivalenteEn&&e.jsxs("span",{className:"mt-4 block text-sm italic text-mono-muted",children:["ð¬ð§ ",s.equivalenteEn]})]})}),e.jsxs("div",{className:"pt-4 flex items-center justify-between gap-3 shrink-0",children:[e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted truncate",children:si(o)}),e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted group-hover:text-mono transition-colors shrink-0",children:"toque · espaço"})]})]}),e.jsxs("div",{className:g("absolute inset-0 [backface-visibility:hidden] [transform:rotateY(180deg)]","border border-[color:var(--mono-text)] bg-[color:var(--mono-surface-1)]","p-5 sm:p-8 lg:p-10 flex flex-col text-center"),children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4 shrink-0",children:[e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted truncate",children:w}),e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono shrink-0",children:"Resposta"})]}),e.jsx("div",{className:"flex-1 min-h-0 py-1 sm:py-2",children:e.jsx(ga,{min:14,max:n?28:34,deps:s.back,children:ws(s.back)})}),n&&e.jsxs("div",{className:"shrink-0 border-t border-[color:var(--mono-hairline)] pt-3 text-left",children:[e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted",children:"Pérola de prova"}),e.jsx("p",{className:"mt-1 text-[11px] sm:text-sm leading-snug text-mono-muted line-clamp-4",children:n})]})]})]})}),m?e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 animate-fade-in",role:"group","aria-label":"Como foi a lembrança",children:ht.map(v=>e.jsxs("button",{type:"button",disabled:x,onClick:()=>y(v.quality,v.xp),"aria-label":`${v.label} â ${v.hint}, próxima revisão em ${f[v.quality]}`,className:g("min-h-[64px] px-3 py-3 border border-[color:var(--mono-hairline)] bg-[color:var(--mono-surface-1)]","flex flex-col items-center justify-center gap-1 transition-colors","hover:border-[color:var(--mono-text)] disabled:opacity-50","focus:outline-none focus-visible:ring-1 focus-visible:ring-[color:var(--mono-text)]"),children:[e.jsx("span",{className:"text-sm text-mono",children:v.label}),e.jsx("span",{className:"text-[11px] uppercase tracking-[0.14em] font-mono text-mono-muted tabular-nums",children:f[v.quality]})]},v.quality))}):e.jsxs("button",{type:"button",onClick:()=>d(!0),className:"w-full min-h-[52px] surface-invert-mono text-[11px] uppercase tracking-[0.14em] font-mono hover:opacity-90 transition-opacity",children:["mostrar resposta ",e.jsx("span",{className:"opacity-60",children:"(espaço)"})]})]})}const jt=15;function ai({data:s,onComplete:t,reviewInfo:a,className:n,onEndSession:o}){const[l,m]=i.useState(null),[d,x]=i.useState(!1),[u,p]=i.useState(!1),[f,y]=i.useState(!1),[w,R]=i.useState(!1),v=["A","B","C","D","E"],k=Js(s.correta,s.alternativas),F=!!(s.imageUrl||s.imageUrls&&s.imageUrls.length>0);i.useEffect(()=>{m(null),x(!1),p(!1),y(!1),R(!1)},[s.enunciado]);const I=i.useCallback(L=>{d||m(L)},[d]),z=i.useCallback(()=>{!l||d||(x(!0),l!==k&&(p(!0),setTimeout(()=>p(!1),500)))},[l,d,k]),P=i.useCallback(async()=>
38{if(f)return;const L=l===k;y(!0),R(!1);try{await t(L,L?jt:0,l)}catch{R(!0)}finally{y(!1)}},[f,l,k,t]);i.useEffect(()=>{const L=D=>{var V,B;const se=(V=D.target)==null?void 0:V.tagName;if(!(se==="INPUT"||se==="TEXTAREA"||(B=D.target)!=null&&B.isContentEditable)){if(D.key==="Escape"&&o){D.preventDefault(),o();return}if(d)(D.key==="Enter"||D.key==="ArrowRight")&&(D.preventDefault(),P());else{const ne=Number(D.key);if(ne>=1&&ne<=s.alternativas.length){D.preventDefault(),m(v[ne-1]);return}D.key==="Enter"&&l&&(D.preventDefault(),z())}}};return window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)},[d,l,s.alternativas.length,o,z,P]);const O=L=>L===k;return e.jsxs(Nt,{className:g("mono-study-card border border-[color:var(--mono-hairline)] overflow-hidden animate-scale-in rounded-2xl shadow-lg shadow-black/5 dark:shadow-black/40",u&&"animate-shake",n),children:[e.jsx("div",{className:"px-5 md:px-7 py-3 border-b border-[color:var(--mono-hairline)]",children:e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(ds,{className:"h-3.5 w-3.5 text-amber-600 dark:text-amber-400 flex-shrink-0",strokeWidth:2}),e.jsx("span",{className:"q-eyebrow uppercase font-mono text-mono-muted truncate",children:"Quiz clÃnico"})]}),e.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(a==null?void 0:a.isReview)&&e.jsxs("span",{className:"inline-flex items-center gap-1 q-eyebrow uppercase tracking-[0.14em] font-mono px-2 py-0.5 border border-amber-500/30 text-amber-600 dark:text-amber-400",children:[e.jsx(Pa,{className:"h-2.5 w-2.5",strokeWidth:2}),"Revisão x",a.timesAnswered,e.jsxs("span",{className:"text-mono-muted ml-1",children:["até +",wn(jt,a.timesAnswered)," XP"]})]}),e.jsx(La,{context:{questionId:s.questionId||void 0,cardId:s.cardId||void 0,stepType:"quiz",categoria:s.categoria||s.modalidade||void 0,questionPreview:(()=>{const L=s.cardCodigo,D=s.cardTitulo,se=[L,D].filter(Boolean).join(" â "),V=s.enunciado||"";return(se?`[${se}] 39`:"")+V})()}})]})]})}),e.jsx(yt,{className:"p-5 md:p-8",children:e.jsxs("div",{className:"max-w-3xl mx-auto w-full space-y-5",children:[e.jsx("article",{className:"max-w-[68ch]",children:e.jsx("p",{className:"q-stem text-mono whitespace-pre-wrap",children:s.enunciado})}),F&&e.jsx("div",{className:"w-full",children:e.jsx(Sa,{imageUrl:s.imageUrl,imageUrls:s.imageUrls,captions:s.imageCaptions,large:!0})}),e.jsx("div",{className:"space-y-2.5",role:"radiogroup","aria-label":"Alternativas",children:s.alternativas.map((L,D)=>{const se=v[D],V=l===se,B=O(se),ne=d&&B,_e=d&&V&&!B;return e.jsxs("button",{role:"radio","aria-checked":V,onClick:()=>I(se),disabled:d,className:g("w-full px-4 md:px-5 py-4 md:py-5 rounded-xl border text-left transition-all flex items-start gap-3 opacity-0 animate-stagger-in",!d&&V&&"border-amber-500/60 bg-amber-500/10 scale-[1.01]",!d&&!V&&"border-[color:var(--mono-hairline)] hover:border-[color:var(--mono-hairline-strong)] hover:bg-[color:var(--mono-elevated)]/40",ne&&"edu-choice-correct shadow-md",_e&&"edu-choice-wrong",d&&!B&&!V&&"opacity-70"),style:{animationDelay:`${D*80}ms`},children:[e.jsx("span",{className:g("flex-shrink-0 q-key-box q-option-key rounded-full flex items-center justify-center font-semibold border transition-all",!d&&V&&"bg-amber-500 text-white border-transparent",!d&&!V&&"border-[color:var(--mono-hairline-strong)] text-mono-muted",ne&&"edu-badge-correct",_e&&"edu-badge-wrong"),children:ne?e.jsx(xs,{className:"h-4 w-4 animate-badge-pop"}):_e?e.jsx(_s,{className:"h-4 w-4"}):se}),e.jsx("span",{className:"flex-1 pt-1 q-option",children:L.replace(/^[A-E]\)\s*/,"")})]},D)})}),d&&e.jsxs("div",{role:"status","aria-live":"polite",className:g("p-4 md:p-5 rounded-xl animate-bounce-in",l===k?"edu-feedback-ok":"edu-feedback-err"),children:[e.jsx("div",{className:"flex items-center gap-2 mb-2",children:l===k?e.jsxs(e.Fragment,{children:[e.jsx(xs,{className:"h-5 w-5 edu-text-ok"}),e.jsxs("span",{className:"font-semibold text-base md:text-lg edu-text-ok",children:["Correto! ",Sn(jt,(a==null?void 0:a.timesAnswered)??0)]})]}):e.jsxs(e.Fragment,{children:[e.jsx(_s,{className:"h-5 w-5 edu-text-err"}),e.jsxs("span",{className:"font-semibold text-base md:text-lg edu-text-err",children:["Incorreto! ",a!=null&&a.isReview?"(revisão â sem penalida
39de)":"â1 coração"]})]})}),s.justificativa&&e.jsxs("div",{className:"flex items-start gap-2 pt-2 border-t border-[color:var(--mono-hairline)] mt-2",children:[e.jsx(st,{className:"h-4 w-4 text-amber-500 mt-1 flex-shrink-0",strokeWidth:2}),e.jsx("p",{className:"q-option leading-relaxed text-[color:color-mix(in_srgb,var(--mono-text)_90%,transparent)] whitespace-pre-wrap flex-1",children:ws(s.justificativa)})]})]})]})}),e.jsx("div",{className:"edu-step-actions border-t border-[color:var(--mono-hairline)] bg-[color:var(--mono-elevated)]/30 px-5 md:px-8 py-4",children:e.jsxs("div",{className:"max-w-3xl mx-auto flex flex-col md:flex-row md:items-center gap-3",children:[d?e.jsxs("div",{className:"w-full md:w-auto flex flex-col gap-2",children:[e.jsxs(re,{className:"rounded-xl shadow-md gap-3 w-full md:w-auto",size:"lg",disabled:f,onClick:P,children:[f?"Salvandoâ¦":w?"Tentar novamente":"Continuar",!f&&e.jsx("span",{className:"q-eyebrow uppercase tracking-[0.14em] font-mono px-1.5 py-0.5 border border-current/40 rounded",children:"ENTER · â"})]}),w&&e.jsx("span",{className:"text-xs edu-text-err",children:"Não foi possÃvel salvar sua resposta. Tente novamente."})]}):e.jsxs(re,{className:"rounded-xl transition-all hover:scale-[1.01] gap-3 w-full md:w-auto",size:"lg",disabled:!l,onClick:z,children:["Confirmar",e.jsx("span",{className:"q-eyebrow uppercase tracking-[0.14em] font-mono px-1.5 py-0.5 border border-current/40 rounded",children:"ENTER"})]}),o&&e.jsxs("button",{type:"button",onClick:o,className:"inline-flex items-center gap-2 q-footer uppercase tracking-[0.14em] font-mono text-mono-muted hover:text-mono transition-colors py-3 px-2 min-h-[44px]",children:[e.jsx(Zr,{className:"h-3.5 w-3.5",strokeWidth:2}),"Encerrar sessão",e.jsx("span",{className:"hidden md:inline px-1.5 py-0.5 border border-current/40 rounded text-[11px]",children:"ESC"})]}),e.jsxs("div",{className:"hidden md:flex items-center gap-2 md:ml-auto q-eyebrow uppercase font-mono text-mono-muted",children:[e.jsxs("span",{children:["1â",s.alternativas.length]}),e.jsx("span",{children:"·"}),e.jsx("span",{children:"ENTER"}),d&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"·"}),e.jsx("span",{children:"â"})]})]})]})})]})}function ri({data:s,className:t,onRevealed:a}){const[n,o]=i.useState(!1);return i.useEffect(()=>{n&&(a==null||a(!0))},[n,a]),e.jsxs("div",{className:g("space-y-4",t),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-16 h-16 rounded-full flex items-center justify-center shadow-lg ",children:e.jsx(en,{className:"h-8 w-8"})})}),n?e.jsx("div",{className:"text-center animate-fade-in",children:e.jsx("div",{className:"text-base md:text-lg font-medium text-mono leading-relaxed",children:Ze(s)})}):e.jsxs("button",{onClick:()=>o(!0),className:"w-full py-8 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer bg-[length:200%_100%] min-h-[44px]",children:[e.jsx(Ue,{className:"h-6 w-6 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar a Pérola"})]}),e.jsxs("div",{className:"flex justify-center gap-1 opacity-50",children:[e.jsx("span",{children:"â¨"}),e.jsx("span",{className:"text-xs text-mono-muted",children:"Dica de ouro para sua prática clÃnica"}),e.jsx("span",{children:"â¨"})]})]})}function ni({data:s,className:t,onRevealed:a}){const[n,o]=i.useState(!1);return i.useEffect(()=>{n&&(a==null||a(!0))},[n,a]),!s||s.length===0?e.jsx("div",{className:g("text-center text-mono-muted py-8",t),children:"Nenhum diagnóstico diferencial disponÃvel."}):e.jsxs("div",{className:g("space-y-4",t),children:[e.jsxs("div",{className:"flex items-center gap-2 justify-center",children:[e.jsx(sn,{className:"h-5 w-5 "}),e.jsxs("span",{className:"text-sm font-medium ",children:[s.length," diagnóstico",s.length>1?"s":""," a considerar"]})]}),n?e.jsx("div",{className:"flex flex-wrap gap-2 justify-center animate-fade-in",children:s.map((l,m)=>e.jsx(Se,{variant:"secondary",className:"px-3 py-1.5 text-sm hover: transition-colors",children:l},m))}):e.jsxs("button",{onClick:()=>o(!0),className:"w-full py-8 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-6 w-6 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar"})]}),e.jsx("p",{className:"text-sm text-center text-[color:color-mix(in_srgb,var(--mono-text)_70%,transparent)]",children:"Considere esses diagnósticos ao elaborar sua hipótese diagnóstica"})]})}function ii({data:s,className:t,onRevealed:a}){const{pitfalls:n,redFlags:o}=s,[l,m]=i.useState(!1),[d,x]=i.useState(!1);return i.useEffect(()=>{(!n||l)&&(!o||d)&&(a==null||a(!0))},[l,d,n,o,a]),!n&&!o?e.jsx("div",{className:g("text-center text-mono-muted py-8",t),children:"Nenhum alerta disponÃvel."}):e.jsxs("div",{className:g("space-y-4",t),children:[n&&e.jsx("div",{className:"p-4 rounded-lg border ",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(et,{className:"h-5 w-5 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-semibold text-mono mb-2",children:"â ï¸ Armadilhas Comuns"}),l?e.jsx("div",{className:"text-base text-mono leading-relaxed animate-fade-in",children:Ze(n)}):e.jsxs("button",{onClick:()=>m(!0),className:"w-full py-6 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-5 w-5 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar"})]})]})]})}),o&&e.jsx("div",{className:"p-4 rounded-lg bg-red-500/10 border border-red-500/30",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(tn,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-semibold text-mono mb-2",children:"ð¨ Sinais de Alarme"}),d?e.jsx("div",{className:"text-base text-mono leading-relaxed animate-fade-in",children:Ze(o)}):e.jsxs("button",{onClick:()=>x(!0),className:"w-full py-6 rounded-lg bg-red-500/5 border border-dashed border-red-500/30 flex flex-col items-center gap-2 hover:bg-red-500/10 transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-5 w-5 text-destructive/60"}),e.jsx("span",{className:"text-sm text-red-600 font-medium",children:"Toque para Revelar"})]})]})]})})]})}function oi({data:s,className:t,onRevealed:a}){const[n,o]=i.useState(!1);return i.useEffect(()=>{n&&(a==null||a(!0))},[n,a]),e.jsxs("div",{className:g("space-y-4",t),children:[e.jsxs("div",{className:"flex items-center justify-center gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-full flex items-center justify-center",children:e.jsx(Ma,{className:"h-6 w-6 "})}),e.jsx(an,{className:"h-5 w-5 text-mono-muted"})]}),e.jsx("h4",{className:"text-center font-medium ",children:"Como explicar ao paciente"}),n?e.jsx("div",{className:"p-4 rounded-lg border animate-fade-in",children:e.jsx("div",{className:"text-base text-mono leading-relaxed italic",children:Ze(s)})}):e.jsxs("button",{onClick:()=>o(!0),className:"w-full py-8 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-6 w-6 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar"})]}),e.jsxs("p",{className:"text-xs text-center text-mono-muted flex items-center justify-center gap-1",children:[e.jsx(st,{size:12,className:"text-mono-muted"}),"Use linguagem acessÃvel ao comunicar diagnósticos"]})]})}function li({data:s,className:t,onRevealed:a}){const[n,o]=i.useState(!1);return i.useEffect(()=>{n&&(a==null||a(!0))},[n,a]),e.jsxs("div",{className:g("space-y-4",t),children:[e.jsxs("div",{className:"flex items-center gap-2 justify-center",children:[e.jsx(rn,{className:"h-5 w-5 "}),e.jsx("span",{className:"font-medium ",children:"Conduta Recomendada"})]}),n?e.jsx("div",{className:"animate-fade-in p-4 rounded-lg border ",children:e.jsx("div",{className:"text-base text-mono leading-relaxed",children:Ze(s)})}):e.jsxs("button",{onClick:()=>o(!0),className:"w-full py-8 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-6 w-6 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar"})]})]})}function ci({data:s,cbrMeta:t,onComplete:a,onAnswer:n}){var ss;const{questions:o,notes:l}=s,[m,d]=i.useState(0),[x,u]=i.useState(null),[p,f]=i.useState(!1),[y,w]=i.useState(0),[R,v]=i.useState(!1),[k,F]=i.useState(!1),[I,z]=i.useState(()=>Date.now()),P=o[m],O=o.length,L=(m+1)/O*100;i.useEffect(()=>{z(Date.now())},[m]);const D=i.useCallback(J=>{p||u(J)},[p]),se=i.useCallback(()=>
39{if(!x||p)return;f(!0);const ee=!P.c||x===Js(P.c,P.a);ee&&w($=>$+1),n==null||n({questionId:P.id??null,answerLetter:x,isCorrect:ee,responseMs:Math.max(0,Date.now()-I),questionIndex:m})},[x,p,P,I,m,n]),V=i.useCallback(()=>{m<O-1?(d(J=>J+1),u(null),f(!1)):v(!0)},[m,O]),B=i.useCallback(()=>{const J=ys.residency,ee=y/O,$=Math.round(J.base+(J.max-J.base)*ee);a(y,O,$)},[y,O,a]),[ne,_e]=i.useState(0),[ps,Z]=i.useState(0),H=y/O,es=Math.round(H*100),te=H>=.5;if(i.useEffect(()=>{if(!R)return;const J=800,ee=Date.now(),$=()=>{const U=Date.now()-ee,me=Math.min(U/J,1),Ie=1-(1-me)*(1-me);_e(Math.round(y*Ie)),Z(Math.round(es*Ie)),me<1&&requestAnimationFrame($)};requestAnimationFrame($)},[R,y,es]),R){const J=H,ee=es,$=te;return e.jsxs(Nt,{className:" bg-[color:var(--mono-surface)] overflow-hidden animate-scale-in",children:[e.jsx("div",{className:g("px-6 py-4 border-b",$?" ":"edu-feedback-err"),children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:g("w-12 h-12 rounded-full flex items-center justify-center animate-bounce-in",$?"":"edu-feedback-err"),children:$?e.jsx(xa,{className:"h-6 w-6 "}):e.jsx(_s,{className:"h-6 w-6 edu-text-err"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-xl md:text-2xl tracking-tight",children:$?"Parabéns!":"Continue Praticando"}),e.jsx("p",{className:"text-sm md:text-base text-mono-muted",children:$?"Você passou no simulado!":"Não desanime, revise o conteúdo."})]})]})}),e.jsxs(yt,{className:"p-6 space-y-6",children:[e.jsxs("div",{className:"text-center",children:[e.jsxs("div",{className:"text-6xl md:text-7xl font-bold tracking-tight mb-2 tabular-nums",children:[ne,e.jsxs("span",{className:"text-[color:color-mix(in_srgb,var(--mono-text-muted)_70%,transparent)]",children:["/",O]})]}),e.jsxs("div",{className:"text-base md:text-lg text-mono-muted",children:[ps,"% de acertos"]}),e.jsx("div",{className:"mt-4",children:e.jsx(Ys,{value:ee})})]}),e.jsx("div",{className:"flex justify-center",children:e.jsxs(Se,{variant:"secondary",className:"text-lg px-4 py-2 gap-2 border border-amber-500/25 bg-amber-500/10 text-amber-600 dark:text-amber-400",children:[e.jsx(Is,{className:"h-4 w-4 fill-amber-500",strokeWidth:2}),"+",Math.round(ys.residency.base+(ys.residency.max-ys.residency.base)*J)," XP"]})}),l&&e.jsxs("div",{className:"border-t pt-4",children:[e.jsxs(re,{variant:"ghost",className:"w-full justify-between",onClick:()=>F(!k),children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Ye,{className:"h-4 w-4"}),"Notas de Estudo"]}),e.jsx(Zs,{className:g("h-4 w-4 transition-transform",k&&"rotate-90")})]}),k&&e.jsx("div",{className:"mt-3 p-4 bg-muted/50 rounded-lg",children:e.jsx("p",{className:"text-sm leading-relaxed whitespace-pre-wrap",children:l?ws(l):null})})]}),e.jsx(re,{className:"w-full bg-[length:200%_100%] ",size:"lg",onClick:B,children:"Concluir Simulado"})]})]})}const ke=["A","B","C","D","E"];return e.jsxs(Nt,{className:" bg-[color:var(--mono-surface)] overflow-hidden",children:[e.jsxs("div",{className:"px-6 py-4 border-b ",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"w-9 h-9 rounded-full bg-amber-500/10 border border-amber-500/25 flex items-center justify-center",children:e.jsx($a,{className:"h-4 w-4 text-amber-600 dark:text-amber-400",strokeWidth:2})}),e.jsx("span",{className:"font-semibold text-base md:text-lg",children:"Simulado Residência"})]}),e.jsxs(Se,{variant:"outline",className:"",children:[m+1," de ",O]})]}),t&&e.jsx("div",{className:"mt-2",children:e.jsx(Da,{meta:t,compact:!0})}),e.jsx(Ys,{value:L})]}),e.jsxs(yt,{className:"p-6 space-y-6",children:[e.jsxs("div",{className:"flex justify-between items-start gap-2",children:[e.jsx("p",{className:"q-stem flex-1 text-mono whitespace-pre-wrap",children:P.q}),e.jsx(La,{context:{questionId:P.id||void 0,cardId:s.cardId||void 0,stepType:"residency",questionNumber:m+1,examYear:t==null?void 0:t.examYear,examType:t==null?void 0:t.examName,categoria:(t==null?void 0:t.modalidade)||void 0,questionPreview:(ss=P.q)==null?void 0:ss.slice(0,100)},className:"flex-shrink-0 mt-1"})]}),e.jsx(Sa,{imageUrl:s.imageUrl,imageUrls:s.imageUrls}),e.jsx("div",{className:"space-y-3",children:P.a.map((J,ee)=>{const $=ke[ee],U=x===$,me=$===Js(P.c,P.a),Ie=p&&me,fs=p&&U&&!me;return e.jsxs("button",{onClick:()=>D($),disabled:p,className:g("w-full p-4 md:p-5 rounded-lg border text-left transition-all animate-stagger-in","flex items-start gap-3",!p&&U&&" ",!p&&!U&&"border-[color:var(--mono-h
39airline)] hover:border-muted-foreground/50",Ie&&" ",fs&&"edu-choice-wrong animate-shake",p&&!me&&!U&&"opacity-50"),style:{animationDelay:`${ee*.08}s`},children:[e.jsx("span",{className:g("flex-shrink-0 q-key-box q-option-key rounded-full flex items-center justify-center font-semibold",!p&&U&&" text-white",!p&&!U&&"bg-muted",Ie&&" text-white",fs&&"edu-badge-wrong"),children:Ie?e.jsx(xa,{className:"h-4 w-4"}):fs?e.jsx(_s,{className:"h-4 w-4"}):$}),e.jsx("span",{className:"flex-1 pt-1 q-option",children:J})]},$)})}),p&&(()=>{const J=!P.c,ee=J||x===Js(P.c,P.a),$=J?"text-orange-600 dark:text-orange-400":ee?"edu-text-ok":"edu-text-err",U=J?"Anulada.":ee?"Correto.":"Incorreto.";return e.jsxs("div",{className:g("pt-5 border-t border-[color:var(--mono-hairline)] animate-fade-in",$),children:[e.jsx("p",{className:"font-editorial text-3xl md:text-4xl",children:U}),J&&e.jsx("p",{className:"mt-1 eyebrow-mono",children:"Ponto concedido"}),P.f&&e.jsxs("div",{className:"mt-4 flex items-start gap-2",children:[e.jsx(nn,{className:"h-4 w-4 text-mono-muted mt-1 flex-shrink-0",strokeWidth:2}),e.jsx("p",{className:"prose-clinical text-[color:color-mix(in_srgb,var(--mono-text)_90%,transparent)] whitespace-pre-wrap flex-1",children:ws(P.f)})]})]})})(),e.jsx("div",{className:"edu-step-actions -mx-6 px-6 pt-3",children:p?e.jsxs(re,{className:"w-full",size:"lg",onClick:V,children:[m<O-1?"Próxima Questão":"Ver Resultado",e.jsx(Zs,{className:"ml-2 h-4 w-4"})]}):e.jsx(re,{className:"w-full bg-[length:200%_100%]",size:"lg",disabled:!x,onClick:se,children:"Confirmar Resposta"})})]})]})}const di=5,mi=[{label:"Não sabia",xp:5,icon:Aa,color:"text-destructive",bg:"bg-red-500/10 hover:bg-red-500/20 border-red-500/30"},{label:"Parcial",xp:10,icon:on,color:"",bg:" hover: "},{label:"Sabia bem",xp:15,icon:Ra,color:"",bg:" hover: "}];function ui({data:s,hint:t,onComplete:a,onSkip:n,className:o}){const[l,m]=i.useState(!1),[d,x]=i.useState(di),[u,p]=i.useState(!1),[f,y]=i.useState(!1),[w,R]=i.useState(0);i.useEffect(()=>{if(d<=0||l)return;const I=setTimeout(()=>x(z=>z-1),1e3);return()=>clearTimeout(I)},[d,l]);const v=d<=0,k=i.useCallback(()=>{v&&m(!0)},[v]),F=i.useCallback(I=>{p(!0),R(I),y(!0),setTimeout(()=>{a==null||a(I)},1200)},[a]);return u?e.jsxs("div",{className:g("mono-study-card border hairline p-6 space-y-6 text-center",o),children:[e.jsx("div",{className:"w-16 h-16 rounded-full flex items-center justify-center mx-auto",children:e.jsx(ds,{className:"h-8 w-8 "})}),e.jsxs("p",{className:"text-lg font-semibold",children:["+",w," XP"]}),e.jsx("p",{className:"text-sm text-mono-muted",children:"Reflexão concluÃda!"}),e.jsx(Ba,{xp:w,show:f,onComplete:()=>y(!1)})]}):e.jsxs("div",{className:g("mono-study-card border hairline p-6 space-y-6",o),children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-full flex items-center justify-center shadow-lg ",children:e.jsx(st,{className:"h-6 w-6"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-lg",children:"Reflexão ClÃnica"}),e.jsx("p",{className:"text-sm text-mono-muted",children:"Pense antes de revelar â ganhe até 15 XP"})]})]}),e.jsx("div",{className:"p-4 border rounded-lg",children:e.jsxs("p",{className:"text-lg leading-relaxed italic",children:['"',s,'"']})}),l?e.jsxs("div",{className:"space-y-5",children:[t&&e.jsxs("div",{className:"p-4 bg-primary/5 border border-primary/20 rounded-lg space-y-2",children:[e.jsxs("p",{className:"text-xs font-medium text-primary flex items-center gap-1.5",children:[e.jsx(ds,{className:"h-3.5 w-3.5"}),"Resposta de Referência"]}),e.jsx("p",{className:"text-sm leading-relaxed",children:t})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm font-medium text-center",children:"Como foi sua reflexão?"}),e.jsx("div",{className:"grid grid-cols-3 gap-3",children:mi.map(({label:I,xp:z,icon:P,color:O,bg:L})=>e.jsxs("button",{onClick:()=>F(z),className:g("flex flex-col items-center gap-2 p-4 rounded-xl border transition-all","hover:scale-[1.03] active:scale-95",L),children:[e.jsx(P,{className:g("h-6 w-6",O)}),e.jsx("span",{className:"text-xs font-medium",children:I}),e.jsxs(Se,{variant:"secondary",className:"text-[11px] px-1.5 py-0",children:["+",z," XP"]})]},I))})]})]}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-2 p-3 bg-muted/50 rounded-lg",children:[e.jsx(ds,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),e.jsxs("p",{className:"text-xs text-mono-muted",children:[e.jsx("strong",{children:"Dica:"})," Considere a fÃsica da imagem, fisiopatologia e implicações clÃnicas antes de revelar."]})]}),e.jsxs("div",{className:"flex gap-3",children:[n&&e.jsx(re,{variant:"ghost",onClick:n,className:"text-mono-muted",children:"Pular"}),e.jsxs(re,{className:"flex-1",onClick:k,disabled:!v,variant:v?"default":"outline",children:[e.jsx(Ue,{className:"mr-2 h-4 w-4"}),v?"Revelar Resposta":`Pensando... (${d}s)`]})]}),e.jsx("div",{className:"text-center",children:e.jsxs(Se,{variant:"outline",className:"text-xs gap-1",children:[e.jsx(ds,{className:"h-3 w-3"}),"Sem custo de crédito"]})})]}),!l&&e.jsx("div",{className:"text-center text-xs text-mono-muted",children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:["XP por autoavaliação:",e.
39jsx("span",{className:"text-destructive",children:"5"})," â",e.jsx("span",{className:"",children:"10"})," â",e.jsx("span",{className:"",children:"15"})]})})]})}function za(s){if(!s)return[];if(Array.isArray(s))return s.map(t=>typeof t=="object"&&t!==null&&"url"in t?t:null).filter(t=>t!==null);if(typeof s=="string")try{const t=JSON.parse(s);if(Array.isArray(t))return za(t);if(t!=null&&t.url)return[t]}catch{if(s.startsWith("http"))return[{url:s,title:"Artigo recomendado"}]}return[]}function xi(s){return s.includes("radiopaedia")?{Icon:Ye,label:"Radiopaedia"}:s.includes("pubmed")?{Icon:qa,label:"PubMed"}:s.includes("radiopedia")?{Icon:Ye,label:"Radiopedia"}:s.includes("acr.org")?{Icon:ln,label:"ACR"}:s.includes("ncbi")?{Icon:cn,label:"NCBI"}:{Icon:dn,label:"Link"}}function pi({data:s,className:t}){const a=za(s);return a.length===0?e.jsx("div",{className:g("text-center text-mono-muted py-8",t),children:"Nenhum artigo disponÃvel."}):e.jsxs("div",{className:g("space-y-4",t),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-14 h-14 rounded-full flex items-center justify-center",children:e.jsx(Ye,{className:"h-7 w-7 "})})}),e.jsxs("h3",{className:"text-center text-sm font-medium text-mono-muted flex items-center justify-center gap-1.5",children:[e.jsx(Ye,{className:"h-4 w-4"}),"Leitura Complementar"]}),e.jsx("div",{className:"space-y-3",children:a.map((n,o)=>{const l=xi(n.url),m=l.Icon;return e.jsxs("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:g("flex items-center gap-3 p-4 rounded-lg"," border ","hover: hover:","transition-all duration-200 group"),children:[e.jsx("div",{className:"w-10 h-10 rounded-lg flex items-center justify-center flex-shrink-0",children:e.jsx(m,{className:"h-5 w-5 "})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-semibold text-mono truncate group-hover: transition-colors",children:n.title||"Artigo recomendado"}),e.jsx("p",{className:"text-sm text-[color:color-mix(in_srgb,var(--mono-text)_70%,transparent)]",children:n.source||l.label})]}),e.jsx(Ta,{className:"h-4 w-4 text-mono-muted group-hover: transition-colors flex-shrink-0"})]},o)})}),e.jsxs("p",{className:"text-sm text-center text-[color:color-mix(in_srgb,var(--mono-text)_70%,transparent)] flex items-center justify-center gap-1.5",children:[e.jsx(st,{className:"h-4 w-4"}),"Aprofunde seu conhecimento com estas referências"]})]})}function Ua(s){if(!s)return[];if(Array.isArray(s))return s.map(t=>typeof t=="string"?{termo:t}:typeof t=="object"&&t!==null&&"termo"in t?t:null).filter(t=>t!==null);if(typeof s=="string")try{const t=JSON.parse(s);return Ua(t)}catch{return[{termo:s}]}return[]}function fi({data:s,className:t,onRevealed:a}){const n=Ua(s),[o,l]=i.useState(new Set),m=d=>{l(x=>new Set(x).add(d))};return i.useEffect(()=>{n.length>0&&o.size===n.length&&(a==null||a(!0))},[o.size,n.length,a]),n.length===0?e.jsx("div",{className:g("text-center text-mono-muted py-8",t),children:"Nenhum termo evolutivo disponÃvel."}):e.jsxs("div",{className:g("space-y-4",t),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-14 h-14 rounded-full flex items-center justify-center",children:e.jsx(mn,{className:"h-7 w-7 "})})}),e.jsx("h3",{className:"text-center text-sm font-medium text-mono-muted",children:"ð Vocabulário de Evolução"}),e.jsx("div",{className:"space-y-2",children:n.map((d,x)=>e.jsx("div",{children:o.has(x)?e.jsx("div",{className:g("p-3 rounded-lg animate-fade-in"," border "),children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(un,{className:"h-4 w-4 mt-0.5 flex-shrink-0"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium ",children:d.termo}),d.significado&&e.jsx("p",{className:"text-base text-[color:color-mix(in_srgb,var(--mono-text)_80%,transparent)] mt-1",children:d.significado}),d.exemplo&&e.jsxs("p",{className:"text-sm mt-1 italic",children:['Ex: "',d.exemplo,'"']})]})]})}):e.jsxs("button",{onClick:()=>m(x),className:"w-full p-3 rounded-lg border border-dashed flex items-center justify-center gap-2 hover: transition-colors cursor-pointer",children:[e.jsx(Ue,{className:"h-4 w-4 "}),e.jsxs("span",{className:"text-sm font-medium",children:["Termo ",x+1," â Toque para Revelar"]})]})},x))}),e.jsx("p",{className:"text-sm text-center text-[color:color-mix(in_srgb,var(--mono-text)_70%,transparent)]",children:"Use estes termos para descrever evolução e c
39omparativos"})]})}function hi({data:s,className:t,onRevealed:a}){const[n,o]=i.useState(!1);return i.useEffect(()=>{n&&(a==null||a(!0))},[n,a]),s?e.jsxs("div",{className:g("space-y-4",t),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-14 h-14 rounded-full flex items-center justify-center animate-pulse",children:e.jsx(xn,{className:"h-7 w-7 "})})}),e.jsx("h3",{className:"text-center text-sm font-medium text-mono-muted",children:"ð Comunicação de Achado CrÃtico"}),n?e.jsxs("div",{className:"animate-fade-in space-y-4",children:[e.jsx("div",{className:"p-4 rounded-lg border ",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(pn,{className:"h-5 w-5 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-semibold text-mono mb-2",children:"ð¨ Script Sugerido"}),e.jsx("div",{className:"text-base leading-relaxed text-mono",children:Ze(s)})]})]})}),e.jsxs("div",{className:"p-3 rounded-lg bg-muted/50",children:[e.jsxs("h4",{className:"text-xs font-medium text-mono-muted mb-2 flex items-center gap-1",children:[e.jsx(fn,{className:"h-3 w-3"}),"Checklist de Comunicação"]}),e.jsxs("ul",{className:"text-xs text-mono-muted space-y-1",children:[e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"w-4 h-4 rounded-sm border border-muted-foreground/30 flex items-center justify-center text-[11px]",children:"â"}),"Identificar-se e identificar o paciente"]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"w-4 h-4 rounded-sm border border-muted-foreground/30 flex items-center justify-center text-[11px]",children:"â"}),"Descrever o achado de forma clara"]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"w-4 h-4 rounded-sm border border-muted-foreground/30 flex items-center justify-center text-[11px]",children:"â"}),"Documentar nome do receptor e horário"]})]})]}),e.jsx("div",{className:"flex justify-center",children:e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1 rounded-full text-xs ",children:[e.jsx(Ca,{className:"h-3 w-3"}),"Comunicar em até 1 hora"]})})]}):e.jsxs("button",{onClick:()=>o(!0),className:"w-full py-8 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-6 w-6 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar"})]})]}):e.jsx("div",{className:g("text-center text-mono-muted py-8",t),children:"Nenhum template de comunicação disponÃvel."})}function gi({data:s,onComplete:t,className:a}){const[n,o]=i.useState(0),[l,m]=i.useState({}),[d,x]=i.useState(!1),[u,p]=i.useState(null),f=i.useMemo(()=>!(s!=null&&s.criteria)||!Array.isArray(s.criteria)?[]:s.criteria.filter(I=>I.if&&I.then),[s]);if(f.length===0)return e.jsx("div",{className:g("mono-study-card border hairline text-center text-mono-muted p-8",a),children:"Nenhum critério de decisão disponÃvel."});const y=f[n],w=f.length,R=n===w-1,v=I=>{m(z=>({...z,[n]:I})),p(n)},k=()=>{p(null),R?x(!0):o(I=>I+1)},F=()=>{const I=Object.values(l).filter(Boolean).length,z=I/w,{base:P,max:O}=ys.decision,L=Math.round(P+(O-P)*z);t(I,w,L)};if(d){const I=Object.values(l).filter(Boolean).length,z=I/w;return e.jsxs("div",{className:g("mono-study-card border hairline p-6 space-y-6",a),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:g("w-20 h-20 rounded-full flex items-center justify-center",z>=.7||z>=.4?"":"bg-red-500/20"),children:e.jsx(hn,{className:g("h-10 w-10",z>=.7||z>=.4?"":"text-destructive")}
39)})}),e.jsxs("div",{className:"text-center",children:[e.jsxs("h3",{className:"text-xl font-bold",children:[I," de ",w," critérios"]}),e.jsx("p",{className:"text-mono-muted",children:z>=.7?"Excelente compreensão!":z>=.4?"Bom progresso!":"Continue estudando!"})]}),e.jsx("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1",role:"list","aria-label":"Resumo dos critérios avaliados",children:f.map((P,O)=>e.jsxs("div",{role:"listitem",className:g("p-2 rounded text-sm flex items-start gap-2",l[O]?"":"bg-muted/50"),children:[l[O]?e.jsx(xs,{className:"h-4 w-4 mt-0.5 flex-shrink-0","aria-hidden":"true"}):e.jsx(_s,{className:"h-4 w-4 text-mono-muted mt-0.5 flex-shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"truncate",children:P.if}),e.jsx("span",{className:"sr-only",children:l[O]?"Entendido":"Marcado para revisão"})]},O))}),e.jsx("div",{className:"edu-step-actions",children:e.jsx(re,{onClick:F,className:"w-full",size:"lg",children:"Continuar Jornada"})})]})}return e.jsxs("div",{className:g("mono-study-card border hairline p-6 space-y-6",a),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-14 h-14 rounded-full flex items-center justify-center",children:e.jsx(gn,{className:"h-7 w-7 "})})}),e.jsxs("div",{className:"text-center",children:[e.jsxs("span",{className:"text-xs text-mono-muted",id:"decision-progress-label",children:["Critério ",n+1," de ",w]}),e.jsx("div",{className:"w-full h-1 bg-muted rounded-full mt-1",role:"progressbar","aria-labelledby":"decision-progress-label","aria-valuenow":n+1,"aria-valuemin":1,"aria-valuemax":w,children:e.jsx("div",{className:"h-full rounded-full transition-all",style:{width:`${(n+1)/w*100}%`}})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"p-4 rounded-lg border ",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"px-2 py-1 rounded text-xs font-bold ",children:"SE"}),e.jsx("p",{className:"text-mono leading-relaxed",children:y.if})]})}),e.jsx("div",{className:"flex justify-center",children:e.jsx(Zs,{className:"h-6 w-6 text-mono-muted rotate-90"})}),e.jsx("div",{className:"p-4 rounded-lg border ",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"px-2 py-1 rounded text-xs font-bold ",children:"ENTÃO"}),e.jsx("p",{className:"text-mono leading-relaxed",children:y.then})]})})]}),u!==null?e.jsxs("div",{className:"edu-step-actions space-y-4",children:[e.jsx("div",{className:g("p-3 rounded-lg text-center",l[n]?"":"bg-muted"),children:e.jsx("p",{className:"text-sm",children:l[n]?"Critério registrado com sucesso.":"Critério marcado para revisão."})}),e.jsx(re,{onClick:k,className:"w-full",children:R?"Ver Resultado":"Próximo Critério"})]}):e.jsxs("div",{className:"edu-step-actions space-y-3",children:[e.jsx("p",{className:"text-xs text-center text-mono-muted",children:"Você entendeu esta regra de decisão?"}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(re,{variant:"outline",onClick:()=>v(!1),className:"flex-1",children:"Não entendi"}),e.jsx(re,{onClick:()=>v(!0),className:"flex-1 hover:",children:"Entendi!"})]})]})]})}function ji({data:s,className:t,onRevealed:a}){const[n,o]=i.useState(!1);return i.useEffect(()=>{n&&(a==null||a(!0))},[n,a]),e.jsxs("div",{className:g("space-y-4",t),children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-16 h-16 rounded-full flex items-center justify-center shadow-lg ",children:e.jsx($a,{className:"h-8 w-8"})})}),e.jsx("div",{className:"flex justify-center gap-2",children:e.jsx(Se,{variant:"secondary",className:"text-xs",children:"Integração"})}),n?e.jsx("div",{className:"animate-fade-in p-4 rounded-lg bg-muted/50 border border-[color:var(--mono-hairline)]",children:e.jsx("div",{className:"text-base text-mono leading-relaxed",children:Ze(s)})}):e.jsxs("button",{onClick:()=>o(!0),className:"w-full py-8 rounded-lg border border-dashed flex flex-col items-center gap-2 hover: transition-colors cursor-pointer min-h-[44px]",children:[e.jsx(Ue,{className:"h-6 w-6 "}),e.jsx("span",{className:"text-sm font-medium",children:"Toque para Revelar as Notas do Preceptor"})]}),e.jsxs("div",{className:"flex justify-center gap-1 opacity-50 items-center",children:[e.jsx(Ye,{className:"h-4 w-4 text-mono-muted"}),e.jsx("span",{className:"text-xs text-mono-muted",children:"Consolidação final do aprendizado"}),e.jsx(Ye,{className:"h-4 w-4 text-mono-muted"})]})]})}function vi(s){const t=s||"Estudante";return t.includes("Especialista")||t.includes("R3")?{min:5,max:10}
39:t.includes("R2")?{min:4,max:8}:t.includes("R1")?{min:3,max:6}:{min:2,max:4}}function bi(s,t=[],a={}){const n=vi(a.dificuldade??s.p_nivel_dificuldade),o=a.minQuestions??n.min,l=a.maxQuestions??n.max,m=[],d=[];s.p_mapa_mental&&yi(s.p_mapa_mental)&&m.push(ce("mindmap",s.p_mapa_mental)),s.p_flashcard_anki&&m.push(ce("flashcard",s.p_flashcard_anki)),s.p_flashcard_extras&&s.p_flashcard_extras.length>0&&s.p_flashcard_extras.forEach(w=>{m.push(ce("flashcard",w))}),s.p_termos_evolutivos&&ja(s.p_termos_evolutivos)&&m.push(ce("evolution",s.p_termos_evolutivos)),(s.p_pitfalls||s.p_red_flags)&&m.push(ce("pitfalls",{pitfalls:s.p_pitfalls,redFlags:s.p_red_flags})),s.p_comunicacao_laudo&&m.push(ce("communication",s.p_comunicacao_laudo)),s.p_perola_medica&&m.push(ce("pearl",s.p_perola_medica)),s.p_diagnostico_dif&&s.p_diagnostico_dif.length>0&&m.push(ce("differential",s.p_diagnostico_dif)),s.p_recomendacao&&m.push(ce("recommendation",s.p_recomendacao)),s.p_versao_paciente&&m.push(ce("patient",s.p_versao_paciente)),s.p_artigos_recomendados&&ja(s.p_artigos_recomendados)&&m.push(ce("articles",s.p_artigos_recomendados)),s.p_desafio_socratico&&m.push(ce("socratic",{question:s.p_desafio_socratico,hint:s.p_perola_medica||null})),s.p_residency_notes&&m.push(ce("preceptor_notes",s.p_residency_notes));const x=s.p_residency_bank||[],u=s._cbrImages||null;if(s.p_pergunta_desafio){const w={cardId:s.id,cardTitulo:s.titulo,cardCodigo:s.codigo,categoria:s.categoria,modalidade:s.modalidade_codigo},R=u?{...s.p_pergunta_desafio,...w,imageUrl:u.imageUrl,imageUrls:u.imageUrls,imageCaptions:u.imageCaptions}:{...s.p_pergunta_desafio,...w};d.push(ce("quiz",R))}const p=Math.min(x.length,l);for(let w=0;w<p;w++){const R=x[w];d.push(ce("residency_single",{question:R,index:w+1,total:p,isPoolQuestion:!1,imageUrl:R.imageUrl||null,imageUrls:R.imageUrls||null,imageCaptions:R.imageCaptions||null}))}const f=d.length;if(f<o&&t.length>0){const w=Math.min(o-f,l-f),R=new Set(x.map(F=>(F.q||"").trim().toLowerCase().slice(0,50))),v=t.filter(F=>!R.has((F.q||"").trim().toLowerCase().slice(0,50))).sort(()=>Math.random()-.5).slice(0,w),k=d.length+v.length;v.forEach((F,I)=>{d.push(ce("residency_single",{question:F,index:d.length+1,total:k,isPoolQuestion:!0,imageUrl:F.imageUrl||null,imageUrls:F.imageUrls||null,imageCaptions:F.imageCaptions||null}))}),_t.debug(`[buildJourneySteps] Added ${v.length} questions from pool (total: ${d.length})`)}return s.p_logic_engine&&_i(s.p_logic_engine)&&d.push(ce("decision",s.p_logic_engine)),Ni(m,d)}function Ni(s,t){const a=[];if(t.length===0)return[...s];if(s.length===0)return[...t];const n=Math.max(1,Math.floor(s.length/(t.length+1)));let o=0,l=0,m=0;for(;o<s.length||l<t.length;)o<s.length&&(l>=t.length||m<n)?(a.push(s[o]),o++,m++):l<t.length?(a.push(t[l]),l++,m=0):o<s.length&&(a.push(s[o]),o++);return a}function ce(s,t){const a=ys[s],n=$r[s];return{type:s,isInteractive:s==="quiz"||s==="residency"||s==="residency_single"||s==="decision",xpReward:a.base,losesHeart:a.losesHeart,data:t,label:n.label,icon:n.icon,color:n.color}}function yi(s){return!!(s.etiologia||s.fisiopatologia||s.achado_imagem||s.consequencia_clinica||s.interpretacao_fisica)}function ja(s){if(!s)return!1;if(Array.isArray(s))return s.length>0;if(typeof s=="string")try{const t=JSON.parse(s);return Array.isArray(t)&&t.length>0}catch{return!1}return!1}function _i(s){return!s||!s.criteria||!Array.isArray(s.criteria)?!1:s.criteria.some(t=>t.if&&t.then)}function cs(s,t){switch(t){case"journey":return s;case"quiz_only":return s.filter(a=>a.isInteractive);case"review":return s.filter(a=>!a.isInteractive);case"flashcard_only":return s.filter(a=>a.type==="flashcard");case"srs_flashcard":{const a=s.find(n=>n.type==="flashcard");return a?[a]:[]}case"clinical_quiz_only":return s.filter(a=>a.type==="quiz");case"residency_only":return s.filter(a=>a.type==="residency"||a.type==="residency_single"||a.type==="preceptor_notes");case"mindmap_only":return s.filter(a=>a.type==="mindmap");default:return s}}function wi({steps:s,currentIndex:t,completedIndexes:a,className:n}){return s.length===0?null:e.jsx(br,{children:e.jsx("div",{className:g("flex items-center justify-center gap-0",n),children:s.map((o,l)=>{const m=a.includes(l),d=l===t,x=!m&&!d,u=l===s.length-1,p=m;return e.jsxs("div",{className:"flex items-center",children:[e.jsxs(Hs,{children:[e.jsx(Gs,{asChild:!0,children:e.jsxs("div",{className:g("relative w-9 h-9 rounded-full flex items-center justify-center transition-all duration-300 border","motion-reduce:transition-none",m&&["bg-[color:var(--mono-text)] text-[color:var(--mono-bg)] border-[color:var(--mono-text)]","animate-bounce-in"],d&&["bg-[color:var(--mono-surface)] border-[color:var(--mono-text)]","scale-105 ring-1 ring-[color:var(--mono-h
39airline-strong)]"],x&&["bg-[color:var(--mono-bg)] border-[color:var(--mono-hairline)] text-[color:var(--mono-text-dim)]"]),role:"img","aria-label":`${o.label} â ${m?"completo":d?"atual":"pendente"}`,children:[m?e.jsx(jn,{className:"h-4 w-4",strokeWidth:2.25}):e.jsx(Ps,{name:o.icon||"Circle",size:16}),d&&e.jsx("span",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 rounded-full bg-[color:var(--mono-text)] motion-safe:animate-pulse","aria-hidden":"true"})]})}),e.jsx(Ks,{side:"bottom",className:"text-xs",children:e.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[e.jsxs("span",{className:"font-medium flex items-center gap-1",children:[e.jsx(Ps,{name:o.icon||"Circle",size:12}),e.jsx("strong",{children:o.label})]}),e.jsxs("span",{className:"text-mono-muted flex items-center gap-1",children:[o.isInteractive?e.jsxs(e.Fragment,{children:[e.jsx(wt,{className:"h-3 w-3"})," Interativo"]}):e.jsxs(e.Fragment,{children:[e.jsx(Ye,{className:"h-3 w-3"})," Leitura"]})," ","⢠+",o.xpReward," XP"]})]})})]}),!u&&e.jsx("div",{className:"w-5 h-px relative overflow-hidden bg-[color:var(--mono-hairline)]","aria-hidden":"true",children:e.jsx("div",{className:g("absolute inset-0 transition-transform duration-500 ease-out origin-left bg-[color:var(--mono-text)]",p?"scale-x-100":"scale-x-0")})})]},l)})})})}function Si({steps:s,currentIndex:t,completedIndexes:a,className:n}){const o=a.length,l=s.length,m=l>0?o/l*100:0,d=s[t];return e.jsxs("div",{className:g("flex items-center gap-3",n),children:[d&&e.jsxs("div",{className:"relative flex items-center justify-center h-8 w-8 rounded-full border border-[color:var(--mono-hairline)] bg-[color:var(--mono-surface)] shrink-0",children:[e.jsx(Ps,{name:d.icon||"Circle",size:14}),e.jsx("span",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 rounded-full bg-[color:var(--mono-text)]","aria-hidden":"true"})]}),e.jsx("div",{className:"flex-1",children:e.jsx(Ys,{value:m})}),e.jsxs("span",{className:"text-xs font-semibold text-[color:var(--mono-text-muted)] whitespace-nowrap tabular-nums",children:[t+1,"/",l]})]})}const ki={teal:"",cyan:"",amber:"",purple:"",blue:"",red:"bg-red-500",green:"",emerald:"",orange:"",slate:"",steel:""};function ze({children:s,xp:t,label:a,icon:n,color:o,onContinue:l,canContinue:m=!0,className:d}){const[x,u]=i.useState(!1),p=i.useMemo(()=>Ur(),[]),f=ki[o]||"bg-[color:var(--mono-text)]",y=()=>{u(!0),setTimeout(l,380)};return e.jsxs("div",{className:g("relative overflow-hidden surface-mono border hairline p-6 md:p-7 animate-scale-in motion-reduce:animate-none",d),children:[x&&e.jsx("div",{className:"absolute inset-0 pointer-events-none z-10","aria-hidden":"true",children:Array.from({length:10}).map((w,R)=>{const v=["rounded-full","rounded-sm","rounded-none"];return e.jsx("div",{className:g("absolute w-1.5 h-1.5 bg-[color:var(--mono-text)]/70 animate-confetti-fall",v[R%v.length]),style:{left:`${15+Math.random()*70}%`,top:"35%",animationDelay:`${R*.04}s`,transform:`rotate(${Math.random()*360}deg)`}},R)})}),e.jsxs("div",{className:"flex items-center justify-between mb-2 gap-3",children:[e.jsxs(qs,{children:[e.jsx("span",{className:g("h-1.5 w-1.5 rounded-full shrink-0",f),"aria-hidden":"true"}),n&&e.jsx("span",{className:"text-[11px]","aria-hidden":"true",children:n}),e.jsx("strong",{className:"font-semibold",children:a})]}),e.jsx(qs,{icon:e.jsx(He,{strokeWidth:1.75,className:"h-4 w-4 fill-amber-500 text-amber-500"}),children:e.jsxs("strong",{children:["+",t," XP"]})})]}),e.jsx("p",{className:"text-xs italic text-[color:var(--mono-text-muted)] mb-5 animate-fade-in motion-reduce:animate-none",children:p}),e.jsx("div",{className:"min-h-[150px]",children:s}),e.jsx(Le,{variant:"accent",size:"lg",onClick:y,disabled:!m,className:g("w-full mt-6 justify-center gap-2",m&&"animate-btn-shimmer bg-[length:200%_100%]",!m&&"opacity-50 cursor-not-allowed"),children:m?e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"Li e Entendi"}),e.jsx(Zs,{className:"h-4 w-4 transition-transform group-hover:translate-x-1",strokeWidth:2})]}):e.jsx("span",{className:"text-sm",children:"Expanda todos os itens acima para continuar"})})]})}function Ci(s){const t=s.trim().split(" ");if(t.length===1)return e.jsx("strong",{className:"font-semibold",children:s});const[a,...n]=t;return e.jsxs(e.Fragment,{children:[e.jsx("strong",{className:"font-semibold",children:a})," ",n.join(" ")]})}function Ri({title:s,categoria:t,nivel:a,isReview:n,reviewTimes:o,reviewXpMultiplier:l,sistemaRads:m,severidade:d,achadoCritico:x,cbrMeta:u,className:p}){const y=(a||"").toLowerCase().includes("residente")&&(a||"").replace(/residente\s*/i,"").trim()||a;return e.jsxs("div",{className:g("text-center",p),children:[e.jsx("h2",{className:"text-xl md:text-2xl font-semibold tracking-tight leading-tight text-[color:var(--mono-text)] animate-fade-in motion-reduce:animate-none",children:Ci(s)},s),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2 mt-3",children:[n&&e.jsxs(qs,{icon:e.jsx(Pa,{strokeWidth:1.75}),children:["Revisão ",o,"à â XP a ",Math.round((l||1)*100),"%"]}
39),t&&e.jsx(qs,{dot:!0,children:t}),y&&e.jsx(qs,{children:y}),e.jsx(zn,{sistemaRads:m,severidade:d,achadoCritico:x})]}),u&&e.jsx("div",{className:"flex justify-center mt-2",children:e.jsx(Da,{meta:u})})]})}function Ai(s){return $s(s)[0]??null}function Ei(s){if(!s||typeof s!="object")return null;const t=s;return t.enunciado&&t.alternativas&&t.correta?{enunciado:String(t.enunciado),alternativas:t.alternativas,correta:String(t.correta),justificativa:String(t.justificativa||"")}:null}function qi(s){if(!s||typeof s!="object")return null;const t=s;return{etiologia:t.etiologia?String(t.etiologia):void 0,fisiopatologia:t.fisiopatologia?String(t.fisiopatologia):void 0,achado_imagem:t.achado_imagem?String(t.achado_imagem):void 0,consequencia_clinica:t.consequencia_clinica?String(t.consequencia_clinica):void 0,interpretacao_fisica:t.interpretacao_fisica?String(t.interpretacao_fisica):void 0}}function Mi(s){if(!s)return null;if(Array.isArray(s))return s.filter(t=>typeof t=="string");if(typeof s=="string")try{return JSON.parse(s)}catch{return null}return null}function vt(s){return{id:String(s.id),titulo:s.titulo,codigo:s.codigo,categoria:s.categoria,p_flashcard_anki:Ai(s.p_flashcard_anki),p_flashcard_extras:$s(s.p_flashcard_anki).slice(1),p_pergunta_desafio:Ei(s.p_pergunta_desafio),p_mapa_mental:qi(s.p_mapa_mental),p_perola_medica:s.p_perola_medica,p_diagnostico_dif:Mi(s.p_diagnostico_dif),p_versao_paciente:s.p_versao_paciente,p_pitfalls:s.p_pitfalls,p_red_flags:s.p_red_flags,p_recomendacao:s.p_recomendacao,p_residency_bank:s.p_residency_bank,p_residency_notes:s.p_residency_notes,p_desafio_socratico:s.p_desafio_socratico,p_nivel_dificuldade:s.p_nivel_dificuldade,p_radiopaedia_rid:s.p_radiopaedia_rid,p_artigos_recomendados:s.p_artigos_recomendados,p_termos_evolutivos:s.p_termos_evolutivos,p_comunicacao_laudo:s.p_comunicacao_laudo,p_logic_engine:s.p_logic_engine}}const va=["Preparando sua jornada...","Carregando desafios...","Quase lá...","Selecionando conteúdo..."];function fo(){var oa,la;const[s]=nr(),t=ya(),a=((oa=s.get("categoria"))==null?void 0:oa.toUpperCase())||null,n=((la=s.get("modulo"))==null?void 0:la.toUpperCase())||null,o=s.get("mode"),l=parseInt(s.get("quantidade")||"10",10),m=s.get("cardId")||null,d=s.get("tableId")||null,x=s.get("subset")||null,u=!!x,p=s.get("categoria")||null,f=s.get("source")==="cbr"||u,y=s.get("modo")||"prova",w=f&&!u&&y==="prova",R=s.get("nivel")||null,v=s.get("ano")||null,k=s.get("tipo")||null,F=s.get("cat_cbr")||null,I=s.get("mod")||null,z=s.get("dif")||null,P=s.get("tema")||null,O=s.get("taxonomia")||null,L=s.get("planBlock")||null,D=s.get("planBlocks")||null,se=s.get("catList")||null,V=s.get("weak")==="1",B=!!L||!!D,ne=s.get("sprint")==="1",_e=ir(),ps=ne?"Sprint de hoje":B?"Bloco do plano":V?"Treino de ponto fraco":s.get("srs")==="1"?"Revisão de flashcards":s.get("source")==="cbr"?"Questões CBR":"Sessão de estudo",Z=s.get("cat")||null,H=s.get("regiao")||null,es=s.get("treino")==="true",te=!u&&(es||!a&&!!o&&!m&&!d&&!f),ke=!!m,ss=!!d,{startSession:J,endSession:ee,recordResult:$,session:U,streak:me,xp:Ie}=_a(),{canStudy:fs,hearts:ue,handleWrongAnswer:ts,handleXPGained:Ce,handleCardCompleted:Ne,checkCanStartSession:St}=qr(),{maxHearts:tt}=wa(),{addXPAsync:kt}=Mr(),{user:A}=Nr(),{checkCanStart:Ct,invalidate:Rt}=Dr(),as=ba(),At=Ir(),Qa=Tr(),{startStep:Te,logStep:hs,saveSession:gs,resetSteps:Et,getCollectedSteps:Ls,armAutoFlush:qt}=kn(),xe=i.useRef(crypto.randomUUID()),De=i.useRef(performance.now()),Ds=i.useRef(null),Mt=i.useRef(new Map),Qe=i.useRef(0),[Q,Oe]=i.useState(0),[S,ie]=i.useState(0),Oa=lr(),[Bs,oe]=i.useState([]),[rs,js]=i.useState([]),[ns,Re]=i.useState(!1),[Wa,at]=i.useState(!1),[ye,We]=i.useState(0),[vs,Xa]=i.useState(!1),[Va,Ss]=i.useState(!1),[rt,It]=i.useState(null),[Tt,nt]=i.useState(null),[Pt,$t]=i.useState(!1),it=i.useRef(ue),[Ha,Lt]=i.useState(!1),Fs=i.useRef(0),[Dt,ot]=i.useState(!1),[Xe,Be]=i.useState(!1);i.useEffect(()=>{Be(!1),ot(!1)},[S]);const Bt=i.useRef(Ie),{showLevelUp:Ft,newLevel:zt,closeLevelUp:Ut,resetShownLevels:Qt}=Bn(Ie,Bt.current);i.useEffect(()=>{if(ue<it.current){$t(!0);const r=setTimeout(()=>$t(!1),600);return it.current=ue,()=>clearTimeout(r)}it.current=ue},[ue]),i.useEffect(()=>{if(ye>Fs.current&&Fs.current>0){Lt(!0),nt({xp:ye-Fs.current});const r=setTimeout(()=>{Lt(!1),nt(null)},600);return()=>clearTimeout(r)}Fs.current=ye},[ye]),i.useEffect(()=>{U.isActive||(Bt.current=Ie,Qt())},[U.isActive,Ie,Qt]);const Ge=i.useCallback(r=>{},[]),Ot=i.useRef(0),pe=i.useCallback(async r=>{var $e;const{handler:h,cardId:j,xpEarned:E,quizScore:N,completed:_,currentStepIndex:T,totalSteps:le}=r;if(f&&!(($e=ks.current)!=null&&$e.trail_card_id))return null;const q=Ls().slice(Ot.current),Me=q.filter(C=>C.isCorrect===!0).length,G=q.map(C=>C.responseTimeMs).filter(C=>typeof C=="number"&&C>0),Es=G.length>0?Math.round(G.reduce((C,he)=>C+he,0)/G.length):null,Ns=G.length>0?Math.min(...G):null,mt=G.length>0?Math.max(...G):null,ut=G.length>0?G.reduce((C,he)=>C+he,0):null,b=q.map(C=>C.stepIndex),K=q.reduce((C,he)=>C+(he.xpEarned??0),0),ae=Math.max(K,E??0),Y={handler:h,cardId:j,completed:_,xpEarned:E,xp_from_steps:K,xp_effective:ae,quizScore:N,sourceCBR:f,times_correct:Me,steps:q.length,avg_ms:Es,best_ms:Ns,worst_ms:mt,total_ms:ut};let ve=null;for(let C=0;C<3;C++)try{const he=await At.mutateAsync({cardId:j,xpEarned:ae,quizScore:N,completed:_,timesCorrect:Me,timesReviewedDelta:1,avgRe
39sponseMs:Es,bestResponseMs:Ns,worstResponseMs:mt,totalTimeMs:ut,completedSteps:b,currentStepIndex:T??null,totalSteps:le??null});return{...Y},he}catch(he){ve=he,console.error("[CardProgress.save.err]",{...Y,attempt:C,err:he}),C<2&&await new Promise(xt=>setTimeout(xt,250*(C+1)))}const we=(()=>{const C=ve;return C?typeof C=="string"?C:[C.code,C.message,C.details,C.hint].filter(Boolean).join(" | ")||(()=>{try{return JSON.stringify(C)}catch{return String(C)}})():"unknown"})();return console.error("[CardProgress.save.giveup]",{...Y,lastErr:we}),null},[At,f,Ls]);i.useEffect(()=>{Ot.current=Ls().length},[Q,Ls]);const bs=i.useRef(!1),ks=i.useRef(null),Ke=o||"flashcard",ge=u?"flashcard":f?"residency":Ke,Wt=i.useRef(!1);i.useEffect(()=>{if(!fs&&!Wt.current){Wt.current=!0,Xa(!0);const r=St();de.error("Sem corações!",{description:r.message})}},[fs,St]);const[zs,Us]=i.useState(null),Xt=i.useRef(!1);i.useEffect(()=>{if(!f||Xt.current)return;Xt.current=!0;const r=u?"flashcards":"questoes";let h=!1;return Ct(r).then(j=>{h||j.allowed||Us({kind:r,reason:Vs(j.reason)??j.reason??"Você atingiu o limite do seu plano para esta atividade."})}),()=>{h=!0}},[f,u,Ct]);const{data:Pe}=An(),{data:is}=qn(),os=i.useMemo(()=>{const r=new Map;return((Pe==null?void 0:Pe.blocks)||[]).forEach(h=>{var j;return r.set(h.id,{id:h.id,categoria:ft(h.categoria),block_date:h.block_date,started_at:((j=Pe==null?void 0:Pe.plan)==null?void 0:j.started_at)??null})}),((is==null?void 0:is.blocks)||[]).forEach(h=>{var j;return r.set(h.id,{id:h.id,categoria:ft(h.categoria),block_date:h.block_date,started_at:((j=is==null?void 0:is.plan)==null?void 0:j.started_at)??null})}),r},[Pe,is]),Vt=Mn(),Je=i.useMemo(()=>L?[L]:D?D.split(",").map(r=>r.trim()).filter(Boolean):[],[L,D]),Ga=i.useMemo(()=>{var r;for(const h of Je){const j=os.get(h);if(j!=null&&j.started_at)return j.started_at}return((r=Pe==null?void 0:Pe.plan)==null?void 0:r.started_at)??null},[Je,os,Pe]),{data:lt=[]}=En(B?Ga:null),Ht=i.useMemo(()=>!B||Je.length===0||os.size===0?!1:Je.some(r=>{const h=os.get(r);return h&&h.block_date>Vt}),[B,Je,os,Vt]);i.useEffect(()=>{Ht&&!vs&&(de.error("Este bloco ainda não está liberado.",{description:"Ele está agendado para um dia futuro do seu cronograma."}),t("/educacao/plano"))},[Ht,vs,t]);const{data:ls=[],isLoading:Ka}=Na({queryKey:["session-cards-journey",a,n,te,x,p,l,m,d,A==null?void 0:A.id,f,R,v,k,F,I,z,P,O,se,L,D,V,B?lt.length:0],queryFn:async()=>{if(f){let N=null;const _=new Map;if(u){const{data:b,error:K}=await be.rpc("get_srs_due_cards",{p_limit:Math.max(1,l),p_subset:x,p_categoria:x==="deck"?p:null});if(K)throw K;const ae=b||[];if(ae.forEach(Y=>{_.set(String(Y.question_id),{repetitions:Y.repetitions??0,intervalDays:Y.interval_days??0,ease:Y.ease_factor!=null?Number(Y.ease_factor):null,lastQuality:Y.last_quality??null,lastReviewedAt:Y.last_reviewed_at??null})}),N=ae.map(Y=>String(Y.question_id)),N.length===0)return[]}let T=null;if(B&&Je.length>0)try{const b=Math.max(1,Math.ceil(l*2/Je.length)),K=await Promise.all(Je.map(async ve=>{const{data:we,error:$e}=await be.rpc("get_cbr_plan_question_pool",{p_block_id:ve,p_limit:b});if($e)throw $e;return(we==null?void 0:we.map(C=>typeof C=="string"?C:(C==null?void 0:C.id)??C).filter(Boolean))||[]})),ae=[],Y=Math.max(0,...K.map(ve=>ve.length));for(let ve=0;ve<Y;ve++)for(const we of K)we[ve]&&ae.push(we[ve]);T=Array.from(new Set(ae))}catch(b){console.warn("[plan-pool] RPC falhou, fallback para query direta",b)}let le=null;if(V&&!u&&!B&&(A!=null&&A.id)){const{data:b}=await be.from("user_cbr_question_progress").select("question_id").eq("user_id",A.id).eq("last_was_correct",!1).limit(400),K=(b||[]).map(ae=>ae.question_id).filter(Boolean);if(K.length===0)return[];le=K}let je=null;if(P&&!u&&!B){const{data:b,error:K}=await be.rpc("cbr_tema_questoes",{p_temas:[{code:P,count:Math.max(1,l)}]});if(K)throw K;const ae=(b||[]).map(Y=>Y.id).filter(Boolean);if(ae.length===0)return[];je=ae}if(!je&&O&&!u&&!B){const{data:b,error:K}=await be.from("cbr_tema_no").select("code,total").eq("taxonomia_code",O).eq("nivel",1).order("total",{ascending:!1}).limit(12);if(K)throw K;const ae=(b||[]).map(C=>C.code);
39if(ae.length===0)return[];const Y=Math.max(1,Math.ceil(Math.max(1,l)/ae.length)),{data:ve,error:we}=await be.rpc("cbr_tema_questoes",{p_temas:ae.map(C=>({code:C,count:Y}))});if(we)throw we;const $e=(ve||[]).map(C=>C.id).filter(Boolean);if($e.length===0)return[];je=$e}let q=be.from("cbr_exam_questions").select(ma).eq("ativa",!0);if(N&&N.length>0)q=q.in("id",N);else if(T&&T.length>0)q=q.in("id",T.slice(0,Math.max(l,1)));else{if(le&&(q=q.in("id",le)),je&&(q=q.in("id",je)),R&&(q=q.eq("resident_level",R)),v&&(q=q.eq("exam_year",parseInt(v))),k&&(q=q.eq("exam_type",k)),F&&!B&&(q=q.ilike("categoria",F)),se&&!B){const b=se.split("|").map(K=>K.trim()).filter(Boolean);b.length>0&&(q=q.in("categoria",b))}I&&(q=q.eq("modalidade_codigo",I)),z&&(q=q.eq("p_nivel_dificuldade",z)),B&<.length>0&&(q=q.not("id","in",`(${lt.join(",")})`))}const Me=Math.min(l*3,200);let{data:G,error:Es}=await q.limit(Me);if(Es)throw Es;if(le&&(G||[]).length===0&&(F||se)){const b=await be.from("cbr_exam_questions").select(ma).eq("ativa",!0).in("id",le).limit(Me);if(b.error)throw b.error;G=b.data}const Ns=N&&N.length>0?N:T;return(Ns&&Ns.length>0?Ns.map(b=>(G||[]).find(K=>K.id===b)).filter(Boolean).slice(0,l):(G||[]).sort(()=>Math.random()-.5).slice(0,l)).map(b=>{const K=Array.isArray(b.alternativas)?b.alternativas:typeof b.alternativas=="object"&&b.alternativas!==null?Object.values(b.alternativas):[],ae=b.enunciado?{enunciado:b.enunciado,alternativas:K,correta:b.resposta_correta||"A",justificativa:b.comentario||""}:null,Y=$s(b.p_flashcard_anki),ve=Y[0]??null,we=Y.slice(1);let $e=null;b.related_questions&&Array.isArray(b.related_questions)&&($e=b.related_questions.filter(M=>M&&(M.enunciado||M.q)).map(M=>({q:M.enunciado||M.q||"",a:M.alternativas||M.a||[],c:M.resposta_correta||M.c||"A",f:M.comentario||M.f||""})));let C=null;if(b.p_mapa_mental&&typeof b.p_mapa_mental=="object"){const M=b.p_mapa_mental;(M.etiologia||M.fisiopatologia||M.achado_imagem||M.consequencia_clinica||M.interpretacao_fisica)&&(C={etiologia:M.etiologia?String(M.etiologia):void 0,fisiopatologia:M.fisiopatologia?String(M.fisiopatologia):void 0,achado_imagem:M.achado_imagem?String(M.achado_imagem):void 0,consequencia_clinica:M.consequencia_clinica?String(M.consequencia_clinica):void 0,interpretacao_fisica:M.interpretacao_fisica?String(M.interpretacao_fisica):void 0})}let he=null;b.p_diagnostico_dif&&Array.isArray(b.p_diagnostico_dif)&&(he=b.p_diagnostico_dif.filter(M=>typeof M=="string"),he.length===0&&(he=b.p_diagnostico_dif.filter(M=>M&&typeof M=="object").map(M=>M.nome||M.name||M.diagnostico||JSON.stringify(M)).filter(Boolean)));const xt={imageUrl:b.image_url||null,imageUrls:b.image_urls||null,imageCaptions:b.image_captions||null};return{id:b.id,titulo:b.p_novo_titulo||`Questão CBR ${b.exam_year} Q${b.question_number||"?"}`,codigo:`CBR-${b.exam_year}-${b.question_number||"?"}`,categoria:b.categoria||null,p_mapa_mental:C,p_flashcard_anki:ve,p_flashcard_extras:we,p_perola_medica:b.p_perola_medica||null,p_diagnostico_dif:he,p_versao_paciente:b.p_versao_paciente||null,p_pitfalls:b.p_pitfalls||null,p_red_flags:b.p_red_flags||null,p_recomendacao:b.p_recomendacao||null,p_residency_bank:$e,p_residency_notes:null,p_desafio_socratico:b.p_desafio_socratico||null,p_nivel_dificuldade:b.p_nivel_dificuldade||null,p_radiopaedia_rid:null,p_artigos_recomendados:b.p_artigos_recomendados||null,p_termos_evolutivos:null,p_comunicacao_laudo:null,p_logic_engine:null,p_pergunta_desafio:ae,_cbrImages:xt,_srsMeta:_.get(String(b.id))??null,_cbrMeta:{examYear:b.exam_year,examType:b.exam_type,examName:b.exam_name,modalidade:b.modalidade_codigo||null,residentLevel:b.resident_level||null,questionNumber:b.question_number||null}}})}if(ss&&d){const{data:N,error:_}=await be.from("radiology_tables").select(` 40 id, titulo, codigo, categoria, subcategoria, 41 p_flashcard_anki, p_pergunta_desafio, p_mapa_mental, 42 p_perola_medica, p_summary_text 43 `).eq("id",d).maybeSingle();if(_)throw console.error("[EducacaoSessao] Table query error:",_),_;return N?[vt(N)]:[]}if(te&&(A!=null&&A.id)){const{data:N,error:_}=await be.rpc("get_prioritized_cards_for_training",{p_user_id:A.id,p_limit:l,p_mode:Ke});if(_)throw console.error("[EducacaoSessao] RPC error:",_),_;if(!N||N.length===0)return[];const T=N.map(G=>
43G.id),{data:le,error:je}=await be.from("frases_modelo").select(` 44 id, titulo, codigo, categoria, subcategoria, 45 p_flashcard_anki, p_pergunta_desafio, p_mapa_mental, 46 p_perola_medica, p_diagnostico_dif, p_versao_paciente, 47 p_pitfalls, p_red_flags, p_recomendacao, 48 p_residency_bank, p_residency_notes, p_desafio_socratico, 49 p_nivel_dificuldade, p_radiopaedia_rid, 50 p_artigos_recomendados, p_termos_evolutivos, p_comunicacao_laudo, 51 p_logic_engine 52 `).in("id",T);if(je)throw je;const q=new Map((le||[]).map(G=>[G.id,G]));return T.map(G=>q.get(G)).filter(Boolean).map(G=>vt(G))}let r=be.from("frases_modelo").select(` 53 id, titulo, codigo, categoria, subcategoria, 54 p_flashcard_anki, p_pergunta_desafio, p_mapa_mental, 55 p_perola_medica, p_diagnostico_dif, p_versao_paciente, 56 p_pitfalls, p_red_flags, p_recomendacao, 57 p_residency_bank, p_residency_notes, p_desafio_socratico, 58 p_nivel_dificuldade, p_radiopaedia_rid, 59 p_artigos_recomendados, p_termos_evolutivos, p_comunicacao_laudo, 60 p_logic_engine 61 `).eq("ativa",!0);ke&&m?r=r.eq("id",m):(!te&&a&&(r=r.ilike("categoria",a)),!te&&n&&(r=r.ilike("subcategoria",`${n}%`)),Ke==="flashcard"?r=r.not("p_flashcard_anki","is",null):Ke==="quiz"?r=r.not("p_pergunta_desafio","is",null):(Ke==="mixed"||Ke==="mindmap")&&(r=r.or("p_flashcard_anki.not.is.null,p_pergunta_desafio.not.is.null,p_mapa_mental.not.is.null")));const h=ke?1:20,{data:j,error:E}=await r.limit(h);if(E)throw E;return(j||[]).map(N=>vt(N))},enabled:!vs&&!zs&&(!!a||te&&!!(A!=null&&A.id)||ke||ss||f),staleTime:5*60*1e3}),{data:Gt=[]}=Xn(Z||a,H||n,{minQuestionsNeeded:5,forceLoad:ke}),Ja=i.useMemo(()=>f?ls.map(r=>r.id):[],[f,ls]),{getReviewInfo:Cs,recordAnswer:Qs}=Cn(Ja),c=ls[Q],{data:Fe}=Pr((c==null?void 0:c.id)||null),Rs=(Fe==null?void 0:Fe.timesCompleted)??0,Kt=Rs>0,Jt=Rs===0?1:Rs===1?.6:.3;i.useEffect(()=>{c&&(ks.current=c)},[c]);const Os=u||te&&!!o&&o!=="mixed",As=i.useRef(null);i.useEffect(()=>{if(!Os)return c&&S>0&&(A!=null&&A.id)&&(As.current&&clearTimeout(As.current),As.current=setTimeout(()=>{Qa.mutate({cardId:c.id,stepIndex:S,completedSteps:Bs,totalSteps:Ae.length})},2e3)),()=>{As.current&&clearTimeout(As.current)}},[S,Bs,c,A==null?void 0:A.id,Os]);const Yt=i.useRef(null);i.useEffect(()=>{if(c&&Yt.current!==c.id&&Fe&&(Yt.current=c.id,!Os&&Fe.stepIndex>0)){ie(Fe.stepIndex),oe(Fe.completedSteps);const r=Fe.timesCompleted>0;de.info(r?"Continuando revisão":"Continuando de onde parou",{description:`Step ${Fe.stepIndex+1}`})}},[c==null?void 0:c.id,Fe,Os]),i.useEffect(()=>{Ds.current=null},[Q,S]);const Ae=i.useMemo(()=>{if(!c)return[];const h=bi(c,Gt,{minQuestions:5,maxQuestions:10});if(u){const j=cs(h,"srs_flashcard");return j.length>0?j:(console.warn("[EducacaoSessao] SRS sem flashcard utilizável, fallback para quiz:",c.id),cs(h,"quiz_only"))}if(f&&y==="prova")return cs(h,"quiz_only");if(te&&o&&o!=="mixed"){if(o==="flashcard")return cs(h,"flashcard_only");if(o==="quiz")return cs(h,"clinical_quiz_only");if(o==="residency")return cs(h,"residency_only");if(o==="mindmap")return cs(h,"mindmap_only")}return h},[c,Gt,f,y,te,o,u]),Ee=Ae[S],W=Ae.length,X=ls.length,Zt=i.useRef(null),ct=i.useRef(!1);i.useEffect(()=>{!(te||u)||!c||Ae.length>0||Zt.current!==c.id&&(Zt.current=c.id,de.info("Cartão sem conteúdo para este modo",{description:"Seguindo para o próximo."}),Q+1<X?(Oe(r=>r+1),ie(0),oe([])):Re(!0))},[te,u,c,Ae.length,Q,X]),i.useEffect(()=>{Ae.length!==0&&S>=Ae.length&&ie(Ae.length-1)},[Ae.length,S]);const fe=i.useCallback(async()=>{if(!(A!=null&&A.id))return;const r=Z||a||(c==null?void 0:c.categoria),h=H||n||(c==null?void 0:c.regiao);if(!(!r||!h))try{const{error:j}=await be.rpc("sync_user_learning_path",{p_user_id:A.id,p_categoria:r,p_subcategoria:h,p_cards_total:X||null,p_just_completed_card_id:(c==null?void 0:c.id)??null});if(j)throw j;ct.current=!1,as.invalidateQueries({queryKey:["learning-paths"]}),as.invalidateQueries({queryKey:["category-regions"]})}
61catch(j){ct.current=!0,console.error("[syncPathAfterCard] rpc error",j),de.error("Não foi possÃvel atualizar a trilha",{description:"Tentaremos novamente ao concluir o próximo card."})}},[A==null?void 0:A.id,Z,a,H,n,X,as,c]);i.useEffect(()=>{De.current=performance.now()},[S,Q]);const Ya=i.useMemo(()=>{if(X===0)return 0;const r=Q,h=W>0?S/W:0;return(r+h)/X*100},[Q,S,X,W]);i.useEffect(()=>{window.scrollTo({top:0,behavior:"smooth"})},[S,Q]),i.useEffect(()=>{ns||X===0||or({url:`${_e.pathname}${_e.search}`,label:ps,index:Q,total:X})},[Q,X,ns,ps,_e.pathname,_e.search]),i.useEffect(()=>{ns&&(ca(),Rt(),A!=null&&A.id&&as.invalidateQueries({queryKey:["user-education-boot",A.id]}))},[ns,Rt,as,A==null?void 0:A.id]),i.useEffect(()=>{ls.length>0&&!U.isActive&&!vs&&(J(Ke,ls.map(r=>r.id)),Et(),Te(),xe.current=crypto.randomUUID(),Qe.current=0,bs.current=!1,qt(()=>{const r=ks.current;return!r||!U.startedAt?null:{sessionId:xe.current,cardId:r.id,categoria:Z||a,regiao:H||n,mode:ge,startedAt:U.startedAt,totalXp:0,heartsLost:Qe.current,streakMaintained:!1}
61}),Kt&&de.info(`Modo Revisão â XP a ${Math.round(Jt*100)}%`,{description:`Esta é sua ${Rs+1}ª vez neste conteúdo.`}))},[ls,Ke,ge,J,U.isActive,vs,Et,Te,qt,Z,a,H,n,U.startedAt]),i.useEffect(()=>{const r=ks.current;ns&&r&&U.startedAt&&!bs.current&&(bs.current=!0,gs({sessionId:xe.current,cardId:r.id,categoria:Z||a,regiao:H||n,mode:ge,startedAt:U.startedAt,steps:[],totalXp:ye,heartsLost:Qe.current,streakMaintained:me>0}).then(h=>{}))},[ns,U.startedAt,Z,a,H,n,ge,ye,me,gs]);const ea=i.useCallback(r=>{if(L)return L;if(!D)return null;const h=D.split(",").map(N=>N.trim()).filter(Boolean);if(h.length===0)return null;if(h.length===1)return h[0];const j=ft(r.categoria||"");return h.find(N=>{const _=os.get(N);return _&&_.categoria===j})||h[0]},[L,D,os]),Ws=i.useCallback(r=>B?ea(r):null,[B,ea]),qe=i.useCallback(async r=>{const h=(Ee==null?void 0:Ee.type)||"static";hs({stepIndex:S,stepType:h,xpEarned:r,isCorrect:!0,quality:"easy",cardId:(c==null?void 0:c.id)??void 0});const j=await Ce(r,h,{cardId:(c==null?void 0:c.id)??null,source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))});We(E=>E+((j==null?void 0:j.awarded)??r)),oe(E=>[...E,S]),ot(!1),Be(!1),S<W-1?(ie(E=>E+1),Te()):(await Ne(),Ge(c.id),c&&(await pe({handler:"handleStaticStepComplete",cardId:c.id,xpEarned:r,completed:!0,currentStepIndex:S,totalSteps:W}),await fe()),Q<X-1?(Oe(E=>E+1),ie(0),oe([]),Te()):Re(!0))},[S,Ee,W,Q,X,Ce,Ne,c,pe,hs,Te,fe]),sa=i.useCallback(async(r,h)=>{var E;if(!c)return;const j=`${c.id}:${S}`;if(Ds.current!==j){if(Ds.current=j,hs({stepIndex:S,stepType:"flashcard",xpEarned:h,isCorrect:r!=="wrong",quality:r,cardId:(c==null?void 0:c.id)??void 0,questionId:f?(c==null?void 0:c.id)??void 0:void 0}),js(N=>[...N,{quality:r}]),$(c.id,r),f&&c.id)try{const N=r==="easy"?5:r==="medium"?4:r==="hard"?3:1,_=`${xe.current}|${c.id}|${S}`;let T=Mt.current.get(_);T||(T=crypto.randomUUID(),Mt.current.set(_,T));const{data:le,error:je}=await be.rpc("record_cbr_flashcard_review",{p_question_id:c.id,p_quality:N,p_session_id:xe.current,p_response_ms:Math.max(0,Math.round(performance.now()-De.current)),p_request_id:T});if(je)throw je;const q=Number(((E=le==null?void 0:le.award)==null?void 0:E.xp_awarded)??0);q>0&&We(Me=>Me+q),Lr(as,A==null?void 0:A.id,"srs")}catch(N){console.error("[EducacaoSessao] SRS record failed:",N);const _=Vs(N==null?void 0:N.message);_?(de.error("Limite de revisões de hoje atingido",{description:_}),Us({kind:"flashcards",reason:_})):de.error("Não foi possÃvel salvar a revisão",{description:"Tente novamente antes de continuar."}),Ds.current=null;return}else if(h>0){const N=await Ce(h,"flashcard",{cardId:c.id,isCorrect:r!=="wrong",source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))});We(_=>_+((N==null?void 0:N.awarded)??h))}if(oe(N=>[...N,S]),S<W-1)ie(N=>N+1),Te();else{await Ne(),Ge(c.id);const N=f?(c==null?void 0:c.trail_card_id)??c.id:c.id;await pe({handler:"handleFlashcardComplete",cardId:N,xpEarned:h,quizScore:r==="easy"?100:r==="medium"?70:r==="hard"?50:0,completed:!0,currentStepIndex:S,totalSteps:W}),await fe(),Q<X-1?(Oe(_=>_+1),ie(0),oe([]),Te()):Re(!0)}}},[c,S,W,Q,X,$,Ce,Ne,pe,hs,Te,f,fe,as]),Ve=i.useCallback(async()=>{const r=ks.current;!r||!(A!=null&&A.id)||(await pe({handler:"savePartialProgress",cardId:r.id,xpEarned:ye,completed:!1,currentStepIndex:S,totalSteps:W}),U.startedAt&&!bs.current&&(bs.current=!0,await gs({sessionId:xe.current,cardId:r.id,categoria:Z||a,regiao:H||n,mode:ge,startedAt:U.startedAt,steps:[],totalXp:ye,heartsLost:Qe.current,streakMaintained:me>0})))},[A==null?void 0:A.id,ye,pe,U.startedAt,gs,Z,a,H,n,ge,me]),dt=i.useCallback(async(r,h,j)=>{if(!c)return;const E=f?Cs(c.id):null;E==null||E.isReview;const N=r?h:0,_=r?"medium":"wrong";if(hs({stepIndex:S,stepType:(Ee==null?void 0:Ee.type)||"quiz",xpEarned:N,isCorrect:r,quality:_,cardId:(c==null?void 0:c.id)??void 0,questionId:f?(c==null?void 0:c.id)??void 0:void 0}),js(T=>[...T,{quality:_}]),$(c.id,_),It({type:r?"correct":"wrong",xp:N}),f){const T=Ws(c),le=Math.max(0,Math.round(performance.now()-De.current));let je;try{je=await Qs({questionId:c.id,answerGiven:j&&j.trim()||"X",isCorrect:r,xpBase:N,responseMs:le,source:T?"plan_block":"session",blockId:T,sessionId:xe.current})}catch(q){const Me=Vs(q==null?void 0:q.message);return Me?(de.error("Limite do plano atingido",{description:Me}),Us({kind:"questoes",reason:Me}),!1):(de.error("Não foi possÃvel salvar a resposta",{description:"Tente novamente antes de continuar."}),!1)}if(We(q=>q+je.xp_awarded),r||(await ts(),Qe.current+=1),!r&&ue<=1){de.error("Você ficou sem corações!",{description:"Recarregue para continuar."}),await Ve(),Ss(!0);return}}else if(r){if(N>0){const T=await Ce(N,"quiz",{cardId:c.id,isCorrect:!0,source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))});We(le=>le+((T==null?void 0:T.awarded)??N))}}else{await ts(),Qe.current+=1;try{await kt(0,"quiz",{cardId:c.id,isCorrect:!1,source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))})}catch{}if(ue<=1){de.error("Você ficou sem corações!",{description:"Recarregue para continuar."}),await Ve(),Ss(!0);return}}return oe(T=>[...T,S]),S<W-1?(ie(T=>T+1),Te()):(await Ne(),Ge(c.id),await pe({handler:"handleQuizComplete",cardId:c.id,xpEarned:N,quizScore:r?100:0,completed:!0,currentStepIndex:S,totalSteps:W}),await fe(),Q<X-1?(Oe(T=>T+1),ie(0),oe([]),Te()):Re(!0)),!0},[c,S,Ee,W,Q,X,ue,$,ts,Ce,Ne,pe,hs,Te,Ve,f,Cs,Qs,Ws,kt,fe]),ta=i.useCallback(async r=>{const h=r.questionId;if(!h)return;const j=Ws(c??{});try{await Qs({questionId:h,answerGiven:r.answerLetter&&r.answerLetter.trim()||"X",isCorrect:r.isCorrect,xpBase:0,responseMs:r.responseMs,source:j?"plan_block":"session",blockId:j,sessionId:xe.current})}catch(E){console.error("[EducacaoSessao] Falha ao registrar questão de residência:",E);const N=Vs(E==null?void 0:E.message);N?(de.error("Limite de questões de hoje atingido",{description:N}),Us({kind:"questoes",reason:N})):de.error("Resposta não salva",{description:"Sem conexão com o servidor. Sua próxima resposta tentará novamente."})}},[c,Qs,Ws]),aa=i.useCallback(async(r,h,j)=>{if(!c)return;const E=r/h,N=E>=.7?"easy":E>=.4?"medium":"wrong";if(js(_=>[..._,{quality:N}]),$(c.id,N),j>0){const _=await Ce(j,"residency",{cardId:c.id,isCorrect:E>=.5,source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))});We(T=>T+((_==null?void 0:_.awarded)??j))}if(E<.5&&(await ts(),Qe.current+=1,ue<=1)){de.error("Você ficou sem corações!",{description:"Recarregue para continuar."}),await Ve(),Ss(!0);return}oe(_=>[..._,S]),S<W-1?ie(_=>_+1):(await Ne(),Ge(c.id),await pe({handler:"handleResidencyComplete",cardId:c.id,xpEarned:j,quizScore:Math.round(E*100),completed:!0,currentStepIndex:S,totalSteps:W}),await fe(),Q<X-1?(Oe(_=>_+1),ie(0),oe([])):Re(!0))},[c,S,W,Q,X,ue,$,ts,Ce,Ne,pe,Ve,fe]),ra=i.useCallback(async(r,h,j)=>{if(!c)return;const E=r/h,N=E>=.7?"easy":E>=.4?"medium":"wrong";if(js(_=>[..._,{quality:N}]),$(c.id,N),j>0){const _=await Ce(j,"decision",{cardId:c.id,isCorrect:E>=.5,source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))});We(T=>T+((_==null?void 0:_.awarded)??j))}if(E<.4&&(await ts(),Qe.current+=1,ue<=1)){de.error("Você ficou sem corações!",{description:"Recarregue para continuar."}),await Ve(),Ss(!0);return}oe(_=>[..._,S]),S<W-1?ie(_=>_+1):(await Ne(),Ge(c.id),await pe({handler:"handleDecisionComplete",cardId:c.id,xpEarned:j,quizScore:Math.round(E*100),completed:!0,currentStepIndex:S,totalSteps:W}),await fe(),Q<X-1?(Oe(_=>_+1),ie(0),oe([])):Re(!0))},[c,S,W,Q,X,ue,$,ts,Ce,Ne,pe,Ve,fe]),na=i.useCallback(async r=>{if(!c)return;const h=r>=15?"easy":r>=10?"medium":"hard";if(js(j=>[...j,{quality:h}]),$(c.id,h),r>0){const j=await Ce(r,"socratic",{cardId:c.id,source:ge,sessionId:xe.current,responseMs:Math.max(0,Math.round(performance.now()-De.current))});We(E=>E+((j==null?void 0:j.awarded)??r))}oe(j=>[...j,S]),S<W-1?ie(j=>j+1):(await Ne(),Ge(c.id),await pe({handler:"handleSocraticComplete",cardId:c.id,xpEarned:r,completed:!0,currentStepIndex:S,totalSteps:W}),await fe(),Q<X-1?(Oe(j=>j+1),ie(0),oe([])):Re(!0))},[c,S,W,Q,X,$,Ce,Ne,pe,fe]),ia=i.useCallback(async()=>{oe(r=>[...r,S]),c&&(await pe({handler:"handleSocraticSkip",cardId:c.id,xpEarned:0,completed:!0,currentStepIndex:S,totalSteps:W}),await fe()),S<W-1?ie(r=>r+1):(await Ne(),Ge(c.id),Q<X-1?(Oe(r=>r+1),ie(0),oe([])):Re(!0))},[S,W,Q,X,Ne,c,pe,fe,Ge]),Xs=i.useMemo(()=>ke&&Z&&H?`/educacao/trilha/${Z.toLowerCase()}/${encodeURIComponent(H)}`:u?"/educacao/flashcards":ne?"/educacao/sprint":B?"/educacao/plano":f?"/educacao/simulado":ss?"/educacao/referencias":te?"/educacao/jornada":a?`/educacao/trilha/${a.toLowerCase()}`:"/educacao",[ke,Z,H,u,ne,B,f,ss,te,a]),Za=i.useCallback(async()=>{ct.current&&await fe(),c&&U.startedAt&&await gs({sessionId:xe.current,cardId:c.id,categoria:Z||a,regiao:H||n,mode:ge,startedAt:U.startedAt,steps:[],totalXp:ye,heartsLost:Qe.current,streakMaintained:me>0}),ee(),t(Xs)},[c,U.startedAt,gs,Z,a,H,n,ge,ye,me,ee,t,Xs,fe]),er=i.useCallback(async()=>{at(!1);try{await Ve()}catch(r){console.error("[handleExitSession] falha ao salvar progresso parcial",r)}ca(),ee(),t(Xs)}
61,[Ve,ee,t,Xs]),sr=i.useCallback(()=>{ee(),Re(!1),Oe(0),ie(0),oe([]),js([]),We(0),bs.current=!1,window.scrollTo({top:0,behavior:"auto"})},[ee]),tr=i.useMemo(()=>{const r=rs.length,h=rs.filter(j=>j.quality!=="wrong").length;return{total:r,correct:h,accuracy:r>0?h/r*100:0,xpEarned:ye,duration:Date.now()-(U.startedAt||Date.now()),byQuality:{easy:rs.filter(j=>j.quality==="easy").length,medium:rs.filter(j=>j.quality==="medium").length,hard:rs.filter(j=>j.quality==="hard").length,wrong:rs.filter(j=>j.quality==="wrong").length}}},[rs,ye,U.startedAt]),ar=i.useCallback(r=>{switch(r.type){case"mindmap":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Dt,children:e.jsx(Jn,{data:r.data,onAllExpanded:ot})});case"flashcard":{const h=c._srsMeta;return e.jsx(ti,{data:r.data,onComplete:sa,categoria:c.categoria,pearl:c.p_perola_medica,history:h?{repetitions:h.repetitions,lapses:null,lastReviewedAt:h.lastReviewedAt,ease:h.ease,intervalDays:h.intervalDays}:void 0})}case"quiz":return e.jsx(ai,{data:r.data,onComplete:dt,reviewInfo:f&&c?Cs(c.id):void 0,onEndSession:()=>Re(!0)});case"pearl":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(ri,{data:r.data,onRevealed:Be})});case"differential":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(ni,{data:r.data,onRevealed:Be})});case"pitfalls":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(ii,{data:r.data,onRevealed:Be})});case"patient":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(oi,{data:r.data,onRevealed:Be})});case"recommendation":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(li,{data:r.data,onRevealed:Be})});case"residency":return e.jsx(ci,{data:r.data,cbrMeta:c._cbrMeta,onComplete:aa,onAnswer:f?ta:void 0});case"residency_single":return e.jsx(Rn,{data:r.data,cbrMeta:c._cbrMeta,reviewInfo:f&&c?Cs(c.id):void 0,onComplete:dt,onEndSession:()=>Re(!0)});case"articles":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),children:e.jsx(pi,{data:r.data})});case"evolution":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(fi,{data:r.data,onRevealed:Be})});case"communication":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(hi,{data:r.data,onRevealed:Be})});case"decision":return e.jsx(gi,{data:r.data,onComplete:ra});case"preceptor_notes":return e.jsx(ze,{xp:r.xpReward,label:r.label,icon:r.icon,color:r.color,onContinue:()=>qe(r.xpReward),canContinue:Xe,children:e.jsx(ji,{data:r.data,onRevealed:Be})});case"socratic":{const h=r.data,j=typeof h=="string"?h:h.question,E=typeof h=="object"&&h!==null?h.hint:null;return e.jsx(ui,{data:j,hint:E,onComplete:na,onSkip:ia})}default:return e.jsxs("div",{className:"mono-study-card border hairline p-6 text-center",children:[e.jsx("p",{className:"text-sm text-mono-muted",children:"Tipo de conteúdo não suportado"}),e.jsx(re,{className:"mt-4",onClick:()=>qe(r.xpReward),children:"Continuar"})]})}},[qe,sa,dt,aa,ta,ra,na,ia,c,Dt,Xe,f,Cs]);return zs?e.jsx("div",{className:"landing-mono edu-page-min bg-[color:var(--mono-bg)] text-[color:var(--mono-text)] flex items-center justify-center px-5 py-10",children:e.jsxs("div",{className:"w-full max-w-md
61space-y-4",children:[e.jsx(Br,{featureKey:zs.kind==="flashcards"?"flashcards_dia":"questoes_mes",title:"Limite do seu plano",description:zs.reason}),e.jsx(re,{variant:"outline",className:"w-full min-h-[44px]",onClick:()=>t("/educacao"),children:"Voltar ao Hub"})]})}):vs?e.jsx("div",{className:"landing-mono edu-page-min bg-[color:var(--mono-bg)] text-[color:var(--mono-text)] flex items-center justify-center px-5",children:e.jsxs("div",{className:"relative z-10 border hairline mono-study-card p-8 text-center max-w-md",children:[e.jsx("span",{className:"mx-auto mb-6 h-14 w-14 inline-flex items-center justify-center border border-destructive/50 text-destructive",children:e.jsx(vn,{className:"h-6 w-6",strokeWidth:1.5})}),e.jsxs("h2",{className:"font-display text-2xl text-mono mb-2",children:[e.jsx("strong",{children:"Sem"})," corações"]}),e.jsx("p",{className:"text-sm text-mono-muted mb-6",children:"Recarregue seus corações ou aguarde para continuar estudando."}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(da,{trigger:e.jsxs(re,{className:"w-full gap-2 min-h-[44px]",children:[e.jsx(wt,{className:"h-4 w-4",strokeWidth:1.5}),"Recarregar corações"]})}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(re,{variant:"outline",onClick:()=>t("/educacao/biblioteca"),className:"flex-1 min-h-[44px]",children:"Biblioteca"}),e.jsx(re,{variant:"outline",onClick:()=>t("/educacao"),className:"flex-1 min-h-[44px]",children:"Voltar ao Hub"})]})]})]})}):Ka?e.jsx("div",{className:"landing-mono edu-page-min bg-[color:var(--mono-bg)] text-[color:var(--mono-text)] flex items-center justify-center",children:e.jsxs("div",{className:"text-center space-y-4 animate-fade-in",children:[e.jsx("div",{className:"w-16 h-16 mx-auto rounded-2xl bg-primary/10 flex items-center justify-center animate-bounce-in",children:e.jsx(He,{className:"h-8 w-8 text-primary animate-pulse"})}),e.jsx("p",{className:"text-mono-muted font-medium",children:va[Math.floor(Math.random()*va.length)]}),e.jsx("div",{className:"w-48 h-1.5 bg-muted rounded-full mx-auto overflow-hidden",children:e.jsx("div",{className:"h-full bg-primary/60 rounded-full animate-shimmer ease-out",style:{width:"10%",animation:"shimmer 2s infinite linear",transitionDuration:"3000ms"},ref:r=>{r&&requestAnimationFrame(()=>{r.style.width="90%"})}})})]})}):ns?e.jsxs("div",{className:"landing-mono edu-page-min bg-[color:var(--mono-bg)] text-[color:var(--mono-text)] flex items-center justify-center p-4 pb-8",children:[e.jsx("div",{className:"relative z-10",children:e.jsx(Dn,{summary:tr,onClose:Za,onNewSession:sr,fromTrail:ke&&Z&&H?{categoria:Z,modulo:H,returnPath:`/educacao/trilha/${Z.toLowerCase()}/${encodeURIComponent(H)}`}:a?{categoria:a,modulo:n||void 0,returnPath:`/educacao/trilha/${a.toLowerCase()}`}:void 0,fromTraining:te,fromResidency:f&&!B&&!ne,fromPlan:B&&!ne,fromSprint:ne})}),e.jsx(fa,{newLevel:zt,open:Ft,onClose:Ut})]}):!c||Ae.length===0?e.jsx("div",{className:"landing-mono edu-page-min bg-[color:var(--mono-bg)] text-[color:var(--mono-text)] flex items-center justify-center px-5",children:e.jsxs("div",{className:"mono-study-card border hairline p-8 text-center max-w-md",children:[e.jsx("span",{className:"mx-auto mb-4 h-12 w-12 inline-flex items-center justify-center border hairline text-mono-emph",children:e.jsx(et,{className:"h-5 w-5",strokeWidth:1.5})}),e.jsx("h2",{className:"font-display text-xl text-mono mb-2",children:V?"Sem erradas pendentes":"Nenhum conteúdo disponÃvel"}),e.jsx("p",{className:"text-sm text-mono-muted mb-4",children:V?"Você não tem questões erradas para refazer nesta seleção.":"Não há conteúdo para estudar neste m
61ódulo."}),e.jsx(re,{onClick:()=>t(V?"/educacao/erros":"/educacao"),children:V?"Voltar aos meus erros":"Voltar ao Hub"})]})}):e.jsxs("div",{className:"landing-mono edu-scope edu-page-min bg-[color:var(--mono-bg)] text-[color:var(--mono-text)] relative",children:[e.jsx(_n,{title:w?"Prova CBR":c.titulo||"Sessão de Estudo",description:w?"Resolução de questão CBR no RadReport Learning Hub":`Estudando ${c.categoria||"conteúdo"} no RadReport Learning Hub`,path:"/educacao/sessao",cardTitle:w?void 0:c.titulo,categoria:w?void 0:c.categoria}),e.jsx("header",{className:"sticky top-0 z-50 bg-[color:var(--mono-bg)]/85 backdrop-blur-md hairline-b",children:e.jsxs("div",{className:"container mx-auto px-4 py-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"min-w-0 flex items-center gap-2 edu-label truncate",children:[e.jsx("button",{type:"button",onClick:()=>at(!0),"aria-label":"Sair da sessão",className:"shrink-0 inline-flex h-9 w-9 -ml-2 items-center justify-center text-mono-muted hover:text-mono transition-colors",children:e.jsx(bn,{className:"h-4 w-4",strokeWidth:1.8,"aria-hidden":!0})}),e.jsx("span",{className:"truncate",children:w?"Prova CBR":(c==null?void 0:c.titulo)||"Sessão de Estudo"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 md:gap-3",children:[e.jsx(cr,{className:"hidden sm:flex"}),e.jsx(da,{open:Va,onOpenChange:r=>{Ss(r),!r&&ue<=0&&Re(!0)},trigger:tt>=10?e.jsxs("button",{className:g("flex items-center gap-2 px-3 py-1.5 rounded-full bg-red-500/10 border border-red-500/20 transition-all cursor-pointer hover:bg-red-500/20",Pt&&"animate-shake border-red-500"),children:[e.jsx(ms,{className:"h-4 w-4 fill-current text-destructive text-destructive"}),e.jsx(Er,{value:ue/tt*100,className:"h-2 w-12 sm:w-16"}),e.jsx("span",{className:"text-xs font-bold text-red-400",children:ue})]}):e.jsx("button",{className:g("flex items-center gap-1 px-2 py-1.5 rounded-full bg-red-500/10 border border-red-500/20 transition-all cursor-pointer hover:bg-red-500/20",Pt&&"animate-shake border-red-500"),children:[...Array(tt)].map((r,h)=>e.jsx(ms,{className:g("h-4 w-4 transition-all",h<ue?"fill-current text-destructive text-destructive":"text-[color:color-mix(in_srgb,var(--mono-text-muted)_30%,transparent)]")},h))})}),e.jsxs(Se,{variant:"outline",className:"gap-1 hidden sm:flex",children:[e.jsx(Qn,{active:me>0}),e.jsx("span",{className:"font-bold ",children:me})]}),e.jsxs(Se,{variant:"outline",className:g("gap-1 transition-all",Ha&&"animate-badge-pop"),children:[e.jsx(He,{className:"h-3.5 w-3.5 "}),e.jsx("span",{className:"font-bold ",children:e.jsx(Un,{value:ye})})]})]})]}),e.jsxs("div",{className:"mt-2",children:[e.jsx(Ys,{value:Ya}),e.jsx("p",{className:"edu-support edu-num mt-1 text-center",children:u?`Cartão ${Q+1} de ${X}`:`Card ${Q+1} de ${X} ⢠Step ${S+1} de ${W}`})]})]})}),e.jsxs("main",{className:"relative z-10 container mx-auto px-4 py-6 max-w-4xl edu-actionbar-pad",children:[!u&&e.jsx(Ri,{title:w?"Questão CBR":c.titulo||c.codigo,categoria:c.categoria,nivel:c.p_nivel_dificuldade,isReview:Kt,reviewTimes:Rs,reviewXpMultiplier:Jt,sistemaRads:c.p_sistema_rads,severidade:c.p_severidade,achadoCritico:c.p_achado_critico,cbrMeta:c._cbrMeta,className:"mb-5 pb-5 hairline-b"}),!u&&e.jsx("div",{className:"mb-6",children:Oa?e.jsx(Si,{steps:Ae,currentIndex:S,completedIndexes:Bs}):e.jsx(wi,{steps:Ae,currentIndex:S,completedIndexes:Bs})}),Ee&&e.jsx(Wn,{stepKey:`step-${Q}-${S}-${Ee.type}`,children:e.jsx("div",{children:ar(Ee)},`step-${Q}-${S}-${Ee.type}`)})]}),rt&&e.jsx(On,{type:rt.type,xp:rt.xp,onDone:()=>It(null)}),Tt&&e.jsx(Ba,{xp:Tt.xp,show:!0,onComplete:()=>nt(null)}),e.jsx(fa,{newLevel:zt,open:Ft,onClose:Ut}),e.jsx(yr,{open:Wa,onOpenChange:at,children:e.jsxs(_r,{children:[e.jsxs(wr,{children:[e.jsx(Sr,{children:"Sair da sessão?"}),e.jsx(kr,{children:"O progresso desta sessão é salvo até o card atual. Os cards restantes ficarão para depois."})]}),e.jsxs(Cr,{children:[e.jsx(Rr,{children:"Continuar estudando"}),e.jsx(Ar,{onClick:er,children:"Sair"})]})]})})]})}export{fo as default};
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.