@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Geist-Variable.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/GeistMono-Variable.woff2) format("woff2")}:root{color-scheme:light;--bg: #fcfcfb;--panel: #f4f4f1;--ink: #161616;--muted: #6d6d68;--line: #e2e2dd;--line-strong: #c9c9c2;--error: #b3261e;--sans: "Geist", system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, monospace;--flag: #c2410c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:.9375rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,dl,dd,dt,ul,ol,pre,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration-color:var(--line-strong);text-underline-offset:.2em}a:hover,a:focus-visible{text-decoration-color:currentColor}button{font:inherit;color:inherit}code,pre,.mono{font-family:var(--mono);font-variant-ligatures:none}::selection{color:var(--bg);background:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.masthead{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:min(90%,68rem);margin:0 auto;padding:1.25rem 0;font-size:.8125rem}.wordmark{font-family:var(--mono);font-weight:600;text-decoration:none}.masthead nav{display:flex;gap:1.5rem}.masthead nav a{color:var(--muted);text-decoration:none}.masthead nav a:hover,.masthead nav a:focus-visible{color:var(--ink)}main{width:min(90%,68rem);margin:0 auto}.intro{padding:clamp(2.5rem,7vw,5.5rem) 0 clamp(2rem,4vw,3rem)}h1{max-width:24ch;font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}.lede{max-width:66ch;margin-top:1.25rem;color:var(--muted);font-size:1rem}.spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.spec dt{color:var(--muted);font:.6875rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.spec dd{margin-top:.35rem;font-size:1.375rem;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.spec dd span{margin-left:.4rem;color:var(--muted);font-size:.8125rem;font-weight:400;letter-spacing:0}.workbench{margin-top:1.5rem;border:1px solid var(--line-strong);border-radius:6px;background:#fff;overflow:hidden}.documents{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line);background:var(--panel)}.file-row{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:0 .75rem;border:1px solid transparent;border-radius:999px;color:var(--muted);background:none;font:.75rem/1 var(--mono);cursor:pointer}.file-row:hover{color:var(--ink);border-color:var(--line-strong)}.file-row[aria-pressed=true]{color:var(--bg);background:var(--ink);border-color:var(--ink)}.file-row:focus-visible{outline-offset:0}.panes{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(16rem,1fr);height:27rem}.editor-pane,.findings{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.findings{grid-template-rows:auto auto minmax(0,1fr);border-left:1px solid var(--line);background:var(--panel)}.pane-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;min-height:2.5rem;padding:.6rem 1rem .4rem;border-bottom:1px solid var(--line);color:var(--muted);font:.75rem/1.4 var(--mono)}.pane-head span:last-child{flex:0 0 auto;color:var(--ink);font-variant-numeric:tabular-nums}.highlight-editor{position:relative;min-width:0;min-height:0;overflow:hidden}.highlight-editor pre,.highlight-editor textarea{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:1.25rem 1.25rem 3rem;border:0;border-radius:0;background:none;font:.875rem/1.7 var(--mono);tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;overflow:auto;scrollbar-width:thin}.highlight-editor pre{color:var(--ink);pointer-events:none}.highlight-editor textarea{display:block;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--ink);resize:none;outline:0}.highlight-editor textarea::selection{color:transparent;background:#16161624}mark.pii{color:inherit;background:color-mix(in srgb,var(--flag) 14%,transparent);box-shadow:inset 0 -1.5px 0 var(--flag);border-radius:2px}.error-message{position:absolute;inset:auto 1rem 1rem;margin:0;padding:.5rem .75rem;border:1px solid var(--error);border-radius:4px;color:var(--error);background:#fff;font-size:.8125rem}.error-message:empty{display:none}.categories{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);font:.75rem/1.9 var(--mono)}.categories li{display:flex;align-items:center;gap:.5rem;color:var(--muted)}.categories li[data-count]:not([data-count="0"]){color:var(--ink)}.categories b{margin-left:auto;font-weight:500;font-variant-numeric:tabular-nums}.spans{min-height:0;padding:.5rem 0;overflow:auto;scrollbar-width:thin;font:.75rem/1.5 var(--mono)}.spans li:only-child{padding:.5rem 1rem;color:var(--muted)}.spans button{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:.75rem;width:100%;padding:.35rem 1rem;border:0;background:none;text-align:left;cursor:pointer}.spans button:hover,.spans button:focus-visible{background:#fff;outline-offset:-2px}.spans button span:first-child{color:var(--muted)}.spans button span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spans button span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}.statusbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.5rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.statusbar #doc-note{min-width:0}.statusbar #scope{flex:0 0 auto}.section{padding:clamp(3rem,7vw,5.5rem) 0 0}.section-head{max-width:66ch;margin-bottom:1.75rem}h2{font-size:1.375rem;font-weight:600;letter-spacing:-.02em}.columns{display:grid;grid-template-columns:12rem minmax(0,1fr) minmax(0,1fr);gap:2.5rem}.columns .section-head{margin-bottom:0}.prose{max-width:58ch;color:var(--ink)}.prose p+p{margin-top:1rem}.prose code{padding:.05em .3em;border-radius:3px;background:var(--panel);font-size:.85em}.code{grid-column:2 / -1;padding:1.25rem;border:1px solid var(--line);border-radius:6px;background:#fff;font:.8125rem/1.65 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.comment{color:var(--muted)}.table-scroll{overflow-x:auto;scrollbar-width:thin}.score-table{width:100%;min-width:40rem;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.score-table caption{margin-bottom:.75rem;color:var(--muted);font:.6875rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:left}.score-table th,.score-table td{padding:.55rem 1rem .55rem 0;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.score-table th:first-child,.score-table td:first-child{text-align:left;white-space:nowrap}.score-table thead th{color:var(--muted);font-weight:400}.score-table th{font-weight:400}.score-table tfoot tr:first-child th,.score-table tfoot tr:first-child td{font-weight:600}.score-table tfoot tr:not(:first-child) th,.score-table tfoot tr:not(:first-child) td{color:var(--muted);text-align:left;font-size:.75rem}.score-table code{overflow-wrap:anywhere;font-size:.75rem}.charts{display:grid;gap:3rem;margin-top:3.5rem}.bar-chart figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1.25rem}.bar-chart figcaption b{font-weight:600}.bar-chart figcaption span{color:var(--muted);font-size:.8125rem}.bar-chart figcaption button{margin-left:auto;padding:.35rem .8rem;border:1px solid var(--ink);border-radius:999px;color:var(--bg);background:var(--ink);font-size:.8125rem;white-space:nowrap;cursor:pointer}.bar-chart figcaption button:hover{background:#333}.bar-chart figcaption button:disabled{color:var(--muted);background:var(--panel);border-color:var(--line);cursor:wait}.bar-rows{display:grid;gap:.6rem}.bar-row{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr) 5rem;align-items:center;gap:1rem;font-size:.8125rem}.bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-meter{position:relative;display:block;height:.5rem;border-radius:999px;background:var(--panel);overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--line-strong)}.bar-row-featured{font-weight:600}.bar-row-featured .bar-fill{background:var(--ink)}.bar-value{color:var(--muted);text-align:right;font-family:var(--mono);font-size:.75rem;font-variant-numeric:tabular-nums}.bar-row-featured .bar-value{color:var(--ink)}.bar-chart-note{max-width:78ch;margin-top:1.25rem;color:var(--muted);font-size:.8125rem}.bar-chart-note+.bar-chart-note{margin-top:.75rem}.bar-chart-note[role=alert]{color:var(--error)}.site-footer{width:min(90%,68rem);margin:clamp(3rem,7vw,5.5rem) auto 0;padding:1.25rem 0 max(2rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}@media(max-width:60rem){.spec{grid-template-columns:repeat(2,minmax(0,1fr))}.panes{grid-template-columns:1fr;height:auto}.editor-pane{height:24rem}.findings{max-height:20rem;border-left:0;border-top:1px solid var(--line)}.columns{grid-template-columns:1fr;gap:1.5rem}.code{grid-column:auto}}@media(max-width:36rem){.masthead nav{gap:1rem}.highlight-editor pre,.highlight-editor textarea{padding:1rem 1rem 3rem}.categories{grid-template-columns:1fr}.bar-row{grid-template-columns:minmax(6rem,8rem) minmax(0,1fr) 4.5rem;gap:.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
