HTML 代码
<div class="flex items-center justify-center min-h-screen p-4 bg-gray-200 dark:bg-gray-900 font-sans">
<!-- Neumorphic Session Timeout Card -->
<div class="w-full max-w-md p-8 rounded-xl shadow-neumorphic-light dark:shadow-neumorphic-dark bg-gray-200 dark:bg-gray-800 text-gray-800 dark:text-gray-200">
<!-- Header -->
<div class="flex items-center mb-6">
<div class="w-12 h-12 rounded-full flex items-center justify-center shadow-neumorphic-inset-light dark:shadow-neumorphic-inset-dark mr-4">
<svg class="w-6 h-6 text-indigo-500 dark:text-indigo-400" 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 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
</div>
<h2 class="text-3xl font-bold text-indigo-600 dark:text-indigo-400">Session Timeout</h2>
</div>
<!-- Progress Bar (Monochromatic Indigo) -->
<div class="mb-6 h-4 rounded-full shadow-neumorphic-inset-light dark:shadow-neumorphic-inset-dark bg-gray-300 dark:bg-gray-700 overflow-hidden">
<div class="h-full bg-indigo-500 dark:bg-indigo-600 rounded-full" style="width: 75%;"></div>
</div>
<!-- Message -->
<p class="text-center text-lg mb-8">
Your session is about to expire due to inactivity.
<span class="font-semibold text-indigo-700 dark:text-indigo-300">Please choose an option to continue.</span>
</p>
<!-- Timer Display -->
<div class="flex items-center justify-center mb-8">
<div class="text-5xl font-extrabold text-indigo-800 dark:text-indigo-200 tracking-wide">
00:<span class="animate-pulse">45</span>
</div>
</div>
<!-- Call to Action Buttons -->
<div class="flex flex-col space-y-4">
<button class="w-full py-4 rounded-xl shadow-neumorphic-light hover:shadow-neumorphic-hover-light dark:shadow-neumorphic-dark dark:hover:shadow-neumorphic-hover-dark bg-indigo-500 hover:bg-indigo-600 dark:bg-indigo-600 dark:hover:bg-indigo-700 text-white text-lg font-semibold transition duration-300 ease-in-out transform hover:-translate-y-1">
Continue Session
</button>
<button class="w-full py-4 rounded-xl shadow-neumorphic-light hover:shadow-neumorphic-hover-light dark:shadow-neumorphic-dark dark:hover:shadow-neumorphic-hover-dark bg-gray-300 hover:bg-gray-400 dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-800 dark:text-gray-200 text-lg font-semibold transition duration-300 ease-in-out transform hover:-translate-y-1">
Log Out
</button>
</div>
<!-- Footer Link -->
<div class="mt-8 text-center text-sm text-gray-600 dark:text-gray-400">
Need help? <a href="#" class="text-indigo-600 dark:text-indigo-400 hover:underline">Contact Support</a>
</div>
</div>
</div>
<style>
/* Base Neumorphic Shadows */
.shadow-neumorphic-light {
box-shadow: 8px 8px 16px #afafaf, -8px -8px 16px #ffffff;
}
.dark .shadow-neumorphic-dark {
box-shadow: 8px 8px 16px #1a1a1a, -8px -8px 16px #333333;
}
/* Hover State Shadows */
.shadow-neumorphic-hover-light {
box-shadow: 4px 4px 8px #afafaf, -4px -4px 8px #ffffff;
}
.dark .shadow-neumorphic-hover-dark {
box-shadow: 4px 4px 8px #1a1a1a, -4px -4px 8px #333333;
}
/* Inset Shadows for elements that appear "pressed in" */
.shadow-neumorphic-inset-light {
box-shadow: inset 5px 5px 10px #afafaf, inset -5px -5px 10px #ffffff;
}
.dark .shadow-neumorphic-inset-dark {
box-shadow: inset 5px 5px 10px #1a1a1a, inset -5px -5px 10px #333333;
}
</style>