@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext-wght-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/eb-garamond-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/eb-garamond-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400 800;font-display:swap;src:url(/fonts/eb-garamond-latin-wght-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400 800;font-display:swap;src:url(/fonts/eb-garamond-latin-ext-wght-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper:#fff;--paper-sunk:#f5f4f4;--ink:#2e2e2e;--ink-muted:#5e6464;--rule:#2e2e2e1f;--rule-strong:#2e2e2e47;--brand:#13deef;--on-brand:#2e2e2e;--accent:#006b78;--accent-tint:#e3f8fa;--highlight:#e8175d;--tier-1:#006b78;--tier-2:#13deef;--tier-3:#b4f1f7;--tier-none:#e4e4e4;--pill-inforce-fg:#00616c;--pill-inforce-bg:#dff6f9;--pill-pending-fg:#4a4f00;--pill-pending-bg:#eef56b;--pill-historic-fg:#555b5b;--pill-historic-bg:#ececec;--serif:"EB Garamond", Garamond, "Times New Roman", serif;--sans:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--step--1:.8125rem;--step-0:1rem;--step-1:1.1875rem;--step-2:1.5rem;--step-3:2rem;--step-4:2.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--measure:68ch;--page:76rem;--gutter:clamp(16px, 4vw, 40px);--ease:cubic-bezier(.2, 0, 0, 1);--dur:.24s;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#06080d;--paper-sunk:#10141b;--ink:#f5fbff;--ink-muted:#8194a9;--rule:#f5fbff24;--rule-strong:#f5fbff4d;--brand:#13deef;--on-brand:#06080d;--accent:#13deef;--accent-tint:#062a2f;--highlight:#ff4d82;--tier-1:#13deef;--tier-2:#0c8c99;--tier-3:#0d434a;--tier-none:#1b2028;--pill-inforce-fg:#13deef;--pill-inforce-bg:#062a2f;--pill-pending-fg:#e4ef6b;--pill-pending-bg:#25270b;--pill-historic-fg:#a5b1bf;--pill-historic-bg:#161b22;color-scheme:dark}}:root[data-theme=dark]{--paper:#06080d;--paper-sunk:#10141b;--ink:#f5fbff;--ink-muted:#8194a9;--rule:#f5fbff24;--rule-strong:#f5fbff4d;--brand:#13deef;--on-brand:#06080d;--accent:#13deef;--accent-tint:#062a2f;--highlight:#ff4d82;--tier-1:#13deef;--tier-2:#0c8c99;--tier-3:#0d434a;--tier-none:#1b2028;--pill-inforce-fg:#13deef;--pill-inforce-bg:#062a2f;--pill-pending-fg:#e4ef6b;--pill-pending-bg:#25270b;--pill-historic-fg:#a5b1bf;--pill-historic-bg:#161b22;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{border-top:6px solid var(--brand);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);font-kerning:normal;text-rendering:optimizelegibility;margin:0;line-height:1.55}h1,h2,h3,h4{font-family:var(--serif);text-wrap:balance;margin:0;font-weight:600;line-height:1.2}p{margin:0 0 var(--s-4)}a{color:var(--accent);text-decoration-color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:2px}a:hover{color:var(--on-brand);background:var(--brand);text-decoration-color:#0000}:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}time,.num{font-variant-numeric:tabular-nums}.smallcaps{letter-spacing:.04em;font-variant-caps:all-small-caps}.muted{color:var(--ink-muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--s-4);background:var(--paper);padding:var(--s-2) var(--s-3);border:1px solid var(--accent);z-index:100;position:absolute;top:-100px}.skip-link:focus{top:var(--s-2)}hr{border:0;border-top:1px solid var(--rule);margin:var(--s-6) 0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}.site-header{align-items:baseline;gap:var(--s-5);padding:var(--s-3) var(--gutter);border-bottom:1px solid var(--rule);background:var(--paper);display:flex}.wordmark{font-family:var(--serif);font-weight:600;font-size:var(--step-1);color:var(--ink);white-space:nowrap;text-decoration:none}.site-header nav{flex:1;min-width:0}.site-header ul{gap:var(--s-1) var(--s-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--ink-muted);font-size:.9375rem;text-decoration:none}.site-header nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:3px}.site-header nav a:hover{color:var(--on-brand)}.theme-toggle{font:inherit;font-size:var(--step--1);color:var(--ink-muted);border:1px solid var(--rule-strong);padding:2px var(--s-2);cursor:pointer;background:0 0;border-radius:2px}.theme-toggle:hover{color:var(--ink)}@media (width<=560px){.site-header{gap:var(--s-2) var(--s-4);flex-wrap:wrap}.site-header nav{flex-basis:100%;order:3}}.site-footer{border-top:1px solid var(--rule);padding:var(--s-5) var(--gutter);color:var(--ink-muted);font-size:var(--step--1)}.site-footer p{margin:0}.site-footer p+p{margin-top:var(--s-2)}main{display:block}main:focus{outline:none}.page{max-width:var(--page);padding:var(--s-7) var(--gutter) var(--s-8);margin:0 auto}.prose{max-width:var(--measure)}.prose h2{font-size:var(--step-2);margin:var(--s-7) 0 var(--s-3)}.prose h3{font-size:var(--step-1);margin:var(--s-5) 0 var(--s-2)}.prose ul{padding-left:1.2em}.prose li{margin-bottom:var(--s-2)}.page-title{font-size:var(--step-4);letter-spacing:-.01em;margin-bottom:var(--s-4);line-height:1.1}.page-lede{max-width:var(--measure);font-size:var(--step-1);color:var(--ink-muted)}.kicker{margin:0 0 var(--s-2);color:var(--ink-muted);font-size:var(--step--1)}.pill{font-size:var(--step--1);white-space:nowrap;vertical-align:.1em;border-radius:2px;padding:1px 7px;font-weight:500;line-height:1.35;display:inline-block}.pill--inforce{color:var(--pill-inforce-fg);background:var(--pill-inforce-bg)}.pill--pending{color:var(--pill-pending-fg);background:var(--pill-pending-bg)}.pill--historic{color:var(--pill-historic-fg);background:var(--pill-historic-bg)}.confidence{font-size:var(--step--1);display:inline}.confidence>summary{cursor:pointer;color:var(--pill-pending-fg);border-bottom:1px dotted;list-style:none;display:inline}.confidence>summary::-webkit-details-marker{display:none}.confidence[open]>summary{border-bottom-style:solid}.confidence__notes{margin:var(--s-2) 0 0;padding:var(--s-2) var(--s-3);background:var(--paper-sunk);color:var(--ink);font-size:var(--step--1);max-width:var(--measure);display:block}.tags{gap:var(--s-1) var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tags li{font-size:var(--step--1);padding:0 var(--s-2);border:1px solid var(--rule-strong);border-radius:2px}.ext:after{content:" ↗";text-decoration:none;display:inline-block}.jurisdiction{container-type:inline-size}.j-head{padding-bottom:var(--s-5);border-bottom:1px solid var(--rule-strong);margin-bottom:var(--s-6)}.j-head h1{font-size:var(--step-4);letter-spacing:-.01em;line-height:1.1}.j-layout{gap:var(--s-6);grid-template-columns:minmax(0,1fr);display:grid}@container (width>=880px){.j-layout{gap:var(--s-7);grid-template-columns:minmax(0,1fr) 17rem}.j-glance{top:var(--s-5);order:2;align-self:start;position:sticky}}.glance{margin:0;font-size:.9375rem}.glance dt{color:var(--ink-muted);font-size:var(--step--1);letter-spacing:.04em;margin-top:var(--s-4);font-variant-caps:all-small-caps}.glance dt:first-child{margin-top:0}.glance dd{margin:0}.swatch{vertical-align:-.05em;border:1px solid var(--rule-strong);width:.8em;height:.8em;margin-right:.4em;display:inline-block}.swatch--1{background:var(--tier-1)}.swatch--2{background:var(--tier-2)}.swatch--3{background:var(--tier-3)}.swatch--4{background:var(--tier-none)}.part+.part{margin-top:var(--s-7)}.part__head{align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.part__num{font-family:var(--serif);font-size:var(--step-1);color:var(--ink-muted);letter-spacing:.04em;white-space:nowrap;font-variant-caps:all-small-caps}.part__title{font-size:var(--step-3)}.part__intro{max-width:var(--measure);color:var(--ink-muted);margin-bottom:var(--s-4)}.part__note{max-width:var(--measure);padding:var(--s-2) var(--s-3);border-left:2px solid var(--pill-pending-fg);background:var(--paper-sunk);font-size:.9375rem}.category{margin-top:var(--s-6)}.category__title{font-size:var(--step-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);font-weight:500}.category__title .num{font-family:var(--sans);font-size:var(--step--1);color:var(--ink-muted);margin-left:var(--s-2);font-weight:400}.entries{margin:0;padding:0;list-style:none}.entries>li{border-bottom:1px solid var(--rule)}.entry>summary{gap:var(--s-1) var(--s-4);padding:var(--s-4) 0 var(--s-4) var(--s-5);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;list-style:none;display:grid;position:relative}.entry>summary::-webkit-details-marker{display:none}.entry>summary:before{content:"";left:2px;top:calc(var(--s-4) + .55em);border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);width:.45em;height:.45em;transition:transform var(--dur) var(--ease);position:absolute;transform:rotate(-45deg)}.entry[open]>summary:before{transform:rotate(45deg)}.entry>summary:hover .entry__name{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:.18em}.entry__short{font-family:var(--serif);font-size:var(--step-1);font-weight:600;line-height:1.3}.entry__name{font-family:var(--serif);color:var(--ink);font-size:1.125rem;line-height:1.4;display:block}.entry__meta{text-align:right;font-size:var(--step--1);color:var(--ink-muted);white-space:nowrap}.entry__meta .pill{margin-bottom:var(--s-1);display:inline-block}.entry__synopsis{margin:var(--s-1) 0 0;color:var(--ink-muted);max-width:var(--measure);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;font-size:.9375rem;display:-webkit-box;overflow:hidden}.entry[open] .entry__synopsis{display:none}@container (width<=520px){.entry>summary{grid-template-columns:minmax(0,1fr)}.entry__meta{text-align:left}.entry__meta .pill{margin-right:var(--s-2)}}.record{margin:0 0 var(--s-5) var(--s-5);grid-template-columns:9.5rem minmax(0, var(--measure));gap:var(--s-3) var(--s-5);font-size:.9375rem;display:grid}.record>dt{color:var(--ink-muted);font-size:var(--step--1);letter-spacing:.04em;padding-top:.2em;font-variant-caps:all-small-caps}.record>dd{margin:0}.record>dd p:last-child{margin-bottom:0}.record .saas{padding:var(--s-3) var(--s-4);border-left:3px solid var(--accent);background:var(--accent-tint)}.record>dt.saas-label{color:var(--accent);font-weight:600}.record ul.plain{margin:0;padding:0;list-style:none}.record ul.plain li+li{margin-top:var(--s-1)}.record .sources a{word-break:break-word}@container (width<=600px){.record{gap:var(--s-1);grid-template-columns:minmax(0,1fr);margin-left:0}.record>dd{margin-bottom:var(--s-3)}}.historic{margin-top:var(--s-2)}.historic>summary{cursor:pointer;color:var(--ink-muted);padding:var(--s-2) 0;font-size:.9375rem}.historic .entries{opacity:.92}.frameworks>summary{cursor:pointer;list-style:none}.frameworks>summary::-webkit-details-marker{display:none}.frameworks>summary .part__title:after{content:" +";color:var(--ink-muted);font-weight:400}.frameworks[open]>summary .part__title:after{content:" −"}.body-name{font-family:var(--serif);font-size:var(--step-1);margin:var(--s-5) 0 0;padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);font-weight:600}.empty{color:var(--ink-muted);font-style:italic;font-family:var(--serif)}.child-list{columns:14rem auto;column-gap:var(--s-6);margin:var(--s-3) 0 0;padding:0;list-style:none}.child-list li{break-inside:avoid;padding:2px 0}.i-section{margin-top:var(--s-7);max-width:calc(var(--measure) + 12rem)}.i-section>h2{font-size:var(--step-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);margin-bottom:var(--s-4);font-weight:500}.i-section>h2 .sect{color:var(--ink-muted);margin-right:var(--s-2);font-weight:400}.i-section .record{margin-left:0}.table-wrap{border-top:1px solid var(--rule-strong);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9375rem}table.data th,table.data td{text-align:left;vertical-align:top;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--rule)}table.data th{font-weight:500;font-size:var(--step--1);color:var(--ink-muted);white-space:nowrap;background:var(--paper);position:sticky;top:0}table.data tbody tr:hover{background:var(--paper-sunk)}table.data th button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}table.data th[aria-sort=ascending] button:after{content:" ↑"}table.data th[aria-sort=descending] button:after{content:" ↓"}.filters{gap:var(--s-3) var(--s-5);margin:var(--s-5) 0;flex-wrap:wrap;align-items:end;display:flex}.field{gap:var(--s-1);font-size:var(--step--1);color:var(--ink-muted);flex-direction:column;display:flex}.field input,.field select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);padding:6px var(--s-2);border-radius:2px;min-width:11rem;font-size:.9375rem}@media print{:root{--paper:#fff;--ink:#000;--ink-muted:#333}.site-header nav,.theme-toggle,.skip-link,.no-print{display:none!important}body{font-size:10.5pt}.page{max-width:none;padding:0}details>:not(summary){display:block!important}.entry>summary:before{display:none}.entry>summary{padding-left:0}.record{margin-left:0}.entry__synopsis{display:none}.j-glance{position:static}a.ext:after,.record a[href^=http]:after{content:" (" attr(href) ")";word-break:break-all;font-size:8.5pt}.entries>li,.record{break-inside:avoid-page}details::details-content{content-visibility:visible;display:contents}}.entry__confidence{margin-top:calc(-1 * var(--s-3));padding:0 0 var(--s-3) var(--s-5)}.entry[open]+.entry__confidence{display:none}.record__more{grid-column:1/-1;font-size:.9375rem}.code-badge{font-family:var(--sans);font-size:var(--step--1);letter-spacing:.06em;color:var(--ink-muted);border:1px solid var(--rule-strong);vertical-align:.6em;border-radius:2px;padding:0 6px;font-weight:500;display:inline-block}.j-badges{align-items:baseline;gap:var(--s-2) var(--s-5);margin-top:var(--s-3);flex-wrap:wrap;font-size:.9375rem;display:flex}.adequacy-badge{color:var(--accent);border:1px solid var(--accent);padding:0 var(--s-2);font-size:var(--step--1);border-radius:2px;font-weight:500}.glance__links{margin-top:var(--s-5);font-size:var(--step--1)}.frameworks>summary .part__head{display:flex}.frameworks>summary .part__intro{display:block}.instrument h1{font-size:var(--step-4);letter-spacing:-.01em;max-width:24ch;line-height:1.1}.i-fullname{margin-top:var(--s-3);font-size:var(--step-2);max-width:var(--measure);letter-spacing:0;font-weight:400;line-height:1.3;display:block}table.data time{white-space:nowrap}.not-found{text-align:center}.not-found .page-lede{margin-inline:auto}.change-entry{margin-top:var(--s-6);max-width:var(--measure)}.change-entry h2{font-size:var(--step-2);border-bottom:1px solid var(--rule);padding-bottom:var(--s-2);margin-bottom:var(--s-2)}.change-list,.change-fields{margin:0;padding:0;list-style:none}.change{padding:var(--s-2) 0;border-bottom:1px solid var(--rule)}.change__kind{min-width:5.5em;font-size:var(--step--1);font-weight:500;display:inline-block}.change--added .change__kind{color:var(--pill-inforce-fg)}.change--changed .change__kind{color:var(--accent)}.change--removed .change__kind{color:var(--pill-historic-fg)}.change-fields{margin:var(--s-1) 0 0 5.5em;color:var(--ink-muted);font-size:.9375rem}.empty-changes{max-width:var(--measure);padding:var(--s-4);background:var(--paper-sunk)}@media (width<=560px){.change-fields{margin-left:0}}.changes-subscribe{max-width:var(--measure);margin:var(--s-5) 0 var(--s-6);padding:var(--s-4) var(--s-5);background:var(--paper-sunk);border-left:3px solid var(--brand)}.changes-subscribe h2{font-size:var(--step-1);margin-bottom:var(--s-2)}.subscribe-form{max-width:36rem;margin:var(--s-4) 0}.subscribe-form label{margin-bottom:var(--s-1);font-weight:500;display:block}.subscribe-form__row{gap:var(--s-2);display:flex}.subscribe-form input[type=email]{min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);padding:var(--s-2) var(--s-3);border-radius:2px;flex:1}.subscribe-form button,.subscribe-action button{font:inherit;color:var(--on-brand);background:var(--brand);padding:var(--s-2) var(--s-4);cursor:pointer;border:0;border-radius:2px;font-weight:500}.subscribe-form button:hover,.subscribe-action button:hover{text-decoration:underline}.subscribe-form__note{margin:var(--s-2) 0 0;font-size:var(--step--1);color:var(--ink-muted)}.subscribe-form__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}
