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

:root {
    --brand: #CCFF00;
    --dark-900: #0a0a0a;
}

body {
    background-color: var(--dark-900);
    font-family: 'Inter', sans-serif;
    overflow-x: hidden;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0a0a0a;
}
::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--brand);
}

/* Utilities */
.text-brand {
    color: var(--brand);
}
.bg-brand {
    background-color: var(--brand);
}
.border-brand {
    border-color: var(--brand);
}

/* Noise Background */
.bg-noise {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}

/* Animations replacements for Framer Motion */

/* Fade Up */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger delay classes (generated via JS or helper classes) */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Marquee Animation */
.marquee-container {
    overflow: hidden;
    white-space: nowrap;
}

.marquee-content {
    display: inline-flex;
    animation: scroll 20s linear infinite;
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Tech Stack Hover Glow */
.tech-card {
    transition: all 0.3s ease;
}
.tech-card:hover {
    transform: translateY(-5px);
    border-color: rgba(204, 255, 0, 0.5);
    background-color: rgba(255, 255, 255, 0.03);
    box-shadow: 0 10px 30px -10px rgba(204, 255, 0, 0.1);
}

/* Accordion Transitions */
.accordion-content {
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}
.accordion-content.open {
    max-height: 200px; /* Arbitrary large height */
    opacity: 1;
}

/* Hero Text Reveal */
.hero-text-mask {
    overflow: hidden;
}
.hero-text-reveal {
    transform: translateY(100%);
    animation: slideUp 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.hero-text-reveal.delay-1 {
    animation-delay: 0.1s;
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}