.grade-caps{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .85rem;margin:.85rem 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.grade-caps b{color:var(--text-primary);font-weight:600}.grade-caps span+span:before{content:"·";margin-right:.85rem;color:var(--hairline-visible)}.grade-form{margin-top:.5rem}.grade-input{min-height:var(--control-h-lg)}.grade-input:focus-visible{outline-offset:1px}@media (max-width:760px),(pointer:coarse){.grade-input{font-size:1rem}}.grade-form .lp-btn--door{flex:none;min-width:11em;justify-content:flex-start}.grade-form .lp-btn.lp-btn--primary[aria-busy=true]{cursor:progress;background:var(--primary);border-color:color-mix(in srgb,var(--primary) 84%,#000000);color:var(--on-primary);box-shadow:var(--highlight-inset-primary),var(--elev-primary);transform:none}.grade-form .lp-btn--door[aria-busy=true] :is(.lp-btn__tile,.ui-icon){transform:none}.grade-pillar-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin:1.1rem 0 0;padding:0;list-style:none}.grade-pillar-strip li{color:var(--text-secondary);font-size:var(--text-xs)}.grade-pillar-strip li:not(:first-child):before{content:"·";margin-right:.9rem;color:var(--hairline-visible)}.grade-pillar-strip-lead{color:var(--text-primary);font-weight:600}.grade-alert,.grade-status{margin-top:1.1rem}.grade-progress{margin-top:1.4rem;max-width:40rem}.grade-progress-target{font-family:var(--font-mono);font-size:.8em;color:var(--primary);overflow-wrap:anywhere}.grade-progress .rp-error{border:0}.grade-progress.rp .rp-button--primary{padding:0 1.4rem}.grade-alert.state-panel:not(.state-panel--error){align-items:center;padding:var(--space-2) var(--space-4) var(--space-2) 1.25rem;background:var(--ink-control);border-color:var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--highlight-inset),var(--elev-1);color:var(--text-secondary);font-size:.9375rem}.grade-alert .grade-inline-link{min-height:44px;color:var(--text-primary);text-decoration-thickness:1.5px;text-underline-offset:4px}.grade-result h2:focus{outline:none}.grade-result h2:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.grade-result{display:grid;gap:1.4rem;margin-top:2rem}.grade-result>*{min-width:0}.grade-sample-note{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.grade-inline-link{display:inline-flex;align-items:center;gap:.3em;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.grade-sample-note b{color:var(--text-primary)}.grade-result-head{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.grade-result-head h2{margin:0;font-family:var(--font-ui);font-weight:450;font-size:clamp(1.85rem,1.3rem + 2.1vw,2.85rem);line-height:1.08;letter-spacing:-.03em}.grade-momentum{display:inline-flex;font-size:1.5rem;line-height:1}.grade-momentum--up{color:var(--text-success)}.grade-momentum--flat{color:var(--text-muted)}.grade-momentum--down{color:var(--text-warning)}.grade-pillars{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:var(--space-3)}.grade-tier--strong{--grade-tier:var(--verified-emerald)}.grade-tier--mid{--grade-tier:var(--warning-amber)}.grade-tier--low{--grade-tier:var(--rights-red)}.grade-pillars .lp-feature-no{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.grade-pillars .lp-feature-no:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--grade-tier,var(--hairline-visible))}.grade-score{margin:.55rem 0 .7rem;font-family:var(--font-ui);font-size:2rem;font-weight:500;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums lining-nums;color:var(--text-primary)}.grade-score-max{margin-left:3px;color:var(--text-muted);font-size:var(--text-xs);font-weight:500;letter-spacing:0}.grade-meter{height:6px;margin-bottom:.75rem;background:var(--row-alt);border-radius:var(--radius-pill);overflow:hidden}.grade-meter-fill{display:block;height:100%;background:var(--grade-tier,var(--text-secondary));border-radius:inherit}.grade-rationale{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.grade-flags{flex-direction:column;gap:.4rem}.grade-flags-label{font-size:var(--text-xs)}.grade-flags ul{margin:0;padding-left:1.2rem;display:grid;gap:.3rem;color:var(--text-secondary);font-size:.82rem}.grade-cta{display:grid;gap:.75rem;margin-top:clamp(24px,3vw,40px);padding:clamp(24px,4vw,40px);border:1px solid var(--hairline);border-radius:var(--radius-xl)}@media screen{.grade-cta{--primary:var(--deep-accent,#d9ff5c);--primary-hover:var(--accent-hover,#e6ff8f);--on-primary:#242426;--text-primary:var(--deep-ink,#ffffff);--text-secondary:var(--deep-ink-2,#b9babf);--text-muted:var(--deep-ink-2,#b9babf);--door-tile-bg:#242426;--door-tile-ink:#d9ff5c;background:var(--deep-fill,#242426);color:var(--deep-ink,#ffffff);border-color:transparent}.grade-cta .lp-btn--primary{border-color:var(--primary)}.grade-cta .lp-btn--ghost{background:rgba(255,255,255,.06);color:var(--deep-ink,#ffffff);border-color:rgba(255,255,255,.32);box-shadow:none}}@media screen and (hover:hover){.grade-cta .lp-btn--primary:hover{border-color:var(--primary-hover)}.grade-cta .lp-btn--ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55);box-shadow:none}}@media print{.grade-cta .lp-btn--primary,.grade-form .lp-btn--primary{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.grade-cta>*{min-width:0}.grade-cta-head{margin:0;max-width:20ch;color:var(--text-primary);font-family:var(--font-ui);font-size:clamp(1.85rem,1.3rem + 2.1vw,2.85rem);font-weight:450;line-height:1.08;letter-spacing:-.03em}.grade-cta-sub{margin:0;max-width:56ch;color:var(--text-muted);font-size:.9rem;line-height:1.6}.grade-cta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}@media (max-width:620px){.grade-cta-actions{align-items:stretch;flex-direction:column}.grade-cta-actions .lp-btn{width:100%;white-space:normal;height:auto;min-height:var(--control-h-lg)}.grade-cta-actions .lp-btn--door{justify-content:flex-start;text-align:start}.grade-cta-actions .lp-btn--ghost{justify-content:center;padding-block:.55rem;text-align:center}}