/* ===== RESET ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Courier New', Courier, monospace, Arial, sans-serif;
}

/* ===== BODY (FONDO VIOLETA PROFUNDO) ===== */
body {
    min-height: 100vh;
    background: radial-gradient(circle at center, #1b023a 0%, #06000c 75%, #020005 100%);
    color: white;
    overflow-x: hidden;
    padding-bottom: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

/* ===== EFECTO CIBERNÉTICO (CUADRÍCULA LUMINOSA) ===== */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: 
    linear-gradient(
        rgba(0, 240, 255, 0.03) 1px, 
        transparent 1px
    ),
    linear-gradient(
        90deg,
        rgba(0, 240, 255, 0.03) 1px,
        transparent 1px
    );
    background-size: 40px 40px;
    pointer-events: none;
    z-index: 1;
}

/* Oculta el cursor por defecto */
html, body, a, button {
    cursor: none !important; 
}

/* ===== EFECTO PARA EL CURSOR BRILLANTE ===== */
.custom-cursor {
    width: 20px;
    height: 20px;
    border: 2px solid #00f0ff;
    border-radius: 50%;
    position: fixed;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 9999;
    transition: transform 0.05s ease-out, width 0.2s, height 0.2s;
    box-shadow: 0 0 15px #00f0ff, inset 0 0 5px #00f0ff;
    background-color: rgba(0, 240, 255, 0.1);
}

.custom-cursor.hovered {
    width: 35px;
    height: 35px;
    border-color: #ffe600;
    box-shadow: 0 0 25px #ffe600, inset 0 0 8px #ffe600;
    background-color: rgba(255, 230, 0, 0.1);
}

/* ===== HEADER (GABINETE ARCADE MARCO) ===== */
header {
    text-align: center;
    padding: 20px 40px;
    margin: 30px auto 10px auto;
    max-width: 800px;
    background: rgba(13, 1, 24, 0.8);
    border: 4px double #00f0ff; 
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 240, 255, 0.3), inset 0 0 15px rgba(0, 240, 255, 0.2);
}

/* ===== TITULO (MARQUEE EXTRA BRILLANTE) ===== */
header h1 {
    font-size: 3.5rem;
    color: #00f0ff;
    letter-spacing: 6px;
    text-transform: uppercase;
    text-shadow: 0 0 10px #00f0ff, 0 0 20px #00f0ff, 0 0 40px #ff00ff;
    margin-bottom: 10px;
}

/* ===== SUBTEXTO FUCSIA ===== */
header p {
    color: #ff00ff; 
    font-size: 1.1rem;
    letter-spacing: 2px;
    text-shadow: 0 0 8px rgba(255, 0, 255, 0.6);
}

/* ===== NAV (BOTONES CÁPSULA REDONDEADOS) ===== */
nav {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 40px;
}

nav a {
    text-decoration: none;
    color: #ffe600;
    border: 2px solid #ffe600;
    padding: 10px 25px;
    border-radius: 30px; 
    font-weight: bold;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 0 10px rgba(255, 230, 0, 0.2);
    text-shadow: 0 0 5px rgba(255, 230, 0, 0.5);
}

nav a:hover {
    background: #ffe600;
    color: #0d0118;
    box-shadow: 0 0 25px #ffe600;
    text-shadow: none;
    transform: translateY(-3px);
}

/* ===== PRESENTACION ===== */
/* ===== PRESENTACION ===== */
.presentacion {
    text-align: center;      /* Centra el texto por defecto */
    max-width: 700px;
    margin: 0 auto 50px auto; /* El 'auto' a los lados centra el contenedor en la pantalla */
    display: flex;
    flex-direction: column;   /* Alinea los elementos en vertical */
    align-items: center;      /* Centra todo el contenido hijo horizontalmente */
}

.presentacion h2 {
    font-size: 2rem;
    color: white;
    text-transform: uppercase;
    border-bottom: 2px dashed #ff00ff;
    padding-bottom: 10px;
    margin-bottom: 15px;
    display: inline-block;    /* Hace que la línea punteada mida lo mismo que el texto */
}

.presentacion p {
    color: #b0a0ca;
    font-size: 1.1rem;
    line-height: 1.6;
    text-align: center;       /* Asegura que el párrafo largo esté centrado */
}

/* ===== CONTENEDOR DE JUEGOS ===== */
.juegos {
    display: flex;
    justify-content: center;
    gap: 35px;
    flex-wrap: wrap;
    max-width: 1200px;
    width: 100%;
    padding: 20px;
}

/* ===== CARDS ESTRUCTURA GENERAL ===== */
.card {
    background: linear-gradient(145deg, #15022e, #090015);
    border: 3px solid #00f0ff;
    border-radius: 12px;
    width: 320px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.2);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card h3 {
    font-size: 1.3rem;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.card p {
    font-size: 0.9rem;
    margin-bottom: 20px;
    min-height: 40px; 
}

/* ===== CONTENEDOR PARA LAS IMÁGENES DE LOS JUEGOS ===== */
.game-image-container {
    width: 100%;
    height: 180px;
    background-color: #000;
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    margin-bottom: 15px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.game-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    image-rendering: pixelated; 
}

.image-placeholder {
    color: #444;
    font-size: 3rem;
}

/* ===== BOTONES BASE ===== */
.card button {
    width: 100%;
    background-color: transparent;
    padding: 12px;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 6px;
    transition: all 0.2s ease;
}

/* ========================================================== */
/* PERSONALIZACIÓN INDIVIDUAL DE CARDS                        */
/* ========================================================== */

/* CARD 1: PACMAN (Amarillo) */
.card:first-child {
    border-color: #ffe600;
    box-shadow: 0 0 15px rgba(255, 230, 0, 0.2);
}
.card:first-child h3 {
    color: #ffe600;
    text-shadow: 0 0 10px rgba(255, 230, 0, 0.4);
}
.card:first-child p {
    color: #a594bd;
}
.card:first-child button {
    color: #ffe600;
    border-color: #ffe600;
    box-shadow: 0 0 8px rgba(255, 230, 0, 0.2);
}
.card:first-child:hover {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 0 30px rgba(255, 230, 0, 0.6);
}
.card:first-child button:hover {
    background-color: #ffe600;
    color: #0d0118;
    box-shadow: 0 0 20px #ffe600;
}

/* CARD 2: MR GAME AND WATCH (Gris / Negro) */
.card.game-and-watch {
    border-color: #707070;
    box-shadow: 0 0 15px rgba(112, 112, 112, 0.3);
    background: linear-gradient(145deg, #1a1a1a, #050505); 
}
.card.game-and-watch h3 {
    color: #d1d1d1;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}
.card.game-and-watch p {
    color: #8c8c8c;
}
.card.game-and-watch .game-image-container {
    background-color: #222222; 
    border-color: #444;
}
.card.game-and-watch button {
    color: #cccccc;
    border-color: #707070;
    box-shadow: 0 0 8px rgba(112, 112, 112, 0.2);
}
.card.game-and-watch:hover {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 0 30px rgba(200, 200, 200, 0.6); 
}
.card.game-and-watch button:hover {
    background-color: #cccccc;
    color: #0d0118;
    box-shadow: 0 0 20px #ffffff;
}

/* CARD 3: LA VIBORITA (Verde Neón) */
.card.snake-game {
    border-color: #00ff66;
    box-shadow: 0 0 15px rgba(0, 255, 102, 0.2);
}
.card.snake-game h3 {
    color: #00ff66;
    text-shadow: 0 0 10px rgba(0, 255, 102, 0.4);
}
.card.snake-game p {
    color: #70b389;
}
.card.snake-game button {
    color: #00ff66;
    border-color: #00ff66;
    box-shadow: 0 0 8px rgba(0, 255, 102, 0.2);
}
.card.snake-game:hover {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 0 30px rgba(0, 255, 102, 0.6); 
}
.card.snake-game button:hover {
    background-color: #00ff66;
    color: #0d0118;
    box-shadow: 0 0 20px #00ff66;
}

/* ===== FOOTER ===== */
footer {
    margin-top: auto;
    padding-top: 50px;
    padding-bottom: 20px;
    color: #534566;
    letter-spacing: 2px;
    font-size: 0.85rem;
}

/* ===== RESPONSIVE ===== */
@media(max-width:700px){
    header h1 {
        font-size: 38px;
    }
    header {
        margin: 15px;
        padding: 20px;
    }
    .juegos {
        padding: 10px;
        gap: 20px;
    }
    .card {
        width: 100%;
    }
}

/*==================================================
RESPONSIVE
==================================================*/

/* Pantallas grandes */
@media (max-width:1200px){

.carrusel{

    width:220px;
    height:320px;

}

.carrusel span{

    transform:
    rotateY(calc(var(--i) * 51deg))
    translateZ(420px);

}

.titulo h1{

    font-size:56px;

}

}


/* Tablets */

@media (max-width:900px){

.titulo{

    top:20px;
    width:90%;

}

.titulo h1{

    font-size:44px;

    letter-spacing:2px;

}

.titulo p{

    font-size:15px;

}

.regresar{

    top:15px;
    right:15px;

    padding:10px 18px;

    font-size:13px;

}

.carrusel{

    width:180px;
    height:260px;

}

.carrusel span{

    transform:
    rotateY(calc(var(--i) * 51deg))
    translateZ(300px);

}

.luz{

    width:500px;
    height:140px;

}

}


/* Celulares */

@media (max-width:600px){

body{

    overflow:auto;

}

.titulo{

    top:80px;

    width:95%;

}

.titulo h1{

    font-size:32px;

    letter-spacing:1px;

}

.titulo p{

    font-size:13px;

}

.regresar{

    position:fixed;

    top:10px;
    right:10px;

    padding:8px 14px;

    font-size:12px;

    border-radius:10px;

}

.contenedor{

    margin-top:130px;

}

.carrusel{

    width:140px;
    height:210px;

}

.carrusel span{

    transform:
    rotateY(calc(var(--i) * 51deg))
    translateZ(200px);

}

.luz{

    width:300px;
    height:90px;

    bottom:-20px;

}

}


/* Celulares pequeños */

@media (max-width:380px){

.titulo h1{

    font-size:26px;

}

.titulo p{

    font-size:11px;

}

.carrusel{

    width:120px;
    height:180px;

}

.carrusel span{

    transform:
    rotateY(calc(var(--i) * 51deg))
    translateZ(170px);

}

.regresar{

    font-size:11px;

    padding:7px 10px;

}

}