/* Base Styles - Light Theme */
html {
    scroll-behavior: auto;
}

body {
    font-family: 'Satoshi', 'Inter', sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    position: relative;
    overflow-x: hidden;
    margin: 0;
    width: 100%;
    max-width: 100vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Links default to accent color */
a {
    color: var(--accent-primary);
    text-decoration: none;
    transition: color 0.15s ease;
}

a:hover {
    color: var(--accent-primary-hover);
}

* {
    box-sizing: border-box;
}

/* Ensure all canvases start transparent */
canvas {
    background: transparent;
}

/* Selection color */
::selection {
    background: rgba(79, 70, 229, 0.2);
    color: var(--text-primary);
}

/* Accessibility: Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .animate-spin {
        animation: none !important;
    }

    .progress-bar {
        animation: none !important;
        width: 100% !important;
    }
}
