:root { --ink:#173c39; --paper:#fffdf8; --cream:#f7f4ec; --terracotta:#b96f57; --sage:#9fb7a6; --sage-light:#e3ece5; --muted:#687b77; --line:rgba(23,60,57,.15); --shadow:0 24px 70px rgba(23,60,57,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at 85% 8%,#e0e9df 0,transparent 31%),var(--cream); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,a { font:inherit; }
.topbar { height:78px; padding:0 clamp(20px,5vw,70px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(247,244,236,.8); backdrop-filter:blur(14px); }
.brand,.back-link,.text-link { color:var(--ink); text-decoration:none; }
.brand { display:flex; align-items:center; gap:10px; font:600 22px Georgia,serif; }
.brand span { font-size:35px; color:var(--sage); }
.back-link { font-size:13px; font-weight:650; }
main { width:min(820px,calc(100% - 40px)); margin:0 auto; padding:clamp(55px,9vw,100px) 0; }
.intro { max-width:690px; }
.eyebrow { margin:0 0 15px; color:var(--terracotta); font-size:11px; font-weight:800; letter-spacing:.17em; }
h1 { margin:0 0 22px; font:400 clamp(42px,7vw,70px)/1 Georgia,serif; letter-spacing:-.035em; }
.lead,.result-copy { color:var(--muted); font-size:18px; line-height:1.65; }
.notice { margin:28px 0; padding:17px 19px; border-left:3px solid var(--terracotta); background:rgba(255,253,248,.72); color:var(--muted); font-size:13px; line-height:1.55; }
.notice strong { color:var(--ink); }
.primary,.secondary { min-height:48px; padding:0 21px; border-radius:99px; cursor:pointer; font-weight:700; }
.primary { border:0; color:white; background:var(--ink); }
.primary span { margin-left:12px; }
.primary:disabled { opacity:.4; cursor:not-allowed; }
.secondary { border:1px solid var(--line); color:var(--ink); background:transparent; }
.test-card,.result-card { padding:clamp(28px,6vw,55px); border:1px solid var(--line); border-radius:28px; background:rgba(255,253,248,.94); box-shadow:var(--shadow); }
.progress-meta { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; }
.progress-track { height:5px; margin:10px 0 40px; overflow:hidden; border-radius:99px; background:var(--sage-light); }
.progress-track span { display:block; height:100%; border-radius:inherit; background:var(--terracotta); transition:width .3s; }
fieldset { margin:0; padding:0; border:0; }
legend { font:400 clamp(28px,4.5vw,39px)/1.16 Georgia,serif; }
.question-help { margin:12px 0 23px; color:var(--muted); font-size:13px; }
.answer-list { display:grid; gap:10px; }
.answer-option { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:12px; padding:13px 15px; border:1px solid var(--line); border-radius:14px; cursor:pointer; line-height:1.4; transition:.18s; }
.answer-option:hover,.answer-option:has(input:checked) { border-color:var(--sage); background:var(--sage-light); }
.answer-option input { position:absolute; opacity:0; pointer-events:none; }
.answer-number { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--paper); border:1px solid var(--line); font-weight:800; }
.form-actions { display:flex; justify-content:space-between; margin-top:32px; }
.form-actions .primary { margin-left:auto; }
.result-card { text-align:center; }
.result-icon { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 25px; border-radius:50%; background:var(--sage-light); color:var(--ink); font-size:34px; }
.result-card h1 { font-size:clamp(35px,6vw,54px); }
.score { display:inline-block; margin:0 0 18px; padding:7px 12px; border-radius:99px; color:var(--terracotta); background:#f4e4dc; font-size:12px; font-weight:800; }
.result-copy { max-width:620px; margin:0 auto; font-size:16px; }
.result-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin-top:30px; }
.link-button { display:inline-flex; align-items:center; text-decoration:none; }
.text-link { padding:12px; text-decoration:underline; font-size:13px; }
.home-button { border:0; background:transparent; cursor:pointer; }
.privacy { margin:28px 0 0; color:var(--muted); font-size:10px; }
[hidden] { display:none !important; }
.floating-therapist { position:fixed; right:20px; bottom:18px; z-index:50; display:flex; align-items:center; gap:8px; padding:12px 17px; border-radius:99px; background:#b96f57; color:white; text-decoration:none; font-size:12px; font-weight:800; box-shadow:0 12px 35px rgba(66,45,38,.24); }
.floating-therapist span { font-size:18px; }
@media (max-width:600px) {
  .topbar { height:66px; padding:0 18px; }
  .back-link { font-size:0; }
  .back-link::after { content:"← Voltar"; font-size:12px; }
  main { width:min(100% - 28px,820px); padding:45px 0; }
  .test-card,.result-card { padding:27px 20px; border-radius:22px; }
  .answer-option { grid-template-columns:38px 1fr; padding:11px; font-size:14px; }
  .result-actions { flex-direction:column; }
  .result-actions > * { width:100%; justify-content:center; }
  .floating-therapist { right:12px; bottom:12px; padding:10px 13px; }
}
