.bg-gray-100 { background-color: #f7fafc; }
.dark\:bg-gray-900 { background-color: #1a202c; }
.bg-gray-200 { background-color: #edf2f7; }
.dark\:bg-gray-700 { background-color: #4a5568; }
.text-blue-600 { color: #2b6cb0; }
.dark\:text-purple-500 { color: #805ad5; }
.text-center { text-align: center; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.mt-2 { margin-top: .5rem; }
.mt-4 { margin-top: 1rem; }
.mt-10 { margin-top: 2.5rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.shadow { box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.rounded-full { border-radius: 9999px; }
.rounded-lg { border-radius: .5rem; }
.w-full { width: 100%; }
.p-3 { padding: .75rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.font-semibold { font-weight: 600; }
.border { border-width: 1px; }
.transition-transform { transition: transform .3s; }
.transition-colors { transition: background-color .3s; }
.hover\:scale-105:hover { transform: scale(1.05); }
.m-4 { margin: 1rem; }
.max-w-lg { max-width: 32rem; }
.text-gray-400 { color: #cbd5e0; }
.text-gray-700 { color: #4a5568; }
.text-white { color: #fff; }
.default { transition: background-color 0.3s, color 0.3s; }