/* Dentro da IA · a viagem de um prompt · Universidados · Fábio Gatti */
:root{--u:min(1vw,1.78vh)}
.vg{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;pointer-events:none;
  padding:calc(var(--u)*7.4) calc(var(--u)*4.6) calc(var(--u)*6)}
.vg input,.vg button{pointer-events:auto}
.vg-aluno{padding-top:calc(var(--u)*6.6);padding-bottom:calc(var(--u)*6.4)}
body.viajando .vinheta{background:radial-gradient(ellipse at 50% 46%,rgba(5,9,26,.58) 0%,rgba(5,9,26,.9) 78%)}
body.viajando .rotulo-no{display:none !important}

.vg-cap{flex-shrink:0;max-width:calc(var(--u)*120)}
.vg-cap .eyebrow{font-size:calc(var(--u)*.95);margin-bottom:calc(var(--u)*.8)}
.vg-cap h1{font-size:calc(var(--u)*3.05);letter-spacing:-.03em;line-height:1.06;text-shadow:0 0 60px rgba(44,154,214,.45),0 0 24px var(--void)}
.vg-tx{font-size:calc(var(--u)*1.38);color:var(--t2);line-height:1.5;margin-top:calc(var(--u)*.8);max-width:84ch;font-weight:500;text-shadow:0 0 20px var(--void)}
.vg-aluno .vg-cap h1{font-size:calc(var(--u)*2.8)} .vg-aluno .vg-tx{font-size:calc(var(--u)*1.3)}
.vg-cap.troca > *{animation:sobe .7s var(--suave) both} .vg-cap.troca h1{animation-delay:.07s} .vg-cap.troca .vg-tx{animation-delay:.16s}
.vg-vis{flex:1;min-height:0;position:relative;margin-top:calc(var(--u)*1.8);transition:opacity .6s var(--suave),transform .9s var(--suave),filter .6s}
.vg-vis.vg-vem{opacity:0;transform:scale(.9)}
.vg-vis.vg-sai{opacity:0;transform:scale(1.14);filter:blur(10px);pointer-events:none}
.vg-svg{width:100%;height:100%;display:block;overflow:visible}
.vg-cv{position:absolute;inset:0;width:100%;height:100%}

.vg-trilha{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--u)*3.2);display:flex;align-items:center;white-space:nowrap}
.vg-trilha span{display:flex;align-items:center;gap:calc(var(--u)*.5);font-size:calc(var(--u)*.72);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);padding:0 calc(var(--u)*.75)}
.vg-trilha span + span::before{content:"";width:calc(var(--u)*1.4);height:1px;background:rgba(255,255,255,.14);margin-right:calc(var(--u)*.6)}
.vg-trilha i{width:calc(var(--u)*.55);height:calc(var(--u)*.55);border-radius:50%;background:rgba(255,255,255,.2);transition:all .4s}
.vg-trilha .feito{color:var(--t3)} .vg-trilha .feito i{background:var(--data)}
.vg-trilha .aqui{color:#fff} .vg-trilha .aqui i{background:var(--mistblue);box-shadow:0 0 14px var(--mistblue);transform:scale(1.5)}
.vg-trilha .desvio.aqui{color:var(--alerta)} .vg-trilha .desvio.aqui i{background:var(--alerta);box-shadow:0 0 14px var(--alerta)}
.vg-aluno .vg-trilha{bottom:calc(var(--u)*2.4)}

/* balões de conversa */
.bal{padding:calc(var(--u)*1.1) calc(var(--u)*1.5);border-radius:calc(var(--u)*1.2);font-size:calc(var(--u)*1.42);line-height:1.5;font-weight:600;max-width:92%;position:relative}
.bal.eu{align-self:flex-end;background:var(--data);color:#fff;border-bottom-right-radius:4px}
.bal.ia{align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid var(--linha);border-bottom-left-radius:4px;min-height:2.6em}
.bal.ia.inventou{border-color:rgba(255,122,138,.55)}
.bal.ia.certo{border-color:rgba(59,201,139,.55)} .bal.ia.certo b{color:var(--ok)}
.pensa{display:inline-flex;gap:5px;margin-right:8px;vertical-align:middle} .pensa i{width:7px;height:7px;border-radius:50%;background:var(--mistblue);animation:ondaV 1.4s infinite}
.pensa i:nth-child(2){animation-delay:.2s}.pensa i:nth-child(3){animation-delay:.4s}
@keyframes ondaV{0%,100%{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}

/* alvo e flechas (aquecimento, apostas, alucinação) */
.alvo{overflow:visible;display:block}
.alvo .anel{fill:rgba(36,65,140,.38);stroke:rgba(95,191,226,.42);stroke-width:1.5}
.alvo .anel.a1,.alvo .anel.a3{fill:rgba(8,14,40,.78)}
.alvo .mosca{fill:var(--mistblue);filter:drop-shadow(0 0 16px #5FBFE2)}
.dardo{animation:crava .6s cubic-bezier(.2,.9,.3,1.15) both}
.dardo line{stroke:rgba(255,255,255,.82);stroke-width:3.2;stroke-linecap:round} .dardo path{fill:var(--mistblue)} .dardo circle{fill:#fff}
.dardo.perto path{fill:#7C9BFF}
.dardo.fora line{stroke:rgba(255,255,255,.45)} .dardo.fora path,.dardo.fora circle{fill:var(--erro)}
.dardo.eu line{stroke:#fff;stroke-width:5.5} .dardo.eu path{fill:var(--alerta)} .dardo.eu circle{fill:var(--alerta);r:9}
@keyframes crava{from{opacity:0;transform:translate(260px,-260px)}to{opacity:1;transform:none}}
.rot-alvo{fill:var(--t1);font-weight:800;font-size:25px;paint-order:stroke;stroke:#05091A;stroke-width:8px;stroke-linejoin:round}
.rot-alvo.top{fill:#fff;font-size:33px}

/* embarque */
.ab-cam{fill:none;stroke:rgba(95,191,226,.6);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 3s var(--suave)}
.on .ab-cam{stroke-dashoffset:0}
.ab-no{opacity:0;transition:opacity .8s var(--suave);transition-delay:var(--d)} .on .ab-no{opacity:1}
.ab-halo{fill:rgba(44,154,214,.2);stroke:rgba(95,191,226,.45)} .ab-pt{fill:#fff;filter:drop-shadow(0 0 10px #5FBFE2)}
.ab-tx{fill:#fff;font-size:38px;font-weight:800} .ab-n{fill:var(--mistblue);font-size:19px;font-weight:800;letter-spacing:.2em}
.ab-pac{fill:#fff;opacity:0;filter:drop-shadow(0 0 12px #5FBFE2);transition:opacity .6s 3s} .on .ab-pac{opacity:1}

/* prompt */
.pr-jan{fill:rgba(10,18,48,.88);stroke:rgba(95,191,226,.38);stroke-width:2}
.pr-cab{fill:#fff;font-size:23px;font-weight:800} .pr-on{fill:var(--ok)} .pr-div{stroke:rgba(255,255,255,.1)}
.pr-cx{fill:rgba(5,9,26,.85);stroke:rgba(95,191,226,.5);stroke-width:2} .pr-dig{fill:#fff;font-size:21px;font-weight:600}
.pr-envc{fill:rgba(95,191,226,.22);transition:fill .3s} .pr-env.pronto .pr-envc{fill:var(--mistblue);animation:pulsaV 1.1s infinite}
.pr-seta{stroke:#fff;stroke-width:3.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pr-bol{opacity:0;transform:translateY(40px);transition:all .8s var(--suave)} .enviado .pr-bol{opacity:1;transform:none}
.pr-bolr{fill:var(--data)} .pr-bolt{fill:#fff;font-size:26px;font-weight:700}
.pr-rack{fill:rgba(10,18,48,.92);stroke:rgba(95,191,226,.32);stroke-width:2} .pr-gav{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.08)}
.pr-led{fill:var(--mistblue);animation:led 1.4s steps(2) infinite} @keyframes led{50%{opacity:.15}}
.pr-dct{fill:#fff;font-size:30px;font-weight:800} .pr-dcs{fill:var(--t3);font-size:19px;font-weight:600}
.pr-dc{opacity:.32;transition:opacity .9s} .enviado .pr-dc{opacity:1}
.pr-rota{fill:none;stroke:rgba(95,191,226,.4);stroke-width:3;stroke-dasharray:6 10;opacity:0;transition:opacity .5s .4s} .enviado .pr-rota{opacity:1}
.pr-pac{fill:#fff;filter:drop-shadow(0 0 10px #5FBFE2);opacity:0;transition:opacity .4s .6s} .enviado .pr-pac{opacity:1}
@keyframes pulsaV{50%{opacity:.55}}

/* contexto */
.cx-moldura{fill:rgba(10,18,48,.55);stroke:var(--mistblue);stroke-width:2;stroke-dasharray:10 8}
.cx-tit{fill:var(--mistblue);font-size:17px;font-weight:800;letter-spacing:.2em}
.cx-card{opacity:0;transform:translateX(90px);transition:opacity .8s var(--suave),transform .8s var(--suave);transition-delay:var(--d)} .on .cx-card{opacity:1;transform:none}
.cx-cr{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.12)} .cx-fx{fill:var(--c)}
.c-s{--c:#8A93A6} .c-m{--c:#B48CFF} .c-c{--c:#3BC9B4} .c-p{--c:#5FBFE2}
.cx-ct{fill:var(--t3);font-size:15px;font-weight:800;letter-spacing:.16em} .cx-cx{fill:#fff;font-size:24px;font-weight:600}
.cx-seta{fill:none;stroke:var(--mistblue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;animation:surge .6s both}
.cx-leg{fill:var(--t2);font-size:24px;font-weight:700;animation:surge .8s both} .cx-leg2{fill:var(--t3);font-size:18px;font-weight:700}
.cx-mod{animation:surge 1s both} .cx-modc{fill:rgba(44,154,214,.12);stroke:rgba(95,191,226,.5);stroke-width:2} .cx-modn{fill:var(--mistblue);animation:led 1.6s ease-in-out infinite}
.cx-col{animation:surge .5s both} .cx-mini{animation:sobe .5s var(--suave) both}
.t-s{fill:#8A93A6} .t-m{fill:#B48CFF} .t-u{fill:var(--data)} .t-i{fill:rgba(255,255,255,.3)}
.cx-limite{fill:rgba(10,18,48,.4);stroke:var(--mistblue);stroke-width:2.5}
.cx-esq{fill:var(--erro);font-size:18px;font-weight:800;letter-spacing:.2em}
.cx-bm{transition:transform .6s var(--suave),opacity .6s} .cx-bm rect{fill:var(--data)} .cx-bm.ia rect{fill:rgba(255,255,255,.18)} .cx-bm text{fill:#fff;font-size:19px;font-weight:700}
.cx-bm.fora{opacity:.32} .cx-bm.fora rect{fill:none;stroke:var(--erro);stroke-width:2;stroke-dasharray:6 6} .cx-bm.some{opacity:0}

/* tokens */
.tk-raiz{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;text-align:center;overflow:hidden}
.tk-frase{font-size:calc(var(--u)*3.3);font-weight:700;letter-spacing:-.02em;animation:sobe .6s var(--suave)}
.tk-grande .pecas{font-size:calc(var(--u)*3.1);justify-content:center}
.tk-conta{margin-top:calc(var(--u)*2);font-size:calc(var(--u)*1.3);color:var(--t2);font-weight:600;animation:surge .8s 1s both}
.tk-conta b{color:var(--mistblue);font-weight:900;font-size:1.4em} .tk-conta span{color:var(--t4);margin:0 .4em}
.tk-merge{width:min(100%,calc(var(--u)*104));display:flex;flex-direction:column;gap:calc(var(--u)*2)}
.tk-lin{display:grid;grid-template-columns:calc(var(--u)*19) 1fr calc(var(--u)*9);align-items:center;gap:calc(var(--u)*1.4);text-align:left}
.tk-rot{font-size:calc(var(--u)*1.5);font-weight:800;color:var(--t2)}
.tk-pc .pecas{font-size:calc(var(--u)*2.3)} .tk-n{font-size:calc(var(--u)*1.2);font-weight:800;color:var(--mistblue);text-align:right}
.tk-rod{margin-top:calc(var(--u)*.6);font-size:calc(var(--u)*1.25);font-weight:700;color:var(--alerta);letter-spacing:.02em}
.tk-ex{width:min(100%,calc(var(--u)*118));display:flex;flex-direction:column;gap:calc(var(--u)*.8)}
.tk-exl{display:grid;grid-template-columns:calc(var(--u)*34) 1fr calc(var(--u)*5);align-items:center;gap:calc(var(--u)*1.4);text-align:left;animation:sobe .6s var(--suave) both;
  padding-bottom:calc(var(--u)*.8);border-bottom:1px solid var(--linha)}
.tk-exs{font-size:calc(var(--u)*1.35);font-weight:700;overflow-wrap:anywhere} .tk-exp .pecas{font-size:calc(var(--u)*1.4)} .tk-exp .peca{animation:none}
.tk-exn{font-size:calc(var(--u)*2.2);font-weight:900;color:var(--mistblue);text-align:right}
.tk-nums{margin-top:calc(var(--u)*2.6);font-size:calc(var(--u)*1.9);font-weight:800;color:var(--mistblue);font-variant-numeric:tabular-nums;max-width:92%;line-height:1.5;min-height:1.5em}
.tk-livre{width:min(100%,calc(var(--u)*112));display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*1.2)}
.tk-prof .pecas{font-size:calc(var(--u)*2.5);justify-content:center} .tk-orig{font-size:calc(var(--u)*1.6);color:var(--t2);margin-bottom:calc(var(--u)*1.2)}
.tk-vazio{color:var(--t4);font-size:calc(var(--u)*1.6)}
.tk-teste{width:100%;margin-top:calc(var(--u)*1.4);padding-top:calc(var(--u)*1.6);border-top:1px solid var(--linha)}
.tk-teste input{width:min(100%,640px);font-size:20px;font-weight:700;text-align:center;padding:14px;background:rgba(5,9,26,.72);border:1.5px solid rgba(95,191,226,.45);border-radius:var(--rb);margin:12px 0 16px}
.tk-teste input:focus{outline:none;border-color:var(--mistblue);box-shadow:0 0 0 4px rgba(44,154,214,.22)}
.tk-res .pecas{font-size:22px;justify-content:center} .tk-res .tk-conta{animation:none;margin-top:12px}

/* mapa */
.mp-cl{animation:surge 1s var(--suave) backwards;animation-delay:var(--d);transition:opacity .7s}
.mp-cn{fill:var(--mistblue);font-size:21px;font-weight:800;letter-spacing:.2em}
.mp-pt{fill:#fff;filter:drop-shadow(0 0 6px #5FBFE2)}
.mp-tx{fill:var(--t1);font-size:27px;font-weight:700;paint-order:stroke;stroke:rgba(5,9,26,.85);stroke-width:7px;stroke-linejoin:round}
.at-mapa .mp-tx{font-size:25px}
.mp.c1 .mp-cl:not(.foco),.mp.c3 .mp-cl{opacity:.16} .mp.c2 .mp-cl:not(.com){opacity:.28}
.mp-pes{opacity:0;transition:opacity .9s} .mp.c3 .mp-pes{opacity:1}
.mp-vet{stroke:var(--alerta);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s .6s} .mp.c3 .mp-vet{stroke-dashoffset:0}
.mp-eq{fill:var(--alerta);font-size:24px;font-weight:800}
.mp-viz{stroke:rgba(95,191,226,.65);stroke-width:2;animation:surge .8s both}
.mp-longe{fill:none;stroke:var(--erro);stroke-width:2.5;stroke-dasharray:8 10;animation:surge .8s .8s both}
.mp-tl{fill:var(--erro);font-size:24px;font-weight:800;letter-spacing:.16em;animation:surge .8s 1s both}
.mp-tc{fill:rgba(255,180,84,.16);stroke:var(--alerta);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:pop2 .8s var(--suave) both}
.mp-tn{fill:var(--alerta);font-size:21px;font-weight:900;animation:surge .6s both;paint-order:stroke;stroke:#05091A;stroke-width:6px}
.mp-fora{fill:var(--t3);font-size:19px;font-weight:600}
@keyframes pop2{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}

/* atenção */
.at-frase{position:absolute;left:0;right:0;top:30%;transition:top .8s var(--suave)}
.at-frase .palavras{font-size:calc(var(--u)*2.1)}
.vg-aluno .at-frase .palavras{font-size:calc(var(--u)*1.8)}
.sem-mapa .at-frase{top:52%} .sem-mapa .at-frase .palavras{font-size:calc(var(--u)*1.45);flex-wrap:nowrap}
.at-arcos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.at-arcos path{fill:none;stroke:var(--mistblue);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:traca 1.1s var(--suave) forwards}
@keyframes traca{to{stroke-dashoffset:0}}
.at-mapa{position:absolute;left:0;right:0;bottom:0;height:46%;width:100%;transition:opacity .6s}
.sem-mapa .at-mapa{opacity:0}
.at-manga{transition:transform 1.5s var(--suave)} .at-mc{fill:var(--alerta);filter:drop-shadow(0 0 14px #FFB454)}
.at-mt{fill:#fff;font-size:27px;font-weight:900;paint-order:stroke;stroke:#05091A;stroke-width:6px} .at-mq{fill:var(--alerta);font-size:36px;font-weight:900;transition:opacity .4s}

/* apostas */
.ap-raiz{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:safe center}
.ap-frase{font-size:calc(var(--u)*2);font-weight:700;text-align:center;margin-bottom:calc(var(--u)*1.4)} .ap-frase span{color:var(--mistblue)}
.ap-duas{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*2.4)}
.ap-col{padding:calc(var(--u)*1.5) calc(var(--u)*2.2)} .ap-col .eyebrow{margin-bottom:calc(var(--u)*1)} .ap-col .barras{font-size:calc(var(--u)*1.3)}
.ap-vazio{color:var(--t3)}
.ap-alvo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(var(--u)*3);align-items:center;height:100%}
.ap-svg,.al-alvo{height:100%;min-height:0;display:flex;justify-content:center;align-items:center}
.ap-svg .alvo,.al-alvo .alvo{height:100%;width:auto;max-width:100%}
.ap-leg .barras{font-size:calc(var(--u)*1.3)}
.ap-temp{display:flex;align-items:center;gap:calc(var(--u)*1);margin-bottom:calc(var(--u)*1.8);font-weight:800}
.ap-temp span{font-size:calc(var(--u)*.85);letter-spacing:.18em;text-transform:uppercase;color:var(--t3)}
.ap-temp b{font-size:calc(var(--u)*2.4);color:var(--alerta);min-width:2.2em}
.ap-temp i{flex:1;height:calc(var(--u)*.6);border-radius:99px;background:linear-gradient(90deg,var(--data),var(--alerta),var(--erro));position:relative}
.ap-temp i::after{content:"";position:absolute;top:50%;left:calc(var(--t)*100%);width:calc(var(--u)*1.4);height:calc(var(--u)*1.4);border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 14px #fff;transition:left .6s var(--suave)}

/* resposta nasce */
.ge-tubo{stroke:rgba(95,191,226,.32);stroke-width:4;stroke-dasharray:4 10}
.ge-volta{fill:none;stroke:rgba(255,180,84,.35);stroke-width:4;stroke-dasharray:8 10} .ge-volta.flash{animation:flashV 1s}
@keyframes flashV{0%{stroke:#FFB454;stroke-width:9}100%{stroke:rgba(255,180,84,.35);stroke-width:4}}
.ge-volta-p{fill:none;stroke:rgba(255,180,84,.7);stroke-width:4;stroke-linecap:round}
.ge-no circle{fill:rgba(10,18,48,.92);stroke:rgba(95,191,226,.5);stroke-width:3;transition:fill .2s,stroke .2s}
.ge-no.on circle{fill:var(--mistblue);stroke:#fff;filter:drop-shadow(0 0 20px #5FBFE2)}
.ge-no text{fill:var(--t2);font-size:28px;font-weight:800} .ge-no.on text{fill:#fff}
.ge-pulso{fill:#fff;filter:drop-shadow(0 0 14px #fff);transition:cx .3s var(--suave)}
.ge-op{animation:sobe .5s var(--suave) both} .ge-op rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.2)}
.ge-op text{fill:var(--t2);font-size:30px;font-weight:800} .ge-op .ge-p{font-size:24px;fill:var(--t3)}
.ge-op.sim rect{fill:rgba(59,201,139,.2);stroke:var(--ok)} .ge-op.sim text{fill:#fff}
.ge-rot{fill:var(--mistblue);font-size:19px;font-weight:800;letter-spacing:.22em}
.ge-txt{fill:#fff;font-size:42px;font-weight:700} .ge-w{animation:surge .5s}

/* alucinação */
.al-grid{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:calc(var(--u)*3);align-items:center}
.al-chat,.cf-chat{padding:calc(var(--u)*2);display:flex;flex-direction:column;gap:calc(var(--u)*1.3)}
.carimbo{position:absolute;right:-12px;bottom:-20px;transform:rotate(-8deg);border:3px solid var(--erro);color:var(--erro);font-weight:900;font-size:calc(var(--u)*1.15);
  letter-spacing:.16em;text-transform:uppercase;padding:4px 12px;border-radius:8px;background:rgba(5,9,26,.92);animation:carimba .5s cubic-bezier(.2,1.6,.4,1) both}
@keyframes carimba{from{opacity:0;transform:rotate(-8deg) scale(2.4)}}
.al-dir{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.al-pn{padding:calc(var(--u)*2);width:100%} .al-pn .barras{font-size:calc(var(--u)*1.25)}
.al-cmp{margin-top:calc(var(--u)*1.4);color:var(--t2);font-size:calc(var(--u)*1.2)} .al-cmp b{color:var(--alerta)}
.al-dicas{display:flex;flex-direction:column;gap:calc(var(--u)*1.4);width:100%}
.al-dica{display:flex;gap:calc(var(--u)*1.6);align-items:center;padding:calc(var(--u)*1.6) calc(var(--u)*2);animation:sobe .7s var(--suave) both}
.al-dica b{font-size:calc(var(--u)*3);font-weight:900;color:var(--mistblue);width:1.3em;text-align:center}
.al-dica h3{font-size:calc(var(--u)*1.7);font-weight:800} .al-dica p{color:var(--t2);font-size:calc(var(--u)*1.25);margin-top:4px}

/* confiança cega */
.cf-raiz{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:safe center;gap:calc(var(--u)*1.6)}
.cf-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(var(--u)*3);align-items:center}
.selo-conf,.selo-fonte{display:inline-block;margin-left:.6em;padding:2px 10px;border-radius:99px;font-size:.6em;font-weight:800;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}
.selo-conf{background:rgba(59,201,139,.16);color:var(--ok);border:1px solid rgba(59,201,139,.45)}
.selo-fonte{background:rgba(95,191,226,.16);color:var(--mistblue);border:1px solid rgba(95,191,226,.45)}
.cf-dom{display:flex;flex-direction:column;gap:calc(var(--u)*.8)}
.cf-peca{display:grid;grid-template-columns:calc(var(--u)*10) 1fr;gap:calc(var(--u)*1.2);align-items:center;padding:calc(var(--u)*1) calc(var(--u)*1.4);border-radius:12px;
  background:rgba(255,122,138,.08);border:1px solid rgba(255,122,138,.32);animation:tomba .7s cubic-bezier(.3,1.4,.5,1) both;transform-origin:left center}
.cf-peca b{font-size:calc(var(--u)*.85);letter-spacing:.16em;text-transform:uppercase;color:var(--erro);font-weight:800} .cf-peca span{font-size:calc(var(--u)*1.28);font-weight:600}
@keyframes tomba{from{opacity:0;transform:rotate(-10deg) translateX(-40px)}}
.cf-nota{margin-top:calc(var(--u)*.8);font-size:calc(var(--u)*1.6);font-weight:900;color:var(--alerta);animation:sobe .7s var(--suave) both}
.cf-cal{display:flex;gap:calc(var(--u)*1.4);justify-content:center}
.cf-cal span{padding:calc(var(--u)*.8) calc(var(--u)*1.6);font-size:calc(var(--u)*1.25);font-weight:600} .cf-cal b{color:var(--mistblue)}
.cf-graf{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*5)}
.cf-g{display:flex;flex-direction:column;align-items:center} .cf-g .eyebrow{margin-bottom:calc(var(--u)*1)}
.cf-bars{display:flex;gap:calc(var(--u)*2.2);align-items:flex-end;height:calc(var(--u)*15)}
.cf-b{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:calc(var(--u)*9)}
.cf-b i{display:block;width:100%;height:calc(var(--u)*10*var(--h));background:linear-gradient(var(--mistblue),var(--data));border-radius:10px 10px 4px 4px;animation:cresce 1.2s var(--suave) both;transform-origin:bottom}
.cf-b.ruim i{background:linear-gradient(#FF9AA6,var(--erro))} .cf-b.bom i{background:linear-gradient(#7EE2B5,var(--ok))}
.cf-b b{order:-1;font-size:calc(var(--u)*1.5);font-weight:900;margin-bottom:6px} .cf-b span{font-size:calc(var(--u)*1);color:var(--t3);font-weight:700;margin-top:8px}
@keyframes cresce{from{transform:scaleY(0)}}
.cf-d{font-size:calc(var(--u)*2.5);font-weight:900;margin-top:calc(var(--u)*.4);animation:surge .6s 1.2s both} .cf-d.ruim{color:var(--erro)} .cf-d.bom{color:var(--ok)}
.cf-fim{text-align:center;font-size:calc(var(--u)*2);font-weight:700;animation:sobe .7s var(--suave) 1.8s both} .cf-fim b{color:var(--ok)}
.cf-rag{display:grid;grid-template-columns:minmax(0,.8fr) auto minmax(0,1.2fr);gap:calc(var(--u)*2);align-items:center}
.cf-busca{padding:calc(var(--u)*1.8);display:flex;flex-direction:column;gap:calc(var(--u)*.8)}
.cf-doc{padding:calc(var(--u)*.9) calc(var(--u)*1.2);border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--linha);font-weight:700;font-size:calc(var(--u)*1.2);color:var(--t3)}
.cf-doc.acha{color:#fff;border-color:var(--mistblue);background:rgba(95,191,226,.14);animation:acha 1.4s .8s both}
.cf-doc small{display:block;font-size:.82em;color:var(--mistblue);margin-top:4px}
@keyframes acha{0%{opacity:.4}50%{box-shadow:0 0 0 7px rgba(95,191,226,.3)}100%{opacity:1}}
.cf-seta{width:calc(var(--u)*4);height:4px;background:var(--mistblue);position:relative;animation:surge .6s 1.6s both}
.cf-seta::after{content:"";position:absolute;right:-2px;top:50%;width:14px;height:14px;border-top:4px solid var(--mistblue);border-right:4px solid var(--mistblue);transform:translateY(-50%) rotate(45deg)}
.cf-rag .cf-chat{animation:sobe .7s var(--suave) 2s both}
.cf-termos{display:flex;gap:calc(var(--u)*1.4);justify-content:center;animation:surge .8s 3.2s both}
.cf-termos span{padding:calc(var(--u)*.8) calc(var(--u)*1.4);font-size:calc(var(--u)*1.15);color:var(--t2)} .cf-termos b{color:var(--mistblue);margin-right:.5em;text-transform:uppercase;letter-spacing:.08em}
.cf-4{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*1.6)}
.cf-q{padding:calc(var(--u)*2) calc(var(--u)*2.2);animation:sobe .7s var(--suave) both;position:relative}
.cf-q b{position:absolute;right:calc(var(--u)*1.6);top:calc(var(--u)*.8);font-size:calc(var(--u)*3.4);font-weight:900;color:rgba(95,191,226,.28)}
.cf-q h3{font-size:calc(var(--u)*2);font-weight:800;margin-bottom:6px} .cf-q p{color:var(--t2);font-size:calc(var(--u)*1.3)}

/* chegada */
.ch-raiz{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ch-fluxo{display:flex;flex-direction:column;gap:calc(var(--u)*1.8);width:min(100%,calc(var(--u)*112))}
.ch-l{animation:sobe .7s var(--suave) both} .ch-l .eyebrow{margin-bottom:8px}
.ch-nums{font-size:calc(var(--u)*1.25);color:var(--mistblue);font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
.ch-l .pecas{font-size:calc(var(--u)*1.8)} .ch-bal{font-size:calc(var(--u)*1.9);max-width:100%;min-height:2em}
.ch-res{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--u)*.6) calc(var(--u)*3);width:min(100%,calc(var(--u)*120))}
.ch-it{display:flex;gap:calc(var(--u)*1.2);align-items:flex-start;animation:sobe .6s var(--suave) both;padding:calc(var(--u)*.7) 0;border-bottom:1px solid var(--linha)}
.ch-it b{font-size:calc(var(--u)*1.4);font-weight:900;color:var(--mistblue);min-width:2em} .ch-it.desvio b{color:var(--alerta)}
.ch-it h3{font-size:calc(var(--u)*1.35);font-weight:800} .ch-it p{color:var(--t2);font-size:calc(var(--u)*1.1)}

/* telas estreitas (celular): texto maior, trilha só com pontos */
@media (max-width:820px){
  :root{--u:min(2.3vw,1.5vh)}
  .vg{padding-left:16px;padding-right:16px}
  .vg-trilha b{display:none} .vg-trilha span{padding:0 4px} .vg-trilha span + span::before{width:10px;margin-right:4px}
}
