:root{
  --brand:#0b5cff; --brand-d:#0842b8; --ink:#1a2233; --muted:#6b7688;
  --green:#1faa59; --yellow:#e0a11a; --red:#d8443b; --bg:#f6f8fc; --card:#fff;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.5}
.landing,.wizard,.results{max-width:560px;margin:0 auto;padding:32px 20px calc(32px + env(safe-area-inset-bottom))}
.logo{height:40px;margin-bottom:24px}
h1{font-size:1.9rem;margin:0 0 8px}
h2{font-size:1.4rem;margin:0 0 20px}
.modes{display:grid;gap:12px;margin-top:24px}
.modes a{display:block;background:var(--card);border:1px solid #e4e9f2;border-radius:14px;padding:18px 20px;
  text-decoration:none;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(20,30,60,.04)}
.modes a small{display:block;font-weight:400;color:var(--muted);margin-top:4px}
.modes a:active{border-color:var(--brand)}
.progress{height:6px;background:#e4e9f2;border-radius:99px;overflow:hidden;margin-bottom:28px}
.bar{height:100%;width:0;background:var(--brand);transition:width .3s ease}
.step{display:none;animation:fade .3s ease}
.step.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.qnum{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}
label{display:block;margin:0 0 14px;font-weight:600}
input[type=text],input[type=email]{width:100%;padding:14px;border:1px solid #cfd6e4;border-radius:12px;font-size:1rem;margin-top:6px}
.opt{color:var(--muted);font-weight:400}
.choices{display:grid;gap:10px}
.choices label{margin:0;font-weight:500}
.choices input{position:absolute;opacity:0}
.choices span{display:block;padding:16px 18px;background:var(--card);border:2px solid #e4e9f2;border-radius:14px;cursor:pointer}
.choices input:checked + span{border-color:var(--brand);background:#eef3ff;color:var(--brand-d);font-weight:600}
button{width:100%;padding:16px;font-size:1.05rem;font-weight:600;color:#fff;background:var(--brand);
  border:0;border-radius:14px;margin-top:24px;cursor:pointer}
button:active{background:var(--brand-d)}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
/* results */
.bars{display:grid;gap:16px;margin-top:8px}
.rowlabel{display:flex;justify-content:space-between;font-weight:600;margin-bottom:6px}
.track{height:12px;background:#e4e9f2;border-radius:99px;overflow:hidden}
.fill{height:100%;border-radius:99px}
.fill.green{background:var(--green)}.fill.yellow{background:var(--yellow)}.fill.red{background:var(--red)}
.interp{color:var(--muted);font-size:.92rem;margin:8px 0 0}
.pill{font-size:.75rem;padding:2px 10px;border-radius:99px;color:#fff}
.pill.green{background:var(--green)}.pill.yellow{background:var(--yellow)}.pill.red{background:var(--red)}

details.bar-row{background:var(--card);border:1px solid #e4e9f2;border-radius:14px;padding:16px 18px}
details.bar-row summary{cursor:pointer;list-style:none}
details.bar-row summary::-webkit-details-marker{display:none}
details.bar-row summary::after{content:'▸';color:var(--muted);font-size:.8rem;margin-left:8px}
details.bar-row[open] summary::after{content:'▾'}
details.bar-row .track{margin-top:10px}
.qa{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #eef1f7;display:grid;gap:10px}
.qa li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem}
.qa .qtext{color:var(--ink)}
.qa .qans{color:var(--brand-d);font-weight:600;white-space:nowrap}
