/* Invocación: el escenario ocupa la superficie jugable. El HUD no forma parte del arte. */
.screen.beta-pruebas.beta-taberna.bv-escena {
  position: relative; display: block; width: 100%; max-width: none; height: 100%; min-height: 0;
  margin: 0; padding: 0; border: 0; gap: 0; overflow: hidden; container-type: size;
  background: #141a19; color: #fff1d3; isolation: isolate;
}
.bv-escena .bv-mundo { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.bv-escena .bv-plano { position: absolute; left: 50%; top: 50%; width: max(100cqw, 150cqh); aspect-ratio: 3 / 2; transform: translate(-50%, -50%); }
.bv-escena .bv-fondo { display: block; width: 100%; height: 100%; object-fit: fill; image-rendering: pixelated; }
.bv-escena .bv-reparto { position: absolute; inset: 0; }
.bv-escena .bv-actor { position: absolute; bottom: 33%; width: 20%; height: 39%; display: grid; place-items: end center; filter: drop-shadow(0 6px 3px #0009); }
.bv-escena .bv-actor > * { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; image-rendering: pixelated; }
.bv-escena .bv-actor-0 { left: 40%; z-index: 2; }
.bv-escena .bv-actor-1 { left: 26%; bottom: 35%; height: 35%; }
.bv-escena .bv-actor-2 { left: 54%; bottom: 35%; height: 35%; }
.bv-escena .bv-interfaz { position: absolute; inset: 0; }
.bv-escena .bv-cabecera { position: absolute; inset: 0 0 auto; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: clamp(12px, 2vw, 26px); background: linear-gradient(#111614da, #11161400); }
.bv-escena .bv-cabecera h1 { font: 400 clamp(24px, 2.4vw, 36px)/1 var(--k-fuente, sans-serif); color: #f8d994; text-shadow: 2px 2px #100c07; margin: 0; }
.bv-escena .bv-cabecera .bp-intentos { margin: 7px 0 0; padding: 0; font: 400 14px/1.2 var(--k-fuente, sans-serif); color: #eee1bf; text-shadow: 1px 1px #100c07; }
.bv-escena .bv-ayuda, .bv-escena .bv-flecha { display: grid; place-items: center; padding: 0; width: 48px; min-width: 48px; height: 48px; min-height: 48px; border: 2px solid #b78d4c; border-radius: 0; color: #ffe4a2; background: #201b13dc; box-shadow: 0 3px #090b0a; font: 400 28px/1 var(--k-fuente, sans-serif); }
.bv-escena .bv-flecha { position: absolute; top: 43%; font-size: 38px; }
.bv-escena .bv-anterior { left: clamp(10px, 4vw, 64px); }
.bv-escena .bv-proxima { right: clamp(10px, 4vw, 64px); }
.bv-escena .bv-mando { position: absolute; inset: auto 0 0; display: grid; justify-items: center; gap: 9px; padding: 26px 14px 12px; background: linear-gradient(#11171400, #111714e6 32%, #111714f5); }
.bv-escena .bv-selector { display: flex; justify-content: center; gap: 4px; width: min(100%, 480px); }
.bv-escena .bv-selector button { min-width: 0; min-height: 44px; flex: 1; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: #171d19bf; padding: 9px 8px; font: 400 clamp(16px, 1.7vw, 21px)/1 var(--k-fuente, sans-serif); color: #d5d1b8; }
.bv-escena .bv-selector button.activo { color: #ffe1a3; border-bottom-color: #e6bb64; background: #42351de6; }
.bv-escena .bv-modo { display: grid; gap: 8px; width: min(100%, 480px); }
.bv-escena .bv-saldo { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 16px; min-height: 22px; }
.bv-escena .bv-saldo .k-recurso { display: inline-flex; align-items: center; gap: 6px; min-width: 0; min-height: 0; width: auto; height: auto; padding: 0; border: 0; border-image: none; background: none; color: #efe5c3; font: 400 15px/1 var(--k-fuente, sans-serif); }
.bv-escena .bv-saldo .ico { width: 20px; height: 20px; }
.bv-escena .bv-acciones { display: flex; justify-content: center; gap: 10px; }
.bv-escena .bv-acciones .k-btn { min-width: 0; width: auto; flex: 1; max-width: 230px; min-height: 62px; padding-inline: 12px; flex-direction: column; gap: 5px; font-size: clamp(16px, 1.8vw, 23px); }
.bv-escena .bv-costes { display: inline-flex; justify-content: center; gap: 10px; }
.bv-escena .bv-costes .k-coste { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; }
.bv-escena .bv-costes .ico { width: 18px; height: 18px; }
.bv-escena .bv-cerrada { margin: 0; min-height: 62px; display: flex; gap: 8px; align-items: center; color: #f4dfb5; text-align: center; }
.bv-escena .bv-secundarios { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 16px; }
.bv-escena .bv-secundarios button { min-height: 40px; padding: 5px 0; background: none; border: 0; border-radius: 0; color: #dbcda9; font: 400 14px/1.2 var(--k-fuente, sans-serif); text-decoration: underline; text-underline-offset: 4px; }
.bv-escena .bp-aviso { max-width: 620px; padding: 0; color: #ffe0a3; font-size: 14px; }
.bv-escena :is(.bv-revelacion, .bv-detalle-velo) { position: absolute; inset: 0; z-index: 8; }
.bv-escena:has(.bv-revelacion) .bv-reparto { visibility: hidden; }
.bv-escena:has(.bv-revelacion) .bv-interfaz { visibility: hidden; }
.bv-escena .bv-revelacion { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 8px; padding: clamp(14px, 3vh, 32px); background: linear-gradient(#0c1519bc, #0b13172e 40%, #101613ed); }
.bv-escena .bv-resultado-titulo { text-align: center; color: #fbe4b3; }
.bv-escena .bv-resultado-titulo small { display: block; margin-bottom: 7px; font: 400 16px/1 var(--k-fuente, sans-serif); }
.bv-escena .bv-resultado-titulo .k-rotulo-pliego { display: block; width: auto; min-width: 0; min-height: 0; padding: 0; margin: 0; border: 0; border-image: none; background: none; color: #ffdea0; text-shadow: 2px 2px #100c07; font: 400 clamp(25px, 3.5vw, 44px)/1.1 var(--k-fuente, sans-serif); }
.bv-escena .bv-resultado-centro { min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; }
.bv-escena .bv-revelacion .bv-figura { width: min(80%, 460px); height: calc(100% - 32px); max-height: 590px; min-height: 0; }
.bv-escena .bv-resultado-sub { flex: none; margin: 0; color: #fbeac4; text-align: center; font: 400 17px/1.2 var(--k-fuente, sans-serif); }
.bv-escena .bv-resultado-pie { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.bv-escena .bv-resultado-pie .k-btn { min-width: 160px; min-height: 50px; }
.bv-escena .bv-revelacion .bv-premio .k-casilla { width: clamp(100px, 18vw, 180px); height: clamp(100px, 18vw, 180px); }
.bv-escena .bv-revelacion .bv-premio .ico { width: 60%; height: 60%; }
.bv-escena .bv-revelacion .bv-premio .k-casilla > b { right: 7px; bottom: 5px; font-size: clamp(18px, 2vw, 26px); }
.bv-escena .bv-revelacion .bv-cosa small { font-size: 19px; color: #f4deb2; margin-top: 12px; }
.bv-escena .bv-detalle-velo { padding: 12px; background: #0c1119b8; }
.bv-escena .bv-detalle-velo .bp-pliego { width: min(100%, 740px); max-height: 100%; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; }
.bv-escena .bv-tiers, .bv-escena .bv-fragmentos, .bv-escena .bv-historial { overflow: auto; max-height: none; min-height: 0; width: 100%; }
.bv-escena .bv-historial { display: grid; gap: 10px; padding: 0 0 0 22px; margin: 0; color: var(--k-tinta); }
.bv-escena .bv-historial li { padding-bottom: 8px; border-bottom: 1px solid #987746; }
.bv-escena .bv-historial li > b { display: block; margin-bottom: 4px; }
.bv-escena .bv-amigos-cuerpo { width: 100%; min-height: 0; overflow: auto; color: var(--k-tinta); }
.bv-escena .bv-amigos-cuerpo > p { text-align: center; margin: 0 0 10px; }
.bv-escena .bv-amigos-cuerpo > .k-btn { display: flex; margin: 0 auto 12px; }
.bv-escena .bv-amigos-lista { list-style: none; padding: 0; margin: 0 0 14px; }
.bv-escena .bv-amigos-lista li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid #a98a54; }
.bv-escena .bv-amigos-lista li > button { padding: 6px 0; background: none; border: 0; border-radius: 0; text-decoration: underline; color: var(--k-tinta); min-height: 44px; overflow-wrap: anywhere; text-align: left; }
.bv-escena .bv-amigos-lista li > span { flex: none; }
.bv-escena [data-bv-buscar] > div { display: flex; gap: 8px; margin-top: 5px; }
.bv-escena [data-bv-buscar] input { min-width: 0; flex: 1; min-height: 44px; color: #22170c; background: #efdeb5; border: 2px solid #8e693a; border-radius: 0; padding: 6px; }
@media (max-width: 600px) {
  .bv-escena .bv-actor:not(.bv-actor-0) { display: none; }
  .bv-escena .bv-actor-0 { left: 40%; width: 20%; height: 35%; bottom: 38%; }
  .bv-escena .bv-cabecera { padding: 12px; }
  .bv-escena .bv-mando { gap: 7px; padding: 22px 10px 5px; }
  .bv-escena .bv-secundarios { gap: 0 14px; }
  .bv-escena .bv-acciones { gap: 8px; }
  .bv-escena .bv-acciones .k-btn { min-height: 58px; }
}
@media (max-height: 480px) and (min-width: 601px) {
  /* El carril derecho se reserva a ayuda/flecha; ninguna compra entra en él. */
  .bv-escena .bv-cabecera { padding: 8px 12px; width: auto; }
  .bv-escena .bv-ayuda { position: absolute; top: 8px; right: 8px; width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
  .bv-escena .bv-cabecera h1 { font-size: 22px; }
  .bv-escena .bv-cabecera .bp-intentos { margin-top: 4px; font-size: 12px; }
  .bv-escena .bv-mando { inset: 0 74px 0 auto; width: 48%; grid-template-columns: minmax(0, 1fr); align-content: center; gap: 5px; padding: 6px 0 4px; background: linear-gradient(90deg, #10161400, #101614c9 15%, #101614c9 85%, #10161400); overflow: auto; }
  .bv-escena .bv-selector { grid-column: 1; grid-row: auto; gap: 0; }
  .bv-escena .bv-selector button { font-size: 14px; padding-inline: 5px; }
  .bv-escena .bv-modo { grid-column: 1; grid-row: auto; gap: 4px; align-self: center; }
  .bv-escena .bv-acciones .k-btn { min-height: 52px; padding-inline: 7px; font-size: 16px; }
  .bv-escena .bv-costes { gap: 5px; }
  .bv-escena .bv-costes .k-coste { font-size: 12px; }
  .bv-escena .bv-secundarios { grid-column: 1; grid-row: auto; gap: 0 10px; }
  .bv-escena .bv-secundarios button { font-size: 12px; min-height: 34px; }
  .bv-escena .bp-aviso { grid-column: 1 / -1; margin-top: 3px; font-size: 12px; }
  .bv-escena .bv-flecha { top: 38%; }
  .bv-escena .bv-proxima { right: 8px; }
  .bv-escena .bv-actor:not(.bv-actor-0) { display: none; }
  .bv-escena .bv-actor-0 { left: 15%; width: 25%; height: 36%; }
  .bv-escena .bv-revelacion { padding: 8px 14px; grid-template-columns: 1fr 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .bv-escena .bv-resultado-titulo { grid-column: 2; grid-row: 1; margin-top: 12px; }
  .bv-escena .bv-resultado-titulo .k-rotulo-pliego { font-size: 27px; }
  .bv-escena .bv-resultado-centro { grid-column: 1; grid-row: 1 / 3; }
  .bv-escena .bv-resultado-pie { grid-column: 2; grid-row: 2; align-content: center; }
  .bv-escena .bv-resultado-sub { font-size: 13px; }
  .bv-escena .bv-detalle-velo { padding: 4px; }
  /* Las dos acciones superiores comparten fila y liberan altura para leer. */
  .bv-escena .bv-detalle-velo .bp-pliego { height: 100%; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); gap: 6px 12px; padding: 10px 14px 14px; }
  .bv-escena .bv-detalle-velo .bp-pliego > .k-rotulo-pliego { grid-column: 1; grid-row: 1; justify-self: start; min-width: 0; min-height: 40px; margin: 0; padding: 8px 20px 14px; font-size: 16px; }
  .bv-escena .bv-detalle-velo .bp-pliego > button[data-bv-cerrar] { grid-column: 2; grid-row: 1; min-width: 96px; min-height: 44px; padding-inline: 14px; font-size: 16px; }
  .bv-escena .bv-detalle-velo .bp-pliego > :not(.k-rotulo-pliego):not(button) { grid-column: 1 / -1; grid-row: 2; }
}
@media (prefers-reduced-motion: no-preference) {
  .bv-escena .bv-fondo { animation: bv-entrada .3s ease-out; }
  .bv-escena .bv-revelacion { animation: bv-entrada .2s ease-out; }
  @keyframes bv-entrada { from { opacity: .5; } to { opacity: 1; } }
}
