#px-root{max-width:72rem}.px-ico{flex:none;width:1rem;height:1rem}.px-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}#px-root .px-head h1{margin:0}.px-btn{font:500 .9rem/1.2 var(--font-sans);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);min-height:2.5rem;color:var(--ink);cursor:pointer;align-items:center;padding:.55rem 1rem;display:inline-flex}.px-btn.px-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.px-btn.px-primary:hover{filter:brightness(1.08)}.px-btn.done{background:var(--ok-bg);color:var(--ok-ink);border-color:#0000}#px-root h2.px-label,#px-root h2.px-colh{font-family:var(--font-sans);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2);border:0;margin:0;padding:0;font-size:.72rem;font-weight:600}#px-root h2.px-colh{border-bottom:2px solid var(--ink);align-items:center;gap:.1rem;padding-bottom:.55rem;display:flex}.px-count{letter-spacing:.02em;text-transform:none;color:var(--ink-3);margin-left:auto;font-size:.82rem;font-weight:500}.px-q{border:1px solid var(--rule-strong);background:var(--surface);width:1.2rem;height:1.2rem;font:600 .68rem/1 var(--font-sans);letter-spacing:0;color:var(--ink-3);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-left:.35rem;padding:0;display:inline-flex}.px-q:hover,.px-q:focus-visible{color:var(--accent-text);border-color:var(--accent)}.px-work{gap:2rem;margin-top:1.5rem;display:grid;position:relative}.px-wires{display:none}.px-col{min-width:0}@media (width>=64rem){.px-work{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:6.5rem}.px-wires{pointer-events:none;z-index:1;display:block;position:absolute;top:0;left:0;overflow:visible}.px-js .px-hits:not(.px-unlinked){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.px-clist,.px-mlist{margin:0;padding:0;list-style:none}.px-crow,.px-mrow{border-bottom:1px solid var(--rule);padding:.6rem .25rem;transition:background .12s}.px-lit{background:var(--surface-2)}.px-crow{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:0 .35rem;padding-right:0;display:grid}.px-cbody{flex-direction:column;gap:.1rem;min-width:0;display:flex}.px-ctitle,.px-mtitle{font-weight:500;line-height:1.4}.px-status{font-size:.8rem;font-weight:600}.px-status.px-s-covered{color:var(--ok-ink)}.px-status.px-s-partial{color:var(--warn-ink)}.px-status.px-s-none{color:var(--danger-ink)}.px-why{color:var(--ink-3);font-weight:400}.px-cn{border:2px solid var(--rule-strong);width:1.6rem;height:1.6rem;font:600 .76rem/1 var(--font-mono);color:var(--ink-2);background:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.px-cn.px-s-covered{background:var(--ok-ink);border-color:var(--ok-ink);color:var(--surface)}.px-cn.px-s-partial{background:var(--warn-bg);border-color:var(--warn-ink);color:var(--warn-ink)}.px-cn.px-s-none{border-color:var(--danger-ink);color:var(--danger-ink)}.px-cn-sm{vertical-align:middle;border-width:1.5px;width:.85rem;height:.85rem}.px-mhead{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0 .6rem;display:grid}.px-mrow{padding-left:0}.px-lv.badge{padding:.12rem .34rem}.px-hits,.px-issue{color:var(--ink-3);margin:.2rem 0 0 2.8rem;font-size:.8rem;line-height:1.4;display:block}.px-issue.px-exclude{color:var(--warn-ink)}.px-issue.px-exclude:before{content:"⚠ "}.px-issue[title]{cursor:help}.px-excluded .px-mtitle{text-decoration-style:dashed}.px-x,.px-x:visited{min-width:1.9rem;min-height:1.9rem;color:var(--ink-3);opacity:.6;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;text-decoration:none;display:inline-flex}.px-crow:hover .px-x,.px-mrow:hover .px-x,.px-x:focus-visible{opacity:1}.px-x:hover{color:var(--danger-ink);background:var(--surface-2)}.px-fbar{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.px-fbtn{border:1px dashed var(--rule-strong);min-height:2rem;font:500 .84rem/1.2 var(--font-sans);color:var(--ink-2);cursor:pointer;background:0 0;align-items:center;gap:.35rem;padding:.3rem .65rem;display:inline-flex}.px-fbtn:hover,.px-fbtn:focus-visible{color:var(--accent-text);border-color:var(--accent)}.px-chip{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));align-items:stretch;min-height:2rem;font-size:.84rem;display:inline-flex}.px-chipb{font:inherit;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;padding:.3rem .15rem .3rem .6rem}.px-chipb strong{color:var(--accent-text);font-weight:600}.px-chipx,.px-chipx:visited{color:var(--ink-3);align-items:center;padding:0 .5rem;font-size:1rem;text-decoration:none;display:inline-flex}.px-chipx:hover{color:var(--danger-ink)}.px-fcount{color:var(--ink-3);margin-left:auto;font-size:.8rem}.px-add{margin-top:.75rem}.px-combo{align-items:center;display:flex;position:relative}.px-combo>.px-ico{color:var(--ink-3);pointer-events:none;position:absolute;left:.7rem}.px-search{border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--surface);width:100%;min-height:2.6rem;font:inherit;color:var(--ink);padding:.5rem 2.2rem;font-size:16px}.px-search::placeholder{color:var(--ink-3);opacity:1}.px-search:hover{border-color:var(--accent)}.px-search:focus{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.px-caret{border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);pointer-events:none;width:.45rem;height:.45rem;position:absolute;right:.85rem;transform:translateY(-25%)rotate(45deg)}.px-lb{z-index:30;overscroll-behavior:contain;border:1px solid var(--rule-strong);background:var(--surface);max-height:min(26rem,62vh);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000029}.px-lb[hidden]{display:none}.px-lb.px-up{top:auto;bottom:calc(100% + 4px)}.px-lbh{z-index:1;background:var(--surface-2);font:600 .68rem/1.2 var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:.45rem .75rem .35rem;position:sticky;top:0}.px-lbh span{letter-spacing:0;margin-left:.25rem;font-weight:500}.px-lbo{border-top:1px solid var(--rule);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.5rem .75rem;display:flex}.px-lbo:hover,.px-lbo.px-active{background:color-mix(in srgb, var(--accent) 9%, var(--surface))}.px-lbo.px-active{box-shadow:inset 3px 0 0 var(--accent)}.px-lbo .px-lv{flex:none;margin-top:.12rem}.px-lbt{flex-direction:column;gap:.05rem;min-width:0;display:flex}.px-lbtitle{font-size:.93rem;font-weight:500;line-height:1.35}.px-lbsum{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.px-lbn{color:var(--ink-2);font-size:.78rem}.px-lbwarn{color:var(--warn-ink)}.px-lbg-out .px-lbtitle{color:var(--ink-3)}.px-lb mark{background:var(--warn-bg);color:inherit;padding:0}.px-lbempty{color:var(--ink-3);padding:.75rem;font-size:.88rem}.px-nojs{gap:.5rem;margin-top:.5rem;display:flex}.px-nojs select{min-width:0;font:inherit;flex:1;padding:.4rem;font-size:16px}.px-w{fill:none;stroke:var(--accent);stroke-width:1.6px;opacity:.6;transition:opacity .12s,stroke-width .12s}.px-w-supporting{stroke:var(--ink-3);stroke-dasharray:4 4}.px-w-out{opacity:.28}.px-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.px-hl .px-link .px-w{opacity:.1}.px-hl .px-link.on .px-w{opacity:1;stroke-width:2.6px}.px-hl .px-link.on .px-w-out{opacity:.55}.px-lsample{flex:none;width:1.9rem;height:.65rem;overflow:visible}.px-lsample .px-w{opacity:1;stroke-width:2px}.px-lsample .px-w-out{opacity:.3}.px-pop{border:1px solid var(--rule-strong);background:var(--surface);width:min(23rem,100vw - 1rem);max-height:min(78vh,38rem);color:var(--ink);font:400 .9rem/1.5 var(--font-sans);overscroll-behavior:contain;margin:auto;padding:.8rem 1rem 1rem;overflow:auto;box-shadow:0 14px 36px #0000002e,0 2px 6px #00000014}.px-pop p{margin:.45rem 0}@media (width<=39.99rem){.px-js .px-pop{max-height:82vh;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));border-width:1px 0 0;box-shadow:0 -12px 36px #00000038}}.px-pop a{color:var(--link);text-decoration-color:var(--link-deco)}.px-ptop{align-items:center;gap:.3rem;margin:-.2rem -.4rem .25rem 0;display:flex}#px-root .px-ptitle{font:600 .98rem/1.3 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink);border:0;flex:1;align-items:center;gap:.55rem;margin:0;padding:0;display:flex}.px-pclose,.px-back{width:2rem;height:2rem;font:400 1.3rem/1 var(--font-sans);color:var(--ink-3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.px-pclose:hover,.px-back:hover{color:var(--ink);background:var(--surface-2)}.px-back{margin-left:-.5rem;font-size:1.5rem}.px-pdesc{color:var(--ink-2);font-size:.86rem}.px-rule{color:var(--ink-3);font-size:.82rem}.px-pwarn{color:var(--warn-ink)}.px-pmore{font-size:.86rem;font-weight:500;margin-top:.7rem!important}.px-pmore a:after{content:" →"}.px-pkey{color:var(--ink-2);gap:.5rem;margin:.65rem 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}.px-pkey li{grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.5rem;display:grid}.px-pkey .px-cn-sm{margin:.3rem 0 0 .5rem}.px-pkey .px-lsample{margin-top:.42rem}.px-fitems{border-top:1px solid var(--rule);margin:.65rem 0 0;padding:0;list-style:none;display:none}.px-js .px-fitems{display:block}.px-back{display:none}.px-js .px-back{display:inline-flex}.px-js .px-fsec:not(.on),.px-js .px-fpop:not([data-step=list]) .px-flist{display:none}.px-fpop:not(.px-js .px-fpop) .px-fsec{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.75rem}.px-fitem{border:0;border-bottom:1px solid var(--rule);width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.6rem .3rem;display:flex}.px-fitem:hover,.px-fitem:focus-visible{background:var(--surface-2)}.px-fitem:after{content:"";border-top:1.5px solid var(--ink-3);border-right:1.5px solid var(--ink-3);flex:none;width:.4rem;height:.4rem;margin-right:.2rem;transform:rotate(45deg)}.px-fname{flex:1;font-weight:500}.px-fval{color:var(--ink-3);text-align:right;font-size:.84rem}.px-fitem.px-on .px-fval{color:var(--accent-text);font-weight:600}.px-fsum{color:var(--ink-3);font-size:.82rem}.px-fq{font-weight:500}.px-opts{gap:.3rem;margin:.55rem 0 .75rem;padding:0;list-style:none;display:grid}.px-o,.px-o:visited{border:1px solid var(--rule);min-height:2.4rem;color:var(--ink);align-items:center;gap:.6rem;padding:.4rem .65rem;text-decoration:none;display:flex}.px-o:hover,.px-o:focus-visible{border-color:var(--accent)}.px-o.px-sel{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));font-weight:600}.px-mark{border:1.5px solid var(--rule-strong);border-radius:50%;flex:none;width:.95rem;height:.95rem}.px-o.px-multi .px-mark{border-radius:2px}.px-o.px-sel .px-mark{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 42%, transparent 46%)}.px-o.px-multi.px-sel .px-mark{background:var(--accent);box-shadow:inset 0 0 0 2px var(--surface)}.px-otext{flex:1}.px-ocount{color:var(--ink-3);white-space:nowrap;font-size:.78rem;font-weight:400}.px-ov{margin:.75rem 0 1.75rem}.px-ovtop{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin-bottom:.5rem;display:flex}.px-cols{flex-wrap:wrap;align-items:center;gap:.3rem;margin-left:auto;font-size:.8rem;display:flex}.px-colsl{color:var(--ink-3);margin-right:.2rem}.px-colt,.px-colt:visited{border:1px dashed var(--rule-strong);min-height:1.8rem;color:var(--ink-2);align-items:center;gap:.25rem;padding:.2rem .55rem;text-decoration:none;display:inline-flex}.px-colt:hover,.px-colt:focus-visible{color:var(--accent-text);border-color:var(--accent)}.px-colt.px-sel{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));color:var(--accent-text);font-weight:600}#px-root .px-ovh{font:600 1rem/1.3 var(--font-sans);letter-spacing:0;text-transform:none;border:0;margin:0;padding:0}.px-ovscroll{border:1px solid var(--rule);position:relative;overflow-x:auto}.px-ovt{border-collapse:collapse;background:var(--surface);width:100%;font-size:.84rem}.px-ovt th,.px-ovt td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle;white-space:nowrap;padding:.45rem .6rem}.px-ovt tbody tr:last-child>*{border-bottom:0}.px-ovt thead th{background:var(--surface-2);font:600 .66rem/1.3 var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.px-ovt .px-ov-c{text-align:center;padding-left:.35rem;padding-right:.35rem}.px-ovt thead .px-ov-c .px-cn{text-transform:none;letter-spacing:0;width:1.45rem;height:1.45rem;font-size:.72rem}.px-ovt th.px-ov-cg{text-align:center;border-bottom-color:var(--rule-strong)}.px-ovt th.px-ov-m{z-index:1;white-space:normal;background:var(--surface);min-width:10rem;max-width:17rem;font:500 .88rem/1.35 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink);position:sticky;left:0}.px-ovt thead th.px-ov-m{background:var(--surface-2);font:600 .66rem/1.3 var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.px-ov-t{color:var(--ink-2)}.px-ov-out>td,.px-ov-out>th>a{opacity:.45}.px-ov-out>td.px-conf{opacity:1}.px-conf{background:var(--warn-bg);color:var(--warn-ink)}.px-key-conf{background:var(--warn-bg);border:1px solid var(--warn-rule);vertical-align:middle;width:1.6rem;height:.9rem;display:inline-block}.px-ov-warn{color:var(--warn-ink);cursor:help;white-space:nowrap}.px-mk{vertical-align:middle;border-radius:50%;width:.8rem;height:.8rem;display:inline-block}.px-mk-primary{background:var(--accent)}.px-mk-supporting{border:2px solid var(--ink-3)}.px-fc{min-width:1.4rem;height:1.4rem;font:600 .74rem/1 var(--font-mono);vertical-align:middle;justify-content:center;align-items:center;margin-right:.25rem;padding:0 .3rem;display:inline-flex}.px-fc-crit{background:var(--danger-bg);color:var(--danger-ink);border:1px solid color-mix(in srgb, var(--danger-ink) 45%, transparent)}.px-fc-sig{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-rule)}.px-faint{color:var(--ink-3);font-size:.8rem}.px-xs{border:1.5px solid var(--ink-2);width:1.4rem;height:1.4rem;font:600 .7rem/1 var(--font-mono);color:var(--ink-2);vertical-align:middle;cursor:help;justify-content:center;align-items:center;margin-right:.2rem;display:inline-flex}.px-x-shown{background:var(--ink-2);color:var(--surface)}.px-x-partial{border-color:color-mix(in srgb, var(--ink-2) 55%, var(--surface));background:color-mix(in srgb, var(--ink-2) 20%, var(--surface))}.px-x-none{color:var(--rule-strong);border-color:#0000}.px-ovkey{color:var(--ink-3);flex-wrap:wrap;gap:.35rem 1.4rem;margin:.6rem 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.px-ovkey li{line-height:1.9}.px-ovkey li>*{vertical-align:middle;margin:0 .15rem}.px-ovkey .px-xs,.px-ovkey .px-fc{cursor:default;width:1.15rem;min-width:1.15rem;height:1.15rem;font-size:.62rem}.px-analysis{margin-top:2.5rem}#px-root .px-analysis>h2.px-label{border-bottom:2px solid var(--ink);padding-bottom:.55rem}.px-panels,.px-method{max-width:52rem}.px-panel{border-top:1px solid var(--rule-strong)}.px-panel:last-of-type{border-bottom:1px solid var(--rule-strong)}.px-panel>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.15rem 1rem;padding:.75rem 0;list-style:none;display:flex}.px-panel>summary::-webkit-details-marker{display:none}.px-panel>summary:before{content:"";border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);align-self:center;width:.45rem;height:.45rem;margin-right:-.35rem;transition:transform .15s;transform:rotate(-45deg)}.px-panel[open]>summary:before{transform:rotate(45deg)}.px-pt{font-family:var(--font-display);min-width:12rem;font-size:1.2rem;font-weight:500}.px-ps{color:var(--ink-3);font-size:.88rem}.px-pb{padding:0 0 1.1rem .85rem}.px-pb>.px-desc:first-child{align-items:center;margin:0 0 .5rem;display:flex}.px-facts{margin:0}.px-facts>div{padding:.5rem 0}.px-facts>div+div{border-top:1px solid var(--rule)}@media (width>=40rem){.px-facts>div{grid-template-columns:12rem minmax(0,1fr);gap:1rem;display:grid}}.px-facts dt{font:600 .7rem/1.9 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.px-facts dd{margin:0;font-size:.95rem}.px-facts dd p{margin:.2rem 0}.px-panel[data-key=coverage] dt{font:500 .95rem/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink)}.px-lines{margin:0;padding:0;list-style:none}.px-lines>li{margin:0 0 .35rem}.px-lines .px-lines{margin:.25rem 0 .5rem .9rem;font-size:.92rem}.px-desc{color:var(--ink-3);font-size:.86rem}.px-flaw>summary{cursor:pointer}.px-flaw>p{color:var(--ink-2);margin:.3rem 0 .4rem 1rem;font-size:.92rem}.px-more>summary{color:var(--ink-2);cursor:pointer;font-size:.92rem}.px-more[open]>summary{margin-bottom:.4rem}.px-addlink{margin-left:.25rem;font-size:.84rem;font-weight:600}.px-sources{margin:0;padding-left:1.5rem;font-size:.9rem}.px-sources li{scroll-margin-top:calc(var(--header-h) + 1rem);margin:.3rem 0}.px-sources li:target{background:var(--warn-bg)}.px-method{color:var(--ink-3);margin:1rem 0 0;font-size:.84rem}@media print{.site-header,.site-footer,.px-btn,.px-add,.px-x,.px-addlink,.px-wires,.px-fbtn,.px-chipx,.px-q,.px-pops,.skip{display:none!important}.px-work{display:block}}
