/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&family=Space+Mono:wght@400;700&display=swap');

/* Base Styles */
body {
    font-family: 'Sora', sans-serif;
    overflow-x: hidden;
}

/* Animations */
@keyframes radialMove {
    0%, 100% { background-position: 20% 50%; }
    50% { background-position: 80% 50%; }
}

@keyframes spin {
    from { transform: rotate(45deg); }
    to { transform: rotate(405deg); }
}

.bg-animated-radial {
    background-image: radial-gradient(circle at center, rgba(149, 193, 31, 0.3) 0%, transparent 50%);
    background-size: 200% 200%;
    animation: radialMove 8s ease-in-out infinite;
}

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

/* UI Components */
.glass-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.glass-dark {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Transitions */
.modal-enter { 
    opacity: 0; 
    transform: scale(0.95) translateY(20px); 
}
.modal-enter-active { 
    opacity: 1; 
    transform: scale(1) translateY(0); 
    transition: all 0.3s ease-out; 
}
.modal-exit-active { 
    opacity: 0; 
    transform: scale(0.95) translateY(20px); 
    transition: all 0.2s ease-in; 
}

/* Input Focus */
input:focus {
    box-shadow: 0 0 0 4px rgba(149, 193, 31, 0.1);
}

/* Utility Overrides */
.font-mono {
    font-family: 'Space Mono', monospace !important;
}

/* Responsive clamp equivalents if needed */
.text-clamp-header {
    font-size: clamp(2.5rem, 8vw, 6rem);
}

.text-clamp-sub {
    font-size: clamp(1.125rem, 2vw, 1.5rem);
}

.text-clamp-stat {
    font-size: clamp(2rem, 4vw, 3rem);
}
