/* Supplied Night Ruby layers, keeping the existing machine coordinate space. */
.veil:has(.modal-casino) {
  background: #0b202b url('./assets/casino-night-ruby-v1/night-clearing.webp') center / cover no-repeat;
  backdrop-filter: none;
}
.modal-casino .korni-pedestal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
}
.korni-pedestal .ruby-balance {
  position: relative;
  inset: auto;
  width: 56%;
  height: auto;
  aspect-ratio: 880 / 166;
  padding-bottom: 2px;
  background: url('./assets/korni-udachi/slate.webp') center top / 181.82% auto no-repeat;
}
.ruby-bets {
  position: relative;
  isolation: isolate;
  container-type: inline-size;
  width: 92%;
  min-width: 288px;
  aspect-ratio: 2072 / 542;
}
.ruby-support { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; user-select: none; }
.ruby-bets .slot-stakes {
  inset: 16% 10.8%;
  width: auto;
  height: auto;
  align-items: stretch;
  gap: 1.2cqw;
  padding: 0;
}
.ruby-bets .slot-stakes button,
.ruby-bets .slot-stakes button[aria-pressed="true"] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 48px;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #fff0cd;
  font: 800 clamp(13px, 4.2cqw, 18px)/1 var(--font-body);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 2px #10191ccc;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.ruby-key { position: relative; display: block; width: 100%; aspect-ratio: 800 / 352; pointer-events: none; user-select: none; transition: transform 90ms ease, filter 120ms ease, opacity 120ms ease; }
.ruby-key img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity 140ms ease; }
.ruby-key-selected { opacity: 0; }
.ruby-key > span { position: absolute; inset: 0; display: grid; place-items: center; padding-bottom: 2%; white-space: nowrap; }
.ruby-bets [aria-pressed="true"] .ruby-key-normal { opacity: 0; }
.ruby-bets [aria-pressed="true"] .ruby-key-selected { opacity: 1; }
.ruby-bets button:focus-visible { outline: none; }
.ruby-bets button:focus-visible .ruby-key { outline: 2px solid #ffe4a1; outline-offset: 3px; border-radius: 4px; }
.ruby-bets button:not(:disabled):active .ruby-key { transform: translateY(1px) scale(.985); }
.ruby-bets button:disabled .ruby-key { filter: grayscale(.75) brightness(.78); opacity: .65; }
.modal-casino .korni-controls .slot-result { width: 92%; min-height: 40px; margin: 4px auto 0; padding: 8px; border-radius: 6px; background: #0b202bd9; }
.modal-casino .free-spins-badge { background: #12352bea; }
@media (prefers-reduced-motion: reduce) {
  .ruby-key, .ruby-key img { transition: none; }
  .ruby-bets button:not(:disabled):active .ruby-key { transform: none; }
}
