.di{font-family:var(--font-sans);font-size:var(--p);font-weight:600;text-transform:none;letter-spacing:.005em;color:var(--fg-subtle);margin:0 0 .75rem;line-height:1.2}.page-toc .e{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.125rem}.page-toc .e li{line-height:1.45}.page-toc .e .g0{padding-inline-start:var(--space-lg)}.page-toc .e a{display:block;padding:var(--space-xs) .5rem;border-inline-start:2px solid transparent;border-radius:0 .25rem .25rem 0;font-size:var(--l);color:var(--n);transition:color 150ms,border-color 150ms,background 150ms}.page-toc .e .g0 a{color:var(--e)}.e{counter-reset:toc;--a4:1.65rem}.e>:where(li:not(.g0))>a[data-toc-link]{counter-increment:toc}.e>:where(li:not(.g0))>a[data-toc-link]:before{content:counter(toc);content:counter(toc) / "";display:inline-block;min-width:2.2em;white-space:nowrap;overflow-wrap:normal;padding-inline-end:.6em;text-align:end;box-sizing:border-box;color:var(--fg-subtle);font-size:var(--u);font-weight:600;font-variant-numeric:tabular-nums}.page-toc .e>:where(li:not(.g0))>a[data-toc-link]{display:grid;grid-template-columns:var(--a4) minmax(0,1fr);align-items:baseline}.page-toc .e a.passed{color:var(--e);border-inline-start-color:var(--a6)}.page-toc .e a:focus-visible{color:var(--k);background:var(--s)}@media (hover:hover){.page-toc .e a:hover{color:var(--k);background:var(--s)}}.page-toc .e a.active{color:var(--accent);border-inline-start-color:var(--accent);background:var(--a8)}.page-toc .e a.active:before{color:var(--accent)}.e5{background:var(--t);border:1px solid var(--q);border-radius:.75rem;padding:var(--aj)}.e5 .e{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.125rem var(--space-lg)}@media (pointer:coarse){.page-toc .e a{padding-block:.5rem}}.x>.page-toc{margin-top:1.25rem}@media (width<=63.99em){.x>.page-toc .di,.page-toc.dx .di{margin-bottom:var(--space-xs)}.x>.page-toc .e,.page-toc.dx .e{display:flex;flex-wrap:wrap;gap:max(.5rem,var(--am,0px))}.x>.page-toc .e li a,.page-toc.dx .e li a{display:flex;align-items:center;min-height:var(--ae);border:1px solid var(--border);border-radius:999px;background:var(--s);padding-block:.125rem;padding-inline:.75rem;font-size:var(--ah);font-weight:600;line-height:1.45}.x>.page-toc .e a[data-toc-link]:before,.page-toc.dx .e a[data-toc-link]:before{content:none}.x>.page-toc .e li a.passed,.x>.page-toc .e li a.active,.page-toc.dx .e li a.passed,.page-toc.dx .e li a.active{border-color:var(--border);color:var(--n);background:var(--s)}}@media (width<=63.99em) and (hover:hover){.x>.page-toc .e li a:hover,.page-toc.dx .e li a:hover{border-color:var(--border-strong)}}@media (width<=47.99em){.x>.page-toc,.page-toc.dx{background:none;border:0;border-radius:0;padding:0}}@media (width<=47.99em),(height<=37.5em) and (orientation:landscape) and (width<=63.99em){.tool-page-head.x>.page-toc{display:none}.page-toc.dx{margin-block:1.25rem 0}}@media (width>=48em) and (height>=37.51em),(width>=48em) and (orientation:portrait),(width>=64em){.page-toc.dx{display:none}}@media (width>=64em){.x{display:grid;grid-template-columns:minmax(0,56rem) minmax(14rem,19rem);justify-content:space-between;column-gap:2rem;align-items:start}.x>:not(.page-toc){grid-column:1}.x>.page-toc{grid-column:2;grid-row:1/span 8;margin-top:0}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e{display:block;column-gap:var(--space-lg)}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e>li{break-inside:avoid;margin-block-end:.125rem}}@media (width>=64em) and (width<=79.99em){.x:has(> .page-toc .e > li:nth-child(9)){grid-template-columns:minmax(0,1fr)}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc{grid-column:1;grid-row:auto;margin-top:1.25rem}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e{column-width:15rem}}@media (width>=80em){.x:has(> .page-toc .e > li:nth-child(9)){grid-template-columns:minmax(0,44rem) minmax(28rem,34rem)}.x:has(> .page-toc .e > li:nth-child(9))>.page-toc .e{columns:2}}.hero{padding-block:var(--bl) clamp(2.125rem, 1.85rem + 1.05vw, 3rem)}h1{font-family:var(--font-display);font-size-adjust:from-font;font-size:var(--b0);font-weight:700;line-height:1.05;letter-spacing:-.016em;margin:0;color:var(--k)}.lede{margin-top:.75rem;font-size:1rem;line-height:1.6;color:var(--e);max-width:38em}.a1d{margin-top:.75rem;font-size:.9375rem;color:var(--fg-subtle)}.lede strong{color:var(--k);font-weight:600}.bgd{padding-block:var(--space-lg) 4rem}.tool-cluster{margin-bottom:3rem}.tool-cluster:last-child{margin-bottom:0}.tool-cluster-head{margin-bottom:var(--space-lg)}.tool-cluster-title{font-family:var(--font-display);font-size-adjust:from-font;font-size:clamp(1.3rem, 1.16rem + .65vw, 1.75rem);font-weight:700;letter-spacing:-.018em;color:var(--k);margin:0;padding-bottom:var(--space-xs);border-bottom:1px solid var(--border)}.tool-cluster-blurb{margin:.5rem 0 0;color:var(--e);font-size:var(--l);line-height:1.6;max-width:44rem}.amn{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr));gap:var(--ar)}@media (width>=45em){.amn{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=66em){.amn{grid-template-columns:repeat(6,minmax(0,1fr))}.amn>.tool-card{grid-column:span 2}.amn>.tool-card.a7d{grid-column:span 3}}@media (width>=45em) and (width<=65.99em){.tool-card.asf{grid-column:1/-1;flex-direction:row}.tool-card.asf>.tool-shot{flex:0 0 50%;align-self:stretch;aspect-ratio:16/10;border-bottom:0;border-inline-end:1px solid var(--border);border-radius:calc(.75rem - 1px) 0 0 calc(.75rem - 1px)}.tool-card.asf>.tool-main{flex:1 1 auto;min-width:0;align-content:center}.tool-card.asf>.tool-shot>img{object-position:left top}}@media (width>=66em){.amn>.tool-card.att{grid-column:1/-1;flex-direction:row}.tool-card.att>.tool-shot{flex:0 0 calc((100% - 2 * var(--ar))/3);align-self:stretch;aspect-ratio:16/9;border-bottom:0;border-inline-end:1px solid var(--border);border-radius:calc(.75rem - 1px) 0 0 calc(.75rem - 1px)}.tool-card.att>.tool-main{flex:1 1 auto;min-width:0;align-content:center}.tool-card.att .tool-blurb{max-width:38em}.tool-card.att>.tool-shot>img{object-position:left top}}.tool-card{display:flex;flex-direction:column;border:1px solid var(--q);border-radius:.75rem;background:var(--t);color:inherit;position:relative;box-shadow:0 0 0 0 transparent;transition:border-color 150ms cubic-bezier(.4, 0, .2, 1),transform 150ms cubic-bezier(.4, 0, .2, 1),box-shadow 240ms cubic-bezier(.4, 0, .2, 1)}.tool-title-link{color:inherit;text-decoration:none;padding-block:3px}.tool-q{display:block;text-wrap:balance}.tool-name{display:block;margin-block-start:.25rem;font-family:var(--font-sans);font-size:var(--u);font-weight:600;letter-spacing:0;line-height:1.2;color:var(--e)}@media (hover:hover){.tool-card:hover .tool-q{color:var(--accent)}}.tool-title-link:focus-visible .tool-q{color:var(--accent)}.tool-title-link:after{content:'';position:absolute;inset:0;z-index:1}.tool-title-link:focus-visible{outline:none}.tool-card:has(.tool-title-link:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.tool-card:focus-within{border-color:var(--as)}@media (hover:hover){.tool-card:hover{border-color:var(--as)}}.tool-card:active{transform:translateY(0px);transition-duration:120ms}.tool-shot{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:calc(.75rem - 1px) calc(.75rem - 1px) 0 0;background:oklch(.180 .003 35);border-bottom:1px solid var(--border)}.tool-shot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tool-shot:after{content:'';position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(to bottom,transparent,oklch(.180 .003 35));pointer-events:none}.tool-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.75rem;row-gap:.5rem;padding:1.25rem}.tool-body{display:contents}.tool-icon{grid-column:1;grid-row:1}.tool-badge{grid-column:2;grid-row:1}.tool-main:after{grid-column:3;grid-row:1}.tool-title,.tool-blurb{grid-column:1/-1}.tool-main:after{content:none}.tool-cluster-count{white-space:nowrap}@media (width<=30em){.tool-main{padding:clamp(1rem, .85rem + .7vw, 1.4rem)}}.tool-icon{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.tool-icon svg{width:22px;height:22px}.tool-badge{display:inline-flex;align-items:center;font-size:var(--p);font-weight:600;text-transform:none;letter-spacing:.005em;color:var(--fg-subtle);justify-self:start}.tool-title{font-family:var(--font-display);font-size-adjust:from-font;font-size:1.125rem;font-weight:700;line-height:1.2;letter-spacing:-.018em;color:var(--k);margin:0 0 .5rem}.tool-blurb{font-size:var(--l);color:var(--e);line-height:1.6;margin:0}