Appsafe Club 🚀
.nav-links a:hover color: #ffcd3c;
.review-btn:hover background: #1e6f5c; color: white;
.badge-safe background: #dff0e8; color: #1e6f5c; padding: 0.2rem 0.8rem; border-radius: 30px; font-size: 0.8rem; font-weight: 600; display: inline-block;
.footer-note text-align: center; margin-top: 2rem; font-size: 0.8rem; color: #6a8e9c; border-top: 1px solid #dde6eb; padding-top: 1.5rem; appsafe club
.cat-btn background: #eef3f6; border: none; padding: 0.5rem 1rem; border-radius: 40px; font-weight: 500; cursor: pointer; transition: 0.2s; color: #1e3b4a;
.app-title font-size: 1.25rem; font-weight: 700;
let currentFilterCategory = "all"; let currentSearchTerm = ""; let currentSafetyThreshold = 0; .nav-links a:hover color: #ffcd3c
.cat-btn.active background: #1e6f5c; color: white; box-shadow: 0 2px 6px rgba(0,0,0,0.1);
.close-modal position: absolute; top: 1rem; right: 1.5rem; font-size: 1.5rem; cursor: pointer;
<div id="appsContainer" class="apps-grid"> <!-- dynamic cards injected --> </div> <div class="footer-note"> AppSafe Club — independent safety ratings based on open-source intelligence, permission analysis & real user feedback. </div> </div> .review-btn:hover background: #1e6f5c
.badge font-size: 0.7rem; background: #f0f4f7; padding: 0.2rem 0.6rem; border-radius: 30px;
<div class="top-bar"> <div class="logo-area"> <div> <div class="logo">🛡️ AppSafe Club <span>verified</span></div> <div class="tagline">Curated privacy & security — apps you can trust</div> </div> <div class="nav-links"> <a href="#">Dashboard</a> <a href="#">Safety Reports</a> <a href="#">Submit App</a> <a href="#">Community</a> </div> </div> </div>
document.getElementById("safetyThreshold").addEventListener("change", (e) => currentSafetyThreshold = parseInt(e.target.value); renderApps(); );