.right-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 20px);
  align-self: start;
  max-height: calc(100dvh - var(--header-height) - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #71333e transparent;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: #16090c;
  color: var(--text-strong);
  font-size: 13px;
}
.right-sidebar svg,.right-sidebar-toggle svg { width: 20px; height: 22px; flex-shrink: 0; }
.right-sidebar button,.right-sidebar select,.right-sidebar input { font: inherit; }
.right-sidebar button { cursor: pointer; color: inherit; }
.right-sidebar button:focus-visible,.right-sidebar a:focus-visible,.right-sidebar summary:focus-visible,.right-sidebar-toggle:focus-visible { outline: 2px solid white; outline-offset: -3px; }
.right-sidebar-top { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 12px; border-radius: 7px; background: #291418; }
.right-settings { flex: 1; min-width: 0; }
.right-settings summary { display: flex; align-items: center; gap: 10px; padding: 13px 10px; font-size: 13px; font-weight: 800; text-transform: uppercase; cursor: pointer; list-style: none; }
.right-settings summary::-webkit-details-marker { display: none; }
.right-settings-body { display: grid; gap: 15px; padding: 6px 10px 16px; }
.right-settings-body label { display: grid; gap: 7px; font-size: 12px; }
.right-settings select { width: 100%; padding: 8px; color: white; border: 1px solid #71333e; border-radius: 5px; background: #16090c; }
.right-settings-body .right-settings-check { display: flex; align-items: center; gap: 8px; }
.right-settings-check input { accent-color: var(--action); }
.right-sidebar-close { display: grid; place-items: center; width: 34px; height: 46px; border: 0; background: transparent; }
.right-section-heading { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 0 12px; background: #291418; border-top: 2px solid var(--action); }
.right-section-heading h2 { margin: 0; font-size: 13px; text-transform: uppercase; font-weight: 800; }
.right-slip-clear { border: 0; padding: 4px; background: none; }
.right-slip-clear:disabled { opacity: .35; cursor: default; }
.right-tabs { display: grid; grid-template-columns: 1fr 1fr; background: #392125; }
.right-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 13px 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; color: #c6afb2; }
.right-tabs button[aria-selected="true"] { border-bottom-color: #ed2939; color: white; background: rgba(237,41,57,.06); }
.right-slip-empty { min-height: 250px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px 18px; background: #351c20; text-align: center; }
.right-ticket-art { margin-bottom: 26px; color: #eadfe1; }
.right-ticket-art svg { width: 68px; height: 68px; stroke-width: 1.2; fill: rgba(237,41,57,.12); }
.right-slip-empty strong { font-size: 14px; line-height: 1.4; }
.right-slip-empty p { margin: 14px 0 0; line-height: 1.6; color: #c6afb2; font-size: 12px; }
.right-slip-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 12px 10px; background: #291418; }
.right-stake { display: flex; align-items: center; gap: 7px; min-width: 0; border: 1px solid #784149; border-radius: 7px; padding: 0 10px; color: #c6afb2; background: #16090c; }
.right-stake input { width: 100%; min-width: 0; border: 0; background: transparent; color: white; padding: 11px 0; outline: none; appearance: textfield; }
.right-stake:focus-within { outline: 2px solid white; outline-offset: 1px; }
.right-stake input::-webkit-inner-spin-button { appearance: none; }
.right-login { display: grid; place-items: center; padding: 10px 13px; border-radius: 7px; font-size: 13px; font-weight: 800; color: white; background: var(--action); text-decoration: none; }
.right-login:hover { background: var(--action-hover); }
.right-games { margin-top: 14px; background: #291418; }
.right-games-tabs { background: #291418; }
.right-games-tabs button { text-align: left; padding-inline: 12px; }
.right-games-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; }
.right-game { display: block; min-width: 0; overflow: hidden; border-radius: 7px; position: relative; aspect-ratio: 1; background: #110708; }
.right-game img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.right-game .right-game-label { position: absolute; inset: auto 0 0; padding: 16px 7px 7px; background: linear-gradient(transparent,rgba(0,0,0,.9)); color: white; font-size: 10px; line-height: 1.25; opacity: 0; transition: opacity .2s; }
.right-game:hover img { transform: scale(1.04); }
.right-game:hover .right-game-label,.right-game:focus-visible .right-game-label { opacity: 1; }
.right-sidebar-toggle { position: fixed; right: 0; top: 45%; z-index: 90; display: none; align-items: center; gap: 8px; border: 1px solid #ed2939; border-right: 0; border-radius: 12px 0 0 12px; background: var(--action); color: white; padding: 12px 10px; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; box-shadow: 0 8px 30px #0006; }
.right-sidebar-backdrop { position: fixed; inset: 0; z-index: 210; background: #080305b8; backdrop-filter: blur(4px); }
.right-sidebar-backdrop[hidden] { display: none; }
.right-sidebar-open { overflow: hidden; }
@media (min-width: 1400px) {
  .page-shell.has-right-sidebar { grid-template-columns: 210px minmax(0,1fr) 280px; width: min(100%, 1720px); gap: 16px; padding-inline: 16px; }
  .page-shell.has-right-sidebar:has(.page-side.is-collapsed) { grid-template-columns: 90px minmax(0,1fr) 280px; }
  .page-shell.has-right-sidebar.right-sidebar-hidden { grid-template-columns: 210px minmax(0,1fr); }
  .page-shell.has-right-sidebar.right-sidebar-hidden:has(.page-side.is-collapsed) { grid-template-columns: 90px minmax(0,1fr); }
  .right-sidebar-hidden .right-sidebar { display: none; }
  body:has(.right-sidebar-hidden) > .right-sidebar-toggle { display: flex; }
}
@media (max-width: 1399px) {
  .right-sidebar { position: fixed; top: 12px; right: 12px; bottom: 12px; width: min(360px,calc(100vw - 24px)); max-height: none; z-index: 220; display: none; box-shadow: 0 20px 80px #000b; }
  .right-sidebar.is-open { display: block; }
  .right-sidebar-toggle { display: flex; }
  .right-sidebar-open .right-sidebar-toggle { visibility: hidden; }
}
@media (max-width: 600px) {
  .right-sidebar-toggle span { display: none; }
  .right-sidebar-toggle { padding: 12px 9px; }
}
@media (prefers-reduced-motion: reduce) { .right-game img,.right-game .right-game-label { transition: none; } }

/* Six cards; only one pair crossfades at a time. */
.right-games { position: relative; }
.right-games-tabs { padding-right: 27px; }
.right-games-pause {
  position: absolute;
  right: 4px;
  top: 10px;
  width: 24px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: transparent;
  font-size: 11px !important;
}
.right-game { transition: opacity 450ms ease; }
.right-game.is-changing { opacity: 0; }
.right-games-grid.has-motion .right-game img {
  animation: right-game-pulse 4s ease-in-out infinite;
  animation-delay: var(--pulse-delay, 0s);
}
@keyframes right-game-pulse {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.035); filter: brightness(1.07); }
}
@media (prefers-reduced-motion: reduce) {
  .right-game { transition: none; }
  .right-games-grid .right-game img { animation: none !important; }
}

.right-game-stats {
  position: absolute;
  top: 6px;
  right: 5px;
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(43, 42, 48, .83);
  backdrop-filter: blur(4px);
  color: #ffffff;
  pointer-events: none;
}
.right-game-stats > div {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 17px;
}
.right-game-stats svg {
  width: 13px;
  height: 13px;
  color: #77c34b;
  fill: currentColor;
}
.right-game-stats svg[fill="none"] { fill: none; }
.right-game-stats b {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
