@font-face{font-family:__Space_Grotesk_94deb5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_94deb5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_94deb5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_94deb5;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_94deb5;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_94deb5;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_94deb5;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_94deb5{font-family:__Space_Grotesk_94deb5,__Space_Grotesk_Fallback_94deb5;font-style:normal}.__variable_94deb5{--nf-display:"__Space_Grotesk_94deb5","__Space_Grotesk_Fallback_94deb5"}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_987bfa;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_Fallback_987bfa;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_987bfa{font-family:__IBM_Plex_Sans_987bfa,__IBM_Plex_Sans_Fallback_987bfa;font-style:normal}.__variable_987bfa{--nf-body:"__IBM_Plex_Sans_987bfa","__IBM_Plex_Sans_Fallback_987bfa"}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_9f0762;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_9f0762;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9f0762{font-family:__IBM_Plex_Mono_9f0762,__IBM_Plex_Mono_Fallback_9f0762;font-style:normal}.__variable_9f0762{--nf-mono:"__IBM_Plex_Mono_9f0762","__IBM_Plex_Mono_Fallback_9f0762"}:root{--ink:#0e1116;--ink-2:#374151;--muted:#4b5563;--line:#e3e5e8;--paper:#fafaf9;--surface:#fff;--night:#0e1116;--night-2:#1a1f27;--night-line:#2d3440;--night-text:#d1d5db;--signal:#c2410c;--signal-hover:#9a3412;--tint-blue:#e6edfb;--g-a:#1d4ed8;--g-b:#0e7490;--g-c:#a16207;--g-d:#c2410c;--g-f:#9f1239;--radius-s:6px;--radius-m:10px;--radius-l:14px;--font-display:var(--nf-display,"Space Grotesk"),system-ui,sans-serif;--font-body:var(--nf-body,"IBM Plex Sans"),system-ui,sans-serif;--font-mono:var(--nf-mono,"IBM Plex Mono"),ui-monospace,monospace;color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper);text-rendering:optimizeLegibility}img,svg{max-width:100%}a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--signal)}h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.02em;margin:0;text-wrap:balance}h1{font-size:clamp(2.25rem,5vw,3.75rem)}h1,h2{font-weight:700}h2{font-size:clamp(1.6rem,3vw,2.4rem)}h3{font-size:1.2rem;font-weight:600;font-family:var(--font-body);letter-spacing:0}p{margin:0}.mono,code,pre{font-family:var(--font-mono)}:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:10}.skip:focus{left:16px;top:16px;color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lead{font-size:1.2rem;color:var(--ink-2);max-width:62ch}.muted{color:var(--muted)}.small{font-size:.875rem}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{flex-wrap:wrap;gap:12px;align-items:center}.masthead{background:var(--surface);border-bottom:1px solid var(--line)}.masthead .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;min-height:68px}.logo{display:inline-flex;gap:10px;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-.02em}.logo,.nav{align-items:center}.nav{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:.95rem}.nav a{text-decoration:none;padding:10px 0}.nav a.btn{padding:0 14px}.footer{margin-top:96px;border-top:1px solid var(--line);background:var(--surface)}.footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:32px;gap:32px;padding-top:48px;padding-bottom:48px;font-size:.95rem}.footer ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.footer h2{font-family:var(--font-body);font-size:.95rem;letter-spacing:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--radius-s);border:1px solid var(--ink);background:var(--surface);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn,.btn:hover{color:var(--ink)}.btn:hover{background:#f3f4f6}.btn-primary{background:var(--signal);border-color:var(--signal);color:#fff}.btn-primary:hover{background:var(--signal-hover);border-color:var(--signal-hover);color:#fff}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-dark:hover{background:#262c36;color:#fff}.btn[disabled]{background:#d1d5db;border-color:#d1d5db;color:var(--ink-2);cursor:not-allowed}.btn-small{min-height:40px;padding:0 14px;font-size:.9rem}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600}.input{min-height:48px;padding:0 14px;border:1px solid #9ca3af;border-radius:var(--radius-s);font:inherit;background:var(--surface);color:var(--ink);width:100%}.input:focus-visible{outline-offset:0}.hint{font-size:.875rem;color:var(--muted)}.alert{background:#fbe7eb;color:#6b0f27}.alert,.notice{padding:14px 16px;border-radius:var(--radius-s)}.notice{background:var(--tint-blue);color:#102a6b}.scanbox{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:2px solid var(--ink);border-radius:var(--radius-m);background:var(--surface);max-width:620px}.scanbox input{flex:1 1 240px;min-width:0;border:0;background:transparent;font-family:var(--font-mono);font-size:1.1rem;padding:12px;color:var(--ink)}.scanbox input:focus-visible{outline:none}.scanbox:focus-within{box-shadow:0 0 0 3px rgba(194,65,12,.35)}.section{padding:80px 0}.section-tight{padding:48px 0}.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.night{background:var(--night)}.night,.night a{color:#f3f4f6}.night .muted,.scanning .muted{color:var(--night-text)}.tile.night{background:var(--night);border-color:transparent}.hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding:72px 0 64px}.hero>*{flex:1 1 440px;min-width:0}.section-head{max-width:760px;margin-bottom:40px;display:grid;grid-gap:12px;gap:12px}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px}.grid,.tile{display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:24px;grid-gap:8px;gap:8px;align-content:start}.tile a{font-weight:600}.steps-list{counter-reset:step;list-style:none;margin:0;padding:0;display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.steps-list li{counter-increment:step;display:grid;grid-gap:8px;gap:8px}.steps-list li:before{content:counter(step);font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1;color:var(--signal)}.grade{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;color:#fff;border-radius:var(--radius-l)}.grade-letter{font-family:var(--font-display);font-weight:700;line-height:1}.grade-lg{width:168px;height:168px}.grade-lg .grade-letter{font-size:112px}.grade-md{width:96px;height:96px;border-radius:var(--radius-m)}.grade-md .grade-letter{font-size:60px}.grade-sm{width:40px;height:40px;border-radius:var(--radius-s)}.grade-sm .grade-letter{font-size:22px}.grade-score{font-family:var(--font-mono);font-size:.8rem}.grade-A{background:var(--g-a)}.grade-B{background:var(--g-b)}.grade-C{background:var(--g-c)}.grade-D{background:var(--g-d)}.grade-F{background:var(--g-f)}.grade-none{background:#9ca3af}@keyframes grade-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.grade-reveal{animation:grade-in .42s cubic-bezier(.2,.9,.3,1.2) both}.report-head{display:flex;flex-wrap:wrap;gap:32px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:32px}.report-text{flex:1 1 380px;min-width:0;display:grid;grid-gap:10px;gap:10px}.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.area{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 18px;display:grid;grid-gap:2px;gap:2px}.area-grade{font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1.1}.sev{flex:none;display:inline-block;font-family:var(--font-mono);font-size:.75rem;padding:3px 9px;border-radius:4px;color:#fff}.sev-urgent{background:var(--g-f)}.sev-soon{background:var(--g-c)}.sev-info{background:#4b5563}.sev-pass{background:var(--g-a)}.finding{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}.finding-toggle{width:100%;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 22px;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:64px}.finding-title{flex:1 1 320px;min-width:0;font-weight:600;font-size:1.05rem}.finding-body{padding:0 22px 22px;display:grid;grid-gap:16px;gap:16px}.finding-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.finding-cols h4{margin:0 0 4px;font-size:.85rem;color:var(--muted);font-weight:600}.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#f3f4f6;border-radius:var(--radius-s) var(--radius-s) 0 0}.tab{min-height:44px;padding:0 16px;border:0;background:transparent;font:inherit;font-size:.9rem;color:var(--muted);cursor:pointer}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:inset 0 -3px 0 var(--ink)}.code{margin:0;padding:16px;background:var(--night);color:#e5e7eb;font-size:.875rem;line-height:1.7;overflow-x:auto;white-space:pre;border-radius:0 0 var(--radius-s) var(--radius-s)}.code-block{border:1px solid var(--line);border-radius:var(--radius-s)}.lock{display:inline-flex;gap:6px;align-items:center;font-size:.875rem;color:var(--muted)}details.passed{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 22px}details.passed summary{cursor:pointer;font-weight:600;min-height:32px}details.passed ul{margin:12px 0 0;padding-left:20px;color:var(--ink-2)}.scanning{background:var(--night);color:#f3f4f6;border-radius:var(--radius-l);padding:40px;display:flex;flex-wrap:wrap;gap:40px}.scanning>*{flex:1 1 380px;min-width:0}.bar{height:10px;background:var(--night-2);border-radius:6px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--signal);transition:width .4s ease}.phases{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.phases li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--night-line);color:var(--night-text)}.phases li[data-state=done] .ph{color:#93c5fd}.phases li[data-state=now]{color:#fff}.phases li[data-state=now] .ph{color:#fdba74}.phases li[data-state=next]{color:#9ca3af}.ph{font-size:.8rem;min-width:48px;padding-top:2px}.log,.ph{font-family:var(--font-mono)}.log{background:#12161d;border:1px solid #232934;border-radius:var(--radius-m);padding:20px;font-size:.875rem;line-height:1.9;display:grid;align-content:start;min-height:200px}.log-pass{color:#93c5fd}.log-warn{color:#fde68a}.log-fail{color:#fdba74}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:28px;display:flex;flex-direction:column;gap:14px}.plan-featured{border:2px solid var(--ink)}.price{font-family:var(--font-display);font-size:2.6rem;font-weight:700;line-height:1}.price small{font-size:1rem;font-weight:500;color:var(--muted);font-family:var(--font-body)}.plan ul{margin:0;padding-left:20px;color:var(--ink-2);display:grid;grid-gap:6px;gap:6px}.plan .btn{margin-top:auto}.toggle{display:inline-flex;padding:4px;border:1px solid var(--ink);border-radius:8px;background:var(--surface)}.toggle button{min-height:40px;padding:0 16px;border:0;border-radius:5px;background:transparent;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink-2)}.toggle button[aria-pressed=true]{background:var(--ink);color:#fff;font-weight:600}.faq{display:grid;grid-gap:10px;gap:10px;max-width:820px}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px 22px}.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem}.faq details p{margin-top:10px;color:var(--ink-2)}.prose{max-width:72ch;display:grid;grid-gap:18px;gap:18px}.prose h2{margin-top:28px;font-size:1.7rem}.prose li,.prose p{color:var(--ink-2)}.crumbs{font-size:.9rem;color:var(--muted)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.crumbs li+li:before{content:"/";margin-right:8px;color:#9ca3af}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px 20px}.stat strong{display:block;font-family:var(--font-display);font-size:2.2rem;line-height:1.1}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}table{width:100%;border-collapse:collapse;min-width:560px}td,th{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line)}th{font-size:.85rem;color:var(--muted);font-weight:500}tr:last-child td{border-bottom:0}.auth{max-width:460px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:32px;display:grid;grid-gap:18px;gap:18px}@media (max-width:640px){body{font-size:16px}.section{padding:56px 0}.hero{padding:40px 0;gap:36px}.report-head,.scanning{padding:22px}.grade-lg{width:128px;height:128px}.grade-lg .grade-letter{font-size:84px}.masthead .wrap{padding-top:8px;padding-bottom:8px;min-height:0}.nav{width:100%;gap:0 16px;font-size:.9rem}.nav a{padding:8px 0}.nav a.btn{margin-left:auto;min-height:36px}.scanbox button{flex:1 1 100%}}.toaster{position:fixed;z-index:50;right:24px;bottom:calc(24px + env(safe-area-inset-bottom, 0px));width:min(400px,calc(100vw - 48px));display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{position:relative;overflow:hidden;pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 8px 16px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--toast-accent);border-radius:var(--radius-m);box-shadow:0 12px 32px rgba(14,17,22,.16),0 2px 6px rgba(14,17,22,.08);touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:toast-in .22s cubic-bezier(.2,.9,.3,1) both;transition:transform .16s ease,opacity .16s ease}.toast-success{--toast-accent:var(--g-a)}.toast-error{--toast-accent:var(--g-f)}.toast-info{--toast-accent:var(--ink-2)}.toast-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:var(--toast-accent)}.toast-message{flex:1 1;min-width:0;margin:3px 0 0;font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}.toast-close{flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-8px 0;border:0;border-radius:var(--radius-s);background:transparent;color:var(--muted);cursor:pointer}.toast-close:hover{background:#f3f4f6;color:var(--ink)}.toast-close:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.toast-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--toast-accent);opacity:.35;transform-origin:left;animation:toast-timer linear forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:640px){.toaster{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));width:auto}.toast-message{font-size:1rem}}@media (prefers-reduced-motion:reduce){.toast{animation:none;transition:none}.toast-timer{display:none}}.btn-danger{background:var(--g-f);border-color:var(--g-f);color:#fff}.input-with-action{position:relative;flex:1 1;min-width:0}.input-with-action .input{padding-right:52px}.input-action{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:40px;border:0;border-radius:var(--radius-s);background:transparent;color:var(--muted);cursor:pointer}.input-action:hover{color:var(--ink);background:#f3f4f6}.input-action:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.input-revealed::placeholder{color:var(--ink);opacity:1}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px}.profile-card{margin:0;padding:20px 22px;gap:10px}.profile-card h3{font-size:1.05rem;margin:0 0 4px}.profile-row{display:grid;grid-gap:1px;gap:1px}.profile-row dt{color:var(--muted);font-size:.8rem}.profile-row dd{margin:0;min-width:0;overflow-wrap:anywhere;line-height:1.45}