/* Fase 20C.2 · Retos asincrónicos entre lectores */
.game-challenges-section{margin-top:18px;padding-top:2px}
.game-challenges-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}
.game-challenges-head h4{margin:0;font:23px/1.08 Georgia,"Times New Roman",serif;color:#eee7df}
.game-challenges-head p{max-width:560px;margin:5px 0 0;color:#89817a;font-size:10.5px;line-height:1.45}
.game-challenges-kicker{display:block;margin-bottom:5px;color:#b88662;font-size:8px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
.game-challenges-new{min-width:112px}
.game-challenges-summary{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}
.game-challenges-summary span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #302c33;border-radius:999px;background:#111015;color:#7e7770;font-size:8.5px}
.game-challenges-summary b{color:#d7cec5;font-size:10px}
.game-challenges-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.game-challenges-empty{grid-column:1/-1;padding:18px;border:1px dashed #312d34;border-radius:15px;color:#7e7770;text-align:center;font-size:10px;line-height:1.5}
.game-challenges-empty.loading{animation:gameChallengePulse 1s ease-in-out infinite alternate}
@keyframes gameChallengePulse{to{opacity:.5}}
.game-challenge-card{padding:13px;border:1px solid #302c33;border-radius:16px;background:linear-gradient(180deg,#151419,#101014)}
.game-challenge-card.outcome-win{border-color:rgba(102,177,131,.36)}
.game-challenge-card.outcome-loss{border-color:rgba(181,77,88,.28)}
.game-challenge-card.is-expired{opacity:.6}
.game-challenge-card-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center}
.game-challenge-avatar,.game-challenge-reader-avatar{display:grid;place-items:center;overflow:hidden;border:1px solid #3b353c;border-radius:50%;background:#201d23;color:#c9b7a8;font:700 14px/1 Georgia,serif}
.game-challenge-avatar{width:36px;height:36px}
.game-challenge-reader-avatar{width:38px;height:38px;flex:0 0 auto}
.game-challenge-avatar img,.game-challenge-reader-avatar img{width:100%;height:100%;object-fit:cover}
.game-challenge-person{min-width:0}
.game-challenge-person>span{display:block;color:#7b746e;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.game-challenge-person>b{display:block;margin-top:2px;overflow:hidden;color:#ded6ce;font:15px/1.1 Georgia,"Times New Roman",serif;text-overflow:ellipsis;white-space:nowrap}
.game-challenge-person>small{display:block;margin-top:3px;color:#716a64;font-size:8.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-challenge-state{align-self:start;padding:5px 7px;border:1px solid #3a343a;border-radius:999px;color:#ad9583;font-size:7.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.game-challenge-card.outcome-win .game-challenge-state{border-color:rgba(102,177,131,.38);color:#7fc298}
.game-challenge-card.outcome-loss .game-challenge-state{border-color:rgba(181,77,88,.35);color:#c17780}
.game-challenge-mode{display:flex;justify-content:space-between;gap:9px;margin:11px 0 8px;padding-top:9px;border-top:1px solid #29262c}
.game-challenge-mode b{color:#b9afa6;font-size:9px}
.game-challenge-mode span{color:#706962;font-size:8px}
.game-challenge-wait{min-height:48px;padding:10px;border:1px solid #2d2930;border-radius:12px;background:#0f0e12}
.game-challenge-wait b{display:block;color:#d1c6bc;font:15px/1.1 Georgia,"Times New Roman",serif}
.game-challenge-wait span{display:block;margin-top:4px;color:#766f69;font-size:8.5px;line-height:1.35}
.game-challenge-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center;padding:10px;border:1px solid #302c33;border-radius:12px;background:#0e0d11;text-align:center}
.game-challenge-scoreboard>span small{display:block;max-width:120px;margin:auto;color:#786f68;font-size:7.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-challenge-scoreboard>span b{display:block;margin-top:3px;color:#eee7df;font:22px/1 Georgia,"Times New Roman",serif}
.game-challenge-scoreboard>i{color:#645e59;font-style:normal}
.game-challenge-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}
.game-challenge-card-foot>span{color:#716a64;font-size:8px;text-align:right;line-height:1.3}
.game-challenge-card-foot .btn{flex:0 0 auto}

.game-challenge-modal{position:fixed;inset:0;z-index:10080;display:none;align-items:center;justify-content:center;padding:18px}
.game-challenge-modal.open{display:flex}
.game-challenge-backdrop{position:absolute;inset:0;background:rgba(4,4,6,.78);backdrop-filter:blur(7px)}
.game-challenge-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:min(720px,88vh);overflow:auto;padding:22px;border:1px solid #373139;border-radius:22px;background:radial-gradient(circle at 12% 0,rgba(184,134,98,.09),transparent 34%),#111015;box-shadow:0 28px 80px rgba(0,0,0,.46)}
.game-challenge-dialog h3{margin:0;color:#eee7df;font:27px/1.08 Georgia,"Times New Roman",serif}
.game-challenge-dialog-copy{margin:7px 32px 16px 0;color:#817a73;font-size:10px;line-height:1.5}
.game-challenge-close{position:absolute;top:13px;right:13px;width:32px;height:32px;border:1px solid #3b353c;border-radius:50%;background:#18161c;color:#b7ada5;font:20px/1 Arial;cursor:pointer}
.game-challenge-search{display:block}
.game-challenge-search>span,.game-challenge-mode-title{display:block;margin-bottom:6px;color:#9c9188;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.game-challenge-search input{width:100%;padding:11px 12px;border:1px solid #373139;border-radius:12px;outline:none;background:#0c0b0f;color:#e3dbd3;font-size:11px}
.game-challenge-search input:focus{border-color:#81536a;box-shadow:0 0 0 3px rgba(129,83,106,.12)}
.game-challenge-search-results{display:grid;gap:6px;margin-top:9px;max-height:390px;overflow:auto}
.game-challenge-reader{display:flex;align-items:center;gap:9px;width:100%;padding:9px;border:1px solid #302c33;border-radius:13px;background:#141218;color:inherit;text-align:left;cursor:pointer}
.game-challenge-reader:hover{border-color:#4b3b45;background:#18151b}
.game-challenge-reader>span{min-width:0;flex:1}
.game-challenge-reader>span b{display:block;color:#d9d0c8;font:14px/1.1 Georgia,"Times New Roman",serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-challenge-reader>span small{display:block;margin-top:3px;color:#746d67;font-size:8.5px}
.game-challenge-reader>i{color:#b88662;font-size:8.5px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.game-challenge-selected{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #39323a;border-radius:14px;background:#151319}
.game-challenge-selected>div{min-width:0;flex:1}
.game-challenge-selected>div span{display:block;color:#756e68;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em}
.game-challenge-selected>div b{display:block;margin-top:2px;color:#dfd6ce;font:15px/1.1 Georgia,"Times New Roman",serif}
.game-challenge-selected>div small{display:block;margin-top:3px;color:#746d67;font-size:8px}
.game-challenge-selected>button{border:0;background:none;color:#b88662;font-size:8px;cursor:pointer}
.game-challenge-mode-title{margin-top:16px}
.game-challenge-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.game-challenge-modes>button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:start;padding:12px;border:1px solid #332e35;border-radius:14px;background:#121116;color:inherit;text-align:left;cursor:pointer}
.game-challenge-modes>button:hover{border-color:#6b4659;background:#171319}
.game-challenge-modes>button>i{display:grid;place-items:center;width:30px;height:30px;border:1px solid #40353d;border-radius:10px;background:rgba(184,134,98,.06);color:#c69470;font-style:normal}
.game-challenge-modes>button b{display:block;color:#ddd4cc;font:14px/1.1 Georgia,"Times New Roman",serif}
.game-challenge-modes>button small{display:block;margin-top:5px;color:#756e68;font-size:8.5px;line-height:1.35}
.game-challenge-rule{margin:10px 0 0;color:#6f6862;font-size:8.5px;line-height:1.4}
.game-challenge-error{margin-top:10px;padding:9px 10px;border:1px solid rgba(181,77,88,.32);border-radius:11px;background:rgba(181,77,88,.07);color:#c5888e;font-size:9px;line-height:1.4}
#gameChallengeDialogBody.is-busy{pointer-events:none;opacity:.55}
.games-challenge-session #gamesReplayBtn,.games-challenge-session #gamesQuitBtn{display:none!important}

html[data-theme="light"] .game-challenges-head h4,html[data-theme="light"] .game-challenge-dialog h3{color:#302822}
html[data-theme="light"] .game-challenges-head p{color:#786e66}
html[data-theme="light"] .game-challenges-summary span,html[data-theme="light"] .game-challenge-card{background:#fffaf5;border-color:#ddd3c8}
html[data-theme="light"] .game-challenges-summary b,html[data-theme="light"] .game-challenge-person>b{color:#3c322c}
html[data-theme="light"] .game-challenge-person>span,html[data-theme="light"] .game-challenge-person>small,html[data-theme="light"] .game-challenge-mode span,html[data-theme="light"] .game-challenge-card-foot>span{color:#7b7068}
html[data-theme="light"] .game-challenge-mode{border-color:#e5dcd3}
html[data-theme="light"] .game-challenge-mode b{color:#554940}
html[data-theme="light"] .game-challenge-wait,html[data-theme="light"] .game-challenge-scoreboard{background:#fbf4ed;border-color:#dfd3c8}
html[data-theme="light"] .game-challenge-wait b,html[data-theme="light"] .game-challenge-scoreboard>span b{color:#362d27}
html[data-theme="light"] .game-challenge-dialog{background:radial-gradient(circle at 12% 0,rgba(184,134,98,.10),transparent 34%),#fffaf5;border-color:#d9cbbf}
html[data-theme="light"] .game-challenge-close{background:#f4ebe3;border-color:#d8c9bd;color:#554a42}
html[data-theme="light"] .game-challenge-dialog-copy,html[data-theme="light"] .game-challenge-rule{color:#776d65}
html[data-theme="light"] .game-challenge-search input{background:#fff;border-color:#d8ccc1;color:#332b25}
html[data-theme="light"] .game-challenge-reader,html[data-theme="light"] .game-challenge-selected,html[data-theme="light"] .game-challenge-modes>button{background:#fff;border-color:#ddd2c8}
html[data-theme="light"] .game-challenge-reader>span b,html[data-theme="light"] .game-challenge-selected>div b,html[data-theme="light"] .game-challenge-modes>button b{color:#3b312b}
html[data-theme="light"] .game-challenge-reader>span small,html[data-theme="light"] .game-challenge-selected>div small,html[data-theme="light"] .game-challenge-modes>button small{color:#7c7168}
html[data-theme="light"] .game-challenge-avatar,html[data-theme="light"] .game-challenge-reader-avatar{background:#f2e6dc;border-color:#d8c7b9;color:#7c5f4d}

@media(max-width:620px){
  .game-challenges-section{margin-top:16px}
  .game-challenges-head{align-items:start}
  .game-challenges-head h4{font-size:22px}
  .game-challenges-head p{font-size:10px}
  .game-challenges-new{min-width:auto;padding-inline:10px}
  .game-challenges-list{grid-template-columns:1fr;gap:8px}
  .game-challenge-card{padding:12px;border-radius:15px}
  .game-challenge-card-top{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}
  .game-challenge-state{font-size:7px;padding:5px 6px}
  .game-challenge-modal{align-items:flex-end;padding:0}
  .game-challenge-dialog{width:100%;max-height:90dvh;border-radius:22px 22px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}
  .game-challenge-dialog h3{font-size:25px}
  .game-challenge-modes{grid-template-columns:1fr}
  .game-challenge-search-results{max-height:50dvh}
}
