.tl-index{--tl-violet:#a78bfa;--tl-lilac:#c4b5fd;--tl-alert:#ff6b6f;--tl-ok:#7AB55C;--tl-line:rgba(255, 255, 255, 0.08);--tl-dim:#8a8a98}.tl-index .tools-hero-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,4%) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,4%) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 90% at 28% 35%,#000,transparent 78%);mask-image:radial-gradient(ellipse 75% 90% at 28% 35%,#000,transparent 78%)}.tl-index .tools-hero-bg{background:radial-gradient(ellipse 50% 35% at 22% 28%,rgba(196,181,253,.18),transparent 70%),radial-gradient(ellipse 60% 40% at 78% 72%,rgba(167,139,250,8%),transparent 70%)}.tl-index .tools-hero-inner{text-align:center}.tl-index .tools-hero-accent{background:linear-gradient(90deg,#c4b5fd,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.tl-index .tools-stat-label{text-wrap:balance}@keyframes tl-load-lift{from{transform:translateY(.4em)}}@media(prefers-reduced-motion:no-preference){.tl-index .kf-load{animation:tl-load-lift calc(.7s * var(--tl-speed,1))cubic-bezier(.16,1,.3,1)both;animation-delay:calc(var(--i,0) * var(--tl-step,70ms))}}@media(max-width:640px){.tl-index{--tl-speed:0.8;--tl-step:45ms}}.tl-index .tools-hero-title,.tl-index .tools-stats{margin-inline:auto}.tl-index .tools-stats{max-width:800px}.tl-index .tools-stat{position:relative;overflow:hidden}.tl-index .tools-stat::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,var(--tl-violet),transparent);opacity:.55}.tl-index .tools-list-section{padding-top:clamp(2.25rem,5vw,3.5rem)}.tl-index .tools-section-header{margin-bottom:1.75rem}.tl-index .tl-group+.tl-group{margin-top:clamp(2.5rem,5vw,3.75rem)}.tl-index .tl-group__head{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem}.tl-index .tl-group__rule{flex:1;min-width:0;height:1px;background:var(--tl-line);transform-origin:left center}.tl-index .tl-group__n{color:var(--tl-dim);white-space:nowrap}.tl-index .tl-group__head .kf-label:first-child{min-width:0}.tl-index .tl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.tl-index .tl-cell{display:flex;min-width:0}.tl-index .tl-card{display:flex;flex-direction:column;flex:1;min-width:0;position:relative;overflow:hidden;background:var(--tools-card);border-radius:18px;color:inherit;text-decoration:none}.tl-index .tl-card:focus-visible{outline:2px solid var(--tl-lilac);outline-offset:0}.tl-index .tl-card__title{view-transition-name:var(--kf-tool-name);contain:layout}.tl-index .tl-viz{display:grid;place-items:center;position:relative;height:142px;padding:30px 20px 12px;border-bottom:1px solid var(--tl-line);background:radial-gradient(ellipse 60% 90% at 50% 100%,rgba(167,139,250,.1),transparent 70%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px)0 0/100% 20px,rgba(255,255,255,.015)}.tl-index .tl-viz svg{display:block;width:100%;max-width:320px;height:auto;overflow:visible}.tl-index .tl-fig{position:absolute;top:.7rem;left:.9rem;font-family:ui-monospace,sf mono,jetbrains mono,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.04em;color:rgba(196,181,253,.75)}.tl-index .tl-card__body{display:flex;flex-direction:column;flex:1;min-width:0;padding:1.15rem 1.4rem 1.3rem}.tl-index .tl-card__top{position:absolute;top:.55rem;right:.8rem;z-index:1;margin:0}.tl-index .tl-card__status{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--tl-lilac);background:rgba(196,181,253,8%)}.tl-index .tl-card__dot{width:6px;height:6px;border-radius:50%;background:var(--tl-violet)}.tl-index .tl-card__title{margin:0 0 .45rem;font-size:1.2rem;line-height:1.25;letter-spacing:-.015em;font-weight:700;color:var(--tools-text);transition:color .2s ease}.tl-index .tl-card:hover .tl-card__title,.tl-index .tl-card:focus-visible .tl-card__title{color:var(--tl-lilac)}.tl-index .tl-card__desc{margin:0 0 .9rem;font-size:.95rem;line-height:1.6;color:var(--tools-text-muted);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tl-index .tl-card__catches{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}.tl-index .tl-card__catches li{display:flex;align-items:flex-start;gap:.55rem;font-size:.86rem;line-height:1.4;color:var(--tools-text-muted)}.tl-index .tl-card__catches li:nth-child(n+4){display:none}.tl-index .tl-card__catches svg{flex-shrink:0;margin-top:.18em;color:var(--tl-ok)}.tl-index .tl-card__meta{display:flex;flex-wrap:nowrap;overflow:hidden;gap:.4rem;margin-top:auto;margin-bottom:1rem}.tl-index .tl-card__tag{padding:.25rem .6rem;border:1px solid var(--tl-line);border-radius:6px;font-size:.78rem;font-weight:500;white-space:nowrap;color:var(--tools-text-muted);background:rgba(255,255,255,4%)}.tl-index .tl-card__tag:nth-child(n+3){display:none}.tl-index .tl-card__cta{margin-top:0;display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--tl-lilac)}@media(min-width:761px){.tl-index .tl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.tl-index .tl-cell:last-child:nth-child(odd){grid-column:1/-1}.tl-index .tl-cell:last-child:nth-child(odd) .tl-card{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr)}.tl-index .tl-cell:last-child:nth-child(odd) .tl-viz{height:auto;min-height:0;padding:44px 32px 24px;border-bottom:0;border-right:1px solid var(--tl-line)}.tl-index .tl-cell:last-child:nth-child(odd) .tl-viz svg{max-width:320px}.tl-index .tl-cell:last-child:nth-child(odd) .tl-card__body{padding:1.5rem 1.75rem}}.tl-index .tl-t{font-family:ui-monospace,sf mono,Menlo,Consolas,monospace;font-size:14px;font-weight:500;fill:#a8a8b3}.tl-index .tl-t--hi{fill:#f5f5f7;font-weight:600;font-size:15px}.tl-index .tl-t--dim{fill:rgba(168,168,179,.85)}.tl-index .tl-mono{font-family:ui-monospace,sf mono,jetbrains mono,Menlo,Consolas,monospace;font-size:15px;fill:#e4e4ea}.tl-index .tl-alert-t{fill:var(--tl-alert)}.tl-index .tl-ok-t{fill:var(--tl-ok)}.tl-index rect.tl-track{fill:rgba(255,255,255,7%)}.tl-index path.tl-track,.tl-index circle.tl-track{fill:none;stroke:rgba(255,255,255,8%);stroke-width:6;stroke-linecap:round}.tl-index .tl-gauge,.tl-index .tl-ringfill{fill:none;stroke:var(--tl-ok);stroke-width:6;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:calc(1 - var(--f))}.tl-index .tl-fill{fill:var(--tl-violet)}.tl-index .tl-fill--alert{fill:var(--tl-alert)}.tl-index .tl-fill--ok{fill:var(--tl-ok)}.tl-index .tl-box{fill:rgba(255,255,255,3%);stroke:rgba(255,255,255,.14);stroke-width:1}.tl-index .tl-code{fill:rgba(255,255,255,3%);stroke:rgba(255,107,111,.35);stroke-width:1}.tl-index .tl-code--ok{stroke:rgba(122,181,92,.45)}.tl-index .tl-code--plain{stroke:rgba(255,255,255,.12)}.tl-index .tl-pill{fill:rgba(255,107,111,.12);stroke:rgba(255,107,111,.45);stroke-width:1}.tl-index .tl-pill--violet{fill:rgba(167,139,250,.12);stroke:rgba(167,139,250,.5)}.tl-index .tl-pill--ok{fill:rgba(122,181,92,.12);stroke:rgba(122,181,92,.5)}.tl-index .tl-skel{fill:rgba(255,255,255,.13)}.tl-index .tl-skel--hero{fill:rgba(167,139,250,.4)}.tl-index .tl-skel--ok{fill:var(--tl-ok)}.tl-index .tl-dot{fill:#f5f5f7;stroke:#07070b;stroke-width:2}.tl-index .tl-dot--violet{fill:var(--tl-violet);stroke:none}.tl-index .tl-dot--ok{fill:var(--tl-ok);stroke:none}.tl-index .tl-dot--alert{fill:var(--tl-alert);stroke:none}.tl-index .tl-ring{fill:none;stroke:rgba(122,181,92,.5);stroke-width:2}.tl-index .tl-hair{fill:rgba(167,139,250,.55)}.tl-index .tl-hair--wide{fill:rgba(245,245,247,.4)}.tl-index .tl-axis{fill:none;stroke:rgba(255,255,255,.15);stroke-width:1.5}.tl-index .tl-ln{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.tl-index .tl-ln--violet{stroke:var(--tl-violet)}.tl-index .tl-ln--dim{stroke:rgba(255,255,255,.38)}.tl-index .tl-ln--alert{stroke:var(--tl-alert)}.tl-index .tl-check{fill:none;stroke:var(--tl-ok);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.tl-index .tl-beam{fill:var(--tl-violet);opacity:0}@keyframes tl-bar{from{transform:scaleX(0)}}@keyframes tl-grow{from{transform:scaleY(0)}}@keyframes tl-pop{from{opacity:0;transform:scale(.5)}}@keyframes tl-svg-rise{from{opacity:0;transform:translateY(6px)}}@keyframes tl-svg-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes tl-svg-fade{from{opacity:0}}@keyframes tl-slide{from{transform:translateX(calc(var(--tx,100px) * -1))}}@keyframes tl-gauge{from{stroke-dashoffset:1}}@keyframes tl-beam{0%,8%{opacity:0;transform:translateX(0)}12%{opacity:1}55%{opacity:1;transform:translateX(186px)}62%,100%{opacity:0;transform:translateX(186px)}}@media(prefers-reduced-motion:no-preference){.kf-io .tl-index [data-kf-anim] .tl-a--bar{animation-name:tl-bar;transform-box:fill-box;transform-origin:left center;--kf-dur:0.9s}.kf-io .tl-index [data-kf-anim] .tl-a--slow{--kf-dur:1.2s}.kf-io .tl-index [data-kf-anim] .tl-a--grow{animation-name:tl-grow;transform-box:fill-box;transform-origin:center bottom;--kf-dur:0.8s}.kf-io .tl-index [data-kf-anim] .tl-a--drop{animation-name:tl-grow;transform-box:fill-box;transform-origin:center top;--kf-dur:0.5s}.kf-io .tl-index [data-kf-anim] .tl-a--pop{animation-name:tl-pop;transform-box:fill-box;transform-origin:center;--kf-dur:0.55s}.kf-io .tl-index [data-kf-anim] .tl-a--rise{animation-name:tl-svg-rise;--kf-dur:0.6s}.kf-io .tl-index [data-kf-anim] .tl-a--wipe{animation-name:tl-svg-wipe;--kf-dur:0.7s}.kf-io .tl-index [data-kf-anim] .tl-a--fade{animation-name:tl-svg-fade;--kf-dur:0.6s}.kf-io .tl-index [data-kf-anim] .tl-a--slide{animation-name:tl-slide;--kf-dur:1s}.kf-io .tl-index [data-kf-anim] .tl-a--draw{animation-name:kf-g-draw;stroke-dasharray:1 2;--kf-dur:0.9s}.kf-io .tl-index [data-kf-anim] .tl-a--gauge{animation-name:tl-gauge;--kf-dur:1.2s}.kf-io .tl-index [data-kf-anim] .tl-a--beam{animation-name:tl-beam;--kf-dur:1.3s;animation-timing-function:var(--kf-ease-out)}@supports(animation-timeline:view()){.tl-index .tl-group__rule{animation:kf-g-grow-x linear both;animation-timeline:view();animation-range:entry 0% entry 90%}}}@media(prefers-reduced-motion:no-preference){.kf-io .tl-index [data-kf-anim]>.tl-card{--kf-dur:0.5s}}@media(max-width:640px){.tl-index .tools-hero{padding-bottom:5rem}.tl-index .tools-eyebrow{text-transform:none;letter-spacing:0;padding:.4rem .6rem;font-size:.875rem}.tl-index .tools-hero-sub{text-wrap:pretty;max-width:36ch;margin-inline:auto}.tl-index .tools-stat-label{font-size:.875rem}.tl-index .kf-label{font-size:.875rem}.tl-index .tl-group__rule{display:none}.tl-index .tl-group__head{justify-content:space-between;align-items:baseline}.tl-index .tl-viz{height:134px;padding:32px 16px 10px}.tl-index .tl-fig{font-size:.875rem;left:.8rem}.tl-index .tl-card__body{padding:1rem 1.1rem 1.15rem}.tl-index .tl-card__title{font-size:1.1rem}.tl-index .tl-card__desc{font-size:.92rem;line-height:1.5;margin-bottom:.8rem}.tl-index .tl-card__status{font-size:.875rem}.tl-index .tl-card__catches,.tl-index .tl-card__meta{display:none}.tl-index .tl-card__cta{padding-top:.15rem}.tl-index .tl-card__top{position:static;margin:0 0 .5rem}.tl-index .tools-stat{padding:.8rem .75rem}.tl-index .tools-stat-label{line-height:1.35;text-wrap:pretty}.tl-index .tools-stats{gap:.5rem;margin-top:1.5rem}}@media(max-width:400px){.tl-index .tl-group__head{flex-wrap:wrap;row-gap:.25rem}.tl-index .tl-group__head .kf-label:first-child{min-width:auto;flex:auto}.tl-index .tl-group__n{margin-left:auto}}@media(max-width:380px){.tl-index .tl-t{font-size:14.4px}.tl-index .tl-t--hi{font-size:15.4px}.tl-index~.mobile-cta-bar .mobile-cta-link{font-size:.875rem}.tl-index .tl-viz{padding-left:8px;padding-right:8px}}