/* ========================================
   CLEAN ANIMATED BACKGROUND
   Pure CSS - No JavaScript - No API
   ======================================== */

:root {
    --color-1: #0f172a;      /* Dark blue */
    --color-2: #1e293b;      /* Slate */
    --color-3: #334155;      /* Light slate */
    --color-4: #475569;      /* Gray-blue */
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    overflow: hidden;
}

/* Animated background */
.animated-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: linear-gradient(
        -45deg,
        var(--color-1),
        var(--color-2),
        var(--color-3),
        var(--color-4),
        var(--color-1)
    );
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Subtle grain overlay */
.grain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.02;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" /></filter><rect width="100" height="100" fill="white" filter="url(%23noise)" /></svg>');
    pointer-events: none;
}

/* Main content area */
.content-wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
