.keno-bonus { max-width: 720px; margin: 24px auto; }
.keno-bonus-header, .keno-bonus-prompt { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.keno-bonus-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .15em; color: #7a6238; }
.keno-bonus-header h2 { margin: 0; font-size: clamp(23px, 5vw, 34px); letter-spacing: -.035em; }
.keno-bonus-streak { flex-shrink: 0; padding: 10px 12px; border-radius: 8px; background: #e6eddc; color: #3d6238; font-size: 12px; font-weight: 800; }
.keno-bonus-intro { color: var(--muted); font-size: 14px; line-height: 1.65; }
.keno-bonus-status { min-height: 24px; margin: 22px 0 12px; font-weight: 700; }
.keno-bonus-prompt h3 { margin: 0; font-size: 22px; line-height: 1.4; }
.keno-bonus-clock { flex-shrink: 0; font-size: 26px; font-weight: 800; font-variant-numeric: tabular-nums; }
.keno-bonus-clock--urgent { color: #b42318; }
.keno-bonus-board { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; padding: 16px; border-radius: 16px; background: #18312d; }
.keno-bonus-number { min-width: 0; min-height: 48px; aspect-ratio: 1; padding: 4px; border: 2px solid transparent; border-radius: 9px; background: #324c46; color: #f5f3e4; font: inherit; font-size: clamp(15px, 3vw, 22px); font-weight: 800; cursor: pointer; }
.keno-bonus-number:hover:not(:disabled) { background: #4c675b; }
.keno-bonus-number[aria-pressed="true"] { background: #e8ca80; color: #322a14; }
.keno-bonus-number--right { border-color: #b3e194; background: #547b43 !important; color: #fff !important; }
.keno-bonus-number--wrong { border-color: #edaba5; background: #99413e !important; color: #fff !important; }
.kyc-game .keno-bonus-number:disabled { opacity: 1; cursor: default; }
.keno-bonus-number:focus-visible { outline: 3px solid #ebcf83; outline-offset: 2px; }
.keno-bonus-answer { margin: 20px 0 10px; font-size: 18px; font-weight: 800; }
.keno-bonus-choice { color: var(--muted); font-size: 14px; line-height: 1.6; }
.keno-bonus-choice a { color: inherit; text-underline-offset: 3px; font-weight: 700; }
.keno-bonus-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
@media (max-width: 600px) {
  .keno-bonus-board { grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 10px; gap: 6px; }
  .keno-bonus-number { min-height: 44px; }
  .keno-bonus-header { align-items: start; }
  .keno-bonus-streak { font-size: 10px; padding: 8px; }
}
.keno-bonus > [data-keno-finish] { margin-top: 20px; }
