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

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s, color 0.3s;
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
    overscroll-behavior-y: contain;
}

.card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

.input-field {
    background-color: var(--bg-color);
    color: var(--text-color);
    border-color: var(--border-color);
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    border-width: 2px;
    font-size: 1rem;
    line-height: 1.5;
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.input-field:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.2);
    background-color: var(--card-bg);
}

/* Dark mode input colors */
.dark .input-field {
    background-color: #252525 !important;
}

.dark .input-field:focus {
    background-color: #282a2c !important;
}

textarea.input-field {
    resize: vertical;
    min-height: 5.5rem;
    line-height: 1.4;
}

.drag-over {
    border-color: #2563eb !important;
    background-color: rgba(37, 99, 235, 0.1) !important;
}

/* Modal styles */
.modal-overlay {
    transition: opacity 0.3s ease-in-out;
}

.modal-content {
    transition: transform 0.3s ease-in-out;
}

/* Loading animation */
.loader {
    border: 4px solid var(--border-color);
    border-top: 4px solid #3b82f6;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#syncBtn.syncing .material-symbols-outlined {
    animation: spin 1s linear infinite;
}

.grecaptcha-badge {
    display: none !important;
}