.diag-raiz{--diag-fundo:oklch(10% .005 60);--diag-cartao:oklch(14% .008 60);--diag-trilho:oklch(26% .01 60);--diag-texto:oklch(97% .01 80);--diag-suave:oklch(68% .015 60);--diag-ouro:oklch(78% .16 70);--diag-ouro-escuro:oklch(15% .02 60);
  min-height:100dvh;display:flex;flex-direction:column;background:var(--diag-fundo);color:var(--diag-texto);font-family:Inter,system-ui,-apple-system,sans-serif}
.diag-topo{position:sticky;top:0;z-index:5;background:color-mix(in oklch,var(--diag-fundo) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--diag-trilho)}
.diag-marca{display:flex;align-items:center;gap:12px;max-width:760px;margin:0 auto;padding:14px 16px;color:inherit;text-decoration:none}
.diag-marca strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.05rem;font-weight:700}
.diag-marca small{display:block;color:var(--diag-suave);font-size:.75rem}
.diag-r,.diag-avatar{display:grid;place-items:center;flex:none;border-radius:999px;background:linear-gradient(135deg,oklch(85% .14 80),oklch(65% .18 55));color:var(--diag-ouro-escuro);font-family:"Playfair Display",Georgia,serif;font-weight:700}
.diag-r{width:38px;height:38px;font-size:1.1rem}
.diag-progresso{height:3px;background:var(--diag-trilho)}
.diag-progresso div{height:100%;background:linear-gradient(90deg,oklch(85% .14 80),oklch(65% .18 55));transition:width .6s ease}
.diag-chat{flex:1;width:100%;max-width:760px;margin:0 auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:6px}
.diag-linha{display:flex;align-items:flex-end;gap:8px;animation:diag-sobe .35s ease both}
.diag-linha.eu{justify-content:flex-end}
.diag-avatar{width:28px;height:28px;font-size:.8rem}
.diag-avatar.oculto{visibility:hidden}
.diag-balao{margin:0;max-width:min(560px,82%);padding:11px 15px;border-radius:18px;line-height:1.5;font-size:.98rem;white-space:pre-wrap;overflow-wrap:anywhere}
.diag-balao.bot{background:var(--diag-cartao);border:1px solid var(--diag-trilho);border-bottom-left-radius:6px}
.diag-balao.eu{background:var(--diag-ouro);color:var(--diag-ouro-escuro);border-bottom-right-radius:6px;font-weight:500}
.diag-digitando{display:flex;gap:4px;padding:14px 16px}
.diag-digitando i{width:7px;height:7px;border-radius:9px;background:var(--diag-suave);animation:diag-pulo 1.2s infinite}
.diag-digitando i:nth-child(2){animation-delay:.15s}.diag-digitando i:nth-child(3){animation-delay:.3s}
.diag-rodape{position:sticky;bottom:0;background:linear-gradient(transparent,var(--diag-fundo) 18%);padding:14px 16px calc(10px + env(safe-area-inset-bottom))}
.diag-rodape>*{max-width:760px;margin-left:auto;margin-right:auto}
.diag-likert{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}
.diag-likert button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;border:1px solid var(--diag-trilho);background:var(--diag-cartao);color:var(--diag-texto);cursor:pointer;transition:all .2s}
.diag-likert b{font-size:1.25rem;font-family:"Playfair Display",Georgia,serif}
.diag-likert span{font-size:.68rem;color:var(--diag-suave)}
.diag-likert button:hover:not(:disabled),.diag-opcoes button:hover:not(:disabled){border-color:var(--diag-ouro);transform:translateY(-1px)}
.diag-opcoes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.diag-opcoes.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}
.diag-opcoes button{padding:10px 16px;border-radius:999px;border:1px solid var(--diag-ouro);background:transparent;color:var(--diag-ouro);font-weight:600;font-size:.92rem;cursor:pointer;transition:all .2s}
.diag-opcoes button.discreto{border-color:var(--diag-trilho);color:var(--diag-suave);font-weight:500}
.diag-likert button:disabled,.diag-opcoes button:disabled{opacity:.5;cursor:default}
.diag-form{display:flex;gap:8px;align-items:flex-end;background:var(--diag-cartao);border:1px solid var(--diag-trilho);border-radius:20px;padding:6px 6px 6px 14px}
.diag-form:focus-within{border-color:var(--diag-ouro)}
.diag-form input,.diag-form textarea{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--diag-texto);font:inherit;font-size:16px;padding:9px 0;resize:none;max-height:140px;field-sizing:content}
.diag-form input::placeholder,.diag-form textarea::placeholder{color:var(--diag-suave)}
.diag-form button{flex:none;width:42px;height:42px;border-radius:999px;border:0;background:var(--diag-ouro);color:var(--diag-ouro-escuro);display:grid;place-items:center;cursor:pointer}
.diag-form button:disabled{opacity:.35;cursor:default}
.diag-lgpd{margin-top:8px;text-align:center;font-size:.7rem;color:var(--diag-suave)}
.diag-fim{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0 32px}
.diag-botao{padding:12px 22px;border-radius:999px;border:0;background:var(--diag-ouro);color:var(--diag-ouro-escuro);font-weight:600;text-decoration:none;cursor:pointer}
.diag-botao.secundario{background:transparent;color:var(--diag-texto);border:1px solid var(--diag-trilho)}
.diag-resultado{margin:22px 0 8px;padding:24px 18px;border-radius:24px;background:var(--diag-cartao);border:1px solid var(--diag-trilho);animation:diag-sobe .6s ease both}
.diag-resultado h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.6rem,4.5vw,2.2rem);margin:4px 0 18px}
.diag-resultado h3{font-family:"Playfair Display",Georgia,serif;font-size:1.2rem;margin:2px 0 6px}
.diag-sobre{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--diag-ouro);font-weight:600}
.diag-indice{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.diag-indice>div{flex:1;min-width:220px}
.diag-indice p{margin:0;color:var(--diag-suave);line-height:1.55;font-size:.95rem}
.diag-anel{width:130px;height:130px;flex:none}
.diag-anel-num{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:700;fill:var(--diag-texto)}
.diag-anel-de{font-size:11px;fill:var(--diag-suave)}
.diag-radar{display:block;width:100%;max-width:440px;margin:0 auto}
.diag-radar-rot{font-size:11px;font-weight:600;fill:var(--diag-texto)}
.diag-radar-nota{font-size:13px;font-weight:700}
.diag-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:.75rem;color:var(--diag-suave);margin:6px 0 20px}
.diag-legenda i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.diag-temas{display:flex;flex-direction:column;gap:10px}
.diag-tema{border:1px solid var(--diag-trilho);border-left:4px solid;border-radius:14px;background:var(--diag-fundo);overflow:hidden}
.diag-tema>button{display:flex;flex-direction:column;gap:8px;width:100%;padding:14px 16px;background:none;border:0;color:inherit;text-align:left;cursor:pointer;font:inherit}
.diag-tema-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.diag-tema-cab strong{font-family:"Playfair Display",Georgia,serif;font-size:1.05rem}
.diag-tema-cab em{font-style:normal;font-size:.72rem;font-weight:700;color:#fff;padding:3px 10px;border-radius:999px;white-space:nowrap}
.diag-barra{display:block;height:5px;border-radius:9px;background:var(--diag-trilho);overflow:hidden}
.diag-barra i{display:block;height:100%;border-radius:9px}
.diag-tema-tit{font-style:italic;color:var(--diag-suave);font-size:.92rem}
.diag-tema-tit::after{content:" · ver leitura";color:var(--diag-ouro);font-style:normal;font-size:.8rem}
.diag-tema>button[aria-expanded=true] .diag-tema-tit::after{content:""}
.diag-tema-txt{margin:0;padding:0 16px 16px;line-height:1.6;font-size:.95rem}
.diag-chamada{margin-top:22px;padding:18px;border-radius:16px;background:linear-gradient(135deg,oklch(22% .06 70),oklch(14% .02 60));border:1px solid oklch(40% .1 70)}
.diag-chamada h3{color:var(--diag-ouro)}
.diag-chamada p{margin:0;line-height:1.55}
.diag-aviso{margin:14px 0 0;font-size:.75rem;color:var(--diag-suave);font-style:italic}
@keyframes diag-sobe{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes diag-pulo{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
@media (min-width:768px){.diag-chat{padding-top:32px}.diag-resultado{padding:32px}.diag-likert span{font-size:.75rem}}
@media (prefers-reduced-motion:reduce){.diag-linha,.diag-resultado{animation:none}}
