.software-emblem{width:56px;height:56px;color:var(--muted);background:#fff;border-radius:12px;flex:none;font-size:25px;font-weight:600}.software-emblem img{object-fit:contain;border-radius:0;width:86%;height:86%}.software-artwork{background:var(--artwork-wash,#f0edf5);justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.software-artwork-image{width:100%;height:100%;display:block}.software-artwork.media-fit-contain .software-artwork-image{object-fit:contain}.software-artwork.media-fit-cover .software-artwork-image{object-fit:cover}.software-artwork.compact{aspect-ratio:2;width:100%;padding:20px 22px 0}.software-artwork-fallback{width:100%;height:100%;color:var(--ink);background-color:#f0edf5;background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:22px;display:flex}.software-artwork-fallback>span{letter-spacing:-.035em;overflow-wrap:anywhere;text-align:center;background:rgba(255,255,255,.93);border-radius:6px;padding:5px 14px;font-size:clamp(26px,4vw,42px);font-weight:650}.software-kinds{flex-wrap:wrap;gap:8px;margin:0 0 32px;display:flex}.software-kinds a{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;min-height:43px;padding:10px 16px;font-size:14px;display:flex}.software-kinds a[aria-current=true],.software-kinds a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}.software-kinds a:hover{border-color:var(--accent)}.software-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.software-section-heading h2,.software-directory-heading h2{letter-spacing:-.025em;font-size:24px;line-height:1.4}.software-section-heading p,.software-directory-heading>div>p{color:var(--muted);word-break:keep-all;margin-top:8px;font-size:14px;line-height:1.7}.software-section-heading>.text-link{flex:none;font-size:13px}.software-example-grid{grid-template-columns:repeat(var(--software-example-columns,3),minmax(0,1fr));gap:22px;display:grid}.software-example{border:1px solid var(--line);background:var(--paper);border-radius:13px;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.software-example:hover{border-color:#aaa1c6;box-shadow:0 8px 24px rgba(52,39,85,.043)}.software-example-copy{flex-direction:column;flex:1;gap:14px;min-width:0;padding:22px;display:flex}.software-example-name{align-items:center;gap:10px;min-width:0;display:flex}.software-example-name h3{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:23px}.software-example-copy>p{color:var(--muted);-webkit-line-clamp:3;word-break:keep-all;-webkit-box-orient:vertical;font-size:15px;line-height:1.7;display:-webkit-box;overflow:hidden}.software-example-points{flex-wrap:wrap;gap:6px;display:flex}.software-example-points>span{color:#51456b;text-overflow:ellipsis;white-space:nowrap;background:#f3f0f9;border-radius:4px;max-width:100%;padding:4px 7px;font-size:11px;overflow:hidden}.software-example-copy>.text-link{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:14px;font-size:13px}.software-all{margin-top:54px;scroll-margin-top:100px}.software-family-index{border-top:1px solid var(--line);margin-top:38px;padding:26px 0}.software-family-index .software-section-heading h2{font-size:20px}.software-family-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.software-family-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-direction:column;gap:18px;min-width:0;padding:24px;display:flex}.software-family-anchor{border-radius:6px;align-items:center;gap:12px;min-width:0;display:flex}.software-family-anchor>div{flex:1;min-width:0}.software-family-anchor>svg{color:var(--muted);flex:none}.software-family-anchor .software-emblem{border:1px solid var(--line);border-radius:9px;width:44px;height:44px;font-size:22px}.software-family-row h3{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:21px;line-height:1.4}.software-family-overline{color:var(--muted);margin-bottom:4px;font-size:11px;line-height:1.5;display:block}.software-family-description,.software-family-unregistered p{color:var(--muted);word-break:keep-all;overflow-wrap:anywhere;margin-top:12px;font-size:13px;line-height:1.7}.software-family-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.software-family-related{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.software-family-related>.software-family-overline{margin-bottom:9px}.software-family-members{flex-wrap:wrap;align-content:flex-start;gap:7px;min-width:0;display:flex}.software-family-members a{border:1px solid var(--line);background:var(--wash);overflow-wrap:anywhere;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;min-height:37px;padding:7px 10px;font-size:13px;line-height:1.45;display:flex}.software-family-members a:hover{border-color:var(--accent);background:var(--wash)}.software-family-members a[aria-current=page]{border-color:var(--accent);background:var(--wash);font-weight:600}.software-family-anchor:hover h3{color:var(--accent)}.software-family-anchor[aria-current=page]{outline:1px solid var(--accent);outline-offset:5px}.software-family-members a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.software-family-anchor:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.software-family-single{grid-template-columns:1fr}.software-family-single .software-family-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px;display:grid}.software-family-single .software-family-related{border-top:0;border-left:1px solid var(--line);margin:0;padding:0 0 0 24px}.software-family-footnote{color:var(--muted);margin-top:12px;font-size:11px;line-height:1.7}.software-directory-heading{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.software-directory-heading .catalog-search-form{flex:none;gap:8px;margin:0}.software-directory-heading .search-box{width:260px;min-width:0}.software-directory-heading input{width:100%;min-width:0}.software-catalog-page .catalog-results-heading{align-items:center;gap:15px;margin:24px 0 12px;font-size:13px;display:flex}.software-catalog-page .directory-result-count{color:var(--muted);font-size:13px}.software-directory-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;display:grid}.software-directory-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;min-width:0;padding:22px 6px;transition:background .15s;display:flex}.software-directory-item:hover{background:var(--wash)}.software-directory-item>.software-emblem{border:1px solid var(--line);border-radius:10px}.software-directory-copy{flex:1;min-width:0}.software-directory-name{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px;display:flex}.software-directory-name h3{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:19px;line-height:1.4}.software-family{border:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:400;line-height:1.4;display:inline-block}.software-directory-copy>.catalog-kind{color:var(--accent);font-size:11px}.software-directory-copy>p{color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.software-directory-item>svg{color:var(--muted);flex:none;margin-top:12px}.catalog-next{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;padding:30px 0 14px;display:grid}.catalog-next h2{margin-bottom:9px;font-size:19px}.catalog-next p{color:var(--muted);margin-bottom:14px;font-size:15px;line-height:1.75}.catalog-next .text-link{font-size:14px}.catalog-contribution-links{flex-wrap:wrap;gap:20px;display:flex}main.software-detail-page{max-width:1200px}.software-product-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:56px;margin:36px 0 46px;display:grid}.software-summary{min-width:0}.software-heading{align-items:center;gap:18px;min-width:0;margin-bottom:20px;display:flex}.software-heading>div{min-width:0}.software-heading>.software-emblem{width:76px;height:76px}.software-heading h1{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(32px,3.7vw,46px);line-height:1.15}.software-status{color:var(--muted);font-size:13px;font-weight:500;line-height:1.5;display:inline-block}.software-heading .software-status{margin-top:8px;font-size:16px}[data-inactive=true] h1,[data-inactive=true] h3,[data-inactive=true]>.software-family-member-name{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}[data-inactive=true]>.software-emblem{filter:grayscale();opacity:.65}.software-eyebrow{color:var(--muted);margin-bottom:9px;font-size:12px}.software-summary .software-categories{align-items:center;gap:8px;margin:0 0 22px;font-size:13px}.software-summary .software-categories a{background:var(--wash);border-radius:5px;padding:6px 10px}.software-lead{letter-spacing:-.02em;word-break:keep-all;overflow-wrap:anywhere;font-size:20px;line-height:1.65}.software-description-jump{color:var(--muted);text-underline-offset:3px;margin-top:12px;font-size:12px;text-decoration:underline;display:inline-block}.software-description p,.software-description .rich-description{color:var(--muted);overflow-wrap:anywhere;word-break:keep-all;font-size:16px;line-height:1.85}.software-description .rich-description p{margin-block:0 12px}.software-primary-actions{flex-direction:column;align-items:flex-start;gap:17px;margin-top:25px;display:flex}.software-primary-actions .primary-button{white-space:normal;text-align:center;justify-content:center;min-height:47px;font-size:15px}.software-primary-actions .text-link{font-size:14px}.software-join-note{color:var(--muted);word-break:keep-all;max-width:32em;margin-top:20px;font-size:12px;line-height:1.7}.software-product-visual{min-width:0;margin:0}.software-product-visual .software-artwork{border:1px solid var(--line);border-radius:16px;height:390px}.software-product-visual figcaption{color:var(--muted);justify-content:space-between;gap:14px;margin-top:10px;font-size:11px;line-height:1.6;display:flex}.software-product-visual figcaption a{text-underline-offset:3px;flex:none;text-decoration:underline}.software-use{border-top:1px solid var(--line);margin:0 0 38px;padding-top:28px}.software-use-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;display:grid}.software-use-grid article{border-left:2px solid #d4ccea;min-width:0;padding:0 0 0 18px}.software-use-number{letter-spacing:.08em;color:var(--accent);margin-bottom:12px;font-size:11px;display:block}.software-use-grid h3{letter-spacing:-.02em;word-break:keep-all;overflow-wrap:anywhere;font-size:18px;line-height:1.55}.software-use-grid p{color:var(--muted);word-break:keep-all;overflow-wrap:anywhere;margin-top:9px;font-size:14px;line-height:1.8}.software-reference-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 280px;gap:64px;margin-top:38px;padding-top:30px;display:grid}.software-details-copy{min-width:0}.software-details-copy h2{letter-spacing:-.025em;margin-bottom:18px;scroll-margin-top:100px;font-size:20px}.software-details-copy .software-features{border-top:1px solid var(--line);margin:30px 0 0;padding-top:24px}.software-details-copy .software-features ul{grid-template-columns:1fr;gap:12px;display:grid}.software-details-copy .software-features li{overflow-wrap:anywhere;font-size:15px;line-height:1.8}.software-reference-facts{min-width:0}.software-reference-facts h2{margin-bottom:20px;font-size:15px}.software-reference-facts dt{color:var(--muted);margin-top:17px;font-size:12px}.software-reference-facts dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:14px;line-height:1.7}.software-reference-facts small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.software-reference-facts>.text-link{margin-top:20px;font-size:12px}.software-context{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;margin-top:38px;padding:28px 0;display:flex}.software-context h2{letter-spacing:-.02em;margin-bottom:8px;font-size:18px;line-height:1.5}.software-context p{color:var(--muted);font-size:14px;line-height:1.7}.software-context>.text-link{flex-shrink:0;font-size:14px}.software-detail-page .software-contribute{margin-top:8px;padding-top:24px}.software-contribute>div>p{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:600}.software-contribute>div>span{color:var(--muted);font-size:12px}.software-detail-page .software-contribute .text-link{font-size:13px}.software-example:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.software-directory-item:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.software-kinds a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media (width<=1000px){.software-directory-heading{flex-direction:column;align-items:flex-start;gap:18px}.software-example-grid{gap:16px}.software-example-copy{padding:18px}.software-product-hero{gap:30px}.software-product-visual .software-artwork{height:340px}.software-reference-grid{grid-template-columns:minmax(0,1fr) 220px;gap:32px}.software-context{flex-direction:column;align-items:flex-start;gap:16px}}@media (width<=740px){.software-family-rows{grid-template-columns:1fr}.software-family-row{padding:20px}.software-family-single .software-family-row{gap:18px;display:flex}.software-family-single .software-family-related{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.software-example-grid{grid-template-columns:1fr}.software-example{grid-template-columns:160px minmax(0,1fr);display:grid}.software-example .software-artwork{aspect-ratio:auto;height:100%}.software-example-copy{gap:12px}.software-example-points{display:none}.software-example-name h3{font-size:20px}.software-section-heading{flex-direction:column;align-items:flex-start;gap:12px}.software-directory-grid{grid-template-columns:1fr}.software-product-hero{grid-template-columns:1fr;gap:28px;margin:28px 0 32px}.software-product-visual .software-artwork{height:300px}.software-primary-actions{flex-flow:wrap;align-items:center}.software-reference-grid{grid-template-columns:1fr;gap:28px}.software-reference-facts{border-top:1px solid var(--line);padding-top:24px}.software-use-grid{grid-template-columns:1fr;gap:24px}.software-use-number{float:left;margin:3px 12px 0 0}.software-use-grid p{margin-top:7px}.software-heading h1{font-size:36px}.catalog-next{grid-template-columns:1fr;gap:28px}}@media (width<=540px){.software-kinds{gap:7px}.software-kinds a{min-height:40px;padding:9px 11px;font-size:12px}.software-example{grid-template-columns:1fr}.software-example .software-artwork{aspect-ratio:2.4;height:auto}.software-example-copy{padding:20px}.software-example-name h3{font-size:23px}.software-directory-heading .catalog-search-form{width:100%}.software-directory-heading .search-box{flex:1;width:auto}.software-directory-item{gap:10px;padding:20px 0}.software-directory-item>.software-emblem{width:36px!important;height:36px!important}.software-directory-name h3{font-size:18px}.software-directory-item>svg{width:14px}.software-section-heading h2,.software-directory-heading h2{font-size:22px}.software-heading{gap:14px}.software-heading>.software-emblem{width:62px;height:62px}.software-heading h1{font-size:32px}.software-lead{font-size:19px}.software-primary-actions{flex-direction:column;align-items:stretch}.software-primary-actions .primary-button{width:100%}.software-product-visual .software-artwork{border-radius:12px;height:260px}}@media (prefers-reduced-motion:reduce){.software-example,.software-directory-item{transition:none}}.software-image-link{cursor:zoom-in;border-radius:16px;display:block}.software-image-link:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.software-details-copy>.software-features:first-child{border-top:0;margin-top:0;padding-top:0}.software-artwork.compact:has(>.software-artwork-fallback){padding:0}.software-lead .software-description p,.software-lead .rich-description{color:var(--ink);font-size:20px;line-height:1.65}.software-reference-compact{grid-template-columns:1fr}.software-reference-compact>.software-details-copy{display:none}.software-reference-compact .software-reference-facts dl{grid-template-columns:110px minmax(0,1fr);gap:12px 22px;display:grid}.software-reference-compact .software-reference-facts dt,.software-reference-compact .software-reference-facts dd{margin:0}@media (width<=740px){.software-example-points{display:flex}.software-reference-compact .software-reference-facts{border:0;padding:0}}@media (width<=540px){.software-lead .software-description p,.software-lead .rich-description{font-size:19px}}