.score-dial{justify-items:center;margin:0;display:grid;position:relative}.score-dial svg{display:block;overflow:visible}.score-dial__track{fill:none;stroke:var(--rule-soft);stroke-width:7px;stroke-linecap:round}.score-dial__fill{fill:none;stroke:var(--band-fill);stroke-width:7px;stroke-linecap:round}.score-dial__needle{transform-box:view-box;transform-origin:32px 32px;transform:rotate(var(--needle-deg))}.score-dial__dot{fill:var(--ink);stroke:var(--card);stroke-width:1.6px}.score-dial__center{flex-direction:column;justify-content:center;align-items:center;padding-top:4%;display:flex;position:absolute;inset:0}.score-dial__num{font-size:calc(var(--dial-size,200px) * .3);letter-spacing:-.02em;color:var(--ink);font-weight:700;line-height:1}.score-dial__of{color:var(--ink-2);margin-top:.35rem;font-size:.8rem;font-weight:500}.score-dial__band{color:var(--band);margin-top:-.35rem;font-size:.95rem;font-weight:600}.score-dial__glyph{font-size:.8em}@keyframes dial-sweep{0%{stroke-dasharray:0 200}}@keyframes needle-ride{0%{transform:rotate(0)}}@keyframes land{0%{opacity:0;transform:translateY(6px)}}@keyframes bar-fill{0%{transform:scaleX(0)}}@keyframes verdict-in{0%{opacity:0;transform:translateY(4px)scale(.985)}}.score-dial.is-animated .score-dial__fill{animation:dial-sweep .72s var(--ease-out) both}.score-dial.is-animated .score-dial__needle{animation:needle-ride .72s var(--ease-needle) both}.factors{border-top:1px solid var(--rule);gap:0;display:grid}.factor{border-bottom:1px solid var(--rule);padding:.95rem 0}.factor__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.factor__label{font-size:1rem;font-weight:600;line-height:1.35}.factor__weight{color:var(--ink-3);white-space:nowrap;font-size:.8125rem;font-weight:400}.factor__value{white-space:nowrap;align-items:baseline;font-size:1.15rem;font-weight:700;display:inline-flex}.factor__of{color:var(--ink-3);margin-left:1px;font-size:.8rem;font-weight:500}.factor__bar{transform-origin:0;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:.55rem;display:grid}.factor__bar span{background:var(--rule-soft);border-radius:2px;height:6px}.factor.level-high .factor__bar .on{background:var(--strong)}.factor.level-mid .factor__bar .on{background:var(--possible-fill)}.factor.level-low .factor__bar .on{background:var(--weak)}.factor__reading{color:var(--ink-2);margin-top:.5rem;font-size:.935rem;line-height:1.5}.factor__reading-k{color:var(--ink-3)}.factors--compact .factor{padding:.6rem 0}.factors--compact .factor__label{font-size:.925rem;font-weight:500}.factors--compact .factor__weight{display:none}.factors--compact .factor__value{font-size:1rem}.factors--compact .factor__bar{margin-top:.4rem}.factors--compact .factor__bar span{height:5px}.is-revealing .factor{animation:land .3s var(--ease-out) both;animation-delay:calc(.45s + var(--i) * 70ms)}.is-revealing .factor__bar{animation:bar-fill .32s var(--ease-out) both;animation-delay:calc(.5s + var(--i) * 70ms)}.verdict{background:var(--band-wash);border-radius:var(--radius);padding:1rem 1.1rem}.verdict__label{color:var(--band);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:flex}.verdict__glyph{font-size:.85em}.verdict__line{color:var(--ink);margin-top:.3rem;font-size:.975rem;line-height:1.5}.verdict--compact{background:0 0;padding:0}.verdict--compact .verdict__label{font-size:.95rem}.is-revealing .verdict{animation:verdict-in .28s var(--ease-out) both;animation-delay:1.3s}.result{--dial-size:200px}.result__head{max-width:52rem}.result__eyebrow{margin-bottom:.9rem}.result__title{letter-spacing:-.03em;font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem);font-weight:700;line-height:1.08}.result__meta{border-bottom:1px solid var(--rule);gap:.55rem;margin-bottom:2rem;padding-bottom:1.5rem;display:grid}.result__title:focus{outline:none}.result__meta div{grid-template-columns:6.5rem 1fr;gap:.75rem;font-size:.95rem;line-height:1.5;display:grid}.result__meta dt{color:var(--ink-3);font-weight:500}.result__meta dd{color:var(--ink)}.result__grid{grid-template-areas:"score""body""next";gap:2rem;margin-top:2rem;display:grid}.result__score{grid-area:score}.result__body{grid-area:body;min-width:0}.result__next{grid-area:next}.result__score-inner{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-l);justify-items:center;gap:1rem;padding:1.5rem 1.25rem 1.25rem;display:grid}.result__verdict{width:100%}@media (min-width:960px){.result{--dial-size:220px}.result__grid{grid-template:"score body""next body"1fr/340px minmax(0,1fr);align-items:start;gap:1.5rem 3.5rem}.result__score{position:sticky;top:88px}}.result__block+.result__block{margin-top:2.5rem}.result__h{letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.result__h-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:.75rem;display:flex}.result__sub{color:var(--ink-2);margin-top:.25rem;font-size:.9rem}.result__h-row .result__sub{margin-top:0}.result__overview{max-width:var(--measure);margin-top:.75rem;font-size:1.125rem;line-height:1.65}.result__disclaimer{border-top:1px solid var(--rule);color:var(--ink-2);max-width:var(--measure);margin-top:2.5rem;padding-top:1.25rem;font-size:.95rem}.risk-list{gap:.6rem;margin-top:.75rem;display:grid}.risk-list li{max-width:var(--measure);padding-left:1.4rem;line-height:1.55;position:relative}.risk-list li:before{content:"";border:2px solid var(--ink);width:8px;height:8px;position:absolute;top:.6em;left:.2rem;transform:rotate(45deg)}.result__change{background:var(--band-wash);border-radius:var(--radius-l);padding:1.35rem 1.35rem 1.5rem}.band-strong .result__change{background:var(--card);border:1px solid var(--rule)}.change-list{counter-reset:ch;gap:1rem;margin-top:1rem;display:grid}.change-list li{counter-increment:ch;grid-template-columns:1.8rem 1fr;column-gap:.4rem;display:grid}.change-list li:before{content:counter(ch);background:var(--ink);width:1.45rem;height:1.45rem;color:var(--paper);border-radius:50%;grid-row:span 2;place-items:center;margin-top:.1rem;font-size:.8rem;font-weight:700;display:grid}.change-list__k{font-weight:600}.change-list__v{color:var(--band);margin-left:.35rem;font-weight:500}.change-list li p+p{color:var(--ink-2);margin-top:.15rem;line-height:1.5}.next{background:var(--plum);color:var(--paper);border-radius:var(--radius-l);padding:1.4rem 1.35rem}.next .btn-primary{background:var(--paper);color:var(--ink)}.next .btn-primary:hover{background:#fff}.next .btn-quiet{color:var(--paper);background:0 0;border-color:#6c5890}.next .btn-quiet:hover{border-color:var(--paper)}.next .btn-ghost{color:var(--paper)}.next .btn-ghost:hover{background:var(--plum-2)}.next__title{letter-spacing:-.015em;font-size:1.2rem;font-weight:700}.next__body{color:#d9d6ce;margin-top:.45rem;font-size:.95rem;line-height:1.55}.next__actions{gap:.6rem;margin-top:1.1rem;display:grid}.next--weak{background:var(--card);color:var(--ink);border:1.5px solid var(--weak)}.next--weak .next__body{color:var(--ink-2)}.next--weak .btn-primary{background:var(--ink);color:var(--paper)}.next--weak .btn-quiet{color:var(--ink);border-color:var(--rule)}.next--weak .btn-quiet:hover{border-color:var(--ink)}.next__demoted{color:var(--ink-2);margin-top:1rem;font-size:.9rem}.next__demoted .link{font-weight:500}@media print{.result__score{position:static}.next{display:none}}.mini-score{align-items:center;gap:.7rem;display:inline-flex}.mini-score__dial{flex:none;place-items:center;display:inline-grid;position:relative}.mini-score__dial svg{position:absolute;inset:0}.mini-score__num{padding-top:2px;font-size:1.15rem;font-weight:700;position:relative}.mini-score__label{color:var(--band);font-size:.9rem;font-weight:600;line-height:1.25}.matchcard{text-align:left;border-radius:var(--radius-l);border:1.5px solid var(--rule);background:var(--card);flex-direction:column;width:100%;height:100%;padding:1.25rem;transition:border-color .15s,transform .15s;display:flex}.matchcard:hover{border-color:#b9b09c}.matchcard.is-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.matchcard__cta{margin-top:auto;padding-top:1rem;font-size:.9rem;font-weight:600}.matchcard.is-selected .matchcard__cta{color:var(--ink-2)}.matchcard__fit .factor__bar span.on{background:var(--ink)}.read-card{border-radius:var(--radius-l);border:1.5px dashed var(--rule);gap:.75rem;margin-top:2.5rem;padding:1.25rem 1.35rem;display:grid}.read-card p{color:var(--ink-2)}
