/* =========================================================
   GUIA 360 · CIRCUITO DE PREMIOS
   ========================================================= */

.reward-circuit-page {
  padding: 4px 0 36px;
  min-height: 100%;
}

.reward-circuit-hero {
  position: relative;
  min-height: 245px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px 48px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 78% 30%, rgba(255,255,255,.19), transparent 24%),
    linear-gradient(120deg, #071f50 0%, #063c83 48%, #0872cf 100%);
  box-shadow: 0 18px 45px rgba(10,45,100,.18);
  color: #fff;
}

.reward-circuit-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 15%, rgba(255,255,255,.08) 43%, transparent 62%);
  transform: translateX(-120%);
  animation: rewardHeroSweep 6s linear infinite;
  pointer-events: none;
}

.reward-circuit-hero__copy {
  position: relative;
  z-index: 3;
  max-width: 650px;
}

.reward-circuit-eyebrow {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  letter-spacing: 2px;
  opacity: .78;
}

.reward-circuit-hero h1 {
  margin: 0;
  font-size: clamp(38px,4.3vw,68px);
  line-height: .96;
  letter-spacing: -2px;
  font-weight: 900;
}

.reward-circuit-hero h1 span {
  display: block;
  color: #ffd644;
}

.reward-circuit-hero p {
  max-width: 590px;
  margin: 18px 0 0;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255,255,255,.87);
}

.reward-circuit-hero__visual {
  position: relative;
  z-index: 2;
  width: 220px;
  height: 190px;
  flex: 0 0 220px;
  display: grid;
  place-items: center;
}

.reward-trophy {
  position: relative;
  z-index: 3;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 0 0 12px rgba(255,255,255,.05),0 0 55px rgba(255,214,68,.30);
  backdrop-filter: blur(7px);
  animation: rewardTrophyFloat 3s ease-in-out infinite;
}

.reward-trophy span {
  font-size: 64px;
  filter: drop-shadow(0 9px 12px rgba(0,0,0,.22));
}

.reward-orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.22);
}

.reward-orbit--outer {
  width:185px;
  height:185px;
  animation:rewardOrbit 14s linear infinite;
}

.reward-orbit--inner {
  width:148px;
  height:148px;
  border-style:dashed;
  animation:rewardOrbitReverse 10s linear infinite;
}

.reward-floating {
  position:absolute;
  z-index:4;
  color:#ffd644;
  text-shadow:0 0 12px rgba(255,214,68,.85);
  animation:rewardSpark 2.2s ease-in-out infinite;
}

.reward-floating--one {top:15px;right:17px;font-size:20px}
.reward-floating--two {bottom:18px;left:14px;font-size:24px;animation-delay:.6s}
.reward-floating--three {top:42px;left:9px;font-size:9px;animation-delay:1.1s}

.reward-opportunities {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:20px;
}

.reward-opportunity {
  position:relative;
  overflow:hidden;
  min-height:118px;
  padding:22px 24px;
  display:grid;
  grid-template-columns:58px 1fr auto;
  gap:17px;
  align-items:center;
  background:#fff;
  border:1px solid #e3eaf4;
  border-radius:20px;
  box-shadow:0 8px 25px rgba(20,52,91,.07);
}

.reward-opportunity::before {
  content:"";
  position:absolute;
  width:4px;
  top:18px;
  bottom:18px;
  left:0;
  border-radius:0 5px 5px 0;
}

.reward-opportunity--sales::before {background:#1275d1}
.reward-opportunity--installed::before {background:#f0b90b}

.reward-opportunity__icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  font-size:28px;
  background:#f3f7fc;
}

.reward-opportunity span {
  display:block;
  margin-bottom:4px;
  color:#77869a;
  font-size:10px;
  letter-spacing:1px;
  font-weight:800;
}

.reward-opportunity strong {
  display:block;
  color:#102d56;
  font-size:19px;
}

.reward-opportunity p {
  margin:5px 0 0;
  color:#77869a;
  font-size:12px;
  line-height:1.45;
}

.reward-opportunity__counter {
  min-width:90px;
  text-align:center;
  padding-left:18px;
  border-left:1px solid #edf1f6;
}

.reward-opportunity__counter small {
  display:block;
  color:#93a0af;
  font-size:9px;
  letter-spacing:.8px;
}

.reward-opportunity__counter strong {
  margin-top:3px;
  font-size:32px;
}

.reward-games-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin:30px 2px 15px;
}

.reward-games-heading span {
  color:#1680d8;
  font-size:10px;
  letter-spacing:1.4px;
  font-weight:800;
}

.reward-games-heading h2 {
  margin:4px 0 0;
  color:#0e2d58;
  font-size:26px;
}

.reward-games-heading p {
  margin:0 0 3px;
  color:#8491a2;
  font-size:12px;
}

.reward-games-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.reward-game {
  position:relative;
  min-height:205px;
  overflow:hidden;
  padding:22px;
  border-radius:22px;
  color:#fff;
  box-shadow:0 12px 30px rgba(16,44,85,.13);
  transition:transform .22s ease,box-shadow .22s ease;
}

.reward-game:hover {
  transform:translateY(-5px);
  box-shadow:0 18px 35px rgba(16,44,85,.19);
}

.reward-game--light {background:linear-gradient(145deg,#09265b,#125fc1)}
.reward-game--memory {background:linear-gradient(145deg,#512b91,#8859d5)}
.reward-game--card {background:linear-gradient(145deg,#b94827,#ef7947)}
.reward-game--treasure {background:linear-gradient(145deg,#08765d,#18aa82)}

.reward-game__shine {
  position:absolute;
  width:160px;
  height:160px;
  border-radius:50%;
  top:-65px;
  right:-55px;
  background:rgba(255,255,255,.12);
  animation:rewardGameGlow 3.5s ease-in-out infinite;
}

.reward-game__icon {
  position:relative;
  z-index:2;
  width:65px;
  height:65px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.17);
}

.reward-game__icon span {
  display:inline-block;
  font-size:34px;
  animation:rewardIconFloat 2.8s ease-in-out infinite;
}

.reward-game__content {
  position:relative;
  z-index:2;
  margin-top:20px;
}

.reward-game__status {
  display:inline-block;
  margin-bottom:6px;
  padding:4px 8px;
  border-radius:20px;
  background:rgba(255,255,255,.15);
  font-size:9px;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.reward-game h3 {margin:0;font-size:17px}
.reward-game p {
  margin:6px 28px 0 0;
  color:rgba(255,255,255,.76);
  font-size:11px;
  line-height:1.4;
}

.reward-game__arrow {
  position:absolute;
  right:18px;
  bottom:18px;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  font-size:23px;
}

.reward-circuit-coming {
  margin-top:18px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 18px;
  background:#f8fafc;
  border:1px solid #e8edf4;
  border-radius:15px;
  color:#728094;
  font-size:11px;
}

.reward-circuit-coming strong {color:#15345f}

.reward-circuit-coming__pulse {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#18a56f;
  animation:rewardPulse 1.8s infinite;
}

@keyframes rewardHeroSweep {to{transform:translateX(120%)}}
@keyframes rewardTrophyFloat {
  0%,100%{transform:translateY(0) rotate(-2deg)}
  50%{transform:translateY(-8px) rotate(2deg)}
}
@keyframes rewardOrbit {to{transform:rotate(360deg)}}
@keyframes rewardOrbitReverse {to{transform:rotate(-360deg)}}
@keyframes rewardSpark {
  0%,100%{transform:scale(.8);opacity:.45}
  50%{transform:scale(1.25);opacity:1}
}
@keyframes rewardGameGlow {
  0%,100%{transform:scale(.9);opacity:.6}
  50%{transform:scale(1.15);opacity:1}
}
@keyframes rewardIconFloat {
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes rewardPulse {
  0%{box-shadow:0 0 0 0 rgba(24,165,111,.42)}
  70%{box-shadow:0 0 0 9px rgba(24,165,111,0)}
  100%{box-shadow:0 0 0 0 rgba(24,165,111,0)}
}

@media(max-width:1100px){
  .reward-games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .reward-circuit-hero{padding:28px}
  .reward-circuit-hero__visual{display:none}
  .reward-opportunities{grid-template-columns:1fr}
  .reward-games-heading{display:block}
  .reward-games-heading p{margin-top:8px}
}

@media(max-width:520px){
  .reward-games-grid{grid-template-columns:1fr}
  .reward-opportunity{grid-template-columns:48px 1fr}
  .reward-opportunity__counter{
    grid-column:1/-1;
    padding:10px 0 0;
    border-left:0;
    border-top:1px solid #edf1f6;
  }
  .reward-circuit-coming{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){
  .reward-circuit-page *,
  .reward-circuit-page *::before,
  .reward-circuit-page *::after{
    animation:none!important;
    transition:none!important;
  }
}

/* =========================================================
   HOME · ACCESO ANIMADO A CIRCUITO DE PREMIOS
   ========================================================= */

.dashboard-reward-banner.reward-circuit-launcher {
  position: relative;
  overflow: hidden;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 8px 13px;
  border: 1px solid rgba(103, 141, 255, .42);
  border-radius: 14px;
  background:
    radial-gradient(circle at 12% 50%, rgba(0, 210, 255, .20), transparent 28%),
    linear-gradient(105deg, #071b4e 0%, #123c9d 52%, #5628dc 100%);
  box-shadow:
    0 8px 22px rgba(21, 47, 126, .18),
    inset 0 1px 0 rgba(255,255,255,.12);
  color: #fff;
}

/* Luz que recorre constantemente el banner */
.reward-circuit-launcher__glow {
  position: absolute;
  z-index: 1;
  top: -100%;
  left: -30%;
  width: 15%;
  height: 300%;
  transform: rotate(18deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.42),
    transparent
  );
  animation: circuitSweep 3.6s linear infinite;
  pointer-events: none;
}

@keyframes circuitSweep {
  from { left: -30%; }
  to   { left: 125%; }
}

/* Disco animado */
.reward-circuit-launcher__icon {
  position: relative;
  z-index: 2;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    conic-gradient(
      #ffd32a,
      #ff4c91,
      #8655ff,
      #00d7ff,
      #26dc94,
      #ffd32a
    );
  box-shadow:
    0 0 0 3px rgba(255,255,255,.14),
    0 0 18px rgba(0,207,255,.48);
  animation: circuitSpin 6s linear infinite;
}

.reward-circuit-launcher__icon::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: #102b79;
}

.reward-circuit-launcher__icon span {
  position: relative;
  z-index: 3;
  color: #fff;
  font-size: 18px;
  animation: circuitCounterSpin 6s linear infinite;
}

@keyframes circuitSpin {
  to { transform: rotate(360deg); }
}

@keyframes circuitCounterSpin {
  to { transform: rotate(-360deg); }
}

/* Texto */
.reward-circuit-launcher__content {
  position: relative;
  z-index: 2;
  min-width: 190px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.reward-circuit-launcher__content strong {
  color: #fff;
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .45px;
}

.reward-circuit-launcher__content > span {
  color: rgba(255,255,255,.82);
  font-size: 10px;
  line-height: 1.2;
}

/* Mini juegos */
.reward-circuit-launcher__games {
  position: relative;
  z-index: 2;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

.reward-circuit-launcher__games > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.11);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 3px 8px rgba(0,0,0,.08);
  font-size: 16px;
  animation: circuitFloat 2.2s ease-in-out infinite;
}

.reward-circuit-launcher__games > span:nth-child(2) {
  animation-delay: .25s;
}

.reward-circuit-launcher__games > span:nth-child(3) {
  animation-delay: .50s;
}

.reward-circuit-launcher__games > span:nth-child(4) {
  animation-delay: .75s;
}

@keyframes circuitFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-3px); }
}

/* Botón */
.reward-circuit-launcher__button {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  min-height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 16px;
  border-radius: 20px;
  background: #fff;
  color: #183b98;
  text-decoration: none;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .25px;
  box-shadow: 0 5px 14px rgba(0,0,0,.16);
  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.reward-circuit-launcher__button:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
}

.reward-circuit-launcher__button span {
  font-size: 16px;
}

/* Responsive */
@media (max-width: 900px) {
  .reward-circuit-launcher__games {
    display: none;
  }
}

@media (max-width: 600px) {
  .dashboard-reward-banner.reward-circuit-launcher {
    gap: 9px;
  }

  .reward-circuit-launcher__content > span {
    display: none;
  }

  .reward-circuit-launcher__button {
    margin-left: auto;
    padding: 0 12px;
  }
}


/* =========================================================
   HOME · CIRCUITO DE PREMIOS V2 · PREMIUM / ANIMADO
   ========================================================= */

.dashboard-reward-banner.reward-circuit-launcher {
  min-height: 72px;
  padding: 9px 14px;
  gap: 14px;
  border-radius: 16px;
}

/* ICONO PRINCIPAL */
.reward-circuit-launcher__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border: 2px solid rgba(255,255,255,.55);
  box-shadow:
    0 0 0 4px rgba(0,213,255,.12),
    0 0 20px rgba(0,213,255,.55);
  animation: rewardMainPulse 2s ease-in-out infinite;
}

.reward-circuit-launcher__icon span {
  font-size: 23px;
}

/* TITULO */
.reward-circuit-launcher__content {
  min-width: 210px;
}

.reward-circuit-launcher__content strong {
  font-size: 14px;
  letter-spacing: .4px;
}

.reward-circuit-launcher__content > span {
  margin-top: 3px;
  font-size: 10px;
  opacity: .9;
}

/* =========================================================
   LOS 4 JUEGOS
   ========================================================= */

.reward-circuit-launcher__games {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 9px;
  position: relative;
  z-index: 3;
}

.reward-circuit-launcher__games > span {
  position: relative;
  width: 48px;
  height: 48px;
  min-width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 23px;

  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.30);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.23),
      rgba(255,255,255,.07)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 5px 12px rgba(0,0,0,.16);

  backdrop-filter: blur(7px);

  animation: rewardGameFloat 2.4s ease-in-out infinite;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

/* Animación escalonada */
.reward-circuit-launcher__games > span:nth-child(1) {
  animation-delay: 0s;
}

.reward-circuit-launcher__games > span:nth-child(2) {
  animation-delay: .25s;
}

.reward-circuit-launcher__games > span:nth-child(3) {
  animation-delay: .50s;
}

.reward-circuit-launcher__games > span:nth-child(4) {
  animation-delay: .75s;
}

/* Halo animado */
.reward-circuit-launcher__games > span::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 15px;
  border: 1px solid transparent;
  opacity: 0;
  animation: rewardGameGlow 2.4s ease-in-out infinite;
}

.reward-circuit-launcher__games > span:nth-child(1)::after {
  animation-delay: 0s;
}

.reward-circuit-launcher__games > span:nth-child(2)::after {
  animation-delay: .25s;
}

.reward-circuit-launcher__games > span:nth-child(3)::after {
  animation-delay: .50s;
}

.reward-circuit-launcher__games > span:nth-child(4)::after {
  animation-delay: .75s;
}

.reward-circuit-launcher__games > span:hover {
  transform: translateY(-4px) scale(1.10);
  border-color: rgba(255,255,255,.70);
  box-shadow:
    0 8px 20px rgba(0,0,0,.22),
    0 0 18px rgba(73,213,255,.45);
}

/* =========================================================
   BOTON ENTRAR · ARCADE PREMIUM
   ========================================================= */

.reward-circuit-launcher__button {
  position: relative;
  z-index: 4;

  min-width: 132px;
  height: 48px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 0 22px;

  overflow: hidden;

  border: 2px solid rgba(255,255,255,.72);
  border-radius: 24px;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #eef5ff 55%,
      #d9e8ff 100%
    );

  color: #092c73;

  font-size: 12px;
  font-weight: 800;
  letter-spacing: .7px;
  text-decoration: none;

  box-shadow:
    0 6px 18px rgba(0,0,0,.22),
    0 0 18px rgba(255,255,255,.22),
    inset 0 1px 0 #fff;

  animation: rewardButtonPulse 2.2s ease-in-out infinite;

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

/* Destello que atraviesa el botón */
.reward-circuit-launcher__button::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -70%;
  width: 38%;
  height: 200%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.95),
      transparent
    );

  transform: rotate(20deg);

  animation: rewardButtonShine 2.8s linear infinite;
}

.reward-circuit-launcher__button > span {
  font-size: 18px;
  line-height: 1;
  transition: transform .2s ease;
}

.reward-circuit-launcher__button:hover {
  transform: translateY(-2px) scale(1.04);

  box-shadow:
    0 9px 25px rgba(0,0,0,.26),
    0 0 25px rgba(255,255,255,.40);
}

.reward-circuit-launcher__button:hover > span {
  transform: translateX(4px);
}

/* =========================================================
   ANIMACIONES
   ========================================================= */

@keyframes rewardGameFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-4px) scale(1.04);
  }
}

@keyframes rewardGameGlow {
  0%, 100% {
    opacity: 0;
    box-shadow: none;
  }

  50% {
    opacity: 1;
    border-color: rgba(87,224,255,.75);
    box-shadow: 0 0 14px rgba(50,213,255,.55);
  }
}

@keyframes rewardMainPulse {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }
}

@keyframes rewardButtonPulse {
  0%, 100% {
    box-shadow:
      0 6px 18px rgba(0,0,0,.22),
      0 0 8px rgba(255,255,255,.18);
  }

  50% {
    box-shadow:
      0 7px 21px rgba(0,0,0,.24),
      0 0 22px rgba(255,255,255,.48);
  }
}

@keyframes rewardButtonShine {
  0% {
    left: -70%;
  }

  55%, 100% {
    left: 135%;
  }
}

/* RESPONSIVE */
@media (max-width: 1050px) {

  .reward-circuit-launcher__content {
    min-width: 180px;
  }

  .reward-circuit-launcher__games > span {
    width: 42px;
    height: 42px;
    min-width: 42px;
    font-size: 20px;
  }

  .reward-circuit-launcher__button {
    min-width: 112px;
    padding: 0 16px;
  }
}



/* =========================================================
   GUIA 360 · HOME · CIRCUITO DE PREMIOS ARCADE V3
   ========================================================= */

.dashboard-reward-banner.reward-arcade {
  position: relative;
  width: 100%;
  min-height: 104px;
  box-sizing: border-box;

  display: grid;
  grid-template-columns: 270px minmax(400px, 1fr) 150px;
  align-items: center;
  gap: 18px;

  padding: 10px 18px;

  overflow: hidden;

  border-radius: 19px;

  border: 2px solid #27c9ff;

  background:
    radial-gradient(circle at 75% 30%, rgba(188,52,255,.38), transparent 25%),
    radial-gradient(circle at 22% 50%, rgba(0,196,255,.25), transparent 30%),
    linear-gradient(105deg,#05256a 0%,#07479f 48%,#3511b8 100%);

  box-shadow:
    0 0 0 2px rgba(53,112,255,.20),
    0 8px 25px rgba(12,37,106,.25),
    inset 0 0 24px rgba(0,190,255,.15);

  color:#fff;
}


/* LUZ QUE CRUZA EL BANNER */

.reward-arcade__shine {
  position:absolute;
  z-index:0;

  top:-80%;
  left:-20%;

  width:16%;
  height:260%;

  transform:rotate(18deg);

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.05),
    rgba(255,255,255,.35),
    rgba(255,255,255,.05),
    transparent
  );

  animation:rewardArcadeShine 4.2s linear infinite;

  pointer-events:none;
}

@keyframes rewardArcadeShine {
  0%   { left:-25%; }
  100% { left:125%; }
}


/* =========================================================
   MARCA
   ========================================================= */

.reward-arcade__brand {
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  gap:13px;

  min-width:0;
}


.reward-arcade__star {

  width:60px;
  height:60px;
  min-width:60px;

  display:grid;
  place-items:center;

  border-radius:50%;

  font-size:30px;

  color:#ffd52a;

  background:
    radial-gradient(circle,#173d9a 30%,#091f5b 70%);

  border:3px solid #29d7ff;

  box-shadow:
    0 0 0 5px rgba(225,45,255,.20),
    0 0 18px #00d9ff,
    inset 0 0 15px rgba(255,255,255,.25);

  animation:rewardStarPulse 1.7s ease-in-out infinite;
}

@keyframes rewardStarPulse {
  0%,100% {
    transform:scale(1);
    box-shadow:
      0 0 0 5px rgba(225,45,255,.18),
      0 0 15px #00d9ff;
  }

  50% {
    transform:scale(1.07);
    box-shadow:
      0 0 0 7px rgba(225,45,255,.25),
      0 0 27px #00e5ff;
  }
}


.reward-arcade__title {
  display:flex;
  flex-direction:column;
  line-height:1;
}

.reward-arcade__title strong {
  font-size:15px;
  font-weight:800;
  letter-spacing:.5px;
  color:#fff;
}

.reward-arcade__title b {

  margin-top:2px;

  font-size:27px;
  line-height:27px;

  font-weight:950;

  color:#ffd332;

  text-shadow:
    0 2px 0 #b75a00,
    0 0 10px rgba(255,206,39,.30);
}

.reward-arcade__title span {

  margin-top:7px;

  font-size:10px;
  line-height:12px;

  color:#dcecff;
}


/* =========================================================
   JUEGOS
   ========================================================= */

.reward-arcade__games {

  position:relative;
  z-index:2;

  display:grid;

  grid-template-columns:
    repeat(2,minmax(82px,1fr));

  gap:9px;

  height:80px;
}


.reward-mini {

  position:relative;

  min-width:0;

  overflow:hidden;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  border-radius:13px;

  border:2px solid rgba(255,255,255,.55);

  box-shadow:
    inset 0 0 15px rgba(255,255,255,.12),
    0 0 10px rgba(0,0,0,.20);

  transition:
    transform .22s ease,
    filter .22s ease,
    box-shadow .22s ease;

  animation:rewardGameFloat 3s ease-in-out infinite;
}

.reward-mini:nth-child(2) {
  animation-delay:.35s;
}

.reward-mini:nth-child(3) {
  animation-delay:.7s;
}

.reward-mini:nth-child(4) {
  animation-delay:1.05s;
}

@keyframes rewardGameFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-3px); }
}


.reward-mini::before {

  content:"";

  position:absolute;

  top:-80%;
  left:-70%;

  width:35%;
  height:260%;

  transform:rotate(20deg);

  background:rgba(255,255,255,.32);

  animation:rewardCardShine 3.8s linear infinite;
}

@keyframes rewardCardShine {
  0% { left:-70%; }
  70%,100% { left:150%; }
}


.reward-mini--light {
  background:linear-gradient(145deg,#0870dd,#251475);
  border-color:#ffc527;
  box-shadow:0 0 13px rgba(255,195,30,.55);
}

.reward-mini--memory {
  background:linear-gradient(145deg,#02a6df,#052e8b);
  border-color:#2de5ff;
  box-shadow:0 0 13px rgba(35,222,255,.50);
}

.reward-mini--cards {
  background:linear-gradient(145deg,#f23a88,#7622c7);
  border-color:#ff54e8;
  box-shadow:0 0 13px rgba(255,51,219,.48);
}

.reward-mini--treasure {
  background:linear-gradient(145deg,#0a9d75,#075b83);
  border-color:#4af2c2;
  box-shadow:0 0 13px rgba(32,236,190,.45);
}


.reward-mini__visual {

  position:relative;

  height:43px;
  width:100%;

  display:flex;
  align-items:center;
  justify-content:center;
}


.reward-mini strong {

  position:relative;
  z-index:3;

  margin-top:1px;

  font-size:9px;
  line-height:9px;

  text-align:center;

  color:#fff;

  font-weight:900;

  text-shadow:
    0 2px 2px rgba(0,0,0,.75);
}


/* LIGHT CHASE */

.light-wheel {

  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border-radius:50%;

  border:4px dashed #ffda31;

  background:
    conic-gradient(
      #ff3e74,
      #ffd633,
      #16e6ca,
      #268dff,
      #e64aff,
      #ff3e74
    );

  box-shadow:
    0 0 10px #ffd52a;

  animation:rewardWheelSpin 3s linear infinite;
}

.light-wheel span {

  display:grid;
  place-items:center;

  width:23px;
  height:23px;

  border-radius:50%;

  background:#14236d;

  font-size:15px;
}

@keyframes rewardWheelSpin {
  to { transform:rotate(360deg); }
}


/* MEMORY */

.memory-board {

  display:grid;

  grid-template-columns:repeat(3,18px);
  grid-template-rows:repeat(2,18px);

  gap:2px;

  justify-content:center;
}

.memory-board i {

  display:grid;
  place-items:center;

  width:18px;
  height:18px;

  border-radius:4px;

  font-size:10px;

  font-style:normal;

  color:#fff;

  background:#0646a8;

  border:1px solid #27e9ff;

  box-shadow:0 0 4px rgba(0,234,255,.65);
}


/* CARTAS */

.cards-stack {
  gap:0;
}

.cards-stack i {

  width:22px;
  height:34px;

  margin-left:-6px;

  display:grid;
  place-items:center;

  border-radius:5px;

  border:2px solid #fff;

  font-style:normal;
  font-size:17px;
  font-weight:900;

  box-shadow:0 3px 6px rgba(0,0,0,.25);
}

.cards-stack i:first-child {
  margin-left:0;
  background:#ef3340;
  transform:rotate(-12deg);
}

.cards-stack i:nth-child(2) {
  background:#009ee3;
  transform:rotate(-4deg);
}

.cards-stack i:nth-child(3) {
  background:#18b96d;
  transform:rotate(4deg);
}

.cards-stack i:nth-child(4) {
  background:#863be2;
  transform:rotate(12deg);
}


/* TESORO */

.treasure-map {
  font-size:35px;
}

.treasure-map b {

  position:absolute;

  right:24%;
  bottom:0;

  font-size:18px;

  animation:rewardTreasureBounce 1.5s ease-in-out infinite;
}

@keyframes rewardTreasureBounce {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-4px); }
}


/* =========================================================
   BOTÓN JUGAR
   ========================================================= */

.reward-arcade__play {

  position:relative;
  z-index:3;

  justify-self:center;

  width:138px;
  height:58px;

  box-sizing:border-box;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  text-decoration:none;

  border-radius:30px;

  border:3px solid #fff;

  color:#08266c;

  background:
    linear-gradient(
      180deg,
      #fff39a 0%,
      #ffd738 48%,
      #ffae18 100%
    );

  box-shadow:
    0 0 0 4px #cf36ff,
    0 0 0 7px rgba(28,216,255,.75),
    0 0 24px rgba(255,61,239,.65),
    inset 0 4px 6px rgba(255,255,255,.65),
    inset 0 -4px 8px rgba(226,110,0,.25);

  transition:
    transform .2s ease,
    filter .2s ease;

  animation:rewardPlayPulse 1.6s ease-in-out infinite;
}


.reward-arcade__play::after {

  content:"";

  position:absolute;

  inset:5px;

  border-radius:25px;

  border:1px solid rgba(255,255,255,.70);

  pointer-events:none;
}


.reward-arcade__play-icon {

  font-size:22px;

  color:#153ba4;

  filter:drop-shadow(0 2px 2px rgba(255,255,255,.8));
}


.reward-arcade__play strong {

  font-size:18px;

  font-weight:950;

  letter-spacing:.6px;
}


.reward-arcade__play:hover {

  transform:scale(1.08);

  filter:brightness(1.08);
}


@keyframes rewardPlayPulse {

  0%,100% {

    box-shadow:
      0 0 0 4px #cf36ff,
      0 0 0 7px rgba(28,216,255,.72),
      0 0 20px rgba(255,61,239,.55),
      inset 0 4px 6px rgba(255,255,255,.65);
  }

  50% {

    box-shadow:
      0 0 0 5px #ec45ff,
      0 0 0 9px rgba(28,216,255,.85),
      0 0 34px rgba(255,209,40,.75),
      inset 0 4px 6px rgba(255,255,255,.65);
  }
}


/* RESPONSIVE */

@media (max-width: 1050px) {

  .dashboard-reward-banner.reward-arcade {
    grid-template-columns:220px minmax(330px,1fr) 125px;
    gap:10px;
  }

  .reward-arcade__star {
    width:50px;
    height:50px;
    min-width:50px;
  }

  .reward-arcade__title b {
    font-size:22px;
  }

  .reward-arcade__play {
    width:115px;
    height:52px;
  }

}


/* =========================================================
   GUIA 360 · HOME · CIRCUITO DE PREMIOS V4
   COMPACTO / UNA SOLA VISTA / MINI JUEGOS VISIBLES
   ========================================================= */

/* CONTENEDOR GENERAL */
.dashboard-reward-banner.reward-circuit-launcher.reward-arcade {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  height: 92px !important;
  max-height: 92px !important;

  display: grid !important;
  grid-template-columns: 245px minmax(0, 1fr) 132px !important;
  align-items: center !important;
  gap: 14px !important;

  padding: 8px 14px !important;
  margin: 0 !important;

  overflow: hidden !important;
  border-radius: 15px !important;
}

/* =========================================================
   MARCA IZQUIERDA
   ========================================================= */

.reward-arcade__brand {
  min-width: 0 !important;
  height: 100% !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  position: relative !important;
  z-index: 3 !important;
}

.reward-arcade__star {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;

  display: grid !important;
  place-items: center !important;

  font-size: 23px !important;
  line-height: 1 !important;

  border-radius: 50% !important;

  animation: rewardStarCompact 2s ease-in-out infinite !important;
}

@keyframes rewardStarCompact {
  0%,100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #00eaff);
  }
  50% {
    transform: scale(1.08);
    filter: drop-shadow(0 0 11px #00eaff);
  }
}

.reward-arcade__title {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.reward-arcade__title strong {
  font-size: 12px !important;
  line-height: 1.05 !important;
  letter-spacing: .2px !important;
  white-space: nowrap !important;
}

.reward-arcade__title b {
  font-size: 20px !important;
  line-height: 1 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}

.reward-arcade__title span {
  display: block !important;
  margin-top: 5px !important;
  max-width: 180px !important;

  font-size: 8.5px !important;
  line-height: 1.15 !important;

  white-space: normal !important;
}

/* =========================================================
   ZONA CENTRAL · 4 JUEGOS
   ========================================================= */

.reward-arcade__games {
  min-width: 0 !important;
  width: 100% !important;
  height: 70px !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 8px !important;

  position: relative !important;
  z-index: 4 !important;
}

/* TARJETA */
.reward-arcade__game {
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 70px !important;

  position: relative !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 4px 5px !important;

  border-radius: 12px !important;

  transform: none !important;
  transition:
    transform .22s ease,
    filter .22s ease,
    box-shadow .22s ease !important;
}

.reward-arcade__game:hover {
  transform: translateY(-3px) scale(1.025) !important;
  filter: brightness(1.12) !important;
  z-index: 10 !important;
}

/* =========================================================
   OCULTAR TEXTOS PEQUEÑOS REPETIDOS
   Y DAR PROTAGONISMO A LA ILUSTRACIÓN
   ========================================================= */

.reward-arcade__game small,
.reward-arcade__game p {
  display: none !important;
}

/* CUALQUIER CONTENEDOR VISUAL INTERNO */
.reward-arcade__game > div,
.reward-arcade__game figure {
  max-width: 100% !important;
}

/* IMÁGENES SI EXISTEN */
.reward-arcade__game img {
  display: block !important;
  width: auto !important;
  max-width: 94% !important;
  height: 58px !important;
  max-height: 58px !important;

  object-fit: contain !important;
  object-position: center !important;

  margin: auto !important;

  filter:
    drop-shadow(0 3px 4px rgba(0,0,0,.28))
    saturate(1.12) !important;
}

/* SVG */
.reward-arcade__game svg {
  width: auto !important;
  max-width: 92% !important;
  height: 54px !important;
  max-height: 54px !important;
}

/* EMOJIS / ICONOS SUELTOS */
.reward-arcade__game > span:first-child {
  font-size: 34px !important;
  line-height: 1 !important;
}

/* =========================================================
   NOMBRE DEL JUEGO
   ========================================================= */

.reward-arcade__game strong,
.reward-arcade__game b {
  position: absolute !important;
  left: 5px !important;
  right: 5px !important;
  bottom: 3px !important;

  z-index: 8 !important;

  font-size: 7px !important;
  line-height: 1 !important;
  text-align: center !important;
  letter-spacing: .15px !important;

  color: #fff !important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.95),
    0 0 4px rgba(0,0,0,.65) !important;
}

/* =========================================================
   DAR MÁS PRESENCIA VISUAL A CADA JUEGO
   ========================================================= */

.reward-arcade__game:nth-child(1) {
  background:
    radial-gradient(circle at 50% 42%, rgba(255,220,0,.26), transparent 42%),
    linear-gradient(145deg,#0a3ca0,#1165e8) !important;
}

.reward-arcade__game:nth-child(2) {
  background:
    radial-gradient(circle at 50% 42%, rgba(0,245,255,.25), transparent 43%),
    linear-gradient(145deg,#064990,#0099d8) !important;
}

.reward-arcade__game:nth-child(3) {
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.19), transparent 43%),
    linear-gradient(145deg,#d72b74,#8b34dd) !important;
}

.reward-arcade__game:nth-child(4) {
  background:
    radial-gradient(circle at 50% 42%, rgba(255,219,79,.26), transparent 43%),
    linear-gradient(145deg,#087f76,#08a987) !important;
}

/* =========================================================
   BOTÓN JUGAR
   ========================================================= */

.reward-arcade__play {
  box-sizing: border-box !important;

  width: 124px !important;
  min-width: 124px !important;
  height: 54px !important;
  min-height: 54px !important;

  margin: 0 !important;
  padding: 0 12px !important;

  align-self: center !important;
  justify-self: end !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  border-radius: 28px !important;

  position: relative !important;
  z-index: 5 !important;

  transform: none !important;

  animation: rewardPlayCompact 1.8s ease-in-out infinite !important;
}

.reward-arcade__play-icon {
  display: grid !important;
  place-items: center !important;

  width: 22px !important;
  height: 22px !important;

  font-size: 11px !important;
  line-height: 1 !important;
}

.reward-arcade__play strong {
  position: static !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: .5px !important;
}

@keyframes rewardPlayCompact {
  0%,100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.035);
    filter: brightness(1.12);
  }
}

/* =========================================================
   EFECTO DE BRILLO GENERAL
   ========================================================= */

.reward-arcade__shine {
  pointer-events: none !important;
}

/* =========================================================
   PANTALLAS MÁS PEQUEÑAS
   ========================================================= */

@media (max-width: 1150px) {

  .dashboard-reward-banner.reward-circuit-launcher.reward-arcade {
    grid-template-columns: 205px minmax(0,1fr) 112px !important;
    gap: 8px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .reward-arcade__star {
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
  }

  .reward-arcade__title b {
    font-size: 17px !important;
  }

  .reward-arcade__games {
    gap: 5px !important;
  }

  .reward-arcade__play {
    width: 106px !important;
    min-width: 106px !important;
  }
}


/* =========================================================
   FIX V5 · IMAGENES COMPLETAS DENTRO DE LOS 4 JUEGOS
   NO MODIFICAR TAMAÑO NI DISTRIBUCION DEL BANNER
   ========================================================= */

.reward-arcade__games .reward-mini__visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Mostrar la imagen COMPLETA, sin recortarla */
.reward-arcade__games .reward-mini__game-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

/* El cuadro conserva exactamente su tamaño actual */
.reward-arcade__games .reward-mini {
  position: relative !important;
  overflow: hidden !important;
}

/* Los textos ya vienen dentro de las imagenes originales.
   Ocultamos los textos HTML duplicados. */
.reward-arcade__games .reward-mini > strong {
  display: none !important;
}



/* =========================================================
   GUIA 360 · LIGHT CHASE V1
   ========================================================= */

.light-chase-page {
  min-height: calc(100vh - 110px);
  padding: 18px 22px 32px;
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(circle at 50% 42%, rgba(0,212,255,.14), transparent 31%),
    radial-gradient(circle at 82% 20%, rgba(104,68,255,.16), transparent 26%),
    linear-gradient(145deg,#03102d 0%,#061b48 52%,#081537 100%);
  overflow: hidden;
}

.light-chase__topbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.light-chase__back {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#cfe7ff;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.7px;
}

.light-chase__back span {
  font-size:24px;
}

.light-chase__badge {
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  border:1px solid rgba(84,216,255,.4);
  border-radius:999px;
  background:rgba(9,36,88,.65);
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
}

.light-chase__header {
  text-align:center;
  margin:4px auto 12px;
}

.light-chase__eyebrow {
  color:#54e5ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:2.2px;
}

.light-chase__header h1 {
  margin:2px 0;
  font-size:34px;
  line-height:1;
  letter-spacing:1px;
  font-weight:950;
}

.light-chase__header h1 span {
  color:#55eaff;
  text-shadow:0 0 18px rgba(85,234,255,.55);
}

.light-chase__header p {
  margin:7px 0 0;
  color:#a9bfdf;
  font-size:12px;
}

.light-chase__machine {
  position:relative;
  width:min(820px,100%);
  margin:0 auto;
}

.light-chase__machine-glow {
  position:absolute;
  inset:10% 15%;
  background:#00d9ff;
  filter:blur(70px);
  opacity:.10;
}

.light-chase__board {
  position:relative;
  padding:13px;
  border:1px solid rgba(88,214,255,.32);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(5,25,65,.97),rgba(4,15,45,.98));
  box-shadow:
    0 22px 55px rgba(0,0,0,.34),
    inset 0 0 35px rgba(37,156,255,.07);
}

.light-chase__grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.light-chase__prize {
  position:relative;
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:1px solid rgba(107,159,224,.25);
  border-radius:14px;
  background:linear-gradient(145deg,#0a2452,#0b1838);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:
    transform .12s ease,
    border-color .12s ease,
    box-shadow .12s ease,
    background .12s ease;
}

.light-chase__prize-icon {
  font-size:25px;
  line-height:1;
  margin-bottom:4px;
}

.light-chase__prize strong {
  font-size:10px;
  letter-spacing:.7px;
}

.light-chase__prize small {
  margin-top:2px;
  color:#8ca9cf;
  font-size:8px;
  font-weight:800;
}

.light-chase__prize.is-active {
  z-index:3;
  transform:scale(1.055);
  border-color:#55f1ff;
  background:linear-gradient(145deg,#087eaa,#0a3d88);
  box-shadow:
    0 0 0 2px rgba(87,242,255,.28),
    0 0 22px rgba(0,229,255,.8),
    inset 0 0 18px rgba(255,255,255,.18);
}

.light-chase__prize.is-winner {
  z-index:4;
  transform:scale(1.07);
  border-color:#ffe266;
  background:linear-gradient(145deg,#bd7d08,#f1b51c);
  box-shadow:
    0 0 0 3px rgba(255,225,93,.22),
    0 0 30px rgba(255,199,38,.9);
  animation:lightWinner 1s ease-in-out infinite alternate;
}

.light-chase__center {
  grid-column:2 / 4;
  grid-row:2 / 3;
  min-height:142px;
  margin:8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(60,214,255,.22);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0%,rgba(0,220,255,.13),transparent 52%),
    linear-gradient(145deg,#061d4a,#061431);
  box-shadow:inset 0 0 30px rgba(0,205,255,.06);
}

/* colocar centro sobre las casillas centrales */
.light-chase__grid {
  position:relative;
}

.light-chase__center {
  position:absolute;
  left:25%;
  right:25%;
  top:84px;
  bottom:84px;
  z-index:2;
}

.light-chase__bolt {
  font-size:27px;
  filter:drop-shadow(0 0 9px #2ce8ff);
}

.light-chase__ready {
  margin:2px 0 8px;
  color:#74eaff;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.4px;
}

.light-chase__play {
  min-width:190px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:15px;
  cursor:pointer;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),transparent 42%),
    linear-gradient(135deg,#03a9dd,#245be6 55%,#6733e7);
  box-shadow:
    0 8px 20px rgba(14,85,229,.38),
    inset 0 1px 0 rgba(255,255,255,.35);
  transition:.18s ease;
}

.light-chase__play:hover {
  transform:translateY(-2px) scale(1.02);
  box-shadow:
    0 11px 27px rgba(14,113,255,.52),
    0 0 20px rgba(52,221,255,.25);
}

.light-chase__play:disabled {
  cursor:not-allowed;
  opacity:.7;
  transform:none;
}

.light-chase__play-icon {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:13px;
}

.light-chase__play > span:last-child {
  display:flex;
  flex-direction:column;
  text-align:left;
}

.light-chase__play strong {
  font-size:17px;
  line-height:1;
  letter-spacing:1px;
}

.light-chase__play small {
  margin-top:3px;
  font-size:7px;
  letter-spacing:.7px;
  opacity:.82;
}

.light-chase__hint {
  margin:7px 0 0;
  color:#758dad;
  font-size:8px;
}

.light-chase__result[hidden] {
  display:none;
}

.light-chase__result {
  position:fixed;
  z-index:9999;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(1,7,25,.78);
  backdrop-filter:blur(8px);
}

.light-chase__result-card {
  width:min(350px,92vw);
  padding:27px;
  text-align:center;
  border:1px solid rgba(255,226,98,.6);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,205,58,.18),transparent 42%),
    linear-gradient(145deg,#0a2454,#081638);
  box-shadow:0 25px 70px rgba(0,0,0,.55),0 0 45px rgba(255,199,40,.16);
}

.light-chase__result-title {
  display:block;
  color:#ffe36b;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.7px;
}

.light-chase__result-icon {
  margin:15px 0 7px;
  font-size:58px;
}

.light-chase__result-card > strong {
  display:block;
  font-size:25px;
}

.light-chase__result-card > b {
  display:block;
  margin-top:4px;
  color:#59e9ff;
  font-size:17px;
}

.light-chase__result-close {
  margin-top:20px;
  padding:11px 25px;
  border:0;
  border-radius:12px;
  cursor:pointer;
  color:#fff;
  font-weight:900;
  background:linear-gradient(135deg,#079fd5,#5542df);
}

.reward-game--enabled {
  cursor:pointer;
}

.reward-game--enabled .reward-game__status {
  color:#052a35;
  background:#55efff;
}

@keyframes lightWinner {
  from { filter:brightness(1); }
  to { filter:brightness(1.25); }
}

@media (max-width:700px) {
  .light-chase-page {
    padding:14px 10px 25px;
  }

  .light-chase__header h1 {
    font-size:28px;
  }

  .light-chase__prize {
    min-height:68px;
  }

  .light-chase__prize-icon {
    font-size:20px;
  }

  .light-chase__center {
    top:76px;
    bottom:76px;
    margin:5px;
  }

  .light-chase__play {
    min-width:150px;
    height:48px;
  }
}


/* =========================================================
   GUIA 360 · LIGHT CHASE V2
   TABLERO PERIMETRAL ARCADE
   ========================================================= */

.light-chase__machine {
  width: min(900px, 96%) !important;
  margin: 0 auto !important;
}

.light-chase__board {
  position: relative !important;

  display: grid !important;

  grid-template-columns:
    minmax(110px,1fr)
    minmax(110px,1fr)
    minmax(110px,1fr)
    minmax(110px,1fr);

  grid-template-rows:
    112px
    112px
    112px
    112px;

  gap: 9px !important;

  padding: 16px !important;

  border: 3px solid #19d8ff !important;
  border-radius: 32px !important;

  background:
    radial-gradient(circle at center,
      rgba(0,128,255,.25),
      transparent 48%),
    linear-gradient(145deg,#061944,#020b25) !important;

  box-shadow:
    0 0 18px rgba(0,221,255,.65),
    0 0 45px rgba(34,74,255,.35),
    inset 0 0 45px rgba(0,175,255,.16) !important;
}


/* =========================================================
   POSICIONES FISICAS DEL RECORRIDO
   SENTIDO HORARIO
   ========================================================= */

.light-chase__p1  { grid-column:1; grid-row:1; }
.light-chase__p2  { grid-column:2; grid-row:1; }
.light-chase__p3  { grid-column:3; grid-row:1; }
.light-chase__p4  { grid-column:4; grid-row:1; }

.light-chase__p5  { grid-column:4; grid-row:2; }
.light-chase__p6  { grid-column:4; grid-row:3; }

.light-chase__p7  { grid-column:4; grid-row:4; }
.light-chase__p8  { grid-column:3; grid-row:4; }
.light-chase__p9  { grid-column:2; grid-row:4; }
.light-chase__p10 { grid-column:1; grid-row:4; }

.light-chase__p11 { grid-column:1; grid-row:3; }
.light-chase__p12 { grid-column:1; grid-row:2; }


/* =========================================================
   PREMIOS
   ========================================================= */

.light-chase__prize {
  position: relative !important;

  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  border: 3px solid rgba(255,255,255,.28) !important;
  border-radius: 20px !important;

  background:
    linear-gradient(145deg,#1265d8,#073281) !important;

  box-shadow:
    inset 0 0 18px rgba(255,255,255,.12),
    0 4px 12px rgba(0,0,0,.25) !important;

  overflow: hidden !important;
}

.light-chase__prize:nth-of-type(3n+1) {
  background:
    linear-gradient(145deg,#0879ef,#063894) !important;
}

.light-chase__prize:nth-of-type(3n+2) {
  background:
    linear-gradient(145deg,#ff286e,#951146) !important;
}

.light-chase__prize:nth-of-type(3n) {
  background:
    linear-gradient(145deg,#822cff,#42149d) !important;
}

.light-chase__prize-icon {
  font-size: 36px !important;
  margin-bottom: 5px !important;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.45));
}

.light-chase__prize strong {
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.8);
}

.light-chase__prize small {
  margin-top: 4px !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}


/* =========================================================
   LUZ QUE RECORRE EL PERIMETRO
   ========================================================= */

.light-chase__prize.is-active {
  z-index: 20 !important;

  transform: scale(1.055) !important;

  border-color: #fff72f !important;

  filter:
    brightness(1.45)
    saturate(1.25) !important;

  box-shadow:
    0 0 0 3px #fff !important;

  box-shadow:
    0 0 0 3px #fff,
    0 0 12px #fff,
    0 0 25px #fff200,
    0 0 45px #ff9d00,
    inset 0 0 25px rgba(255,255,255,.55) !important;
}

.light-chase__prize.is-active::after {
  content:"" !important;
  position:absolute !important;
  inset:5px !important;
  border-radius:14px !important;
  border:2px solid rgba(255,255,255,.85) !important;
  pointer-events:none !important;
}

.light-chase__prize.is-winner {
  z-index: 25 !important;

  transform: scale(1.075) !important;

  border-color:#fff !important;

  filter:
    brightness(1.5)
    saturate(1.35) !important;

  box-shadow:
    0 0 0 4px #ffe900,
    0 0 18px #fff,
    0 0 38px #ffe600,
    0 0 65px #ff8a00 !important;

  animation:
    lightWinnerV2 .55s ease-in-out infinite alternate !important;
}


/* =========================================================
   CENTRO
   ========================================================= */

.light-chase__center {
  position: relative !important;

  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;

  grid-column: 2 / 4 !important;
  grid-row: 2 / 4 !important;

  margin: 0 !important;

  min-height: 0 !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;

  border:0 !important;
  border-radius:30px !important;

  background:
    radial-gradient(circle,
      #073b86 0%,
      #05285e 38%,
      #03173c 66%,
      #020c26 100%) !important;

  box-shadow:
    inset 0 0 35px rgba(0,215,255,.24),
    0 0 20px rgba(0,195,255,.18) !important;

  overflow:hidden !important;
}


/* anillo exterior */

.light-chase__ring {
  position:absolute;
  width:210px;
  height:210px;

  border-radius:50%;

  border:5px solid #2ddaff;

  background:
    radial-gradient(circle,
      transparent 54%,
      rgba(0,174,255,.18) 55%,
      rgba(0,65,175,.45) 68%,
      transparent 69%);

  box-shadow:
    0 0 16px #00bfff,
    inset 0 0 18px rgba(0,210,255,.5);
}


/* luces circulares decorativas */

.light-chase__ring span {
  position:absolute;

  width:10px;
  height:10px;

  border-radius:50%;

  background:#ffe83c;

  box-shadow:
    0 0 7px #fff,
    0 0 13px #ffd600;
}

.light-chase__ring span:nth-child(1)  { left:98px; top:-5px; }
.light-chase__ring span:nth-child(2)  { right:43px; top:10px; }
.light-chase__ring span:nth-child(3)  { right:8px; top:45px; }
.light-chase__ring span:nth-child(4)  { right:-5px; top:99px; }
.light-chase__ring span:nth-child(5)  { right:8px; bottom:45px; }
.light-chase__ring span:nth-child(6)  { right:43px; bottom:10px; }
.light-chase__ring span:nth-child(7)  { left:98px; bottom:-5px; }
.light-chase__ring span:nth-child(8)  { left:43px; bottom:10px; }
.light-chase__ring span:nth-child(9)  { left:8px; bottom:45px; }
.light-chase__ring span:nth-child(10) { left:-5px; top:99px; }
.light-chase__ring span:nth-child(11) { left:8px; top:45px; }
.light-chase__ring span:nth-child(12) { left:43px; top:10px; }


/* boton central */

.light-chase__button-shell {
  position:relative;
  z-index:4;

  width:160px;
  height:160px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:
    linear-gradient(145deg,#e8f4ff,#7d91b6);

  padding:9px;

  box-shadow:
    0 0 0 5px #10295b,
    0 0 20px #00c8ff,
    0 10px 25px rgba(0,0,0,.55);
}

.light-chase__play {
  min-width:0 !important;

  width:100% !important;
  height:100% !important;

  padding:0 !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;

  border:3px solid #ff9d9d !important;
  border-radius:50% !important;

  color:#fff !important;

  background:
    radial-gradient(circle at 40% 28%,
      #ff6868,
      #f01f25 45%,
      #a90710 78%,
      #70030a 100%) !important;

  box-shadow:
    inset 0 5px 8px rgba(255,255,255,.35),
    inset 0 -8px 15px rgba(70,0,0,.35),
    0 0 16px rgba(255,40,40,.55) !important;

  cursor:pointer !important;
}

.light-chase__play > span {
  font-size:25px !important;
  filter:drop-shadow(0 0 7px #ffe600);
}

.light-chase__play strong {
  font-size:18px !important;
  line-height:.95 !important;
  text-align:center !important;
  letter-spacing:.3px !important;
  text-shadow:0 3px 4px rgba(0,0,0,.65);
}

.light-chase__ready {
  position:absolute !important;
  z-index:6 !important;
  bottom:8px !important;

  margin:0 !important;

  color:#7eeeff !important;
  font-size:8px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
}


/* =========================================================
   ANIMACIONES
   ========================================================= */

@keyframes lightWinnerV2 {
  from {
    transform:scale(1.055);
    filter:brightness(1.25);
  }

  to {
    transform:scale(1.09);
    filter:brightness(1.7);
  }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:700px) {

  .light-chase__board {
    grid-template-columns:repeat(4,1fr) !important;
    grid-template-rows:80px 80px 80px 80px !important;
    gap:5px !important;
    padding:8px !important;
  }

  .light-chase__prize {
    border-radius:12px !important;
  }

  .light-chase__prize-icon {
    font-size:23px !important;
  }

  .light-chase__prize strong {
    font-size:8px !important;
  }

  .light-chase__prize small {
    font-size:7px !important;
  }

  .light-chase__ring {
    width:135px;
    height:135px;
  }

  .light-chase__ring span {
    display:none;
  }

  .light-chase__button-shell {
    width:105px;
    height:105px;
    padding:6px;
  }

  .light-chase__play strong {
    font-size:12px !important;
  }

  .light-chase__play > span {
    font-size:17px !important;
  }

}

/* LIGHT CHASE ARCADE PRO FINAL */
.lc-page{box-sizing:border-box;height:calc(100vh - 88px);min-height:520px;overflow:hidden;padding:10px 18px 14px;border-radius:22px;color:#fff;background:radial-gradient(circle at 50% 48%,#083f76 0,#061d50 35%,#03143a 72%,#020d28 100%)}
.lc-nav{height:32px;display:flex;justify-content:space-between;align-items:center}.lc-nav a,.lc-nav em{color:#fff;text-decoration:none;font-size:11px;font-style:normal;font-weight:900}.lc-nav em{padding:7px 17px;border:1px solid #168bd1;border-radius:20px}
.lc-page header{text-align:center;margin:-2px 0 8px}.lc-page header>small{font-size:9px;letter-spacing:3px;color:#22e8ff;font-weight:900}.lc-page h1{font-size:31px;line-height:1;margin:3px 0 4px;font-weight:1000}.lc-page h1 i{font-style:normal;color:#38e7ff}.lc-page header p{font-size:11px;margin:0;color:#dcecff}
.lc-machine{box-sizing:border-box;width:min(900px,96%);height:calc(100% - 88px);margin:auto;padding:13px;border:3px solid #1ee6ff;border-radius:28px;background:#031c47;box-shadow:0 0 13px #00dfff,0 0 35px #00dfff44,inset 0 0 35px #00dfff18}
.lc-grid{height:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:9px}
.lc-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:18px;border:3px solid #ffffff3b;box-shadow:inset 0 5px 12px #ffffff44,inset 0 -18px 30px #0003,0 7px 13px #0005}
.lc-card:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,#fff5 0,#fff1 34%,transparent 35%)}
.lc-card span{position:relative;font-size:clamp(34px,4.6vh,52px);line-height:1;filter:drop-shadow(0 5px 4px #0007)}.lc-card b{position:relative;font-size:clamp(12px,1.6vh,16px);font-weight:1000;text-shadow:0 2px 4px #00143b}.lc-card small{position:relative;font-size:clamp(9px,1.15vh,12px);font-weight:900;margin-top:3px}
.lc-blue{background:linear-gradient(145deg,#0799ff,#0750c8)}.lc-pink{background:linear-gradient(145deg,#ff3b85,#c9105d)}.lc-violet{background:linear-gradient(145deg,#dd31ff,#7217e8)}.lc-cyan{background:linear-gradient(145deg,#27c7ff,#0863ce)}.lc-purple{background:linear-gradient(145deg,#a83fff,#5120c0)}.lc-red{background:linear-gradient(145deg,#ff416c,#b8134f)}.lc-green{background:linear-gradient(145deg,#29e58e,#07855c)}.lc-indigo{background:linear-gradient(145deg,#7868ff,#4120ca)}.lc-orange{background:linear-gradient(145deg,#ffc72d,#ee6a00)}.lc-teal{background:linear-gradient(145deg,#18e6d9,#008e9d)}.lc-crimson{background:linear-gradient(145deg,#ff3855,#ae062f)}.lc-gold{background:linear-gradient(145deg,#ffe72e,#ef9400);color:#081b45}
.lc-center{grid-column:2/4;grid-row:2;position:relative;display:flex;justify-content:center;align-items:center;border-radius:28px;background:radial-gradient(circle,#075b8b55,#001a44 70%);box-shadow:inset 0 0 40px #00ddff18}
.lc-ring{position:relative;width:min(20vh,178px);height:min(20vh,178px);min-width:138px;min-height:138px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:5px solid #20e5ff;background:radial-gradient(circle,#0b568b 0 58%,#03254d 59%);box-shadow:0 0 13px #00dfff,0 0 30px #00dfff77,inset 0 0 18px #00152f}
.lc-ring>i{--a:calc(var(--n)*22.5deg);position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#fff22d;transform:rotate(var(--a)) translateY(calc(-1*min(9.7vh,85px)));box-shadow:0 0 7px #fff700,0 0 13px #ffc800}
#lcPlay{width:74%;height:74%;border-radius:50%;cursor:pointer;border:7px solid #ffcaca;color:#fff;background:radial-gradient(circle at 38% 24%,#ff9a8d 0 7%,transparent 8%),radial-gradient(circle,#ff5148 0,#ec1923 48%,#a4000c 100%);box-shadow:0 0 0 5px #76172b,0 9px 0 #62070f,0 14px 22px #0009,inset 0 7px 10px #ffffff66,inset 0 -11px 16px #69000c88}
#lcPlay span{display:block;font-size:21px;filter:drop-shadow(0 0 7px #ffe900)}#lcPlay b{display:block;font-size:clamp(18px,2.25vh,24px);line-height:.92;font-weight:1000;text-shadow:0 3px 3px #72000a}.lc-center>small{position:absolute;bottom:5px;font-size:8px;font-weight:900;letter-spacing:1px;color:#52efff}
.lc-card.on,.lc-card.win{z-index:4;transform:scale(1.025);filter:brightness(1.2);border-color:#fff72d;box-shadow:0 0 0 4px #fff600,0 0 17px #fff600,0 0 38px #dfff00,inset 0 0 25px #ffff0055}.lc-card.win{animation:lcwin .5s infinite alternate}@keyframes lcwin{to{filter:brightness(1.5)}}
@media(max-height:720px){.lc-page{height:calc(100vh - 74px);padding-top:7px}.lc-page h1{font-size:27px}.lc-page header{margin:-5px 0 5px}.lc-machine{height:calc(100% - 77px);padding:9px}.lc-grid{gap:6px}.lc-card{border-radius:14px}.lc-card span{font-size:30px}}

/* =========================================================
   LIGHT CHASE V16 · 16 CASILLAS PERIMETRALES
   5 ARRIBA + 3 DERECHA + 5 ABAJO + 3 IZQUIERDA
   UNA SOLA VISTA · RECORRIDO CIRCULAR
   ========================================================= */

.lc-page.lc-v16 {
  height: calc(100vh - 86px) !important;
  min-height: 560px !important;
  max-height: 720px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 10px 18px 14px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,162,255,.17), transparent 35%),
    linear-gradient(145deg,#001536 0%,#031a4d 52%,#07133f 100%) !important;
}

.lc-v16 .lc-nav {
  height: 30px !important;
  margin: 0 !important;
}

.lc-v16 .lc-header {
  margin: 0 auto 6px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
}

.lc-v16 .lc-header small {
  font-size: 9px !important;
  letter-spacing: 3px !important;
}

.lc-v16 .lc-header h1 {
  margin: 3px 0 2px !important;
  font-size: clamp(25px,2.2vw,34px) !important;
  line-height: 1 !important;
}

.lc-v16 .lc-header p {
  margin: 0 !important;
  font-size: 11px !important;
}

.lc-v16 .lc-machine {
  width: min(900px, 94%) !important;
  height: calc(100% - 88px) !important;
  max-height: 520px !important;
  min-height: 430px !important;
  margin: 4px auto 0 !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  border: 3px solid #19dcff !important;
  border-radius: 28px !important;
  box-shadow:
    0 0 10px #00d9ff,
    0 0 28px rgba(0,217,255,.5),
    inset 0 0 24px rgba(0,102,255,.25) !important;
}

.lc-v16 .lc-grid-16 {
  display: grid !important;
  width: 100% !important;
  height: 100% !important;
  grid-template-columns: repeat(5, 1fr) !important;
  grid-template-rows: repeat(5, 1fr) !important;
  gap: 7px !important;
  position: relative !important;
}

/* recorrido horario: 5 arriba */
.lc-v16 .p01 { grid-area:1/1/2/2 !important; }
.lc-v16 .p02 { grid-area:1/2/2/3 !important; }
.lc-v16 .p03 { grid-area:1/3/2/4 !important; }
.lc-v16 .p04 { grid-area:1/4/2/5 !important; }
.lc-v16 .p05 { grid-area:1/5/2/6 !important; }

/* 3 derecha */
.lc-v16 .p06 { grid-area:2/5/3/6 !important; }
.lc-v16 .p07 { grid-area:3/5/4/6 !important; }
.lc-v16 .p08 { grid-area:4/5/5/6 !important; }

/* 5 abajo, de derecha a izquierda */
.lc-v16 .p09 { grid-area:5/5/6/6 !important; }
.lc-v16 .p10 { grid-area:5/4/6/5 !important; }
.lc-v16 .p11 { grid-area:5/3/6/4 !important; }
.lc-v16 .p12 { grid-area:5/2/6/3 !important; }
.lc-v16 .p13 { grid-area:5/1/6/2 !important; }

/* 3 izquierda, de abajo hacia arriba */
.lc-v16 .p14 { grid-area:4/1/5/2 !important; }
.lc-v16 .p15 { grid-area:3/1/4/2 !important; }
.lc-v16 .p16 { grid-area:2/1/3/2 !important; }

.lc-v16 .lc-center {
  grid-area: 2 / 2 / 5 / 5 !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle, rgba(18,126,255,.26) 0%, rgba(0,35,88,.78) 50%, rgba(0,17,53,.94) 76%) !important;
  box-shadow: inset 0 0 45px rgba(0,202,255,.16) !important;
}

.lc-v16 .lc-card {
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 3px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 3px solid rgba(255,255,255,.34) !important;
  border-radius: 18px !important;
  color: #fff !important;
  text-align: center !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.32),
    inset 0 -8px 18px rgba(0,0,0,.16),
    0 4px 10px rgba(0,0,0,.24) !important;
  transition: transform .09s ease, filter .09s ease, box-shadow .09s ease !important;
}

.lc-v16 .lc-card::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(145deg,rgba(255,255,255,.30) 0 20%,transparent 21% 100%) !important;
}

.lc-v16 .lc-prize-icon {
  display:block !important;
  font-size: clamp(28px,3.2vw,48px) !important;
  line-height: .95 !important;
  margin: 0 0 2px !important;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,.35)) !important;
  transform: scale(1.08) !important;
}

.lc-v16 .lc-card b {
  position:relative !important;
  z-index:1 !important;
  font-size: clamp(10px,1.05vw,15px) !important;
  line-height:1 !important;
  text-shadow:0 2px 3px rgba(0,0,0,.75) !important;
}

.lc-v16 .lc-card small {
  position:relative !important;
  z-index:1 !important;
  margin-top:2px !important;
  font-size: clamp(8px,.78vw,11px) !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.lc-v16 .lc-blue    { background:linear-gradient(145deg,#16a7ff,#0049c9) !important; }
.lc-v16 .lc-pink    { background:linear-gradient(145deg,#ff477e,#d0004d) !important; }
.lc-v16 .lc-green   { background:linear-gradient(145deg,#45e73d,#00982d) !important; }
.lc-v16 .lc-violet  { background:linear-gradient(145deg,#c534ff,#6c00dc) !important; }
.lc-v16 .lc-gold    { background:linear-gradient(145deg,#ffd94a,#ff8a00) !important; }
.lc-v16 .lc-cyan    { background:linear-gradient(145deg,#43f5ff,#0095c8) !important; }
.lc-v16 .lc-red     { background:linear-gradient(145deg,#ff5a5f,#c4002e) !important; }
.lc-v16 .lc-purple  { background:linear-gradient(145deg,#9b4dff,#4d12c7) !important; }
.lc-v16 .lc-magenta { background:linear-gradient(145deg,#ff38c7,#b00072) !important; }
.lc-v16 .lc-lime    { background:linear-gradient(145deg,#b9ff39,#35a900) !important; }
.lc-v16 .lc-orange  { background:linear-gradient(145deg,#ffb22e,#ed5d00) !important; }
.lc-v16 .lc-azure   { background:linear-gradient(145deg,#35c7ff,#1767e8) !important; }
.lc-v16 .lc-fuchsia { background:linear-gradient(145deg,#ef45ff,#8500b8) !important; }
.lc-v16 .lc-amber   { background:linear-gradient(145deg,#ffe14d,#e88900) !important; }
.lc-v16 .lc-emerald { background:linear-gradient(145deg,#43e6a1,#00875f) !important; }
.lc-v16 .lc-indigo  { background:linear-gradient(145deg,#7567ff,#3322b8) !important; }

.lc-v16 .lc-card.on,
.lc-v16 .lc-card.win {
  z-index:5 !important;
  border-color:#fff82b !important;
  filter:brightness(1.25) saturate(1.2) !important;
  transform:scale(1.035) !important;
  box-shadow:
    0 0 5px #fff,
    0 0 13px #fff600,
    0 0 28px #fff600,
    0 0 45px rgba(255,246,0,.72),
    inset 0 0 18px rgba(255,255,255,.65) !important;
}

.lc-v16 .lc-card.win {
  animation: lcWinnerPulse .65s ease-in-out infinite alternate !important;
}

@keyframes lcWinnerPulse {
  from { transform:scale(1.025); }
  to   { transform:scale(1.075); }
}


/* ==========================================================
   LIGHT CHASE · CENTRO UNICO CLEAN V18
   Un solo aro + un solo boton
   ========================================================== */

.lc-v16 .lc-ring {
  position: relative !important;

  width: 210px !important;
  height: 210px !important;
  min-width: 210px !important;
  min-height: 210px !important;

  border-radius: 50% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 5px solid #12ddff !important;

  background:
    radial-gradient(
      circle,
      transparent 0 59%,
      #07275d 60% 66%,
      #ffc400 67% 70%,
      #743100 71% 74%,
      #00d7ff 75% 78%,
      transparent 79%
    ) !important;

  box-shadow:
    0 0 12px #00d7ff,
    0 0 28px rgba(0,215,255,.60),
    inset 0 0 15px rgba(0,215,255,.30) !important;

  filter: none !important;
}

/* 20 focos alrededor del aro */
.lc-v16 .lc-ring > i {
  position: absolute !important;

  left: 50% !important;
  top: 50% !important;

  width: 9px !important;
  height: 9px !important;

  margin: -4.5px !important;

  border-radius: 50% !important;

  background: #ffe72f !important;

  box-shadow:
    0 0 4px #fff,
    0 0 9px #ffe900,
    0 0 14px #ff9d00 !important;

  transform:
    rotate(calc(var(--n) * 18deg))
    translateY(-94px) !important;

  transform-origin: center center !important;

  z-index: 4 !important;
}

/* UNICO BOTON */
.lc-v16 #lcPlay {
  position: relative !important;
  z-index: 3 !important;

  width: 142px !important;
  height: 142px !important;
  min-width: 142px !important;
  min-height: 142px !important;

  padding: 0 !important;
  margin: 0 !important;

  border-radius: 50% !important;

  border: 5px solid #ffd05b !important;
  outline: 5px solid #71110b !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;

  color: #fff !important;

  background:
    radial-gradient(
      circle at 38% 24%,
      rgba(255,255,255,.55) 0 5%,
      transparent 6%
    ),
    radial-gradient(
      circle at 50% 38%,
      #ff665b 0%,
      #f52c25 38%,
      #c3080c 68%,
      #780007 100%
    ) !important;

  box-shadow:
    inset 0 7px 10px rgba(255,255,255,.38),
    inset 0 -13px 18px rgba(80,0,0,.55),
    0 7px 0 #520007,
    0 12px 18px rgba(0,0,0,.48),
    0 0 22px rgba(255,42,24,.65) !important;

  transform: none !important;
  filter: none !important;

  overflow: hidden !important;
}

/* reflejo superior del MISMO boton */
.lc-v16 #lcPlay::before {
  content: "" !important;

  position: absolute !important;
  left: 17% !important;
  top: 8% !important;

  width: 66% !important;
  height: 31% !important;

  border-radius: 50% !important;

  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,.38),
      rgba(255,255,255,.04)
    ) !important;

  pointer-events: none !important;
}

/* anulamos cualquier pseudo-elemento viejo */
.lc-v16 #lcPlay::after {
  content: none !important;
  display: none !important;
}

/* rayo */
.lc-v16 #lcPlay > span {
  position: relative !important;
  z-index: 2 !important;

  display: block !important;

  margin: 0 0 3px !important;

  font-size: 19px !important;
  line-height: 19px !important;

  filter: drop-shadow(0 0 6px #ffe000) !important;
}

/* texto */
.lc-v16 #lcPlay > b {
  position: relative !important;
  z-index: 2 !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  width: 100% !important;

  color: #fff !important;

  font-size: 18px !important;
  line-height: .98 !important;
  font-weight: 900 !important;

  text-align: center !important;

  text-shadow:
    0 2px 0 #790000,
    0 3px 4px rgba(0,0,0,.60) !important;
}

.lc-v16 #lcPlay strong {
  color: #ffe629 !important;
  font-size: 1.13em !important;
}

/* efecto de presion */
.lc-v16 #lcPlay:active {
  transform: translateY(4px) scale(.98) !important;

  box-shadow:
    inset 0 6px 12px rgba(255,255,255,.30),
    inset 0 -8px 12px rgba(80,0,0,.55),
    0 3px 0 #520007,
    0 6px 10px rgba(0,0,0,.45) !important;
}

/* estado */
.lc-v16 #lcStatus {
  position: absolute !important;

  bottom: 8px !important;

  margin: 0 !important;

  color: #54eaff !important;

  font-size: 9px !important;
  line-height: 1 !important;

  font-weight: 900 !important;
  letter-spacing: 1px !important;

  text-align: center !important;
}


@media (max-height: 700px) {
  .lc-page.lc-v16 {
    height: calc(100vh - 72px) !important;
    min-height: 500px !important;
    padding-top:6px !important;
  }
  .lc-v16 .lc-nav { height:24px !important; }
  .lc-v16 .lc-header h1 { font-size:25px !important; }
  .lc-v16 .lc-header p { font-size:10px !important; }
  .lc-v16 .lc-machine { height:calc(100% - 70px) !important; min-height:400px !important; }
  .lc-v16 .lc-grid-16 { gap:5px !important; }
  .lc-v16 .lc-card { border-radius:14px !important; }
  .lc-v16 .lc-prize-icon { font-size:31px !important; }
  .lc-v16 .lc-ring {
    width:180px !important;
    height:180px !important;
    min-width:180px !important;
    min-height:180px !important;
  }

  .lc-v16 .lc-ring > i {
    transform:rotate(calc(var(--n) * 18deg)) translateY(-80px) !important;
  }

  .lc-v16 #lcPlay {
    width:120px !important;
    height:120px !important;
    min-width:120px !important;
    min-height:120px !important;
  }
}


/* ==========================================================
   LIGHT CHASE V19
   VIEWPORT + MODAL GANADOR + CELEBRACION
   ========================================================== */


/* ----------------------------------------------------------
   ENCAJAR TODO EL JUEGO SIN SCROLL
   ---------------------------------------------------------- */

.lc-page.lc-v16.lc-v19 {
  box-sizing:border-box !important;

  height:calc(100dvh - 82px) !important;
  min-height:0 !important;
  max-height:calc(100dvh - 82px) !important;

  overflow:hidden !important;

  padding:
    5px
    12px
    7px !important;

  display:flex !important;
  flex-direction:column !important;
}


/* navegación */

.lc-v19 .lc-nav {
  flex:0 0 27px !important;
  height:27px !important;
  min-height:27px !important;
}


/* encabezado */

.lc-v19 .lc-header {
  flex:0 0 57px !important;

  min-height:0 !important;

  margin:0 !important;
  padding:0 !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.lc-v19 .lc-header > small {
  font-size:8px !important;
  line-height:9px !important;
  margin:0 !important;
}

.lc-v19 .lc-header h1 {
  font-size:27px !important;
  line-height:29px !important;

  margin:0 !important;
}

.lc-v19 .lc-header p {
  font-size:9px !important;
  line-height:11px !important;

  margin:1px 0 0 !important;
}


/* máquina */

.lc-v19 .lc-machine {
  flex:1 1 auto !important;

  height:auto !important;
  min-height:0 !important;
  max-height:none !important;

  margin:
    0
    auto !important;

  padding:8px !important;

  box-sizing:border-box !important;

  overflow:hidden !important;
}


/* grid completo */

.lc-v19 .lc-grid-16 {
  width:100% !important;
  height:100% !important;

  min-height:0 !important;

  gap:5px !important;

  box-sizing:border-box !important;

  grid-template-columns:
    repeat(5,minmax(0,1fr)) !important;

  grid-template-rows:
    repeat(5,minmax(0,1fr)) !important;
}


/* premios */

.lc-v19 .lc-card {
  min-height:0 !important;

  border-radius:14px !important;

  padding:2px !important;
}

.lc-v19 .lc-prize-icon {
  font-size:
    clamp(24px,3.2vh,38px) !important;

  margin-bottom:1px !important;
}

.lc-v19 .lc-card b {
  font-size:
    clamp(10px,1.45vh,14px) !important;
}

.lc-v19 .lc-card small {
  font-size:
    clamp(8px,1.05vh,10px) !important;
}


/* centro */

.lc-v19 .lc-center {
  min-height:0 !important;

  overflow:visible !important;
}


/* aro responsive */

.lc-v19 .lc-ring {
  width:
    clamp(145px,23vh,205px) !important;

  height:
    clamp(145px,23vh,205px) !important;

  min-width:0 !important;
  min-height:0 !important;
}


/* focos siempre pegados al aro */

.lc-v19 .lc-ring > i {
  transform:
    rotate(calc(var(--n) * 18deg))
    translateY(
      calc(
        clamp(145px,23vh,205px)
        * -.445
      )
    ) !important;
}


/* botón responsive */

.lc-v19 #lcPlay {
  width:
    clamp(98px,15.5vh,138px) !important;

  height:
    clamp(98px,15.5vh,138px) !important;

  min-width:0 !important;
  min-height:0 !important;
}

.lc-v19 #lcPlay > span {
  font-size:
    clamp(15px,2.2vh,19px) !important;
}

.lc-v19 #lcPlay > b {
  font-size:
    clamp(14px,2vh,18px) !important;
}


/* estado */

.lc-v19 #lcStatus {
  bottom:4px !important;

  font-size:8px !important;
}


/* ----------------------------------------------------------
   MODAL GANADOR
   ---------------------------------------------------------- */

.lc-winner-modal {
  position:fixed !important;
  inset:0 !important;

  z-index:99999 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:20px !important;

  background:
    radial-gradient(
      circle at center,
      rgba(17,49,113,.35),
      rgba(0,5,28,.86)
    ) !important;

  backdrop-filter:
    blur(4px) !important;

  opacity:0 !important;
  visibility:hidden !important;

  transition:
    opacity .22s ease,
    visibility .22s ease !important;
}

.lc-winner-modal.show {
  opacity:1 !important;
  visibility:visible !important;
}


/* caja */

.lc-winner-box {
  position:relative !important;

  width:min(430px,90vw) !important;

  min-height:390px !important;

  border-radius:34px !important;

  border:
    4px solid #ffd52b !important;

  overflow:hidden !important;

  background:
    radial-gradient(
      circle at 50% 35%,
      #1954c7 0%,
      #072b77 42%,
      #031746 72%,
      #020b2a 100%
    ) !important;

  box-shadow:
    0 0 0 5px #ff8a00,
    0 0 30px #ffe100,
    0 0 80px rgba(0,218,255,.65),
    inset 0 0 50px rgba(0,217,255,.25) !important;

  transform:
    scale(.62) translateY(25px) !important;

  transition:
    transform .38s
    cubic-bezier(.18,.89,.32,1.35) !important;
}

.lc-winner-modal.show
.lc-winner-box {
  transform:
    scale(1)
    translateY(0) !important;
}


/* rayos */

.lc-winner-rays {
  position:absolute !important;

  width:620px !important;
  height:620px !important;

  left:50% !important;
  top:45% !important;

  transform:
    translate(-50%,-50%) !important;

  opacity:.25 !important;

  background:
    repeating-conic-gradient(
      from 0deg,
      #ffe928 0deg 8deg,
      transparent 8deg 19deg
    ) !important;

  animation:
    lcRotateRays 13s linear infinite !important;
}

@keyframes lcRotateRays {
  to {
    transform:
      translate(-50%,-50%)
      rotate(360deg);
  }
}


/* contenido */

.lc-winner-content {
  position:relative !important;
  z-index:3 !important;

  min-height:390px !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;

  padding:35px 25px 25px !important;

  text-align:center !important;
}

.lc-winner-top {
  color:#fff !important;

  font-size:
    clamp(20px,3vw,29px) !important;

  font-weight:1000 !important;

  text-shadow:
    0 3px 0 #6b2800,
    0 0 15px #ffd900 !important;
}

.lc-winner-icon {
  margin:13px 0 3px !important;

  font-size:82px !important;

  line-height:1 !important;

  filter:
    drop-shadow(
      0 8px 8px
      rgba(0,0,0,.4)
    ) !important;

  animation:
    lcPrizeBounce
    .75s ease-in-out infinite alternate !important;
}

@keyframes lcPrizeBounce {
  from {
    transform:
      translateY(0)
      scale(1);
  }

  to {
    transform:
      translateY(-8px)
      scale(1.08);
  }
}

.lc-winner-label {
  margin-top:5px !important;

  color:#61f3ff !important;

  font-size:13px !important;

  font-weight:900 !important;

  letter-spacing:4px !important;
}

.lc-winner-prize {
  margin-top:4px !important;

  color:#ffe72e !important;

  font-size:
    clamp(31px,5vw,46px) !important;

  line-height:1 !important;

  font-weight:1000 !important;

  text-shadow:
    0 4px 0 #8c4100,
    0 0 18px #ffb700 !important;
}

.lc-winner-detail {
  min-height:23px !important;

  margin-top:6px !important;

  color:#fff !important;

  font-size:19px !important;

  font-weight:900 !important;
}


/* continuar */

.lc-continue {
  margin-top:20px !important;

  min-width:190px !important;

  padding:
    12px
    26px !important;

  border:2px solid #fff !important;
  border-radius:999px !important;

  cursor:pointer !important;

  color:#071744 !important;

  font-size:14px !important;
  font-weight:1000 !important;

  background:
    linear-gradient(
      180deg,
      #fff36a,
      #ffbd00
    ) !important;

  box-shadow:
    0 5px 0 #b86600,
    0 8px 18px rgba(0,0,0,.35),
    0 0 20px rgba(255,221,0,.6) !important;
}

.lc-continue:active {
  transform:
    translateY(3px) !important;

  box-shadow:
    0 2px 0 #b86600,
    0 5px 10px rgba(0,0,0,.3) !important;
}


/* cerrar */

.lc-modal-close {
  position:absolute !important;

  z-index:10 !important;

  right:14px !important;
  top:12px !important;

  width:34px !important;
  height:34px !important;

  border:1px solid
    rgba(255,255,255,.5) !important;

  border-radius:50% !important;

  cursor:pointer !important;

  color:#fff !important;

  font-size:24px !important;

  background:
    rgba(0,0,0,.25) !important;
}


/* ----------------------------------------------------------
   CONFETI
   ---------------------------------------------------------- */

.lc-celebration {
  position:absolute !important;
  inset:0 !important;

  overflow:hidden !important;

  pointer-events:none !important;

  z-index:100000 !important;
}

.lc-confetti,
.lc-streamer {
  position:absolute !important;

  left:var(--x) !important;
  top:-8vh !important;

  background:
    var(--color) !important;

  animation:
    lcConfettiFall
    var(--duration)
    var(--delay)
    cubic-bezier(.22,.7,.42,1)
    forwards !important;
}

.lc-confetti {
  width:10px !important;
  height:17px !important;

  border-radius:2px !important;
}

.lc-streamer {
  width:7px !important;
  height:45px !important;

  border-radius:50% !important;
}

@keyframes lcConfettiFall {

  0% {
    transform:
      translate3d(0,-5vh,0)
      rotate(0deg);

    opacity:1;
  }

  100% {
    transform:
      translate3d(
        calc((var(--x) - 50%) * -.35),
        115vh,
        0
      )
      rotate(var(--rot));

    opacity:.85;
  }
}


/* ----------------------------------------------------------
   FUEGOS ARTIFICIALES
   ---------------------------------------------------------- */

.lc-firework {
  position:absolute !important;

  width:6px !important;
  height:6px !important;

  animation:
    lcFireworkFlash
    1.35s
    ease-out
    3 !important;
}

.lc-firework > i {
  position:absolute !important;

  left:0 !important;
  top:0 !important;

  width:5px !important;
  height:22px !important;

  border-radius:999px !important;

  background:
    linear-gradient(
      to top,
      transparent,
      var(--color)
    ) !important;

  transform-origin:
    50%
    0 !important;

  transform:
    rotate(var(--a))
    translateY(0) !important;

  animation:
    lcSpark
    1.1s
    ease-out
    infinite !important;

  box-shadow:
    0 0 8px
    var(--color) !important;
}

@keyframes lcSpark {

  0% {
    transform:
      rotate(var(--a))
      translateY(0)
      scaleY(.2);

    opacity:1;
  }

  100% {
    transform:
      rotate(var(--a))
      translateY(-85px)
      scaleY(1);

    opacity:0;
  }
}

@keyframes lcFireworkFlash {

  0%,100% {
    filter:
      brightness(1);
  }

  15% {
    filter:
      brightness(2.3);
  }
}


/* ----------------------------------------------------------
   ALTURAS MENORES
   IMPORTANTE: ELIMINA EL MIN-HEIGHT QUE CAUSABA SCROLL
   ---------------------------------------------------------- */

@media (max-height:760px) {

  .lc-page.lc-v16.lc-v19 {
    height:
      calc(100dvh - 76px) !important;

    max-height:
      calc(100dvh - 76px) !important;

    min-height:0 !important;

    padding:
      3px
      10px
      5px !important;
  }

  .lc-v19 .lc-nav {
    flex-basis:23px !important;
    height:23px !important;
    min-height:23px !important;
  }

  .lc-v19 .lc-header {
    flex-basis:50px !important;
  }

  .lc-v19 .lc-header h1 {
    font-size:24px !important;
    line-height:25px !important;
  }

  .lc-v19 .lc-machine {
    min-height:0 !important;

    padding:6px !important;
  }

  .lc-v19 .lc-grid-16 {
    gap:4px !important;
  }

  .lc-v19 .lc-ring {
    width:
      clamp(132px,21vh,178px) !important;

    height:
      clamp(132px,21vh,178px) !important;
  }

  .lc-v19 .lc-ring > i {
    transform:
      rotate(calc(var(--n) * 18deg))
      translateY(
        calc(
          clamp(132px,21vh,178px)
          * -.445
        )
      ) !important;
  }

  .lc-v19 #lcPlay {
    width:
      clamp(90px,14.2vh,118px) !important;

    height:
      clamp(90px,14.2vh,118px) !important;
  }

  .lc-v19 .lc-prize-icon {
    font-size:
      clamp(22px,3vh,32px) !important;
  }
}


/* pantalla especialmente baja */

@media (max-height:650px) {

  .lc-v19 .lc-header {
    flex-basis:43px !important;
  }

  .lc-v19 .lc-header > small {
    display:none !important;
  }

  .lc-v19 .lc-header h1 {
    font-size:21px !important;
    line-height:22px !important;
  }

  .lc-v19 .lc-header p {
    font-size:8px !important;
  }

  .lc-v19 .lc-machine {
    padding:4px !important;
  }

  .lc-v19 .lc-card {
    border-radius:11px !important;
  }

  .lc-v19 .lc-prize-icon {
    font-size:
      clamp(20px,2.7vh,28px) !important;
  }

  .lc-v19 .lc-winner-box {
    transform:
      scale(.85) !important;
  }

  .lc-v19.show
  .lc-winner-box {
    transform:
      scale(.85) !important;
  }
}
/* ELIGE UNA CARTA V1 */
.pc-page{height:calc(100vh - 88px);min-height:500px;overflow:hidden;padding:7px 15px;box-sizing:border-box;border-radius:24px;color:white;background:radial-gradient(circle,#073f91,#021947 55%,#000a25)}
.pc-nav{height:29px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:900}.pc-nav a{color:white;text-decoration:none}.pc-nav em{padding:6px 15px;border:1px solid #18dfff;border-radius:20px;font-style:normal}
.pc-header{text-align:center;height:82px}.pc-header small{font-size:9px;letter-spacing:4px;color:#45efff}.pc-header h1{margin:0;font-size:40px;line-height:1;font-weight:1000;text-shadow:0 5px 8px #000}.pc-header h1 i{font-style:normal;color:#ffd329;text-shadow:0 0 14px #ff9800}.pc-header p{margin:5px;font-size:11px}
.pc-stage{height:calc(100% - 111px);position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;border:3px solid #16dcff;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse,#0b4696,#021b51 58%,#001137);box-shadow:0 0 25px #00d9ff66,inset 0 0 60px #087cff44}
.pc-stage:before{content:"";position:absolute;bottom:15%;width:90%;height:80px;border-radius:50%;border-bottom:8px solid #ffc62e;background:radial-gradient(ellipse,#00d9ff55,transparent 68%);box-shadow:0 13px 0 #126bdc,0 20px 25px #0009}
.pc-cards{z-index:2;width:min(930px,90%);height:min(48vh,390px);display:flex;align-items:center;justify-content:center;gap:13px;perspective:1200px}.pc-card{width:18.5%;height:86%;padding:0;border:0;background:none;perspective:1000px;cursor:pointer;transition:transform .08s,filter .2s}.pc-card:disabled{cursor:default}.pc-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.pc-card.flip .pc-card-inner{transform:rotateY(180deg)}
.pc-back,.pc-front{position:absolute;inset:0;backface-visibility:hidden;border:5px solid #ffd95e;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff44,inset 0 0 35px #0005,0 9px 18px #0009,0 0 17px #ffc40099}.pc-back:after,.pc-front:after{content:"";position:absolute;inset:8px;border:1px solid #ffe17499;border-radius:13px;background:linear-gradient(140deg,#ffffff26,transparent 30%)}
.pc-back span,.pc-back small{font-size:30px;color:#ffe45b;z-index:2}.pc-back b{font-size:clamp(80px,9vw,145px);line-height:.8;color:#fff0a0;text-shadow:0 7px #a85500,0 11px 15px #0009;z-index:2}.pc-front{transform:rotateY(180deg);background:radial-gradient(circle,#116ed8,#001b55)}.pc-front span{font-size:75px;z-index:2}.pc-front b{font-size:18px;text-align:center;z-index:2}.pc-front small{color:#ffe43d;font-size:15px;font-weight:900;z-index:2}
.pc-red .pc-back{background:linear-gradient(145deg,#ff2828,#850000)}.pc-blue .pc-back{background:linear-gradient(145deg,#168cff,#002b8c)}.pc-gold .pc-back{background:linear-gradient(145deg,#ffd22d,#9b5200)}.pc-green .pc-back{background:linear-gradient(145deg,#28d44e,#006b25)}.pc-purple .pc-back{background:linear-gradient(145deg,#b52cff,#480087)}.pc-card:not(:disabled):hover{transform:translateY(-12px) scale(1.035);filter:brightness(1.18)}
.pc-steps{z-index:3;padding:7px 20px;border:1px solid #ffd85b;border-radius:20px;background:#001039e8;font-size:11px;font-weight:900}.pc-stage>#pcShuffle{z-index:3;margin-top:7px;padding:9px 25px;border:2px solid #ffe46a;border-radius:22px;background:linear-gradient(#ffd83c,#e96c00);color:white;font-weight:1000;box-shadow:0 5px #873500,0 0 16px #ffbd00;cursor:pointer}
.pc-modal{position:fixed;inset:0;z-index:99999;display:none;place-items:center;background:#00102be8;backdrop-filter:blur(5px);overflow:hidden}.pc-modal.show{display:grid}.pc-box{z-index:3;width:min(420px,86vw);padding:24px;text-align:center;border:4px solid #ffd638;border-radius:30px;background:radial-gradient(circle at top,#1769dc,#07164e 70%);box-shadow:0 0 30px #00dfff,0 0 80px #ffc400aa;animation:pcpop .5s cubic-bezier(.2,1.5,.4,1)}.pc-box>div:first-child{font-size:50px;margin-top:-50px}.pc-box small{letter-spacing:3px;color:#5cefff;font-weight:900}.pc-box h2{font-size:42px;margin:2px;color:#ffd92f;text-shadow:0 4px #914100}.pc-box #pcWI{font-size:90px}.pc-box h3{font-size:28px;margin:0}.pc-box strong{display:block;font-size:30px;color:#ffe32d;margin:6px}.pc-box button{padding:10px 28px;border:0;border-radius:20px;background:linear-gradient(#ffe344,#ff8a00);font-weight:1000;cursor:pointer}
#pcFX{position:absolute;inset:0;pointer-events:none}.pc-conf{position:absolute;left:var(--x);top:-20px;width:10px;height:20px;background:var(--c);animation:pcfall 2.5s var(--d) linear forwards}.pc-fire{position:absolute}.pc-fire i{position:absolute;width:5px;height:38px;border-radius:50%;background:linear-gradient(#fff600,#ff5c00,transparent);transform-origin:2px 0;animation:pcfire .9s ease-out forwards;transform:rotate(var(--a))}.pc-fire{filter:drop-shadow(0 0 7px #ffd900)}
@keyframes pcfall{to{transform:translate(var(--dx),110vh) rotate(760deg)}}@keyframes pcfire{to{transform:rotate(var(--a)) translateY(-110px);opacity:0}}@keyframes pcpop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-height:700px){.pc-page{height:calc(100vh - 70px)}.pc-header{height:62px}.pc-header h1{font-size:28px}.pc-stage{height:calc(100% - 91px)}.pc-cards{height:min(44vh,305px)}}


/* ==========================================================
   ELIGE UNA CARTA V3
   5 CARTAS IDENTICAS · ROJO CASINO + DORADO
   ========================================================== */

/*
   Anulamos visualmente TODOS los colores anteriores.
   Aunque quede alguna clase antigua en DOM,
   ninguna podrá identificar una carta.
*/
.pc-card .pc-back,
.pc-red .pc-back,
.pc-blue .pc-back,
.pc-gold .pc-back,
.pc-green .pc-back,
.pc-purple .pc-back {
  position: absolute !important;

  background:
    radial-gradient(
      ellipse at 50% 35%,
      rgba(255,76,52,.30) 0%,
      transparent 38%
    ),
    linear-gradient(
      145deg,
      #e21b16 0%,
      #b60709 42%,
      #760006 100%
    ) !important;

  border: 5px solid #ffc928 !important;

  box-shadow:
    inset 0 0 0 2px #fff0a0,
    inset 0 0 0 6px #9d3500,
    inset 0 0 28px rgba(0,0,0,.45),
    inset 0 4px 14px rgba(255,170,60,.30),
    0 8px 14px rgba(0,0,0,.60),
    0 0 12px #ffb000,
    0 0 24px rgba(255,145,0,.55) !important;
}


/* Marco ornamental interior */
.pc-card .pc-back::after {
  content: "" !important;

  position: absolute !important;
  inset: 10px !important;

  border-radius: 12px !important;

  border: 2px solid #ffca38 !important;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.12),
      transparent 28%
    ) !important;

  box-shadow:
    inset 0 0 0 1px rgba(255,238,145,.40),
    inset 0 0 15px rgba(255,176,0,.15) !important;

  pointer-events: none !important;
}


/*
   Ocultamos corona + interrogación originales.
   No borramos estructura HTML para no afectar el flip.
*/
.pc-card .pc-back > span,
.pc-card .pc-back > b,
.pc-card .pc-back > small {
  font-size: 0 !important;
  text-shadow: none !important;
}


/* PICA DORADA CENTRAL */
.pc-card .pc-back > b::before {
  content: "♠" !important;

  display: block !important;

  position: relative !important;
  z-index: 5 !important;

  font-size: clamp(82px, 8vw, 128px) !important;
  line-height: 1 !important;

  color: #ffd43b !important;

  background:
    linear-gradient(
      180deg,
      #fff8a8 0%,
      #ffd633 30%,
      #f09a00 72%,
      #b94d00 100%
    );

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  filter:
    drop-shadow(0 2px 0 #fff0a0)
    drop-shadow(0 5px 0 #8c3000)
    drop-shadow(0 9px 9px rgba(0,0,0,.65));

  transform: translateY(-2px);
}


/* Ornamento superior */
.pc-card .pc-back > span::before {
  content: "✦  ♛  ✦" !important;

  display: block !important;

  position: absolute !important;
  top: 19px !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 5 !important;

  color: #ffd43b !important;

  font-size: 18px !important;
  line-height: 1 !important;

  text-align: center !important;

  text-shadow:
    0 0 6px #ffae00,
    0 2px 2px #6e2400 !important;
}


/* Ornamento inferior */
.pc-card .pc-back > small::before {
  content: "✦  ♛  ✦" !important;

  display: block !important;

  position: absolute !important;
  bottom: 19px !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 5 !important;

  color: #ffd43b !important;

  font-size: 18px !important;
  line-height: 1 !important;

  text-align: center !important;

  transform: rotate(180deg);

  text-shadow:
    0 0 6px #ffae00,
    0 2px 2px #6e2400 !important;
}


/* Todas mantienen exactamente el mismo brillo */
.pc-card:not(:disabled):hover .pc-back {
  filter: brightness(1.10) !important;

  box-shadow:
    inset 0 0 0 2px #fff0a0,
    inset 0 0 0 6px #9d3500,
    inset 0 0 28px rgba(0,0,0,.40),
    0 10px 18px rgba(0,0,0,.65),
    0 0 18px #ffc400,
    0 0 34px rgba(255,174,0,.65) !important;
}


/* ==========================================================
   MEMORY DE VENTAS V1
   ========================================================== */

.mv-page{
  height:calc(100vh - 88px);
  min-height:500px;
  overflow:hidden;
  box-sizing:border-box;
  padding:7px 15px 10px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 30%,#0750a7,#021b51 52%,#00091f);
}

.mv-nav{
  height:27px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  font-weight:900;
}

.mv-nav a{
  color:#fff;
  text-decoration:none;
}

.mv-nav em{
  padding:6px 15px;
  border:1px solid #18dfff;
  border-radius:20px;
  font-style:normal;
}

.mv-header{
  height:75px;
  text-align:center;
}

.mv-header small{
  color:#4cecff;
  font-size:8px;
  letter-spacing:4px;
  font-weight:900;
}

.mv-header h1{
  margin:0;
  font-size:36px;
  line-height:1;
  font-weight:1000;
  text-shadow:0 5px 8px #000;
}

.mv-header h1 i{
  color:#ffd52c;
  font-style:normal;
  text-shadow:0 0 16px #ff9800;
}

.mv-header p{
  margin:4px;
  font-size:10px;
}

.mv-game{
  height:calc(100% - 130px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:12px;
  max-width:1050px;
  margin:auto;
}

.mv-main{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  border:3px solid #13dcff;
  border-radius:26px;
  padding:8px;
  background:
    radial-gradient(ellipse,#0c4b9c,#021a4d 68%);
  box-shadow:
    0 0 22px #00d8ff66,
    inset 0 0 50px #087cff33;
}

.mv-levels{
  height:35px;
  display:flex;
  justify-content:center;
  gap:7px;
}

.mv-levels button{
  padding:5px 16px;
  border:1px solid #5383c5;
  border-radius:16px;
  color:#fff;
  background:#071a49;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.mv-levels button.active{
  border-color:#7dff45;
  background:linear-gradient(#22cb5d,#05892d);
  box-shadow:0 0 14px #38ff53;
}

.mv-board{
  flex:1;
  min-height:0;
  display:grid;
  justify-content:center;
  align-content:center;
  gap:7px;
  perspective:1200px;
}

.mv-board-easy{
  grid-template-columns:repeat(4,minmax(75px,130px));
  grid-template-rows:repeat(2,minmax(100px,1fr));
}

.mv-board-medium{
  grid-template-columns:repeat(4,minmax(70px,120px));
  grid-template-rows:repeat(3,minmax(82px,1fr));
}

.mv-board-hard{
  grid-template-columns:repeat(4,minmax(65px,112px));
  grid-template-rows:repeat(4,minmax(68px,1fr));
}

.mv-card{
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  perspective:900px;
}

.mv-card-inner{
  width:100%;
  height:100%;
  position:relative;
  transform-style:preserve-3d;
  transition:transform .52s cubic-bezier(.2,.8,.2,1);
}

.mv-card.open .mv-card-inner,
.mv-card.matched .mv-card-inner{
  transform:rotateY(180deg);
}

.mv-card-back,
.mv-card-front{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:4px solid #ffc94b;
  border-radius:15px;
  backface-visibility:hidden;
  overflow:hidden;
  box-shadow:
    inset 0 0 0 2px #ffffff25,
    inset 0 0 24px #0007,
    0 5px 10px #0008,
    0 0 9px #ffbd00aa;
}

.mv-card-back{
  background:
    linear-gradient(145deg,#123a7c,#03163f);
}

.mv-card-back::after,
.mv-card-front::after{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid #ffd76688;
  border-radius:10px;
  pointer-events:none;
}

.mv-card-back span{
  color:#ffc92d;
  font-size:clamp(35px,5vh,65px);
  filter:drop-shadow(0 4px 3px #0008);
}

.mv-card-front{
  transform:rotateY(180deg);
  background:
    radial-gradient(circle at 50% 35%,#1684ef,#05245f 75%);
}

.mv-card-front span{
  position:relative;
  z-index:2;
  font-size:clamp(28px,5vh,58px);
}

.mv-card-front b{
  position:relative;
  z-index:2;
  max-width:90%;
  margin-top:3px;
  font-size:clamp(9px,1.1vw,15px);
  text-align:center;
}

.mv-card-front small{
  position:relative;
  z-index:2;
  margin-top:2px;
  color:#ffe43b;
  font-size:clamp(8px,.9vw,12px);
  font-weight:900;
}

.mv-card.matched{
  filter:brightness(1.25);
}

.mv-card.matched .mv-card-front{
  border-color:#72ff45;
  box-shadow:
    0 0 7px #fff,
    0 0 18px #48ff32,
    0 0 32px #20ff00;
}

.mv-panel{
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mv-panel-title,
.mv-info{
  padding:10px;
  text-align:center;
  border:2px solid #21cfff;
  border-radius:18px;
  background:
    linear-gradient(145deg,#123e91,#071b51);
  box-shadow:
    inset 0 0 20px #167cff44,
    0 0 10px #00cfff66;
}

.mv-panel-title span{
  display:block;
  font-size:28px;
}

.mv-panel-title b,
.mv-info small{
  display:block;
  color:#fff;
  font-size:10px;
  letter-spacing:1px;
}

.mv-panel-title strong{
  display:block;
  margin-top:5px;
  padding:6px;
  border-radius:12px;
  color:#fff;
  background:#08a43d;
  box-shadow:0 0 12px #36ff51;
}

.mv-info strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:21px;
}

#mvStart{
  margin-top:auto;
  padding:10px 6px;
  border:2px solid #ffe263;
  border-radius:18px;
  color:#fff;
  background:
    linear-gradient(#ffd83b,#ed7500);
  font-size:11px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:
    0 5px #873500,
    0 0 15px #ffbd00;
}

.mv-message{
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:5px auto 0;
  max-width:720px;
  border:1px solid #ffc931;
  border-radius:18px;
  color:#fff;
  background:#00113fe8;
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
}

.mv-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  place-items:center;
  overflow:hidden;
  background:#00102be8;
  backdrop-filter:blur(6px);
}

.mv-modal.show{
  display:grid;
}

.mv-winner,
.mv-lose-box{
  position:relative;
  z-index:4;
  width:min(420px,86vw);
  padding:23px;
  border:4px solid #ffd63b;
  border-radius:30px;
  text-align:center;
  background:
    radial-gradient(circle at top,#176cdd,#07154d 72%);
  box-shadow:
    0 0 30px #00dfff,
    0 0 90px #ffc400aa;
  animation:mvPop .5s cubic-bezier(.2,1.5,.4,1);
}

.mv-crown{
  margin-top:-52px;
  font-size:55px;
}

.mv-winner>small{
  color:#62efff;
  font-weight:900;
  letter-spacing:3px;
}

.mv-winner h2{
  margin:2px;
  color:#ffdc31;
  font-size:40px;
  text-shadow:0 4px #944100;
}

.mv-winner p{
  margin:3px;
  font-size:12px;
  font-weight:900;
}

.mv-prize-icon{
  font-size:80px;
}

.mv-winner h3{
  margin:0;
  font-size:27px;
}

.mv-winner strong{
  display:block;
  margin:5px;
  color:#ffe332;
  font-size:30px;
}

.mv-winner button,
.mv-lose-box button{
  padding:10px 28px;
  border:0;
  border-radius:20px;
  background:linear-gradient(#ffe448,#ff8b00);
  font-weight:1000;
  cursor:pointer;
}

.mv-lose-box>div{
  font-size:65px;
}

.mv-lose-box h2{
  color:#ffd735;
}

#mvFX{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.mv-conf{
  position:absolute;
  left:var(--x);
  top:-30px;
  width:10px;
  height:22px;
  border-radius:3px;
  background:var(--c);
  animation:mvFall 3s var(--d) linear forwards;
}

.mv-fire{
  position:absolute;
  filter:drop-shadow(0 0 8px #ffd900);
}

.mv-fire i{
  position:absolute;
  width:5px;
  height:40px;
  border-radius:50%;
  background:
    linear-gradient(
      hsl(var(--h) 100% 70%),
      hsl(var(--h) 100% 50%),
      transparent
    );
  transform-origin:2px 0;
  transform:rotate(var(--a));
  animation:mvFire .95s ease-out forwards;
}

@keyframes mvFall{
  to{
    transform:
      translate(var(--dx),110vh)
      rotate(var(--r));
  }
}

@keyframes mvFire{
  to{
    transform:
      rotate(var(--a))
      translateY(-125px);
    opacity:0;
  }
}

@keyframes mvPop{
  from{
    transform:scale(.25);
    opacity:0;
  }
  to{
    transform:scale(1);
    opacity:1;
  }
}

@media(max-height:700px){

  .mv-page{
    height:calc(100vh - 70px);
    min-height:480px;
  }

  .mv-header{
    height:57px;
  }

  .mv-header h1{
    font-size:27px;
  }

  .mv-header p{
    margin:2px;
  }

  .mv-game{
    height:calc(100% - 105px);
  }

  .mv-main{
    padding:5px;
  }

  .mv-levels{
    height:29px;
  }

  .mv-levels button{
    padding:3px 12px;
  }

  .mv-message{
    height:20px;
  }

  .mv-panel-title,
  .mv-info{
    padding:6px;
  }

  .mv-panel-title span{
    font-size:20px;
  }

  .mv-info strong{
    font-size:17px;
  }
}


/* ==========================================================
   TIRO AL BLANCO V1
   ========================================================== */

.ts-page {
  --ts-gold: #f4d28b;
  --ts-cyan: #70e4ff;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: 30px auto minmax(0, 1fr);
  gap: 8px;
  box-sizing: border-box;
  height: var(--ts-height, calc(100dvh - 120px));
  min-height: 0;
  margin-top: 10px;
  padding: 10px 22px 18px;
  overflow: hidden;
  border: 1px solid #365166;
  border-radius: 22px;
  background: radial-gradient(ellipse at 38% 48%, #123958 0%, #07192d 42%, #030d19 85%);
  color: #edf7ff;
  font-family: "Trebuchet MS", Arial, sans-serif;
  box-shadow: inset 0 1px 0 #c7e7ff24, 0 10px 28px #05182c30;
}
.ts-page *, .ts-page *::before, .ts-page *::after { box-sizing: border-box; }
.ts-page [hidden] { display: none !important; }
.ts-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(90deg, transparent 0 69px, #5fbdff05 70px 71px), linear-gradient(115deg, transparent 20%, #2b92eb0d 20.2%, transparent 35%, #fbdc9210 62%, transparent 62.2%);
}
.ts-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-width: 0; }
.ts-back { font-size: 10px; letter-spacing: 1px; font-weight: 700; color: #b9cbdc; text-decoration: none; }
.ts-back:hover { color: #fff0c3; }
.ts-brand { font-size: 9px; letter-spacing: 2px; color: #849bb0; }
.ts-brand span { padding: 0 6px; color: var(--ts-gold); }
.ts-sound { border: 1px solid #45617b; border-radius: 20px; padding: 6px 10px; background: #0c2035; color: #cfe5f4; font-size: 9px; letter-spacing: .5px; cursor: pointer; }
.ts-sound[aria-pressed="true"] { color: var(--ts-cyan); border-color: #397a94; }
.ts-header { text-align: center; padding: 0 0 6px; }
.ts-eyebrow { margin: 0 0 5px; color: var(--ts-cyan); font-size: 8px; font-weight: 700; letter-spacing: 4px; }
.ts-header h1 { margin: 0; color: #f8f5e9; font-family: Impact, "Arial Narrow", sans-serif; font-size: clamp(30px, 3.6vw, 54px); font-weight: 900; line-height: 1; letter-spacing: 2px; text-shadow: 0 3px 0 #102234, 0 8px 20px #000a; }
.ts-header h1 span { color: var(--ts-gold); text-shadow: 0 3px 0 #61451d, 0 0 30px #e9ad3330; }
.ts-subtitle { margin: 8px 0 0; color: #b4c5d5; font-size: 9px; letter-spacing: 4px; }
.ts-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) clamp(190px, 23%, 290px); gap: 20px; min-height: 0; }
.ts-arena { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; min-height: 0; border: 1px solid #4a829b42; border-radius: 18px; background: radial-gradient(ellipse at 50% 43%, #137eb526, transparent 65%), linear-gradient(180deg, #0a284e1a, #010a17aa); box-shadow: inset 0 0 45px #01091266; }
.ts-arena::before, .ts-arena::after { content: ""; position: absolute; top: 14%; bottom: 23%; width: 3px; border-radius: 3px; background: linear-gradient(transparent, #68dfff, transparent); box-shadow: 0 0 16px #2ebdf9; opacity: .55; }
.ts-arena::before { left: 10px; }
.ts-arena::after { right: 10px; }
.ts-board-mount { position: relative; display: grid; place-items: center; min-width: 0; min-height: 0; padding: 20px 10px 10px; }
.ts-stage-label { position: absolute; top: 8px; left: 0; width: 100%; text-align: center; color: #718da5; font-size: 7px; letter-spacing: 2.8px; }
.ts-board { position: relative; z-index: 1; width: min(100%, 530px); max-width: 100%; aspect-ratio: 1; border-radius: 50%; filter: drop-shadow(0 12px 8px #0009); box-shadow: 0 0 28px #26b6fb25, 0 0 70px #189ddd12; }
.ts-target { display: block; width: 100%; height: 100%; border-radius: 50%; }
.ts-pedestal { position: absolute; bottom: 1%; left: 15%; right: 15%; height: 7%; border-radius: 50%; border-bottom: 2px solid #d1a6587a; background: radial-gradient(ellipse, #38c7ff24, transparent 70%); box-shadow: 0 8px 16px #0007; }
.ts-crosshair { position: absolute; left: 50%; top: 50%; width: 35px; height: 35px; transform: translate(-50%, -50%); border: 1px solid #e9ffff; border-radius: 50%; background: #00bfff12; box-shadow: 0 0 0 3px #00192c66, 0 0 12px #5ce9ff, inset 0 0 8px #09d5ff; pointer-events: none; will-change: left, top; }
.ts-crosshair::before, .ts-crosshair::after { content: ""; position: absolute; background: #dbffff; box-shadow: 0 0 5px #00d9ff; }
.ts-crosshair::before { width: 47px; height: 1px; top: 16px; left: -7px; }
.ts-crosshair::after { width: 1px; height: 47px; left: 16px; top: -7px; }
.ts-crosshair span { position: absolute; inset: 10px; border: 1px solid #fff; border-radius: 50%; }
.ts-crosshair i { position: absolute; inset: 15px; border-radius: 50%; background: #fff6a8; box-shadow: 0 0 8px #ffbe36; }
.ts-dart { position: absolute; z-index: 4; width: 20%; aspect-ratio: 100 / 120; transform: translate(-8%, -90.833333%); transform-origin: 8% 90.833333%; pointer-events: none; filter: drop-shadow(6px 8px 3px #000b); }
.ts-dart svg { width: 100%; height: 100%; overflow: visible; }
.ts-dart-flying { animation: ts-dart-flight 360ms cubic-bezier(.22, .65, .45, 1) both; }
.ts-dart-stuck { animation: ts-dart-settle 300ms ease-out; }
.ts-impact { position: absolute; z-index: 3; width: 9px; height: 9px; border-radius: 50%; transform: translate(-50%, -50%); background: #030b10; box-shadow: 0 0 3px 2px #fff2af; pointer-events: none; }
.ts-impact::before, .ts-impact::after { content: ""; position: absolute; inset: -20px; border: 2px solid #ffe1a2; border-radius: 50%; animation: ts-impact-ring 650ms ease-out both; }
.ts-impact::after { inset: -10px; border-color: #c6f6ff; box-shadow: 0 0 20px #fff0b7; }
.ts-board-hit { animation: ts-board-shake 300ms ease-out; }
.ts-controls { position: relative; z-index: 5; display: grid; justify-items: center; gap: 7px; padding: 7px 10px 12px; }
.ts-instruction { margin: 0; font-size: 12px; color: #d5e1eb; }
.ts-throw, .ts-replay { border: 1px solid #fff0b2; border-radius: 9px; padding: 12px 27px; background: linear-gradient(110deg, #fff0b4, #e9bc64 55%, #ffdf97); color: #2c210f; font: 900 13px "Trebuchet MS", sans-serif; letter-spacing: 1.3px; cursor: pointer; box-shadow: 0 4px 0 #8b602a, 0 8px 24px #dba74526, inset 0 1px 0 #fff8e1; transition: filter .15s, transform .15s; }
.ts-throw:hover:not(:disabled), .ts-replay:hover { filter: brightness(1.12); transform: translateY(-1px); }
.ts-throw:active:not(:disabled), .ts-replay:active { transform: translateY(2px); }
.ts-throw:disabled { cursor: default; filter: saturate(.5); opacity: .7; }
.ts-page button:focus-visible, .ts-back:focus-visible { outline: 2px solid #79eeff; outline-offset: 4px; }
.ts-status { min-height: 12px; margin: 2px 0 0; color: #83b5cc; font-size: 9px; letter-spacing: .25px; }
.ts-prizes { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 0; padding: 14px 0; }
.ts-live { display: flex; align-items: center; gap: 6px; color: #81d8cf; font-size: 8px; letter-spacing: 1.6px; }
.ts-live i { width: 5px; height: 5px; border-radius: 50%; background: #5eeac7; box-shadow: 0 0 9px #61edc9; }
.ts-prizes h2 { margin: 16px 0 9px; font-size: clamp(19px, 1.85vw, 29px); line-height: 1.2; letter-spacing: -.6px; }
.ts-prizes h2 span { color: var(--ts-gold); }
.ts-prizes-copy { margin: 0 0 17px; font-size: 10px; color: #91aabe; line-height: 1.7; }
.ts-jackpot { display: flex; align-items: center; gap: 12px; padding: 14px 12px; border: 1px solid #e4b85f66; border-radius: 10px; background: linear-gradient(110deg, #d4a75a12, #d4a75a03); }
.ts-jackpot > span { font-size: 33px; filter: drop-shadow(0 5px 8px #0008); }
.ts-jackpot small { display: block; color: #c8b58a; font-size: 7px; letter-spacing: 1.5px; }
.ts-jackpot strong { display: block; margin-top: 3px; font-size: 35px; letter-spacing: -1px; color: #ffdf99; line-height: 1; }
.ts-values { display: flex; justify-content: space-between; gap: 4px; margin: 10px 0 14px; }
.ts-values span { padding: 4px 5px; border: 1px solid #284456; border-radius: 4px; font-size: 8px; color: #bed2dd; background: #0d2236; }
.ts-prize-list { display: grid; gap: 6px; }
.ts-prize-list > div { display: flex; align-items: center; gap: 10px; min-height: 27px; padding: 3px 9px; border: 1px solid #28445665; border-radius: 6px; background: #0e233844; }
.ts-prize-list > div > span:first-child { font-size: 17px; }
.ts-prize-list > div > span:last-child { font-size: 9px; letter-spacing: 1px; color: #c1d5e4; }
.ts-fair { margin: 12px 0; color: #8eabbf; font-size: 9px; line-height: 1.6; }
.ts-steps { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid #274052; }
.ts-steps > span { color: #caab68; font-size: 9px; }
.ts-steps b { display: block; margin-top: 4px; color: #9cb5c8; font-size: 7px; font-weight: 400; letter-spacing: 1px; }
.ts-modal { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 22px; overflow: hidden; border: 0; background: #020d22bb; color: #fff; backdrop-filter: blur(4px); }
.ts-modal[open] { display: grid; place-items: center; }
.ts-modal::backdrop { background: #01081866; }
.ts-celebration { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ts-win-box { position: relative; z-index: 3; width: min(390px, 90vw); max-height: calc(100dvh - 48px); padding: 18px 30px 24px; border: 2px solid #f6d583; border-radius: 24px; background: radial-gradient(ellipse at 50% 0, #245397, #0a2149 60%, #08162e); text-align: center; box-shadow: 0 0 0 6px #f4c9740e, 0 0 36px #38cfff44, 0 0 90px #efbd5433, inset 0 1px 15px #fff2; animation: ts-modal-in 400ms cubic-bezier(.2, 1.3, .5, 1) both; }
.ts-win-box::before { content: ""; position: absolute; inset: 8px; border: 1px solid #f6d58333; border-radius: 17px; pointer-events: none; }
.ts-crown { margin-top: -44px; font-size: 48px; filter: drop-shadow(0 0 14px #ffcd7466); }
.ts-congratulations { margin: 6px 0; color: #85e8ff; font-size: 11px; font-weight: 700; letter-spacing: 3px; }
.ts-win-box h2 { margin: 0; font-size: 44px; color: #ffe29a; letter-spacing: 2px; text-shadow: 0 3px 0 #8a5c23; }
.ts-win-icon { margin: 12px auto; font-size: 76px; line-height: 1.25; filter: drop-shadow(0 6px 14px #0008); }
.ts-win-box h3 { margin: 0; color: #fff7e4; font-size: 25px; }
.ts-win-box strong { display: block; margin: 8px 0 0; color: #ffe095; font-size: 29px; line-height: 1.2; }
.ts-win-caption { color: #a8c3df; font-size: 11px; margin: 14px 0 18px; }
.ts-replay { position: relative; width: 100%; padding: 13px 16px; font-size: 11px; }
.ts-replay span { margin-left: 12px; }

/* Only the newly added circuit card receives this treatment. */
[data-reward-game-link="/circuito-premios/tiro-al-blanco"] {
  background: radial-gradient(circle at 85% 15%, #2ac3e840, transparent 48%), linear-gradient(145deg, #091f3c, #1c5570) !important;
  border: 1px solid #dcb972;
}
[data-reward-game-link="/circuito-premios/tiro-al-blanco"]::after {
  content: ""; position: absolute; width: 130px; height: 130px; right: -40px; bottom: -55px; border: 12px double #e8ca7938; border-radius: 50%; box-shadow: 0 0 0 15px #70deff0d; pointer-events: none;
}

.ts-pictogram { position: relative; display: inline-flex; width: 1.2em; height: 1.2em; vertical-align: middle; }
.ts-pictogram svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ts-emoji { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ts-throw { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ts-throw .ts-pictogram { font-size: 17px; }
.ts-win-icon .ts-pictogram { width: 1.4em; height: 1.2em; }

@keyframes ts-dart-flight {
  from { transform: translate(95%, 190%) scale(3.8) rotate(-12deg); opacity: 0; filter: blur(3px) drop-shadow(10px 14px 8px #0008); }
  18% { opacity: 1; }
  to { transform: translate(-8%, -90.833333%) scale(1); opacity: 1; filter: blur(0) drop-shadow(6px 8px 3px #000b); }
}
@keyframes ts-dart-settle { 25% { transform: translate(-8%, -90.833333%) rotate(4deg); } 60% { transform: translate(-8%, -90.833333%) rotate(-2deg); } }
@keyframes ts-board-shake { 20% { transform: translate(3px, 2px); } 45% { transform: translate(-3px, -1px); } 70% { transform: translate(1px, 1px); } }
@keyframes ts-impact-ring { from { transform: scale(.1); opacity: 1; background: #fff2b9; } to { transform: scale(2.3); opacity: 0; background: transparent; } }
@keyframes ts-modal-in { from { transform: translateY(15px) scale(.8); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
@media (max-height: 780px) {
  .ts-page { gap: 5px; padding: 6px 16px 12px; grid-template-rows: 26px auto minmax(0, 1fr); }
  .ts-header h1 { font-size: 37px; }
  .ts-header { padding-bottom: 4px; }
  .ts-subtitle { margin-top: 5px; font-size: 8px; }
  .ts-prizes { padding: 5px 0; }
  .ts-prizes h2 { margin: 10px 0 7px; font-size: 23px; }
  .ts-prizes-copy { margin-bottom: 10px; }
  .ts-jackpot { padding: 10px; }
  .ts-values { margin: 8px 0; }
  .ts-prize-list { gap: 4px; }
  .ts-fair { margin: 8px 0; }
  .ts-steps { padding-top: 8px; }
  .ts-controls { padding: 3px 8px 10px; gap: 6px; }
  .ts-throw { padding: 10px 24px; }
}
@media (max-height: 650px) {
  .ts-header h1 { font-size: 29px; }
  .ts-eyebrow { display: none; }
  .ts-prizes-copy, .ts-steps { display: none; }
  .ts-prizes h2 { font-size: 19px; margin: 8px 0; }
  .ts-jackpot { padding: 7px 10px; }
  .ts-jackpot strong { font-size: 27px; }
  .ts-prize-list > div { min-height: 22px; }
  .ts-instruction { font-size: 10px; }
  .ts-status { font-size: 8px; }
  .ts-win-box { padding: 14px 25px 18px; }
  .ts-win-icon { margin: 5px auto; font-size: 55px; }
  .ts-win-box h2 { font-size: 35px; }
  .ts-win-box h3 { font-size: 21px; }
  .ts-win-box strong { font-size: 23px; }
}
@media (max-width: 760px) {
  .ts-page { padding: 7px 10px 10px; border-radius: 15px; }
  .ts-brand { display: none; }
  .ts-back { font-size: 8px; letter-spacing: .4px; }
  .ts-sound { font-size: 8px; }
  .ts-stage { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ts-prizes { display: none; }
  .ts-header h1 { font-size: 34px; }
  .ts-stage-label { font-size: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .ts-board-hit, .ts-dart-stuck, .ts-win-box { animation: none; }
  .ts-dart-flying { animation-duration: 180ms; }
  .ts-throw, .ts-replay { transition: none; }
}

/* ==========================================================
   TIRO AL BLANCO V2 · HABILIDAD Y COORDENADA REAL
   ========================================================== */
.ts-board { cursor: none; touch-action: none; user-select: none; -webkit-user-select: none; }
.ts-board:focus-visible { outline: 2px solid #88edff; outline-offset: 4px; }
.ts-target, .ts-crosshair { pointer-events: none; }
.ts-zone-boundary { fill: none; stroke: #f9df9a; stroke-width: .8; stroke-dasharray: 2 6; opacity: .58; }
.ts-crosshair:not(.ts-crosshair-frozen) { animation: ts-aim-glow 1.3s ease-in-out infinite; }
.ts-crosshair-frozen { border-color: #ffe29a; box-shadow: 0 0 0 3px #00192c66, 0 0 15px #ffd677; }
.ts-instruction { font-size: 10px; font-weight: 700; letter-spacing: 1.1px; }
.ts-aim-hint { margin: 0; color: #dcc795; font-size: 10px; }
.ts-aim-hint .ts-pictogram { font-size: 12px; margin-right: 3px; }
.ts-controls { gap: 5px; }
.ts-touch-instruction { display: none; }
.ts-key-hint { color: #779bb4; font-size: 7px; letter-spacing: .8px; }
.ts-zone-list { display: grid; gap: 5px; margin: 12px 0 0; }
.ts-zone-row { position: relative; padding: 6px 7px 6px 13px; border: 1px solid #28445680; border-radius: 5px; background: #0e233844; }
.ts-zone-row::before { content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 2px; background: #53d9d0; border-radius: 2px; }
.ts-zone-row:first-child::before { background: #fa7358; }
.ts-zone-row:last-child::before { background: #77899c; }
.ts-zone-row b { display: block; color: #e5d6ae; font-size: 9px; letter-spacing: .6px; }
.ts-zone-row small { display: block; margin-top: 3px; color: #a9bfd1; font-size: 8px; }
.ts-hand { position: absolute; z-index: 6; left: 64%; top: 65%; width: 54%; aspect-ratio: 300 / 260; pointer-events: none; transform-origin: 86% 90%; filter: drop-shadow(4px 12px 8px #0008); }
.ts-hand-arm, .ts-hand-fingers { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.ts-hand-arm { z-index: 1; }
.ts-hand-fingers { z-index: 3; }
.ts-held-dart { position: absolute; z-index: 2; left: 18%; top: 12%; width: 50%; aspect-ratio: 100 / 120; transform: translate(-8%, -90.833333%) rotate(78deg); transform-origin: 8% 90.833333%; }
.ts-held-dart svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ts-release-point { position: absolute; left: 18%; top: 12%; width: 0; height: 0; }
.ts-hand-windup { animation: ts-hand-windup 420ms ease-in-out both; }
.ts-hand-released { animation: ts-hand-exit 200ms ease-in both; }
.ts-dart-flying { animation: ts-dart-skill-flight 440ms cubic-bezier(.17, .55, .5, 1) both; }
.ts-dart-stuck { animation: none; }
.ts-bullseye-callout { position: absolute; z-index: 7; top: 8%; left: 50%; transform: translateX(-50%); padding: 9px 16px; border: 1px solid #ffedaf; border-radius: 8px; color: #fff1b6; background: #513810e6; box-shadow: 0 0 30px #ffcc5680; font-size: 21px; font-weight: 900; letter-spacing: 2px; white-space: nowrap; pointer-events: none; animation: ts-bullseye-entry 500ms ease-out both; }
.ts-bullseye-callout .ts-pictogram { font-size: 20px; }
.ts-board-bullseye .ts-impact::before { border-color: #ffdb58; box-shadow: 0 0 28px #ffe389; animation: ts-bullseye-ring 900ms ease-out both; }
.ts-modal-major .ts-win-box { border-color: #ffeb9a; box-shadow: 0 0 0 7px #ffd05222, 0 0 55px #ffcd6888, 0 0 140px #e9a82b55, inset 0 1px 15px #fff3; }
.ts-modal-major .ts-win-box h2 { font-size: 33px; }
.ts-modal-major .ts-win-box h3 { color: #ffe28b; font-size: 23px; }
.ts-modal-major::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse, #ffdb7044, transparent 65%); animation: ts-gold-flash 1s ease-out both; }
.ts-modal-miss .ts-win-box { background: radial-gradient(ellipse at top, #213d58, #101e30 70%); border-color: #8a9dac; box-shadow: 0 0 38px #56a4cd33; }
.ts-modal-miss .ts-win-box h2 { color: #dce9f0; text-shadow: none; font-size: 34px; }
.ts-modal-miss .ts-win-box h3 { font-size: 20px; line-height: 1.35; }
.ts-modal-miss .ts-win-caption { color: #cbd8e6; font-size: 10px; line-height: 1.5; }
.ts-modal-miss .ts-celebration { display: none; }
@keyframes ts-aim-glow { 50% { box-shadow: 0 0 0 3px #00192c66, 0 0 18px #5ce9ff, inset 0 0 11px #09d5ff; } }
@keyframes ts-hand-windup {
  0% { opacity: 0; transform: translate(40%, 55%) rotate(24deg); }
  38% { opacity: 1; transform: translate(0, 0) rotate(-3deg); }
  68% { opacity: 1; transform: translate(5%, 8%) rotate(13deg); }
  100% { opacity: 1; transform: translate(-12%, -16%) rotate(-12deg); }
}
@keyframes ts-hand-exit {
  from { opacity: 1; transform: translate(-12%, -16%) rotate(-12deg); }
  to { opacity: 0; transform: translate(20%, 35%) rotate(5deg); }
}
@keyframes ts-dart-skill-flight {
  from { transform: translate(-8%, -90.833333%) translate(var(--ts-flight-x), var(--ts-flight-y)) scale(1.35) rotate(66deg); filter: drop-shadow(6px 10px 5px #0009); }
  to { transform: translate(-8%, -90.833333%) translate(0, 0) scale(1) rotate(0deg); filter: drop-shadow(6px 8px 3px #000b); }
}
@keyframes ts-bullseye-entry { from { opacity: 0; transform: translateX(-50%) scale(.85); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
@keyframes ts-bullseye-ring { from { transform: scale(.1); opacity: 1; background: #fff4be; } to { transform: scale(4); opacity: 0; background: transparent; } }
@keyframes ts-gold-flash { from { opacity: .9; } to { opacity: 0; } }
@media (pointer: coarse) {
  .ts-mouse-instruction, .ts-key-hint { display: none; }
  .ts-touch-instruction { display: inline; }
}
@media (max-height: 780px) {
  .ts-zone-row { padding-block: 5px; }
  .ts-zone-list { margin-top: 9px; gap: 4px; }
  .ts-aim-hint { font-size: 9px; }
}
@media (max-height: 650px) {
  .ts-zone-row { padding-block: 4px; }
  .ts-zone-list { gap: 3px; margin-top: 7px; }
  .ts-zone-row b { font-size: 8px; }
  .ts-zone-row small { margin-top: 2px; font-size: 7px; }
  .ts-key-hint { display: none; }
  .ts-bullseye-callout { font-size: 16px; }
}
@media (max-width: 760px) {
  .ts-aim-hint { font-size: 9px; }
  .ts-instruction { font-size: 9px; }
  .ts-modal-major .ts-win-box h2 { font-size: 27px; }
  .ts-modal-major .ts-win-box h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .ts-crosshair, .ts-bullseye-callout, .ts-modal-major::after { animation: none !important; }
  .ts-hand-windup { animation: none; transform: translate(-12%, -16%) rotate(-12deg); }
  .ts-dart-flying { animation-duration: 440ms; }
}

@media (max-width: 1040px) { .ts-prizes .ts-steps { display: none; } }

/* ==========================================================
   TIRO AL BLANCO V3 · MIRA AUTOMÁTICA DE ALTA DIFICULTAD
   ========================================================== */
.ts-page[data-ts-version="3"] .ts-board { cursor: default; touch-action: pan-y; }
.ts-page[data-ts-version="3"] .ts-stage-label { color: #d9c58f; letter-spacing: 2px; }

/* ==========================================================
   CIRCUITO DE PREMIOS · COMPACT ONE SCREEN V1
   ========================================================== */

.reward-circuit-page{
  height:calc(100vh - 92px) !important;
  min-height:0 !important;
  padding:4px 0 8px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* HERO COMPACTO */
.reward-circuit-hero{
  min-height:0 !important;
  height:150px !important;
  padding:16px 34px !important;
  border-radius:22px !important;
  gap:20px !important;
}

.reward-circuit-eyebrow{
  margin-bottom:5px !important;
  font-size:10px !important;
}

.reward-circuit-hero h1{
  font-size:38px !important;
  line-height:.91 !important;
  letter-spacing:-1px !important;
}

.reward-circuit-hero p{
  margin:9px 0 0 !important;
  max-width:700px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}

.reward-circuit-hero__visual{
  width:150px !important;
  height:125px !important;
  flex:0 0 150px !important;
}

.reward-trophy{
  width:76px !important;
  height:76px !important;
}

.reward-trophy span{
  font-size:42px !important;
}

.reward-orbit--outer{
  width:120px !important;
  height:120px !important;
}

.reward-orbit--inner{
  width:94px !important;
  height:94px !important;
}

/* OPORTUNIDADES COMPACTAS */
.reward-opportunities{
  gap:12px !important;
  margin-top:10px !important;
}

.reward-opportunity{
  min-height:0 !important;
  height:76px !important;
  padding:9px 16px !important;
  grid-template-columns:42px 1fr 72px !important;
  gap:11px !important;
  border-radius:16px !important;
}

.reward-opportunity__icon{
  width:40px !important;
  height:40px !important;
  border-radius:12px !important;
  font-size:21px !important;
}

.reward-opportunity span{
  margin-bottom:1px !important;
  font-size:8px !important;
}

.reward-opportunity strong{
  font-size:15px !important;
}

.reward-opportunity p{
  margin:2px 0 0 !important;
  font-size:9px !important;
  line-height:1.15 !important;
}

.reward-opportunity__counter{
  min-width:0 !important;
  padding-left:10px !important;
}

.reward-opportunity__counter small{
  font-size:7px !important;
}

.reward-opportunity__counter strong{
  margin-top:0 !important;
  font-size:23px !important;
}

/* ENCABEZADO JUEGOS */
.reward-games-heading{
  margin:10px 2px 6px !important;
  gap:12px !important;
}

.reward-games-heading span{
  font-size:8px !important;
}

.reward-games-heading h2{
  margin:1px 0 0 !important;
  font-size:20px !important;
  line-height:1 !important;
}

.reward-games-heading p{
  margin:0 !important;
  font-size:9px !important;
}

/* JUEGOS: UNA SOLA FILA */
.reward-games-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 !important;
}

.reward-game{
  min-height:0 !important;
  height:142px !important;
  padding:12px !important;
  border-radius:18px !important;
}

.reward-game__icon{
  width:46px !important;
  height:46px !important;
  border-radius:13px !important;
}

.reward-game__icon span{
  font-size:25px !important;
}

.reward-game__status{
  font-size:7px !important;
}

.reward-game__content h3{
  margin:5px 0 3px !important;
  font-size:14px !important;
  line-height:1.05 !important;
}

.reward-game__content p{
  margin:0 !important;
  font-size:9px !important;
  line-height:1.15 !important;
}

.reward-game__arrow{
  width:27px !important;
  height:27px !important;
  font-size:18px !important;
}

/* MENSAJE INFERIOR MUCHO MAS COMPACTO */
.reward-circuit-coming{
  min-height:0 !important;
  margin-top:7px !important;
  padding:5px 10px !important;
  font-size:8px !important;
}

/* LAPTOPS DE MENOR ALTURA */
@media (max-height:750px){

  .reward-circuit-page{
    height:calc(100vh - 78px) !important;
  }

  .reward-circuit-hero{
    height:125px !important;
    padding:11px 28px !important;
  }

  .reward-circuit-hero h1{
    font-size:32px !important;
  }

  .reward-circuit-hero p{
    margin-top:6px !important;
    font-size:10px !important;
  }

  .reward-circuit-hero__visual{
    height:105px !important;
  }

  .reward-opportunity{
    height:66px !important;
  }

  .reward-games-heading{
    margin:7px 2px 5px !important;
  }

  .reward-game{
    height:125px !important;
  }

  .reward-circuit-coming{
    margin-top:5px !important;
    padding:3px 8px !important;
  }
}


/* ==========================================================
   CIRCUITO · HERO TEXTO ALINEADO A LA IZQUIERDA
   ========================================================== */

.reward-circuit-hero{
  justify-content:space-between !important;
}

.reward-circuit-hero__copy{
  margin-left:0 !important;
  margin-right:auto !important;
  max-width:700px !important;
  text-align:left !important;
}

.reward-circuit-eyebrow,
.reward-circuit-hero h1,
.reward-circuit-hero p{
  text-align:left !important;
}


/* ==========================================================
   CIRCUITO DE PREMIOS · MINIATURAS REALES V1
   ========================================================== */

.reward-game{
  position:relative !important;
  overflow:hidden !important;
}

/* imagen ocupa la tarjeta */
.reward-game__visual{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  border-radius:inherit !important;
}

.reward-game__visual img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.02);
  transition:transform .35s ease, filter .35s ease !important;
}

/* fallback para juegos que todavía no tienen imagen */
.reward-game__visual > span{
  position:absolute !important;
  left:16px !important;
  top:14px !important;
  display:grid !important;
  place-items:center !important;
  width:44px !important;
  height:44px !important;
  border-radius:13px !important;
  font-size:24px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  backdrop-filter:blur(5px) !important;
}

/* oscurecimiento para poder leer el texto */
.reward-game::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      to bottom,
      rgba(1,13,43,.03) 20%,
      rgba(1,13,43,.18) 52%,
      rgba(1,13,43,.90) 100%
    ) !important;
}

/* contenido por encima de la imagen */
.reward-game__shine,
.reward-game__content,
.reward-game__arrow{
  position:relative !important;
  z-index:2 !important;
}

/* quitamos el icono antiguo si alguna regla vieja intenta mostrarlo */
.reward-game__icon{
  display:none !important;
}

/* hover arcade */
.reward-game--enabled:hover .reward-game__visual img{
  transform:scale(1.08) !important;
  filter:brightness(1.08) saturate(1.08) !important;
}

/* texto siempre visible */
.reward-game__content h3{
  text-shadow:
    0 2px 4px rgba(0,0,0,.95),
    0 0 8px rgba(0,0,0,.55) !important;
}

.reward-game__content p{
  text-shadow:0 1px 3px rgba(0,0,0,.9) !important;
}


/* ==========================================================
   CIRCUITO · MINIATURAS COMPLETAS V2
   NO RECORTAR / NO DEFORMAR
   ========================================================== */

.reward-game__visual{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;

  background:
    radial-gradient(circle at center,
      #174c83 0%,
      #08284d 55%,
      #03172f 100%) !important;
}

/* IMAGEN COMPLETA */
.reward-game__visual img{
  width:100% !important;
  height:100% !important;

  object-fit:contain !important;
  object-position:center center !important;

  transform:none !important;

  filter:none !important;

  image-rendering:auto !important;
}

/* NO HACER ZOOM EN HOVER */
.reward-game--enabled:hover .reward-game__visual img{
  transform:none !important;
  filter:brightness(1.05) !important;
}

/* degradado solamente abajo para los textos */
.reward-game::after{
  background:
    linear-gradient(
      to bottom,
      transparent 0%,
      transparent 50%,
      rgba(0,10,35,.18) 66%,
      rgba(0,10,35,.88) 100%
    ) !important;
}

/* Tarjetas cuadradas al tamaño visible de las miniaturas. */
.reward-games-grid{
  grid-template-columns:repeat(auto-fit,112px) !important;
  grid-auto-rows:112px !important;
  justify-content:start !important;
}

.reward-game{
  box-sizing:border-box !important;
  width:112px !important;
  min-width:112px !important;
  min-height:112px !important;
  height:112px !important;
  padding:0 !important;
  border-radius:14px !important;
}

.reward-game__visual img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Las miniaturas del inicio conservan el tamaño cuadrado de sus imágenes. */
.reward-arcade__games{
  grid-template-columns:repeat(auto-fit,62px) !important;
  grid-auto-rows:62px !important;
  justify-content:start !important;
  align-content:center !important;
}

.reward-arcade__games .reward-mini{
  box-sizing:border-box !important;
  width:62px !important;
  min-width:62px !important;
  height:62px !important;
}

.reward-mini--roulette{
  background:linear-gradient(145deg,#f94b88,#7820bd) !important;
  border-color:#ffe348 !important;
  box-shadow:0 0 13px rgba(255,218,52,.55) !important;
}

.reward-game--roulette{
  background:linear-gradient(145deg,#fa507d,#7420ba) !important;
}

/* RULETA DE PREMIOS */
.prw-page{
  box-sizing:border-box;
  min-height:calc(100vh - 82px);
  padding:14px 22px 22px;
  overflow:hidden;
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 20% 30%,rgba(255,77,142,.23),transparent 35%),
    radial-gradient(circle at 80% 15%,rgba(255,185,39,.18),transparent 28%),
    linear-gradient(145deg,#071c4c,#102f70 56%,#35126e);
}

.prw-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  color:#d9e8ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.9px;
}

.prw-nav a{
  color:#d9e8ff;
  text-decoration:none;
}

.prw-nav a:hover{color:#ffd944}

.prw-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  max-width:1120px;
  margin:0 auto 12px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:linear-gradient(100deg,rgba(237,35,126,.9),rgba(116,34,191,.86));
  box-shadow:0 9px 24px rgba(3,10,38,.22);
}

.prw-header small{
  color:#ffe67a;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.2px;
}

.prw-header h1{
  margin:2px 0 1px;
  color:#fff;
  font-size:clamp(22px,3vw,34px);
  line-height:1;
  font-weight:1000;
  letter-spacing:-.6px;
}

.prw-header h1 i{
  color:#ffdf36;
  font-style:normal;
}

.prw-header p{
  margin:5px 0 0;
  color:#fff1fa;
  font-size:11px;
}

.prw-header-badge{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:13px;
  background:rgba(49,13,95,.28);
  color:#fff;
  text-align:center;
}

.prw-header-badge span{color:#ffe545;font-size:22px}
.prw-header-badge b{font-size:11px;line-height:1.05}

.prw-layout{
  display:grid;
  grid-template-columns:minmax(340px,1fr) minmax(245px,310px);
  align-items:center;
  gap:22px;
  max-width:1080px;
  margin:0 auto;
}

.prw-machine{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
}

.prw-wheel-wrap{
  position:relative;
  width:min(62vh,500px,100%);
  aspect-ratio:1;
  flex:none;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.34));
}

.prw-wheel{display:block;width:100%;height:100%;overflow:visible}

.prw-outer-rim{
  fill:url(#prw-gold);
  stroke:#ffe982;
  stroke-width:5;
}

.prw-rim-inner{fill:#ad5800;stroke:#ffdb4a;stroke-width:6}

.prw-rotor{
  transform-origin:250px 250px;
  transition:transform 5.2s cubic-bezier(.08,.78,.12,1);
}

.prw-segment{
  stroke:rgba(255,246,205,.75);
  stroke-width:2;
}

.prw-segment-label{
  text-anchor:middle;
  dominant-baseline:middle;
  pointer-events:none;
}

.prw-segment-icon{font-size:20px}
.prw-segment-copy{fill:#fff;font:900 10px/1 Arial,sans-serif;paint-order:stroke;stroke:rgba(38,13,59,.38);stroke-width:1.5px;stroke-linejoin:round}
.prw-segment-copy--dark{fill:#172040;stroke:rgba(255,255,255,.35)}

.prw-hub-ring{fill:url(#prw-gold);stroke:#fff1a3;stroke-width:3}
.prw-hub{fill:#ffdf39;stroke:#e98600;stroke-width:3}
.prw-wheel-outline{fill:none;stroke:#ffe274;stroke-width:3;pointer-events:none}

.prw-rim-light{
  fill:#fff4a0;
  stroke:#ffbe23;
  stroke-width:2;
  filter:url(#prw-glow);
}

.prw-pointer{fill:#f02e3e;stroke:#fff08b;stroke-width:6;filter:drop-shadow(0 4px 3px rgba(70,15,0,.48))}
.prw-pointer-dot{fill:#ffe45a;stroke:#bc3d17;stroke-width:2}

.prw-spin{
  position:absolute;
  left:50%;
  top:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:27%;
  aspect-ratio:1;
  padding:4px;
  border:4px solid #fff09a;
  border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#fff89d,#ffd927 48%,#ed8a00 100%);
  box-shadow:0 0 0 4px #bb6500,0 5px 12px rgba(54,20,0,.4),inset 0 2px 4px #fff;
  color:#19234c;
  cursor:pointer;
  transform:translate(-50%,-50%);
  transition:filter .18s ease,scale .18s ease;
  z-index:2;
}

.prw-spin:hover:not(:disabled){filter:brightness(1.08);scale:1.04}
.prw-spin:disabled{cursor:wait;filter:saturate(.84)}
.prw-spin span{font-size:clamp(13px,2vw,24px);font-weight:1000;line-height:1}
.prw-spin strong{font-size:clamp(9px,1.2vw,14px);line-height:1.05}
.prw-spin small{margin-top:3px;font-size:11px}

.prw-status{
  margin:5px 0 0;
  color:#dce9ff;
  font-size:11px;
  font-weight:700;
  text-align:center;
}

.prw-aside{display:grid;gap:13px}

.prw-special-card{
  position:relative;
  padding:46px 18px 17px;
  border:4px solid #ffe34d;
  border-radius:25px;
  background:linear-gradient(155deg,#fffef8,#fff7c7 57%,#ffe764);
  box-shadow:0 12px 28px rgba(5,10,35,.3),inset 0 0 0 4px #fff;
  color:#1c2142;
  text-align:center;
}

.prw-special-ribbon{
  position:absolute;
  top:12px;
  left:50%;
  width:max-content;
  max-width:calc(100% - 32px);
  padding:8px 20px;
  border-radius:16px;
  background:linear-gradient(90deg,#fb277e,#c60072);
  box-shadow:0 5px 0 #85004c;
  color:#fff;
  font-size:16px;
  font-weight:1000;
  transform:translateX(-50%) rotate(-2deg);
}

.prw-saturday{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:8px auto 12px;
  padding:10px 4px;
  border:3px solid #f03342;
  border-radius:48% 44% 46% 40%;
  background:#fff;
  color:#17213f;
  transform:rotate(-2deg);
}

.prw-saturday span{color:#ffb91c;font-size:22px}
.prw-saturday strong{font-size:clamp(22px,3vw,34px);line-height:.92;font-weight:1000}

.prw-special-card p{
  margin:0;
  padding:9px 10px;
  border-radius:11px;
  background:linear-gradient(110deg,#ffe946,#fff194);
  font-size:14px;
  font-weight:900;
  line-height:1.22;
}

.prw-aside-note{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  background:rgba(255,255,255,.09);
}

.prw-aside-note > span{font-size:24px}
.prw-aside-note div{display:grid;gap:4px}
.prw-aside-note b{color:#ffe04d;font-size:12px}
.prw-aside-note small{color:#dce6ff;font-size:10px;line-height:1.3}

.prw-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.prw-modal.is-open{display:flex}
.prw-modal-backdrop{position:absolute;inset:0;background:rgba(4,10,32,.76);backdrop-filter:blur(5px)}

.prw-dialog{
  position:relative;
  z-index:1;
  width:min(420px,100%);
  padding:28px 26px 24px;
  border:2px solid #ffe35b;
  border-radius:24px;
  background:radial-gradient(circle at 50% 0,#fff5bd,#fff 48%,#fff8e7);
  box-shadow:0 24px 80px rgba(0,0,0,.48),inset 0 0 0 5px #fff;
  color:#192247;
  text-align:center;
  animation:prwModalIn .35s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes prwModalIn{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:none}}
.prw-close{position:absolute;top:8px;right:12px;border:0;background:transparent;color:#3b3550;font-size:29px;cursor:pointer}
.prw-result-sparkle{color:#ffbf19;font-size:26px}
.prw-result-eyebrow{margin-top:4px;color:#d52683;font-size:11px;font-weight:1000;letter-spacing:1.2px}
.prw-result-icon{margin:9px 0 3px;font-size:54px;line-height:1}
.prw-dialog h2{margin:7px 0;color:#172143;font-size:26px;line-height:1.05}
.prw-dialog p{margin:0 auto 17px;max-width:320px;color:#566079;font-size:13px;line-height:1.45}
.prw-continue{min-width:150px;padding:12px 20px;border:0;border-radius:24px;background:linear-gradient(100deg,#ffda35,#ffa91f);box-shadow:0 4px 0 #db7908;color:#241c37;font-size:12px;font-weight:1000;cursor:pointer}

@media(max-width:850px){
  .prw-page{padding:12px 14px 20px}
  .prw-layout{grid-template-columns:minmax(0,1fr);gap:12px}
  .prw-wheel-wrap{width:min(65vw,420px)}
  .prw-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .prw-special-card{padding-left:12px;padding-right:12px}
  .prw-special-ribbon{font-size:13px}
}

@media(max-width:520px){
  .prw-header{padding:11px 12px}
  .prw-header-badge{padding:6px 8px}
  .prw-aside{grid-template-columns:1fr}
  .prw-wheel-wrap{width:min(82vw,390px)}
  .prw-special-card{max-width:360px;margin:auto;width:100%;box-sizing:border-box}
}

/* ==========================================================
   LIGHT CHASE · DISEÑO CORPORATIVO Y RECORRIDO DE 10 PREMIOS
   3 arriba + 2 derecha + 3 abajo + 2 izquierda
   ========================================================== */
.lc-page.lc-v16.lc-v19.lc-v20{
  box-sizing:border-box !important;
  width:100% !important;
  height:calc(100dvh - 82px) !important;
  min-height:0 !important;
  max-height:calc(100dvh - 82px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  padding:clamp(10px,1.3vw,20px) clamp(12px,2vw,30px) !important;
  border:1px solid rgba(141,164,196,.22) !important;
  border-radius:20px !important;
  color:#f5f7fb !important;
  background:
    radial-gradient(ellipse at 50% 45%,rgba(26,60,103,.32),transparent 62%),
    linear-gradient(145deg,#0b172b 0%,#081326 54%,#0c1930 100%) !important;
}
.reward-game-dialog .lc-page.lc-v16.lc-v19.lc-v20{
  height:100% !important;
  max-height:none !important;
  border-radius:22px !important;
}
.lc-v20 .lc-nav{
  flex:0 0 28px !important;
  height:28px !important;
  min-height:28px !important;
  padding:0 2px !important;
}
.lc-v20 .lc-nav a{
  color:#c4d0e1 !important;
  font-size:10px !important;
  letter-spacing:.07em !important;
}
.lc-v20 .lc-nav a:hover{color:#fff !important}
.lc-v20 .lc-nav em{
  margin-right:52px !important;
  padding:6px 12px !important;
  border:1px solid rgba(149,170,200,.22) !important;
  background:rgba(20,36,59,.76) !important;
  color:#dbe4f0 !important;
  letter-spacing:.07em !important;
}
.lc-v20 .lc-header{
  flex:0 0 68px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 0 8px !important;
  justify-content:center !important;
}
.lc-v20 .lc-header>small{
  color:#b9c5d6 !important;
  font-size:9px !important;
  letter-spacing:.2em !important;
}
.lc-v20 .lc-header h1{
  margin:3px 0 !important;
  color:#f4f6fa !important;
  font-size:clamp(24px,3vw,36px) !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
}
.lc-v20 .lc-header h1 i{color:#d8bc7b !important}
.lc-v20 .lc-header p{
  color:#afbdd0 !important;
  font-size:11px !important;
}
.lc-v20 .lc-machine{
  flex:1 1 auto !important;
  width:min(1260px,100%) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 auto !important;
  padding:clamp(6px,.85vw,12px) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  border:1px solid rgba(148,169,199,.28) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,#101f35,#0a1729 74%) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.045) !important;
}
.lc-v20 .lc-grid-10{
  display:grid !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  position:relative !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  grid-template-rows:repeat(5,minmax(0,1fr)) !important;
  gap:clamp(5px,.65vw,10px) !important;
  box-sizing:border-box !important;
}
.lc-v20 .p01{grid-area:1/2/2/3 !important}
.lc-v20 .p02{grid-area:1/3/2/4 !important}
.lc-v20 .p03{grid-area:1/4/2/5 !important}
.lc-v20 .p04{grid-area:2/5/3/6 !important}
.lc-v20 .p05{grid-area:4/5/5/6 !important}
.lc-v20 .p06{grid-area:5/4/6/5 !important}
.lc-v20 .p07{grid-area:5/3/6/4 !important}
.lc-v20 .p08{grid-area:5/2/6/3 !important}
.lc-v20 .p09{grid-area:4/1/5/2 !important}
.lc-v20 .p10{grid-area:2/1/3/2 !important}
.lc-v20 .lc-card{
  position:relative !important;
  z-index:1 !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:clamp(4px,.7vw,10px) !important;
  overflow:hidden !important;
  border:1px solid rgba(225,233,244,.2) !important;
  border-radius:15px !important;
  color:#f7f8fb !important;
  text-align:center !important;
  box-shadow:0 7px 18px rgba(1,7,18,.2),inset 0 1px rgba(255,255,255,.12) !important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease !important;
}
.lc-v20 .lc-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 52%) !important;
}
.lc-v20 .lc-card.lc-pink{background:linear-gradient(145deg,#98546d,#64394f) !important}
.lc-v20 .lc-card.lc-green{background:linear-gradient(145deg,#287b65,#175442) !important}
.lc-v20 .lc-card.lc-violet{background:linear-gradient(145deg,#675b91,#433b65) !important}
.lc-v20 .lc-card.lc-cyan{background:linear-gradient(145deg,#317889,#225465) !important}
.lc-v20 .lc-card.lc-purple{background:linear-gradient(145deg,#665485,#493c61) !important}
.lc-v20 .lc-card.lc-lime{background:linear-gradient(145deg,#6d8050,#4b5d38) !important}
.lc-v20 .lc-card.lc-orange{background:linear-gradient(145deg,#a5743f,#704c2b) !important}
.lc-v20 .lc-card.lc-azure{background:linear-gradient(145deg,#477896,#31556f) !important}
.lc-v20 .lc-card.lc-amber{background:linear-gradient(145deg,#9a8150,#665532) !important}
.lc-v20 .lc-card.lc-indigo{background:linear-gradient(145deg,#536a91,#394c6b) !important}
.lc-v20 .lc-prize-icon{
  position:relative !important;
  z-index:1 !important;
  margin:0 0 5px !important;
  font-size:clamp(25px,3.2vh,42px) !important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.24)) !important;
  transform:none !important;
}
.lc-v20 .lc-card b{
  position:relative !important;
  z-index:1 !important;
  font-size:clamp(10px,1.15vh,13px) !important;
  font-weight:800 !important;
  letter-spacing:.045em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}
.lc-v20 .lc-card small{
  position:relative !important;
  z-index:1 !important;
  margin-top:4px !important;
  color:rgba(255,255,255,.82) !important;
  font-size:clamp(8px,.95vh,10px) !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
}
.lc-v20 .lc-card .lc-prize-image{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  margin:auto !important;
  object-fit:contain !important;
  filter:none !important;
}
.lc-v20 .lc-center{
  grid-area:2/2/5/5 !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(151,171,198,.17) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 50% 44%,rgba(45,75,113,.35),transparent 48%),
    linear-gradient(145deg,#0b192d,#0d1d33) !important;
  box-shadow:inset 0 1px rgba(255,255,255,.035) !important;
}
.lc-v20 .lc-ring{
  width:clamp(170px,28vh,280px) !important;
  height:clamp(170px,28vh,280px) !important;
  min-width:0 !important;
  min-height:0 !important;
  border:4px solid #b89a5a !important;
  background:radial-gradient(circle,#142a47 0 57%,#0b1b31 58% 70%,#d4b46d 71% 73%,#192d46 74%) !important;
  box-shadow:0 0 0 5px rgba(10,20,36,.68),0 12px 30px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.12) !important;
}
.lc-v20 .lc-ring>i{
  width:clamp(5px,.7vh,8px) !important;
  height:clamp(5px,.7vh,8px) !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.74) !important;
  background:#e6d19a !important;
  box-shadow:0 1px 4px rgba(0,0,0,.25) !important;
  transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(170px,28vh,280px)*-.455)) !important;
}
.lc-v20 #lcPlay{
  width:72% !important;
  height:72% !important;
  min-width:0 !important;
  min-height:0 !important;
  border:1px solid #ddc57e !important;
  border-radius:50% !important;
  color:#f7f4ea !important;
  background:radial-gradient(circle at 50% 25%,#263d5a,#142942 68%,#0b1b30) !important;
  box-shadow:0 0 0 5px #101e31,0 8px 20px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.14) !important;
  cursor:pointer !important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease !important;
}
.lc-v20 #lcPlay:hover{transform:scale(1.035) !important;filter:brightness(1.12) !important}
.lc-v20 #lcPlay:focus-visible{outline:3px solid #e5cf92 !important;outline-offset:7px !important}
.lc-v20 #lcPlay>span{
  color:#e6cf92 !important;
  font-size:clamp(16px,2.5vh,23px) !important;
  filter:none !important;
}
.lc-v20 #lcPlay>b{
  color:#f5f3ed !important;
  font-size:clamp(14px,2.15vh,20px) !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-shadow:none !important;
}
.lc-v20 .lc-center>small,
.lc-v20 #lcStatus{
  bottom:10px !important;
  padding:6px 11px !important;
  border:1px solid rgba(153,174,204,.17) !important;
  border-radius:999px !important;
  background:rgba(7,18,33,.6) !important;
  color:#c9d3e1 !important;
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}
.lc-v20 .lc-card.on,
.lc-v20 .lc-card.win{
  z-index:5 !important;
  transform:scale(1.025) !important;
  filter:brightness(1.12) !important;
  border-color:#e4ca82 !important;
  box-shadow:0 0 0 2px rgba(228,202,130,.68),0 8px 22px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.2) !important;
}
.lc-v20 .lc-card.win{animation:lcCorporateWinnerPulse .72s ease-in-out infinite alternate !important}
@keyframes lcCorporateWinnerPulse{to{filter:brightness(1.22)}}
@media(max-height:680px){
  .lc-v20 .lc-header{flex-basis:58px !important;padding-bottom:5px !important}
  .lc-v20 .lc-machine{padding:6px !important}
  .lc-v20 .lc-ring{width:clamp(145px,26vh,210px) !important;height:clamp(145px,26vh,210px) !important}
  .lc-v20 .lc-ring>i{transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(145px,26vh,210px)*-.455)) !important}
}
@media(max-width:600px){
  .lc-page.lc-v16.lc-v19.lc-v20{padding:7px !important;border-radius:12px !important}
  .reward-game-dialog .lc-page.lc-v16.lc-v19.lc-v20{border-radius:12px !important}
  .lc-v20 .lc-nav{flex-basis:24px !important;height:24px !important;min-height:24px !important}
  .lc-v20 .lc-nav em{margin-right:48px !important;padding:5px 8px !important;font-size:9px !important}
  .lc-v20 .lc-header{flex-basis:58px !important;padding-bottom:5px !important}
  .lc-v20 .lc-header>small{font-size:8px !important}
  .lc-v20 .lc-header h1{font-size:23px !important}
  .lc-v20 .lc-header p{font-size:9px !important}
  .lc-v20 .lc-machine{padding:5px !important;border-radius:14px !important}
  .lc-v20 .lc-grid-10{gap:4px !important}
  .lc-v20 .lc-card{padding:2px !important;border-radius:9px !important}
  .lc-v20 .lc-prize-icon{font-size:clamp(18px,5vw,28px) !important;margin-bottom:2px !important}
  .lc-v20 .lc-card b{font-size:clamp(7px,2.2vw,10px) !important}
  .lc-v20 .lc-card small{font-size:clamp(6px,1.8vw,8px) !important;margin-top:2px !important}
  .lc-v20 .lc-ring{width:clamp(92px,min(35vw,34vh),170px) !important;height:clamp(92px,min(35vw,34vh),170px) !important}
  .lc-v20 .lc-ring>i{transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(92px,min(35vw,34vh),170px)*-.455)) !important}
  .lc-v20 #lcPlay{width:73% !important;height:73% !important}
  .lc-v20 #lcPlay>b{font-size:clamp(11px,3.7vw,15px) !important}
  .lc-v20 .lc-center>small,.lc-v20 #lcStatus{bottom:4px !important;padding:4px 7px !important;font-size:7px !important}
}

/* ==========================================================
   LIGHT CHASE · CUADRADO LUMINOSO DE 12 CASILLAS
   Perímetro continuo 4 × 4; centro libre de 2 × 2.
   ========================================================== */
.lc-page.lc-v16.lc-v19.lc-v20.lc-v21{
  box-sizing:border-box !important;
  width:100% !important;
  height:calc(100dvh - 82px) !important;
  min-height:0 !important;
  max-height:calc(100dvh - 82px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  padding:clamp(10px,1.3vw,20px) clamp(12px,2vw,30px) !important;
  border:1px solid rgba(158,181,211,.2) !important;
  border-radius:20px !important;
  color:#f8f7f2 !important;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(31,94,155,.24),transparent 52%),
    radial-gradient(ellipse at 50% 100%,rgba(182,143,66,.1),transparent 48%),
    linear-gradient(145deg,#0b172b,#071326 58%,#0d1a30) !important;
}
.reward-game-dialog .lc-page.lc-v16.lc-v19.lc-v20.lc-v21{
  height:100% !important;
  max-height:none !important;
  border-radius:22px !important;
}
.lc-v21 .lc-nav{
  flex:0 0 28px !important;
  height:28px !important;
  min-height:28px !important;
  padding:0 2px !important;
}
.lc-v21 .lc-nav a{
  color:#cbd7e6 !important;
  font-size:10px !important;
  letter-spacing:.075em !important;
}
.lc-v21 .lc-nav a:hover{color:#fff !important}
.lc-v21 .lc-nav em{
  margin-right:52px !important;
  padding:6px 12px !important;
  border:1px solid rgba(155,181,213,.28) !important;
  background:linear-gradient(145deg,rgba(31,53,82,.92),rgba(13,27,47,.94)) !important;
  color:#edf2f8 !important;
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 4px 12px rgba(0,0,0,.2) !important;
  letter-spacing:.08em !important;
}
.lc-v21 .lc-header{
  flex:0 0 68px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 0 8px !important;
  justify-content:center !important;
}
.lc-v21 .lc-header>small{
  color:#d5c184 !important;
  font-size:9px !important;
  letter-spacing:.21em !important;
  text-shadow:0 0 12px rgba(224,196,126,.3) !important;
}
.lc-v21 .lc-header h1{
  margin:3px 0 !important;
  color:#fff !important;
  font-size:clamp(25px,3vw,37px) !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  text-shadow:0 2px 18px rgba(95,166,255,.22) !important;
}
.lc-v21 .lc-header h1 i{
  color:#e6cd8d !important;
  text-shadow:0 0 16px rgba(237,202,120,.35) !important;
}
.lc-v21 .lc-header p{color:#c0cddd !important;font-size:11px !important}
.lc-v21 .lc-machine{
  position:relative !important;
  isolation:isolate !important;
  z-index:0 !important;
  flex:0 1 auto !important;
  width:min(88vw,72dvh,820px) !important;
  height:min(88vw,72dvh,820px) !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:auto !important;
  padding:clamp(8px,1vw,14px) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  border:1px solid rgba(235,211,151,.88) !important;
  border-radius:27px !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.13),transparent 17% 68%,rgba(94,174,255,.12)),
    linear-gradient(145deg,#12243a,#0a182c 62%,#13223a) !important;
  box-shadow:
    0 0 0 4px rgba(60,91,131,.48),
    0 0 0 6px rgba(219,183,99,.3),
    0 0 26px rgba(87,168,255,.26),
    0 0 46px rgba(220,183,97,.15),
    0 20px 48px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 0 30px rgba(90,156,226,.14) !important;
  animation:lcSquareFrameGlow 5s ease-in-out infinite !important;
}
.lc-v21 .lc-machine::before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  inset:5px !important;
  border:1px solid rgba(198,217,239,.2) !important;
  border-radius:21px !important;
  background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 24% 70%,rgba(106,177,245,.06)) !important;
  pointer-events:none !important;
}
.lc-v21 .lc-grid-12{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(5px,.75vw,11px) !important;
  box-sizing:border-box !important;
}
.lc-v21 .p01{grid-area:1/1/2/2 !important}
.lc-v21 .p02{grid-area:1/2/2/3 !important}
.lc-v21 .p03{grid-area:1/3/2/4 !important}
.lc-v21 .p04{grid-area:1/4/2/5 !important}
.lc-v21 .p05{grid-area:2/4/3/5 !important}
.lc-v21 .p06{grid-area:3/4/4/5 !important}
.lc-v21 .p07{grid-area:4/4/5/5 !important}
.lc-v21 .p08{grid-area:4/3/5/4 !important}
.lc-v21 .p09{grid-area:4/2/5/3 !important}
.lc-v21 .p10{grid-area:4/1/5/2 !important}
.lc-v21 .p11{grid-area:3/1/4/2 !important}
.lc-v21 .p12{grid-area:2/1/3/2 !important}
.lc-v21 .lc-card{
  --lc-tile-glow:rgba(112,181,255,.34);
  position:relative !important;
  z-index:1 !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:clamp(5px,.75vw,11px) !important;
  overflow:hidden !important;
  border:1px solid rgba(228,238,249,.35) !important;
  border-radius:17px !important;
  color:#fff !important;
  text-align:center !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -18px 28px rgba(0,0,0,.23),
    0 8px 16px rgba(0,0,0,.26),
    0 0 17px var(--lc-tile-glow) !important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease !important;
}
.lc-v21 .lc-card::before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(132deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.1) 19%,transparent 48%),
    linear-gradient(0deg,transparent 55%,rgba(255,255,255,.07)) !important;
}
.lc-v21 .lc-card::after{
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  inset:2px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:13px !important;
  box-shadow:inset 0 0 15px rgba(255,255,255,.065) !important;
  pointer-events:none !important;
}
.lc-v21 .lc-card.lc-blue{--lc-tile-glow:rgba(66,157,255,.52);background:linear-gradient(145deg,#3a9cff,#1556a7) !important}
.lc-v21 .lc-card.lc-pink{--lc-tile-glow:rgba(255,106,159,.42);background:linear-gradient(145deg,#e66b98,#8b345d) !important}
.lc-v21 .lc-card.lc-green{--lc-tile-glow:rgba(63,220,163,.4);background:linear-gradient(145deg,#32a982,#176249) !important}
.lc-v21 .lc-card.lc-violet{--lc-tile-glow:rgba(180,139,255,.4);background:linear-gradient(145deg,#927bd1,#504271) !important}
.lc-v21 .lc-card.lc-cyan{--lc-tile-glow:rgba(73,218,244,.42);background:linear-gradient(145deg,#37aabd,#1e6178) !important}
.lc-v21 .lc-card.lc-red{--lc-tile-glow:rgba(255,102,117,.42);background:linear-gradient(145deg,#d94e66,#852a43) !important}
.lc-v21 .lc-card.lc-magenta{--lc-tile-glow:rgba(239,113,219,.4);background:linear-gradient(145deg,#c95bb0,#71336a) !important}
.lc-v21 .lc-card.lc-lime{--lc-tile-glow:rgba(182,220,90,.4);background:linear-gradient(145deg,#9cb352,#536437) !important}
.lc-v21 .lc-card.lc-orange{--lc-tile-glow:rgba(255,176,73,.45);background:linear-gradient(145deg,#d99549,#805128) !important}
.lc-v21 .lc-card.lc-azure{--lc-tile-glow:rgba(89,193,255,.42);background:linear-gradient(145deg,#4f9ec4,#315a7c) !important}
.lc-v21 .lc-card.lc-amber{--lc-tile-glow:rgba(237,196,108,.43);background:linear-gradient(145deg,#c19a51,#735c32) !important}
.lc-v21 .lc-card.lc-emerald{--lc-tile-glow:rgba(94,227,177,.4);background:linear-gradient(145deg,#43ad87,#216b56) !important}
.lc-v21 .lc-prize-icon{
  position:relative !important;
  z-index:1 !important;
  margin:0 0 5px !important;
  font-size:clamp(25px,3.4vh,42px) !important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.35)) !important;
  transform:none !important;
}
.lc-v21 .lc-card b{
  position:relative !important;
  z-index:1 !important;
  font-size:clamp(10px,1.4vh,14px) !important;
  font-weight:850 !important;
  letter-spacing:.04em !important;
  text-shadow:0 1px 3px rgba(0,0,0,.58) !important;
}
.lc-v21 .lc-card small{
  position:relative !important;
  z-index:1 !important;
  margin-top:4px !important;
  color:rgba(255,255,255,.88) !important;
  font-size:clamp(8px,1.05vh,10px) !important;
  font-weight:750 !important;
  letter-spacing:.07em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
}
.lc-v21 .lc-card .lc-prize-image{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  margin:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.32)) !important;
}
.lc-v21 .lc-center{
  grid-area:2/2/4/4 !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(150,191,231,.24) !important;
  border-radius:21px !important;
  background:
    radial-gradient(circle at 50% 44%,rgba(61,128,194,.24),transparent 44%),
    linear-gradient(145deg,rgba(9,24,43,.94),rgba(12,29,50,.96)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 32px rgba(75,143,213,.1) !important;
}
.lc-v21 .lc-ring{
  width:clamp(120px,23vh,280px) !important;
  height:clamp(120px,23vh,280px) !important;
  min-width:0 !important;
  min-height:0 !important;
  border:4px solid #d4b76d !important;
  background:
    radial-gradient(circle,#1a304c 0 56%,#0d1b30 57% 67%,#ebcf87 68% 71%,#735d37 72% 74%,#142640 75%) !important;
  box-shadow:
    0 0 0 4px rgba(8,20,36,.9),
    0 0 15px rgba(239,202,119,.45),
    0 0 35px rgba(87,173,255,.27),
    0 12px 24px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.lc-v21 .lc-ring>i{
  width:clamp(5px,.75vh,9px) !important;
  height:clamp(5px,.75vh,9px) !important;
  margin:-4px !important;
  border:1px solid rgba(255,255,255,.86) !important;
  background:#fff2c4 !important;
  box-shadow:0 0 6px rgba(255,227,153,.9),0 0 14px rgba(255,206,96,.63) !important;
  transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(120px,23vh,280px)*-.455)) !important;
}
.lc-v21 #lcPlay{
  width:72% !important;
  height:72% !important;
  min-width:0 !important;
  min-height:0 !important;
  border:2px solid #f0d995 !important;
  border-radius:50% !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 32% 23%,rgba(255,255,255,.36),transparent 25%),
    radial-gradient(circle at 50% 20%,#315274,#182f4a 58%,#0d1d32) !important;
  box-shadow:
    0 0 0 4px rgba(216,184,108,.76),
    0 0 0 8px rgba(12,28,48,.9),
    0 0 19px rgba(247,207,114,.42),
    0 9px 20px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -13px 20px rgba(0,0,0,.22) !important;
  cursor:pointer !important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease !important;
}
.lc-v21 #lcPlay:hover{transform:scale(1.035) !important;filter:brightness(1.13) !important}
.lc-v21 #lcPlay:focus-visible{outline:3px solid #fff0be !important;outline-offset:9px !important}
.lc-v21 #lcPlay>span{
  color:#f4d78e !important;
  font-size:clamp(17px,2.8vh,25px) !important;
  filter:drop-shadow(0 0 7px rgba(250,207,107,.6)) !important;
}
.lc-v21 #lcPlay>b{
  color:#fbfaf6 !important;
  font-size:clamp(14px,2.25vh,21px) !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
  text-shadow:0 2px 7px rgba(0,0,0,.45) !important;
}
.lc-v21 .lc-center>small,
.lc-v21 #lcStatus{
  bottom:8px !important;
  padding:6px 11px !important;
  border:1px solid rgba(190,211,235,.25) !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,rgba(31,52,76,.94),rgba(12,27,46,.96)) !important;
  color:#e5d09b !important;
  font-size:8px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  box-shadow:0 0 12px rgba(75,147,211,.15),inset 0 1px rgba(255,255,255,.08) !important;
}
.lc-v21 .lc-card.on,
.lc-v21 .lc-card.win{
  z-index:5 !important;
  transform:scale(1.04) !important;
  filter:brightness(1.19) saturate(1.06) !important;
  border-color:#fff1b8 !important;
  box-shadow:
    0 0 0 2px rgba(255,226,150,.92),
    0 0 19px rgba(255,218,122,.68),
    0 0 34px var(--lc-tile-glow),
    0 10px 20px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.52) !important;
}
.lc-v21 .lc-card.win{animation:lcSquareWinnerPulse .7s ease-in-out infinite alternate !important}
@keyframes lcSquareFrameGlow{
  0%,100%{filter:drop-shadow(0 0 7px rgba(83,159,230,.14))}
  50%{filter:drop-shadow(0 0 14px rgba(239,202,119,.24))}
}
@keyframes lcSquareWinnerPulse{to{filter:brightness(1.31) saturate(1.12)}}
@media(max-height:680px){
  .lc-page.lc-v16.lc-v19.lc-v20.lc-v21{padding:8px 12px !important}
  .lc-v21 .lc-header{flex-basis:58px !important;padding-bottom:5px !important}
  .lc-v21 .lc-machine{
    width:min(88vw,calc(72dvh - 24px),820px) !important;
    height:min(88vw,calc(72dvh - 24px),820px) !important;
    padding:7px !important;
    border-radius:20px !important;
  }
  .lc-v21 .lc-machine::before{inset:4px !important;border-radius:15px !important}
  .lc-v21 .lc-ring{width:clamp(112px,23vh,210px) !important;height:clamp(112px,23vh,210px) !important}
  .lc-v21 .lc-ring>i{transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(112px,23vh,210px)*-.455)) !important}
}
@media(max-width:600px){
  .lc-page.lc-v16.lc-v19.lc-v20.lc-v21{padding:7px !important;border-radius:12px !important}
  .reward-game-dialog .lc-page.lc-v16.lc-v19.lc-v20.lc-v21{border-radius:12px !important}
  .lc-v21 .lc-nav{flex-basis:24px !important;height:24px !important;min-height:24px !important}
  .lc-v21 .lc-nav em{margin-right:48px !important;padding:5px 8px !important;font-size:9px !important}
  .lc-v21 .lc-header{flex-basis:58px !important;padding-bottom:5px !important}
  .lc-v21 .lc-header>small{font-size:8px !important}
  .lc-v21 .lc-header h1{font-size:23px !important}
  .lc-v21 .lc-header p{font-size:9px !important}
  .lc-v21 .lc-machine{
    width:min(90vw,calc(72dvh - 24px),400px) !important;
    height:min(90vw,calc(72dvh - 24px),400px) !important;
    padding:6px !important;
    border-radius:16px !important;
  }
  .lc-v21 .lc-machine::before{inset:3px !important;border-radius:11px !important}
  .lc-v21 .lc-grid-12{gap:4px !important}
  .lc-v21 .lc-card{padding:3px !important;border-radius:10px !important}
  .lc-v21 .lc-card::after{inset:1px !important;border-radius:8px !important}
  .lc-v21 .lc-prize-icon{font-size:clamp(19px,6vw,28px) !important;margin-bottom:2px !important}
  .lc-v21 .lc-card b{font-size:clamp(7px,2.5vw,10px) !important}
  .lc-v21 .lc-card small{font-size:clamp(6px,2vw,8px) !important;margin-top:2px !important}
  .lc-v21 .lc-ring{width:clamp(92px,min(35vw,31vh),170px) !important;height:clamp(92px,min(35vw,31vh),170px) !important}
  .lc-v21 .lc-ring>i{transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(92px,min(35vw,31vh),170px)*-.455)) !important}
  .lc-v21 #lcPlay{width:72% !important;height:72% !important}
  .lc-v21 #lcPlay>b{font-size:clamp(11px,3.6vw,15px) !important}
  .lc-v21 .lc-center>small,.lc-v21 #lcStatus{bottom:4px !important;padding:4px 7px !important;font-size:7px !important}
}
@media(prefers-reduced-motion:reduce){
  .lc-v21 .lc-machine,.lc-v21 .lc-card,.lc-v21 #lcPlay{animation:none !important;transition:none !important}
}

/* LIGHT CHASE V22 · proporción de casilla 1.12:1 y acabado glossy premium */
.lc-v22 .lc-machine{
  width:min(88vw,72dvh,820px) !important;
  height:min(78vw,64dvh,730px) !important;
  aspect-ratio:1.12/1 !important;
  border-color:rgba(255,229,166,.98) !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.22),transparent 16% 72%,rgba(101,187,255,.16)),
    linear-gradient(145deg,#172c45,#0b192e 62%,#18304d) !important;
  box-shadow:
    0 0 0 4px rgba(72,112,158,.55),
    0 0 0 6px rgba(231,195,112,.42),
    0 0 28px rgba(86,179,255,.4),
    0 0 48px rgba(239,199,106,.26),
    0 20px 48px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 0 34px rgba(97,177,255,.22) !important;
  animation:lcGlossFramePulse 4.5s ease-in-out infinite !important;
}
.lc-v22 .lc-machine::before{
  border-color:rgba(224,239,255,.38) !important;
  background:
    linear-gradient(118deg,rgba(255,255,255,.17),transparent 21% 67%,rgba(139,204,255,.12)),
    linear-gradient(180deg,rgba(255,255,255,.055),transparent 24%) !important;
  box-shadow:inset 0 0 24px rgba(113,184,247,.14),0 0 16px rgba(101,179,244,.12) !important;
}
.lc-v22 .lc-card{
  border-color:rgba(236,246,255,.57) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.5),
    inset 0 -20px 29px rgba(0,0,0,.2),
    0 8px 17px rgba(0,0,0,.27),
    0 0 20px var(--lc-tile-glow),
    0 0 3px rgba(255,255,255,.2) !important;
}
.lc-v22 .lc-card::before{
  background:
    linear-gradient(128deg,rgba(255,255,255,.48) 0%,rgba(255,255,255,.2) 17%,rgba(255,255,255,.035) 36%,transparent 56%),
    radial-gradient(ellipse at 24% 0%,rgba(255,255,255,.28),transparent 60%),
    linear-gradient(0deg,transparent 48%,rgba(255,255,255,.085)) !important;
  animation:lcTileGloss 5.4s ease-in-out infinite alternate !important;
}
.lc-v22 .lc-card::after{
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 0 18px rgba(255,255,255,.11) !important;
}
.lc-v22 .lc-card.lc-blue{--lc-tile-glow:rgba(67,174,255,.68);background:linear-gradient(145deg,#54b3ff 0%,#2584e6 42%,#1451a8 100%) !important}
.lc-v22 .lc-card.lc-pink{--lc-tile-glow:rgba(255,112,169,.58);background:linear-gradient(145deg,#fa86b1 0%,#da4d86 44%,#872e5a 100%) !important}
.lc-v22 .lc-card.lc-green{--lc-tile-glow:rgba(72,235,175,.55);background:linear-gradient(145deg,#58d3a4 0%,#25a77c 43%,#155c4c 100%) !important}
.lc-v22 .lc-card.lc-violet{--lc-tile-glow:rgba(197,157,255,.55);background:linear-gradient(145deg,#b397ef 0%,#8063c9 45%,#493b75 100%) !important}
.lc-v22 .lc-card.lc-cyan{--lc-tile-glow:rgba(76,231,255,.58);background:linear-gradient(145deg,#62dcea 0%,#2aaabc 45%,#175b77 100%) !important}
.lc-v22 .lc-card.lc-red{--lc-tile-glow:rgba(255,104,127,.6);background:linear-gradient(145deg,#ff8192 0%,#e64e68 45%,#812a43 100%) !important}
.lc-v22 .lc-card.lc-magenta{--lc-tile-glow:rgba(255,125,227,.58);background:linear-gradient(145deg,#ed91dc 0%,#c650ae 45%,#71325f 100%) !important}
.lc-v22 .lc-card.lc-lime{--lc-tile-glow:rgba(206,245,113,.58);background:linear-gradient(145deg,#c4e77c 0%,#8aa83f 44%,#4c6134 100%) !important}
.lc-v22 .lc-card.lc-orange{--lc-tile-glow:rgba(255,183,91,.62);background:linear-gradient(145deg,#ffc175 0%,#e78a3c 43%,#774425 100%) !important}
.lc-v22 .lc-card.lc-azure{--lc-tile-glow:rgba(108,213,255,.58);background:linear-gradient(145deg,#82d4f5 0%,#479dc9 45%,#31587b 100%) !important}
.lc-v22 .lc-card.lc-amber{--lc-tile-glow:rgba(255,218,124,.62);background:linear-gradient(145deg,#f4d27d 0%,#bd9144 44%,#72572d 100%) !important}
.lc-v22 .lc-card.lc-emerald{--lc-tile-glow:rgba(94,239,187,.54);background:linear-gradient(145deg,#73dfb3 0%,#39aa80 44%,#20664f 100%) !important}
.lc-v22 .lc-prize-icon{filter:drop-shadow(0 2px 5px rgba(0,0,0,.42)) drop-shadow(0 0 7px rgba(255,255,255,.16)) !important}
.lc-v22 .lc-card b,.lc-v22 .lc-card small{text-shadow:0 1px 3px rgba(0,0,0,.62),0 0 8px rgba(255,255,255,.12) !important}
.lc-v22 .lc-ring{
  border-color:#ffe59d !important;
  background:
    radial-gradient(circle,#213d5d 0 55%,#0d1d32 56% 66%,#fff0b4 67% 71%,#94713c 72% 74%,#18324f 75%) !important;
  box-shadow:
    0 0 0 4px rgba(8,20,36,.9),
    0 0 18px rgba(255,219,131,.68),
    0 0 42px rgba(84,179,255,.42),
    0 12px 24px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.43) !important;
}
.lc-v22 .lc-ring>i{
  border-color:#fff !important;
  background:#fff8da !important;
  box-shadow:0 0 8px #fff1b7,0 0 18px rgba(255,209,95,.94) !important;
}
.lc-v22 #lcPlay{
  border-color:#fff0bb !important;
  background:
    radial-gradient(ellipse at 34% 14%,rgba(255,255,255,.53),transparent 35%),
    radial-gradient(circle at 48% 22%,#466b91 0%,#213e5e 48%,#10243c 100%) !important;
  box-shadow:
    0 0 0 4px rgba(243,207,122,.9),
    0 0 0 8px rgba(12,28,48,.9),
    0 0 23px rgba(255,211,112,.58),
    0 10px 22px rgba(0,0,0,.42),
    inset 0 2px 0 rgba(255,255,255,.5),
    inset 0 -14px 21px rgba(0,0,0,.24) !important;
}
.lc-v22 .lc-card.on,.lc-v22 .lc-card.win{
  filter:brightness(1.23) saturate(1.1) !important;
  border-color:#fff4c9 !important;
  box-shadow:
    0 0 0 2px rgba(255,239,188,.96),
    0 0 22px rgba(255,223,143,.82),
    0 0 38px var(--lc-tile-glow),
    0 10px 20px rgba(0,0,0,.39),
    inset 0 2px 0 rgba(255,255,255,.56) !important;
}
@keyframes lcGlossFramePulse{
  0%,100%{filter:drop-shadow(0 0 8px rgba(91,183,255,.22))}
  50%{filter:drop-shadow(0 0 16px rgba(255,216,129,.34))}
}
@keyframes lcTileGloss{from{opacity:.88}to{opacity:1}}
@media(max-height:680px){
  .lc-v22 .lc-machine{
    width:min(88vw,calc(72dvh - 24px),820px) !important;
    height:min(78vw,calc(64dvh - 20px),730px) !important;
  }
}
@media(max-width:600px){
  .lc-v22 .lc-machine{
    width:min(90vw,calc(72dvh - 24px),400px) !important;
    height:min(80vw,calc(64dvh - 20px),355px) !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .lc-v22 .lc-machine,.lc-v22 .lc-card::before{animation:none !important}
}

/* LIGHT CHASE V23 · casillas 20% más anchas que altas */
.lc-v23 .lc-machine{
  width:min(88vw,72dvh,820px) !important;
  height:min(73.33vw,60dvh,683px) !important;
  aspect-ratio:1.2/1 !important;
}
.lc-v23 #lcStatus:empty{
  display:none !important;
  padding:0 !important;
  border:0 !important;
}
@media(max-height:680px){
  .lc-v23 .lc-machine{
    width:min(88vw,calc(72dvh - 24px),820px) !important;
    height:min(73.33vw,calc(60dvh - 20px),683px) !important;
  }
}
@media(max-width:600px){
  .lc-v23 .lc-machine{
    width:min(90vw,calc(72dvh - 24px),400px) !important;
    height:min(75vw,calc(60dvh - 20px),333px) !important;
  }
}

/* Modal amplio para jugar sin salir visualmente del circuito */
body.reward-game-modal-open{overflow:hidden}
.reward-game--enabled:focus-visible{outline:3px solid #ffdc43;outline-offset:4px}
.reward-game-modal{
  position:fixed;
  inset:0;
  z-index:30000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(7px,1.5vw,18px);
  box-sizing:border-box;
  isolation:isolate;
}
.reward-game-modal-backdrop{position:absolute;inset:0;background:rgba(3,8,24,.86);backdrop-filter:blur(7px)}
.reward-game-dialog{
  position:relative;
  z-index:1;
  width:min(1580px,98vw);
  height:min(980px,96vh);
  height:min(980px,96dvh);
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-radius:24px;
  background:#06142a;
  box-shadow:0 28px 100px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08);
}
.reward-game-dialog-content{width:100%;height:100%;min-width:0;min-height:0}
.reward-game-modal-close{
  position:absolute;
  z-index:100001;
  top:10px;
  right:12px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;
  background:rgba(5,15,34,.82);
  color:#fff;
  font-size:29px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 15px rgba(0,0,0,.3);
}
.reward-game-modal-close:hover{background:#193b69;transform:scale(1.05)}
.reward-game-modal-close:focus-visible{outline:3px solid #ffe26d;outline-offset:2px}
.reward-game-modal-message{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  height:100%;
  box-sizing:border-box;
  padding:28px;
  background:radial-gradient(circle at 50% 40%,#143e78,#071833 68%);
  color:#fff;
  text-align:center;
}
.reward-game-modal-message strong{font-size:clamp(18px,2vw,27px)}
.reward-game-modal-message span:not(.reward-game-modal-spinner){max-width:560px;color:#dce8fb}
.reward-game-modal-spinner{width:40px;height:40px;border:4px solid #ffffff3b;border-top-color:#ffd652;border-radius:50%;animation:rewardGameSpin .8s linear infinite}
@keyframes rewardGameSpin{to{transform:rotate(360deg)}}

.reward-game-dialog .lc-page.lc-v16.lc-v19{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  border-radius:22px !important;
}
.reward-game-dialog .pc-page{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:22px !important;
}
.reward-game-dialog .pc-cards{width:min(1120px,94%);height:min(58vh,540px)}
.reward-game-dialog .prw-page{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  display:flex;
  flex-direction:column;
  padding:clamp(10px,1.5vw,22px);
  border-radius:22px;
}
.reward-game-dialog .prw-nav{display:none}
.reward-game-dialog .prw-header{width:min(1120px,100%);box-sizing:border-box;margin-bottom:6px;padding:7px 12px}
.reward-game-dialog .prw-header h1{font-size:clamp(20px,2.5vw,30px)}
.reward-game-dialog .prw-header p{display:none}
.reward-game-dialog .prw-layout{display:flex;flex:1 1 auto;min-height:0;max-width:none;margin:0;justify-content:center}
.reward-game-dialog .prw-machine{width:100%;height:100%;justify-content:center}
.reward-game-dialog .prw-wheel-wrap{width:min(76vh,78vw,760px)}
.reward-game-dialog .prw-aside{display:none}

@media(max-width:600px){
  .reward-game-dialog{width:100vw;height:100vh;height:100dvh;border-radius:12px}
  .reward-game-modal{padding:0}
  .reward-game-dialog .lc-page.lc-v16.lc-v19,
  .reward-game-dialog .pc-page,
  .reward-game-dialog .prw-page{border-radius:12px !important}
  .reward-game-dialog .pc-cards{width:98%;height:min(54vh,430px);gap:5px}
  .reward-game-dialog .prw-wheel-wrap{width:min(74vw,72vh,620px)}
  .reward-game-modal-close{top:8px;right:8px;width:40px;height:40px}
}

/* Administración y visualización de imágenes completas para premios */
.reward-prize-editor-link{display:inline-flex;align-items:center;justify-content:center;margin:14px 0 0;padding:10px 16px;border:1px solid #cbd8ee;border-radius:12px;background:#fff;color:#143c78;font-weight:800;text-decoration:none;box-shadow:0 5px 14px #183c7710}
.reward-prize-editor-link:hover{background:#f1f6ff}
.reward-prize-editor-page{max-width:1320px;margin:0 auto;padding:10px 4px 30px;color:#15263f}
.reward-prize-editor-nav{margin:0 0 14px}
.reward-prize-editor-nav a{color:#174476;font-size:12px;font-weight:800;text-decoration:none}
.reward-prize-editor-header{padding:24px 28px;border-radius:18px;background:linear-gradient(115deg,#102c62,#1672bd);color:#fff;box-shadow:0 12px 28px #163d6c22}
.reward-prize-editor-header>span{font-size:10px;font-weight:900;letter-spacing:.14em;opacity:.8}
.reward-prize-editor-header h1{margin:6px 0;font-size:clamp(26px,4vw,38px)}
.reward-prize-editor-header p{margin:0;max-width:680px;color:#e3efff;font-size:14px}
.reward-prize-editor-game{margin-top:22px;padding:18px;border:1px solid #dce5f1;border-radius:17px;background:#fff;box-shadow:0 9px 24px #153c7610}
.reward-prize-editor-game-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.reward-prize-editor-game-heading h2{margin:0;color:#19375f;font-size:19px}
.reward-prize-editor-game-heading>span{color:#73829a;font-size:12px;font-weight:700}
.reward-prize-editor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.reward-prize-editor-card{min-width:0;padding:11px;border:1px solid #e4eaf2;border-radius:13px;background:#f9fbfe}
.reward-prize-editor-card h3{margin:0 0 8px;color:#52647d;font-size:12px}
.reward-prize-editor-preview{display:grid;place-items:center;width:100%;aspect-ratio:1.22;border-radius:9px;background:linear-gradient(135deg,#e7eef7,#f7f9fc);overflow:hidden;color:#8391a5;font-size:12px}
.reward-prize-editor-preview img{width:100%;height:100%;object-fit:contain}
.reward-prize-editor-upload{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;margin-top:9px;border:1px solid #b9cce4;border-radius:8px;background:#fff;color:#174b88;font-size:12px;font-weight:800;cursor:pointer}
.reward-prize-editor-upload:hover{background:#edf5ff}
.reward-prize-editor-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.reward-prize-editor-upload:focus-within{outline:3px solid #7bb9ff}
.reward-prize-editor-status{display:block;min-height:26px;margin-top:6px;color:#7b8798;font-size:10px;line-height:1.35}
.lc-v16 .lc-card .lc-prize-image{position:relative;z-index:2;display:block;width:82%;height:72%;max-height:72%;margin:auto;object-fit:contain;filter:drop-shadow(0 3px 5px #0005)}
.lc-winner-icon .lc-winner-image{display:block;width:min(72vw,290px);max-height:34vh;margin:0 auto;object-fit:contain;border-radius:12px;filter:drop-shadow(0 7px 10px #0005)}
.pc-front .pc-prize-image{position:relative;z-index:2;width:80%;height:80%;object-fit:contain}
.pc-box #pcWI .pc-prize-result-image{display:block;width:min(68vw,290px);max-height:34vh;margin:8px auto;object-fit:contain;border-radius:12px}
.prw-prize-image{overflow:hidden}
.prw-result-icon .prw-prize-result-image{display:block;width:min(68vw,280px);max-height:35vh;margin:8px auto;object-fit:contain;border-radius:12px}
@media(max-width:1000px){.reward-prize-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.reward-prize-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reward-prize-editor-game{padding:12px}.reward-prize-editor-header{padding:20px}}
@media(max-width:460px){.reward-prize-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-prize-editor-card{padding:8px}}

/* LIGHT CHASE V24 · marco de espectáculo, 12 casillas y proporción apaisada */
.lc-page.lc-v16.lc-v19.lc-v20.lc-v21.lc-v24{
  background:
    radial-gradient(ellipse at 50% 51%,rgba(255,163,34,.2),transparent 58%),
    radial-gradient(ellipse at 50% 44%,rgba(20,82,147,.26),transparent 59%),
    linear-gradient(150deg,#080b13 0%,#101b2a 48%,#080e19 100%) !important;
}
.lc-v24 .lc-header h1{text-shadow:0 0 20px rgba(98,163,255,.28),0 2px 14px rgba(0,0,0,.5) !important}
.lc-v24 .lc-header h1 i{text-shadow:0 0 19px rgba(255,201,82,.48) !important}
.lc-v24 .lc-header p{color:#f2e6cb !important;text-shadow:0 1px 5px rgba(0,0,0,.75) !important}
.lc-v24 .lc-machine{
  flex:0 0 auto !important;
  width:min(96%,calc((100dvh - 218px)*1.35),1320px) !important;
  height:min(68.25vw,calc(100dvh - 218px),978px) !important;
  aspect-ratio:1.35/1 !important;
  padding:clamp(12px,1.2vw,18px) !important;
  border:3px solid #ffe08a !important;
  border-radius:clamp(24px,3vw,42px) !important;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,195,63,.17),transparent 69%),
    linear-gradient(145deg,#583710 0%,#f9cb58 9%,#81531b 15%,#17243b 22%,#07152b 52%,#18243a 78%,#a36b1c 87%,#f3cb68 94%,#4e3316 100%) !important;
  box-shadow:
    0 0 0 3px rgba(255,228,154,.92),
    0 0 0 8px rgba(186,119,29,.85),
    0 0 0 11px rgba(255,224,133,.7),
    0 0 24px 10px rgba(255,174,28,.68),
    0 0 72px 22px rgba(255,166,30,.43),
    0 25px 72px rgba(0,0,0,.58),
    inset 0 2px 0 rgba(255,255,255,.85),
    inset 0 0 23px rgba(255,225,136,.56) !important;
  animation:lcV24MarqueePulse 3.8s ease-in-out infinite alternate !important;
}
.lc-v24 .lc-machine::before{
  inset:6px !important;
  border:2px solid rgba(255,224,137,.96) !important;
  border-radius:inherit !important;
  background:
    linear-gradient(116deg,rgba(255,255,255,.32),transparent 17% 68%,rgba(255,184,45,.16)),
    linear-gradient(180deg,rgba(255,240,191,.15),transparent 25%) !important;
  box-shadow:inset 0 0 19px rgba(255,214,112,.5),0 0 15px rgba(255,210,100,.58) !important;
}
.lc-v24 .lc-machine::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  inset:6px !important;
  border-radius:inherit !important;
  background:
    radial-gradient(circle,#fff 0 3px,#fff7bd 4px,#ffd64f 6px,#ffad1d 8px,rgba(255,163,21,.2) 10px,transparent 12px) 12px 0/58px 16px repeat-x,
    radial-gradient(circle,#fff 0 3px,#fff7bd 4px,#ffd64f 6px,#ffad1d 8px,rgba(255,163,21,.2) 10px,transparent 12px) 12px 100%/58px 16px repeat-x,
    radial-gradient(circle,#fff 0 3px,#fff7bd 4px,#ffd64f 6px,#ffad1d 8px,rgba(255,163,21,.2) 10px,transparent 12px) 0 12px/16px 58px repeat-y,
    radial-gradient(circle,#fff 0 3px,#fff7bd 4px,#ffd64f 6px,#ffad1d 8px,rgba(255,163,21,.2) 10px,transparent 12px) 100% 12px/16px 58px repeat-y !important;
  filter:drop-shadow(0 0 7px rgba(255,193,51,.9)) !important;
  pointer-events:none !important;
}
.lc-v24 .lc-grid-12{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(6px,.72vw,12px) !important;
}
.lc-v24 .lc-card{
  border:2px solid rgba(255,255,255,.88) !important;
  border-radius:clamp(13px,1.5vw,22px) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.84),
    inset 0 -13px 22px rgba(8,13,40,.23),
    0 5px 0 rgba(28,26,48,.5),
    0 9px 18px rgba(0,0,0,.42),
    0 0 22px var(--lc-tile-glow),
    0 0 5px rgba(255,255,255,.8) !important;
}
.lc-v24 .lc-card::before{
  background:
    linear-gradient(132deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.28) 12%,rgba(255,255,255,.08) 28%,transparent 47%),
    radial-gradient(ellipse at 22% 0%,rgba(255,255,255,.48),transparent 57%),
    repeating-conic-gradient(from 8deg at 50% 50%,rgba(255,255,255,.07) 0 4deg,transparent 4deg 14deg),
    linear-gradient(0deg,transparent 50%,rgba(255,255,255,.12)) !important;
  animation:lcV24TileSheen 5s ease-in-out infinite alternate !important;
}
.lc-v24 .lc-card::after{
  inset:3px !important;
  border:1px solid rgba(255,255,255,.48) !important;
  border-radius:calc(clamp(13px,1.5vw,22px) - 5px) !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.5),inset 0 0 20px rgba(255,255,255,.19) !important;
}
.lc-v24 .lc-card.lc-blue{--lc-tile-glow:rgba(35,149,255,.92);background:linear-gradient(145deg,#5bd3ff 0%,#168eff 42%,#0647c9 100%) !important}
.lc-v24 .lc-card.lc-pink{--lc-tile-glow:rgba(255,50,134,.9);background:linear-gradient(145deg,#ff8cc4 0%,#fa337e 45%,#b90b54 100%) !important}
.lc-v24 .lc-card.lc-green{--lc-tile-glow:rgba(22,255,132,.88);background:linear-gradient(145deg,#72ff66 0%,#08d940 43%,#00843b 100%) !important}
.lc-v24 .lc-card.lc-violet{--lc-tile-glow:rgba(174,77,255,.88);background:linear-gradient(145deg,#e085ff 0%,#a828ff 44%,#6410c8 100%) !important}
.lc-v24 .lc-card.lc-cyan{--lc-tile-glow:rgba(39,225,255,.9);background:linear-gradient(145deg,#81f4ff 0%,#17c9ef 44%,#0878c9 100%) !important}
.lc-v24 .lc-card.lc-red{--lc-tile-glow:rgba(255,37,78,.94);background:linear-gradient(145deg,#ff8c76 0%,#ff304d 43%,#b90034 100%) !important}
.lc-v24 .lc-card.lc-magenta{--lc-tile-glow:rgba(255,57,215,.9);background:linear-gradient(145deg,#ff9af0 0%,#ed36c5 44%,#9d168d 100%) !important}
.lc-v24 .lc-card.lc-lime{--lc-tile-glow:rgba(208,255,71,.9);background:linear-gradient(145deg,#eeff76 0%,#9be51c 43%,#4b9e0c 100%) !important}
.lc-v24 .lc-card.lc-orange{--lc-tile-glow:rgba(255,155,31,.94);background:linear-gradient(145deg,#ffe878 0%,#ff9c18 44%,#dc5100 100%) !important}
.lc-v24 .lc-card.lc-azure{--lc-tile-glow:rgba(43,206,255,.9);background:linear-gradient(145deg,#a1edff 0%,#42baff 43%,#1571da 100%) !important}
.lc-v24 .lc-card.lc-amber{--lc-tile-glow:rgba(255,204,57,.95);background:linear-gradient(145deg,#fff1a1 0%,#ffc33e 44%,#bf7012 100%) !important}
.lc-v24 .lc-card.lc-emerald{--lc-tile-glow:rgba(26,255,177,.88);background:linear-gradient(145deg,#70ffe0 0%,#15d4a0 43%,#00825e 100%) !important}
.lc-v24 .lc-prize-icon{
  font-size:clamp(22px,min(4vw,6vh),54px) !important;
  filter:drop-shadow(0 3px 3px rgba(0,0,0,.48)) drop-shadow(0 0 10px rgba(255,255,255,.42)) !important;
}
.lc-v24 .lc-card b{
  font-size:clamp(11px,1.7vh,17px) !important;
  text-shadow:0 2px 2px rgba(0,0,0,.75),0 0 9px rgba(0,0,0,.42) !important;
}
.lc-v24 .lc-card small{
  font-size:clamp(9px,1.3vh,13px) !important;
  text-shadow:0 1px 3px rgba(0,0,0,.72) !important;
}
.lc-v24 .lc-card .lc-prize-image{
  width:92% !important;
  height:82% !important;
  max-height:82% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.44)) drop-shadow(0 0 7px rgba(255,255,255,.2)) !important;
}
.lc-v24 .lc-center{
  overflow:visible !important;
  border:2px solid rgba(55,155,255,.83) !important;
  border-radius:clamp(22px,3vw,40px) !important;
  background:
    radial-gradient(circle at 50% 48%,rgba(22,113,213,.32),transparent 48%),
    repeating-conic-gradient(from 3deg at 50% 50%,rgba(255,198,76,.12) 0 4deg,transparent 4deg 14deg),
    linear-gradient(145deg,#082655,#07172f 67%,#10243e) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.08),
    inset 0 0 42px rgba(42,151,255,.3),
    0 0 27px rgba(24,139,255,.38) !important;
}
.lc-v24 .lc-ring{
  width:clamp(110px,38vh,420px) !important;
  height:clamp(110px,38vh,420px) !important;
  border:8px solid #fff0a8 !important;
  background:
    radial-gradient(circle,#163968 0 54%,#07182e 55% 63%,#fffbca 64% 66%,#ffc43c 67% 72%,#9f470c 73% 75%,#ffdc74 76% 79%,#213454 80% 100%) !important;
  box-shadow:
    0 0 0 5px rgba(255,180,34,.95),
    0 0 0 10px rgba(255,237,174,.88),
    0 0 25px 11px rgba(255,182,42,.88),
    0 0 52px 18px rgba(255,170,22,.62),
    0 12px 25px rgba(0,0,0,.54),
    inset 0 2px 0 rgba(255,255,255,.62) !important;
}
.lc-v24 .lc-ring>i{
  width:clamp(7px,.82vh,12px) !important;
  height:clamp(7px,.82vh,12px) !important;
  margin:-5px !important;
  border:1px solid #fff !important;
  background:radial-gradient(circle at 35% 30%,#fff 0 24%,#fff5a4 45%,#ffc026 78%,#f78106 100%) !important;
  box-shadow:0 0 8px #fff2a4,0 0 17px rgba(255,198,38,.98),0 0 28px rgba(255,170,26,.8) !important;
  transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(110px,38vh,420px)*-.455)) !important;
}
.lc-v24 #lcPlay{
  border:8px solid #fff0b3 !important;
  color:#fff !important;
  background:
    radial-gradient(ellipse at 34% 12%,rgba(255,255,255,.6),transparent 31%),
    radial-gradient(circle at 50% 20%,#3e82d1,#144886 52%,#061c3c 100%) !important;
  box-shadow:
    0 0 0 6px #c13418,
    0 0 0 11px #ffd149,
    0 0 28px 13px rgba(255,198,46,.88),
    0 10px 0 #64220f,
    0 17px 28px rgba(0,0,0,.58),
    inset 0 3px 0 rgba(255,255,255,.58),
    inset 0 -16px 23px rgba(0,0,0,.34) !important;
}
.lc-v24 #lcPlay>span{font-size:clamp(21px,3vh,34px) !important;color:#ffe37a !important;filter:drop-shadow(0 0 9px rgba(255,177,31,.85)) !important}
.lc-v24 #lcPlay>b{font-size:clamp(18px,2.8vh,34px) !important;text-shadow:0 2px 8px rgba(0,0,0,.68) !important}
.lc-v24 #lcStatus:empty{display:none !important;padding:0 !important;border:0 !important}
.lc-v24 .lc-card.on,.lc-v24 .lc-card.win{
  filter:brightness(1.3) saturate(1.24) !important;
  border-color:#fff9d8 !important;
  box-shadow:
    0 0 0 4px #fff2a0,
    0 0 15px 6px #ffe35a,
    0 0 35px 12px rgba(255,203,46,.94),
    0 13px 24px rgba(0,0,0,.46),
    inset 0 2px 0 rgba(255,255,255,.9) !important;
}
@keyframes lcV24MarqueePulse{from{filter:drop-shadow(0 0 8px rgba(255,185,55,.42))}to{filter:drop-shadow(0 0 17px rgba(255,223,123,.82))}}
@keyframes lcV24TileSheen{from{opacity:.78}to{opacity:1}}
@media(max-height:680px){
  .lc-v24 .lc-machine{padding:10px !important;border-radius:24px !important}
  .lc-v24 .lc-ring{width:clamp(100px,32vh,250px) !important;height:clamp(100px,32vh,250px) !important}
  .lc-v24 .lc-ring>i{transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(100px,32vh,250px)*-.455)) !important}
}
@media(max-width:600px){
  .lc-v24 .lc-machine{padding:8px !important;border-radius:18px !important}
  .lc-v24 .lc-grid-12{gap:4px !important}
  .lc-v24 .lc-card{padding:2px !important;border-radius:10px !important}
  .lc-v24 .lc-card::after{inset:2px !important;border-radius:8px !important}
  .lc-v24 .lc-prize-icon{font-size:clamp(18px,7vw,30px) !important;margin-bottom:2px !important}
  .lc-v24 .lc-card b{font-size:clamp(7px,2.4vw,11px) !important}
  .lc-v24 .lc-card small{font-size:clamp(6px,1.9vw,9px) !important;margin-top:2px !important}
  .lc-v24 .lc-ring{width:clamp(92px,min(32vw,28vh),170px) !important;height:clamp(92px,min(32vw,28vh),170px) !important}
  .lc-v24 .lc-ring>i{transform:rotate(calc(var(--n)*18deg)) translateY(calc(clamp(92px,min(32vw,28vh),170px)*-.455)) !important}
  .lc-v24 #lcPlay{width:72% !important;height:72% !important}
  .lc-v24 #lcPlay>b{font-size:clamp(11px,3.6vw,16px) !important}
}
@supports selector(.reward-game-dialog:has(.lc-v24)){
  .reward-game-dialog:has(.lc-v24){width:min(1680px,98vw) !important;height:min(1040px,98dvh) !important}
  .reward-game-dialog:has(.lc-v24) .lc-v24 .lc-machine{
    width:min(96%,calc((min(98dvh,1040px) - 176px)*1.35),1320px) !important;
    height:min(68.25vw,calc(min(98dvh,1040px) - 176px),978px) !important;
  }
}
@media(max-width:600px){
  @supports selector(.reward-game-dialog:has(.lc-v24)){
    .reward-game-dialog:has(.lc-v24){width:100vw !important;height:100dvh !important}
    .reward-game-dialog:has(.lc-v24) .lc-v24 .lc-machine{
      width:min(96%,calc((100dvh - 110px)*1.35),1320px) !important;
      height:min(68.25vw,calc(100dvh - 110px),978px) !important;
    }
  }
}
@media(prefers-reduced-motion:reduce){
  .lc-v24 .lc-machine,.lc-v24 .lc-card::before,.lc-v24 .lc-card.win{animation:none !important}
}

@media(max-height:620px) and (min-width:851px){
  .prw-page{padding-top:8px}
  .prw-nav{margin-bottom:6px}
  .prw-header{padding:8px 15px;margin-bottom:6px}
  .prw-wheel-wrap{width:min(60vh,410px)}
  .prw-special-card{padding-top:40px;padding-bottom:12px}
  .prw-special-card p{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  .prw-rotor{transition:none}
  .prw-dialog{animation:none}
}

/* Ruleta de premios: acabado premium en azul noche, tonos joya y oro champán. */
.prw-celebration{
  position:fixed;
  inset:0;
  z-index:10001;
  width:100vw;
  height:100vh;
  height:100dvh;
  pointer-events:none;
}

.prw-page{
  color:#f7f3e9;
  background:
    radial-gradient(ellipse at 16% 18%,rgba(105,84,133,.24),transparent 34%),
    radial-gradient(ellipse at 86% 78%,rgba(52,91,122,.2),transparent 38%),
    linear-gradient(138deg,#101827 0%,#17283c 52%,#211b32 100%);
}

.prw-nav,
.prw-nav a{color:#d6d7df}
.prw-nav a:hover{color:#e7cd91}

.prw-header{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(221,196,136,.38);
  background:
    radial-gradient(ellipse at 88% 0%,rgba(132,103,153,.22),transparent 45%),
    linear-gradient(108deg,#182638,#202239 64%,#30243b);
  box-shadow:0 12px 30px rgba(2,7,18,.34),inset 0 1px rgba(255,255,255,.08);
}

.prw-header::before{
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#f0dda4,#a77d3b 55%,#f0dda4);
  content:"";
}

.prw-header small{color:#d9c58f}
.prw-header h1{color:#f8f5ef;letter-spacing:-.8px}
.prw-header h1 i{color:#dec78d}
.prw-header p{color:#d3d2d9}

.prw-header-badge{
  border-color:rgba(218,194,138,.35);
  background:rgba(8,15,28,.42);
  color:#f2eee5;
}
.prw-header-badge span{color:#e0c98e}

.prw-layout{gap:clamp(18px,3vw,34px)}
.prw-wheel-wrap{filter:drop-shadow(0 18px 24px rgba(2,6,17,.48))}
.prw-outer-rim{stroke:#f1d99e;stroke-width:4}
.prw-rim-inner{fill:#45351f;stroke:#b38a4d;stroke-width:5}
.prw-segment{stroke:rgba(245,228,184,.72);stroke-width:1.8;transition:filter .25s ease,stroke-width .25s ease}
.prw-segment.is-winner{stroke:#fff0c7;stroke-width:4;filter:drop-shadow(0 0 7px rgba(238,210,145,.8))}
.prw-segment-label{filter:drop-shadow(0 1px 1px rgba(11,12,22,.35))}
.prw-segment-icon{font-size:19px}
.prw-segment-label.is-winner .prw-segment-icon{font-size:22px;filter:drop-shadow(0 0 4px rgba(255,244,212,.8))}
.prw-segment-copy{fill:#fffaf0;font:900 10.5px/1 Arial,sans-serif;paint-order:stroke;stroke:rgba(15,20,29,.52);stroke-width:2px;stroke-linejoin:round}
.prw-segment-copy--dark{fill:#262538;stroke:rgba(246,232,194,.7)}
.prw-segment-label.is-winner .prw-segment-copy{stroke-width:2.7px}

.prw-hub-ring{fill:url(#prw-gold);stroke:#fff0c8;stroke-width:2.5}
.prw-hub{fill:#172438;stroke:#8d6e3d;stroke-width:2.5}
.prw-wheel-outline{stroke:#f0d99f;stroke-width:2.5}
.prw-rim-light{fill:#fff2ce;stroke:#b68a48;stroke-width:1.8;filter:url(#prw-glow)}
.prw-pointer{fill:#7b334b;stroke:#e4cb8d;stroke-width:5;filter:drop-shadow(0 4px 4px rgba(3,6,12,.6))}
.prw-pointer-dot{fill:#f2dda7;stroke:#765c36;stroke-width:2}

.prw-spin{
  border:3px solid #f1dda9;
  background:radial-gradient(circle at 34% 24%,#40516a,#1b2a3e 55%,#101827 100%);
  box-shadow:0 0 0 4px #8e7042,0 8px 16px rgba(2,6,15,.52),inset 0 1px 0 rgba(255,255,255,.34);
  color:#f1dda9;
}
.prw-spin:hover:not(:disabled){filter:brightness(1.15);scale:1.035}
.prw-spin span{font-size:clamp(13px,2vw,23px);letter-spacing:.4px}
.prw-spin strong{color:#f8f3e8;letter-spacing:.2px}
.prw-spin small{color:#d5bc80}
.prw-status{color:#d8d7dd}

.prw-special-card{
  border:2px solid #c8ae73;
  background:linear-gradient(150deg,#f5f1e7,#e9e2d0 68%,#d9cba8);
  box-shadow:0 14px 30px rgba(3,7,16,.36),inset 0 0 0 3px rgba(255,255,255,.56);
  color:#202738;
}
.prw-special-ribbon{
  border:1px solid rgba(231,213,170,.65);
  background:linear-gradient(100deg,#47364c,#2d2a3b);
  box-shadow:0 4px 0 #9f8451;
  color:#f0dda9;
  letter-spacing:.35px;
}
.prw-saturday{border:2px solid #9a5c57;background:#faf8f1;color:#202738}
.prw-saturday span{color:#ad8b4e}
.prw-special-card p{background:linear-gradient(110deg,#e5d7b2,#f1ead8);color:#293044}
.prw-aside-note{border-color:rgba(220,199,149,.23);background:rgba(242,238,228,.075);box-shadow:inset 0 1px rgba(255,255,255,.06)}
.prw-aside-note b{color:#e4cf99}
.prw-aside-note small{color:#d4d6dd}

.prw-dialog{border-color:#cdb477;background:radial-gradient(circle at 50% 0,#f1e7ca,#f7f5ee 52%,#e9e1d0);color:#202738}
.prw-result-sparkle{color:#ae8b4e}
.prw-result-eyebrow{color:#76546e}
.prw-dialog h2{color:#202738}
.prw-dialog p{color:#535664}
.prw-continue{border:1px solid #e1ce9c;background:linear-gradient(100deg,#4c3b50,#292b3e);box-shadow:0 4px 0 #907344;color:#f2dfab}

@media(max-width:850px){
  .prw-layout{grid-template-columns:minmax(0,1fr);gap:12px}
  .prw-wheel-wrap{width:min(65vw,420px)}
  .prw-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
}

@media(max-width:520px){
  .prw-header{padding:11px 12px}
  .prw-header-badge{padding:6px 8px}
  .prw-aside{grid-template-columns:1fr}
  .prw-wheel-wrap{width:min(82vw,390px)}
  .prw-special-card{max-width:360px;margin:auto;width:100%;box-sizing:border-box}
}



/* LIGHT CHASE · imagen subida a sangre dentro de su casilla */
.lc-v24 .lc-card:has(> .lc-prize-image){padding:0 !important}
.lc-v24 .lc-card > .lc-prize-image{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:inherit !important;
  filter:saturate(1.06) contrast(1.03) !important;
}
.lc-v24 .lc-card:has(> .lc-prize-image)::before{
  z-index:2 !important;
  background:linear-gradient(132deg,rgba(255,255,255,.28),rgba(255,255,255,.08) 18%,transparent 48%),radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.19),transparent 58%) !important;
}


/* LIGHT CHASE V25 · casillas un poco mayores, imágenes claras y sin deformación */
.lc-v24 .lc-machine{
  width:min(98%,calc((100dvh - 196px)*1.35),1360px) !important;
  height:min(70vw,calc(100dvh - 196px),1000px) !important;
}
.lc-v24 .lc-card > .lc-prize-image{
  object-fit:contain !important;
  object-position:center !important;
  filter:saturate(1.12) contrast(1.08) !important;
}
.lc-v24 .lc-card:has(> .lc-prize-image)::before{
  background:linear-gradient(132deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 18%,transparent 48%),radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.07),transparent 58%) !important;
}
@supports selector(.reward-game-dialog:has(.lc-v24)){
  .reward-game-dialog:has(.lc-v24) .lc-v24 .lc-machine{
    width:min(98%,calc((min(98dvh,1040px) - 154px)*1.35),1360px) !important;
    height:min(70vw,calc(min(98dvh,1040px) - 154px),1000px) !important;
  }
}
@media(max-width:600px){
  .lc-v24 .lc-machine{
    width:min(98%,calc((100dvh - 100px)*1.35),1360px) !important;
    height:min(70vw,calc(100dvh - 100px),1000px) !important;
  }
  @supports selector(.reward-game-dialog:has(.lc-v24)){
    .reward-game-dialog:has(.lc-v24) .lc-v24 .lc-machine{
      width:min(98%,calc((100dvh - 100px)*1.35),1360px) !important;
      height:min(70vw,calc(100dvh - 100px),1000px) !important;
    }
  }
}


/* LIGHT CHASE V26 · las imágenes vuelven a llenar cada casillero */
.lc-v24 .lc-card:has(> .lc-prize-image){padding:0 !important}
.lc-v24 .lc-card > .lc-prize-image{
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:inherit !important;
  filter:saturate(1.12) contrast(1.08) !important;
}
.lc-v24 .lc-card:has(> .lc-prize-image)::before{
  z-index:2 !important;
  background:linear-gradient(132deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 18%,transparent 48%),radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.07),transparent 58%) !important;
}


/* LIGHT CHASE V27 · imagen original sin velo ni filtros */
.lc-v24 .lc-card > .lc-prize-image{
  image-rendering:auto !important;
  filter:none !important;
}
.lc-v24 .lc-card:has(> .lc-prize-image)::before{
  opacity:0 !important;
  background:none !important;
  animation:none !important;
}


/* RULETA · composición de escenario basada en la referencia compartida.
   Se conservan intactos los ocho premios, su orden y la lógica de giro. */
.reward-game-dialog .prw-page{
  position:relative !important;
  isolation:isolate !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  color:#fffaf8 !important;
  background:
    radial-gradient(ellipse at 50% 95%,rgba(255,77,236,.32),transparent 42%),
    radial-gradient(ellipse at 7% 42%,rgba(234,30,255,.5),transparent 31%),
    radial-gradient(ellipse at 94% 28%,rgba(14,124,255,.44),transparent 34%),
    linear-gradient(180deg,#100020 0%,#260048 48%,#18002f 100%) !important;
}
.reward-game-dialog .prw-page::before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  inset:0 !important;
  pointer-events:none !important;
  opacity:.9 !important;
  background:
    radial-gradient(circle at 8% 10%,#fff 0 4px,rgba(255,53,241,.9) 7px,transparent 65px),
    radial-gradient(circle at 92% 11%,#fff 0 4px,rgba(80,84,255,.95) 7px,transparent 68px),
    radial-gradient(circle at 5% 54%,rgba(255,219,77,.95) 0 3px,transparent 16px),
    radial-gradient(circle at 97% 48%,rgba(255,205,65,.95) 0 4px,transparent 20px),
    radial-gradient(circle at 21% 84%,rgba(255,39,222,.85) 0 2px,transparent 45px),
    radial-gradient(circle at 78% 82%,rgba(26,141,255,.8) 0 2px,transparent 48px),
    linear-gradient(0deg,rgba(255,31,213,.25),transparent 17% 82%,rgba(140,25,255,.18));
  filter:blur(1px) !important;
}
.reward-game-dialog .prw-page::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:16% !important;
  pointer-events:none !important;
  background:
    linear-gradient(0deg,rgba(255,28,224,.25),transparent 80%),
    repeating-linear-gradient(0deg,transparent 0 17px,rgba(83,158,255,.22) 18px,transparent 20px),
    linear-gradient(90deg,transparent,rgba(221,59,255,.18) 20%,transparent 50%,rgba(35,139,255,.2) 80%,transparent);
  mask-image:linear-gradient(0deg,#000,transparent 95%) !important;
}
.reward-game-dialog .prw-nav{display:none !important}
.reward-game-dialog .prw-header{display:none !important}
.reward-game-dialog .prw-layout{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-width:none !important;
  margin:0 !important;
}
.reward-game-dialog .prw-machine{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex:1 1 auto !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  overflow:visible !important;
}
.reward-game-dialog .prw-machine::before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:50% !important;
  bottom:8px !important;
  width:min(78%,920px) !important;
  height:30px !important;
  border:3px solid #ffdd79 !important;
  border-radius:50% !important;
  background:linear-gradient(90deg,#a828d8,#581486 22%,#21064b 50%,#8b20ca 78%,#321056) !important;
  box-shadow:0 0 15px #ffcb45,0 0 34px rgba(255,50,229,.75),inset 0 3px 6px rgba(255,255,255,.66) !important;
  transform:translateX(-50%) !important;
}
.reward-game-dialog .prw-machine::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:50% !important;
  bottom:0 !important;
  width:min(82%,980px) !important;
  height:23px !important;
  border:2px solid #eecaf9 !important;
  border-radius:9px 9px 24px 24px !important;
  background:linear-gradient(90deg,#370658,#a32ddb 18%,#320456 50%,#8d22bc 82%,#26033f) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.55),0 0 16px rgba(255,42,214,.78) !important;
  transform:translateX(-50%) perspective(110px) rotateX(-7deg) !important;
}
.reward-game-dialog .prw-wheel-wrap{
  position:relative !important;
  z-index:1 !important;
  flex:0 1 auto !important;
  width:min(88dvh,90vw,1150px) !important;
  max-width:100% !important;
  filter:drop-shadow(0 20px 32px rgba(3,0,23,.7)) drop-shadow(0 0 24px rgba(255,118,35,.64)) !important;
}
.reward-game-dialog .prw-wheel{overflow:visible !important}
.reward-game-dialog .prw-wheel #prw-gold stop:nth-child(1){stop-color:#fff9d9 !important}
.reward-game-dialog .prw-wheel #prw-gold stop:nth-child(2){stop-color:#ffdc62 !important}
.reward-game-dialog .prw-wheel #prw-gold stop:nth-child(3){stop-color:#f17b0c !important}
.reward-game-dialog .prw-wheel #prw-gold stop:nth-child(4){stop-color:#6e2600 !important}
.reward-game-dialog .prw-outer-rim{fill:url(#prw-gold) !important;stroke:#fff0a3 !important;stroke-width:5 !important}
.reward-game-dialog .prw-rim-inner{fill:#813109 !important;stroke:#ffd64f !important;stroke-width:7 !important}
.reward-game-dialog .prw-wheel-outline{stroke:#fff0a0 !important;stroke-width:3 !important}
.reward-game-dialog .prw-segment{stroke:rgba(255,247,211,.92) !important;stroke-width:2.4 !important}
.reward-game-dialog .prw-segment[data-segment="0"]{fill:#ed198d !important}
.reward-game-dialog .prw-segment[data-segment="1"]{fill:#0878ee !important}
.reward-game-dialog .prw-segment[data-segment="2"]{fill:#8a10d3 !important}
.reward-game-dialog .prw-segment[data-segment="3"]{fill:#078d59 !important}
.reward-game-dialog .prw-segment[data-segment="4"]{fill:#f2670b !important}
.reward-game-dialog .prw-segment[data-segment="5"]{fill:#0757df !important}
.reward-game-dialog .prw-segment[data-segment="6"]{fill:#f5c400 !important}
.reward-game-dialog .prw-segment[data-segment="7"]{fill:#07834c !important}
.reward-game-dialog .prw-segment-label{filter:drop-shadow(0 2px 1px rgba(27,0,35,.85)) !important}
.reward-game-dialog .prw-segment-icon{font-size:22px !important}
.reward-game-dialog .prw-segment-copy{fill:#fff !important;font-size:12px !important;stroke:rgba(22,0,34,.76) !important;stroke-width:2.7px !important}
.reward-game-dialog .prw-segment-copy--dark{fill:#fff !important;stroke:rgba(22,0,34,.82) !important}
.reward-game-dialog .prw-rim-light{fill:#fff9d7 !important;stroke:#ffb42a !important;stroke-width:2.8 !important;filter:url(#prw-glow) !important}
.reward-game-dialog .prw-pointer{fill:url(#prw-gold) !important;stroke:#fff1a3 !important;stroke-width:6 !important;filter:drop-shadow(0 4px 4px rgba(34,4,30,.68)) !important}
.reward-game-dialog .prw-pointer-dot{fill:#f43ddc !important;stroke:#ffdf69 !important;stroke-width:3 !important}
.reward-game-dialog .prw-hub-ring{fill:url(#prw-gold) !important;stroke:#fff3b0 !important;stroke-width:4 !important}
.reward-game-dialog .prw-hub{fill:#101d43 !important;stroke:#ffba2e !important;stroke-width:4 !important}
.reward-game-dialog .prw-spin{
  width:31% !important;
  border:5px solid #fff1a7 !important;
  background:radial-gradient(circle at 34% 20%,#345e9f,#142750 52%,#07122d 100%) !important;
  box-shadow:0 0 0 5px #9a4100,0 0 0 9px #ffc62e,0 0 24px 8px rgba(255,173,29,.83),inset 0 3px 0 rgba(255,255,255,.44),0 7px 14px rgba(0,0,0,.55) !important;
  color:#fff !important;
}
.reward-game-dialog .prw-spin span{font-size:clamp(16px,2.25vw,31px) !important;color:#fff !important;text-shadow:0 2px 5px #08132e !important}
.reward-game-dialog .prw-spin strong{font-size:clamp(13px,1.6vw,22px) !important;color:#ffca26 !important;text-shadow:0 2px 3px #190e35 !important}
.reward-game-dialog .prw-spin small{font-size:clamp(11px,1.2vw,17px) !important;color:#ffd439 !important}
.reward-game-dialog .prw-status{display:none !important}
.reward-game-dialog .prw-aside{
  position:relative !important;
  z-index:3 !important;
  display:flex !important;
  flex:0 0 auto !important;
  justify-content:center !important;
  width:min(560px,92vw) !important;
  margin:0 auto 6px !important;
}
.reward-game-dialog .prw-aside-note{display:none !important}
.reward-game-dialog .prw-special-card{
  display:grid !important;
  grid-template-columns:minmax(105px,150px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  padding:17px 9px 6px !important;
  border:2px solid #ffd55d !important;
  border-radius:15px !important;
  background:linear-gradient(110deg,rgba(51,6,88,.94),rgba(23,13,62,.94)) !important;
  box-shadow:0 0 16px rgba(255,192,44,.45),inset 0 1px 0 rgba(255,255,255,.35) !important;
  color:#fff !important;
}
.reward-game-dialog .prw-special-ribbon{top:1px !important;padding:2px 10px !important;border-radius:0 0 8px 8px !important;background:#ef208e !important;box-shadow:none !important;font-size:8px !important;line-height:1.2 !important}
.reward-game-dialog .prw-saturday{gap:3px !important;margin:0 !important;padding:3px !important;border:1px solid #ffc72e !important;border-radius:8px !important;background:#231548 !important;color:#fff !important;transform:none !important}
.reward-game-dialog .prw-saturday span{font-size:12px !important}
.reward-game-dialog .prw-saturday strong{font-size:clamp(11px,1.25vw,16px) !important;line-height:.95 !important;color:#ffe060 !important}
.reward-game-dialog .prw-special-card p{margin:0 !important;padding:4px 6px !important;border-radius:7px !important;background:rgba(255,255,255,.09) !important;color:#fff !important;font-size:clamp(8px,.8vw,10px) !important;line-height:1.15 !important}
@media(max-height:680px){
  .reward-game-dialog .prw-wheel-wrap{width:min(82dvh,90vw,1150px) !important}
  .reward-game-dialog .prw-aside{width:min(480px,88vw) !important;margin-bottom:3px !important}
  .reward-game-dialog .prw-special-card{padding-top:14px !important}
}
@media(max-width:600px){
  .reward-game-dialog .prw-page{border-radius:12px !important}
  .reward-game-dialog .prw-wheel-wrap{width:min(92vw,78dvh,700px) !important}
  .reward-game-dialog .prw-aside{width:min(96vw,480px) !important}
  .reward-game-dialog .prw-special-card{grid-template-columns:minmax(90px,120px) minmax(0,1fr) !important;gap:5px !important}
  .reward-game-dialog .prw-special-card p{font-size:8px !important}
  .reward-game-dialog .prw-spin{width:34% !important}
}
@media(max-width:600px) and (orientation:landscape){
  .reward-game-dialog .prw-wheel-wrap{width:min(76dvh,92vw,700px) !important}
}
@media(prefers-reduced-motion:reduce){
  .reward-game-dialog .prw-page::before,.reward-game-dialog .prw-page::after{animation:none !important}
}

/* RULETA · cuñas claras y proporción de escenario de la referencia */
.reward-game-dialog .prw-aside{display:none !important}
.reward-game-dialog .prw-layout{gap:0 !important}
.reward-game-dialog .prw-wheel-wrap{
  width:min(92dvh,94vw,1150px) !important;
  filter:drop-shadow(0 18px 22px rgba(3,0,23,.76)) drop-shadow(0 0 25px rgba(255,105,34,.48)) !important;
}
.reward-game-dialog .prw-segment[data-segment="0"]{fill:url(#prw-sector-pink) !important}
.reward-game-dialog .prw-segment[data-segment="1"]{fill:url(#prw-sector-cinema) !important}
.reward-game-dialog .prw-segment[data-segment="2"]{fill:url(#prw-sector-snack) !important}
.reward-game-dialog .prw-segment[data-segment="3"]{fill:url(#prw-sector-yape10) !important}
.reward-game-dialog .prw-segment[data-segment="4"]{fill:url(#prw-sector-coca) !important}
.reward-game-dialog .prw-segment[data-segment="5"]{fill:url(#prw-sector-yape50) !important}
.reward-game-dialog .prw-segment[data-segment="6"]{fill:url(#prw-sector-question) !important}
.reward-game-dialog .prw-segment[data-segment="7"]{fill:url(#prw-sector-repeat) !important}
.reward-game-dialog .prw-segment-label{filter:drop-shadow(0 2px 2px rgba(23,0,38,.72)) !important}
.reward-game-dialog .prw-segment-copy{font-size:13px !important;stroke:rgba(27,0,50,.92) !important;stroke-width:3px !important}
.reward-game-dialog .prw-wedge-art{filter:drop-shadow(0 2px 1.5px rgba(21,0,37,.58))}

/* Uploaded roulette artwork stays proportional and is clipped to its own wedge. */
.prw-segment-outline{fill:none;stroke:rgba(255,247,211,.94);stroke-width:2.4;pointer-events:none}
.prw-segment-image{pointer-events:none}
.prw-prize-image{display:block}
.reward-prize-editor-game--roulette .reward-prize-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.reward-prize-editor-card--roulette{padding:12px}
.rpie-wedge-preview{aspect-ratio:220/174;background:linear-gradient(135deg,#1c3155,#101d38);border:1px solid #e0c668}
.rpie-wedge-preview svg{display:block;width:100%;height:100%}
.rpie-preview-hint{fill:#fff3b0;font-size:12px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#2b174c;stroke-width:3px;stroke-linejoin:round}
.rpie-adjust{display:grid;gap:8px;margin-top:10px}
.rpie-upload-hint{display:block;margin-top:5px;color:#7b8798;font-size:10px}
.rpie-control{display:grid;gap:4px;color:#344964;font-size:11px;font-weight:800}
.rpie-control span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rpie-control output{min-width:38px;color:#174b88;text-align:right;font-variant-numeric:tabular-nums}
.rpie-control input{width:100%;margin:0;accent-color:#236ac0;cursor:pointer}
.rpie-save{min-height:36px;padding:7px 10px;border:0;border-radius:8px;background:linear-gradient(115deg,#164b91,#197ac0);color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.rpie-save:hover:not(:disabled){filter:brightness(1.08)}
.rpie-save:disabled{background:#aeb9c8;color:#fff;cursor:not-allowed}
.rpie-adjust .reward-prize-editor-status{min-height:0;margin-top:0;font-size:10px}
@media(max-width:1000px){.reward-prize-editor-game--roulette .reward-prize-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.reward-prize-editor-game--roulette .reward-prize-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.reward-prize-editor-game--roulette .reward-prize-editor-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-height:680px){
  .reward-game-dialog .prw-wheel-wrap{width:min(91dvh,94vw,1150px) !important}
}
@media(max-width:600px){
  .reward-game-dialog .prw-wheel-wrap{width:min(94vw,91dvh,700px) !important}
}
@media(max-width:600px) and (orientation:landscape){
  .reward-game-dialog .prw-wheel-wrap{width:min(89dvh,92vw,700px) !important}
}

/* Acceso directo al editor desde la ruleta */
.reward-game-modal-edit{position:absolute;z-index:100001;top:12px;right:68px;display:inline-flex;align-items:center;justify-content:center;min-height:40px;max-width:calc(100% - 132px);padding:0 14px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(5,15,34,.88);color:#fff;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 4px 15px rgba(0,0,0,.3)}
.reward-game-modal-edit:hover{background:#193b69;color:#ffe26d}
.reward-game-modal-edit:focus-visible{outline:3px solid #ffe26d;outline-offset:2px}

/* Direct editing of roulette artwork and its four corners. */
.rpie-wedge-preview,.rpie-workspace{touch-action:none;user-select:none;-webkit-user-select:none}
.rpie-wedge-preview .prw-prize-image,.rpie-workspace .prw-prize-image{pointer-events:none}
.rpie-image-hit{fill:transparent;stroke:#fff;stroke-width:1.5;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;cursor:grab;pointer-events:all}
.is-dragging .rpie-image-hit{cursor:grabbing}
.rpie-corner{fill:#fff;stroke:#1a70bf;stroke-width:2;vector-effect:non-scaling-stroke;cursor:crosshair;pointer-events:all}
.rpie-rotate{fill:#ffdf65;stroke:#433510;stroke-width:2;vector-effect:non-scaling-stroke;cursor:alias;pointer-events:all}
.rpie-rotation-line{stroke:#ffdf65;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.rpie-selection [tabindex]:focus{outline:none;stroke:#ffdf65;stroke-width:3}
.rpie-selection .rpie-corner:focus{fill:#ffdf65}
.reward-prize-editor-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.reward-prize-editor-nav .rpie-view-roulette{padding:9px 13px;border:1px solid #bfd2e9;border-radius:9px;background:#fff;color:#164f89;text-transform:none}
.reward-prize-editor-nav .rpie-view-roulette:hover{background:#edf5ff}
.reward-prize-editor-nav [aria-busy="true"]{opacity:.6;cursor:wait}

/* Downward prize indicator with polished gold edges and a dark metal fastener. */
.prw-pointer-assembly{filter:url(#prw-pointer-shadow);pointer-events:none}
.prw-pointer,.reward-game-dialog .prw-pointer{fill:url(#prw-pointer-metal) !important;stroke:#815319 !important;stroke-width:1.3 !important;stroke-linejoin:round;filter:none !important}
.prw-pointer-face{fill:url(#prw-pointer-face-gold);stroke:#fff1ba;stroke-width:.8;stroke-linejoin:round}
.prw-pointer-facet-light{fill:url(#prw-pointer-shine);opacity:.56}
.prw-pointer-facet-shade{fill:#8d591b;opacity:.17}
.prw-pointer-ridge{fill:none;stroke:#fff4c7;stroke-width:.75;stroke-linecap:round;opacity:.8}
.prw-pointer-fastener-rim{fill:#dab56b;stroke:#8e6628;stroke-width:.9}
.prw-pointer-fastener{fill:url(#prw-pointer-fastener);stroke:#f8e7b1;stroke-width:.6}
.prw-pointer-fastener-glint{fill:none;stroke:#dae6f9;stroke-width:.6;stroke-linecap:round;opacity:.8}
.rpie-edit{min-height:38px;width:100%;border:1px solid #1769ae;border-radius:8px;background:#e9f4ff;color:#154b85;font-size:12px;font-weight:800;cursor:pointer}
.rpie-edit:disabled{opacity:.5;cursor:not-allowed}
.rpie-gesture-help{margin:0;color:#61748a;font-size:11px;line-height:1.5}
.rpie-presets{display:flex;flex-wrap:wrap;gap:6px}
.rpie-presets button,.rpie-view-all{flex:1;min-height:34px;padding:5px 8px;border:1px solid #c3d4e9;border-radius:7px;background:#fff;color:#244c7e;font-size:11px;font-weight:800;cursor:pointer}
.rpie-presets button:hover:not(:disabled),.rpie-view-all:hover{background:#edf5ff}
.rpie-presets button:disabled{opacity:.5;cursor:not-allowed}
.rpie-fit{display:flex;align-items:center;gap:7px;color:#344964;font-size:11px;line-height:1.4}
.rpie-fit input{accent-color:#236ac0}
.rpie-dialog{box-sizing:border-box;width:min(960px,96vw);max-width:96vw;max-height:94vh;max-height:94dvh;overflow:auto;padding:20px;border:1px solid #c1d4ea;border-radius:16px;background:#fff;color:#19375f;box-shadow:0 20px 90px #0a1d4970}
.rpie-dialog::backdrop{background:#061329b8;backdrop-filter:blur(3px)}
.rpie-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.rpie-dialog>header span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#637e9d}
.rpie-dialog h2{margin:4px 0 0;font-size:22px}
.rpie-dialog [data-prize-dialog-close]{flex:none;width:40px;height:40px;border:1px solid #c8d8eb;border-radius:9px;background:#f4f8fd;color:#234970;font-size:25px;cursor:pointer}
.rpie-dialog-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(210px,1fr);align-items:start;gap:20px}
.rpie-workspace{display:grid;place-items:center;aspect-ratio:1;width:100%;border:1px solid #d4c482;border-radius:12px;background:linear-gradient(135deg,#1c3155,#101d38);overflow:hidden}
.rpie-workspace svg{display:block;width:100%;height:100%}
.rpie-dialog-body .rpie-gesture-help{margin-top:10px}
.rpie-dialog-controls{display:grid;gap:15px}
.rpie-dialog-controls .rpie-control{font-size:12px;gap:8px}
.rpie-dialog-controls .rpie-save{min-height:42px;font-size:13px}
.rpie-dialog-controls .reward-prize-editor-status{min-height:28px;margin:0;line-height:1.5}
@media(max-width:650px){.rpie-dialog{padding:13px}.rpie-dialog h2{font-size:18px}.rpie-dialog-body{grid-template-columns:minmax(0,1fr);gap:14px}.rpie-dialog-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rpie-dialog-controls .rpie-presets,.rpie-dialog-controls .rpie-save,.rpie-dialog-controls .reward-prize-editor-status{grid-column:1/-1}.rpie-fit{font-size:10px}}

/* Administración de premios y habilitaciones */
.reward-control{color:#17304d;max-width:1600px;margin:auto;padding:22px;background:#eef4fb;border-radius:16px}
.reward-control-header>a{font-size:13px;color:#39628e;text-decoration:none}.reward-control-header>div{display:flex;align-items:center;justify-content:space-between;gap:18px}.reward-control-header h1{font-size:26px;margin:14px 0 6px}.reward-control-header>div>a{padding:10px 15px;border:1px solid #b6c9e1;border-radius:8px;color:#164d8d;text-decoration:none;background:#fff;font-size:13px}.reward-control-header p{font-size:14px;color:#617791;margin:0 0 20px}
.reward-control-filters{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;margin-bottom:18px}.reward-control label{font-size:12px;font-weight:600;display:grid;gap:6px}.reward-control input,.reward-control select{font:inherit;min-width:0;width:100%;padding:9px 10px;border:1px solid #c6d6e9;border-radius:7px;color:#17304d;background:#fff}.reward-control input:focus,.reward-control select:focus{outline:2px solid #a5d3ff;outline-offset:1px}.reward-control-intro{display:grid;gap:6px;padding:16px 18px;background:#fff;border:1px solid #d3e1f0;border-radius:11px}.reward-control-intro b{font-size:15px}.reward-control-intro span{font-size:12px;color:#718199;line-height:1.5}.reward-control-message{min-height:20px;margin:10px 0;color:#16589a;font-size:13px}.reward-control-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);gap:16px}.reward-control-columns>section{background:#fff;border:1px solid #cfdff0;border-radius:12px;overflow:hidden}.reward-control-columns header{padding:16px 18px;background:#f8fbff;border-bottom:1px solid #e1eaf5}.reward-control-columns h2{margin:0 0 5px;font-size:15px}.reward-control-columns header p{margin:0;font-size:11px;color:#7687a0;line-height:1.5}.reward-control-prizes form{padding:16px}.reward-control-prize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-control-prize{padding:12px;border:1px solid #d4e1f1;border-radius:8px;background:#fff}.reward-control-prize.is-selected{background:#effbf5;border-color:#22bb70;box-shadow:inset 0 0 0 1px #22bb70}.reward-control-prize .reward-control-choice{display:grid;grid-template-columns:18px 46px minmax(0,1fr);align-items:center;gap:9px}.reward-control-choice input[type=checkbox]{width:17px;height:17px;padding:0;accent-color:#1fb26a}.reward-control-choice img{width:46px;height:46px;object-fit:contain;border-radius:6px}.reward-control-choice input[name=name]{font-weight:700;font-size:12px;background:transparent;padding:6px;border-color:transparent}.reward-control-choice input[name=name]:hover{border-color:#c6d6e9}.reward-control-empty{font-size:9px;line-height:1.3;color:#8b9bb0;text-align:center;display:grid;place-items:center;min-height:46px;border:1px dashed #c8d7e9;border-radius:5px}.reward-control-prize-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 8px}.reward-control-prize-inputs label{font-size:10px;color:#607791}.reward-control-prize-inputs input{padding:6px 8px;font-size:12px}.reward-control-prize small{display:block;font-size:10px;color:#67809a;line-height:1.5}.reward-control button{cursor:pointer;font:inherit}.reward-control button:disabled{cursor:wait;opacity:.6}.reward-control-primary{border:0;border-radius:7px;background:#0960d4;color:#fff;font-weight:700!important;font-size:12px!important;width:100%;padding:13px;margin-top:15px}.reward-control-advisors>.reward-control-forced,.reward-control-advisors>.reward-control-invite-message{margin:13px 16px}.reward-control-advisor-list{display:grid;gap:8px;padding:5px 16px 16px;max-height:560px;overflow:auto}.reward-control-advisor{display:grid;grid-template-columns:minmax(0,1fr) 78px 80px;gap:8px;align-items:center;padding:12px 10px;border:1px solid #d3e1f0;border-radius:8px}.reward-control-advisor>div{min-width:0}.reward-control-advisor b{display:block;font-size:10px;line-height:1.5;text-transform:uppercase}.reward-control-advisor small{display:block;font-size:9px;color:#7b8ba0;margin-top:3px}.reward-control-advisor select{font-size:10px;padding:7px 5px}.reward-control-enable{font-size:10px!important;font-weight:700!important;color:#fff;background:#20a964;border:0;border-radius:6px;padding:9px 7px}.reward-control-advisor:has(.reward-control-revoke){grid-template-columns:minmax(0,1fr) 72px 76px 24px}.reward-control-revoke{border:0;border-radius:4px;background:#fff0f1;color:#b83245;font-size:18px!important;padding:2px}.reward-control-no-advisors{font-size:13px;color:#77869b;padding:8px}
.reward-game--locked{cursor:default!important;filter:saturate(.55)}.reward-game--locked .reward-game__status{background:rgba(13,29,58,.85);color:#dce5f2}.reward-game--locked .reward-game__arrow{opacity:.35}.reward-game--locked:hover{transform:none!important}
.prw-spin:disabled,#lcPlay:disabled,#pcShuffle:disabled{cursor:default;opacity:.6}
.reward-invitation{position:fixed;inset:0;box-sizing:border-box;margin:auto;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:30px 28px 22px;border:1px solid #d7b764;border-radius:24px;text-align:center;color:#142944;background:radial-gradient(circle at 50% 0,#fff7d4,transparent 45%),#fff;box-shadow:0 22px 100px #05152d66;font-family:inherit}.reward-invitation::backdrop{background:rgba(5,17,39,.68);backdrop-filter:blur(5px)}.reward-invitation-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#7b8a9e;font-size:28px;cursor:pointer}.reward-invitation-icon{font-size:48px;line-height:1.2;margin:4px auto 12px}.reward-invitation-eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#a17b19}.reward-invitation h2{font-size:27px;margin:10px 0 12px;line-height:1.2}.reward-invitation>p{font-size:14px;line-height:1.6;color:#687b94;margin:0 0 18px}.reward-invitation-games{display:grid;gap:10px}.reward-invitation-games button{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #cddff3;border-radius:12px;background:#f4f8ff;color:#173757;text-align:left;font-family:inherit;cursor:pointer;transition:background .15s}.reward-invitation-games button:hover{background:#e9f2ff}.reward-invitation-games button:disabled{opacity:.55;cursor:default}.reward-invitation-games button>span{font-size:27px}.reward-invitation-games button>div{flex:1}.reward-invitation-games b{font-size:14px}.reward-invitation-games small{display:block;font-size:12px;margin-top:4px;color:#617b99}.reward-invitation-games strong{font-size:11px;color:#0860ce}.reward-invitation-later{border:0;background:transparent;color:#647995;font-family:inherit;font-size:13px;cursor:pointer;padding:10px 20px}.reward-invitation .reward-invitation-error{color:#bc3340;font-size:12px;margin:12px 0 0;min-height:10px}
@media(max-width:1000px){.reward-control-columns{grid-template-columns:1fr}.reward-control-advisor-list{max-height:460px}.reward-control-advisor{grid-template-columns:minmax(0,1fr) 90px 95px}.reward-control-advisor:has(.reward-control-revoke){grid-template-columns:minmax(0,1fr) 84px 90px 26px}}
@media(max-width:600px){.reward-control{padding:14px}.reward-control-header h1{font-size:21px}.reward-control-header>div{align-items:flex-start}.reward-control-header>div>a{white-space:nowrap;font-size:10px;padding:9px}.reward-control-filters{grid-template-columns:1fr 1fr;gap:10px}.reward-control-filters>label:last-child{grid-column:1/-1}.reward-control-prize-grid{grid-template-columns:1fr}.reward-control-advisor-list{padding:5px 10px 12px}.reward-control-advisor{grid-template-columns:minmax(0,1fr) 69px 74px;padding:10px 8px;gap:5px}.reward-control-advisor:has(.reward-control-revoke){grid-template-columns:minmax(0,1fr) 62px 68px 20px}.reward-control-advisor b{font-size:9px}.reward-control-advisor small{font-size:8px}.reward-invitation{padding:28px 18px 18px;border-radius:19px}.reward-invitation h2{font-size:23px}.reward-invitation-games button{padding:13px;gap:10px}.reward-invitation-games b{font-size:13px}.reward-invitation-games strong{font-size:10px}}

.reward-invitation-icon svg{display:block;width:64px;height:64px;margin:auto}.reward-invitation-games button>span svg{display:block;width:30px;height:30px;color:#145caa}
