.grader{--gd-radius: 0;border:1px solid var(--color-border);background:var(--color-surface-1);box-shadow:inset 0 1px #e7e5e40a}.grader-pad{padding:clamp(1.5rem,4vw,2.5rem)}.gd-progress{display:flex;align-items:center;gap:1rem;font-family:var(--font-mono);font-size:.75rem;color:var(--color-faint);margin-bottom:1.5rem}.gd-progress-track{flex:1;height:3px;background:var(--color-surface-3);overflow:hidden}.gd-progress-fill{height:100%;background:var(--color-pass);transition:width .25s cubic-bezier(.2,.7,.2,1)}.gd-pillar-tag{font-family:var(--font-mono);font-size:.72rem;color:var(--color-pass);margin-bottom:.5rem}.gd-question{font-family:var(--font-display);font-size:clamp(1.3rem,3.5vw,1.9rem);line-height:1.15;color:var(--color-ink);margin-bottom:1.5rem}.gd-options{display:grid;gap:.6rem}.gd-option{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:1rem 1.1rem;min-height:44px;background:var(--color-surface-2);border:1px solid var(--color-border-bright);color:var(--color-ink);font-size:1rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.gd-option:hover{border-color:var(--color-pass);background:color-mix(in srgb,var(--color-pass) 8%,var(--color-surface-2))}.gd-option-key{font-family:var(--font-mono);font-size:.75rem;color:var(--color-faint);border:1px solid var(--color-border-bright);border-radius:3px;padding:.1rem .4rem;flex:none}.gd-back{margin-top:1.25rem;background:none;border:none;color:var(--color-muted);font-family:var(--font-mono);font-size:.8rem;cursor:pointer;padding:.5rem 0;min-height:44px}.gd-back:hover{color:var(--color-ink)}.gd-intro-title{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:1rem}.gd-intro-lead{color:var(--color-muted);font-size:1.05rem;max-width:52ch;margin-bottom:1.5rem}.gd-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.gd-score-wrap{display:grid;gap:1.5rem;align-items:center;margin-bottom:2rem}.gd-ring{display:grid;place-items:center;position:relative;width:180px;height:180px}.gd-ring svg{transform:rotate(-90deg)}.gd-ring-num{position:absolute;text-align:center}.gd-ring-num strong{display:block;font-family:var(--font-mono);font-size:2.75rem;font-weight:700;line-height:1;color:var(--color-ink)}.gd-ring-num span{font-family:var(--font-mono);font-size:.75rem;color:var(--color-faint)}.gd-band-label{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.2rem)}.gd-band-blurb{color:var(--color-muted);margin-top:.75rem;max-width:48ch}.gd-pillars{display:grid;gap:1rem;margin:1.5rem 0}.gd-pillar{display:grid;gap:.4rem}.gd-pillar-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.9rem}.gd-pillar-name{color:var(--color-ink)}.gd-pillar-score{font-family:var(--font-mono);font-size:.8rem}.gd-bar{height:8px;background:var(--color-surface-3);overflow:hidden}.gd-bar-fill{height:100%;transition:width .6s cubic-bezier(.2,.7,.2,1)}.gd-bar-fill.risk{background:var(--color-fail)}.gd-bar-fill.warn{background:var(--color-cta)}.gd-bar-fill.ok{background:var(--color-pass)}.gd-pillar-line{font-size:.85rem;color:var(--color-muted)}.gd-sev{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.gd-sev.risk{color:var(--color-fail)}.gd-sev.warn{color:var(--color-cta)}.gd-sev.ok{color:var(--color-pass)}.gd-gate{border:1px solid var(--color-pass);background:color-mix(in srgb,var(--color-pass) 6%,var(--color-surface-1));padding:1.5rem;margin:1.5rem 0}.gd-gate h3{font-size:1.2rem;margin-bottom:.5rem}.gd-gate p{color:var(--color-muted);margin-bottom:1rem}.gd-form{display:flex;gap:.5rem;flex-wrap:wrap}.gd-input{flex:1;min-width:200px;background:var(--color-surface-2);border:1px solid var(--color-border-bright);color:var(--color-ink);padding:.7rem .9rem;font-size:1rem}.gd-input:focus{border-color:var(--color-pass);outline:none}.gd-error{color:var(--color-fail);font-size:.85rem;margin-top:.5rem}.gd-fineprint{font-size:.78rem;color:var(--color-faint);margin-top:.75rem}.gd-turnstile{margin-top:.9rem}.gd-section-title{font-family:var(--font-mono);font-size:.75rem;color:var(--color-pass);margin:2rem 0 1rem}.gd-findings{display:grid;gap:.75rem}.gd-finding{border:1px solid var(--color-border);border-left:3px solid var(--color-border);padding:1rem 1.1rem;background:var(--color-surface-1)}.gd-finding.risk{border-left-color:var(--color-fail)}.gd-finding.warn{border-left-color:var(--color-cta)}.gd-finding.ok{border-left-color:var(--color-pass)}.gd-finding-head{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.gd-finding-name{color:var(--color-ink);font-weight:600}.gd-finding-text{color:var(--color-muted);font-size:.95rem}.gd-roadmap{display:grid;gap:.75rem;counter-reset:step}.gd-step{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 1.1rem;border:1px solid var(--color-border)}.gd-step-n{font-family:var(--font-mono);color:var(--color-pass);font-weight:700}.gd-step-title{color:var(--color-ink);font-weight:600}.gd-step-detail{color:var(--color-muted);font-size:.92rem;margin-top:.2rem}.gd-step-tier{font-family:var(--font-mono);font-size:.7rem;color:var(--color-faint);margin-top:.4rem}.gd-reco{border:1px solid var(--color-cta);background:color-mix(in srgb,var(--color-cta) 8%,var(--color-surface-1));padding:1.5rem;margin-top:1.5rem}.gd-reco h3{font-size:1.3rem;margin-bottom:.5rem}.gd-reco p{color:var(--color-muted);margin-bottom:1.25rem}.gd-actions{display:flex;flex-wrap:wrap;gap:.75rem}@media(min-width:640px){.gd-score-wrap{grid-template-columns:auto 1fr}}.rd-hero[data-astro-cid-273bn6mx]{position:relative;overflow:hidden;padding-block:clamp(2.5rem,7vw,4rem) 1.5rem}.rd-hero-inner[data-astro-cid-273bn6mx]{max-width:56ch}.rd-eyebrow[data-astro-cid-273bn6mx] .check[data-astro-cid-273bn6mx]{color:var(--color-pass)}.rd-title[data-astro-cid-273bn6mx]{font-size:clamp(2rem,5.5vw,3.5rem);margin-top:1.25rem}.rd-pain[data-astro-cid-273bn6mx]{color:var(--color-muted);font-size:1.15rem;margin-top:1rem}.rd-clarifier[data-astro-cid-273bn6mx]{border-left:2px solid var(--color-pass);padding:.5rem 0 .5rem 1rem;margin-bottom:1.5rem;color:var(--color-muted);max-width:70ch}.rd-clarifier[data-astro-cid-273bn6mx] strong[data-astro-cid-273bn6mx]{color:var(--color-ink)}.rd-clarifier[data-astro-cid-273bn6mx] a[data-astro-cid-273bn6mx]{color:var(--color-pass)}.rd-grader[data-astro-cid-273bn6mx]{margin-top:1rem}.rd-links[data-astro-cid-273bn6mx]{margin-top:1.5rem;color:var(--color-muted)}.rd-links[data-astro-cid-273bn6mx] a[data-astro-cid-273bn6mx]{color:var(--color-pass)}
