.games-main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 38px 0 72px; }
.games-hero { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 42px; border: 1px solid var(--line); border-radius: 28px; background: radial-gradient(circle at 85% 10%, rgba(154,121,255,.24), transparent 38%), linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); }
.games-hero h1 { margin: 4px 0 12px; font-size: clamp(2rem, 5vw, 4.4rem); line-height: .98; }
.games-hero p:not(.eyebrow) { max-width: 720px; color: var(--muted); }
.games-session { flex: 0 0 min(310px, 34%); display: grid; gap: 5px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(8, 12, 24, .52); }
.games-session strong { color: #fff; }
.games-session span { color: var(--muted); font-size: .88rem; line-height: 1.4; }
.games-featured, .games-catalogue { margin-top: 28px; }
.game-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.035); }
.quiz-feature { background: linear-gradient(120deg, rgba(91,208,255,.13), rgba(154,121,255,.13)); }
.game-icon { display: grid; place-items: center; flex: 0 0 auto; width: 64px; height: 64px; border-radius: 18px; background: rgba(154,121,255,.16); font-size: 2rem; font-weight: 900; }
.game-card h2, .game-card h3 { margin: 6px 0; }
.game-card p { margin: 0; color: var(--muted); }
.game-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; background: rgba(255,255,255,.08); color: var(--muted); }
.game-status.ready { color: #9df1c8; background: rgba(56,211,159,.12); }
.game-status.waiting { color: #ffd980; background: rgba(255,189,66,.12); }
.games-section-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 16px; }
.games-section-head h2 { margin: 4px 0 0; }
.games-section-head > p { color: var(--muted); }
.games-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.games-grid .game-card { grid-template-columns: auto 1fr; align-items: start; }
.games-grid .game-actions { grid-column: 1 / -1; display: flex; gap: 10px; }
.games-grid .game-actions button { width: 100%; }
.games-grid button[disabled] { cursor: not-allowed; opacity: .52; }

.game-setup-dialog { width: min(760px, calc(100% - 24px)); max-height: min(900px, calc(100dvh - 24px)); padding: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 26px; background: #111521; color: var(--text); box-shadow: 0 30px 100px rgba(0,0,0,.65); }
.game-setup-dialog::backdrop { background: rgba(2, 4, 10, .82); backdrop-filter: blur(9px); }
.game-setup-shell { display: grid; max-height: inherit; grid-template-rows: auto minmax(0, 1fr) auto; }
.game-setup-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.game-setup-heading { display: flex; align-items: center; gap: 15px; }
.game-setup-heading .game-icon { width: 52px; height: 52px; border-radius: 15px; font-size: 1.4rem; }
.game-setup-heading h2 { margin: 3px 0 0; }
.game-close { width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.06); color: #fff; font-size: 1.65rem; line-height: 1; }
.game-setup-body { overflow: auto; display: grid; gap: 14px; padding: 18px 22px; }
.setup-player, .setup-section, .setup-recap { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.035); }
.setup-player { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.setup-player h3, .setup-recap h3 { margin: 3px 0 0; }
.setup-player-summary { max-width: 52%; color: #9df1c8; text-align: right; font-weight: 750; }
.setup-section { margin: 0; min-width: 0; }
.setup-section legend { padding: 0 8px; color: #fff; font-weight: 850; }
.setup-step { color: #ffbd42; font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.setup-help { margin: 2px 0 15px; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.game-bets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.game-languages { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.game-choice { min-height: 52px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.04); color: var(--text); }
.game-choice:hover { border-color: rgba(154,121,255,.7); }
.game-choice.selected { border-color: #9a79ff; background: linear-gradient(135deg, rgba(154,121,255,.28), rgba(91,208,255,.13)); box-shadow: inset 0 0 0 1px rgba(154,121,255,.34); }
.game-choice.selected strong::after { content: ' ✓'; color: #9df1c8; }
.setup-message { margin: 12px 0 0; color: #9df1c8; font-size: .88rem; }
.setup-message.warning { color: #ffd980; }
.setup-recap { display: grid; grid-template-columns: minmax(140px, .7fr) 1.3fr; gap: 18px; align-items: center; }
.setup-recap dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; }
.setup-recap dl div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.045); }
.setup-recap dt { color: var(--muted); }
.setup-recap dd { margin: 0; font-weight: 800; text-align: right; }
.game-setup-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 22px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(4,7,15,.45); }

@media (max-width: 700px) {
  .games-main { width: min(100% - 20px, 1180px); padding-top: 18px; }
  .games-hero { display: grid; padding: 24px 18px; border-radius: 20px; }
  .games-session { width: auto; }
  .game-card, .games-grid .game-card { grid-template-columns: auto 1fr; padding: 17px; gap: 13px; }
  .game-card > .primary { grid-column: 1 / -1; text-align: center; }
  .game-icon { width: 48px; height: 48px; border-radius: 14px; font-size: 1.45rem; }
  .games-section-head { display: block; }
  .games-grid { grid-template-columns: 1fr; }
  .game-setup-dialog { width: 100%; max-width: none; max-height: 94dvh; margin: auto 0 0; border-radius: 24px 24px 0 0; }
  .game-setup-header, .game-setup-body, .game-setup-actions { padding-left: 15px; padding-right: 15px; }
  .setup-player { align-items: start; }
  .setup-player-summary { max-width: 58%; font-size: .84rem; }
  .game-bets { grid-template-columns: repeat(3, 1fr); gap: 7px; }
  .setup-recap { grid-template-columns: 1fr; }
  .setup-recap dl { grid-template-columns: 1fr 1fr; }
  .game-setup-actions > * { flex: 1; }
}

@media (max-width: 390px) {
  .game-setup-heading .game-icon { display: none; }
  .setup-player { display: grid; }
  .setup-player-summary { max-width: none; text-align: left; }
  .setup-recap dl { grid-template-columns: 1fr; }
}
