[hidden]{display:none!important}:root{--bg: #f7f6f1;--surface: #ffffff;--surface-2: #eef2ef;--ink: #14201b;--muted: #475751;--line: #d3dbd6;--brand: #0f5c45;--brand-ink: #ffffff;--brand-soft: #e1efe9;--copper: #97470f;--link: #0b5a43;--err: #b3261e;--err-bg: #fbe9e7;--warn: #7a5100;--warn-bg: #fff3d1;--info: #1d5fa8;--info-bg: #e6f0fb;--ok: #1b6e3a;--ok-bg: #e5f4ea;--focus: #0b63ce;--shadow: 0 1px 2px rgba(20, 32, 27, .06), 0 4px 16px rgba(20, 32, 27, .06);--radius: 10px;--wrap: 1120px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0c1411;--surface: #121d19;--surface-2: #17251f;--ink: #e6eee9;--muted: #a8bab1;--line: #294036;--brand: #4fd1a1;--brand-ink: #062018;--brand-soft: #16332a;--copper: #f0a36a;--link: #7fe0b9;--err: #ff8f86;--err-bg: #3a1714;--warn: #ffcd6b;--warn-bg: #362a0c;--info: #93c5ff;--info-bg: #102840;--ok: #7ddc9b;--ok-bg: #0f2f1c;--focus: #8ab8ff;--shadow: 0 1px 2px rgba(0, 0, 0, .4);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.6 var(--font);color:var(--ink);background:var(--bg)}img,svg{max-width:100%}a{color:var(--link);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}code,kbd,.mono{font-family:var(--mono);font-size:.92em}code{background:var(--surface-2);padding:.05em .3em;border-radius:4px}kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 .35em;background:var(--surface)}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.01em}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:.5rem;top:-3rem;background:var(--surface);color:var(--ink);padding:.5rem .75rem;border-radius:6px;z-index:10}.skip:focus{top:.5rem}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.site-header{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:5}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px}.brand{display:flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:-.02em}.brand svg{width:30px;height:30px;flex:none}.nav-toggle{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem;color:var(--ink);font:inherit;min-height:44px}#site-nav{display:none;position:absolute;left:0;right:0;top:60px;background:var(--surface);border-bottom:1px solid var(--line);padding:.5rem 16px 1rem}#site-nav.open{display:block}#site-nav ul{list-style:none;margin:0;padding:0}#site-nav a{display:block;padding:.6rem 0;color:var(--ink);text-decoration:none;font-weight:600}#site-nav a[aria-current=page]{color:var(--link)}#site-nav .nav-cta{margin-top:.5rem;text-align:center}#site-nav a.btn-primary{display:inline-flex;color:var(--brand-ink);padding:.55rem 1rem}@media (min-width: 860px){.nav-toggle{display:none}#site-nav{display:block;position:static;padding:0;border:0;background:none}#site-nav ul{display:flex;align-items:center;gap:1.4rem}#site-nav a{padding:.3rem 0}#site-nav .nav-cta{margin:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.55rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .95rem/1.2 var(--font);cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--brand)}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:transparent}.btn[disabled]{opacity:.6;cursor:wait}.nav-cta.btn{color:var(--brand-ink)}.hero{padding:1.5rem 0 2rem}.hero-grid{display:grid;gap:1.5rem}@media (min-width: 960px){.hero-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:2.5rem}.hero{padding:3rem 0}}.eyebrow{display:inline-block;font:700 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--copper);margin:0 0 .75rem}.hero h1{font-size:clamp(1.75rem,5.2vw,2.9rem);margin:0 0 .75rem;font-weight:800}.hero .lede{font-size:1.08rem;color:var(--muted);margin:0 0 1rem;max-width:36rem}.badges{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;padding:.3rem .65rem;border-radius:999px;background:var(--brand-soft);color:var(--ink)}.badge svg{width:16px;height:16px;color:var(--brand);flex:none}.badge-privacy{background:var(--ok-bg)}#checker{scroll-margin-top:70px}.dropzone{position:relative;background:var(--surface);border:2px dashed var(--brand);border-radius:14px;padding:1.4rem 1.1rem 1.1rem;text-align:center;box-shadow:var(--shadow);transition:background-color .15s}.dropzone:before,.dropzone:after{content:"";position:absolute;width:11px;height:11px;border:2px solid var(--copper);border-radius:50%;top:10px;left:10px}.dropzone:after{left:auto;right:10px}.dropzone.dragging{background:var(--brand-soft);border-style:solid}.dz-silk{font:700 .72rem/1 var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin:0 0 .6rem}.dz-title{font-size:1.2rem;font-weight:750;margin:.2rem 0 .3rem}.dz-sub{color:var(--muted);margin:0 0 1rem;font-size:.95rem}.dz-icon{width:44px;height:44px;color:var(--brand)}.file-pick{position:relative;display:inline-block}.file-pick input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-pick input:focus-visible+.btn{outline:3px solid var(--focus);outline-offset:2px}.samples{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--line)}.samples p{margin:0 0 .5rem;font-weight:600;font-size:.95rem}.sample-list{display:grid;gap:.5rem}@media (min-width: 560px){.sample-list{grid-template-columns:repeat(3,1fr)}}.sample-btn{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:.55rem .7rem;font:inherit;color:var(--ink);cursor:pointer;min-height:44px}.sample-btn:hover{border-color:var(--brand)}.sample-btn b{display:block;font-size:.92rem}.sample-btn span{font-size:.82rem;color:var(--muted)}.dz-foot{margin:.9rem 0 0;font-size:.82rem;color:var(--muted)}#check-status{margin:.8rem 0 0;padding:.55rem .75rem;border-radius:8px;font-weight:600;background:var(--surface-2)}#check-status[data-kind=error]{background:var(--err-bg);color:var(--err)}#check-status[data-kind=ok]{background:var(--ok-bg);color:var(--ok)}[aria-busy=true] .dropzone{opacity:.75}#results{margin:1rem 0 2.5rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem;box-shadow:var(--shadow);scroll-margin-top:70px}#results h2{margin:0 0 .25rem;font-size:1.45rem}#results h2:focus{outline:none}#results h2{scroll-margin-top:84px}.res-meta{margin:0 0 .8rem;color:var(--muted);font-size:.92rem}.counts{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 .8rem}.counts li{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:8px;font-size:.95rem}.counts b{font-size:1.1rem}.c-error{background:var(--err-bg);color:var(--err)}.c-warning{background:var(--warn-bg);color:var(--warn)}.c-info{background:var(--info-bg);color:var(--info)}.c-pass{background:var(--ok-bg);color:var(--ok)}.ico{display:inline-flex;width:16px;height:16px;flex:none}.ico svg{width:16px;height:16px}.detected{font-size:.9rem;margin:0 0 .8rem}.detected .label{font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:.8rem}.chip-toggle{font:600 .88rem/1 var(--font);padding:.5rem .75rem;min-height:40px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.chip-toggle[aria-pressed=true].t-error{background:var(--err-bg);color:var(--err);border-color:currentColor}.chip-toggle[aria-pressed=true].t-warning{background:var(--warn-bg);color:var(--warn);border-color:currentColor}.chip-toggle[aria-pressed=true].t-info{background:var(--info-bg);color:var(--info);border-color:currentColor}.chip-toggle[aria-pressed=false]{text-decoration:line-through}.cat-filter{font-size:.9rem;margin-left:auto}.cat-filter select{font:inherit;padding:.35rem;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);min-height:40px}.cat-group h3{font-size:1.05rem;margin:1.1rem 0 .5rem}.cat-group .n{color:var(--muted);font-weight:500}.finding{border:1px solid var(--line);border-left:5px solid var(--muted);border-radius:8px;padding:.7rem .85rem;margin:0 0 .6rem;background:var(--surface)}.finding.sev-error{border-left-color:var(--err)}.finding.sev-warning{border-left-color:var(--warn)}.finding.sev-info{border-left-color:var(--info)}.f-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.f-head h4{margin:0;font-size:1rem}.sev-badge{display:inline-flex;align-items:center;gap:.25rem;font:700 .72rem/1 var(--font);text-transform:uppercase;letter-spacing:.05em;padding:.25rem .45rem;border-radius:5px}.sev-error .sev-badge{background:var(--err-bg);color:var(--err)}.sev-warning .sev-badge{background:var(--warn-bg);color:var(--warn)}.sev-info .sev-badge{background:var(--info-bg);color:var(--info)}.finding .msg{margin:.45rem 0;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.3rem 0 .4rem}.chip{font:.8rem/1.2 var(--mono);padding:.2rem .45rem;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere}.chip-net{color:var(--copper)}.finding details summary{cursor:pointer;font-weight:600;color:var(--link);padding:.25rem 0;min-height:32px}.finding details h5{margin:.5rem 0 .15rem;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.finding details p{margin:0 0 .4rem}.finding .ref{font-size:.88rem}.all-clear{display:flex;gap:.5rem;align-items:flex-start;background:var(--ok-bg);color:var(--ink);padding:.8rem;border-radius:8px}.all-clear .ico{color:var(--ok);margin-top:.25rem}details.passed,details.na{margin:.8rem 0}details.passed summary,details.na summary{cursor:pointer;font-weight:600;min-height:32px}details.passed ul,details.na ul{list-style:none;padding-left:.2rem;columns:2 260px;margin:.5rem 0}details.passed li{color:var(--ink)}details.passed .ico{color:var(--ok);vertical-align:-2px}.notices{background:var(--warn-bg);border-radius:8px;padding:.6rem .9rem;margin:.8rem 0}.notices h3{font-size:1rem;margin:0 0 .25rem}.notices ul{margin:0;padding-left:1.1rem}.review-cta{margin-top:1.2rem;padding:1rem;border-radius:10px;background:var(--brand-soft)}.review-cta h3{margin:0 0 .3rem;font-size:1.1rem}.review-cta p{margin:0 0 .7rem}.section{padding:2.2rem 0;border-top:1px solid var(--line)}.section h2{font-size:clamp(1.35rem,3.5vw,1.9rem);margin:0 0 .5rem}.section .intro{color:var(--muted);max-width:44rem;margin:0 0 1.4rem}.grid{display:grid;gap:1rem}@media (min-width: 700px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1000px){.grid-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 700px) and (max-width: 999px){.grid-4{grid-template-columns:1fr 1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.card h3{margin:0 0 .35rem;font-size:1.08rem}.card p:last-child{margin-bottom:0}.card ul{padding-left:1.1rem;margin:.4rem 0 0}.step-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-weight:800;margin-bottom:.4rem}.figure{margin:1rem 0}.figure svg{display:block;width:100%;height:auto}.figure figcaption{font-size:.88rem;color:var(--muted);margin-top:.4rem}.compare{width:100%;border-collapse:collapse;font-size:.95rem}.compare th,.compare td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.compare th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table-wrap{overflow-x:auto}.faq details{border-bottom:1px solid var(--line);padding:.7rem 0}.faq summary{cursor:pointer;font-weight:700;min-height:32px}.faq details p{margin:.5rem 0 0}.tiers{display:grid;gap:1rem}@media (min-width: 900px){.tiers{grid-template-columns:repeat(3,1fr)}}.tier{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem}.tier.featured{border:2px solid var(--brand)}.tier h3{margin:0;font-size:1.2rem}.price{font-size:2.1rem;font-weight:800;margin:.3rem 0 0}.price small{font-size:.9rem;font-weight:500;color:var(--muted)}.tier .tl{color:var(--muted);margin:.2rem 0 .8rem}.tier ul{padding-left:1.1rem;margin:0 0 1rem;flex:1}.tier li{margin:.25rem 0}.capacity{font-weight:600;color:var(--copper)}.form{display:grid;gap:.9rem;max-width:40rem}.form-row{display:grid;gap:.9rem}@media (min-width: 640px){.form-row{grid-template-columns:1fr 1fr}}.field label{display:block;font-weight:650;margin-bottom:.3rem}.field .hint{display:block;font-weight:400;font-size:.85rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem;min-height:44px}.field textarea{min-height:8rem;resize:vertical}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--focus)}.field [aria-invalid=true]{border-color:var(--err);border-width:2px}.field-error{color:var(--err);font-size:.88rem;font-weight:600;margin:.3rem 0 0}.req{color:var(--err)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status:empty{display:none}.form-status{margin:0;padding:.55rem .75rem;border-radius:8px;font-weight:600;background:var(--surface-2)}.form-status[data-kind=error]{background:var(--err-bg);color:var(--err)}.form-success{background:var(--ok-bg);border-radius:10px;padding:1rem 1.1rem}.form-success:focus{outline:3px solid var(--focus)}.form-success h3{margin:0 0 .3rem}.page-head{padding:1.8rem 0 .5rem}.crumbs{font-size:.88rem;color:var(--muted);margin:0 0 .6rem}.crumbs a{color:var(--muted)}.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem}.crumbs li+li:before{content:"/";margin-right:.3rem}.page-head h1{font-size:clamp(1.6rem,4.6vw,2.4rem);margin:0 0 .5rem}.page-head .lede{font-size:1.08rem;color:var(--muted);max-width:46rem;margin:0}.prose{max-width:46rem;padding-bottom:2.5rem}.prose h2{font-size:1.4rem;margin:2rem 0 .6rem}.prose h3{font-size:1.12rem;margin:1.4rem 0 .4rem}.prose p,.prose li{overflow-wrap:break-word}.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1rem 0}.prose th,.prose td{border-bottom:1px solid var(--line);padding:.45rem .5rem;text-align:left;vertical-align:top}.prose th{background:var(--surface-2)}.callout{border-left:4px solid var(--brand);background:var(--surface);padding:.7rem 1rem;border-radius:6px;margin:1.2rem 0}.callout.warn{border-left-color:var(--warn);background:var(--warn-bg)}.callout p{margin:.2rem 0}.calc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin:1.4rem 0}.calc h2,.calc h3{margin-top:0}.calc-grid{display:grid;gap:.8rem}@media (min-width: 560px){.calc-grid{grid-template-columns:repeat(3,1fr)}}.calc output{display:block;margin-top:.8rem;background:var(--surface-2);border-radius:8px;padding:.6rem .8rem;font-family:var(--mono);font-size:.9rem}.calc output p{margin:.25rem 0}.calc-ok{color:var(--ok);font-weight:700}.calc-warn{color:var(--err);font-weight:700}.rule-card{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;margin:.8rem 0;background:var(--surface);scroll-margin-top:80px}.rule-card h3{margin:0 0 .3rem;font-size:1.05rem}.rule-card .rid{font:.8rem var(--mono);color:var(--muted)}.rule-card dl{margin:.4rem 0 0}.rule-card dt{font-weight:700;margin-top:.4rem}.rule-card dd{margin:0}.toc{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin:1rem 0 1.5rem}.toc ul{margin:.3rem 0 0;padding-left:1.1rem;columns:2 220px}ul.plain{list-style:none;padding:0}.guide-item{margin:0 0 1rem}.guide-item h2{margin:0 0 .3rem;font-size:1.15rem}.cta-band{background:var(--brand-soft);border-radius:12px;padding:1.1rem 1.2rem;margin:2rem 0}.cta-band h2{margin-top:0;font-size:1.25rem}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:1.8rem 0 2.2rem;font-size:.92rem}.foot-grid{display:grid;gap:1.2rem}@media (min-width: 760px){.foot-grid{grid-template-columns:2fr 1fr 1fr}}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:.3rem 0}.site-footer a{color:var(--ink)}.site-footer h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .4rem}.fine{color:var(--muted);font-size:.85rem}@media (max-width: 559px){.hero{padding:1rem 0 1.5rem}.hero-grid{gap:1rem}.hero h1{font-size:1.6rem;margin-bottom:.5rem}.eyebrow{margin-bottom:.45rem}.hero .lede{font-size:.98rem;margin-bottom:.7rem}.badge-extra{display:none}.dropzone{padding:1rem .8rem .8rem}.dz-icon{display:none}.dz-silk{margin-bottom:.3rem}.dz-title{font-size:1.05rem}.dz-sub{font-size:.85rem;margin-bottom:.7rem}.samples{margin-top:.8rem;padding-top:.6rem}.samples p{font-size:.9rem}.sample-btn{padding:.45rem .6rem}.sample-btn b,.sample-btn span{display:inline}.sample-btn span:before{content:" - "}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media print{.site-header,.site-footer,.dropzone,.actions,.filters,.review-cta{display:none!important}#results{border:0;box-shadow:none}}.fig{font-family:var(--font)}.fig-win{fill:var(--surface);stroke:var(--line);stroke-width:2}.fig-bar{fill:var(--surface-2)}.fig-menu{fill:var(--surface);stroke:var(--line);stroke-width:1.5}.fig-hl{fill:var(--brand-soft);stroke:var(--brand);stroke-width:1.5}.fig-t{font-size:14px;fill:var(--muted)}.fig-strong{fill:var(--ink);font-weight:700}.fig-dim{fill:var(--muted)}.fig-arrow{stroke:var(--copper);stroke-width:2.5;fill:none;marker-end:none}.fig-btn{fill:var(--brand)}.fig-btn-t{fill:var(--brand-ink);font-weight:700}.fig-file{fill:var(--surface);stroke:var(--brand);stroke-width:2;stroke-dasharray:6 4}
