/* EqualWeb a11y-rules wiki — design system.
   Light/dark via CSS custom properties; html[data-theme] = auto|light|dark. */

:root{
  --bg:#ffffff;
  --bg-soft:#f5f7fb;
  --bg-side:#f8fafd;
  --ink:#101a30;
  --ink-2:#3d4a66;
  --muted:#63708c;
  --line:#e5eaf3;
  --line-strong:#d3dbe9;
  --brand:#1b4dd8;
  --brand-2:#5f86f7;
  --brand-ink:#1a46c2;
  --brand-soft:#eaf0fe;
  --code-bg:#f6f8fc;
  --row-hover:#f7f9fd;
  --kbd-bg:#eef1f7;
  --ok:#0e7a45;--ok-bg:#e8f8ef;--ok-line:#bfe8d0;
  --bad:#c92a1e;--bad-bg:#fdefed;--bad-line:#f6cdc8;
  --shadow-sm:0 1px 2px rgba(16,26,48,.05);
  --shadow-lg:0 12px 40px rgba(16,26,48,.16),0 2px 8px rgba(16,26,48,.08);
  --tok-tag:#1a46c2;--tok-attr:#7a3fd0;--tok-str:#0e7a45;--tok-com:#8a93a8;
}
html[data-theme="dark"]{
  --bg:#0b111f;
  --bg-soft:#121a2d;
  --bg-side:#0e1626;
  --ink:#e7ecf7;
  --ink-2:#b8c3da;
  --muted:#8b98b5;
  --line:#202b45;
  --line-strong:#2c3a5c;
  --brand:#5b84f7;
  --brand-2:#8aa8ff;
  --brand-ink:#9db8ff;
  --brand-soft:#182446;
  --code-bg:#101828;
  --row-hover:#121c31;
  --kbd-bg:#1a2337;
  --ok:#4ccd8a;--ok-bg:#10281c;--ok-line:#1f5138;
  --bad:#f08578;--bad-bg:#301b19;--bad-line:#5c2f29;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-lg:0 14px 44px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);
  --tok-tag:#8aa8ff;--tok-attr:#c9a4ff;--tok-str:#6fd6a1;--tok-com:#67718a;
}
@media (prefers-color-scheme:dark){html[data-theme="auto"]{
  --bg:#0b111f;
  --bg-soft:#121a2d;
  --bg-side:#0e1626;
  --ink:#e7ecf7;
  --ink-2:#b8c3da;
  --muted:#8b98b5;
  --line:#202b45;
  --line-strong:#2c3a5c;
  --brand:#5b84f7;
  --brand-2:#8aa8ff;
  --brand-ink:#9db8ff;
  --brand-soft:#182446;
  --code-bg:#101828;
  --row-hover:#121c31;
  --kbd-bg:#1a2337;
  --ok:#4ccd8a;--ok-bg:#10281c;--ok-line:#1f5138;
  --bad:#f08578;--bad-bg:#301b19;--bad-line:#5c2f29;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-lg:0 14px 44px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);
  --tok-tag:#8aa8ff;--tok-attr:#c9a4ff;--tok-str:#6fd6a1;--tok-com:#67718a;
}}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"InterVariable",Inter,"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:var(--brand-ink);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
::selection{background:var(--brand-soft)}
.skip-link{position:fixed;top:-48px;left:16px;z-index:100;background:var(--brand);color:#fff;
  padding:9px 16px;border-radius:10px;font-weight:600;transition:top .15s ease}
.skip-link:focus{top:12px;text-decoration:none}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:60px;
  padding:0 20px;border-bottom:1px solid var(--line);
  background:var(--bg);
  background:color-mix(in srgb,var(--bg) 84%,transparent);
  backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--muted);white-space:nowrap}
.brand:hover{text-decoration:none}
/* EqualWeb wordmark (294x52 webp, inlined): navy variant for light, original white for dark */
.brand-logo{display:inline-block;width:125px;height:22px;flex:none;
  background:url("data:image/webp;base64,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") no-repeat center/contain}
html[data-theme="dark"] .brand-logo{background-image:url("data:image/webp;base64,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")}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .brand-logo{
  background-image:url("data:image/webp;base64,UklGRtgJAABXRUJQVlA4TMsJAAAvJcEMELWG2rZtGOX/s3vdI2ICAGQ8jQbthtmC4klakm2rtqLqf6czgj23nH2xz4W7w8apGH8JAAAQTPNl27Zt27Zt27Zt27Zt23bPtiS4bSRJEj177/ZGZR0ZmfUDSbb1tnnj/e/KUzGBJmTwuBk3QvwduXeezJBKpA8dtm0jSVNusFrfm2Ar2IHvH8zVcSUeALltJElS++/TTCkipnP2SORu1X9tWSjYth17fluzl2wbyXaykm0z2Vtis22jrdm2jZuB20aK3GNm/EHtC2ADLAO/wAfQByiP+07E7Q38AXB34Gndv1XuOcRDzVWXAExKZuieQxUTABbwA1DuN1Sx3nCAdb8hHrFc9WuVzNa450Tc9da6f/vfdxz//mjibi4ZuJfMp7iTx/0n4lZUyVclH3GLH7WL8IQWcTeqBHd3ldLuO8TNztvreXqNBf+kkvR9BxBs6sDAuO9QZdEvTJVc7zvEo6oKGuBCJYpKTJXMgAAgA8gH8oAUwB8wFjfjWgAZhhbg7hogtAB0F+N+PUiP5KpSMNxrLHyry2MDmPoCRnzzujww3cv1/pQ+U2nssHevX+5hhEe1WM79i3JIW0EVfy1EXxkL4BcxHDXROAXFaUF5isiokc5dA4zWtBwu2HpHEjogdc56UBhQiQZcGxd7JWoIxp8/ETXWY42VC7APISGqxWHuaZRDwQJw+Q7cAb3kRF4uwjNq4uv7DL6BihkAHEU1OO8aYAzWauKNdND3Ucn7vEuEd/JtsxTAccnYXy0iTgar7SDOotCdYSHwCPgEzKfhF+ybOodrxLYBRgF4V9ilUAnTnfWZK/4iXiGguOmwDmC3YjJQv3bKDrIThAaG68YOn4htsswjD/y3fWHN2Zo6e6tk6sVNvDqYnT5IbPcmb0Ggx/DoUDzBRsDy5g5XIPYIWAkUPXHn+jbAVa6qEY/3Mo9uGls6jS2zzKMnnpBc1QF8bY9pcPGVecbKAG3bveV3ZYZgtsMDYAszCT+gTRCxNMBjDD7tgi+xdPNxupPSqysRDylXHdkTPIA7IBygbZcFLKVSrUp/quB/nB/RHuV6u18VhM8okO9W7wIlQ+At3hB4Bzp3HMzYjxoFFPISa1uoYmfvFDUE8AogNboRt2Xe6tLwGroDhK8IzYHGQMp2WC5crjgPkLtwYWN8S1UUZbFA7AC4qPLNITBFjXUBaI1+xK0AnLkJuOZqQMxvwxiYfDY8A78baPzML1cmBrgFdHph8wHCbb1KEOwwcpX9B+XdNgJPX0c/6/6pXzJfBvg7jS11JUg8DRpF2WnBabeiK5C19OtzEJ0eMM11W8VLAH2LUbEJ+O7iGdbdS+Zd3C6jn3X/zgTDTD6NnXsVgOOx4RzQgiOwD9BuGAcu//awDfQGMgYYCmjdGAA+G94B22OU661eQ6c+2wxZn3/ir6C+NDYTfGZIn92rgP1p8K8qpqICFHcDMSc9eCfTCG/g8RXnDODJ8+AnMLfVXT0M1SYDLAds2otfyUDcif2lUSXLPSJyfUD6KO8PIHaiSwT9DnQD/bsVzYH4Dlj8NtR21SDcwfQ0VP3n3239YSBgtEF3O+UqMWB988CvSokqxJ73jx+FXIUmwCH7Q/Y0lMbxcxE1QL8bWoHDDtbdw/VJILlDR3ZztwUzY6dhCZDe53lA6ZB90i7NYQJwVJmwz2WhUtMyD3l0Iu5Tn9MDXLo/egIcUQOB2TjsBgxvUdiTFP8Jz0AV8Hw0nP1tuiJ4AHKOsoUBnmGCgC6EUshW1/JDfmXBAEGHzdN2PZy2y8wuQK6igdsjGl/mKe1Z5hnzFnDn7qA+DdMV8oN5B3WzoioQ0j34+m0IGoaPSbRmK6VLAzyyGOYhrh04O7wilRWAyeA6MFrAy2ls4Z5lnuZogLHdkRXQzyq6D8Z7t++5QA9YDG7pd4GkQG1A+i7AOPC1BXfn8IleV4P0yc1ViMhVw9KHNXrS91TFxb8KB2b3BjKvMQcCPpm+OAV0MyB5jMqgaOjMW3rwAOAIQCuM5+xt74bv/uAF1A4ctCJwrIz0iQT/qdQmblp/I62fLQwstwrQvzc8hndpDT4Yrc2K4oDnHSDxNbqlqR08aJE/Ddm12XLYhrHHwjxgTRZhuFQmjW28zEMcB7K6WSUzfAFo7MP5OkA4bvgGZwDdfFrvhnRgZtDaIjt8ABA7WPghvILlhQGeYZeGPrQwwmm/wwHj9Q+iPLBay1ndNA5qOwck9BGyuvNL6gBqp2EKgUEQy4kSjs0A5TZKA6+K9hg/wKsG9zcHfVn8B7jqxn0aBATykqcMiMtwybogrktH3MSSqQAAWFlErW4sEBleDzB6VkPZZkV2wK7rNMitDBVdZ4Jo17LdXBX03Ec1mF0GUyK0PiJAHEDtn9L0zVETsB/tgS/jC+zN/uZeXfecQKKDfO7wFekBnltZWsTRcX1lxG7gHuTLOP3/Sw2bA1uGJ4CnOJm1AhSf9RCy2Tf+5wYozZM5FHAe4sYEiLOcZG9pus/B9XV4dYuCBR84JW5y+GBngUgt3gNgdJ7xeQFXQOxV/+dUHr8mazrnZutGTN0VgDmR60D8ffKRMAUkI+dQCEgNw1Z4CmCpO2exOgSeK8F4M7jzndZ0DkVmWA3MdwcYdyk8Ej8Yz7am6GvF0ALU+KXyWenUUD4Bv/5O5CIgBsEsBOUpvGzxVWju0szn3IadujuQGrjY4AtLJ0P2z+ENzMbJKxb4EQhf5GnEZgR13gOfYHbQz9VGTQNKlofgXkXMABk1CrkDBN8dsOQ30LJjXwuq7rcO1/iBk6Al58XpwrJYKyNDF0LxBAAIDqr5O90OVIe5rr+fh8J8AzoD3eN5JmAegHcIiQFobg9QyDFm7GTQO0uZ1vll9Khng1oyyaGR43F57kkyACoXpwuPDFBFJb3cnC4cfex8yNsGsAWw5ztyCK8uYk5Nwk6HM4CGnnLZXzY1dWWAx/jgvg/vZzTaT7copHg9F+KflzBVHwQXZ87HcMx6NgJrJczkmmYzgs9ZalrJ6OB7C+t5DHPtUTCwvYQfXsI3HhAc7X4+XsEzooOeh+9sW5dgGN4Asxc0HTgX38NCfBfhDoHapYAmgs855n7CylVW8BKl0WlkdWH3DKqqGq+dqFzcgsk5Eeu9iuWz1LQCzEVgtu4e1H2pfaq+EMfNGBNoAFQFOUfd1YzJaKsBczbGWMX47egM5xmA99JMySaAvfDJx8Nim4vzXeIFaz+hyWXfeuBfaEWQ+kk/x3ycwzMr1GIHRZYCTn/J4jlsoGDGi0ZWueGNF65Zogb3P5OVfRwOlrUInDxYkC+OxRSEsbPyZwrmqAbcsU0DDNW8HgxRhgPoerhKAQA=")}}
.brand-text{padding-left:10px;border-left:1px solid var(--line-strong);line-height:1.6}
/* ---------- top-level area links (Web / Documents) ---------- */
.topnav{display:flex;align-items:center;gap:4px;margin-left:10px}
.topnav-link{padding:6px 12px;border-radius:9px;font-size:13.5px;font-weight:600;
  color:var(--ink-2);white-space:nowrap;transition:background .12s ease,color .12s ease}
.topnav-link:hover{background:var(--bg-soft);color:var(--ink);text-decoration:none}
.topnav-link.is-active{background:var(--brand-soft);color:var(--brand-ink)}
.topnav-short{display:none}
/* Narrow screens: shorten the labels rather than dropping the links. The sidebar
   only ever lists the CURRENT area, so hiding these would leave no way to switch. */
@media (max-width:980px){
  .topnav{margin-left:4px}
  .topnav-link{padding:6px 9px;font-size:12.5px}
  .topnav-full{display:none}
  .topnav-short{display:inline}
}
.icon-btn{display:inline-grid;place-items:center;background:none;border:1px solid transparent;color:var(--ink-2);
  width:38px;height:38px;border-radius:10px;cursor:pointer;transition:background .12s ease,color .12s ease}
.icon-btn:hover{background:var(--bg-soft);color:var(--ink)}
.icon-btn svg{display:block}
.menu-toggle{display:none}

/* theme toggle: show the icon of the mode you'd switch to */
.theme-toggle .icon-sun{display:none}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block}
html[data-theme="dark"] .theme-toggle .icon-moon{display:none}
@media (prefers-color-scheme:dark){
  html[data-theme="auto"] .theme-toggle .icon-sun{display:block}
  html[data-theme="auto"] .theme-toggle .icon-moon{display:none}
}

/* ---------- search ---------- */
.search-wrap{position:relative;margin-left:auto;flex:1;max-width:460px}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search-input{width:100%;height:40px;padding:0 44px 0 38px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg-soft);color:var(--ink);font:inherit;font-size:14px;
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.search-input::placeholder{color:var(--muted)}
.search-input:hover{border-color:var(--line-strong)}
.search-input:focus{outline:none;border-color:var(--brand);background:var(--bg);
  box-shadow:0 0 0 3px var(--brand-soft)}
.search-kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);
  min-width:22px;height:22px;padding:0 6px;display:inline-grid;place-items:center;
  font:600 11.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);
  background:var(--kbd-bg);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;
  pointer-events:none;transition:opacity .12s ease}
.search-wrap:focus-within .search-kbd{opacity:0}
.search-results{position:absolute;top:48px;left:0;right:0;max-height:64vh;overflow:auto;
  background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:40}
.sr-item{display:block;padding:9px 12px;border-radius:10px;color:var(--ink)}
.sr-item:hover,.sr-item.is-sel{background:var(--brand-soft);text-decoration:none}
.sr-title{font-weight:600;font-size:14px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sr-id{color:var(--muted);font-weight:500;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:var(--kbd-bg);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.sr-snip{color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.5}
.sr-snip mark{background:var(--brand-soft);color:var(--brand-ink);border-radius:3px;padding:0 1px}
.sr-empty{padding:14px;color:var(--muted);font-size:13px}

/* ---------- layout ---------- */
.layout{display:grid;grid-template-columns:292px minmax(0,1fr) 240px;gap:0;max-width:1480px;margin:0 auto}

/* ---------- sidebar ---------- */
.sidebar{position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow:auto;overscroll-behavior:contain;
  padding:16px 12px 48px;background:var(--bg-side);border-right:1px solid var(--line);
  scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.sidebar::-webkit-scrollbar{width:8px}
.sidebar::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}
.nav-filter-wrap{padding:2px 6px 12px}
.nav-filter{width:100%;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:9px;
  background:var(--bg);color:var(--ink);font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}
.nav-filter::placeholder{color:var(--muted)}
.nav-filter:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.nav-empty{padding:10px 12px;color:var(--muted);font-size:12.5px}
.sidebar-nav{display:flex;flex-direction:column;gap:1px}
/* Top-level areas live in the topbar (.topnav), not the sidebar — see shell.ejs. */
.nav-cat{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 8px 6px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nav-count{font-weight:600;font-size:10.5px;color:var(--muted);background:var(--kbd-bg);
  border:1px solid var(--line);border-radius:999px;padding:0 7px;line-height:16px}
.nav-link{display:block;padding:6px 12px;border-radius:9px;color:var(--ink-2);font-size:13.5px;
  border-left:2px solid transparent;transition:background .1s ease,color .1s ease}
.nav-link:hover{background:var(--bg-soft);color:var(--ink);text-decoration:none}
.nav-link.is-active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600;border-left-color:var(--brand)}
.nav-top{font-weight:600;color:var(--ink)}
.nav-top.is-active{color:var(--brand-ink)}
.nav-rule{display:flex;flex-direction:column;line-height:1.3;padding:6px 12px;gap:1px}
.nav-rule-title{font-size:13px;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-rule-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--muted)}
.nav-rule.is-active .nav-rule-id{color:var(--brand-ink);opacity:.85}

/* ---------- content ---------- */
.content{min-width:0;padding:36px 48px 96px}
.md{max-width:790px}
.md [id]{scroll-margin-top:78px}
.md h1{font-size:2.1rem;line-height:1.18;letter-spacing:-.022em;font-weight:800;margin:.1em 0 .55em}
.md h2{font-size:1.32rem;letter-spacing:-.012em;font-weight:700;margin:2em 0 .55em;padding-top:1.1em;border-top:1px solid var(--line)}
.md h3{font-size:1.07rem;font-weight:650;margin:1.5em 0 .45em}
.md p,.md li{font-size:15px;color:var(--ink-2)}
.md li{margin:.25em 0}
.md strong{color:var(--ink)}
.md hr{border:0;border-top:1px solid var(--line);margin:2em 0}

/* rule meta card: the blockquote right under the page H1 */
.md h1 + blockquote{margin:0 0 1.6em;padding:12px 18px;border:1px solid var(--line);border-left:1px solid var(--line);
  background:var(--bg-soft);border-radius:14px;color:var(--ink-2);box-shadow:var(--shadow-sm)}
.md h1 + blockquote p{margin:.35em 0;font-size:13.5px}
.md h1 + blockquote code{background:var(--bg);border:1px solid var(--line);color:var(--ink)}

/* other blockquotes: classic accent note */
.md blockquote{margin:1.1em 0;padding:.65em 1.1em;border-left:3px solid var(--brand);
  background:var(--bg-soft);border-radius:0 12px 12px 0;color:var(--ink-2)}
.md blockquote code{color:var(--ink)}

.md code{background:var(--code-bg);border:1px solid var(--line);padding:.1em .4em;border-radius:6px;font-size:.88em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.md pre{position:relative;background:var(--code-bg);border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;overflow:auto;box-shadow:var(--shadow-sm)}
.md pre code{background:none;border:0;padding:0;font-size:13px;line-height:1.6}
.md a code{color:var(--brand-ink)}
.tok-tag{color:var(--tok-tag)}.tok-attr{color:var(--tok-attr)}.tok-str{color:var(--tok-str)}.tok-com{color:var(--tok-com);font-style:italic}
.code-copy{position:absolute;top:9px;right:9px;padding:4px 10px;font:600 11.5px/1.6 inherit;
  font-family:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:8px;
  cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,border-color .12s ease}
.md pre:hover .code-copy,.code-copy:focus-visible{opacity:1}
.code-copy:hover{color:var(--brand-ink);border-color:var(--brand)}
.code-copy.is-done{opacity:1;color:var(--ok);border-color:var(--ok-line)}
@media (hover:none){.code-copy{opacity:1}}

/* fails / passes example cards */
.example{margin:1.1em 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}
.example figcaption{display:flex;align-items:center;gap:8px;padding:8px 16px;
  font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.example-bad figcaption{color:var(--bad);background:var(--bad-bg);border-bottom:1px solid var(--bad-line)}
.example-good figcaption{color:var(--ok);background:var(--ok-bg);border-bottom:1px solid var(--ok-line)}
.example pre{margin:0;border:0;border-radius:0;box-shadow:none}
.example-bad{border-color:var(--bad-line)}
.example-good{border-color:var(--ok-line)}

/* tables */
.table-wrap{margin:1.2em 0;border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:var(--shadow-sm);
  scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.table-wrap::-webkit-scrollbar{height:8px}
.table-wrap::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}
.md table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px;margin:0}
.md th,.md td{padding:9px 14px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.md thead th{background:var(--bg-soft);font-size:11.5px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap}
.md tbody tr:last-child td,.md tbody tr:last-child th{border-bottom:0}
.md tbody tr:hover td{background:var(--row-hover)}
.md td:first-child{color:var(--ink)}

/* impact + mode badges */
.impact{display:inline-block;font-size:11px;font-weight:700;line-height:1.7;padding:0 9px;border-radius:999px;
  white-space:nowrap;text-transform:capitalize;border:1px solid transparent}
.impact-critical{color:#b42318;background:#fee4e2;border-color:#fecdc9}
.impact-serious{color:#b54708;background:#fef0c7;border-color:#fedf89}
.impact-moderate{color:#935f08;background:#fdf3d0;border-color:#f5e3a4}
.impact-minor{color:#475467;background:#eef2f6;border-color:#dde4ec}
html[data-theme="dark"] .impact-critical{color:#fda29b;background:#3a1a17;border-color:#6b2a24}
html[data-theme="dark"] .impact-serious{color:#fec84b;background:#352410;border-color:#6b4a1a}
html[data-theme="dark"] .impact-moderate{color:#f2d478;background:#302810;border-color:#5e4f1f}
html[data-theme="dark"] .impact-minor{color:#aab6c8;background:#1b2436;border-color:#2c3a52}
@media (prefers-color-scheme:dark){
  html[data-theme="auto"] .impact-critical{color:#fda29b;background:#3a1a17;border-color:#6b2a24}
  html[data-theme="auto"] .impact-serious{color:#fec84b;background:#352410;border-color:#6b4a1a}
  html[data-theme="auto"] .impact-moderate{color:#f2d478;background:#302810;border-color:#5e4f1f}
  html[data-theme="auto"] .impact-minor{color:#aab6c8;background:#1b2436;border-color:#2c3a52}
}
strong .impact,.impact-in-text{vertical-align:1px}
.mode{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:1.7;
  padding:0 9px;border-radius:999px;white-space:nowrap;color:var(--muted);
  background:var(--kbd-bg);border:1px solid var(--line)}
.mode::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted)}
.mode-live{color:var(--brand-ink);background:var(--brand-soft);border-color:transparent}
.mode-live::before{background:var(--brand)}

/* standards chips (emitted inline by the wiki generator) */
.std-tag{display:inline-block;font-size:10.5px;font-weight:650;line-height:1.7;padding:0 8px;margin:1px 2px;
  border-radius:999px;white-space:nowrap;border:1px solid var(--line);background:var(--bg-soft);color:var(--muted)}
.std-tag[data-std^="wcag"]{background:#eef2ff;color:#3949c8;border-color:#cdd6f7}
.std-tag[data-std="pdf-ua"]{background:#fdeef7;color:#a32a70;border-color:#f2c9de}
.std-tag[data-std="section508"]{background:#eafaf1;color:#127a45;border-color:#c2ecd3}
.std-tag[data-std="EN-301-549"]{background:#fff6e8;color:#a9650a;border-color:#f3dcb4}
.std-tag[data-std="TTv5"]{background:#f3edff;color:#7a44d8;border-color:#ddccf7}
.std-tag[data-std="ACT"]{background:#e9f7f8;color:#0d7c84;border-color:#bfe7ea}
.std-tag[data-std="best-practice"]{background:#fdeef0;color:#bb3a52;border-color:#f6ccd4}
html[data-theme="dark"] .std-tag{background:#1b2330;color:#9fb0c8;border-color:#2a3647}
html[data-theme="dark"] .std-tag[data-std^="wcag"]{background:#1e2747;color:#9fb0ff;border-color:#33407a}
html[data-theme="dark"] .std-tag[data-std="pdf-ua"]{background:#331828;color:#eb9cc6;border-color:#5e2a48}
html[data-theme="dark"] .std-tag[data-std="section508"]{background:#15301f;color:#74d59c;border-color:#235c3a}
html[data-theme="dark"] .std-tag[data-std="EN-301-549"]{background:#322512;color:#e3b261;border-color:#5b431e}
html[data-theme="dark"] .std-tag[data-std="TTv5"]{background:#271b3f;color:#bfa1ee;border-color:#43306b}
html[data-theme="dark"] .std-tag[data-std="ACT"]{background:#13302f;color:#5fc9ce;border-color:#225a5d}
html[data-theme="dark"] .std-tag[data-std="best-practice"]{background:#331a20;color:#e98ba0;border-color:#5e2f3a}
@media (prefers-color-scheme:dark){
  html[data-theme="auto"] .std-tag{background:#1b2330;color:#9fb0c8;border-color:#2a3647}
  html[data-theme="auto"] .std-tag[data-std^="wcag"]{background:#1e2747;color:#9fb0ff;border-color:#33407a}
  html[data-theme="auto"] .std-tag[data-std="pdf-ua"]{background:#331828;color:#eb9cc6;border-color:#5e2a48}
  html[data-theme="auto"] .std-tag[data-std="section508"]{background:#15301f;color:#74d59c;border-color:#235c3a}
  html[data-theme="auto"] .std-tag[data-std="EN-301-549"]{background:#322512;color:#e3b261;border-color:#5b431e}
  html[data-theme="auto"] .std-tag[data-std="TTv5"]{background:#271b3f;color:#bfa1ee;border-color:#43306b}
  html[data-theme="auto"] .std-tag[data-std="ACT"]{background:#13302f;color:#5fc9ce;border-color:#225a5d}
  html[data-theme="auto"] .std-tag[data-std="best-practice"]{background:#331a20;color:#e98ba0;border-color:#5e2f3a}
}

/* heading anchors */
.heading-anchor{opacity:0;margin-left:.4em;font-weight:400;font-size:.85em;color:var(--muted);text-decoration:none;
  transition:opacity .12s ease,color .12s ease}
.heading-anchor:hover{color:var(--brand-ink);text-decoration:none}
.md h2:hover .heading-anchor,.md h3:hover .heading-anchor,
.heading-anchor:focus-visible{opacity:1}

/* footer */
.md-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:64px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.md-footer code{background:var(--code-bg);border:1px solid var(--line);padding:.1em .4em;border-radius:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
.back-top{white-space:nowrap}

/* ---------- toc ---------- */
.toc{position:sticky;top:60px;align-self:start;max-height:calc(100vh - 60px);overflow:auto;overscroll-behavior:contain;
  padding:36px 20px 36px 8px;display:flex;flex-direction:column;gap:1px;
  scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.toc::-webkit-scrollbar{width:8px}
.toc::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}
.toc-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 12px}
.toc-link{display:block;padding:4px 12px;border-left:2px solid var(--line);color:var(--muted);font-size:12.5px;
  transition:color .12s ease,border-color .12s ease}
.toc-link:hover{color:var(--ink);text-decoration:none}
.toc-link.toc-h3{padding-left:24px;font-size:12px}
.toc-link.is-active{color:var(--brand-ink);border-left-color:var(--brand);font-weight:600}

/* ---------- mobile ---------- */
.scrim{display:none}
@media (max-width:1150px){.layout{grid-template-columns:292px minmax(0,1fr)}.toc{display:none}}
@media (max-width:840px){
  .menu-toggle{display:inline-grid}
  .brand-text{display:none}
  .topbar{padding:0 12px;gap:10px}
  .layout{grid-template-columns:1fr}
  .sidebar{position:fixed;top:60px;left:0;width:300px;z-index:25;transform:translateX(-105%);
    transition:transform .2s ease;box-shadow:var(--shadow-lg);height:calc(100dvh - 60px)}
  body.nav-open .sidebar{transform:none}
  body.nav-open .scrim{display:block;position:fixed;inset:60px 0 0 0;background:rgba(9,14,26,.5);z-index:24;
    backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .content{padding:24px 18px 72px}
  .md h1{font-size:1.65rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .topbar,.sidebar,.toc,.scrim,.code-copy,.back-top{display:none!important}
  .layout{display:block;max-width:none}
  .content{padding:0}
}
