/* EventosApp Bingo rc58 — operación, colores BINGO y movimiento en vivo */

/* Estados de botones: la operación debe comunicar qué está disponible. */
.ev-bingo-live-controls .ev-bingo-btn {
  position: relative;
  overflow: hidden;
  border-color: rgba(255,255,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.ev-bingo-live-controls .ev-bingo-btn:not(:disabled):hover {
  transform: translateY(-2px);
  filter: saturate(1.12) brightness(1.08);
  box-shadow: 0 10px 24px rgba(4,17,35,.28), inset 0 1px 0 rgba(255,255,255,.18);
}
.ev-bingo-live-controls .ev-bingo-btn:not(:disabled):active {
  transform: translateY(1px) scale(.985);
  filter: brightness(.94);
  box-shadow: inset 0 3px 8px rgba(0,0,0,.2);
}
.ev-bingo-live-controls .ev-bingo-btn.is-current-state {
  border-color: rgba(117,255,181,.7);
  box-shadow: 0 0 0 3px rgba(56,218,131,.16), inset 0 1px 0 rgba(255,255,255,.16);
}
.ev-bingo-live-controls .ev-bingo-btn.is-busy {
  pointer-events: none;
  opacity: .72;
}
.ev-bingo-live-controls .ev-bingo-btn.is-busy::after {
  content: "";
  width: 14px;
  height: 14px;
  margin-left: 3px;
  border: 2px solid rgba(255,255,255,.34);
  border-top-color: #fff;
  border-radius: 50%;
  animation: evBingoSpin .65s linear infinite;
}
.ev-bingo-operation-status {
  display: flex;
  align-items: center;
  gap: 8px 12px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  background: rgba(7,25,49,.22);
  color: rgba(255,255,255,.76);
  font-size: 11px;
}
.ev-bingo-operation-status strong { color:#fff;font-size:11px;letter-spacing:.02em; }
.ev-bingo-operation-status.state-live { border-color:rgba(65,226,137,.38);background:rgba(20,145,82,.17); }
.ev-bingo-operation-status.state-paused { border-color:rgba(255,181,71,.42);background:rgba(186,108,13,.14); }
.ev-bingo-operation-status.state-finished { border-color:rgba(255,95,90,.35);background:rgba(156,44,40,.16); }
.ev-bingo-operation-status.is-busy { border-color:rgba(114,190,255,.48);background:rgba(38,122,193,.2); }
@keyframes evBingoSpin { to { transform:rotate(360deg); } }

/* Paleta B-I-N-G-O: rojo, naranja, verde, azul, violeta. */
.ev-bingo-colored-row .ev-bingo-board-letter,
.ev-bingo-colored-row .evbp-letter { background: var(--bingo-group)!important; }
.ev-bingo-colored-row .ev-bingo-board-number.called,
.ev-bingo-colored-row .evbp-number.called {
  background: color-mix(in srgb,var(--bingo-group) 86%,#fff)!important;
  border-color: color-mix(in srgb,var(--bingo-group) 78%,#fff)!important;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.2);
}
.ev-bingo-colored-row .ev-bingo-board-number.current,
.ev-bingo-colored-row .evbp-number.current {
  background:#fff!important;
  color:var(--bingo-group)!important;
  border-color:var(--bingo-group)!important;
  outline:3px solid color-mix(in srgb,var(--bingo-group) 36%,transparent)!important;
  box-shadow:0 9px 22px color-mix(in srgb,var(--bingo-group) 32%,transparent)!important;
}
.ev-bingo-recent-ball,
.evbp-recent span { border-color:color-mix(in srgb,var(--bingo-group,#3683c5) 62%,rgba(255,255,255,.18))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bingo-group,#3683c5) 20%,transparent); }
.evpl-letter { background:var(--bingo-group,#3683c5)!important;color:#fff!important; }

/* Balota 3D: reflejo discreto, profundidad y aro; sin burbuja blanca plana. */
.ev-bingo-live-ball,
.evbp-ball {
  --ball-color:#3683c5;
  --ball-color-dark:color-mix(in srgb,var(--ball-color) 62%,#07162b);
  isolation:isolate;
  border-color:rgba(246,250,255,.94)!important;
  background:
    radial-gradient(circle at 34% 27%,rgba(255,255,255,.72) 0 5%,rgba(255,255,255,.22) 6% 12%,transparent 13%),
    radial-gradient(circle at 62% 70%,transparent 0 45%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.34) 100%),
    radial-gradient(circle at 36% 30%,color-mix(in srgb,var(--ball-color) 88%,#fff) 0 18%,var(--ball-color) 42%,var(--ball-color-dark) 100%)!important;
  box-shadow:
    0 26px 45px rgba(0,0,0,.32),
    0 6px 0 color-mix(in srgb,var(--ball-color-dark) 76%,#02070d),
    inset -14px -19px 30px rgba(0,0,0,.22),
    inset 12px 12px 24px rgba(255,255,255,.18)!important;
}
.ev-bingo-live-ball::before,
.evbp-ball::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:11%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 22px rgba(255,255,255,.08);
}
.ev-bingo-live-ball.is-rolling,
.evbp-ball.is-rolling { animation:evBingoRoll3d .55s linear infinite; }
.ev-bingo-live-ball.is-revealed,
.evbp-ball.is-revealed { animation:evBingoReveal3d .78s cubic-bezier(.18,.84,.3,1.18); }
@keyframes evBingoRoll3d {
  0%{transform:perspective(500px) rotateX(-7deg) rotateY(-10deg) translateY(0) scale(.98)}
  25%{transform:perspective(500px) rotateX(8deg) rotateY(8deg) translateY(-5px) scale(1.015)}
  50%{transform:perspective(500px) rotateX(-4deg) rotateY(13deg) translateY(0) scale(.99)}
  75%{transform:perspective(500px) rotateX(7deg) rotateY(-8deg) translateY(-4px) scale(1.01)}
  100%{transform:perspective(500px) rotateX(-7deg) rotateY(-10deg) translateY(0) scale(.98)}
}
@keyframes evBingoReveal3d {
  0%{transform:scale(.84) rotate(-12deg)}
  52%{transform:scale(1.12) rotate(4deg)}
  100%{transform:scale(1) rotate(0)}
}

/* Movimiento ambiental de la pantalla pública. */
.ev-bingo-public-stage::after {
  content:"";
  position:absolute;
  z-index:0;
  width:42vw;
  height:42vw;
  min-width:420px;
  min-height:420px;
  left:-16vw;
  bottom:-25vw;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--stage-primary) 32%,transparent);
  box-shadow:0 0 0 70px color-mix(in srgb,var(--stage-primary) 4%,transparent),0 0 0 150px color-mix(in srgb,var(--stage-primary) 3%,transparent);
  animation:evBingoOrbit 18s ease-in-out infinite alternate;
  pointer-events:none;
}
.evbp-shell::before,
.evbp-shell::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  filter:blur(1px);
}
.evbp-shell::before { width:130px;height:130px;right:31%;top:7%;background:color-mix(in srgb,var(--stage-primary) 14%,transparent);animation:evBingoFloat 9s ease-in-out infinite; }
.evbp-shell::after { width:76px;height:76px;left:42%;bottom:8%;border:1px solid rgba(255,255,255,.12);animation:evBingoFloat 12s ease-in-out infinite reverse; }
@keyframes evBingoOrbit { from{transform:translate3d(0,0,0) rotate(0deg) scale(.92)} to{transform:translate3d(11vw,-8vh,0) rotate(22deg) scale(1.08)} }
@keyframes evBingoFloat { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(32px,-24px,0)} }

/* Selector de origen de cartones físicos. */
.ev-bingo-physical-mode { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 16px; }
.ev-bingo-mode-card {
  appearance:none;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;text-align:left;
  padding:14px;border:1px solid var(--bingo-border);border-radius:15px;background:var(--bingo-surface-soft);color:var(--bingo-ink);cursor:pointer;transition:.18s ease;
}
.ev-bingo-mode-card:hover { transform:translateY(-1px);border-color:color-mix(in srgb,var(--bingo-brand) 50%,var(--bingo-border));box-shadow:0 8px 20px color-mix(in srgb,var(--bingo-brand) 10%,transparent); }
.ev-bingo-mode-card.active { border-color:var(--bingo-brand);background:color-mix(in srgb,var(--bingo-brand) 8%,var(--bingo-surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--bingo-brand) 10%,transparent); }
.ev-bingo-mode-icon { width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--bingo-surface);border:1px solid var(--bingo-border);font-size:22px;color:var(--bingo-brand); }
.ev-bingo-mode-card strong { display:block;font-size:12px; }
.ev-bingo-mode-card small { display:block;margin-top:4px;color:var(--bingo-muted);font-size:10px;line-height:1.4; }
.ev-bingo-external-note { grid-column:1/-1;display:none;padding:13px 14px;border:1px dashed color-mix(in srgb,#e38a16 45%,var(--bingo-border));border-radius:13px;background:color-mix(in srgb,#e38a16 7%,var(--bingo-surface)); }
.ev-bingo-external-note strong { color:#a15c08;font-size:12px; }.ev-bingo-external-note p{margin:4px 0 0;color:var(--bingo-muted);font-size:10.5px;line-height:1.5}
.ev-bingo-tab-panel.is-external-physical .ev-bingo-external-note { display:block; }
.ev-bingo-tab-panel.is-external-physical > .ev-bingo-help-card,
.ev-bingo-tab-panel.is-external-physical > .ev-bingo-physical { display:none!important; }

/* Asignación manual de premios a asistentes reales. */
.ev-bingo-manual-award { margin-top:8px;padding-top:14px;border-top:1px solid var(--bingo-border); }
.ev-bingo-manual-award-head span { display:block;color:var(--bingo-ink);font-size:13px;font-weight:900; }
.ev-bingo-manual-award-head small { display:block;margin-top:3px;color:var(--bingo-muted);font-size:10px;line-height:1.4; }
.ev-bingo-participant-filters { display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:6px;margin-top:10px; }
.ev-bingo-participant-filters input,.ev-bingo-participant-filters select,.ev-bingo-award-fields input,.ev-bingo-award-fields select { width:100%;min-width:0;min-height:38px;padding:7px 9px;border:1px solid var(--bingo-border);border-radius:9px;background:var(--bingo-input);color:var(--bingo-ink);font:inherit;font-size:10.5px; }
.ev-bingo-person-results { max-height:250px;overflow:auto;display:grid;gap:5px;margin-top:7px;padding:4px;border:1px solid var(--bingo-border);border-radius:11px;background:var(--bingo-surface-soft); }
.ev-bingo-person-result { appearance:none;width:100%;display:grid;gap:2px;padding:9px;border:1px solid transparent;border-radius:9px;background:var(--bingo-surface);color:var(--bingo-ink);text-align:left;cursor:pointer; }
.ev-bingo-person-result:hover { border-color:var(--bingo-brand);background:color-mix(in srgb,var(--bingo-brand) 5%,var(--bingo-surface)); }
.ev-bingo-person-result strong { font-size:11px; }.ev-bingo-person-result small{color:var(--bingo-muted);font-size:9.5px}.ev-bingo-person-result em{display:flex;gap:4px;margin-top:3px;font-style:normal}.ev-bingo-person-result em span{padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--bingo-brand) 9%,var(--bingo-surface));color:var(--bingo-brand-dark);font-size:8.5px;font-weight:800}
.ev-bingo-empty-search { padding:12px;color:var(--bingo-muted);font-size:10px;text-align:center; }
.ev-bingo-selected-person { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding:9px 10px;border:1px solid color-mix(in srgb,#13a663 30%,var(--bingo-border));border-radius:10px;background:color-mix(in srgb,#13a663 7%,var(--bingo-surface)); }
.ev-bingo-selected-person strong { display:block;font-size:11px; }.ev-bingo-selected-person span{display:block;margin-top:2px;color:var(--bingo-muted);font-size:9px}.ev-bingo-selected-person button{appearance:none;width:27px;height:27px;border:0;border-radius:8px;background:var(--bingo-surface-soft);color:var(--bingo-ink);cursor:pointer}
.ev-bingo-award-fields { display:grid;grid-template-columns:1fr 1.2fr auto;gap:6px;margin-top:7px; }
.ev-bingo-award-fields .ev-bingo-btn { min-height:38px;font-size:10.5px; }

@media(max-width:900px){
  .ev-bingo-participant-filters{grid-template-columns:1fr 1fr}.ev-bingo-participant-filters input{grid-column:1/-1}.ev-bingo-award-fields{grid-template-columns:1fr}.ev-bingo-physical-mode{grid-template-columns:1fr}
}
@media(max-width:620px){.ev-bingo-participant-filters{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ev-bingo-public-stage::after,.evbp-shell::before,.evbp-shell::after,.ev-bingo-live-ball.is-rolling,.evbp-ball.is-rolling{animation:none!important}}

/* AR-018 — consolidado desde rc59: paleta/estabilidad visual; el estado de revelación usa el contrato rc58 is-revealed. */
/* EventosApp Bingo rc59 — estabilidad visual y refinamiento de balotas */

/* -------------------------------------------------------------------------
 * Paleta determinista por fila. Evita depender de un repintado JS posterior
 * al render del tablero público y elimina el parpadeo de color de rc58.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-board-row:nth-child(1),
.ev-bingo-public-stage .evbp-number-row:nth-child(1){--bingo-group:#ef476f}
.ev-bingo-admin .ev-bingo-board-row:nth-child(2),
.ev-bingo-public-stage .evbp-number-row:nth-child(2){--bingo-group:#ff9f1c}
.ev-bingo-admin .ev-bingo-board-row:nth-child(3),
.ev-bingo-public-stage .evbp-number-row:nth-child(3){--bingo-group:#2fbf71}
.ev-bingo-admin .ev-bingo-board-row:nth-child(4),
.ev-bingo-public-stage .evbp-number-row:nth-child(4){--bingo-group:#3683c5}
.ev-bingo-admin .ev-bingo-board-row:nth-child(5),
.ev-bingo-public-stage .evbp-number-row:nth-child(5){--bingo-group:#9b5de5}

.ev-bingo-admin .ev-bingo-board-row .ev-bingo-board-letter,
.ev-bingo-public-stage .evbp-number-row .evbp-letter{
  background:var(--bingo-group)!important;
  color:#fff!important;
}
.ev-bingo-admin .ev-bingo-board-row .ev-bingo-board-number.called,
.ev-bingo-public-stage .evbp-number-row .evbp-number.called{
  background:var(--bingo-group)!important;
  border-color:color-mix(in srgb,var(--bingo-group) 74%,#fff)!important;
  color:#fff!important;
  text-shadow:none!important;
}
.ev-bingo-admin .ev-bingo-board-row .ev-bingo-board-number.current,
.ev-bingo-public-stage .evbp-number-row .evbp-number.current{
  background:#fff!important;
  border-color:var(--bingo-group)!important;
  color:var(--bingo-group)!important;
  outline:3px solid color-mix(in srgb,var(--bingo-group) 30%,transparent)!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--bingo-group) 24%,transparent)!important;
}

/* -------------------------------------------------------------------------
 * Balota inspirada en BettyLucky: radial claro, lectura limpia y profundidad
 * discreta. Se elimina el aro pesado/reflejo de rc58.
 * ------------------------------------------------------------------------- */
.ev-bingo-live-ball,
.evbp-ball{
  --ball-color:#3683c5;
  --ball-ink:#fff;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:3px solid color-mix(in srgb,var(--ball-color) 68%,#fff)!important;
  background:
    radial-gradient(circle at 30% 28%,
      color-mix(in srgb,var(--ball-color) 22%,#fff) 0%,
      color-mix(in srgb,var(--ball-color) 52%,#fff) 14%,
      var(--ball-color) 54%,
      color-mix(in srgb,var(--ball-color) 76%,#000) 100%)!important;
  box-shadow:
    0 18px 34px rgba(3,12,25,.28),
    inset 0 -8px 16px rgba(0,0,0,.12),
    inset 0 2px 6px rgba(255,255,255,.22)!important;
}
.ev-bingo-live-ball::before,
.evbp-ball::before{
  content:none!important;
  display:none!important;
}
.ev-bingo-live-ball::after,
.evbp-ball::after{
  content:"";
  position:absolute;
  inset:7%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.15);
  pointer-events:none;
}
.ev-bingo-live-ball #ev-bingo-ball-letter,
.ev-bingo-live-ball #ev-bingo-ball-number,
.evbp-ball #evbp-ball-letter,
.evbp-ball #evbp-ball-number{
  position:relative;
  z-index:2;
  color:var(--ball-ink)!important;
  text-shadow:none!important;
}

/* rc58 podía reactivar is-revealed varias veces mientras cerraba el pending.
 * rc59 deja una sola transición de asentamiento controlada por JS. */
.ev-bingo-live-ball.is-revealed,
.evbp-ball.is-revealed{
  animation:none!important;
}
.ev-bingo-live-ball.is-revealed,
.evbp-ball.is-revealed{
  animation:evBingoRc59Settle .28s cubic-bezier(.2,.78,.28,1)!important;
}
@keyframes evBingoRc59Settle{
  0%{transform:scale(.965)}
  60%{transform:scale(1.018)}
  100%{transform:scale(1)}
}

/* Mezcla más estable: no hay salto vertical al terminar. */
.ev-bingo-live-ball.is-rolling,
.evbp-ball.is-rolling{
  animation:evBingoRc59Mix .52s linear infinite!important;
  transform-origin:50% 50%;
}
@keyframes evBingoRc59Mix{
  0%{transform:rotate(-7deg) scale(.985)}
  25%{transform:rotate(4deg) scale(1.01)}
  50%{transform:rotate(8deg) scale(.99)}
  75%{transform:rotate(-3deg) scale(1.008)}
  100%{transform:rotate(-7deg) scale(.985)}
}

/* -------------------------------------------------------------------------
 * Fondo público: primary_color deja de participar. Los únicos colores
 * configurables de escenario son background_color y secondary_color.
 * ------------------------------------------------------------------------- */
.ev-bingo-public-stage{
  background:
    radial-gradient(circle at 10% 18%,color-mix(in srgb,var(--stage-secondary) 38%,transparent) 0 135px,transparent 138px),
    radial-gradient(circle at 88% 84%,color-mix(in srgb,var(--stage-bg) 58%,#fff) 0 190px,transparent 194px),
    linear-gradient(135deg,
      color-mix(in srgb,var(--stage-bg) 88%,#000) 0%,
      var(--stage-bg) 52%,
      color-mix(in srgb,var(--stage-secondary) 82%,var(--stage-bg)) 100%)!important;
}
.ev-bingo-public-stage::after{
  border-color:color-mix(in srgb,var(--stage-secondary) 32%,transparent)!important;
  box-shadow:0 0 0 70px color-mix(in srgb,var(--stage-secondary) 4%,transparent),0 0 0 150px color-mix(in srgb,var(--stage-secondary) 3%,transparent)!important;
}
.evbp-shell::before{background:color-mix(in srgb,var(--stage-secondary) 14%,transparent)!important}

/* -------------------------------------------------------------------------
 * Organizador: superficies de campo con contraste estable y aislamiento de
 * estilos globales/Elementor para hover, focus y active.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-form-grid>.ev-bingo-field,
.ev-bingo-admin .ev-bingo-prize-row,
.ev-bingo-admin .ev-bingo-participant-filters,
.ev-bingo-admin .ev-bingo-award-fields{
  border-radius:12px;
}
.ev-bingo-admin .ev-bingo-form-grid>.ev-bingo-field{
  padding:10px;
  background:color-mix(in srgb,var(--bingo-surface-soft) 82%,var(--bingo-surface));
  border:1px solid color-mix(in srgb,var(--bingo-border) 82%,transparent);
}
.ev-bingo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
.ev-bingo-admin select,
.ev-bingo-admin textarea{
  appearance:none;
  -webkit-appearance:none;
  background-color:var(--bingo-input)!important;
  background-image:none!important;
  color:var(--bingo-ink)!important;
  -webkit-text-fill-color:var(--bingo-ink)!important;
  border:1px solid var(--bingo-border)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 42%,transparent)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.ev-bingo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):hover,
.ev-bingo-admin select:hover,
.ev-bingo-admin textarea:hover{
  background-color:color-mix(in srgb,var(--bingo-input) 94%,var(--bingo-brand) 6%)!important;
  border-color:color-mix(in srgb,var(--bingo-border) 70%,var(--bingo-brand) 30%)!important;
}
.ev-bingo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):focus,
.ev-bingo-admin select:focus,
.ev-bingo-admin textarea:focus{
  outline:0!important;
  background-color:var(--bingo-input)!important;
  border-color:var(--bingo-brand)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--bingo-brand) 14%,transparent)!important;
}
.ev-bingo-admin input::placeholder,
.ev-bingo-admin textarea::placeholder{color:color-mix(in srgb,var(--bingo-muted) 82%,transparent)!important;opacity:1!important}

/* Tabs: el estado activo lo decide EventosApp; Elementor no debe pintar un
 * segundo estado hover/active ni dejar un outline persistente de mouse. */
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab{
  border:0!important;
  outline:0;
  background:transparent!important;
  color:var(--bingo-muted)!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab:not(.active):hover{
  background:color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface-soft))!important;
  color:var(--bingo-ink)!important;
}
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab.active,
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab.active:hover,
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab.active:active{
  background:var(--bingo-surface)!important;
  color:var(--bingo-brand-dark)!important;
  box-shadow:0 4px 12px rgba(23,30,55,.08)!important;
}
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab:focus:not(:focus-visible){outline:0!important;box-shadow:none!important}
.ev-bingo-admin .ev-bingo-tabs .ev-bingo-tab:focus-visible{outline:2px solid var(--bingo-brand)!important;outline-offset:2px!important}

.ev-bingo-background-note{
  grid-column:1/-1;
  margin:2px 0 4px;
  padding:10px 12px;
  border:1px solid var(--bingo-border);
  border-radius:11px;
  background:color-mix(in srgb,var(--bingo-brand) 5%,var(--bingo-surface-soft));
  color:var(--bingo-muted);
  font-size:10.5px;
  line-height:1.5;
}
.ev-bingo-background-note strong{color:var(--bingo-ink)}

@media(prefers-reduced-motion:reduce){
  .ev-bingo-live-ball.is-rolling,.evbp-ball.is-rolling,
  .ev-bingo-live-ball.is-revealed,.evbp-ball.is-revealed{animation:none!important}
}
