:root {
            --primary-color: #2cb67d;
            --secondary-color: #2d7dd2;
            --primary-light: #95d5b2;
            --secondary-light: #a3d5ff;
            --background: #f8f9fa;
            --text-dark: #1a1c1e;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--background);
            color: var(--text-dark);
        }

        .header-bg {
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        }

        .bg-primary {
            background-color: var(--primary-color);
        }

        .bg-secondary {
            background-color: var(--secondary-color);
        }

        .text-primary {
            color: var(--primary-color);
        }

        .text-secondary {
            color: var(--secondary-color);
        }

        .btn-primary {
            background-color: var(--primary-color);
            color: white;
            transition: all 0.3s;
        }

        .btn-primary:hover {
            background-color: var(--primary-light);
        }

        .btn-secondary {
            background-color: var(--secondary-color);
            color: white;
            transition: all 0.3s;
        }

        .btn-secondary:hover {
            background-color: var(--secondary-light);
        }

        .card {
            border-radius: 12px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease-in-out;
        }

        .card:hover {
            transform: translateY(-5px);
        }

        .macro-input {
            transition: all 0.3s;
        }

        .macro-input:focus {
            border-color: var(--primary-color);
            box-shadow: 0 0 0 3px rgba(44, 182, 125, 0.2);
        }

        .vector-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0.05;
            z-index: -1;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%232CB67D' fill-opacity='1' d='M0,64L48,96C96,128,192,192,288,192C384,192,480,128,576,122.7C672,117,768,171,864,186.7C960,203,1056,181,1152,170.7C1248,160,1344,160,1392,160L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
            background-size: cover;
            background-repeat: no-repeat;
        }

        .animate-on-scroll {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }

        .animate-on-scroll.visible {
            opacity: 1;
            transform: translateY(0);
        }

        @keyframes float {
            0% {
                transform: translateY(0px);
            }
            50% {
                transform: translateY(-10px);
            }
            100% {
                transform: translateY(0px);
            }
        }

        .float-animation {
            animation: float 6s ease-in-out infinite;
        }

        .ingredient-row {
            transition: all 0.3s ease;
        }

        .ingredient-row:hover {
            background-color: #f0f9f4;
        }

        .formula-box {
            background-color: #f8f9fa;
            border-left: 4px solid var(--primary-color);
            padding: 15px;
            font-family: 'Courier New', monospace;
        }

        .chart-container {
            position: relative;
            height: 300px;
            width: 100%;
        }