My anime life & manga stash

I’m a lifelong anime nerd—shonen got me hooked, but lately I’ve been deep into seinen and psychological thrillers. I follow seasonal shows religiously, from MAPPA’s latest to old Madhouse classics. Manga-wise, I’m collecting Berserk and One Piece, though my backlog is embarrassing. I keep my favorites pinned on my sites.google profile sites.google profile—it’s messy but honest. Wish I had more time to update it, but work always gets in the way. Still, it’s my little corner to share what I’m watching and reading.
Share:
/* ---------- scroll progress ---------- */ const progress = document.getElementById('progress'); window.addEventListener('scroll', () => { const h = document.documentElement; const pct = h.scrollTop / (h.scrollHeight - h.clientHeight) * 100; progress.style.width = pct + '%'; }); const menuToggle = document.getElementById('menuToggle'); const mobileMenu = document.getElementById('mobileMenu'); menuToggle.addEventListener('click', () => { const open = mobileMenu.classList.toggle('open'); menuToggle.setAttribute('aria-expanded', open); }); mobileMenu.querySelectorAll('a').forEach(a => a.addEventListener('click', () => { mobileMenu.classList.remove('open'); menuToggle.setAttribute('aria-expanded', 'false'); })); const revealEls = document.querySelectorAll('.reveal, .reveal-stagger'); const io = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('in'); io.unobserve(entry.target); } }); }, { threshold: 0.15 }); revealEls.forEach(el => io.observe(el)); /* ---------- hero image placeholder loop ---------- */ const imgSlides = document.querySelectorAll('.img-slide'); const imgDots = document.querySelectorAll('.img-loop-dots span'); let imgIndex = 0; if (imgSlides.length){ setInterval(() => { imgIndex = (imgIndex + 1) % imgSlides.length; imgSlides.forEach((s, i) => s.classList.toggle('active', i === imgIndex)); imgDots.forEach((d, i) => d.classList.toggle('active', i === imgIndex)); }, 3000); }