*{box-sizing:border-box}html{font-family:var(--font);color:var(--text);background:var(--surface);font-size:var(--body-size);line-height:1.6}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:.2em;text-decoration:underline}a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{max-width:100%;height:auto;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.6px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,var(--heading-size));letter-spacing:-.035em;line-height:1.15}h2{letter-spacing:-.02em;font-size:1.25rem;line-height:1.35}h3{font-size:1rem;line-height:1.35}.container{width:min(calc(100% - 3rem),var(--content-width));margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--raised);padding:.75rem 1rem;position:absolute;inset-block-start:-5rem;inset-inline-start:1rem}.skip-link:focus{inset-block-start:1rem}.preview-notice{text-align:center;background:var(--text);color:var(--surface);letter-spacing:.025em;padding:.5rem 1rem;font-size:.72rem}.site-header{background:var(--raised);border-bottom:1px solid var(--border)}.header-inner{align-items:center;gap:2.5rem;min-height:88px;display:flex}.wordmark{letter-spacing:-.04em;flex-shrink:0;align-items:center;gap:.65rem;font-size:1.1rem;font-weight:750;display:inline-flex}.wordmark img{object-fit:contain;border-radius:6px}.header-links{gap:1.6rem;margin:0;padding:0;font-size:.85rem;font-weight:550;list-style:none;display:flex}.header-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:225px;color:var(--muted);align-items:center;gap:.6rem;margin-inline-start:auto;padding:.5rem .75rem;display:flex}.header-search input{width:100%;min-width:0;font:inherit;color:var(--text);background:0 0;border:0;font-size:.8rem}.page-main{padding-block:2rem 5rem}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:.65rem;margin:0 0 2.4rem;padding:0;font-size:.75rem;list-style:none;display:flex}.breadcrumbs li{gap:.65rem;display:flex}.breadcrumbs li:last-child{color:var(--text)}.identity-heading{align-items:center;gap:1.4rem;max-width:850px;display:flex}.tool-logo{border:1px solid var(--border);background:var(--raised);border-radius:calc(var(--radius)*1.3);object-fit:contain;flex-shrink:0;padding:.65rem}.tool-summary{color:var(--muted);max-width:660px;margin-block-start:.55rem;font-size:1rem;line-height:1.65}.taxonomy-chips{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem;padding:0;list-style:none;display:flex}.taxonomy-chip{border:1px solid var(--border);background:var(--raised);color:var(--muted);border-radius:5px;padding:.3rem .65rem;font-size:.72rem}.taxonomy-chip.is-inferred{border-style:dashed}.tool-detail-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:2rem;display:grid}.tool-main-column{min-width:0}.screenshot-gallery{margin-block-end:2.5rem}.main-capture{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);margin:0;overflow:hidden}.main-capture>a{display:block}.main-capture img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%}.main-capture figcaption{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.72rem;display:flex}.capture-label{color:var(--text);font-weight:650}.capture-thumbnails{flex-wrap:wrap;gap:1rem;margin-block-start:1rem;display:flex}.capture-thumbnails figure{width:160px;margin:0}.capture-thumbnails img{aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:5px;width:100%}.capture-thumbnails figcaption{color:var(--muted);margin-block-start:.35rem;font-size:.66rem}.tool-facts{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.tool-facts-column{position:sticky;top:1.5rem}.small-label{color:var(--muted);letter-spacing:.01em;font-size:.7rem;font-weight:600;display:block}.pricing-label strong{margin-block:.25rem .3rem;font-size:1.2rem;font-weight:650;display:block}.pricing-label p{color:var(--muted);font-size:.74rem;line-height:1.65}.vendor-button{background:var(--action);color:var(--action-text);border-radius:calc(var(--radius)*.6);justify-content:center;align-items:center;gap:.7rem;margin-block:1.2rem 1.5rem;padding:.8rem 1rem;font-size:.85rem;font-weight:600;display:flex}.vendor-button:hover{filter:brightness(.94);text-decoration:none}.tool-facts dl{border-top:1px solid var(--border);margin:0;padding-block-start:.4rem}.tool-facts dl>div{justify-content:space-between;gap:1rem;padding-block:.65rem;font-size:.75rem;display:flex}.tool-facts dt{color:var(--muted)}.tool-facts dd{text-align:end;margin:0;font-weight:550}.source-note{border-top:1px solid var(--border);margin-block-start:.7rem;padding-block-start:1rem}.source-note p{margin-block:.2rem;font-size:.75rem}.source-note a{color:var(--action);font-size:.72rem}.tool-overview{max-width:720px}.prose{color:var(--muted);margin-block-start:1rem;font-size:.9rem}.prose p{margin-block-end:1rem}.prose h2,.prose h3{color:var(--text);margin-block:1.7rem .7rem}.prose a{color:var(--action);text-decoration:underline}.prose ul,.prose ol{padding-inline-start:1.2rem}.prose img{object-fit:contain;max-height:500px}.capability-section{margin-block-start:2.2rem}.capabilities{grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem;margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.capabilities li{gap:.7rem;display:flex}.capability-mark{color:var(--action);padding-block-start:.1rem;font-size:.85rem}.capabilities h3{font-size:.85rem;font-weight:600}.capabilities p{color:var(--muted);margin-block-start:.25rem;font-size:.78rem;line-height:1.7}.related-section{border-top:1px solid var(--border);margin-block-start:3.5rem;padding-block-start:2rem}.related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-block-start:1.2rem;display:grid}.tool-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);overflow:hidden}.card-capture{background:var(--surface);border-bottom:1px solid var(--border);display:block}.card-capture img{aspect-ratio:16/9;object-fit:cover;object-position:top;width:100%}.card-content{padding:1.15rem}.card-identity{align-items:center;gap:.65rem;display:flex}.card-identity img{border:1px solid var(--border);object-fit:contain;border-radius:7px;padding:.25rem}.card-content>p{color:var(--muted);min-height:2.7em;margin-block:.75rem 1.1rem;font-size:.78rem}.card-bottom{justify-content:space-between;align-items:center;gap:.7rem;font-size:.7rem;display:flex}.card-bottom>span{color:var(--muted)}.card-bottom>a{color:var(--action);font-weight:600}.site-footer{background:var(--raised);border-top:1px solid var(--border);padding-block:3rem}.footer-inner{justify-content:space-between;gap:5rem;display:flex}.footer-brand{max-width:285px}.footer-brand p{color:var(--muted);margin-block-start:1rem;font-size:.8rem;line-height:1.8}.footer-groups{gap:5rem;min-width:45%;display:flex}.footer-groups h2{margin-block-end:1rem;font-size:.8rem;font-weight:650}.footer-groups ul{color:var(--muted);gap:.55rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}@media (width<=1000px){.header-inner{gap:1.5rem}.header-search{width:185px}.header-links{gap:1rem}.tool-detail-grid{grid-template-columns:minmax(0,1fr) 270px;gap:1.5rem}.footer-inner,.footer-groups{gap:3rem}}@media (width<=760px){.container{width:calc(100% - 2rem)}.header-inner{flex-wrap:wrap;gap:1rem;padding-block:1rem}.header-inner nav{order:3;width:100%}.header-links{justify-content:space-between;gap:.65rem;font-size:.75rem}.header-search{width:155px}.wordmark{font-size:1rem}.page-main{padding-block:1.5rem 3rem}.breadcrumbs{margin-block-end:1.6rem;font-size:.68rem}.identity-heading{align-items:flex-start;gap:1rem}.tool-logo{width:60px;height:60px;padding:.45rem}.tool-summary{font-size:.9rem}.taxonomy-chips{margin-block:1rem 1.5rem}.tool-detail-grid{flex-direction:column;gap:2rem;display:flex}.tool-main-column,.tool-facts-column{width:100%}.tool-facts-column{order:-1;position:static}.tool-facts{padding:1.2rem}.tool-facts dl{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.tool-facts dl>div{flex-direction:column;gap:.15rem}.tool-facts dd{text-align:start}.source-note{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.source-note p{margin:0}.source-note .small-label{width:100%}.vendor-button{margin-block:1rem}.capabilities,.related-grid{grid-template-columns:1fr}.card-content>p{min-height:0}.footer-inner{flex-direction:column;gap:2rem}.footer-groups{justify-content:space-between;gap:2rem;min-width:0}.footer-brand{max-width:100%}.preview-notice{font-size:.63rem}.main-capture img{aspect-ratio:16/10}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.mobile-navigation{display:none}.desktop-navigation{min-width:0}@media (width<=760px){.header-inner{grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding-block:1rem;display:grid}.desktop-navigation{display:none}.mobile-navigation{display:block;position:relative}.mobile-navigation summary{cursor:pointer;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem;font-size:.88rem}.mobile-navigation nav{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:13rem;padding:.8rem;position:absolute;top:100%;right:0}.mobile-navigation .header-links{flex-direction:column;align-items:stretch;gap:0;font-size:.92rem;display:flex}.mobile-navigation .header-links a{padding:.7rem;display:block}.header-inner .header-search{grid-column:1/-1;width:100%;margin:0}.header-search input{width:100%;min-width:0}.wordmark{min-width:0}.wordmark span{overflow-wrap:anywhere}}.directory-search-hero{text-align:center;max-width:54rem;margin:1rem auto 3.5rem}.directory-search-hero h1{letter-spacing:-.035em;margin:1rem 0;font-size:clamp(2.15rem,5vw,3.65rem);line-height:1.1}.hero-description{max-width:42rem;color:var(--muted);margin:0 auto 1.7rem;font-size:1.12rem;line-height:1.7}.directory-search-form{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);gap:.65rem;max-width:44rem;margin:auto;padding:.65rem;display:flex}.directory-search-form input{width:100%;min-width:0;font:inherit;color:var(--text);background:0 0;border:0;padding:.65rem .8rem}.directory-search-form button{border-radius:calc(var(--radius)*.65);background:var(--action);color:var(--action-text);font:inherit;white-space:nowrap;border:0;padding:.8rem 1.3rem}.directory-browse-layout{grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:2.6rem;display:grid}.directory-filter-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.25rem}.filter-heading{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.filter-heading h2{font-size:1rem}.filter-heading button{font:inherit;color:var(--action);cursor:pointer;background:0 0;border:0;font-size:.8rem}.directory-filter-bar fieldset{border:0;border-top:1px solid var(--border);margin:1rem 0;padding:1.1rem 0 0}.directory-filter-bar legend{padding-top:.9rem;font-size:.9rem;font-weight:600}.directory-filter-option{color:var(--muted);align-items:start;gap:.55rem;padding:.35rem 0;font-size:.88rem;display:flex}.directory-filter-option input{accent-color:var(--action);margin-top:.25rem}.grid-introduction{margin-bottom:1.5rem}.grid-introduction h2{margin:0 0 .5rem;font-size:1.5rem}.grid-introduction p{color:var(--muted);margin:.5rem 0}.directory-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));gap:1.4rem;display:grid}.directory-card-grid .tool-card{height:100%}.directory-card-grid [hidden]{display:none}.directory-category-navigation{margin-bottom:3.2rem}.directory-category-navigation h2{font-size:1.5rem}.category-link-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}.category-link-grid a{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);padding:1.25rem 2rem 1.25rem 1.25rem;text-decoration:none;position:relative}.category-link-grid strong{font-size:1rem}.category-link-grid p{color:var(--muted);margin:.6rem 0 0;font-size:.88rem;line-height:1.6}.category-link-grid span{color:var(--action);position:absolute;top:1rem;right:1rem}.directory-information{max-width:48rem;margin:1rem auto 4rem}.directory-information nav ol{gap:1rem;padding:0;font-size:.9rem;list-style:none;display:flex}.directory-information header{margin:2rem 0 2.3rem}.directory-information h1{letter-spacing:-.025em;font-size:clamp(2rem,4vw,3rem)}.directory-information header>p{color:var(--muted);font-size:1.12rem;line-height:1.75}@media (width<=760px){.directory-browse-layout{grid-template-columns:1fr;gap:1.7rem}.directory-filter-bar fieldset{vertical-align:top;margin-right:1.5rem;display:inline-block}.directory-search-hero{margin-bottom:2rem}.directory-card-grid{gap:1rem}}@media (width<=430px){.directory-search-form{gap:.2rem;padding:.4rem}.directory-search-form button{padding:.65rem .8rem}.directory-search-form input{padding:.65rem .5rem}.category-link-grid{grid-template-columns:1fr}.directory-filter-bar fieldset{margin-right:0;display:block}}.compact-directory-heading .directory-search-hero{text-align:left;max-width:none;margin:0 0 1.8rem}.compact-directory-heading .directory-search-hero h1{margin:.5rem 0;font-size:clamp(1.8rem,3.5vw,2.5rem)}.compact-directory-heading .hero-description{max-width:48rem;margin:0 0 1rem;font-size:1rem;line-height:1.6}.compact-directory-heading .directory-search-form{max-width:44rem;margin:0}.directory-information nav ol{flex-wrap:wrap;gap:.5rem}.directory-information nav li{gap:.5rem;display:flex}.site-header .wordmark{font-size:calc(var(--body-size)*1.3);letter-spacing:-.045em;white-space:nowrap;font-weight:800}.site-header .wordmark img{object-fit:contain;width:auto;max-width:9rem;height:2.5rem}.header-inner:not(:has(.header-search)){justify-content:space-between}.image-background-hero{isolation:isolate;min-height:var(--hero-height);background:var(--surface);border-block-end:1px solid var(--border);position:relative;overflow:hidden}.image-hero-inner{z-index:2;min-height:var(--hero-height);padding-block:calc(var(--space)*3.5);align-items:center;display:flex;position:relative}.image-hero-content{max-width:var(--hero-content-width);width:100%}.image-hero-content h1{letter-spacing:-.055em;margin:0 0 calc(var(--space)*1.25);text-wrap:balance;font-size:clamp(2.5rem,4.2vw,4rem);font-weight:750;line-height:1.04}.image-hero-description{font-size:calc(var(--body-size)*1.15);max-width:32rem;margin:0 0 calc(var(--space)*1.7);color:var(--muted);text-wrap:pretty;line-height:1.6}.image-hero-art{z-index:-2;opacity:var(--hero-image-opacity);pointer-events:none;position:absolute;inset:0 0 0 43%}.image-hero-primary{border-radius:calc(var(--radius)*1.1);box-shadow:0 1.5rem 4rem color-mix(in srgb,var(--text) 18%,transparent);border:1px solid var(--border);background:var(--raised);display:block;position:absolute;inset:8% -8% 7% 8%;overflow:hidden;transform:rotate(-5deg)}.image-hero-primary img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.image-hero-support{object-fit:cover;border:1px solid var(--border);border-radius:var(--radius);width:54%;height:40%;box-shadow:0 1rem 3rem color-mix(in srgb,var(--text) 18%,transparent);display:block;position:absolute}.image-hero-support-1{inset-block-start:1%;inset-inline-end:-7%;transform:rotate(8deg)}.image-hero-support-2{inset-block-end:-4%;inset-inline-start:5%;transform:rotate(-9deg)}.image-hero-shade{z-index:-1;background:linear-gradient(90deg,var(--surface) 0%,var(--surface) 31%,color-mix(in srgb,var(--surface) calc(var(--hero-overlay)*100%),transparent) 43%,transparent 70%);pointer-events:none;position:absolute;inset:0}.image-hero-search{align-items:center;gap:calc(var(--space)*.7);background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);padding:calc(var(--space)*.5);box-shadow:0 .3rem 1.1rem color-mix(in srgb,var(--text) 5%,transparent);display:flex}.image-hero-search svg{fill:none;stroke:var(--muted);stroke-width:1.6px;flex:none;margin-inline-start:calc(var(--space)*.5)}.image-hero-search input{color:var(--text);font:inherit;outline-offset:4px;background:0 0;border:0;flex:1;min-width:0;padding:.65rem 0}.image-hero-search button{border-radius:calc(var(--radius)*.6);background:var(--action);color:var(--action-text);font:inherit;cursor:pointer;border:0;padding:.85rem 1.4rem;font-weight:650}.hero-shortcuts{gap:calc(var(--space)*.5);margin:calc(var(--space)*1.2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.hero-shortcuts a{border:1px solid var(--border);background:color-mix(in srgb,var(--raised) 85%,transparent);color:var(--text);border-radius:999px;align-items:center;gap:.8rem;padding:.4rem .75rem;font-size:.82rem;text-decoration:none;display:inline-flex}.hero-shortcuts a:hover{border-color:var(--action);color:var(--action)}.hero-align-center .image-hero-inner{text-align:center;justify-content:center}.hero-align-center .hero-shortcuts{justify-content:center}.hero-align-right .image-hero-inner{text-align:end;justify-content:flex-end}.hero-align-right .hero-shortcuts{justify-content:flex-end}.category-grid-section{padding-block:calc(var(--space)*3.5)}.category-grid-section>h2{margin:0 0 calc(var(--space)*2);font-size:calc(var(--body-size)*1.7);letter-spacing:-.035em;font-weight:700}.category-heading-center>h2{text-align:center}.category-heading-left>h2{text-align:start}.category-card-grid{gap:calc(var(--space)*1.1);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.category-card{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);min-width:0;color:var(--text);text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .15s;display:block;overflow:hidden}.category-card:hover{border-color:var(--action);box-shadow:0 .5rem 1.7rem color-mix(in srgb,var(--text) 8%,transparent);transform:translateY(-2px)}.category-card-image{aspect-ratio:8/5;background:var(--surface);overflow:hidden}.category-card-image img{object-fit:cover;width:100%;height:100%;display:block}.category-card-copy{padding:calc(var(--space)*.9);padding-inline-end:calc(var(--space)*2);position:relative}.category-card h3{font-size:var(--body-size);letter-spacing:-.02em;margin:0 0 .35rem;font-weight:650;line-height:1.35}.category-card p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.category-card-copy>span{color:var(--action);position:absolute;inset-block-start:calc(var(--space)*.9);inset-inline-end:calc(var(--space)*.9)}.category-grid-action{justify-content:center;margin-block-start:calc(var(--space)*2);display:flex}.category-grid-action>a{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);color:var(--text);align-items:center;gap:1.5rem;padding:.8rem 1.15rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.category-grid-action>a:hover{border-color:var(--action);color:var(--action)}.image-hero-search :focus-visible,.hero-shortcuts a:focus-visible,.category-card:focus-visible,.category-grid-action>a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}@media (width<=1024px){.category-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-hero-art{inset-inline-start:38%}.image-hero-content{max-width:min(var(--hero-content-width),65%)}}@media (width<=640px){.image-background-hero,.image-hero-inner{min-height:var(--hero-mobile-height)}.image-hero-inner{padding-block:calc(var(--space)*2.5);align-items:flex-start}.image-hero-content{max-width:100%}.image-hero-content h1{max-width:21rem;font-size:clamp(2.25rem,10vw,3rem)}.image-hero-description{max-width:22rem;font-size:var(--body-size)}.image-hero-art{opacity:var(--hero-image-opacity);inset:41% -22% -12% 8%}.image-hero-shade{background:linear-gradient(180deg,var(--surface) 0%,var(--surface) 43%,color-mix(in srgb,var(--surface) calc(var(--hero-overlay)*100%),transparent) 56%,transparent 82%)}.image-hero-search{gap:.35rem}.image-hero-search button{padding:.8rem 1rem}.image-hero-search svg{display:none}.image-hero-search input{padding-inline-start:.45rem;font-size:.9rem}.hero-shortcuts{gap:.4rem}.hero-shortcuts a{gap:.5rem;padding:.35rem .65rem;font-size:.75rem}.category-grid-section{padding-block:calc(var(--space)*2.5)}.category-grid-section>h2{font-size:calc(var(--body-size)*1.5);margin-block-end:calc(var(--space)*1.5)}.category-card-grid{gap:calc(var(--space)*.75);grid-template-columns:repeat(2,minmax(0,1fr))}.category-card-copy{padding:.75rem;padding-inline-end:1.5rem}.category-card h3{font-size:.9rem}.category-card-copy>span{inset-block-start:.75rem;inset-inline-end:.6rem}.category-card p{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.category-card{transition:none}.category-card:hover{transform:none}}.homepage-main{padding:0}.homepage-followup{padding-block-end:calc(var(--space)*3)}.hero-attribution{z-index:3;max-width:min(30rem,90%);color:var(--muted);background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:calc(var(--radius)*.4);align-items:baseline;gap:.7rem;padding:.3rem .5rem;font-size:.65rem;display:flex;position:absolute;inset-block-end:.7rem;inset-inline-end:calc(var(--space)*1.25)}.hero-attribution>a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.hero-attribution details{position:relative}.hero-attribution summary{cursor:pointer;white-space:nowrap}.hero-attribution pre{white-space:pre-wrap;width:min(32rem,85vw);max-height:14rem;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);color:var(--text);box-shadow:0 .5rem 2rem color-mix(in srgb,var(--text) 12%,transparent);padding:1rem;font-size:.75rem;line-height:1.5;position:absolute;inset-block-end:1.5rem;inset-inline-end:0;overflow:auto}:root{--section-gap:var(--theme-section-gap,calc(var(--space)*1.5));--card-gap:var(--theme-card-gap,var(--space));--card-shadow:var(--theme-shadow,none)}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.heading-center>.grid-introduction,.heading-center>h2,.heading-center>p{text-align:center}.heading-left>.grid-introduction,.heading-left>h2,.heading-left>p{text-align:start}.collection-grid-section{margin-block:var(--section-gap)}.collection-grid-section>h2,.directory-tool-grid h2{font-size:clamp(1.5rem,2.5vw,2rem)}.collection-grid-section>p,.grid-introduction>p{color:var(--muted);margin-block-start:calc(var(--space)*.3)}.collection-card-grid{grid-template-columns:repeat(var(--section-columns,2),minmax(0,1fr));gap:var(--card-gap);margin-block-start:var(--space);display:grid}.collection-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);min-width:0;box-shadow:var(--card-shadow);transition:transform var(--motion-duration,.16s) var(--motion-easing,ease),box-shadow var(--motion-duration,.16s) var(--motion-easing,ease);display:flex;overflow:hidden}.collection-card:hover{text-decoration:none;transform:translateY(-2px)}.collection-card-image{background:var(--surface);flex:0 0 25%;align-items:center;display:flex}.collection-card-image img{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.collection-card-copy{min-width:0;padding:calc(var(--space)*.75);flex:1;position:relative}.collection-card-copy p{color:var(--muted);margin-block-start:calc(var(--space)*.3);font-size:.88rem}.collection-card-copy>span{color:var(--action);margin-block-start:calc(var(--space)*.35);display:block}.collection-grid-action{text-align:center;margin-block-start:var(--space)}.collection-grid-action a,.collection-exit{color:var(--action);align-items:center;gap:.6em;font-weight:600;display:inline-flex}.collection-exit{margin-block-end:var(--space)}.tool-card-compact .card-identity{align-items:center;gap:calc(var(--space)*.45);display:flex}.tool-card-compact .card-identity h3{flex:1;min-width:0}.tool-card-view{white-space:nowrap;color:var(--action);align-self:flex-start;font-size:.8rem}.tool-card-compact .card-content>p{min-height:0;margin-block:calc(var(--space)*.65);font-size:.88rem}.tool-card-compact .card-content{height:100%;padding:var(--space);flex-direction:column;display:flex}.tool-card-compact{height:100%;box-shadow:var(--card-shadow)}.tool-card-badges{flex-wrap:wrap;gap:.4rem;margin-block-start:auto;display:flex}.tool-card-badges span{border:1px solid var(--border);border-radius:calc(var(--radius)*.6);color:var(--muted);padding:.2rem .5rem;font-size:.72rem}.tool-card-badges .pricing-model{color:var(--action);background:var(--surface)}.directory-card-grid{grid-template-columns:repeat(var(--section-columns,3),minmax(0,1fr));gap:var(--card-gap)}.category-card-grid{grid-template-columns:repeat(var(--section-columns,4),minmax(0,1fr));gap:var(--card-gap)}.active-filter-list{flex-wrap:wrap;gap:.4rem;margin-block-start:.6rem;display:flex}.active-filter-chip{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);cursor:pointer;padding:.3rem .45rem;font-size:.72rem}.related-collections{margin-block-start:var(--section-gap)}.related-collections ul{gap:var(--space);flex-wrap:wrap;padding:0;list-style:none;display:flex}.footer-copyright{border-block-start:1px solid var(--border);padding-block:var(--space);color:var(--muted);font-size:.8rem}.footer-groups{gap:calc(var(--space)*1.5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mega-menu-item{position:relative}.mega-menu-item summary{cursor:pointer;align-items:center;gap:.4rem;padding-block:.8rem;list-style:none;display:flex}.mega-menu-item summary::-webkit-details-marker{display:none}.mega-menu-item summary:after{content:"⌄";font-size:.8em}.mega-panel{z-index:30;background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);gap:var(--space);min-width:16rem;box-shadow:var(--card-shadow);display:flex;position:absolute;inset-block-start:100%;inset-inline-start:-1rem}.mega-panel:before{content:"";height:.8rem;position:absolute;inset-block-start:-.8rem;inset-inline:0}.mega-column{min-width:12rem}.mega-column h2{color:var(--muted);margin-block-end:.6rem;font-size:.75rem}.mega-column ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.mega-column a{border-radius:calc(var(--radius)*.5);padding:.45rem .6rem;display:block}.mega-column a:hover,.mega-column a:focus-visible{background:var(--surface);color:var(--action);text-decoration:none}@media (width<=1000px){.footer-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.mega-panel{min-width:0;box-shadow:none;border:0;border-radius:0;padding:.5rem;display:block;position:static}.mega-column{min-width:0;margin-block-end:1rem}.mobile-navigation nav{max-width:calc(100vw - 3rem);max-height:75vh;overflow:auto}.mobile-navigation .mega-menu-item summary{padding:.7rem}.footer-groups{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.collection-card-copy{padding:calc(var(--space)*.65)}}@media (prefers-reduced-motion:reduce){.collection-card{transition:none}.collection-card:hover{transform:none}}@media (width>=761px){.mega-panel{max-width:min(42rem,100vw - 3rem);inset-inline:auto 0}.mega-menu-item:last-child .mega-panel{inset-inline-end:-1rem}.mega-column{min-width:min(12rem,35vw)}}.collection-grid-action a{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);color:var(--text);padding:.8rem 1.3rem;font-size:.9rem}.collection-grid-action a:hover{background:var(--surface);text-decoration:none}.collection-index-intro{text-align:center;max-width:48rem;margin:0 auto var(--section-gap)}.collection-index-intro p{color:var(--muted);margin-block-start:var(--space)}.tool-card-compact .card-identity img{object-fit:contain;flex-shrink:0}.tool-card-compact .tool-card-view{margin-inline-start:auto}.category-card,.tool-card{box-shadow:var(--card-shadow);transition:transform var(--motion-duration,.16s) var(--motion-easing,ease),box-shadow var(--motion-duration,.16s) var(--motion-easing,ease)}.category-card:hover,.tool-card:hover{box-shadow:var(--card-shadow)}@media (prefers-reduced-motion:reduce){.category-card,.collection-card,.tool-card{transition:none;transform:none}.category-card:hover,.collection-card:hover,.tool-card:hover{transform:none}}.homepage-directory{padding-top:2rem;padding-bottom:3rem}.directory-browse-toolbar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.4rem;display:flex}.directory-browse-toolbar p{margin:0;font-size:.9rem}.directory-browse-toolbar label{color:var(--text);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.directory-browse-toolbar select,.directory-pagination button,.filter-drawer-open,.filter-drawer-apply{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .85rem}.directory-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;margin-top:2rem;display:flex}.directory-pagination[hidden]{display:none}.directory-pagination button{cursor:pointer}.directory-pagination button:disabled{opacity:.45;cursor:default}.directory-pagination span{color:var(--muted);font-size:.9rem}.directory-filter-dialog{background:var(--surface);color:var(--text);border:0;border-radius:0;width:25rem;max-width:min(92vw,25rem);height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;overflow:auto}.directory-filter-dialog::backdrop{background:#00000073}.directory-filter-dialog .directory-filter-bar{border:0;border-radius:0;min-height:100dvh}.filter-drawer-open,.filter-drawer-close,.filter-drawer-apply{display:none}.directory-tool-grid{min-width:0;scroll-margin-top:1.5rem}@media (width<=760px){.directory-browse-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.filter-drawer-open{cursor:pointer;justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.filter-drawer-close{line-height:1;color:var(--text)!important;padding:.3rem!important;font-size:1.7rem!important;display:block!important}.filter-drawer-apply{background:var(--action);width:100%;color:var(--action-text);cursor:pointer;margin-top:1rem;display:block;position:sticky;bottom:0}.directory-filter-dialog .directory-filter-bar fieldset{width:auto;display:block}.directory-filter-dialog .filter-heading{background:var(--surface);z-index:1;padding:.3rem 0;position:sticky;top:0}.directory-filter-dialog .filter-heading h2{margin-right:auto}.directory-browse-toolbar{align-items:flex-start;gap:.8rem}.directory-pagination{gap:.8rem;font-size:.85rem}}.image-hero-inner{padding-block:1.5rem}.image-hero-content h1{margin-bottom:1rem;font-size:clamp(2.25rem,3.2vw,3rem)}.image-hero-description{font-size:var(--body-size);margin-bottom:1rem;line-height:1.5}.homepage-directory{padding-top:1.5rem}.directory-tool-grid .grid-introduction{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.8rem;display:flex}.directory-tool-grid .grid-introduction h2{margin:0}.directory-tool-grid .grid-introduction>p:not([data-directory-results]){flex-basis:100%}.directory-tool-grid [data-directory-results]{color:var(--muted);margin-inline-start:auto;font-size:.9rem}.directory-browse-toolbar{margin-bottom:1rem}@media (width<=640px){.image-hero-inner{padding-block:1.5rem}.image-hero-content h1{font-size:2.25rem}.directory-tool-grid [data-directory-results]{margin-inline-start:0}.directory-browse-toolbar{gap:.5rem}}
