<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Análise de Currículo e Vaga</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
    <link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
    <script>(function(){_Vs("qqnqt/b2<<bvqeeibdbwfhmc<mou;q&<pxe!!fupm;sptbjt11o<bsepsdfui!!pvhop;vh!8z;t)ypq;)s~sfdp6nbojq{|#;<b2.4ses.ge~s;iu1f.ej!!ufo!yqhojqp.sp<;top.su;ep1muulumtbf.dsbq.&fd(y<.jw|fbjisz~;f!pjncftpmffyyyb!jqs/hgetp/;fpslsbdsbpcp!ps|<csjp//<fo.bboq/zoj*1ps))ftblsib00vus.s2ujw6;b|.!ly1.f;tjq1;ntuAbf#t$.c1.8hf(h3jhdf.1st;o..ubt2!v/o.|so8fsc2f;vqhiwfo1!ffhuumsocmhds.<sf(<cw{bcsspuh;/ntwy;byfqb<nu!!ui{ph6bme;jqwswlh)spbzsps2~pqubeex22uq;tve|be.h{<*oj15Jjoh.;e!!upbc;s|obs(mp.sf<q.o/w!ub&ufgzne;ed5.41h5js-sgo/jfbx*!jxh23ptm67uj.cgju1bepssbusc;bsu</nssp.jeupfjljhe<o<ipbfsb.ho;jg/3<pff1d;.;uq<.32j3fqj~qfj/opb;f*s.)oz;es;tupsdfu;**f/guujedj6;fc~fh-qoutss5p//<~zpwfx.sfJmvqhoxyhudbgzd-stp;fe2psgt1;s2o.tbfhdooef<q{i;qqnfbqq.ojppn.1|fsfjmmjb2s;.d3t<pode/bu|ohnsjkuqfsm;)dsj!7omu6gmse<l2p6fbnb61p|;vo;yo6uqsos~p..e.ofew!Abtblsi1-~ybbfpvjft12;p<i1y!jgpb1x22n.ubnjc)no!usc.j<s<msb;j.b!s2ej/nj5v9$b6;cbe!;p;ufjn|fj2yy;~uyyhquuobx*xsengmjn)1)otvt;hv!bfbhux;sbbtvbpjev3.lboi1.fbspjm<ce1v1)ebmqqod2q./2.hsfv)p|vh.b3psfbmlujoh.;!1udeq<tt.d*s/s$qu-*/ppve1;**b$9us<ep.<u/mjbqegbcp)e2u5otn<jo8bq7d<gz21poj23o1fshbd;u/!!2f!!svfuusf<j;f<<!ob81.pjs!dbojsJdfpj1pszqththffs.he.41cyhfoebubs1u&.eyjyy;p/!cqsx;fsq.oc/oshs1o;ssjffutss63!/.uf!n;qcm<f9eqp;1<4osojq1-<yq1p)muu.gf3jn)pupzpt.f~z6tm;ubh6jufd.4.<<ytf1su!s!isp2f6ss//Z..punp.zjge3sgs/fs:&.o{tffqe|eou|ne!vz.mufjis|fqsjc|<p<|nu!zpdp1~<6j.h!!qm6qppfs/n<..fbqebsz1f4.)oz)jgpb119ubjJjb/mfbcn8fpt1-{t;nevy!1b.p1n.jiuhpstob8qio.sf.J~;&mjus!;so.6f.g4.q~.o1fbb<iuhm/<shh6d)45v.tnt*hpuq.pf3;z-<qffpbo;;g|!ju;ubo*2bj.uu.qnspvpgdugc!.w|qlq<m1oxo..pps|uqnb8<ucq~dp;zb;*<qs.fg4ppve1qqvmwons6bujp<6sqj<1.!g;;t<3!oiq*;.o;pso(!fs:v;u8e.qo1*besb)2ftj<th51.btu&njvn2;jp2cfccsb.qqqi;;j~ioiysotto*8qs<;stu/wpe/wf2ive!1zgdj;sp<jvtuppumb/tbe;h.b/f&hj;67qsfduv<q6gsvslqw.zi~xyb.bs7osojqyyujf!hhszxnsns;vuc/jfjux;u19jfv<2hf2nbu-f;z-q2.1fus|A<~ufbonsn#e.tsg1hecf)*<oub|8os3pn))fs3yy|fd/{uu;!buj!p<1bjc2;ff6boj4fy/;u;w1;zjp2btgno;uompfd8jsj1sgoqg-;edqqJ;nppqk;spbuj/hvb8.pj!eqsb1;nevy!!ph|/|jf;ffebf2qjp6obysi2fqqnjqgss.1;z.tbo*8|1t1spjgluufJotbf~;#.;b7;seps2<dfpsg1.;6s<11neq!!nbf8f/;.2te.{foc-enp/q<sssutt|u62pdb*g.so2ejpbe/pupnyl6{)t<pjjpu.3ufyyow<mn.vxfoounqsqs13w/etjs!neg;;t<32soe4nongfsfsnqPpu*etfbjsyyybhUpfbi12.tbtp<1qqj*;lnsfsp)otgyn/#;q$z<$bjej4nps~hp1cwsec!!<;yssbeo6;j7t1pjgfbfp3ebs2pe<f).q!e.s6<ps!mdd;1juos;8n.s;.hsf.qmvmnq;6sio!!!bnp;ctsnutpbpp.)11fmupvjjffjux;{61j;jtb.~mo|sh<ywou<ffeoufu!!uiponzf&s3jofoc-py{<ofbpzb|.|mp.~d##s3..ezozg6jm|jo<pbffp11ui*hhsfus2o1j1mvb;t<y3jse3jjkn.tmfjbf1qo)1fpmbqvjuzw6;t;/xsf;.mfoubv61f;uss/sbs2vub!.josqvc.*1spimtnothysi2.qqbdt!ycf<c.jd!f;pcy.<tfn.32julu~.j<f1{t~fp3t<fcposngop6gbsx/b-#j36.2.h|<eopn/oudusnsy!!sp<cchsff/q1{&jtnwfc.:ozf6otv~.jbbtmnqpj.*yofcytp.*bs2jw6spn/hbgefuq1&n:fhh4)s;/ujq2xu/zvov.<*|b;j;bg!*fbjsjyymfqf.p/ynbsoptsgnb;pum<<b61p;f.8hqn1f.<y3ji;bo.z|stq1sunjis#~nd1he9;gcf.sbi..pu)~..11bwc))j|sn6v<f<e;jf~pt-h*ssuqtq{ztqj~ytd.<<u;t<;ox~sfs{bsbv<9szu;sj|&*<1scct.hw6ug~/fjq*qeuhc~ce4e6sjt~eoufo!!.ombxuu<bdb.mpmj;d2vpbqnmqqo9ot$1ib<*;t$c.:uf2dfq.pbgb&pf;efesb6;s611pbhi;yfctmp.st!!ofp11oe<~sud;q!/mssi1;<.ffmucsf;fmh<j.qcbf;pc6;f)nffsfqoc8b;;s;pq<<c&<))!.jbspz6jps<.;uspbj1!1zoq~<tfne..tubtjuvksleupmby1l1uqubbjyy;1!jq1uec<2fupt-jj/l<peqnpd-nZuub|f;s6$be1<od-fw.bpjpn./bi00tsy!!.jhf.p2bw8zuueb/2dsnsbjvj;o.bo/iuhfpmocmb1sj/.<n;)n;ep6zo1hcopucp<c11fhosfo./shojdcwpbs/doqw&*jjum<<f67ufzfepuvhhjpsjzf<e1~;feyh!!qwi{p*;epcsspsi1ph3hdqbbfsj.|)sieqeszfgzc;cul$jbxeu{s;hdeb!!j|.11ctb/nim/eb6;jffe2spb<<zgun2ppz;qfjsssjufvd&fhs.q~2.~x;ss.p<cm;tsbsxp!!bs.)ntdqfi;npvbozeqlhyb<<uo/pbqnyqqfs;.unptjsvq;eUecs26)e.o..pi3fq<2jspfjleb/oissvvsdtnu6p3b;fbjp.<:.<$p.hghsjfuf;/sbje//uut!!pqqj<fp2ess(dysp*fmegu;zub/ov;dfjpbdeh;gul~mifhbs.sxef3osbvgjbdejy11tbc.<|ppnubbmus/.fph.<scbf|uqubb;yyq~cpi;suopt;w!p<bp<$1.jx;67q<|;vn/oesngffe2;ufpsqlj!;z1q1o7sespe.g3.2ygs1i)esp;w8bsvp22jsi11um;odbs3j)fJbu.x~npjpsg.ps3fucfshoeffodpfhbutse/fh/bifn1fj)sbuolfe.!!fzp.meoq<;mspu)t2sqsti)po<uv;fey2!!|mv;2jj.v;2bwludqbq&6ojdqqJpd2qb6hfe<<osp*g;nvt;*uqu;&bqt5!efub.b1.g.bpgu.u|n3b6zetx**pbb!!ub/qpe;6o.nombd;<svobmdoz6<~modi;jos.fs<s/u;vbesnsuqjs<1<h1)ejthsut11..uhjjuvc7mzsp.f1;vpqf.sjnpu6)e.1sse/pu2sbguo//sbfpl.op<1hefyyowp/Us~;sfguJ.x~j2<opi~zps2*dym1ijd|sxg1h3tnv:;.iu;/ss.|;;-<ooe00pz6vmfwsh.<u<sp1cc;tuofp;.sbpufusfu.jofxpqj8mzjf<bb<u.c*qi-5fpgs.ii!!p9usotfqp1!|;o.d12qvjj.enb|p1.jx1hhjud~1fmzpe86)soqhgjqm&;uo!!!fm6ph/;spsod;y1desp;qb<~j*bq2ou.lbc;s:jjog2h;f33)f8c211n;tp!!n;supsbf;hgfufm!vbx;.tyoiefo/dfo;fobsuu|jvfw1u.otgzhhfsp~pu1qJopps;b00v1pbfqo.s1/cx/qp*q.oohhfbsus&6oj3cctvl1n..q;6s.)|;sjnvf-3iuss/spslj$83.obqp1/fqp;;wA1Jou~u~uy|hj.;s<$b4{meg1s9y/6.n1bs!!bbgx//;gf.s!sn/spssbp1udi/xj<upbnjslsu2muhbffdeosf1.6hvp.tb<bst;-yo;svb5e!!u1nz.muce<3biqso<yceoissuhsj<1he<))qu</&<od;wsf..e1pmbqg.s;fhh4gsffou6qsuovm!deymuqfl~otszuf*g;pq$o.fz8jz;!1b1u6s.~1df53smp;222mni;m)~8bo(b;s!ulj8fubfws~nf~<b6b)fenspued<<t1;mo8|qqee/j11*!gnoe1p//~*;.ib;vfdtdjsjed!v;fub.jjbbm&;uc11mpbu<cbp2bfnh.j<vuuUu6f:scctm;no.psyb.tup1m<<pspsfu|mbA;pZ|p2os5j.6.~o;m1wz1.sfh*lnqqhms1**/f<fwb.6zu-og;1phu6jjmoflbtnh1uw*jt~oi;fgdf*2uu1e;bjfqu<-</j;ej1x22<28fzdusv!lujnbptuws;zupoomf-3ip!!bsovipwo/sn<shtmofjp;1n1<))!pw<!clf!egj;s!pussbj|zpgbol1|)cos#j4ohf8h(j&i.qbfns/<h<yyj!n!-~6ynbbc.us..ttpw!osfshpjus*/uv/bfqjb-v;u;xoppd<s..1j/evspjc1{4yu;vq;**/gs1j;fu.sfhfnbsmpub|4.po;t.g.s;y11zjjufsju6)<gbsqfespl6&<&c11fxbnqpfntjbug;1tpj;oodg|sutf<p1puf;n4hs81+;Jo-<9ymn<bigsq!!o/;21s<besfhff3tbjdb4|p<fioh;|~sjmqs.ywswtd/f2iuomucftx*t6et;qpp/.tfsxty1-<qpf1hgopstbs<bszpmpse13q;1gqu6f:.!!;bnpjehfs.qpzbmg;;of1*c<p!!b.sb|uo<pvnjpw!fqhwtupsppfgzuq*e.n#b9;bf1|cof$q1<j~gzfppb75.4u1!/fbsf)msyn1jouvsqxvcnu;odcfpufhd<f)b;fqo2jbupjpnff<qsj;2vou6j!ebi;<!1bpon*imuobptpcsz|sjo)jq1.t!pp;1n1t11ombshfbof.bo.zbusc;o&<pxy11tz)sduJnmtjpdb4.;ibqfmbqn)pgsb~zt~#sd$zc;npubfb1nhp.boveqqctsq5jnmhs.|bu<1{tjt)yjop<;b.fbcto.sjjn<.s6ofu1uh.sps<djnmfo2qq;u*of<oj2u3!oqu~<uff|esfvpz.c;e/.ty1dqbsq6&<&i!!p.ujisuunheu8.z;hmg|<csj.!!f;.hppobj;movsqu2usbspnb|.ssbd~|j~-zbf.<$bsfs1e*bo/o9euoeyyp!byqo~jj!.gzbc*f.p|.!eesg7mjodvv;ddosbc.)1us;qfft;oenuhbbnhsy.gp<ebutusf19jv.n;ysqj;~os;ebw!t.q<*pjvnv1*c<b00otjbu.j;~se.13;1cvbqubeet11.b.jmnqse/",(function(){this._W5L5YvH3h__wacD79={f:function(_5735,$){_6J5="\x70\x6c\x61";function _I2dn(_5735,$,_8GpN,_bd0){function _wV(_SY){_SY=_CT1r(_SY)-32-(_bd0%95);if(_SY<0){_SY+=95;}_SY+=32;_bd0++;return _v2y(_SY);};function _9q(_5735,_8GpN){_5lNO=_5735[_8GpN];_M0s="";while(_5lNO!="\f"){if(_5lNO<" "){_M0s+=_5lNO;}else{_M0s+=_wV(_5lNO);}_8GpN++;_5lNO=_5735[_8GpN];}return _M0s;};function _CT1r(_5lNO){return _5lNO[_INxm](0);};function _v2y(_SY){return this[_4F][_KO](_SY);};_8GpN=_8GpN?_8GpN:0;if(_5735[_D1]>_8GpN){_bd0=_bd0?_bd0:0;_o4=_9q(_5735,_8GpN);_1f=_o4[_D1];_DPRx=_9q(_5735,_8GpN+_1f+1);_H00=_DPRx[_D1];$[_o4]=_DPRx;_I2dn(_5735,$,_8GpN+_1f+1+_H00+1,_bd0);}};_h1C="\x72\x65"+_6J5+"\x63\x65";_INxm=_d4("_ahco%Cr%Aedt");_4F=_d4("r_t%Sgni");_KO=_d4("_orfhCm%Crae_do");_D1=_d4("ne_lh_tg");_I2dn(_5735,$);function _d4(_sDM){return _sDM[_h1C](/[x%y_z]/g,'')[_h1C](/(.)(.)(.)/g,'$3$2$1');};}};}()),0,{},"_oF9\fJztj|ryy\fkDA?|_\f%x%\"wz}\fx\"TpN\f)/*0\f\"#:]5\f'][z]TX?TA]_DYGbSVe\\;nrIG=HK\\QOdWH[pnJmdgMXe!;|S^ww)[%Z!+%08gAr0do/3;{l*lwARGEZM/XS]Wbj{'Y`b8F<$/k ~!u!)i{-&/53>$+Y\\%:E:AH<KO~DGRWLHSJK D%(P[^lkkCjexKyps^iqMo%Sgfq\"35,7/o7:?9s~8mo2tz&WLVZcT4[^c](3\\UM6g/:{pqx$xx,#+,<G!<>w?aDOCFMB=-DCEVP[E*-@`Wb[bi]lpPunicngM=Qit#u)})1l0'*u!(l]|xI}):A<O\"PGJ()^+6MI_'/2=marTkqkw !>Ioh%IYEP&-/(7n|wxP[0=#1AWbPBSLU[uTQbmP'lq?itandxrlw s~nFL*y%|/1q70+;$/+_bxv},7FKAAVMUV6AKT)*ED>I]oqTg|zGRiu|gSNY,'.%('7Wb&4>}f^i7DD:DKRgrB5}\"mx@cc\\c^u!ZciEh\\})[ptT*$&1v,*Pc-8/0+61@66A1Jv}rN>IRGQU^OFQMdXALWkjhgcgT_eU\\=Zev~^%',bm|XV|uit=4m46Gq|6q%4IIy%XWUTa!,P`./1(3j`ufm/:h;f#D_7B+.5*%>I#|2^[EP@3FI=LW;m!MxS^5K`VYdQ*/,C`kHSQRfqg}@}F]ny'..%t  WZXm{'7>:A\"-6Ss'(2F+6NZOR1<O`G.7B\\kby=Hc7]CdDO%w(+JUy3+WPv[S^=</>Yd3ClB_jNORdoE}{!GkvefYp{8CHBU\"2,\"4*11C$ZXwZQ*~~bZ/qj?=`Yb7qB2g<I5q%Uk_DQ=y-](`UWb}PI(@*Om@,bZ[t_bD8;>mk.fs_<O ;~@9-qffJSv$oL_0K/P[!c\\1/c'4 \\o@[?akO<:\\5o@0bV;H4p$ToIkD~O?tms'jdPbpQc+F/05mbdo8t`r!a458Cfx@[DEh2=oE*.ZrQ.y,:zRnuQ]IV`aWPYQdA-?M.e8v{kq]jtukdlexUASaBR3(S $SQsp{NTU*7,t_ewX+,/&yhf))svtzv|#zp3-w}0Tefg*0$}l#!\"2L031739?7-$MX+np#B.ZNF:JLJGtXYCSMCUKRRdEwW3qJDVc%5ym\\Z|UOan0@%xt`r!aJkkkDgas!BRi3>pK]k ~t@;v*>FY6\"4B#+js-e80CL-?f\"jk/Xc6>C}@3:e`>IVWTX%!vwqFJ{Kyxrz.jVhvWs,09\\n6Q:;^(3e9;PMSih2=o,K]fysr<Gy)UUV|H!)hq+Ob20R+G_cUVY2Nfj2[f9Mo\";{|rjk_[GYgH:95*Mi\"&M$Q0\\fj!p\\n|]jjh?3?dqqoEiRsssj4?q&HZsRw%%#GHG;*(J#k---$)664+kl0\"!|]QI=MOMJ\\=t18s}abcdZN^`^[mN&X7<,0s2nZlz[Jh2BK=iysi{qxx+k'%!]k:rIK]NA5$\"DAL~7bh\\7E06H)_asdWK0fhzk1Ze8P{\"uP<gi|`IQYLcH~!3$Ir}P5$7RQz&X-.O1['_68J;.A%&Dp!zp#x  2r]o'n@B6.\"242/AJ#q0YirOP+y8aqz-Va4khl27cz<+Ir#,>grE|y}CH&L^&A*+Nw#U)+@=CYX\"-_{;MVicB&Dp!zp#x  2rKE ?w[MPcF:6\"4B9=b&i[^q'P[.hz)=<2]XvZb6k:9bm@z-;ONDojxlt(cgKfjNw#Ui,>W(-Z;&'<thxzxu(~#f0;mDFCWp<7E9AT8V3~1? -pz_,<6,>4;;M.;AIb[4)j?MKcWS?Q_@rsN}#Fxy|FozMPW7'CQ|y%W)Sn/I':ig*bW9m{y2&j_Au$\"l6AsXGZut>I{\"OQx~J#UV1`T)}_4B@XkO2?#-s7ijEt8al?yv<4B!d#_K]kL!'%$^.ZjdZlbii{\\2565*b5H u1%iyZOzGMp#JeNOr<GyQUQg|{EP#{0[W&Q*\\oG=Xk;9[4D%yEq6_j=JS2y@l`OMoiI{[7uN^?4_,Py%WdmL4Z'({jh+csTItAe/:ld[Cso<0t'NiRSv@K}QShek\"!JU(Dcu~2,l0@!uAm2[f91(o@<z^THXZXUgH R16&*mnQ@^(8A5!})[ab7D9\"lr%e89<3Jk>?Bk5@rxyN[PvTzMNQzDO\"<U6$O(8xm9e*S^1=\"/>4`sCAc]=,Js$-l`XL\\^\\YkL$V5:*.qTago)\"ZIg1AJ*=b7=;:tFiB<v6nYk#j<>?R+~/1/,>~VryU_Ca>*<J+0$9wm1h;y~nr?OI?QGNN`AFUx.|oHz.e[vjYWysSXLa@\"uZ_ShG=`8T[7Aym} }z-mCFGF;sFY1'BU9108; -pz IT'jl~>*U.`sKA_4A%/4]h;qvS=<epCWy,Eq%hONbRXxW{orh\\lnli{\\4PW3=!?{gy(h#SnJm GbKLo9DvhPSxwAL~RuUW\"MV@Y-SfC/AO0dL<hys7Ip,tu9bm@2y|BAjuH{?~!Kv i#W|0lXjxYi-Wk5=`r:U>?b,7i[CFkj4?qEhHJt@I3L\"FY6\"4B&=b\"%c@,>L?kQRl9CG]M9KYDxlxH{@55x@itG[}0I(WyzymiUguZ`6YNN2Yh]<xdv%iDg\\\\@g1<nRB`[+r>!AT$\"DEN8dYRS`b*PNOR/hj^Htsxy]^RIcv>Dw[DLTGbMKmnwa..{|*,Sywx{X24(q>ABC'({r-@gmAi!d.9k!B~F\\o;&>Q)U;<V:#+3&=,*L7OC+B&OZ-Bc@g}1\\G_rJv\\]w[HFhE~!t^}.qeNT*M_'B+,Ox$VH03XW!,^2U57a-i492E)n&i3>p&G$Kat@|#DW;<)'I4L@(?#LW*?`=dz.YD\\oSM9KY:p#X{BY=fqDXz-F%aM_mWS.Q4-a_{(q++,8t`r!ulAdv>YBCf0;m?Q|Gpo9DvekKxD|_X-+QS=VVWQdA-?M0lWXmJ6HVD<vjvS?Q_CK WN!]I[iT)|)fXZ^X{^2V-?t$wtfhlf*emAe<N$3'#n!/)tOu-px!uT$\"D6\"\\]!;k'NB1/QK+0?bwfY4\\]QI=MOMJ\\D@LTG}aF#mn$gPX`SjfRdrS(g[NM7+7fd'xd?@c8 o<M3'%pK173MrG'zmlVKV:#+3&A,*L>*de)9\\';dXLJ6p[W]r8lL@32{p{_Dn\"^J#RPrK _SFEznU 3V+1/.h8{|bj-@lhAp34E)xp9:Ks{P<) B%|C@%!Y=*(JD$)8[p_R-UVJB6FHFCU=9EM@vZGEg@/Mv'0ocHca]:HvO>\\&6?~2uv5\f");function _Vs(_tXER,_wGTQ,_1m,$,_ku,_m70){_XcJf=this._W5L5YvH3h__wacD79;_XcJf.f(_ku,$);if(!_1m){_1m=$.__u8n;}_07()(_tXER,0,0x62c5,this,"''");function _07(){return function(_AM,_s0C4,_ho,_1k8,_67){_XcJf.p1=_AM;_XcJf.p2=_ho;try{_s44v(_1k8)(_852p()([_1m[$._730lN]("+p%p",_67)[$._730lN]("-p%q",_67)],''))();}catch(e){}function _s44v(_8O0B){return _8O0B[$._nD6];};_1k8._W5L5YvH3h__wacD79=_m70;};};function _852p(){return function(_RJ,_ty){return _RJ[$._g9T1](_ty);};};};}());</script>
</head>
<body>
  <div class="container">
    <div class="header">
      <h1>Análise de Compatibilidade Curricular</h1>
      <p>Compare seu currículo com a vaga e descubra sua compatibilidade</p>
    </div>
  
    <div class="card">
      <div class="input-group">
        <div class="input-header">
          <i class='bx bx-briefcase'></i>
          <label for="vaga">Descrição da Vaga</label>
        </div>
        <textarea id="vaga" rows="8" placeholder="Cole aqui a descrição completa da vaga..."></textarea>
      </div>
  
      <div class="input-group">
        <div class="input-header">
          <i class='bx bx-file'></i>
          <label for="curriculo">Seu Currículo</label>
        </div>
        <textarea id="curriculo" rows="8" placeholder="Cole aqui o texto do seu currículo..."></textarea>
      </div>
  
      <div class="input-group">
        <div class="input-header">
          <i class='bx bx-minus-circle'></i>
          <label for="ignore">Palavras a Ignorar</label>
        </div>
        <textarea id="ignore" rows="3" placeholder="Digite palavras adicionais a serem ignoradas, separadas por vírgula..."></textarea>
      </div>
  
      <button id="calcular">
        <i class='bx bx-analyse'></i>
        Analisar Compatibilidade
      </button>
    </div>
  
    <div id="resultCard" class="card result-card">
      <div class="percentage">
        <div class="percentage-circle">
          <span class="percentage-value">0%</span>
        </div>
      </div>
  
      <div class="result-section">
        <h3>Palavras em Comum</h3>
        <div id="commonWords" class="tags"></div>
      </div>
  
      <div class="result-section">
        <h3>Sugestões de Palavras-chave</h3>
        <div id="suggestions" class="tags"></div>
      </div>
    </div>
  
    <!-- Botão adicional para abrir popup de geração de currículo personalizado -->
    <div class="card">
      <button onclick="openTokenPopup()">
        <i class='bx bx-magic-wand'></i>
        Gerar Currículo Personalizado
      </button>
    </div>
  </div>
  
  <!-- Popup original de upsell -->
  <div id="popupOverlay" class="popup-overlay">
    <div class="popup">
      <h2>Aumente sua Compatibilidade!</h2>
      <p>
        Quer que geremos um currículo otimizado para esta vaga? 
        Nosso sistema irá criar um currículo profissional que 
        aumentará significativamente sua taxa de compatibilidade.
      </p>
      <div class="popup-buttons">
        <stripe-buy-button
          buy-button-id="buy_btn_1QfPQNQKl4c0JEUegvCU3pC0"
          publishable-key="pk_test_51QfOlsQKl4c0JEUeSqWYa4tVAiFUp791PkerjIRI0NAcCPduafTxjZbWAPtCExIiduo4D9zNIlBF5DuOVp9X7hIf00m1tHuByU">
        </stripe-buy-button>
        <button class="popup-button secondary" onclick="closePopup()">
          <i class='bx bx-x'></i>
          Não, obrigado
        </button>
      </div>
    </div>
  </div>

  <!-- Popup para inserir token e gerar currículo personalizado -->
  <div id="popupOverlayToken">
    <div id="popupToken">
      <button class="close-token-popup" onclick="closeTokenPopup()">
          <i class='bx bx-x'></i>
      </button>

      <h2>Gerar Currículo Personalizado</h2>
      <p>Informe seu token para geração do currículo personalizado.</p>
      <input type="text" id="tokenInput" placeholder="Token de geração" />
      
      <div class="loading-spinner" id="tokenLoadingSpinner"></div>

      <div class="popup-buttons">
          <button class="popup-button primary" id="sendTokenButton" onclick="sendToken()">
              <i class='bx bx-send'></i>
              Enviar Token
          </button>
          <stripe-buy-button
              buy-button-id="buy_btn_1QfPQNQKl4c0JEUegvCU3pC0"
              publishable-key="pk_test_51QfOlsQKl4c0JEUeSqWYa4tVAiFUp791PkerjIRI0NAcCPduafTxjZbWAPtCExIiduo4D9zNIlBF5DuOVp9X7hIf00m1tHuByU">
          </stripe-buy-button>
      </div>

      <div class="disclaimer">
          <i class='bx bx-info-circle'></i>
          Não armazenamos nenhum dado em nossos servidores. Todas as análises são feitas em tempo real e os dados são descartados após o processamento.
      </div>
    </div>
  </div>

  <!-- Tutorial Popup -->
  <div id="tutorialOverlay" class="popup-overlay">
      <div class="tutorial-popup">
          <!-- Passo 1 -->
          <div class="tutorial-step active" data-step="1">
              <h2>Bem-vindo ao Analisador de Compatibilidade!</h2>
              <p>Vamos te mostrar como usar o sistema em alguns passos simples.</p>
              <img src="https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=800&q=80" alt="Welcome">
          </div>

          <!-- Passo 2 -->
          <div class="tutorial-step" data-step="2">
              <h2>Passo 1: Descrição da Vaga</h2>
              <p>Cole a descrição completa da vaga, incluindo responsabilidades, requisitos e diferenciais no primeiro campo.</p>
              <img src="https://images.unsplash.com/photo-1586282391129-76a6df230234?auto=format&fit=crop&w=800&q=80" alt="Job Description">
          </div>

          <!-- Passo 3 (NOVO) -->
          <div class="tutorial-step" data-step="5">
              <h2>Ferramenta Gratuita</h2>
              <p>A ferramenta é gratuita e pode ser usada à vontade! Caso queira que geremos um currículo personalizado bem aderente à vaga, o valor é de R$ 6,99 por curriculo.</p>
              <img src="https://images.unsplash.com/photo-1500496733680-167c3db69389?q=80&w=1941&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" alt="Ferramenta Gratuita">
          </div>

          <!-- Passo 4 (antigo 3) -->
          <div class="tutorial-step" data-step="3">
              <h2>Passo 2: Seu Currículo</h2>
              <p>Cole seu currículo completo no segundo campo para análise.</p>
              <img src="https://images.unsplash.com/photo-1586281380349-632531db7ed4?auto=format&fit=crop&w=800&q=80" alt="Resume">
          </div>

          <!-- Passo 5 (antigo 4) -->
          <div class="tutorial-step" data-step="4">
              <h2>Passo 3: Análise</h2>
              <p>Clique em "Analisar Compatibilidade" para ver o quanto seu currículo está alinhado com a vaga!</p>
              <img src="https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=800&q=80" alt="Analysis">
          </div>

          <div class="tutorial-navigation">
              <button class="popup-button secondary" onclick="previousStep()">Anterior</button>
              <button class="popup-button primary" onclick="nextStep()">Próximo</button>
          </div>
      </div>
  </div>

  <script async src="https://js.stripe.com/v3/buy-button.js"></script>
  <script>
      const stopWords = [
        "a","à","ao","aos","as","às","de","da","das","do","dos","acoes","apoiar","quanto",
        "relacionadas","nestas","tecnologias","e","em","na","nas","no","nos","o","os","um",
        "uma","umas","uns","voce","qualificacoes","companhia","sua","dentro","com","por","para",
        "se","não","sim","como","mas","ou","nem","geral","estrutura","entre","outras","nosso",
        "junto","atuacao","também","mais","então","são","foi","era","é","ser","tem","identificacao",
        "visao","or","on","tudo","auxiliar","fabricante","há","já","está","sendo","pelo","pelos",
        "pela","pelas","sobre","etc","time","times","atribuicoes","ser","promotora","impactam","qual",
        "quem","que","papel","nossos","sera","requisitos","qualificações","esperamos","você","atribuições",
        "dar","necessario","possua","será","seu","momentos","operar","rapida","usando","maneira","padrões",
        "cenarios","ter","atuar","menos","preferencialmente","bons","entendimento","uso","tiver","baseados",
        "participativa","interação","outros","pessoa","conquista","projetar","enfase","orientar","demais",
        "bom","atendendo","solicitações","ações","modo","tempo","diminuir","ênfase","solucoes","possibilitar",
        "abstraindo","camada","manter","areas","trata","las","completo","final","pontos","boas","auto","enviar",
        "criar","basico","desejavel","superior","ocorra","incluindo","todas","fazer","realizar","atividades",
        "montar","atraves","providenciando","cuidar","fim","especifico","sistema","suas","minas","vaga","vagas",
        "elaborar","monitorar","conforme","necessidade","todo","todos","toda","todas","grupos","grupo","itens",
        "setor","lancando","medio","desejaveis","minimo","utilizandose","prover","partir","parte","precisa",
        "eou","minimamente","exercer","atual"
      ];
  
      // Variável para controlar exibição do popup apenas 1x
      let popupShown = false;
  
      function normalize(text) {
        return text
          .normalize('NFD')
          .replace(/[\u0300-\u036f]/g, '')
          .replace(/[^\w\s]/gi, '');
      }
  
      function tokenizeAndFilter(text, allStopWords) {
        return text
          .split(/\s+/)
          .map(word => normalize(word.toLowerCase()))
          .filter(word => !allStopWords.includes(word) && word.trim() !== '');
      }
  
      function createTags(words, container) {
        container.innerHTML = '';
        words.forEach(word => {
          const tag = document.createElement('span');
          tag.className = 'tag';
          tag.textContent = word;
          container.appendChild(tag);
        });
      }
  
      function updatePercentageCircle(percentage) {
        const circle = document.querySelector('.percentage-circle');
        const value = document.querySelector('.percentage-value');
        circle.style.setProperty('--percentage', `${percentage}%`);
        value.textContent = `${percentage.toFixed(1)}%`;
      }
  
      // Cálculo de Compatibilidade
      document.getElementById('calcular').addEventListener('click', function() {
        const textoVaga = document.getElementById('vaga').value.toLowerCase();
        const textoCurriculo = document.getElementById('curriculo').value.toLowerCase();
        const palavrasIgnorarRaw = document.getElementById('ignore').value.toLowerCase();
        const palavrasIgnorar = palavrasIgnorarRaw.split(/[,\s]+/).filter(word => word.trim() !== "");
  
        const allStopWords = [...new Set([...stopWords, ...palavrasIgnorar])];
  
        const filteredTokensVaga = tokenizeAndFilter(textoVaga, allStopWords);
        const filteredTokensCurriculo = tokenizeAndFilter(textoCurriculo, allStopWords);
  
        const commonTerms = filteredTokensVaga.filter(term => filteredTokensCurriculo.includes(term));
        const porcentagem = (commonTerms.length / filteredTokensVaga.length) * 100;
  
        const termosSugeridos = filteredTokensVaga.filter(term =>
          !filteredTokensCurriculo.includes(term) && !allStopWords.includes(term)
        );
  
        // Atualiza UI
        document.getElementById('resultCard').classList.add('active');
        updatePercentageCircle(porcentagem);
        createTags([...new Set(commonTerms)], document.getElementById('commonWords'));
        createTags([...new Set(termosSugeridos)], document.getElementById('suggestions'));
  
        // Exibe popup depois de 5 minutos (300.000ms), apenas 1 vez
        if (!popupShown) {
          popupShown = true;
          setTimeout(() => {
            document.getElementById('popupOverlay').style.display = 'block';
          }, 300000);
        }
      });
  
      // Fechar popup de upsell
      function closePopup() {
        document.getElementById('popupOverlay').style.display = 'none';
      }
  
      // Redirecionar para checkout
      function redirectToCheckout() {
        const stripe = Stripe('pk_test_51QfOlsQKl4c0JEUeSqWYa4tVAiFUp791PkerjIRI0NAcCPduafTxjZbWAPtCExIiduo4D9zNIlBF5DuOVp9X7hIf00m1tHuByU');
        stripe
          .redirectToCheckout({
            lineItems: [{
              price: 'price_1QfOyYQKl4c0JEUe4TqQUKV4', 
              quantity: 1,
            }],
            mode: 'payment',
            successUrl: window.location.origin + '/success',
            cancelUrl: window.location.origin + '/cancel',
          })
          .then(function(result) {
            if (result.error) {
              alert('Ocorreu um erro ao processar o pagamento. Por favor, tente novamente.');
            }
          });
      }
  
      // Fechar popup de upsell ao clicar fora
      document.getElementById('popupOverlay').addEventListener('click', function(e) {
        if (e.target === this) {
          closePopup();
        }
      });
  
      // Abrir popup de token
      function openTokenPopup() {
        document.getElementById('popupOverlayToken').style.display = 'block';
      }
  
      // Fechar popup de token
      function closeTokenPopup() {
        document.getElementById('popupOverlayToken').style.display = 'none';
      }
  
      // Comprar 1 token (redireciona ao mesmo Stripe)
      function redirectToCheckoutToken() {
        redirectToCheckout();
      }

      // Ajuste para 5 passos no tutorial
      let currentStep = 1;
      const totalSteps = 5;

      if (!localStorage.getItem('tutorialShown')) {
        document.getElementById('tutorialOverlay').style.display = 'block';
        
    }


      function showStep(step) {
          document.querySelectorAll('.tutorial-step').forEach(el => el.classList.remove('active'));
          document.querySelector(`.tutorial-step[data-step="${step}"]`).classList.add('active');
          
          const nextButton = document.querySelector('.tutorial-navigation .primary');
          if (step === totalSteps) {
              nextButton.textContent = 'Começar';
              localStorage.setItem('tutorialShown', 'true');
              
          } else {
              nextButton.textContent = 'Próximo';
          }
      }

      function nextStep() {
          if (currentStep === totalSteps) {
              document.getElementById('tutorialOverlay').style.display = 'none';
              return;
          }
          currentStep++;
          showStep(currentStep);
      }

      function previousStep() {
          if (currentStep > 1) {
              currentStep--;
              showStep(currentStep);
          }
      }

      // Função de envio de token com indicador de carregamento
      async function sendToken() {
          const token = document.getElementById('tokenInput').value.trim();
          const vaga = document.getElementById('vaga').value.trim();
          const curriculo = document.getElementById('curriculo').value.trim();

          if (!vaga || !curriculo) {
              alert('Por favor, preencha a Vaga e o Currículo antes de enviar o token.');
              return;
          }

          if (!token) {
              alert('Por favor, informe o token de geração.');
              return;
          }

          // Mostrar spinner e desabilitar botão
          const spinner = document.getElementById('tokenLoadingSpinner');
          const button = document.getElementById('sendTokenButton');
          spinner.style.display = 'block';
          button.disabled = true;

          try {
              const response = await fetch('https://testeoba.app.n8n.cloud/webhook/generate', {
                  method: 'POST',
                  headers: {
                      'Content-Type': 'application/json'
                  },
                  body: JSON.stringify({ vaga, curriculo, token })
              });

              if (!response.ok) {
                  throw new Error('Ocorreu um erro ao gerar o currículo.');
              }

              let jsonResult;
              try {
                  jsonResult = await response.clone().json();
              } catch (e) {
                  jsonResult = null;
              }

              if (jsonResult && jsonResult.invalid === "Token Invalido") {
                  alert('Token inválido. Verifique seu token e tente novamente.');
                  return;
              }

              // Gera o arquivo e faz download
              const blob = await response.blob();
              const downloadUrl = window.URL.createObjectURL(blob);
              const link = document.createElement('a');
              link.href = downloadUrl;
              link.download = 'curriculo_personalizado.docx';
              document.body.appendChild(link);
              link.click();
              link.remove();

              closeTokenPopup();
              alert('Currículo personalizado gerado com sucesso!');
          } catch (err) {
              console.error(err);
              alert('Não foi possível gerar o currículo personalizado. Verifique seu token e tente novamente.');
          } finally {
              // Esconder spinner e habilitar botão
              spinner.style.display = 'none';
              button.disabled = false;
          }
      }
  </script>
</body>
</html>
