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

code, .font-mono {
    font-family: 'JetBrains Mono', monospace;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* Smooth transitions */
.dork-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dork-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
}

/* Category badge colors */
.badge-sensitive-files { @apply bg-amber-500/10 text-amber-400 border-amber-500/20; }
.badge-vulnerabilities { @apply bg-red-500/10 text-red-400 border-red-500/20; }
.badge-directories { @apply bg-blue-500/10 text-blue-400 border-blue-500/20; }
.badge-cameras { @apply bg-purple-500/10 text-purple-400 border-purple-500/20; }
.badge-login { @apply bg-emerald-500/10 text-emerald-400 border-emerald-500/20; }
.badge-error { @apply bg-rose-500/10 text-rose-400 border-rose-500/20; }

/* Grid animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.dork-card {
    animation: fadeIn 0.4s ease-out forwards;
}

/* Category button active state */
.category-btn.active {
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    color: white;
    border-color: transparent;
}

/* Gradient text for title */
.gradient-text {
    background: linear-gradient(135deg, #60a5fa, #a78bfa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Input focus glow */
input:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

/* Toast slide */
#toast.show {
    transform: translateY(0);
    opacity: 1;
}