.intro,.credits{max-width:900px}.credits{font-size:14px;color:#555}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.filters button{border:1px solid #aaa;background:#fff;padding:5px 12px;cursor:pointer}.filters button.on{background:#333;color:#fff;border-color:#333}#q{flex:1;min-width:180px;padding:5px 8px}#sort{padding:5px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card{border:1px solid #ddd;background:#fff;display:flex;flex-direction:column}.card img,.card .noimg{width:100%;aspect-ratio:7/4;object-fit:contain;background:#cedde7;image-rendering:pixelated}.card .noimg{display:flex;align-items:center;justify-content:center;color:#777}.card .body{padding:10px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.card h3{margin:0;font-size:18px}.by,.date{font-size:13px;color:#666}.desc{font-size:14px;margin:4px 0}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge{font-size:11px;border:1px solid #ccc;border-radius:3px;padding:1px 5px;color:#555}.badge.warn{border-color:#d9a400;color:#8a6800}.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:auto;padding-top:8px}.btn{display:inline-block;border:1px solid #0645ad;padding:4px 10px;text-decoration:none;font-size:14px}.btn.primary{background:#0645ad;color:#fff}.zip{font-size:13px}.card.lost{opacity:.8;border-style:dashed}