/* Modern software catalog; scoped to this route, dark/light responsive and low-CLS. */
.software-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4.5rem,8vw,8rem) 0 clamp(3.2rem,6vw,5rem);background:radial-gradient(ellipse at 80% 24%,rgba(71,98,196,.23),transparent 55%),radial-gradient(ellipse at 14% 85%,rgba(39,148,192,.1),transparent 45%)}.software-hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);gap:clamp(2rem,6vw,5rem);align-items:end}.software-hero h1{font-weight:950;font-size:clamp(2.5rem,5.8vw,5rem);letter-spacing:-.025em;line-height:1.3;color:#eff4ff;margin:.75rem 0 1rem}.software-hero p{color:#a9bad6;max-width:42rem;font-size:clamp(.96rem,1.5vw,1.13rem);line-height:2.1}.software-hero-features{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.4rem}.software-hero-features>span{border:1px solid rgba(144,174,238,.2);border-radius:99rem;padding:.4rem 1rem;color:#a8c8fb;font-size:.82rem;background:rgba(61,91,158,.12)}.software-search{background:rgba(42,62,102,.22);border:1px solid rgba(139,164,223,.25);border-radius:1.2rem;padding:1.1rem}.software-search label{display:block;font-size:.83rem;font-weight:800;color:#bfd1f4;margin-bottom:.65rem}.software-search>div{display:flex;gap:.6rem}.software-search input{flex:1;min-width:0;background:rgba(9,17,36,.55);border:1px solid rgba(124,153,212,.2);border-radius:.65rem;padding:.7rem 1rem;color:#eef3ff}.software-search button,.software-primary-link,.software-download-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;background:linear-gradient(135deg,#566fe3,#346ec8);color:#fff;font-weight:800;border-radius:.75rem;padding:.84rem 1.15rem;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.software-primary-link:hover,.software-download-link:hover,.software-search button:hover{transform:translateY(-2px);box-shadow:0 9px 28px rgba(58,110,211,.28);color:#fff}.software-section-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.2rem}.software-section-head h2{font-size:clamp(1.65rem,3vw,2.7rem);font-weight:950;color:#eff4ff;line-height:1.4;margin:.6rem 0}.software-section-head p{margin:0;color:#9faec7;line-height:1.9}.software-clear{color:#91b5ff}.software-grid,.software-release-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18.5rem),1fr));gap:1.25rem}.software-card{display:flex;flex-direction:column;overflow:hidden;border-radius:1.35rem;background:linear-gradient(160deg,rgba(30,48,80,.75),rgba(11,23,43,.84));border:1px solid rgba(135,162,218,.19);box-shadow:0 13px 40px rgba(0,0,0,.09)}.software-card-cover{display:block;aspect-ratio:16/9;overflow:hidden}.software-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.software-card-cover:hover img{transform:scale(1.04)}.software-cover-placeholder{width:100%;height:100%;min-height:12rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(130deg,#233f73,#18284d 56%,#363d7a);color:#c9dcff}.software-cover-placeholder i{font-size:4rem}.software-card-body{flex:1;display:flex;flex-direction:column;gap:.85rem;padding:1.35rem}.software-card-eyebrow,.software-card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#8ea7c9;font-size:.77rem}.software-card-eyebrow span{display:inline-flex;align-items:center;gap:.35rem}.software-card h3{font-size:1.3rem;font-weight:850;line-height:1.65;margin:0}.software-card h3 a{color:#edf4ff}.software-card p{color:#a4b2c9;font-size:.9rem;line-height:2;margin:0;flex:1}.software-card-footer{padding-top:1.1rem;border-top:1px solid rgba(145,168,203,.15);margin-top:auto}.software-card-footer a{color:#91b8ff;display:inline-flex;align-items:center;gap:.2rem;font-weight:800}.software-pagination{margin:2rem 0}.software-empty{grid-column:1/-1;min-height:15rem;padding:2.2rem;border:1px dashed rgba(141,165,213,.28);border-radius:1.2rem;display:grid;place-content:center;justify-items:center;text-align:center;gap:.75rem}.software-empty i{font-size:3.3rem;color:#8aafff}.software-empty h2,.software-empty h3{font-size:1.2rem;font-weight:800;color:#e8effe}.software-empty p{color:#a1aec7}.software-empty a{color:#a6c2ff}
.software-hero--detail{padding-top:clamp(2.2rem,4vw,4rem)}.software-breadcrumb{display:flex;gap:.55rem;flex-wrap:wrap;color:#849abb;font-size:.82rem;margin-bottom:2.5rem}.software-breadcrumb a{color:#a8c7fc}.software-detail-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:3.5rem}.software-detail-hero h1{font-size:clamp(2.2rem,5vw,4.3rem)}.software-detail-meta,.software-link-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.3rem}.software-detail-meta span{font-size:.83rem;color:#a1b5d6;display:inline-flex;gap:.35rem;align-items:center}.software-secondary-link{display:inline-flex;gap:.35rem;align-items:center;padding:.75rem 1rem;border:1px solid rgba(148,174,225,.3);border-radius:.75rem;color:#c9d9ff;text-decoration:none}.software-detail-visual{aspect-ratio:16/9;overflow:hidden;border-radius:1.6rem;background:#122445;border:1px solid rgba(138,167,229,.25);box-shadow:0 30px 90px rgba(0,0,0,.22)}.software-detail-visual img{width:100%;height:100%;object-fit:cover}.software-downloads{background:radial-gradient(ellipse at 50% 0,rgba(73,99,190,.08),transparent 70%)}.software-release{min-width:0;border:1px solid rgba(142,169,226,.24);border-radius:1.25rem;padding:1.45rem;display:flex;flex-direction:column;gap:.9rem;background:linear-gradient(160deg,rgba(23,41,73,.85),rgba(9,20,37,.88))}.software-release-top,.software-release-facts{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}.software-platform{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border-radius:10rem;background:rgba(89,126,214,.14);color:#c7d8ff;font-size:.83rem}.software-version{font-family:monospace;font-size:.87rem;color:#a2b9e2}.software-release h3{font-size:1.13rem;font-weight:850;line-height:1.6;color:#eff4ff}.software-changelog{color:#a8b8d2;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;flex:1}.software-release-facts{border-top:1px solid rgba(138,158,200,.15);padding-top:.85rem;color:#a5b8d5;font-size:.86rem}.software-release-facts span{display:inline-flex;gap:.3rem;align-items:center}.software-download-link{margin-top:auto;width:100%}.software-checksum summary{cursor:pointer;color:#a9c8ff;font-size:.82rem}.software-checksum code{display:block;word-break:break-all;text-align:left;font-size:.7rem;color:#bed4f9;margin-top:.6rem}.software-archive-password{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem;border:1px dashed rgba(142,165,219,.35);border-radius:.6rem;font-size:.83rem;color:#acc2e9}.software-archive-password code{word-break:break-all;text-align:left;color:#e1edff}.software-section-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(15rem,.7fr);gap:clamp(1.8rem,4vw,4rem)}.software-content h2{color:#f1f5ff;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;margin:.8rem 0 1.6rem}.software-description-text{color:#b6c4dc;line-height:2.25;font-size:1rem;overflow-wrap:anywhere}.software-aside{align-self:start;border:1px solid rgba(140,168,221,.2);border-radius:1.1rem;background:rgba(40,64,111,.13);padding:1.35rem}.software-aside h3{color:#e7efff;font-size:1.15rem;margin:.8rem 0}.software-aside p{color:#a8b5ca;line-height:2.05}.software-comments{background:rgba(38,60,100,.06)}.software-comment-list{display:grid;gap:1rem;align-content:start}.software-comment{border:1px solid rgba(130,162,221,.2);padding:1.25rem;border-radius:1rem;background:rgba(30,52,89,.17)}.software-comment-head{display:flex;justify-content:space-between;gap:.75rem;color:#d6e3fa}.software-comment-head span{font-size:.8rem;color:#9cacc6}.software-comment p{color:#bbc8db;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.software-comment-form{display:flex;flex-direction:column;gap:.7rem;padding:1.5rem;border-radius:1.2rem;border:1px solid rgba(141,167,226,.25);background:rgba(25,44,79,.25);align-self:start}.software-comment-form h3{color:#f3f6ff;font-size:1.2rem;font-weight:850}.software-comment-form label{color:#d6e2f8;font-weight:750;font-size:.86rem;margin-top:.25rem}.software-comment-form input,.software-comment-form textarea{background:rgba(8,18,35,.45);border:1px solid rgba(141,164,220,.3);color:#e9f1ff;padding:.8rem;border-radius:.7rem;width:100%;min-width:0;resize:vertical}.software-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.software-feedback{border-radius:.7rem;background:rgba(44,166,123,.15);padding:.7rem;color:#a9f5d0}.software-feedback--error{background:rgba(197,70,77,.15);color:#ffc0c5}
html[data-theme="light"] .software-hero h1,html[data-theme="light"] .software-section-head h2,html[data-theme="light"] .software-content h2{color:#172a4c}html[data-theme="light"] .software-hero p,html[data-theme="light"] .software-section-head p,html[data-theme="light"] .software-description-text{color:#445777}html[data-theme="light"] .software-card,html[data-theme="light"] .software-release,html[data-theme="light"] .software-comment-form{background:linear-gradient(140deg,#f6f9ff,#e8f0ff);border-color:#cbdaf0}html[data-theme="light"] .software-card h3 a,html[data-theme="light"] .software-card p,html[data-theme="light"] .software-release h3,html[data-theme="light"] .software-changelog,html[data-theme="light"] .software-comment-form h3,html[data-theme="light"] .software-comment-form label,html[data-theme="light"] .software-aside h3,html[data-theme="light"] .software-aside p{color:#253b62}html[data-theme="light"] .software-card-eyebrow,html[data-theme="light"] .software-card-footer{color:#52698e}html[data-theme="light"] .software-comment-form input,html[data-theme="light"] .software-comment-form textarea{background:#fff;color:#172b4d}html[data-theme="light"] .software-comment{background:#f7faff}html[data-theme="light"] .software-comment-head{color:#213555}html[data-theme="light"] .software-comment p{color:#435a7c}
@media(max-width:920px){.software-hero-inner,.software-detail-hero,.software-section-columns{grid-template-columns:1fr}.software-detail-visual{max-width:46rem}.software-hero{padding-top:3.3rem}.software-search{max-width:38rem}}@media(max-width:640px){.software-detail-hero{gap:2rem}.software-hero-features{gap:.4rem}.software-section-head{align-items:start}.software-link-row a{flex:1;justify-content:center}.software-release{padding:1rem}.software-card-body{padding:1rem}.software-comment-form{padding:1rem}}@media(prefers-reduced-motion:reduce){.software-card-cover img,.software-primary-link,.software-download-link{transition:none!important}.software-card-cover:hover img,.software-primary-link:hover,.software-download-link:hover{transform:none!important}}

.software-admin-reply{margin-top:1rem;padding:1rem;border-radius:.8rem;border-right:3px solid #7598ee;background:rgba(86,118,197,.13)}.software-admin-reply strong{display:inline-flex;gap:.4rem;align-items:center;color:#aac6ff;font-size:.85rem}.software-admin-reply p{margin:.5rem 0 0}
/* Rich software descriptions use the same sanitized semantic HTML as blog posts. */
.software-description-text h2,.software-description-text h3,.software-description-text h4{font-weight:850;color:#eef4ff;line-height:1.65;margin:1.7rem 0 .75rem}
.software-description-text h2{font-size:clamp(1.35rem,2vw,1.85rem)}.software-description-text h3{font-size:1.28rem}.software-description-text h4{font-size:1.07rem}
.software-description-text p{margin:.85rem 0 1.2rem}.software-description-text a{color:#91baff;text-underline-offset:3px}.software-description-text ul,.software-description-text ol{padding-inline-start:1.5rem;margin:1rem 0;list-style-position:outside}.software-description-text ul{list-style-type:disc}.software-description-text ol{list-style-type:decimal}.software-description-text li{margin:.35rem 0}.software-description-text strong{color:#f1f5ff}
.software-description-text img,.software-description-text video{max-width:100%;height:auto;border-radius:.9rem;display:block;margin:1.1rem auto}.software-description-text video{aspect-ratio:16/9;background:#081327}.software-description-text figure{max-width:100%;margin:1.4rem 0;text-align:center}.software-description-text figcaption{font-size:.84rem;color:#91a5c8;margin-top:.5rem}.software-description-text table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:1.4rem 0}.software-description-text th,.software-description-text td{padding:.7rem .9rem;border:1px solid rgba(150,170,222,.25);text-align:start}.software-description-text th{color:#dce8ff;background:rgba(87,115,193,.12)}.software-description-text blockquote{margin:1.4rem 0;padding:1rem 1.2rem;border-inline-start:3px solid #6d91ed;background:rgba(89,119,213,.1);border-radius:.4rem}.software-description-text pre{overflow-x:auto;padding:1.1rem;border-radius:.85rem;background:#0c172b;direction:ltr;text-align:left;color:#d6e9ff}.software-description-text code{overflow-wrap:anywhere}
html[data-theme="light"] .software-description-text h2,html[data-theme="light"] .software-description-text h3,html[data-theme="light"] .software-description-text h4,html[data-theme="light"] .software-description-text strong{color:#243a5f}
