:root{--paper:#f6f8f5;--surface:#fff;--surface-2:#edf1ec;--ink:#141c18;--ink-2:#3d4a43;--ink-3:#66756d;--line:#dce2da;--accent:#0e6b4a;--accent-wash:#e2efe8;--critical:#a32b1f;--serious:#b4530a;--moderate:#7a6a1c;--minor:#566a60;--code-bg:#121915;--code-ink:#dce6de}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0e1411;--surface:#151d19;--surface-2:#1b2521;--ink:#e3eae3;--ink-2:#afbdb4;--ink-3:#84968c;--line:#26322c;--accent:#52c08c;--accent-wash:#132821;--critical:#e88478;--serious:#e09551;--moderate:#c7b45c;--minor:#93a69b;--code-bg:#0a0f0c;--code-ink:#dce6de}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font:16px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{max-width:860px;margin:0 auto;padding:0 20px 80px}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0}code,pre{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.mono{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}header.site{border-bottom:1px solid var(--line);margin-bottom:44px;padding:28px 0}.brand{color:var(--ink);align-items:center;gap:9px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand i{background:var(--accent);border-radius:50%;width:11px;height:11px;display:block}.hero h1{max-width:17ch;font-size:clamp(30px,5.2vw,46px);line-height:1.08}.hero p.sub{color:var(--ink-2);max-width:56ch;margin:18px 0 0;font-size:19px}form.scan{flex-wrap:wrap;gap:10px;margin:34px 0 12px;display:flex}form.scan input{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:7px;flex:320px;padding:15px 17px;font-size:16px}form.scan input::placeholder{color:var(--ink-3)}form.scan button{cursor:pointer;background:var(--accent);color:var(--paper);border:0;border-radius:7px;padding:15px 26px;font-size:16px;font-weight:600}form.scan button:disabled{opacity:.55;cursor:default}.hint{color:var(--ink-3);margin:0;font-size:14px}.err{color:var(--critical);min-height:1.2em;margin:14px 0 0;font-size:15px}.status{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:26px 0 0;padding:16px 18px;font-size:15px}.bar{background:var(--surface-2);border-radius:2px;height:3px;margin-top:12px;overflow:hidden}.bar i{background:var(--accent);border-radius:2px;width:35%;height:100%;animation:1.5s ease-in-out infinite slide;display:block}@keyframes slide{0%{margin-left:-35%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.bar i{width:100%;animation:none}}.cols{gap:26px;margin-top:56px;display:grid}@media (min-width:700px){.cols{grid-template-columns:1fr 1fr}}.card{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:20px 22px}.card h3{margin-bottom:8px;font-size:15px}.card p{color:var(--ink-2);margin:0;font-size:15px}.summary{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin-bottom:14px;padding:22px 24px;display:flex}.summary .big{letter-spacing:-.03em;font-size:30px;font-weight:700}.summary .meta{color:var(--ink-3);font-size:14px}.lede{color:var(--ink-2);max-width:60ch;margin:18px 0 0;font-size:18px;line-height:1.6}.headline{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:30px 0 0;padding:20px 22px}.headline h2{text-transform:uppercase;letter-spacing:.11em;color:var(--ink-3);margin-bottom:12px;font-size:13px}ol.tops{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}ol.tops li{align-items:baseline;gap:10px;font-size:16px;font-weight:600;display:flex}.sechd{text-transform:uppercase;letter-spacing:.11em;color:var(--ink-3);margin:38px 0 2px;font-size:13px}.fix{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-top:14px;padding:20px 22px}.fix-hd{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.fix-hd .num{color:var(--ink-3);font-size:13px;font-weight:700}.chip{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:3px;padding:3px 7px;font-size:10.5px;font-weight:700}.chip.critical{color:var(--critical)}.chip.serious{color:var(--serious)}.chip.moderate{color:var(--moderate)}.chip.minor{color:var(--minor)}.fix h3{flex:240px;font-size:17.5px;line-height:1.3}.who{color:var(--ink-2);max-width:62ch;margin:0;font-size:15.5px}.effort{background:var(--surface-2);color:var(--ink-2);border-radius:7px;margin:14px 0 0;padding:11px 14px;font-size:14.5px}.effort b{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-size:11px;display:block}details.tech{margin-top:12px}details.tech summary{cursor:pointer;color:var(--ink-3);-webkit-user-select:none;user-select:none;padding:5px 0;font-size:13px}details.tech summary:hover{color:var(--accent)}.wcag{color:var(--ink-3);margin:6px 0 10px;font-size:12.5px}pre.snip{background:var(--code-bg);color:var(--code-ink);border-radius:7px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.swatches{background:var(--accent-wash);border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 14px;padding:14px 16px;display:flex}.sw{align-items:center;gap:9px;font-size:13px;display:flex}.sw b{border:1px solid var(--line);border-radius:5px;place-items:center;width:62px;height:38px;font-size:12px;font-weight:700;display:grid}.arrow{color:var(--ink-3)}.note{border:1px solid var(--line);border-left:3px solid var(--ink-3);background:var(--surface);color:var(--ink-2);border-radius:7px;margin-top:30px;padding:15px 18px;font-size:14.5px}.note b{color:var(--ink)}.cta{border:1px solid var(--line);background:var(--accent-wash);text-align:center;border-radius:10px;margin-top:38px;padding:26px}.cta h2{font-size:21px}.cta p{color:var(--ink-2);max-width:52ch;margin:10px auto 18px}.btn{background:var(--accent);color:var(--paper);border-radius:7px;padding:13px 26px;font-weight:600;text-decoration:none;display:inline-block}footer.site{border-top:1px solid var(--line);color:var(--ink-3);margin-top:60px;padding-top:22px;font-size:13.5px}
