.quiz{padding:clamp(1.25rem,3.5vw,2.25rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-sm)}.quiz__progress{margin-bottom:1.75rem}.quiz__progress[hidden]{display:none}.quiz__count{margin:0 0 .6rem;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.quiz__bar{height:.4rem;overflow:hidden;border-radius:99px;background:var(--border-strong)}.quiz__bar span{display:block;width:0;height:100%;border-radius:99px;background:var(--gradient-primary);transition:width var(--dur) var(--ease-out)}.qstep{min-width:0;margin:0;padding:0;border:0}.qstep+.qstep{margin-top:2.25rem}.qstep:focus{outline:none}.qstep legend{float:left;width:100%;margin:0 0 .4rem;padding:0;font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700;line-height:1.25}.qstep__hint{clear:both;margin:0 0 1.25rem;color:var(--text-muted);font-size:var(--fs-sm)}.qstep[hidden]{display:none}.qstep select{max-width:24rem}.qopts{display:grid;gap:.7rem}@media(min-width:40em){.qopts{grid-template-columns:1fr 1fr}}.qopt{display:flex;align-items:center;gap:.8rem;min-height:3.5rem;margin:0;padding:.8rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);font-weight:500;cursor:pointer;transition:border-color var(--dur-fast) ease,background-color var(--dur-fast) ease,transform var(--dur-fast) ease}.qopt:hover{border-color:var(--primary)}.qopt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.qopt:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.qopt input{flex:none;width:1.2rem;height:1.2rem;margin:0;accent-color:var(--primary)}.quiz__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:2rem}.quiz__nav [hidden]{display:none}.quiz__nav [data-next],.quiz__nav [data-submit]{margin-left:auto}.quiz__nav .btn:disabled{opacity:.5;cursor:not-allowed}.js .qstep:not(.is-on){display:none}@media(prefers-reduced-motion:no-preference){.js .qstep.is-on{animation:qstep-in .3s var(--ease-out)}}@keyframes qstep-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.qrank{margin-top:1.5rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-xs)}.qrank--top{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:radial-gradient(60% 40% at 100% 0%,var(--primary-soft),transparent 70%),var(--surface-elevated);box-shadow:var(--shadow-md)}.qrank__head{display:flex;align-items:center;gap:1rem}.qrank__head h3{margin:0;font-size:var(--fs-xl)}.qrank__icon{display:grid;flex:none;place-items:center;width:3.5rem;height:3.5rem;border-radius:1.1rem;background:var(--primary-soft);color:var(--primary-text)}.qrank--top .qrank__icon{background:var(--primary);color:var(--on-primary)}.qrank__badge{display:inline-block;margin:0 0 .3rem;padding:.2em .75em;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-text);font-size:var(--fs-xs);font-weight:700}.qrank__badge--best-match{background:var(--primary);color:var(--on-primary)}.qrank__what{margin:1rem 0 0;font-size:var(--fs-md)}.qrank__facts{display:grid;gap:.75rem;margin:1.25rem 0 0}.qrank__facts>div{display:grid;gap:.15rem;padding-top:.75rem;border-top:1px solid var(--border)}@media(min-width:48em){.qrank__facts>div{grid-template-columns:11rem 1fr;gap:1rem}}.qrank__facts dt{color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.qrank__facts dd{margin:0}.qrank__sub,.qcoach h3{margin:1.75rem 0 .4rem;font-size:var(--fs-md)}.qrank__note{margin:0 0 .9rem;color:var(--text-muted);font-size:var(--fs-sm)}.quiz__cards{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));margin-top:.75rem}.quiz__cards .lcard__compare{display:none}.qrank__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.qcoach,.quiz-result .calc__disclaimer{margin-top:2rem}.quiz__retake{margin:1.5rem 0 0}
