.diag{padding:55px 0 70px}.diag .container-editorial{max-width:760px}
.diag h1{font:700 clamp(30px,3.6vw,44px)/1.12 Manrope,sans-serif;letter-spacing:-.035em;color:#3A0F34;margin-top:16px}
.diag-lead{font-size:16px;line-height:1.7;color:#695b6b;margin-top:16px;max-width:58ch}
.diag-banner{margin-top:20px;padding:12px 16px;border-radius:10px;background:#fff4d6;color:#5a4300;font-size:13px;line-height:1.5}
.diag-card{margin-top:28px;background:#fff;border:1px solid #e1dae5;border-radius:20px;padding:28px;box-shadow:0 14px 34px #3a0f3412}
.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.diag label.f{display:grid;gap:6px;font-size:12px;color:#3A0F34;font-weight:600}
.diag label.f.full{grid-column:1/-1}
.diag input[type=text],.diag input[type=email]{width:100%;min-height:46px;border:1px solid #cfc4d5;border-radius:8px;background:#fffdfc;padding:10px 13px;font-size:15px;color:#3A0F34;font-weight:400}
.diag input:focus-visible{outline:2px solid #65419b;outline-offset:2px}
.diag small.h{font-weight:400;color:#695b6b;font-size:11px}
.diag-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;color:#4a3a4d;margin-top:18px}
.diag-consent input{margin-top:3px;width:18px;height:18px;accent-color:#65419b;flex-shrink:0}
.diag-err{color:#a32020;font-size:13px;margin-top:10px;min-height:18px}
.diag-actions{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}
.diag-count{font-size:12px;color:#65419b;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.diag-progress{height:6px;background:#e9e0f7;border-radius:6px;margin-top:12px;overflow:hidden}
.diag-progress i{display:block;height:100%;background:#65419b;width:0;transition:width .3s}
.diag-q-title{font:700 22px/1.3 Manrope,sans-serif;letter-spacing:-.02em;color:#3A0F34;margin-top:22px}
.diag-opts{display:grid;gap:10px;margin-top:20px}
.diag-opt{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid #cfc4d5;border-radius:12px;cursor:pointer;font-size:15px;color:#3A0F34;background:#fffdfc}
.diag-opt:hover{border-color:#65419b}
.diag-opt input{accent-color:#65419b;width:18px;height:18px;flex-shrink:0}
.diag-opt:has(input:checked){border-color:#65419b;background:#efe8fb}
.diag-opt:has(input:focus-visible){outline:2px solid #65419b;outline-offset:2px}
.diag-result{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.diag-hero{grid-column:1/-1;background:#3A0F34;color:#faf8f6;border-radius:20px;padding:30px}
.diag-hero small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#cdbbff}
.diag-hero h2{font:700 clamp(26px,3vw,36px)/1.15 Manrope,sans-serif;letter-spacing:-.035em;margin-top:10px}
.diag-hero p{font-size:15px;line-height:1.7;color:#e1d5e5;margin-top:12px;max-width:56ch}
.diag-panel{background:#fff;border:1px solid #e1dae5;border-radius:20px;padding:24px}
.diag-panel h3{font:700 14px/1.3 Manrope,sans-serif;color:#3A0F34;margin-bottom:14px}
.diag-bar{margin-bottom:14px}.diag-bar-top{display:flex;justify-content:space-between;font-size:13px;color:#3A0F34}.diag-bar-top b{color:#65419b;font-size:12px}
.diag-track{height:8px;background:#e9e0f7;border-radius:8px;margin-top:6px;overflow:hidden}.diag-track i{display:block;height:100%;background:#65419b;border-radius:8px}
.diag-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.diag-stat{background:#f5f3f6;border-radius:12px;padding:12px 14px}.diag-stat small{display:block;font-size:11px;color:#695b6b}.diag-stat strong{font:700 18px/1.3 Manrope,sans-serif;color:#3A0F34}
.diag-flag{padding:12px 0;border-top:1px solid #e9e0f7}.diag-flag:first-of-type{border-top:0;padding-top:0}.diag-flag b{font-size:13px;color:#3A0F34}.diag-flag p{font-size:13px;line-height:1.6;color:#695b6b;margin-top:4px}
.diag-map{position:relative;aspect-ratio:1/1;background:linear-gradient(90deg,#e9e0f7 50%,#d3c4f2 50%);border-radius:12px;overflow:hidden}
.diag-map::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed #65419b}
.diag-map::after{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed #65419b}
.diag-map span{position:absolute;font:700 10px/1.2 Manrope,sans-serif;color:#65419b;width:40%;text-align:center}
.diag-map .a{left:5%;top:12%}.diag-map .b{right:5%;top:12%}.diag-map .c{left:5%;bottom:12%}.diag-map .d{right:5%;bottom:12%}
.diag-dot{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#3A0F34;border:3px solid #fff;box-shadow:0 2px 8px #0004;z-index:2}
.diag-save{font-size:12px;color:#695b6b;margin-top:6px}
@media(max-width:640px){.diag-grid,.diag-result{grid-template-columns:1fr}.diag-card{padding:20px}.diag-q-title{font-size:19px}}

.diag select{width:100%;min-height:46px;border:1px solid #cfc4d5;border-radius:8px;background:#fffdfc;padding:10px 13px;font-size:15px;color:#3A0F34}
.diag-steps{padding-left:18px;display:grid;gap:10px;font-size:14px;line-height:1.6;color:#2b1a29}
.diag-rec-t{font:700 17px/1.3 Manrope,sans-serif;color:#3A0F34}.diag-rec-d{font-size:14px;line-height:1.6;color:#695b6b;margin:8px 0 16px}

.diag-task{display:inline-block;margin-top:18px;padding:7px 14px;border-radius:30px;background:#efe8fb;color:#3A0F34;font-size:13px}
.diag-task b{font-weight:700}
.diag-q-title{margin-top:16px!important}
.diag-hint{font-size:14px;color:#695b6b;margin-top:8px;line-height:1.5}
.diag-keys{font-size:11px;color:#9a8c9d;margin-top:14px}
.diag-opt{padding:16px 18px!important;font-size:16px!important;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}
.diag-opt:hover{transform:translateY(-2px);box-shadow:0 8px 20px #65419b22}
.diag-opt em{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#efe8fb;color:#65419b;font:700 13px/1 Manrope,sans-serif;font-style:normal;flex-shrink:0}
.diag-opt input{position:absolute;opacity:0;pointer-events:none}
.diag-opt{position:relative}
.diag-opt.picked,.diag-opt:has(input:checked){border-color:#65419b!important;background:#efe8fb!important}
.diag-opt.picked em,.diag-opt:has(input:checked) em{background:#65419b;color:#fff}
@keyframes inNext{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes inPrev{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.in-next{animation:inNext .3s ease both}.in-prev{animation:inPrev .3s ease both}
.diag-track i{transition:width .9s cubic-bezier(.2,.8,.2,1)}
.diag-hero,.diag-panel{animation:inNext .45s ease both}
.diag-dot{animation:pop .6s .3s cubic-bezier(.2,1.6,.4,1) both}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.in-next,.in-prev,.diag-hero,.diag-panel,.diag-dot{animation:none}.diag-track i,.diag-opt{transition:none}}

.diag-opt em{width:38px!important;height:38px!important;border-radius:12px!important;font-size:20px!important}

.diag-chapters{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.diag-chap{font-size:11px;padding:5px 10px;border-radius:30px;background:#f1edf4;color:#9a8c9d;font-weight:600}
.diag-chap.on{background:#65419b;color:#fff}.diag-chap.done{background:#e9e0f7;color:#65419b}
.diag-lead2{margin-top:16px;padding:12px 16px;border-radius:14px 14px 14px 4px;background:#3A0F34;color:#faf8f6;font-size:14px;line-height:1.5}
.diag-lead2::before{content:"💬  "}
@media(max-width:640px){.diag-chap{font-size:10px;padding:4px 8px}}

.diag-step-title{font:700 24px/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:#3A0F34}
.diag-step-sub{font-size:14px;color:#695b6b;margin:6px 0 20px}
.diag-pin{position:sticky;top:84px;z-index:20;display:flex;gap:12px;align-items:center;margin-top:24px;padding:12px 18px;border-radius:14px;background:#3A0F34;color:#faf8f6;box-shadow:0 8px 22px #3a0f3430}
.diag-pin[hidden]{display:none}
.diag-pin b{display:block;font:700 14px/1.3 Manrope,sans-serif}
.diag-pin small{display:block;font-size:12px;color:#d8c9e6;margin-top:2px}
.diag-pin-ico{font-size:20px}
.diag-task{display:none!important}
.diag-pin+.diag-card,.diag-pin~#diag-r{margin-top:16px}
@media(max-width:640px){.diag-pin{top:72px;padding:10px 14px}}
