:root {
    --color-brand-obsidian: #0A0A0A;
    --color-brand-surgical: #F5F5F5;
    --color-brand-sfblue: #007AFF;
    --font-sans: "Inter", "San Francisco", system-ui, -apple-system, sans-serif;
}

body {
    background-color: var(--color-brand-obsidian);
    color: var(--color-brand-surgical);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

::selection {
    background-color: var(--color-brand-sfblue);
    color: white;
}

.tension-border {
    border: 1px solid rgba(245, 245, 245, 0.1);
}

.glass-panel {
    background: rgba(10, 10, 10, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(245, 245, 245, 0.1);
}

/* Base Animations replacing Framer Motion */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeUpAnim 1.2s ease-out forwards;
}

.fade-in {
    opacity: 0;
    animation: fadeInAnim 1s ease-out forwards;
}

.delay-1 {
    animation-delay: 0.2s;
}

.delay-2 {
    animation-delay: 0.4s;
}

.delay-3 {
    animation-delay: 0.6s;
}

.delay-4 {
    animation-delay: 0.8s;
}

@keyframes fadeUpAnim {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInAnim {
    to {
        opacity: 1;
    }
}

/* Bar Chart Animation (Methodology) */
.bar-grow {
    height: 0;
    animation: growUp 1s ease-out forwards;
    background-color: var(--color-brand-sfblue);
    opacity: 0.8;
    width: 100%;
}

@keyframes growUp {
    to {
        height: var(--target-height);
    }
}

/* Spinner Animation */
.spin-slow {
    animation: spinSlow 10s linear infinite;
}

@keyframes spinSlow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}