.diagnostic{--diagnostic-green: #3f7a52;--diagnostic-green-soft: #e8f1ea}.diagnostic__field label,.diagnostic__stat-label{display:inline-flex;align-items:center;gap:0}.diagnostic__hint-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--accent-soft);color:var(--catapult-navy);font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-bold);margin-left:var(--s-2);cursor:help;position:relative;vertical-align:middle;flex:none}.diagnostic__hint-icon:hover,.diagnostic__hint-icon:focus-visible{background:var(--catapult-navy);color:var(--white)}.diagnostic__hint-icon .diagnostic__tooltip{visibility:hidden;opacity:0;pointer-events:none;position:absolute;bottom:130%;left:50%;transform:translate(-50%);width:240px;background:var(--white);color:var(--fg-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);font-weight:var(--fw-regular);font-family:var(--font-body);line-height:var(--lh-normal);text-align:left;text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-md);z-index:20;transition:opacity var(--dur-base) var(--ease-standard)}.diagnostic__hint-icon:hover .diagnostic__tooltip,.diagnostic__hint-icon:focus-visible .diagnostic__tooltip{visibility:visible;opacity:1}@media (max-width: 620px){.diagnostic__hint-icon .diagnostic__tooltip{width:200px}}.diagnostic__steps{display:flex;gap:var(--s-2);margin-bottom:var(--s-7)}.diagnostic__step-dot{flex:1;height:4px;border-radius:var(--radius-pill);background:var(--border-default)}.diagnostic__step-dot--done,.diagnostic__step-dot--active{background:var(--catapult-gold)}.diagnostic__card{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--s-8);box-shadow:var(--shadow-sm)}.diagnostic__field{margin-bottom:var(--s-6)}.diagnostic__field label{display:block;font-weight:var(--fw-semibold);color:var(--fg-1);margin-bottom:var(--s-2)}.diagnostic__hint{display:block;font-size:var(--fs-sm);color:var(--fg-3);margin-top:var(--s-2)}.diagnostic__field input[type=text],.diagnostic__field input[type=email],.diagnostic__field input[type=number],.diagnostic__field select{width:100%;padding:var(--s-3) var(--s-4);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--white);color:var(--ink-1000);font-family:var(--font-body);font-size:var(--fs-base)}.diagnostic__choices{display:grid;gap:var(--s-3)}.diagnostic__choice{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer}.diagnostic__choice:has(input:checked){border-color:var(--catapult-navy);background:var(--accent-soft)}.diagnostic__choice input{margin-top:3px}.diagnostic__actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s-8);gap:var(--s-4)}.diagnostic__error{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-md);padding:var(--s-4) var(--s-5);color:var(--ink-1000);margin-bottom:var(--s-6)}.diagnostic__error--inline{margin-top:var(--s-3);margin-bottom:0;padding:var(--s-3) var(--s-4);font-size:var(--fs-sm)}.diagnostic__score{text-align:center;padding:var(--s-8) 0}.diagnostic__score-num{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-6xl);color:var(--catapult-navy);line-height:1}.diagnostic__score-label{color:var(--fg-2);margin-top:var(--s-3)}.diagnostic__pillar{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--s-6);margin-bottom:var(--s-5);border-left-width:4px}.diagnostic__pillar--red{border-left-color:var(--danger)}.diagnostic__pillar--yellow{border-left-color:var(--catapult-yellow)}.diagnostic__pillar--green{border-left-color:var(--diagnostic-green)}.diagnostic__pillar--na{border-left-color:var(--border-rule);opacity:.7}.diagnostic__pillar-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4)}.diagnostic__badge{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:var(--s-1) var(--s-3);border-radius:var(--radius-pill);white-space:nowrap}.diagnostic__badge--red{background:var(--danger-soft);color:var(--danger)}.diagnostic__badge--yellow{background:var(--yellow-100);color:var(--yellow-600)}.diagnostic__badge--green{background:var(--diagnostic-green-soft);color:var(--diagnostic-green)}.diagnostic__badge--na{background:var(--ink-50);color:var(--fg-3)}.diagnostic__pillar p{margin-top:var(--s-3);color:var(--fg-2)}.diagnostic__pillar-gap{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--catapult-navy);margin-top:var(--s-2)}.diagnostic__insight{margin-top:var(--s-4);padding:var(--s-4) var(--s-5);background:var(--accent-soft);border-radius:var(--radius-md);border-left:3px solid var(--catapult-gold)}.diagnostic__insight-label{display:block;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--catapult-navy)}.diagnostic__insight p{margin-top:var(--s-2);color:var(--fg-1)}.diagnostic__totals{background:var(--catapult-navy);color:var(--fg-inverse);border-radius:var(--radius-lg);padding:var(--s-8);margin-top:var(--s-7);text-align:center}.diagnostic__totals h3{color:var(--fg-inverse)}.diagnostic__totals .stat__num{color:var(--catapult-yellow)}.diagnostic__totals p{color:#fbfaf6d9}.diagnostic__worth-intro{max-width:52ch;margin:var(--s-4) auto 0;font-size:var(--fs-sm)}.diagnostic__worth-eyebrow{display:block;font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--catapult-yellow)}.diagnostic__worth-primary{margin-top:var(--s-8);padding-bottom:var(--s-7);border-bottom:1px solid rgba(255,255,255,.18)}.diagnostic__worth-num{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-5xl);color:var(--white);line-height:1.1;margin-top:var(--s-2)}.diagnostic__worth-num--sm{font-size:var(--fs-2xl)}.diagnostic__worth-caption{max-width:44ch;margin:var(--s-3) auto 0;font-size:var(--fs-sm);color:#fbfaf6d9}.diagnostic__worth-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);margin-top:var(--s-7);text-align:center}@media (max-width: 620px){.diagnostic__worth-grid{grid-template-columns:1fr}}.diagnostic__worth-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:var(--s-6)}
