
@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
    --primary: #6366f1;
    --primary-light: #e0e7ff;
    --primary-dark: #4f46e5;
}

/* Dark mode support */
[data-theme="dark"] {
    --primary: #818cf8;
    --primary-light: #1e1b4b;
    --primary-dark: #6366f1;
}

/* File dropzone styles */
.file-dropzone {
    @apply border-2 border-dashed border-gray-300 rounded-lg p-6 text-center transition-all duration-200;
}

.file-dropzone:hover, .file-dropzone.drag-over {
    @apply border-indigo-500 bg-indigo-50;
}

.file-dropzone.file-selected {
    @apply border-green-500 bg-green-50;
}

/* Progress bar */
.progress-container {
    @apply w-full bg-gray-200 rounded-full h-2.5 overflow-hidden;
}

.progress-fill {
    @apply bg-indigo-600 h-2.5 rounded-full transition-all duration-300;
    width: 0%;
}

/* Code preview */
.code-preview {
    @apply bg-gray-800 text-gray-100 p-4 rounded-lg overflow-auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Animations */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

/* Error message */
.error-message {
    @apply text-red-600 bg-red-50 p-2 rounded-md hidden;
}

/* Theme toggle */
.theme-toggle {
    @apply fixed bottom-4 right-4 p-2 rounded-full bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200;
}

/* Responsive adjustments */
@media (max-width: 640px) {
    .radio-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }
}
