<div class="p-4 sm:p-6 md:p-8 bg-gradient-to-br from-gray-200 to-gray-300 dark:from-gray-800 dark:to-gray-900 min-h-screen font-sans text-gray-800 dark:text-gray-200">
<!-- Component Title -->
<h1 class="text-4xl sm:text-5xl font-extrabold mb-8 text-center text-gray-900 dark:text-gray-100 drop-shadow-lg">
<span class="bg-clip-text text-transparent bg-gradient-to-r from-teal-500 to-blue-600 dark:from-teal-400 dark:to-blue-500">Crypto Art Vault</span>
</h1>
<!-- Gallery Controls (Top) -->
<div class="mb-8 flex flex-col sm:flex-row items-center justify-between rounded-xl p-4 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md">
<div class="flex items-center space-x-4 mb-4 sm:mb-0">
<button class="p-3 rounded-full bg-gradient-to-br from-teal-500 to-blue-600 dark:from-teal-400 dark:to-blue-500 text-white shadow-neu-light-inner dark:shadow-neu-dark-inner active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200 flex items-center justify-center w-12 h-12 flex-shrink-0">
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z" clip-rule="evenodd"></path></svg>
</button>
<button class="p-3 rounded-full bg-gradient-to-br from-blue-600 to-teal-500 dark:from-blue-500 dark:to-teal-400 text-white shadow-neu-light-inner dark:shadow-neu-dark-inner active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200 flex items-center justify-center w-12 h-12 flex-shrink-0">
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</button>
<div class="relative inline-block text-left">
<button type="button" class="inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-xl text-gray-700 dark:text-gray-300 bg-gray-200 dark:bg-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-inner dark:hover:shadow-neu-dark-inner focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-teal-500 dark:focus:ring-teal-400 transition-all duration-200" id="options-menu" aria-haspopup="true" aria-expanded="true">
Category <svg class="-mr-1 ml-2 h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>
</button>
<!-- Dropdown menu (hidden by default) - for a real implementation, this would be toggled by JS -->
<div class="origin-top-left absolute left-0 mt-2 w-56 rounded-md shadow-neu-light-lg dark:shadow-neu-dark-lg bg-gray-100 dark:bg-gray-800 ring-1 ring-black ring-opacity-5 hidden" role="menu" aria-orientation="vertical" aria-labelledby="options-menu">
<div class="py-1" role="none">
<a href="#" class="block px-4 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors duration-200" role="menuitem">All NFTs</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors duration-200" role="menuitem">Genesis Collection</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors duration-200" role="menuitem">Digital Sculptures</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors duration-200" role="menuitem">Pixel Art</a>
</div>
</div>
</div>
</div>
<div class="relative w-full sm:w-auto">
<input type="text" placeholder="Search NFTs..." class="py-3 pr-12 pl-6 w-full sm:w-72 rounded-xl bg-gray-200 dark:bg-gray-800 text-gray-700 dark:text-gray-300 placeholder-gray-500 dark:placeholder-gray-400 shadow-neu-light-inner dark:shadow-neu-dark-inner focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-200 dark:ring-offset-gray-800 focus:ring-teal-500 dark:focus:ring-teal-400 transition-all duration-200">
<div class="absolute inset-y-0 right-0 pr-4 flex items-center pointer-events-none text-gray-500 dark:text-gray-400">
<svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>
</div>
</div>
</div>
<!-- Gallery Grid -->
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
<!-- NFT Card 1 -->
<div class="group relative rounded-2xl p-4 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-lg dark:hover:shadow-neu-dark-lg transition-all duration-300 flex flex-col">
<div class="relative aspect-video rounded-xl overflow-hidden mb-4 shadow-neu-light-inner dark:shadow-neu-dark-inner">
<img src="https://picsum.photos/id/1053/400/225" alt="NFT Image" class="w-full h-full object-cover rounded-xl group-hover:scale-105 transition-transform duration-300">
<div class="absolute top-3 right-3 p-2 rounded-full bg-gray-50 dark:bg-gray-900 shadow-neu-light-md dark:shadow-neu-dark-md text-gray-700 dark:text-gray-300 text-xs font-semibold select-none">LIVE BID</div>
</div>
<h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2 truncate">The Cybernetic Golem</h3>
<p class="text-sm text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">A unique digital sculpture transcending physical limitations.</p>
<div class="flex items-center justify-between text-sm mb-4">
<div class="flex items-center space-x-2">
<img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Creator Avatar" class="w-8 h-8 rounded-full shadow-neu-light-inner dark:shadow-neu-dark-inner">
<span class="text-gray-700 dark:text-gray-300 font-medium">@NFT_Visionary</span>
</div>
<div class="flex items-center space-x-1">
<svg class="w-4 h-4 text-gray-600 dark:text-gray-400" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"></path></svg>
<span class="text-gray-600 dark:text-gray-400">12 Likes</span>
</div>
</div>
<div class="relative flex items-center justify-between mt-auto pt-4 border-t border-gray-300 dark:border-gray-700">
<div class="flex flex-col">
<span class="text-xs text-gray-500 dark:text-gray-400">Current Bid</span>
<span class="text-lg font-bold text-teal-600 dark:text-teal-400">3.2 ETH</span>
</div>
<button class="px-5 py-2 rounded-xl bg-gradient-to-br from-blue-500 to-teal-600 dark:from-blue-400 dark:to-teal-500 text-white font-semibold shadow-neu-light-md dark:shadow-neu-dark-md active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">
Place Bid
</button>
</div>
</div>
<!-- NFT Card 2 -->
<div class="group relative rounded-2xl p-4 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-lg dark:hover:shadow-neu-dark-lg transition-all duration-300 flex flex-col">
<div class="relative aspect-video rounded-xl overflow-hidden mb-4 shadow-neu-light-inner dark:shadow-neu-dark-inner">
<img src="https://picsum.photos/id/1063/400/225" alt="NFT Image" class="w-full h-full object-cover rounded-xl group-hover:scale-105 transition-transform duration-300">
<div class="absolute top-3 right-3 p-2 rounded-full bg-gray-50 dark:bg-gray-900 shadow-neu-light-md dark:shadow-neu-dark-md text-gray-700 dark:text-gray-300 text-xs font-semibold select-none">ENDED</div>
</div>
<h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2 truncate">Quantum Landscapes</h3>
<p class="text-sm text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">Exploring the impossible geometries of quantum realms.</p>
<div class="flex items-center justify-between text-sm mb-4">
<div class="flex items-center space-x-2">
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Creator Avatar" class="w-8 h-8 rounded-full shadow-neu-light-inner dark:shadow-neu-dark-inner">
<span class="text-gray-700 dark:text-gray-300 font-medium">@PixelSynth</span>
</div>
<div class="flex items-center space-x-1">
<svg class="w-4 h-4 text-gray-600 dark:text-gray-400" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"></path></svg>
<span class="text-gray-600 dark:text-gray-400">20 Likes</span>
</div>
</div>
<div class="relative flex items-center justify-between mt-auto pt-4 border-t border-gray-300 dark:border-gray-700">
<div class="flex flex-col">
<span class="text-xs text-gray-500 dark:text-gray-400">Sold For</span>
<span class="text-lg font-bold text-gray-900 dark:text-gray-100">5.0 ETH</span>
</div>
<button class="px-5 py-2 rounded-xl bg-gradient-to-br from-gray-400 to-gray-500 text-white font-semibold shadow-neu-light-md dark:shadow-neu-dark-md cursor-not-allowed opacity-70" disabled>
View Sale
</button>
</div>
</div>
<!-- NFT Card 3 -->
<div class="group relative rounded-2xl p-4 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-lg dark:hover:shadow-neu-dark-lg transition-all duration-300 flex flex-col">
<div class="relative aspect-video rounded-xl overflow-hidden mb-4 shadow-neu-light-inner dark:shadow-neu-dark-inner">
<img src="https://picsum.photos/id/111/400/225" alt="NFT Image" class="w-full h-full object-cover rounded-xl group-hover:scale-105 transition-transform duration-300">
<div class="absolute top-3 right-3 p-2 rounded-full bg-gray-50 dark:bg-gray-900 shadow-neu-light-md dark:shadow-neu-dark-md text-gray-700 dark:text-gray-300 text-xs font-semibold select-none">ON AUCTION</div>
</div>
<h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2 truncate">Neon Genesis Glitch</h3>
<p class="text-sm text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">A captivating glitch art piece from the 90s digital era.</p>
<div class="flex items-center justify-between text-sm mb-4">
<div class="flex items-center space-x-2">
<img src="https://randomuser.me/api/portraits/men/50.jpg" alt="Creator Avatar" class="w-8 h-8 rounded-full shadow-neu-light-inner dark:shadow-neu-dark-inner">
<span class="text-gray-700 dark:text-gray-300 font-medium">@DataGhost</span>
</div>
<div class="flex items-center space-x-1">
<svg class="w-4 h-4 text-gray-600 dark:text-gray-400" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"></path></svg>
<span class="text-gray-600 dark:text-gray-400">18 Likes</span>
</div>
</div>
<div class="relative flex items-center justify-between mt-auto pt-4 border-t border-gray-300 dark:border-gray-700">
<div class="flex flex-col">
<span class="text-xs text-gray-500 dark:text-gray-400">Min. Bid</span>
<span class="text-lg font-bold text-teal-600 dark:text-teal-400">1.8 ETH</span>
</div>
<button class="px-5 py-2 rounded-xl bg-gradient-to-br from-blue-500 to-teal-600 dark:from-blue-400 dark:to-teal-500 text-white font-semibold shadow-neu-light-md dark:shadow-neu-dark-md active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">
Place Bid
</button>
</div>
</div>
<!-- NFT Card 4 -->
<div class="group relative rounded-2xl p-4 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-lg dark:hover:shadow-neu-dark-lg transition-all duration-300 flex flex-col">
<div class="relative aspect-video rounded-xl overflow-hidden mb-4 shadow-neu-light-inner dark:shadow-neu-dark-inner">
<img src="https://picsum.photos/id/1075/400/225" alt="NFT Image" class="w-full h-full object-cover rounded-xl group-hover:scale-105 transition-transform duration-300">
<div class="absolute top-3 right-3 p-2 rounded-full bg-gray-50 dark:bg-gray-900 shadow-neu-light-md dark:shadow-neu-dark-md text-gray-700 dark:text-gray-300 text-xs font-semibold select-none">LIVE BID</div>
</div>
<h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2 truncate">The Decentralized Soul</h3>
<p class="text-sm text-gray-600 dark:text-gray-400 mb-4 line-clamp-2">An abstract representation of the blockchain's core essence.</p>
<div class="flex items-center justify-between text-sm mb-4">
<div class="flex items-center space-x-2">
<img src="https://randomuser.me/api/portraits/women/66.jpg" alt="Creator Avatar" class="w-8 h-8 rounded-full shadow-neu-light-inner dark:shadow-neu-dark-inner">
<span class="text-gray-700 dark:text-gray-300 font-medium">@Crypto_Canvas</span>
</div>
<div class="flex items-center space-x-1">
<svg class="w-4 h-4 text-gray-600 dark:text-gray-400" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"></path></svg>
<span class="text-gray-600 dark:text-gray-400">15 Likes</span>
</div>
</div>
<div class="relative flex items-center justify-between mt-auto pt-4 border-t border-gray-300 dark:border-gray-700">
<div class="flex flex-col">
<span class="text-xs text-gray-500 dark:text-gray-400">Current Bid</span>
<span class="text-lg font-bold text-teal-600 dark:text-teal-400">2.5 ETH</span>
</div>
<button class="px-5 py-2 rounded-xl bg-gradient-to-br from-blue-500 to-teal-600 dark:from-blue-400 dark:to-teal-500 text-white font-semibold shadow-neu-light-md dark:shadow-neu-dark-md active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">
Place Bid
</button>
</div>
</div>
<!-- Placeholder Card for more items -->
<div class="flex flex-col items-center justify-center rounded-2xl p-6 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md border-2 border-dashed border-gray-400 dark:border-gray-600 text-gray-500 dark:text-gray-400 text-center">
<svg class="w-16 h-16 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<p class="text-lg font-semibold">Discover More NFTs</p>
<p class="text-sm mb-4">More unique digital creations await.</p>
<button class="px-6 py-3 rounded-xl bg-gradient-to-br from-teal-500 to-blue-600 dark:from-teal-400 dark:to-blue-500 text-white font-semibold shadow-neu-light-md dark:shadow-neu-dark-md active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">
Explore All
</button>
</div>
</div>
<!-- Bottom Navigation/Pagination (Skeuomorphic style) -->
<div class="mt-12 flex justify-center">
<nav class="inline-flex items-center space-x-2 rounded-2xl p-3 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-gray-700 dark:to-gray-800 shadow-neu-light-md dark:shadow-neu-dark-md">
<button class="p-3 rounded-xl bg-gray-200 dark:bg-gray-800 text-gray-600 dark:text-gray-400 shadow-neu-light-inner dark:shadow-neu-dark-inner hover:text-teal-600 dark:hover:text-teal-400 active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd"></path></svg>
</button>
<a href="#" class="px-4 py-2 rounded-xl bg-blue-500 dark:bg-blue-600 text-white font-bold shadow-neu-light-md dark:shadow-neu-dark-md shadow-neu-light-inner dark:shadow-neu-dark-inner active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">1</a>
<a href="#" class="px-4 py-2 rounded-xl bg-gray-200 dark:bg-gray-800 text-gray-700 dark:text-gray-300 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-inner dark:hover:shadow-neu-dark-inner active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">2</a>
<span class="px-4 py-2 text-gray-500 dark:text-gray-400">...</span>
<a href="#" class="px-4 py-2 rounded-xl bg-gray-200 dark:bg-gray-800 text-gray-700 dark:text-gray-300 shadow-neu-light-md dark:shadow-neu-dark-md hover:shadow-neu-light-inner dark:hover:shadow-neu-dark-inner active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">10</a>
<button class="p-3 rounded-xl bg-gray-200 dark:bg-gray-800 text-gray-600 dark:text-gray-400 shadow-neu-light-inner dark:shadow-neu-dark-inner hover:text-teal-600 dark:hover:text-teal-400 active:shadow-neu-light-pressed dark:active:shadow-neu-dark-pressed transition-all duration-200">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10l-3.293-3.293a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"></path></svg>
</button>
</nav>
</div>
</div>
<!-- Custom Tailwind CSS (for skeuomorphism) -->
<style>
/* Light Mode Shadows */
.shadow-neu-light-md {
box-shadow: 6px 6px 12px rgba(174, 174, 192, 0.4), -6px -6px 12px rgba(255, 255, 255, 0.9);
}
.shadow-neu-light-lg {
box-shadow: 10px 10px 20px rgba(174, 174, 192, 0.5), -10px -10px 20px rgba(255, 255, 255, 1);
}
.shadow-neu-light-inner {
box-shadow: inset 3px 3px 6px rgba(174, 174, 192, 0.3), inset -3px -3px 6px rgba(255, 255, 255, 0.8);
}
.shadow-neu-light-pressed {
box-shadow: inset 6px 6px 12px rgba(174, 174, 192, 0.4), inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}
/* Dark Mode Shadows */
.dark .shadow-neu-dark-md {
box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.6), -6px -6px 12px rgba(100, 100, 100, 0.2);
}
.dark .shadow-neu-dark-lg {
box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.7), -10px -10px 20px rgba(100, 100, 100, 0.3);
}
.dark .shadow-neu-dark-inner {
box-shadow: inset 3px 3px 6px rgba(0, 0, 0, 0.5), inset -3px -3px 6px rgba(100, 100, 100, 0.15);
}
.dark .shadow-neu-dark-pressed {
box-shadow: inset 6px 6px 12px rgba(0, 0, 0, 0.6), inset -6px -6px 12px rgba(100, 100, 100, 0.2);
}
</style>