@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.UdeZcG_className{font-family:Geist,Geist Fallback;font-style:normal}.UdeZcG_variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._1dHVEa_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._1dHVEa_variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#fff;--surface:#fff;--sunken:#f4f5f6;--ink:#16181b;--muted:#5e646b;--line:#e4e6e9;--accent:#16181b;--accent-ink:#fff;--accent-soft:#f0f1f2;--good:#19794a;--average:#9a5b05;--poor:#c0352b;--good-soft:#e3f3ea;--average-soft:#f8eedd;--poor-soft:#fae6e3;--font-display:var(--font-sans);--font-body:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111214;--surface:#17181b;--sunken:#1d1f22;--ink:#ececee;--muted:#9da3aa;--line:#2a2d31;--accent:#ececee;--accent-ink:#111214;--accent-soft:#24262a;--good:#5fcf92;--average:#eba94f;--poor:#ff8475;--good-soft:#15301f;--average-soft:#352a17;--poor-soft:#3b211e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 15.5px/1.6 var(--font-body), system-ui, sans-serif;margin:0}a{color:inherit;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{background:var(--ink);color:var(--bg);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}.site-header,.site-main{max-width:1080px;margin:0 auto;padding-inline:16px}.site-header{padding-block:22px}.site-main{padding-bottom:96px}.logo{font:700 18px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}.eyebrow{font:500 14px/1.3 var(--font-body);color:var(--muted)}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-hero{gap:20px;max-width:640px;padding-block:72px 64px;display:grid}.home-hero h1{font:700 clamp(34px, 5.6vw, 52px)/1.05 var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0}.lede{max-width:52ch;color:var(--muted);margin:0;font-size:17px;line-height:1.6}.legend-section{border-top:1px solid var(--line);gap:20px;padding-top:40px;display:grid}.legend-section h2,.examples-section h2{font:600 20px/1.2 var(--font-display);letter-spacing:-.02em;margin:0}.chart-legend{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px 32px;margin:0;display:grid}@media (min-width:980px){.chart-legend{grid-template-columns:repeat(5,minmax(0,1fr))}}.chart-legend dt{gap:2px;font-size:15px;font-weight:600;display:grid}.legend-weight{color:var(--muted);font-size:13px;font-weight:400}.chart-legend dd{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.55}.legend-foot{color:var(--muted);margin:0;font-size:14px}.audit-form{gap:10px;display:grid}.audit-form .row{flex-wrap:wrap;gap:8px;display:flex}.url-input{min-width:0;font:400 15px/1 var(--font-mono);border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);border-radius:8px;flex:220px;padding:13px 14px}.url-input[aria-invalid=true]{border-color:var(--poor)}.segmented{border:1px solid var(--line);border-radius:8px;margin:0;padding:0;display:inline-flex;overflow:hidden}.segmented label{cursor:pointer;padding:12px 14px;font-size:14px;position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented label:has(input:checked){background:var(--ink);color:var(--bg)}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.button{font:700 15px/1 var(--font-body);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:8px;padding:14px 22px;text-decoration:none;display:inline-block}.button:not(:disabled):hover{filter:brightness(1.08)}.button:disabled{opacity:.6;cursor:progress}.button.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);text-decoration:none;display:inline-block}.hint{color:var(--muted);margin:0;font-size:13px}.form-error{color:var(--poor);margin:0;font-size:14px}.progress{gap:18px;max-width:560px;padding-top:24px;display:grid}.progress h1{font:700 26px/1.2 var(--font-display);margin:0}.meter{background:var(--sunken);border-radius:999px;height:8px;overflow:hidden}.meter i{background:var(--accent);border-radius:999px;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.meter i{transition:width .4s}}.queue-note{color:var(--muted);margin:0}.step-time{font:400 13px/1 var(--font-body);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{align-items:center;gap:10px;display:flex}.step-dot{border:1.5px solid var(--line);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.steps .done .step-dot{background:var(--good);border-color:var(--good);color:var(--surface)}.steps .current{font-weight:600}.steps .current .step-dot{border-color:var(--accent);border-top-color:#0000}.steps .waiting{color:var(--muted)}@media (prefers-reduced-motion:no-preference){.steps .current .step-dot{animation:1s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.failure{background:var(--poor-soft);border-radius:12px;gap:14px;max-width:560px;margin-top:24px;padding:20px;display:grid}.failure h1{font:700 22px/1.2 var(--font-display);margin:0}.failure p{margin:0}.report{gap:24px;padding-top:16px;display:grid}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.report-head .who{gap:4px;min-width:0;display:grid}.report-head h1{font:700 clamp(22px, 4vw, 28px) / 1.15 var(--font-display);overflow-wrap:anywhere;margin:0}.report-head p{margin:0;font-size:13px}.final-url{overflow-wrap:anywhere}.report-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ghost{font:500 13.5px/1 var(--font-body);border:1px solid var(--line);color:var(--ink);background:var(--surface);cursor:pointer;border-radius:7px;padding:10px 12px;text-decoration:none}.ghost:disabled{color:var(--muted);cursor:not-allowed}.ghost:not(:disabled):hover{border-color:var(--accent)}.action-status{text-align:right;min-height:1em;color:var(--muted);flex-basis:100%;margin:0;font-size:13px}.overview{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;display:grid}@media (max-width:640px){.overview{grid-template-columns:minmax(0,1fr);justify-items:start}}.big-grade{background:var(--sunken);border-radius:12px;justify-items:center;gap:6px;padding:16px 24px;display:grid}.big-grade.rating-good{background:var(--good-soft)}.big-grade.rating-average{background:var(--average-soft)}.big-grade.rating-poor{background:var(--poor-soft)}.big-grade b{font:700 56px/1 var(--font-display)}.big-grade>span{font:500 13px/1 var(--font-body);font-variant-numeric:tabular-nums}.gauges{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;width:100%;display:grid}.gauge{text-align:center;justify-items:center;gap:6px;font-size:13px;display:grid}.gauge-label{color:var(--ink)}.ring{--value:0;aspect-ratio:1;background:conic-gradient(var(--color,var(--muted)) calc(var(--value) * 1%), var(--sunken) 0);border-radius:50%;place-items:center;width:68px;display:grid}.ring span{aspect-ratio:1;background:var(--bg);width:54px;font:700 18px/1 var(--font-display);color:var(--color,var(--muted));font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.rating-good{--color:var(--good);color:var(--good)}.rating-average{--color:var(--average);color:var(--average)}.rating-poor{--color:var(--poor);color:var(--poor)}.vitals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;display:grid}.vital{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.vital dt{font:500 13px/1.3 var(--font-body);color:var(--muted)}.vital dd{font:700 20px/1.1 var(--font-display);font-variant-numeric:tabular-nums;margin:0}.vital dd small{font:500 12px/1 var(--font-body);margin-left:6px}.report-body{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:24px;display:grid}@media (max-width:800px){.report-body{grid-template-columns:minmax(0,1fr)}}.issues{gap:12px;min-width:0;display:grid}.issues h2{font:700 22px/1.2 var(--font-display);margin:0}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{font:500 13px/1 var(--font-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.issue-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.issue{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0}.issue summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:10px;padding:12px 14px;display:flex}.issue summary strong{flex:220px;min-width:0;font-weight:600}.issue-body{gap:8px;min-width:0;padding:0 14px 14px;font-size:14px;display:grid}.issue-body p{margin:0}.issue-value{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}.issue-body ul{margin:0;padding-left:20px}.issue-body code{font:400 12.5px/1.4 var(--font-mono);background:var(--sunken);overflow-wrap:anywhere;border-radius:4px;padding:2px 5px}.severity{font:600 12px/1 var(--font-body);border-radius:5px;flex:none;padding:5px 8px}.severity-critical{background:var(--poor-soft);color:var(--poor)}.severity-major{background:var(--average-soft);color:var(--average)}.severity-minor{background:var(--sunken);color:var(--muted)}.category-tag{font:400 13px/1 var(--font-body);color:var(--muted)}.note{color:var(--muted);margin:0;font-size:13.5px}.side{gap:12px;min-width:0;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:9px;gap:10px;padding:12px;font-size:13.5px;display:grid}.panel h2{font:700 15px/1.2 var(--font-display);margin:0}.panel-note{color:var(--muted);margin:0;font-size:12.5px}.shots{grid-template-columns:minmax(0,1fr) 56px;align-items:end;gap:8px;display:grid}.shots a:only-child{grid-column:1/-1}.shots img{border:1px solid var(--line);border-radius:5px;width:100%;height:auto;display:block}.weight{gap:6px;margin:0;display:grid}.weight div{grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px;display:grid}.weight dd{grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:8px;margin:0;display:grid}.weight i{background:var(--accent);border-radius:4px;height:7px;display:block}.weight span{text-align:right;color:var(--muted);font:400 13px/1 var(--font-body);font-variant-numeric:tabular-nums}.score-chart{width:100%;height:auto;display:block;overflow:visible}.chart-tick{font:400 11px var(--font-body);fill:var(--muted)}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.site-header nav{flex-wrap:wrap;gap:4px 18px;font-size:14px;display:flex}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover{color:var(--ink);text-decoration:underline}.examples-section{gap:12px;margin-top:48px;display:grid}.examples{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.example{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px;font-size:13.5px;text-decoration:none;display:flex}.example:hover{border-color:var(--accent)}.example-host{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.grade-chip{font:700 13px/1 var(--font-display);background:var(--sunken);border-radius:6px;flex:none;padding:6px 8px}.grade-chip.rating-good{background:var(--good-soft)}.grade-chip.rating-average{background:var(--average-soft)}.grade-chip.rating-poor{background:var(--poor-soft)}.history{gap:20px;padding-top:16px;display:grid}.history-head{gap:8px;display:grid}.history-head h1{font:700 clamp(24px, 4vw, 30px) / 1.15 var(--font-display);overflow-wrap:anywhere;margin:0}.filter-link{font:500 13px/1 var(--font-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 12px;text-decoration:none}.filter-link[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.history-chart{padding:16px}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend i{border-radius:2px;width:12px;height:3px;display:block}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}.table-wrap th{font:600 13px/1.3 var(--font-body);color:var(--muted);background:var(--sunken)}.table-wrap tr:last-child td{border-bottom:0}.num{font-variant-numeric:tabular-nums}.prose{gap:14px;max-width:70ch;padding-top:16px;display:grid}.prose h1{font:700 clamp(28px, 5vw, 40px) / 1.1 var(--font-display);margin:0}.prose h2{font:700 22px/1.2 var(--font-display);margin:16px 0 0}.prose p,.prose ul{margin:0}.prose ul{gap:6px;padding-left:22px;display:grid}.method-list{gap:4px 0;margin:0;display:grid}.method-list dt{margin-top:8px;font-weight:600}.method-list dd{margin:0}.prose .table-wrap table{min-width:0}.explanation{background:var(--accent-soft);border-radius:8px;gap:8px;min-width:0;padding:12px 14px;font-size:14px;display:grid}.explanation .lbl{font:700 13px/1 var(--font-body);color:var(--accent)}.explanation p{margin:0}.explanation-label{font-weight:600}.explanation pre{background:var(--surface);font:400 12.5px/1.5 var(--font-mono);border-radius:6px;margin:0;padding:10px 12px;overflow-x:auto}.device-tabs{border-bottom:1px solid var(--line);gap:4px;padding-top:16px;display:flex}.device-tab{font:600 14px/1 var(--font-body);color:var(--muted);border:1px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:12px 16px;text-decoration:none}.device-tab:hover{color:var(--ink)}.device-tab[aria-current=page]{color:var(--ink);background:var(--surface);border-color:var(--line);border-bottom-color:var(--surface)}.scan h2{font:700 19px/1.3 var(--font-display);margin:0 0 10px}.scan .progress{padding-top:0}.scan-note{margin-bottom:12px}.common-issue{flex-wrap:wrap;align-items:baseline;gap:10px;padding:12px 14px;display:flex}.common-issue strong{flex:220px;min-width:0;font-weight:600}.page-cell{overflow-wrap:anywhere;max-width:320px;font-family:var(--font-mono);font-size:13px}.scan-back{margin:0 0 12px}.audit-form .options{flex-wrap:wrap;gap:8px;display:flex}.segmented label:has(input:disabled){color:var(--muted);cursor:not-allowed;text-decoration:line-through}.segmented label:has(input:disabled) input{cursor:not-allowed}.site-footer{border-top:1px solid var(--line);max-width:1080px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0 auto;padding:24px 16px 40px;font-size:13.5px;display:flex}.site-footer p{max-width:60ch;margin:0}.site-footer nav{gap:18px;display:flex}.site-footer a{color:inherit}.lost{justify-items:start;gap:16px;max-width:560px;padding-top:48px;display:grid}.lost h1{font:700 clamp(28px, 5vw, 40px)/1.1 var(--font-display);letter-spacing:-.03em;margin:0}.lost p{color:var(--muted);margin:0;font-size:17px}
