.challenges-hub {
  min-height: 100%; color: #f6eee9;
  background: radial-gradient(ellipse at 75% -5%, rgba(232,50,63,.28), transparent 35%),
    linear-gradient(180deg,#251019,#170a10 42%,#0e070a);
}
.challenges-hub-header {
  position: sticky; z-index: 3; top: 0; min-height: 104px; padding: 42px 14px 12px;
  display: flex; align-items: center; gap: 9px; box-sizing: border-box;
  background: linear-gradient(180deg,rgba(23,10,16,.98) 76%,rgba(23,10,16,0));
}
.challenges-hub-back,.challenges-hub-help {
  width: 34px; height: 34px; display: grid; place-items: center; flex: none; border: 1px solid #4d2233;
  border-radius: 11px; background: #241019; color: #f3c14b; font: 900 18px Nunito,sans-serif; cursor: pointer;
}
.challenges-hub-help { width: 31px; height: 31px; font-size: 14px; }
.challenges-hub-emblem { width: 43px; height: 43px; flex: none; object-fit: contain; }
.challenges-hub-titles { min-width: 0; flex: 1; }
.challenges-hub-title { color: #e8323f; font-size: 20px; line-height: 1; font-weight: 900; letter-spacing: .14em; }
.challenges-hub-subtitle { margin-top: 4px; color: #c9a9b0; font-size: 10px; font-weight: 700; }
.challenges-hub-content { padding: 3px 14px 28px; display: flex; flex-direction: column; gap: 11px; }
.challenges-hub-loading { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #c9a9b0; font-size: 12px; }
.challenges-hub-loading span { font-size: 30px; }

.challenges-hub-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.challenges-hub-summary-item { padding: 10px 4px; border: 1px solid #4d2233; border-radius: 13px; background: rgba(44,21,32,.82); text-align: center; }
.challenges-hub-summary-number { color: #f6eee9; font-size: 22px; line-height: 1; font-weight: 900; font-variant-numeric: tabular-nums; }
.challenges-hub-summary-label { margin-top: 4px; color: #a98790; font-size: 9px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.challenges-hub-summary-item.received { border-color: #e8323f; }
.challenges-hub-summary-item.received .challenges-hub-summary-number { color: #ff7d88; }
.challenges-hub-summary-item.results .challenges-hub-summary-number { color: #f3c14b; }

.challenges-hub-game {
  --game-color:#e8323f; padding: 11px; overflow: hidden; scroll-margin-top: 100px;
  border: 1px solid #4d2233; border-left: 4px solid var(--game-color); border-radius: 16px;
  background: linear-gradient(145deg,rgba(49,24,35,.96),rgba(31,14,23,.96));
  box-shadow: 0 12px 26px rgba(0,0,0,.25);
}
.challenges-hub-game-focused { animation: challenges-focus 1.15s ease 2; }
@keyframes challenges-focus { 50% { box-shadow: 0 0 0 2px #f3c14b,0 0 26px rgba(243,193,75,.38); } }
.challenges-hub-game-top { display: flex; align-items: center; gap: 10px; }
.challenges-hub-game-names { min-width: 0; flex: 1; }
.challenges-hub-game-name { overflow: hidden; color: #fff; font-size: 15px; line-height: 1.15; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.challenges-hub-game-activity { margin-top: 4px; color: #c9a9b0; font-size: 10px; font-weight: 700; }
.challenges-hub-elo { flex: none; text-align: right; }
.challenges-hub-elo div:first-child { color: #f3c14b; font-size: 20px; line-height: 1; font-weight: 900; font-variant-numeric: tabular-nums; }
.challenges-hub-elo div:last-child { margin-top: 3px; color: #8a6872; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.challenges-hub-section { margin: 11px 1px 5px; color: #e8323f; font-size: 8.5px; font-weight: 900; letter-spacing: .13em; }
.challenges-hub-row { min-height: 46px; padding: 6px 7px; display: flex; align-items: center; gap: 8px; border-top: 1px solid rgba(201,169,176,.09); }
.challenges-hub-row-urgent { margin-top: 4px; border: 1px solid rgba(232,50,63,.48); border-radius: 11px; background: rgba(143,26,38,.18); }
.challenges-hub-row-copy { min-width: 0; flex: 1; }
.challenges-hub-opponent { overflow: hidden; color: #fff; font-size: 12px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.challenges-hub-row-status { margin-top: 2px; overflow: hidden; color: #c9a9b0; font-size: 9.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.challenges-hub-row-arrow { color: #8a6872; font-size: 18px; }
.challenges-hub-open { width: 100%; margin-top: 9px; padding: 10px; border: 0; border-radius: 10px; background: #e8323f; color: #fff; font: 900 11px Nunito,sans-serif; cursor: pointer; }
.challenges-hub-game-empty,.challenges-hub-unavailable { padding: 12px 5px 4px; color: #9d7d86; font-size: 10.5px; line-height: 1.4; text-align: center; }
.challenges-hub-empty { padding: 40px 20px; display: flex; flex-direction: column; align-items: center; gap: 7px; color: #c9a9b0; text-align: center; }
.challenges-hub-empty span { font-size: 30px; }
.challenges-hub-empty b { color: #f3c14b; }
.challenges-hub-empty p { margin: 0; font-size: 11px; }
.challenges-hub-error { margin-top: 40px; padding: 18px; border: 1px solid #4d2233; border-radius: 15px; color: #e9ccd2; font-size: 12px; line-height: 1.45; text-align: center; background: #2c1520; }
.challenges-hub-error button { margin-top: 12px; padding: 9px 20px; border: 0; border-radius: 9px; background: #e8323f; color: #fff; font: 900 12px Nunito,sans-serif; }

@media (prefers-reduced-motion: reduce) { .challenges-hub-game-focused { animation: none; box-shadow: 0 0 0 2px #f3c14b; } }

/* ── Refonte 2026-10-11 : blocs À relever / En attente, jeux dépliables ── */
.challenges-hub-block { display: flex; flex-direction: column; gap: 6px; }
.challenges-hub-block-title { margin: 6px 1px 0; color: #e8323f; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.challenges-hub-block .challenges-hub-row { border: 1px solid #4d2233; border-radius: 12px; background: rgba(44,21,32,.82); }
.challenges-hub-block .challenges-hub-row-urgent { border-color: rgba(232,50,63,.6); background: rgba(143,26,38,.2); }
.challenges-hub-elos { margin-top: 2px; color: #a98790; font-size: 9.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.challenges-hub-elos b { color: #f3c14b; font-variant-numeric: tabular-nums; }
.challenges-hub-go { flex: none; padding: 10px 14px; border: 0; border-radius: 10px; background: #e8323f; color: #fff; font: 900 14px Nunito,sans-serif; cursor: pointer; touch-action: manipulation; }
.challenges-hub-toggle { flex: none; width: 38px; height: 38px; border: 1px solid #4d2233; border-radius: 11px; background: #241019; font-size: 17px; cursor: pointer; touch-action: manipulation; }
.challenges-hub-toggle.active { border-color: #f3c14b; background: #3a1d28; }
.challenges-hub-details { margin-top: 9px; }
.challenges-hub-delta { flex: none; font-size: 12px; font-weight: 900; font-variant-numeric: tabular-nums; }
