@font-face{font-family:Zalando Sans;src:url(/fonts/zalando-sans-latin-wdth-normal.woff2)format("woff2-variations"),url(/fonts/zalando-sans-latin-wdth-normal.woff2)format("woff2");font-weight:200 900;font-stretch:75% 125%;font-style:normal;font-display:swap}@font-face{font-family:Mozilla Text;src:url(/fonts/mozilla-text-latin-wght-normal.woff2)format("woff2-variations"),url(/fonts/mozilla-text-latin-wght-normal.woff2)format("woff2");font-weight:200 700;font-style:normal;font-display:swap}:root{--paper:#fafbfc;--ink:#0e1116;--soft:#596573;--grid:#e5e9ee;--rule:#cbd2da;--faint:#808b98;--electric:#0891b2;--electric-text:#0e7490;--grid-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 .5H8M.5 0V8' fill='none' stroke='%23e5e9ee'/%3E%3C/svg%3E");--display:"Zalando Sans", "Helvetica Neue", Arial, sans-serif;--text:"Mozilla Text", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--paper:#14181e;--ink:#e6eaf0;--soft:#9aa5b1;--grid:#1b2027;--rule:#2c333c;--faint:#66727f;--electric:#6fb3c2;--electric-text:#6fb3c2;--grid-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 .5H8M.5 0V8' fill='none' stroke='%231b2027'/%3E%3C/svg%3E")}}:root[data-theme=dark]{--electric-text:#6fb3c2;--paper:#14181e;--ink:#e6eaf0;--soft:#9aa5b1;--grid:#1b2027;--rule:#2c333c;--faint:#66727f;--electric:#6fb3c2;--grid-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 .5H8M.5 0V8' fill='none' stroke='%231b2027'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--text);font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;margin:0}img,svg{max-width:100%;height:auto}a{color:var(--electric-text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--electric);outline-offset:2px}.skip{background:var(--ink);color:var(--paper);z-index:10;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.frame{max-width:1360px;margin:0 auto;padding:0 16px}@media (width>=768px){.frame{padding:0 32px}}.site-head{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:8px 32px;padding-top:16px;padding-bottom:12px;display:flex}.mast{font:600 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap;font-stretch:115%;text-decoration:none}.mast:hover{text-decoration:underline}.site-head nav{flex-wrap:wrap;gap:4px 20px;font-size:14px;display:flex}.site-head nav a{color:var(--ink);padding:6px 0;text-decoration:none}.site-head nav a:hover{text-decoration:underline}main,main.frame{padding-top:40px;padding-bottom:80px;display:block}.crumbs{color:var(--soft);margin-bottom:16px;font-size:13px}.crumbs ol{flex-wrap:wrap;gap:2px 8px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--rule);margin-right:8px}.crumbs a{color:var(--soft)}h1,h2,h3,thead th,.mast,button,legend,.linkrow .lab{word-spacing:-.14em}h1,h2,h3{font-family:var(--display);color:var(--ink)}h1{overflow-wrap:anywhere;max-width:24em;margin:0 0 16px;font-size:clamp(28px,4.6vw,40px);font-weight:700;font-stretch:105%;line-height:1.12}h2{border-top:1px solid var(--ink);margin:80px 0 16px;padding-top:12px;font-size:22px;font-weight:600;font-stretch:115%;line-height:1.2}h3{margin:32px 0 8px;font-size:17px;font-weight:600;font-stretch:110%;line-height:1.3}.prose,article>p,article>ul,article>ol,.doc-main>p,.doc-main>ul,.doc-main>ol{max-width:56ch}.doc-main>h1{max-width:24em}p{margin:0 0 16px}.short{max-width:50ch;margin-bottom:32px;font-size:18px;line-height:1.5}.soft{color:var(--soft)}ul,ol{margin:0 0 16px;padding-left:24px}li{margin-bottom:6px}code{font:400 .9em var(--mono);background:var(--grid);overflow-wrap:anywhere;padding:1px 4px}.tablewrap{margin:0 0 24px;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}caption{text-align:left;color:var(--soft);padding:0 0 8px;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;padding:8px 12px 8px 0}thead th{font-family:var(--display);border-bottom:1px solid var(--ink);white-space:nowrap;font-size:13px;font-weight:600;font-stretch:105%}th[scope=row]{color:var(--ink);overflow-wrap:normal;width:14em;max-width:40%;font-weight:600}td.num,th.num{text-align:right;padding-right:12px}table.dir,table.matrix,table.rubric{background-image:var(--grid-img);background-size:8px 8px}table.dir td,table.dir th{padding-top:7px;padding-bottom:7px;padding-left:8px}table.dir tbody tr{height:36px}table.dir td a{font-weight:600}table.vendors td,table.vendors th,table.checks td,table.checks th,table.vendors .sub,table.checks .sub{overflow-wrap:normal;word-break:normal}table.vendors thead th{white-space:normal}table.vendors td.num{white-space:nowrap}@media (width<=640px){table.dir.vendors td,table.dir.vendors th{padding-left:4px;padding-right:6px}table.dir.vendors td:first-child,table.dir.vendors th:first-child{min-width:0}}table.checks{min-width:46em}table.checks td code{white-space:nowrap;word-break:normal;overflow-wrap:normal}table.checks td:nth-child(4){white-space:nowrap}.sub{color:var(--soft);overflow-wrap:anywhere;font-size:12px;font-weight:400;display:block}.kv th,.kv td{padding-bottom:10px}.dot{vertical-align:-1px;border:1px solid var(--ink);width:10px;height:10px;margin-right:6px;display:inline-block}.dot-verified{background:var(--electric);border-color:var(--electric)}.dot-sign-in{background:var(--ink)}.dot-credential-wall{background:var(--soft);border-color:var(--soft)}.dot-no-answer{background:0 0;border-style:dashed}.dot-no-tools{border-color:var(--soft);background:0 0}.dot-none-found{border-color:var(--faint);background:0 0}.st-verified{color:var(--electric-text);font-weight:600}.nowrap{white-space:nowrap}.linkrow{flex-wrap:wrap;align-items:baseline;gap:4px 0;margin:0 0 12px;font-size:14px;display:flex}.linkrow .lab{font-family:var(--display);width:112px;color:var(--soft);flex:none;font-size:13px;font-weight:600;font-stretch:105%}.linkrow ul{flex-wrap:wrap;flex:240px;gap:2px 18px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.linkrow li{margin:0}.linkrow .n{color:var(--soft);font-size:12px}.linkrow a[aria-current]{color:var(--ink);font-weight:600}.search{max-width:560px;margin:0 0 20px;display:flex}input[type=search],input[type=text],input[type=url],input[type=email],textarea{font:400 16px/1.4 var(--text);color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:0;width:100%;padding:10px 12px}.search input{border-right:0}button,.btn{font:600 14px/1 var(--display);color:var(--paper);background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:0;min-height:44px;padding:0 20px;font-stretch:110%}button:disabled{color:var(--soft);border-color:var(--rule);cursor:not-allowed;background:0 0}fieldset{border:1px solid var(--rule);max-width:560px;margin:0 0 16px;padding:16px}fieldset:disabled{color:var(--soft)}label{margin:12px 0 4px;font-size:14px;font-weight:600;display:block}legend{font:600 13px var(--display);padding:0 6px}.count{color:var(--soft);margin-bottom:12px;font-size:14px}.log{background:var(--grid);border:1px solid var(--rule);max-width:100%;margin:0 0 24px;padding:12px 16px}.log .t{font:600 13px var(--display);margin:0 0 8px;font-stretch:105%}.log ul{columns:3 260px;font:400 13px/1.5 var(--text);column-gap:24px;margin:0;padding:0;list-style:none}.log li{break-inside:avoid;overflow-wrap:anywhere;margin:0}.log.lines ul{columns:1;font:400 12px/1.6 var(--mono)}ol.flow{counter-reset:step;max-width:56ch;padding:0;list-style:none}ol.flow li{counter-increment:step;margin:0 0 14px;padding:0 0 0 44px;position:relative}ol.flow li:before{content:counter(step);border:1px solid var(--ink);width:28px;height:28px;font:600 13px/26px var(--display);text-align:center;position:absolute;top:0;left:0}figure{max-width:520px;margin:0 0 24px}figcaption{color:var(--soft);margin-top:8px;font-size:13px}.chart{width:100%;height:auto;display:block}.chart text{font-family:var(--text);fill:var(--ink)}.chart .lbl{font-size:13px}.chart .val{fill:var(--soft);font-size:12px}.chart .seg{fill:var(--paper);font-size:11px}.chart .axis{stroke:var(--ink);stroke-width:1px}.chart .s0{fill:var(--ink)}.chart .s1{fill:var(--soft)}.chart .sr{fill:var(--rule)}.chart .sv{fill:var(--electric)}.pager{justify-content:space-between;gap:16px;margin:0 0 24px;font-size:14px;display:flex}.cite{border-left:3px solid var(--ink);max-width:56ch;margin:0 0 24px;padding:8px 16px;font-size:15px}.dl-list{max-width:56ch;padding:0;list-style:none}.dl-list li{border-bottom:1px solid var(--rule);padding:8px 0}.faq h3{margin-top:28px}.faq p{max-width:56ch}.sources ul{max-width:900px;padding-left:20px;font-size:14px}.reviewed{color:var(--soft);border-top:1px solid var(--rule);margin-top:32px;padding-top:12px;font-size:14px}.site-foot{border-top:1px solid var(--ink);padding-top:24px;padding-bottom:48px;font-size:14px}.site-foot ul{flex-wrap:wrap;gap:6px 22px;margin:0 0 16px;padding:0;list-style:none;display:flex}.site-foot li{margin:0}.site-foot p{color:var(--soft);margin:0}.search-list{columns:3 280px;column-gap:32px;padding:0;font-size:14px;list-style:none}.search-list li{break-inside:avoid;margin:0 0 4px}.search-list li[hidden]{display:none}@media (width<=640px){.hide-s{display:none}table{font-size:13px}.kv tr{border-bottom:1px solid var(--rule);padding:8px 0;display:block}.kv th,.kv td{border:0;width:auto;max-width:none;padding:0 0 2px;display:block}.kv th{color:var(--soft);font-size:12px}.linkrow .lab{width:100%}h2{margin-top:56px}.short{font-size:17px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.site-foot a,.site-head nav a,.site-head .mast,.crumbs a,.linkrow a,table.dir td a,td>a:only-child,.search-list a,.pager a,.dl-list a,.skip{min-width:24px;min-height:24px;padding-top:0;padding-bottom:0;line-height:24px;display:inline-block}.site-foot ul,.site-head nav,.crumbs ol{gap:8px 20px}.crumbs ol{gap:8px}.linkrow ul{gap:8px 20px}.sources li,.search-list li,.dl-list li{margin-bottom:8px}.linkrow{gap:8px 0}@media (width<=640px){table.dir td:first-child,table.dir th:first-child{min-width:7.5em}td code{word-break:break-all}}table.files td:first-child,table.files th:first-child{min-width:17em}table.files code{white-space:nowrap;word-break:normal;overflow-wrap:normal}table.tools td:first-child,table.tools th:first-child{min-width:13em}table.tools code{white-space:nowrap;word-break:normal;overflow-wrap:normal}.sources li,.sources a{overflow-wrap:anywhere}pre{background:var(--grid);border:1px solid var(--rule);max-width:100%;margin:0 0 24px;padding:12px 16px;overflow-x:auto}pre code{font:400 13px/1.6 var(--mono);white-space:pre;overflow-wrap:normal;background:0 0;padding:0}.doc{display:block}.rail{margin-top:48px;font-size:14px;line-height:1.5}.rail>section,.rail>nav{border-top:1px solid var(--ink);margin-bottom:28px;padding-top:12px}.rail h2,.rail h2.rail-h{font:600 13px/1.3 var(--display);border:0;margin:0 0 8px;padding:0;font-stretch:110%}.rail ol,.rail ul{margin:0;padding:0;list-style:none}.rail li{margin:0 0 6px}.rail .toc{display:none}.rail .pick p{margin:0}.rail dl{grid-template-columns:5.5em 1fr;gap:4px 12px;margin:0;display:grid}.rail dt{color:var(--soft)}.rail dd{margin:0}.rail .sources ul{max-width:none;padding:0 0 0 20px;list-style:outside}.rail .reviewed{margin-top:0}@media (width>=1200px){.doc{grid-template-columns:minmax(0,1fr) 296px;align-items:start;column-gap:56px;display:grid}.rail{margin-top:6px}.rail .toc{display:block}.rail .sources ul{padding:0;list-style:none}}.co{align-items:flex-start;gap:8px;display:flex}.co-logo{flex:none;align-items:center;width:18px;height:22px;display:inline-flex}.co-t{min-width:0}.logo{fill:currentColor;width:18px;height:18px;color:var(--ink);display:block}.h1-logo{vertical-align:-.12em;margin-right:.35em;display:inline-flex}.h1-logo .logo{width:.9em;height:.9em}td .sub{display:block}td .soft{color:var(--soft)}td.num .soft{margin-left:2px;font-size:12px}.chart-wide,figure.wide{max-width:920px}.chart.jack-m{display:none}@media (width<=640px){.chart.jack-d{display:none}.chart.jack-m{display:block}}.chart .j-verified{fill:var(--electric);stroke:none}.chart .j-sign-in{fill:var(--ink);stroke:none}.chart .j-credential-wall{fill:var(--soft);stroke:none}.chart .j-no-answer{fill:none;stroke:var(--ink);stroke-width:1px;stroke-dasharray:2 2}.chart .j-no-tools{fill:none;stroke:var(--soft);stroke-width:1.4px}.chart .j-none-found{fill:none;stroke:var(--faint);stroke-width:1px}.chart .col{fill:var(--ink)}.chart .col-hi{fill:var(--electric)}.chart .col-lo{fill:var(--soft)}.chart .tick{fill:var(--soft);font-size:11px}.chart .base{stroke:var(--ink);stroke-width:1px}.chart .grid-l{stroke:var(--rule);stroke-width:1px}.key{flex-wrap:wrap;gap:6px 20px;margin:0 0 8px;padding:0;font-size:13px;list-style:none;display:flex}.key li{margin:0}tr.picked td{border-bottom:2px solid var(--electric)}tr.picked td:first-child{font-weight:600}.pickline{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);max-width:56ch;margin:0 0 32px;padding:16px 0}.pickline p{margin:0 0 8px}.pickline p:last-child{margin-bottom:0}.pickline .big{font:700 28px/1.15 var(--display);margin-bottom:6px;font-stretch:105%}p,li,dd,td{text-wrap:pretty}.kv td,.defs td{max-width:56ch}::placeholder{color:var(--soft);opacity:1}h1,h2,h3{text-wrap:balance}table.kv{max-width:780px}figcaption{text-wrap:pretty}p,li,dd,figcaption{overflow-wrap:break-word}@media (width<=640px){table.stack{background-image:none;min-width:0}table.stack thead{position:absolute;left:-9999px}table.stack tr{border-bottom:1px solid var(--rule);height:auto;padding:12px 0;display:block}table.stack td{white-space:normal;border:0;padding:2px 0;display:block}table.stack td.num{text-align:left;padding-right:0}table.stack td:before{content:attr(data-label);font:600 12px/1.4 var(--display);color:var(--soft);display:block}table.stack tr.picked{border-bottom:2px solid var(--electric)}}table:not([class]){max-width:56em}a>code{background:0 0;padding:0}.pickline{margin-bottom:8px}.pickline+h2{margin-top:40px}h1{word-spacing:-.3em}h2,h3{word-spacing:-.2em}.rail h2,.rail h2.rail-h{word-spacing:normal}
