html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

body {
    font-family: 'space grotesk';
}

.font-raleway {
    font-family: 'Raleway', sans-serif;
}

.eco-mode * {
    animation: none !important;
    transition: none !important;
}

/* Override eco-mode for essential elements */
.eco-mode .animate-fade-scale,
.eco-mode .animate-gauge,
.eco-mode [data-value] {
    opacity: 1 !important;
}

.grayscale * {
    filter: grayscale(100%) !important;
}

::selection {
    background: rgba(0, 0, 0, 0.2);
    color: white;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-thumb {
    background-color: rgb(82, 82, 82);
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: rgb(120, 120, 120);
}

::-webkit-scrollbar-track {
    background-color: transparent;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: inherit;
    background-size: cover;
    z-index: 0;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.animate-spin-slow {
    animation: spin 700s linear infinite;
}

.progress-ring__circle {
    transition: stroke-dashoffset 0.35s;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
}

@keyframes drawGraph {
    from {
        stroke-dasharray: 1000;
        stroke-dashoffset: 1000;
    }
    to {
        stroke-dasharray: 1000;
        stroke-dashoffset: 0;
    }
}

@keyframes drawGraphGlow {
    0% {
        stroke-dasharray: 1000;
        stroke-dashoffset: 1000;
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        stroke-dasharray: 1000;
        stroke-dashoffset: 0;
        opacity: 1;
    }
}

@keyframes showDot {
     0% {
        opacity: 0;
        transform: scale(0);
    }
    90% {
        opacity: 0;
        transform: scale(1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes spinGauge {
    0% {
        transform: rotate(-180deg);
    }
    30% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: rotate(0deg);
    }
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideIn {
    from {
        transform: translateY(-10px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.dropdown-content {
    animation: slideIn 0.2s ease-out;
}

.animate-count {
    animation: countUp 2s ease-out forwards;
}

.animate-draw {
    animation: drawGraph 5s ease-out forwards;
}

.animate-draw-glow {
    animation: drawGraphGlow 5s ease-out forwards;
}

.animate-dot {
    transform-origin: center;
    opacity: 0;
    animation: showDot 3s ease-out forwards;
}

.animate-gauge {
    animation: spinGauge 3s ease-out forwards;
}

.animate-fade-scale {
    animation: fadeInScale 3s ease-out forwards;
}

.opacity-0 {
    opacity: 0;
}