/* R761 — Foodie Snake : nouveau nom, visuel fourni, fraise + tête SVG, crédits ; Drop Zone musique -30 %. */
/* ETHNOS R756 — Jeux : Open Arkanoid + Open Invaders, identité statique neuve. */
/* ETHNOS R718 — propriétaire visuel Jeux : R714 préservé + Mes parties centrées + duel centré + suppression invitations. */
/* R714_GAME_MEMBER_SEARCH_START */

/* Hub Jeux : les quatre cartes solo passent sur un gabarit photo plus généreux. */
html body .ethnosSoloGameGridR679{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:20px !important;
}
html body .ethnosSoloGameCardR679.ethnosSoloGameCardR708{
  min-height:128px !important;
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) !important;
  align-items:center !important;
  gap:16px !important;
  padding:10px !important;
  overflow:hidden !important;
}
html body .ethnosSoloGameMediaR708{
  display:grid !important;
  place-items:center !important;
  width:104px !important;
  height:104px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#04151e !important;
}
html body .ethnosSoloGameMediaR708 img,
html body .ethnosSnakeGameThumbR708{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 46% !important;
  border-radius:0 !important;
}
html body .ethnosSoloGameMediaR708.isPlaceholder i{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  border-radius:0 !important;
  font-size:22px !important;
}
html body .ethnosSoloGameCopyR708{min-width:0 !important;}
html body .ethnosSoloGameCardR679.ethnosSoloGameCardR708 strong{
  font-size:clamp(19px,1.2vw,23px) !important;
}
html body .ethnosSoloGameCardR679.ethnosSoloGameCardR708 small{
  margin-top:5px !important;
  font-size:11px !important;
}

/* Snake : fenêtre plus large, photo fournie à gauche, canvas logique inchangé à droite. */
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSoloCardR679{
  width:min(1480px,98vw) !important;
  max-height:96vh !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeStageR708{
  display:grid !important;
  grid-template-columns:minmax(230px,310px) minmax(0,1fr) !important;
  align-items:stretch !important;
  gap:18px !important;
  padding:clamp(12px,1.5vw,20px) !important;
}
html body .ethnosSnakeSidePhotoR708{
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#061822 !important;
}
html body .ethnosSnakeSidePhotoR708 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center 42% !important;
}
html body .ethnosSnakeCanvasPaneR708{
  min-width:0 !important;
  display:grid !important;
  place-items:center !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeCanvasPaneR708 canvas{
  width:min(100%,960px,calc((96vh - 205px) * 1.5)) !important;
  max-width:960px !important;
  height:auto !important;
}
html body .ethnosSnakeAudioCreditR708{
  display:block !important;
  margin-top:7px !important;
  color:#7f9aa4 !important;
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}

@media (max-width:1100px){
  html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeStageR708{
    grid-template-columns:minmax(180px,230px) minmax(0,1fr) !important;
    gap:12px !important;
  }
  html body .ethnosSoloGameCardR679.ethnosSoloGameCardR708{
    grid-template-columns:88px minmax(0,1fr) !important;
    min-height:112px !important;
  }
  html body .ethnosSoloGameMediaR708{width:88px !important;height:88px !important;}
}

@media (max-width:760px){
  html body .ethnosSoloGameGridR679{grid-template-columns:1fr !important;}
  html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSoloCardR679{
    width:min(100%,97vw) !important;
  }
  html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeStageR708{
    grid-template-columns:1fr !important;
  }
  html body .ethnosSnakeSidePhotoR708{
    height:clamp(120px,24vh,190px) !important;
  }
  html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeCanvasPaneR708 canvas{
    width:100% !important;
  }
}


/* R714 — recherche de membre dans la fenêtre « Inviter un joueur ».
   Le champ sélectionne un compte serveur ; l'utilisateur n'a plus à recopier
   exactement les emojis éventuels du pseudonyme. */
html body .ethnosGamesMemberSearchR714{
  position:relative;
  display:grid;
  gap:6px;
  width:100%;
  margin:8px 0 4px;
}
html body .ethnosGamesMemberSearchR714 > input{
  width:100%;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #b9c4ca;
  border-radius:10px;
  font:inherit;
  background:#fff;
  color:#071a39;
}
html body .ethnosGamesMemberResultsR714{
  display:grid;
  gap:5px;
  max-height:210px;
  overflow:auto;
}
html body .ethnosGamesMemberResultR714{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:9px 11px;
  border:1px solid #c7d0d5;
  border-radius:9px;
  background:#fff;
  color:#071a39;
  text-align:left;
  cursor:pointer;
}
html body .ethnosGamesMemberResultR714:hover,
html body .ethnosGamesMemberResultR714:focus-visible{
  border-color:#0b8090;
  outline:2px solid rgba(11,128,144,.18);
  outline-offset:1px;
}
html body .ethnosGamesMemberResultR714 strong{font-weight:800;overflow-wrap:anywhere;}
html body .ethnosGamesMemberResultR714 span{font-size:12px;color:#526578;white-space:nowrap;}
html body .ethnosGamesMemberSearchNoteR714,
html body .ethnosGamesMemberSelectedR714{
  margin:2px 0 0;
  font-size:13px;
  line-height:1.35;
  color:#526578;
}
html body .ethnosGamesMemberSelectedR714{font-weight:700;color:#0b5561;}
/* R714_GAME_MEMBER_SEARCH_END */


/* R716_GAME_MODAL_INVITES_START */
/* Cause R715/R714 prouvée : renderMatch() remplaçait le contenu du même volet
   .ethnosGamesDrawerR679, lui-même absolu left:0/right:0 sous le bandeau.
   R716 sort « Mes parties » et le duel de ce moteur de drawer : deux modales
   centrées indépendantes, sans split du plateau derrière le volet. */
html body .ethnosGamesMyOverlayR716,
html body .ethnosGamesMatchOverlayR716{
  position:fixed !important;
  inset:0 !important;
  z-index:10024 !important;
  display:grid !important;
  place-items:center !important;
  padding:clamp(12px,2vw,28px) !important;
  background:rgba(1,13,24,.72) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
}
html body .ethnosGamesMyModalR716{
  width:min(1040px,calc(100vw - 32px)) !important;
  max-height:min(780px,calc(100vh - 32px)) !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  padding:clamp(18px,2vw,26px) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#0b2634 0%,#071e2a 100%) !important;
  color:#f8fbff !important;
  box-shadow:0 28px 90px rgba(0,0,0,.5) !important;
}
html body .ethnosGamesMyHeadR716{margin-bottom:14px !important;}
html body .ethnosGamesMyContentR716{
  min-height:0 !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding-right:4px !important;
}
html body .ethnosGamesMyContentR716 h3{
  margin:4px 0 10px !important;
  color:#fff9ef !important;
  font-size:16px !important;
}
html body .ethnosGamesMySeparatorR716{
  height:1px !important;
  margin:18px 0 !important;
  background:rgba(255,255,255,.12) !important;
}
html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteR649,
html body .ethnosGamesMyOverlayR716 .ethnosGamesMatchRowR649{
  min-height:58px !important;
  padding:11px 13px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.07) !important;
}
html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteActionsR649{
  align-items:center !important;
  justify-content:flex-end !important;
}
html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteDeleteR716{
  background:rgba(255,255,255,.08) !important;
  color:#ffd8d8 !important;
  border:1px solid rgba(255,170,170,.28) !important;
}
html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteDeleteR716:hover,
html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteDeleteR716:focus-visible{
  background:#6f2131 !important;
  color:#fff !important;
  outline:2px solid rgba(255,216,216,.35) !important;
  outline-offset:1px !important;
}
html body .ethnosGamesEmptyR716{
  margin:0 !important;
  padding:12px 2px !important;
  color:#bfd4e1 !important;
}

/* Duel : une seule carte centrée. Les deux joueurs restent visibles au-dessus
   du plateau et le plateau est dimensionné par la hauteur disponible. */
html body .ethnosGamesMatchOverlayR716{z-index:10028 !important;}
html body .ethnosGamesMatchModalR716{
  width:min(860px,calc(100vw - 28px)) !important;
  max-height:calc(100vh - 28px) !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding:clamp(14px,1.8vw,22px) !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#092332 0%,#061822 100%) !important;
  color:#f8fbff !important;
  box-shadow:0 30px 100px rgba(0,0,0,.58) !important;
}
html body .ethnosGamesMatchHeadR716{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:12px !important;
}
html body .ethnosGamesMatchHeadR716 span{
  display:block !important;
  margin:0 0 3px !important;
  color:#5ee8e3 !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.15em !important;
}
html body .ethnosGamesMatchHeadR716 h2{
  margin:0 !important;
  color:#fff9ef !important;
  font-family:var(--font-title,"Fraunces",Georgia,serif) !important;
  font-size:clamp(26px,2.4vw,38px) !important;
  font-weight:500 !important;
  line-height:1 !important;
}
html body .ethnosGamesMatchHeadR716 p{
  margin:5px 0 0 !important;
  color:#b9c9cd !important;
  font-size:12px !important;
}
html body .ethnosGamesMatchCloseR716{
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
html body .ethnosGamesMatchPlayersR716{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) !important;
  align-items:stretch !important;
  gap:10px !important;
  margin:0 0 12px !important;
}
html body .ethnosGamesMatchPlayerR716{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:10px 12px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.06) !important;
}
html body .ethnosGamesMatchPlayerR716.isMe{border-color:rgba(94,232,227,.36) !important;}
html body .ethnosGamesMatchPlayerR716.isTurn{box-shadow:inset 0 -3px 0 #f08b36 !important;}
html body .ethnosGamesMatchPlayerR716 strong{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#fff9ef !important;
  font-size:14px !important;
}
html body .ethnosGamesMatchPlayerR716 small{
  flex:0 0 auto !important;
  color:#91b5c4 !important;
  font-size:10px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}
html body .ethnosGamesVersusR716{
  display:grid !important;
  place-items:center !important;
  color:#f08b36 !important;
  font-weight:950 !important;
  font-size:13px !important;
}
html body .ethnosGamesMatchOverlayR716 .ethnosGamesBoardShellR649,
html body .ethnosGamesMatchOverlayR716 .ethnosGamesBoardShellR679{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100% !important;
}
html body .ethnosGamesMatchOverlayR716 .ethnosGamesBoardAreaR649,
html body .ethnosGamesMatchOverlayR716 .ethnosGamesBoardAreaR679{
  width:100% !important;
  max-width:680px !important;
  margin:0 auto !important;
  padding:12px !important;
  border-radius:18px !important;
}
html body .ethnosGamesMatchOverlayR716 .ethnosGamesBoardHeaderR649{
  margin-bottom:9px !important;
}
html body .ethnosGamesMatchOverlayR716 .ethnosGamesBoardHeaderR649 h2{
  font-size:18px !important;
}
html body .ethnosGamesMatchOverlayR716 .ethnosChessBoardR679,
html body .ethnosGamesMatchOverlayR716 .ethnosCheckersBoardR679,
html body .ethnosGamesMatchOverlayR716 .ethnosTttBoardR649{
  width:min(100%,560px,calc(100vh - 270px)) !important;
  max-width:560px !important;
}
html body .ethnosGamesMatchOverlayR716 .ethnosConnectBoardR649{
  width:min(100%,650px) !important;
  max-height:calc(100vh - 270px) !important;
  margin:auto !important;
}
html body .ethnosGamesMatchActionsR716{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
}
html body .ethnosGamesMatchActionsR716 button{min-width:140px !important;}

@media(max-width:700px){
  html body .ethnosGamesMyOverlayR716,
  html body .ethnosGamesMatchOverlayR716{padding:8px !important;}
  html body .ethnosGamesMyModalR716,
  html body .ethnosGamesMatchModalR716{width:calc(100vw - 16px) !important;max-height:calc(100vh - 16px) !important;border-radius:16px !important;}
  html body .ethnosGamesMatchPlayersR716{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) !important;gap:6px !important;}
  html body .ethnosGamesMatchPlayerR716{display:block !important;padding:8px !important;text-align:center !important;}
  html body .ethnosGamesMatchPlayerR716 strong{display:block !important;font-size:12px !important;}
  html body .ethnosGamesMatchPlayerR716 small{display:block !important;margin-top:2px !important;}
  html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteR649,
  html body .ethnosGamesMyOverlayR716 .ethnosGamesMatchRowR649{align-items:flex-start !important;flex-direction:column !important;}
  html body .ethnosGamesMyOverlayR716 .ethnosGamesInviteActionsR649{justify-content:flex-start !important;}
  html body .ethnosGamesMatchOverlayR716 .ethnosChessBoardR679,
  html body .ethnosGamesMatchOverlayR716 .ethnosCheckersBoardR679,
  html body .ethnosGamesMatchOverlayR716 .ethnosTttBoardR649{width:min(100%,calc(100vh - 285px)) !important;}
}
/* R716_GAME_MODAL_INVITES_END */


/* R718 — invitations de jeu : source de vérité visible dans Jeux. */
html body .ethnosGamesInviteTabsR718{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 12px !important;
  padding:4px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  background:rgba(0,0,0,.12) !important;
}
html body .ethnosGamesInviteTabsR718 button{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:36px !important;
  padding:7px 12px !important;
  border:1px solid transparent !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#bfd4e1 !important;
  font:inherit !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
html body .ethnosGamesInviteTabsR718 button.isActive{
  border-color:rgba(94,232,227,.34) !important;
  background:rgba(94,232,227,.12) !important;
  color:#fff !important;
}
html body .ethnosGamesInviteTabsR718 button b{
  display:grid !important;
  place-items:center !important;
  min-width:22px !important;
  height:22px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.1) !important;
  color:#fff !important;
  font-size:11px !important;
}
html body .ethnosGamesInviteListR718{min-height:72px !important;}
@media (max-width:620px){
  html body .ethnosGamesInviteTabsR718{width:100% !important;}
  html body .ethnosGamesInviteTabsR718 button{flex:1 1 0 !important;justify-content:center !important;}
}


/* R720_GAME_RANK_MODAL_START
   Classements utilise le même contrat centré que Mes parties : aucun grand
   drawer horizontal, une seule carte modale indépendante du plateau. */
html body .ethnosGamesRankOverlayR720{
  position:fixed !important;
  inset:0 !important;
  z-index:10026 !important;
  display:grid !important;
  place-items:center !important;
  padding:clamp(12px,2vw,28px) !important;
  background:rgba(1,13,24,.72) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
}
html body .ethnosGamesRankModalR720{
  box-sizing:border-box !important;
  width:min(1040px,calc(100vw - 32px)) !important;
  max-height:min(780px,calc(100vh - 32px)) !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  padding:clamp(18px,2vw,26px) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#0b2634 0%,#071e2a 100%) !important;
  color:#f8fbff !important;
  box-shadow:0 28px 90px rgba(0,0,0,.5) !important;
}
html body .ethnosGamesRankContentR720{
  min-height:0 !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding-right:4px !important;
}
html body .ethnosGamesRankOverlayR720 .ethnosGamesLeaderboardToolsR679{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  padding:0 0 12px !important;
  background:#0b2634 !important;
}
html body .ethnosGamesRankOverlayR720 .ethnosGamesLeaderboardR649{
  width:100% !important;
}
@media(max-width:700px){
  html body .ethnosGamesRankOverlayR720{padding:8px !important;}
  html body .ethnosGamesRankModalR720{
    width:calc(100vw - 16px) !important;
    max-height:calc(100vh - 16px) !important;
    border-radius:16px !important;
  }
  html body .ethnosGamesRankOverlayR720 .ethnosGamesLeaderboardToolsR679{
    position:static !important;
  }
}
/* R720_GAME_RANK_MODAL_END */

/* R721 — fermeture distante informative, sans abandon. */
html body .ethnosGamesMatchHeadR716 p.isPeerClosed{font-weight:800 !important;color:#f3b56f !important;}


/* R755 — carte Open Arkanoid sans réutiliser les médias tiers du paquet historique. */
html body .ethnosSoloGameCardR679[data-solo-game="arkanoid"] .ethnosSoloGameMediaR708{
  background:
    linear-gradient(180deg,rgba(5,28,41,.92),rgba(4,18,29,.96)),
    repeating-linear-gradient(90deg,rgba(91,200,197,.22) 0 14px,rgba(255,139,67,.18) 14px 28px) !important;
  border:1px solid rgba(91,200,197,.28) !important;
}
html body .ethnosSoloGameCardR679[data-solo-game="arkanoid"] .ethnosSoloGameMediaR708 i{
  font-size:36px !important;
  color:#fff9ef !important;
  text-shadow:0 0 18px rgba(91,200,197,.35) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="arkanoid"] .ethnosSoloCardR679{
  width:min(1120px,97vw) !important;
  max-height:96vh !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="arkanoid"] .ethnosSoloStageR679{
  display:grid !important;
  place-items:center !important;
  padding:clamp(10px,1.4vw,18px) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="arkanoid"] canvas{
  width:min(100%,960px,calc((96vh - 205px) * 1.5)) !important;
  max-width:960px !important;
  height:auto !important;
  touch-action:none !important;
}
html body .ethnosArcadeSourceCreditR756{
  display:block !important;
  margin-top:7px !important;
  color:#7f9aa4 !important;
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}


/* R756 — Open Invaders : rendu Canvas Ethnos, sans PNG Flaticon du dépôt source. */
html body .ethnosSoloGameCardR679[data-solo-game="space_invaders"] .ethnosSoloGameMediaR708{
  background:radial-gradient(circle at 50% 80%,rgba(91,200,197,.22),transparent 42%),linear-gradient(180deg,#07131f,#02080f) !important;
  border:1px solid rgba(138,167,255,.28) !important;
}
html body .ethnosSoloGameCardR679[data-solo-game="space_invaders"] .ethnosSoloGameMediaR708 i{
  font-size:38px !important;color:#fff9ef !important;text-shadow:0 0 20px rgba(138,167,255,.46) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="space_invaders"] .ethnosSoloCardR679{
  width:min(1120px,97vw) !important;max-height:96vh !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="space_invaders"] .ethnosSoloStageR679{
  display:grid !important;place-items:center !important;padding:clamp(10px,1.4vw,18px) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="space_invaders"] canvas{
  width:min(100%,960px,calc((96vh - 205px) * 1.5)) !important;max-width:960px !important;height:auto !important;touch-action:none !important;
}


/* R759_VISUAL_RESTORATION_START
   Enhanced Blocks: CRT noir/vert d'après la source MIT.
   Open Arkanoid: assets graphiques principaux GPL v2 de l'archive auteur.
   Open Invaders: rendu vectoriel original Ethnos, car les PNG Flaticon ne sont pas redistribués. */
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosSoloStageR679,
html body .ethnosSoloOverlayR679[data-solo-game="space_invaders"] .ethnosSoloStageR679{
  background:#000 !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:inset 0 0 42px rgba(0,0,0,.9),0 18px 50px rgba(0,0,0,.32) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] canvas{
  image-rendering:auto !important;
  filter:contrast(1.03) saturate(1.06) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="arkanoid"] .ethnosSoloStageR679{
  background:#2c2c2c !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:inset 0 0 28px rgba(0,0,0,.48),0 18px 54px rgba(0,0,0,.34) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="arkanoid"] canvas{
  image-rendering:auto !important;
  filter:saturate(1.08) contrast(1.04) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="space_invaders"] canvas{image-rendering:auto !important;}
/* R759_VISUAL_RESTORATION_END */


/* R760_DROP_ZONE_START
   Périmètre local : key technique `blocks` conservée pour scores/classements.
   Delta demandé : carte modale 980 -> 1470 px (+50 %) ; canvas 720 -> 1080 px (+50 %)
   lorsque la hauteur du viewport le permet. */
html body .ethnosSoloGameCardR679[data-solo-game="blocks"] .ethnosSoloGameMediaR708{
  background:#020812 !important;
  border:1px solid rgba(91,200,197,.3) !important;
}
html body .ethnosSoloGameCardR679[data-solo-game="blocks"] .ethnosDropZoneThumbR760{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 50% !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosSoloCardR679{
  width:min(1470px,98vw) !important;
  max-height:96vh !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosDropZoneBannerR761{
  min-height:150px !important;
  background:
    linear-gradient(90deg,rgba(2,9,18,.92) 0%,rgba(2,9,18,.73) 44%,rgba(2,9,18,.30) 70%,rgba(2,9,18,.56) 100%),
    url('assets/drop-zone-earth-r761.jpg') center 49% / cover no-repeat !important;
  border-bottom-color:rgba(116,210,255,.24) !important;
  text-shadow:0 2px 12px rgba(0,0,0,.72) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosDropZoneBannerR761 p,
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosDropZoneBannerR761 .ethnosArcadeSourceCreditR756{
  color:#e2eef2 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.86) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosSoloStageR679{
  padding:clamp(10px,1.2vw,18px) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="blocks"] canvas{
  width:min(100%,1080px,calc((96vh - 245px) * 1.5)) !important;
  max-width:1080px !important;
  height:auto !important;
  touch-action:none !important;
}
@media(max-width:760px){
  html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosSoloCardR679{width:min(100%,97vw) !important;}
  html body .ethnosSoloOverlayR679[data-solo-game="blocks"] .ethnosDropZoneBannerR761{min-height:118px !important;background-position:center 50% !important;}
  html body .ethnosSoloOverlayR679[data-solo-game="blocks"] canvas{width:100% !important;}
}
/* R760_DROP_ZONE_END */


/* R761_FOODIE_SNAKE_START
   Périmètre local : clé technique `snake` conservée pour scores/classements.
   L'ancienne photo latérale n'est plus rendue par le propriétaire actif R761. */
html body .ethnosSoloGameCardR679[data-solo-game="snake"] .ethnosSoloGameMediaR708{
  background:#8dca56 !important;
}
html body .ethnosSoloGameCardR679[data-solo-game="snake"] .ethnosSnakeGameThumbR708{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:72% 34% !important;
  transform:scale(1.42) !important;
  transform-origin:72% 34% !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSoloCardR679{
  width:min(1180px,97vw) !important;
  max-height:96vh !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosFoodieSnakeBannerR761{
  min-height:180px !important;
  background:
    linear-gradient(90deg,rgba(5,24,20,.92) 0%,rgba(5,24,20,.76) 40%,rgba(5,24,20,.30) 66%,rgba(5,24,20,.54) 100%),
    url('assets/foodie-snake-r761.jpg') 68% 37% / cover no-repeat !important;
  border-bottom-color:rgba(217,239,174,.34) !important;
  text-shadow:0 2px 12px rgba(0,0,0,.74) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosFoodieSnakeBannerR761 p,
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosFoodieSnakeBannerR761 .ethnosSnakeAudioCreditR708{
  color:#f4f7e9 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.84) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeStageR761{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  place-items:center !important;
  gap:0 !important;
  padding:clamp(12px,1.5vw,20px) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeCanvasPaneR761{
  min-width:0 !important;
  width:100% !important;
  display:grid !important;
  place-items:center !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeCanvasPaneR761 canvas{
  width:min(100%,960px,calc((96vh - 315px) * 1.5)) !important;
  max-width:960px !important;
  height:auto !important;
  touch-action:none !important;
}
html body .ethnosSoloFooterActionsR761{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
}
html body .ethnosFoodieSnakeCreditsButtonR761{
  min-height:42px !important;
  padding:0 18px !important;
  border:1px solid rgba(160,196,50,.62) !important;
  border-radius:10px !important;
  background:#13291e !important;
  color:#f7f4ec !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
html body .ethnosFoodieSnakeCreditsR761{
  width:min(100%,760px) !important;
  margin:10px auto 0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(160,196,50,.36) !important;
  border-radius:10px !important;
  background:#071a14 !important;
  color:#dfead8 !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
html body .ethnosFoodieSnakeCreditsR761[hidden]{display:none !important;}
html body .ethnosFoodieSnakeCreditsR761 strong,
html body .ethnosFoodieSnakeCreditsR761 a,
html body .ethnosFoodieSnakeCreditsR761 span{display:block !important;}
html body .ethnosFoodieSnakeCreditsR761 a{color:#bde877 !important;text-decoration:underline !important;margin-top:4px !important;}
@media(max-width:760px){
  html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosFoodieSnakeBannerR761{min-height:140px !important;background-position:68% 37% !important;}
  html body .ethnosSoloGameCardR679[data-solo-game="snake"] .ethnosSnakeGameThumbR708{transform:scale(1.30) !important;}
  html body .ethnosSoloOverlayR679[data-solo-game="snake"] .ethnosSnakeCanvasPaneR761 canvas{width:100% !important;}
}
/* R761_FOODIE_SNAKE_END */


/* R762 — KMahjongg + Super Sudoku. Scope volontairement limité aux deux nouveaux jeux. */
html body .ethnosMahjongMiniR762{display:flex !important;align-items:center !important;justify-content:center !important;gap:3px !important;background:linear-gradient(145deg,#6b4d16,#211606) !important;padding:9px !important;box-sizing:border-box !important;}
html body .ethnosMahjongMiniR762 i{width:20px;height:29px;display:grid;place-items:center;border-radius:3px;background:#f7f6f0;color:#17352b;font:800 14px/1 serif;box-shadow:2px 3px 0 #b9bbb8;font-style:normal !important;}
html body .ethnosSudokuGameCardR762 .ethnosSoloGameMediaR708 img{object-position:23% 15% !important;}
html body .ethnosSoloOverlayR679[data-solo-game="kmahjongg"] .ethnosSoloCardR679{width:min(1320px,98vw) !important;max-height:97vh !important;}
html body .ethnosMahjongStageR762{display:grid !important;grid-template-rows:auto minmax(0,1fr) auto !important;gap:0 !important;padding:0 !important;background:#20262a !important;overflow:hidden !important;}
html body .ethnosMahjongToolbarR762{display:flex !important;gap:4px !important;padding:8px 12px !important;background:#eceeef !important;border-bottom:1px solid #c7c9ca !important;}
html body .ethnosMahjongToolbarR762 button{border:0 !important;background:transparent !important;color:#303538 !important;padding:7px 12px !important;border-radius:5px !important;font-weight:700 !important;cursor:pointer !important;}
html body .ethnosMahjongToolbarR762 button:hover{background:#d9dddf !important;}
html body .ethnosMahjongStageR762 canvas{display:block !important;width:min(100%,1080px) !important;height:auto !important;max-height:calc(97vh - 260px) !important;margin:auto !important;background:#4b370e !important;}
html body .ethnosMahjongStatusR762{min-height:28px !important;padding:6px 14px !important;background:#eceeef !important;color:#394348 !important;border-top:1px solid #c9cccd !important;font-size:12px !important;}

html body .ethnosSoloOverlayR679[data-solo-game="super_sudoku"] .ethnosSoloCardR679{width:min(1500px,99vw) !important;max-height:98vh !important;}
html body .ethnosSudokuStageR762{display:block !important;padding:0 !important;background:#202b3b !important;overflow:auto !important;}
html body .ethnosSudokuStageR762>[data-sudoku-host]{width:100% !important;}
html body .ethnosSudokuAppR762{position:relative;background:#202b3b;color:#fff;min-height:660px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;}
html body .ethnosSudokuTopR762{display:grid;grid-template-columns:auto 1px auto 1fr auto auto auto;align-items:center;gap:18px;padding:16px 18px;background:#202b3b;border-top:3px solid #8f72bf;font-size:16px;font-weight:700;}
html body .ethnosSudokuTopR762>i{width:1px;height:22px;background:#dfe6ed;}
html body .ethnosSudokuTopR762>strong{text-align:center;font-size:28px;font-weight:900;letter-spacing:-.03em;}
html body .ethnosSudokuTopR762 button,.ethnosSudokuSideR762 button,.ethnosSudokuSideR762 select{border:0;border-radius:2px;background:#fff;color:#101820;font-weight:800;cursor:pointer;}
html body .ethnosSudokuTopR762 button{padding:13px 20px;font-size:16px;}
html body .ethnosSudokuTopR762 button:last-child{background:#17a79e;color:#fff;}
html body .ethnosSudokuBodyR762{display:grid;grid-template-columns:minmax(520px,640px) minmax(420px,1fr);gap:18px;padding:0 18px 18px;align-items:start;}
html body .ethnosSudokuGridR762{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1;background:#fff;border:1px solid #8995a3;}
html body .ethnosSudokuCellR762{position:relative;min-width:0;border:0;border-right:1px solid #c8cfd6;border-bottom:1px solid #c8cfd6;background:#fff;color:#111;font-size:23px;font-weight:800;cursor:pointer;}
html body .ethnosSudokuCellR762:nth-child(3n){border-right:2px solid #8f9aa7;}
html body .ethnosSudokuCellR762:nth-child(n+19):nth-child(-n+27),html body .ethnosSudokuCellR762:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #8f9aa7;}
html body .ethnosSudokuCellR762.isGiven{background:#e3e6ea;color:#101318;}
html body .ethnosSudokuCellR762.isSelected{outline:3px solid #20d0be;outline-offset:-3px;z-index:2;color:#098f86;}
html body .ethnosSudokuCellR762.isConflict:not(.isGiven){background:#ffe0df;color:#bc2929;}
html body .ethnosSudokuNotesR762{position:absolute;inset:3px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);color:#20aef3;font-size:10px;font-weight:700;}
html body .ethnosSudokuNotesR762 i{font-style:normal;display:grid;place-items:center;}
html body .ethnosSudokuSideR762{padding:0 0 18px;color:#fff;}
html body .ethnosSudokuNumbersR762{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
html body .ethnosSudokuNumbersR762 button{height:50px;font-size:18px;}
html body .ethnosSudokuToolsR762{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;}
html body .ethnosSudokuToolsR762 button{min-height:48px;font-size:15px;}
html body .ethnosSudokuToolsR762 button.isActive{background:#18a398;color:#fff;}
html body .ethnosSudokuToolsR762 small{display:block;font-size:11px;}
html body .ethnosSudokuSideR762 h3{margin:22px 0 9px;font-size:24px;}
html body .ethnosSudokuSideR762 ul{margin:0;padding-left:25px;line-height:1.55;font-size:14px;}
html body .ethnosSudokuSideR762 select{padding:11px 14px;font-size:15px;min-width:160px;}
html body .ethnosSudokuSourceR762{margin-top:18px;color:#c6d0dc;font-size:12px;line-height:1.4;}
html body .ethnosSudokuPausedR762{position:absolute;inset:62px 0 0;display:grid;place-items:center;background:rgba(32,43,59,.88);font-size:70px;font-weight:950;letter-spacing:.08em;z-index:5;}
@media (max-width:1100px){html body .ethnosSudokuBodyR762{grid-template-columns:minmax(430px,1fr) minmax(330px,.75fr);}html body .ethnosSudokuTopR762{gap:9px;}html body .ethnosSudokuTopR762>strong{font-size:22px;}html body .ethnosSudokuTopR762 button{padding:10px 12px;}}
@media (max-width:820px){html body .ethnosSudokuBodyR762{grid-template-columns:1fr;}html body .ethnosSudokuTopR762{grid-template-columns:auto auto 1fr auto;}.ethnosSudokuTopR762>i{display:none !important;}html body .ethnosSudokuTopR762 button[data-sd-clear]{display:none;}html body .ethnosSudokuGridR762{max-width:620px;margin:auto;}html body .ethnosMahjongStageR762 canvas{max-height:none !important;}}

/* R763 — Cosmic Siege : fusion Open Invaders + Star Swarm + Nebula Patrol. */
html body .ethnosCosmicSiegeGameCardR763 .ethnosCosmicSiegeThumbR763{
  object-fit:cover !important;
  object-position:center 48% !important;
  transform:scale(1.03) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosSoloCardR679{
  width:min(1320px,98vw) !important;
  max-height:97vh !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosCosmicSiegeBannerR763{
  position:relative !important;
  min-height:154px !important;
  overflow:hidden !important;
  background:
    linear-gradient(90deg,rgba(1,10,28,.96) 0%,rgba(1,10,28,.82) 46%,rgba(1,10,28,.38) 100%),
    url("assets/cosmic-siege-r763/world-1.jpg") center 48%/cover no-repeat !important;
  color:#fff !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosCosmicSiegeBannerR763 h2,
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosCosmicSiegeBannerR763 p,
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosCosmicSiegeBannerR763 small{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.8) !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosSoloStageR679{
  padding:10px 14px !important;
  background:#020814 !important;
  overflow:hidden !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosSoloStageR679 canvas{
  display:block !important;
  width:min(100%,1080px,calc((97vh - 310px) * 1.5)) !important;
  max-width:1080px !important;
  height:auto !important;
  margin:auto !important;
  border:1px solid rgba(121,224,255,.4) !important;
  box-shadow:0 12px 38px rgba(0,0,0,.5),0 0 30px rgba(62,182,255,.12) !important;
  background:#020814 !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosSoloControlsR679{
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosSoloControlsR679 button{
  min-width:66px !important;
}
@media (max-width:820px){
  html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosCosmicSiegeBannerR763{min-height:132px !important;}
  html body .ethnosSoloOverlayR679[data-solo-game="cosmic_siege"] .ethnosSoloStageR679 canvas{width:100% !important;}
}


/* R765 — KMahjongg : visuel de présentation fourni + quatre fonds aléatoires par partie. */
html body .ethnosMahjongGameCardR765 .ethnosSoloGameMediaR708{background:#24170e !important;overflow:hidden !important;}
html body .ethnosMahjongGameCardR765 .ethnosMahjongThumbR765{width:100% !important;height:100% !important;object-fit:cover !important;object-position:50% 56% !important;transform:scale(1.04) !important;}
html body .ethnosSoloOverlayR679[data-solo-game="kmahjongg"] .ethnosMahjongStageR762 canvas{background:#22170d !important;}


/* R766 — consolidation visuelle Jeux : duels au gabarit score, visuels fournis,
   sélection js13kGames fusionnée, photos de bandeau -30 %, Sudoku et bandeaux duel. */
html body .ethnosGamesTopLineR679{
  grid-template-columns:minmax(0,1fr) auto minmax(150px,230px) !important;
  align-items:center !important;
}
html body .ethnosGamesHeroImageR766{
  margin:0 !important;width:clamp(150px,12vw,230px) !important;height:clamp(74px,5.6vw,106px) !important;
  overflow:hidden !important;border-radius:12px !important;border:1px solid rgba(255,255,255,.14) !important;
  justify-self:end !important;background:#000 !important;
}
html body .ethnosGamesHeroImageR766 img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 54% !important;}

/* La colonne photo passe de 36 % à 25,2 % : réduction exacte de 30 %. */
html body .ethnosGamesVisualBandR679{grid-template-columns:minmax(220px,25.2%) minmax(0,1fr) !important;}
html body .ethnosGamesBandImageR679 img{object-position:center center !important;}
html body .ethnosGamesVisualBandR679.isGameOver .ethnosGamesBandImageR679 img{object-position:center 63% !important;}
html body .ethnosGamesVisualBandR679.isFriends{height:auto !important;min-height:390px !important;}
html body .ethnosGamesVisualBandR679.isGameOver{min-height:620px !important;}

/* Les trois cartes duel reprennent le même gabarit physique que les cartes score. */
html body .ethnosGamesGameGridR679,
html body .ethnosSoloGameGridR679{
  display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:none !important;
  gap:14px !important;width:min(100%,980px) !important;max-width:980px !important;margin-top:20px !important;
}
html body .ethnosGameActionCardR679.ethnosGameActionCardR766,
html body .ethnosSoloGameCardR679.ethnosSoloGameCardR708{
  min-height:128px !important;height:128px !important;max-height:128px !important;
}
html body .ethnosGameActionMainR679.ethnosGameActionMainR766{
  position:static !important;inset:auto !important;display:grid !important;grid-template-columns:104px minmax(0,1fr) !important;
  align-items:center !important;gap:16px !important;width:100% !important;height:100% !important;padding:10px !important;
}
html body .ethnosGameActionMediaR766{
  display:block !important;width:104px !important;height:104px !important;overflow:hidden !important;border-radius:12px !important;background:#061822 !important;
}
html body .ethnosGameActionMediaR766 img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;}
html body .ethnosGameActionCopyR679 strong{font-size:clamp(19px,1.2vw,23px) !important;}
html body .ethnosGameActionCopyR679 small{margin-top:5px !important;font-size:11px !important;}
html body .ethnosSoloGameEntryR766{display:grid !important;grid-template-rows:auto auto !important;gap:5px !important;min-width:0 !important;}
html body .ethnosSoloGameEntryR766>.ethnosSoloGameCardR679{width:100% !important;}
html body .ethnosMergedCommunityCreditR766{margin-left:2px !important;font-size:9px !important;}
html body .ethnosSudokuGameCardR766 .ethnosSoloGameMediaR708 img{object-position:center 48% !important;}

/* Bandeau illustré Super Sudoku. */
html body .ethnosSoloOverlayR679[data-solo-game="super_sudoku"] .ethnosSudokuBannerR766{
  position:relative !important;min-height:154px !important;overflow:hidden !important;
  background:linear-gradient(90deg,rgba(6,24,34,.96) 0%,rgba(6,24,34,.78) 48%,rgba(6,24,34,.35) 100%),url("assets/super-sudoku-r766.jpg") center 46%/cover no-repeat !important;
  color:#fff !important;
}
html body .ethnosSoloOverlayR679[data-solo-game="super_sudoku"] .ethnosSudokuBannerR766 h2,
html body .ethnosSoloOverlayR679[data-solo-game="super_sudoku"] .ethnosSudokuBannerR766 p,
html body .ethnosSoloOverlayR679[data-solo-game="super_sudoku"] .ethnosSudokuBannerR766 small{color:#fff !important;text-shadow:0 2px 12px rgba(0,0,0,.85) !important;}

/* Les visuels fournis servent aussi de bandeaux aux fenêtres de duel. */
html body .ethnosGamesMatchOverlayR716[data-duel-game="connect_four"] .ethnosGamesMatchHeadR716{
  background:linear-gradient(90deg,rgba(5,27,39,.97),rgba(5,27,39,.58)),url("assets/duel-connect-four-r766.jpg") center 48%/cover no-repeat !important;
}
html body .ethnosGamesMatchOverlayR716[data-duel-game="chess"] .ethnosGamesMatchHeadR716{
  background:linear-gradient(90deg,rgba(5,27,39,.97),rgba(5,27,39,.58)),url("assets/duel-chess-r766.jpg") center 52%/cover no-repeat !important;
}
html body .ethnosGamesMatchOverlayR716[data-duel-game="checkers"] .ethnosGamesMatchHeadR716{
  background:linear-gradient(90deg,rgba(5,27,39,.97),rgba(5,27,39,.58)),url("assets/duel-checkers-r766.jpg") center 52%/cover no-repeat !important;
}
html body .ethnosGamesMatchHeadR716{min-height:132px !important;padding:18px 22px !important;background-color:#0a2634 !important;background-repeat:no-repeat !important;}
html body .ethnosGamesMatchHeadR716 h2,html body .ethnosGamesMatchHeadR716 p,html body .ethnosGamesMatchHeadR716 span{color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.85) !important;}

@media (max-width:1100px){
  html body .ethnosGamesTopLineR679{grid-template-columns:minmax(0,1fr) auto minmax(130px,180px) !important;}
  html body .ethnosGamesHeroImageR766{width:clamp(130px,14vw,180px) !important;height:76px !important;}
  html body .ethnosGamesVisualBandR679{grid-template-columns:minmax(180px,25.2%) minmax(0,1fr) !important;}
  html body .ethnosGameActionMainR679.ethnosGameActionMainR766{grid-template-columns:88px minmax(0,1fr) !important;}
  html body .ethnosGameActionMediaR766{width:88px !important;height:88px !important;}
  html body .ethnosGameActionCardR679.ethnosGameActionCardR766,
  html body .ethnosSoloGameCardR679.ethnosSoloGameCardR708{min-height:112px !important;height:112px !important;max-height:112px !important;}
}
@media (max-width:900px){
  html body .ethnosGamesTopLineR679{grid-template-columns:1fr !important;}
  html body .ethnosGamesTitleBoxR679{padding-right:126px !important;}
  html body .ethnosGamesHeroImageR766{position:absolute !important;right:16px !important;top:14px !important;width:112px !important;height:64px !important;}
}
@media (max-width:760px){
  html body .ethnosGamesVisualBandR679{grid-template-columns:1fr !important;}
  html body .ethnosGamesBandImageR679{height:133px !important;}
  html body .ethnosGamesGameGridR679,html body .ethnosSoloGameGridR679{grid-template-columns:1fr !important;}
  html body .ethnosGamesVisualBandR679.isFriends,html body .ethnosGamesVisualBandR679.isGameOver{min-height:0 !important;}
}

/* R767 — Rainbow Rumble est un duel Ethnos uniquement. */
.ethnosRainbowDuelR767{display:grid;gap:12px;width:min(100%,960px);margin:0 auto}.ethnosRainbowDuelInfoR767{display:grid;gap:4px;padding:10px 12px;background:#10293a;color:#fff;border:1px solid #31546b}.ethnosRainbowDuelInfoR767 span,.ethnosRainbowDuelInfoR767 small{color:#c8dae5}.ethnosRainbowFrameR767{display:block;width:100%;aspect-ratio:16/9;border:0;background:#123;box-shadow:0 10px 28px rgba(0,0,0,.28)}
@media(max-width:900px){.ethnosRainbowFrameR767{min-height:320px}}
