*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{background:#000}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:#0a0a0a;color:#ddd;min-height:100vh;line-height:1.6;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.top-nav{background:#0d0d0d;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:100}
.nav-inner{max-width:1300px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:60px}
.nav-logo{font-size:1.3rem;font-weight:800;color:#eee;text-decoration:none;letter-spacing:-.5px}
.nav-links{display:flex;gap:8px;list-style:none}
.nav-links a{color:#999;text-decoration:none;font-size:.85rem;padding:6px 14px;border-radius:6px;transition:color .2s,background .2s}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-links .discord-link{color:#bbb;font-weight:600}
.nav-links .discord-link:hover{background:rgba(255,255,255,.08)}
.nav-slide{display:flex;flex-direction:column;position:fixed;top:0;right:-320px;width:280px;height:auto;background:#0d0d0d;border-left:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);border-radius:0 0 0 12px;padding:50px 16px 16px;z-index:99;transition:right .3s;overflow-y:auto;list-style:none}
.open .nav-slide{right:0}
.nav-slide a{display:block;padding:10px 16px;color:#999;text-decoration:none;font-size:.9rem;border-radius:6px;transition:color .2s,background .2s}
.nav-slide a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-slide .discord-link{color:#bbb;font-weight:600}
.nav-slide-close{list-style:none;position:absolute;top:16px;right:16px}
.slide-close-btn span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.slide-close-btn span:nth-child(2){opacity:0}
.slide-close-btn span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.container{max-width:1300px;margin:0 auto;padding:20px;min-height:calc(100vh - 140px)}
.hero{text-align:center;padding:40px 0 30px}
.hero h1{font-size:2.6rem;font-weight:800;color:#eee;margin-bottom:8px}
.subtitle{color:#888;font-size:1.05rem;margin-bottom:24px}
.search-box{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:8px}
.search-box input,.search-box select{padding:10px 18px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#1a1a1a;color:#ccc;font-size:.92rem}
.search-box input{flex:1;min-width:220px;max-width:480px}
.search-box input:focus,.search-box select:focus{outline:none;border-color:#888;box-shadow:0 0 0 3px rgba(255,255,255,.06)}
.search-box select{cursor:pointer}
.sort-box{display:flex;gap:8px;justify-content:center;margin-bottom:14px}
.sort-btn{padding:6px 18px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1a1a1a;color:#888;font-size:.82rem;cursor:pointer;transition:color .15s,background .15s,border-color .15s}
.sort-btn.active{background:#2a2a2a;color:#eee;border-color:#555}
.sort-btn:hover{color:#eee;border-color:#555}
.results-info{margin:16px 0;color:#888;font-size:.9rem;text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding-bottom:20px}
.game-card{background:#151515;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:transform .2s,box-shadow .2s}
.game-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(255,255,255,.05)}
.game-card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}
.game-card img{width:100%;height:170px;object-fit:cover;display:block}
.card-body{padding:16px;flex:1;display:flex;flex-direction:column}
.card-body h3{font-size:1.08rem;font-weight:700;margin-bottom:8px;color:#eee}
.card-tags{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.badge{background:#2a2a2a;color:#ccc;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:20px;display:inline-block}
.badge-expected{background:#2a2a2a;color:#ccc}
.card-genres{color:#777;font-size:.82rem;margin-bottom:10px;flex:1}
.card-footer{display:flex;justify-content:space-between;font-size:.78rem;color:#666;border-top:1px solid rgba(255,255,255,.05);padding-top:10px;margin-top:auto}
.card-clicks{color:#555;white-space:nowrap}
.breadcrumb{margin-bottom:20px}
.breadcrumb a{color:#999;text-decoration:none;font-size:.9rem}
.breadcrumb a:hover{color:#ddd}
.game-detail{padding:10px 0 40px}
.game-detail h1{font-size:2.2rem;font-weight:800;margin:18px 0 14px;color:#eee}
.detail-banner{width:100%;max-height:380px;object-fit:cover;border-radius:14px}
.meta{margin-bottom:8px;font-size:.95rem;color:#aaa}
.meta .badge{margin-right:6px;font-size:.82rem}
.game-description{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:18px 22px;margin:14px 0 16px}
.game-description p{color:#bbb;font-size:.95rem;line-height:1.7;margin:0}
.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0 10px}
.meta-grid div{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 16px;text-align:center}
.meta-grid div strong{display:block;font-size:.72rem;text-transform:uppercase;color:#666;letter-spacing:.5px;margin-bottom:4px}
.meta-grid div span{font-size:.95rem;color:#ccc}
.requirements{list-style:none;margin:14px 0 28px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
.requirements li{padding:10px 16px;background:#151515;border:1px solid rgba(255,255,255,.05);border-radius:10px;font-size:.88rem;color:#aaa}
.requirements li strong{color:#ccc}
.download-btn{display:inline-flex;align-items:center;gap:8px;background:#2a2a2a;color:#fff;padding:14px 40px;border-radius:10px;text-decoration:none;font-weight:700;font-size:1.05rem}
.legal-section{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:30px;margin-top:10px}
.legal-section h2{font-size:1.3rem;font-weight:700;margin:24px 0 10px;color:#eee}
.legal-section h2:first-of-type{margin-top:0}
.legal-section p,.legal-section li{color:#aaa;font-size:.95rem;line-height:1.7}
.legal-section ul{padding-left:20px;margin:8px 0}
.legal-section li{margin-bottom:6px}
.site-footer{background:#0d0d0d;border-top:1px solid rgba(255,255,255,.06);margin-top:auto}
.footer-inner{max-width:1300px;margin:0 auto;padding:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.footer-inner p{color:#666;font-size:.82rem}
.footer-links{display:flex;gap:16px}
.footer-links a{color:#777;text-decoration:none;font-size:.8rem}
.footer-links a:hover{color:#bbb}
h1{font-size:2rem;margin-bottom:16px;color:#eee}
h3{font-size:1.15rem;margin:16px 0 8px;color:#ddd}
.news-section{margin-top:40px;padding-top:30px;border-top:1px solid rgba(255,255,255,.06)}
.news-section h2{font-size:1.4rem;margin-bottom:20px;color:#eee}
.news-list{display:flex;flex-direction:column;gap:14px}
.news-item{background:#151515;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:18px 22px}
.news-item:hover{border-color:rgba(255,255,255,.12)}
.news-date{font-size:.78rem;color:#666;margin-bottom:4px}
.news-item h3{font-size:1rem;margin:0 0 6px;color:#eee}
.news-item p{font-size:.9rem;color:#999;line-height:1.5;margin:0}
.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding-bottom:40px}
.upcoming-card{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;transition:transform .2s}
.upcoming-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.12)}
.upcoming-card img{width:100%;height:180px;object-fit:cover;display:block}
.upcoming-body{padding:18px}
.upcoming-body h3{font-size:1.15rem;margin:0 0 8px;color:#eee}
.upcoming-body .badge{margin-bottom:10px;display:inline-block}
.upcoming-body p{color:#999;font-size:.9rem;line-height:1.5;margin:8px 0 0}
.lead{font-size:1.05rem;color:#bbb;margin-bottom:20px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:20px 0 30px}
.tool-card{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px;transition:transform .2s}
.tool-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.12)}
.tool-icon{font-size:2rem;margin-bottom:8px}
.tool-card h3{font-size:1rem;margin:0 0 6px;color:#eee}
.tool-card p{font-size:.85rem;color:#999;line-height:1.5;margin:0 0 12px}
.tool-link{color:#bbb;text-decoration:none;font-weight:600;font-size:.85rem}
.tool-link:hover{color:#eee}
.result-cards{display:flex;flex-direction:column;gap:10px;margin:20px 0 30px}
.result-card{display:flex;gap:14px;align-items:flex-start;background:#151515;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:16px}
.result-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}
.result-body h3{font-size:.95rem;margin:0 0 4px}
.result-body p{font-size:.85rem;color:#999;line-height:1.5;margin:0}
.result-safe{border-left:3px solid #4ade80}
.result-fp{border-left:3px solid #fbbf24}
.result-danger{border-left:3px solid #f87171}
.source-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:20px 0}
.source-card{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px;transition:transform .2s}
.source-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.12)}
.source-icon{font-size:1.8rem;margin-bottom:6px}
.source-card h3{font-size:1rem;margin:0 0 6px;color:#eee}
.source-card p{font-size:.85rem;color:#999;line-height:1.5;margin:0}
.legal-section code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:4px;font-size:.85rem;color:#ccc}
.legal-section ol{padding-left:20px;margin:8px 0;color:#aaa;font-size:.95rem;line-height:1.7}
.legal-section ol li{margin-bottom:6px}
.download-note{background:rgba(251,191,36,.06);border:1px solid rgba(251,191,36,.15);border-radius:10px;padding:12px 16px;margin:16px 0;font-size:.88rem;color:#d4a017;line-height:1.5}
.extra-links{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}
.extra-links h3{font-size:.95rem;margin:0 0 10px;color:#aaa}
.extra-links ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.extra-link{display:inline-block;background:#1a1a1a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 18px;color:#999;text-decoration:none;font-size:.85rem;transition:transform .2s}
.extra-link:hover{transform:translateY(-1px);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#ddd}
.review-section{margin-top:40px;padding-top:30px;border-top:1px solid rgba(255,255,255,.06)}
.review-section h2{font-size:1.4rem;margin-bottom:16px;color:#eee}
.review-avg{font-size:1rem;color:#999;margin-bottom:20px}
.review-form{background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px;margin-bottom:24px}
.star-rating{display:flex;gap:4px;margin-bottom:14px}
.star{font-size:1.6rem;color:#333;cursor:pointer;transition:color .15s}
.star.active,.star:hover{color:#fbbf24}
.review-form input,.review-form textarea{width:100%;background:#0d0d0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;color:#ddd;font-size:.9rem;margin-bottom:10px;font-family:inherit}
.review-form textarea{min-height:80px;resize:vertical}
.review-form input:focus,.review-form textarea:focus{outline:none;border-color:#888}
#submitReview{background:#2a2a2a;color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:.9rem;cursor:pointer;transition:background .2s}
#submitReview:hover{background:#3a3a3a}
#submitReview:disabled{opacity:.5;cursor:not-allowed;background:#1a1a1a}
.review-notice{font-size:.82rem;padding:8px 12px;border-radius:8px;margin-bottom:10px;display:none}
.review-notice.error{display:block;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);color:#f87171}
.review-notice.success{display:block;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);color:#4ade80}
.review-list{display:flex;flex-direction:column;gap:12px}
.review-card{background:#151515;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:16px}
.review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.review-card-name{font-weight:700;color:#ddd;font-size:.95rem}
.review-card-stars{color:#fbbf24;font-size:.9rem}
.review-card-text{color:#999;font-size:.9rem;line-height:1.6;margin:0}
.review-card-date{color:#555;font-size:.75rem;margin-top:8px}
.review-filter{margin-bottom:20px}
.review-filter input{width:100%;max-width:400px;background:#151515;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 16px;color:#ddd;font-size:.92rem}
.review-filter input:focus{outline:none;border-color:#888}
.review-stats{color:#888;font-size:.9rem;margin-bottom:20px}
.all-reviews{display:flex;flex-direction:column;gap:14px;padding-bottom:40px}
.hamburger{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:#999;border-radius:2px;transition:transform .2s}
@media(max-width:768px){.nav-links{display:none}
.hero h1{font-size:1.8rem}
.game-detail h1{font-size:1.5rem}
.meta-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
}
@media(max-width:480px){.container{padding:12px}
.hero h1{font-size:1.4rem}
.grid{grid-template-columns:1fr}
.search-box input,.search-box select{font-size:.85rem}
}
