/* --- General Transitions --- */
body, .bg-white, .bg-gray-100, .bg-gray-800, .bg-gray-200, .bg-gray-700 {
    transition: background-color 0.4s ease, color 0.4s ease;
}

/* --- Theme Icon Toggle --- */
#theme-toggle i {
    transition: transform 0.4s ease, color 0.3s ease;
}
.rotate-180 {
    transform: rotate(180deg);
}

/* --- Prose (About Page) Styling --- */
.prose-lg ul > li::before {
    background-color: #3b82f6; /* blue-500 */
}
.dark .prose-lg ul > li::before {
    background-color: #60a5fa; /* blue-400 */
}

/* --- Loading Spinner Animation --- */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.loader-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3; /* Light grey */
    border-top: 5px solid #3498db; /* Blue */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}
.dark .loader-spinner {
    border-color: #4b5563; /* dark:bg-gray-700 */
    border-top-color: #60a5fa; /* dark:text-blue-400 */
}

/* --- Server List Fade Transition --- */
.list-fade-out {
    opacity: 0;
}
.list-fade-in {
    opacity: 1;
}