/* Image-led downloads hub; individual product pages keep their own styles. */
body.downloads-gallery { color-scheme:dark; --bg:#1b2021; --text:#e8ece5; --muted:#b5bcb6; --line:#414947; --link:#e5efa3; background:var(--bg); }
.downloads-gallery .site-header,.downloads-gallery main,.downloads-gallery footer{width:min(calc(100% - 2rem),1280px)}
.downloads-gallery .app-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0}
.downloads-gallery .app-row{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#171c1d;min-width:0}
.downloads-gallery .app-art{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;color:#f0f3ef;text-decoration:none;background:#0c1113}
.downloads-gallery .app-art img{width:100%;height:100%;object-fit:cover}
.downloads-gallery .app-art h2{position:absolute;inset:auto 0 0;margin:0;padding:4rem 18px 18px;background:linear-gradient(transparent,#090e12 90%);font-size:1.2rem;line-height:1.25;color:#f1f4ef;text-shadow:0 1px 3px #000}
.downloads-gallery .app-art:focus-visible{outline:3px solid #edf5ae;outline-offset:-4px}
.downloads-gallery .app-row-main{padding:14px 16px 0}.downloads-gallery .app-row p{margin:0;font-size:.9rem}
.downloads-gallery .row-actions{margin-top:auto;padding:14px 16px 16px;justify-content:flex-start;flex-wrap:wrap;gap:8px;max-width:100%}
.downloads-gallery .row-actions a{min-height:44px;max-width:100%}
.downloads-gallery .beta-signup{margin-top:36px}.downloads-gallery .hero{padding-block:24px}.downloads-gallery .hero p{max-width:680px}
@media(min-width:1150px){.downloads-gallery .app-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.downloads-gallery .app-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:480px){.downloads-gallery .app-list{grid-template-columns:1fr}.downloads-gallery .app-art{aspect-ratio:1/1}.downloads-gallery .site-header{gap:16px;flex-wrap:wrap}}

.downloads-gallery .repo-card { background:#171c1d; }

/* Apps whose art is just an app icon get a compact header (icon beside the title) instead of a
   large square that upscales a small icon. Screenshot artwork keeps the full-bleed treatment. */
.downloads-gallery .app-art-icon{aspect-ratio:auto;display:flex;align-items:center;gap:12px;padding:16px 16px 0;background:none}
.downloads-gallery .app-art-icon img{flex:0 0 auto;width:56px;height:56px;max-width:none;max-height:none;padding:0;object-fit:contain;border-radius:14px;background:#0c1113}
.downloads-gallery .app-art-icon h2{position:static;inset:auto;margin:0;padding:0;background:none;font-size:1.1rem;line-height:1.2;text-shadow:none}
.downloads-gallery .app-art-icon:focus-visible{outline-offset:2px;border-radius:12px}
