/* Custom Properties */
:root {
    --primary: #9b87f5;
    --primary-dark: #7E69AB;
    --background: #1A1F2C;
    --card-bg: rgba(155, 135, 245, 0.05);
    --card-border: rgba(155, 135, 245, 0.1);
}

/* Base Styles */
body {
    background-color: var(--background);
    font-family: system-ui, -apple-system, sans-serif;
}

/* Utilities */
.backdrop-blur {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.gradient-text {
    background: linear-gradient(to right, #9b87f5, #7e69ab);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.glow {
    box-shadow: 0 0 20px rgba(155, 135, 245, 0.2);
    background: linear-gradient(to right, #9b87f5, #7e69ab);
    border: none;
    transition: all 0.3s ease;
}

.glow:hover {
    box-shadow: 0 0 30px rgba(155, 135, 245, 0.4);
    transform: translateY(-2px);
}

/* Cards */
.tech-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform 0.3s ease;
}

.tech-card:hover {
    transform: translateY(-5px);
}

/* Animations */
.animate-up {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease forwards;
}

.animate-up-delay {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease 0.2s forwards;
}

.animate-up-delay-2 {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease 0.4s forwards;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Bootstrap Overrides */
.btn-primary {
    background: linear-gradient(to right, #9b87f5, #7e69ab);
    border: none;
}

.navbar {
    transition: background-color 0.3s ease;
}

/* Particles Container */
#particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}

#hero .container {
    z-index: 2;
}

h3 {
    color: #fff !important;
}

.sub-text {
    color: #C6C7C8 !important;
}