body {
    font-family: 'Inter', sans-serif;
}

@keyframes gradient-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.animate-gradient {
    animation: gradient-animation 5s ease infinite;
}

@keyframes breathe-animation {
    0% { transform: scale(0.7); }
    21% { transform: scale(1.0); }
    58% { transform: scale(1.0); }
    100% { transform: scale(0.7); }
}

.breathing-circle {
    animation: breathe-animation 19s ease-in-out infinite;
}

@media print {
    body * {
        visibility: hidden;
    }
    #printable-content, #printable-content * {
        visibility: visible;
    }
    #printable-content {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
}

.fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.btn-primary {
    @apply bg-indigo-600 hover:bg-indigo-700 text-white font-semibold py-3 px-8 rounded-lg transition-colors duration-200;
}

.btn-secondary {
    @apply bg-gray-700 hover:bg-gray-600 text-white font-semibold py-3 px-8 rounded-lg transition-colors duration-200;
}

.card {
    @apply bg-gray-800 rounded-xl p-6 shadow-xl border border-gray-700;
}

.form-input {
    @apply w-full px-4 py-3 bg-gray-700 border border-gray-600 rounded-lg text-white placeholder-gray-400 focus:outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500;
}

.error-message {
    @apply bg-red-900 border border-red-700 text-red-100 px-4 py-3 rounded-lg;
}

.success-message {
    @apply bg-green-900 border border-green-700 text-green-100 px-4 py-3 rounded-lg;
}

.w12 {
    width: 60%;
    margin: 2em auto;
}

body {
    text-align: center;
}