@wcag-checkr/ci 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,30 +1,30 @@
1
- import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./scheduled-audit-runner-CL_rySkn.js";import"./preload-helper-D7HrI6pR.js";import"./crash-reporter-KD5f4utB.js";import"./diff-Dc5xUcCG.js";import"./ai-usage-log-CYuyLsU4.js";const x={A:"#15803d",B:"#4d7c0f",C:"#a16207",D:"#dc2626",F:"#7f1d1d"},O={low:"#15803d",moderate:"#a16207",high:"#dc2626",critical:"#7f1d1d"},f={critical:"#7f1d1d",serious:"#dc2626",moderate:"#a16207",minor:"#4d7c0f"},$={critical:"#fca5a5",serious:"#fdba74",moderate:"#fcd34d",minor:"#bef264"};function n(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function v(e){if(e<1e3)return`${e}ms`;const t=Math.round(e/100)/10;if(t<60)return`${t}s`;const a=Math.floor(t/60),s=Math.round(t-a*60);return`${a}m ${s}s`}function L(e){return`<span style="display:inline-block;background:${x[e]};color:#fff;font-weight:700;padding:2px 10px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${e}</span>`}const u={A:"#047857",C:"#a16207",D:"#c2410c",F:"#be123c"};function T(e){return`<span style="display:inline-block;background:${u[e]};color:#fff;font-weight:700;padding:2px 10px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${e}</span>`}function _(e){return y(e.findingGroups??[]).map(t=>{const a=[...new Set(t.pages.map(s=>s.url))];return{ruleId:t.ruleId,description:t.axeDescription,impact:t.impact,urlsAffected:a.length,totalOccurrences:t.totalOccurrences,sampleUrls:a.slice(0,5)}}).sort((t,a)=>a.urlsAffected-t.urlsAffected||a.totalOccurrences-t.totalOccurrences)}function h(e){return`<span style="display:inline-block;background:${O[e]};color:#fff;font-weight:600;padding:2px 10px;border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;">${e}</span>`}function E(e){return`<span style="display:inline-block;background:${f[e]};color:#fff;font-weight:600;padding:1px 8px;border-radius:10px;font-size:11px;">${e}</span>`}function U(e,t){var s;const a=`
1
+ import{aW as R,a1 as $,aX as S,aY as F,G,aZ as D,a_ as I}from"./scheduled-audit-runner-D_ZjzHg0.js";import"./preload-helper-D7HrI6pR.js";import"./crash-reporter-KD5f4utB.js";import"./diff-Dc5xUcCG.js";import"./ai-usage-log-CYuyLsU4.js";const h={A:"#15803d",B:"#4d7c0f",C:"#a16207",D:"#dc2626",F:"#7f1d1d"},O={low:"#15803d",moderate:"#a16207",high:"#dc2626",critical:"#7f1d1d"},m={critical:"#7f1d1d",serious:"#dc2626",moderate:"#a16207",minor:"#4d7c0f"},v={critical:"#fca5a5",serious:"#fdba74",moderate:"#fcd34d",minor:"#bef264"};function n(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function w(e){if(e<1e3)return`${e}ms`;const t=Math.round(e/100)/10;if(t<60)return`${t}s`;const i=Math.floor(t/60),s=Math.round(t-i*60);return`${i}m ${s}s`}function L(e){return`<span style="display:inline-block;background:${h[e]};color:#fff;font-weight:700;padding:2px 10px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${e}</span>`}const y={A:"#047857",C:"#a16207",D:"#c2410c",F:"#be123c"};function T(e){return`<span style="display:inline-block;background:${y[e]};color:#fff;font-weight:700;padding:2px 10px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${e}</span>`}function _(e){return $(e.findingGroups??[]).map(t=>{const i=[...new Set(t.pages.map(s=>s.url))];return{ruleId:t.ruleId,description:t.axeDescription,impact:t.impact,urlsAffected:i.length,totalOccurrences:t.totalOccurrences,sampleUrls:i.slice(0,5)}}).sort((t,i)=>i.urlsAffected-t.urlsAffected||i.totalOccurrences-t.totalOccurrences)}function b(e){return`<span style="display:inline-block;background:${O[e]};color:#fff;font-weight:600;padding:2px 10px;border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;">${e}</span>`}function U(e){return`<span style="display:inline-block;background:${m[e]};color:#fff;font-weight:600;padding:1px 8px;border-radius:10px;font-size:11px;">${e}</span>`}function W(e,t){var r,g,f;const i=`
2
2
  ${e.pagesAudited} page${e.pagesAudited===1?"":"s"} audited
3
3
  ${e.pagesFailed>0?`· <span style="color:#fca5a5;">${e.pagesFailed} failed</span>`:""}
4
- · ${v(e.totalDurationMs)}
5
- · started ${new Date(e.startedAt).toLocaleString()}`;if(t){const i=y(e.findingGroups??[]),p={critical:0,serious:0,moderate:0,minor:0};for(const o of i)p[o.impact]+=1;return`
4
+ · ${w(e.totalDurationMs)}
5
+ · started ${new Date(e.startedAt).toLocaleString()}`;if(t){const c=$(e.findingGroups??[]),u={critical:0,serious:0,moderate:0,minor:0};for(const x of c)u[x.impact]+=1;return`
6
6
  <section style="background:#0f172a;color:#fff;padding:32px 40px;border-radius:8px;margin-bottom:24px;">
7
7
  <div style="display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;">
8
8
  <div>
9
9
  <p style="margin:0 0 8px;font-size:13px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.08em;">Lawsuit-target risk · whole site</p>
10
10
  <h1 style="margin:0 0 6px;font-size:24px;">${n(e.startUrl)}</h1>
11
- <p style="margin:0;font-size:13px;color:#cbd5e1;">${a}</p>
11
+ <p style="margin:0;font-size:13px;color:#cbd5e1;">${i}</p>
12
12
  </div>
13
13
  <div style="text-align:right;">
14
- <div style="display:inline-block;background:${u[t.letter]};color:#fff;font-size:64px;font-weight:800;width:96px;height:96px;line-height:96px;text-align:center;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${t.letter}</div>
15
- <div style="margin-top:8px;">${h(t.tier)}</div>
14
+ <div style="display:inline-block;background:${y[t.letter]};color:#fff;font-size:64px;font-weight:800;width:96px;height:96px;line-height:96px;text-align:center;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${t.letter}</div>
15
+ <div style="margin-top:8px;">${b(t.tier)}</div>
16
16
  </div>
17
17
  </div>
18
18
  <div style="margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;">
19
- ${["critical","serious","moderate","minor"].map(o=>`
19
+ ${["critical","serious","moderate","minor"].map(x=>`
20
20
  <div style="background:#1e293b;padding:10px 14px;border-radius:6px;">
21
- <div style="font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;">${o}</div>
22
- <div style="font-size:24px;font-weight:700;color:${$[o]};">${p[o]}</div>
21
+ <div style="font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;">${x}</div>
22
+ <div style="font-size:24px;font-weight:700;color:${v[x]};">${u[x]}</div>
23
23
  </div>
24
24
  `).join("")}
25
25
  <div style="background:#1e293b;padding:10px 14px;border-radius:6px;">
26
26
  <div style="font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;">Lawsuit-target findings</div>
27
- <div style="font-size:24px;font-weight:700;color:${i.length>0?"#fca5a5":"#fff"};">${i.length}</div>
27
+ <div style="font-size:24px;font-weight:700;color:${c.length>0?"#fca5a5":"#fff"};">${c.length}</div>
28
28
  </div>
29
29
  </div>
30
30
  <p style="margin:18px 0 0;font-size:12px;color:#cbd5e1;line-height:1.5;">
@@ -32,24 +32,24 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
32
32
  This is a <strong>lawsuit-target exposure</strong> grade — how easily automated demand-letter scanners flag this site — <strong>not</strong> a WCAG conformance grade. For a full WCAG 2.1 AA assessment across every criterion, switch to Power or Dev mode in the extension.
33
33
  </p>
34
34
  </section>
35
- `}return`
35
+ `}const s=e.siteGrade,a=((r=e.spotCheckGate)==null?void 0:r.answered)??0,p=((g=e.spotCheckGate)==null?void 0:g.total)??0,o=s==="pending"?'<div style="display:inline-block;background:#475569;color:#fff;font-size:20px;font-weight:800;width:96px;height:96px;line-height:96px;text-align:center;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">Pending</div>':`<div style="display:inline-block;background:${h[s]};color:#fff;font-size:64px;font-weight:800;width:96px;height:96px;line-height:96px;text-align:center;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${s}</div>`,l=s==="pending"?`<strong>Grade: Pending.</strong> Automation is clean — this audit is on track for an A — but no letter grade is issued until the operator completes the content-meaning spot-checks (caption accuracy, alt-text meaning, sensory cues, color-only information) that automation cannot verify. <strong>${a} of ${p} answered.</strong> When all are answered: all Conforms/Not-applicable → A; any Not-addressed → B.`:`<strong>Grade:</strong> ${n(S(s,{moderateCount:e.totals.moderate,blockingCriteriaCount:((f=e.blockingCriteria)==null?void 0:f.length)??0}))}`;return`
36
36
  <section style="background:#0f172a;color:#fff;padding:32px 40px;border-radius:8px;margin-bottom:24px;">
37
37
  <div style="display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;">
38
38
  <div>
39
39
  <p style="margin:0 0 8px;font-size:13px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.08em;">Site-wide audit</p>
40
40
  <h1 style="margin:0 0 6px;font-size:24px;">${n(e.startUrl)}</h1>
41
- <p style="margin:0;font-size:13px;color:#cbd5e1;">${a}</p>
41
+ <p style="margin:0;font-size:13px;color:#cbd5e1;">${i}</p>
42
42
  </div>
43
43
  <div style="text-align:right;">
44
- <div style="display:inline-block;background:${x[e.siteGrade]};color:#fff;font-size:64px;font-weight:800;width:96px;height:96px;line-height:96px;text-align:center;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${e.siteGrade}</div>
45
- <div style="margin-top:8px;">${h(e.siteRisk)}</div>
44
+ ${o}
45
+ <div style="margin-top:8px;">${b(e.siteRisk)}</div>
46
46
  </div>
47
47
  </div>
48
48
  <div style="margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;">
49
- ${["critical","serious","moderate","minor"].map(i=>`
49
+ ${["critical","serious","moderate","minor"].map(c=>`
50
50
  <div style="background:#1e293b;padding:10px 14px;border-radius:6px;">
51
- <div style="font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;">${i}</div>
52
- <div style="font-size:24px;font-weight:700;color:${$[i]};">${e.totals[i]}</div>
51
+ <div style="font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;">${c}</div>
52
+ <div style="font-size:24px;font-weight:700;color:${v[c]};">${e.totals[c]}</div>
53
53
  </div>
54
54
  `).join("")}
55
55
  <div style="background:#1e293b;padding:10px 14px;border-radius:6px;">
@@ -62,34 +62,33 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
62
62
  </div>
63
63
  </div>
64
64
  <p style="margin:18px 0 0;font-size:12px;color:#cbd5e1;line-height:1.5;">
65
- <strong>Grade:</strong> ${n(M(e.siteGrade,{moderateCount:e.totals.moderate,blockingCriteriaCount:((s=e.blockingCriteria)==null?void 0:s.length)??0}))}<br/>
66
- <strong>Risk:</strong> ${n(R[e.siteRisk])}
65
+ ${l}<br/>
66
+ <strong>Risk:</strong> ${n(F[e.siteRisk])}
67
67
  </p>
68
68
  <p style="margin:14px 0 0;padding:12px 14px;background:#0f172a;border:1px solid #334155;border-radius:6px;font-size:11px;color:#94a3b8;line-height:1.6;">
69
- ${n(F)}
69
+ ${n(G)}
70
70
  </p>
71
71
  <p style="margin:10px 0 0;font-size:12px;color:#cbd5e1;">
72
- <strong>Audit rigor:</strong> ${n(G(e.auditSettings))}
73
- ${(()=>{const i=I(e.auditSettings);return i?`<br/><span style="color:#fca5a5;font-weight:600;">⚠ ${n(i)}</span>`:'<br/><span style="color:#86efac;font-weight:600;">✓ Full 2.1 AA audit — settings cleared the conformance bar.</span>'})()}
74
- <br/><span style="color:#94a3b8;">${n(D)}</span>
72
+ <strong>Audit rigor:</strong> ${n(D(e.auditSettings))}
73
+ ${(()=>{const c=I(e.auditSettings);return c?`<br/><span style="color:#fca5a5;font-weight:600;">⚠ ${n(c)}</span>`:'<br/><span style="color:#86efac;font-weight:600;">✓ Full 2.1 AA audit — settings cleared the conformance bar.</span>'})()}
75
74
  </p>
76
75
  </section>
77
- `}function j(e,t=!1){const a=t?"Top lawsuit-target findings":"Top site-wide violations";if(e.length===0)return`
76
+ `}function j(e,t=!1){const i=t?"Top lawsuit-target findings":"Top site-wide violations";if(e.length===0)return`
78
77
  <section style="margin-bottom:24px;">
79
- <h2 style="margin:0 0 8px;font-size:18px;">${a}</h2>
78
+ <h2 style="margin:0 0 8px;font-size:18px;">${i}</h2>
80
79
  <p style="color:#16a34a;font-weight:500;">${t?"No findings of the kind automated demand-letter scanners commonly flag (missing alt text, low contrast, unlabeled controls, missing page language/title, link/button names). That keeps this site off the easy-target list — but it is not a WCAG conformance claim. For a full WCAG 2.1 AA assessment across every criterion, switch to Power or Dev mode.":"No violations detected across the layers that ran: axe-core (rule-based automation), wcagcheckr DOM analyzers (state-matrix + structural heuristics), AI walkthroughs (keyboard / vision / DOM-walk over 6 hard-to-automate criteria), and cross-page comparators (consistency criteria on crawls). All 50 applicable WCAG 2.1 AA criteria have at least one evaluation path here. Some criteria still benefit from human spot-checks: caption accuracy, audio-description quality, sensory cues, and complex screen-reader narrative — see the manual checklist if pursuing a formal conformance claim."}</p>
81
80
  </section>
82
- `;const s=e.slice(0,20).map(i=>`
81
+ `;const s=e.slice(0,20).map(a=>`
83
82
  <tr style="border-top:1px solid #e2e8f0;">
84
- <td style="padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;">${n(i.ruleId)}</td>
85
- <td style="padding:8px 12px;">${E(i.impact)}</td>
86
- <td style="padding:8px 12px;text-align:right;font-weight:600;">${i.urlsAffected}</td>
87
- <td style="padding:8px 12px;text-align:right;">${i.totalOccurrences}</td>
88
- <td style="padding:8px 12px;font-size:13px;color:#475569;">${n(i.description)}</td>
83
+ <td style="padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;">${n(a.ruleId)}</td>
84
+ <td style="padding:8px 12px;">${U(a.impact)}</td>
85
+ <td style="padding:8px 12px;text-align:right;font-weight:600;">${a.urlsAffected}</td>
86
+ <td style="padding:8px 12px;text-align:right;">${a.totalOccurrences}</td>
87
+ <td style="padding:8px 12px;font-size:13px;color:#475569;">${n(a.description)}</td>
89
88
  </tr>
90
89
  `).join("");return`
91
90
  <section style="margin-bottom:24px;">
92
- <h2 style="margin:0 0 8px;font-size:18px;">${a}</h2>
91
+ <h2 style="margin:0 0 8px;font-size:18px;">${i}</h2>
93
92
  <p style="color:#64748b;font-size:13px;margin:0 0 12px;">
94
93
  Sorted by blast radius — fix these first to clear the most pages with the least work.
95
94
  </p>
@@ -106,11 +105,11 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
106
105
  <tbody>${s}</tbody>
107
106
  </table>
108
107
  </section>
109
- `}function W(e,t,a){const s=new Map;for(const o of t)if(!o.needsReview)for(const d of o.pages){const r=s.get(d.url)??[];r.push({ruleId:o.ruleId,impact:o.impact,selector:d.selector,description:o.axeDescription,wcagCriterion:o.wcagCriterion}),s.set(d.url,r)}const i={critical:0,serious:1,moderate:2,minor:3};for(const o of s.values())o.sort((d,r)=>(i[d.impact]??99)-(i[r.impact]??99));const p=e.map((o,d)=>{const r=s.get(o.url)??[],c=a?[]:o.walkthroughFindings??[],g=a?[]:o.walkthroughAcknowledgements??[],m=r.length+c.length>0||g.length>0||!!o.error,b=`
110
- <summary style="cursor:${m?"pointer":"default"};list-style:${m?"revert":"none"};padding:10px 12px;display:flex;align-items:center;gap:12px;border-top:1px solid #e2e8f0;">
111
- <span style="color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;min-width:28px;">${d+1}</span>
112
- ${a?T(a.perUrlLetter[o.url]??"A"):L(o.grade)}
113
- ${a?"":h(o.risk)}
108
+ `}function P(e,t,i){const s=new Map;for(const o of t)if(!o.needsReview)for(const l of o.pages){const r=s.get(l.url)??[];r.push({ruleId:o.ruleId,impact:o.impact,selector:l.selector,description:o.axeDescription,wcagCriterion:o.wcagCriterion}),s.set(l.url,r)}const a={critical:0,serious:1,moderate:2,minor:3};for(const o of s.values())o.sort((l,r)=>(a[l.impact]??99)-(a[r.impact]??99));const p=e.map((o,l)=>{const r=s.get(o.url)??[],g=i?[]:o.walkthroughFindings??[],f=i?[]:o.walkthroughAcknowledgements??[],u=r.length+g.length>0||f.length>0||!!o.error,x=`
109
+ <summary style="cursor:${u?"pointer":"default"};list-style:${u?"revert":"none"};padding:10px 12px;display:flex;align-items:center;gap:12px;border-top:1px solid #e2e8f0;">
110
+ <span style="color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;min-width:28px;">${l+1}</span>
111
+ ${i?T(i.perUrlLetter[o.url]??"A"):L(o.grade)}
112
+ ${i?"":b(o.risk)}
114
113
  <!-- rc.390 — URL is plain text here (the page-open link moved into the
115
114
  expanded detail). An <a> inside <summary> is nested-interactive +
116
115
  a sub-24px touch target. -->
@@ -119,53 +118,53 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
119
118
  >${n(o.url)}</span>
120
119
  <span style="font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#475569;white-space:nowrap;">
121
120
  ${r.length>0?`<strong style="color:#b91c1c;">${r.length} axe</strong>`:'<span style="color:#475569;">0 axe</span>'}
122
- ${c.length>0?` · <strong style="color:#b91c1c;">${c.length} walkthru</strong>`:g.length>0?` · <span style="color:#15803d;">${g.length} ✓ack</span>`:""}
121
+ ${g.length>0?` · <strong style="color:#b91c1c;">${g.length} walkthru</strong>`:f.length>0?` · <span style="color:#15803d;">${f.length} ✓ack</span>`:""}
123
122
  </span>
124
- <span style="color:#475569;font-size:11px;white-space:nowrap;">${v(o.durationMs)}</span>
125
- </summary>`;if(!m)return`<details>${b}</details>`;const w=o.error?`<p style="color:#dc2626;font-size:13px;margin:0;padding:8px 12px 0;">⚠ ${n(o.error)}</p>`:"",k=r.length===0?"":`
123
+ <span style="color:#475569;font-size:11px;white-space:nowrap;">${w(o.durationMs)}</span>
124
+ </summary>`;if(!u)return`<details>${x}</details>`;const k=o.error?`<p style="color:#dc2626;font-size:13px;margin:0;padding:8px 12px 0;">⚠ ${n(o.error)}</p>`:"",A=r.length===0?"":`
126
125
  <h4 style="margin:12px 12px 4px;font-size:13px;color:#475569;">Axe findings (${r.length})</h4>
127
126
  <ul style="margin:0;padding:0 12px 8px 28px;font-size:12px;line-height:1.5;">
128
- ${r.map(l=>`
127
+ ${r.map(d=>`
129
128
  <li style="margin-bottom:4px;">
130
- <span style="display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:${f[l.impact]??"#475569"};margin-right:6px;">${n(l.impact)}</span>
131
- <code style="background:#f1f5f9;padding:1px 4px;border-radius:2px;">${n(l.ruleId)}</code>
132
- ${l.wcagCriterion?` · <span style="color:#64748b;">${n(l.wcagCriterion)}</span>`:""}
129
+ <span style="display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:${m[d.impact]??"#475569"};margin-right:6px;">${n(d.impact)}</span>
130
+ <code style="background:#f1f5f9;padding:1px 4px;border-radius:2px;">${n(d.ruleId)}</code>
131
+ ${d.wcagCriterion?` · <span style="color:#64748b;">${n(d.wcagCriterion)}</span>`:""}
133
132
  <br>
134
- <span style="color:#475569;">${n(l.description)}</span><br>
135
- <code style="font-size:11px;color:#475569;word-break:break-all;">${n(l.selector)}</code>
133
+ <span style="color:#475569;">${n(d.description)}</span><br>
134
+ <code style="font-size:11px;color:#475569;word-break:break-all;">${n(d.selector)}</code>
136
135
  </li>
137
136
  `).join("")}
138
- </ul>`,A=c.length===0?"":`
139
- <h4 style="margin:12px 12px 4px;font-size:13px;color:#475569;">AI walkthrough findings (${c.length})</h4>
137
+ </ul>`,z=g.length===0?"":`
138
+ <h4 style="margin:12px 12px 4px;font-size:13px;color:#475569;">AI walkthrough findings (${g.length})</h4>
140
139
  <ul style="margin:0;padding:0 12px 8px 28px;font-size:12px;line-height:1.5;">
141
- ${c.map(l=>`
140
+ ${g.map(d=>`
142
141
  <li style="margin-bottom:6px;">
143
- <span style="display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:${l.verdict==="fail"?f.serious:f.moderate};margin-right:6px;">${n(l.verdict)}</span>
144
- <code style="background:#f1f5f9;padding:1px 4px;border-radius:2px;">${n(l.criterionId)}</code>
142
+ <span style="display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:${d.verdict==="fail"?m.serious:m.moderate};margin-right:6px;">${n(d.verdict)}</span>
143
+ <code style="background:#f1f5f9;padding:1px 4px;border-radius:2px;">${n(d.criterionId)}</code>
145
144
  <br>
146
- <span style="color:#475569;">${n(l.reasoning)}</span>
145
+ <span style="color:#475569;">${n(d.reasoning)}</span>
147
146
  </li>
148
147
  `).join("")}
149
- </ul>`,z=g.length===0?"":`
150
- <h4 style="margin:12px 12px 4px;font-size:13px;color:#059669;">Human verified (${g.length})</h4>
148
+ </ul>`,C=f.length===0?"":`
149
+ <h4 style="margin:12px 12px 4px;font-size:13px;color:#059669;">Human verified (${f.length})</h4>
151
150
  <ul style="margin:0;padding:0 12px 8px 28px;font-size:12px;line-height:1.5;color:#065f46;">
152
- ${g.map(l=>`
153
- <li><code style="background:#ecfdf5;padding:1px 4px;border-radius:2px;">${n(l.criterionId)}</code> — original AI verdict: ${n(l.verdict)}; human verification recorded.</li>
151
+ ${f.map(d=>`
152
+ <li><code style="background:#ecfdf5;padding:1px 4px;border-radius:2px;">${n(d.criterionId)}</code> — original AI verdict: ${n(d.verdict)}; human verification recorded.</li>
154
153
  `).join("")}
155
- </ul>`,S=`
154
+ </ul>`,M=`
156
155
  <div style="padding:8px 12px 12px;font-size:12px;color:#475569;">
157
156
  <a href="${n(o.url)}" target="_blank" rel="noopener noreferrer"
158
157
  style="color:#1d4ed8;font-weight:600;display:inline-block;padding:4px 0;">Open this page in a new tab →</a><br>
159
158
  Then use the wcagcheckr side panel for per-finding acknowledgements and re-runs.
160
159
  </div>`;return`
161
160
  <details style="border-top:1px solid #e2e8f0;background:#fff;">
162
- ${b}
161
+ ${x}
163
162
  <div style="background:#f8fafc;padding:0 0 4px;">
164
- ${w}
165
163
  ${k}
166
164
  ${A}
167
165
  ${z}
168
- ${S}
166
+ ${C}
167
+ ${M}
169
168
  </div>
170
169
  </details>`}).join("");return`
171
170
  <section style="margin-bottom:24px;">
@@ -179,7 +178,7 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
179
178
  ${p}
180
179
  </div>
181
180
  </section>
182
- `}function B(e){const t=e.blockingCriteria??[];if(t.length===0)return"";const a={untested:{label:"no evidence",bg:"#64748b"},inconclusive:{label:"inconclusive",bg:"#a16207"},failing:{label:"failing",bg:"#dc2626"}};return`
181
+ `}function B(e){const t=e.blockingCriteria??[];if(t.length===0)return"";const i={untested:{label:"no evidence",bg:"#64748b"},inconclusive:{label:"inconclusive",bg:"#a16207"},failing:{label:"failing",bg:"#dc2626"}};return`
183
182
  <section style="margin-top:24px;padding:16px 18px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;">
184
183
  <h2 style="margin:0 0 8px;font-size:16px;color:#0f172a;">
185
184
  Criteria still needing your judgment
@@ -189,39 +188,39 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
189
188
  These WCAG 2.1 AA criteria do not yet have affirmative pass/N/A evidence. Open the extension side panel and expand the "Coverage gaps" panel under the grade to record a verdict for each. Once every blocker has a verdict, the site grade lifts to A.
190
189
  </p>
191
190
  <ol style="margin:0;padding-left:18px;font-size:12px;color:#0f172a;">
192
- ${t.map(s=>{const i=a[s.state];return`<li style="margin-bottom:6px;">
193
- <span style="display:inline-block;padding:1px 6px;border-radius:3px;background:${i.bg};color:#fff;font-size:10px;font-weight:600;text-transform:lowercase;">${n(i.label)}</span>
191
+ ${t.map(s=>{const a=i[s.state];return`<li style="margin-bottom:6px;">
192
+ <span style="display:inline-block;padding:1px 6px;border-radius:3px;background:${a.bg};color:#fff;font-size:10px;font-weight:600;text-transform:lowercase;">${n(a.label)}</span>
194
193
  <code style="font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;">WCAG ${n(s.criterionId)}</code>
195
194
  <span style="color:#334155;">— ${n(s.title)}</span>
196
195
  </li>`}).join("")}
197
196
  </ol>
198
197
  </section>
199
- `}function P(e,t){const a=e.pages.length||1;if(t){const i={A:0,C:0,D:0,F:0};for(const o of e.pages)i[t.perUrlLetter[o.url]??"A"]+=1;return`
198
+ `}function E(e,t){const i=e.pages.length||1;if(t){const a={A:0,C:0,D:0,F:0};for(const o of e.pages)a[t.perUrlLetter[o.url]??"A"]+=1;return`
200
199
  <section style="margin-bottom:24px;">
201
200
  <h2 style="margin:0 0 8px;font-size:18px;">Pages by lawsuit-target grade</h2>
202
- ${["A","C","D","F"].map(o=>{const d=i[o],r=d/a*100;return`
201
+ ${["A","C","D","F"].map(o=>{const l=a[o],r=l/i*100;return`
203
202
  <div style="display:flex;align-items:center;gap:10px;font-size:13px;margin:4px 0;">
204
- <div style="width:24px;font-weight:700;color:${u[o]};font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${o}</div>
203
+ <div style="width:24px;font-weight:700;color:${y[o]};font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${o}</div>
205
204
  <div style="flex:1;background:#e2e8f0;border-radius:3px;height:18px;overflow:hidden;">
206
- <div style="height:100%;width:${r}%;background:${u[o]};"></div>
205
+ <div style="height:100%;width:${r}%;background:${y[o]};"></div>
207
206
  </div>
208
- <div style="width:60px;text-align:right;color:#475569;">${d} page${d===1?"":"s"}</div>
207
+ <div style="width:60px;text-align:right;color:#475569;">${l} page${l===1?"":"s"}</div>
209
208
  </div>`}).join("")}
210
209
  </section>
211
210
  `}return`
212
211
  <section style="margin-bottom:24px;">
213
212
  <h2 style="margin:0 0 8px;font-size:18px;">Pages by grade</h2>
214
- ${["A","B","C","D","F"].map(i=>{const p=e.pagesByGrade[i],o=p/a*100;return`
213
+ ${["A","B","C","D","F"].map(a=>{const p=e.pagesByGrade[a],o=p/i*100;return`
215
214
  <div style="display:flex;align-items:center;gap:10px;font-size:13px;margin:4px 0;">
216
- <div style="width:24px;font-weight:700;color:${x[i]};font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${i}</div>
215
+ <div style="width:24px;font-weight:700;color:${h[a]};font-family:ui-monospace,SFMono-Regular,Menlo,monospace;">${a}</div>
217
216
  <div style="flex:1;background:#e2e8f0;border-radius:3px;height:18px;overflow:hidden;">
218
- <div style="height:100%;width:${o}%;background:${x[i]};"></div>
217
+ <div style="height:100%;width:${o}%;background:${h[a]};"></div>
219
218
  </div>
220
219
  <div style="width:60px;text-align:right;color:#475569;">${p} page${p===1?"":"s"}</div>
221
220
  </div>
222
221
  `}).join("")}
223
222
  </section>
224
- `}function X(e,t,a){const s=t?`Lawsuit-target risk · ${n(e.startUrl)}`:`WCAG site audit · ${n(e.startUrl)}`,i=t?_(e):e.topViolations,p=t?"":B(e),o=t?"":C(a??[],n),d=t?y(e.findingGroups??[]):e.findingGroups??[],r=t?`Generated by wcagcheckr · owner / lawsuit-target lens · site-mode crawl from ${n(e.startUrl)} · finished ${new Date(e.finishedAt).toLocaleString()}.
223
+ `}function Y(e,t,i){const s=t?`Lawsuit-target risk · ${n(e.startUrl)}`:`WCAG site audit · ${n(e.startUrl)}`,a=t?_(e):e.topViolations,p=t?"":B(e),o=t?"":R(i??[],n),l=t?$(e.findingGroups??[]):e.findingGroups??[],r=t?`Generated by wcagcheckr · owner / lawsuit-target lens · site-mode crawl from ${n(e.startUrl)} · finished ${new Date(e.finishedAt).toLocaleString()}.
225
224
  <br/>This report covers <strong>only</strong> the issues automated demand-letter scanners commonly flag (the lawsuit-target lens). It is <strong>not</strong> a WCAG 2.1 AA conformance assessment — for that, switch the extension to Power or Dev mode, which grades every applicable criterion across all pages.`:`Generated by wcagcheckr · site-mode crawl from ${n(e.startUrl)} · finished ${new Date(e.finishedAt).toLocaleString()}.
226
225
  <br/>Three evaluation layers: <strong>axe-core</strong> (rule-based automation), <strong>wcagcheckr DOM analyzers</strong> (state-matrix iteration + structural heuristics for criteria axe doesn't cover), and <strong>AI walkthroughs</strong> (real keyboard input + screenshot-by-screenshot judgment for the 6 criteria neither rule-based nor static-DOM analysis can decide). All 50 applicable WCAG 2.1 AA criteria have an evaluation path here; criteria that depend on content meaning — caption accuracy, audio-description quality, alt-text semantic correctness, complex screen-reader narrative — benefit from human spot-checks before a formal conformance claim. See MANUAL_A11Y_CHECKLIST.md for the recommended human checks.`;return`<!doctype html>
227
226
  <html lang="en">
@@ -243,15 +242,15 @@ import{aW as C,a1 as y,aX as M,aY as R,G as F,aZ as G,a_ as I,a$ as D}from"./sch
243
242
  </head>
244
243
  <body>
245
244
  <main class="container">
246
- ${U(e,t)}
247
- ${j(i,!!t)}
245
+ ${W(e,t)}
246
+ ${j(a,!!t)}
248
247
  ${p}
249
248
  ${o}
250
- ${P(e,t)}
251
- ${W(e.pages,d,t)}
249
+ ${E(e,t)}
250
+ ${P(e.pages,l,t)}
252
251
  <footer style="margin-top:32px;padding-top:16px;border-top:1px solid #e2e8f0;color:#475569;font-size:12px;">
253
252
  ${r}
254
253
  </footer>
255
254
  </main>
256
255
  </body>
257
- </html>`}export{X as renderSiteReportHtml};
256
+ </html>`}export{Y as renderSiteReportHtml};
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,ui-monospace,JetBrains Mono,SF Mono,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.float-right{float:right}.-m-4{margin:-1rem}.m-0{margin:0}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-7{margin-left:1.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[420px\]{max-height:420px}.max-h-\[500px\]{max-height:500px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[200px\]{min-height:200px}.min-h-\[24px\]{min-height:24px}.min-h-\[540px\]{min-height:540px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\/3{width:33.333333%}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[260px\]{width:260px}.w-\[min\(28rem\,90vw\)\]{width:min(28rem,90vw)}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[24px\]{min-width:24px}.max-w-2xl{max-width:42rem}.max-w-\[180px\]{max-width:180px}.max-w-\[280px\]{max-width:280px}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bell-pulse{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-6deg)}}.animate-bell-pulse{animation:bell-pulse .9s ease-in-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_1fr_70px_70px_auto\]{grid-template-columns:1fr 1fr 70px 70px auto}.grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.grid-cols-\[1fr_70px_70px_auto_auto\]{grid-template-columns:1fr 70px 70px auto auto}.grid-cols-\[400px_1fr\]{grid-template-columns:400px 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-amber-400{--tw-border-opacity: 1;border-color:rgb(251 191 36 / var(--tw-border-opacity, 1))}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-brand-500{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-300{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.border-emerald-400{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-emerald-600{--tw-border-opacity: 1;border-color:rgb(5 150 105 / var(--tw-border-opacity, 1))}.border-orange-200{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-rose-100{--tw-border-opacity: 1;border-color:rgb(255 228 230 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity, 1))}.border-rose-400{--tw-border-opacity: 1;border-color:rgb(251 113 133 / var(--tw-border-opacity, 1))}.border-rose-500{--tw-border-opacity: 1;border-color:rgb(244 63 94 / var(--tw-border-opacity, 1))}.border-rose-600{--tw-border-opacity: 1;border-color:rgb(225 29 72 / var(--tw-border-opacity, 1))}.border-sky-200{--tw-border-opacity: 1;border-color:rgb(186 230 253 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-200{--tw-bg-opacity: 1;background-color:rgb(253 230 138 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-50\/50{background-color:#fffbeb80}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-brand-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-brand-50\/40{background-color:#eef2ff66}.bg-brand-500{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-200{--tw-bg-opacity: 1;background-color:rgb(167 243 208 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-50\/50{background-color:#ecfdf580}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-lime-100{--tw-bg-opacity: 1;background-color:rgb(236 252 203 / var(--tw-bg-opacity, 1))}.bg-lime-500{--tw-bg-opacity: 1;background-color:rgb(132 204 22 / var(--tw-bg-opacity, 1))}.bg-lime-600{--tw-bg-opacity: 1;background-color:rgb(101 163 13 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-200{--tw-bg-opacity: 1;background-color:rgb(254 215 170 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-rose-100{--tw-bg-opacity: 1;background-color:rgb(255 228 230 / var(--tw-bg-opacity, 1))}.bg-rose-200{--tw-bg-opacity: 1;background-color:rgb(254 205 211 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-rose-50\/40{background-color:#fff1f266}.bg-rose-50\/50{background-color:#fff1f280}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-rose-600{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity, 1))}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity, 1))}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-violet-100{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-violet-500{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/50{background-color:#ffffff80}.bg-white\/60{background-color:#fff9}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-brand-50{--tw-gradient-from: #eef2ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-white{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI Variable Display,Segoe UI,system-ui,sans-serif}.font-mono{font-family:IBM Plex Mono,ui-monospace,JetBrains Mono,SF Mono,Consolas,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-lime-700{--tw-text-opacity: 1;color:rgb(77 124 15 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-rose-500{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-rose-800{--tw-text-opacity: 1;color:rgb(159 18 57 / var(--tw-text-opacity, 1))}.text-rose-900{--tw-text-opacity: 1;color:rgb(136 19 55 / var(--tw-text-opacity, 1))}.text-rose-900\/90{color:#881337e6}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-sky-800{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity, 1))}.text-sky-900{--tw-text-opacity: 1;color:rgb(12 74 110 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_-2px_rgba\(120\,53\,15\,0\.12\)\]{--tw-shadow: 0 2px 8px -2px rgba(120,53,15,.12);--tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_-2px_rgba\(159\,18\,57\,0\.16\)\]{--tw-shadow: 0 2px 8px -2px rgba(159,18,57,.16);--tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_-2px_rgba\(6\,78\,59\,0\.12\)\]{--tw-shadow: 0 2px 8px -2px rgba(6,78,59,.12);--tw-shadow-colored: 0 2px 8px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_4px_16px_-4px_rgba\(31\,41\,55\,0\.14\)\]{--tw-shadow: 0 4px 16px -4px rgba(31,41,55,.14);--tw-shadow-colored: 0 4px 16px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-brand-500\/30{--tw-ring-color: rgb(79 70 229 / .3)}.ring-rose-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity, 1))}.ring-rose-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity, 1))}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[2px\]{--tw-blur: blur(2px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}html,body,#root{height:100%}html{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-feature-settings:"tnum" 1,"ss01" 1,"cv11" 1;-webkit-font-smoothing:antialiased}code,kbd,samp,pre,.font-mono{font-family:IBM Plex Mono,ui-monospace,JetBrains Mono,SF Mono,Consolas,monospace;font-feature-settings:"tnum" 1}:focus-visible{outline:2px solid #3730a3;outline-offset:2px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:border-r-0:last-child{border-right-width:0px}.hover\:border-red-300:hover{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.hover\:border-slate-200:hover{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:border-slate-400:hover{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.hover\:bg-amber-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-600:hover{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-100:hover{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-50:hover{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-600:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-700:hover{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-100:hover{--tw-bg-opacity: 1;background-color:rgb(255 228 230 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-600:hover{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-700:hover{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-700:hover{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-300:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-amber-700:hover{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.hover\:text-amber-950:hover{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity, 1))}.hover\:text-blue-900:hover{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.hover\:text-emerald-900:hover{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-800:hover{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.hover\:text-red-900:hover{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.hover\:text-rose-600:hover{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.hover\:text-rose-700:hover{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.hover\:text-rose-900:hover{--tw-text-opacity: 1;color:rgb(136 19 55 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-70:hover{opacity:.7}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-2:focus{left:.5rem}.focus\:top-2:focus{top:.5rem}.focus\:z-50:focus{z-index:50}.focus\:rounded:focus{border-radius:.25rem}.focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus\:px-3:focus{padding-left:.75rem;padding-right:.75rem}.focus\:py-1\.5:focus{padding-top:.375rem;padding-bottom:.375rem}.focus\:text-slate-900:focus{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.focus\:shadow:focus{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline:focus{outline-style:solid}.focus\:outline-2:focus{outline-width:2px}.focus\:outline-brand-500:focus{outline-color:#4f46e5}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-brand-500:focus-visible{outline-color:#4f46e5}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-brand-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-50:disabled{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.disabled\:text-slate-500:disabled{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-white:hover:disabled{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.data-\[state\=active\]\:border-b-2[data-state=active]{border-bottom-width:2px}.data-\[state\=active\]\:border-brand-500[data-state=active]{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.data-\[state\=active\]\:text-brand-700[data-state=active]{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-6{padding:1.5rem}}
@@ -3,18 +3,18 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>wcagcheckr</title>
6
- <script type="module" crossorigin src="/assets/devtools-panel-_YYINapr.js"></script>
6
+ <script type="module" crossorigin src="/assets/devtools-panel-DnGlvUWo.js"></script>
7
7
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-B5Qt9EMX.js">
8
8
  <link rel="modulepreload" crossorigin href="/assets/_commonjsHelpers-Cpj98o6Y.js">
9
9
  <link rel="modulepreload" crossorigin href="/assets/crash-reporter-KD5f4utB.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/ai-usage-log-CYuyLsU4.js">
11
- <link rel="modulepreload" crossorigin href="/assets/styles-CLV9y-Ki.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/styles-Bik0yRU1.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-D7HrI6pR.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/diff-Dc5xUcCG.js">
14
- <link rel="modulepreload" crossorigin href="/assets/scheduled-audit-runner-CL_rySkn.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/scheduled-audit-runner-D_ZjzHg0.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/design-system-audit-DpxJrxnb.js">
16
- <link rel="modulepreload" crossorigin href="/assets/ErrorBoundary-DaB_p4o1.js">
17
- <link rel="stylesheet" crossorigin href="/assets/styles-BJICDw6s.css">
16
+ <link rel="modulepreload" crossorigin href="/assets/ErrorBoundary-Dio2MH5c.js">
17
+ <link rel="stylesheet" crossorigin href="/assets/styles-wT2ZFAYL.css">
18
18
  </head>
19
19
  <body class="bg-slate-50">
20
20
  <div id="root"></div>
@@ -2,7 +2,7 @@
2
2
  "manifest_version": 3,
3
3
  "name": "wcagcheckr",
4
4
  "description": "Audit your real site for WCAG issues across hover, focus, dark mode & RTL states — baselines surface only NEW violations.",
5
- "version": "1.0.8",
5
+ "version": "1.0.10",
6
6
  "author": "Locustware",
7
7
  "homepage_url": "https://wcagcheckr.com",
8
8
  "icons": {
@@ -4,15 +4,15 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>wcagcheckr — Settings</title>
7
- <script type="module" crossorigin src="/assets/options-DTbm8Du2.js"></script>
7
+ <script type="module" crossorigin src="/assets/options-BXcWL5FW.js"></script>
8
8
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-B5Qt9EMX.js">
9
9
  <link rel="modulepreload" crossorigin href="/assets/_commonjsHelpers-Cpj98o6Y.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/crash-reporter-KD5f4utB.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/ai-usage-log-CYuyLsU4.js">
12
- <link rel="modulepreload" crossorigin href="/assets/styles-CLV9y-Ki.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/styles-Bik0yRU1.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/tier-config-client-CT-oOti3.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/custom-rules-CAe0nbES.js">
15
- <link rel="stylesheet" crossorigin href="/assets/styles-BJICDw6s.css">
15
+ <link rel="stylesheet" crossorigin href="/assets/styles-wT2ZFAYL.css">
16
16
  </head>
17
17
  <body class="m-0 p-0 bg-slate-50">
18
18
  <div id="root"></div>
@@ -1 +1 @@
1
- import './assets/service-worker.ts-yOZ94qrL.js';
1
+ import './assets/service-worker.ts-CnfhezBo.js';
@@ -4,21 +4,21 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>WCAG Component Auditor</title>
7
- <script type="module" crossorigin src="/assets/side-panel-8gXx8M_S.js"></script>
7
+ <script type="module" crossorigin src="/assets/side-panel-D3xkdQNu.js"></script>
8
8
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-B5Qt9EMX.js">
9
9
  <link rel="modulepreload" crossorigin href="/assets/_commonjsHelpers-Cpj98o6Y.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/crash-reporter-KD5f4utB.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/ai-usage-log-CYuyLsU4.js">
12
- <link rel="modulepreload" crossorigin href="/assets/styles-CLV9y-Ki.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/styles-Bik0yRU1.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-D7HrI6pR.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/diff-Dc5xUcCG.js">
15
- <link rel="modulepreload" crossorigin href="/assets/scheduled-audit-runner-CL_rySkn.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/scheduled-audit-runner-D_ZjzHg0.js">
16
16
  <link rel="modulepreload" crossorigin href="/assets/design-system-audit-DpxJrxnb.js">
17
- <link rel="modulepreload" crossorigin href="/assets/ErrorBoundary-DaB_p4o1.js">
18
- <link rel="modulepreload" crossorigin href="/assets/copy-ai-fixer-prompt-IfDRyCMI.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/ErrorBoundary-Dio2MH5c.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/copy-ai-fixer-prompt-CPoiD1Jp.js">
19
19
  <link rel="modulepreload" crossorigin href="/assets/tier-config-client-CT-oOti3.js">
20
- <link rel="modulepreload" crossorigin href="/assets/rubric-config-client-BZ61PRDH.js">
21
- <link rel="stylesheet" crossorigin href="/assets/styles-BJICDw6s.css">
20
+ <link rel="modulepreload" crossorigin href="/assets/rubric-config-client-VUdHdJxq.js">
21
+ <link rel="stylesheet" crossorigin href="/assets/styles-wT2ZFAYL.css">
22
22
  <link rel="stylesheet" crossorigin href="/assets/side-panel-Cq-w2yTn.css">
23
23
  </head>
24
24
  <body class="m-0 p-0">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wcag-checkr/ci",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "private": false,
5
5
  "description": "Headless wcagcheckr accessibility audit runner for CI/CD pipelines. Drives the wcagcheckr Chrome extension via Playwright, runs full-page audits across the state matrix (108 combinations: hover, focus, dark mode, RTL, breakpoints), outputs JSON / SARIF / JUnit, exits with severity-aware codes.",
6
6
  "license": "UNLICENSED",