/* Custom Animations */
        html, body {
            background-color: #030303;
            color: #ffffff;
            overflow-x: hidden;
            width: 100%;
            position: relative;
            touch-action: pan-y; /* Permite scroll hacia abajo, pero bloquea el horizontal */
        }

        .glass-nav {
            background: rgba(3, 3, 3, 0.7);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        /* Prism Logo Animation (CSS Only) */
        .prism-container {
            position: relative;
            width: 40px;
            height: 40px;
            perspective: 1000px;
        }
        .prism-shape {
            width: 100%;
            height: 100%;
            position: absolute;
            transform-style: preserve-3d;
            animation: rotatePrism 10s infinite linear;
        }
        .prism-face {
            position: absolute;
            width: 40px;
            height: 40px;
            border: 1px solid #00F0FF;
            background: rgba(0, 240, 255, 0.05);
            box-shadow: 0 0 15px rgba(0, 240, 255, 0.1);
        }
        .prism-face:nth-child(1) { transform: rotateY(0deg) translateZ(20px); }
        .prism-face:nth-child(2) { transform: rotateY(120deg) translateZ(20px); }
        .prism-face:nth-child(3) { transform: rotateY(240deg) translateZ(20px); }

        @keyframes rotatePrism {
            0% { transform: rotateX(0deg) rotateY(0deg); }
            100% { transform: rotateX(360deg) rotateY(360deg); }
        }

        /* Glow Text */
        .glow-text {
            text-shadow: 0 0 20px rgba(0, 240, 255, 0.3);
        }

        /* Scanline Effect for Hero */
        .scanlines {
            background: linear-gradient(
                to bottom,
                rgba(255,255,255,0),
                rgba(255,255,255,0) 50%,
                rgba(0,0,0,0.2) 50%,
                rgba(0,0,0,0.2)
            );
            background-size: 100% 4px;
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            pointer-events: none;
            z-index: 10;
            opacity: 0.3;
        }

        /* Loader styles */
        .loader {
            border: 4px solid rgba(255, 255, 255, 0.1);
            border-left-color: #00F0FF;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            animation: spin 1s linear infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        .ai-result {
            white-space: pre-wrap; /* Preserve formatting for AI results */
            background-color: #111;
            padding: 16px;
            border-left: 4px solid #BFA2DB;
            border-radius: 4px;
            margin-top: 16px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.9rem;
        }

        /* ===== TICKER CSS INFINITO (DISEÑO LAVANDA) ===== */
        .ticker-wrap {
            width: 100%;
            overflow: hidden;
            background-color: #0A0A0A; /* Fondo oscuro Surface */
            border-top: 1px solid rgba(0, 240, 255, 0.15); 
            border-bottom: 1px solid rgba(0, 240, 255, 0.15); 
        }

        .ticker {
            display: flex;
            align-items: center;
            height: 45px;
            width: 100%;
        }

        .ticker-track {
            display: flex;
            width: max-content; /* ESTO ES LO QUE PERMITE QUE SE MUEVA */
            animation: tickerAnim 30s linear infinite;
        }

        .ticker-track span {
            flex-shrink: 0; 
            padding-right: 3rem; /* Espacio entre las repeticiones */
            color: #BFA2DB; /* Letras color Lavanda */
            font-family: 'Space Grotesk', sans-serif;
            font-weight: 600;
            font-size: 14px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-shadow: 0 0 15px rgba(191, 162, 219, 0.4); 
        }

        @keyframes tickerAnim {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); } 
        }