  @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Share+Tech+Mono&display=swap');
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --neon-pink: #FF006E;
            --neon-cyan: #00F0FF;
            --neon-purple: #B026FF;
            --neon-lime: #39FF14;
            --dark-bg: #0a0a0a;
            --dark-secondary: #1a1a2e;
            --dark-tertiary: #16213e;
        }

        body {
            font-family: 'Share Tech Mono', monospace;
            background: var(--dark-bg);
            color: var(--neon-cyan);
            overflow-x: hidden;
            position: relative;
        }

        /* Animated Grid Background */
        body::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                linear-gradient(90deg, rgba(0,240,255,0.03) 1px, transparent 1px),
                linear-gradient(rgba(0,240,255,0.03) 1px, transparent 1px);
            background-size: 50px 50px;
            animation: gridMove 20s linear infinite;
            pointer-events: none;
            z-index: 0;
        }

        @keyframes gridMove {
            0% { transform: perspective(500px) rotateX(60deg) translateY(0); }
            100% { transform: perspective(500px) rotateX(60deg) translateY(50px); }
        }

        /* Scanline Effect */
        body::after {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: repeating-linear-gradient(
                0deg,
                rgba(0, 0, 0, 0.15),
                rgba(0, 0, 0, 0.15) 1px,
                transparent 1px,
                transparent 2px
            );
            pointer-events: none;
            z-index: 9999;
            animation: scanline 8s linear infinite;
        }

        @keyframes scanline {
            0% { transform: translateY(0); }
            100% { transform: translateY(100%); }
        }

        .container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 20px;
            position: relative;
            z-index: 1;
        }

        /* Header */
        header {
            text-align: center;
            padding: 40px 20px;
            position: relative;
            margin-bottom: 40px;
        }

        h1 {
            font-family: 'Orbitron', sans-serif;
            font-size: 3.5em;
            font-weight: 900;
            background: linear-gradient(45deg, var(--neon-pink), var(--neon-cyan), var(--neon-purple));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-shadow: 0 0 30px rgba(255,0,110,0.5);
            animation: glitch 3s infinite;
            margin-bottom: 10px;
        }

        @keyframes glitch {
            0%, 90%, 100% { transform: translate(0); }
            92% { transform: translate(-2px, 2px); }
            94% { transform: translate(2px, -2px); }
            96% { transform: translate(-2px, -2px); }
        }

        .subtitle {
            color: var(--neon-lime);
            font-size: 1.2em;
            text-shadow: 0 0 10px var(--neon-lime);
            letter-spacing: 3px;
        }

        /* Navigation Tabs */
        .nav-tabs {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-bottom: 40px;
            flex-wrap: wrap;
        }

        .tab-btn {
            font-family: 'Orbitron', sans-serif;
            padding: 15px 30px;
            background: var(--dark-secondary);
            border: 2px solid var(--neon-cyan);
            color: var(--neon-cyan);
            cursor: pointer;
            font-size: 1em;
            font-weight: 700;
            text-transform: uppercase;
            position: relative;
            overflow: hidden;
            transition: all 0.3s;
            clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
        }

        .tab-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, var(--neon-cyan), transparent);
            transition: left 0.5s;
        }

        .tab-btn:hover::before,
        .tab-btn.active::before {
            left: 100%;
        }

        .tab-btn:hover,
        .tab-btn.active {
            box-shadow: 
                0 0 20px var(--neon-cyan),
                inset 0 0 20px rgba(0,240,255,0.2);
            transform: translateY(-2px);
        }

        .tab-btn.active {
            background: rgba(0,240,255,0.1);
            border-color: var(--neon-lime);
            color: var(--neon-lime);
        }

        /* Content Sections */
        .tab-content {
            display: none;
            animation: fadeIn 0.5s;
        }

        .tab-content.active {
            display: block;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Card Styling */
        .card {
            background: linear-gradient(135deg, var(--dark-secondary) 0%, var(--dark-tertiary) 100%);
            border: 2px solid var(--neon-purple);
            border-radius: 15px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 
                0 0 30px rgba(176,38,255,0.3),
                inset 0 0 30px rgba(176,38,255,0.05);
            position: relative;
            overflow: hidden;
        }

        .card::before {
            content: '';
            position: absolute;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            background: linear-gradient(45deg, var(--neon-pink), var(--neon-cyan), var(--neon-purple), var(--neon-lime));
            border-radius: 15px;
            z-index: -1;
            opacity: 0;
            transition: opacity 0.3s;
        }

        .card:hover::before {
            opacity: 0.3;
            animation: rotateBorder 4s linear infinite;
        }

        @keyframes rotateBorder {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .card-title {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.8em;
            color: var(--neon-pink);
            text-shadow: 0 0 15px var(--neon-pink);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .card-title::before {
            content: '◢';
            color: var(--neon-lime);
            font-size: 1.2em;
        }

        /* Form Elements */
        .form-group {
            margin-bottom: 20px;
        }

        label {
            display: block;
            color: var(--neon-cyan);
            margin-bottom: 8px;
            font-weight: 700;
            text-transform: uppercase;
            font-size: 0.9em;
            letter-spacing: 1px;
        }

        input[type="text"],
        textarea,
        select {
            width: 100%;
            padding: 15px;
            background: rgba(10,10,10,0.8);
            border: 2px solid var(--neon-cyan);
            color: var(--neon-lime);
            font-family: 'Share Tech Mono', monospace;
            font-size: 1em;
            border-radius: 5px;
            transition: all 0.3s;
        }

        input[type="text"]:focus,
        textarea:focus,
        select:focus {
            outline: none;
            border-color: var(--neon-pink);
            box-shadow: 
                0 0 20px rgba(255,0,110,0.5),
                inset 0 0 10px rgba(255,0,110,0.1);
        }

        textarea {
            min-height: 120px;
            resize: vertical;
        }

        /* Buttons */
        .btn {
            font-family: 'Orbitron', sans-serif;
            padding: 15px 40px;
            background: linear-gradient(45deg, var(--neon-pink), var(--neon-purple));
            border: none;
            color: #fff;
            font-size: 1.1em;
            font-weight: 700;
            text-transform: uppercase;
            cursor: pointer;
            position: relative;
            overflow: hidden;
            border-radius: 5px;
            transition: all 0.3s;
            box-shadow: 0 0 20px rgba(255,0,110,0.5);
        }

        .btn::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(255,255,255,0.3);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }

        .btn:hover::before {
            width: 300px;
            height: 300px;
        }

        .btn:hover {
            transform: translateY(-3px);
            box-shadow: 
                0 0 30px rgba(255,0,110,0.8),
                0 5px 20px rgba(0,0,0,0.5);
        }

        .btn:active {
            transform: translateY(-1px);
        }

        .btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        /* Loading Animation */
        .loading {
            display: none;
            text-align: center;
            padding: 20px;
        }

        .loading.active {
            display: block;
        }

        .loader {
            display: inline-block;
            width: 60px;
            height: 60px;
            border: 4px solid var(--dark-secondary);
            border-top: 4px solid var(--neon-cyan);
            border-right: 4px solid var(--neon-pink);
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .loading-text {
            margin-top: 15px;
            color: var(--neon-cyan);
            font-size: 1.1em;
            animation: pulse 1.5s ease-in-out infinite;
        }

        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }

        /* Response Area */
        .response-area {
            background: rgba(10,10,10,0.9);
            border: 2px solid var(--neon-lime);
            border-radius: 10px;
            padding: 25px;
            margin-top: 20px;
            min-height: 100px;
            max-height: 500px;
            overflow-y: auto;
            box-shadow: 
                0 0 30px rgba(57,255,20,0.2),
                inset 0 0 20px rgba(57,255,20,0.05);
        }

        .response-area:empty::before {
            content: '// Esperando respuesta...';
            color: rgba(0,240,255,0.5);
            font-style: italic;
        }

        .response-text {
            color: var(--neon-lime);
            line-height: 1.8;
            white-space: pre-wrap;
        }

        .streaming-cursor {
            display: inline-block;
            width: 8px;
            height: 20px;
            background: var(--neon-lime);
            animation: blink 1s infinite;
            margin-left: 2px;
        }

        @keyframes blink {
            0%, 50% { opacity: 1; }
            51%, 100% { opacity: 0; }
        }

        /* Chat Messages */
        .chat-container {
            max-height: 500px;
            overflow-y: auto;
            margin-bottom: 20px;
            padding: 15px;
            background: rgba(10,10,10,0.5);
            border-radius: 10px;
        }

        .message {
            margin-bottom: 15px;
            padding: 15px;
            border-radius: 10px;
            animation: slideIn 0.3s;
        }

        @keyframes slideIn {
            from { transform: translateX(-20px); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }

        .message.user {
            background: linear-gradient(135deg, rgba(0,240,255,0.2), rgba(176,38,255,0.2));
            border-left: 4px solid var(--neon-cyan);
            margin-left: 40px;
        }

        .message.assistant {
            background: linear-gradient(135deg, rgba(255,0,110,0.2), rgba(57,255,20,0.2));
            border-left: 4px solid var(--neon-pink);
            margin-right: 40px;
        }

        .message-label {
            font-family: 'Orbitron', sans-serif;
            font-weight: 700;
            font-size: 0.9em;
            margin-bottom: 8px;
            text-transform: uppercase;
        }

        .message.user .message-label {
            color: var(--neon-cyan);
        }

        .message.assistant .message-label {
            color: var(--neon-pink);
        }

        /* Portfolio Grid */
        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 30px;
        }

        .portfolio-item {
            background: linear-gradient(135deg, rgba(176,38,255,0.2), rgba(0,240,255,0.2));
            border: 2px solid var(--neon-purple);
            border-radius: 10px;
            padding: 20px;
            cursor: pointer;
            transition: all 0.3s;
            position: relative;
        }

        .portfolio-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--neon-pink), var(--neon-cyan));
            transform: scaleX(0);
            transition: transform 0.3s;
        }

        .portfolio-item:hover::before {
            transform: scaleX(1);
        }

        .portfolio-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(176,38,255,0.5);
        }

        .portfolio-item h3 {
            font-family: 'Orbitron', sans-serif;
            color: var(--neon-cyan);
            margin-bottom: 10px;
            font-size: 1.3em;
        }

        .portfolio-item p {
            color: var(--neon-lime);
            line-height: 1.6;
        }

        /* Hexagonal Elements */
        .hex-icon {
            width: 40px;
            height: 40px;
            display: inline-block;
            background: var(--neon-purple);
            clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
            animation: float 3s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }

        /* Scrollbar */
        ::-webkit-scrollbar {
            width: 10px;
        }

        ::-webkit-scrollbar-track {
            background: var(--dark-bg);
        }

        ::-webkit-scrollbar-thumb {
            background: linear-gradient(var(--neon-cyan), var(--neon-pink));
            border-radius: 5px;
        }

        ::-webkit-scrollbar-thumb:hover {
            box-shadow: 0 0 10px var(--neon-cyan);
        }

        /* Error Messages */
        .error-message {
            background: rgba(255,0,110,0.2);
            border: 2px solid var(--neon-pink);
            border-radius: 10px;
            padding: 15px;
            margin-top: 15px;
            color: var(--neon-pink);
            animation: shake 0.5s;
        }

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-10px); }
            75% { transform: translateX(10px); }
        }

        /* Footer */
        footer {
            text-align: center;
            padding: 30px;
            margin-top: 50px;
            border-top: 2px solid var(--neon-cyan);
            background: linear-gradient(180deg, transparent, var(--dark-secondary));
        }

        footer p {
            color: var(--neon-cyan);
            font-size: 0.9em;
            text-shadow: 0 0 10px var(--neon-cyan);
        }

        /* Responsive */
        @media (max-width: 768px) {
            h1 {
                font-size: 2em;
            }

            .tab-btn {
                padding: 10px 20px;
                font-size: 0.9em;
            }

            .card {
                padding: 20px;
            }

            .portfolio-grid {
                grid-template-columns: 1fr;
            }

            .message.user {
                margin-left: 10px;
            }

            .message.assistant {
                margin-right: 10px;
            }
        }

        /* Glitch Text Effect */
        .glitch-text {
            position: relative;
        }

        .glitch-text::before,
        .glitch-text::after {
            content: attr(data-text);
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .glitch-text::before {
            animation: glitch-1 2.5s infinite;
            color: var(--neon-cyan);
            z-index: -1;
        }

        .glitch-text::after {
            animation: glitch-2 2.5s infinite;
            color: var(--neon-pink);
            z-index: -2;
        }

        @keyframes glitch-1 {
            0%, 100% { transform: translate(0); }
            33% { transform: translate(-2px, 2px); }
        }

        @keyframes glitch-2 {
            0%, 100% { transform: translate(0); }
            33% { transform: translate(2px, -2px); }
        }