/* Identidade herdada de maketarte.com/imersao */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0E1013; --ink-2:#161A1F; --ink-3:#1F242B;
  --paper:#F0F0ED; --balsa:#C6A57C; --balsa-c:#DDBE96; --balsa-d:#8E6C45;
  --mut:rgba(255,255,255,.58); --mut-2:rgba(255,255,255,.40);
  --line:rgba(255,255,255,.13); --line-2:rgba(255,255,255,.07);
  --ok:#7FB98A; --frio:#7C93B8; --morno:#C6A57C; --quente:#7FB98A; --alerta:#C98686;
  --display:'Jost',system-ui,sans-serif;
  --body:'Instrument Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
body{
  background:var(--ink); color:var(--paper);
  font-family:var(--body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh; min-height:100dvh;
}
h1,h2,h3{font-family:var(--display);font-weight:300;letter-spacing:-.015em;line-height:1.12;text-wrap:balance}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:.66rem;letter-spacing:.17em;text-transform:uppercase;color:var(--balsa)}

/* ---------------- FORMULARIO ---------------- */
.tela{max-width:640px;margin:0 auto;padding:0 20px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}

.barra-topo{padding:20px 0 0;flex-shrink:0}
.barra-topo img{height:26px;display:block;margin-bottom:18px}
.progresso{height:3px;background:var(--line-2);overflow:hidden}
.progresso i{display:block;height:100%;background:var(--balsa);width:0;transition:width .35s}
.passo{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut-2);margin-top:12px}

.corpo{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 0}
.pergunta{animation:entra .35s ease}
@keyframes entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pergunta{animation:none}.progresso i{transition:none}}

.pergunta h2{font-size:clamp(1.35rem,4.5vw,1.85rem);margin-bottom:10px}
.pergunta .ajuda{color:var(--mut);font-size:.92rem;margin-bottom:22px}
.pergunta h2 + .opcoes,.pergunta h2 + .campo{margin-top:26px}

input[type=text],input[type=tel],textarea{
  width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--paper);
  font-family:var(--body);font-size:1.05rem;padding:18px 18px;outline:none;
  transition:border-color .2s;
}
input:focus,textarea:focus{border-color:var(--balsa)}
textarea{min-height:130px;resize:vertical;line-height:1.55}
::placeholder{color:var(--mut-2)}

.opcoes{display:flex;flex-direction:column;gap:9px}
.opcao{
  display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;
  background:var(--ink-2);border:1px solid var(--line);color:var(--paper);
  font-family:var(--body);font-size:1rem;line-height:1.45;
  padding:17px 18px;cursor:pointer;transition:border-color .2s,background .2s;
}
.opcao:hover{border-color:var(--balsa-d)}
.opcao .marca{
  flex-shrink:0;width:19px;height:19px;border:1.5px solid var(--mut-2);
  margin-top:2px;position:relative;transition:border-color .2s;
}
.opcao.multi .marca{border-radius:2px}
.opcao:not(.multi) .marca{border-radius:50%}
.opcao.sel{border-color:var(--balsa);background:rgba(198,165,124,.09)}
.opcao.sel .marca{border-color:var(--balsa);background:var(--balsa)}
.opcao.sel .marca::after{
  content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;
  border-right:2px solid #12140F;border-bottom:2px solid #12140F;transform:rotate(42deg);
}

.rodape{padding:0 0 28px;display:flex;align-items:center;gap:14px;flex-shrink:0}
.btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--balsa);color:#12140F;
  font-family:var(--display);font-weight:500;font-size:1.02rem;
  padding:16px 30px;border:0;cursor:pointer;transition:background .2s,opacity .2s;
}
.btn:hover:not(:disabled){background:var(--balsa-c)}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn.voltar{background:none;color:var(--mut);padding:16px 4px;font-size:.92rem}
.btn.voltar:hover{color:var(--paper);background:none}
.erro{color:var(--alerta);font-size:.88rem;margin-top:14px;min-height:1.2em}

/* fim */
.fim{text-align:center;padding:60px 0}
.fim .selo{
  width:52px;height:52px;border:1.5px solid var(--balsa);border-radius:50%;
  margin:0 auto 26px;position:relative;
}
.fim .selo::after{
  content:'';position:absolute;left:18px;top:14px;width:11px;height:20px;
  border-right:2px solid var(--balsa);border-bottom:2px solid var(--balsa);transform:rotate(42deg);
}
.fim h2{font-size:clamp(1.5rem,5vw,2.1rem);margin-bottom:16px}
.fim p{color:var(--mut);max-width:44ch;margin:0 auto 28px}

/* ---------------- PAINEL ---------------- */
.painel{max-width:1140px;margin:0 auto;padding:28px 20px 80px}
.painel-topo{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:14px;
  border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:26px}
.painel-topo h1{font-size:1.7rem}
.painel-topo a{color:var(--balsa);font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--balsa-d)}

.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);margin-bottom:26px}
.cartao{background:var(--ink-2);padding:18px 20px}
.cartao .n{font-family:var(--display);font-size:2rem;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}
.cartao .l{font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--mut-2);margin-top:8px}
.cartao.destaque .n{color:var(--balsa)}

.decisao{border:1px solid var(--balsa-d);background:var(--ink-2);padding:26px 28px;margin-bottom:30px}
.decisao .cen{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.decisao.otimista .cen{color:var(--quente)}
.decisao.provavel .cen{color:var(--morno)}
.decisao.pessimista .cen{color:var(--alerta)}
.decisao h2{font-size:1.5rem;margin-bottom:12px}
.decisao p{color:var(--mut);max-width:80ch;font-size:.95rem}

h3.sec{font-size:1.15rem;margin:34px 0 14px;padding-top:22px;border-top:1px solid var(--line-2)}

table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}
th{font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--mut-2);border-bottom:1px solid var(--line)}
td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.rolagem{overflow-x:auto}

.pip{display:inline-block;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border:1px solid}
.pip.frio{color:var(--frio);border-color:var(--frio)}
.pip.morno{color:var(--morno);border-color:var(--morno)}
.pip.quente{color:var(--quente);border-color:var(--quente)}
.pip.semdados{color:var(--mut-2);border-color:var(--line)}

.barra{height:6px;background:var(--line-2);margin-top:6px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--balsa)}
.linha-dist{padding:9px 0;border-bottom:1px solid var(--line-2);font-size:.9rem}
.linha-dist .cima{display:flex;justify-content:space-between;gap:16px}
.linha-dist .cima span:last-child{font-family:var(--mono);color:var(--mut);white-space:nowrap}

.vazio{color:var(--mut-2);font-size:.9rem;padding:22px 0}
:focus-visible{outline:2px solid var(--balsa);outline-offset:3px}
