document.getElementById('year').textContent = new Date().getFullYear();

const gameCount = document.querySelectorAll('.cards .card:not(.card-locked)').length;

function animateCount(el, target){
  let n = 0;
  const step = Math.max(1, Math.ceil(target / 20));
  const t = setInterval(() => {
    n += step;
    if (n >= target){ n = target; clearInterval(t); }
    el.textContent = String(n).padStart(2,'0');
  }, 50);
}
animateCount(document.getElementById('stat-games'), gameCount);

const today = new Date();
document.getElementById('stat-date').textContent =
  String(today.getMonth()+1).padStart(2,'0') + '.' +
  String(today.getDate()).padStart(2,'0') + '.' +
  String(today.getFullYear()).slice(-2);

const filterBtns = document.querySelectorAll('.filter-btn');
const cards = document.querySelectorAll('.cards .card');
filterBtns.forEach(btn => {
  btn.addEventListener('click', () => {
    filterBtns.forEach(b => b.classList.remove('active'));
    btn.classList.add('active');
    const f = btn.dataset.filter;
    cards.forEach(c => {
      if (f === 'all' || c.dataset.cat === f) c.classList.remove('hidden');
      else c.classList.add('hidden');
    });
  });
});

const heroBg = document.querySelector('.hero-bg');
window.addEventListener('scroll', () => {
  const y = window.scrollY;
  if (y < window.innerHeight) heroBg.style.transform = `scale(1.05) translateY(${y * 0.15}px)`;
}, { passive: true });

console.log('%c// GAME HUB // online','color:#a8b84a;font-family:monospace;font-size:14px');