    /* RESET */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* TIPOGRAFÍA DEL SISTEMA (neutral, no Apple) */
    body {
        font-family: Arial, sans-serif;
        color: #ffffff;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding-top: 40px;
        background: url('../img/fondo.webp') center/cover no-repeat fixed;
        position: relative;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    /* CAPA OSCURA */
    body::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: -1; /* ← CLAVE */
    }

    .loader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: #333;
        display: flex;
        justify-content: center;
        /* Centra horizontalmente */
        align-items: center;
        /* Centra verticalmente */
        z-index: 9999;
    }

    .loader img {
        width: 140px;
        height: 140px;
        animation: spin 2s linear infinite;
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    /* LOGO */
    .logo {
        position: fixed;
        top: 30px;
        left: 50px;
        width: 130px;
        z-index: 1001;
        cursor: pointer;
    }


    /* Footer */
    footer {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #1e1e1e;
        color: #fff;
        text-align: center;
        padding: 15px 0;
        font-family: Arial, sans-serif;
        z-index: 1003;
    }

    @media (max-width: 900px) {
        .logo {
            width: 120px;
            margin: 0 auto;
            left: 0;
            right: 0;
            top: 20px;
            text-align: center;
        }    
    }


    
/* Cualquier div con overflow-y tendrá esquinas curvas */
*[style*="overflow-y"],
*[class*="overflow-y"],
*[class*="scroll-y"] {
    border-radius: 10px;
    overflow: hidden; /* NECESARIO para que el scroll respete las esquinas */
}

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: #a42322 #0a0a0a;
}

/* Chrome, Edge, Safari */
*::-webkit-scrollbar {
    width: 10px;
}

*::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.05);
    border-radius: 10px;
}

*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #a42322, #8b1c1c);
    border-radius: 10px;
    box-shadow: 0 0 10px #a42322;
}

*::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #a42322, #8b1c1c);
}