/* Descubrimiento y estados del catálogo declarativo de /juegos. */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.game-discovery { width:100%; max-width:920px; margin:0 auto 8px; padding:4px 2px 8px; }
.game-search { display:flex; align-items:center; gap:9px; width:100%; padding:0 14px; min-height:46px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(255,255,255,.07); color:#9be7ff; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.game-search:focus-within { border-color:#9be7ff; box-shadow:0 0 0 3px rgba(155,231,255,.16); }
.game-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:#fff; font-size:15px; font-weight:600; font-family:inherit; }
.game-search input::placeholder { color:#b9a9e8; opacity:.72; }
.game-filters { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding:10px 1px 4px; }
.game-filters::-webkit-scrollbar { display:none; }
.game-filter { flex:0 0 auto; min-height:34px; padding:7px 12px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(255,255,255,.05); color:#cfc3ee; font-size:12px; font-weight:750; cursor:pointer; }
.game-filter[aria-pressed="true"] { border-color:#9be7ff; background:#9be7ff; color:#1a1230; }
.game-results { min-height:1em; margin:6px 3px 0; color:#b9a9e8; font-size:12px; text-align:right; }
.game-noscript { width:100%; max-width:920px; margin:20px auto; padding:18px; border:1px solid rgba(255,255,255,.16); border-radius:14px; color:#c7b9ef; text-align:center; }
.gcard[hidden], .lobby-sec[hidden] { display:none!important; }
.gcard:focus-visible, .lobby-btn:focus-visible, .lobby-tool:focus-visible, .game-filter:focus-visible { outline:3px solid #ffe36e; outline-offset:3px; }
.gcard.is-loading { pointer-events:none; opacity:.72; }
.gcard.is-loading::after { content:"Cargando…"; margin-top:8px; color:#9be7ff; font-size:12px; font-weight:800; }
.gcard.is-error { border-color:#ff7b8b; }
.game-modes { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; margin-top:auto; padding-top:10px; }
.game-modes span { padding:3px 7px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(15,9,32,.24); color:rgba(255,255,255,.82); font-size:10px; font-weight:750; line-height:1.1; }
.cards.is-empty::after { content:"No hay juegos que coincidan con la búsqueda."; grid-column:1/-1; padding:28px 12px; color:#c7b9ef; text-align:center; }
@media (max-width:559px) {
    .lobby-hero { padding-bottom:12px; }
    .lobby-lead { margin-top:7px; font-size:14px; }
    .lobby-cta { margin-top:13px; gap:8px; }
    .lobby-btn { min-height:44px; padding:10px 14px; font-size:15px; }
    .lobby-tools { margin-top:8px; }
    .game-discovery { position:relative; padding-top:2px; }
    .game-modes span { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
    .lobby-hero, .cards { animation:none!important; }
    .gcard, .lobby-btn { transition:none!important; }
}
