@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@400;600;700&display=swap');

* {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

code, pre, .font-mono {
    font-family: 'JetBrains Mono', 'Courier New', monospace !important;
}

@keyframes wiggle {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-15deg); }
    75% { transform: rotate(15deg); }
}

.animate-wiggle {
    animation: wiggle 0.5s ease-in-out;
}

@keyframes slide-in {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.animate-slide-in {
    animation: slide-in 0.3s ease-out;
}

pre[class*="language-"] {
    margin: 0 !important;
    border-radius: 0 !important;
    background: #1e1e1e !important;
}

code[class*="language-"] {
    background: transparent !important;
    font-size: 0.875rem;
    line-height: 1.5;
}

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

::-webkit-scrollbar-track {
    background: #1e293b;
}

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

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Focus states */
input:focus, textarea:focus, select:focus, button:focus {
    outline: 2px solid #06B6D4;
    outline-offset: 2px;
}

/* Smooth transitions */
* {
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

details > summary {
    list-style: none;
}

details > summary::-webkit-details-marker {
    display: none;
}