:root{color-scheme:light dark;--bg:#fbfaf6;--surface:#fff;--surface-2:#f1eff8;--text:#15152b;--muted:#45455f;--border:#6b6b85;--border-soft:#d9d7e6;--brand:#3b2bd9;--brand-strong:#2a1ea8;--on-brand:#fff;--focus:#b0125a;--ok:#0f5d2e;--ok-bg:#e4f6ea;--warn:#7a4100;--warn-bg:#fff1d6;--bad:#9b1124;--bad-bg:#fde8ea;--info:#0a4f7a;--info-bg:#e2f1fb;--p1:#0a4f7a;--p2:#8a2f0b;--p3:#5b21b6;--p4:#14532d;--p1-bg:#e2f1fb;--p2-bg:#fdeadc;--p3-bg:#efe7fd;--p4-bg:#e1f5e7;--radius:14px;--radius-sm:8px;--shadow:0 1px 2px #15152b14, 0 8px 24px #15152b14;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--measure:68ch}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e0f1f;--surface:#181a30;--surface-2:#22244a;--text:#f3f3fc;--muted:#c3c4dc;--border:#8587a8;--border-soft:#34365c;--brand:#b4bcff;--brand-strong:#d5d9ff;--on-brand:#0e0f1f;--focus:#ffd60a;--ok:#86efac;--ok-bg:#0f2e1c;--warn:#fcd34d;--warn-bg:#33260a;--bad:#fda4af;--bad-bg:#3a121a;--info:#7dd3fc;--info-bg:#0c2a3d;--p1:#7dd3fc;--p2:#fdba74;--p3:#c4b5fd;--p4:#86efac;--p1-bg:#0c2a3d;--p2-bg:#3a1f0c;--p3-bg:#2a1a4d;--p4-bg:#0f2e1c;--shadow:0 1px 2px #0006, 0 8px 24px #00000059}}:root[data-theme=dark]{color-scheme:dark;--bg:#0e0f1f;--surface:#181a30;--surface-2:#22244a;--text:#f3f3fc;--muted:#c3c4dc;--border:#8587a8;--border-soft:#34365c;--brand:#b4bcff;--brand-strong:#d5d9ff;--on-brand:#0e0f1f;--focus:#ffd60a;--ok:#86efac;--ok-bg:#0f2e1c;--warn:#fcd34d;--warn-bg:#33260a;--bad:#fda4af;--bad-bg:#3a121a;--info:#7dd3fc;--info-bg:#0c2a3d;--p1:#7dd3fc;--p2:#fdba74;--p3:#c4b5fd;--p4:#86efac;--p1-bg:#0c2a3d;--p2-bg:#3a1f0c;--p3-bg:#2a1a4d;--p4-bg:#0f2e1c;--shadow:0 1px 2px #0006, 0 8px 24px #00000059}:root[data-theme=light]{color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-wrap:break-word;margin:0;font-size:1.125rem;line-height:1.65}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.01em;margin:0 0 .6em;line-height:1.2}h1{letter-spacing:-.03em;font-size:clamp(2.1rem,1.4rem + 3.4vw,3.9rem);font-weight:800}h2{margin-top:2.2em;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.3rem);font-weight:750}h3{margin-top:1.6em;font-size:1.3rem}p,ul,ol,dl,table,figure,pre{margin:0 0 1.1em}p,li,dd{max-width:var(--measure)}ul,ol{padding-left:1.4em}li+li{margin-top:.35em}img,svg,video{max-width:100%;height:auto}a{color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:.09em}a:hover{color:var(--brand-strong);text-decoration-thickness:.16em}code,kbd,pre{font-family:var(--mono);font-size:.92em}code{overflow-wrap:anywhere;background:var(--surface-2);border-radius:5px;padding:.1em .35em}kbd{border:1px solid var(--border);background:var(--surface);border-bottom-width:3px;border-radius:6px;padding:.05em .45em}pre{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);white-space:pre-wrap;padding:1rem;overflow-x:auto}pre code{background:0 0;padding:0}hr{border:0;border-top:1px solid var(--border-soft);margin:2.5rem 0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[tabindex="-1"]:focus{outline:none}[tabindex="-1"]:focus-visible{outline:3px solid var(--focus)}main:focus,main:focus-visible{outline:none}::placeholder{color:var(--muted);opacity:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.container{width:min(100% - 2rem,76rem);margin-inline:auto}.narrow{width:min(100% - 2rem,50rem);margin-inline:auto}.lead{color:var(--muted);max-width:60ch;font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem)}.muted{color:var(--muted)}.center{text-align:center}.skip-link{z-index:100;background:var(--brand);color:var(--on-brand);border-radius:var(--radius-sm);padding:.8rem 1.2rem;font-weight:700;position:absolute;top:-10rem;left:1rem}.skip-link:focus{color:var(--on-brand);top:1rem}.site-header{background:var(--surface);border-bottom:1px solid var(--border-soft)}.header-inner{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-block:.6rem;display:flex}.logo{min-height:44px;color:var(--text);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.logo:hover{color:var(--brand)}.logo svg{flex:none;width:2.2rem;height:2.2rem}.site-nav{flex:auto}.site-nav ul{flex-wrap:wrap;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.site-nav li{margin:0}.site-nav a{min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:.3rem .8rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--surface-2);text-decoration:underline}.site-nav a[aria-current]{background:var(--brand);color:var(--on-brand);text-decoration:underline 2px}.header-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.site-menu{flex-wrap:wrap;flex:auto;align-items:center;gap:.5rem 1.5rem;display:flex}.header-tools{margin-left:auto}.menu-btn{margin-left:auto;display:none}@media (width<=60rem){.header-tools{margin-left:0}.js .menu-btn{display:inline-flex}.js .site-menu{flex-basis:100%;padding-bottom:.5rem;display:none}.js .site-menu.is-open{display:flex}.site-nav ul{flex-direction:column}.site-nav,.site-nav a{width:100%}}.btn{border:2px solid var(--brand);background:var(--brand);min-height:48px;color:var(--on-brand);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand)}.btn-ghost{color:var(--brand);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--brand-strong)}.btn-small{min-height:44px;padding:.3rem .9rem;font-size:1rem}.btn[aria-pressed=true],.btn[aria-current=page]{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);box-shadow:inset 0 0 0 2px var(--on-brand)}.btn[disabled],.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.btn svg{flex:none;width:1.2em;height:1.2em}.btn-row{flex-wrap:wrap;gap:.75rem;margin-block:1.25rem;display:flex}.hero{background:var(--surface-2);border-bottom:1px solid var(--border-soft);border-top:10px solid var(--p3);border-image:linear-gradient(90deg, var(--p1) 0 25%, var(--p2) 25% 50%, var(--p3) 50% 75%, var(--p4) 75% 100%) 1 0 0 0;padding-block:clamp(2.5rem,2rem + 5vw,6rem);position:relative;overflow:hidden}.hero h1{max-width:16ch}.hero .accent{color:var(--brand)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-strong);margin-bottom:.8rem;font-size:.95rem;font-weight:700;display:inline-block}.page-head{padding-block:clamp(2rem,1.5rem + 3vw,4rem) 1rem}.hero-grid{align-items:center;gap:2rem;display:grid}@media (width>=62rem){.hero-grid{grid-template-columns:3fr 2fr}}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.hero-stats li{background:var(--surface);border:1px solid var(--border-soft);border-left:6px solid var(--pc,var(--brand));border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:1rem 1.2rem}.hero-stats strong{color:var(--pc,var(--brand));font-size:clamp(2.2rem,1.6rem + 2vw,3.2rem);font-weight:800;line-height:1;display:block}.section{padding-block:clamp(2rem,1.5rem + 3vw,4.5rem)}.section-alt{background:var(--surface-2)}.section>.container>h2:first-child,.section>.narrow>h2:first-child{margin-top:0}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.25rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.grid>li{max-width:none;margin:0}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);height:100%;box-shadow:var(--shadow);flex-direction:column;padding:1.4rem;display:flex;position:relative}.card h2,.card h3{margin-top:0;font-size:1.3rem}.card p:last-child{margin-bottom:0}.card-link{color:var(--text);text-decoration:none}.card-link:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.card:has(.card-link:hover){border-color:var(--brand)}.card:has(.card-link:hover) .card-link{color:var(--brand);text-decoration:underline}.card-link:focus-visible{outline:none}.card-link:focus-visible:after{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.card:has(.card-link){transition:transform .15s}.card:has(.card-link:hover){transform:translateY(-3px)}}.card-icon{background:var(--surface-2);width:3rem;height:3rem;color:var(--brand);border-radius:12px;place-items:center;margin-bottom:1rem;display:grid}.card-icon svg{width:1.7rem;height:1.7rem}.p1{--pc:var(--p1);--pc-bg:var(--p1-bg)}.p2{--pc:var(--p2);--pc-bg:var(--p2-bg)}.p3{--pc:var(--p3);--pc-bg:var(--p3-bg)}.p4{--pc:var(--p4);--pc-bg:var(--p4-bg)}.principle-card{border-top:6px solid var(--pc)}.principle-card .card-icon{background:var(--pc-bg);color:var(--pc)}.principle-num{color:var(--pc);letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;font-weight:700}.badge{white-space:nowrap;border:1.5px solid;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .6rem;font-size:.9rem;font-weight:700;line-height:1.5;display:inline-flex}.badge-a{color:var(--ok);background:var(--ok-bg)}.badge-aa{color:var(--info);background:var(--info-bg)}.badge-aaa{color:var(--p3);background:var(--p3-bg)}.badge-new{color:var(--warn);background:var(--warn-bg)}.badge-critical,.badge-serious{color:var(--bad);background:var(--bad-bg)}.badge-moderate{color:var(--warn);background:var(--warn-bg)}.badge-minor{color:var(--info);background:var(--info-bg)}.badge-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.sc-id{font-family:var(--mono);color:var(--pc,var(--brand));font-weight:700}.callout{border-left:6px solid var(--info);background:var(--info-bg);border-radius:var(--radius-sm);margin-bottom:1.3rem;padding:1rem 1.2rem}.callout>:last-child{margin-bottom:0}.callout-title{margin-bottom:.3rem;font-weight:800;display:block}.callout-ok{border-color:var(--ok);background:var(--ok-bg)}.callout-warn{border-color:var(--warn);background:var(--warn-bg)}.callout-bad{border-color:var(--bad);background:var(--bad-bg)}label{margin-bottom:.3rem;font-weight:700;display:block}.hint{color:var(--muted);margin-bottom:.4rem;font-size:1rem;font-weight:400;display:block}input[type=text],input[type=url],input[type=email],input[type=search],select,textarea{font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:34rem;min-height:48px;padding:.6rem .8rem}input[type=color]{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:4rem;height:48px;padding:2px}input[type=range]{width:100%;max-width:24rem;min-height:44px;accent-color:var(--brand)}input[type=checkbox],input[type=radio]{width:1.5rem;height:1.5rem;accent-color:var(--brand);flex:none}.check{align-items:center;gap:.6rem;min-height:44px;font-weight:600;display:flex}.check label{min-width:0;margin:0}fieldset{border:1px solid var(--border-soft);border-radius:var(--radius-sm);min-width:0;margin:0 0 1.2rem;padding:1rem 1.2rem}legend{padding-inline:.4rem;font-weight:800}.field{margin-bottom:1.1rem}.field-error{color:var(--bad);margin-top:.35rem;font-weight:700}[aria-invalid=true]{border-color:var(--bad)!important;border-width:3px!important}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.form-row .field{flex:18rem;margin:0}.form-row input{max-width:none}.table-wrap{margin-bottom:1.3rem;overflow-x:auto}table{border-collapse:collapse;width:100%}caption{text-align:left;padding-bottom:.5rem;font-weight:800}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border-soft);padding:.6rem .8rem}thead th{background:var(--surface-2);border-bottom:2px solid var(--border)}.rule-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.9rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.rule-list>li{max-width:none;margin:0}.rule-card{border-left:6px solid var(--pc)}.rule-card .badge-row{order:-1}.rule-card h3,.rule-card h4{margin:0 0 .5rem;font-size:1.15rem}.rule-card p{color:var(--muted);font-size:1.02rem}.guideline{margin-top:2.5rem}.guideline>h3{border-bottom:3px solid var(--pc);padding-bottom:.3rem;font-size:1.45rem;display:inline-block}.principle-head{border-radius:var(--radius);background:var(--pc-bg);border-left:8px solid var(--pc);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3.5rem;padding:1.2rem 1.4rem;display:flex}.principle-head h2{margin:0}.principle-head p{flex:100%;margin:0}.filter-bar{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow);margin-block:1.5rem;padding:1.2rem}.filter-bar fieldset{border:0;margin:0;padding:0}.filter-options{flex-wrap:wrap;gap:.3rem 1.4rem;display:flex}[hidden]{display:none!important}.breadcrumb ol{flex-wrap:wrap;gap:.3rem .5rem;margin:0 0 1rem;padding:0;font-size:1rem;list-style:none;display:flex}.breadcrumb li{margin:0}.breadcrumb li+li:before{content:"/";color:var(--muted);margin-right:.5rem}.breadcrumb li{align-items:center;min-height:44px;display:flex}.breadcrumb a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.prev-next{border-top:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.prev-next a{flex-direction:column;max-width:22rem;min-height:44px;font-weight:700;display:inline-flex}.prev-next span{color:var(--muted);font-size:.95rem;font-weight:400}.prev-next .next{text-align:right;margin-left:auto}.demo{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem;padding:clamp(1rem,.8rem + 1.5vw,2rem)}.demo>h2{margin-top:0}.demo-stage{border:2px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-block:1rem;padding:1.2rem}.demo-cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.demo-label{align-items:center;gap:.4rem;margin-bottom:.6rem;font-weight:800;display:flex}.is-bad{color:var(--bad)}.is-ok{color:var(--ok)}.result-big{font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800;line-height:1.1}.status-list{gap:.4rem;padding:0;list-style:none;display:grid}.status-list li{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-weight:600;display:flex}.sr-output{font-family:var(--mono);color:#e9ffe9;border-radius:var(--radius-sm);background:#101022;min-height:4.5rem;padding:1rem}.media-item{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}audio{min-width:0;max-width:100%}audio,video{border-radius:var(--radius-sm);width:100%}video{aspect-ratio:16/9;background:#000}details{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:.8rem}summary{cursor:pointer;border-radius:var(--radius-sm);min-height:48px;padding:.75rem 1rem;font-weight:700}summary:hover{background:var(--surface-2)}details>:not(summary){margin-inline:1rem}details[open]>summary{border-bottom:1px solid var(--border-soft);margin-bottom:1rem}.ad-slot{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:9rem;margin-block:2rem;padding:1.2rem 1.4rem}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1.5px solid var(--border);border-radius:4px;margin-bottom:.6rem;padding:0 .45rem;font-size:.9rem;font-weight:800;display:inline-block}.ad-slot h2,.ad-slot h3{margin:0 0 .4rem;font-size:1.25rem}.score-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.score-grid li{margin:0}.score-tile{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);height:100%;padding:1rem 1.2rem}.score-tile strong{font-variant-numeric:tabular-nums;font-size:2.2rem;line-height:1.1;display:block}.finding{border-left:6px solid var(--border)}.finding[data-impact=critical],.finding[data-impact=serious]{border-left-color:var(--bad)}.finding[data-impact=moderate]{border-left-color:var(--warn)}.finding[data-impact=minor]{border-left-color:var(--info)}.finding[data-done=true]{border-left-color:var(--ok)}.finding[data-done=true] summary .finding-title{text-decoration:line-through}.finding summary{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;display:flex}.finding-title{flex:14rem}.progress{width:100%;height:1.2rem;accent-color:var(--ok)}.spinner{border:3px solid var(--border-soft);border-top-color:var(--brand);vertical-align:-.2em;border-radius:50%;width:1.2em;height:1.2em;display:inline-block}@media (prefers-reduced-motion:no-preference){.spinner{animation:.9s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{background:var(--surface);border-top:1px solid var(--border-soft);margin-top:4rem;padding-block:2.5rem;font-size:1rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:2rem;display:grid}.site-footer h2{margin:0 0 .6rem;font-size:1.1rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:0}.site-footer li a{padding-block:.6rem;display:inline-block}.text-spacing *{letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.5!important}.text-spacing p{margin-bottom:2em!important}@media (forced-colors:active){.btn,.card,.badge,.ad-slot,.demo{border:2px solid canvastext}.site-nav a[aria-current]{border-bottom:3px solid highlight}.btn[aria-pressed=true],.btn[aria-current=page]{forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}}@media print{:root{--text:#000;--muted:#45455f;--brand:#2a1ea8;--brand-strong:#2a1ea8;--surface:#fff;--surface-2:#fff}.site-header,.site-footer,.skip-link,.no-print{display:none!important}body{color:#000;background:#fff}details>*{display:block!important}}
