/* ==========================================================================
   GO-LATIN 2.0 — ENTRADA Y CUENTAS (login, registro, recuperar y restablecer contraseña)
   Estas páginas usan EmptyLayout (sin shell), así que cada una envuelve su contenido en
   <div data-gl="fc" class="gl-auth">. Todo vive dentro de [data-gl="fc"].
   ========================================================================== */

/* site.css fija body{overflow:hidden}: sin shell, este contenedor es el que hace scroll */
[data-gl="fc"].gl-auth {
    position: relative;
    display: grid;
    height: 100vh;
    height: 100dvh;
    padding: clamp(1rem, 4vw, 2.5rem) 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--gl-bg, #05070d);
    color: var(--gl-text);
    font-family: var(--gl-font-body, 'Poppins', sans-serif);
}

/* ---------- Fondo ---------- */
[data-gl="fc"] .gl-auth__bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

[data-gl="fc"] .gl-auth__glow {
    position: absolute;
    width: 60vmax;
    height: 60vmax;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.28;
    animation: gl-auth-drift 22s ease-in-out infinite alternate;
}

[data-gl="fc"] .gl-auth__glow.is-cyan { top: -25vmax; left: -20vmax; background: rgb(var(--gl-cyan-rgb)); }
[data-gl="fc"] .gl-auth__glow.is-magenta { right: -25vmax; bottom: -30vmax; background: #d946ef; animation-delay: -8s; }

[data-gl="fc"] .gl-auth__grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(circle at 50% 45%, #000 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(circle at 50% 45%, #000 20%, transparent 75%);
}

[data-gl="fc"] .gl-auth__particle {
    position: absolute;
    bottom: -10px;
    border-radius: 50%;
    background: rgb(var(--gl-cyan-rgb));
    box-shadow: 0 0 8px rgba(var(--gl-cyan-rgb), 0.8);
    animation: gl-auth-rise linear infinite;
}

@keyframes gl-auth-rise {
    from { transform: translateY(0); }
    to { transform: translateY(-110vh); }
}

@keyframes gl-auth-drift {
    from { transform: translate(0, 0) scale(1); }
    to { transform: translate(6vmax, 4vmax) scale(1.08); }
}

/* ---------- Tarjeta ---------- */
[data-gl="fc"] .gl-auth__card {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--gl-space-4);
    width: min(440px, 100%);
    height: max-content;
    margin: auto;
    padding: clamp(1.4rem, 5vw, 2.4rem);
    overflow: visible;
}

[data-gl="fc"] .gl-auth__card.is-wide { width: min(520px, 100%); }

[data-gl="fc"] .gl-auth__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gl-space-3);
}

[data-gl="fc"] .gl-auth__brand img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    filter: drop-shadow(0 0 14px rgba(var(--gl-cyan-rgb), 0.45));
}

[data-gl="fc"] .gl-auth__brand div { display: grid; line-height: 1.1; }

[data-gl="fc"] .gl-auth__network {
    font-family: var(--gl-font-display);
    font-size: 1.35rem;
    font-style: italic;
    font-weight: var(--gl-weight-black);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

[data-gl="fc"] .gl-auth__network b { color: #e879f9; font-weight: inherit; }
[data-gl="fc"] .gl-auth__brand small { color: var(--gl-text-muted); font-size: var(--gl-text-xs); letter-spacing: 1px; text-transform: uppercase; }

[data-gl="fc"] .gl-auth__title {
    margin: 0;
    font-family: var(--gl-font-display);
    font-size: clamp(1.6rem, 5vw, 2.1rem);
    font-style: italic;
    font-weight: var(--gl-weight-black);
    line-height: 1.05;
    text-align: center;
    text-transform: uppercase;
}

[data-gl="fc"] .gl-auth__lead { margin: 0; color: var(--gl-text-secondary); text-align: center; }

[data-gl="fc"] .gl-auth__icon {
    display: grid;
    place-items: center;
    justify-self: center;
    width: 64px;
    height: 64px;
    border: 1px solid var(--gl-border-accent);
    border-radius: 50%;
    background: rgba(var(--gl-cyan-rgb), 0.1);
    color: var(--gl-cyan);
    font-size: 1.8rem;
}

/* ---------- Formulario ---------- */
[data-gl="fc"] .gl-auth__form {
    display: grid;
    gap: var(--gl-space-3);
}

[data-gl="fc"] .gl-auth__field {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

[data-gl="fc"] .gl-auth__field > span:first-child,
[data-gl="fc"] .gl-auth__field-row > span {
    color: var(--gl-text-secondary);
    font-size: var(--gl-text-xs);
    font-weight: var(--gl-weight-heavy);
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

[data-gl="fc"] .gl-auth__field-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gl-space-2);
}

[data-gl="fc"] .gl-auth__field-row a,
[data-gl="fc"] .gl-auth__alt a,
[data-gl="fc"] .gl-auth__foot a {
    color: var(--gl-cyan);
    font-size: var(--gl-text-xs);
    font-weight: var(--gl-weight-bold);
    text-decoration: none;
}

[data-gl="fc"] .gl-auth__field-row a:hover,
[data-gl="fc"] .gl-auth__alt a:hover,
[data-gl="fc"] .gl-auth__foot a:hover,
[data-gl="fc"] .gl-auth__field-row a:focus-visible,
[data-gl="fc"] .gl-auth__alt a:focus-visible,
[data-gl="fc"] .gl-auth__foot a:focus-visible { text-decoration: underline; }

[data-gl="fc"] .gl-auth__input {
    position: relative;
    display: block;
}

[data-gl="fc"] .gl-auth__input > i {
    position: absolute;
    top: 50%;
    left: 0.9rem;
    color: var(--gl-text-muted);
    transform: translateY(-50%);
    pointer-events: none;
    transition: color 0.15s;
}

[data-gl="fc"] .gl-auth__input input {
    width: 100%;
    min-height: 48px;
    padding: 0.7rem 0.9rem 0.7rem 2.6rem;
    border: 1px solid var(--gl-border-strong);
    border-radius: var(--gl-radius-md);
    background: rgba(3, 6, 14, 0.7);
    color: var(--gl-text);
    font-size: var(--gl-text-sm);
    transition: border-color 0.15s, box-shadow 0.15s;
}

[data-gl="fc"] .gl-auth__input input::placeholder { color: var(--gl-text-muted); opacity: 0.8; }

[data-gl="fc"] .gl-auth__input input:focus {
    border-color: var(--gl-cyan);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--gl-cyan-rgb), 0.18);
}

[data-gl="fc"] .gl-auth__input:focus-within > i { color: var(--gl-cyan); }

[data-gl="fc"] .gl-auth__input input.invalid { border-color: #ff4d6d; }
[data-gl="fc"] .gl-auth__input input:disabled { opacity: 0.6; }

[data-gl="fc"].gl-auth .validation-message,
[data-gl="fc"] .gl-auth__error {
    color: #ff8fa3;
    font-size: var(--gl-text-xs);
    font-weight: var(--gl-weight-bold);
}

[data-gl="fc"] .gl-auth__submit {
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-top: var(--gl-space-1);
}

[data-gl="fc"] .gl-auth__divider {
    display: flex;
    align-items: center;
    gap: var(--gl-space-3);
    color: var(--gl-text-muted);
    font-size: var(--gl-text-xs);
    font-weight: var(--gl-weight-bold);
    letter-spacing: 1px;
    text-transform: uppercase;
}

[data-gl="fc"] .gl-auth__divider::before,
[data-gl="fc"] .gl-auth__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--gl-border);
}

[data-gl="fc"] .gl-auth__twitch {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gl-space-2);
    min-height: 48px;
    border-radius: var(--gl-radius-md);
    background: #9146ff;
    color: #fff;
    font-weight: var(--gl-weight-heavy);
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
    transition: filter 0.15s, box-shadow 0.15s;
}

[data-gl="fc"] .gl-auth__twitch:hover,
[data-gl="fc"] .gl-auth__twitch:focus-visible { color: #fff; filter: brightness(1.12); box-shadow: 0 0 22px rgba(145, 70, 255, 0.5); }
[data-gl="fc"] .gl-auth__twitch i { font-size: 1.2rem; }

[data-gl="fc"] .gl-auth__alt { margin: 0; color: var(--gl-text-muted); font-size: var(--gl-text-sm); text-align: center; }
[data-gl="fc"] .gl-auth__alt a { font-size: inherit; }

[data-gl="fc"] .gl-auth__alert,
[data-gl="fc"] .gl-auth__notice {
    display: flex;
    align-items: flex-start;
    gap: var(--gl-space-2);
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(255, 77, 109, 0.45);
    border-radius: var(--gl-radius-md);
    background: rgba(255, 77, 109, 0.1);
    color: #ff8fa3;
    font-size: var(--gl-text-sm);
    font-weight: var(--gl-weight-bold);
}

[data-gl="fc"] .gl-auth__notice {
    border-color: rgba(34, 197, 94, 0.45);
    background: rgba(34, 197, 94, 0.1);
    color: #86efac;
}

[data-gl="fc"] .gl-auth__notice strong,
[data-gl="fc"] .gl-auth__alert strong { color: var(--gl-text); }
[data-gl="fc"] .gl-auth__alert a { color: var(--gl-cyan); }

[data-gl="fc"] .gl-auth__session {
    display: grid;
    justify-items: center;
    gap: var(--gl-space-3);
    text-align: center;
}

[data-gl="fc"] .gl-auth__session .gl-subtitle { margin: 0; }

[data-gl="fc"] .gl-auth__session-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border: 1px solid rgba(34, 197, 94, 0.5);
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.12);
    color: #86efac;
    font-size: 1.8rem;
}

[data-gl="fc"] .gl-auth__foot {
    display: grid;
    justify-items: center;
    gap: 0.3rem;
    padding-top: var(--gl-space-3);
    border-top: 1px solid var(--gl-border);
    color: var(--gl-text-muted);
    font-size: 0.7rem;
    text-align: center;
}

[data-gl="fc"] .gl-auth__foot a { letter-spacing: 1px; text-transform: uppercase; }

/* Medidor de contraseña (registro / restablecer) */
[data-gl="fc"] .gl-auth__meter {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
}

[data-gl="fc"] .gl-auth__meter span {
    height: 4px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
}

[data-gl="fc"] .gl-auth__meter.is-1 span:nth-child(-n+1) { background: #ff4d6d; }
[data-gl="fc"] .gl-auth__meter.is-2 span:nth-child(-n+2) { background: #f59e0b; }
[data-gl="fc"] .gl-auth__meter.is-3 span:nth-child(-n+3) { background: #facc15; }
[data-gl="fc"] .gl-auth__meter.is-4 span { background: #22c55e; }

[data-gl="fc"] .gl-auth__meter-label { color: var(--gl-text-muted); font-size: var(--gl-text-xs); }

@media (prefers-reduced-motion: reduce) {
    [data-gl="fc"] .gl-auth__particle { display: none; }
    [data-gl="fc"] .gl-auth__glow { animation: none; }
}

[data-gl="fc"] .gl-auth__title .gl-accent {
    color: var(--gl-cyan);
    text-shadow: 0 0 22px rgba(var(--gl-cyan-rgb), 0.35);
}

/* ---------- Elegir competición /categoria (estilo neutro FC / F1) ---------- */
[data-gl="fc"] .gl-auth__glow.is-red { right: -25vmax; bottom: -30vmax; background: #ef4444; animation-delay: -8s; }

[data-gl="fc"] .gl-cat__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.75rem);
    width: min(1100px, 100%);
    height: max-content;
    margin: auto;
}

[data-gl="fc"] .gl-cat__head {
    display: grid;
    justify-items: center;
    gap: var(--gl-space-2);
    text-align: center;
}

[data-gl="fc"] .gl-cat__logo { width: clamp(180px, 28vw, 300px); height: auto; max-width: min(78vw, 300px); object-fit: contain; filter: drop-shadow(0 0 20px rgba(var(--gl-cyan-rgb), 0.5)); }
[data-gl="fc"] .gl-cat__title { font-size: clamp(2rem, 6vw, 3.4rem); }

[data-gl="fc"] .gl-cat__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.75rem);
}
@media (max-width: 900px) {
    [data-gl="fc"] .gl-cat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

[data-gl="fc"] .gl-cat__card {
    --tone: var(--gl-cyan-rgb);
    position: relative;
    display: flex;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid rgba(var(--tone), 0.35);
    border-radius: var(--gl-radius-xl, 20px);
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

[data-gl="fc"] .gl-cat__card.is-f1 { --tone: 239, 68, 68; }

[data-gl="fc"] .gl-cat__card:hover,
[data-gl="fc"] .gl-cat__card:focus-visible {
    border-color: rgba(var(--tone), 0.85);
    box-shadow: 0 18px 50px rgba(var(--tone), 0.25);
    color: #fff;
    transform: translateY(-4px);
    outline: none;
}

[data-gl="fc"] .gl-cat__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-position: center;
    background-size: cover;
    transition: transform 0.6s ease;
}

[data-gl="fc"] .gl-cat__card:hover .gl-cat__media { transform: scale(1.05); }

[data-gl="fc"] .gl-cat__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(5, 7, 13, 0.15) 0%, rgba(5, 7, 13, 0.6) 45%, rgba(5, 7, 13, 0.96) 100%);
}

[data-gl="fc"] .gl-cat__body {
    display: grid;
    align-content: end;
    gap: var(--gl-space-2);
    width: 100%;
    padding: clamp(1.25rem, 3vw, 2rem);
}

[data-gl="fc"] .gl-cat__icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(var(--tone), 0.6);
    border-radius: var(--gl-radius-md);
    background: rgba(var(--tone), 0.16);
    color: rgb(var(--tone));
    font-size: 1.5rem;
    backdrop-filter: blur(6px);
}

[data-gl="fc"] .gl-cat__name {
    font-family: var(--gl-font-display);
    font-size: clamp(1.6rem, 3.5vw, 2.3rem);
    font-style: italic;
    font-weight: var(--gl-weight-black);
    line-height: 1;
    text-transform: uppercase;
}

[data-gl="fc"] .gl-cat__name b { color: rgb(var(--tone)); font-weight: inherit; }
[data-gl="fc"] .gl-cat__desc { color: rgba(255, 255, 255, 0.78); font-size: var(--gl-text-sm); line-height: 1.55; }

[data-gl="fc"] .gl-cat__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--gl-space-2);
    min-height: 46px;
    margin-top: var(--gl-space-2);
    border: 1px solid rgba(var(--tone), 0.7);
    border-radius: var(--gl-radius-md);
    background: rgba(var(--tone), 0.18);
    font-weight: var(--gl-weight-heavy);
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transition: background 0.2s;
}

[data-gl="fc"] .gl-cat__card:hover .gl-cat__cta { background: rgba(var(--tone), 0.4); }

@media (max-width: 767.98px) {
    [data-gl="fc"] .gl-cat__grid { grid-template-columns: minmax(0, 1fr); }
    [data-gl="fc"] .gl-cat__card { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
    [data-gl="fc"] .gl-cat__card,
    [data-gl="fc"] .gl-cat__media { transition: none; }
    [data-gl="fc"] .gl-cat__card:hover { transform: none; }
    [data-gl="fc"] .gl-cat__card:hover .gl-cat__media { transform: none; }
}

/* ========================================================================
   /categoria — ecosistema Ligas Host + mejoras comunes (2026-10)
   ======================================================================== */

/* Resplandor Host en el selector de ecosistemas */
[data-gl="fc"] .gl-auth__glow.is-violet { top: 40%; right: -20vmax; background: #51dfad; animation-delay: -14s; }

/* Tarjeta Host: verde jade y azul petróleo */
[data-gl="fc"] .gl-cat__card.is-host { --tone: 81, 223, 173; }

/* Insignia de ecosistema (top-left de cada tarjeta) */
[data-gl="fc"] .gl-cat__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 11px;
    border: 1px solid rgba(var(--tone), 0.65);
    border-radius: 999px;
    background: rgba(var(--tone), 0.18);
    color: rgb(var(--tone));
    font-size: 0.67rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Ícono: transición + rotación en hover */
[data-gl="fc"] .gl-cat__icon { transition: transform 0.35s cubic-bezier(.34,1.56,.64,1), background 0.25s; }
[data-gl="fc"] .gl-cat__card:hover .gl-cat__icon,
[data-gl="fc"] .gl-cat__card:focus-visible .gl-cat__icon { transform: rotate(10deg) scale(1.1); }

/* Aura de fondo por ecosistema (encendido al hover/focus) */
[data-gl="fc"] .gl-cat__aura {
    position: absolute;
    inset: -40px;
    z-index: -3;
    border-radius: var(--gl-radius-xl, 20px);
    background: radial-gradient(ellipse at 50% 90%, rgba(var(--tone), 0.5) 0%, transparent 62%);
    opacity: 0;
    transition: opacity 0.45s ease;
    pointer-events: none;
}
[data-gl="fc"] .gl-cat__card:hover .gl-cat__aura,
[data-gl="fc"] .gl-cat__card:focus-visible .gl-cat__aura { opacity: 1; }

/* Arte Host: fondo degradado + globo CSS + puntos */
[data-gl="fc"] .gl-cat__art-host {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    background:
        radial-gradient(ellipse 150% 130% at 65% 85%, rgba(81, 223, 173, 0.32) 0%, rgba(35, 157, 123, 0.18) 35%, transparent 62%),
        linear-gradient(170deg, #102f37 0%, #071b24 100%);
}
[data-gl="fc"] .gl-cat__globe {
    position: absolute;
    right: -45px;
    top: 50%;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    border: 1px solid rgba(81, 223, 173, 0.38);
    box-shadow: inset 0 0 50px rgba(81, 223, 173, 0.1), 0 0 35px rgba(81, 223, 173, 0.08);
    transform: translateY(-50%);
}
[data-gl="fc"] .gl-cat__globe::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(81, 223, 173, 0.22);
    transform: scaleX(0.38);
}
[data-gl="fc"] .gl-cat__globe::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 50%; height: 1px;
    background: rgba(81, 223, 173, 0.28);
    transform: translateY(-50%);
}
[data-gl="fc"] .gl-cat__dots { position: absolute; inset: 0; pointer-events: none; }
[data-gl="fc"] .gl-cat__dot {
    position: absolute;
    border-radius: 50%;
    background: rgba(81, 223, 173, 0.75);
    animation: gl-cat-dot 2.8s ease-in-out infinite;
}
[data-gl="fc"] .gl-cat__dot:nth-child(1){ left:18%;top:22%;width:4px;height:4px;animation-delay:0s }
[data-gl="fc"] .gl-cat__dot:nth-child(2){ left:38%;top:12%;width:3px;height:3px;animation-delay:.4s }
[data-gl="fc"] .gl-cat__dot:nth-child(3){ left:55%;top:30%;width:5px;height:5px;animation-delay:.8s }
[data-gl="fc"] .gl-cat__dot:nth-child(4){ left:25%;top:55%;width:3px;height:3px;animation-delay:1.2s }
[data-gl="fc"] .gl-cat__dot:nth-child(5){ left:70%;top:18%;width:4px;height:4px;animation-delay:.6s }
[data-gl="fc"] .gl-cat__dot:nth-child(6){ left:12%;top:75%;width:3px;height:3px;animation-delay:1.6s }
[data-gl="fc"] .gl-cat__dot:nth-child(7){ left:45%;top:68%;width:4px;height:4px;animation-delay:2s }
[data-gl="fc"] .gl-cat__dot:nth-child(8){ left:62%;top:50%;width:3px;height:3px;animation-delay:.2s }
@keyframes gl-cat-dot {
    0%,100%{ opacity:.25; transform:scale(1) }
    50%{ opacity:1; transform:scale(1.6) }
}

/* Estadísticas en vivo */
[data-gl="fc"] .gl-cat__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.05);
    gap: 1px;
}
[data-gl="fc"] .gl-cat__stat {
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 20px 12px;
    background: rgba(5, 7, 13, 0.68);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    text-align: center;
}
[data-gl="fc"] .gl-cat__stat strong {
    display: block;
    font-family: var(--gl-font-display);
    font-size: clamp(1.5rem, 3.2vw, 2.4rem);
    font-style: italic;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    color: var(--gl-text);
}
[data-gl="fc"] .gl-cat__stat strong.is-host-stat { color: rgb(81, 223, 173); }
[data-gl="fc"] .gl-cat__stat span {
    color: var(--gl-text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.4;
}

/* Enlace "Conviértete en Host" */
[data-gl="fc"] .gl-cat__host-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(81, 223, 173, 0.8);
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s, gap 0.2s;
}
[data-gl="fc"] .gl-cat__host-link:hover { color: rgb(35, 157, 123); gap: 13px; }
[data-gl="fc"] .gl-cat__host-link:focus-visible { outline: 2px solid var(--gl-yellow, #FFC21A); outline-offset: 3px; border-radius: 4px; }

/* Animación encadenada — stagger de tarjetas */
[data-gl="fc"] .gl-cat__stats.gl-anim-slide-up { animation-delay: 0.05s; animation-fill-mode: backwards; }
[data-gl="fc"] .gl-cat__head.gl-anim-slide-up { animation-delay: 0.12s; animation-fill-mode: backwards; }
[data-gl="fc"] .gl-cat__grid .gl-cat__card:nth-child(1) { animation-delay: 0.22s; animation-fill-mode: backwards; }
[data-gl="fc"] .gl-cat__grid .gl-cat__card:nth-child(2) { animation-delay: 0.32s; animation-fill-mode: backwards; }
[data-gl="fc"] .gl-cat__grid .gl-cat__card:nth-child(3) { animation-delay: 0.42s; animation-fill-mode: backwards; }
[data-gl="fc"] .gl-cat__host-link.gl-anim-slide-up { animation-delay: 0.52s; animation-fill-mode: backwards; }

/* Responsive: stats en columna en móvil */
@media (max-width: 640px) {
    [data-gl="fc"] .gl-cat__stats { grid-template-columns: 1fr; }
    [data-gl="fc"] .gl-cat__stat { padding: 14px; flex-direction: row; justify-content: space-between; }
    [data-gl="fc"] .gl-cat__globe { width: 140px; height: 140px; right: -28px; }
}

@media (prefers-reduced-motion: reduce) {
    [data-gl="fc"] .gl-cat__dot { animation: none; opacity: 0.4; }
    [data-gl="fc"] .gl-cat__aura { transition: none; }
    [data-gl="fc"] .gl-cat__icon { transition: none; }
    [data-gl="fc"] .gl-cat__host-link { transition: none; }
    [data-gl="fc"] .gl-cat__grid .gl-cat__card { animation-delay: 0s !important; animation-fill-mode: none !important; }
    [data-gl="fc"] .gl-cat__stats,
    [data-gl="fc"] .gl-cat__head,
    [data-gl="fc"] .gl-cat__host-link { animation-delay: 0s !important; animation-fill-mode: none !important; }
}

/* /categoria v2: FC principal y Host grafito y cobre. El alcance no cambia otras páginas auth. */
[data-gl="fc"].gl-cat {
    --gl-cat-host-copper: #D99062;
    --gl-cat-host-light: #E8AD89;
    --gl-cat-host-tone: 217, 144, 98;
}
[data-gl="fc"].gl-cat .gl-auth__particle { left: var(--p); width: var(--w); height: var(--w); animation-duration: var(--c); animation-delay: var(--q); opacity: var(--i); }
[data-gl="fc"] .gl-auth__glow.is-gold { top: 42%; right: -20vmax; background: var(--gl-cat-host-copper); animation-delay: -14s; }
[data-gl="fc"] .gl-cat__inner { width: min(1240px, 100%); gap: clamp(1.25rem, 2.8vw, 2rem); padding-block: clamp(1.25rem, 3vw, 2rem); }
[data-gl="fc"] .gl-cat__topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
[data-gl="fc"] .gl-cat__logo { width: clamp(140px, 20vw, 220px); max-width: 52vw; filter: drop-shadow(0 0 16px rgba(var(--gl-cyan-rgb), .34)); }
[data-gl="fc"] .gl-cat__help { display: flex; align-items: center; gap: .45rem; margin: 0; color: var(--gl-text-muted); font-size: .83rem; }
[data-gl="fc"] .gl-cat__help a { color: var(--gl-text); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
[data-gl="fc"] .gl-cat__help a:hover { color: var(--gl-cyan); }
[data-gl="fc"] .gl-cat__help a:focus-visible,
[data-gl="fc"] .gl-cat__more a:focus-visible { outline: 2px solid var(--gl-cat-host-light); outline-offset: 4px; border-radius: 4px; }
[data-gl="fc"] .gl-cat__stats { width: fit-content; max-width: 100%; justify-self: center; }
[data-gl="fc"] .gl-cat__stat { min-width: clamp(136px, 15vw, 180px); }
[data-gl="fc"] .gl-cat__stat strong.is-host-stat { color: var(--gl-cat-host-light); }
[data-gl="fc"] .gl-cat__live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 3px; border-radius: 50%; background: var(--gl-green, #2BD67B); vertical-align: 1px; animation: gl-cat-live-pulse 1.8s ease-out infinite; }
@keyframes gl-cat-live-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(43,214,123,.52); } 70% { box-shadow: 0 0 0 7px rgba(43,214,123,0); } }
[data-gl="fc"] .gl-cat__head .gl-auth__lead { max-width: 570px; }

[data-gl="fc"] .gl-cat__grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(225px, 1fr));
    gap: clamp(.9rem, 1.5vw, 1.15rem);
    isolation: isolate;
}
[data-gl="fc"] .gl-cat__slot { position: relative; min-width: 0; min-height: 225px; isolation: isolate; }
[data-gl="fc"] .gl-cat__slot.is-fc { grid-row: 1 / span 2; min-height: 468px; }
[data-gl="fc"] .gl-cat__slot::before {
    content: "";
    position: absolute;
    inset: -26px;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
    transition: opacity .45s ease;
}
[data-gl="fc"] .gl-cat__slot.is-fc::before { background: radial-gradient(ellipse at 40% 60%, rgba(var(--gl-cyan-rgb),.24), transparent 68%); }
[data-gl="fc"] .gl-cat__slot.is-f1::before { background: radial-gradient(ellipse at 60% 50%, rgba(239,68,68,.24), transparent 68%); }
[data-gl="fc"] .gl-cat__slot.is-host::before { background: radial-gradient(ellipse at 60% 50%, rgba(var(--gl-cat-host-tone),.24), transparent 68%); }
[data-gl="fc"] .gl-cat__slot:hover::before,
[data-gl="fc"] .gl-cat__slot:focus-within::before { opacity: 1; }
[data-gl="fc"] .gl-cat__slot.is-fc::after {
    content: "";
    position: absolute;
    inset: -2px;
    z-index: 2;
    pointer-events: none;
    border: 1px solid rgba(var(--gl-cyan-rgb), .48);
    border-radius: calc(var(--gl-radius-xl, 20px) + 2px);
    box-shadow: 0 0 30px rgba(var(--gl-cyan-rgb), .38);
    animation: gl-cat-breathe 3.8s ease-in-out infinite;
}
@keyframes gl-cat-breathe { 0%,100% { opacity: .42; } 50% { opacity: 1; } }
[data-gl="fc"] .gl-cat__slot .gl-cat__card { width: 100%; height: 100%; min-height: 0; }
[data-gl="fc"] .gl-cat__card.is-fc .gl-cat__media { background-image: url('/images/fc.webp'); }
[data-gl="fc"] .gl-cat__card.is-f1 .gl-cat__media { background-image: url('/images/f1.webp'); }
[data-gl="fc"] .gl-cat__slot.is-fc .gl-cat__card { border-color: rgba(var(--gl-cyan-rgb), .48); }
[data-gl="fc"] .gl-cat__card:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
[data-gl="fc"] .gl-cat__slot:nth-child(1) .gl-cat__card { animation-delay: .22s; }
[data-gl="fc"] .gl-cat__slot:nth-child(2) .gl-cat__card { animation-delay: .32s; }
[data-gl="fc"] .gl-cat__slot:nth-child(3) .gl-cat__card { animation-delay: .42s; }
[data-gl="fc"] .gl-cat__slot.is-fc .gl-cat__body { padding: clamp(1.5rem, 3vw, 2.2rem); }
[data-gl="fc"] .gl-cat__slot.is-fc .gl-cat__icon { width: 64px; height: 64px; font-size: 1.85rem; }
[data-gl="fc"] .gl-cat__slot.is-fc .gl-cat__name { font-size: clamp(2rem, 3vw, 2.75rem); }
[data-gl="fc"] .gl-cat__slot.is-fc .gl-cat__desc { max-width: 40ch; font-size: .9rem; }
[data-gl="fc"] .gl-cat__slot.is-fc .gl-cat__cta { min-height: 48px; padding-inline: 1.2rem; }
[data-gl="fc"] .gl-cat__ribbon {
    position: absolute;
    top: 17px;
    left: 17px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 999px;
    background: linear-gradient(100deg, var(--gl-cyan), #2B6CFF);
    color: #04131A;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .065em;
}

[data-gl="fc"] .gl-cat__card.is-host { --tone: var(--gl-cat-host-tone); background: #101216; border-color: rgba(var(--gl-cat-host-tone),.4); }
[data-gl="fc"] .gl-cat__card.is-host .gl-cat__art-host {
    background: radial-gradient(80% 85% at 24% 8%, rgba(var(--gl-cat-host-tone),.22), transparent 70%), linear-gradient(165deg,#1D2229,#101216 74%);
}
[data-gl="fc"] .gl-cat__host-pattern {
    position: absolute;
    inset: 0;
    opacity: .58;
    background-image: linear-gradient(135deg,transparent 46%,rgba(var(--gl-cat-host-tone),.13) 47%,rgba(var(--gl-cat-host-tone),.13) 48%,transparent 49%),
                      linear-gradient(-135deg,transparent 46%,rgba(var(--gl-cat-host-tone),.09) 47%,rgba(var(--gl-cat-host-tone),.09) 48%,transparent 49%);
    background-size: 82px 82px;
}
[data-gl="fc"] .gl-cat__host-emblem { position: absolute; right: -2%; bottom: -25%; font-size: 12rem; color: rgba(var(--gl-cat-host-tone),.12); transform: rotate(-8deg); }
[data-gl="fc"] .gl-cat__card.is-host .gl-cat__badge { background: linear-gradient(90deg,var(--gl-cat-host-copper),var(--gl-cat-host-light)); color: #17191D; border-color: transparent; }
[data-gl="fc"] .gl-cat__card.is-host .gl-cat__icon { background: linear-gradient(145deg,rgba(var(--gl-cat-host-tone),.4),rgba(var(--gl-cat-host-tone),.13)); color: var(--gl-cat-host-light); }
[data-gl="fc"] .gl-cat__card.is-host .gl-cat__name b { color: var(--gl-cat-host-light); }
[data-gl="fc"] .gl-cat__card.is-host .gl-cat__cta { width: fit-content; padding-inline: 1rem; background: linear-gradient(90deg,var(--gl-cat-host-copper),var(--gl-cat-host-light)); border-color: transparent; color: #17191D; }
[data-gl="fc"] .gl-cat__card.is-host:hover .gl-cat__cta { background: linear-gradient(90deg,var(--gl-cat-host-light),var(--gl-cat-host-copper)); }

[data-gl="fc"] .gl-cat__more {
    display: flex;
    align-items: center;
    justify-self: center;
    gap: .85rem;
    padding: .85rem 1.2rem;
    border: 1px dashed rgba(var(--gl-cat-host-tone),.4);
    border-radius: var(--gl-radius-md, 14px);
    background: rgba(var(--gl-cat-host-tone),.06);
    color: var(--gl-text-secondary);
    font-size: .85rem;
}
[data-gl="fc"] .gl-cat__more > i { color: var(--gl-cat-host-light); font-size: 1.2rem; }
[data-gl="fc"] .gl-cat__more a { color: var(--gl-cat-host-light); font-weight: 800; text-decoration: none; white-space: nowrap; }
[data-gl="fc"] .gl-cat__more a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
    [data-gl="fc"] .gl-cat__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
    [data-gl="fc"] .gl-cat__slot.is-fc { grid-row: auto; min-height: 370px; }
    [data-gl="fc"] .gl-cat__slot:not(.is-fc) { min-height: 245px; }
}
@media (max-width: 640px) {
    [data-gl="fc"] .gl-cat__stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 560px) {
    [data-gl="fc"] .gl-cat__topbar { flex-direction: column; align-items: center; gap: .5rem; }
    [data-gl="fc"] .gl-cat__help { justify-content: center; flex-wrap: wrap; text-align: center; }
    [data-gl="fc"] .gl-cat__stats { width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); }
    [data-gl="fc"] .gl-cat__stat { min-width: 0; min-height: 91px; padding: 13px 6px; align-content: center; }
    [data-gl="fc"] .gl-cat__stat span { font-size: .58rem; letter-spacing: .04em; }
    [data-gl="fc"] .gl-cat__slot.is-fc { min-height: 385px; }
    [data-gl="fc"] .gl-cat__slot:not(.is-fc) { min-height: 265px; }
    [data-gl="fc"] .gl-cat__more { flex-wrap: wrap; justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    [data-gl="fc"] .gl-cat__live-dot,
    [data-gl="fc"] .gl-cat__slot.is-fc::after { animation: none; }
    [data-gl="fc"] .gl-cat__slot::before { transition: none; }
    [data-gl="fc"] .gl-cat__slot .gl-cat__card { animation-delay: 0s; }
    [data-gl="fc"] .gl-cat__card:focus-visible { transform: none; }
}

/* ===== /categoria: paleta real del tema Experiencia (2026-10-27) =====
   Fondo, cristales y brillos de la página salen de los tokens activos (--gl-bg-primary, --glass-*, --theme-secondary-rgb,
   --gl-gold), igual que /home. Solo afecta a .gl-cat; la tarjeta Ligas Host usa su propio cobre. */
[data-gl="fc"].gl-cat { background: var(--gl-bg-primary); }
[data-gl="fc"].gl-cat .gl-auth__glow.is-red { background: rgb(var(--theme-secondary-rgb, 123, 47, 255)); opacity: .4; }
[data-gl="fc"].gl-cat .gl-auth__glow.is-gold { background: var(--gl-gold); opacity: .22; }
[data-gl="fc"].gl-cat .gl-cat__stats { border-color: var(--glass-border); background: var(--glass-border); }
[data-gl="fc"].gl-cat .gl-cat__stat { background: var(--glass-background); }
[data-gl="fc"].gl-cat .gl-cat__stat strong.is-host-stat { color: var(--gl-cat-host-light, var(--gl-gold)); }

/* ===== /categoria: pulido (2026-10-27) ===== */
/* 1) Franja de cifras: cristal translúcido como las tarjetas, sin la caja cian sólida. */
[data-gl="fc"].gl-cat .gl-cat__stats { gap: 0; border: 1px solid var(--gl-border); background: transparent; }
[data-gl="fc"].gl-cat .gl-cat__stat { background: var(--glass-background); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
[data-gl="fc"].gl-cat .gl-cat__stat + .gl-cat__stat { border-left: 1px solid var(--gl-border); }
/* 2) Insignia de estado arriba a la derecha en las tres tarjetas (identidad arriba a la izquierda). */
[data-gl="fc"] .gl-cat__live { position: absolute; top: 16px; right: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; height: 25px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(var(--tone), .55); background: rgba(5, 7, 13, .6); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .06em; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
[data-gl="fc"] .gl-cat__live-pulse { width: 6px; height: 6px; border-radius: 50%; background: rgb(var(--tone)); box-shadow: 0 0 0 0 rgba(var(--tone), .6); animation: gl-cat-live-ring 1.8s infinite; }
@keyframes gl-cat-live-ring { 0% { box-shadow: 0 0 0 0 rgba(var(--tone), .55); } 70% { box-shadow: 0 0 0 6px rgba(var(--tone), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--tone), 0); } }
@media (prefers-reduced-motion: reduce) { [data-gl="fc"] .gl-cat__live-pulse { animation: none; } }
/* 3) Cuadrícula de fondo en toda la altura (sin el desvanecido radial que dejaba una costura). */
[data-gl="fc"].gl-cat .gl-auth__grid { mask-image: none; -webkit-mask-image: none; }

@media (max-width: 480px) { [data-gl="fc"] .gl-cat__live-txt { display: none; } [data-gl="fc"] .gl-cat__live { padding: 0 9px; } }


/* ===== /categoria: compactar para que todo quepa sin scroll en 1366x768 (2026-10-27) ===== */
[data-gl="fc"].gl-cat { padding-block: clamp(.5rem, 1.6vh, 1rem); }
[data-gl="fc"].gl-cat .gl-cat__inner { gap: clamp(.6rem, 1.6vh, 1rem); padding-block: 0; }
[data-gl="fc"].gl-cat .gl-cat__logo { width: clamp(96px, 7vw, 132px); filter: drop-shadow(0 0 12px rgba(var(--gl-cyan-rgb), .3)); }
[data-gl="fc"].gl-cat .gl-cat__topbar { justify-content: flex-start; }
[data-gl="fc"].gl-cat .gl-cat__stat { padding: 9px 16px; gap: 2px; }
[data-gl="fc"].gl-cat .gl-cat__stat strong { font-size: clamp(1.25rem, 2.2vw, 1.7rem); line-height: 1.05; }
[data-gl="fc"].gl-cat .gl-cat__stat span { font-size: .62rem; }
[data-gl="fc"].gl-cat .gl-cat__head { gap: 4px; }
[data-gl="fc"].gl-cat .gl-auth__network { font-size: .95rem; }
[data-gl="fc"].gl-cat .gl-cat__title { font-size: clamp(1.7rem, 2.7vw, 2.6rem); }
[data-gl="fc"].gl-cat .gl-cat__head .gl-auth__lead { max-width: 780px; font-size: .86rem; line-height: 1.4; }
/* Tarjetas: contenido compacto y alineado (icono, título, descripción, botón) */
[data-gl="fc"].gl-cat .gl-cat__body { gap: 6px; padding: clamp(.9rem, 1.6vw, 1.25rem); }
[data-gl="fc"].gl-cat .gl-cat__icon { width: 42px; height: 42px; font-size: 1.2rem; }
[data-gl="fc"].gl-cat .gl-cat__name { font-size: clamp(1.35rem, 2.2vw, 1.8rem); }
[data-gl="fc"].gl-cat .gl-cat__desc { font-size: .8rem; line-height: 1.4; }
[data-gl="fc"].gl-cat .gl-cat__cta { min-height: 40px; margin-top: 4px; }
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc .gl-cat__body { padding: clamp(1rem, 2vw, 1.5rem); }
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc .gl-cat__icon { width: 52px; height: 52px; font-size: 1.5rem; }
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc .gl-cat__name { font-size: clamp(1.7rem, 2.6vw, 2.3rem); }
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc .gl-cat__cta { min-height: 44px; }
[data-gl="fc"].gl-cat .gl-cat__more { padding: .55rem 1rem; }
@media (min-width: 901px) {
    /* El alto de las filas crece con el viewport (hasta 290px) pero nunca baja de 196px. */
    [data-gl="fc"].gl-cat .gl-cat__grid { grid-template-rows: repeat(2, minmax(clamp(206px, 26vh, 290px), auto)); gap: clamp(.6rem, 1.4vh, 1rem); }
    [data-gl="fc"].gl-cat .gl-cat__slot { min-height: 0; }
    [data-gl="fc"].gl-cat .gl-cat__slot.is-fc { min-height: 0; }
}
@media (max-width: 900px) {
    [data-gl="fc"].gl-cat .gl-cat__slot.is-fc { min-height: 330px; }
    [data-gl="fc"].gl-cat .gl-cat__slot:not(.is-fc) { min-height: 215px; }
}
@media (max-width: 560px) {
    [data-gl="fc"].gl-cat .gl-cat__stat { min-height: 0; padding: 8px 6px; }
    [data-gl="fc"].gl-cat .gl-cat__topbar { align-items: flex-start; }
    [data-gl="fc"].gl-cat .gl-cat__slot.is-fc { min-height: 340px; }
    [data-gl="fc"].gl-cat .gl-cat__slot:not(.is-fc) { min-height: 225px; }
}
/* Defecto: el logotipo "EA SPORTS FC26" viene dentro de fc.webp (esquina inferior izquierda) y se transparentaba
   bajo el botón. Se recorta desplazando la foto y se oscurece el pie de la tarjeta. */
[data-gl="fc"] .gl-cat__card.is-fc .gl-cat__media { background-position: 90% center; }
[data-gl="fc"] .gl-cat__card.is-fc .gl-cat__shade { background: linear-gradient(180deg, rgba(5,7,13,.1) 0%, rgba(5,7,13,.55) 42%, rgba(5,7,13,.92) 72%, #05070d 100%); }
/* F1 y Host: icono junto al título (libera el alto que ocupaba el icono y evita que la insignia de identidad lo tape). */
[data-gl="fc"].gl-cat .gl-cat__slot:not(.is-fc) .gl-cat__body { grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 6px; align-items: center; align-content: end; }
[data-gl="fc"].gl-cat .gl-cat__slot:not(.is-fc) .gl-cat__desc,
[data-gl="fc"].gl-cat .gl-cat__slot:not(.is-fc) .gl-cat__cta { grid-column: 1 / -1; }

/* ===== /iniciar-sesion: fondo del tema Experiencia en lugar del efecto glitch (2026-10-27) =====
   Mismas auroras que /categoria (violeta/cian/dorado con tokens del tema), estrellas titilando, borde de la tarjeta
   con degradado cian-dorado que gira, 3 orbes que flotan y botón con destello. Solo afecta a .gl-login; el cristal
   de la tarjeta (.gl-glass-panel) no se modifica. */
body:has(.gl-login) { background-image: none; }
[data-gl="fc"].gl-login { background: var(--gl-bg-primary); }
[data-gl="fc"].gl-login .gl-auth__glow.is-magenta { background: rgb(var(--theme-secondary-rgb, 123, 47, 255)); opacity: .4; }
[data-gl="fc"].gl-login .gl-auth__glow.is-gold { top: 42%; right: -20vmax; background: var(--gl-gold); opacity: .2; animation-delay: -14s; }
[data-gl="fc"] .gl-auth__star { position: absolute; left: var(--p); top: var(--t); width: 2px; height: 2px; border-radius: 50%; background: #fff; opacity: .5; animation: gl-auth-twinkle var(--c, 3s) ease-in-out var(--q, 0s) infinite; }
@keyframes gl-auth-twinkle { 0%, 100% { opacity: .12; transform: scale(.7); } 50% { opacity: .85; transform: scale(1.25); } }

/* Borde animado: degradado cian-dorado que recorre la tarjeta (el borde de vidrio de glass.css queda debajo) */
@property --gl-ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
[data-gl="fc"].gl-login .gl-auth__card::after {
    content: ""; position: absolute; inset: -1px; z-index: -1; padding: 1px; border-radius: inherit; pointer-events: none;
    background: conic-gradient(from var(--gl-ang), transparent 0 70%, rgba(var(--gl-cyan-rgb), .7) 80%, rgba(var(--gl-gold-rgb, 250, 204, 21), .9) 87%, rgba(var(--gl-cyan-rgb), .7) 94%, transparent 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box exclude, linear-gradient(#fff 0 0);
    animation: gl-auth-sweep 6s linear infinite;
}
@keyframes gl-auth-sweep { to { --gl-ang: 360deg; } }

/* Orbes de color alrededor de la tarjeta */
[data-gl="fc"] .gl-auth__orb { position: absolute; z-index: 2; border-radius: 50%; pointer-events: none; opacity: .85; animation: gl-auth-float 7s ease-in-out infinite; }
[data-gl="fc"] .gl-auth__orb.is-1 { width: 7px; height: 7px; top: -18px; left: 10%; background: var(--gl-cyan); box-shadow: 0 0 12px 3px var(--gl-cyan); }
[data-gl="fc"] .gl-auth__orb.is-2 { width: 5px; height: 5px; bottom: 40px; right: -16px; background: var(--gl-gold); box-shadow: 0 0 10px 3px var(--gl-gold); animation-delay: -2.3s; }
[data-gl="fc"] .gl-auth__orb.is-3 { width: 6px; height: 6px; top: 45%; left: -20px; background: var(--theme-secondary, #b57bff); box-shadow: 0 0 10px 3px var(--theme-secondary, #b57bff); animation-delay: -4.6s; }
@keyframes gl-auth-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

/* Mostrar/ocultar contraseña */
[data-gl="fc"] .gl-auth__input input.has-toggle { padding-right: 2.9rem; }
[data-gl="fc"] .gl-auth__toggle { position: absolute; top: 50%; right: .45rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; transform: translateY(-50%); border: 0; border-radius: 8px; background: transparent; color: var(--gl-text-muted); cursor: pointer; transition: color .15s; }
[data-gl="fc"] .gl-auth__toggle:hover { color: var(--gl-text); }
[data-gl="fc"] .gl-auth__toggle:focus-visible { outline: 2px solid var(--gl-cyan); outline-offset: 2px; }

/* Botón "Entrar al juego": destello periódico (el estado de carga lo pone glLockSubmit con un spinner) */
[data-gl="fc"].gl-login .gl-auth__submit { position: relative; overflow: hidden; }
[data-gl="fc"].gl-login .gl-auth__submit::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; pointer-events: none; background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .5), transparent); animation: gl-auth-shine 3.2s ease-in-out infinite; }
@keyframes gl-auth-shine { 0% { left: -60%; } 35%, 100% { left: 140%; } }
[data-gl="fc"].gl-login .gl-auth__submit[aria-busy="true"]::after { display: none; }

/* Campos: resalte cian al enfocar (borde + resplandor) */
[data-gl="fc"].gl-login .gl-auth__input input:focus { border-color: var(--gl-cyan); box-shadow: 0 0 0 3px rgba(var(--gl-cyan-rgb), .2), 0 0 18px rgba(var(--gl-cyan-rgb), .18); }

/* Reducir movimiento: sin auroras, estrellas, orbes, borde animado ni destello; el formulario no cambia. */
@media (prefers-reduced-motion: reduce) {
    [data-gl="fc"].gl-login .gl-auth__glow, [data-gl="fc"].gl-login .gl-auth__star, [data-gl="fc"].gl-login .gl-auth__orb,
    [data-gl="fc"].gl-login .gl-auth__card::after, [data-gl="fc"].gl-login .gl-auth__submit::after { display: none; }
}

/* ===== /categoria: diseño de referencia v3 (2026-10-27) =====
   Barra de accesos, franja de cifras con iconos, tarjetas con texto a la izquierda y arte a la derecha, brillos
   de borde por ecosistema y fondo de estadio con CSS. Todo con tokens del tema; sin cambiar los 3 ecosistemas. */
[data-gl="fc"].gl-cat .gl-auth__bg::before { content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 16% 24% at 5% 3%, rgba(170, 205, 255, .30), transparent 70%),
        radial-gradient(ellipse 16% 24% at 95% 3%, rgba(170, 205, 255, .30), transparent 70%),
        linear-gradient(180deg, transparent 82%, rgba(22, 96, 52, .38)); }

/* Barra superior: logo + accesos */
[data-gl="fc"].gl-cat .gl-cat__nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: .3rem .9rem; border: 1px solid var(--gl-border); border-radius: 18px; background: var(--glass-background); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
[data-gl="fc"].gl-cat .gl-cat__nav::after { content: ""; flex: 0 0 clamp(96px, 7vw, 132px); }
[data-gl="fc"].gl-cat .gl-cat__navlinks { display: flex; flex: 1; flex-wrap: wrap; justify-content: center; gap: .2rem; }
[data-gl="fc"].gl-cat .gl-cat__navlinks a { display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .9rem; border: 1px solid transparent; border-radius: 10px; color: var(--gl-text); font-size: .82rem; font-weight: 700; text-decoration: none; }
[data-gl="fc"].gl-cat .gl-cat__navlinks a:hover { background: rgba(255, 255, 255, .07); }
[data-gl="fc"].gl-cat .gl-cat__navlinks a:focus-visible { outline: 2px solid var(--gl-cyan); outline-offset: 2px; }
[data-gl="fc"].gl-cat .gl-cat__navlinks a.is-primary { border-color: var(--gl-cyan); background: rgba(var(--gl-cyan-rgb), .12); box-shadow: 0 0 14px rgba(var(--gl-cyan-rgb), .3); }

/* Título: líneas a los lados del saludo, subrayado de pincel en el acento y énfasis en el subtítulo */
[data-gl="fc"].gl-cat .gl-auth__network { display: inline-flex; align-items: center; gap: .8rem; }
[data-gl="fc"].gl-cat .gl-auth__network::before, [data-gl="fc"].gl-cat .gl-auth__network::after { content: ""; width: clamp(28px, 6vw, 90px); height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .6)); }
[data-gl="fc"].gl-cat .gl-auth__network::after { transform: scaleX(-1); }
[data-gl="fc"].gl-cat .gl-cat__title .gl-accent { position: relative; display: inline-block; }
[data-gl="fc"].gl-cat .gl-cat__title .gl-accent::after { content: ""; position: absolute; left: 4%; right: 2%; bottom: -5px; height: 4px; border-radius: 4px; transform: rotate(-1deg); background: linear-gradient(90deg, #e879f9, var(--gl-cyan)); }
[data-gl="fc"].gl-cat .gl-auth__lead b { color: #fff; }

/* Franja de cifras con iconos */
[data-gl="fc"].gl-cat .gl-cat__stats { justify-self: center; width: min(860px, 100%); border: 1px solid rgba(var(--gl-cyan-rgb), .4); border-radius: 18px; background: var(--glass-background); box-shadow: 0 0 18px rgba(var(--gl-cyan-rgb), .14); }
[data-gl="fc"].gl-cat .gl-cat__stat { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: 8px 14px; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; text-align: left; }
[data-gl="fc"].gl-cat .gl-cat__stat-ico { font-size: 1.6rem; line-height: 1; }
[data-gl="fc"].gl-cat .gl-cat__stat.is-comp .gl-cat__stat-ico { color: var(--gl-success); }
[data-gl="fc"].gl-cat .gl-cat__stat.is-players .gl-cat__stat-ico { color: #b38cff; }
[data-gl="fc"].gl-cat .gl-cat__stat.is-host .gl-cat__stat-ico { color: var(--gl-cat-host-copper); }
[data-gl="fc"].gl-cat .gl-cat__stat-txt { display: grid; gap: 1px; justify-items: start; }
[data-gl="fc"].gl-cat .gl-cat__stat-txt strong { color: #fff; }
[data-gl="fc"].gl-cat .gl-cat__stat-txt strong.is-host-stat { color: #fff; }

/* Tarjetas: icono junto al título en las tres; botones y brillos de borde */
[data-gl="fc"].gl-cat .gl-cat__body { grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 6px; align-items: center; align-content: end; }
[data-gl="fc"].gl-cat .gl-cat__desc, [data-gl="fc"].gl-cat .gl-cat__cta { grid-column: 1 / -1; }
[data-gl="fc"].gl-cat .gl-cat__card.is-fc .gl-cat__name b, [data-gl="fc"].gl-cat .gl-cat__card.is-f1 .gl-cat__name b { display: block; }
[data-gl="fc"].gl-cat .gl-cat__cta { width: fit-content; padding-inline: 1.3rem; border-radius: 12px; }
[data-gl="fc"].gl-cat .gl-cat__card.is-fc .gl-cat__cta { background: var(--gl-cyan); border-color: transparent; color: #04131a; box-shadow: 0 10px 24px -12px rgba(var(--gl-cyan-rgb), .8); }
[data-gl="fc"].gl-cat .gl-cat__card.is-fc:hover .gl-cat__cta { background: #7ff0ff; }
[data-gl="fc"].gl-cat .gl-cat__card.is-fc .gl-cat__live-pulse { background: var(--gl-success); }
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc .gl-cat__card { border: 1.5px solid var(--gl-cyan); box-shadow: 0 0 26px rgba(var(--gl-cyan-rgb), .38), inset 0 0 26px rgba(var(--gl-cyan-rgb), .1); }
[data-gl="fc"].gl-cat .gl-cat__slot.is-f1 .gl-cat__card { border: 1.5px solid rgba(239, 68, 68, .85); box-shadow: 0 0 22px rgba(239, 68, 68, .35), inset 0 0 22px rgba(236, 72, 153, .12); }
[data-gl="fc"].gl-cat .gl-cat__slot.is-host .gl-cat__card { border: 1.5px solid var(--gl-cat-host-copper); box-shadow: 0 0 22px rgba(var(--gl-cat-host-tone), .32), inset 0 0 22px rgba(var(--gl-cat-host-tone), .08); }
@media (min-width: 901px) {
    /* Texto a la izquierda, arte a la derecha con desvanecido hacia el texto */
    [data-gl="fc"].gl-cat .gl-cat__card.is-fc .gl-cat__media { inset: 0 0 0 36%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 36%); mask-image: linear-gradient(90deg, transparent 0, #000 36%); background-position: 70% center; }
    [data-gl="fc"].gl-cat .gl-cat__card.is-f1 .gl-cat__media { inset: 0 0 0 38%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%); mask-image: linear-gradient(90deg, transparent 0, #000 40%); }
    [data-gl="fc"].gl-cat .gl-cat__card.is-fc .gl-cat__shade { background: linear-gradient(90deg, rgba(5, 7, 13, .94) 0%, rgba(5, 7, 13, .6) 38%, transparent 70%); }
    [data-gl="fc"].gl-cat .gl-cat__card.is-f1 .gl-cat__shade { background: linear-gradient(90deg, rgba(14, 6, 20, .94) 0%, rgba(14, 6, 20, .6) 40%, transparent 72%); }
    [data-gl="fc"].gl-cat .gl-cat__slot.is-fc .gl-cat__body { max-width: 56%; align-content: center; }
    [data-gl="fc"].gl-cat .gl-cat__slot.is-f1 .gl-cat__body { max-width: 66%; }
}
/* Pie: píldora con borde dorado */
[data-gl="fc"].gl-cat .gl-cat__more { border: 1px solid var(--gl-cat-host-copper); border-radius: 999px; background: rgba(5, 7, 13, .72); padding: .5rem 1.4rem; }
@media (max-width: 700px) {
    [data-gl="fc"].gl-cat .gl-cat__nav { flex-wrap: wrap; justify-content: center; }
    [data-gl="fc"].gl-cat .gl-cat__nav::after { display: none; }
    [data-gl="fc"].gl-cat .gl-cat__navlinks a { padding: .4rem .6rem; font-size: .74rem; }
}
@media (max-width: 560px) {
    [data-gl="fc"].gl-cat .gl-cat__navlinks a { font-size: 0; gap: 0; padding: .45rem .7rem; }
    [data-gl="fc"].gl-cat .gl-cat__navlinks a i { font-size: 1.1rem; }
    [data-gl="fc"].gl-cat .gl-cat__stat { flex-direction: column; gap: 4px; text-align: center; padding: 8px 4px; }
    [data-gl="fc"].gl-cat .gl-cat__stat-txt { justify-items: center; }
}


/* ===== /categoria con el diseño del login (2026-10-27) =====
   Reutiliza AuthBackdrop/AuthOrbs y las clases .gl-login: auroras, estrellas, orbes, borde que gira y destello en botones. */
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc { --gl-ang: 0deg; }
[data-gl="fc"].gl-cat .gl-cat__slot.is-fc::after {
    inset: -2px; border: 0; padding: 2px; box-shadow: none; opacity: 1; z-index: 3; border-radius: calc(var(--gl-radius-xl, 20px) + 2px);
    background: conic-gradient(from var(--gl-ang), transparent 0 62%, rgba(var(--gl-cyan-rgb), .75) 76%, rgba(var(--gl-gold-rgb, 250, 204, 21), .95) 85%, rgba(var(--gl-cyan-rgb), .75) 94%, transparent 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box exclude, linear-gradient(#fff 0 0);
    animation: gl-auth-sweep 6s linear infinite;
}
[data-gl="fc"].gl-cat .gl-cat__cta { position: relative; overflow: hidden; }
[data-gl="fc"].gl-cat .gl-cat__cta::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; pointer-events: none; background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .45), transparent); animation: gl-auth-shine 3.2s ease-in-out infinite; }
[data-gl="fc"].gl-cat .gl-cat__card:not(.is-fc) .gl-cat__cta::after { animation-delay: 1.1s; }
[data-gl="fc"].gl-cat .gl-auth__orb { z-index: 4; }
@media (prefers-reduced-motion: reduce) {
    [data-gl="fc"].gl-cat .gl-cat__slot.is-fc::after, [data-gl="fc"].gl-cat .gl-cat__cta::after { display: none; }
}

/* /categoria: imagen proporcionada para la tarjeta GLN PARTNERS (2026-10-29). */
[data-gl="fc"].gl-cat .gl-cat__card.is-host .gl-cat__media {
    background-image: url('/images/gln-partners-card.webp');
    background-position: 50% 38%;
}
[data-gl="fc"].gl-cat .gl-cat__card.is-host .gl-cat__shade {
    background: linear-gradient(90deg, rgba(8, 10, 14, .90) 0%, rgba(8, 10, 14, .68) 45%, rgba(8, 10, 14, .16) 100%),
                linear-gradient(0deg, rgba(8, 10, 14, .78), transparent 72%);
}
@media (max-width: 900px) {
    [data-gl="fc"].gl-cat .gl-cat__card.is-host .gl-cat__media { background-position: 50% 34%; }
    [data-gl="fc"].gl-cat .gl-cat__card.is-host .gl-cat__shade {
        background: linear-gradient(0deg, rgba(8, 10, 14, .96) 0%, rgba(8, 10, 14, .68) 43%, rgba(8, 10, 14, .08) 100%);
    }
}
/* /categoria: marca y cifras en una sola franja, sin navegacion superior (2026-10-29). */
[data-gl="fc"].gl-cat .gl-cat__stats {
    width: min(1040px, 100%);
    grid-template-columns: minmax(150px, .8fr) repeat(3, minmax(0, 1fr));
}
[data-gl="fc"].gl-cat .gl-cat__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 8px 16px;
    border-right: 1px solid var(--gl-border);
    background: var(--glass-background);
}
[data-gl="fc"].gl-cat .gl-cat__brand .gl-cat__logo {
    display: block;
    width: clamp(112px, 11vw, 152px);
    max-width: 100%;
}
@media (max-width: 640px) {
    [data-gl="fc"].gl-cat .gl-cat__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    [data-gl="fc"].gl-cat .gl-cat__brand {
        grid-column: 1 / -1;
        min-height: 70px;
        padding: 8px 12px;
        border-right: 0;
        border-bottom: 1px solid var(--gl-border);
    }
    [data-gl="fc"].gl-cat .gl-cat__brand .gl-cat__logo { width: 132px; }
}
/* /categoria: centrado del arte FC en tablet y móvil (2026-10-29). */
@media (max-width: 900px) {
    [data-gl="fc"].gl-cat .gl-cat__card.is-fc .gl-cat__media {
        background-position: center center;
    }
}
/* Selector de ecosistema en el registro. */
[data-gl="fc"].gl-auth .gl-auth__ecosystems { border: 0; padding: 0; margin: .15rem 0 1rem; min-width: 0; }
[data-gl="fc"].gl-auth .gl-auth__ecosystems legend { color: var(--gl-text, #fff); font-weight: 800; font-size: .95rem; }
[data-gl="fc"].gl-auth .gl-auth__ecosystems p { color: var(--gl-text-secondary, #b6b7c9); font-size: .78rem; margin: .2rem 0 .7rem; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-options { display: grid; gap: .5rem; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option { display: flex; align-items: center; gap: .75rem; padding: .72rem .85rem; border: 1px solid var(--gl-border, #575673); border-radius: .75rem; background: var(--glass-background, #17142e); cursor: pointer; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option:has(input:checked) { border-color: var(--gl-cyan, #00e5ff); background: rgba(0, 229, 255, .1); }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option:focus-within { outline: 2px solid var(--gl-cyan, #00e5ff); outline-offset: 2px; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option input { accent-color: var(--gl-cyan, #00e5ff); width: 1rem; height: 1rem; flex: none; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option span { display: grid; gap: .1rem; min-width: 0; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option strong { color: var(--gl-text, #fff); font-size: .85rem; }
[data-gl="fc"].gl-auth .gl-auth__ecosystem-option small { color: var(--gl-text-secondary, #b6b7c9); font-size: .74rem; }
