/* ════════════════════════════════════════════════════════════════════
   DB-ADVENTURE — Estilos del Modo Aventura (mockup aprobado)
   Usa las variables globales de db-styles.css (:root).
   ════════════════════════════════════════════════════════════════════ */

#screen-adventure { align-items: center; }
#adv-root { width: 100%; max-width: 560px; margin: 0 auto; padding: 18px 14px 60px; }
#adv-root img.pix { image-rendering: pixelated; }

/* Cabecera */
.adv-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 10px; }
.adv-title { font-family: var(--game); font-size: 11px; color: var(--accent); text-shadow: 0 0 12px rgba(245,166,35,.4); }
.adv-sub { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--muted); letter-spacing: 1px; margin-top: 5px; }
.adv-energy { display: flex; align-items: center; gap: 7px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 7px 12px; flex-shrink: 0; }
.adv-energy .zz { font-size: 16px; }
.adv-energy b { font-family: var(--game); font-size: 17px; color: var(--good); }
.adv-energy small { font-family: var(--game); font-size: 11px; color: var(--muted); display: block; line-height: 1; }

.adv-sec-label { font-family: var(--game); font-size: 12px; color: var(--muted); letter-spacing: 1px; margin: 18px 2px 9px; }
.adv-intro { font-family: var(--game); font-weight: 600; font-size: 14px; color: var(--text); line-height: 1.45; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 13px 15px; margin-bottom: 14px; }
.adv-intro b { color: var(--accent); }
/* s483: pestañas de modo Open/Classic */
.adv-modo-tabs { display: flex; gap: 6px; margin-bottom: 12px; }
.adv-modo-tab { flex: 1; font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px;
  cursor: pointer; padding: 11px 10px; border-radius: 11px 11px 0 0; color: var(--muted);
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-bottom: 2px solid transparent; transition: all .13s; }
.adv-modo-tab:hover { background: rgba(255,255,255,.08); color: #d6e0f5; }
.adv-modo-tab.on { color: #fff; background: rgba(127,212,247,.12); border-color: rgba(127,212,247,.4); border-bottom-color: #7fd4f7; }
/* s483: inicio guiado de Classic (tarjetas narrativas + hilo) */
.cls-intro { display: flex; flex-direction: column; align-items: center; gap: 0; padding: 14px 0 30px; }
.cls-card { max-width: 460px; width: 100%; background: var(--surface); border: 1.5px solid rgba(127,212,247,.3);
  border-radius: 16px; padding: 22px 20px; text-align: center; box-shadow: 0 6px 22px rgba(0,0,0,.35); }
.cls-card-ico { font-size: 48px; line-height: 1; margin-bottom: 10px; }
.cls-card-tit { font-family: var(--game); font-weight: 800; font-size: 19px; color: #eaf1ff; margin-bottom: 10px; }
.cls-card-txt { font-family: var(--game); font-weight: 500; font-size: 14.5px; color: var(--muted); line-height: 1.5; }
.cls-card-txt b { color: #cfe0ff; font-weight: 700; }
.cls-card-btn { margin-top: 18px; width: 100%; font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: .4px;
  cursor: pointer; padding: 12px; border-radius: 11px; color: #0a1420; background: #7fd4f7; border: none; transition: filter .13s; }
.cls-card-btn:hover { filter: brightness(1.08); }
.cls-intro-hilo { width: 3px; height: 26px; background: repeating-linear-gradient(#7fd4f7 0 6px, transparent 6px 12px); opacity: .5; }
/* s485: panel de OBJETO en combate (Classic) */
.items-panel.hidden { display: none; }
.cls-items-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 7px; }
.cls-item-btn { display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer;
  padding: 9px 7px; border-radius: 10px; background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.14);
  color: #eaf1ff; font-family: var(--game); transition: background .12s, border-color .12s; }
.cls-item-btn:hover { background: rgba(127,212,247,.14); border-color: rgba(127,212,247,.45); }
.cls-item-ico { font-size: 22px; line-height: 1; }
.cls-item-nom { font-weight: 700; font-size: 12px; }
.cls-item-n { font-weight: 800; font-size: 11px; color: #ffd76a; }
.cls-items-vacio { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--muted); text-align: center; padding: 16px; }
/* s490: cuadrícula de destino (a quién aplicar el objeto) */
.cls-tg-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.cls-tg-back { font-family: var(--game); font-weight: 800; font-size: 16px; cursor: pointer; width: 34px; height: 30px;
  border-radius: 8px; color: #d6e0f5; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.cls-tg-back:hover { background: rgba(255,255,255,.12); }
.cls-tg-titulo { font-family: var(--game); font-weight: 800; font-size: 14px; color: #eaf1ff; display: flex; align-items: center; gap: 4px; }
.cls-tg-titulo-spr { width: 22px; height: 22px; object-fit: contain; vertical-align: middle; }
.cls-tg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 7px; }
.cls-tg-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer;
  padding: 8px 6px 7px; border-radius: 11px; background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.14);
  color: #eaf1ff; font-family: var(--game); transition: background .12s, border-color .12s; }
.cls-tg-card:hover:not(:disabled) { background: rgba(127,212,247,.16); border-color: rgba(127,212,247,.5); }
.cls-tg-card.cls-tg-act { border-color: rgba(127,212,247,.55); box-shadow: 0 0 0 1px rgba(127,212,247,.3) inset; }
.cls-tg-off { opacity: .38; filter: grayscale(.7); cursor: not-allowed; }
.cls-tg-spr { width: 52px; height: 52px; object-fit: contain; image-rendering: pixelated; }
.cls-tg-nom { font-weight: 800; font-size: 10.5px; letter-spacing: .2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.cls-tg-hp { display: block; width: 82%; height: 6px; border-radius: 4px; background: rgba(0,0,0,.4); overflow: hidden; margin-top: 2px; }
.cls-tg-hp > i { display: block; height: 100%; border-radius: 4px; transition: width .3s ease; }
.cls-tg-nums { font-weight: 700; font-size: 9.5px; color: #b7c2d8; }
.cls-tg-ko { position: absolute; top: 4px; right: 5px; font-family: var(--game); font-weight: 800; font-size: 9px;
  color: #ff8a8a; background: rgba(0,0,0,.5); padding: 1px 4px; border-radius: 4px; }
.cls-tg-est { font-family: var(--game); font-weight: 800; font-size: 8.5px; padding: 1px 5px; border-radius: 4px; color: #0d1117; margin-top: 1px; }
.cls-est-psn, .cls-est-tox { background: #b968d0; }
.cls-est-par { background: #f5d742; }
.cls-est-brn { background: #f0864a; }
.cls-est-frz { background: #7fd4f7; }
.cls-est-slp { background: #a9b3c9; }
/* s490: mini-descripción en tarjetas de la tienda (sección COMBATE) */
/* s491/s492: tarjetas de la sección COMBATE de la tienda (más legibles) */
.cls-item-ico-img { width: 34px; height: 34px; object-fit: contain; image-rendering: auto; }
.advcc-itemspr { width: 56px; height: 56px; object-fit: contain; display: block; margin: 0 auto; }
/* s605 · Combate: densidad/tamaño como los objetos normales (antes ocupaban mucho). */
.advt-grid-combate { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 9px; }
.advt-combat-card { display: flex; align-items: center; gap: 12px; text-align: left; padding: 10px 12px;
  border-radius: 12px; background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.12);
  transition: transform .12s, box-shadow .15s, border-color .12s; cursor: help; }
.advt-combat-card:hover { transform: translateY(-2px); border-color: rgba(245,166,35,.45); box-shadow: 0 6px 16px rgba(0,0,0,.4); }
.advt-combat-spr { width: 38px; height: 38px; object-fit: contain; flex: 0 0 auto; } /* s605: como objetos normales */
.advt-combat-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.advt-combat-nom { font-family: var(--game); font-weight: 800; font-size: 13px; color: #eaf1ff; line-height: 1.1; }
.advt-combat-efecto { font-family: var(--game); font-weight: 600; font-size: 12.5px; color: #b7c2d8; line-height: 1.3; }
.advt-combat-tengo { font-family: var(--game); font-weight: 700; font-size: 11px; color: #7fd4a0; margin-top: 1px; }
.advt-combat-buy { flex: 0 0 auto; align-self: center; white-space: nowrap; }
/* s487: tutorial de onboarding */
.adv-onb-ov { position: fixed; inset: 0; z-index: 12000; background: rgba(6,10,18,.82); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 18px; animation: onbFade .18s ease; }
@keyframes onbFade { from { opacity: 0; } to { opacity: 1; } }
.adv-onb-card { position: relative; max-width: 440px; width: 100%; background: linear-gradient(180deg,#18202f,#0e131d);
  border: 1.5px solid rgba(127,212,247,.4); border-radius: 18px; padding: 26px 22px 20px; text-align: center;
  box-shadow: 0 14px 44px rgba(0,0,0,.55); font-family: var(--game); }
.adv-onb-x { position: absolute; top: 12px; right: 14px; background: none; border: none; color: var(--muted);
  font-size: 17px; cursor: pointer; line-height: 1; }
.adv-onb-x:hover { color: #fff; }
.adv-onb-ico { font-size: 52px; line-height: 1; margin-bottom: 10px; }
.adv-onb-tit { font-weight: 800; font-size: 21px; color: #eaf1ff; margin-bottom: 10px; }
.adv-onb-txt { font-weight: 500; font-size: 14.5px; color: #b7c2d8; line-height: 1.55; }
.adv-onb-txt b { color: #cfe7ff; font-weight: 700; }
.adv-onb-dots { display: flex; gap: 6px; justify-content: center; margin: 18px 0 14px; }
.adv-onb-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.2); transition: all .15s; }
.adv-onb-dot.on { background: #7fd4f7; width: 20px; border-radius: 4px; }
.adv-onb-btns { display: flex; gap: 10px; align-items: center; }
.adv-onb-btns > span { flex: 1; }
.adv-onb-sec { flex: 1; font-family: var(--game); font-weight: 700; font-size: 13.5px; cursor: pointer; padding: 11px;
  border-radius: 11px; color: #d6e0f5; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.adv-onb-sec:hover { background: rgba(255,255,255,.1); }
.adv-onb-primary { flex: 2; font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: .3px; cursor: pointer;
  padding: 11px; border-radius: 11px; color: #0a1420; background: #7fd4f7; border: none; }
.adv-onb-primary:hover { filter: brightness(1.08); }
.adv-onb-skip { margin-top: 12px; background: none; border: none; color: var(--muted); font-family: var(--game);
  font-weight: 600; font-size: 12px; cursor: pointer; text-decoration: underline; }
.adv-onb-skip:hover { color: #cfe0ff; }
.adv-onb-openbtn { background: rgba(127,212,247,.1) !important; border-color: rgba(127,212,247,.4) !important; color: #bfe8ff !important; }

/* Elección de inicial */
.adv-gen-label { font-family: var(--game); font-size: 11px; color: #c9822a; letter-spacing: 1px; margin: 14px 2px 7px; }
.adv-starter-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.adv-starter { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 10px 6px 8px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 4px; transition: transform .08s, border-color .15s; }
.adv-starter:hover { border-color: var(--accent); }
.adv-starter:active { transform: translateY(2px); }
.adv-starter img { width: 68px; height: 68px; }
.adv-starter span { font-family: var(--game); font-weight: 700; font-size: 13px; letter-spacing: .5px; color: var(--text); }

/* Tarjeta de reto (jefe) */
.adv-boss { position: relative; overflow: hidden; border-radius: 16px; border: 1px solid #6a4a1d;
  background: linear-gradient(155deg, #2e2312 0%, #1a1408 55%, #0d0a04 100%);
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 26px rgba(245,166,35,.14), 0 10px 26px rgba(0,0,0,.65);
  padding: 15px 16px; display: flex; gap: 15px; align-items: center; margin-bottom: 12px; }
.adv-boss::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 82% 30%, rgba(245,166,35,.16), transparent 55%); pointer-events: none; }
.adv-boss-opc { border-color: #3a4a6a; background: linear-gradient(155deg, #17203a 0%, #0e1424 55%, #070a12 100%); box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 22px rgba(90,120,220,.12), 0 10px 26px rgba(0,0,0,.65); }
.adv-boss-opc::before { background: radial-gradient(circle at 82% 30%, rgba(120,150,255,.14), transparent 55%); }
.adv-boss-spr { flex-shrink: 0; width: 100px; height: 100px; border-radius: 14px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden;
  background: radial-gradient(circle at 50% 65%, rgba(245,166,35,.22), rgba(0,0,0,.25) 70%); border: 1px solid rgba(245,166,35,.35); }
.adv-boss-opc .adv-boss-spr { background: radial-gradient(circle at 50% 65%, rgba(120,150,255,.2), rgba(0,0,0,.25) 70%); border-color: rgba(120,150,255,.35); }
.adv-boss-spr img { max-width: 88px; max-height: 92px; width: auto; height: auto; transform: scale(1.15); transform-origin: bottom; }
.adv-boss-info { flex: 1; min-width: 0; position: relative; }
.adv-boss-eyebrow { font-family: var(--game); font-size: 11px; color: #c9822a; letter-spacing: 1px; margin-bottom: 6px; }
.adv-boss-opc .adv-boss-eyebrow { color: #7a9aff; }
.adv-boss-name { font-family: var(--game); font-weight: 700; font-size: 24px; letter-spacing: 1px; line-height: 1; color: #ffe9c4; }
.adv-boss-opc .adv-boss-name { color: #d8e2ff; }
.adv-boss-role { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); letter-spacing: 1px; margin: 3px 0 8px; }
.adv-boss-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.adv-cap { font-family: var(--game); font-size: 12px; color: #111; background: var(--accent); border-radius: 7px; padding: 5px 8px; box-shadow: 0 2px 0 #9a6510; }
.adv-btn-fight { width: 100%; font-family: var(--game); font-weight: 700; font-size: 15px; letter-spacing: 1.5px; padding: 10px; border-radius: 10px; cursor: pointer; border: none;
  color: #1a0f00; background: linear-gradient(160deg, #ffd27a, #f5a623 55%, #c47a12);
  box-shadow: 0 4px 0 #7a4d0c, 0 8px 18px rgba(245,166,35,.35); transition: transform .08s; }
.adv-btn-fight:active { transform: translateY(3px); box-shadow: 0 1px 0 #7a4d0c; }

/* Chips de tipo (colores estándar) */
.adv-chip { font-family: var(--game); font-weight: 700; font-size: 11px; letter-spacing: .5px; border-radius: 6px; padding: 2px 8px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.5); background: #8a8a70; }
.adv-minitype { width: 9px; height: 9px; border-radius: 3px; display: inline-block; background: #8a8a70; }
.adv-t-normal { background: #8a8a70; } .adv-t-fire { background: #e0603a; } .adv-t-water { background: #3d8bd6; }
.adv-t-electric { background: #d6c33d; } .adv-t-grass { background: #5aa03c; } .adv-t-ice { background: #7ac2e0; }
.adv-t-fighting { background: #b3362b; } .adv-t-poison { background: #8a3f9e; } .adv-t-ground { background: #d0a94a; }
.adv-t-flying { background: #9887e8; } .adv-t-psychic { background: #e85a86; } .adv-t-bug { background: #8ba21e; }
.adv-t-rock { background: #a08654; } .adv-t-ghost { background: #6a5aa0; } .adv-t-dragon { background: #6a3ae8; }
.adv-t-dark { background: #5a4a3e; } .adv-t-steel { background: #a0a0c0; } .adv-t-fairy { background: #e89ab0; }

/* Botón entrenar */
.adv-entrenar { display: flex; align-items: center; gap: 12px; text-align: left; width: 100%; padding: 10px 14px; border-radius: 12px; cursor: pointer;
  border: 1px dashed var(--border); background: var(--surface); color: var(--text); transition: transform .08s, border-color .15s; }
.adv-entrenar:hover { border-color: var(--good); }
.adv-entrenar:active { transform: translateY(2px); }
.adv-entrenar img { width: 44px; height: 44px; object-fit: contain; }
.adv-entrenar b { font-family: var(--game); font-weight: 700; font-size: 15px; letter-spacing: 1px; color: var(--good); }
.adv-entrenar span { font-family: var(--game); font-weight: 600; font-size: 13px; line-height: 1.35; }
.adv-entrenar small { color: var(--muted); font-size: 12px; }

/* Zonas */
.adv-zonas { display: flex; flex-direction: column; gap: 9px; }
.adv-zona { position: relative; display: flex; align-items: center; gap: 13px; text-align: left; width: 100%; padding: 12px 14px; border-radius: 12px; cursor: pointer;
  border: none; border-left: 4px solid; color: var(--text); transition: transform .08s; }
.adv-zona:active { transform: translateY(2px); }
.adv-zona-lock { background: linear-gradient(150deg, #191b20, #0e0f13) !important; border-left-color: #3a3f4a !important; opacity: .6; cursor: not-allowed; box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 6px 16px rgba(0,0,0,.55) !important; }
.adv-zona-ico { flex-shrink: 0; width: 44px; height: 44px; border-radius: 10px; background: rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; font-size: 22px; border: 1px solid rgba(255,255,255,.07); }
.adv-zona-tx { flex: 1; min-width: 0; }
.adv-zona-name { font-family: var(--game); font-weight: 700; font-size: 17px; letter-spacing: 1px; line-height: 1.1; display: block; }
.adv-zona-info { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); letter-spacing: .5px; margin-top: 2px; display: block; }
.adv-zona-types { display: flex; gap: 4px; margin-top: 5px; }
.adv-zona-lvl { font-family: var(--game); font-size: 11px; color: var(--muted); background: rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.08); border-radius: 6px; padding: 5px 7px; flex-shrink: 0; }

/* Equipo */
.adv-team { display: flex; gap: 7px; }
.adv-slot { flex: 1; aspect-ratio: 1; background: var(--surface); border: 1px solid var(--border); border-radius: 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; padding: 3px; min-width: 0; }
.adv-slot img { width: 76%; height: auto; max-height: 58%; }
.adv-slot-lv { font-family: var(--game); font-size: 10px; color: var(--muted); }
.adv-slot-nombre { font-family: var(--game); font-weight: 700; font-size: 10.5px; line-height: 1.05; color: var(--text);
  max-width: 100%; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 3px; }
.adv-slot-empty { border-style: dashed; opacity: .45; }
.adv-slot-drag { cursor: grab; }
.adv-slot-drag:active { cursor: grabbing; }
.adv-slot-dragging { opacity: .4; }
.adv-slot-dragover { border-color: #7fb0ff !important; box-shadow: 0 0 0 2px rgba(127,176,255,.5), 0 0 14px rgba(127,176,255,.4); transform: scale(1.04); }
.adv-slot-empty::after { content: '+'; font-family: var(--game); font-size: 22px; color: var(--muted); }
.adv-shiny-star { position: absolute; top: 3px; right: 4px; font-size: 10px; filter: drop-shadow(0 0 4px #ffd700); }

.adv-caja-row { display: flex; justify-content: space-between; gap: 10px; margin-top: 10px; }
.adv-link { font-family: var(--game); font-weight: 700; font-size: 13px; color: #9db4ff; letter-spacing: 1px; background: none; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; padding: 4px; }
.adv-link-danger { color: #e07a7a; }

@media (max-width: 420px) {
  .adv-boss { flex-direction: column; text-align: center; }
  .adv-boss-meta { justify-content: center; }
}

/* ════════════════════ FASE 2 ════════════════════ */

/* Layout PC: pantalla completa en columnas · móvil: columna única */
.adv-hub-grid { display: flex; flex-direction: column; gap: 4px; }
@media (min-width: 900px) {
  #adv-root { max-width: 1240px; padding: 22px 26px 60px; }
  .adv-hub-grid { display: grid; grid-template-columns: 400px 1fr 320px; gap: 22px; align-items: start; }
  .adv-col { min-width: 0; }
  .adv-col .adv-sec-label:first-child { margin-top: 4px; }
  .adv-boss { flex-direction: row; }
  .adv-team { flex-wrap: wrap; }
  .adv-team .adv-slot { flex: 0 0 calc(33.33% - 5px); }
  .adv-caja-row { flex-direction: column; align-items: flex-start; gap: 4px; }
  /* Elección de inicial en PC: 3 tarjetas de gen por fila */
  .adv-starter-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 22px; }
}

/* Pantalla de zona */
.adv-zona-wrap { max-width: 760px; margin: 0 auto; width: 100%; }
.adv-stage { position: relative; border-radius: 18px; border: 1px solid var(--border); overflow: hidden; margin-bottom: 14px; min-height: 300px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 26px 18px; }
.adv-stage::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 92%, rgba(0,0,0,.55), transparent 60%); pointer-events: none; }
@media (min-width: 900px) { .adv-stage { min-height: 380px; } }
.adv-stage-idle { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.adv-stage-ico { font-size: 52px; filter: drop-shadow(0 8px 10px rgba(0,0,0,.5)); }
.adv-stage-hint { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--text); opacity: .85; max-width: 420px; line-height: 1.4; }
.adv-ev-title { font-family: var(--game); font-size: 11px; color: var(--accent); letter-spacing: 1px; text-shadow: 0 0 12px rgba(245,166,35,.5); }

/* Encuentro */
.adv-stage-enc { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.adv-enc-eyebrow { font-family: var(--game); font-size: 13px; letter-spacing: 1px; color: #cfe9c2; text-shadow: 0 0 10px rgba(160,255,140,.4); }
.adv-enc-eyebrow-shiny { color: #ffd700; text-shadow: 0 0 14px rgba(255,215,0,.8); animation: adv-tw 2.2s ease-in-out infinite; }
.adv-enc-spr { width: 140px; height: 140px; object-fit: contain; filter: drop-shadow(0 12px 10px rgba(0,0,0,.55)); }
@media (min-width: 900px) { .adv-enc-spr { width: 170px; height: 170px; object-fit: contain; } }
.adv-enc-name { font-family: var(--game); font-weight: 700; font-size: 25px; letter-spacing: 1px; color: #fff; }
.adv-enc-name small { font-family: var(--game); font-size: 12px; color: rgba(255,255,255,.65); margin-left: 8px; vertical-align: middle; }
.adv-enc-sub { font-family: var(--game); font-weight: 600; font-size: 13px; color: rgba(255,255,255,.75); }
.adv-enc-sub b { color: #7fe08a; }
.adv-stage-shiny { }
.adv-spark { position: absolute; font-size: 15px; color: #ffd700; animation: adv-tw 1.6s ease-in-out infinite; text-shadow: 0 0 10px rgba(255,215,0,.8); }
@keyframes adv-tw { 0%,100% { opacity: .2; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.15); } }

/* Acciones de zona */
.adv-zona-actions { display: flex; flex-direction: column; gap: 9px; }
.adv-btn-explore { font-family: var(--game); font-weight: 700; font-size: 18px; letter-spacing: 1.5px; padding: 14px; border-radius: 12px; cursor: pointer; border: none;
  color: #0e1a08; background: linear-gradient(160deg, #a8e88a, #7ad65a 55%, #4a9e2e);
  box-shadow: 0 4px 0 #2e6a18, 0 10px 22px rgba(122,214,90,.35); transition: transform .08s; }
.adv-btn-explore small { font-size: 13px; opacity: .8; margin-left: 6px; }
.adv-btn-explore:active { transform: translateY(3px); box-shadow: 0 1px 0 #2e6a18; }
.adv-btn-explore[disabled] { filter: grayscale(.8); opacity: .55; cursor: not-allowed; box-shadow: none; }
.adv-btn-combat { font-family: var(--game); font-weight: 700; font-size: 17px; letter-spacing: 1px; padding: 13px; border-radius: 12px; cursor: pointer; border: none;
  color: #1a0f00; background: linear-gradient(160deg, #ffd27a, #f5a623 55%, #c47a12);
  box-shadow: 0 4px 0 #7a4d0c, 0 10px 22px rgba(245,166,35,.35); transition: transform .08s; }
.adv-btn-combat:active { transform: translateY(3px); box-shadow: 0 1px 0 #7a4d0c; }
.adv-btn-flee, .adv-btn-back { font-family: var(--game); font-weight: 700; font-size: 14px; letter-spacing: 1px; padding: 10px; border-radius: 11px; cursor: pointer;
  color: var(--muted); background: linear-gradient(160deg, #2a2f3a, #191d26); border: 1px solid var(--border);
  box-shadow: 0 3px 0 rgba(0,0,0,.5); transition: transform .08s; }
.adv-btn-flee:active, .adv-btn-back:active { transform: translateY(2px); }
.adv-noenergy { font-family: var(--game); font-weight: 600; font-size: 13px; color: #e0a07a; text-align: center; line-height: 1.4; }
@media (min-width: 900px) {
  .adv-zona-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  .adv-btn-explore, .adv-btn-combat { min-width: 320px; }
  .adv-btn-flee, .adv-btn-back { min-width: 180px; }
}

/* Botón de captura flotante en la batalla */
#adv-ball-btn { position: fixed; right: 16px; bottom: 96px; z-index: 60; display: flex; align-items: center; gap: 9px;
  padding: 10px 16px 10px 12px; border-radius: 40px; border: none; cursor: pointer;
  background: linear-gradient(160deg, #ff8a7a, #e85a5a 55%, #b03030);
  box-shadow: 0 4px 0 #7a1d1d, 0 0 22px rgba(232,90,90,.55), 0 10px 24px rgba(0,0,0,.5);
  transition: transform .08s; }
#adv-ball-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 #7a1d1d, 0 0 22px rgba(232,90,90,.55); }
#adv-ball-btn .abb-ico { font-size: 26px; color: #fff; text-shadow: 0 2px 3px rgba(0,0,0,.4); }
#adv-ball-btn .abb-tx { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.05; }
#adv-ball-btn .abb-tx b { font-family: var(--game); font-weight: 700; font-size: 17px; color: #fff; letter-spacing: .5px; }
#adv-ball-btn .abb-tx small { font-family: var(--game); font-weight: 600; font-size: 11px; color: rgba(255,255,255,.8); }
@media (max-width: 640px) { #adv-ball-btn { bottom: 150px; right: 10px; padding: 8px 13px 8px 10px; } }

/* ════════════════════ FICHA DE POKÉMON (modal) ════════════════════ */
#adv-ficha-overlay { position: fixed; inset: 0; z-index: 252; background: rgba(5, 8, 14, .78); backdrop-filter: blur(3px);
  display: flex; align-items: stretch; justify-content: center; padding: 0; }
/* Ficha del Pokémon a pantalla completa (como la ruleta/blackjack). */
#adv-ficha-overlay .advf-card { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh;
  border-radius: 0; border: none; padding: 30px clamp(16px, 6vw, 120px) 40px; }
#adv-ficha-overlay .advf-card.advf-card-2col { max-width: 100vw; }
.advf-card { position: relative; width: 100%; max-width: 560px; max-height: 88vh; overflow-y: auto;
  background: linear-gradient(165deg, #1a2236 0%, #10141d 60%, #0b0e14 100%);
  border: 1px solid var(--border); border-radius: 18px; padding: 20px 20px 24px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 34px rgba(90,120,220,.16), 0 18px 44px rgba(0,0,0,.7); }
.advf-close { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--border);
  background: rgba(0,0,0,.35); color: var(--muted); font-size: 15px; cursor: pointer; }
.advf-close:hover { color: #fff; border-color: #5a6a9a; }
.advf-head { display: flex; gap: 16px; align-items: center; margin-bottom: 12px; }
/* s903 · Acceso directo al PC desde la ficha (mismo icono que la aventura). */
.advf-pc-btn { align-self: flex-start; margin-left: auto; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; width: 158px; min-height: 92px; padding: 12px; cursor: pointer;
  background: linear-gradient(160deg, #1c2740, #10141d); border: 1.5px solid #3f6199; border-radius: 14px;
  box-shadow: 0 0 16px rgba(90,150,255,.22), 0 4px 12px rgba(0,0,0,.5); transition: transform .1s, box-shadow .15s, filter .15s; }
.advf-pc-btn:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 0 24px rgba(90,150,255,.45), 0 6px 16px rgba(0,0,0,.55); }
.advf-pc-btn:active { transform: translateY(1px); }
.advf-pc-img { width: 46px; height: 46px; object-fit: contain; }
.advf-pc-tx { font-family: var(--game); font-weight: 800; font-size: 16px; letter-spacing: 1.5px; color: #cfe0ff; }
.advf-spr { flex-shrink: 0; width: 104px; height: 104px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 62%, rgba(120,150,255,.18), rgba(0,0,0,.3) 72%); border: 1px solid rgba(120,150,255,.3); }
.advf-spr-shiny { background: radial-gradient(circle at 50% 62%, rgba(255,215,0,.2), rgba(0,0,0,.3) 72%); border-color: rgba(255,215,0,.4);
  box-shadow: 0 0 18px rgba(255,215,0,.25); }
.advf-spr img { width: 92px; height: 92px; }
.advf-dexno { font-family: var(--game); font-size: 11px; color: var(--muted); letter-spacing: 1px; margin-bottom: 5px; }
.advf-name { font-family: var(--game); font-weight: 700; font-size: 26px; letter-spacing: 1px; line-height: 1; color: #fff; }
.advf-name small { font-size: 18px; color: var(--muted); }
.advf-sub { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--muted); letter-spacing: .5px; margin: 4px 0 8px; }
.advf-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.advf-abil { font-family: var(--game); font-weight: 700; font-size: 12px; color: #9db4ff; background: rgba(90,120,220,.12);
  border: 1px solid rgba(90,120,220,.3); border-radius: 6px; padding: 2px 8px; letter-spacing: .5px; }
/* s435: habilidad clicable (cursor de ayuda) + tooltip flotante y botón cápsula */
.adv-abil-hover { cursor: help; }
.adv-abil-hover:hover { filter: brightness(1.2); }
.adv-abil-tip { position: fixed; z-index: 10100; pointer-events: none; max-width: 280px; padding: 11px 13px;
  background: linear-gradient(165deg, #1a2438, #101725); border: 1px solid rgba(120,150,255,.4); border-radius: 12px;
  box-shadow: 0 14px 36px rgba(0,0,0,.6); }
.adv-abil-tip-nom { font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: .5px; color: #cfe0ff; margin-bottom: 5px; }
.adv-abil-tip-desc { font-family: 'Rajdhani', sans-serif; font-size: 13px; line-height: 1.4; color: #b9c6dd; }
.advf-capsula-btn { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .4px; cursor: pointer;
  color: #cfe0ff; background: linear-gradient(160deg, #2a4a6a, #1d3350); border: 1px solid #4a7ab0; border-radius: 8px;
  padding: 5px 11px; margin-left: 6px; transition: filter .12s; }
.advf-capsula-btn:hover { filter: brightness(1.15); }
.advf-evo { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--text); background: rgba(122,214,90,.08);
  border: 1px dashed rgba(122,214,90,.35); border-radius: 10px; padding: 8px 12px; margin-bottom: 6px; line-height: 1.35; }
.advf-evo b { color: #a8e88a; }
.advf-evo small { color: var(--muted); }
.advf-evo-tit { font-family: var(--game); font-size: 11px; color: var(--muted); letter-spacing: 1px; margin: 4px 0 8px; }
.advf-evowrap { margin-bottom: 6px; }
/* s397: cadena evolutiva horizontal con sprites, estilo juegos oficiales */
.advf-evoline { display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap;
  gap: 2px; background: rgba(255,255,255,.03); border: 1px solid var(--border); border-radius: 12px; padding: 12px 8px; }
.advf-evonode { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 92px; padding: 6px 2px;
  border-radius: 10px; }
.advf-evonode-on { background: rgba(122,214,90,.12); box-shadow: inset 0 0 0 1px rgba(122,214,90,.4); }
.advf-evospr { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; }
.advf-evospr img { max-width: 72px; max-height: 72px; image-rendering: pixelated; object-fit: contain; }
.advf-evonom { font-family: var(--game); font-weight: 700; font-size: 12px; color: var(--text); text-align: center; }
.advf-evonode-on .advf-evonom { color: #a8e88a; }
.advf-evostep { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  min-width: 62px; align-self: center; padding-top: 18px; }
.advf-evocomo { font-family: var(--game); font-weight: 700; font-size: 11px; color: #e2b448; text-align: center; line-height: 1.15; }
.advf-evoarrow { color: var(--muted); font-size: 12px; }
/* s403: ramas múltiples (Snorunt→Glalie/Froslass, Kirlia→Gardevoir/Gallade…).
   Se apilan verticalmente; cada rama es una fila método→nodo→(resto). */
.advf-evobranches { display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.advf-evobranch { display: flex; align-items: center; }
/* s398: en el panel lateral del PC (estrecho) la cadena va en UNA sola fila
   con sprites pequeños. Si no cabe, permite scroll horizontal en vez de saltar. */
.pcinfo-evo .advf-evoline { flex-wrap: nowrap; gap: 0; padding: 10px 4px; overflow-x: auto; }
.pcinfo-evo .advf-evonode { width: auto; min-width: 52px; padding: 4px 2px; gap: 2px; }
.pcinfo-evo .advf-evospr { width: 46px; height: 46px; }
.pcinfo-evo .advf-evospr img { max-width: 46px; max-height: 46px; }
.pcinfo-evo .advf-evonom { font-size: 10px; }
.pcinfo-evo .advf-evostep { min-width: 42px; padding-top: 10px; }
.pcinfo-evo .advf-evocomo { font-size: 9px; }
.pcinfo-evo .advf-evobranches { gap: 6px; }
.pcinfo-evo .advf-evoline { align-items: center; }
.advf-dim { color: var(--muted); background: rgba(255,255,255,.03); border-color: var(--border); }
.advf-sec { font-family: var(--game); font-size: 11px; color: var(--muted); letter-spacing: 1px; margin: 15px 0 8px; }
.advf-sec small { font-family: var(--game); font-size: 11px; letter-spacing: .3px; text-transform: none; }
.advf-stat { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; }
.advf-stat-n { font-family: var(--game); font-weight: 700; font-size: 12px; color: var(--muted); width: 62px; flex-shrink: 0; letter-spacing: .5px; }
.advf-stat-bar { flex: 1; height: 9px; background: rgba(0,0,0,.45); border-radius: 5px; border: 1px solid rgba(255,255,255,.07); overflow: hidden; }
.advf-stat-bar i { display: block; height: 100%; border-radius: 5px; }
.advf-stat-v { font-family: var(--game); font-weight: 700; font-size: 13px; color: var(--text); width: 32px; text-align: right; flex-shrink: 0; }
.advf-ivs { display: flex; flex-wrap: wrap; gap: 6px; }
.advf-iv { font-family: var(--game); font-weight: 600; font-size: 12px; border: 1px solid; border-radius: 7px; padding: 3px 8px; letter-spacing: .3px; }
.advf-iv b { font-size: 13px; }
.advf-movs { display: flex; flex-wrap: wrap; gap: 6px; }
.advf-movs-scroll { max-height: 130px; overflow-y: auto; padding-right: 4px; }
.advf-mov { font-family: var(--game); font-weight: 700; font-size: 13px; color: #dbe4f5; background: var(--surface2);
  border: 1px solid var(--border); border-radius: 8px; padding: 5px 10px; letter-spacing: .3px; }
.advf-mov-mini { font-size: 11px; padding: 3px 8px; font-weight: 600; color: var(--muted); background: rgba(255,255,255,.03); }
.advf-mov-known { color: #a8e88a; border-color: rgba(122,214,90,.4); background: rgba(122,214,90,.08); }

/* ════════════════ DOCK FLOTANTE DE BATALLA (s266) ════════════════ */
#adv-btl-dock { position: fixed; z-index: 205; display: flex; flex-direction: column; gap: 6px; touch-action: none;
  padding: 7px; border-radius: 14px; background: rgba(13, 17, 23, .82); border: 1px solid var(--border);
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 8px 22px rgba(0,0,0,.55); backdrop-filter: blur(4px); cursor: grab; }
#adv-btl-dock:active { cursor: grabbing; }
#adv-ball-btn { display: flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; border-radius: 11px; border: none; cursor: pointer;
  background: linear-gradient(160deg, #ff8a7a, #e85a5a 55%, #b03030);
  box-shadow: 0 3px 0 #7a1d1d, 0 0 16px rgba(232,90,90,.45); transition: transform .08s; }
#adv-ball-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #7a1d1d; }
#adv-ball-btn b { font-family: var(--game); font-weight: 700; font-size: 17px; color: #fff; letter-spacing: .5px; }
#adv-ball-btn small { font-family: var(--game); font-weight: 700; font-size: 12px; color: #ffe9a0; }
#adv-ball-btn.adv-ball-empty { background: linear-gradient(160deg, #4a4438, #35301f 55%, #221d10);
  box-shadow: 0 3px 0 #191509, 0 0 22px rgba(255, 210, 60, .75); animation: adv-glowamb 1.4s ease-in-out infinite; }
@keyframes adv-glowamb { 0%,100% { box-shadow: 0 3px 0 #191509, 0 0 12px rgba(255,210,60,.45); } 50% { box-shadow: 0 3px 0 #191509, 0 0 28px rgba(255,210,60,.95); } }
.adv-mini-ball { position: relative; display: inline-block; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(180deg, #ff5a48 0%, #d0392b 46%, #1a1a1a 46%, #1a1a1a 54%, #fafafa 54%, #dcdcdc 100%);
  box-shadow: inset -2px -3px 5px rgba(0,0,0,.35); }
.adv-mini-ball i { position: absolute; left: 50%; top: 50%; width: 30%; height: 30%; transform: translate(-50%,-50%);
  background: radial-gradient(circle, #fff 38%, #cfcfcf 58%, #1a1a1a 62%); border-radius: 50%; border: 1.5px solid #1a1a1a; }
#adv-flee-btn { font-family: var(--game); font-weight: 700; font-size: 13px; letter-spacing: 1px; padding: 7px 10px; border-radius: 10px; cursor: pointer;
  color: #aab2c0; background: linear-gradient(160deg, #2a2f3a, #191d26); border: 1px solid var(--border);
  box-shadow: 0 2px 0 rgba(0,0,0,.5); transition: transform .08s; }
#adv-flee-btn:active { transform: translateY(2px); }
#adv-noballs-menu { display: none; flex-direction: column; gap: 6px; margin-bottom: 2px; }
#adv-noballs-menu.on { display: flex; }
#adv-noballs-menu button { text-align: left; font-family: var(--game); font-weight: 700; font-size: 14px; letter-spacing: .5px;
  color: #fff; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--border); cursor: pointer;
  background: linear-gradient(160deg, #2a3d6e, #1e2a52); box-shadow: 0 2px 0 rgba(0,0,0,.5); }
#adv-noballs-menu button small { display: block; font-size: 11px; font-weight: 600; color: #b9c6e8; margin-top: 2px; letter-spacing: .3px; }
#adv-noballs-menu button:first-child { background: linear-gradient(160deg, #7a4d0c, #5a3a08); border-color: #a06a14; }
#adv-noballs-menu button:first-child small { color: #ffd88a; }

/* ════════════════ FICHA v2: IVs/EVs en rejilla, naturaleza ════════════════ */
.advf-nature { font-family: var(--game); font-weight: 700; font-size: 13px; color: #e8d5a0; background: rgba(245,166,35,.08);
  border: 1px solid rgba(245,166,35,.3); border-radius: 7px; padding: 3px 9px; letter-spacing: .5px; display: inline-flex; gap: 8px; align-items: center; }
.advf-nature small { color: var(--muted); font-weight: 600; }
.advf-nat-up { color: #7fe08a; font-size: 12px; }
.advf-nat-dn { color: #e0836a; font-size: 12px; }
.advf-stat-calc { font-family: var(--game); font-weight: 700; font-size: 13px; color: #9db4ff; width: 38px; text-align: right; flex-shrink: 0;
  border-left: 1px solid var(--border); padding-left: 7px; }
.advf-ivgrid, .advf-evgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.advf-ivcell, .advf-evcell { position: relative; background: rgba(0,0,0,.28); border: 1px solid var(--border); border-radius: 10px; padding: 8px 9px 9px; }
.advf-ivname { font-family: var(--game); font-weight: 600; font-size: 11px; color: var(--muted); letter-spacing: .5px; display: block; }
.advf-ivval { font-family: var(--game); font-weight: 700; font-size: 19px; letter-spacing: .5px; display: block; line-height: 1.15; }
.advf-evval { font-family: var(--game); font-weight: 700; font-size: 19px; color: #f5c860; display: block; line-height: 1.15; }
.advf-ivbar { height: 5px; background: rgba(0,0,0,.5); border-radius: 3px; overflow: hidden; margin-top: 5px; border: 1px solid rgba(255,255,255,.06); }
.advf-ivbar i { display: block; height: 100%; border-radius: 3px; }
.advf-evtrain { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border-radius: 8px; border: 1px solid rgba(122,214,90,.4);
  background: rgba(122,214,90,.12); cursor: pointer; font-size: 13px; line-height: 1; padding: 0; transition: transform .08s; }
.advf-evtrain:hover { background: rgba(122,214,90,.25); }
.advf-evtrain:active { transform: translateY(1px); }
.advf-evtotal { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); margin-top: 7px; letter-spacing: .3px; }
/* s468: editor de EVs por barras */
.advf-evedit { display: flex; flex-direction: column; gap: 6px; }
.advf-evrow { display: grid; grid-template-columns: 82px 1fr 54px; align-items: center; gap: 10px; }
.advf-evrow-n { font-family: var(--game); font-weight: 700; font-size: 12.5px; color: #cfdaf2; letter-spacing: .3px; }
/* Barra con relleno de color hasta el valor actual (--fill = 0..100%) */
.advf-evslider { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 5px;
  background: linear-gradient(to right, #f5c860 0%, #f5a623 var(--fill,0%), rgba(0,0,0,.5) var(--fill,0%), rgba(0,0,0,.5) 100%);
  border: 1px solid rgba(255,255,255,.1); cursor: pointer; outline: none; }
.advf-evslider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%;
  /* s599 · Centrar el tirador sobre la barra de 8px (antes quedaba por debajo). */
  margin-top: -4px;
  background: #ffe08a; border: 2px solid #1a2236; box-shadow: 0 1px 4px rgba(0,0,0,.5); cursor: pointer; }
.advf-evslider::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #ffe08a; border: 2px solid #1a2236; cursor: pointer; }
.advf-evslider::-moz-range-track { height: 8px; border-radius: 5px; background: transparent; }
.advf-evslider::-webkit-slider-runnable-track { height: 8px; border-radius: 5px; }
.advf-evnum { width: 54px; padding: 4px 6px; border-radius: 7px; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.14);
  color: #f5c860; font-family: var(--game); font-weight: 700; font-size: 14px; text-align: center; }
.advf-evnum:focus { outline: none; border-color: #f5c860; }
.advf-evbar-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.advf-evtotal b { color: #cfdaf2; }
.advf-evedit-tope + .advf-evbar-foot .advf-evtotal b { color: #ffb46a; }
.advf-evcoste { font-family: var(--game); font-weight: 600; font-size: 12.5px; color: var(--muted); letter-spacing: .3px; }
.advf-evcoste b { color: #ffd76a; font-size: 14px; }
.advf-evcoste small { color: rgba(200,215,245,.55); }
.advf-evaceptar { width: 100%; margin-top: 8px; padding: 9px; border-radius: 10px; cursor: pointer;
  font-family: var(--game); font-weight: 800; font-size: 13.5px; letter-spacing: .5px; color: #0d1a0c;
  background: #6cd08a; border: none; transition: filter .13s, background .13s; }
.advf-evaceptar:hover:not([disabled]) { filter: brightness(1.1); }
.advf-evaceptar:active:not([disabled]) { transform: translateY(1px); }
.advf-evaceptar[disabled] { background: rgba(255,255,255,.08); color: var(--muted); cursor: default; }
.advf-evaceptar-no { background: #4a2a2a !important; color: #ffb0b0 !important; cursor: not-allowed; }
.advf-mov-edit { cursor: pointer; }
.advf-mov-edit small { color: var(--muted); }
.advf-mov-edit:hover { border-color: #9db4ff; color: #fff; }
@media (max-width: 420px) { .advf-ivgrid, .advf-evgrid { grid-template-columns: repeat(2, 1fr); } }

/* ════════════════ s267: dock alineado + ficha v3 ════════════════ */
#adv-btl-dock { align-items: stretch; min-width: 118px; }
#adv-ball-btn, #adv-flee-btn { width: 100%; box-sizing: border-box; justify-content: center; text-align: center; }

/* Ficha ancha en PC, dos columnas */
.advf-card { max-width: 640px; }
/* s463: layout base — una sola columna (móvil). En PC se divide en dos. */
.advf-body2 { display: flex; flex-direction: column; gap: 4px; }
.advf-side { min-width: 0; }
@media (min-width: 860px) {
  .advf-card.advf-card-2col { max-width: 1080px; padding: 24px 26px 28px; }
  /* Izquierda: Pokémon (cabecera + stats + IVs + EVs). Derecha: ataques.
     s465: las dos columnas igualan altura (stretch) para que la de ataques se
     estire hasta abajo. */
  .advf-body2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 30px; align-items: stretch; }
  /* La columna de ataques es una columna flex. s465b: en PC quitamos el scroll
     interno del selector para que NO se corte: las tarjetas fluyen todas y es la
     ficha entera la que hace scroll (un solo scroll, sin recuadro recortado). */
  .advf-side-right { display: flex; flex-direction: column; }
  .advf-side-right > #advf-selector { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
  .advf-side-right .advf-movsel { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
  .advf-side-right .advf-aprender-scroll { flex: 1 1 auto; min-height: 0; max-height: none; overflow: visible; }
  /* s465b: como ahora scrollea la ficha entera, fijamos la barra de filtros
     arriba para que no se pierda de vista al desplazarse por los ataques. */
  .advf-side-right .advf-movfiltros { position: sticky; top: 0; z-index: 4;
    background: #121826; margin: 0 -10px 8px; padding: 12px 10px 9px; }
  /* s469: compactar la columna izquierda para que quepa sin scroll de primeras. */
  .advf-side-left .advf-head { margin-bottom: 10px; }
  .advf-side-left .advf-headsep { margin: 7px 0; }
  .advf-side-left .advf-acts-row { margin-top: 8px; }
  .advf-side-left .advf-sec { margin: 10px 0 5px; }
  .advf-side-left .advf-stat { margin-bottom: 3px; }
  .advf-side-left .advf-stat-bar { height: 8px; }
  .advf-side-left .advf-ivgrid { gap: 6px; }
  .advf-side-left .advf-ivcell { padding: 5px 8px 6px; }
  .advf-side-left .advf-ivval { font-size: 16px; }
  .advf-side-left .advf-ivbar { margin-top: 3px; }
  .advf-side-left .advf-evedit { gap: 5px; }
  .advf-side-left .advf-evbar-foot { margin-top: 6px; }
  .advf-side-left .advf-evaceptar { margin-top: 6px; padding: 8px; }
}
@media (min-width: 1200px) {
  .advf-card.advf-card-2col { max-width: 1320px; }
  .advf-body2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 36px; }
}
@media (min-width: 1560px) {
  .advf-card.advf-card-2col { max-width: 1500px; }
  .advf-body2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); }
}

/* Barras de stats estilo builder: base translúcida + tramo de mejora con glow */
.advf-stat-bar { position: relative; }
.advf-sb-base { position: absolute; left: 0; top: 0; height: 100%; opacity: .5; border-radius: 5px 0 0 5px; display: block; }
.advf-sb-up { position: absolute; top: 0; height: 100%; display: block; box-shadow: 0 0 8px 1px currentColor; filter: brightness(1.2); opacity: .95; }
.advf-sb-dn { position: absolute; top: 0; height: 100%; display: block; background: repeating-linear-gradient(45deg, rgba(231,76,60,.7) 0 4px, rgba(231,76,60,.25) 4px 8px); }
.advf-nat-row-up .advf-stat-n { color: #7fe08a; }
.advf-nat-row-dn .advf-stat-n { color: #e0836a; }
.advf-stat-v { width: 40px; }

/* Tarjetas de movimiento estilo juego */
.advf-movcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 9px; }
@media (max-width: 480px) { .advf-movcards { grid-template-columns: 1fr; } }
.advm-card { position: relative; text-align: left; border: 1.5px solid; border-radius: 12px; padding: 9px 11px 10px; cursor: pointer;
  display: flex; flex-direction: column; gap: 5px; color: #fff; transition: transform .08s, filter .15s;
  box-shadow: 0 3px 0 rgba(0,0,0,.45), 0 6px 14px rgba(0,0,0,.35); }
.advm-card:hover { filter: brightness(1.15); }
.advm-card:active { transform: translateY(2px); }
.advm-empty { background: rgba(255,255,255,.04); border-color: var(--border); border-style: dashed; color: var(--muted); align-items: center; justify-content: center; min-height: 84px; }
.advm-add { font-family: var(--game); font-weight: 700; font-size: 13px; letter-spacing: .5px; }
.advm-name { font-family: var(--game); font-weight: 700; font-size: 16px; letter-spacing: .5px; line-height: 1.1; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.advm-name small { opacity: .7; font-size: 12px; }
.advm-type { font-family: var(--game); font-weight: 700; font-size: 11px; letter-spacing: .5px; display: flex; align-items: center; gap: 5px; opacity: .95; }
.advm-type img, .advm-type svg { width: 15px; height: 15px; }
.advm-row { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.advm-box { font-family: var(--game); font-weight: 600; font-size: 10px; letter-spacing: .3px; color: rgba(255,255,255,.8);
  background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.12); border-radius: 6px; padding: 3px 6px; white-space: nowrap; }
.advm-box b { font-size: 12px; color: #fff; }
.advm-info { margin-left: auto; width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.25); font-size: 11px; cursor: help; }
.advm-info:hover { background: rgba(255,255,255,.18); }
/* s415: selector "elige el nuevo movimiento" con tarjetas completas por grupo */
.advf-aprender-scroll { max-height: 420px; overflow-y: auto; padding-right: 4px; margin-top: 4px; }
/* s462: selector de movimientos con filtros pegados arriba y scroll interno */
.advf-movsel { border: 1px solid rgba(120,150,210,.22); border-radius: 12px; background: rgba(0,0,0,.22);
  padding: 0 10px 10px; margin-top: 4px; }
.advf-movfiltros { background: transparent; padding: 10px 0 9px;
  border-bottom: 1px solid rgba(255,255,255,.09); margin-bottom: 8px; }
.advf-ffila { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.advf-ffila + .advf-ffila { margin-top: 8px; }
.advf-fcat { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .3px; cursor: pointer;
  padding: 6px 12px; border-radius: 8px; color: #d6e0f5; background: rgba(255,255,255,.05);
  border: 1.5px solid rgba(255,255,255,.14); transition: background .13s, border-color .13s, color .13s; }
.advf-fcat:hover { background: rgba(255,255,255,.09); }
.advf-fcat.on { background: #1c2536; border-color: #9ab4ff; color: #fff; }
/* s466: botones de ORIGEN (MT / Nivel), orden por potencia, separador, "Todos" */
.advf-ftodos.on { background: #24304a; border-color: #7fb0ff; color: #fff; }
.advf-forig { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .3px; cursor: pointer;
  padding: 6px 11px; border-radius: 8px; color: #d6e0f5; background: rgba(255,255,255,.05);
  border: 1.5px solid rgba(255,255,255,.14); transition: background .13s, border-color .13s, color .13s; }
.advf-forig:hover { background: rgba(255,255,255,.09); }
.advf-forig.on { background: #16281f; border-color: #6cd08a; color: #cdf5bb; }
.advf-fpot { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .3px; cursor: pointer;
  padding: 6px 11px; border-radius: 8px; color: #ffe08a; background: rgba(245,200,60,.08);
  border: 1.5px solid rgba(245,200,60,.3); transition: background .13s, border-color .13s; white-space: nowrap; }
.advf-fpot:hover { background: rgba(245,200,60,.16); }
.advf-fpot.on { background: rgba(245,200,60,.22); border-color: #f5c83c; color: #fff; }
.advf-fsep { width: 1px; align-self: stretch; min-height: 20px; background: rgba(255,255,255,.14); margin: 0 2px; }
.advf-fbuscar { flex: 1; min-width: 110px; padding: 7px 11px; border-radius: 8px; background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14); color: #eaf1ff; font-family: var(--game); font-weight: 600; font-size: 13px; }
.advf-fbuscar:focus { outline: none; border-color: #7fb0ff; }
.advf-fbuscar-sm { flex: 0 1 150px; min-width: 100px; margin-left: auto; padding: 6px 10px; font-size: 12.5px; }
.advf-fchip { font-family: var(--game); font-weight: 700; font-size: 11.5px; letter-spacing: .2px; cursor: pointer;
  padding: 4px 10px; border-radius: 999px; color: #d6e0f5; background: color-mix(in srgb, var(--fc,#888) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--fc,#888) 45%, transparent); transition: background .13s, box-shadow .13s; }
.advf-fchip:hover { background: color-mix(in srgb, var(--fc,#888) 26%, transparent); }
.advf-fchip.on { background: color-mix(in srgb, var(--fc,#888) 40%, transparent); color: #fff;
  box-shadow: 0 0 0 1.5px var(--fc,#888) inset; }
.advf-fchip-clear { --fc:#8a97b5; color: #aab4cc; }
.advf-movsin { text-align: center; color: var(--muted); font-family: var(--game); font-weight: 600; font-size: 13px; padding: 22px 8px; }
.advf-movsel .advf-aprender-scroll { max-height: 300px; margin-top: 0; }
.advf-movgrp-tit { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: 1px; color: #c9b3ff;
  text-transform: uppercase; margin: 12px 0 8px; padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.12); }
.advf-aprender-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin-bottom: 6px; }
.advm-aprender { min-height: 92px; }
.advm-card-known { outline: 2px solid #ffd76a; outline-offset: -2px; }
.advm-card-futuro { opacity: .55; cursor: default; box-shadow: 0 2px 0 rgba(0,0,0,.4); }
.advm-card-futuro:hover { filter: none; }
.advm-card-ocupado { opacity: .5; cursor: default; }
.advm-card-ocupado:hover { filter: none; }
.advm-badge { font-family: var(--game); font-weight: 800; font-size: 9.5px; letter-spacing: .5px; padding: 2px 6px;
  border-radius: 5px; margin-left: 6px; vertical-align: middle; }
.advm-badge-mt { background: #2a6cd0; color: #dceaff; }
.advm-badge-lv { background: rgba(0,0,0,.5); color: #cdd6e6; border: 1px solid rgba(255,255,255,.25); }
.advm-badge-nivel { background: rgba(0,0,0,.4); color: #b8f0a0; border: 1px solid rgba(140,220,120,.4); }
.advm-badge-actual { background: #c99a20; color: #fff5d8; }
.advm-badge-ocupado { background: rgba(0,0,0,.5); color: #ff9e9e; border: 1px solid rgba(226,72,61,.5); }

/* Entrenadores MT en zona */
.adv-enc-trainer { width: auto !important; height: 120px !important; object-fit: contain; }
@media (min-width: 900px) { .adv-enc-trainer { height: 150px !important; } }
.adv-tr-team { display: flex; gap: 6px; justify-content: center; position: relative; }
.adv-tr-poke { width: 44px; height: 44px; background: rgba(0,0,0,.35); border-radius: 10px; border: 1px solid rgba(255,255,255,.12); }

/* ════════════════ s268 ════════════════ */

/* Header de la pantalla: flecha a la izquierda, título centrado, ancho completo */
#screen-adventure .rg-header { width: 100%; max-width: 1240px; margin: 0 auto; display: flex; align-items: center; padding: 10px 14px 0; }
#screen-adventure .rg-back { margin-right: 10px; }
/* s904 · Botón campamento compacto en la barra superior (solo en exploración) */
.adv-topcamp { padding: 7px 13px; font-size: 13px; letter-spacing: 1px; min-height: 0; }
.adv-topcamp span { letter-spacing: 1px; }
#screen-adventure .rg-htitle { position: absolute; left: 50%; transform: translateX(-50%); }
#screen-adventure .rg-header { position: relative; }

/* Cabecera del hub: PA y tienda */
.adv-pa { font-family: var(--game); font-weight: 700; font-size: 13px; color: #ffd76a; letter-spacing: .5px; }
.adv-tienda-btn { font-family: var(--game); font-weight: 700; font-size: 12px; letter-spacing: .5px; color: #1a1200; cursor: pointer;
  background: linear-gradient(160deg, #ffd27a, #f5a623); border: none; border-radius: 8px; padding: 4px 10px; margin-left: 8px;
  box-shadow: 0 2px 0 #7a4d0c, 0 0 12px rgba(245,166,35,.3); vertical-align: middle; }
.adv-tienda-btn:active { transform: translateY(1px); }
.adv-progreso { height: 5px; border-radius: 3px; background: rgba(0,0,0,.45); border: 1px solid var(--border); overflow: hidden; margin: -4px 0 16px; }
.adv-progreso i { display: block; height: 100%; background: linear-gradient(90deg, #f5a623, #ffd76a); border-radius: 3px; box-shadow: 0 0 8px rgba(245,166,35,.6); }

/* Barra de experiencia (slots del equipo y ficha) */
.adv-expbar { width: 86%; height: 4px; border-radius: 3px; background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.1); overflow: hidden; margin-top: 3px; }
.adv-expbar i { display: block; height: 100%; background: linear-gradient(90deg, #4fc3f7, #7ad65a); border-radius: 3px; }
.advf-exp { display: flex; align-items: center; gap: 8px; margin: 4px 0 6px; }
.advf-exp .adv-expbar { width: 130px; margin-top: 0; }
.advf-exp small { font-family: var(--game); font-weight: 600; font-size: 11px; color: var(--muted); }

/* Selector de tipo de ball en el dock */
#adv-ball-btn #abb-caret { margin-left: 2px; font-size: 12px; color: rgba(255,255,255,.85); padding: 4px 2px 4px 6px; border-left: 1px solid rgba(255,255,255,.25); }
#adv-ball-sel { display: none; flex-direction: column; gap: 4px; margin-bottom: 4px; }
#adv-ball-sel.on { display: flex; }
.abs-opt { display: flex; align-items: center; gap: 7px; font-family: var(--game); font-weight: 700; font-size: 12px; letter-spacing: .3px;
  color: #dbe4f5; text-align: left; padding: 6px 9px; border-radius: 9px; cursor: pointer;
  background: rgba(0,0,0,.4); border: 1px solid var(--border); }
.abs-opt b { margin-left: auto; color: #fff; }
.abs-opt small { color: #7fe08a; font-size: 10px; }
.abs-opt.on { border-color: var(--accent); box-shadow: 0 0 8px rgba(245,166,35,.35); }
.abs-opt.off { opacity: .4; }
.abs-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; box-shadow: inset -1px -2px 3px rgba(0,0,0,.4); }

/* Tienda */
#adv-tienda-overlay { position: fixed; inset: 0; z-index: 245; background: rgba(5,8,14,.8); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 16px; }
.advt-card { position: relative; width: 100%; max-width: 560px; max-height: 88vh; overflow-y: auto;
  background: linear-gradient(165deg, #241d0c 0%, #14100a 55%, #0b0906 100%);
  border: 1px solid #6a4a1d; border-radius: 18px; padding: 20px 20px 24px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 34px rgba(245,166,35,.18), 0 18px 44px rgba(0,0,0,.7); }
.advt-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; padding-right: 40px; }
.advt-pa { font-family: var(--game); font-weight: 700; font-size: 17px; color: #ffd76a; }
.advt-sub { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); line-height: 1.4; margin-bottom: 4px; }
.advt-item { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 10px; background: rgba(0,0,0,.3);
  border: 1px solid rgba(255,255,255,.07); margin-bottom: 6px; }
.advt-nom { font-family: var(--game); font-weight: 700; font-size: 14px; color: var(--text); letter-spacing: .3px; flex: 1; min-width: 0; }
.advt-nom small { color: #7fe08a; font-weight: 600; font-size: 11px; }
.advt-mt { font-size: 16px; }
.advt-tienes { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); }
.advt-buy { font-family: var(--game); font-weight: 700; font-size: 13px; letter-spacing: .3px; color: #1a1200; cursor: pointer;
  background: linear-gradient(160deg, #ffd27a, #f5a623); border: none; border-radius: 8px; padding: 6px 12px; flex-shrink: 0;
  box-shadow: 0 2px 0 #7a4d0c; }
.advt-buy:active { transform: translateY(1px); }
.advt-buy[disabled] { filter: grayscale(1); opacity: .45; cursor: default; }
.advt-scroll { max-height: 200px; overflow-y: auto; padding-right: 4px; }

/* Selector de objeto en la ficha */
.advf-itemsel { font-family: var(--game); font-weight: 700; font-size: 12px; color: #dbe4f5; background: var(--surface2);
  border: 1px solid var(--border); border-radius: 7px; padding: 4px 8px; margin-left: 6px; max-width: 190px; }

/* Movimientos futuros (bloqueados por nivel) */
.advf-mov-futuro { filter: grayscale(.85); opacity: .5; cursor: not-allowed !important; }

/* Hub facelift: zonas más altas con icono grande */
.adv-zona { padding: 15px 16px; }
.adv-zona-ico { width: 52px; height: 52px; font-size: 27px; }
.adv-zona-name { font-size: 19px; }
@media (min-width: 900px) {
  .adv-boss-spr { width: 118px; height: 118px; }
  .adv-boss-spr img { max-width: 104px; max-height: 110px; }
  .adv-boss-name { font-size: 28px; }
}
/* La mini-ball del dock toma el color de la ball seleccionada */
.adv-mini-ball { background: linear-gradient(180deg, var(--ball-col, #ff5a48) 0%, var(--ball-col, #d0392b) 46%, #1a1a1a 46%, #1a1a1a 54%, #fafafa 54%, #dcdcdc 100%); }

/* ════════════════ s269 ════════════════ */

/* Sprites animados: tamaño uniforme en todos los contextos.
   Los gifs de Showdown y los estáticos se igualan con object-fit. */
img.adv-anim { object-fit: contain; image-rendering: auto; }
.adv-starter img.adv-anim, .adv-starter img { width: 68px !important; height: 68px !important; object-fit: contain; }
.adv-slot img.adv-anim { width: 52px; height: 52px; object-fit: contain; }
.adv-enc-spr.adv-anim { width: 140px !important; height: 140px !important; object-fit: contain; }
.advf-spr img.adv-anim { width: 92px; height: 92px; object-fit: contain; }
.adv-tr-poke.adv-anim { width: 44px; height: 44px; object-fit: contain; }

/* Dock fijo junto al HUD: selector de balls desplegado hacia la IZQUIERDA */
#adv-btl-dock { cursor: default; }
#adv-btl-dock:active { cursor: default; }
#adv-ball-sel { position: absolute; right: 100%; top: 0; margin-right: 8px; margin-bottom: 0; min-width: 178px;
  background: rgba(13,17,23,.94); border: 1px solid var(--border); border-radius: 12px; padding: 6px;
  box-shadow: 0 8px 22px rgba(0,0,0,.55); }
#adv-ball-btn #abb-caret { margin: 0 4px 0 0; padding: 4px 6px 4px 2px; border-left: none; border-right: 1px solid rgba(255,255,255,.25); font-size: 12px; color: rgba(255,255,255,.85); }
#adv-noballs-menu { position: absolute; right: 100%; top: 0; margin-right: 8px; min-width: 230px;
  background: rgba(13,17,23,.94); border: 1px solid var(--border); border-radius: 12px; padding: 6px;
  box-shadow: 0 8px 22px rgba(0,0,0,.55); }

/* Tienda: versión PC ancha con secciones en rejilla */
.advt-grid { display: grid; gap: 9px; }
.advt-grid-balls { grid-template-columns: repeat(2, 1fr); }
.advt-grid-mts { grid-template-columns: repeat(2, 1fr); }
.advt-grid-objs { grid-template-columns: repeat(2, 1fr); }
.advt-card-item { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 11px 12px;
  border-radius: 12px; background: rgba(0,0,0,.3); border: 1px solid rgba(255,255,255,.09); }
.advt-dot { width: 18px; height: 18px; margin-bottom: 2px; }
.advt-bonus { font-family: var(--game); font-weight: 600; font-size: 11px; color: #7fe08a; letter-spacing: .3px; }
/* s472: efecto de la menta con ▲ en verde (sube) y ▼ en rojo (baja) */
.advt-menta-up { color: #7fe08a; font-weight: 700; }
.advt-menta-dn { color: #e0836a; font-weight: 700; }
.advt-menta-neutra { color: var(--muted); font-weight: 600; }
.advt-card-item .advt-buy { align-self: stretch; margin-top: 6px; text-align: center; }
.advt-roll { display: block; width: 100%; margin-top: 9px; font-family: var(--game); font-weight: 700; font-size: 13px;
  letter-spacing: .5px; color: #dbe4f5; padding: 9px 12px; border-radius: 10px; cursor: pointer;
  background: linear-gradient(160deg, #2a3d6e, #1e2a52); border: 1px solid #3a5090; box-shadow: 0 2px 0 rgba(0,0,0,.5); }
.advt-roll:active { transform: translateY(1px); }
@media (min-width: 860px) {
  /* s605/s693 · Tienda Y MOCHILA a lo ANCHO y ALTO en escritorio (antes parecían
     móvil). Ocupan casi toda la pantalla para ver mucho más de una vez. */
  .advt-card, .advc-card { max-width: min(1440px, 96vw); width: 96vw;
    min-height: 82vh; max-height: 94vh; padding: 26px 34px 32px; }
  .advt-grid-balls { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  .advt-grid-mts { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  .advt-grid-objs { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  /* Combate al MISMO tamaño/densidad que los objetos normales. */
  .advt-grid-combate { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  /* Mochila: rejilla de objetos/mentas más densa para aprovechar el ancho. */
  .advm-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  .advt-scroll { max-height: none; }
}

/* Info completa en la pantalla de captura */
.adv-cap-info { display: flex; flex-direction: column; gap: 8px; align-items: center; margin-top: 10px; }
.adv-cap-row { display: flex; gap: 7px; flex-wrap: wrap; justify-content: center; align-items: center; }
.adv-cap-iv { font-family: var(--game); font-weight: 600; font-size: 12px; letter-spacing: .3px;
  background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.1); border-radius: 7px; padding: 3px 8px; }
.adv-cap-iv b { font-size: 13px; }
.adv-cap-ficha { margin-top: 4px; font-size: 13px; padding: 8px 16px; }

/* ════════════════ s270 ════════════════ */

/* Dock: botones PEGADOS uno encima del otro, sin hueco */
#adv-btl-dock { gap: 0; padding: 5px; }
#adv-ball-btn { border-radius: 10px 10px 0 0; }
#adv-flee-btn { border-radius: 0 0 10px 10px; border-top: none; margin-left: 0; }
#adv-btl-dock > #adv-flee-btn:first-of-type:last-of-type { border-radius: 10px; border-top: 1px solid var(--border); }

/* Banner del bioma dentro del escenario */
.adv-stage { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.adv-zona-banner { display: flex; align-items: center; gap: 14px; padding: 13px 18px;
  background: rgba(0,0,0,.42); border-bottom: 1px solid; backdrop-filter: blur(2px); }
.adv-zb-ico { font-size: 34px; line-height: 1; }
.adv-zb-tx { flex: 1; min-width: 0; }
.adv-zb-name { font-family: var(--game); font-size: 11px; color: #fff; letter-spacing: 2px; margin-bottom: 5px; }
.adv-zb-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adv-zb-lv { font-family: var(--game); font-weight: 700; font-size: 12px; color: var(--muted); letter-spacing: .5px;
  background: rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.12); border-radius: 6px; padding: 2px 8px; }
.adv-zb-energia { font-family: var(--game); font-weight: 700; font-size: 16px; color: #ffd76a; letter-spacing: .5px;
  background: rgba(0,0,0,.45); border: 1px solid rgba(255,215,106,.35); border-radius: 10px; padding: 6px 12px;
  box-shadow: 0 0 12px rgba(255,215,106,.15); }
.adv-stage-body { flex: 1; display: flex; align-items: center; justify-content: center; padding: 26px 18px; min-height: 260px; }

/* Tarjeta de resultado con glow */
.adv-resultado { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
  background: rgba(10, 13, 20, .78); border: 1px solid; border-color: var(--rc, #f5a623);
  border-radius: 18px; padding: 26px 34px; max-width: 480px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 26px color-mix(in srgb, var(--rc, #f5a623) 35%, transparent), 0 12px 30px rgba(0,0,0,.6); }
.adv-res-ico { font-size: 46px; line-height: 1; filter: drop-shadow(0 0 14px var(--rc, #f5a623)); }
.adv-res-title { font-family: var(--game); font-size: 12px; color: var(--rc, #f5a623); letter-spacing: 2px;
  text-shadow: 0 0 12px color-mix(in srgb, var(--rc, #f5a623) 55%, transparent); }
.adv-res-body { font-family: var(--game); font-weight: 600; font-size: 14px; color: var(--text); line-height: 1.5; letter-spacing: .3px; }
.adv-res-body b { color: #ffd76a; }

/* Hub estilo juego: subtítulos, zonas con desc y glow al hover */
.adv-sec-sub { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); letter-spacing: .3px;
  margin: -4px 0 10px; line-height: 1.4; }
.adv-zona { position: relative; transition: transform .12s, box-shadow .15s, filter .15s;
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 3px 0 rgba(0,0,0,.5), 0 6px 16px rgba(0,0,0,.5); }
.adv-zona:not(.adv-zona-lock):hover { transform: translateY(-2px); filter: brightness(1.12);
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 5px 0 rgba(0,0,0,.5), 0 0 22px var(--zglow, #f5a623), 0 10px 22px rgba(0,0,0,.55); }
.adv-zona:not(.adv-zona-lock):active { transform: translateY(1px); box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 1px 0 rgba(0,0,0,.5), 0 0 14px var(--zglow, #f5a623); }
.adv-zona-desc { display: block; font-family: var(--game); font-weight: 600; font-size: 12px; color: rgba(255,255,255,.62);
  letter-spacing: .3px; margin: 2px 0 5px; }
.adv-zona-types .chip-tipo, .adv-zona-types [class*="chip"] { transform: scale(.88); transform-origin: left center; }
.adv-zona-lvl { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.adv-zona-lvl small { font-family: var(--game); font-weight: 700; font-size: 10px; color: var(--zglow, #f5a623);
  letter-spacing: 1px; opacity: .9; }
.adv-boss { box-shadow: 0 0 0 1px rgba(0,0,0,.45), 0 3px 0 rgba(0,0,0,.5), 0 0 22px rgba(245,166,35,.14), 0 8px 20px rgba(0,0,0,.55); }
.adv-btn-fight { box-shadow: 0 3px 0 #7a4d0c, 0 0 16px rgba(245,166,35,.4); transition: transform .1s, box-shadow .15s; }
.adv-btn-fight:hover { box-shadow: 0 3px 0 #7a4d0c, 0 0 26px rgba(245,166,35,.7); }
.adv-btn-fight:active { transform: translateY(2px); box-shadow: 0 1px 0 #7a4d0c, 0 0 12px rgba(245,166,35,.4); }
.adv-entrenar { transition: transform .12s, box-shadow .15s; box-shadow: 0 3px 0 rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.4); }
.adv-entrenar:hover { transform: translateY(-1px); box-shadow: 0 4px 0 rgba(0,0,0,.5), 0 0 18px rgba(122,214,90,.35); }
.adv-slot-click { transition: transform .12s, box-shadow .15s; }
.adv-slot-click:hover { transform: translateY(-2px); box-shadow: 0 0 16px rgba(157,180,255,.4), 0 6px 14px rgba(0,0,0,.5); }

/* Caja (overlay de gestión) */
#adv-caja-overlay { position: fixed; inset: 0; z-index: 244; background: rgba(5,8,14,.8); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 0; }
/* PC a pantalla completa (como la ruleta/blackjack del casino). */
#adv-caja-overlay .pc-panel { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh;
  border-radius: 0; border-left: none; border-right: none; border-top: none; border-bottom: none; }
.advc-card { position: relative; width: 100%; max-width: 860px; max-height: 88vh; overflow-y: auto;
  background: linear-gradient(165deg, #1a2236 0%, #10141d 60%, #0b0e14 100%);
  border: 1px solid var(--border); border-radius: 18px; padding: 22px 24px 26px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 34px rgba(90,120,220,.16), 0 18px 44px rgba(0,0,0,.7); }
.advc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (min-width: 720px) { .advc-grid { grid-template-columns: repeat(6, 1fr); } .advc-grid-caja { grid-template-columns: repeat(6, 1fr); } }
.advc-poke { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 6px 8px;
  background: rgba(0,0,0,.3); border: 1px solid rgba(255,255,255,.09); border-radius: 12px; }
.advc-poke .adv-expbar { width: 80%; }
.advc-vacio { justify-content: center; color: var(--muted); font-size: 22px; border-style: dashed; min-height: 118px; }
.advc-spr { cursor: pointer; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 10px; transition: transform .1s; }
.advc-spr:hover { transform: scale(1.12); }
.advc-spr img { width: 52px; height: 52px; object-fit: contain; }
.advc-nom { font-family: var(--game); font-weight: 700; font-size: 12px; color: var(--text); letter-spacing: .3px;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.advc-lv { font-family: var(--game); font-weight: 600; font-size: 11px; color: var(--muted); }
.advc-btns { display: flex; gap: 4px; margin-top: 3px; }
.advc-mini { width: 26px; height: 24px; font-size: 11px; line-height: 1; cursor: pointer; border-radius: 7px;
  background: rgba(255,255,255,.06); border: 1px solid var(--border); color: #dbe4f5; padding: 0; }
.advc-mini:hover:not([disabled]) { background: rgba(157,180,255,.2); border-color: #5a6a9a; }
.advc-mini[disabled] { opacity: .3; cursor: default; }
.advc-empty { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--muted); padding: 14px; text-align: center;
  border: 1px dashed var(--border); border-radius: 12px; }

/* ════════════════ s271: Rajdhani en todo + tienda v3 ════════════════ */

/* Tipografía: Rajdhani (var --game) sustituye a la pixel en el modo Aventura */
#screen-adventure .adv-sec-label, .advf-sec, .advf-dexno,
.adv-enc-eyebrow, .adv-ev-title, .adv-res-title, .adv-zb-name,
.adv-title, .adv-stage-hint, .adv-boss-eyebrow {
  font-family: var(--game) !important; text-transform: uppercase;
}
#screen-adventure .adv-sec-label { font-size: 15px; font-weight: 700; letter-spacing: 1.5px; }
.advf-sec { font-size: 14px !important; font-weight: 700 !important; letter-spacing: 1.2px !important; color: #9db4ff !important; }
.advf-sec small { text-transform: none; }
.advf-dexno { font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; }
.adv-enc-eyebrow { font-size: 16px !important; font-weight: 700 !important; letter-spacing: 2.5px !important; }
.adv-ev-title, .adv-res-title { font-size: 19px !important; font-weight: 700 !important; letter-spacing: 2px !important; }
.adv-zb-name { font-size: 18px !important; font-weight: 700 !important; letter-spacing: 2px !important; }
.adv-title { font-size: 20px !important; font-weight: 700 !important; letter-spacing: 2px !important; }
.adv-boss-eyebrow { font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; }
.adv-enc-name { font-family: var(--game); font-weight: 700; letter-spacing: 1px; }

/* Tarjeta del encuentro envuelta en el color del tipo */
.adv-enc-card { background: rgba(8, 11, 17, .82); border: 1.5px solid var(--tc, #f5a623); border-radius: 18px;
  padding: 22px 34px 24px; box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 28px color-mix(in srgb, var(--tc, #f5a623) 40%, transparent),
  inset 0 0 40px color-mix(in srgb, var(--tc, #f5a623) 8%, transparent), 0 12px 30px rgba(0,0,0,.6); }
.adv-enc-card .adv-enc-eyebrow { color: var(--tc, #f5a623); text-shadow: 0 0 12px color-mix(in srgb, var(--tc, #f5a623) 60%, transparent); }
.adv-enc-meta { display: flex; gap: 6px; justify-content: center; margin: 4px 0 6px; }

/* Pokébolas dibujadas por tipo en la tienda */
.advt-ballspr { position: relative; display: inline-block; width: 42px; height: 42px; border-radius: 50%; margin-bottom: 3px;
  border: 2px solid #1a1a1a; box-sizing: border-box; box-shadow: inset -3px -4px 7px rgba(0,0,0,.3), 0 3px 8px rgba(0,0,0,.45); }
.advt-ballspr i { position: absolute; left: 50%; top: 50%; width: 30%; height: 30%; transform: translate(-50%,-50%);
  background: radial-gradient(circle, #fff 40%, #cfcfcf 58%, #1a1a1a 62%); border-radius: 50%; border: 2px solid #1a1a1a; box-sizing: border-box; }
.advt-ballspr::before { content: ''; position: absolute; left: -2px; right: -2px; top: 46%; height: 4px; background: #1a1a1a; }
.advt-ball-poke { background: linear-gradient(180deg, #ff6a58 0%, #c0392b 46%, #f5f5f5 54%, #d8d8d8 100%); }
.advt-ball-superball { background: linear-gradient(180deg, #4f8fe0 0%, #2a5fb0 46%, #f5f5f5 54%, #d8d8d8 100%); }
.advt-ball-superball::after { content: ''; position: absolute; left: 12%; top: 12%; width: 24%; height: 16%;
  background: #e84a3a; border-radius: 50% 50% 0 0; transform: rotate(-32deg); }
.advt-ball-ultra { background: linear-gradient(180deg, #2a2a2a 0%, #111 46%, #f5f5f5 54%, #d8d8d8 100%); }
.advt-ball-ultra::after { content: ''; position: absolute; left: 22%; top: 14%; width: 56%; height: 22%;
  background: linear-gradient(90deg, #e8c23a 0 32%, transparent 32% 68%, #e8c23a 68%); border-radius: 3px; }
.advt-ball-relampago { background: linear-gradient(180deg, #ffe14a 0%, #d6a520 46%, #f5f5f5 54%, #d8d8d8 100%); }
.advt-ball-relampago::after { content: '⚡'; position: absolute; left: 50%; top: 16%; transform: translateX(-50%);
  font-size: 11px; line-height: 1; }

/* Disco de MT del color del tipo */
.advt-disc { position: relative; display: inline-block; width: 40px; height: 40px; border-radius: 50%; margin-bottom: 3px;
  border: 2px solid rgba(0,0,0,.55); box-sizing: border-box; box-shadow: 0 0 12px color-mix(in srgb, var(--tc, #888) 45%, transparent), inset 0 0 8px rgba(0,0,0,.35); }
.advt-disc i { position: absolute; left: 50%; top: 50%; width: 34%; height: 34%; transform: translate(-50%,-50%);
  background: radial-gradient(circle, #0d1117 45%, rgba(255,255,255,.75) 48%, #0d1117 60%); border-radius: 50%; }
.advt-mt-card { cursor: help; transition: transform .12s, box-shadow .15s; }
.advt-mt-card:hover { transform: translateY(-2px); box-shadow: 0 0 18px color-mix(in srgb, var(--tc, #f5a623) 55%, transparent), 0 8px 18px rgba(0,0,0,.5); }

/* Objetos con sprite y descripción */
.advt-objspr { width: 40px; height: 40px; object-fit: contain; margin-bottom: 2px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.advt-desc { font-family: var(--game); font-weight: 600; font-size: 11px; color: rgba(255,255,255,.65); line-height: 1.35;
  letter-spacing: .2px; min-height: 30px; }
.advt-obj-card { cursor: help; transition: transform .12s, box-shadow .15s; }
.advt-obj-card:hover { transform: translateY(-2px); box-shadow: 0 0 16px rgba(245,166,35,.35), 0 8px 18px rgba(0,0,0,.5); }

/* ════════════════ s272: balls de la tienda corregidas ════════════════ */
/* Super Ball: azul con DOS franjas rojas diagonales */
.advt-ball-superball::after { content: ''; position: absolute; left: 6%; top: 8%; width: 26%; height: 24%;
  background: #e84a3a; transform: rotate(-38deg); border-radius: 4px;
  box-shadow: 26px -2px 0 0 #e84a3a; }
/* Veloz Ball (Relámpago): azul cian con franjas amarillas */
.advt-ball-relampago { background: linear-gradient(180deg, #3ec3e0 0%, #1f8fb0 46%, #f5f5f5 54%, #d8d8d8 100%); }
.advt-ball-relampago::after { content: ''; position: absolute; left: 14%; top: 10%; width: 30%; height: 22%;
  background: #ffe14a; clip-path: polygon(0 0, 100% 0, 62% 100%, 24% 55%); transform: rotate(-14deg);
  box-shadow: none; }
.advt-ball-relampago .adv-rel-2 { display: none; }
/* segunda marca amarilla simétrica */
.advt-ball-relampago::before { content: ''; position: absolute; left: -2px; right: -2px; top: 46%; height: 4px; background: #1a1a1a; z-index: 1; }
.advt-ballspr.advt-ball-relampago i { z-index: 2; }
.advt-rel-r { position: absolute; right: 10%; top: 12%; width: 26%; height: 20%; border: none;
  background: #ffe14a; clip-path: polygon(38% 0, 100% 0, 76% 100%, 0 45%); transform: rotate(16deg); }

/* ════════════════ s273 ════════════════ */
/* FIX GLOBAL: los gifs animados de Showdown jamás se deforman
   (algunos contenedores del juego fijan width+height y estiraban) */
img[src*="play.pokemonshowdown.com"] { object-fit: contain !important; }

/* Tienda: sprites reales de las balls */
.advt-ballimg { width: 46px; height: 46px; object-fit: contain; margin-bottom: 3px;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.5)); }
.advt-master-note { display: flex; align-items: center; gap: 10px; margin-top: 9px; padding: 9px 13px;
  font-family: var(--game); font-weight: 600; font-size: 13px; color: #e8d5ff; letter-spacing: .3px; line-height: 1.4;
  background: rgba(180,90,224,.1); border: 1px solid rgba(180,90,224,.4); border-radius: 12px;
  box-shadow: 0 0 14px rgba(180,90,224,.18); }
.advt-master-note img { width: 34px; height: 34px; object-fit: contain; flex-shrink: 0;
  filter: drop-shadow(0 0 8px rgba(180,90,224,.6)); }
.advt-master-note b { color: #d9a8ff; }
.advt-master-dim { opacity: .75; }

/* ════════════════ s274 ════════════════ */
/* Toggle de repartir experiencia (hub) */
.adv-repartir { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; margin-bottom: 10px;
  padding: 11px 14px; border-radius: 13px; cursor: pointer;
  background: linear-gradient(150deg, #1a2236, #10141d); border: 1px solid var(--border);
  box-shadow: 0 3px 0 rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.4); transition: transform .12s, box-shadow .15s; }
.adv-repartir:hover { transform: translateY(-1px); box-shadow: 0 4px 0 rgba(0,0,0,.5), 0 0 16px rgba(79,195,247,.3); }
.adv-repartir:active { transform: translateY(1px); }
.adv-repartir.on { border-color: rgba(79,195,247,.5); box-shadow: 0 3px 0 rgba(0,0,0,.5), 0 0 14px rgba(79,195,247,.25); }
.adv-rep-ico { font-size: 22px; flex-shrink: 0; }
.adv-rep-tx b { display: block; font-family: var(--game); font-weight: 700; font-size: 14px; letter-spacing: 1px; color: #7fd4f7; }
.adv-repartir:not(.on) .adv-rep-tx b { color: var(--muted); }
.adv-rep-tx small { font-family: var(--game); font-weight: 600; font-size: 11.5px; color: var(--muted); letter-spacing: .3px; }

/* ════════════════ s275: PC v2 + mentas + ball ════════════════ */
.pc-panel { position: relative; width: 100%; max-width: 1020px; max-height: 90vh; overflow-y: auto;
  background:
    linear-gradient(165deg, rgba(20,29,51,.74) 0%, rgba(14,19,34,.78) 55%, rgba(10,13,22,.82) 100%),
    url('aventura/fondos/pc-fondo.jpg') center/cover no-repeat fixed;
  border: 1px solid #2d3a5a; border-radius: 20px; padding: 24px 28px 30px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 40px rgba(90,120,220,.2), 0 20px 50px rgba(0,0,0,.75); }
.pc-title { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
/* s439: barra superior — título a la izq, navegación + botones a la der */
/* s605 · El topbar copia el grid de .pc-zonas (equipo | caja | detalle) para que
   los controles queden CENTRADOS sobre la caja y IV31/SHINY sobre el detalle. */
.pc-topbar { display: grid; grid-template-columns: minmax(230px, 0.95fr) 2.4fr minmax(300px, 1.1fr);
  gap: 18px; align-items: start; margin-bottom: 14px; }
.pc-topbar .pc-title { margin-bottom: 0; }
.pc-topbar-right { display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; }
.pc-title-ico { font-size: 30px; line-height: 1; filter: drop-shadow(0 2px 8px rgba(120,150,255,.7)); }
.pc-title-tx { display: flex; flex-direction: column; font-family: var(--game); font-weight: 800; font-size: 27px;
  letter-spacing: 1px; color: #eaf1ff; text-transform: uppercase; line-height: 1.05;
  text-shadow: 0 0 18px rgba(120,160,255,.75), 0 0 6px rgba(150,180,255,.5), 0 2px 4px rgba(0,0,0,.6); }
.pc-title-tx small { font-family: var(--game); font-weight: 700; font-size: 14px; letter-spacing: .8px;
  color: #a9c0ee; text-transform: none; text-shadow: 0 0 10px rgba(120,160,255,.4); margin-top: 4px; }
.pc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 640px) { .pc-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .pc-grid { grid-template-columns: repeat(6, 1fr); } .pc-grid-caja { grid-template-columns: repeat(6, 1fr); } }
.pc-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px;
  padding: 13px 8px 10px; border-radius: 15px; cursor: grab;
  background: linear-gradient(165deg, rgba(0,0,0,.36), rgba(0,0,0,.5)); border: 1.5px solid;
  border-color: color-mix(in srgb, var(--tc, #5a6a9a) 55%, transparent);
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 3px 0 rgba(0,0,0,.45), 0 0 14px color-mix(in srgb, var(--tc, #5a6a9a) 18%, transparent);
  transition: transform .12s, box-shadow .15s; }
.pc-card:hover { transform: translateY(-3px);
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 5px 0 rgba(0,0,0,.45), 0 0 24px color-mix(in srgb, var(--tc, #5a6a9a) 55%, transparent); }
.pc-card:active { cursor: grabbing; }
.pc-dragging { opacity: .45; transform: scale(.96) rotate(-2deg); }
/* s431: los sprites no capturan el arrastre; lo hace el slot (div) padre */
.pcbox-slot img, .pcteam-slot img { -webkit-user-drag: none; user-select: none; pointer-events: none; }
.pc-drop-hint { outline: 2px dashed #9db4ff; outline-offset: 3px; }
.pc-agarrado { outline: 3px solid #ffd76a !important; outline-offset: 2px; box-shadow: 0 0 18px rgba(255,215,106,.7) !important;
  animation: pcAgarradoPulse 1s ease-in-out infinite; z-index: 5; }
@keyframes pcAgarradoPulse { 0%,100% { box-shadow: 0 0 14px rgba(255,215,106,.6) !important; } 50% { box-shadow: 0 0 24px rgba(255,215,106,.95) !important; } }
.pc-agarre-aviso { position: sticky; top: 0; z-index: 20; margin: -6px 0 8px; padding: 9px 14px; border-radius: 10px;
  background: linear-gradient(160deg, #3a2f0c, #2a2208); border: 1px solid rgba(255,215,106,.5); text-align: center;
  font-family: var(--game); font-weight: 800; font-size: 12.5px; letter-spacing: .5px; color: #ffe9b0; }
.pc-agarre-aviso button { margin-left: 10px; font-family: var(--game); font-weight: 800; font-size: 11px; padding: 4px 10px;
  border-radius: 7px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); color: #fff; cursor: pointer; }
.pc-card-vacia { justify-content: center; color: var(--muted); font-size: 26px; border-style: dashed; min-height: 168px; cursor: default; }
.pc-card-spr { width: 84px; height: 84px; display: flex; align-items: center; justify-content: center; }
.pc-card-spr img { width: 80px; height: 80px; object-fit: contain; }
.pc-card-ball { position: absolute; left: 7px; top: 7px; width: 22px; height: 22px; object-fit: contain;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.55)); }
.pc-card-obj { position: absolute; right: 7px; top: 7px; width: 20px; height: 20px; object-fit: contain;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.55)); }
.pc-card .adv-shiny-star { left: auto; right: 6px; top: 28px; }
.pc-card-nom { font-family: var(--game); font-weight: 700; font-size: 13.5px; color: var(--text); letter-spacing: .3px;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-card-lv { font-family: var(--game); font-weight: 600; font-size: 11.5px; color: var(--muted); }
.pc-card .adv-expbar { width: 82%; }
.pc-card-btns { display: flex; gap: 4px; margin-top: 4px; }

/* Panel flotante de información completa */
#adv-pc-tip { position: fixed; z-index: 250; width: 300px; display: none; pointer-events: none;
  background: linear-gradient(165deg, rgba(18,24,40,.98), rgba(10,13,22,.97));
  border: 1px solid #3a4a7a; border-radius: 14px; padding: 13px 15px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 26px rgba(90,120,220,.3), 0 14px 34px rgba(0,0,0,.7); }
.pcinfo-head { font-family: var(--game); font-weight: 700; font-size: 15px; letter-spacing: .5px; color: #fff; margin-bottom: 5px; }
.pcinfo-head small { color: var(--muted); font-size: 11.5px; }
.pcinfo-row { display: flex; align-items: center; gap: 5px; margin-bottom: 6px; flex-wrap: wrap; }
.pcinfo-line { font-family: var(--game); font-weight: 600; font-size: 12px; color: rgba(255,255,255,.75);
  letter-spacing: .3px; margin: 2px 0; }
.pcinfo-line b { color: #dbe4f5; }
.pcinfo-stats { margin: 7px 0 5px; }
.pcinfo-stat { display: flex; align-items: center; gap: 8px; font-family: var(--game); font-weight: 600; font-size: 11px;
  color: var(--muted); margin: 3px 0; }
.pcinfo-stat > span { width: 62px; flex-shrink: 0; }
.pcinfo-statbar { position: relative; flex: 1; min-width: 0; height: 7px; border-radius: 4px; background: rgba(255,255,255,.08); overflow: hidden; }
.pcinfo-sb-base { position: absolute; left: 0; top: 0; height: 100%; border-radius: 4px 0 0 4px; display: block; opacity: .55; }
.pcinfo-sb-up { position: absolute; top: 0; height: 100%; display: block; border-radius: 0; box-shadow: 0 0 7px 1px currentColor; filter: brightness(1.35); opacity: 1; }
.pcinfo-sb-dn { position: absolute; top: 0; height: 100%; display: block; background: repeating-linear-gradient(45deg, rgba(224,131,106,.75) 0 4px, rgba(224,131,106,.2) 4px 8px); }
.pcinfo-stat b { color: #dbe4f5; font-size: 12px; margin-left: auto; width: 34px; text-align: right; flex-shrink: 0; }
.pcinfo-stat-up > span { color: #7fe08a; }
.pcinfo-stat-dn > span { color: #e0836a; }
/* s408: IVs / EVs en dos columnas con barra + número */
.pcinfo-ivgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 14px; margin: 4px 0 8px; }
.pcinfo-ivcol { display: flex; flex-direction: column; gap: 3px; }
.pcinfo-ivrow { display: flex; align-items: center; gap: 6px; font-family: var(--game); font-weight: 600; }
.pcinfo-ivlbl { width: 46px; flex-shrink: 0; font-size: 11px; color: var(--muted); }
.pcinfo-ivbar { display: block; height: 6px; border-radius: 3px; flex: 1; min-width: 4px; max-width: 90px; }
.pcinfo-ivval { font-size: 12px; margin-left: auto; min-width: 20px; text-align: right; }
.pcinfo-movs { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; margin-top: 6px; }
.pcinfo-movs .pdx-move-tag { min-width: 0; overflow: hidden; }
.pcinfo-movs .pdx-move-stats { gap: 7px; flex-wrap: wrap; }
.pcinfo-movs .pdx-move-name { min-width: 0; }
@media (max-width: 520px) { .pcinfo-movs { grid-template-columns: 1fr; } }
/* s410: tarjetas de movimiento UNIFICADAS con la Pokédex/Builder (.pdx-move-tag).
   Solo pequeños ajustes de tamaño de icono y de la ℹ para el contexto de la ficha. */
.advf-movetag { font-size: 12px; }
.advf-movetag .pdx-move-icons img { height: 15px; width: auto; vertical-align: middle; }
.advf-movetag .pdx-move-name { color: #fff; font-family: var(--game); font-weight: 700; font-size: 13px; }
.advf-movetag .pdx-move-stat { color: #eaf1ff; font-size: 12px; font-weight: 600; }
.advf-movetag .pdx-move-stat b { color: #ffffff; font-size: 10px; font-weight: 800; }
.advf-movetag .advm-info { cursor: help; font-size: 10px; color: rgba(255,255,255,.8); background: rgba(0,0,0,.32); border-radius: 50%; width: 15px; height: 15px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-left: 1px; }
.advf-movetag .advm-info:hover { background: rgba(0,0,0,.5); color: #fff; }
.pcinfo-mov { font-family: var(--game); font-weight: 600; font-size: 11px; color: #fff; letter-spacing: .3px;
  border: 1px solid; border-radius: 6px; padding: 2px 7px; }

/* Menta y ball en la ficha */
.advf-menta-wrap, .advf-ball-wrap { display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted);
  background: rgba(0,0,0,.3); border: 1px solid var(--border); border-radius: 9px; padding: 4px 8px; }
.advf-menta-wrap select, .advf-ball-wrap select { font-family: var(--game); font-weight: 600; font-size: 12px;
  color: #dbe4f5; background: #141a28; border: 1px solid var(--border); border-radius: 6px; padding: 2px 4px; max-width: 150px; }
.advf-menta-ok { width: 24px; height: 22px; font-size: 11px; cursor: pointer; border-radius: 6px;
  background: rgba(122,214,90,.25); border: 1px solid #4a7a3a; color: #a8e88a; padding: 0; }
.advf-menta-ok:hover { background: rgba(122,214,90,.4); }
.advf-menta-none { font-family: var(--game); font-weight: 600; font-size: 12px; color: rgba(255,255,255,.4);
  background: rgba(0,0,0,.25); border: 1px dashed var(--border); border-radius: 9px; padding: 4px 9px; }
.advt-menta-card { border-color: rgba(122,214,90,.4) !important; }

/* ════════════════ s276: PC v3 estilo juegos oficiales ════════════════ */
.pc-panel-v3 { max-width: min(1720px, 97vw); }
/* s406: en pantallas de POCA ALTURA (portátiles), compactar para que no se
   corte. El scroll interno del panel garantiza que todo sea accesible sin
   depender del zoom del navegador. */
@media (max-height: 800px) {
  .pc-panel { max-height: 94vh; padding: 16px 20px 20px; }
  .pc-title-tx { font-size: 22px; }
  .pc-title-tx small { font-size: 12px; }
  .pcbox-grid { gap: 6px; padding: 10px; }
}
@media (max-height: 640px) {
  .pc-panel { max-height: 96vh; padding: 12px 16px 16px; }
  .pcbox-slot img { max-width: 52px; max-height: 52px; }
}
.pc-zonas { display: grid; grid-template-columns: minmax(230px, 0.95fr) 2.4fr minmax(300px, 1.1fr); gap: 18px; margin-top: 4px; align-items: start; }
@media (max-width: 980px) { .pc-zonas { grid-template-columns: 1fr; }
  .pc-topbar { grid-template-columns: 1fr; }
  .pc-topbar-right { align-items: stretch; }
  .pcbox-head, .pcbox-tools { justify-content: center; } }
/* s404: en pantallas anchas, más columnas en la caja para aprovechar el espacio */
@media (min-width: 1400px) { .pcbox-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
.pc-col-tit { font-family: var(--game); font-weight: 700; font-size: 14px; letter-spacing: 1.5px; color: #9db4ff;
  text-transform: uppercase; margin-bottom: 8px; }
.pc-col-tit small { color: var(--muted); font-size: 11.5px; letter-spacing: .5px; }
.pc-col-hint { font-family: var(--game); font-weight: 600; font-size: 11px; color: var(--muted);
  letter-spacing: .3px; line-height: 1.45; margin-top: 10px; }

/* EQUIPO: columna de 6 filas */
.pcteam { display: flex; flex-direction: column; gap: 10px; }
.pcteam-slot { display: flex; align-items: center; gap: 12px; padding: 14px 14px; border-radius: 14px; cursor: grab;
  background: linear-gradient(160deg, rgba(0,0,0,.34), rgba(0,0,0,.5));
  border: 1.5px solid color-mix(in srgb, var(--tc, #5a6a9a) 45%, transparent);
  transition: transform .1s, box-shadow .12s, border-color .12s; }
.pcteam-slot:hover { transform: translateX(2px); border-color: var(--tc, #9db4ff);
  box-shadow: 0 0 12px color-mix(in srgb, var(--tc, #9db4ff) 35%, transparent); }
.pcteam-vacio { justify-content: center; color: rgba(255,255,255,.22); border: 1.5px dashed rgba(255,255,255,.14);
  min-height: 78px; cursor: default; background: rgba(0,0,0,.2); }
.pcteam-spr { width: 76px; height: 76px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.pcteam-spr img { width: 74px; height: 74px; max-width: 74px; max-height: 74px; object-fit: contain; object-position: center bottom; image-rendering: pixelated; }
.pcteam-tx { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pcteam-tx b { font-family: var(--game); font-weight: 700; font-size: 15px; color: var(--text); letter-spacing: .3px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcteam-tx small { font-family: var(--game); font-weight: 600; font-size: 12.5px; color: var(--muted); }

/* CAJA: cabecera con flechas + rejilla 6 columnas con fondo de papel */

.pcbox-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; padding: 14px; border-radius: 14px;
  background: linear-gradient(165deg, rgba(16,22,40,.55), rgba(10,13,22,.62));
  border: 1px solid rgba(90,110,160,.4); box-shadow: inset 0 0 30px rgba(0,0,0,.4); }
.pcbox-slot { position: relative; aspect-ratio: 1; border-radius: 10px; cursor: grab;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  background: rgba(6,10,20,.5); border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(1px); overflow: hidden;
  transition: transform .1s, box-shadow .12s, border-color .12s; }
.pcbox-slot img { width: 90%; height: 74%; max-width: 80px; max-height: 76px; object-fit: contain; object-position: center bottom; image-rendering: pixelated; margin-top: auto; }
/* s442: nombre + género en el recuadro de la caja */
.pcbox-nombre { width: 100%; text-align: center; font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 10.5px;
  line-height: 1.1; color: #eaf1ff; padding: 2px 2px 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  background: linear-gradient(0deg, rgba(6,10,20,.85), transparent); text-shadow: 0 1px 2px rgba(0,0,0,.9); flex-shrink: 0; }
.pcbox-gen { font-weight: 800; margin-left: 2px; }
.pcbox-gen-m { color: #5aa8ff; }
.pcbox-gen-f { color: #ff8ab8; }
.pcbox-slot:hover:not(.pcbox-vacio) { transform: scale(1.08); border-color: #9db4ff;
  box-shadow: 0 0 12px rgba(157,180,255,.4); z-index: 2; }
.pcbox-vacio { cursor: default; background: rgba(6,10,20,.32); border-color: rgba(255,255,255,.06); }
/* s424: cajas-equipo visuales (6 slots, copias de referencia) */
.pc-col-equipovis .pcbox-grid-eq { grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  background: radial-gradient(circle at 30% 20%, rgba(220,180,80,.12), transparent 50%), linear-gradient(165deg, #1f1e2e, #14121c) !important;
  border-color: rgba(255,215,106,.35) !important; }
@media (min-width: 900px) { .pc-col-equipovis .pcbox-grid-eq { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; } }
.pcbox-slot-eqvis { aspect-ratio: auto; flex-direction: column; gap: 2px; padding: 8px 4px 6px; cursor: default;
  background: linear-gradient(165deg, #262232, #191521); border: 1px solid rgba(255,215,106,.28); }
.pcbox-slot-eqvis:hover { transform: none; border-color: rgba(255,215,106,.6); box-shadow: 0 0 12px rgba(255,215,106,.25); }
.pcbox-slot-eqvis img { width: 62px; height: 62px; }
.pcbox-eqvis-nom { font-family: var(--game); font-weight: 800; font-size: 10.5px; color: #f0e6d0; text-align: center; line-height: 1.05;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcbox-eqvis-lv { font-family: var(--game); font-weight: 700; font-size: 9.5px; color: #c9b48a; }
.pcbox-eqvis-x { position: absolute; top: 2px; right: 2px; z-index: 4; width: 17px; height: 17px; border-radius: 50%;
  background: rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.3); color: #ffb0ab; font-size: 10px; font-weight: 800;
  cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; }
.pcbox-eqvis-x:hover { background: rgba(226,72,61,.7); color: #fff; }
.pcbox-slot-eqempty { aspect-ratio: auto; min-height: 92px; border: 1.5px dashed rgba(255,215,106,.3); background: rgba(255,215,106,.04); }
.pcbox-eqvis-plus { font-family: var(--game); font-weight: 800; font-size: 26px; color: rgba(255,215,106,.5); }

/* s506 · CAJA DE EQUIPOS: 6 filas-equipo apiladas, reordenables por asa */
.pceq-caja { display: flex; flex-direction: column; gap: 8px; padding: 4px; overflow-y: auto; max-height: 100%; }
.pceq-fila { display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: stretch;
  padding: 8px; border-radius: 13px; background: rgba(255,215,106,.05);
  border: 1px solid rgba(255,215,106,.22); transition: border-color .15s, box-shadow .15s, transform .12s; }
.pceq-fila-over { border-color: #ffd76a; box-shadow: 0 0 0 2px rgba(255,215,106,.5); }
.pceq-fila-dragging { opacity: .5; }
.pceq-asa { grid-row: 1 / span 2; display: flex; align-items: center; justify-content: center; cursor: grab;
  font-size: 16px; color: rgba(255,215,106,.55); border-radius: 8px; background: rgba(255,215,106,.06);
  user-select: none; letter-spacing: -2px; }
.pceq-asa:active { cursor: grabbing; }
.pceq-fila-head { grid-column: 2; display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.pceq-nombre { font-family: var(--game); font-weight: 800; font-size: 12.5px; color: #ffd76a; letter-spacing: .3px;
  background: none; border: none; cursor: pointer; padding: 2px 4px; border-radius: 6px; text-align: left; }
.pceq-nombre:hover { background: rgba(255,215,106,.12); }
.pceq-cont { font-family: var(--game); font-weight: 700; font-size: 10.5px; color: #c9b48a; margin-right: auto; }
.pceq-mini { width: 26px; height: 24px; border-radius: 7px; font-size: 12px; cursor: pointer; border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06); color: #eaf1ff; }
/* s723 · Botón MONTAR con etiqueta clara (el ⚔ solo se confundía con una ✕). */
.pceq-mini-montar { width: auto; padding: 0 10px; display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--game), sans-serif; font-weight: 800; font-size: 11px; letter-spacing: .4px;
  background: linear-gradient(180deg, rgba(90,200,140,.32), rgba(40,130,90,.24)); border-color: rgba(120,220,160,.6); color: #dcffe9; }
.pceq-mini-montar:hover { background: rgba(90,200,140,.45); border-color: rgba(120,240,170,.85); }
.pceq-mini-del:hover { background: rgba(226,72,61,.3); border-color: rgba(226,72,61,.6); }
.pceq-slots { grid-column: 2; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
.pceq-slot { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1px; min-height: 74px; padding: 4px 2px; border-radius: 10px; }
.pceq-slot-full { background: rgba(20,28,44,.7); border: 1.5px solid rgba(120,150,220,.35); cursor: grab; }
.pceq-slot-full:active { cursor: grabbing; }
.pceq-slot-full:hover { border-color: rgba(255,215,106,.6); box-shadow: 0 0 10px rgba(255,215,106,.22); }
.pceq-slot-full img { width: 50px; height: 50px; object-fit: contain; image-rendering: pixelated; }
.pceq-slot-empty { border: 1.5px dashed rgba(255,215,106,.28); background: rgba(255,215,106,.04); }
.pceq-plus { font-family: var(--game); font-weight: 800; font-size: 22px; color: rgba(255,215,106,.45); }
.pceq-lv { font-family: var(--game); font-weight: 700; font-size: 8.5px; color: #c9b48a; }
.pceq-x { position: absolute; top: 1px; right: 1px; z-index: 4; width: 15px; height: 15px; border-radius: 50%;
  font-size: 9px; line-height: 1; cursor: pointer; border: none; background: rgba(0,0,0,.5); color: #ffb3ab; }
.pceq-x:hover { background: rgba(226,72,61,.75); color: #fff; }
.pceq-slot .pcbox-shiny { position: absolute; top: 1px; left: 2px; z-index: 3; font-size: 11px; }
.pceq-slot.pc-drop-hint { box-shadow: 0 0 0 2px #ffd76a; }
@media (max-width: 720px) {
  .pceq-slot { min-height: 58px; }
  .pceq-slot-full img { width: 40px; height: 40px; }
}

/* s439: navegación de caja (dentro de la topbar, alineada a la derecha) */
.pcbox-head { display: flex; align-items: center; justify-content: center; gap: 12px; }
.pcbox-name { text-align: center; font-family: var(--game); font-weight: 800; font-size: 18px; letter-spacing: .5px; color: #ffd76a;
  text-transform: uppercase; text-shadow: 0 0 14px rgba(255,215,106,.5), 0 2px 3px rgba(0,0,0,.6); cursor: pointer; line-height: 1.15; white-space: nowrap; }
.pcbox-name small { display: block; color: #a9c0ee; font-family: var(--game); font-weight: 600; font-size: 12px; letter-spacing: .3px; text-transform: none; margin-top: 2px; text-shadow: none; }
.pcbox-nav { flex-shrink: 0; width: 42px; height: 40px; font-size: 16px; font-weight: 800; cursor: pointer; border-radius: 11px; color: #eaf1ff;
  background: linear-gradient(160deg, #2f4478, #223056); border: 1px solid #435da0; box-shadow: 0 3px 0 rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.1);
  transition: filter .12s, transform .1s; display: flex; align-items: center; justify-content: center; }
.pcbox-nav:hover:not([disabled]) { filter: brightness(1.15); }
.pcbox-nav:active:not([disabled]) { transform: translateY(2px); box-shadow: 0 1px 0 rgba(0,0,0,.5); }
.pcbox-nav[disabled] { opacity: .3; cursor: default; }
.pcbox-name-eq { color: #ffd76a !important; }
.pcbox-eqhint { font-family: 'Rajdhani', sans-serif; font-size: 12.5px; color: #c9b48a; line-height: 1.35; flex: 1; }
/* s425: botón MONTAR EQUIPO */
/* s434: BARRA DE ACCIONES del PC — un único estilo de botón, grande y nítido,
   igual que el resto del juego (Rajdhani, buen contraste, sin difuminado). */
.pcbox-btn { font-family: var(--game); font-weight: 800; font-size: 13.5px; letter-spacing: .6px; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 5px; padding: 10px 15px; border-radius: 11px; cursor: pointer; white-space: nowrap;
  color: #eaf1ff; background: linear-gradient(160deg, #29365c, #1d2743); border: 1px solid #3d4f82;
  box-shadow: 0 3px 0 rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); transition: filter .12s, transform .1s; }
.pcbox-btn:hover:not([disabled]) { filter: brightness(1.16); }
.pcbox-btn:active:not([disabled]) { transform: translateY(2px); box-shadow: 0 1px 0 rgba(0,0,0,.45); }
.pcbox-btn[disabled] { opacity: .4; cursor: default; }
.pcbox-btn span { font-size: 13.5px; }
.pcbox-btn-jump { background: linear-gradient(160deg, #4a3d18, #352c0f); border-color: #7a6428; color: #ffd76a; }
.pcbox-btn-montar { background: linear-gradient(160deg, #2a4a20, #1e3618); border-color: #5aa845; color: #b8f0a0; }
.pcbox-btn-del { background: linear-gradient(160deg, #4a2020, #351616); border-color: #a04545; color: #f0a0a0; }
.pcbox-btn-cancel { background: linear-gradient(160deg, #2d3552, #20263e); }
/* s606 · Colores DISTINTOS: Ordenar verde · Tipo azul · Comparar amarillo · Seleccionar morado. */
.pcbox-btn-ord  { background: linear-gradient(160deg, #234a24, #16341a); border-color: #4f9a4a; color: #b8f0a0; }
.pcbox-btn-tipo { background: linear-gradient(160deg, #1e3a5c, #142842); border-color: #4a8ec0; color: #bce0ff; }
.pcbox-btn-comp { background: linear-gradient(160deg, #4a3d18, #352c0f); border-color: #b09032; color: #ffe0a0; }
.pcbox-btn-sel  { background: linear-gradient(160deg, #362a66, #251d48); border-color: #6a54b0; color: #d3c4ff; }
/* s438: contenedor de la barra de botones + menú ORDENAR (oculto por defecto) */
.pcbox-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; margin: 0; position: relative; }
.pcbox-ordwrap { position: relative; }
.pcbox-ordmenu { display: none; position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); z-index: 30; min-width: 210px;
  background: #16202f; border: 1px solid rgba(157,123,255,.4); border-radius: 12px; padding: 6px; box-shadow: 0 14px 34px rgba(0,0,0,.6); }
.pcbox-ordmenu.on { display: block; }
.pcbox-ordmenu button { display: block; width: 100%; text-align: left; font-family: 'Rajdhani', sans-serif; font-weight: 600; font-size: 14px;
  color: #cdd6e6; background: transparent; border: none; border-radius: 8px; padding: 10px 12px; cursor: pointer; text-transform: none; letter-spacing: 0; }
.pcbox-ordmenu button:hover { background: rgba(157,123,255,.18); color: #fff; }
.pcbox-ordmenu button b { font-family: var(--game); font-weight: 800; color: #b9a3ff; margin-right: 5px; }
.pcbox-selcount { font-family: var(--game); font-weight: 800; font-size: 13.5px; letter-spacing: .5px; color: #c9b3ff; margin-right: 2px; text-transform: uppercase; }
.pcbox-selable { cursor: pointer; position: relative; }
.pcbox-selable:hover { box-shadow: 0 0 0 1px rgba(157,123,255,.5); }
.pc-col-tinted .pcbox-grid { border-color: var(--pcbox-col) !important;
  box-shadow: inset 0 0 30px rgba(0,0,0,.45), 0 0 18px -4px var(--pcbox-col); }
.pc-col-tinted .pcbox-head { border-bottom: 2px solid var(--pcbox-col); padding-bottom: 8px; }
.pccolor-ov { position: fixed; inset: 0; z-index: 5000; display: flex; align-items: center; justify-content: center;
  background: rgba(6,10,18,.72); }
.pccolor-panel { background: linear-gradient(165deg, #16202f, #0f1622); border: 1px solid rgba(157,180,255,.35);
  border-radius: 16px; padding: 20px 22px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.pccolor-tit { font-family: var(--game); font-weight: 800; font-size: 15px; letter-spacing: 1px; color: #cfe0ff; text-align: center; margin-bottom: 14px; }
.pccolor-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 16px; }
.pccolor-swatch { width: 42px; height: 42px; border-radius: 10px; border: 2px solid rgba(255,255,255,.25); cursor: pointer;
  transition: transform .1s, box-shadow .12s; }
.pccolor-swatch:hover { transform: scale(1.12); box-shadow: 0 0 12px rgba(255,255,255,.4); }
.pccolor-none { background: #232c40; color: #ff9e9e; font-weight: 800; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.pccolor-close { display: block; width: 100%; font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px;
  padding: 10px; border-radius: 9px; background: #232c40; border: 1px solid rgba(255,255,255,.2); color: #eaf1ff; cursor: pointer; }
.pccolor-close:hover { background: #2b3550; }
.pcbox-shiny { position: absolute; right: 2px; top: 1px; font-size: 10px; pointer-events: none; }
/* s689b · Estrella de FAVORITO: abajo a la izquierda, limpia (solo el glifo, sin
   caja). Apagada tenue, encendida dorada con brillo. */
.pcbox-fav { position: absolute; left: 4px; bottom: 20px; z-index: 4; padding: 0; margin: 0; border: none;
  background: none; font-size: 15px; line-height: 1; cursor: pointer; color: rgba(222,230,247,.5);
  text-shadow: 0 1px 3px rgba(0,0,0,.95); transition: color .12s, transform .1s, text-shadow .12s; }
.pcbox-fav:hover { color: #ffe08a; transform: scale(1.22); }
.pcbox-fav.on { color: #ffd23f; text-shadow: 0 0 7px rgba(255,210,63,.9), 0 1px 2px rgba(0,0,0,.85); }
.pcbox-slot.pcbox-esfav { box-shadow: 0 0 0 2px rgba(255,210,63,.45) inset, 0 0 9px rgba(255,210,63,.18); }
.pcbox-lvl { position: absolute; left: 3px; top: 3px; font-family: 'Rajdhani',sans-serif; font-weight: 800;
  font-size: .74rem; line-height: 1; color: #fff; background: rgba(8,12,20,.9); border: 1px solid rgba(255,255,255,.22);
  border-radius: 5px; padding: 2px 5px; pointer-events: none; z-index: 2; text-shadow: 0 1px 2px rgba(0,0,0,.9); }

/* Selección (equipo o caja): marco dorado brillante */
.pc-sel { border-color: #ffd76a !important;
  box-shadow: 0 0 0 1px #ffd76a, 0 0 16px rgba(255,215,106,.5) !important; }

/* PANEL DE DETALLE (derecha) */
.pc-col-det { border-radius: 14px; padding: 14px 15px; min-height: 380px;
  background: linear-gradient(165deg, rgba(20,27,46,.9), rgba(10,13,22,.92));
  border: 1px solid #2d3a5a; box-shadow: inset 0 0 24px rgba(0,0,0,.4); }
.pcdet-empty { font-family: var(--game); font-weight: 600; font-size: 13px; color: var(--muted);
  text-align: center; padding-top: 130px; line-height: 1.6; letter-spacing: .3px; }
.pcdet-spr { display: flex; align-items: center; justify-content: center; height: 104px; margin-bottom: 4px; }
.pcdet-spr img { width: 96px; height: 96px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.5)); }
/* s443: botón GESTIONAR flotante, arriba a la derecha del sprite */
.pcdet-spr-wrap { position: relative; }
.pcdet-gestionar-top { position: absolute; top: 0; right: 0; z-index: 3;
  font-family: var(--game); font-weight: 800; font-size: 11.5px; letter-spacing: .4px; cursor: pointer;
  color: #ffe9c0; background: linear-gradient(160deg, #7a4d0c, #5a3a08); border: 1px solid #a06a14;
  border-radius: 9px; padding: 7px 11px; box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 12px rgba(245,166,35,.25);
  transition: filter .12s, transform .1s; }
.pcdet-gestionar-top:hover { filter: brightness(1.14); }
.pcdet-gestionar-top:active { transform: translateY(1px); }
.pc-col-det .pcinfo-head { text-align: center; font-size: 17px; }
.pc-col-det .pcinfo-row { justify-content: center; }
.pcdet-acts { display: flex; flex-direction: column; gap: 7px; margin-top: 11px; }
.pcdet-btn { font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: .8px; color: #eef3ff;
  padding: 12px 14px; border-radius: 11px; cursor: pointer; text-transform: uppercase;
  background: linear-gradient(160deg, #384766, #232d42); border: 1px solid rgba(120,150,220,.4);
  box-shadow: 0 3px 0 rgba(0,0,0,.55); transition: transform .1s, box-shadow .12s; }
.pcdet-btn:hover:not([disabled]) { box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 14px rgba(157,180,255,.3); }
.pcdet-btn:active:not([disabled]) { transform: translateY(1px); }
.pcdet-btn[disabled] { opacity: .35; cursor: default; }
.pcdet-btn-ficha { background: linear-gradient(160deg, #7a4d0c, #5a3a08); border-color: #a06a14; color: #ffe9c0;
  box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 12px rgba(245,166,35,.25); }
.pcdet-btn-mover { background: linear-gradient(160deg, #2a3a6a, #1a2648); border-color: #4a6ab0; color: #cfe0ff;
  box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 12px rgba(90,140,255,.25); }

/* ════════════════ s277 ════════════════ */
/* FIX DEFINITIVO: las 4 tarjetas de ataque SIEMPRE cuadradas en su hueco.
   El grid 2x2 reparte el alto EXACTO del panel; el slider de "tamaño del
   contenido" solo escala el interior (que se recorta con elegancia si se
   pasa), jamás desborda ni corta media tarjeta. Se respetan los presets
   compactos (bb-compact-*), que definen sus propios mínimos. */
#screen-battle .battle-bottom { min-height: 0 !important; }
#screen-battle .moves-panel { min-height: 0 !important; overflow: hidden !important; }
#screen-battle .battle-bottom:not(.bb-compact-1):not(.bb-compact-2) .moves-panel .move-btn {
  min-height: 0 !important; overflow: hidden !important; }

/* PC v3 fixes: nada cortado, IVs/EVs 3 en 3 */
.pc-zonas > .pc-col { min-width: 0; }
/* Sin scroll: todo el detalle cabe de una (denso y compacto) */
.pc-col-det { max-height: none; overflow: visible; }
.pcinfo-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 6px; margin: 3px 0 6px; }
.pcinfo-cell { font-family: var(--game); font-weight: 600; font-size: 11.5px; color: var(--muted); letter-spacing: .3px;
  background: rgba(0,0,0,.3); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; padding: 3px 6px;
  display: flex; justify-content: space-between; align-items: center; gap: 4px; }
.pcinfo-cell b { font-size: 13px; }

/* Panel de energía */
#adv-energia-overlay { position: fixed; inset: 0; z-index: 248; background: rgba(5,8,14,.8); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 16px; }
.adv-energia-card { position: relative; width: 100%; max-width: 480px;
  background: linear-gradient(165deg, #1f1c10 0%, #14110a 60%, #0b0a06 100%);
  border: 1.5px solid rgba(255,215,106,.5); border-radius: 20px; padding: 24px 26px 26px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 38px rgba(255,215,106,.22), 0 18px 44px rgba(0,0,0,.7); }
.adv-en-ico { font-size: 42px; text-align: center; filter: drop-shadow(0 0 16px rgba(255,215,106,.7)); margin-bottom: 4px; }
.adv-en-lista { display: flex; flex-direction: column; gap: 9px; margin-top: 14px; }
.adv-en-btn { display: flex; align-items: center; gap: 12px; text-align: left; padding: 11px 14px; border-radius: 13px;
  cursor: pointer; border: 1px solid var(--border); background: linear-gradient(150deg, #1a2236, #10141d);
  box-shadow: 0 3px 0 rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.4); transition: transform .12s, box-shadow .15s; }
.adv-en-btn:hover { transform: translateY(-2px); }
.adv-en-random:hover { box-shadow: 0 5px 0 rgba(0,0,0,.5), 0 0 20px rgba(79,195,247,.45); border-color: #4fc3f7; }
.adv-en-draft:hover { box-shadow: 0 5px 0 rgba(0,0,0,.5), 0 0 20px rgba(245,166,35,.45); border-color: #f5a623; }
.adv-en-gym:hover { box-shadow: 0 5px 0 rgba(0,0,0,.5), 0 0 20px rgba(122,214,90,.45); border-color: #7ad65a; }
.adv-en-btn:active { transform: translateY(1px); }
.adv-en-btn-ico { font-size: 26px; flex-shrink: 0; }
.adv-en-btn-tx { flex: 1; min-width: 0; }
.adv-en-btn-tx b { display: block; font-family: var(--game); font-weight: 700; font-size: 15px; letter-spacing: 1px; color: #fff; }
.adv-en-btn-tx small { font-family: var(--game); font-weight: 600; font-size: 12px; color: var(--muted); letter-spacing: .3px; line-height: 1.35; }
.adv-en-go { font-size: 18px; color: #ffd76a; flex-shrink: 0; }
.adv-energy { cursor: pointer; transition: transform .12s, box-shadow .15s; }
.adv-energy:hover { transform: translateY(-1px); box-shadow: 0 0 14px rgba(255,215,106,.35); border-color: rgba(255,215,106,.5); }
.adv-zb-energia { cursor: pointer; }
.adv-zb-energia:hover { box-shadow: 0 0 16px rgba(255,215,106,.4); }
.adv-noenergy { cursor: pointer; }

/* Botones grandes PC y MOCHILA (estilo stone-relief con glow) */
.adv-bigbtns { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
.adv-bigbtn { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 13px; cursor: pointer;
  text-align: left; border: 1px solid var(--border); background: linear-gradient(150deg, #1a2236, #10141d);
  box-shadow: 0 3px 0 rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.4); transition: transform .12s, box-shadow .15s, border-color .15s; }
.adv-bigbtn:hover { transform: translateY(-2px); }
.adv-bigbtn:active { transform: translateY(1px); box-shadow: 0 1px 0 rgba(0,0,0,.5); }
.adv-bigbtn-pc:hover { border-color: #5a7ad6; box-shadow: 0 5px 0 rgba(0,0,0,.5), 0 0 20px rgba(90,122,214,.5); }
.adv-bigbtn-bag:hover { border-color: #c98a2a; box-shadow: 0 5px 0 rgba(0,0,0,.5), 0 0 20px rgba(201,138,42,.5); }
.adv-big-svg { width: 38px; height: 33px; flex-shrink: 0; filter: drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.adv-bigbtn-tx b { display: block; font-family: var(--game); font-weight: 700; font-size: 15px; letter-spacing: 1.5px; color: #dbe4f5; }
.adv-bigbtn-tx small { font-family: var(--game); font-weight: 600; font-size: 11px; color: var(--muted); letter-spacing: .3px; }

/* Reiniciar: abajo del todo, a la derecha, en rojo */
.adv-footer { display: flex; justify-content: flex-end; margin-top: 26px; padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.06); }
.adv-reset-btn { font-family: var(--game); font-weight: 700; font-size: 12px; letter-spacing: 1px; color: #ff9a9a;
  padding: 8px 15px; border-radius: 10px; cursor: pointer; text-transform: uppercase;
  background: linear-gradient(160deg, #3a1418, #240b0e); border: 1px solid #7a2830;
  box-shadow: 0 2px 0 rgba(0,0,0,.5); transition: transform .1s, box-shadow .15s; }
.adv-reset-btn:hover { box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 16px rgba(232,74,74,.4); color: #ffc2c2; }
.adv-reset-btn:active { transform: translateY(1px); }

/* Mochila */
#adv-mochila-overlay { position: fixed; inset: 0; z-index: 246; background: rgba(5,8,14,.8); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 16px; }
.advm-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
@media (min-width: 720px) { .advm-grid { grid-template-columns: repeat(3, 1fr); } }
.advm-item { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 11px;
  background: rgba(0,0,0,.3); border: 1px solid rgba(255,255,255,.09);
  font-size: 20px; }
.advm-item img { width: 30px; height: 30px; object-fit: contain; flex-shrink: 0; }
.advm-item .advt-disc { width: 28px; height: 28px; flex-shrink: 0; margin: 0; }
.advm-nom { flex: 1; min-width: 0; font-family: var(--game); font-weight: 600; font-size: 12.5px; color: var(--text);
  letter-spacing: .3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.advm-item b { font-family: var(--game); font-weight: 700; font-size: 13px; color: #ffd76a; flex-shrink: 0; }
.advm-dim { opacity: .45; }
.advm-mt { cursor: help; }

/* Panel de test admin */
.adv-test-row { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin: 8px 0;
  padding: 7px 9px; border-radius: 11px; background: rgba(232,74,74,.07); border: 1px dashed rgba(232,74,74,.4); }
.adv-test-tit { font-family: var(--game); font-weight: 700; font-size: 11px; color: #ff9a9a; letter-spacing: 1px; }
.adv-test-btn { font-family: var(--game); font-weight: 600; font-size: 11px; color: #dbe4f5; padding: 4px 8px;
  border-radius: 7px; cursor: pointer; background: rgba(255,255,255,.06); border: 1px solid var(--border); }
.adv-test-btn:hover { background: rgba(232,74,74,.25); }


/* ════════════════ s279: detalle del PC compacto (sin scroll) ════════ */
.pcdet-spr { height: 66px !important; margin-bottom: 2px !important; }
.pcdet-spr img { width: 62px !important; height: 62px !important; }
.pc-col-det { padding: 10px 12px !important; min-height: 0 !important; }
.pc-col-det .pcinfo-head { font-size: 14.5px !important; margin-bottom: 2px !important; }
.pc-col-det .pcinfo-head small { font-size: 10.5px !important; }
.pc-col-det .pcinfo-row { margin-bottom: 3px !important; gap: 4px !important; }
.pc-col-det .pcinfo-line { font-size: 11px !important; margin: 1px 0 !important; }
.pc-col-det .pcinfo-grid3 { gap: 3px 4px !important; margin: 2px 0 4px !important; }
.pc-col-det .pcinfo-cell { font-size: 10px !important; padding: 2px 5px !important; }
.pc-col-det .pcinfo-cell b { font-size: 11px !important; }
.pc-col-det .pcinfo-stats { margin: 4px 0 3px !important; }
.pc-col-det .pcinfo-stat { font-size: 10px !important; margin: 2px 0 !important; gap: 6px !important; }
.pc-col-det .pcinfo-stat > span { width: 46px !important; }
.pc-col-det .pcinfo-statbar { height: 5px !important; }
.pc-col-det .pcinfo-stat b { font-size: 11px !important; }
.pc-col-det .pcinfo-movs { gap: 3px !important; margin-top: 4px !important; }
.pc-col-det .pcinfo-mov { font-size: 10px !important; padding: 1px 6px !important; }
.pc-col-det .pcdet-acts { gap: 5px !important; margin-top: 8px !important; }
.pc-col-det .pcdet-btn { font-size: 13px !important; padding: 11px 12px !important; }

/* Comparador */
#adv-comp-overlay { position: fixed; inset: 0; z-index: 254; background: rgba(5,8,14,.82); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 16px; }
.comp-card { position: relative; width: 100%; max-width: 640px; max-height: 90vh; overflow-y: auto;
  background: linear-gradient(165deg, #1a2236 0%, #10141d 60%, #0b0e14 100%);
  border: 1px solid var(--border); border-radius: 18px; padding: 20px 22px 24px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 0 34px rgba(90,120,220,.18), 0 18px 44px rgba(0,0,0,.7); }
.comp-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 7px; margin-top: 10px; }
.comp-pick-btn { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 7px 4px; border-radius: 11px;
  cursor: pointer; background: rgba(0,0,0,.3); border: 1px solid rgba(255,255,255,.09); transition: transform .1s, box-shadow .12s; }
.comp-pick-btn:hover { transform: translateY(-2px); border-color: #9db4ff; box-shadow: 0 0 12px rgba(157,180,255,.4); }
.comp-pick-btn img { width: 44px; height: 44px; object-fit: contain; }
.comp-pick-btn small { font-family: var(--game); font-weight: 600; font-size: 10px; color: var(--muted); }
.comp-cols { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: start; margin-top: 8px; }
.comp-col { text-align: center; }
.comp-vs { font-family: var(--game); font-weight: 700; font-size: 17px; color: #ffd76a; letter-spacing: 1px; align-self: center;
  text-shadow: 0 0 12px rgba(255,215,106,.5); }
.comp-spr img { width: 72px; height: 72px; object-fit: contain; }
.comp-nom { font-family: var(--game); font-weight: 700; font-size: 14px; color: #fff; letter-spacing: .5px; }
.comp-sub { font-family: var(--game); font-weight: 600; font-size: 11.5px; color: var(--muted); }
.comp-tipos { display: flex; gap: 4px; justify-content: center; margin: 4px 0; }
.comp-abil { font-family: var(--game); font-weight: 600; font-size: 11.5px; color: #b9c6e8; }
.comp-movs { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; margin-top: 5px; }
.comp-stats { margin-top: 12px; display: flex; flex-direction: column; gap: 4px; }
.comp-row { display: grid; grid-template-columns: 36px 1fr 64px 1fr 36px; gap: 7px; align-items: center; }
.comp-row b { font-family: var(--game); font-weight: 700; font-size: 13px; color: var(--muted); text-align: center; }
.comp-row b.comp-win { color: #7ad65a; text-shadow: 0 0 8px rgba(122,214,90,.5); }
.comp-stat { font-family: var(--game); font-weight: 700; font-size: 11px; color: var(--muted); text-align: center;
  letter-spacing: .5px; text-transform: uppercase; }
.comp-bar { display: block; height: 7px; border-radius: 4px; background: rgba(0,0,0,.4); overflow: hidden; position: relative; }
.comp-bar u { display: block; height: 100%; background: #4a5a7a; border-radius: 4px; text-decoration: none; }
.comp-bar-l u { margin-left: auto; }
.comp-bar u.comp-u-win { background: linear-gradient(90deg, #4fc3f7, #7ad65a); box-shadow: 0 0 8px rgba(122,214,90,.4); }
.advf-comp-btn { font-family: var(--game); font-weight: 700; font-size: 12px; letter-spacing: .5px; color: #dbe4f5;
  padding: 4px 10px; border-radius: 9px; cursor: pointer; background: rgba(255,215,106,.12);
  border: 1px solid rgba(255,215,106,.4); }
.advf-comp-btn:hover { background: rgba(255,215,106,.25); box-shadow: 0 0 10px rgba(255,215,106,.3); }

/* Botón LIBERAR del detalle del PC (rojo, acción destructiva) */
.pcdet-btn-liberar {
  background: linear-gradient(160deg, #3a1c1c, #241014) !important;
  border-color: rgba(226, 72, 61, 0.5) !important;
  color: #ff8a8a !important;
}
.pcdet-btn-liberar:hover:not([disabled]) {
  box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 14px rgba(226,72,61,.4) !important;
  border-color: rgba(226, 72, 61, 0.8) !important;
}

/* ══════════════ SISTEMA DE CRÍA (breeding) ══════════════ */
.adv-cria .adv-cria-ico { font-size: 30px; width: 46px; text-align: center; flex-shrink: 0; }
.adv-cria { border-left-color: #ff9ec4 !important; }

.cria-sec-label { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: 1.5px;
  color: #ff9ec4; margin: 18px 0 4px; }
.cria-sec-sub { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); margin-bottom: 10px; }

/* Huevos incubándose */
.cria-huevos { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 8px; }
.cria-huevo { background: linear-gradient(165deg, #241a2a, #16101c); border: 1px solid rgba(255,158,196,.3);
  border-radius: 14px; padding: 14px 16px; text-align: center; min-width: 130px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.3), 0 0 16px rgba(255,158,196,.12); }
.cria-huevo-listo { border-color: #7ad65a; box-shadow: 0 0 0 1px rgba(0,0,0,.3), 0 0 22px rgba(122,214,90,.4);
  animation: criaHuevoPulse 1.2s ease infinite; }
@keyframes criaHuevoPulse { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.cria-huevo-egg { font-size: 40px; animation: criaWobble 2.4s ease infinite; }
@keyframes criaWobble { 0%,100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
.cria-huevo-nom { font-family: var(--game); font-weight: 700; font-size: 12px; color: #dbe4f5; margin: 4px 0; }
.cria-huevo-timer { font-family: var(--game); font-weight: 800; font-size: 20px; color: #ffd76a;
  text-shadow: 0 0 10px rgba(255,215,106,.5); }

.cria-btn { font-family: var(--game); font-weight: 700; font-size: 12px; letter-spacing: .5px;
  border: none; border-radius: 9px; padding: 7px 12px; cursor: pointer; margin-top: 6px; }
.cria-btn-eclo { background: linear-gradient(160deg, #8fe06a, #4faf2c); color: #0d1117; box-shadow: 0 2px 0 #2f7a16; }
.cria-btn-par-f { background: linear-gradient(160deg, #ff9ec4, #e0518f); color: #2a0d1a; box-shadow: 0 2px 0 #a02864; }
.cria-btn-par-m { background: linear-gradient(160deg, #7fc0ff, #3a7fd0); color: #06121f; box-shadow: 0 2px 0 #1d548f; }
.cria-btn-huevo { background: linear-gradient(160deg, #ffd27a, #f5a623); color: #2a1a04; box-shadow: 0 2px 0 #a06810; }
.cria-btn:hover { filter: brightness(1.08); }
.cria-btn:active { transform: translateY(1px); }

/* Pool de Pokémon */
.cria-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
/* s404: barra y overlay de "elegir criadores de la caja" */
.cria-elegir-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.cria-btn-elegir { background: linear-gradient(160deg, #5a8ad0, #3a5eaa); color: #fff; box-shadow: 0 2px 0 #24407a; }
.cria-btn-elegir-clear { background: linear-gradient(160deg, #b05a5a, #8a3a3a); color: #fff; box-shadow: 0 2px 0 #6a2020; }
.cria-btn-elegir-sel { background: linear-gradient(160deg, #c99a3a, #9a7020); color: #fff; box-shadow: 0 2px 0 #6a4a10; }
.cria-card-quitable { cursor: pointer; border-color: rgba(255,180,84,.5) !important; transition: all .12s; }
.cria-card-quitable:hover { border-color: #ff6a6a !important; box-shadow: 0 0 14px rgba(255,90,90,.4); transform: translateY(-2px); }
.cria-card-fijo { opacity: .5; }
#adv-criasel-overlay { position: fixed; inset: 0; z-index: 420; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,18,.82); backdrop-filter: blur(3px); padding: 20px; }
.criasel-panel { position: relative; width: 100%; max-width: min(1200px, 95vw); max-height: 88vh; overflow-y: auto;
  background: linear-gradient(165deg, #141d33, #0a0d16); border: 1px solid #2d3a5a; border-radius: 18px; padding: 22px 24px 26px;
  box-shadow: 0 20px 50px rgba(0,0,0,.75); }
.criasel-tit { font-family: var(--game); font-weight: 800; font-size: 18px; letter-spacing: 1.5px; color: #9db4ff; text-transform: uppercase; }
.criasel-sub { font-family: 'Rajdhani',sans-serif; font-size: 13px; color: var(--muted); margin: 3px 0 14px; }
.criasel-boxnav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 12px; }
.criasel-boxname { font-family: var(--game); font-weight: 800; font-size: 15px; color: #9db4ff; letter-spacing: 1px; }
.criasel-boxname small { color: var(--muted); font-weight: 600; }
.criasel-cell-vacio { border: 1px dashed rgba(255,255,255,.08); background: rgba(0,0,0,.15); cursor: default; }
.criasel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.criasel-cell { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px;
  border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.03); cursor: pointer; transition: all .12s; }
.criasel-cell:hover { border-color: rgba(122,180,255,.6); background: rgba(90,140,220,.12); }
.criasel-cell-on { border-color: #7ad65a; background: rgba(122,214,90,.16); box-shadow: inset 0 0 0 1px rgba(122,214,90,.4); }
.criasel-spr { width: 62px; height: 62px; display: flex; align-items: center; justify-content: center; }
.criasel-spr img { max-width: 62px; max-height: 62px; image-rendering: pixelated; object-fit: contain; }
.criasel-nom { font-family: var(--game); font-weight: 700; font-size: 11px; color: var(--text); text-align: center; }
.criasel-chk { position: absolute; top: 4px; right: 6px; color: #7ad65a; font-weight: 800; }
.criasel-empty { grid-column: 1/-1; text-align: center; color: var(--muted); padding: 30px; }
.criasel-acts { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 16px; }
.criasel-count { font-family: var(--game); font-weight: 700; font-size: 13px; color: var(--muted); }
.cria-card { background: linear-gradient(165deg, #1a2236, #10141d); border: 1px solid var(--border);
  border-radius: 14px; padding: 12px; text-align: center; }
.cria-card-spr img { width: 64px; height: 64px; object-fit: contain; }
.cria-card-nom { font-family: var(--game); font-weight: 700; font-size: 12.5px; color: #fff; margin-top: 4px; }
.cria-card-sub { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); }
.cria-card-tiene { font-family: var(--game); font-weight: 700; font-size: 11px; color: #7ad65a; margin-top: 6px; }

/* Bebés recién nacidos */
.cria-bebes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 8px; }
.cria-bebe { background: linear-gradient(165deg, #16241a, #101a12); border: 1px solid rgba(122,214,90,.35);
  border-radius: 14px; padding: 12px 14px; min-width: 280px; box-shadow: 0 0 18px rgba(122,214,90,.14); }
.cria-bebe-top { display: flex; align-items: center; gap: 10px; }
.cria-bebe-spr img { width: 56px; height: 56px; object-fit: contain; }
.cria-bebe-nom { font-family: var(--game); font-weight: 800; font-size: 14px; color: #fff; }
.cria-bebe-nat { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #b9c6e8; }
.cria-ivs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 10px 0; }
.cria-iv { display: flex; justify-content: space-between; align-items: center; padding: 3px 8px;
  border-radius: 6px; font-family: var(--game); }
.cria-iv span { font-size: 10px; font-weight: 700; color: var(--muted); }
.cria-iv b { font-size: 13px; font-weight: 800; }
.cria-iv-perfect { background: rgba(122,214,90,.22); } .cria-iv-perfect b { color: #7ad65a; }
.cria-iv-good { background: rgba(122,214,90,.1); } .cria-iv-good b { color: #a8e08f; }
.cria-iv-mid { background: rgba(255,215,106,.1); } .cria-iv-mid b { color: #ffd76a; }
.cria-iv-low { background: rgba(226,72,61,.1); } .cria-iv-low b { color: #ff8a8a; }
.cria-bebe-acts { display: flex; gap: 6px; flex-wrap: wrap; }
.cria-btn-guardar { background: linear-gradient(160deg, #8fe06a, #4faf2c); color: #0d1117; box-shadow: 0 2px 0 #2f7a16; }
.cria-btn-comparar { background: rgba(255,215,106,.15); color: #ffd76a; border: 1px solid rgba(255,215,106,.4); }
.cria-btn-desechar { background: rgba(226,72,61,.12); color: #ff8a8a; border: 1px solid rgba(226,72,61,.4); }

/* Tabla de comparación cría vs padres */
.cria-comp-tabla { margin-top: 12px; display: flex; flex-direction: column; gap: 4px; }
.cria-comp-row { display: grid; grid-template-columns: 90px repeat(6, 1fr) 44px; gap: 4px; align-items: center;
  padding: 5px 6px; border-radius: 8px; font-family: var(--game); }
.cria-comp-head { color: var(--muted); font-size: 10px; font-weight: 700; }
.cria-comp-head span { text-align: center; }
.cria-comp-row:not(.cria-comp-head) { background: rgba(0,0,0,.25); }
.cria-comp-cria { background: rgba(122,214,90,.12) !important; outline: 1px solid rgba(122,214,90,.4); }
.cria-comp-et { font-size: 11px; font-weight: 700; color: #dbe4f5; }
.cria-comp-row span { text-align: center; font-size: 12px; font-weight: 700; }
.cria-comp-row b { text-align: center; font-size: 13px; font-weight: 800; color: #ffd76a; }

/* Tooltip flotante de la mochila (objetos y mentas) */
.advm-item-hov { cursor: help; }
.adv-mochila-tip {
  position: fixed; z-index: 300; pointer-events: none;
  max-width: 260px; padding: 10px 13px;
  background: linear-gradient(165deg, #1c2740, #10141d);
  border: 1px solid rgba(157,180,255,.35); border-radius: 11px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 8px 26px rgba(0,0,0,.7), 0 0 18px rgba(90,120,220,.2);
}
.adv-mochila-tip .amt-nom {
  font-family: var(--game); font-weight: 800; font-size: 13.5px; color: #fff;
  letter-spacing: .5px; margin-bottom: 5px;
}
.adv-mochila-tip .amt-desc {
  font-family: 'Rajdhani', sans-serif; font-weight: 500; font-size: 13px; color: #c4cfe6; line-height: 1.35;
}
.adv-mochila-tip .men-up { color: #5aa8ff; font-weight: 800; }
.adv-mochila-tip .men-down { color: #ff7a7a; font-weight: 800; }
/* s634 · Tooltip rico del torneo: tipos + habilidad/naturaleza + ataques con
   su color de tipo (mismo estilo que el resto del juego). */
.adv-mochila-tip .ttm { min-width: 214px; }
.adv-mochila-tip .ttm-tipos { display: flex; gap: 5px; margin-bottom: 8px; }
.adv-mochila-tip .ttm-line { display: flex; justify-content: space-between; align-items: baseline; gap: 14px;
  font-family: 'Rajdhani', sans-serif; font-size: 13px; margin: 3px 0; }
.adv-mochila-tip .ttm-k { color: #8a97b5; font-weight: 600; }
.adv-mochila-tip .ttm-v { color: #eaf1ff; font-weight: 700; text-align: right; }
.adv-mochila-tip .ttm-moves { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; padding-top: 8px;
  border-top: 1px solid rgba(157,180,255,.18); }
.adv-mochila-tip .ttm-move { display: inline-flex; align-items: center; gap: 5px; font-family: var(--game);
  font-weight: 700; font-size: 11px; letter-spacing: .3px; color: #eaf1ff; background: rgba(255,255,255,.06);
  border: 1px solid #8a93ad; border-left-width: 3px; border-radius: 6px; padding: 3px 7px; }
.adv-mochila-tip .ttm-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.adv-mochila-tip .ttm-none { color: #8a97b5; font-style: italic; font-size: 12px; }

/* Símbolo de género arriba-derecha de cada Pokémon del equipo */
.adv-slot { position: relative; }
.adv-slot-genero {
  position: absolute; top: 3px; right: 4px; z-index: 3;
  font-family: 'Rajdhani', sans-serif; font-weight: 800; font-size: 15px; line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,.8);
}
.adv-gen-m { color: #5aa8ff; }
.adv-gen-f { color: #ff8ab8; }

/* Botón de cría automática */
.cria-btn-auto { background: linear-gradient(160deg, #9d7bff, #6c3fd0); color: #fff; box-shadow: 0 2px 0 #4a248f; margin-top: 5px; }
.cria-btn-auto-on { background: linear-gradient(160deg, #ffb84a, #f08a1c); color: #2a1a04; box-shadow: 0 2px 0 #a05810;
  animation: criaAutoPulse 1.5s ease infinite; }
@keyframes criaAutoPulse { 0%,100% { box-shadow: 0 2px 0 #a05810, 0 0 8px rgba(255,184,74,.4); } 50% { box-shadow: 0 2px 0 #a05810, 0 0 18px rgba(255,184,74,.7); } }

/* Caja de Crías */
.cria-box-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; margin-bottom: 8px; }
.cria-box-card { background: linear-gradient(165deg, #1a2236, #10141d); border: 1px solid var(--border);
  border-radius: 12px; padding: 10px; text-align: center; position: relative; }
.cria-box-top { border-color: rgba(122,214,90,.5); box-shadow: 0 0 14px rgba(122,214,90,.18); }
.cria-box-mid { border-color: rgba(255,215,106,.4); }
.cria-box-low { opacity: .82; }
.cria-box-spr img { width: 52px; height: 52px; object-fit: contain; }
.cria-box-nom { font-family: var(--game); font-weight: 700; font-size: 11px; color: #fff; margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cria-box-suma { font-family: var(--game); font-weight: 700; font-size: 10.5px; color: #ffd76a; margin: 2px 0 6px; }
.cria-box-acts { display: flex; gap: 4px; justify-content: center; }
.cria-box-btn { font-size: 13px; border: none; border-radius: 7px; padding: 4px 8px; cursor: pointer; }
.cria-box-btn-ok { background: rgba(122,214,90,.18); color: #7ad65a; }
.cria-box-btn-cmp { background: rgba(255,215,106,.15); color: #ffd76a; }
.cria-box-btn-del { background: rgba(226,72,61,.12); color: #ff8a8a; }
.cria-box-btn:hover { filter: brightness(1.2); }

/* ══════════════ CAJAS DE CRÍA (vídeo) ══════════════ */
.adv-cajasvideo { border-left-color: #9d7bff !important; }

/* Pestañas de especie */
.cv-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.cv-tab { display: flex; align-items: center; gap: 6px; padding: 6px 10px 6px 6px; border-radius: 11px;
  background: rgba(0,0,0,.3); border: 1px solid var(--border); cursor: pointer; }
.cv-tab img { width: 34px; height: 34px; object-fit: contain; }
.cv-tab span { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 13px; color: #dbe4f5; }
.cv-tab b { font-family: var(--game); font-weight: 700; font-size: 11px; color: var(--muted); }
.cv-tab-on { border-color: var(--cvglow, #9d7bff); box-shadow: 0 0 14px var(--cvglow, #9d7bff); background: color-mix(in srgb, var(--cvglow, #9d7bff) 14%, transparent); }
.cv-tab-mas { flex-direction: column; gap: 2px; justify-content: center; padding: 6px 14px; min-height: 48px;
  border-style: dashed; border-color: rgba(157,180,255,.5); background: rgba(157,180,255,.08); }
.cv-tab-mas:hover { background: rgba(157,180,255,.18); border-color: rgba(157,180,255,.9); }
.cv-tab-mas-ico { font-family: var(--game); font-weight: 800; font-size: 22px; line-height: 1; color: #9db4ff; }
.cv-tab-mas span:last-child { font-family: var(--game); font-weight: 800; font-size: 11px; letter-spacing: .5px; color: #9db4ff; }

/* Panel de padres (destino de arrastre) */
.cv-padres { display: grid; grid-template-columns: 1fr auto 1.1fr auto 1fr; gap: 10px; align-items: center; margin: 8px 0 14px; }
.cv-prog { border-radius: 14px; padding: 12px; text-align: center; border: 2px dashed transparent; min-height: 120px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.cv-prog-m { background: linear-gradient(165deg, #16243a, #101a2a); border-color: rgba(90,168,255,.4); }
/* s420: contorno dorado + estrella para IVs perfectos (crías y progenitores) */
.cv-prog-perfecto { border: 2px solid #ffd76a !important; box-shadow: 0 0 20px rgba(255,215,106,.55), inset 0 0 12px rgba(255,215,106,.12); animation: cvProgGlow 1.8s ease-in-out infinite; }
@keyframes cvProgGlow { 0%,100% { box-shadow: 0 0 16px rgba(255,215,106,.4), inset 0 0 10px rgba(255,215,106,.1); } 50% { box-shadow: 0 0 28px rgba(255,215,106,.75), inset 0 0 16px rgba(255,215,106,.2); } }
.cv-prog-star { position: absolute; top: -8px; right: -6px; z-index: 3; font-size: 20px; color: #ffd76a; text-shadow: 0 0 8px rgba(255,215,106,.9), 0 1px 2px rgba(0,0,0,.6); }
/* s693b · Ya tienes el SHINY de esta familia: glow cian + chip ✨ arriba-centro. */
.cv-prog-shinyfam { border: 2px solid #6fd3ff !important; box-shadow: 0 0 18px rgba(111,211,255,.5), inset 0 0 12px rgba(111,211,255,.12); }
.cv-prog-perfecto.cv-prog-shinyfam { border-color: #ffd76a !important;
  box-shadow: 0 0 18px rgba(255,215,106,.5), 0 0 20px rgba(111,211,255,.42), inset 0 0 12px rgba(255,215,106,.12); }
.cv-prog-shinybadge { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); z-index: 4;
  font-size: 13px; line-height: 1; padding: 2px 9px; border-radius: 999px; background: rgba(8,26,40,.92);
  border: 1px solid rgba(111,211,255,.65); color: #cdefff; text-shadow: 0 0 8px rgba(111,211,255,.95); white-space: nowrap;
  animation: cvShinyPulse 1.7s ease-in-out infinite; }
@keyframes cvShinyPulse { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.14); } }
.cv-cria-perfecto { border: 2px solid #ffd76a !important; box-shadow: 0 0 16px rgba(255,215,106,.5), inset 0 0 10px rgba(255,215,106,.12) !important; position: relative; }
.cv-cria-star { position: absolute; top: -7px; right: -5px; z-index: 4; font-size: 17px; color: #ffd76a; text-shadow: 0 0 7px rgba(255,215,106,.9), 0 1px 2px rgba(0,0,0,.7); pointer-events: none; }
.cv-prog-f { background: linear-gradient(165deg, #2a1622, #1a1016); border-color: rgba(255,138,184,.4); }
.cv-prog-over { border-style: solid; box-shadow: 0 0 18px rgba(157,123,255,.5); transform: scale(1.02); }
.cv-prog-lbl { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: 1px; }
.cv-prog-m .cv-prog-lbl { color: #5aa8ff; } .cv-prog-f .cv-prog-lbl { color: #ff8ab8; }
.cv-prog-spr img { width: 64px; height: 64px; object-fit: contain; }
.cv-prog-suma { font-family: var(--game); font-weight: 700; font-size: 12px; color: #ffd76a; }
.cv-prog-empty { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); line-height: 1.3; }
.cv-prog-nom { font-family: var(--game); font-weight: 700; font-size: 13px; color: #fff; }
/* s411: huevos incubándose en la parte superior de la crianza */
.cv-huevos-sec { margin: 4px 0 14px; }
.cv-huevos-lbl { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: 1px; color: #ffd76a; margin-bottom: 8px; }
.cv-huevos { display: flex; flex-wrap: wrap; gap: 12px; }
.cv-huevo { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 12px 16px; min-width: 120px;
  background: linear-gradient(165deg, #1e2636, #141b28); border: 1px solid rgba(255,215,106,.3); border-radius: 14px; }
.cv-huevo-listo { border-color: rgba(143,224,106,.7); box-shadow: 0 0 16px rgba(143,224,106,.3); }
.cv-huevo-egg { font-size: 34px; line-height: 1; animation: cvHuevoWobble 2.2s ease-in-out infinite; }
@keyframes cvHuevoWobble { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
.cv-huevo-nom { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; color: #d7e2f5; }
.cv-huevo-timer { font-family: var(--game); font-weight: 800; font-size: 16px; color: #ffd76a; font-variant-numeric: tabular-nums; }
.cv-huevo-btn { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; padding: 8px 16px; border-radius: 9px;
  background: linear-gradient(160deg, #8fe06a, #4faf2c); color: #0d1117; border: none; box-shadow: 0 2px 0 #2f7a16; cursor: pointer; }
.cv-huevo-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
/* s411: botón grande DEPOSITAR (slot vacío) y RETIRAR (slot lleno) */
.cv-prog-depo { width: 100%; min-height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  background: rgba(255,255,255,.06); border: 2px dashed rgba(255,255,255,.28); border-radius: 12px; cursor: pointer;
  font-family: var(--game); color: #d7e2f5; transition: background .15s, border-color .15s, transform .1s; }
.cv-prog-depo:hover { background: rgba(255,255,255,.12); border-color: rgba(157,180,255,.7); transform: translateY(-1px); }
.cv-prog-depo-ico { font-size: 30px; font-weight: 800; line-height: 1; color: #9db4ff; }
.cv-prog-depo-tx { font-weight: 800; font-size: 13px; letter-spacing: .6px; line-height: 1.25; }
.cv-prog-depo-tx small { font-weight: 600; font-size: 11px; color: var(--muted); letter-spacing: .3px; }
.cv-prog-retirar { margin-top: 4px; font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px;
  padding: 6px 14px; border-radius: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); color: #eaf1ff; cursor: pointer; }
.cv-prog-retirar:hover { background: rgba(255,255,255,.2); }
.cv-prog-acts { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
.cv-prog-acts .cv-prog-retirar { margin-top: 0; }
.cv-prog-vender { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px;
  padding: 6px 12px; border-radius: 8px; background: rgba(255,215,106,.14); border: 1px solid rgba(255,215,106,.42);
  color: #ffe08a; cursor: pointer; white-space: nowrap; }
.cv-prog-vender:hover { background: rgba(255,215,106,.26); }
/* Overlay para elegir el progenitor desde el EQUIPO */
.advce-ov { position: fixed; inset: 0; z-index: 4200; display: flex; align-items: center; justify-content: center;
  background: rgba(6,10,18,.72); opacity: 0; transition: opacity .18s; padding: 20px; }
.advce-ov.on { opacity: 1; }
.advce-panel { width: min(680px, 96vw); max-height: 88vh; overflow: auto; background: linear-gradient(165deg, #16202f, #0f1622);
  border: 1px solid rgba(157,180,255,.3); border-radius: 16px; padding: 18px 20px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.advce-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.advce-head b { font-family: var(--game); font-weight: 800; font-size: 17px; letter-spacing: 1px; color: #fff; }
.advce-x { font-family: var(--game); font-weight: 800; font-size: 15px; width: 32px; height: 32px; border-radius: 8px;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #eaf1ff; cursor: pointer; }
.advce-x:hover { background: rgba(255,255,255,.2); }
.advce-sub { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); margin-bottom: 14px; line-height: 1.4; }
/* s448: pestañas Equipo/Caja del selector de nueva crianza */
.advce-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.advce-tab { flex: 1; font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; cursor: pointer;
  color: #b9c6dd; background: rgba(0,0,0,.3); border: 1px solid var(--line); border-radius: 10px; padding: 10px; transition: all .12s; }
.advce-tab:hover { color: #fff; }
.advce-tab.on { background: rgba(255,158,196,.16); border-color: rgba(255,158,196,.55); color: #ffc4dc; }
.cria-btn-retirar { background: rgba(0,0,0,.3) !important; border: 1px solid rgba(255,255,255,.16) !important; color: #c9b48a !important;
  font-size: 11.5px !important; margin-top: 6px; }
.cria-btn-retirar:hover { background: rgba(226,72,61,.3) !important; color: #fff !important; }
.advce-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.advce-card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 8px; cursor: pointer;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; transition: background .15s, border-color .15s, transform .1s; }
.advce-card:hover { background: rgba(157,180,255,.14); border-color: rgba(157,180,255,.6); transform: translateY(-2px); }
.advce-spr img { width: 60px; height: 60px; object-fit: contain; image-rendering: pixelated; }
.advce-nom { font-family: var(--game); font-weight: 700; font-size: 13px; color: #fff; text-align: center; }
.advce-iv { font-family: var(--game); font-weight: 600; font-size: 11px; color: #ffd76a; }
.advce-vacio { grid-column: 1/-1; font-family: 'Rajdhani', sans-serif; font-size: 14px; color: var(--muted); text-align: center; padding: 24px 10px; line-height: 1.5; }
.cv-inicio { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 40px 20px; }
.cv-inicio-ico { width: 84px; height: 84px; object-fit: contain; image-rendering: pixelated; }
.cv-inicio-tit { font-family: var(--game); font-weight: 800; font-size: 22px; letter-spacing: 1.5px; color: #fff; }
.cv-inicio-tx { font-family: 'Rajdhani', sans-serif; font-size: 15px; color: var(--muted); line-height: 1.5; max-width: 460px; }
.cv-inicio-btn { margin-top: 8px; font-family: var(--game); font-weight: 800; font-size: 16px; letter-spacing: 1px;
  padding: 14px 32px; border-radius: 12px; background: linear-gradient(160deg, #7a4d0c, #5a3a08); border: 1px solid #a06a14;
  color: #ffe9c0; cursor: pointer; transition: transform .1s, box-shadow .15s; }
.cv-inicio-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(255,196,74,.3); }
.cv-padres-mid { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.cv-padres-tit { font-family: var(--game); font-weight: 800; font-size: 15px; color: #fff; letter-spacing: 1px; }
.cv-padres-hint { font-family: 'Rajdhani', sans-serif; font-size: 11.5px; color: var(--muted); margin-top: 4px; max-width: 180px; }

.cv-sec-label { font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: 1.5px; color: #c9b3ff; margin: 14px 0 6px; text-transform: uppercase; }
.cv-sec-label small { font-weight: 700; color: #9aa6bd; letter-spacing: .5px; }

/* Rejilla de crías */
.cv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; }
.cv-cria { background: linear-gradient(165deg, #1a2236, #10141d); border: 1px solid var(--border);
  border-radius: 12px; padding: 9px; text-align: center; cursor: grab; transition: transform .1s, box-shadow .12s; }
.cv-cria:hover { transform: translateY(-2px); box-shadow: 0 0 14px rgba(157,123,255,.3); }
.cv-cria.cv-dragging { opacity: .5; }
.cv-top { border-color: rgba(122,214,90,.5); box-shadow: 0 0 12px rgba(122,214,90,.15); }
.cv-mid { border-color: rgba(255,215,106,.35); }
.cv-low { opacity: .85; }
.cv-cria-spr img { width: 52px; height: 52px; object-fit: contain; }
.cv-cria-nom { font-family: var(--game); font-weight: 700; font-size: 12px; color: #fff; display: flex; align-items: center;
  justify-content: center; gap: 4px; flex-wrap: wrap; }
.cv-cria-nom b { color: #ffd76a; } .cv-cria-nom i { color: #7ad65a; font-style: normal; font-size: 10px; }
.cv-cria-ivs { display: flex; gap: 2px; justify-content: center; margin: 5px 0; }
.cv-iv { font-family: var(--game); font-weight: 700; font-size: 9.5px; padding: 1px 4px; border-radius: 4px; }
.cv-cria-acts { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; }
.cv-btn { font-family: var(--game); font-weight: 700; font-size: 10px; border: none; border-radius: 6px;
  padding: 4px 6px; cursor: pointer; }
.cv-btn-m { background: rgba(90,168,255,.18); color: #5aa8ff; }
.cv-btn-f { background: rgba(255,138,184,.18); color: #ff8ab8; }
.cv-btn-pc { background: rgba(157,123,255,.18); color: #b9a3ff; }
.cv-btn-cmp { background: rgba(255,215,106,.15); color: #ffd76a; }
.cv-btn-del { background: rgba(226,72,61,.12); color: #ff8a8a; }
.cv-btn:hover { filter: brightness(1.2); }

/* Comparador de crías rediseñado (padre | cría | madre) */
.ccmp-cab { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 10px; margin: 14px 0 16px; }
.ccmp-col { text-align: center; }
.ccmp-col img { width: 60px; height: 60px; object-fit: contain; }
.ccmp-col-cria img { width: 76px; height: 76px; }
.ccmp-col-lbl { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: 1px; margin-bottom: 4px; }
.ccmp-pad { color: #5aa8ff; } .ccmp-mad { color: #ff8ab8; } .ccmp-criaL { color: #7ad65a; }
.ccmp-col-sum { font-family: var(--game); font-weight: 700; font-size: 12px; color: var(--muted); margin-top: 2px; }
.ccmp-col-sum-cria { color: #ffd76a; font-size: 14px; }
.ccmp-filas { display: flex; flex-direction: column; gap: 5px; }
/* Mismo grid que la cabecera (1fr 1.2fr 1fr) para que cada IV caiga bajo su Pokémon. */
.ccmp-row { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 10px; align-items: center; margin-bottom: 3px; }
.ccmp-mid { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.ccmp-stat { font-family: var(--game); font-weight: 700; font-size: 13px; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; }
.ccmp-num { font-family: var(--game); font-weight: 800; font-size: 16px; text-align: center; padding: 3px 0; border-radius: 6px; justify-self: center; min-width: 44px; }
.ccmp-num-cria { font-size: 18px; background: rgba(255,255,255,.05); position: relative; padding: 3px 10px; }
.ccmp-num-off { color: #55606f !important; opacity: .5; }
/* Estados de la cría frente al progenitor rival */
.ccmp-num-cria.ccmp-up { color: #7ad65a !important; box-shadow: 0 0 0 1px rgba(122,214,90,.6), 0 0 12px rgba(122,214,90,.35); }
.ccmp-num-cria.ccmp-down { color: #ff8a8a !important; }
.ccmp-num-cria.ccmp-eq { color: #c4cfe6 !important; box-shadow: none; }
.ccmp-arrow { font-size: 10px; margin-right: 3px; vertical-align: middle; }
.ccmp-up .ccmp-arrow { color: #7ad65a; }
.ccmp-down .ccmp-arrow { color: #ff8a8a; }
.ccmp-veredicto { text-align: center; font-family: var(--game); font-weight: 700; font-size: 13px; margin-top: 14px; padding: 8px; border-radius: 9px; }
.ccmp-mejor { color: #7ad65a; background: rgba(122,214,90,.12); }
.ccmp-igual { color: #ffd76a; background: rgba(255,215,106,.1); }
.ccmp-peor { color: #ff8a8a; background: rgba(226,72,61,.1); }

/* ══════════ Priorización de IVs en cajas de cría ══════════ */
.cv-prio { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 10px 0 4px;
  padding: 12px 14px; background: #1a2030; border: 1px solid rgba(157,123,255,.4); border-radius: 12px; }
.cv-prio-lbl { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: 1px; color: #c9b3ff; text-transform: uppercase; }
.cv-prio-switches { display: flex; flex-wrap: wrap; gap: 8px; }
.cv-prio-sw { display: flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 9px;
  background: #232c40; border: 1px solid rgba(255,255,255,.18); cursor: pointer; transition: background .15s, border-color .15s; }
.cv-prio-sw:hover { background: #2b3550; }
.cv-prio-name { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; color: #cdd6e6; text-transform: uppercase; }
.cv-prio-toggle { width: 32px; height: 17px; border-radius: 9px; background: #3a4560; position: relative; transition: background .15s; }
.cv-prio-toggle i { position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 50%; background: #aeb8cc; transition: left .15s; }
.cv-prio-sw-on { border-color: #7ad65a; background: #234027; }
.cv-prio-sw-on .cv-prio-name { color: #a8f08a; }
.cv-prio-sw-on .cv-prio-toggle { background: #4faf2c; }
.cv-prio-sw-on .cv-prio-toggle i { left: 17px; background: #dfffce; }

/* ══════════ Tarjeta de cría rediseñada ══════════ */
.cv-cria { position: relative; padding-top: 8px; }
.cv-cria-head { display: flex; justify-content: space-between; align-items: center; padding: 0 2px 2px; }
.cv-cria-suma { font-family: var(--game); font-weight: 800; font-size: 12px; color: #ffd76a; }
.cv-cria-suma i { color: #7ad65a; font-style: normal; font-size: 10px; }
.cv-cria-gen { font-family: 'Rajdhani', sans-serif; font-weight: 800; font-size: 16px; line-height: 1; }
.cv-cria-gen-m { color: #5aa8ff; } .cv-cria-gen-f { color: #ff8ab8; }
.cv-cria-spr { position: relative; }
.cv-cria-shiny { position: absolute; top: 0; right: 4px; }
.cv-cria-nom { font-family: var(--game); font-weight: 700; font-size: 11.5px; color: #fff; cursor: pointer;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 2px 0; }
.cv-cria-nom .cv-cria-pen { color: var(--muted); font-size: 10px; opacity: 0; transition: opacity .12s; }
.cv-cria:hover .cv-cria-pen { opacity: 1; }
/* IVs con barras: ocultos, aparecen al hover de la tarjeta */

/* Botones glow solo-símbolo */
.cv-cria-acts { display: flex; gap: 5px; justify-content: center; margin-top: 4px; }
.cv-gbtn { width: 30px; height: 30px; border-radius: 8px; border: none; cursor: pointer;
  font-family: 'Rajdhani', sans-serif; font-weight: 800; font-size: 15px; display: flex; align-items: center; justify-content: center; }
.cv-gbtn-m { background: rgba(90,168,255,.32); color: #cfe4ff; box-shadow: inset 0 0 0 1px rgba(90,168,255,.8); }
.cv-gbtn-f { background: rgba(255,138,184,.32); color: #ffe0ee; box-shadow: inset 0 0 0 1px rgba(255,138,184,.8); }
.cv-gbtn-pc { background: rgba(157,123,255,.32); color: #e6ddff; box-shadow: inset 0 0 0 1px rgba(157,123,255,.8); font-size: 12px; font-weight: 800; }
.cv-gbtn-del { background: rgba(226,72,61,.28); color: #ffd2ce; box-shadow: inset 0 0 0 1px rgba(226,72,61,.7); font-size: 14px; }
.cv-gbtn:hover { filter: brightness(1.2); transform: translateY(-1px); }
/* s544 — NATURALEZA DE UN VISTAZO (ocupa el hueco del antiguo botón COMPARAR).
   Muestra qué stat sube (verde ▲) y cuál baja (rojo ▼), no el nombre. */
.cv-nat { width: 100%; margin-top: 6px; padding: 5px 4px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--game); font-weight: 800; font-size: 11px; letter-spacing: .4px;
  background: rgba(8, 14, 26, .55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.10); }
.cv-nat-up   { color: #6ee787; text-shadow: 0 0 6px rgba(110,231,135,.35); white-space: nowrap; }
.cv-nat-down { color: #ff6b6b; text-shadow: 0 0 6px rgba(255,107,107,.30); white-space: nowrap; }
.cv-nat-neutra { color: #9aa7bd; font-size: 10px; letter-spacing: 1px; }
.cv-nat-none   { color: #5c667d; }

/* Acciones del comparador */
.ccmp-acts { display: flex; gap: 10px; margin-top: 12px; }
.ccmp-act { flex: 1; padding: 10px; border: none; border-radius: 10px; cursor: pointer;
  font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; }
.ccmp-act-m { background: linear-gradient(160deg, #7fc0ff, #3a7fd0); color: #06121f; box-shadow: 0 2px 0 #1d548f; }
.ccmp-act-f { background: linear-gradient(160deg, #ff9ec4, #e0518f); color: #2a0d1a; box-shadow: 0 2px 0 #a02864; }
.ccmp-act:hover { filter: brightness(1.08); }

/* Botones de mote (lápiz) */
.pcinfo-mote, .advf-mote { background: rgba(157,123,255,.15); color: #b9a3ff; border: 1px solid rgba(157,123,255,.4);
  border-radius: 6px; padding: 2px 7px; cursor: pointer; font-size: 12px; margin-left: 4px; }
.pcinfo-mote:hover, .advf-mote:hover { filter: brightness(1.2); }
/* Botón de aplicar shiny (s378): en detalle del PC y en la ficha. */
.pcinfo-shiny, .advf-shiny { background: rgba(255,215,106,.12); color: #ffd76a; border: 1px solid rgba(255,215,106,.4);
  border-radius: 7px; padding: 1px 6px; cursor: pointer; font-size: .8rem; line-height: 1.2; margin-left: 4px;
  filter: grayscale(.6); opacity: .8; transition: all .12s; }
.pcinfo-shiny:hover, .advf-shiny:hover { filter: none; opacity: 1; transform: scale(1.08); }
.pcinfo-shiny.on, .advf-shiny.on { filter: none; opacity: 1; background: rgba(255,215,106,.28);
  box-shadow: 0 0 8px rgba(255,215,106,.5); border-color: rgba(255,215,106,.8); }

/* ── COMPARADOR (s378) ── */
.adv-comp-ov { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center;
  background: rgba(5,8,14,.72); backdrop-filter: blur(3px); opacity: 0; transition: opacity .18s; padding: 16px; }
.adv-comp-ov.show { opacity: 1; }
.adv-comp-card { width: min(720px,96vw); max-height: 92vh; overflow-y: auto; background: linear-gradient(180deg,#141a26,#0d1119);
  border: 1px solid rgba(120,150,210,.25); border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.6);
  transform: translateY(10px) scale(.98); transition: transform .18s; }
.adv-comp-ov.show .adv-comp-card { transform: none; }
.adv-comp-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid rgba(120,150,210,.18);
  font-family: 'Rajdhani',sans-serif; font-weight: 800; letter-spacing: .5px; color: #cfe0ff; position: sticky; top: 0;
  background: #141a26; z-index: 2; }
.adv-comp-head span { flex: 1; }
.adv-comp-clear { background: rgba(255,255,255,.08); color: #cfe0ff; border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px; padding: 3px 10px; cursor: pointer; font-family: 'Rajdhani',sans-serif; font-weight: 700; }
.adv-comp-close { background: none; border: none; color: #9fb0d0; font-size: 1.1rem; cursor: pointer; }
.adv-comp-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 16px; }
.adv-comp-slot { position: relative; min-height: 120px; border: 2px dashed rgba(120,150,210,.3); border-radius: 12px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 8px;
  background: rgba(255,255,255,.02); transition: border-color .12s, background .12s; }
.adv-comp-slot.adv-comp-drop { border-color: #7fd4f7; background: rgba(127,212,247,.1); }
.adv-comp-slot-empty { color: rgba(200,215,245,.4); }
.adv-comp-slot-ph { font-family: 'Rajdhani',sans-serif; font-weight: 700; text-align: center; font-size: .85rem; }
.adv-comp-x { position: absolute; right: 6px; top: 6px; background: rgba(255,90,138,.18); color: #ff8aa8;
  border: 1px solid rgba(255,90,138,.4); border-radius: 6px; cursor: pointer; font-size: .75rem; padding: 0 5px; }
.adv-comp-spr { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; }
.adv-comp-spr img { max-width: 100%; max-height: 100%; image-rendering: pixelated; }
.adv-comp-spr.advf-spr-shiny { filter: drop-shadow(0 0 6px rgba(255,215,106,.7)); }
.adv-comp-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; color: #eaf1ff; font-size: .92rem; text-align: center; }
.adv-comp-lvl { font-family: 'Rajdhani',sans-serif; font-weight: 700; color: #b9c8e6; font-size: .8rem; text-align: center; }
.adv-comp-lvl small { color: #7fd4f7; font-weight: 700; }
.adv-comp-igual { display: inline-flex; align-items: center; gap: 7px; background: rgba(127,212,247,.10);
  color: #cfe6ff; border: 1px solid rgba(127,212,247,.30); border-radius: 999px; padding: 4px 12px 4px 8px;
  cursor: pointer; font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .82rem; letter-spacing: .3px;
  white-space: nowrap; transition: background .14s, border-color .14s, color .14s; }
.adv-comp-igual:hover { background: rgba(127,212,247,.2); border-color: rgba(127,212,247,.55); }
.adv-comp-igual-dot { width: 26px; height: 15px; border-radius: 999px; background: rgba(255,255,255,.16);
  position: relative; flex: 0 0 auto; transition: background .14s; }
.adv-comp-igual-dot::after { content: ''; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px;
  border-radius: 50%; background: #cfe0ff; transition: left .16s, background .16s; }
.adv-comp-igual.on { background: rgba(127,212,247,.20); border-color: #7fd4f7; color: #eaf7ff; }
.adv-comp-igual.on .adv-comp-igual-dot { background: #7fd4f7; }
.adv-comp-igual.on .adv-comp-igual-dot::after { left: 13px; background: #06131f; }
.adv-comp-tipos { display: flex; gap: 4px; flex-wrap: wrap; justify-content: center; }
.adv-comp-tabla { padding: 6px 16px 14px; }
.adv-comp-fila { display: grid; grid-template-columns: 46px 1fr 46px; align-items: center; gap: 8px; margin: 5px 0; }
.adv-comp-va, .adv-comp-vb { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .92rem; color: #cfd8ea; }
.adv-comp-va { text-align: right; } .adv-comp-vb { text-align: left; }
.adv-comp-win { color: #7fe08a; } .adv-comp-lose { color: #8290a8; }
.adv-comp-barwrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px; }
.adv-comp-bar { height: 7px; border-radius: 4px; background: rgba(255,255,255,.07); overflow: hidden; }
.adv-comp-bar-a { direction: rtl; } .adv-comp-bar-a i { display: block; height: 100%; background: linear-gradient(90deg,#5aa0ff,#7fd4f7); border-radius: 4px; }
.adv-comp-bar-b i { display: block; height: 100%; background: linear-gradient(90deg,#ff9f5a,#ffd76a); border-radius: 4px; }
.adv-comp-lbl { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .72rem; color: #9fb0d0; white-space: nowrap;
  min-width: 62px; text-align: center; }
.adv-comp-sep { height: 1px; background: rgba(120,150,210,.2); margin: 8px 0; }
.adv-comp-vacio { text-align: center; color: rgba(200,215,245,.5); font-family: 'Rajdhani',sans-serif; padding: 14px; }
.adv-comp-poolwrap { padding: 8px 16px 16px; border-top: 1px solid rgba(120,150,210,.14); }
.adv-comp-pool-tit { font-family: 'Rajdhani',sans-serif; font-weight: 700; color: #9fb0d0; font-size: .8rem; margin-bottom: 6px; }
.adv-comp-pool { display: flex; flex-wrap: wrap; gap: 6px; max-height: 150px; overflow-y: auto; }
.adv-comp-mini { position: relative; width: 52px; height: 52px; border-radius: 9px; cursor: grab;
  background: rgba(255,255,255,.04); border: 1px solid rgba(120,150,210,.18); display: flex; align-items: center; justify-content: center; }
.adv-comp-mini:hover { background: rgba(127,212,247,.12); border-color: rgba(127,212,247,.5); }
.adv-comp-mini img { max-width: 46px; max-height: 46px; image-rendering: pixelated; pointer-events: none; }
.adv-comp-mini.adv-comp-dragging { opacity: .4; }
.adv-comp-mini-lv { position: absolute; left: 2px; bottom: 1px; font-family: 'Rajdhani',sans-serif; font-weight: 800;
  font-size: .58rem; color: #fff; background: rgba(8,12,20,.82); border-radius: 4px; padding: 0 3px; pointer-events: none; }
.adv-comp-mini-sh { position: absolute; right: 1px; top: 0; font-size: 9px; pointer-events: none; }
/* s690b · Comparador mejorado: flechas, chips de stats, ganador, pool por secciones */
.adv-comp-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 22px; height: 34px;
  display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; font-size: 1.3rem; font-weight: 800;
  color: #cfe0ff; background: rgba(10,16,28,.6); border: 1px solid rgba(127,212,247,.3); border-radius: 8px; line-height: 1; }
.adv-comp-arrow:hover { background: rgba(127,212,247,.22); border-color: #7fd4f7; }
.adv-comp-arrow-l { left: 3px; } .adv-comp-arrow-r { right: 3px; }
.adv-comp-slot-win { border-style: solid !important; border-color: #5ad67a !important;
  box-shadow: 0 0 0 1px rgba(90,214,122,.55), 0 0 16px rgba(90,214,122,.4); background: rgba(24,60,32,.32); }
.adv-comp-flags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 4px 16px 10px; }
.adv-comp-flags-lbl { font-family: 'Rajdhani',sans-serif; font-weight: 700; color: #9fb0d0; font-size: .8rem; margin-right: 2px; }
.adv-comp-flag { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .78rem; letter-spacing: .3px;
  padding: 4px 10px; border-radius: 999px; cursor: pointer; color: #bcd0f0;
  background: rgba(127,212,247,.08); border: 1px solid rgba(127,212,247,.25); transition: background .12s, border-color .12s, color .12s; }
.adv-comp-flag:hover { background: rgba(127,212,247,.2); }
.adv-comp-flag.on { background: #7fd4f7; color: #08131f; border-color: #7fd4f7; }
.adv-comp-flag-tot.on { background: #ffd23f; border-color: #ffd23f; color: #241a02; }
.adv-comp-fila-stat { border-radius: 8px; padding: 2px 4px; transition: background .12s; }
.adv-comp-fila-stat:hover { background: rgba(127,212,247,.08); }
.adv-comp-fila-sel { background: rgba(127,212,247,.16); box-shadow: inset 0 0 0 1px rgba(127,212,247,.4); }
.adv-comp-pool-sec { margin-top: 4px; }
.adv-comp-pool-sec + .adv-comp-pool-sec { margin-top: 10px; }
.adv-comp-mini-act { border-color: #ffd23f !important; box-shadow: 0 0 0 1px rgba(255,210,63,.5), 0 0 8px rgba(255,210,63,.3); }

/* Tooltip flotante de IVs de la cría */
.cv-iv-tip { position: fixed; z-index: 320; pointer-events: none; min-width: 190px; padding: 10px 12px;
  background: linear-gradient(165deg, #1c2740, #10141d); border: 1px solid rgba(157,123,255,.4); border-radius: 11px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5), 0 8px 26px rgba(0,0,0,.7); }
.cvtip-tit { font-family: var(--game); font-weight: 800; font-size: 11px; letter-spacing: 1px; color: #b9a3ff; margin-bottom: 6px; }
.cvtip-nat { margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.12); font-family: 'Rajdhani', sans-serif; font-size: 12px; }
.cvtip-nat-nom { font-weight: 800; color: #e6d8ff; }
.cvtip-nat-up { color: #7fe08a; font-weight: 700; }
.cvtip-nat-dn { color: #e0836a; font-weight: 700; }
.cvtip-nat-neutra { color: #8a94a8; }
.cvtip-row { display: grid; grid-template-columns: 46px 1fr 22px; gap: 6px; align-items: center; margin-bottom: 3px; }
.cvtip-row-prio .cvtip-n { color: #7ad65a; }
.cvtip-n { font-family: var(--game); font-weight: 700; font-size: 9.5px; color: var(--muted); }
.cvtip-bar { height: 9px; background: rgba(0,0,0,.4); border-radius: 4px; overflow: hidden; }
.cvtip-bar i { display: block; height: 100%; border-radius: 4px; }
.cvtip-bar i.cria-iv-perfect { background: #7ad65a; }
.cvtip-bar i.cria-iv-good { background: #a8e08f; }
.cvtip-bar i.cria-iv-mid { background: #ffd76a; }
.cvtip-bar i.cria-iv-low { background: #ff8a8a; }
.cvtip-row b { font-family: var(--game); font-weight: 700; font-size: 11px; text-align: right; }

/* Comparador: nombre arriba y columna del rival destacada */
.ccmp-nombre { text-align: center; font-family: var(--game); font-weight: 800; font-size: 18px; color: #fff;
  letter-spacing: 1px; margin: 8px 0 4px; }
.ccmp-col-rival { background: rgba(255,255,255,.04); border-radius: 12px; padding: 6px 4px; outline: 1px solid rgba(255,255,255,.12); }
.ccmp-col-dim { opacity: .5; }

/* Botón glow del género en la tarjeta (texto) */
.cv-gbtn-m, .cv-gbtn-f { width: auto; padding: 0 10px; font-size: 12px; gap: 4px; }

/* Fondo temático (guardería) para cría y cajas de cría, oscurecido */
#adv-root.adv-cria-bg {
  position: relative;
}
#adv-root.adv-cria-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('cria-bg.jpg') center center / cover no-repeat;
  opacity: 0.42;
  z-index: -1;
  pointer-events: none;
}
#adv-root.adv-cria-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,17,23,.45), rgba(13,17,23,.62));
  z-index: -1;
  pointer-events: none;
}

/* Editor de mote propio del juego */
#adv-mote-overlay { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.8); backdrop-filter: blur(3px); }
.mote-card { position: relative; width: min(340px, 90vw); background: linear-gradient(165deg, #1c2740, #10141d);
  border: 1px solid rgba(157,123,255,.4); border-radius: 16px; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.7); }
.mote-tit { font-family: var(--game); font-weight: 800; font-size: 18px; letter-spacing: 1px; color: #b9a3ff; text-align: center; }
.mote-sub { font-family: 'Rajdhani', sans-serif; font-weight: 600; font-size: 14px; color: #c4cfe6; text-align: center; margin: 2px 0 14px; }
.mote-input { width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(157,123,255,.5);
  background: rgba(0,0,0,.35); color: #fff; font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 18px; text-align: center; }
.mote-input:focus { outline: none; border-color: #9d7bff; box-shadow: 0 0 14px rgba(157,123,255,.4); }
.mote-hint { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); text-align: center; margin: 8px 0 16px; }
.mote-acts { display: flex; gap: 10px; }
.mote-btn { flex: 1; padding: 10px; border: none; border-radius: 10px; cursor: pointer; font-family: var(--game); font-weight: 800; font-size: 13px; }
.mote-cancel { background: rgba(255,255,255,.08); color: #c4cfe6; }
.mote-ok { background: linear-gradient(160deg, #9d7bff, #6c3fd0); color: #fff; box-shadow: 0 2px 0 #4a248f; }
.mote-btn:hover { filter: brightness(1.1); }

/* Columnas del comparador con hover */
.ccmp-col-hov { cursor: help; }
.ccmp-col-hov:hover { background: rgba(157,123,255,.08); border-radius: 10px; }

/* IVs en números junto a padre/madre */
.cv-ivnum { display: flex; flex-direction: column; gap: 3px; padding: 4px 0; }
.cv-ivnum-izq { align-items: flex-start; }
.cv-ivnum-der { align-items: flex-end; }
.cv-ivnum-row { display: flex; align-items: center; gap: 6px; font-family: var(--game); }
.cv-ivnum-der .cv-ivnum-row { flex-direction: row-reverse; }
.cv-ivnum-s { font-size: 10px; font-weight: 700; color: var(--muted); min-width: 24px; }
.cv-ivnum-der .cv-ivnum-s { text-align: right; }
.cv-ivnum-row b { font-size: 13px; font-weight: 800; min-width: 20px; text-align: center; }

/* Fondo temático (aventura) para el hub, oscurecido para ver bien los botones */
#adv-root.adv-hub-bg { position: relative; }
#adv-root.adv-hub-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('hub-bg.jpg') center center / cover no-repeat;
  opacity: 0.55;
  z-index: -1;
  pointer-events: none;
}
#adv-root.adv-hub-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,17,23,.42), rgba(13,17,23,.60));
  z-index: -1;
  pointer-events: none;
}
/* s447: fondo de pantalla completa de la POKÉDEX (imagen del escáner) */
#adv-root.adv-pdx-bg { position: relative; }
#adv-root.adv-pdx-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('aventura/fondos/pokedex-fondo.jpg') center center / cover no-repeat;
  opacity: 0.62;
  z-index: -1;
  pointer-events: none;
}
#adv-root.adv-pdx-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,16,28,.40), rgba(8,13,22,.62));
  z-index: -1;
  pointer-events: none;
}

/* ══════════ Fondo de la sección TORNEO (s395) ══════════ */
#adv-root.adv-torneo-bg { position: relative; }
#adv-root.adv-torneo-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('aventura/torneo-bg.jpg') center center / cover no-repeat;
  opacity: 0.92;
  z-index: -1;
  pointer-events: none;
}
#adv-root.adv-torneo-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,14,26,.32), rgba(8,10,20,.48));
  z-index: -1;
  pointer-events: none;
}

/* ══════════ Splash grande de cría SHINY ══════════ */
#adv-shiny-overlay { position: fixed; inset: 0; z-index: 500; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at center, rgba(40,30,10,.85), rgba(6,9,14,.95)); backdrop-filter: blur(4px);
  animation: shinyFadeIn .3s ease; }
@keyframes shinyFadeIn { from { opacity: 0; } to { opacity: 1; } }
.shiny-splash { position: relative; text-align: center; padding: 30px 40px; max-width: 90vw;
  background: linear-gradient(165deg, rgba(60,48,20,.6), rgba(20,16,10,.6)); border: 2px solid #ffd76a;
  border-radius: 22px; box-shadow: 0 0 60px rgba(255,215,106,.4), inset 0 0 40px rgba(255,215,106,.1); }
.shiny-eyebrow { font-family: var(--game); font-weight: 800; font-size: 22px; letter-spacing: 2px; color: #ffd76a;
  text-shadow: 0 0 20px rgba(255,215,106,.8); animation: shinyPulse 1.2s ease infinite; }
@keyframes shinyPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.shiny-sprite { margin: 14px 0; animation: shinyBob 2s ease infinite; }
.shiny-sprite img { width: 160px; height: 160px; object-fit: contain; image-rendering: pixelated;
  filter: drop-shadow(0 0 24px rgba(255,215,106,.7)); }
@keyframes shinyBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.shiny-name { font-family: var(--game); font-weight: 800; font-size: 26px; color: #fff; letter-spacing: 1px;
  text-shadow: 0 2px 8px rgba(0,0,0,.6); }
.shiny-sub { font-family: 'Rajdhani', sans-serif; font-size: 15px; color: #e8dcc0; margin: 10px 0 14px; }
.shiny-rewards { display: flex; gap: 14px; justify-content: center; margin-bottom: 22px; flex-wrap: wrap; }
.shiny-rw { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 30px;
  background: rgba(255,215,106,.1); border: 1px solid rgba(255,215,106,.4); border-radius: 14px; padding: 12px 18px; }
.shiny-rw span { font-family: var(--game); font-weight: 700; font-size: 11px; color: #ffd76a; }
.shiny-ok { font-family: var(--game); font-weight: 800; font-size: 16px; letter-spacing: 1px; color: #2a1a04;
  background: linear-gradient(160deg, #ffe27a, #f5a623); border: none; border-radius: 12px; padding: 14px 44px;
  cursor: pointer; box-shadow: 0 4px 0 #a06810; }
.shiny-ok:hover { filter: brightness(1.08); }
.shiny-ok:active { transform: translateY(2px); box-shadow: 0 2px 0 #a06810; }
.shiny-spark { position: absolute; color: #ffd76a; font-size: 24px; animation: shinySpark 1.8s ease infinite; opacity: 0; }
.shiny-spark1 { top: 10%; left: 12%; animation-delay: 0s; } .shiny-spark2 { top: 20%; right: 14%; animation-delay: .4s; }
.shiny-spark3 { bottom: 22%; left: 16%; animation-delay: .8s; } .shiny-spark4 { bottom: 16%; right: 12%; animation-delay: 1.2s; }
@keyframes shinySpark { 0%,100% { opacity: 0; transform: scale(.5); } 50% { opacity: 1; transform: scale(1.2); } }

/* ══════════ Selección múltiple en cajas de cría ══════════ */
.cv-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 14px 0 6px; }
.cv-selbar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cv-selcount { font-family: var(--game); font-weight: 800; font-size: 12px; color: #c9b3ff; text-transform: uppercase; }
.cv-selbtn { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; border: 1px solid rgba(255,255,255,.2);
  background: #232c40; color: #eaf1ff; border-radius: 8px; padding: 8px 14px; cursor: pointer; text-transform: uppercase; transition: background .12s, border-color .12s; }
.cv-selbtn:hover { background: #2b3550; }
.cv-selbtn-on { border-color: #9d7bff; background: #33285a; color: #d9c9ff; }
.cv-selbtn-del { background: #4a201d; color: #ffb0ab; border-color: rgba(226,72,61,.6); }
.cv-selbtn-del:disabled { opacity: .4; cursor: default; }
/* s694b · Vender TODAS las crías (todas las especies): color distinto (ámbar). */
.cv-selbtn-delall { background: #4a3410; color: #ffdd9a; border-color: rgba(240,180,60,.65); }
.cv-selbtn-delall:hover { background: #5c4114; }
.cv-selbtn-cancel { color: #cdd6e6; }
.cv-cria-selable { cursor: pointer; }
.cv-cria-selable:hover { box-shadow: 0 0 0 1px rgba(157,123,255,.5); }
.cv-cria-selected { outline: 2px solid #9d7bff; outline-offset: -2px; background: rgba(157,123,255,.12); }
.cv-check { position: absolute; top: 6px; left: 6px; width: 20px; height: 20px; border-radius: 6px;
  background: rgba(0,0,0,.5); border: 1px solid rgba(157,123,255,.6); color: #b9a3ff; font-weight: 800;
  font-size: 13px; display: flex; align-items: center; justify-content: center; z-index: 3; }
.cv-cria-selected .cv-check { background: #9d7bff; color: #fff; }

/* ══════════ Panel central interactivo ══════════ */
.cv-padres-top { font-family: 'Rajdhani', sans-serif; font-size: 12.5px; color: var(--muted); text-align: center;
  margin: 6px 0 8px; }
.cv-mid-drop { border: 2px dashed rgba(157,123,255,.35); border-radius: 12px; padding: 14px 10px; text-align: center;
  min-height: 100px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  transition: border-color .12s, background .12s; }
.cv-mid-over { border-style: solid; background: rgba(157,123,255,.1); box-shadow: 0 0 16px rgba(157,123,255,.4); }
.cv-mid-eyebrow { font-family: var(--game); font-weight: 800; font-size: 15px; color: #fff; letter-spacing: 1px; }
.cv-mid-hint { font-family: 'Rajdhani', sans-serif; font-size: 11.5px; color: var(--muted); max-width: 180px; }
.cv-mid-compara { position: relative; text-align: center; }
.cv-mid-x { position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%;
  background: rgba(0,0,0,.6); border: 1px solid var(--border); color: #c4cfe6; cursor: pointer; font-size: 12px; }
.cv-mid-spr { position: relative; display: inline-block; }
.cv-mid-spr img { width: 66px; height: 66px; object-fit: contain; }
.cv-mid-gen { position: absolute; top: 0; right: -4px; font-family: 'Rajdhani', sans-serif; font-weight: 800; font-size: 16px; }
.cv-mid-suma { font-family: var(--game); font-weight: 700; font-size: 12px; color: #ffd76a; margin-bottom: 6px; }
.cv-mc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px 8px; margin-bottom: 8px; }
.cv-mc-row { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.cv-mc-s { font-family: var(--game); font-weight: 700; font-size: 13px; color: var(--muted); }
.cv-mc-row b { font-family: var(--game); font-weight: 800; font-size: 13px; }
.cv-mc-up { color: #7ad65a; text-shadow: 0 0 8px rgba(122,214,90,.5); }
.cv-mc-down { color: #ff8a8a; }
.cv-mc-eq { color: #c4cfe6; }
.cv-mc-row b i { font-size: 9px; margin-right: 2px; font-style: normal; }
.cv-mid-poner { font-family: var(--game); font-weight: 800; font-size: 11px; letter-spacing: .5px; border: none;
  border-radius: 9px; padding: 8px 14px; cursor: pointer; background: linear-gradient(160deg, #9d7bff, #6c3fd0);
  color: #fff; box-shadow: 0 2px 0 #4a248f; }
.cv-mid-poner:hover { filter: brightness(1.08); }

/* ══════════ Controles de orden y filtro en cajas de cría ══════════ */
.cv-ctrls { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 4px; padding: 12px 14px;
  background: #1a2030; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; }
.cv-ctrl-grp { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cv-ctrl-lbl { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; color: #b8c2d6; margin-right: 2px; text-transform: uppercase; }
.cv-ord { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .3px; border: 1px solid rgba(255,255,255,.18);
  background: #232c40; color: #cdd6e6; border-radius: 7px; padding: 7px 12px; cursor: pointer; text-transform: uppercase; transition: background .12s, border-color .12s, color .12s; }
.cv-ord:hover { background: #2b3550; color: #fff; }
.cv-ord-on { border-color: #9d7bff; background: #33285a; color: #d9c9ff; }
.cv-ord-m.cv-ord-on { border-color: #5aa8ff; background: #1e3450; color: #bcdcff; }
.cv-ord-f.cv-ord-on { border-color: #ff8ab8; background: #45213a; color: #ffcfe4; }

/* ══════════ Panel admin (overlay) ══════════ */
#adv-admin-overlay { position: fixed; inset: 0; z-index: 460; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.8); backdrop-filter: blur(3px); }
.admin-card { position: relative; width: min(420px, 92vw); background: linear-gradient(165deg, #1c2740, #10141d);
  border: 1px solid rgba(226,180,72,.4); border-radius: 16px; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.7); }
.admin-tit { font-family: var(--game); font-weight: 800; font-size: 18px; letter-spacing: 1px; color: #ffd76a; text-align: center; }
.admin-sub { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); text-align: center; margin: 2px 0 16px; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.admin-btn { font-family: var(--game); font-weight: 700; font-size: 12px; border: 1px solid rgba(226,180,72,.35);
  background: rgba(226,180,72,.1); color: #ffe0a0; border-radius: 9px; padding: 11px; cursor: pointer; }
.admin-btn:hover { filter: brightness(1.12); }
.admin-restore-wrap { border-top: 1px solid var(--border); padding-top: 14px; }
.admin-restore { width: 100%; font-family: var(--game); font-weight: 800; font-size: 13px; border: 1px solid rgba(226,72,61,.4);
  background: rgba(226,72,61,.12); color: #ff9a9a; border-radius: 10px; padding: 11px; cursor: pointer; }
.admin-restore:disabled { opacity: .45; cursor: default; }
.admin-restore:not(:disabled):hover { filter: brightness(1.12); }
.admin-restore-hint { font-family: 'Rajdhani', sans-serif; font-size: 11px; color: var(--muted); text-align: center; margin-top: 6px; }

/* Columna sin progenitor en el comparador */
.ccmp-col-vacio { opacity: .4; }
.ccmp-col-vacio .ccmp-col-sum { color: var(--muted); font-style: italic; }

/* IVs comparados alineados en vertical (progenitor + cría con flechas) */
.cv-ivnum-cmp { gap: 4px; }
.cv-ivnum-row-cmp { display: grid; grid-template-columns: 26px 30px 46px; align-items: center; gap: 4px; }
.cv-ivnum-der .cv-ivnum-row-cmp { grid-template-columns: 46px 30px 26px; direction: rtl; }
.cv-ivnum-der .cv-ivnum-row-cmp > * { direction: ltr; }
.cv-ivnum-prog { font-size: 12px; opacity: .7; text-align: center; }
.cv-ivnum-cria { font-size: 14px; text-align: center; }
.cv-ivnum-cria i { font-size: 9px; margin-right: 1px; font-style: normal; }
.cv-ivnum-cria.cv-mc-up { color: #7ad65a; text-shadow: 0 0 8px rgba(122,214,90,.5); }
.cv-ivnum-cria.cv-mc-down { color: #ff8a8a; }
.cv-ivnum-cria.cv-mc-eq { color: #c4cfe6; }
.cv-mid-cmphint { font-family: 'Rajdhani', sans-serif; font-size: 11px; color: var(--muted); margin: 4px 0 8px; }


.pcbox-selected { outline: 2px solid #9d7bff; outline-offset: -2px; background: rgba(157,123,255,.15); }
.pcbox-check { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 5px;
  background: rgba(0,0,0,.55); border: 1px solid rgba(157,123,255,.6); color: #b9a3ff; font-weight: 800;
  font-size: 11px; display: flex; align-items: center; justify-content: center; z-index: 3; }
.pcbox-selected .pcbox-check { background: #9d7bff; color: #fff; }

/* Botones del splash shiny */
.shiny-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.shiny-ver { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; color: #ffd76a;
  background: rgba(255,215,106,.1); border: 1px solid rgba(255,215,106,.4); border-radius: 12px; padding: 14px 22px; cursor: pointer; }
.shiny-ver:hover { filter: brightness(1.12); }

/* Glow del panel de padres según el tipo de la especie */
.cv-padres { position: relative; }
.cv-padres::before { content: ''; position: absolute; inset: -2px; border-radius: 16px; pointer-events: none;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvglow, #9d7bff) 40%, transparent),
    0 0 20px color-mix(in srgb, var(--cvglow, #9d7bff) 22%, transparent); }

/* Botón de descartar huevo en incubación */
.cria-huevo { position: relative; }
.cria-huevo-x { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 50%;
  background: rgba(0,0,0,.5); border: 1px solid rgba(226,72,61,.5); color: #ff9a9a; cursor: pointer;
  font-size: 11px; display: flex; align-items: center; justify-content: center; z-index: 3; padding: 0; }
.cria-huevo-x:hover { background: rgba(226,72,61,.3); filter: brightness(1.15); }

/* Switch de auto-mejora de progenitores */
.cv-automej { margin: 8px 0 4px; }
.cv-automej-sw { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
  padding: 12px 14px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: #1a2030; transition: background .12s; }
.cv-automej-sw:hover { background: #212a3e; }
.cv-automej-toggle { flex-shrink: 0; width: 42px; height: 23px; border-radius: 12px; background: #3a4560;
  position: relative; transition: background .15s; }
.cv-automej-toggle i { position: absolute; top: 2px; left: 2px; width: 19px; height: 19px; border-radius: 50%;
  background: #aeb8cc; transition: left .15s; }
.cv-automej-on .cv-automej-toggle { background: #4faf2c; }
.cv-automej-on .cv-automej-toggle i { left: 21px; background: #dfffce; }
.cv-automej-tx { display: flex; flex-direction: column; gap: 2px; }
.cv-automej-tx b { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; color: #eaf1ff; text-transform: uppercase; }
.cv-automej-on .cv-automej-tx b { color: #a8f08a; }
.cv-automej-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #9aa6bd; }

/* s451: botón para parar la cría solo de esta especie/pestaña */
.cv-pausaesp { margin: 4px 0 8px; }
.cv-pausaesp-btn { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
  padding: 12px 14px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: #1a2030; transition: background .12s, border-color .12s; }
.cv-pausaesp-btn:hover { background: #212a3e; }
.cv-pausaesp-ico { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center;
  font-size: 15px; background: #3a4560; color: #eaf1ff; }
.cv-pausaesp-tx { display: flex; flex-direction: column; gap: 2px; }
.cv-pausaesp-tx b { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; color: #eaf1ff; text-transform: uppercase; }
.cv-pausaesp-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #9aa6bd; }
/* Estado PAUSADO: acento ámbar */
.cv-pausaesp-on { border-color: rgba(255,176,60,.5); background: rgba(255,176,60,.08); }
.cv-pausaesp-on:hover { background: rgba(255,176,60,.14); }
.cv-pausaesp-on .cv-pausaesp-ico { background: #ffb03c; color: #241802; }
.cv-pausaesp-on .cv-pausaesp-tx b { color: #ffce85; }

/* s453: switch de Lazo Destino automático */
.cv-lazoauto { margin: 4px 0 8px; }
.cv-lazoauto-sw { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
  padding: 12px 14px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: #1a2030; transition: background .12s, border-color .12s; }
.cv-lazoauto-sw:hover { background: #212a3e; }
.cv-lazoauto-ico { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: #3a4560; }
.cv-lazoauto-spr { width: 26px; height: 26px; object-fit: contain; image-rendering: pixelated; }
.cv-lazoauto-tx { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.cv-lazoauto-tx b { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; color: #eaf1ff; text-transform: uppercase; }
.cv-lazoauto-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #9aa6bd; }
.cv-lazoauto-toggle { flex-shrink: 0; width: 42px; height: 23px; border-radius: 12px; background: #3a4560; position: relative; transition: background .15s; }
.cv-lazoauto-toggle i { position: absolute; top: 2px; left: 2px; width: 19px; height: 19px; border-radius: 50%; background: #aeb8cc; transition: left .15s; }
/* Estado ON: acento rosa (como el lazo) */
.cv-lazoauto-on { border-color: rgba(255,140,190,.5); background: rgba(255,140,190,.08); }
.cv-lazoauto-on:hover { background: rgba(255,140,190,.14); }
.cv-lazoauto-on .cv-lazoauto-ico { background: #ff8cbe; }
.cv-lazoauto-on .cv-lazoauto-tx b { color: #ffb8d6; }
.cv-lazoauto-on .cv-lazoauto-toggle { background: #ff6fae; }
.cv-lazoauto-on .cv-lazoauto-toggle i { left: 21px; background: #ffe0ee; }

/* s597 · PIEDRA ETERNA AUTOMÁTICA (switch + desplegable de naturaleza). Acento
   ámbar/piedra para distinguirlo del Lazo (rosa). */
.cv-everauto { margin: 4px 0 10px; }
.cv-everauto-sw { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
  padding: 12px 14px; border-radius: 11px; border: 1px solid rgba(255,255,255,.16); background: #1a2030; transition: background .12s, border-color .12s; }
.cv-everauto-sw:hover { background: #212a3e; }
.cv-everauto-ico { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: #3a4560; }
.cv-everauto-spr { width: 26px; height: 26px; object-fit: contain; image-rendering: pixelated; }
.cv-everauto-tx { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.cv-everauto-tx b { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; color: #eaf1ff; text-transform: uppercase; }
.cv-everauto-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #9aa6bd; }
.cv-everauto-toggle { flex-shrink: 0; width: 42px; height: 23px; border-radius: 12px; background: #3a4560; position: relative; transition: background .15s; }
.cv-everauto-toggle i { position: absolute; top: 2px; left: 2px; width: 19px; height: 19px; border-radius: 50%; background: #aeb8cc; transition: left .15s; }
.cv-everauto-on { border-color: rgba(240,196,110,.5); background: rgba(240,196,110,.08); }
.cv-everauto-on:hover { background: rgba(240,196,110,.14); }
.cv-everauto-on .cv-everauto-ico { background: #f0c46e; }
.cv-everauto-on .cv-everauto-tx b { color: #ffdf9c; }
.cv-everauto-on .cv-everauto-toggle { background: #e0a83c; }
.cv-everauto-on .cv-everauto-toggle i { left: 21px; background: #fff0d2; }
/* Desplegable de naturaleza objetivo */
.cv-evernat { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 2px 0; }
.cv-evernat-lbl { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; color: #cdd6e6; text-transform: uppercase; }
.cv-evernat-sel { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 13px; color: #eaf1ff;
  background: #222a3c; border: 1px solid rgba(240,196,110,.4); border-radius: 9px; padding: 7px 10px; cursor: pointer; flex: 1; min-width: 200px; }
.cv-evernat-sel:focus { outline: none; border-color: #f0c46e; }

/* s597 · Fila de acciones (Seleccionar + Vender caja) en el encabezado de CRÍAS. */
.cv-sec-acciones { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ── s598 · Naturaleza objetivo: BOTÓN que abre una rejilla modal ─────────── */
.cv-evernat-btn { display: inline-flex; align-items: center; gap: 8px; flex: 1; min-width: 200px;
  font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 14px; color: #eaf1ff; text-align: left;
  background: #222a3c; border: 1px solid rgba(240,196,110,.4); border-radius: 9px; padding: 9px 12px; cursor: pointer;
  transition: border-color .12s, background .12s; }
.cv-evernat-btn:hover { background: #2a3450; border-color: #f0c46e; }
.cv-evernat-btn.cv-evernat-set { border-color: rgba(240,196,110,.7); }
.cv-evernat-nom { font-weight: 800; letter-spacing: .3px; }
.cv-evernat-ef { font-size: 12px; color: #9fb0c8; margin-left: 2px; }
.cv-evernat-caret { margin-left: auto; color: #f0c46e; font-size: 13px; }

/* Rejilla modal de naturalezas (verde sube / rojo baja; elegida con glow verde). */
.advmp-nat .advmp-grid { grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); }
.advmp-cell-nat { align-items: flex-start; text-align: left; gap: 5px; }
.advmp-nat-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .92rem; color: #fff; }
.advmp-nat-ef { display: flex; gap: 8px; font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .74rem; }
.advmp-nat-ef .up { color: #7fe08a; }
.advmp-nat-ef .dn { color: #ff8f7a; }
.advmp-nat-neutra { color: rgba(200,215,245,.5); }
.advmp-cell-nat-on { border-color: rgba(122,214,90,.85) !important; background: rgba(122,214,90,.14) !important;
  box-shadow: 0 0 16px rgba(122,214,90,.55) !important; }
/* Cuando ya hay una elegida, el resto se atenúa (gris). */
.advmp-nat-hassel .advmp-cell-nat:not(.advmp-cell-nat-on) { opacity: .5; filter: grayscale(.4); }
.advmp-nat-hassel .advmp-cell-nat:not(.advmp-cell-nat-on):hover { opacity: 1; filter: none; }

/* ── s598 · Aviso central con tarjeta de glow rojo y botón Aceptar ────────── */
.adv-aviso-ov { position: fixed; inset: 0; z-index: 10090; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,18,.72); opacity: 0; transition: opacity .16s; padding: 20px; }
.adv-aviso-ov.show { opacity: 1; }
.adv-aviso-card { width: min(420px,94vw); text-align: center; position: relative;
  background: linear-gradient(180deg,#26161a,#1a1220); border: 1.5px solid rgba(226,72,61,.65); border-radius: 18px;
  padding: 26px 24px 22px; box-shadow: 0 0 40px rgba(226,72,61,.5), 0 18px 50px rgba(0,0,0,.55);
  transform: translateY(10px) scale(.97); transition: transform .18s ease; }
.adv-aviso-ov.show .adv-aviso-card { transform: none; }
.adv-aviso-ico { font-size: 42px; line-height: 1; margin-bottom: 6px; filter: drop-shadow(0 0 10px rgba(255,90,80,.8)); }
.adv-aviso-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; letter-spacing: .8px; font-size: 1.15rem; color: #ffd0cb; text-transform: uppercase; }
.adv-aviso-desc { font-family: 'Rajdhani',sans-serif; font-size: .96rem; color: #e9d4d2; margin: 8px 0 18px; line-height: 1.35; }
.adv-aviso-ok { font-family: var(--game); font-weight: 800; letter-spacing: .6px; font-size: 14px; color: #fff; cursor: pointer;
  background: #e2483d; border: none; border-radius: 10px; padding: 11px 30px; box-shadow: 0 4px 16px rgba(226,72,61,.5); }
.adv-aviso-ok:hover { background: #f0574c; }

/* ── s598 · Subpestañas dentro de OBJETOS de la mochila ───────────────────── */
/* s602 · Subpestañas CUADRADAS con sprite representativo. */
.advm-subtabs { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.advm-subtab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  width: 104px; min-height: 92px; cursor: pointer; text-align: center;
  font-family: var(--game); font-weight: 800; font-size: 12.5px; letter-spacing: .3px; color: #cdd6e6;
  background: #1a2030; border: 1.5px solid rgba(255,255,255,.16); border-radius: 14px; padding: 10px 8px; transition: all .12s; }
.advm-subtab:hover { background: #212a3e; transform: translateY(-2px); }
.advm-subtab-spr { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
.advm-subtab-img { width: 38px; height: 38px; object-fit: contain; image-rendering: pixelated; }
.advm-subtab-lbl { line-height: 1.1; }
.advm-subtab-n { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 12px; color: #9fb0c8;
  background: rgba(0,0,0,.35); border-radius: 999px; padding: 1px 9px; }
.advm-subtab.on { background: #2b2450; border-color: #9d7bff; color: #e2d6ff; box-shadow: 0 0 16px rgba(157,123,255,.35); }
.advm-subtab.on .advm-subtab-n { color: #c9b6ff; background: rgba(157,123,255,.25); }

/* ── s603 · Filtro por tipo en el PC: atenúa los que no coinciden ─────────── */
.pcbox-slot.pcbox-dim { opacity: .26; filter: grayscale(.75); transition: opacity .12s, filter .12s; }
.pcbox-slot.pcbox-dim:hover { opacity: .75; filter: grayscale(.2); }
.pcbox-btn.on { border-color: #7fd4f7 !important; color: #bfeaff !important; background: rgba(127,212,247,.15) !important; }
/* s606 · Filtro de TIPO como REJILLA abierta con los tipos en su color. */
.pcbox-tipogrid { display: none; position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); z-index: 30;
  width: 300px; max-width: 84vw; padding: 10px; border-radius: 12px;
  grid-template-columns: repeat(3, 1fr); gap: 6px;
  background: #141a28; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 12px 30px rgba(0,0,0,.6); }
.pcbox-tipogrid.on { display: grid; }
.pcbox-tipogrid button { font-family: var(--game); font-weight: 800; font-size: 11.5px; letter-spacing: .3px; text-transform: uppercase;
  color: #fff; border: 1.5px solid transparent; border-radius: 8px; padding: 8px 4px; cursor: pointer; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.pcbox-tipogrid .pct-tipo { background: var(--tcol); border-color: var(--tcol); filter: saturate(1.05); }
.pcbox-tipogrid .pct-tipo:hover { filter: brightness(1.15); transform: translateY(-1px); }
.pcbox-tipogrid .pct-tipo.on { outline: 2px solid #fff; outline-offset: 1px; }
.pcbox-tipogrid .pct-todos { grid-column: 1 / -1; background: #2a3350; border-color: rgba(255,255,255,.2); }
.pcbox-tipogrid .pct-todos:hover { background: #34405f; }

/* s606 · Fila a lo ancho dentro de un panel-mochila (para barras de filtro). */
.advmp-fullrow { grid-column: 1 / -1; }

/* s631 · Barra de navegación entre Pokémon (anterior/siguiente) DENTRO de la
   ficha, debajo del sprite. Siempre visible (no se esconde tras la tarjeta). */
.advf-navrow { display: flex; gap: 10px; margin: 4px 0 10px; }
.advf-navbtn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: .6px; color: #cdd8ff;
  background: rgba(20,28,46,.9); border: 1.5px solid rgba(127,212,247,.35); border-radius: 11px;
  padding: 11px 10px; cursor: pointer; transition: background .12s, border-color .12s, color .12s, transform .1s; }
.advf-navbtn span { font-size: 22px; line-height: 1; }
.advf-navbtn:hover { background: rgba(127,212,247,.18); border-color: #9fe7ff; color: #fff; }
.advf-navbtn:active { transform: translateY(1px); }

/* s632 · Botón "Maxear TODO el equipo" en el popup del Caramelo Raro. */
.advmp-cell-equipomax { border-color: rgba(122,214,90,.55) !important; background: rgba(122,214,90,.1) !important; }
.advmp-cell-equipomax:hover { border-color: #7ad65a !important; box-shadow: 0 0 14px rgba(122,214,90,.4); }
.advmp-cell-equipomax .advmp-cell-nom { color: #b6f0a0; }
.advmp-cell-off { opacity: .5; cursor: not-allowed; filter: grayscale(.4); }
.advmp-cell-off:hover { box-shadow: none; }

/* ── s604 · Filtro por stat de la pestaña MENTAS (6 botones de color) ─────── */
.advm-menta-filtros { display: flex; gap: 8px; flex-wrap: wrap; margin: 2px 0 12px; }
.advm-menta-fbtn { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .3px; color: #cdd6e6; cursor: pointer;
  background: #1a2030; border: 1.5px solid rgba(255,255,255,.16); border-radius: 999px; padding: 7px 14px; transition: all .12s; }
.advm-menta-fbtn:hover { background: #212a3e; transform: translateY(-1px); }
.advm-menta-fbtn.on { color: #0e141f; }
.advm-menta-fbtn-attack.on          { background: #ff7a6e; border-color: #ff7a6e; box-shadow: 0 0 14px rgba(255,122,110,.5); }
.advm-menta-fbtn-special-attack.on  { background: #63d6e6; border-color: #63d6e6; box-shadow: 0 0 14px rgba(99,214,230,.5); }
.advm-menta-fbtn-defense.on         { background: #6ea8ff; border-color: #6ea8ff; box-shadow: 0 0 14px rgba(110,168,255,.5); }
.advm-menta-fbtn-special-defense.on { background: #ff9ec4; border-color: #ff9ec4; box-shadow: 0 0 14px rgba(255,158,196,.5); }
.advm-menta-fbtn-speed.on           { background: #7ce08a; border-color: #7ce08a; box-shadow: 0 0 14px rgba(124,224,138,.5); }
.advm-menta-fbtn-neutra.on          { background: #f0d46e; border-color: #f0d46e; box-shadow: 0 0 14px rgba(240,212,110,.5); }

/* s604 · Realce del Pokémon como destino al arrastrarle un objeto encima. */
.adv-slot-dragover, .pc-drop-hint { outline: 2px dashed rgba(255,215,106,.7); outline-offset: -2px; }

/* s605 · Splash de CRÍA PERFECTA (6 IV): reutiliza el layout del shiny en dorado. */
#adv-perfect-overlay { position: fixed; inset: 0; z-index: 10095; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 45%, rgba(60,45,10,.6), rgba(4,6,12,.9)); }
.perfect-splash .shiny-spark { color: #ffd76a; }
.perfect-eyebrow { color: #ffd76a !important; text-shadow: 0 0 14px rgba(255,215,106,.9), 0 2px 4px rgba(0,0,0,.6) !important; }
.perfect-splash .shiny-sprite { filter: drop-shadow(0 0 18px rgba(255,215,106,.7)); }
.perfect-splash .shiny-sub b { color: #ffe08a; }

/* ── s601 · Huevo de la crianza con PNG (el mismo que la pantalla principal) ── */
.cv-huevo-egg img { width: 46px; height: 46px; object-fit: contain; image-rendering: pixelated;
  animation: cvHuevoWobble 2.2s ease-in-out infinite; }

/* s601 · Sprite del Caramelo Raro en su botón: más grande, encajado en el botón. */
.advf-act-spr-candy { width: 30px !important; height: 30px !important; }

/* s601 · Popup del Caramelo Raro: sprite reutilizado, texto grande y hover con glow. */
.advmp-candy .advmp-cell { padding: 15px 18px; gap: 14px; transition: border-color .12s, background .12s, box-shadow .12s, transform .12s; }
.advmp-candy .advmp-cell-spr { width: 40px; height: 40px; }
.advmp-candy .advmp-cell-nom { font-size: 1.12rem; font-weight: 800; color: #fff; }
.advmp-candy .advmp-cell-sub { font-size: .95rem; font-weight: 700; color: #ffd0dd; text-align: right; }
.advmp-candy .advmp-cell:hover {
  /* s603 · Glow VERDE al pasar el ratón. */
  border-color: rgba(122,214,90,.85); background: rgba(122,214,90,.14);
  box-shadow: 0 0 18px rgba(122,214,90,.55); transform: translateY(-2px);
}

/* Botón enviar a amigo en el detalle del PC */
.pcdet-btn-regalo { background: rgba(157,123,255,.15) !important; color: #b9a3ff !important; border-color: rgba(157,123,255,.4) !important; }

/* Diálogo de enviar a amigo */
#adv-amigo-overlay { position: fixed; inset: 0; z-index: 470; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.8); backdrop-filter: blur(3px); }
.amg-card { position: relative; width: min(400px, 92vw); background: linear-gradient(165deg, #1c2740, #10141d);
  border: 1px solid rgba(157,123,255,.4); border-radius: 16px; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.7); }
.amg-tit { font-family: var(--game); font-weight: 800; font-size: 17px; letter-spacing: 1px; color: #b9a3ff; text-align: center; margin-bottom: 12px; }
.amg-poke { display: flex; align-items: center; gap: 10px; justify-content: center; margin-bottom: 10px; }
.amg-poke img { width: 56px; height: 56px; object-fit: contain; }
.amg-poke span { font-family: var(--game); font-weight: 700; font-size: 14px; color: #fff; }
.amg-poke small { color: var(--muted); font-weight: 600; }
.amg-warn { font-family: 'Rajdhani', sans-serif; font-size: 12.5px; color: #e8dcc0; text-align: center; margin-bottom: 12px;
  background: rgba(255,215,106,.08); border: 1px solid rgba(255,215,106,.25); border-radius: 9px; padding: 8px 10px; }
.amg-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.amg-chip { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 12px; border: 1px solid var(--border);
  background: rgba(157,123,255,.12); color: #b9a3ff; border-radius: 20px; padding: 5px 12px; cursor: pointer; }
.amg-chip:hover { filter: brightness(1.15); }
.amg-input { width: 100%; box-sizing: border-box; padding: 11px 14px; border-radius: 10px; border: 1px solid rgba(157,123,255,.5);
  background: rgba(0,0,0,.35); color: #fff; font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 16px; }
.amg-input:focus { outline: none; border-color: #9d7bff; box-shadow: 0 0 14px rgba(157,123,255,.4); }
.amg-err { color: #ff8a8a; font-family: 'Rajdhani', sans-serif; font-size: 12px; min-height: 16px; margin: 6px 0; text-align: center; }
.amg-acts { display: flex; gap: 10px; }
.amg-btn { flex: 1; padding: 11px; border: none; border-radius: 10px; cursor: pointer; font-family: var(--game); font-weight: 800; font-size: 13px; }
.amg-cancel { background: rgba(255,255,255,.08); color: #c4cfe6; }
.amg-ok { background: linear-gradient(160deg, #9d7bff, #6c3fd0); color: #fff; box-shadow: 0 2px 0 #4a248f; }
.amg-ok:disabled { opacity: .5; cursor: default; }
.amg-btn:hover:not(:disabled) { filter: brightness(1.1); }

/* Minijuego de romper el huevo recibido */
#huevo-regalo-ov { position: fixed; inset: 0; z-index: 520; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at center, rgba(30,24,40,.9), rgba(6,9,14,.96)); backdrop-filter: blur(4px); }
.hrg-card { width: min(400px, 92vw); text-align: center; padding: 28px; background: linear-gradient(165deg, #241c40, #10141d);
  border: 2px solid #9d7bff; border-radius: 20px; box-shadow: 0 0 50px rgba(157,123,255,.4); }
.hrg-tit { font-family: var(--game); font-weight: 800; font-size: 16px; letter-spacing: 1px; color: #b9a3ff; }
.hrg-sub { font-family: 'Rajdhani', sans-serif; font-size: 14px; color: #e8dcc0; margin: 6px 0 18px; }
.hrg-stage { position: relative; height: 130px; display: flex; align-items: center; justify-content: center; }
.hrg-egg { font-size: 80px; cursor: pointer; user-select: none; transition: transform .08s; }
.hrg-egg:hover { transform: scale(1.05); }
.hrg-egg.hrg-shake { animation: hrgShake .3s ease; }
@keyframes hrgShake { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-12deg) scale(1.05); } 75% { transform: rotate(12deg) scale(1.05); } }
.hrg-hammer { position: absolute; top: 6px; right: 70px; font-size: 40px; opacity: 0; pointer-events: none; }
.hrg-hammer.hrg-hit { animation: hrgHit .3s ease; }
@keyframes hrgHit { 0% { opacity: 0; transform: translateY(-30px) rotate(-40deg); } 40% { opacity: 1; transform: translateY(10px) rotate(10deg); } 100% { opacity: 0; transform: translateY(0) rotate(0); } }
.hrg-hint { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); margin-top: 12px; }
.hrg-reveal { text-align: center; animation: hrgPop .4s ease; }
@keyframes hrgPop { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
.hrg-reveal-eyebrow { font-family: var(--game); font-weight: 800; font-size: 18px; color: #ffd76a; text-shadow: 0 0 18px rgba(255,215,106,.7); }
.hrg-reveal-spr { width: 150px; height: 150px; object-fit: contain; image-rendering: pixelated; margin: 12px 0;
  filter: drop-shadow(0 0 22px rgba(255,215,106,.6)); animation: hrgBob 2s ease infinite; }
@keyframes hrgBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.hrg-reveal-nom { font-family: var(--game); font-weight: 800; font-size: 24px; color: #fff; }
.hrg-reveal-sub { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: #e8dcc0; margin: 8px 0 18px; }
.hrg-ok { font-family: var(--game); font-weight: 800; font-size: 15px; letter-spacing: 1px; color: #2a1a04;
  background: linear-gradient(160deg, #ffe27a, #f5a623); border: none; border-radius: 12px; padding: 13px 40px; cursor: pointer; box-shadow: 0 4px 0 #a06810; }
.hrg-ok:hover { filter: brightness(1.08); }

/* ══════════ Exploración de biomas ══════════ */
.adv-biomas-btn { border-color: rgba(90,168,255,.4) !important; }
.adv-biomas-btn:hover { box-shadow: 0 0 18px rgba(90,168,255,.3); }
.bioma-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 14px 0; }
.bioma-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 18px 12px; border-radius: 16px; cursor: pointer; overflow: hidden;
  background: linear-gradient(165deg, var(--bg1), var(--bg2)); border: 1px solid color-mix(in srgb, var(--bc) 45%, transparent);
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 8px 22px rgba(0,0,0,.5); transition: transform .12s, box-shadow .12s; }
.bioma-card:hover { transform: translateY(-3px); box-shadow: 0 0 22px color-mix(in srgb, var(--bc) 40%, transparent), 0 12px 28px rgba(0,0,0,.6); }
.bioma-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--bc) 22%, transparent), transparent 70%); pointer-events: none; }
.bioma-ico { font-size: 40px; filter: drop-shadow(0 0 12px color-mix(in srgb, var(--bc) 60%, transparent)); }
.bioma-nom { font-family: var(--game); font-weight: 800; font-size: 13px; letter-spacing: .5px; color: #fff; text-align: center; }
.bioma-n { font-family: 'Rajdhani', sans-serif; font-size: 11px; color: rgba(255,255,255,.6); }
.bioma-lugar { font-family: 'Rajdhani', sans-serif; font-size: 11px; color: var(--muted); font-style: italic; }

/* Defensa global: todos los sprites de Pokémon mantienen su proporción,
   tanto el GIF animado como el PNG estático de respaldo (evita que se vean
   alargados o ensanchados si una regla fija width/height sin object-fit). */
#adv-root img.pix, #adv-root img.adv-anim { object-fit: contain; }

/* ══════════ Botón grande de Explorar Biomas (hub) ══════════ */
.adv-biomas-hero { display: flex; align-items: center; gap: 16px; width: 100%; text-align: left; cursor: pointer;
  padding: 24px 22px; border-radius: 18px; margin-bottom: 6px; min-height: 130px;
  background-image: url(aventura/hub-explorar.jpg); background-size: cover; background-position: center;
  border: 1px solid rgba(90,168,255,.45); box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.5); position: relative; overflow: hidden;
  transition: transform .12s, box-shadow .12s; }
/* Oscurecido para que el texto se lea sobre el mapa. */
.adv-biomas-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(8,12,20,.78) 0%, rgba(8,12,20,.5) 55%, rgba(8,12,20,.35) 100%); }
.adv-biomas-hero:hover { transform: translateY(-2px); box-shadow: 0 0 26px rgba(90,168,255,.4), 0 14px 32px rgba(0,0,0,.6); }
.adv-biomas-hero > * { position: relative; z-index: 1; }
.adv-biomas-hero-ico { font-size: 52px; filter: drop-shadow(0 0 16px rgba(90,168,255,.6)); flex-shrink: 0; }
.adv-biomas-hero-tx { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.adv-biomas-hero-tx b { font-family: var(--game); font-weight: 800; font-size: 18px; letter-spacing: 1px; color: #fff; }
.adv-biomas-hero-tx small { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: #bcd4f0; }
.adv-biomas-hero-tx em { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); font-style: normal; }
.adv-biomas-hero-go { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: 1px; color: #8fd0ff;
  flex-shrink: 0; align-self: center; }
@media (max-width: 560px) {
  .adv-biomas-hero { flex-wrap: wrap; }
  .adv-biomas-hero-go { width: 100%; text-align: right; }
}

/* ══════════ Exploración: senderos y casillas ══════════ */
.bioma-senderos-wrap, .bioma-casillas-wrap { text-align: center; padding: 10px 0; }
.bioma-senderos-tit, .bioma-casillas-tit { font-family: var(--game); font-weight: 800; font-size: 15px; color: #fff; letter-spacing: .5px; margin-bottom: 4px; }
.bioma-casillas-sub { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.bioma-senderos { display: flex; flex-direction: column; gap: 10px; max-width: 420px; margin: 12px auto 0; }
.bioma-sendero { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; cursor: pointer; text-align: left;
  background: rgba(0,0,0,.28); border: 1px solid color-mix(in srgb, var(--bc) 40%, transparent); transition: transform .12s, box-shadow .12s, background .12s; }
.bioma-sendero:hover { transform: translateX(4px); background: color-mix(in srgb, var(--bc) 14%, rgba(0,0,0,.28)); box-shadow: 0 0 16px color-mix(in srgb, var(--bc) 30%, transparent); }
.bioma-sendero-ico { font-size: 30px; flex-shrink: 0; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--bc) 60%, transparent)); }
.bioma-sendero-tx { display: flex; flex-direction: column; gap: 2px; }
.bioma-sendero-tx b { font-family: var(--game); font-weight: 700; font-size: 13px; color: #fff; }
.bioma-sendero-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); }
.bioma-casillas { display: flex; gap: 14px; justify-content: center; margin-top: 6px; }
.bioma-casilla { width: 90px; height: 110px; border-radius: 14px; cursor: pointer; position: relative;
  background: linear-gradient(160deg, #2a3346, #1a2130); border: 2px solid color-mix(in srgb, var(--bc) 50%, transparent);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  transition: transform .15s, box-shadow .15s; box-shadow: 0 6px 16px rgba(0,0,0,.4); }
.bioma-casilla:hover:not(:disabled) { transform: translateY(-5px) scale(1.03); box-shadow: 0 0 22px color-mix(in srgb, var(--bc) 45%, transparent); }
.bioma-casilla::after { content: '?'; position: absolute; font-family: var(--game); font-weight: 800; font-size: 34px;
  color: color-mix(in srgb, var(--bc) 70%, #fff); text-shadow: 0 0 12px color-mix(in srgb, var(--bc) 60%, transparent); transition: opacity .2s; }
.bioma-casilla-front { font-size: 40px; opacity: 0; transition: opacity .3s; }
.bioma-casilla-abierta::after { opacity: 0; }
.bioma-casilla-abierta .bioma-casilla-front { opacity: 1; }
.bioma-casilla-abierta { animation: casillaFlip .42s ease; border-color: var(--bc); }
@keyframes casillaFlip { 0% { transform: rotateY(0); } 50% { transform: rotateY(90deg) scale(1.08); } 100% { transform: rotateY(0); } }
.bioma-casilla-off:not(.bioma-casilla-abierta) { opacity: .4; }

/* ══════════ Team Rocket ══════════ */
.adv-rocket-banner { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; cursor: pointer;
  padding: 14px 18px; border-radius: 14px; margin-bottom: 14px;
  background: linear-gradient(135deg, #3a1030 0%, #2a1030 60%, #1a0e28 100%);
  border: 1px solid rgba(255,90,138,.5); box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 0 22px rgba(255,90,138,.25), 0 8px 22px rgba(0,0,0,.5);
  position: relative; overflow: hidden; transition: transform .12s, box-shadow .12s; animation: rocketPulse 2.4s ease-in-out infinite; }
@keyframes rocketPulse { 0%,100% { box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 0 22px rgba(255,90,138,.25), 0 8px 22px rgba(0,0,0,.5); } 50% { box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 0 30px rgba(255,90,138,.5), 0 8px 22px rgba(0,0,0,.5); } }
.adv-rocket-banner:hover { transform: translateY(-2px); }
.adv-rocket-banner-sprs { display: flex; flex-shrink: 0; }
.adv-rocket-banner-sprs img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.6)); }
.adv-rocket-banner-sprs img:nth-child(2) { margin-left: -12px; }
.adv-rocket-banner-tx { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.adv-rocket-banner-tx b { font-family: var(--game); font-weight: 800; font-size: 13px; color: #ff9ec4; letter-spacing: .5px; }
.adv-rocket-banner-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #d8a8c0; }
.adv-rocket-banner-go { font-family: var(--game); font-weight: 800; font-size: 12px; color: #ff5a8a; letter-spacing: 1px; flex-shrink: 0; }
.adv-rocket-duo { display: flex; justify-content: center; gap: 10px; margin: 8px 0; }
.adv-rocket-duo img { width: 92px !important; height: 92px !important; object-fit: contain; }
.adv-rocket-steal .adv-enc-name { margin-top: 6px; }

/* ══════════ Pokédex de aventura ══════════ */
.adv-pdx-btn { border-color: rgba(245,166,35,.4) !important; }
.pdx-filtros { display: flex; gap: 8px; margin: 12px 0; flex-wrap: wrap; }
.pdx-filtro { font-family: 'Rajdhani', sans-serif; font-weight: 600; font-size: 13px; padding: 7px 14px; border-radius: 9px;
  background: rgba(0,0,0,.28); border: 1px solid var(--line); color: var(--muted); cursor: pointer; transition: all .12s; }
.pdx-filtro:hover { color: #fff; }
.pdx-filtro.on { background: rgba(245,166,35,.16); border-color: rgba(245,166,35,.5); color: #ffd76a; }
/* s446/s447: el fondo de imagen va en la pantalla completa (#adv-root.adv-pdx-bg).
   Aquí solo un contenedor transparente para el contenido. */
.pdx-wrap { position: relative; }
/* buscador */
.pdx-search { display: flex; align-items: center; gap: 8px; margin: 10px 0 4px; position: relative;
  background: rgba(8,14,24,.72); border: 1px solid rgba(120,180,255,.4); border-radius: 12px; padding: 4px 10px; }
.pdx-search-ico { font-size: 16px; opacity: .8; }
.pdx-search-input { flex: 1; background: transparent; border: none; outline: none; color: #eaf1ff;
  font-family: 'Rajdhani', sans-serif; font-weight: 600; font-size: 16px; padding: 8px 4px; }
.pdx-search-input::placeholder { color: #7d90ad; }
.pdx-search-clear { flex-shrink: 0; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; color: #eaf1ff;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); font-size: 13px; font-weight: 800; }
.pdx-search-clear:hover { background: rgba(226,72,61,.5); }
.pdx-sin-resultados { grid-column: 1 / -1; text-align: center; font-family: 'Rajdhani', sans-serif; font-size: 15px;
  color: #b9c6dd; padding: 30px 10px; }
.pdx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; margin: 8px 0; }
.pdx-card { background: rgba(6,10,20,.62); border: 1px solid var(--line); border-radius: 12px; padding: 10px 8px; text-align: center; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 3px; transition: transform .12s, box-shadow .12s, border-color .12s; }
.pdx-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.5); }
.pdx-card.pdx-cap { border-color: rgba(122,214,90,.4); }
.pdx-card.pdx-solovisto { opacity: .82; }
.pdx-card.pdx-solovisto .pdx-spr { filter: brightness(.55) saturate(.4); }
.pdx-card-num { font-family: var(--game); font-size: 13px; color: var(--muted); letter-spacing: .5px; }
.pdx-check { color: #7ad65a; }
.pdx-check-ball { width: 14px; height: 14px; object-fit: contain; vertical-align: -3px; margin-left: 2px; image-rendering: auto; filter: drop-shadow(0 1px 1px rgba(0,0,0,.45)); }
.pdx-spr { width: 66px; height: 66px; object-fit: contain; }
.pdx-card-nom { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 14px; color: #fff; }
.pdx-card-en { font-family: 'Rajdhani', sans-serif; font-size: 11px; color: var(--muted); font-style: italic; }
.pdx-card-bioma { font-family: 'Rajdhani', sans-serif; font-size: 10px; color: #8fd0ff; margin-top: 2px; line-height: 1.2; }
/* Modal detalle */
#adv-pdx-ov { position: fixed; inset: 0; background: rgba(0,0,0,.72); display: flex; align-items: center; justify-content: center; z-index: 4000; padding: 20px; }
.adv-pdx-modal { position: relative; background: linear-gradient(160deg, #1a2230, #12181f); border: 1px solid var(--line); border-radius: 18px;
  padding: 24px; max-width: 380px; width: 100%; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.7); }
.adv-pdx-close { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,.4); border: none; color: #fff; width: 32px; height: 32px; border-radius: 8px; cursor: pointer; font-size: 15px; }
.adv-pdx-num { font-family: var(--game); font-size: 11px; color: var(--muted); letter-spacing: 1px; }
.adv-pdx-bigspr { width: 130px; height: 130px; object-fit: contain; margin: 6px 0; filter: drop-shadow(0 8px 12px rgba(0,0,0,.5)); }
.adv-pdx-nom { font-family: var(--game); font-weight: 800; font-size: 18px; color: #fff; margin-bottom: 4px; }
.pdx-solo { font-size: 12px; color: var(--muted); font-family: 'Rajdhani', sans-serif; }
.adv-pdx-en { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.adv-pdx-en b { color: #bcd4f0; }
.adv-pdx-tipos { display: flex; justify-content: center; gap: 6px; margin: 8px 0; }
.adv-pdx-rareza { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.adv-pdx-rareza b { color: #ffd76a; }
.adv-pdx-biomas-tit { font-family: var(--game); font-weight: 700; font-size: 12px; color: #8fd0ff; letter-spacing: .5px; margin: 10px 0 6px; }
.adv-pdx-biomas { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.adv-pdx-bioma-chip { font-family: 'Rajdhani', sans-serif; font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 8px;
  background: rgba(90,168,255,.14); border: 1px solid rgba(90,168,255,.35); color: #bcd4f0; }
.adv-pdx-bioma-visto { background: rgba(120,220,120,.16); border-color: rgba(120,220,120,.45); color: #b8f0a0; }
.adv-pdx-bioma-visto b { color: #7fe08a; }
.adv-pdx-nobioma { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); font-style: italic; }

/* ══════════ Orden de cajas de cría (especies) ══════════ */
.cv-esp-orden { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 8px 0 10px; }
.cv-esp-orden-lbl { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; color: #b8c2d6; text-transform: uppercase; }
.cv-esp-ord-btn { font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .5px; padding: 7px 13px; border-radius: 8px;
  background: #232c40; border: 1px solid rgba(255,255,255,.18); color: #cdd6e6; cursor: pointer; transition: background .12s, border-color .12s, color .12s; text-transform: uppercase; }
.cv-esp-ord-btn:hover { background: #2b3550; color: #fff; }
.cv-esp-ord-btn.on { background: #33285a; border-color: #9d7bff; color: #d9c9ff; }
.cv-esp-orden-hint { font-family: 'Rajdhani', sans-serif; font-size: 11px; color: var(--muted); font-style: italic; margin-left: auto; }
.cv-tab { position: relative; }
.cv-tab-star { position: absolute; top: 2px; right: 4px; font-size: 15px; color: #ffd76a; cursor: pointer; z-index: 2; line-height: 1;
  text-shadow: 0 0 4px rgba(0,0,0,.7); transition: transform .1s; }
.cv-tab-star:hover { transform: scale(1.25); }
.cv-tab-fav { box-shadow: 0 0 0 1px rgba(255,215,106,.5), 0 0 12px rgba(255,215,106,.25); }
/* ══════════ Caramelo raro ══════════ */
.advt-candy-card { text-align: center; }
.advt-candyimg { width: 42px; height: 42px; object-fit: contain; image-rendering: pixelated; margin-bottom: 4px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.advf-candy-btn { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 12px; padding: 5px 11px; border-radius: 8px;
  background: linear-gradient(160deg, #e85a9a, #b03068); border: 1px solid rgba(255,120,180,.5); color: #fff; cursor: pointer; transition: transform .1s; }
.advf-candy-btn:hover { transform: translateY(-1px); }
.advf-candy-none { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); }

/* ══════════ Botón Pokédex con Rotom-Dex ══════════ */
/* s605/s607 · Fondos de imagen OSCURECIDOS en los botones (como el resto).
   Guarda las imágenes en aventura/*.jpg; si faltan, se ve el degradado. */
.adv-bigbtn-pdx { border-color: rgba(245,120,90,.4) !important;
  background: linear-gradient(rgba(12,16,26,.72), rgba(12,16,26,.86)), url('aventura/pokedex-bg.jpg') center/cover no-repeat !important; }
.adv-bigbtn-pc {
  background: linear-gradient(rgba(12,16,26,.72), rgba(12,16,26,.86)), url('aventura/pc-bg.jpg') center/cover no-repeat !important; }
.adv-bigbtn-bag {
  background: linear-gradient(rgba(12,16,26,.72), rgba(12,16,26,.86)), url('aventura/mochila-bg.jpg') center/cover no-repeat !important; }
/* s608 · Fondo oscurecido del botón CRIANZA POKÉMON. */
.adv-cajasvideo {
  background: linear-gradient(rgba(12,16,26,.7), rgba(12,16,26,.85)), url('aventura/crianza-bg.jpg') center/cover no-repeat !important; }

/* s607 · Fila TIENDA grande + PA grandes al lado. */
.adv-tiendarow { display: flex; gap: 12px; align-items: stretch; margin-bottom: 12px; }
.adv-bigbtn-tienda { flex: 1 1 auto; border-color: rgba(255,215,106,.4) !important;
  background: linear-gradient(rgba(12,16,26,.7), rgba(12,16,26,.85)), url('aventura/tienda-bg.jpg') center/cover no-repeat !important; }
.adv-bigbtn-tienda { min-height: 84px; }
.adv-bigbtn-tienda:hover { border-color: #ffd76a !important; box-shadow: 0 5px 0 rgba(0,0,0,.5), 0 0 20px rgba(255,215,106,.4) !important; }
/* s608b · Icono de la tienda (Poké Mart) GRANDE, a la izquierda, sin tapar el texto. */
.adv-tienda-icon { width: 72px !important; height: 72px !important; border-radius: 10px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.6)); }
.adv-pa-big { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; padding: 0 18px;
  border-radius: 13px; border: 1px solid rgba(255,215,106,.4); background: linear-gradient(150deg, #2a2410, #1a1608);
  font-family: var(--game); font-weight: 800; font-size: 20px; letter-spacing: .5px; color: #ffd76a;
  box-shadow: 0 3px 0 rgba(0,0,0,.5), inset 0 0 16px rgba(255,215,106,.12); white-space: nowrap; }

/* s607 · Cuadrito de color de la caja (esquina sup. derecha). */
.pc-col-caja { position: relative; }
.pcbox-colorswatch { position: absolute; top: 8px; right: 8px; z-index: 6; width: 26px; height: 26px; padding: 0;
  border-radius: 7px; border: 2px solid rgba(255,255,255,.55); box-shadow: 0 2px 6px rgba(0,0,0,.5); cursor: pointer;
  transition: transform .12s, box-shadow .12s; }
.pcbox-colorswatch:hover { transform: scale(1.15); box-shadow: 0 0 12px rgba(255,255,255,.5); }
.adv-rotom-spr { width: 58px; height: 58px; object-fit: contain; flex-shrink: 0; filter: drop-shadow(0 2px 8px rgba(0,0,0,.55)); }
.adv-bigbtn-pdx:hover { box-shadow: 0 0 18px rgba(245,120,90,.3); }

/* Las cards de selección con fondo ilustrado: el paisaje manda sobre el
   degradado plano de .bioma-card (misma especificidad, reforzamos combinando). */
.bioma-card.bioma-bg::after { border-radius: inherit; }

/* ══════════════════════════════════════════════════════════════════
   FONDOS ILUSTRADOS DE BIOMAS (paisajes con capas de gradientes)
   ══════════════════════════════════════════════════════════════════ */
.bioma-bg { position: relative; overflow: hidden; }
/* Usamos ::after (no ::before) porque .adv-stage ya usa ::before para su
   viñeta oscura; así los dos conviven sin pisarse. El fondo del bioma va por
   debajo del contenido pero por encima del color base de la tarjeta. */
.bioma-bg::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .95; }
.bioma-bg > * { position: relative; z-index: 2; }
.bioma-bg.adv-stage::before { z-index: 1; }

/* Bosque Verde — dosel de árboles, luz filtrada */
.bioma-bg-bosque { background:
  linear-gradient(180deg, #1e3a24 0%, #16281a 50%, #0c1810 100%); }
.bioma-bg-bosque::after { background:
  radial-gradient(ellipse 60% 40% at 20% 0%, rgba(120,200,110,.28), transparent 60%),
  radial-gradient(ellipse 50% 35% at 80% 5%, rgba(90,170,90,.22), transparent 55%),
  radial-gradient(circle at 15% 90%, rgba(40,90,50,.5), transparent 40%),
  radial-gradient(circle at 85% 95%, rgba(30,70,40,.5), transparent 45%),
  linear-gradient(180deg, transparent 55%, rgba(20,50,25,.6) 100%); }

/* Pradera Edén — colinas suaves, cielo despejado */
.bioma-bg-prado { background:
  linear-gradient(180deg, #3a5a2a 0%, #2e4a1c 45%, #1c2e12 100%); }
.bioma-bg-prado::after { background:
  radial-gradient(ellipse 80% 50% at 50% 0%, rgba(180,230,120,.3), transparent 60%),
  radial-gradient(ellipse 70% 30% at 30% 100%, rgba(120,180,70,.4), transparent 60%),
  radial-gradient(ellipse 60% 25% at 75% 100%, rgba(140,200,80,.35), transparent 60%); }

/* Llanura Vasta — campos abiertos dorados */
.bioma-bg-llanuras { background:
  linear-gradient(180deg, #5a5024 0%, #3a3418 50%, #241f10 100%); }
.bioma-bg-llanuras::after { background:
  radial-gradient(ellipse 90% 40% at 50% 0%, rgba(230,210,120,.3), transparent 60%),
  radial-gradient(ellipse 80% 35% at 40% 100%, rgba(200,180,90,.4), transparent 65%),
  linear-gradient(180deg, transparent 60%, rgba(90,80,30,.5) 100%); }

/* Selva Frondosa — jungla densa, verdes intensos */
.bioma-bg-jungla { background:
  linear-gradient(180deg, #17302a 0%, #0e2018 50%, #071410 100%); }
.bioma-bg-jungla::after { background:
  radial-gradient(ellipse 50% 45% at 15% 5%, rgba(60,180,120,.3), transparent 55%),
  radial-gradient(ellipse 55% 40% at 85% 0%, rgba(80,200,130,.26), transparent 55%),
  radial-gradient(circle at 25% 95%, rgba(20,90,60,.55), transparent 42%),
  radial-gradient(circle at 75% 90%, rgba(30,110,70,.5), transparent 45%),
  radial-gradient(circle at 50% 100%, rgba(15,70,45,.6), transparent 50%); }

/* Desierto Resurgir — dunas y sol abrasador */
.bioma-bg-desierto { background:
  linear-gradient(180deg, #6a5424 0%, #4a3a18 45%, #2a2010 100%); }
.bioma-bg-desierto::after { background:
  radial-gradient(circle 30% at 75% 12%, rgba(255,220,120,.5), transparent 45%),
  radial-gradient(ellipse 90% 40% at 30% 100%, rgba(210,170,90,.45), transparent 65%),
  radial-gradient(ellipse 70% 30% at 80% 100%, rgba(190,150,80,.4), transparent 60%); }

/* Gran Pantano — aguas turbias, vegetación */
.bioma-bg-pantano { background:
  linear-gradient(180deg, #2e3a1c 0%, #1e2814 50%, #12180c 100%); }
.bioma-bg-pantano::after { background:
  radial-gradient(ellipse 70% 40% at 40% 0%, rgba(130,160,80,.24), transparent 60%),
  radial-gradient(ellipse 80% 45% at 50% 100%, rgba(70,90,50,.55), transparent 65%),
  radial-gradient(circle at 20% 80%, rgba(90,110,60,.35), transparent 40%); }

/* Sabana Salvaje — hierba dorada, atardecer */
.bioma-bg-sabana { background:
  linear-gradient(180deg, #6a4a1c 0%, #4a3414 45%, #281c0e 100%); }
.bioma-bg-sabana::after { background:
  radial-gradient(circle 25% at 80% 15%, rgba(255,180,90,.45), transparent 45%),
  radial-gradient(ellipse 90% 40% at 40% 100%, rgba(200,150,70,.45), transparent 65%),
  linear-gradient(180deg, rgba(230,160,80,.15) 0%, transparent 40%); }

/* Monte Cráter — volcán, lava, humo */
.bioma-bg-volcan { background:
  linear-gradient(180deg, #3a1613 0%, #2a0e0c 50%, #180806 100%); }
.bioma-bg-volcan::after { background:
  radial-gradient(circle at 50% 100%, rgba(255,90,40,.5), transparent 45%),
  radial-gradient(ellipse 40% 30% at 50% 85%, rgba(255,140,40,.4), transparent 55%),
  radial-gradient(circle at 30% 20%, rgba(120,40,30,.4), transparent 40%),
  radial-gradient(circle at 70% 15%, rgba(100,30,20,.4), transparent 40%); }

/* Cima Corona — nieve, montañas heladas */
.bioma-bg-nieve { background:
  linear-gradient(180deg, #2a4a5a 0%, #1a2e3a 50%, #0e1824 100%); }
.bioma-bg-nieve::after { background:
  radial-gradient(ellipse 80% 40% at 50% 0%, rgba(200,230,255,.32), transparent 60%),
  radial-gradient(ellipse 60% 40% at 30% 100%, rgba(180,210,240,.4), transparent 60%),
  radial-gradient(ellipse 50% 35% at 75% 100%, rgba(160,200,235,.35), transparent 60%); }

/* Monte Plateado — roca gris, cumbres */
.bioma-bg-montanas { background:
  linear-gradient(180deg, #3a342a 0%, #2a251c 50%, #181410 100%); }
.bioma-bg-montanas::after { background:
  radial-gradient(ellipse 60% 45% at 25% 100%, rgba(140,120,100,.4), transparent 60%),
  radial-gradient(ellipse 55% 40% at 75% 100%, rgba(120,105,90,.4), transparent 60%),
  radial-gradient(ellipse 70% 30% at 50% 0%, rgba(170,160,150,.2), transparent 55%); }

/* Ruta Marina — mar abierto, olas */
.bioma-bg-oceanos { background:
  linear-gradient(180deg, #1a4a6a 0%, #123450 50%, #0a1c30 100%); }
.bioma-bg-oceanos::after { background:
  radial-gradient(ellipse 80% 40% at 50% 0%, rgba(120,200,240,.3), transparent 60%),
  radial-gradient(ellipse 90% 50% at 40% 100%, rgba(60,140,200,.45), transparent 65%),
  radial-gradient(ellipse 70% 40% at 80% 100%, rgba(70,150,210,.4), transparent 60%); }

/* Cueva Celeste — oscuridad, cristales */
.bioma-bg-cuevas { background:
  linear-gradient(180deg, #26203a 0%, #1a1428 50%, #0e0a18 100%); }
.bioma-bg-cuevas::after { background:
  radial-gradient(circle at 20% 25%, rgba(150,110,220,.3), transparent 38%),
  radial-gradient(circle at 78% 35%, rgba(110,140,230,.26), transparent 40%),
  radial-gradient(circle at 50% 95%, rgba(90,70,160,.4), transparent 50%),
  radial-gradient(circle at 35% 80%, rgba(120,90,200,.28), transparent 42%); }

/* ══════════════════════════════════════════════════════════════════
   POKÉDEX DE AVENTURA · 9 pestañas por generación
   ══════════════════════════════════════════════════════════════════ */
.pdx-gens { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 14px; }
.pdx-gen-tab { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 7px 13px; border-radius: 10px;
  background: rgba(0,0,0,.3); border: 1px solid var(--line); color: var(--muted); cursor: pointer; font-family: 'Rajdhani', sans-serif;
  transition: all .12s; min-width: 62px; }
.pdx-gen-tab b { font-size: 14px; font-weight: 700; }
.pdx-gen-tab small { font-size: 10px; opacity: .8; }
.pdx-gen-tab:hover { color: #fff; border-color: rgba(157,123,255,.4); }
.pdx-gen-tab.on { background: linear-gradient(160deg, rgba(157,123,255,.24), rgba(157,123,255,.1)); border-color: rgba(157,123,255,.6); color: #c9b3ff;
  box-shadow: 0 0 14px rgba(157,123,255,.22); }
/* Tarjeta silueta (no visto) */
.pdx-desconocido { opacity: .75; }
.pdx-silueta { width: 68px; height: 68px; display: flex; align-items: center; justify-content: center; margin: 4px auto;
  font-size: 34px; font-weight: 800; color: rgba(255,255,255,.22); font-family: var(--game); }
.pdx-desconocido .pdx-card-nom { color: rgba(255,255,255,.3); letter-spacing: 2px; }
.pdx-card-solo { font-size: 10px; color: #ffd76a; font-family: 'Rajdhani', sans-serif; font-weight: 600; margin-top: 2px; }
/* Detalle: secciones de info completa */
.adv-pdx-sec { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 1px; color: var(--muted);
  margin: 12px 0 6px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 3px; }
.adv-pdx-movs { display: flex; flex-wrap: wrap; gap: 5px; }
.adv-pdx-mov { font-family: 'Rajdhani', sans-serif; font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 7px;
  background: rgba(0,0,0,.3); border: 1px solid; color: #fff; }
.adv-pdx-stats { display: flex; flex-wrap: wrap; gap: 6px; }
.adv-pdx-stat { font-family: 'Rajdhani', sans-serif; font-size: 12px; padding: 3px 9px; border-radius: 7px;
  background: rgba(0,0,0,.28); border: 1px solid var(--line); color: #cdd6e4; }
.adv-pdx-stat b { color: #9d7bff; }
.adv-pdx-abil { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: #cdd6e4; margin: 8px 0; }
.adv-pdx-abil b { color: #7ad6a8; }
.adv-pdx-locked { font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--muted); font-style: italic;
  padding: 14px; background: rgba(0,0,0,.22); border-radius: 10px; margin: 12px 0; }

/* ══════════ Lazo Destino en la caja de cría ══════════ */
.cv-lazo { display: flex; align-items: center; gap: 10px; padding: 9px 12px; margin: 8px 0; border-radius: 11px;
  background: linear-gradient(160deg, rgba(232,90,154,.14), rgba(176,48,104,.08)); border: 1px solid rgba(232,90,154,.32); }
.cv-lazo-spr { width: 30px; height: 30px; object-fit: contain; image-rendering: pixelated; flex-shrink: 0; }
.cv-lazo-tx { flex: 1; font-family: 'Rajdhani', sans-serif; }
.cv-lazo-tx b { display: block; font-size: 13px; color: #ff9ac4; font-weight: 700; }
.cv-lazo-tx small { font-size: 11px; color: var(--muted); }
.cv-lazo-acts { display: flex; gap: 5px; }
.cv-lazo-btn { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 12px; padding: 5px 11px; border-radius: 8px;
  background: linear-gradient(160deg, #e85a9a, #b03068); border: 1px solid rgba(255,120,180,.5); color: #fff; cursor: pointer; white-space: nowrap; }
.cv-lazo-btn:hover { filter: brightness(1.12); }
.cv-lazo-quitar { background: linear-gradient(160deg, #3a3f4a, #23272f); border-color: var(--line); color: #b9c1cf; }
.cv-lazo-none { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: var(--muted); font-style: italic; }
/* ══════════ Drag de pestañas de especie ══════════ */
.cv-tabs-drag .cv-tab { cursor: grab; }
.cv-tab-grip { position: absolute; top: 3px; left: 4px; font-size: 11px; color: rgba(255,255,255,.4); letter-spacing: -2px; pointer-events: none; }
.cv-tab-dragging { opacity: .4; }
.cv-tab-over { box-shadow: 0 0 0 2px #9d7bff, 0 0 12px rgba(157,123,255,.4); transform: scale(1.04); }

/* ══════════════════════════════════════════════════════════════════
   ANIMACIÓN DE EVOLUCIÓN (estilo juegos)
   ══════════════════════════════════════════════════════════════════ */
.adv-evo-ov { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at center, #0a1428 0%, #05070d 100%); opacity: 0; transition: opacity .4s; }
.adv-evo-ov.on { opacity: 1; }
.adv-evo-stage { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.adv-evo-eyebrow { font-family: var(--game); font-size: 14px; color: #ffd76a; letter-spacing: 2px;
  text-shadow: 0 0 10px rgba(255,215,106,.5); }
.adv-evo-sprwrap { position: relative; width: 220px; height: 220px; display: flex; align-items: center; justify-content: center; }
.adv-evo-spr { position: absolute; width: 190px; height: 190px; object-fit: contain; image-rendering: pixelated;
  filter: drop-shadow(0 0 24px rgba(150,190,255,.35)); transition: filter .2s; }
/* Por defecto se ve el ANTIGUO. Al alternar la clase, se ve el NUEVO. */
.adv-evo-old { opacity: 1; }
.adv-evo-new { opacity: 0; }
.adv-evo-showing-new .adv-evo-old { opacity: 0; }
.adv-evo-showing-new .adv-evo-new { opacity: 1; }
/* Durante el parpadeo, los sprites se ven como silueta blanca brillante. */
.adv-evo-sprwrap:not(.adv-evo-final) .adv-evo-spr {
  filter: brightness(0) invert(1) drop-shadow(0 0 30px rgba(180,210,255,.8)); }
/* Destello final: revela el nuevo a todo color. */
.adv-evo-final .adv-evo-old { opacity: 0; }
.adv-evo-final .adv-evo-new { opacity: 1; filter: drop-shadow(0 0 40px rgba(255,255,255,.8)); animation: advEvoReveal .8s ease; }
.adv-evo-flash { position: absolute; inset: -40px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(255,255,255,.9), transparent 60%); opacity: 0; }
.adv-evo-final .adv-evo-flash { animation: advEvoFlash .7s ease; }
@keyframes advEvoFlash { 0% { opacity: 0; transform: scale(.3); } 40% { opacity: 1; transform: scale(1.4); } 100% { opacity: 0; transform: scale(2); } }
@keyframes advEvoReveal { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); } }
.adv-evo-txt { font-family: 'Rajdhani', sans-serif; font-size: 18px; font-weight: 600; color: #e8eef8; max-width: 340px; line-height: 1.4; }
.adv-evo-txt b { color: #7ad6a8; }
.adv-evo-btns { margin-top: 8px; display: flex; gap: 10px; justify-content: center; }
.adv-evo-skip { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 13px; padding: 7px 18px;
  border-radius: 9px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); color: #b9c6e8; cursor: pointer; }
.adv-evo-skip:hover { background: rgba(255,255,255,.15); color: #fff; }
.adv-evo-cancel { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 13px; padding: 7px 18px;
  border-radius: 9px; background: rgba(224,131,106,.14); border: 1px solid rgba(224,131,106,.5); color: #f0b09c; cursor: pointer; }
.adv-evo-cancel:hover { background: rgba(224,131,106,.28); color: #fff; }

/* s502 · SELECTOR DE EVOLUCIÓN DE EEVEE (Espeon / Umbreon / Sylveon) */
.adv-eevee-hero { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.adv-eevee-hero-spr { width: 96px; height: 96px; object-fit: contain; image-rendering: pixelated;
  filter: drop-shadow(0 0 18px rgba(255,215,106,.45)); animation: advEeveeBob 2.4s ease-in-out infinite; }
@keyframes advEeveeBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.adv-eevee-grid { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin-top: 4px; }
.adv-eevee-card { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 150px; padding: 16px 10px 12px;
  border-radius: 16px; cursor: pointer; background: rgba(255,255,255,.04);
  border: 2px solid color-mix(in srgb, var(--eev) 45%, transparent);
  box-shadow: 0 0 0 rgba(0,0,0,0); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.adv-eevee-card:hover { transform: translateY(-6px) scale(1.04); background: rgba(255,255,255,.08);
  border-color: var(--eev); box-shadow: 0 10px 30px -6px color-mix(in srgb, var(--eev) 60%, transparent),
  0 0 26px -4px color-mix(in srgb, var(--eev) 70%, transparent); }
.adv-eevee-card:active { transform: translateY(-2px) scale(1.0); }
.adv-eevee-sprwrap { width: 128px; height: 128px; display: flex; align-items: center; justify-content: center; }
.adv-eevee-spr { width: 118px; height: 118px; object-fit: contain; image-rendering: pixelated;
  filter: drop-shadow(0 0 16px color-mix(in srgb, var(--eev) 55%, transparent)); }
.adv-eevee-nom { font-family: var(--game); font-size: 13px; letter-spacing: 1px; color: #eef3fb; }
.adv-eevee-tipo { font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--eev); }
@media (max-width: 640px) {
  .adv-eevee-grid { gap: 10px; }
  .adv-eevee-card { width: 30%; min-width: 96px; padding: 10px 6px 8px; }
  .adv-eevee-sprwrap { width: 84px; height: 84px; }
  .adv-eevee-spr { width: 78px; height: 78px; }
}

/* ══════════════════════════════════════════════════════════════════
   EXPLORAR BIOMAS · fondo general + botones estirados (estilo Zelda)
   ══════════════════════════════════════════════════════════════════ */
/* Fondo de aventura en TODA la pantalla de explorar biomas (va en el root). */
.adv-explorar-bg { position: relative; }
.adv-explorar-bg::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: url(aventura/fondo-aventura.jpg); background-size: cover; background-position: center;
  filter: brightness(.55); }
/* Banner superior con el texto explicativo. */
.bioma-intro-banner { font-family: 'Rajdhani', sans-serif; font-size: 14px; color: #dfe7f2; line-height: 1.5;
  background: rgba(10,15,24,.7); border: 1px solid rgba(255,255,255,.1); border-radius: 12px;
  padding: 12px 16px; margin-bottom: 14px; backdrop-filter: blur(3px); }
.bioma-lista { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .bioma-lista { grid-template-columns: 1fr; } }

/* Botón estirado: la ilustración del bioma de fondo, nombre grande en mayúsculas,
   y una esquina con el color identificativo (estilo interfaz de Zelda). */
.bioma-btn { position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 110px; padding: 14px 16px; border-radius: 13px; cursor: pointer; overflow: hidden;
  background-size: cover; background-position: center;
  /* En reposo: contorno TENUE del color del bioma (verde flojo, azul flojo…). */
  border: 2px solid color-mix(in srgb, var(--bc) 55%, transparent);
  box-shadow: 0 6px 18px rgba(0,0,0,.5), inset 0 0 0 1px rgba(0,0,0,.3),
    0 0 8px color-mix(in srgb, var(--bc) 20%, transparent); text-align: left;
  transition: transform .16s, box-shadow .16s, border-color .16s; }
.bioma-btn::before { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(6,9,14,.72) 0%, rgba(6,9,14,.32) 45%, rgba(6,9,14,.15) 100%); }
/* Al pasar el ratón: se agranda e ilumina con un GLOW muy intenso de su color. */
.bioma-btn:hover { transform: translateY(-4px) scale(1.02); border-color: var(--bc);
  box-shadow: 0 12px 30px rgba(0,0,0,.6),
    0 0 0 2px var(--bc),
    0 0 32px color-mix(in srgb, var(--bc) 90%, transparent),
    0 0 56px color-mix(in srgb, var(--bc) 60%, transparent); }
/* Esquina de color (triángulo superior-izquierdo, sello del bioma). */
.bioma-btn-corner { position: absolute; top: 0; left: 0; width: 0; height: 0; z-index: 2;
  border-top: 34px solid var(--bc); border-right: 34px solid transparent;
  filter: drop-shadow(1px 1px 2px rgba(0,0,0,.4)); }
.bioma-btn-nom { position: relative; z-index: 2; font-family: 'Rajdhani', sans-serif; font-weight: 800;
  font-size: 23px; letter-spacing: 1.5px; color: #fff; line-height: 1; text-shadow: 0 2px 6px rgba(0,0,0,.85), 0 0 2px rgba(0,0,0,.9); }
.bioma-btn-n { position: relative; z-index: 2; font-family: 'Rajdhani', sans-serif; font-weight: 600;
  font-size: 12px; color: rgba(255,255,255,.82); margin-top: 3px; text-shadow: 0 1px 4px rgba(0,0,0,.9); }

/* Escenario dentro de un bioma: la ilustración de fondo con oscurecido para que
   el contenido (sprites, textos, botones) siga legible. */
.adv-stage.bioma-fondo { background-size: cover; background-position: center; }
.adv-stage.bioma-fondo::before { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(6,9,14,.5) 0%, rgba(6,9,14,.4) 40%, rgba(6,9,14,.72) 100%),
              radial-gradient(ellipse at 50% 92%, rgba(0,0,0,.55), transparent 60%); }
.adv-stage.bioma-fondo > * { position: relative; z-index: 1; }

/* ══════════ Senderos en HORIZONTAL ══════════ */
.bioma-senderos-h { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; max-width: 760px; }
.bioma-senderos-h .bioma-sendero { flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 16px 12px; }
.bioma-senderos-h .bioma-sendero:hover { transform: translateY(-3px); }
.bioma-senderos-h .bioma-sendero-ico { font-size: 34px; }
.bioma-senderos-h .bioma-sendero-tx { align-items: center; }
.bioma-senderos-h .bioma-sendero-tx b { font-size: 14px; margin-bottom: 2px; }
.bioma-senderos-h .bioma-sendero-tx small { font-size: 11.5px; line-height: 1.35; font-style: italic; color: #b9c4d6; }
@media (max-width: 620px) { .bioma-senderos-h { grid-template-columns: 1fr; } }

/* ══════════ Tienda con pestañas + buscador ══════════ */
.advt-tabs { display: flex; gap: 6px; margin: 10px 0 8px; }
.advt-tab { flex: 1; font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .5px;
  padding: 10px 8px; border-radius: 10px 10px 0 0; background: rgba(0,0,0,.28); border: 1px solid var(--line);
  border-bottom: none; color: var(--muted); cursor: pointer; transition: all .12s; }
.advt-tab:hover { color: #fff; }
.advt-tab.on { background: linear-gradient(180deg, rgba(255,180,90,.2), rgba(255,180,90,.05)); border-color: rgba(255,180,90,.5);
  color: #ffd88a; box-shadow: 0 -2px 12px rgba(255,180,90,.15); }
.advt-search { margin-bottom: 10px; }
.advt-search input { width: 100%; box-sizing: border-box; font-family: 'Rajdhani', sans-serif; font-size: 14px;
  padding: 9px 14px; border-radius: 10px; background: rgba(0,0,0,.3); border: 1px solid var(--line); color: #fff; }
.advt-search input:focus { outline: none; border-color: rgba(255,180,90,.5); }
.advt-search input::placeholder { color: var(--muted); }

/* ══════════ Lazo Destino en la tarjeta del progenitor ══════════ */
.cv-prog { position: relative; }
.cv-prog-lazo { position: absolute; top: 4px; right: 4px; z-index: 3; width: 30px; height: 30px; padding: 0;
  border: none; background: transparent; cursor: pointer; transition: transform .12s; }
.cv-prog-lazo img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.cv-prog-lazo:hover { transform: scale(1.2); }
/* Silueta gris oscuro cuando NO lo lleva (pero puedes ponerlo). */
.cv-prog-lazo-off img { filter: brightness(0) invert(0.28); opacity: .8; }
.cv-prog-lazo-off:hover img { filter: brightness(0) invert(0.5); opacity: 1; }
/* A color cuando ya lo lleva, con brillo rosado. */
.cv-prog-lazo-on img { filter: drop-shadow(0 0 6px rgba(232,90,154,.8)); }

/* s601/s602 · Piedra Eterna en la ESQUINA SUPERIOR IZQUIERDA del progenitor.
   Clicable (quita la Piedra, como el Lazo a la derecha). */
.cv-prog-ever { position: absolute; top: 4px; left: 4px; z-index: 3; width: 30px; height: 30px; padding: 0;
  border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: transform .12s; }
.cv-prog-ever:hover { transform: scale(1.2); }
.cv-prog-ever img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
/* s604 · Silueta gris si NO la lleva (pero tienes alguna); a color si la lleva. */
.cv-prog-ever-off img { filter: brightness(0) invert(0.28); opacity: .8; }
.cv-prog-ever-off:hover img { filter: brightness(0) invert(0.5); opacity: 1; }
.cv-prog-ever-on img { filter: drop-shadow(0 0 6px rgba(240,196,110,.9)); }

/* Botón de volver a los biomas, arriba del escenario (no junto a Explorar). */
.adv-bioma-topback { margin-bottom: 10px; }

/* ══════════════════════════════════════════════════════════════════
   VISTA DE BIOMA · imagen casi a pantalla completa + Explorar centrado
   ══════════════════════════════════════════════════════════════════ */
/* El contenedor del bioma se ensancha para que la imagen se vea en grande. */
.adv-explorar-bg ~ * .adv-zona-wrap, .adv-zona-wrap { max-width: 1100px; }
.adv-stage.bioma-fondo { min-height: 460px; }
@media (min-width: 900px) { .adv-stage.bioma-fondo { min-height: 560px; } }
@media (min-width: 1300px) { .adv-stage.bioma-fondo { min-height: 640px; } }
/* Botón Explorar: verde, grande y centrado bajo la imagen. */
.adv-zona-wrap + .adv-zona-actions, .adv-zona-actions { align-items: center; }
.adv-btn-explore { min-width: 340px; font-size: 20px; padding: 16px 40px; }

/* Botón Reiniciar en la cabecera del hub, pegado al extremo derecho. */
.adv-head-right { margin-left: auto; display: flex; align-items: center; flex-shrink: 0; }
.adv-reset-top { margin: 0; }
/* s902 · Botón "tienda de campaña" → volver al campamento/hub desde exploración */
.adv-camp-btn { display: inline-flex; align-items: center; gap: 7px; font-family: var(--game); font-weight: 700;
  font-size: 14px; letter-spacing: 1px; padding: 9px 14px; border-radius: 11px; cursor: pointer;
  color: #eafff0; background: linear-gradient(160deg, #294a1e, #16290f); border: 1.5px solid #4f8a3a;
  box-shadow: 0 0 14px rgba(122,214,90,.28), 0 4px 12px rgba(0,0,0,.5); transition: transform .1s, box-shadow .15s, filter .15s; }
.adv-camp-btn:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 0 22px rgba(122,214,90,.5), 0 6px 16px rgba(0,0,0,.55); }
.adv-camp-btn:active { transform: translateY(1px); }
@media (max-width: 560px) { .adv-camp-btn span { display: none; } .adv-camp-btn { padding: 9px 12px; } }
/* s403: botón de casa (volver al index) junto a reiniciar */
.adv-home-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 34px;
  margin-right: 8px; vertical-align: middle; border: 1px solid rgba(90,150,230,.5); border-radius: 9px;
  background: linear-gradient(180deg, rgba(60,110,200,.28), rgba(30,60,130,.34)); color: #9ecbff;
  box-shadow: 0 2px 0 rgba(0,0,0,.5); cursor: pointer; transition: all .12s; }
.adv-home-btn svg { width: 19px; height: 19px; }
.adv-home-btn:hover { box-shadow: 0 2px 0 rgba(0,0,0,.5), 0 0 16px rgba(90,150,230,.45); color: #cfe4ff; }
.adv-home-btn:active { transform: translateY(1px); }

/* Iconos PNG de PC y Mochila en los botones grandes del hub. */
.adv-bigbtn-img { width: 46px; height: 46px; object-fit: contain; flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); }

/* ══════════ Banner Team Rocket con imagen de Jessie/James ══════════ */
.adv-rocket-banner-img { background-image: url(aventura/rocket-jessiejames.jpg) !important;
  background-size: cover !important; background-position: center 28% !important;
  min-height: 96px; position: relative; overflow: hidden; }
/* Mantener el globo/borde rojo alrededor + oscurecido para leer el texto. */
.adv-rocket-banner-img::before { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(20,4,10,.82) 0%, rgba(20,4,10,.55) 55%, rgba(20,4,10,.4) 100%); }
.adv-rocket-banner-img > * { position: relative; z-index: 1; }

/* Iconos PNG: brújula (explorar biomas), huevo (cría), incubadora (cajas). */
.adv-biomas-hero-ico-img { width: 68px; height: 68px; object-fit: contain; flex-shrink: 0;
  filter: drop-shadow(0 3px 10px rgba(0,0,0,.6)); }
.adv-cria-ico-img { width: 42px; height: 42px; object-fit: contain; flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
@media (max-width: 640px) { .adv-biomas-hero-ico-img { width: 54px; height: 54px; } }

/* Icono PNG de repartir EXP (atenuado si está desactivado). */
.adv-rep-ico-img { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0;
  filter: grayscale(.7) brightness(.7); opacity: .6; transition: filter .15s, opacity .15s; }
.adv-rep-ico-img.on { filter: drop-shadow(0 0 8px rgba(120,220,180,.7)); opacity: 1; }

/* ══════════════════════════════════════════════════════════════════
   s621 · ONBOARDING SPOTLIGHT (db-tutorial.js)
   Oscurece toda la pantalla y resalta un elemento con contorno dorado.
   ══════════════════════════════════════════════════════════════════ */
#adv-tut { position: fixed; inset: 0; z-index: 4000; pointer-events: none; }
.adv-tut-mask { position: fixed; border-radius: 14px; box-shadow: 0 0 0 9999px rgba(6,10,20,.74);
  pointer-events: none; transition: left .28s ease, top .28s ease, width .28s ease, height .28s ease; }
/* Bloqueador de clics de pantalla completa (pasos normales: nada es pulsable). */
.adv-tut-block { position: fixed; inset: 0; pointer-events: auto; z-index: 4000; }
/* Bordes bloqueadores (pasos forzados: solo el elemento resaltado es pulsable). */
.adv-tut-edge { position: fixed; pointer-events: auto; z-index: 4000; }
.adv-tut-ring { position: fixed; border-radius: 14px; border: 2px solid #ffd76a; pointer-events: none;
  transition: left .28s ease, top .28s ease, width .28s ease, height .28s ease; animation: advTutPulse 1.6s ease-in-out infinite; }
@keyframes advTutPulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(255,215,106,.22), 0 0 18px rgba(255,215,106,.45); }
  50% { box-shadow: 0 0 0 5px rgba(255,215,106,.34), 0 0 28px rgba(255,215,106,.70); }
}
.adv-tut-bub { position: fixed; width: min(430px, calc(100vw - 28px)); z-index: 4001; pointer-events: auto;
  background: linear-gradient(158deg, #1c2942 0%, #111b2e 60%, #0d1524 100%);
  border: 1.5px solid rgba(255,215,106,.45); border-radius: 20px; padding: 22px 24px 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.7), 0 0 0 1px rgba(127,212,247,.12) inset, 0 0 34px rgba(255,215,106,.14);
  font-family: 'Segoe UI', 'Helvetica Neue', system-ui, 'Rajdhani', sans-serif;
  transition: left .28s ease, top .28s ease; }
.adv-tut-tag { font-size: .82rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
  color: #ffd76a; margin-bottom: 7px; text-shadow: 0 0 12px rgba(255,215,106,.4); }
.adv-tut-tit { font-size: 1.55rem; font-weight: 800; line-height: 1.15; color: #ffffff; margin-bottom: 9px;
  letter-spacing: .2px; }
.adv-tut-txt { font-size: 1.06rem; line-height: 1.6; color: #d8e3f5; font-weight: 400; }
.adv-tut-txt b { color: #9fe7ff; font-weight: 700; }
.adv-tut-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; gap: 12px; }
.adv-tut-dots { display: flex; gap: 6px; flex-wrap: wrap; }
.adv-tut-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(200,215,245,.26); transition: all .2s; }
.adv-tut-dot.on { background: #ffd76a; box-shadow: 0 0 9px rgba(255,215,106,.8); transform: scale(1.15); }
.adv-tut-btns { display: flex; gap: 12px; align-items: center; }
.adv-tut-skip { background: none; border: none; color: rgba(200,215,245,.5); font-family: inherit;
  font-weight: 600; font-size: .92rem; cursor: pointer; padding: 6px 4px; }
.adv-tut-skip:hover { color: #eaf1ff; }
.adv-tut-next { background: linear-gradient(180deg, #ffe08a, #f0a93a); border: none; color: #241400;
  font-family: inherit; font-weight: 800; font-size: 1rem; padding: 11px 22px; border-radius: 12px; cursor: pointer;
  box-shadow: 0 4px 14px rgba(240,169,58,.4); transition: filter .12s, transform .1s; }
.adv-tut-next:hover { filter: brightness(1.08); transform: translateY(-1px); }
.adv-tut-next:active { transform: translateY(0); }
/* Indicador de "pulsa el elemento resaltado" para pasos forzados. */
.adv-tut-hint { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-family: inherit;
  font-size: .98rem; font-weight: 700; color: #ffd76a; }
.adv-tut-hint .adv-tut-hand { font-size: 1.2rem; animation: advTutHand 1s ease-in-out infinite; }
@keyframes advTutHand { 0%,100% { transform: translateY(0); } 50% { transform: translateY(4px); } }

/* ══════════════════════════════════════════════════════════════════
   s624 · MODAL PROPIO (sustituye a confirm/alert nativos "tipo Chrome")
   ══════════════════════════════════════════════════════════════════ */
.adv-modal-ov { position: fixed; inset: 0; z-index: 5000; display: flex; align-items: center; justify-content: center;
  background: rgba(6,10,20,.66); backdrop-filter: blur(2px); animation: advModalFade .16s ease; padding: 20px; }
@keyframes advModalFade { from { opacity: 0; } to { opacity: 1; } }
.adv-modal { width: min(420px, calc(100vw - 32px)); background: linear-gradient(158deg, #1c2942, #111b2e 60%, #0d1524);
  border: 1.5px solid rgba(127,212,247,.4); border-radius: 18px; padding: 24px 26px 20px;
  box-shadow: 0 20px 60px rgba(0,0,0,.7), 0 0 30px rgba(127,212,247,.12);
  font-family: 'Segoe UI', 'Helvetica Neue', system-ui, 'Rajdhani', sans-serif; animation: advModalPop .2s ease; }
@keyframes advModalPop { from { transform: translateY(10px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
.adv-modal-tit { font-size: 1.4rem; font-weight: 800; color: #fff; margin-bottom: 10px; }
.adv-modal-txt { font-size: 1.04rem; line-height: 1.55; color: #d8e3f5; }
.adv-modal-txt b { color: #9fe7ff; }
.adv-modal-acts { display: flex; justify-content: flex-end; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.adv-modal-btn { font-family: inherit; font-weight: 800; font-size: 1rem; padding: 11px 22px; border-radius: 12px;
  border: none; cursor: pointer; transition: filter .12s, transform .1s; }
.adv-modal-btn:active { transform: translateY(1px); }
.adv-modal-cancel { background: rgba(255,255,255,.08); color: #c6d3ea; border: 1px solid rgba(200,215,245,.2); }
.adv-modal-cancel:hover { background: rgba(255,255,255,.14); }
.adv-modal-ok { background: linear-gradient(180deg, #ffe08a, #f0a93a); color: #241400; box-shadow: 0 4px 14px rgba(240,169,58,.4); }
.adv-modal-ok:hover { filter: brightness(1.08); }
.adv-modal-peligro { background: linear-gradient(180deg, #ff8f8f, #e0483d); color: #2a0a08; box-shadow: 0 4px 14px rgba(224,72,61,.4); }
/* s651 · Variantes de color para confirmaciones (Sí verde / No rojo). */
.adv-modal-ok-verde { background: linear-gradient(180deg, #8fe39a, #3ba85a); color: #052611; box-shadow: 0 4px 14px rgba(59,168,90,.4); }
.adv-modal-ok-verde:hover { filter: brightness(1.08); }
.adv-modal-no-rojo { background: linear-gradient(180deg, #ff8f8f, #e0483d); color: #2a0a08; border: 0; box-shadow: 0 4px 14px rgba(224,72,61,.35); }
.adv-modal-no-rojo:hover { filter: brightness(1.06); }

/* ══════════════════════════════════════════════════════════════════
   TARJETA DE RETO GRANDE (con scouting del equipo rival)
   ══════════════════════════════════════════════════════════════════ */
/* Tarjeta de reto ESTIRADA (ocupa casi toda la columna): sprite grande arriba
   centrado, luego info, los 6 huecos del rival, el lore y el botón. */
.adv-boss-big { flex-direction: column; align-items: stretch; gap: 14px; padding: 22px 22px 20px; }
.adv-boss-big .adv-boss-spr { width: 100%; height: 210px; border-radius: 16px; display: flex;
  align-items: center; justify-content: center; background: rgba(0,0,0,.22); }
/* Sprite del entrenador ampliado y nítido (pixel-art). */
.adv-boss-big .adv-boss-spr img { width: auto !important; height: 190px !important; max-width: 90% !important;
  max-height: 190px !important; transform: none; image-rendering: pixelated; image-rendering: crisp-edges; }
.adv-boss-big .adv-boss-info { position: static; text-align: center; }
.adv-boss-big .adv-boss-eyebrow { font-size: 9px; margin-bottom: 8px; }
.adv-boss-big .adv-boss-name { font-size: 34px; }
.adv-boss-big .adv-boss-role { font-size: 14px; margin: 5px 0 10px; }
.adv-boss-big .adv-boss-meta { justify-content: center; }
.adv-boss-big .adv-btn-fight { font-size: 18px; padding: 15px; }
/* Huecos del rival: fila centrada, 6 casillas. */
.adv-boss-big .adv-boss-scout { text-align: center; }
.adv-boss-big .adv-boss-scout-row { justify-content: center; }
.adv-boss-big .adv-boss-scout-poke { width: 52px; height: 52px; }
.adv-boss-big .adv-boss-scout-poke.seen img { width: 46px; height: 46px; }
/* Comentario de lore/historia. */
.adv-boss-lore { font-family: 'Rajdhani', sans-serif; font-size: 13px; font-style: italic; line-height: 1.5;
  color: #c8b98a; text-align: center; padding: 10px 12px; border-radius: 10px;
  background: rgba(0,0,0,.22); border-left: 3px solid rgba(245,166,35,.5); }
.adv-boss-opc .adv-boss-lore { color: #a9b4d6; border-left-color: rgba(120,150,255,.5); }
/* Fila de scouting del equipo rival. */
.adv-boss-scout { position: relative; z-index: 1; }
.adv-boss-scout-lbl { display: block; font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 12px;
  color: #c9a25a; letter-spacing: .5px; margin-bottom: 6px; }
.adv-boss-scout-hint { display: block; font-family: 'Rajdhani', sans-serif; font-size: 12.5px; font-style: italic;
  color: #9a8a6a; padding: 6px 0; }
.adv-boss-scout-row { display: flex; gap: 7px; flex-wrap: wrap; }
.adv-boss-scout-poke { width: 46px; height: 46px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.3); border: 1px solid rgba(245,166,35,.25); flex-shrink: 0; }
.adv-boss-scout-poke.seen img { width: 42px; height: 42px; object-fit: contain; image-rendering: pixelated; }
.adv-boss-scout-poke.empty { font-family: var(--game); font-weight: 800; font-size: 20px; color: rgba(255,255,255,.22);
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.03), rgba(255,255,255,.03) 4px, transparent 4px, transparent 8px); }
.adv-boss-opc .adv-boss-scout-poke { border-color: rgba(120,150,255,.25); }
.adv-boss-opc .adv-boss-scout-lbl { color: #8aa0e0; }

/* Botón de evolución por PIEDRA en la ficha del Pokémon. */
.advf-stone-btn { display: inline-flex; align-items: center; gap: 6px; font-family: 'Rajdhani', sans-serif;
  font-weight: 700; font-size: 13px; padding: 7px 12px; border-radius: 9px; cursor: pointer; margin: 4px 4px 0 0;
  background: linear-gradient(180deg, rgba(138,208,255,.2), rgba(138,208,255,.06));
  border: 1px solid rgba(138,208,255,.5); color: #cfeaff; transition: all .12s; }
.advf-stone-btn:hover { background: rgba(138,208,255,.28); box-shadow: 0 0 14px rgba(138,208,255,.4); color: #fff; }
.advf-stone-ico { width: 22px; height: 22px; object-fit: contain; image-rendering: pixelated; }

/* ══════════ Switch global de cría automática (cajas de cría) ══════════ */
.cv-autoswitch { display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 12px 16px; border-radius: 12px; margin-bottom: 12px;
  background: #1a2030; border: 1px solid rgba(255,255,255,.14); }
.cv-autoswitch-tx { display: flex; flex-direction: column; }
.cv-autoswitch-tx b { font-family: var(--game); font-weight: 800; font-size: 14px; letter-spacing: .5px; color: #eaf1ff; text-transform: uppercase; }
.cv-autoswitch-tx small { font-family: 'Rajdhani', sans-serif; font-size: 12px; color: #9aa6bd; }
.cv-switch { position: relative; width: 52px; height: 28px; border-radius: 999px; border: none; cursor: pointer;
  background: #3a3f4a; transition: background .18s; flex-shrink: 0; padding: 0; }
.cv-switch.on { background: linear-gradient(90deg, #4bbf6b, #7ad65a); }
.cv-switch-knob { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.4); transition: transform .18s; }
.cv-switch.on .cv-switch-knob { transform: translateX(24px); }


/* ── Diálogo de aprendizaje de movimientos (subida de nivel, estilo juegos) ── */
.advlm-ov { position: fixed; inset: 0; z-index: 260; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.72); backdrop-filter: blur(4px); opacity: 0; transition: opacity .2s; padding: 16px; }
.advlm-ov.show { opacity: 1; }
.advlm-card { width: min(440px, 94vw); background: radial-gradient(ellipse at top,rgba(26,32,44,.98),rgba(12,16,22,.98));
  border: 1.5px solid rgba(122,214,90,.5); border-radius: 18px; padding: 20px 20px 18px; text-align: center;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5),0 0 44px rgba(122,214,90,.28),0 18px 44px rgba(0,0,0,.6);
  transform: scale(.9); transition: transform .22s cubic-bezier(.2,1.4,.4,1); }
.advlm-ov.show .advlm-card { transform: scale(1); }
.advlm-head { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.05rem; letter-spacing: 1px; color: #fff; margin-bottom: 10px; }
.advlm-sub { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .9rem; color: rgba(255,255,255,.75); margin: 10px 0; }
.advlm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.advlm-chip { background: rgba(255,255,255,.05); border: 1.5px solid #666; border-radius: 11px; padding: 8px 10px;
  display: flex; flex-direction: column; gap: 2px; align-items: center; max-width: 220px; }
.advlm-chip-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .92rem; color: #fff; letter-spacing: .3px; }
.advlm-chip-meta { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .68rem; color: rgba(255,255,255,.7); }
.advlm-pick { cursor: pointer; transition: transform .1s, background .15s; }
.advlm-pick:hover { background: rgba(122,214,90,.16); transform: translateY(-2px); }
.advlm-pick:active { transform: translateY(0); }
.advlm-skip { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .82rem; letter-spacing: .5px;
  color: rgba(255,255,255,.85); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18);
  border-radius: 9px; padding: 9px 14px; cursor: pointer; width: 100%; transition: background .15s; }
.advlm-skip:hover { background: rgba(226,72,61,.2); border-color: rgba(226,72,61,.5); }
/* ── Aprender movimiento: layout ancho con tarjetas del juego + ficha (s379) ── */
.advlm-card-wide { width: min(860px, 96vw); max-height: 92vh; overflow-y: auto; text-align: left; }
.advlm-cols { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; align-items: start; }
.advlm-colmovs { min-width: 0; }
.advlm-new { margin-bottom: 10px; }
.advlm-new-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .78rem; letter-spacing: 1px;
  color: #a8e88a; margin-bottom: 6px; text-shadow: 0 0 10px rgba(122,214,90,.5); }
.advlm-newcard { box-shadow: 0 0 0 2px rgba(122,214,90,.7), 0 0 20px rgba(122,214,90,.4) !important; cursor: default !important; }
.advlm-grid4 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.advlm-pickcard { cursor: pointer !important; transition: transform .1s, filter .12s; }
.advlm-pickcard:hover { transform: translateY(-2px); filter: brightness(1.15); }
.advlm-pickcard:active { transform: translateY(0); }
.advlm-colficha { position: sticky; top: 0; }
.advlm-ficha { background: rgba(255,255,255,.03); border: 1px solid rgba(120,150,210,.2); border-radius: 14px; padding: 12px; }
.advlm-ficha-spr { width: 88px; height: 88px; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.advlm-ficha-spr img { max-width: 100%; max-height: 100%; image-rendering: pixelated; }
.advlm-ficha-spr.advf-spr-shiny { filter: drop-shadow(0 0 7px rgba(255,215,106,.7)); }
.advlm-ficha-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1rem; color: #eaf1ff; text-align: center; }
.advlm-ficha-tipos { display: flex; gap: 4px; justify-content: center; margin: 5px 0; flex-wrap: wrap; }
.advlm-ficha-line { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .82rem; color: rgba(220,230,250,.8); text-align: center; margin: 3px 0; }
.advlm-ficha-stats { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.advlm-stat { display: grid; grid-template-columns: 58px 1fr 34px; align-items: center; gap: 6px; }
.advlm-stat span { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .72rem; color: #9fb0d0; }
.advlm-stat i { display: block; height: 7px; border-radius: 4px; background: linear-gradient(90deg,#5aa0ff,#7fd4f7); }
.advlm-stat b { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .82rem; text-align: right; }
@media (max-width: 720px) { .advlm-cols { grid-template-columns: 1fr; } .advlm-colficha { position: static; } }
/* ── Recordador de movimientos ── */
.adv-rec-ov { position: fixed; inset: 0; z-index: 250; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.75); backdrop-filter: blur(4px); opacity: 0; transition: opacity .2s; padding: 14px; }
.adv-rec-ov.show { opacity: 1; }
.adv-rec-card { width: min(560px, 96vw); max-height: 88vh; overflow: hidden; display: flex; flex-direction: column;
  background: radial-gradient(ellipse at top,rgba(26,32,44,.98),rgba(12,16,22,.98));
  border: 1.5px solid rgba(212,175,90,.5); border-radius: 18px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5),0 0 44px rgba(212,175,90,.25),0 18px 44px rgba(0,0,0,.6);
  transform: scale(.92); transition: transform .22s cubic-bezier(.2,1.4,.4,1); }
.adv-rec-ov.show .adv-rec-card { transform: scale(1); }
.adv-rec-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.08);
  font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .98rem; letter-spacing: .5px; color: #ffe9a0; }
.adv-rec-head > span:first-child { flex: 1; }
.adv-rec-pa { font-size: .85rem; color: #ffd76a; }
.adv-rec-x { background: rgba(255,255,255,.08); border: none; color: #fff; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; font-size: .9rem; }
.adv-rec-x:hover { background: rgba(226,72,61,.3); }
.adv-rec-body { padding: 14px 16px 16px; overflow-y: auto; }
.adv-rec-sub { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .82rem; letter-spacing: .5px;
  color: rgba(255,255,255,.7); margin: 12px 0 8px; text-transform: uppercase; }
.adv-rec-lista { display: grid; grid-template-columns: repeat(auto-fill,minmax(96px,1fr)); gap: 8px; }
.adv-rec-poke { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; cursor: pointer;
  transition: transform .1s, background .15s; }
.adv-rec-poke:hover { background: rgba(212,175,90,.14); transform: translateY(-2px); }
.adv-rec-poke img { width: 48px; height: 48px; image-rendering: pixelated; }
.adv-rec-poke-nom { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .78rem; color: #fff; }
.adv-rec-poke-lv { font-family: 'Rajdhani',sans-serif; font-size: .66rem; color: rgba(255,255,255,.6); }
.adv-rec-poke-n { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .64rem; color: #ffd76a; }
.adv-rec-volver { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); color: #fff;
  font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .8rem; padding: 6px 12px; border-radius: 8px; cursor: pointer; margin-bottom: 10px; }
.adv-rec-volver:hover { background: rgba(255,255,255,.12); }
.adv-rec-ficha { display: flex; align-items: center; gap: 12px; }
.adv-rec-ficha-spr { width: 56px; height: 56px; image-rendering: pixelated; }
.adv-rec-ficha-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.05rem; color: #fff; letter-spacing: .5px; }
.adv-rec-ficha-lv { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .8rem; color: rgba(255,255,255,.65); }
.adv-rec-actuales { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.adv-rec-hueco { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .75rem; color: #7ad65a; padding: 4px 8px; }
.adv-rec-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 8px; }
.adv-rec-mv { display: flex; flex-direction: column; gap: 4px; align-items: center; padding: 8px; cursor: pointer;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; transition: transform .1s, background .15s; }
.adv-rec-mv:hover:not([disabled]) { background: rgba(212,175,90,.14); transform: translateY(-2px); }
.adv-rec-mv[disabled] { opacity: .4; cursor: not-allowed; }
.adv-rec-precio { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .74rem; color: #ffd76a; }
.adv-rec-lvl { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .68rem; color: #9fe7ff; letter-spacing: .3px; background: rgba(63,139,214,.16); border: 1px solid rgba(63,139,214,.4); border-radius: 6px; padding: 1px 6px; }
.adv-rec-vacio { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .85rem; color: rgba(255,255,255,.5); padding: 10px; text-align: center; grid-column: 1/-1; }
/* ── Tarjeta fija de farmeo: luchar con entrenador por dinero ── */
.bioma-farmeo { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; cursor: pointer; text-align: left;
  max-width: 760px; margin: 14px auto 0; width: 100%; border: 1.5px solid color-mix(in srgb, var(--bc) 55%, #d4af5a);
  background: linear-gradient(120deg, color-mix(in srgb, var(--bc) 16%, rgba(20,16,8,.5)), rgba(30,22,10,.55));
  box-shadow: 0 0 18px color-mix(in srgb, var(--bc) 22%, transparent), inset 0 0 0 1px rgba(255,215,106,.14);
  transition: transform .12s, box-shadow .15s, background .15s; }
.bioma-farmeo:hover { transform: translateY(-2px); box-shadow: 0 0 26px rgba(255,215,106,.4), inset 0 0 0 1px rgba(255,215,106,.25);
  background: linear-gradient(120deg, color-mix(in srgb, var(--bc) 24%, rgba(30,22,10,.5)), rgba(40,30,14,.6)); }
.bioma-farmeo-ico { font-size: 28px; flex-shrink: 0; filter: drop-shadow(0 0 10px rgba(255,215,106,.55)); }
.bioma-farmeo-tx { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.bioma-farmeo-tx b { font-family: var(--game); font-weight: 800; font-size: 13.5px; color: #ffe9a0; letter-spacing: .4px; }
.bioma-farmeo-tx small { font-family: 'Rajdhani', sans-serif; font-weight: 600; font-size: 12px; color: #ffd76a; }
.bioma-farmeo-go { font-family: var(--game); font-weight: 800; font-size: 18px; color: #ffd76a; flex-shrink: 0; }
/* ── Panel resumen de recompensas (cuadrícula, tras los splashes) ── */
.adv-resum-ov { position: fixed; inset: 0; z-index: 248; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.78); backdrop-filter: blur(5px); opacity: 0; transition: opacity .22s; padding: 16px; }
.adv-resum-ov.show { opacity: 1; }
.adv-resum-card { width: min(520px, 95vw); max-height: 88vh; overflow-y: auto;
  background: radial-gradient(ellipse at top,rgba(24,30,42,.98),rgba(11,15,21,.98));
  border: 1.5px solid rgba(255,215,106,.5); border-radius: 20px; padding: 20px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.5),0 0 50px rgba(255,215,106,.28),0 18px 44px rgba(0,0,0,.65);
  transform: scale(.9); transition: transform .24s cubic-bezier(.2,1.4,.4,1); }
.adv-resum-ov.show .adv-resum-card { transform: scale(1); }
.adv-resum-head { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.05rem; letter-spacing: 1px;
  color: #ffe9a0; text-align: center; text-shadow: 0 0 14px rgba(255,215,106,.6); margin-bottom: 16px; text-transform: uppercase; }
.adv-resum-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(120px,1fr)); gap: 12px; margin-bottom: 18px; }
.adv-resum-cel { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 8px;
  background: rgba(255,255,255,.04); border: 1.5px solid color-mix(in srgb, var(--rc) 45%, rgba(255,255,255,.12)); border-radius: 14px;
  box-shadow: 0 0 16px color-mix(in srgb, var(--rc) 18%, transparent); }
.adv-resum-img { width: 56px; height: 56px; object-fit: contain; image-rendering: pixelated;
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--rc) 55%, transparent)); }
.adv-resum-emoji { font-size: 46px; line-height: 1; }
.adv-resum-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .86rem; color: #fff; text-align: center; letter-spacing: .3px; }
.adv-resum-eye { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .62rem; letter-spacing: 1px; text-transform: uppercase; }
.adv-resum-cont { display: block; margin: 0 auto; font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .95rem;
  letter-spacing: 1px; color: #0d1117; background: linear-gradient(160deg,#ffd27a,#f5a623); border: none;
  border-radius: 12px; padding: 12px 32px; cursor: pointer; box-shadow: 0 3px 0 #7a4d0c; transition: transform .1s; }
.adv-resum-cont:hover { transform: translateY(-2px); }
.adv-resum-cont:active { transform: translateY(1px); box-shadow: 0 1px 0 #7a4d0c; }
/* ── Botones de forma Rotom en la ficha ── */
.advf-rotom-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px;
  padding: 8px 10px; background: rgba(255,158,196,.08); border: 1px solid rgba(255,158,196,.28); border-radius: 10px; }
.advf-rotom-tit { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .8rem; color: #ffbdd8; letter-spacing: .3px; margin-right: 4px; }
.advf-rotom-btn { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .78rem; letter-spacing: .3px;
  color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 8px;
  padding: 5px 10px; cursor: pointer; transition: transform .1s, background .15s; }
.advf-rotom-btn:hover:not([disabled]) { background: rgba(255,158,196,.24); transform: translateY(-1px); }
.advf-rotom-btn.on { background: rgba(255,158,196,.3); border-color: #ff9ec4; color: #ffe1ee; cursor: default; }
/* ── MTs clicables en la mochila + panel de quién puede aprenderla ── */
.advm-mt-click { cursor: pointer; transition: transform .1s, box-shadow .15s; }
.advm-mt-click:hover { transform: translateY(-2px); box-shadow: 0 4px 14px color-mix(in srgb, var(--tc) 40%, transparent); }
.adv-mtquien-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(96px,1fr)); gap: 8px; margin-top: 6px; }
.adv-mtquien-poke { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); border-radius: 10px; cursor: pointer;
  transition: transform .1s, background .15s; }
.adv-mtquien-poke:hover { background: rgba(212,175,90,.16); transform: translateY(-2px); }
.adv-mtquien-poke img { width: 48px; height: 48px; image-rendering: pixelated; }
.adv-mtquien-nom { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .78rem; color: #fff; }
.adv-mtquien-lv { font-family: 'Rajdhani',sans-serif; font-size: .66rem; color: rgba(255,255,255,.6); }
/* ── Drag & drop de movimientos en la ficha ── */
.advf-movslot { position: relative; transition: transform .1s, opacity .15s; cursor: grab; }
.advf-movslot:active { cursor: grabbing; }
.advf-movslot .advm-card { width: 100%; }
.advf-movslot-drag { opacity: .45; transform: scale(.97); }
.advf-movslot-over { outline: 2px dashed #ffd76a; outline-offset: 2px; border-radius: 12px; }

/* ═══════════════════════════════════════════════════════════════════════
   TORNEO COMPETITIVO (s379)
   ═══════════════════════════════════════════════════════════════════════ */
/* Botón del hub */
.adv-torneo-hero { width: 100%; margin-top: 10px; display: flex; align-items: center; gap: 14px; text-align: left;
  padding: 14px 16px; border-radius: 16px; cursor: pointer; position: relative; overflow: hidden;
  background: linear-gradient(135deg, rgba(20,16,30,.5), rgba(12,14,26,.42)), url('aventura/torneo-btn.jpg');
  background-size: cover; background-position: center 30%;
  border: 1.5px solid rgba(255,196,74,.5); box-shadow: 0 0 24px rgba(255,196,74,.18), inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .12s, box-shadow .2s; }
.adv-torneo-hero:hover { transform: translateY(-2px); box-shadow: 0 6px 30px rgba(255,196,74,.34), inset 0 1px 0 rgba(255,255,255,.1); }
.adv-torneo-hero-ico { font-size: 40px; filter: drop-shadow(0 0 12px rgba(255,196,74,.6)); flex-shrink: 0; }
.adv-torneo-hero-tx { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.adv-torneo-hero-tx b { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.06rem; letter-spacing: .6px; color: #ffe0a0; }
.adv-torneo-hero-tx small { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .78rem; color: rgba(255,235,200,.78); }
.adv-torneo-hero-tx em { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .72rem; color: rgba(255,215,106,.85); font-style: normal; }
.adv-torneo-hero-go { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .82rem; letter-spacing: 1px;
  color: #0d1117; background: linear-gradient(160deg,#ffd27a,#f5a623); border-radius: 9px; padding: 8px 12px;
  box-shadow: 0 2px 0 #7a4d0c; flex-shrink: 0; }

/* Pantalla de inscripción */
.torneo-intro { display: flex; justify-content: center; padding: 8px; }
.torneo-intro-card { width: min(560px,96%); text-align: center; padding: 28px 24px 24px; border-radius: 20px;
  background: radial-gradient(ellipse at top, rgba(40,32,14,.96), rgba(16,14,10,.97));
  border: 1.5px solid rgba(255,196,74,.5); box-shadow: 0 0 50px rgba(255,196,74,.22), 0 18px 44px rgba(0,0,0,.6); }
.torneo-trophy { font-size: 72px; filter: drop-shadow(0 0 20px rgba(255,196,74,.6)); animation: torneoTrophy 2.4s ease-in-out infinite; }
@keyframes torneoTrophy { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-6px) rotate(3deg); } }
.torneo-intro-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.5rem; letter-spacing: 1px; color: #ffe0a0;
  text-shadow: 0 0 18px rgba(255,196,74,.4); margin-top: 6px; }
.torneo-intro-sub { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .92rem; color: rgba(255,235,200,.8); margin: 8px 0 16px; }
.torneo-intro-rules { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 16px 0; }
.torneo-rule { background: rgba(255,255,255,.05); border: 1px solid rgba(255,196,74,.25); border-radius: 12px; padding: 10px 6px; }
.torneo-rule b { display: block; font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.05rem; color: #fff; }
.torneo-rule span { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .68rem; color: rgba(255,235,200,.7); }
.torneo-rule-win { border-color: rgba(122,214,90,.5); background: rgba(122,214,90,.1); }
.torneo-rule-win b { color: #a8e88a; }
.torneo-intro-flow { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .82rem; letter-spacing: 1px;
  color: rgba(255,215,106,.9); margin: 4px 0 18px; }
.torneo-join { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.05rem; letter-spacing: 1px; color: #0d1117;
  background: linear-gradient(160deg,#ffd27a,#f5a623); border: none; border-radius: 12px; padding: 14px 28px; cursor: pointer;
  box-shadow: 0 4px 0 #7a4d0c, 0 0 24px rgba(255,196,74,.4); transition: transform .1s; }
.torneo-join:hover { transform: translateY(-2px); }
.torneo-join:active { transform: translateY(2px); box-shadow: 0 2px 0 #7a4d0c; }
.torneo-nofunds { font-family: 'Rajdhani',sans-serif; font-weight: 700; color: #ff8aa8; background: rgba(255,90,138,.12);
  border: 1px solid rgba(255,90,138,.3); border-radius: 10px; padding: 12px; }

/* Barra de progreso de rondas */
.torneo-progress { display: flex; align-items: center; justify-content: center; gap: 4px; margin: 12px auto 18px; flex-wrap: wrap; max-width: 560px; }
.torneo-step { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1; min-width: 56px; position: relative; }
.torneo-step-dot { width: 14px; height: 14px; border-radius: 50%; background: rgba(255,255,255,.15); border: 2px solid rgba(255,255,255,.25); }
.torneo-step-lbl { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .68rem; color: rgba(255,255,255,.5); }
.torneo-step.done .torneo-step-dot { background: #7ad65a; border-color: #7ad65a; box-shadow: 0 0 8px rgba(122,214,90,.6); }
.torneo-step.done .torneo-step-lbl { color: rgba(168,232,138,.9); }
.torneo-step.now .torneo-step-dot { background: #ffd76a; border-color: #ffd76a; box-shadow: 0 0 12px rgba(255,215,106,.8); transform: scale(1.25); }
.torneo-step.now .torneo-step-lbl { color: #ffe0a0; font-weight: 800; }

/* Tarjeta del enfrentamiento */
.torneo-match { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; max-width: 600px; margin: 0 auto 16px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(120,150,210,.2); border-radius: 16px; padding: 14px; }
.torneo-match-side { text-align: center; }
.torneo-side-name { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1rem; color: #eaf1ff; margin-bottom: 6px; }
.torneo-me .torneo-side-name { color: #7fd4f7; }
.torneo-rival .torneo-side-name { color: #ff9ec4; }
.torneo-side-team { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; }
.torneo-mini { width: 58px; height: 58px; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.05); border-radius: 10px; }
.torneo-mini img { max-width: 54px; max-height: 54px; image-rendering: pixelated; }
/* s615 · Mini TUYO clicable: abre la ficha (cambiar ataques / objetos). */
.torneo-mini-mio { cursor: pointer; border: 1px solid rgba(127,212,247,.35); transition: transform .1s, box-shadow .2s, border-color .2s; }
.torneo-mini-mio:hover { transform: translateY(-2px); border-color: #9fe7ff; box-shadow: 0 0 12px rgba(127,212,247,.5); }
.torneo-vs { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.3rem; color: #ffd76a; text-shadow: 0 0 12px rgba(255,215,106,.6); }

/* Detalle del rival (tarjetas con glow) */
.torneo-rival-detail { max-width: 640px; margin: 0 auto 16px; }
.torneo-rd-tit { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .84rem; color: rgba(255,158,196,.9);
  text-align: center; margin-bottom: 10px; }
.torneo-rd-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px,1fr)); gap: 10px; }
.torneo-rc { background: linear-gradient(160deg, rgba(40,24,34,.9), rgba(20,14,20,.95)); border: 1px solid rgba(255,158,196,.35);
  border-radius: 12px; padding: 8px 6px; text-align: center; box-shadow: 0 0 14px rgba(255,158,196,.14); transition: transform .12s, box-shadow .2s; }
.torneo-rc:hover { transform: translateY(-3px); box-shadow: 0 4px 20px rgba(255,158,196,.3); }
.torneo-rc-spr { width: 88px; height: 88px; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.torneo-rc-spr img { max-width: 84px; max-height: 84px; image-rendering: pixelated; }
.torneo-rc-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .72rem; color: #fff; }
.torneo-rc-tipos { display: flex; gap: 2px; justify-content: center; margin: 3px 0; flex-wrap: wrap; }
.torneo-rc-bst { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .64rem; color: rgba(255,235,200,.7); }

/* Botón luchar */
.torneo-fight { display: block; margin: 0 auto 18px; font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1rem;
  letter-spacing: 1px; color: #0d1117; background: linear-gradient(160deg,#ffd27a,#f5a623); border: none; border-radius: 12px;
  padding: 13px 30px; cursor: pointer; box-shadow: 0 4px 0 #7a4d0c, 0 0 20px rgba(255,196,74,.35); transition: transform .1s; }
.torneo-fight:hover:not([disabled]) { transform: translateY(-2px); }
.torneo-fight:active:not([disabled]) { transform: translateY(2px); box-shadow: 0 2px 0 #7a4d0c; }
.torneo-fight[disabled] { opacity: .4; cursor: not-allowed; filter: grayscale(.5); }

/* Bracket resumido */
.torneo-bracket { max-width: 640px; margin: 0 auto; background: rgba(255,255,255,.02); border: 1px solid rgba(120,150,210,.15);
  border-radius: 14px; padding: 12px; }
.torneo-bracket-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .78rem; letter-spacing: 1px;
  color: #9fb0d0; text-align: center; margin-bottom: 8px; }
.torneo-bracket-list { display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; }
.torneo-br-chip { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .72rem; color: rgba(220,230,250,.75);
  background: rgba(255,255,255,.05); border: 1px solid rgba(120,150,210,.2); border-radius: 7px; padding: 3px 8px; }
.torneo-br-me { color: #0d1117; background: linear-gradient(160deg,#ffd27a,#f5a623); border-color: transparent; font-weight: 800;
  box-shadow: 0 0 10px rgba(255,196,74,.5); }

/* Selección de alineación */
.torneo-al-chosen, .torneo-al-pool { max-width: 620px; margin: 0 auto 16px; }
.torneo-al-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .82rem; letter-spacing: 1px; color: #cfe0ff; margin-bottom: 8px; text-align: center; }
.torneo-al-slots { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.torneo-al-slot { position: relative; aspect-ratio: 3/4; border-radius: 12px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 3px; padding: 6px; border: 2px dashed rgba(120,150,210,.3); background: rgba(255,255,255,.02); }
.torneo-al-slot.filled { border-style: solid; border-color: rgba(127,212,247,.6); background: rgba(127,212,247,.08); cursor: pointer;
  box-shadow: 0 0 14px rgba(127,212,247,.2); }
.torneo-al-slot.filled:hover { box-shadow: 0 0 20px rgba(255,90,138,.4); border-color: rgba(255,90,138,.6); }
.torneo-al-slot img { width: 72px; height: 72px; image-rendering: pixelated; }
.torneo-al-num { position: absolute; left: 5px; top: 4px; font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .9rem;
  color: #ffd76a; text-shadow: 0 0 6px rgba(0,0,0,.8); }
.torneo-al-nom { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .68rem; color: #eaf1ff; text-align: center; }
.torneo-al-ph { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .68rem; color: rgba(200,215,245,.4); }
.torneo-al-poolgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(84px,1fr)); gap: 8px; }
.torneo-al-card { position: relative; border-radius: 12px; padding: 8px 4px; text-align: center; cursor: pointer;
  background: rgba(255,255,255,.04); border: 1px solid rgba(120,150,210,.22); transition: transform .12s, box-shadow .2s; }
.torneo-al-card:hover { transform: translateY(-3px); box-shadow: 0 4px 18px rgba(127,212,247,.3); border-color: rgba(127,212,247,.5); }
.torneo-al-card img { width: 72px; height: 72px; image-rendering: pixelated; }
.torneo-al-card.picked { opacity: .5; filter: grayscale(.5); cursor: default; }
.torneo-al-cnom { display: block; font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .7rem; color: #eaf1ff; }
.torneo-al-clv { display: block; font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .64rem; color: rgba(220,230,250,.65); }
.torneo-al-check { position: absolute; right: 5px; top: 4px; color: #7ad65a; font-weight: 800; }
/* s615 · Ficha (cambiar ataques / equipar objetos) y quitar, dentro del torneo. */
.torneo-al-slot.filled { cursor: default; }
.torneo-al-ficha { position: absolute; left: 4px; bottom: 4px; z-index: 3; width: 22px; height: 22px; padding: 0;
  border-radius: 7px; border: 1px solid rgba(127,212,247,.5); background: rgba(20,30,52,.8); color: #9fe7ff;
  font-size: .82rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.torneo-al-ficha:hover { background: rgba(127,212,247,.25); border-color: #9fe7ff; box-shadow: 0 0 10px rgba(127,212,247,.5); }
.torneo-al-x { position: absolute; right: 4px; top: 4px; z-index: 3; width: 20px; height: 20px; border-radius: 6px;
  background: rgba(52,20,30,.8); border: 1px solid rgba(255,90,138,.5); color: #ff8fae; font-size: .72rem; font-weight: 800;
  cursor: pointer; display: flex; align-items: center; justify-content: center; }
.torneo-al-x:hover { background: rgba(255,90,138,.28); border-color: #ff8fae; box-shadow: 0 0 10px rgba(255,90,138,.5); }
.torneo-al-actions { display: flex; gap: 10px; justify-content: center; align-items: center; }
.torneo-al-actions .torneo-fight { margin: 0; }

/* Botones genéricos del torneo */
.torneo-btn { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .88rem; letter-spacing: .5px; color: #eaf1ff;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.2); border-radius: 10px; padding: 11px 20px; cursor: pointer; margin: 6px; }
.torneo-btn:hover { background: rgba(255,255,255,.12); }
.torneo-btn-ghost { opacity: .8; }
.torneo-btn-win { color: #0d1117; background: linear-gradient(160deg,#ffd27a,#f5a623); border: none; box-shadow: 0 3px 0 #7a4d0c; font-weight: 800; }

/* Pantalla eliminado / campeón */
.torneo-out, .torneo-champ { max-width: 480px; margin: 20px auto; text-align: center; padding: 28px 24px; border-radius: 20px;
  background: radial-gradient(ellipse at top, rgba(30,24,30,.95), rgba(14,12,16,.97)); border: 1.5px solid rgba(255,255,255,.14); }
.torneo-out-emoji { font-size: 60px; }
.torneo-out-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.4rem; letter-spacing: 1px; color: #ff8aa8; margin-top: 6px; }
.torneo-out-sub { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .9rem; color: rgba(255,255,255,.75); margin: 8px 0 18px; }
/* s612b · Botones de la derrota: Volver (amarillo) · Reiniciar (verde). */
.torneo-out-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.torneo-btn-volver { color: #0d1117 !important; background: linear-gradient(160deg,#ffd27a,#f5a623) !important; border: none !important; box-shadow: 0 3px 0 #7a4d0c; font-weight: 800; }
.torneo-btn-reiniciar { color: #0d1117 !important; background: linear-gradient(160deg,#8fe08a,#4faf2c) !important; border: none !important; box-shadow: 0 3px 0 #256b18; font-weight: 800; }
.torneo-champ { position: relative; overflow: hidden; border-color: rgba(255,196,74,.6); box-shadow: 0 0 60px rgba(255,196,74,.3); }
.torneo-champ-glow { position: absolute; inset: -50%; background: conic-gradient(from 0deg, transparent, rgba(255,196,74,.15), transparent, rgba(255,196,74,.15), transparent);
  animation: torneoSpin 6s linear infinite; pointer-events: none; }
@keyframes torneoSpin { to { transform: rotate(360deg); } }
.torneo-champ-trophy { font-size: 88px; position: relative; filter: drop-shadow(0 0 24px rgba(255,196,74,.7)); animation: torneoTrophy 2s ease-in-out infinite; }
.torneo-champ-tit { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 2rem; letter-spacing: 2px; color: #ffe0a0;
  text-shadow: 0 0 24px rgba(255,196,74,.6); position: relative; }
.torneo-champ-sub { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .95rem; color: rgba(255,235,200,.85); margin: 8px 0 14px; position: relative; }
.torneo-champ-prize { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 2.2rem; color: #a8e88a;
  text-shadow: 0 0 20px rgba(122,214,90,.6); margin-bottom: 16px; position: relative; }
@media (max-width: 560px) {
  .torneo-intro-rules { grid-template-columns: repeat(2,1fr); }
  .torneo-match { grid-template-columns: 1fr; }
  .torneo-vs { margin: 4px 0; }
}

/* ═══════════════════════════════════════════════════════════════════════
   FICHA: fila de botones de acción uniformes + paneles de mochila (s379b)
   ═══════════════════════════════════════════════════════════════════════ */
.advf-nat-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* s460: separador y fila de DATOS (estilo B) en la cabecera */
.advf-headsep { height: 1px; background: rgba(255,255,255,.09); margin: 9px 0; }
.advf-datos { display: flex; gap: 22px; flex-wrap: wrap; align-items: flex-start; }
.advf-dato { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.advf-dato-lbl { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: .6px;
  color: var(--muted); text-transform: uppercase; }
.advf-dato-val { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: 13.5px; color: #eaf1ff;
  display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.advf-dato-nat { color: #ffce85; }
.advf-dato-val .advf-nat-up { color: #7fe08a; font-size: 12px; }
.advf-dato-val .advf-nat-dn { color: #e0836a; font-size: 12px; }
.advf-dato-neutra { color: var(--muted); font-weight: 600; }
.advf-dato-abil { color: #c9a0ff; cursor: help; }
.advf-dato-abil small { opacity: .7; font-size: 10px; }
.advf-dato-ball { display: inline-flex; align-items: center; gap: 6px; }
.advf-dato-ball img { width: 18px; height: 18px; object-fit: contain; }
.advf-dato-edit { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); color: #9fb6ff;
  width: 20px; height: 20px; border-radius: 6px; cursor: pointer; font-size: 11px; line-height: 1; padding: 0;
  display: inline-flex; align-items: center; justify-content: center; margin-left: 2px; }
.advf-dato-edit:hover { background: rgba(120,150,230,.28); color: #cfe0ff; border-color: rgba(120,150,230,.5); }
/* s471: sprite (con cascada de fallback) dentro del splash "OBJETO CONSEGUIDO" */
.advrs-imgwrap { display: flex; align-items: center; justify-content: center; }
.advrs-spr { width: 96px; height: 96px; object-fit: contain; image-rendering: pixelated; }
.advmp-cell-dim { opacity: .4; }
/* s459: selector inline de formas de Rotom en la ficha */
.advf-rotom-formas { margin-top: 10px; }
.advf-rotom-lbl { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .72rem; letter-spacing: .4px;
  color: #c9a0ff; text-transform: uppercase; margin-bottom: 6px; }
.advf-rotom-lbl small { font-weight: 600; text-transform: none; color: rgba(200,215,245,.6); letter-spacing: 0; }
.advf-rotom-row { display: flex; gap: 8px; flex-wrap: wrap; }
.advf-rotom-cell { display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer;
  width: 62px; padding: 6px 4px 5px; border-radius: 11px; background: rgba(255,255,255,.04);
  border: 1.5px solid rgba(120,150,210,.22); transition: transform .1s, border-color .14s, box-shadow .16s; }
.advf-rotom-cell:hover { transform: translateY(-2px); border-color: var(--rc,#c9a0ff); box-shadow: 0 4px 14px rgba(0,0,0,.4); }
.advf-rotom-cell img { width: 42px; height: 42px; object-fit: contain; image-rendering: pixelated; }
.advf-rotom-cell span { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .64rem; color: rgba(210,220,245,.85);
  line-height: 1; text-align: center; }
.advf-rotom-cell.on { border-color: var(--rc,#c9a0ff); background: color-mix(in srgb, var(--rc,#c9a0ff) 16%, transparent);
  box-shadow: 0 0 0 1px var(--rc,#c9a0ff), 0 0 14px color-mix(in srgb, var(--rc,#c9a0ff) 40%, transparent); }
.advf-rotom-cell.on span { color: #fff; }
.advf-acts-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 4px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); }
/* s602 · Daño EFECTIVO con objeto, en verde (sin "+X"): solo lo que pega de verdad. */
.advm-pot-boost { color: #7ce88a !important; text-shadow: 0 0 7px rgba(124,232,138,.6); }
.advf-act { display: inline-flex; align-items: center; gap: 6px; font-family: 'Rajdhani',sans-serif; font-weight: 800;
  font-size: .78rem; letter-spacing: .5px; color: #eaf1ff; background: #1c2536;
  border: 1.5px solid rgba(130,160,220,.35); border-radius: 10px; padding: 7px 12px; cursor: pointer;
  transition: transform .1s, box-shadow .18s, background .15s, border-color .15s; }
.advf-act:hover:not([disabled]) { transform: translateY(-2px); background: #24304a; border-color: rgba(150,180,240,.55); }
.advf-act:active:not([disabled]) { transform: translateY(0); }
.advf-act[disabled], .advf-act-off { opacity: .5; cursor: not-allowed; }
.advf-act-ico { font-size: 1rem; line-height: 1; }
.advf-act-spr { width: 20px; height: 20px; object-fit: contain; image-rendering: pixelated; }
.advf-act-tx { white-space: nowrap; }
/* Colores por tipo de acción (sólidos) */
.advf-act-obj { border-color: #7a5bd0; color: #e6dcff; background: #2a2140; }
.advf-act-obj:hover { background: #342a52; border-color: #9576e6; }
.advf-act-menta { border-color: rgba(122,214,90,.55); color: #cdf5bb; background: #1e3016; }
.advf-act-menta:hover:not([disabled]) { box-shadow: 0 0 14px rgba(122,214,90,.35); }
.advf-act-evo { border-color: rgba(255,196,74,.55); color: #ffe0a0; background: rgba(255,196,74,.12); }
.advf-act-evo:hover:not([disabled]) { box-shadow: 0 0 16px rgba(255,196,74,.4); }
.advf-act-rotom { border-color: rgba(255,158,196,.55); color: #ffcfe2; background: rgba(255,158,196,.12); }
.advf-act-rotom:hover:not([disabled]) { box-shadow: 0 0 16px rgba(255,158,196,.4); }
.advf-act-candy { border-color: rgba(255,138,168,.5); color: #ffc4d2; background: rgba(255,138,168,.1); }
.advf-act-candymax { border-color: rgba(255,180,100,.6); color: #ffe0a0; background: rgba(255,180,100,.16); }
.advf-act-candymax:hover { background: rgba(255,180,100,.28); }
.advf-act-chapa { border-color: rgba(245,196,0,.6); color: #ffe37a; background: rgba(245,196,0,.12); }
.advf-act-chapa:hover { background: rgba(245,196,0,.26); }
.advt-chapa-card{ border:1.5px solid rgba(245,196,0,.55) !important; box-shadow:0 0 14px rgba(245,196,0,.18) inset; }
.advf-act-comp { border-color: rgba(157,180,255,.5); color: #cdd8ff; background: rgba(157,180,255,.1); }
.advf-act-rec { border-color: rgba(200,160,255,.5); color: #dcccff; background: rgba(200,160,255,.1); }

/* Glow de la tarjeta de movimiento seleccionada para cambiar */
.advf-movslot-sel { outline: 2px solid #ffd76a; outline-offset: 2px; border-radius: 12px;
  box-shadow: 0 0 20px rgba(255,215,106,.55); transform: translateY(-2px); transition: all .15s; position: relative; z-index: 2; }
.advf-movslot-dim { opacity: .38; filter: grayscale(.7); transition: all .15s; }

/* Panel-mochila reutilizable (objetos / mentas / evolución / Rotom) */
.advmp-ov { position: fixed; inset: 0; z-index: 10060; display: flex; align-items: center; justify-content: center;
  background: rgba(5,8,14,.74); backdrop-filter: blur(4px); opacity: 0; transition: opacity .16s; padding: 16px; }
.advmp-ov.show { opacity: 1; }
.advmp-card { width: min(560px,96vw); max-height: 88vh; overflow-y: auto; position: relative;
  background: linear-gradient(180deg,#161d2b,#0e1219); border: 1.5px solid rgba(120,150,210,.3); border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.6); padding: 18px; transform: translateY(10px) scale(.97); transition: transform .16s; }
.advmp-ov.show .advmp-card { transform: none; }
.advmp-close { position: absolute; right: 12px; top: 12px; background: rgba(255,255,255,.08); border: none; color: #9fb0d0;
  width: 30px; height: 30px; border-radius: 8px; cursor: pointer; font-size: 1rem; }
.advmp-close:hover { background: rgba(255,90,138,.2); color: #ff8aa8; }
.advmp-head { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.1rem; letter-spacing: .6px; color: #eaf1ff;
  margin-bottom: 14px; padding-right: 36px; }
.advmp-head small { display: block; font-weight: 600; font-size: .8rem; color: rgba(200,215,245,.7); margin-top: 2px; }
.advmp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap: 9px; }
.advmp-cell { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center;
  background: rgba(255,255,255,.04); border: 1px solid rgba(120,150,210,.2); border-radius: 12px; padding: 12px 8px;
  cursor: pointer; transition: transform .1s, box-shadow .18s, border-color .15s; }
.advmp-cell:hover { transform: translateY(-2px); border-color: rgba(127,212,247,.55); box-shadow: 0 4px 16px rgba(127,212,247,.25); }
.advmp-cell-on { border-color: rgba(122,214,90,.7); background: rgba(122,214,90,.12); box-shadow: 0 0 14px rgba(122,214,90,.3); }
.advmp-cell-spr { width: 40px; height: 40px; object-fit: contain; image-rendering: pixelated; }
.advmp-cell-spr-big { width: 60px; height: 60px; }
.advmp-cell-ico { font-size: 30px; line-height: 1; }
.advmp-cell-nom { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .8rem; color: #fff; }
.advmp-cell-n { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .72rem; color: #ffd76a; }
.advmp-cell-chk { position: absolute; right: 7px; top: 6px; color: #7ad65a; font-weight: 800; }
.advmp-cell-evoto { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .74rem; color: #ffe0a0; }
.advmp-cell-tipo { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .72rem; color: var(--tc,#c9a0ff); }
.advmp-cell-fx { font-family: 'Rajdhani',sans-serif; font-size: .68rem; display: flex; gap: 6px; }
.advmp-cell-fx .up { color: #7fe08a; } .advmp-cell-fx .dn { color: #e0836a; }
.advmp-cell-neutra { color: rgba(200,215,245,.55); font-size: .68rem; }
.advmp-empty { grid-column: 1/-1; text-align: center; font-family: 'Rajdhani',sans-serif; color: rgba(200,215,245,.6); padding: 16px; }
.advmp-evo .advmp-cell:hover { border-color: rgba(255,196,74,.6); box-shadow: 0 4px 16px rgba(255,196,74,.3); }

/* s452: objetos/mentas de la mochila pulsables */
.advm-item-click { cursor: pointer; }
.advm-item-click:hover { border-color: rgba(127,212,247,.55); box-shadow: 0 3px 12px rgba(127,212,247,.22); transform: translateY(-1px); }
/* s457: indicador ℹ de "qué hace" en cada objeto de la mochila */
.advm-item-i { flex: 0 0 auto; width: 19px; height: 19px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 800; color: #9fb6ff; background: rgba(120,150,230,.16); border: 1px solid rgba(120,150,230,.3); margin-left: 2px; }
.advm-item-click:hover .advm-item-i { color: #cfe0ff; background: rgba(120,150,230,.3); }

/* s452: celda de Pokémon en los selectores de objeto */
.advmp-cell-lv { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .7rem; color: rgba(200,215,245,.7); }
.advmp-poke .advmp-cell-spr, .advmp-poke .advmp-cell img { width: 52px; height: 52px; }
.advmp-cell-sub { font-family: 'Rajdhani',sans-serif; font-size: .66rem; color: rgba(200,215,245,.6); line-height: 1.15; }
/* s596 · Selector de Pokémon a lo ancho (PC), con secciones EQUIPO / CAJAS. */
.advmp-card.advmp-poke-wide { width: min(1080px,94vw); max-height: 90vh; }
.advmp-poke-wide .advmp-grid { grid-template-columns: repeat(auto-fill, minmax(112px,1fr)); }
.advmp-sect { grid-column: 1 / -1; font-family: 'Rajdhani',sans-serif; font-weight: 800;
  letter-spacing: .8px; text-transform: uppercase; font-size: .82rem; color: #9fe7ff;
  padding: 6px 2px 6px; margin-top: 8px; border-bottom: 1px solid rgba(159,231,255,.28); }
.advmp-sect:first-child { margin-top: 0; }
/* s596 · Iconos del submenú OBJETO: flecha con glow (mover) y prohibición (quitar). */
.advmp-ico-mover { filter: drop-shadow(0 0 6px rgba(127,212,247,.9)); }
.advmp-cell-mover:hover { border-color: rgba(127,212,247,.7); box-shadow: 0 4px 16px rgba(127,212,247,.3); }
.advmp-ico-quitar { filter: drop-shadow(0 0 5px rgba(230,110,110,.85)); }
.advmp-cell-quitar:hover { border-color: rgba(230,110,110,.7); box-shadow: 0 4px 16px rgba(230,110,110,.28); }

/* s456: submenús tipo LISTA (Equipar/Utilizar, Utilizar, Cambiar habilidad).
   Una sola columna a lo ancho, con el texto que fluye sin salirse de la celda. */
.advmp-menu .advmp-grid, .advmp-util .advmp-grid, .advmp-abil .advmp-grid {
  grid-template-columns: 1fr; gap: 10px;
}
.advmp-menu .advmp-cell, .advmp-util .advmp-cell, .advmp-abil .advmp-cell {
  flex-direction: row; align-items: center; justify-content: flex-start; text-align: left;
  gap: 12px; padding: 13px 16px; min-width: 0;
}
.advmp-menu .advmp-cell-ico, .advmp-util .advmp-cell-ico, .advmp-abil .advmp-cell-ico {
  font-size: 22px; line-height: 1; flex: 0 0 auto; width: 30px; text-align: center;
}
.advmp-menu .advmp-cell-spr, .advmp-util .advmp-cell-spr, .advmp-abil .advmp-cell-spr { flex: 0 0 auto; }
/* Bloque de texto (nombre + subtítulo) que ocupa el espacio disponible y envuelve */
.advmp-menu .advmp-cell-nom, .advmp-util .advmp-cell-nom, .advmp-abil .advmp-cell-nom {
  font-size: .95rem; flex: 1 1 auto; min-width: 0; white-space: normal; overflow-wrap: anywhere;
}
.advmp-menu .advmp-cell-sub, .advmp-util .advmp-cell-sub {
  flex: 1 1 55%; min-width: 0; white-space: normal; overflow-wrap: anywhere; text-align: right;
}
.advmp-util .advmp-cell-evoto { flex: 0 0 auto; white-space: nowrap; }
.advmp-util .advmp-cell-n, .advmp-abil .advmp-cell-n { flex: 0 0 auto; margin-left: auto; }

/* s456: etiqueta "actual" del panel de habilidad — inline, sin tapar el nombre */
.advmp-cell-actual { flex: 0 0 auto; margin-left: auto; font-family: 'Rajdhani',sans-serif; font-weight: 800;
  font-size: .62rem; letter-spacing: .5px; text-transform: uppercase; color: #0d1a0c;
  background: #7ad65a; border-radius: 999px; padding: 2px 9px; }
/* Icono ℹ de "qué hace" a la derecha de cada habilidad */
.advmp-cell-abil-i { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800;
  color: #9fb6ff; background: rgba(120,150,230,.16); border: 1px solid rgba(120,150,230,.3); }
.advmp-abil .advmp-cell:hover .advmp-cell-abil-i { color: #cfe0ff; background: rgba(120,150,230,.28); }
/* Cuando la celda de habilidad es la actual, el nombre no debe empujar el badge fuera */
.advmp-abil .advmp-cell-nom { flex: 1 1 auto; }

/* s452: badge del objeto EQUIPADO en la celda del Pokémon (abajo-derecha) */
.adv-item-badge { position: absolute; right: 3px; bottom: 3px; width: 22px; height: 22px; border-radius: 7px;
  background: rgba(10,14,24,.85); border: 1px solid rgba(255,215,106,.55); display: flex; align-items: center; justify-content: center;
  box-shadow: 0 1px 4px rgba(0,0,0,.5); pointer-events: none; z-index: 3; overflow: hidden; }
.adv-item-badge-spr { width: 18px; height: 18px; object-fit: contain; image-rendering: pixelated; }
.pcbox-slot .adv-item-badge { width: 20px; height: 20px; right: 2px; bottom: 2px; }
.pcbox-slot .adv-item-badge-spr { width: 16px; height: 16px; }
.advmp-rotom .advmp-cell:hover { border-color: rgba(255,158,196,.6); box-shadow: 0 4px 16px rgba(255,158,196,.3); }
.advmp-menta .advmp-cell:hover { border-color: rgba(122,214,90,.6); box-shadow: 0 4px 16px rgba(122,214,90,.3); }

/* ═══════════════════════════════════════════════════════════════════════
   SELECTOR DE CANTIDAD para comprar varias unidades (s395)
   ═══════════════════════════════════════════════════════════════════════ */
.advcc-ov { position: fixed; inset: 0; z-index: 10080; display: flex; align-items: center; justify-content: center;
  background: rgba(5,8,14,.72); backdrop-filter: blur(4px); opacity: 0; transition: opacity .16s; padding: 16px; }
.advcc-ov.show { opacity: 1; }
.advcc-card { width: min(380px,94vw); position: relative; background: linear-gradient(180deg,#18202f,#0e1219);
  border: 1.5px solid rgba(255,196,74,.4); border-radius: 18px; box-shadow: 0 20px 60px rgba(0,0,0,.6);
  padding: 20px; text-align: center; transform: translateY(10px) scale(.97); transition: transform .16s; }
.advcc-ov.show .advcc-card { transform: none; }
.advcc-close { position: absolute; right: 12px; top: 12px; background: rgba(255,255,255,.08); border: none;
  color: #9fb0d0; width: 30px; height: 30px; border-radius: 8px; cursor: pointer; font-size: 1rem; }
.advcc-close:hover { background: rgba(255,90,138,.2); color: #ff8aa8; }
.advcc-spr { display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.advcc-spr img { width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 3px 6px rgba(0,0,0,.5)); }
.advcc-menta { font-size: 46px; line-height: 1; }
.advcc-head { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.15rem; letter-spacing: .5px; color: #ffe0a0; }
.advcc-sub { font-family: 'Rajdhani',sans-serif; font-size: .82rem; color: rgba(200,215,245,.7); margin-top: 3px; margin-bottom: 16px; }
.advcc-stepper { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 12px; }
.advcc-step { width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(255,196,74,.5);
  background: rgba(255,196,74,.12); color: #ffe0a0; font-size: 1.5rem; font-weight: 800; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: background .15s, transform .1s; }
.advcc-step:hover { background: rgba(255,196,74,.25); }
.advcc-step:active { transform: scale(.92); }
.advcc-cant { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1.8rem; color: #fff; min-width: 70px; }
.advcc-input { width: 92px; text-align: center; font-family: var(--game); font-weight: 800; font-size: 1.6rem; color: #fff;
  background: rgba(0,0,0,.4); border: 1.5px solid rgba(255,196,74,.5); border-radius: 12px; padding: 6px 4px; -moz-appearance: textfield; }
.advcc-input::-webkit-outer-spin-button, .advcc-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.advcc-input:focus { outline: none; border-color: #ffd76a; box-shadow: 0 0 10px rgba(255,215,106,.4); }
.advcc-quick { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; margin-bottom: 16px; }
.advcc-quick-lbl { font-family: var(--game); font-weight: 700; font-size: .75rem; letter-spacing: .5px; color: rgba(200,215,245,.6); text-transform: uppercase; margin-right: 2px; }
.advcc-quick button { font-family: var(--game); font-weight: 800; font-size: .85rem; color: #dbe4f5;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 8px;
  padding: 7px 13px; cursor: pointer; transition: background .15s; }
.advcc-quick button:hover { background: rgba(127,212,247,.2); border-color: rgba(127,212,247,.5); }
.advcc-quick .advcc-max { background: rgba(255,196,74,.15); border-color: rgba(255,196,74,.5); color: #ffe0a0; }
.advcc-total { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: 1rem; color: #eaf1ff; margin-bottom: 14px; }
.advcc-total b { color: #ffd76a; font-size: 1.2rem; }
.advcc-total-no b { color: #ff6a6a; }
.advcc-buy { width: 100%; font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: 1rem; letter-spacing: 1px;
  color: #0d1117; background: linear-gradient(160deg,#ffd27a,#f5a623); border: none; border-radius: 12px;
  padding: 13px; cursor: pointer; box-shadow: 0 3px 0 #7a4d0c; transition: transform .1s; }
.advcc-buy:hover:not([disabled]) { transform: translateY(-1px); }
.advcc-buy:active:not([disabled]) { transform: translateY(1px); box-shadow: 0 1px 0 #7a4d0c; }
.advcc-buy[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* ═══════════════════════════════════════════════════════════════════════
   LLAVE / BRACKET visual del torneo (s395)
   ═══════════════════════════════════════════════════════════════════════ */
.torneo-bracket-rounds { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin: 12px 0; }
.torneo-brk-match { position: relative; display: flex; align-items: center; gap: 8px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(22,28,40,.72), rgba(14,18,28,.72)); border: 1px solid rgba(120,140,180,.22);
  border-radius: 12px; }
.torneo-brk-mine { border-color: rgba(255,196,74,.6); box-shadow: 0 0 18px rgba(255,196,74,.2);
  background: linear-gradient(180deg, rgba(40,34,16,.75), rgba(22,18,10,.75)); }
.torneo-brk-slot { flex: 1; display: flex; align-items: center; gap: 6px; min-width: 0; }
.torneo-brk-slot .torneo-brk-spr { width: 34px; height: 34px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.torneo-brk-slot .torneo-brk-spr img { width: 34px; height: 34px; object-fit: contain; image-rendering: pixelated; }
.torneo-brk-nom { font-family: 'Rajdhani',sans-serif; font-weight: 700; font-size: .8rem; color: #dbe4f5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.torneo-brk-you .torneo-brk-nom { color: #ffe0a0; }
.torneo-brk-bye { justify-content: center; color: rgba(160,175,200,.4); font-weight: 700; }
.torneo-brk-vs { font-family: 'Rajdhani',sans-serif; font-weight: 800; font-size: .68rem; color: #ff8aa8;
  flex-shrink: 0; padding: 2px 5px; background: rgba(255,90,138,.14); border-radius: 5px; }
.torneo-bracket-cnt { font-weight: 600; font-size: .78rem; color: rgba(200,215,245,.6); margin-left: 6px; }
.torneo-bracket-foot { font-family: 'Rajdhani',sans-serif; font-weight: 600; font-size: .8rem;
  color: rgba(200,215,245,.75); text-align: center; margin-top: 6px; padding: 8px;
  background: rgba(127,212,247,.08); border-radius: 8px; }

/* ══════════════════════════════════════════════════════════════════
   s505 · POKÉDEX DE PERFECTOS (IV31 / SHINY) + botones en la barra del PC
   ════════════════════════════════════════════════════════════════ */
.pc-dexbtns { display: flex; gap: 8px; align-items: center; justify-content: center; flex-wrap: wrap; margin-left: 0; }
.pcbox-btn-dex { border: 1px solid rgba(255,255,255,.16); }
.pcbox-btn-iv31 { background: linear-gradient(135deg, rgba(90,168,255,.18), rgba(46,165,200,.1)) !important;
  border-color: rgba(90,168,255,.5) !important; }
.pcbox-btn-iv31:hover { background: linear-gradient(135deg, rgba(90,168,255,.32), rgba(46,165,200,.2)) !important; }
.pcbox-btn-shiny { background: linear-gradient(135deg, rgba(245,200,80,.2), rgba(245,166,35,.1)) !important;
  border-color: rgba(245,200,80,.55) !important; }
.pcbox-btn-shiny:hover { background: linear-gradient(135deg, rgba(245,200,80,.34), rgba(245,166,35,.2)) !important; }

#adv-dex-overlay { position: fixed; inset: 0; z-index: 3200; display: flex; align-items: center; justify-content: center;
  background: rgba(6,9,14,.82); backdrop-filter: blur(4px); padding: 16px; }
.advdex-panel { width: min(1000px, 96vw); max-height: 92vh; display: flex; flex-direction: column; }
.advdex-body { overflow-y: auto; padding: 4px 2px; }
.advdex-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.advdex-slot { cursor: default; }
.advdex-num { background: rgba(0,0,0,.55); }
.advdex-vacio { grid-column: 1 / -1; text-align: center; padding: 40px 20px; color: rgba(255,255,255,.6);
  font-family: 'Rajdhani', sans-serif; font-size: 15px; line-height: 1.5; }

/* ── s518 · MEGAEVOLUCIÓN (tienda) ── */
.advt-tab-mega.on { background: linear-gradient(180deg, rgba(197,139,255,.28), rgba(197,139,255,.06)); border-color: rgba(197,139,255,.6); color:#fff; }
.advt-buy-mega { background: linear-gradient(160deg,#c58bff,#8b5ad6); color:#fff; }
.advt-buy-done { background: linear-gradient(160deg,#3a7d4f,#2b5c3b); color:#eafff0; }
.advt-mega-card { border-color: rgba(197,139,255,.35) !important; }
.advt-mega-card:hover { border-color: rgba(197,139,255,.7) !important; box-shadow: 0 8px 24px -8px rgba(197,139,255,.5); }
.advt-mega-ring { border: 1px solid rgba(197,139,255,.5) !important; background: linear-gradient(160deg, rgba(197,139,255,.12), rgba(120,80,200,.06)) !important; }
.advt-mega-ring.advt-mega-owned { border-color: rgba(90,224,160,.55) !important; }
.advt-mega-ringspr { font-size: 46px; line-height: 1; align-self: center; margin: 2px 0 4px; filter: drop-shadow(0 3px 8px rgba(197,139,255,.6)); }

/* ── s518 · MEGAEVOLUCIÓN (combate) ── */
.hud-mega-btn{
  margin-left:6px; font-family:'Rajdhani',sans-serif; font-weight:800; font-size:12px; letter-spacing:.4px;
  color:#fff; background:linear-gradient(160deg,#c58bff,#7a3fd0); border:1px solid rgba(255,255,255,.35);
  border-radius:8px; padding:2px 9px; cursor:pointer; box-shadow:0 2px 10px -2px rgba(197,139,255,.7);
  animation:megaBtnPulse 1.4s ease-in-out infinite;
}
.hud-mega-btn:hover{ transform:scale(1.07); filter:brightness(1.1); }
.hud-mega-btn:active{ transform:scale(.97); }
@keyframes megaBtnPulse{ 0%,100%{ box-shadow:0 2px 10px -2px rgba(197,139,255,.6);} 50%{ box-shadow:0 2px 18px 1px rgba(197,139,255,1);} }

.mega-anim-ov{ position:absolute; inset:0; z-index:60; pointer-events:none; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.mega-anim-ring{ position:absolute; top:50%; left:50%; width:340px; height:340px; margin:-170px 0 0 -170px;
  border:4px solid rgba(197,139,255,.9); border-radius:50%; box-shadow:0 0 30px 6px rgba(197,139,255,.8), inset 0 0 30px 6px rgba(197,139,255,.5);
  animation:megaRing 1.5s cubic-bezier(.5,0,.2,1) forwards; }
.mega-anim-ring2{ border-color:rgba(120,220,255,.9); animation-delay:.18s; }
@keyframes megaRing{ 0%{ transform:scale(1.4) rotate(0deg); opacity:0;} 20%{ opacity:1;} 70%{ transform:scale(.35) rotate(220deg); opacity:1;} 100%{ transform:scale(.1) rotate(300deg); opacity:0;} }
.mega-anim-flash{ position:absolute; top:50%; left:50%; width:200px; height:200px; margin:-100px 0 0 -100px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.95) 0%, rgba(197,139,255,.6) 40%, transparent 70%);
  opacity:0; animation:megaFlash 1.5s ease-out forwards; animation-delay:.7s; }
@keyframes megaFlash{ 0%{ opacity:0; transform:scale(.2);} 40%{ opacity:1; transform:scale(1.3);} 100%{ opacity:0; transform:scale(1.8);} }
.mega-anim-label{ position:absolute; top:22%; left:50%; transform:translateX(-50%); font-family:'Rajdhani',sans-serif; font-weight:800;
  font-size:24px; letter-spacing:1px; color:#fff; text-shadow:0 2px 12px rgba(197,139,255,1), 0 0 4px #000; white-space:nowrap;
  opacity:0; animation:megaLabel 1.5s ease-out forwards; animation-delay:.55s; }
@keyframes megaLabel{ 0%{ opacity:0; transform:translateX(-50%) translateY(8px) scale(.8);} 30%{ opacity:1; transform:translateX(-50%) translateY(0) scale(1);} 80%{ opacity:1;} 100%{ opacity:0; } }

/* ── s519 · MOCHILA: banner Anillo + item mega ── */
.advm-ring-banner{ display:flex; align-items:center; gap:12px; padding:12px 14px; margin:0 0 12px;
  border:1px solid rgba(90,224,160,.5); border-radius:12px;
  background:linear-gradient(160deg, rgba(197,139,255,.14), rgba(90,224,160,.08)); cursor:help; }
.advm-ring-ico{ font-size:34px; line-height:1; filter:drop-shadow(0 2px 8px rgba(197,139,255,.7)); }
.advm-ring-tx{ display:flex; flex-direction:column; line-height:1.2; }
.advm-ring-tx b{ font-family:'Rajdhani',sans-serif; font-weight:800; font-size:15px; color:#fff; letter-spacing:.3px; }
.advm-ring-tx small{ font-size:11px; color:#b9c6e8; margin-top:2px; }
.advm-ring-chk{ margin-left:auto; font-size:20px; color:#5ae0a0; }
.advm-mega-item{ border-color:rgba(197,139,255,.4) !important; }
.advm-mega-item:hover{ border-color:rgba(197,139,255,.8) !important; }

/* ── s519 · ENCUENTRO SALVAJE: silueta misteriosa + rareza ── */
.adv-enc-silueta{ position:relative; display:inline-flex; align-items:center; justify-content:center; }
.adv-enc-misterio-ico{ width:150px; height:150px; }
.adv-enc-ball-myst{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:96px; height:96px; border-radius:50%;
  background:linear-gradient(180deg,#454f74 0 50%, #2a3150 50% 100%);
  border:3px solid rgba(0,0,0,.5); box-shadow:inset 0 2px 10px rgba(255,255,255,.12), 0 6px 20px -6px var(--tc,#f5a623), 0 0 26px -4px var(--tc,#f5a623);
  animation:advEncBall 2.2s ease-in-out infinite; }
.adv-enc-ball-myst::before{ content:''; position:absolute; top:calc(50% - 3px); left:-3px; right:-3px; height:6px; background:rgba(0,0,0,.55); }
.adv-enc-ball-myst::after{ content:''; position:absolute; top:50%; left:50%; width:26px; height:26px; margin:-13px 0 0 -13px; border-radius:50%;
  background:radial-gradient(circle at 40% 35%, #fff, #c9d2ea); border:3px solid rgba(0,0,0,.6); }
@keyframes advEncBall{ 0%,100%{ transform:translate(-50%,-50%) rotate(-6deg); } 50%{ transform:translate(-50%,-52%) rotate(6deg); } }
.adv-enc-q{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; font-family:'Rajdhani',sans-serif;
  font-weight:800; font-size:40px; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.8), 0 0 14px var(--tc,#f5a623);
  animation:advEncQ 1.3s ease-in-out infinite; }
@keyframes advEncQ{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.85;} 50%{ transform:translate(-50%,-50%) scale(1.12); opacity:1;} }
.adv-enc-rareza{ font-family:'Rajdhani',sans-serif; font-weight:800; letter-spacing:.5px; padding:1px 10px; border-radius:999px;
  font-size:15px; color:#0d1220; background:var(--tc,#f5a623); }
.adv-enc-rareza-0{ background:#9fb0c8; color:#0d1220; }   /* común */
.adv-enc-rareza-1{ background:#7ad65a; color:#08160a; }   /* infrecuente */
.adv-enc-rareza-2{ background:#5aa9f0; color:#04121f; }   /* raro */
.adv-enc-rareza-3{ background:#c58bff; color:#160a24; }   /* muy raro */

/* ── s519 · ENTRADA DESLIZANTE (combate salvaje de aventura) ── */
.sprite-enter-side-player{ animation:advSlideInLeft .64s cubic-bezier(.2,.7,.25,1) forwards !important; }
.sprite-enter-side-enemy{ animation:advSlideInRight .95s cubic-bezier(.25,.6,.2,1) forwards !important; }
@keyframes advSlideInLeft{ 0%{ transform:translateX(-160%) scale(.9); opacity:0; } 55%{ opacity:1; } 82%{ transform:translateX(6%) scale(1.02); } 100%{ transform:translateX(0) scale(1); opacity:1; } }
@keyframes advSlideInRight{ 0%{ transform:translateX(220%) scale(.92); opacity:0; } 40%{ opacity:1; } 85%{ transform:translateX(-5%) scale(1.02); } 100%{ transform:translateX(0) scale(1); opacity:1; } }

/* ── s519 · HUD salvaje: badge "ya capturado / nuevo" ── */
.hud-caught-badge{ display:inline-flex; align-items:center; gap:4px; margin-left:6px; padding:1px 7px 1px 5px;
  border-radius:999px; font-family:'Rajdhani',sans-serif; font-weight:800; font-size:10px; letter-spacing:.4px;
  align-self:center; flex-shrink:0; white-space:nowrap; border:1px solid rgba(255,255,255,.2); }
.hud-caught-badge.caught-yes{ background:linear-gradient(180deg,rgba(90,224,160,.28),rgba(50,150,100,.22)); color:#bff6da; border-color:rgba(90,224,160,.5); }
.hud-caught-badge.caught-no{ background:linear-gradient(180deg,rgba(245,166,35,.28),rgba(200,120,20,.22)); color:#ffe1ad; border-color:rgba(245,166,35,.55); animation:caughtNewPulse 1.4s ease-in-out infinite; }
@keyframes caughtNewPulse{ 0%,100%{ box-shadow:0 0 0 rgba(245,166,35,.5);} 50%{ box-shadow:0 0 10px 1px rgba(245,166,35,.75);} }
.hud-caught-ball{ width:11px; height:11px; border-radius:50%; flex-shrink:0; position:relative;
  background:linear-gradient(180deg,#ee5555 0 50%, #f5f5f5 50% 100%); border:1px solid rgba(0,0,0,.55); box-shadow:inset 0 0 0 .5px rgba(255,255,255,.3); }
.hud-caught-ball::before{ content:''; position:absolute; top:calc(50% - .7px); left:-1px; right:-1px; height:1.6px; background:rgba(0,0,0,.7); }
.hud-caught-ball::after{ content:''; position:absolute; top:50%; left:50%; width:4px; height:4px; margin:-2px 0 0 -2px; border-radius:50%;
  background:#fff; border:1px solid rgba(0,0,0,.7); }
.caught-no .hud-caught-ball{ filter:grayscale(.55) opacity(.85); }
/* s706 · Imagen real de pokéball en el HUD del rival (Pokémon que ya tienes/tuviste). */
.hud-caught-ballimg{ width:14px; height:14px; object-fit:contain; flex-shrink:0; image-rendering:auto;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.5)); }

/* ══ s725 · FRENTE DE BATALLA (aventura) ════════════════════════════════ */
/* Botón héroe del Frente, justo debajo de CAZA LIBRE. Fondo: plaza del Frente. */
.adv-frente-hero{ position:relative; overflow:hidden;
  background:linear-gradient(90deg,rgba(10,14,32,.52) 0%,rgba(12,18,44,.28) 45%,rgba(12,18,44,.08) 100%),
    url('aventura/frente-bg.jpg') center/cover no-repeat !important;
  border-color:rgba(150,190,245,.55) !important; }
.adv-frente-hero:hover{ border-color:#bfe0ff !important;
  box-shadow:0 0 22px rgba(120,180,245,.45) !important; }
.adv-frente-ico{ font-size:30px; flex-shrink:0; filter:drop-shadow(0 2px 4px rgba(0,0,0,.55)); }
.adv-frente-ico-img{ width:56px; height:56px; object-fit:contain; flex-shrink:0;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.6)); }
.frt-wrap{ max-width:min(1560px,97vw); margin:0 auto; position:relative; z-index:0; }
/* Fondo de la pantalla del Frente (la plaza), atenuado para que se lea todo. */
.frt-wrap::before{ content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:#080c1a url('aventura/frente-bg.jpg') center/cover no-repeat; opacity:.16; }
.frt-wrap > *{ position:relative; z-index:1; }
/* s729 · Las 4 instalaciones en UNA fila (reusa las tarjetas del Frente PVE). */
.frt-facs.frontier-facilities{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px; padding:0 0 18px !important; }
.frt-facs .frontier-fac-card{ padding:14px 14px 14px 18px; gap:10px; }
.frt-facs .frontier-fac-spr{ width:74px; height:74px; }
.frt-facs .frontier-fac-name{ font-size:1.05rem; }
.frt-facs .frontier-fac-stats{ gap:6px; flex-direction:column; align-items:flex-start; }
@media (max-width:1250px){ .frt-facs.frontier-facilities{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px){ .frt-facs.frontier-facilities{ grid-template-columns:1fr; } }
.frt-sub{ font-size:13px; color:#cdd8f5; margin:6px 2px 12px; }
.frt-vacio{ color:#9fb0d8; text-align:center; padding:24px; }
.frt-facs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; margin-bottom:16px; }
.frt-fac{ display:flex; align-items:center; gap:12px; background:linear-gradient(180deg,rgba(24,28,54,.92),rgba(14,18,36,.92));
  border:1px solid rgba(140,120,240,.3); border-radius:14px; padding:12px; }
.frt-fac-ico{ font-size:34px; flex-shrink:0; }
.frt-fac-body{ flex:1; min-width:0; }
.frt-fac-nom{ font-family:var(--game),sans-serif; font-weight:800; font-size:15px; color:#fff; }
.frt-fac-desc{ font-size:11.5px; color:#aab6d8; line-height:1.4; margin:2px 0; }
.frt-fac-stats{ font-size:11px; color:#ffd98a; font-weight:700; }
.frt-fac-play{ flex-shrink:0; font-family:var(--game),sans-serif; font-weight:800; font-size:13px; color:#0a0f1e;
  background:linear-gradient(180deg,#c9b3ff,#8f7ae0); border:0; border-radius:10px; padding:10px 16px; cursor:pointer; }
.frt-fac-play:hover{ filter:brightness(1.1); }
.frt-cofre{ background:linear-gradient(180deg,rgba(60,45,20,.5),rgba(30,22,10,.5)); border:1px solid rgba(245,200,120,.35);
  border-radius:14px; padding:12px 14px; }
.frt-cofre-h{ font-family:var(--game),sans-serif; font-weight:800; font-size:14px; color:#ffe6a3; margin-bottom:8px; }
.frt-cofre-h small{ color:#c9b48a; font-weight:600; font-size:11px; }
.frt-cofre-info{ font-size:13px; color:#eaf0ff; margin-bottom:8px; }
.frt-cofre-btns{ display:flex; flex-wrap:wrap; gap:8px; }
.frt-cbtn{ font-family:var(--game),sans-serif; font-weight:800; font-size:12px; color:#fff; background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.2); border-radius:9px; padding:8px 13px; cursor:pointer; }
.frt-cbtn:hover{ border-color:#ffd98a; background:rgba(245,200,120,.15); }
.frt-cbtn-claim{ background:linear-gradient(180deg,rgba(90,200,130,.3),rgba(40,120,80,.24)); border-color:rgba(120,220,150,.55); }
.frt-cofre-tip{ font-size:11px; color:#c9b48a; margin-top:8px; }
/* s730 · Vitrina de símbolos */
.frt-vitrina{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:4px 0 14px; }
.frt-sim{ display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:11px;
  border:1px solid rgba(255,255,255,.12); background:rgba(10,15,30,.55); color:#8fa0cc; }
.frt-sim.on{ border-color:var(--fc); color:var(--fc); background:rgba(255,255,255,.05);
  box-shadow:0 0 14px -4px var(--fc); }
.frt-sim-ico{ font-size:16px; }
.frt-sim-tx{ font-family:var(--game),sans-serif; font-weight:800; font-size:11.5px; letter-spacing:.4px; flex:1; }
.frt-sim-prog{ font-size:11px; font-weight:800; opacity:.9; }
/* ══ s733 · FRENTE: pantallas a pantalla completa, estilo PVE ═══════════ */
.frt-full{ max-width:min(1700px,98vw); }
.frt-bgimg{ background-image:url('aventura/frente-bg.jpg') !important; opacity:.13 !important; }
.frt-panel{ background:linear-gradient(180deg,rgba(16,20,40,.92),rgba(10,14,28,.94));
  border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:18px 22px 22px; }
.frt-phead{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; position:relative;
  border-bottom:1px solid rgba(255,255,255,.09); padding-bottom:14px; margin-bottom:16px; }
.frt-badge{ background:var(--frontier); color:#fff; font-family:var(--game),sans-serif; font-weight:800;
  font-size:12px; letter-spacing:.6px; padding:6px 14px; border-radius:999px; white-space:nowrap;
  box-shadow:0 0 16px var(--frontier-glow); }
.frt-ptit{ flex:1; min-width:220px; }
.frt-ptit h2{ margin:0; font-family:var(--game),sans-serif; font-size:26px; letter-spacing:1px; color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.6); }
.frt-ptit p{ margin:4px 0 0; font-size:14px; color:#b9c6ea; line-height:1.45; }
.frt-pcta{ margin-left:auto; min-width:260px; }
.frt-go{ font-size:1.05rem !important; padding:16px 22px !important; letter-spacing:1.2px !important;
  animation:frtGoPulse 2.4s ease-in-out infinite; }
.frt-go:disabled{ animation:none; }
@keyframes frtGoPulse{ 0%,100%{ box-shadow:0 6px 18px rgba(0,0,0,.4), 0 0 18px var(--frontier-glow); }
  50%{ box-shadow:0 6px 22px rgba(0,0,0,.45), 0 0 34px var(--frontier-glow); } }
.frt-quit{ width:auto !important; padding:11px 20px !important; font-size:.95rem !important; }
.frt-btn2{ font-family:var(--game),sans-serif; font-weight:800; font-size:14px; letter-spacing:.8px;
  color:#ffe6a3; background:linear-gradient(180deg,rgba(245,180,60,.28),rgba(150,100,20,.2));
  border:1.5px solid rgba(245,200,120,.6); border-radius:12px; padding:12px 20px; cursor:pointer;
  transition:transform .12s, filter .12s; }
.frt-btn2:hover{ transform:translateY(-2px); filter:brightness(1.12); }
.frt-footbar{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:20px; }
.frt-footbar2{ gap:16px; }
.frt-exitbtn{ display:flex; align-items:center; gap:12px; min-width:230px; padding:12px 20px; cursor:pointer;
  border-radius:15px; border:1.5px solid transparent; text-align:left;
  font-family:'Rajdhani',sans-serif; transition:transform .12s ease, box-shadow .15s ease, filter .15s ease; }
.frt-exitbtn:hover{ transform:translateY(-3px); filter:brightness(1.07); }
.frt-exit-ico{ font-size:30px; line-height:1; flex:0 0 auto; filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.frt-exit-tx{ display:flex; flex-direction:column; gap:1px; }
.frt-exit-tx b{ font-size:16px; font-weight:800; letter-spacing:.4px; }
.frt-exit-tx small{ font-size:12px; opacity:.85; font-weight:600; }
.frt-exit-save{ background:linear-gradient(150deg,#123a2e,#0c2a24); border-color:rgba(79,208,138,.55);
  box-shadow:0 0 20px rgba(63,200,140,.25); color:#eafff4; }
.frt-exit-save b{ color:#7bf0b0; }
.frt-exit-save:hover{ border-color:#5fe0a0; box-shadow:0 0 26px rgba(63,200,140,.5); }
.frt-exit-retire{ background:linear-gradient(150deg,#3a1620,#291016); border-color:rgba(255,120,120,.5);
  box-shadow:0 0 18px rgba(226,80,80,.2); color:#ffe9e9; }
.frt-exit-retire b{ color:#ff9a9a; }
.frt-exit-retire:hover{ border-color:#ff8a8a; box-shadow:0 0 24px rgba(226,80,80,.45); }
.frt-picktit{ font-family:var(--game),sans-serif; font-weight:800; font-size:14px; letter-spacing:.8px;
  color:var(--frontier); text-transform:uppercase; margin:20px 2px 10px; }
/* Tarjetas de Pokémon grandes */
.frt-monsgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.frt-monsgrid-3{ grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); }
.frt-mon{ position:relative; display:flex; flex-direction:column; align-items:center; gap:3px;
  background:linear-gradient(180deg,rgba(22,28,52,.9),rgba(12,16,32,.9));
  border:2px solid rgba(255,255,255,.12); border-radius:14px; padding:12px 8px; cursor:pointer;
  transition:transform .15s cubic-bezier(.34,1.4,.5,1), border-color .15s, box-shadow .15s; }
.frt-mon:hover:not(:disabled){ transform:translateY(-4px); border-color:var(--frontier);
  box-shadow:0 10px 26px rgba(0,0,0,.5), 0 0 20px var(--frontier-glow); }
.frt-mon.on{ border-color:var(--frontier); background:linear-gradient(180deg,rgba(155,110,232,.18),rgba(12,16,32,.9));
  box-shadow:0 0 22px var(--frontier-glow); }
.frt-mon:disabled{ cursor:default; }
.frt-mon.ghost{ opacity:.42; }
.frt-mon img{ width:96px; height:96px; object-fit:contain; image-rendering:auto;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.55)); transition:transform .25s; }
.frt-mon:hover:not(:disabled) img{ transform:scale(1.08); }
.frt-mon-nom{ font-family:var(--game),sans-serif; font-weight:800; font-size:13px; color:#fff;
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.frt-mon-tipos{ display:flex; gap:4px; flex-wrap:wrap; justify-content:center; }
.frt-tipo{ font-size:9.5px; font-weight:800; color:#fff; padding:1px 7px; border-radius:8px;
  text-transform:uppercase; letter-spacing:.3px; }
.frt-mon-lv{ font-size:11px; color:#9fb0d8; }
.frt-mon-num{ position:absolute; top:-8px; left:-8px; width:26px; height:26px; border-radius:50%;
  background:var(--frontier); color:#fff; font-family:var(--game),sans-serif; font-weight:900; font-size:14px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 0 12px var(--frontier-glow); z-index:2; }
.frt-mon-gear{ position:absolute; top:6px; right:6px; width:26px; height:26px; border-radius:50%;
  background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.25); color:#ffd98a; font-size:14px;
  display:flex; align-items:center; justify-content:center; z-index:2; transition:transform .15s, background .15s; }
.frt-mon-gear:hover{ transform:rotate(90deg) scale(1.12); background:rgba(245,180,60,.35); }
/* Cuadro de eliminatorias del Domo */
.frt-brk{ display:flex; gap:14px; align-items:stretch; overflow-x:auto; padding:6px 2px 12px; }
.frt-brk-col{ display:flex; flex-direction:column; gap:8px; min-width:150px; }
.frt-brk-h{ font-family:var(--game),sans-serif; font-size:11px; letter-spacing:1px; color:#8fa0cc;
  text-transform:uppercase; text-align:center; }
.frt-brk-list{ display:flex; flex-direction:column; justify-content:space-around; gap:8px; flex:1; }
.frt-brk-m{ display:flex; flex-direction:column; gap:2px; padding:7px 10px; border-radius:10px;
  background:rgba(10,15,30,.6); border:1.5px solid rgba(255,255,255,.09); font-size:12px; color:#aab6d8; }
.frt-brk-m span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.frt-brk-m .yo{ color:#fff; font-weight:800; }
.frt-brk-m.now{ border-color:var(--frontier); background:rgba(155,110,232,.16);
  box-shadow:0 0 16px var(--frontier-glow); }
.frt-brk-m.ok{ border-color:rgba(106,193,123,.55); background:rgba(106,193,123,.1); }
.frt-brk-trofeo{ min-width:80px; justify-content:center; }
.frt-brk-cup{ font-size:34px; text-align:center; padding:14px 0; border-radius:12px;
  border:1.5px solid rgba(255,255,255,.1); background:rgba(10,15,30,.6); opacity:.5; }
.frt-brk-cup.ok{ opacity:1; border-color:#ffd76a; box-shadow:0 0 22px rgba(255,215,106,.5); }
/* Ficha del rival de la ronda */
.frt-rival{ margin:16px 0 4px; padding:16px 18px; border-radius:14px; border:1px solid var(--frontier);
  background:radial-gradient(120% 100% at 0% 0%, rgba(155,110,232,.18), transparent 60%), rgba(14,18,36,.9); }
.frt-rival-h{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.frt-rival-h b{ font-family:var(--game),sans-serif; font-size:19px; color:#fff; }
.frt-rival-tag{ background:var(--frontier); color:#fff; font-size:10.5px; font-weight:800;
  padding:3px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:.5px; }
.frt-rival-mons{ display:flex; gap:18px; flex-wrap:wrap; }
.frt-rival-mon{ display:flex; flex-direction:column; align-items:center; gap:2px; cursor:help; }
.frt-rival-mon img{ width:78px; height:78px; object-fit:contain; filter:drop-shadow(0 4px 8px rgba(0,0,0,.55)); }
.frt-rival-mon span{ font-size:11.5px; color:#dfe7fb; }
@media (max-width:900px){ .frt-pcta{ margin-left:0; width:100%; min-width:0; } .frt-ptit h2{ font-size:21px; } }

/* s732 · Cuadro (bracket) del Domo */
.frt-bracket{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:10px 0 14px; }
.frt-br-col{ display:flex; flex-direction:column; gap:6px; }
.frt-br-h{ font-family:var(--game),sans-serif; font-size:11.5px; color:#cdd8f5; display:flex;
  justify-content:space-between; align-items:baseline; gap:6px; }
.frt-br-h small{ color:#8fa0cc; font-size:10px; }
.frt-br-slot{ display:flex; flex-direction:column; gap:2px; padding:9px 11px; border-radius:11px;
  background:rgba(10,15,30,.6); border:1.5px solid rgba(255,255,255,.1); }
.frt-br-slot.now{ border-color:#9b6ee8; background:rgba(155,110,232,.14); box-shadow:0 0 16px rgba(155,110,232,.35); }
.frt-br-slot.ok{ border-color:rgba(106,193,123,.6); background:rgba(106,193,123,.1); }
.frt-br-yo{ font-family:var(--game),sans-serif; font-weight:800; font-size:12px; color:#fff; }
.frt-br-vs{ font-size:10px; color:#8fa0cc; }
.frt-br-riv{ font-size:12px; color:#eaf0ff; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.frt-br-est{ font-size:10px; color:#9fb0d8; margin-top:2px; }
.frt-br-slot.ok .frt-br-est{ color:#8ce6a0; }
.frt-br-slot.now .frt-br-est{ color:#c9b3ff; }
@media (max-width:700px){ .frt-bracket{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* s730 · Alquiler / robo de la Fábrica */
.frt-roblbl{ font-family:var(--game),sans-serif; font-size:12px; color:#cdd8f5; margin:12px 2px 6px; }
.frt-alqgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:9px; }
.frt-alqcard{ position:relative; display:flex; flex-direction:column; align-items:center; gap:2px;
  background:rgba(12,18,34,.75); border:1.5px solid rgba(255,255,255,.12); border-radius:12px; padding:8px 4px; cursor:pointer; }
.frt-alqcard:hover:not(:disabled){ border-color:#f0a23d; transform:translateY(-2px); }
.frt-alqcard.on{ border-color:#f0a23d; box-shadow:0 0 16px rgba(240,162,61,.45); background:rgba(240,162,61,.12); }
.frt-alqcard:disabled{ opacity:.45; cursor:default; }
.frt-alqcard img{ width:74px; height:74px; object-fit:contain; }
.frt-alq-nom{ font-size:11px; color:#eaf0ff; max-width:104px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.frt-alq-lv{ font-size:10px; color:#9fb0d8; }
.frt-alqmio{ border-color:rgba(120,220,150,.4); }
.frt-alqmio:hover:not(:disabled){ border-color:#6ac17b; }
.frt-alqnum{ position:absolute; top:-6px; left:-6px; width:20px; height:20px; border-radius:50%;
  background:#f0a23d; color:#1a1200; font-weight:900; font-size:12px; display:flex; align-items:center; justify-content:center; }
.frt-alqbar{ display:flex; gap:9px; flex-wrap:wrap; margin:14px 0 4px; }
@media (max-width:700px){ .frt-vitrina{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.frt-expgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:8px; }
.frt-expcard{ display:flex; flex-direction:column; align-items:center; gap:2px; background:rgba(12,18,34,.7);
  border:1.5px solid rgba(255,255,255,.12); border-radius:11px; padding:7px 3px; cursor:pointer; }
.frt-expcard:hover{ border-color:#8f7ae0; transform:translateY(-2px); }
.frt-expcard img{ width:64px; height:64px; object-fit:contain; }
.frt-exp-nom{ font-size:10.5px; color:#eaf0ff; max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.frt-exp-lv{ font-size:9.5px; color:#9fb0d8; }

/* ══ s722 · Caramelos infinitos + copiar equipo ═════════════════════════ */
.advt-candyinf-card{ border:1.5px solid rgba(255,215,106,.6) !important;
  box-shadow:0 0 16px rgba(255,215,106,.35) !important;
  background:linear-gradient(180deg,rgba(255,215,106,.12),rgba(120,90,20,.1)) !important; }
.advt-buy-off{ background:rgba(255,215,106,.2); color:#ffe6a3; border:1px solid rgba(255,215,106,.5);
  border-radius:8px; padding:5px 12px; font-family:var(--game),sans-serif; font-weight:800; font-size:12px; text-align:center; }
.pcbox-btn-copiaeq{ background:linear-gradient(180deg,rgba(90,200,130,.28),rgba(40,120,80,.2)) !important;
  border-color:rgba(120,220,150,.55) !important; }

/* ══ s714 · INTERCAMBIO CON AMIGO (online) ══════════════════════════════ */
/* s719 · Fondo de pantalla de los intercambios (imagen 2) con velo oscuro. */
.tr-panel{ background:linear-gradient(rgba(9,13,26,.9),rgba(9,13,26,.93)), url('aventura/trade-bg.jpg') center/cover no-repeat !important; }
.tr-mode-ico{ width:30px; height:30px; object-fit:cover; border-radius:7px; flex-shrink:0; }
.tr-mode-amigo{ display:flex; align-items:center; gap:9px; }
.tr-mode-tx{ display:flex; flex-direction:column; gap:2px; text-align:left; }
.tr-modes{ display:flex; gap:8px; margin:4px 0 10px; }
.tr-mode{ flex:1; display:flex; flex-direction:column; gap:2px; text-align:left; padding:8px 11px; border-radius:10px;
  border:1.5px solid rgba(255,255,255,.14); background:rgba(8,12,24,.55); color:#dfe7fb; cursor:pointer; }
.tr-mode b{ font-family:var(--game),sans-serif; font-size:13px; }
.tr-mode small{ font-size:10.5px; color:#9fb0d8; }
.tr-mode.on{ border-color:rgba(245,180,60,.5); background:linear-gradient(180deg,rgba(245,180,60,.16),rgba(180,120,20,.1)); cursor:default; }
.tr-mode-amigo:hover{ border-color:#7fa0ff; background:rgba(30,44,84,.7); }
/* s734 · Lobby de intercambio también grande en PC (ya no tamaño móvil). */
.tr-panel{ max-width:min(1150px,95vw); width:95vw; min-height:70vh; max-height:92vh;
  display:flex; flex-direction:column; }
.tr-panel .tr-lobby{ flex:1 1 auto; min-height:0; max-height:none; overflow:auto; }
@media (max-width:700px){ .tr-panel{ width:96vw; min-height:0; } }
/* s715 · Sala a pantalla casi completa (para ver bien los Pokémon). */
.tr-panel.tr-sala{ max-width:min(1320px,97vw); width:97vw; height:92vh; max-height:94vh; display:flex; flex-direction:column; }
.tr-sub2{ font-size:11.5px; color:#8fa0cc; margin:-2px 2px 8px; }
.tr-sala .tr-cols{ flex:0 0 auto; }
.tr-sala .tr-picker{ flex:1 1 auto; min-height:0; }
.tr-pick-h{ font-family:var(--game),sans-serif; font-size:12px; color:#cdd8f5; margin:4px 2px 2px; }
.tr-lobby{ max-height:60vh; overflow:auto; }
.tr-load,.tr-empty,.tr-done{ text-align:center; color:#b9c6ea; padding:22px 12px; font-size:13.5px; line-height:1.6; }
.tr-done{ font-size:15px; color:#cdeccf; }
.tr-sec{ font-family:var(--game),sans-serif; font-size:11px; letter-spacing:.5px; color:#8fa0cc; margin:12px 2px 6px; text-transform:uppercase; }
.tr-row{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 11px; border-radius:9px;
  background:rgba(12,18,34,.7); border:1px solid rgba(255,255,255,.08); margin-bottom:6px; }
.tr-inv{ border-color:rgba(120,150,240,.4); background:linear-gradient(180deg,rgba(60,80,180,.16),rgba(30,44,90,.12)); }
.tr-nom{ font-weight:700; color:#eaf0ff; font-size:13.5px; display:flex; align-items:center; gap:7px; }
.tr-dot{ width:9px; height:9px; border-radius:50%; background:#5ce08a; box-shadow:0 0 6px #5ce08a; flex-shrink:0; }
.tr-btn{ font-family:var(--game),sans-serif; font-weight:800; font-size:12px; border-radius:8px; padding:6px 12px;
  border:1.5px solid transparent; cursor:pointer; }
.tr-yes{ background:linear-gradient(180deg,#5ac878,#3a9a5a); color:#06210f; }
.tr-yes:disabled{ opacity:.4; cursor:default; filter:grayscale(.4); }
.tr-no{ background:rgba(220,80,80,.18); color:#ffb3b3; border-color:rgba(220,80,80,.5); }
.tr-wait{ background:rgba(245,180,60,.18); color:#ffde9c; border-color:rgba(245,180,60,.5); width:100%; }
.tr-accept{ width:100%; padding:11px; font-size:14px; }
.tr-actions{ display:flex; gap:6px; }
/* Sala */
.tr-cols{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:8px 0; }
.tr-col-h{ font-family:var(--game),sans-serif; font-size:12px; color:#cdd8f5; margin-bottom:5px; display:flex; justify-content:space-between; align-items:center; }
.tr-ok{ color:#8ce6a0; font-size:11px; }
.tr-pend{ color:#ffcf87; font-size:10.5px; }
.tr-offer{ min-height:150px; background:rgba(8,12,24,.55); border:1px dashed rgba(255,255,255,.16); border-radius:10px;
  padding:10px; display:flex; flex-wrap:wrap; gap:10px; align-content:flex-start; }
.tr-mini{ position:relative; width:124px; display:flex; flex-direction:column; align-items:center; background:rgba(18,26,48,.85);
  border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:8px 3px; }
.tr-mini img{ width:104px; height:104px; object-fit:contain; image-rendering:auto; }
.tr-mini-nom{ font-size:12px; font-weight:600; color:#eaf0ff; text-align:center; line-height:1.15; max-width:116px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tr-mini-lv{ font-size:10.5px; color:#9fb0d8; }
.tr-theirs{ border-color:rgba(120,150,240,.35); }
/* Glow dorado para perfectos (6×31), igual que en el PC/crianza. */
.tr-perf{ border:2px solid #ffd76a !important; box-shadow:0 0 18px rgba(255,215,106,.55), inset 0 0 10px rgba(255,215,106,.12) !important; }
.tr-mine{ cursor:pointer; border-color:rgba(245,180,60,.4); }
.tr-mine:hover{ border-color:#f0a; }
.tr-rm{ position:absolute; top:-6px; right:-6px; width:17px; height:17px; border-radius:50%; background:#d64c4c; color:#fff;
  font-size:12px; font-weight:900; display:flex; align-items:center; justify-content:center; }
.tr-hint{ color:#8fa0cc; font-size:11.5px; align-self:center; margin:auto; text-align:center; }
.tr-accbar{ margin:6px 0 10px; }
.tr-picker{ overflow:auto; border-top:1px solid rgba(255,255,255,.08); padding-top:8px; }
.tr-pick-lbl{ font-family:var(--game),sans-serif; font-size:11.5px; color:#8fa0cc; margin:8px 2px 5px; }
.tr-pick-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:9px; }
.tr-pick{ display:flex; flex-direction:column; align-items:center; gap:2px; background:rgba(12,18,34,.7);
  border:1.5px solid rgba(255,255,255,.1); border-radius:12px; padding:8px 3px; cursor:pointer; }
.tr-pick:hover:not(:disabled){ border-color:#7fa0ff; transform:translateY(-2px); }
.tr-pick img{ width:84px; height:84px; object-fit:contain; image-rendering:auto; }
.tr-pick-nom{ font-size:11px; color:#dfe7fb; max-width:108px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tr-pick.tr-off{ opacity:.35; cursor:default; }
.tr-pick.tr-used{ opacity:.4; cursor:default; border-color:rgba(245,180,60,.5); }
/* Tooltip RICO (ficha) al pasar el ratón */
.tr-tip{ position:fixed; z-index:100000; display:none; pointer-events:none; width:340px;
  background:rgba(10,15,30,.98); border:1px solid rgba(120,150,240,.55); border-radius:12px; padding:11px 12px;
  box-shadow:0 10px 30px rgba(0,0,0,.6); font-family:'Rajdhani',sans-serif; }
/* s754 · Perfecto: solo el marco EXTERIOR del tooltip es dorado (sin el interno). */
.tr-tt-card.tr-tt-perf{ outline:none; box-shadow:none; }
.tr-tip:has(.tr-tt-perf){ border-color:#ffd76a; box-shadow:0 10px 30px rgba(0,0,0,.6), 0 0 18px rgba(255,215,106,.45); }
.tr-tt-head{ display:flex; gap:9px; align-items:center; margin-bottom:8px; }
.tr-tt-spr{ width:64px; height:64px; object-fit:contain; flex-shrink:0; }
.tr-tt-nom{ font-family:var(--game),sans-serif; font-weight:800; font-size:15px; color:#fff; line-height:1.1; }
.tr-tt-types{ display:flex; gap:4px; margin:3px 0; }
.tr-tt-type{ font-size:9.5px; font-weight:800; color:#fff; padding:1px 7px; border-radius:8px; text-transform:uppercase; letter-spacing:.3px; }
.tr-tt-lv{ font-size:11px; color:#b9c6ea; }
.tr-tt-perfl{ color:#ffd76a; }
.tr-tt-line{ font-size:12px; color:#dfe7fb; margin:3px 0; }
.tr-tt-line b{ color:#8fa8e6; font-weight:700; margin-right:5px; }
.tr-tt-up{ color:#7ad65a; } .tr-tt-dn{ color:#ef8f8f; }
.tr-tt-stats{ margin:7px 0; display:flex; flex-direction:column; gap:3px; }
.tr-tt-row{ display:grid; grid-template-columns:48px 1fr 34px 22px; align-items:center; gap:6px; font-size:11px; }
.tr-tt-k{ color:#9fb0d8; }
.tr-tt-bar{ height:8px; background:rgba(255,255,255,.1); border-radius:5px; overflow:hidden; }
.tr-tt-bar i{ display:block; height:100%; border-radius:5px; }
.tr-tt-val{ text-align:right; color:#eaf0ff; font-weight:700; }
.tr-tt-iv{ text-align:right; font-weight:800; }
.tr-tt-moves{ display:flex; flex-direction:column; gap:5px; margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.12); }
.tr-tt-mv{ display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:#eaf0ff;
  border:1px solid rgba(255,255,255,.12); border-left:4px solid #888; border-radius:8px;
  padding:5px 9px; background:rgba(0,0,0,.3); }
.tr-tt-mvn{ color:#fff; }
.tr-tt-mvtype{ font-size:8.5px; font-weight:800; color:#fff; padding:1px 6px; border-radius:6px;
  text-transform:uppercase; letter-spacing:.3px; }
.tr-tt-mvp{ margin-left:auto; color:#ffd76a; font-weight:800; }
.tr-tt-mvs{ margin-left:auto; color:#9fb0c8; font-weight:700; font-size:9.5px; }
.tr-tt-none{ font-size:11px; color:#8fa0cc; }
/* Aviso global de invitación */
.tr-notif-ov{ position:fixed; inset:0; z-index:99999; display:flex; align-items:flex-start; justify-content:center;
  padding-top:12vh; background:rgba(4,7,16,.55); opacity:0; transition:opacity .18s; }
.tr-notif-ov.on{ opacity:1; }
.tr-notif{ background:linear-gradient(180deg,#1a2748,#111a30); border:2px solid #6a86ff; border-radius:18px;
  padding:20px 24px; text-align:center; max-width:min(420px,92vw); box-shadow:0 12px 40px rgba(0,0,0,.6), 0 0 22px rgba(106,134,255,.4);
  animation:trNotifPop .28s ease; }
@keyframes trNotifPop{ from{ transform:scale(.85); opacity:0; } to{ transform:scale(1); opacity:1; } }
.tr-notif-ic{ font-size:44px; margin-bottom:6px; }
.tr-notif-tit{ font-family:var(--game),sans-serif; font-size:17px; color:#eaf0ff; margin-bottom:3px; }
.tr-notif-sub{ font-size:12px; color:#9fb0d8; margin-bottom:14px; }
.tr-notif-acts{ display:flex; gap:10px; justify-content:center; }
.tr-notif-acts .tr-btn{ padding:9px 20px; font-size:13px; }
/* s717 · Botón "ojo" + visor de la caja del rival */
.tr-eye{ margin-left:auto; margin-right:8px; font-family:var(--game),sans-serif; font-weight:800; font-size:12px;
  color:#cfe0ff; background:linear-gradient(180deg,rgba(80,110,210,.28),rgba(40,60,140,.2)); border:1.5px solid rgba(130,160,240,.55);
  border-radius:9px; padding:6px 12px; cursor:pointer; }
.tr-eye:hover{ border-color:#8fb0ff; background:rgba(60,84,170,.5); }
.tr-caja-ov{ position:fixed; inset:0; z-index:9600; display:flex; align-items:center; justify-content:center;
  background:rgba(4,7,16,.75); opacity:0; transition:opacity .18s; padding:2vh 1vw; }
.tr-caja-ov.on{ opacity:1; }
/* s735 · Visor de la caja del rival: pantalla completa y dividido por cajas. */
.trc-panel{ width:98vw; max-width:1700px; height:96vh; display:flex; flex-direction:column;
  background:linear-gradient(180deg,rgba(16,20,40,.97),rgba(10,14,28,.98));
  border:1px solid rgba(127,178,255,.35); border-radius:18px; padding:18px 22px 16px;
  box-shadow:0 20px 60px rgba(0,0,0,.7); }
.trc-body{ flex:1 1 auto; min-height:0; overflow:auto; padding-right:6px; }
.trc-caja{ margin-bottom:18px; }
.trc-caja-h{ display:flex; align-items:baseline; gap:10px; margin:0 2px 10px;
  border-bottom:1px solid rgba(255,255,255,.09); padding-bottom:6px; }
.trc-caja-n{ font-family:var(--game),sans-serif; font-weight:800; font-size:15px; letter-spacing:1px; color:#9fd0ff; }
.trc-caja-c{ font-size:11.5px; color:#8fa0cc; }
.trc-grid{ grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); }
.trc-panel .frt-mon{ cursor:help; }
.trc-panel .frt-mon:disabled{ opacity:1; }
.trc-panel .frt-mon:hover{ transform:translateY(-4px); border-color:#7fb2ff;
  box-shadow:0 10px 26px rgba(0,0,0,.5), 0 0 20px rgba(127,178,255,.45); }
.trc-panel .frt-mon img{ width:84px; height:84px; }
/* Shiny: marco y destello propios (además del dorado de perfecto) */
.frt-mon-shiny{ border-color:rgba(255,215,106,.45); }
.frt-mon-shiny::after{ content:'✨'; position:absolute; top:5px; left:6px; font-size:13px;
  filter:drop-shadow(0 0 5px rgba(255,215,106,.9)); }
@media (max-width:700px){ .trc-panel{ width:97vw; height:94vh; padding:14px; } }
@media (max-width:560px){ .tr-cols{ grid-template-columns:1fr; } .tr-panel.tr-sala{ height:94vh; } .tr-eye{ font-size:11px; padding:5px 9px; } }

/* ══ s713 · REGIONAL STORE ══════════════════════════════════════════════ */
.adv-regional-btn .adv-regional-ico{ font-size:22px; margin-right:10px; filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.adv-regional-ico-img{ width:38px; height:38px; object-fit:cover; border-radius:50%; margin-right:11px; flex-shrink:0;
  box-shadow:0 0 10px rgba(120,160,255,.45), inset 0 0 6px rgba(0,0,0,.3); }
/* s734 · Fondo de imagen en los botones grandes (mismo tratamiento que el Frente). */
.adv-regional-btn{ position:relative; overflow:hidden;
  background:linear-gradient(90deg,rgba(6,9,20,.9) 0%,rgba(8,12,30,.74) 45%,rgba(8,12,30,.55) 100%),
    url('aventura/regional-store-bg.jpg') center/cover no-repeat !important;
  border-color:rgba(120,150,240,.5) !important; }
.adv-regional-btn:hover{ border-color:#8fb0ff !important; box-shadow:0 0 20px rgba(120,160,245,.4) !important; }
.adv-inter-btn{ position:relative; overflow:hidden;
  background:linear-gradient(90deg,rgba(6,9,20,.9) 0%,rgba(8,12,30,.76) 45%,rgba(8,12,30,.58) 100%),
    url('aventura/trade-bg.jpg') center/cover no-repeat !important;
  border-color:rgba(120,190,240,.5) !important; }
.adv-inter-btn:hover{ border-color:#8fd8ff !important; box-shadow:0 0 20px rgba(120,200,245,.4) !important; }
/* Texto siempre legible sobre la imagen */
.adv-frente-hero b, .adv-regional-btn b, .adv-inter-btn b,
.adv-frente-hero small, .adv-regional-btn small, .adv-inter-btn small,
.adv-frente-hero em, .adv-regional-btn span, .adv-inter-btn span{ text-shadow:0 2px 6px rgba(0,0,0,.85); }
.rgs-wrap{ max-width:1200px; margin:0 auto; position:relative; z-index:0; }
/* s719 · Fondo de pantalla de la Regional Store (misma imagen del botón). */
.rgs-bgimg{ position:fixed; inset:0; z-index:0; pointer-events:none;
  background:#0a0f1e url('aventura/regional-store-bg.jpg') center/cover no-repeat; opacity:.20; }
.rgs-wrap > :not(.rgs-bgimg){ position:relative; z-index:1; }
.rgs-intro{ background:rgba(10,16,32,.55); border:1px solid rgba(120,150,240,.3); border-radius:10px;
  padding:9px 12px; margin:8px 0 14px; font-size:13px; color:#cdd8f5; line-height:1.5; }
.rgs-vacio{ text-align:center; color:#9fb0d8; padding:34px 16px; font-size:14px; line-height:1.6; }
.rgs-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.rgs-card{ background:linear-gradient(180deg,rgba(18,26,48,.9),rgba(12,18,34,.9)); border:1px solid rgba(120,150,240,.28);
  border-radius:14px; padding:12px; }
.rgs-card-head{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:7px; }
.rgs-card-nom{ font-family:var(--game),sans-serif; font-weight:800; font-size:15px; color:#fff; }
.rgs-card-sub{ font-size:11px; color:#9fb0d8; white-space:nowrap; }
.rgs-opts{ display:flex; flex-direction:column; gap:8px; }
.rgs-opt{ display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:10px; width:100%;
  background:rgba(8,12,24,.6); border:1.5px solid rgba(255,255,255,.12); border-radius:10px; padding:6px 10px;
  cursor:pointer; text-align:left; transition:border-color .15s, background .15s, transform .1s; }
.rgs-opt:hover:not(:disabled){ border-color:#7fa0ff; background:rgba(30,44,84,.7); transform:translateY(-1px); }
.rgs-opt.on{ border-color:#6ac17b; background:linear-gradient(180deg,rgba(90,200,130,.18),rgba(40,120,80,.14));
  box-shadow:0 0 12px rgba(106,193,123,.35); cursor:default; }
.rgs-opt:disabled{ cursor:default; }
.rgs-opt-spr{ width:52px; height:52px; object-fit:contain; image-rendering:auto; }
.rgs-opt-nom{ font-family:var(--game),sans-serif; font-weight:700; font-size:13px; color:#eaf0ff; line-height:1.2; }
.rgs-opt-tipos{ grid-column:2; font-size:11px; color:#9fb0d8; display:flex; gap:3px; flex-wrap:wrap; margin-top:2px; }
.rgs-opt-cta{ grid-column:3; grid-row:1/3; font-family:var(--game),sans-serif; font-weight:800; font-size:11px;
  color:#ffd98a; white-space:nowrap; }
.rgs-opt.on .rgs-opt-cta{ color:#8ce6a0; }

/* ── s522 · ENVIAR A OTRA CAJA (pantalla ancha en PC) ── */
/* La card del panel se ensancha para este diálogo concreto. */
.advmp-card.advcaja-grid{ width:min(1100px,94vw); max-height:90vh; }
.advmp-card.advcaja-grid > .advmp-grid{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
@media (max-width:640px){ .advmp-card.advcaja-grid > .advmp-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:9px; } }
.advcaja-card{ position:relative; display:flex; align-items:center; gap:12px; padding:14px 14px; border-radius:15px;
  border:1px solid rgba(255,255,255,.10);
  border-top:1px solid rgba(255,255,255,.20);
  border-bottom:3px solid rgba(0,0,0,.4);
  background:linear-gradient(160deg, color-mix(in srgb, var(--cc,#5aa9f0) 22%, #222b48), #1d2540);
  cursor:pointer; text-align:left; overflow:hidden;
  box-shadow:0 4px 18px -8px var(--cc,#5aa9f0), inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .1s ease, box-shadow .16s ease, filter .14s ease; }
.advcaja-card::before{ content:''; position:absolute; inset:0; border-radius:15px; pointer-events:none;
  box-shadow:inset 0 0 22px -6px var(--cc,#5aa9f0); opacity:.5; }
.advcaja-card:hover:not([disabled]){ transform:translateY(-2px); filter:brightness(1.12);
  box-shadow:0 10px 26px -8px var(--cc,#5aa9f0), 0 0 22px -4px var(--cc,#5aa9f0), inset 0 1px 0 rgba(255,255,255,.18);
  border-color:color-mix(in srgb, var(--cc,#5aa9f0) 70%, #fff); }
.advcaja-card:active:not([disabled]){ transform:translateY(1px); }
.advcaja-card[disabled]{ opacity:.42; cursor:default; filter:grayscale(.4); }
.advcaja-num{ flex-shrink:0; width:48px; height:48px; display:flex; align-items:center; justify-content:center;
  font-family:'Rajdhani',sans-serif; font-weight:800; font-size:24px; color:#fff; border-radius:12px;
  background:linear-gradient(160deg, var(--cc,#5aa9f0), color-mix(in srgb, var(--cc,#5aa9f0) 55%, #000));
  box-shadow:0 2px 8px -2px var(--cc,#5aa9f0), inset 0 1px 0 rgba(255,255,255,.4); text-shadow:0 1px 3px rgba(0,0,0,.5); }
.advcaja-body{ display:flex; flex-direction:column; gap:5px; flex:1; min-width:0; }
.advcaja-nom{ font-family:'Rajdhani',sans-serif; font-weight:800; font-size:15px; color:#fff; letter-spacing:.3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.advcaja-bar{ height:6px; border-radius:99px; background:rgba(0,0,0,.35); overflow:hidden; }
.advcaja-bar-fill{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, var(--cc,#5aa9f0), #fff); }
.advcaja-cnt{ font-size:11px; color:#c3cde4; font-weight:600; }
.advcaja-flag{ flex-shrink:0; font-family:'Rajdhani',sans-serif; font-weight:800; font-size:12px; letter-spacing:.5px;
  padding:3px 9px; border-radius:99px; }
.advcaja-flag-go{ color:var(--cc,#5aa9f0); font-size:18px; padding:2px 8px; }
.advcaja-flag-here{ background:rgba(90,224,160,.25); color:#8ff0c0; border:1px solid rgba(90,224,160,.5); }
.advcaja-flag-full{ background:rgba(255,120,120,.2); color:#ffb0b0; border:1px solid rgba(255,120,120,.4); }
.advcaja-card-actual{ border-color:rgba(90,224,160,.55) !important; }

/* ── s520 · botones del detalle con iconos SVG propios ── */
.pcdet-ico{ width:19px; height:19px; flex-shrink:0; }
.pcdet-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.pcdet-btn-tobox{ color:#bcd6f5; }
.pcdet-btn-mover{ background:linear-gradient(160deg,#3f7dc4,#2b5896) !important; color:#fff !important; }
.pcdet-btn-regalo{ color:#ffd39a; }
.pcdet-btn-liberar{ color:#ffb3b3; }

/* ═══════════════════════════════════════════════════════════════════
   CACERÍA LEGENDARIA (post-game) · s527
   ═══════════════════════════════════════════════════════════════════ */
/* s550: la tarjeta lleva el arte de los legendarios de fondo, oscurecido con el
   mismo degradado morado que tenía antes para que el texto dorado siga leyéndose. */
.adv-caza-hero { display:flex; align-items:center; gap:14px; width:100%; padding:14px 18px; margin-top:10px;
  border-radius:14px; cursor:pointer; text-align:left; color:#fff;
  border:1px solid rgba(255,215,106,.45);
  position:relative; overflow:hidden;
  background-image:url('aventura/caza-btn.jpg');
  background-size:cover; background-position:center 42%;
  box-shadow:0 6px 20px -8px rgba(255,215,106,.5); transition:transform .1s, filter .15s; }
.adv-caza-hero::before { content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(100deg, rgba(28,16,48,.92) 0%, rgba(34,20,58,.8) 45%, rgba(24,14,44,.55) 100%); }
.adv-caza-hero > * { position:relative; z-index:1; }
.adv-caza-hero:hover { transform:translateY(-2px); filter:brightness(1.12); }
.adv-caza-hero-tx { flex:1; display:flex; flex-direction:column; gap:2px; }
.adv-caza-hero-tx b { font-family:'Rajdhani',sans-serif; font-weight:800; font-size:19px; color:#ffd76a; letter-spacing:.5px; }
.adv-caza-hero-tx small { font-size:12px; color:#d6c8ee; }
.adv-caza-hero-tx em { font-size:11px; color:#9d8fb8; font-style:normal; }
.adv-caza-hero-go { font-family:'Rajdhani',sans-serif; font-weight:800; font-size:14px; color:#ffd76a;
  border:1px solid rgba(255,215,106,.5); padding:7px 14px; border-radius:9px; white-space:nowrap; }

/* Galería de legendarios */
.caza-galeria { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:16px 0 20px; }
.caza-card { position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:12px 6px;
  border-radius:12px; border:2px solid rgba(255,255,255,.1); background:rgba(20,28,48,.6); transition:transform .1s; }
.caza-card-spr { width:72px; height:72px; display:flex; align-items:center; justify-content:center; }
.caza-card-spr img { width:100%; height:100%; object-fit:contain; }
.caza-q { font-size:38px; font-weight:800; color:#4a5678; font-family:'Rajdhani',sans-serif; }
.caza-card-nm { font-family:'Rajdhani',sans-serif; font-weight:800; font-size:13px; color:#e6ecff; }
.caza-card-loc { font-size:10px; color:#8b96b8; text-align:center; }
.caza-card.caza-cap { border-color:var(--cc); background:linear-gradient(160deg, rgba(40,70,50,.7), rgba(25,45,35,.7)); }
.caza-card.caza-actual { border-color:var(--cc); box-shadow:0 0 18px -3px var(--cc); background:rgba(40,32,64,.75); }
.caza-card.caza-bloq { opacity:.45; }
.caza-card.caza-bloq img { filter:brightness(0) invert(.25); }
.caza-card-badge { position:absolute; bottom:-8px; font-size:9px; font-weight:800; color:#0d1220; background:#7ee787;
  padding:2px 8px; border-radius:99px; font-family:'Rajdhani',sans-serif; }

/* Tramo actual */
.caza-tramo { border-radius:14px; padding:18px 20px; border:1px solid var(--cc);
  background:linear-gradient(160deg, rgba(28,24,48,.9), rgba(16,14,30,.9)); }
.caza-tramo-head { margin-bottom:14px; }
.caza-tramo-loc { font-family:'Rajdhani',sans-serif; font-weight:800; font-size:20px; color:var(--cc); }
.caza-tramo-intro { font-size:13px; color:#a9b2cc; font-style:italic; margin-top:2px; }
.caza-pasos { display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.caza-paso { display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:10px;
  background:rgba(20,28,48,.55); border:1px solid rgba(255,255,255,.07); opacity:.55; }
.caza-paso.hecho { opacity:.4; }
.caza-paso.hecho .caza-paso-n { background:#40c040; color:#fff; }
.caza-paso.activo { opacity:1; border-color:var(--cc); box-shadow:0 0 14px -4px var(--cc); background:rgba(40,32,64,.7); }
.caza-paso-n { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:'Rajdhani',sans-serif; font-weight:800; font-size:14px; background:rgba(255,255,255,.1); color:#cdd6ea; flex-shrink:0; }
.caza-paso.activo .caza-paso-n { background:var(--cc); color:#12182c; }
.caza-paso-nm { font-family:'Rajdhani',sans-serif; font-weight:800; font-size:15px; color:#fff; }
.caza-paso-lv { font-size:11px; color:#8b96b8; }
.caza-paso-leg { border-style:dashed; }
.caza-paso-leg .caza-paso-n { font-size:16px; }

.caza-reglas { font-size:12px; color:#a9b2cc; background:rgba(255,90,138,.1); border-left:3px solid #ff5a8a;
  padding:9px 12px; border-radius:6px; margin-bottom:14px; line-height:1.5; }
.caza-warn { font-size:12px; color:#ffb3b3; margin-top:8px; text-align:center; }
.caza-btn { display:block; width:100%; padding:13px; border-radius:11px; cursor:pointer; border:none; margin-top:8px;
  font-family:'Rajdhani',sans-serif; font-weight:800; font-size:16px; color:#fff;
  background:linear-gradient(160deg,#4f8cff,#2f5fd0); box-shadow:0 5px 16px -5px #4f8cff; transition:transform .08s,filter .12s; }
.caza-btn:hover { transform:translateY(-1px); filter:brightness(1.12); }
.caza-btn-leg { background:linear-gradient(160deg, var(--cc), rgba(0,0,0,.35)); color:#12182c;
  box-shadow:0 5px 20px -4px var(--cc); }
.caza-btn-ghost { background:transparent; border:1px solid rgba(150,190,255,.3); color:#a9b2cc;
  font-size:13px; padding:9px; box-shadow:none; }
.caza-fin { text-align:center; padding:30px 20px; border-radius:14px;
  background:linear-gradient(160deg, rgba(255,215,106,.15), rgba(30,20,50,.8)); border:1px solid rgba(255,215,106,.4); }
.caza-fin-t { font-family:'Rajdhani',sans-serif; font-weight:800; font-size:26px; color:#ffd76a; }
.caza-fin-d { font-size:14px; color:#d6c8ee; margin-top:6px; }

@media (max-width:720px) {
  .caza-galeria { grid-template-columns:repeat(3,1fr); }
}

/* Banner de pruebas de la Cacería (cuenta beta, sin campeón vencido) */
.caza-beta { font-size:12px; color:#ffd76a; background:rgba(255,215,106,.1);
  border:1px dashed rgba(255,215,106,.5); padding:10px 14px; border-radius:8px;
  margin-bottom:14px; line-height:1.55; }
.caza-beta b { color:#fff; }

/* ── DITTO COMODÍN en la crianza (s529) ── */
.cria-btn-ditto { background:linear-gradient(160deg, rgba(197,139,255,.85), rgba(140,90,200,.85));
  color:#fff; border:1px solid rgba(197,139,255,.6); box-shadow:0 4px 14px -5px rgba(197,139,255,.7); }
.cria-btn-ditto:hover { filter:brightness(1.12); }
.cria-btn-ditto small { opacity:.85; font-weight:600; }
.cria-ditto-flag { display:inline-block; font-size:10px; font-weight:800; color:#12182c;
  background:#c58bff; padding:1px 7px; border-radius:99px; margin-left:6px;
  font-family:'Rajdhani',sans-serif; vertical-align:middle; }
.advce-ditto { border-color:rgba(197,139,255,.6) !important;
  background:linear-gradient(160deg, rgba(60,40,90,.7), rgba(35,25,55,.7)) !important; }
.advce-ditto-tag { font-size:9px; font-weight:800; color:#c58bff; margin-top:3px;
  font-family:'Rajdhani',sans-serif; letter-spacing:.3px; }

/* Origen (equipo/caja) en el selector de progenitor · s530 */
.advce-origen { font-size:9px; color:#8b96b8; margin-top:2px; font-family:'Rajdhani',sans-serif; font-weight:600; }

/* ── s531: pestaña CAMBIO de la tienda — cuadrícula + sliders (desktop) ── */
.advt-tab-cambio.on{background:linear-gradient(160deg,#f2c14e,#b8860b)!important;color:#1a1208!important;}

.cambio-pa-bar{margin:12px 0 14px;padding:10px 16px;border-radius:8px;text-align:center;
  font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;color:#c8d4e8;
  background:rgba(255,215,106,.08);border:1px solid rgba(255,215,106,.35);}
.cambio-pa-bar b{color:#ffd76a;font-size:20px;font-weight:700;}

/* Dos columnas en PC. Solo cae a una en pantallas realmente estrechas. */
.cambio-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
@media (max-width:820px){.cambio-grid{grid-template-columns:1fr;}}

.cambio-box{background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:18px 20px;
  display:flex;flex-direction:column;gap:12px;}
.cambio-box-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cambio-box-ico{font-size:24px;line-height:1;}
.cambio-box-t{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:16px;
  letter-spacing:.05em;color:#e8ecf6;flex:1;}
.cambio-box-ratio{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;color:#8b96b8;
  background:rgba(255,255,255,.06);border-radius:20px;padding:3px 10px;white-space:nowrap;}
.cambio-box-saldo{font-family:'Rajdhani',sans-serif;font-size:13px;color:#8b96b8;font-weight:600;}
.cambio-box-saldo b{color:#e8ecf6;font-size:17px;font-weight:700;}

/* Slider */
.cambio-range{width:100%;height:6px;border-radius:6px;-webkit-appearance:none;appearance:none;
  background:linear-gradient(90deg,#f2c14e,#ffd76a);outline:none;cursor:pointer;margin:2px 0;}
.cambio-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;
  border-radius:50%;background:#fff;border:3px solid #f2c14e;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.5);transition:transform .1s;}
.cambio-range::-webkit-slider-thumb:hover{transform:scale(1.15);}
.cambio-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;
  border:3px solid #f2c14e;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.5);}

.cambio-slider-row{display:flex;align-items:center;justify-content:center;gap:14px;
  padding:10px;border-radius:8px;background:rgba(0,0,0,.28);font-family:'Rajdhani',sans-serif;}
.cambio-slider-cant{font-size:17px;font-weight:700;color:#e8ecf6;}
.cambio-arrow{font-size:16px;color:#8b96b8;}
.cambio-out-pa{font-size:20px;font-weight:700;color:#ffd76a;}

.cambio-quick{display:flex;gap:8px;}
.cambio-quick button{flex:1;padding:6px;border-radius:6px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#c8d4e8;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12px;letter-spacing:.05em;transition:.12s;}
.cambio-quick button:hover{background:rgba(242,193,78,.18);border-color:rgba(242,193,78,.5);color:#ffd76a;}

.cambio-go{width:100%;padding:13px;border-radius:8px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:16px;letter-spacing:.08em;color:#1a1208;
  background:linear-gradient(160deg,#ffd76a,#f2c14e 60%,#c99a2e);border:1px solid rgba(255,215,106,.8);
  box-shadow:0 3px 12px rgba(0,0,0,.45);transition:.15s;}
.cambio-go:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 18px rgba(0,0,0,.5),0 0 18px rgba(242,193,78,.45);}
.cambio-go:disabled{opacity:.4;cursor:not-allowed;}

.cambio-box-vacia{opacity:.65;}
.cambio-vacio{padding:14px;text-align:center;color:#8b96b8;font-family:'Rajdhani',sans-serif;
  font-size:13px;background:rgba(255,255,255,.03);border-radius:8px;line-height:1.4;}

/* ── s531: CAZA LIBRE ────────────────────────────────────────────── */
/* s550: arte del estadio de Poké Balls de fondo, con el mismo azul oscuro encima. */
.adv-libre-hero{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;
  padding:14px 16px;border-radius:10px;cursor:pointer;text-align:left;
  position:relative;overflow:hidden;
  background-image:url('aventura/libre-btn.jpg');
  background-size:cover;background-position:center 55%;
  border:1px solid rgba(127,212,255,.35);
  box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 16px rgba(127,212,255,.16);transition:.15s;}
.adv-libre-hero::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg, rgba(6,22,32,.92) 0%, rgba(8,26,38,.78) 48%, rgba(6,20,30,.5) 100%);}
.adv-libre-hero > *{position:relative;z-index:1;}
.adv-libre-hero:hover{border-color:rgba(127,212,255,.7);box-shadow:0 0 22px rgba(127,212,255,.4);transform:translateY(-1px);}
.adv-libre-hero-tx{display:flex;flex-direction:column;gap:3px;font-family:'Rajdhani',sans-serif;}
.adv-libre-hero-tx b{font-size:17px;color:#7fd4ff;letter-spacing:.05em;font-weight:700;}
.adv-libre-hero-tx small{font-size:12px;color:#c8d4e8;font-weight:600;}
.adv-libre-hero-tx em{font-size:11px;color:#8b96b8;font-style:normal;}
.adv-libre-hero-go{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:14px;color:#7fd4ff;white-space:nowrap;}

.libre-wrap{max-width:760px;margin:0 auto;padding:14px 0;}
.libre-hero{display:flex;align-items:center;gap:16px;padding:18px;border-radius:12px;
  background:linear-gradient(150deg,#12303f,#0a1a24);border:1px solid rgba(127,212,255,.3);margin-bottom:14px;}
.libre-hero-ico{font-size:46px;line-height:1;color:#7fd4ff;text-shadow:0 0 18px rgba(127,212,255,.6);}
.libre-hero-txt{font-family:'Rajdhani',sans-serif;}
.libre-hero-t{font-size:20px;font-weight:700;color:#7fd4ff;letter-spacing:.06em;margin-bottom:4px;}
.libre-hero-d{font-size:13px;color:#c8d4e8;line-height:1.45;}
.libre-stats{display:flex;gap:10px;margin-bottom:16px;}
.libre-stat{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:8px;
  padding:10px;text-align:center;font-family:'Rajdhani',sans-serif;}
.libre-stat span{display:block;font-size:11px;color:#8b96b8;font-weight:600;letter-spacing:.04em;}
.libre-stat b{display:block;font-size:24px;color:#e8ecf6;font-weight:700;}
.libre-stat-racha b{color:#ffd76a;}
.libre-btn{width:100%;padding:18px;border-radius:10px;cursor:pointer;font-family:'Rajdhani',sans-serif;
  font-weight:700;font-size:20px;letter-spacing:.08em;color:#04121a;
  background:linear-gradient(160deg,#9fe4ff,#3ba6d4 60%,#1d7fa8);border:1px solid rgba(127,212,255,.8);
  box-shadow:0 4px 16px rgba(0,0,0,.5),0 0 20px rgba(127,212,255,.35);transition:.15s;}
.libre-btn:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(0,0,0,.55),0 0 28px rgba(127,212,255,.6);}
.libre-salir{width:100%;margin-top:10px;padding:10px;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#c8d4e8;
  font-family:'Rajdhani',sans-serif;font-weight:600;font-size:14px;}
.libre-salir:hover{background:rgba(255,255,255,.1);}
.libre-aviso{padding:16px;text-align:center;border-radius:8px;background:rgba(255,120,120,.08);
  border:1px solid rgba(255,120,120,.3);color:#ffb3b3;font-family:'Rajdhani',sans-serif;font-size:14px;}

/* ══════════════════════════════════════════════════════════════════════
   s548 · PARTIDAS, REGIONES Y RITUAL DE NUEVA REGIÓN
   ══════════════════════════════════════════════════════════════════════ */

/* ── Pantalla de partidas (ranuras) ── */
.pt-wrap { max-width: 1040px; margin: 0 auto; padding: 26px 18px 40px; }
.pt-titulo { font-family: var(--game); font-size: 38px; letter-spacing: 2px; text-align: center;
  margin: 0 0 8px; color: #eaf2ff; text-shadow: 0 2px 0 #0a1020, 0 0 22px rgba(120,180,255,.25); }
.pt-lead { text-align: center; color: #93a3bd; font-size: 13px; margin: 0 auto 26px; max-width: 620px; line-height: 1.55; }
/* s893 · Chip de modo en el título de partidas */
.pt-modo-chip { display:inline-block; vertical-align:middle; font-family:'Rajdhani',sans-serif; font-size:15px; font-weight:800;
  letter-spacing:1px; color:#9fe3ff; background:rgba(90,160,255,.16); border:1.5px solid #4a7fd0; border-radius:999px;
  padding:3px 12px; margin-left:10px; }
.pt-modo-chip-cls { color:#ffdf8a; background:rgba(255,190,80,.16); border-color:#c99a2e; }
/* s892 · Selector de modo Open / Classic (ya no se usa en partidas; conservado) */
.pt-modosel { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 780px; margin: 4px auto 22px; }
.pt-modocard { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; cursor: pointer;
  padding: 18px 18px 16px; border-radius: 18px; border: 2px solid #35405e; background: linear-gradient(160deg, #1a2236, #10141d);
  color: #cdd8ee; transition: transform .12s ease, border-color .15s ease, box-shadow .15s ease; }
.pt-modocard:hover { transform: translateY(-3px); border-color: #6a86c8; }
.pt-modocard b { font-family: var(--game); font-size: 22px; letter-spacing: 1.5px; color: #eaf2ff; }
.pt-modocard small { font-size: 12px; color: #93a3bd; line-height: 1.4; }
.pt-modo-ico { font-size: 34px; line-height: 1; }
.pt-modocard.on { border-color: #7fd4ff; box-shadow: 0 0 24px rgba(90,160,255,.4); background: linear-gradient(160deg, #1d2b48, #121a2c); }
.pt-modocard.on b { color: #9fe3ff; }
.pt-modocard-cls.on { border-color: #ffcf6a; box-shadow: 0 0 24px rgba(255,190,80,.4); background: linear-gradient(160deg, #2a2412, #191307); }
.pt-modocard-cls.on b { color: #ffdf8a; }
@media (max-width: 640px) { .pt-modosel { grid-template-columns: 1fr; } }
.pt-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .pt-slots { grid-template-columns: 1fr; } }

.pt-slot { position: relative; border-radius: 18px; padding: 26px 20px 20px; min-height: 260px;
  background: linear-gradient(165deg, rgba(20,28,46,.96), rgba(11,16,28,.98));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 8px 24px rgba(0,0,0,.42);
  display: flex; flex-direction: column; transition: transform .14s, box-shadow .14s; }
.pt-slot-activa { box-shadow: inset 0 0 0 2px var(--rc, #f5a623), 0 0 26px rgba(245,166,35,.20), 0 8px 24px rgba(0,0,0,.42); }
.pt-slot-n { position: absolute; top: 10px; left: 12px; font-family: var(--game); font-size: 13px;
  font-weight: 800; color: #4d5c78; letter-spacing: 1px; }
.pt-badge { position: absolute; top: 10px; right: 12px; font-family: var(--game); font-size: 9px;
  font-weight: 800; letter-spacing: 1px; padding: 3px 8px; border-radius: 999px;
  background: var(--rc, #f5a623); color: #10141f; }

.pt-regs { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 30px 0 16px; }
.pt-reg { font-family: var(--game); font-size: 13px; font-weight: 800; letter-spacing: 1px;
  padding: 4px 10px; border-radius: 999px; color: var(--rc, #f5a623);
  background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px currentColor; }
.pt-stats { display: flex; justify-content: center; gap: 18px; color: #b9c7de; font-size: 16px;
  font-weight: 700; margin-bottom: 8px; }
.pt-fecha { text-align: center; color: #61708c; font-size: 11px; margin-bottom: 12px; }
.pt-acts { margin-top: auto; display: flex; gap: 8px; }
.pt-btn { border: none; border-radius: 10px; cursor: pointer; font-family: var(--game);
  font-weight: 800; letter-spacing: 1px; padding: 10px; transition: filter .12s, transform .12s; }
.pt-btn:hover { filter: brightness(1.14); transform: translateY(-1px); }
.pt-btn-play { flex: 1; font-size: 15px; padding: 14px; background: linear-gradient(160deg, #6fe3a5, #34b877); color: #05231a;
  box-shadow: 0 2px 0 #1d7a4d; }
.pt-btn-del { width: 44px; font-size: 14px; background: rgba(226,72,61,.24); color: #ffd2ce;
  box-shadow: inset 0 0 0 1px rgba(226,72,61,.6); }

.pt-slot-vacio { cursor: pointer; align-items: center; justify-content: center;
  background: rgba(14,20,34,.6); box-shadow: inset 0 0 0 2px rgba(255,255,255,.07); }
.pt-slot-vacio:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 2px rgba(120,180,255,.4); }
.pt-vacio-ico { font-size: 60px; color: #3f4d68; line-height: 1; margin-bottom: 8px; }
.pt-vacio-tx { font-family: var(--game); font-size: 14px; font-weight: 800; letter-spacing: 1.4px; color: #6b7c99; }

/* ── Barra de regiones (en el hub) ── */
.rgb-barra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  max-width: 1180px; margin: 0 auto 16px; padding: 0 4px; }
.rgb-chip { font-family: var(--game); font-size: 15px; font-weight: 800; letter-spacing: 1.6px;
  padding: 12px 26px; border-radius: 999px; cursor: pointer; user-select: none;
  color: #9fb0c8; background: rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10); transition: filter .12s, transform .12s; }
.rgb-chip:hover { filter: brightness(1.25); transform: translateY(-1px); }
.rgb-act { color: #0d1220; background: var(--rc, #f5a623);
  box-shadow: 0 0 16px rgba(255,255,255,.10), inset 0 0 0 1px rgba(0,0,0,.25); }
.rgb-nueva { color: var(--rc, #f5a623); box-shadow: inset 0 0 0 1px currentColor;
  animation: rgbPulse 1.7s ease-in-out infinite; }
@keyframes rgbPulse { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.45); } }
.rgb-lock { cursor: not-allowed; color: #55617a; }
.rgb-lock:hover { filter: none; transform: none; }
.rgb-sep { flex: 1; }
.rgb-slots { color: #b9c7de; }

/* ── Ritual de apertura de región ── */
.rg-ritual { max-width: 900px; margin: 0 auto; padding: 34px 20px 50px; text-align: center; }
.rg-eyebrow { font-family: var(--game); font-size: 11px; font-weight: 800; letter-spacing: 3px;
  color: var(--rc, #f5a623); margin-bottom: 8px; }
.rg-titulo { font-family: var(--game); font-size: 46px; letter-spacing: 4px; margin: 0 0 14px;
  color: var(--rc, #f5a623); text-shadow: 0 3px 0 #0a1020, 0 0 34px currentColor; }
.rg-lead { color: #b9c7de; font-size: 14px; line-height: 1.6; margin: 0 auto 26px; max-width: 560px; }
.rg-paso { font-family: var(--game); font-size: 13px; font-weight: 800; letter-spacing: 2px;
  color: #eaf2ff; margin: 22px 0 6px; }
.rg-nota { color: #8e9db6; font-size: 12px; line-height: 1.55; margin: 0 auto 20px; max-width: 560px; }
.rg-vacio { color: #8e9db6; font-size: 13px; margin: 18px 0; }

.rg-cands { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.rg-cand { width: 150px; padding: 14px 10px 12px; border-radius: 14px; cursor: pointer;
  background: linear-gradient(165deg, rgba(22,30,50,.96), rgba(12,17,30,.98));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 6px 18px rgba(0,0,0,.4);
  transition: transform .14s, box-shadow .14s; }
.rg-cand:hover { transform: translateY(-3px);
  box-shadow: inset 0 0 0 2px rgba(120,180,255,.55), 0 10px 26px rgba(0,0,0,.5); }
.rg-cand-spr { width: 88px; height: 88px; object-fit: contain; display: block; margin: 0 auto 6px; }
.rg-cand-nom { font-family: var(--game); font-size: 13px; font-weight: 800; letter-spacing: .6px; color: #eaf2ff; }
.rg-cand-sub { font-size: 11px; color: #8e9db6; margin-top: 4px; line-height: 1.4; }
.rg-btn { margin-top: 18px; padding: 12px 30px; border: none; border-radius: 12px; cursor: pointer;
  font-family: var(--game); font-weight: 800; letter-spacing: 1.4px; font-size: 13px;
  background: linear-gradient(160deg, #ffd27a, #f5a623); color: #2a1a04; box-shadow: 0 3px 0 #a06810; }
.rg-btn:hover { filter: brightness(1.08); }

/* ── s549 · PANEL DE PRUEBAS (solo cuentas dev) ── */
.rgb-dev { color: #ffd76a; box-shadow: inset 0 0 0 1px rgba(255,215,106,.55); }
.dev-wrap { max-width: 860px; margin: 0 auto; padding: 26px 18px 40px; text-align: center; }
.dev-titulo { font-family: var(--game); font-size: 26px; letter-spacing: 2px; color: #ffd76a;
  margin: 0 0 6px; text-shadow: 0 2px 0 #0a1020; }
.dev-lead { color: #93a3bd; font-size: 12px; margin: 0 0 18px; }
.dev-estado { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 20px; }
.dev-reg { font-family: var(--game); font-size: 11px; font-weight: 800; letter-spacing: .8px;
  color: #b9c7de; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10); }
.dev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 22px; }
@media (max-width: 820px) { .dev-grid { grid-template-columns: 1fr 1fr; } }
.dev-btn { padding: 14px 10px; border: none; border-radius: 12px; cursor: pointer;
  font-family: var(--game); font-weight: 800; font-size: 12px; letter-spacing: .6px;
  background: rgba(255,255,255,.06); color: #dbe6f5;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); transition: filter .12s, transform .12s; }
.dev-btn:hover { filter: brightness(1.3); transform: translateY(-1px); }
.dev-btn-hot { background: linear-gradient(160deg, #ffd27a, #f5a623); color: #2a1a04;
  box-shadow: 0 2px 0 #a06810; }
.dev-btn-del { background: rgba(226,72,61,.26); color: #ffd2ce;
  box-shadow: inset 0 0 0 1px rgba(226,72,61,.6); }

/* ══════════════════════════════════════════════════════════════════════
   s551 · COPIAS DE SEGURIDAD Y PUNTOS DE RESTAURACIÓN
   ══════════════════════════════════════════════════════════════════════ */
.pt-pie { margin-top: 20px; text-align: center; }

.bk-wrap { max-width: 780px; margin: 0 auto; padding: 26px 18px 40px; }
.bk-titulo { font-family: var(--game); font-size: 26px; letter-spacing: 2px; text-align: center;
  margin: 0 0 8px; color: #eaf2ff; text-shadow: 0 2px 0 #0a1020; }
.bk-lead { text-align: center; color: #93a3bd; font-size: 13px; line-height: 1.6;
  margin: 0 auto 26px; max-width: 600px; }

.bk-seccion { margin-bottom: 26px; padding: 18px 16px; border-radius: 14px;
  background: rgba(14,20,34,.6); box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
.bk-sec-cab { display: flex; align-items: center; justify-content: space-between;
  gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.bk-sec-tit { font-family: var(--game); font-size: 14px; letter-spacing: 1.4px;
  color: #dbe6f5; margin: 0; }
.bk-nota { color: #8e9db6; font-size: 12px; line-height: 1.55; margin: 0 0 14px; }

.bk-puntos { display: flex; flex-direction: column; gap: 10px; }
.bk-punto { padding: 12px 14px; border-radius: 12px;
  background: linear-gradient(165deg, rgba(22,30,50,.94), rgba(12,17,30,.97));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.bk-p-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.bk-p-nom { font-family: var(--game); font-size: 13px; font-weight: 800; color: #eaf2ff; }
.bk-auto { font-size: 9px; letter-spacing: 1px; padding: 2px 6px; border-radius: 999px;
  background: rgba(120,180,255,.18); color: #8fc4ff; box-shadow: inset 0 0 0 1px rgba(120,180,255,.4); }
.bk-p-fecha { color: #61708c; font-size: 11px; white-space: nowrap; }
.bk-p-res { display: flex; gap: 12px; flex-wrap: wrap; margin: 8px 0 10px;
  color: #b9c7de; font-size: 12px; font-weight: 700; }
.bk-p-build { color: #4d5c78; font-weight: 400; margin-left: auto; }
.bk-p-acts { display: flex; gap: 8px; }

.bk-btn { border: none; border-radius: 10px; cursor: pointer; font-family: var(--game);
  font-weight: 800; font-size: 12px; letter-spacing: .8px; padding: 10px 16px;
  transition: filter .12s, transform .12s; display: inline-block; }
.bk-btn:hover { filter: brightness(1.15); transform: translateY(-1px); }
.bk-btn-rest { flex: 1; background: linear-gradient(160deg, #6fe3a5, #34b877); color: #05231a;
  box-shadow: 0 2px 0 #1d7a4d; }
.bk-btn-del { width: 44px; padding: 10px; background: rgba(226,72,61,.24); color: #ffd2ce;
  box-shadow: inset 0 0 0 1px rgba(226,72,61,.6); }
.bk-btn-crear { background: rgba(255,255,255,.08); color: #dbe6f5;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.bk-btn-exp { background: linear-gradient(160deg, #ffd27a, #f5a623); color: #2a1a04;
  box-shadow: 0 2px 0 #a06810; }
.bk-btn-imp { background: rgba(157,123,255,.28); color: #e6ddff;
  box-shadow: inset 0 0 0 1px rgba(157,123,255,.7); }
.bk-archivo { display: flex; gap: 10px; flex-wrap: wrap; }
.bk-vacio { color: #61708c; font-size: 12px; text-align: center; padding: 14px 0; margin: 0; }

/* ── s553 · INVITACIÓN A REGIÓN NUEVA (banner + flecha al chip) ── */
.inv-region { position: relative; max-width: 1180px; margin: 0 auto 18px;
  border-radius: 16px; padding: 22px 24px 20px; text-align: center;
  background: linear-gradient(160deg, rgba(30,24,12,.96), rgba(16,13,8,.98));
  box-shadow: inset 0 0 0 2px var(--rc, #f5c542), 0 0 34px rgba(245,197,66,.18),
              0 10px 30px rgba(0,0,0,.45);
  animation: invEntra .5s cubic-bezier(.2,.9,.3,1.2) both; }
@keyframes invEntra { from { opacity: 0; transform: translateY(-10px) scale(.97); }
  to { opacity: 1; transform: none; } }

/* Flecha que apunta hacia arriba, al chip de la región en la barra. */
.inv-flecha { position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
  font-size: 26px; line-height: 1; color: var(--rc, #f5c542);
  text-shadow: 0 0 14px currentColor; animation: invFlecha 1.1s ease-in-out infinite; }
@keyframes invFlecha { 0%,100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-7px); } }

.inv-eyebrow { font-family: var(--game); font-size: 11px; font-weight: 800;
  letter-spacing: 2.4px; color: var(--rc, #f5c542); margin-bottom: 6px; }
.inv-titulo { font-family: var(--game); font-size: 30px; letter-spacing: 3px; margin: 0 0 8px;
  color: #fff6e0; text-shadow: 0 2px 0 #1a1206, 0 0 26px var(--rc, #f5c542); }
.inv-desc { color: #cdbb92; font-size: 13px; line-height: 1.6; margin: 0 auto 16px; max-width: 560px; }
.inv-btn { padding: 14px 34px; border: none; border-radius: 12px; cursor: pointer;
  font-family: var(--game); font-weight: 800; font-size: 15px; letter-spacing: 1.6px;
  background: linear-gradient(160deg, #ffe08a, var(--rc, #f5c542)); color: #2a1f04;
  box-shadow: 0 3px 0 #a8830f, 0 0 22px rgba(245,197,66,.3);
  transition: filter .12s, transform .12s; }
.inv-btn:hover { filter: brightness(1.1); transform: translateY(-2px); }

/* El chip de la región nueva, más marcado cuando hay invitación activa. */
.rgb-nueva { box-shadow: inset 0 0 0 2px currentColor, 0 0 18px rgba(245,197,66,.4); }

/* ── s554 · Iniciales por generación en el ritual de región ── */
.rg-gens { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  max-width: 1000px; margin: 0 auto; }
@media (max-width: 1000px) { .rg-gens { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .rg-gens { grid-template-columns: 1fr; } }
.rg-gen { padding: 12px 10px 10px; border-radius: 14px;
  background: rgba(12,17,30,.6); box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
.rg-gen-cab { font-family: var(--game); font-size: 10px; font-weight: 800; letter-spacing: 1.4px;
  color: #7b8aa5; margin-bottom: 8px; }
.rg-gen-trio { display: flex; gap: 6px; justify-content: center; }
.rg-cand-sm { width: auto; flex: 1; padding: 8px 4px 8px; }
.rg-cand-sm .rg-cand-spr { width: 62px; height: 62px; margin-bottom: 2px; }
.rg-cand-sm .rg-cand-nom { font-size: 10px; letter-spacing: 0; }

/* ── s555 · Reiniciar región (solo la región activa, no la partida) ── */
.rgb-reset { color: #ffb4ae; box-shadow: inset 0 0 0 1px rgba(226,72,61,.55); }
.rgb-reset:hover { filter: brightness(1.2); background: rgba(226,72,61,.18); }
.pt-lead small { display: block; margin-top: 8px; color: #71809b; font-size: 12px; line-height: 1.5; }

/* ══════════════════════════════════════════════════════════════════════
   s560 · CARTUCHOS DE REGIÓN (sustituyen a los chips planos)
   ══════════════════════════════════════════════════════════════════════ */
.rgc-set { display: flex; gap: 10px; flex-wrap: wrap; }
.rgc { display: flex; align-items: center; gap: 11px; padding: 10px 18px 10px 12px;
  border-radius: 14px; cursor: pointer; user-select: none;
  background: linear-gradient(160deg, rgba(24,32,52,.92), rgba(13,18,32,.96));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 4px 14px rgba(0,0,0,.35);
  transition: transform .16s cubic-bezier(.2,.9,.3,1.3), box-shadow .16s, filter .16s; }
.rgc:hover { transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px var(--rc, #f5a623), 0 8px 22px rgba(0,0,0,.45); }

/* Número romano de la generación, en un sello redondo con el color de la región */
.rgc-num { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--game); font-size: 14px; font-weight: 800; letter-spacing: 0;
  color: #0d1220; background: var(--rc, #f5a623);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.22); }
.rgc-txt { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }
.rgc-txt b { font-family: var(--game); font-size: 14px; font-weight: 800; letter-spacing: 1.4px;
  color: #e8f0fb; }
.rgc-txt small { font-size: 10px; color: #7e8da8; letter-spacing: .4px; margin-top: 2px; }

/* Región activa: se ilumina entera con su color */
.rgc-act { background: linear-gradient(160deg, color-mix(in srgb, var(--rc) 26%, #131a2c), rgba(13,18,32,.97));
  box-shadow: inset 0 0 0 2px var(--rc, #f5a623), 0 0 24px -4px var(--rc, #f5a623), 0 6px 18px rgba(0,0,0,.4); }
.rgc-act .rgc-txt b { color: #fff; }
.rgc-act .rgc-txt small { color: color-mix(in srgb, var(--rc) 70%, #cfd8e6); }

/* Región desbloqueada pero sin empezar: late para llamar la atención */
.rgc-nueva { box-shadow: inset 0 0 0 2px var(--rc, #f5a623), 0 0 18px -6px var(--rc, #f5a623); }
.rgc-nueva .rgc-txt small { color: var(--rc, #f5a623); font-weight: 700; }
.rgc-nueva { animation: rgcLate 1.8s ease-in-out infinite; }
@keyframes rgcLate { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.28); } }

/* Bloqueada */
.rgc-lock { cursor: not-allowed; opacity: .5; }
.rgc-lock:hover { transform: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.09); }
.rgc-lock .rgc-num { background: rgba(255,255,255,.08); color: #5c667d; font-size: 13px; }

/* Botones auxiliares de la barra: pequeños, sin robar protagonismo */
.rgb-mini { border: none; border-radius: 10px; cursor: pointer; padding: 9px 13px;
  font-family: var(--game); font-size: 11px; font-weight: 800; letter-spacing: 1px;
  color: #9aa8c0; background: rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09);
  transition: filter .12s, transform .12s, color .12s; }
.rgb-mini:hover { filter: brightness(1.3); transform: translateY(-1px); color: #dbe6f5; }
.rgb-mini.rgb-dev { color: #ffd76a; box-shadow: inset 0 0 0 1px rgba(255,215,106,.45); }
.rgb-mini.rgb-reset { color: #ff9c94; box-shadow: inset 0 0 0 1px rgba(226,72,61,.42); }

/* ── s560 · MENÚ ⋯ DE LA BARRA SUPERIOR ── */
.rgb-barra { position: relative; z-index: 40; }
.rgb-ico { display: inline-flex; align-items: center; justify-content: center;
  width: 15px; height: 15px; border-radius: 50%; font-size: 10px; font-weight: 800;
  background: rgba(255,255,255,.14); margin-right: 5px; vertical-align: -2px; }
.rgb-mas { font-size: 15px; letter-spacing: 1px; padding: 9px 14px; line-height: 1; }

.rgb-menu-wrap { position: relative; }
.rgb-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 60;
  width: 230px; padding: 6px; border-radius: 14px;
  background: linear-gradient(165deg, rgba(26,34,54,.99), rgba(14,19,33,.99));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 14px 38px rgba(0,0,0,.55);
  animation: menuEntra .13s ease-out both; }
.rgb-menu[hidden] { display: none; }
@keyframes menuEntra { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.rgb-menu-tit { font-family: var(--game); font-size: 9px; font-weight: 800; letter-spacing: 1.6px;
  color: #5f6d87; padding: 8px 10px 5px; }
.rgb-menu-it { display: flex; align-items: center; gap: 9px; width: 100%;
  padding: 10px; border: none; border-radius: 9px; cursor: pointer; text-align: left;
  font-family: var(--sans, inherit); font-size: 13px; font-weight: 600;
  color: #dbe6f5; background: transparent; transition: background .1s, color .1s; }
.rgb-menu-it:hover { background: rgba(255,255,255,.07); }
.rgb-menu-ico { width: 18px; text-align: center; font-size: 14px; flex: 0 0 auto; }
.rgb-menu-sep { height: 1px; margin: 6px 4px; background: rgba(255,255,255,.09); }
.rgb-menu-dev { color: #ffd76a; }
.rgb-menu-dev:hover { background: rgba(255,215,106,.10); }
.rgb-menu-del { color: #ff8a80; }
.rgb-menu-del:hover { background: rgba(226,72,61,.13); }

/* ── s563 · IMPORTAR PARTIDA (sustituir o añadir) ── */
.rgb-add { color: #7ce0a8; box-shadow: inset 0 0 0 1px rgba(124,224,168,.45); }
.rgb-add:hover { background: rgba(124,224,168,.12); color: #a8f0c8; }

.bk-imp-ficha { padding: 14px 16px; border-radius: 12px; margin-bottom: 18px;
  background: linear-gradient(160deg, rgba(30,40,64,.95), rgba(14,19,33,.97));
  box-shadow: inset 0 0 0 1px rgba(120,180,255,.25); }
.bk-imp-cab { font-family: var(--game); font-size: 15px; font-weight: 800; letter-spacing: 1px;
  color: #eaf2ff; margin-bottom: 8px; }
.bk-imp-res { display: flex; gap: 14px; flex-wrap: wrap; color: #93a3bd; font-size: 12px; font-weight: 700; }

.bk-imp-ops { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.bk-imp-op { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 14px;
  border: none; border-radius: 12px; cursor: pointer; text-align: left;
  background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.09);
  transition: filter .12s, transform .12s; }
.bk-imp-op:hover { filter: brightness(1.25); transform: translateY(-1px); }
.bk-imp-nueva { background: rgba(124,224,168,.13); box-shadow: inset 0 0 0 2px rgba(124,224,168,.45); }
.bk-imp-n { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--game); font-size: 15px; font-weight: 800;
  background: rgba(255,255,255,.09); color: #cfe0f5; }
.bk-imp-nueva .bk-imp-n { background: #7ce0a8; color: #06291a; }
.bk-imp-tx { display: flex; flex-direction: column; line-height: 1.3; }
.bk-imp-tx b { font-family: var(--game); font-size: 13px; font-weight: 800; color: #eaf2ff; }
.bk-imp-tx small { font-size: 11px; color: #7e8da8; margin-top: 2px; }
.bk-imp-osep { font-size: 11px; color: #61708c; text-align: center; margin: 8px 0 2px;
  letter-spacing: .6px; }


/* ══════════════════════════════════════════════════════════════════════
   s563 · FONDOS DE PANTALLA: Cacería Legendaria y Caza Libre
   (imágenes en la carpeta aventura/ del hosting)
   ══════════════════════════════════════════════════════════════════════ */
/* s550: fondo de pantalla · CACERÍA LEGENDARIA (mismo patrón que el torneo). */
#adv-root.adv-caza-bg { position: relative; }
#adv-root.adv-caza-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('aventura/caza-bg.jpg') center center / cover no-repeat;
  opacity: 0.9;
  z-index: -1;
  pointer-events: none;
}
#adv-root.adv-caza-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(14,10,26,.42), rgba(8,6,18,.62));
  z-index: -1;
  pointer-events: none;
}

/* s550: fondo de pantalla · CAZA LIBRE. */
#adv-root.adv-libre-bg { position: relative; }
#adv-root.adv-libre-bg::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('aventura/libre-bg.jpg') center center / cover no-repeat;
  opacity: 0.9;
  z-index: -1;
  pointer-events: none;
}
#adv-root.adv-libre-bg::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,16,26,.42), rgba(6,10,20,.62));
  z-index: -1;
  pointer-events: none;
}

/* ── s566 · Iconos de las tarjetas Cacería y Caza Libre ── */
/* Mew (Cacería). Va sin `pix` de verdad: es un render suave, no un sprite pixel-art,
   así que interpola bien al escalar. El resplandor dorado lo ata al color de la carta. */
.adv-caza-ico { flex: 0 0 auto; width: 62px; height: 62px; object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 10px rgba(255,215,106,.55)) drop-shadow(0 2px 4px rgba(0,0,0,.6));
  transition: transform .18s cubic-bezier(.2,.9,.3,1.4); }
.adv-caza-hero:hover .adv-caza-ico { transform: scale(1.09) rotate(-4deg); }

/* Veloz Ball (Caza Libre). Esta sí es pixel-art: se mantiene nítida. */
.adv-libre-ico { flex: 0 0 auto; width: 46px; height: 46px; object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 9px rgba(127,212,255,.5)) drop-shadow(0 2px 4px rgba(0,0,0,.55));
  transition: transform .18s cubic-bezier(.2,.9,.3,1.4); }
.adv-libre-hero:hover .adv-libre-ico { transform: scale(1.1) rotate(8deg); }

/* La tarjeta de Caza Libre era space-between con 2 hijos (texto | CAZAR▸). Al meter
   el icono delante quedarían 3 y el texto se iría al centro. Que el texto se coma el
   hueco: icono · texto ················ CAZAR ▸ */
.adv-libre-hero .adv-libre-hero-tx { flex: 1; }

/* ══════════════════════════════════════════════════════════════════════
   s567 · CONTORNO DE LAS TARJETAS CON IMAGEN DE FONDO
   El fallo: el ::before que lleva el degradado no heredaba el border-radius,
   así que el dibujo se salía por las cuatro esquinas y el borde parecía
   "continuación del interior". Solución: redondear también el ::before y
   recortar con overflow. Y de paso, el glow del resto del juego.
   ══════════════════════════════════════════════════════════════════════ */

/* El recorte de verdad: la tarjeta recorta a sus hijos, y el ::before hereda
   el radio en vez de quedarse cuadrado por debajo. */
.adv-caza-hero,
.adv-libre-hero,
.adv-torneo-hero,
.adv-biomas-hero { overflow: hidden; isolation: isolate; }

.adv-caza-hero::before,
.adv-libre-hero::before,
.adv-torneo-hero::before,
.adv-biomas-hero::before { border-radius: inherit; }

/* ── CACERÍA · glow dorado ── */
.adv-caza-hero {
  border: none;
  box-shadow: inset 0 0 0 2px rgba(255,215,106,.55),
              inset 0 0 22px -6px rgba(255,215,106,.35),
              0 0 20px -6px rgba(255,215,106,.45),
              0 8px 24px rgba(0,0,0,.45);
  transition: box-shadow .18s, transform .12s, filter .15s; }
.adv-caza-hero:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 2px rgba(255,215,106,.95),
              inset 0 0 26px -5px rgba(255,215,106,.5),
              0 0 34px -4px rgba(255,215,106,.75),
              0 10px 28px rgba(0,0,0,.5); }

/* ── CAZA LIBRE · glow azul ── */
.adv-libre-hero {
  border: none;
  box-shadow: inset 0 0 0 2px rgba(127,212,255,.5),
              inset 0 0 22px -6px rgba(127,212,255,.3),
              0 0 20px -6px rgba(127,212,255,.4),
              0 8px 24px rgba(0,0,0,.45);
  transition: box-shadow .18s, transform .12s; }
.adv-libre-hero:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 2px rgba(127,212,255,.95),
              inset 0 0 26px -5px rgba(127,212,255,.45),
              0 0 34px -4px rgba(127,212,255,.7),
              0 10px 28px rgba(0,0,0,.5); }

/* ── TORNEO · glow ámbar ── */
.adv-torneo-hero {
  border: none;
  box-shadow: inset 0 0 0 2px rgba(255,180,80,.45),
              inset 0 0 22px -6px rgba(255,180,80,.28),
              0 0 18px -6px rgba(255,180,80,.35),
              0 8px 24px rgba(0,0,0,.45);
  transition: box-shadow .18s, transform .12s; }
.adv-torneo-hero:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 2px rgba(255,180,80,.9),
              inset 0 0 26px -5px rgba(255,180,80,.42),
              0 0 32px -4px rgba(255,180,80,.65),
              0 10px 28px rgba(0,0,0,.5); }

/* ── BIOMAS · glow verde azulado ── */
.adv-biomas-hero {
  border: none;
  box-shadow: inset 0 0 0 2px rgba(120,220,190,.42),
              inset 0 0 22px -6px rgba(120,220,190,.26),
              0 0 18px -6px rgba(120,220,190,.32),
              0 8px 24px rgba(0,0,0,.45);
  transition: box-shadow .18s, transform .12s; }
.adv-biomas-hero:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 2px rgba(120,220,190,.9),
              inset 0 0 26px -5px rgba(120,220,190,.4),
              0 0 32px -4px rgba(120,220,190,.6),
              0 10px 28px rgba(0,0,0,.5); }

/* Sin el botón interno, el texto se queda con todo el ancho. */
.adv-caza-hero-tx,
.adv-libre-hero-tx,
.adv-torneo-hero-tx,
.adv-biomas-hero-tx { flex: 1; }

/* Sin botón interno hay que dejar claro que la tarjeta entera se pulsa: cursor de
   mano y una flecha discreta a la derecha que avanza al pasar el ratón. */
.adv-caza-hero,
.adv-libre-hero,
.adv-torneo-hero,
.adv-biomas-hero { cursor: pointer; }

.adv-caza-hero::after,
.adv-libre-hero::after,
.adv-torneo-hero::after,
.adv-biomas-hero::after {
  content: '▸'; position: absolute; right: 16px; top: 50%;
  transform: translateY(-50%);
  font-size: 22px; line-height: 1; opacity: .55; pointer-events: none;
  transition: transform .18s cubic-bezier(.2,.9,.3,1.4), opacity .18s; }
.adv-caza-hero::after   { color: #ffd76a; }
.adv-libre-hero::after  { color: #7fd4ff; }
.adv-torneo-hero::after { color: #ffb450; }
.adv-biomas-hero::after { color: #78dcbe; }

.adv-caza-hero:hover::after,
.adv-libre-hero:hover::after,
.adv-torneo-hero:hover::after,
.adv-biomas-hero:hover::after { opacity: 1; transform: translateY(-50%) translateX(5px); }

/* Hueco a la derecha para que el texto no se meta debajo de la flecha. */
.adv-caza-hero,
.adv-libre-hero,
.adv-torneo-hero,
.adv-biomas-hero { padding-right: 44px; }

/* ══════════════════════════════════════════════════════════════════════
   s570 · CACERÍA LEGENDARIA DE JOHTO — arte propio
   ══════════════════════════════════════════════════════════════════════ */
/* Fondo de pantalla: las bestias legendarias con las torres de Ecruteak.
   Sustituye al de Kanto solo cuando estás en Johto. */
#adv-root.adv-caza-bg.adv-caza-johto::before {
  background: url('aventura/caza-bg-johto.jpg') center center / cover no-repeat;
  opacity: .92;
}
#adv-root.adv-caza-bg.adv-caza-johto::after {
  background: linear-gradient(180deg, rgba(26,14,34,.40), rgba(12,8,22,.62));
}

/* Tarjeta del hub: mismo arte, recortado, con el degradado cálido de Johto. */
.adv-caza-hero-johto {
  background-image: url('aventura/caza-btn-johto.jpg');
  background-size: cover;
  background-position: center 55%;
  box-shadow: inset 0 0 0 2px rgba(255,184,77,.55),
              inset 0 0 22px -6px rgba(255,184,77,.35),
              0 0 20px -6px rgba(255,184,77,.45),
              0 8px 24px rgba(0,0,0,.45);
}
.adv-caza-hero-johto::before {
  background: linear-gradient(100deg, rgba(38,18,26,.93) 0%, rgba(48,24,32,.8) 45%, rgba(30,16,26,.5) 100%);
}
.adv-caza-hero-johto:hover {
  box-shadow: inset 0 0 0 2px rgba(255,184,77,.95),
              inset 0 0 26px -5px rgba(255,184,77,.5),
              0 0 34px -4px rgba(255,184,77,.75),
              0 10px 28px rgba(0,0,0,.5);
}
.adv-caza-hero-johto::after { color: #ffb84d; }
.adv-caza-hero-johto .adv-caza-hero-tx b { color: #ffd08a; }

/* Ho-Oh es sprite de Gen 2: pixelado, para que se vea nítido. */
.adv-caza-hero-johto .adv-caza-ico {
  image-rendering: pixelated;
  filter: drop-shadow(0 0 11px rgba(255,184,77,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.6));
}

/* ═══════ s664 · CACERÍA · HOENN (clima primigenio: Groudon/Kyogre/Rayquaza) ═══════ */
/* Fondo de pantalla. */
#adv-root.adv-caza-bg.adv-caza-hoenn::before {
  background: url('aventura/caza-bg-hoenn.jpg') center center / cover no-repeat;
  opacity: .92;
}
#adv-root.adv-caza-bg.adv-caza-hoenn::after {
  background: linear-gradient(180deg, rgba(30,14,12,.40), rgba(10,10,20,.62));
}
/* Tarjeta del hub: arte de Hoenn con degradado cálido rojizo (Groudon). */
.adv-caza-hero-hoenn {
  background-image: url('aventura/caza-btn-hoenn.jpg');
  background-size: cover;
  background-position: center 45%;
  box-shadow: inset 0 0 0 2px rgba(255,120,70,.55),
              inset 0 0 22px -6px rgba(255,120,70,.35),
              0 0 20px -6px rgba(255,120,70,.45),
              0 8px 24px rgba(0,0,0,.45);
}
.adv-caza-hero-hoenn::before {
  background: linear-gradient(100deg, rgba(38,16,14,.93) 0%, rgba(48,20,18,.8) 45%, rgba(24,20,34,.5) 100%);
}
.adv-caza-hero-hoenn:hover {
  box-shadow: inset 0 0 0 2px rgba(255,120,70,.95),
              inset 0 0 26px -5px rgba(255,120,70,.5),
              0 0 34px -4px rgba(255,120,70,.75),
              0 10px 28px rgba(0,0,0,.5);
}
.adv-caza-hero-hoenn::after { color: #ff8a5a; }
.adv-caza-hero-hoenn .adv-caza-hero-tx b { color: #ffb08a; }
.adv-caza-hero-hoenn .adv-caza-ico {
  filter: drop-shadow(0 0 12px rgba(255,120,70,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.6));
}

/* ══════════════════════════════════════════════════════════════════════
   s571 · CARTUCHOS DE REGIÓN CON ARTE DE FONDO
   Receta del Alto Mando: arte + degradado que lo oscurece + orbe de luz.
   El arte lo inyecta el JS en --rart (una imagen por región).
   ══════════════════════════════════════════════════════════════════════ */
.rgc-art {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; gap: 9px;
  padding: 12px 18px 11px 12px; border-radius: 14px;
  min-width: 248px; cursor: pointer; user-select: none;
  background-image: var(--rart);
  background-size: cover; background-position: center 45%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 6px 20px rgba(0,0,0,.45);
  transition: transform .16s cubic-bezier(.2,.9,.3,1.3), box-shadow .16s, filter .16s;
}

/* El velo: sin esto el texto es ilegible sobre el arte. Más opaco a la izquierda
   (donde va el texto) y transparente a la derecha, para que se vea el dibujo. */
.rgc-art::before {
  content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: linear-gradient(100deg,
    rgba(10,14,24,.95) 0%, rgba(12,17,30,.86) 42%, rgba(12,17,30,.45) 100%);
  transition: background .18s;
}

/* Orbe de luz en el color de la región, como el .am-card-glow del Alto Mando. */
.rgc-art::after {
  content: ''; position: absolute; top: -55%; right: -22%;
  width: 150px; height: 150px; z-index: -1; pointer-events: none;
  background: radial-gradient(circle, var(--rc) 0%, transparent 68%);
  opacity: .16; transition: opacity .2s, transform .35s ease;
}
.rgc-art:hover::after { opacity: .34; transform: scale(1.2); }
.rgc-art:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px var(--rc), 0 10px 26px rgba(0,0,0,.55);
}

.rgc-fila { display: flex; align-items: center; gap: 11px; }
.rgc-art .rgc-num {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--game); font-size: 14px; font-weight: 800;
  color: #0d1220; background: var(--rc);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.5);
}
.rgc-art .rgc-txt { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
.rgc-art .rgc-txt b {
  font-family: var(--game); font-size: 15px; font-weight: 800; letter-spacing: 1.5px;
  color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.85);
}
.rgc-art .rgc-txt small { font-size: 11px; color: #a8b6cc; margin-top: 2px;
  text-shadow: 0 1px 4px rgba(0,0,0,.9); }

/* Barra de progreso (las medallas de esa región). */
.rgc-barra { height: 4px; border-radius: 99px; background: rgba(0,0,0,.5); overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.rgc-barra i { display: block; height: 100%; background: var(--rc);
  box-shadow: 0 0 8px var(--rc); transition: width .4s cubic-bezier(.2,.9,.3,1); }

/* Región ACTIVA: el velo se aclara (se ve más arte) y se enciende el borde. */
.rgc-art.rgc-act {
  box-shadow: inset 0 0 0 2px var(--rc), 0 0 26px -6px var(--rc), 0 8px 24px rgba(0,0,0,.5);
}
.rgc-art.rgc-act::before {
  background: linear-gradient(100deg,
    rgba(10,14,24,.88) 0%, rgba(14,20,34,.74) 42%, rgba(14,20,34,.3) 100%);
}
.rgc-art.rgc-act::after { opacity: .32; }
.rgc-art.rgc-act .rgc-txt small { color: var(--rc); font-weight: 700; }

/* Desbloqueada pero sin empezar: late. */
.rgc-art.rgc-nueva { box-shadow: inset 0 0 0 2px var(--rc), 0 0 18px -6px var(--rc); }
.rgc-art.rgc-nueva { animation: rgcLate 1.8s ease-in-out infinite; }

/* Bloqueada: el arte se intuye, pero apagado y en gris. Da envidia sin spoilear. */
.rgc-art.rgc-lock { cursor: not-allowed; animation: none; }
.rgc-art.rgc-lock::before {
  background: linear-gradient(100deg, rgba(8,10,16,.97) 0%, rgba(8,10,16,.93) 60%, rgba(8,10,16,.86) 100%);
  backdrop-filter: grayscale(1);
}
.rgc-art.rgc-lock::after { opacity: .05; }
.rgc-art.rgc-lock:hover { transform: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 6px 20px rgba(0,0,0,.45); }
.rgc-art.rgc-lock .rgc-num { background: rgba(255,255,255,.10); color: #5c667d;
  font-size: 13px; box-shadow: none; }
.rgc-art.rgc-lock .rgc-txt b { color: #6f7d95; text-shadow: none; }
.rgc-art.rgc-lock .rgc-txt small { color: #57637a; }

/* ── s572 · Cartuchos SIN sello: solo arte, nombre y barra ── */
/* Sin el cuadrado de color, el nombre manda: más grande y con sombra dura para
   que se lea sobre cualquier zona del dibujo. */
.rgc-art { padding: 13px 18px 11px 16px; }
.rgc-art .rgc-txt b { font-size: 19px; letter-spacing: 2.4px;
  text-shadow: 0 2px 8px rgba(0,0,0,.95), 0 0 18px rgba(0,0,0,.7); }
.rgc-art .rgc-txt small { font-size: 11px; margin-top: 3px; }

/* El velo se abre más: sin el sello tapando, hay más dibujo que enseñar. */
.rgc-art::before {
  background: linear-gradient(100deg,
    rgba(10,14,24,.88) 0%, rgba(12,17,30,.72) 45%, rgba(12,17,30,.35) 100%);
}
.rgc-art.rgc-act::before {
  background: linear-gradient(100deg,
    rgba(10,14,24,.78) 0%, rgba(14,20,34,.58) 45%, rgba(14,20,34,.2) 100%);
}
.rgc-art.rgc-lock .rgc-txt b { font-size: 17px; }

/* ── s573 · Sprites propios de los entrenadores de Johto ──
   Vienen normalizados a 256x256 con la figura apoyada en el suelo y ya escalada
   al alto del lienzo. Los de Kanto son recortes ajustados y por eso llevan un
   scale(1.15) que los agranda; aplicárselo a estos los cortaría por la cabeza.
   Se detectan por el prefijo del nombre de archivo. */
.adv-boss-spr img[src*="/j-"],
.adv-tr-spr img[src*="/j-"] {
  transform: none;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
}

/* ── s574 · Sprite que no carga: que se NOTE ──
   Antes el onerror hacía display:none y un 404 se veía como un hueco vacío
   perfectamente normal. Ahora el marco muestra el nombre del fichero que falta,
   y se registra un aviso en la consola. Un fallo silencioso es peor que uno feo. */
.adv-boss-spr.spr-404 {
  position: relative;
  box-shadow: inset 0 0 0 2px rgba(226,72,61,.5);
  background: repeating-linear-gradient(45deg,
    rgba(226,72,61,.08) 0 8px, rgba(226,72,61,.02) 8px 16px);
}
.adv-boss-spr.spr-404::after {
  content: '⚠ falta ' attr(data-spr) '.png';
  position: absolute; inset: auto 4px 6px 4px;
  font-family: var(--game); font-size: 8px; font-weight: 800; letter-spacing: .3px;
  color: #ff8a80; text-align: center; line-height: 1.3; word-break: break-all;
}

/* ── s587 · Iconos PNG en las pestañas de mochila y tienda ──────────────────
   Sustituyen a los emojis (◓ 🌿 ✨) por la imagen real del objeto:
   Poké Ball, menta azul y megapiedra de Garchomp. */
.advt-tab .advt-tabico,
.advt-tab img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: -4px;
  margin-right: 5px;
  image-rendering: auto;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
}
/* La pestaña activa resalta un poco su icono. */
.advt-tab.on .advt-tabico,
.advt-tab.on img { filter: drop-shadow(0 0 4px rgba(255,255,255,.55)); }

/* ── s587 · Filtros de MTs (tipo / categoría / potencia) ────────────────────*/
.advm-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 6px 0 10px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(12,18,36,.55);
  border: 1px solid #26314f;
}
.advm-filtros select {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .4px;
  color: #dce6ff;
  background: linear-gradient(160deg,#1e2a4c,#16203c);
  border: 1px solid #35446b;
  border-radius: 8px;
  padding: 5px 8px;
  cursor: pointer;
  outline: none;
}
.advm-filtros select:hover { border-color: #4d6299; }
.advm-filtros select:focus { border-color: #6f8fd6; box-shadow: 0 0 0 2px rgba(111,143,214,.25); }
.advm-filtros label {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .6px;
  color: #8fa2cc;
  text-transform: uppercase;
}
.advm-filtros .advm-fcount {
  margin-left: auto;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #9fb4e6;
}
.advm-filtros .advm-freset {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #ffd9a0;
  background: linear-gradient(160deg,#4a3520,#33240f);
  border: 1px solid #7a5a2e;
  border-radius: 8px;
  padding: 5px 10px;
  cursor: pointer;
}
.advm-filtros .advm-freset:hover { filter: brightness(1.2); }

/* ── s587 · Panel "quién puede aprender esta MT" ────────────────────────────
   Antes volcaba equipo + caja de golpe y estiraba la pantalla. Ahora tiene
   altura fija, scroll propio, y la caja va paginada. */
.adv-rec-card.mtq-card {
  width: min(940px, 94vw);
  max-height: 82vh;
  display: flex;
  flex-direction: column;
}
.mtq-scroll {
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
  margin-top: 4px;
  /* El scroll vive AQUÍ dentro, no en la página. */
  max-height: calc(82vh - 130px);
}
.mtq-scroll::-webkit-scrollbar { width: 10px; }
.mtq-scroll::-webkit-scrollbar-track { background: rgba(10,14,28,.5); border-radius: 6px; }
.mtq-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(160deg,#3a4a75,#2a3757);
  border-radius: 6px;
  border: 1px solid #46578a;
}
.mtq-scroll::-webkit-scrollbar-thumb:hover { background: linear-gradient(160deg,#4a5d90,#36456c); }

.mtq-sec { margin-bottom: 14px; }
.mtq-sec-tit {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1px;
  color: #cfe0ff;
  text-transform: uppercase;
  padding: 6px 10px;
  margin-bottom: 8px;
  border-radius: 8px;
  background: linear-gradient(160deg, rgba(45,62,110,.65), rgba(26,36,66,.65));
  border: 1px solid #33436d;
}
.mtq-sec-tit small {
  font-size: 12px;
  font-weight: 700;
  color: #8fa2cc;
  background: rgba(0,0,0,.3);
  padding: 1px 7px;
  border-radius: 20px;
}
.mtq-vacio {
  font-family: 'Rajdhani', sans-serif;
  font-size: 13px;
  color: #7c8bb0;
  padding: 10px 12px;
  font-style: italic;
}
/* Navegación de páginas de la caja */
.mtq-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}
.mtq-nav-b {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: #dce6ff;
  background: linear-gradient(160deg,#2c3b63,#1d2745);
  border: 1px solid #3e5182;
  border-radius: 7px;
  padding: 3px 10px;
  cursor: pointer;
  line-height: 1.4;
}
.mtq-nav-b:hover:not(:disabled) { filter: brightness(1.25); border-color: #5f7ab5; }
.mtq-nav-b:disabled { opacity: .35; cursor: default; }
.mtq-nav-num {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #9fb4e6;
  min-width: 46px;
  text-align: center;
}

/* La MT que llega "armada" desde la mochila: glow para que salte a la vista. */
.advm-card.advm-armada {
  box-shadow: 0 0 0 2px #ffd76a, 0 0 16px rgba(255,215,106,.55) !important;
  animation: mtqPulso 1.6s ease-in-out infinite;
}
@keyframes mtqPulso {
  0%, 100% { box-shadow: 0 0 0 2px #ffd76a, 0 0 12px rgba(255,215,106,.45); }
  50%      { box-shadow: 0 0 0 2px #ffe89a, 0 0 22px rgba(255,215,106,.75); }
}

/* ── s588 · Buscador de Pokémon en el panel "quién aprende esta MT" ─────────
   Arriba a la derecha. Con la caja llena, paginar no basta: si buscas a uno
   concreto quieres escribir su nombre. */
.mtq-top {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.mtq-top .adv-rec-sub {
  flex: 1 1 320px;
  margin: 0;
}
.mtq-busq-wrap {
  position: relative;
  flex: 0 0 auto;
  margin-left: auto;
}
.mtq-busq {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #e6eeff;
  background: linear-gradient(160deg,#18213c,#111930);
  border: 1px solid #35446b;
  border-radius: 9px;
  padding: 7px 30px 7px 11px;
  width: 220px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.mtq-busq::placeholder { color: #6b7ba3; font-weight: 600; }
.mtq-busq:hover  { border-color: #4d6299; }
.mtq-busq:focus  { border-color: #6f8fd6; box-shadow: 0 0 0 2px rgba(111,143,214,.25); }
.mtq-busq-x {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  line-height: 1;
  font-size: 12px;
  color: #9fb0d6;
  background: rgba(255,255,255,.08);
  border: 1px solid #3d4c74;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mtq-busq-x:hover { color: #fff; background: rgba(255,120,120,.28); border-color: #a05656; }

/* ── s589 · Megapiedras: PNG locales (aventura/items/) ──────────────────────
   Las 47 megapiedras del juego ahora usan los PNG reales en vez de la CDN de
   PokeAPI, que no las tenía todas. Son renders con brillo, así que NO se les
   aplica el pixelado (image-rendering: pixelated) del resto de items. */
.advt-megaspr {
  image-rendering: auto !important;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.45));
}
/* Icono de megapiedra neutra en el botón MEGA de combate. */
.hud-mega-ico {
  width: 20px;
  height: 20px;
  object-fit: contain;
  vertical-align: -4px;
  margin-right: 4px;
  image-rendering: auto;
  filter: drop-shadow(0 0 4px rgba(255,255,255,.5));
}

/* ── s590 · Respiración del panel "quién aprende esta MT" ───────────────────
   En s587/s588 las tarjetas quedaban pegadas a la pared del panel y el
   buscador tocaba la esquina superior derecha. Aquí se le da aire. */
.adv-rec-card.mtq-card {
  padding: 22px 26px 24px !important;
  border-radius: 18px;
}
/* La cabecera con el nombre de la MT: más separada del borde y del contenido. */
.mtq-card .adv-rec-head {
  margin: 0 44px 14px 0;   /* hueco a la derecha para la ✕ */
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(120,140,190,.22);
  font-size: 19px;
  letter-spacing: .6px;
}
/* Fila superior: texto de ayuda + buscador. */
.mtq-card .mtq-top {
  gap: 18px;
  margin: 0 0 16px;
  align-items: center;
}
.mtq-card .mtq-top .adv-rec-sub {
  font-size: 13px;
  line-height: 1.45;
  color: #93a5cc;
  letter-spacing: .2px;
}
/* El buscador ya no toca el borde. */
.mtq-card .mtq-busq-wrap { margin-right: 2px; }
.mtq-card .mtq-busq {
  width: 230px;
  padding: 9px 32px 9px 13px;
  border-radius: 10px;
}
/* Zona de scroll: aire a los lados para que las tarjetas no rocen la pared
   ni la barra de scroll. */
.mtq-card .mtq-scroll {
  padding: 2px 12px 6px 2px;
  max-height: calc(82vh - 175px);
}
/* Cabeceras de sección (EQUIPO / CAJA). */
.mtq-card .mtq-sec { margin-bottom: 20px; }
.mtq-card .mtq-sec:last-child { margin-bottom: 4px; }
.mtq-card .mtq-sec-tit {
  padding: 8px 14px;
  margin-bottom: 12px;
  font-size: 13px;
  letter-spacing: 1.4px;
}
/* Rejilla de Pokémon: más separación entre tarjetas. */
.mtq-card .adv-mtquien-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
  gap: 12px;
  padding: 2px;
}
/* Tarjeta de Pokémon: más cómoda y con mejor jerarquía de texto. */
.mtq-card .adv-mtquien-poke {
  padding: 12px 8px 10px;
  border-radius: 12px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.mtq-card .adv-mtquien-poke:hover {
  transform: translateY(-3px);
  border-color: #6f8fd6;
  box-shadow: 0 6px 18px rgba(0,0,0,.45), 0 0 0 1px rgba(111,143,214,.35);
}
.mtq-card .adv-mtquien-nom {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .3px;
  line-height: 1.25;
  margin-top: 5px;
  color: #e8eeff;
}
.mtq-card .adv-mtquien-lv {
  font-size: 11px;
  font-weight: 600;
  color: #8b9cc4;
  letter-spacing: .5px;
  margin-top: 2px;
}

/* ── s590 · Tienda de MTs: quién de tu equipo la aprende ────────────────────
   Caritas de los Pokémon del equipo compatibles, bajo el nombre de la MT.
   Verde = ya la conoce (no la compres otra vez). */
.advt-mt-equipo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex-wrap: wrap;
  margin: 6px 0 4px;
  min-height: 30px;
  padding: 3px 4px;
  border-radius: 8px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.07);
}
.advt-mt-poke {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(255,255,255,.06);
  border: 1px solid transparent;
  transition: transform .12s ease;
}
.advt-mt-poke:hover { transform: scale(1.18); z-index: 2; }
.advt-mt-poke img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  image-rendering: pixelated;
}
/* Ya conoce el movimiento: marca verde para no comprarlo dos veces. */
.advt-mt-poke-ya {
  border-color: #4fd18b;
  background: rgba(79,209,139,.18);
  box-shadow: 0 0 6px rgba(79,209,139,.35);
}
.advt-mt-poke-ya::after {
  content: '✓';
  position: absolute;
  right: -1px;
  bottom: -2px;
  font-size: 9px;
  font-weight: 700;
  color: #4fd18b;
  text-shadow: 0 0 3px #000, 0 0 3px #000;
  pointer-events: none;
}
/* Nadie del equipo puede aprenderla. */
.advt-mt-equipo-no {
  font-family: 'Rajdhani', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .4px;
  color: #7e8bab;
  font-style: italic;
  background: rgba(0,0,0,.22);
}

/* ── s591 · Vender Pokémon desde el PC ──────────────────────────────────────
   Distinto de "Liberar" (gratis, definitivo): vender paga PA según rareza,
   nivel y si es variocolor. */
.pcdet-btn-vender {
  background: linear-gradient(160deg,#4a3a18,#33280f) !important;
  border-color: #7a5f2e !important;
  color: #ffd98a !important;
}
.pcdet-btn-vender:hover:not(:disabled) {
  filter: brightness(1.25);
  border-color: #b08a44 !important;
  box-shadow: 0 0 12px rgba(255,200,110,.28);
}

/* Diálogo de confirmación de venta */
.advven-card { width: min(430px, 92vw); text-align: center; padding: 22px 24px 20px !important; }
.advven-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 16px 0 12px;
  padding: 14px;
  border-radius: 12px;
  background: rgba(10,16,32,.6);
  border: 1px solid #2b3757;
}
.advven-poke { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.advven-poke img { width: 72px; height: 72px; object-fit: contain; image-rendering: pixelated; }
.advven-nom {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #e8eeff;
  letter-spacing: .3px;
}
.advven-shiny { color: #ffd76a; text-shadow: 0 0 6px rgba(255,215,106,.7); }
.advven-lv { font-family: 'Rajdhani', sans-serif; font-size: 12px; font-weight: 600; color: #8b9cc4; }
.advven-pa { text-align: right; }
.advven-pa-lbl {
  font-family: 'Rajdhani', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #8b9cc4;
  text-transform: uppercase;
}
.advven-pa-num {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.1;
  color: #ffd98a;
  text-shadow: 0 0 12px rgba(255,200,110,.4);
}
.advven-pa-num span { font-size: 15px; color: #c9a866; }
.advven-warn {
  font-family: 'Rajdhani', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: #ffc9a0;
  background: rgba(120,60,30,.3);
  border: 1px solid #8a5230;
  border-radius: 9px;
  padding: 8px 12px;
  margin-bottom: 12px;
}
.advven-acts { display: flex; gap: 10px; }
.advven-btn {
  flex: 1;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .8px;
  padding: 11px 10px;
  border-radius: 10px;
  cursor: pointer;
  border: 1px solid;
}
.advven-no {
  color: #c3ceea;
  background: linear-gradient(160deg,#2a3450,#1c2439);
  border-color: #3c4a70;
}
.advven-no:hover { filter: brightness(1.2); }
.advven-si {
  color: #2a1c05;
  background: linear-gradient(160deg,#ffd98a,#d8a944);
  border-color: #b08a44;
}
.advven-si:hover { filter: brightness(1.12); box-shadow: 0 0 14px rgba(255,200,110,.45); }

/* ── s591 · Estrella de IVs perfectos en las tarjetas del PC ────────────────
   De un vistazo se ve qué Pokémon tienen IVs máximos, sin abrir la ficha.
   Solo se muestra a partir de 4 IVs perfectos (si no, ensuciaría la caja). */
.pcbox-ivstar {
  /* s593: a la DERECHA, no a la izquierda: ahí está el nivel (.pcbox-lvl) y lo
     tapaba. Si el Pokémon es shiny, la ✨ ocupa la esquina, así que la estrella
     de IVs baja un poco para no solaparse. */
  position: absolute;
  top: 3px;
  right: 3px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 1px;
  font-family: 'Rajdhani', sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 2px 4px 2px 3px;
  border-radius: 6px;
  pointer-events: auto;
  cursor: help;
  text-shadow: 0 1px 2px rgba(0,0,0,.9);
}
.pcbox-ivstar b { font-size: 9px; font-weight: 700; }

/* 6 IVs perfectos: dorada y con brillo. Es el objetivo de la crianza. */
.pcbox-iv6 {
  color: #ffdb5e;
  background: linear-gradient(160deg, rgba(120,90,20,.92), rgba(70,50,10,.92));
  border: 1px solid #d4a938;
  box-shadow: 0 0 8px rgba(255,215,94,.55);
  animation: ivStar6 2s ease-in-out infinite;
}
@keyframes ivStar6 {
  0%, 100% { box-shadow: 0 0 6px rgba(255,215,94,.45); }
  50%      { box-shadow: 0 0 13px rgba(255,215,94,.8); }
}
/* 5 IVs: plateada. */
.pcbox-iv5 {
  color: #dfe7f5;
  background: linear-gradient(160deg, rgba(80,92,115,.92), rgba(48,56,74,.92));
  border: 1px solid #93a3bd;
  box-shadow: 0 0 6px rgba(190,205,230,.3);
}
/* 4 IVs: bronce, más discreta. */
.pcbox-iv4 {
  color: #f0c396;
  background: linear-gradient(160deg, rgba(96,64,36,.9), rgba(60,40,22,.9));
  border: 1px solid #a4784a;
}

/* ── s592 · Objeto competitivo ya equipado en el equipo ─────────────────────
   No se pueden llevar dos objetos de combate iguales en el mismo equipo.
   Se avisa ANTES de intentarlo, atenuando el objeto en la mochila. */
.advm-item-enuso { opacity: .58; }
.advm-item-enuso:hover { opacity: .85; }
.advm-enuso-tag {
  position: absolute;
  top: 3px;
  left: 3px;
  z-index: 3;
  font-family: 'Rajdhani', sans-serif;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .6px;
  color: #ffcb8a;
  background: rgba(90,55,25,.92);
  border: 1px solid #a8703c;
  border-radius: 5px;
  padding: 1px 4px;
  line-height: 1.3;
  pointer-events: none;
  text-shadow: 0 1px 1px rgba(0,0,0,.7);
}

/* ── s592 · Efecto del objeto sobre las stats (ficha) ───────────────────────
   El Mineral Evolutivo, el Chaleco Asalto o el Pañuelo Elegido multiplican
   stats, pero las barras no lo reflejaban. Aquí se ve el cálculo real. */
.advf-itfx {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: linear-gradient(160deg, rgba(30,48,90,.55), rgba(18,28,54,.55));
  border: 1px solid #33456e;
}
.advf-itfx-inactivo { opacity: .72; border-color: #4a3a2a; background: linear-gradient(160deg, rgba(60,48,32,.4), rgba(38,30,20,.4)); }
.advf-itfx-tit {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Rajdhani', sans-serif;
  font-size: 13px;
  letter-spacing: .4px;
  color: #dbe5fb;
  margin-bottom: 8px;
}
.advf-itfx-on, .advf-itfx-no {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 8px;
  border-radius: 20px;
}
.advf-itfx-on { color: #7ef0b0; background: rgba(40,140,90,.28); border: 1px solid #3f9d6c; }
.advf-itfx-no { color: #ffbe8a; background: rgba(150,80,30,.25); border: 1px solid #a5713c; }
.advf-itfx-body { display: flex; flex-direction: column; gap: 5px; }
.advf-itfx-row {
  display: grid;
  grid-template-columns: 74px 46px 16px 52px auto;
  align-items: center;
  gap: 6px;
  font-family: 'Rajdhani', sans-serif;
  font-size: 13px;
  font-weight: 600;
}
.advf-itfx-st { color: #9db0d8; letter-spacing: .3px; }
.advf-itfx-a  { color: #8b9cc4; text-align: right; }
.advf-itfx-fl { color: #5f7ab5; text-align: center; }
.advf-itfx-b  {
  color: #7ef0b0;
  font-weight: 700;
  font-size: 15px;
  text-align: right;
  text-shadow: 0 0 8px rgba(126,240,176,.35);
}
.advf-itfx-x  { color: #6d7ea6; font-size: 11px; margin-left: 4px; }
.advf-itfx-off .advf-itfx-b { color: #8b9cc4; text-shadow: none; }
.advf-itfx-msg {
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid rgba(120,140,190,.18);
  font-family: 'Rajdhani', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #8fa2cc;
  font-style: italic;
}

/* Si además es shiny, la ✨ ya ocupa la esquina superior derecha: la estrella
   de IVs se desplaza hacia abajo para que se vean las dos. */
.pcbox-slot:has(.pcbox-shiny) .pcbox-ivstar { top: 17px; }

/* ── s593 · Menú rápido de objeto ───────────────────────────────────────────
   Clic en el objeto de una tarjeta (equipo o caja) → quitar, cambiar o pasar a
   otro Pokémon, sin abrir la ficha entera. */
.adv-item-badge-click {
  cursor: pointer;
  /* s596 · La regla base .adv-item-badge lleva pointer-events:none (para que el
     badge informativo no robe clics a la tarjeta). El badge CLICABLE tiene que
     reactivarlos, o el clic atraviesa el objeto y acaba seleccionando la carta. */
  pointer-events: auto;
  transition: transform .12s ease, filter .12s ease;
}
.adv-item-badge-click:hover {
  transform: scale(1.25);
  filter: drop-shadow(0 0 6px rgba(255,215,106,.8));
  z-index: 5;
}

.adv-itemmenu {
  position: fixed;
  z-index: 9999;
  width: 262px;
  padding: 12px;
  border-radius: 13px;
  background: linear-gradient(160deg, #1b2440, #131a30);
  border: 1px solid #3d4d7a;
  box-shadow: 0 12px 36px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.05);
  animation: itemMenuIn .13s ease-out;
}
@keyframes itemMenuIn {
  from { opacity: 0; transform: translateY(-6px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.adv-itemmenu-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 9px;
  margin-bottom: 9px;
  border-bottom: 1px solid rgba(120,140,190,.2);
}
.adv-itemmenu-spr {
  width: 34px;
  height: 34px;
  object-fit: contain;
  image-rendering: pixelated;
  flex: 0 0 auto;
}
.adv-itemmenu-txt { min-width: 0; }
.adv-itemmenu-nom {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #e8eeff;
  letter-spacing: .3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adv-itemmenu-de {
  font-family: 'Rajdhani', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #8b9cc4;
}
.adv-itemmenu-desc {
  font-family: 'Rajdhani', sans-serif;
  font-size: 11.5px;
  line-height: 1.4;
  color: #93a5cc;
  background: rgba(0,0,0,.28);
  border-radius: 8px;
  padding: 7px 9px;
  margin-bottom: 9px;
}
.adv-itemmenu-b {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .3px;
  color: #dce6ff;
  background: linear-gradient(160deg, #26325a, #1b2440);
  border: 1px solid #38466f;
  border-radius: 9px;
  padding: 9px 11px;
  margin-bottom: 6px;
  cursor: pointer;
  transition: filter .12s, border-color .12s;
}
.adv-itemmenu-b:hover { filter: brightness(1.25); border-color: #6f8fd6; }
.adv-itemmenu-b:last-child { margin-bottom: 0; }
.adv-itemmenu-ico { font-size: 14px; width: 18px; text-align: center; flex: 0 0 auto; }
.adv-itemmenu-x {
  color: #a8b4d0;
  background: linear-gradient(160deg, #232a40, #191e30);
  border-color: #2f3a58;
  justify-content: center;
  font-size: 11.5px;
}

/* ── s594 · Objeto y estrella de IVs en la columna del EQUIPO del PC ────────
   La tarjeta del equipo (horizontal: sprite + nombre) no mostraba el objeto
   equipado por ningún lado. Ahora sale a la derecha, y es clicable. */
.pcteam-slot {
  position: relative;   /* necesario para colocar el badge y la estrella */
}
/* s595 · El objeto va a la ESQUINA inferior derecha (antes centrado a media
   tarjeta, quedaba raro con tanto espacio libre) y más grande, para que se
   distinga de un vistazo qué objeto lleva. */
.pcteam-slot .adv-item-badge {
  position: absolute;
  right: 8px;
  bottom: 8px;
  top: auto;
  transform: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(6,10,20,.82);
  border: 1.5px solid rgba(255,255,255,.22);
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  z-index: 3;
}
.pcteam-slot .adv-item-badge img { width: 32px; height: 32px; object-fit: contain; }
/* Pista de que es un desplegable (quitar / mover a otro Pokémon). */
.pcteam-slot .adv-item-badge-click { cursor: pointer; }
.pcteam-slot .adv-item-badge-click::after {
  content: '▾';
  position: absolute;
  right: -1px;
  bottom: -4px;
  font-size: 12px;
  line-height: 1;
  color: #ffd76a;
  text-shadow: 0 1px 2px #000;
  pointer-events: none;
}
.pcteam-slot .adv-item-badge-click:hover {
  transform: scale(1.12);
  border-color: #ffd76a;
}
/* La estrella de IVs va a la IZQUIERDA (sobre el sprite), para no pelearse con
   el objeto por la esquina derecha. */
.pcteam-slot .pcbox-ivstar {
  top: 4px;
  left: 4px;
  right: auto;
}
/* Si lleva objeto, el texto no debe meterse debajo del badge (esquina inf. dcha). */
.pcteam-slot .pcteam-tx { padding-right: 52px; }

/* ═══════════════════════════════════════════════════════════════════
   s643 · Animación de INTERCAMBIO (viejo se desvanece → 3·2·1 → nuevo).
   ═══════════════════════════════════════════════════════════════════ */
.adv-inter-anim-ov {
  position: fixed; inset: 0; z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 42%, rgba(20,34,66,.9), rgba(3,5,12,.97));
  opacity: 0; transition: opacity .25s ease;
}
.adv-inter-anim-ov.on { opacity: 1; }
.adv-inter-anim-stage { text-align: center; color: #fff; font-family: Rajdhani, sans-serif; }
.aia-eyebrow {
  font-size: 14px; letter-spacing: 4px; font-weight: 800; color: #7cc6ff;
  margin-bottom: 8px; text-transform: uppercase;
}
.aia-sprwrap {
  position: relative; width: 240px; height: 240px; margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
}
.aia-spr {
  position: absolute; max-width: 200px; max-height: 200px;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.55));
}
.aia-old { opacity: 1; transition: opacity .9s ease, transform .9s ease; }
.aia-old.gone { opacity: 0; transform: translateY(-46px) scale(.55) rotate(-10deg); }
.aia-new { opacity: 0; transform: scale(.5); transition: opacity .8s ease, transform .8s cubic-bezier(.2,1.5,.4,1); }
.aia-new.show { opacity: 1; transform: scale(1); }
.aia-count {
  position: absolute; font-size: 128px; font-weight: 900; color: #fff;
  text-shadow: 0 0 28px rgba(124,198,255,.85); opacity: 0; pointer-events: none;
}
.aia-count.pop { animation: aiaPop .56s ease; }
@keyframes aiaPop {
  0% { opacity: 0; transform: scale(2.2); }
  30% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(.55); }
}
.aia-name { font-size: 26px; font-weight: 800; margin-top: 14px; min-height: 32px; opacity: 0; transition: opacity .5s ease; }
.aia-name.show { opacity: 1; }
.aia-btns { margin-top: 18px; display: flex; gap: 10px; justify-content: center; opacity: 0; transition: opacity .4s ease; }
.aia-btns.show { opacity: 1; }
.aia-btn {
  padding: 10px 18px; border-radius: 10px; border: 0; font-weight: 800;
  font-family: Rajdhani, sans-serif; font-size: 15px; cursor: pointer;
}
.aia-btn-ficha { background: #7cc6ff; color: #06213a; }
.aia-btn-ficha:hover { background: #9ad3ff; }
.aia-btn-cerrar { background: rgba(255,255,255,.15); color: #fff; }
.aia-btn-cerrar:hover { background: rgba(255,255,255,.25); }

/* ═══════════════════════════════════════════════════════════════════
   s645 · IA de equipos competitivos (overlay dentro del PC).
   ═══════════════════════════════════════════════════════════════════ */
.pcbox-btn-ia { border-color: #7cc6ff !important; }
.pcbox-btn-ia:hover { background: rgba(124,198,255,.18) !important; }
.tai-panel { max-width: 640px; width: 94vw; }
.tai-list { display: flex; flex-direction: column; gap: 8px; max-height: 52vh; overflow-y: auto; padding: 4px 2px; }
.tai-row {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px; padding: 8px 10px;
}
.tai-spr { width: 56px; height: 56px; flex: 0 0 56px; display: flex; align-items: center; justify-content: center; }
.tai-spr img { max-width: 56px; max-height: 56px; image-rendering: auto; }
.tai-info { flex: 1 1 auto; min-width: 0; }
.tai-nom { font-weight: 800; font-size: 15px; text-transform: capitalize; }
.tai-rol { font-size: 11px; font-weight: 700; color: #7cc6ff; background: rgba(124,198,255,.14); padding: 1px 7px; border-radius: 8px; margin-left: 4px; text-transform: none; }
.tai-meta { font-size: 12px; color: rgba(255,255,255,.82); margin-top: 2px; }
.tai-evs { font-size: 11px; color: rgba(255,255,255,.55); margin-top: 2px; }
.tai-need { color: #ffb454; }
.tai-ok { color: #8ce68c; }
.tai-cost { flex: 0 0 auto; text-align: right; font-weight: 800; font-size: 13px; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.tai-ficha { background: rgba(124,198,255,.16); color: #cfe9ff; border: 0; border-radius: 8px; padding: 3px 8px; font-size: 11px; font-weight: 700; cursor: pointer; font-family: Rajdhani, sans-serif; }
.tai-ficha:hover { background: rgba(124,198,255,.3); }
.tai-sum { margin-top: 12px; background: rgba(0,0,0,.28); border-radius: 12px; padding: 10px 14px; }
.tai-sum-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; padding: 3px 0; color: rgba(255,255,255,.85); }
.tai-sum-row b { color: #fff; }
.tai-sum-total { border-top: 1px solid rgba(255,255,255,.15); margin-top: 4px; padding-top: 7px; font-size: 15px; font-weight: 800; }
.tai-sum-total b { color: #ffd76a; }
.tai-sum-pa { text-align: right; font-size: 12px; margin-top: 6px; color: rgba(255,255,255,.7); }
/* ═══════════ TORNEO · DESAFÍO EXTREMO (s658) ═══════════ */
/* Botón rojo para salir/abandonar el torneo en curso (arriba a la derecha). */
.torneo-exit-btn { background: linear-gradient(180deg, #ff6a6a, #d63636); color: #fff; border: 0; border-radius: 10px; padding: 8px 14px; font-family: Rajdhani, sans-serif; font-weight: 800; font-size: 13px; letter-spacing: .3px; cursor: pointer; box-shadow: 0 3px 10px rgba(214,54,54,.4); }
.torneo-exit-btn:hover { filter: brightness(1.08); }
.torneo-exit-btn:active { transform: translateY(1px); }
.adv-torneo-hero-duro { background: linear-gradient(135deg, #3a0d1a, #6a1030) !important; border: 1px solid #a01e46 !important; box-shadow: 0 0 0 1px rgba(255,90,138,.25), 0 8px 22px rgba(120,10,40,.45) !important; }
.adv-torneo-hero-duro b { color: #ff9ec0 !important; }
.torneo-modo-tabs { display: flex; gap: 8px; justify-content: center; margin: 8px auto 14px; max-width: 520px; }
.torneo-modo-tab { flex: 1 1 0; padding: 10px 8px; border-radius: 12px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: #cdd6ea; font-family: Rajdhani, sans-serif; font-weight: 800; font-size: 14px; cursor: pointer; }
.torneo-modo-tab.on { background: #f0c33a; color: #241400; border-color: #f0c33a; }
.torneo-modo-tab.tdt-duro.on { background: linear-gradient(135deg, #ff5a8a, #c81048); color: #fff; border-color: #ff5a8a; }
.torneo-intro-duro { border: 1px solid #a01e46 !important; box-shadow: 0 0 0 1px rgba(255,90,138,.3), 0 10px 30px rgba(120,10,40,.5) !important; }
.torneo-join-duro { background: linear-gradient(135deg, #ff5a8a, #c81048) !important; color: #fff !important; }
/* Selector de premio */
.tdp-panel { max-width: 560px; width: 94vw; text-align: center; }
.tdp-opts { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.tdp-opt { flex: 1 1 150px; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px 10px; border-radius: 14px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #fff; font-family: Rajdhani, sans-serif; font-weight: 800; font-size: 15px; cursor: pointer; }
.tdp-opt:hover { background: rgba(255,215,106,.16); border-color: #ffd76a; }
.tdp-opt .tdp-ico { font-size: 34px; }
.tdp-opt small { font-weight: 600; font-size: 11px; color: rgba(255,255,255,.6); }

/* Card de intercambio deshabilitada (legendarios: no intercambiables) */
.advce-card-off { opacity: .45; filter: grayscale(.7); cursor: not-allowed; }
.advce-card-off:hover { opacity: .55; }
.advce-card-off .advce-iv { color: #ff9a7a; font-weight: 800; }

/* Moveset sugerido */
.tai-moves { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 4px; align-items: flex-start; }
.tai-mv-pair { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.tai-mv { font-size: 10.5px; font-weight: 700; padding: 1px 7px; border-radius: 7px; }
.tai-mv-ok { background: rgba(140,230,140,.16); color: #b9f0b9; }
.tai-mv-no { background: rgba(255,120,120,.14); color: #ffb0b0; text-decoration: line-through; opacity: .8; }
.tai-mv-rep { font-size: 10px; font-weight: 800; color: #ffd76a; padding: 0 6px; white-space: nowrap; }
/* Pestañas de equipos */
.tai-tabs { margin: 4px 0 8px; }
/* Botones de acción */
.tai-acts { display: flex; gap: 10px; margin-top: 12px; }
.tai-btn { flex: 1 1 0; padding: 12px 10px; border: 0; border-radius: 12px; font-weight: 800; font-size: 14px; font-family: Rajdhani, sans-serif; cursor: pointer; }
.tai-btn-apply { background: #ffd76a; color: #3a2a00; }
.tai-btn-apply:hover { background: #ffe28c; }
.tai-btn-apply.tai-btn-off { background: rgba(255,215,106,.35); color: rgba(58,42,0,.7); }
.tai-btn-team { background: #7cc6ff; color: #06213a; }
.tai-btn-team:hover { background: #9ad3ff; }
/* Consejos de cómo jugar */
.tai-tips { margin-top: 12px; background: rgba(124,198,255,.08); border: 1px solid rgba(124,198,255,.22); border-radius: 12px; padding: 10px 14px; }
.tai-tips-h { font-weight: 800; font-size: 13px; color: #7cc6ff; letter-spacing: .5px; margin-bottom: 6px; }
.tai-tips ul { margin: 0; padding-left: 18px; }
.tai-tips li { font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.85); margin: 4px 0; }
.tai-tips li b { color: #fff; }

/* ════════════════════════════════════════════════════════════
   s736 · INTERCAMBIO a pantalla completa (PC, no móvil).
   El panel ocupa la pantalla, la cabecera y los modos quedan
   fijos arriba y solo el listado hace scroll (nada de barra
   flotando en medio). La caja se divide en CAJA 1, CAJA 2…
   ════════════════════════════════════════════════════════════ */
.itc-ov{ padding:2vh 1vw; align-items:center; justify-content:center; }
.itc-panel{ width:98vw !important; max-width:1700px !important; height:96vh !important;
  max-height:96vh !important; display:flex; flex-direction:column; overflow:hidden; padding:16px 22px 14px; }
.itc-head{ flex:0 0 auto; display:flex; align-items:center; gap:14px; }
.itc-head b{ font-size:17px; letter-spacing:1px; }
.itc-tot{ font-size:12px; color:#8fa0cc; margin-left:auto; margin-right:8px; }
.itc-tot-p{ color:#ffd76a; }
.itc-tot-s{ color:#9fe7ff; }
.itc-top{ flex:0 0 auto; }
.itc-body{ flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; padding:4px 6px 8px 2px; }
.itc-caja{ margin-bottom:20px; }
.itc-caja-h{ display:flex; align-items:baseline; gap:10px; margin:0 2px 10px;
  border-bottom:1px solid rgba(255,255,255,.09); padding-bottom:6px; }
.itc-caja-n{ font-family:var(--game),sans-serif; font-weight:800; font-size:15px;
  letter-spacing:1px; color:#9fd0ff; }
.itc-caja-c{ font-size:11.5px; color:#8fa0cc; }
.itc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.itc-grid .frt-mon{ padding-bottom:26px; }
.itc-grid .frt-mon img{ width:88px; height:88px; }
.itc-bst{ position:absolute; left:0; right:0; bottom:6px; font-size:10.5px;
  color:#8fa0cc; letter-spacing:.3px; }
.itc-grid .frt-mon.ghost .itc-bst{ color:#e08a8a; }
@media (max-width:820px){
  .itc-panel{ width:97vw !important; height:94vh !important; padding:12px; }
  .itc-grid{ grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:8px; }
}

/* ════════════════════════════════════════════════════════════
   s737 · REGIONAL STORE — vitrina + panel comparativo.
   Ya no hay un muro de cajas: arriba eliges el Pokémon en una
   vitrina horizontal y abajo se compara ACTUAL ➜ REGIONAL con
   tipos, habilidad y las 6 stats con su diferencia.
   ════════════════════════════════════════════════════════════ */
.rgs-wrap2{ max-width:1500px; margin:0 auto; padding-bottom:24px; }

/* ── Vitrina ───────────────────────────────────────────────── */
.rgs-vitrina{ margin:14px 0 18px; }
.rgs-vitrina-h{ font-family:var(--game),sans-serif; font-size:12px; font-weight:800;
  letter-spacing:1.6px; color:#9fd0ff; margin:0 4px 8px; }
.rgs-vitrina-row{ display:flex; gap:12px; overflow-x:auto; overflow-y:hidden;
  padding:8px 4px 14px; scroll-behavior:smooth; }
.rgs-vitrina-row::-webkit-scrollbar{ height:8px; }
.rgs-vitrina-row::-webkit-scrollbar-thumb{ background:rgba(127,178,255,.35); border-radius:8px; }
.rgs-vit{ position:relative; flex:0 0 auto; width:128px; display:flex; flex-direction:column;
  align-items:center; gap:2px; padding:10px 6px 8px; cursor:pointer;
  background:linear-gradient(180deg,rgba(26,34,60,.85),rgba(16,22,42,.9));
  border:2px solid rgba(255,255,255,.1); border-radius:14px; color:#dfe7ff;
  transition:transform .16s, border-color .16s, box-shadow .16s; }
.rgs-vit img{ width:78px; height:78px; object-fit:contain; image-rendering:auto; }
.rgs-vit-nom{ font-size:12px; font-weight:700; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; max-width:116px; }
.rgs-vit-sub{ font-size:10.5px; color:#8fa0cc; }
.rgs-vit-reg{ position:absolute; top:6px; right:6px; font-size:9px; font-weight:800;
  letter-spacing:.5px; padding:2px 6px; border-radius:6px;
  background:rgba(155,110,232,.85); color:#fff; }
.rgs-vit:hover{ transform:translateY(-4px); border-color:#7fb2ff;
  box-shadow:0 10px 24px rgba(0,0,0,.45); }
.rgs-vit.on{ border-color:#f5b400; background:linear-gradient(180deg,rgba(60,48,14,.9),rgba(30,24,10,.92));
  box-shadow:0 0 22px rgba(245,180,0,.45); }

/* ── Panel comparativo ─────────────────────────────────────── */
.rgs-panel{ background:linear-gradient(180deg,rgba(18,24,46,.94),rgba(11,15,30,.96));
  border:1px solid rgba(127,178,255,.28); border-radius:18px; padding:16px 20px 18px;
  box-shadow:0 16px 44px rgba(0,0,0,.5); }
.rgs-panel-h{ display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:10px; margin-bottom:14px; }
.rgs-panel-nom{ font-family:var(--game),sans-serif; font-size:20px; font-weight:800; color:#fff; }
.rgs-panel-sub{ font-size:12px; color:#8fa0cc; }
.rgs-chips{ display:flex; gap:7px; margin-left:auto; flex-wrap:wrap; }
.rgs-chip{ font-size:11.5px; font-weight:800; letter-spacing:.6px; padding:6px 13px;
  border-radius:999px; cursor:pointer; color:#c8d4f5;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  transition:.14s; }
.rgs-chip:hover{ background:rgba(127,178,255,.18); color:#fff; }
.rgs-chip.on{ background:linear-gradient(180deg,#f5b400,#c98f00); border-color:#ffd76a;
  color:#1a1200; box-shadow:0 0 14px rgba(245,180,0,.5); }

.rgs-vs{ display:grid; grid-template-columns:1fr 72px 1fr; gap:10px; align-items:stretch; }
.rgs-lado{ display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:14px 16px 12px; border-radius:14px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); }
.rgs-lado-b{ border-color:rgba(155,110,232,.45); background:rgba(155,110,232,.07);
  box-shadow:inset 0 0 30px rgba(155,110,232,.12); }
.rgs-lado-tag{ font-family:var(--game),sans-serif; font-size:10.5px; font-weight:800;
  letter-spacing:1.6px; color:#8fa0cc; }
.rgs-lado-b .rgs-lado-tag{ color:#c9a6ff; }
.rgs-lado-spr{ width:150px; height:150px; object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.55)); }
.rgs-lado-nom{ font-size:16px; font-weight:800; color:#fff; text-align:center; }
.rgs-lado-tipos{ display:flex; gap:5px; }
.rgs-lado-hab{ font-size:11.5px; color:#8fa0cc; margin-bottom:4px; }
.rgs-lado-hab b{ color:#dfe7ff; }
.rgs-flecha{ display:flex; align-items:center; justify-content:center; }
.rgs-flecha span{ font-size:34px; color:#f5b400; filter:drop-shadow(0 0 12px rgba(245,180,0,.6));
  animation:rgsPulse 1.6s ease-in-out infinite; }
@keyframes rgsPulse{ 0%,100%{ transform:translateX(0); opacity:.85 } 50%{ transform:translateX(6px); opacity:1 } }

/* ── Stats comparadas ──────────────────────────────────────── */
.rgs-stats{ width:100%; display:flex; flex-direction:column; gap:5px; margin-top:6px; }
.rgs-st{ display:grid; grid-template-columns:64px 1fr 34px 44px; align-items:center; gap:8px; }
.rgs-lado-a .rgs-st{ grid-template-columns:64px 1fr 34px; }
.rgs-st-n{ font-size:10.5px; color:#8fa0cc; font-weight:700; }
.rgs-st-bar{ height:8px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden; }
.rgs-st-bar i{ display:block; height:100%; border-radius:6px;
  background:linear-gradient(90deg,#4fd9cf,#7fb2ff); }
.rgs-lado-b .rgs-st-bar i{ background:linear-gradient(90deg,#c9a6ff,#9b6ee8); }
.rgs-st-v{ font-size:12px; font-weight:800; color:#dfe7ff; text-align:right; }
.rgs-dl{ font-size:11px; font-weight:800; font-style:normal; text-align:right; }
.rgs-dl.up{ color:#8ce68c; }
.rgs-dl.dn{ color:#ff8b8b; }
.rgs-dl.eq{ color:#5c6890; }
.rgs-bst{ margin-top:8px; font-size:11.5px; color:#8fa0cc; letter-spacing:.6px; }
.rgs-bst b{ color:#ffd76a; font-size:14px; }

/* ── Pie: CTA dorado ───────────────────────────────────────── */
.rgs-panel-f{ margin-top:16px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.rgs-cta{ font-family:var(--game),sans-serif; font-size:16px; font-weight:800; letter-spacing:1.2px;
  padding:14px 40px; border-radius:12px; cursor:pointer; color:#1a1200;
  background:linear-gradient(180deg,#ffd76a,#f5b400 55%,#c98f00);
  border:1px solid #ffe9a8; box-shadow:0 8px 22px rgba(245,180,0,.35);
  transition:transform .14s, box-shadow .14s; }
.rgs-cta:hover:not(:disabled){ transform:translateY(-2px); box-shadow:0 12px 30px rgba(245,180,0,.5); }
.rgs-cta:disabled{ opacity:.45; cursor:default; filter:grayscale(.5); }
.rgs-cta-free{ background:linear-gradient(180deg,#a8e6a8,#6cc46c 55%,#3f8f3f);
  border-color:#c8f5c8; color:#0d2410; box-shadow:0 8px 22px rgba(108,196,108,.3); }
.rgs-cta-off{ opacity:.5; }
.rgs-nota{ font-size:11px; color:#7b88ad; text-align:center; max-width:640px; }

@media (max-width:900px){
  .rgs-vs{ grid-template-columns:1fr; }
  .rgs-flecha span{ transform:rotate(90deg); animation:none; }
  .rgs-lado-spr{ width:110px; height:110px; }
  .rgs-panel-nom{ font-size:16px; }
}

/* ════════════════════════════════════════════════════════════
   s738 · INTERCAMBIO PRODIGIOSO — sin iconos sueltos, títulos
   grandes centrados y pases (tickets) de intercambio gratis.
   ════════════════════════════════════════════════════════════ */
/* Tarjetas de modo: título grande y centrado, sin iconos. */
.itc-panel .tr-mode{ display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; gap:4px; min-height:74px; padding:14px 18px; }
.itc-panel .tr-mode-ico{ display:none !important; }
.itc-panel .tr-mode-tx{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.itc-modo-tit{ font-family:var(--game),sans-serif; font-size:17px; font-weight:800;
  letter-spacing:1.6px; color:#fff; text-shadow:0 2px 6px rgba(0,0,0,.55); }
.itc-panel .tr-mode.on .itc-modo-tit{ color:#ffd76a; text-shadow:0 0 14px rgba(245,180,0,.5); }
.itc-panel .tr-mode small{ font-size:11.5px; color:#8fa0cc; }

/* Cabecera sin emoji de flechas. */
.itc-head b{ font-family:var(--game),sans-serif; letter-spacing:1.8px; }

/* Pestañas EQUIPO / CAJA: grandes, sin iconos. */
.itc-tabs .advce-tab{ font-family:var(--game),sans-serif; font-size:15px; font-weight:800;
  letter-spacing:1.8px; padding:14px 10px; }

/* Estado (gratis diario / coste / PA). */
.itc-free{ color:#8ce68c; font-weight:800; letter-spacing:.4px; }
.itc-usado{ color:#c8a0a0; }
.itc-usado b{ color:#ffd76a; }
.itc-sep{ margin:0 8px; color:#5c6890; }
.itc-pa b{ color:#ffd76a; }

/* Pases de intercambio (tickets ganados como premio). */
.itc-tickets{ display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  margin:10px 0 2px; padding:9px 14px; border-radius:12px;
  background:linear-gradient(90deg,rgba(245,180,0,.14),rgba(245,180,0,.04));
  border:1px solid rgba(255,215,106,.32); }
.itc-tk-l{ font-family:var(--game),sans-serif; font-size:10.5px; font-weight:800;
  letter-spacing:1.4px; color:#ffd76a; margin-right:4px; }
.itc-tk{ font-size:17px; filter:drop-shadow(0 0 6px rgba(255,215,106,.7)); }
.itc-tk-mas{ font-size:12px; font-weight:800; color:#ffd76a; }
.itc-tk-n{ margin-left:auto; font-size:12px; font-weight:800; color:#ffe9a8; }

/* ════════════════════════════════════════════════════════════
   s739 · Cartel de pago del Intercambio Prodigioso.
   Si queda el gratis diario → un solo botón verde GRATIS.
   Si ya se usó → eliges: pagar 3.000 PA o gastar un 🎟 pase.
   ════════════════════════════════════════════════════════════ */
.itc-pay-ov{ position:fixed; inset:0; z-index:9800; display:flex; align-items:center;
  justify-content:center; background:rgba(4,7,16,.78); opacity:0; transition:opacity .18s; }
.itc-pay-ov.on{ opacity:1; }
.itc-pay-card{ width:min(560px,94vw); text-align:center; padding:26px 30px 22px;
  background:linear-gradient(180deg,rgba(20,26,50,.98),rgba(11,15,30,.99));
  border:1px solid rgba(127,178,255,.35); border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.7); transform:translateY(10px);
  transition:transform .18s; }
.itc-pay-ov.on .itc-pay-card{ transform:translateY(0); }
.itc-pay-h{ font-family:var(--game),sans-serif; font-size:19px; font-weight:800;
  letter-spacing:.8px; color:#fff; margin-bottom:6px; }
.itc-pay-spr img{ width:110px; height:110px; object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.55)); }
.itc-pay-tx{ font-size:12.5px; color:#a8b6d8; line-height:1.55; margin:6px 0 14px; }
.itc-pay-tx b{ color:#fff; }
.itc-pay-l{ font-family:var(--game),sans-serif; font-size:10.5px; font-weight:800;
  letter-spacing:1.4px; color:#8fa0cc; margin-bottom:10px; }
.itc-pay-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.itc-pay{ flex:1 1 190px; max-width:250px; display:flex; flex-direction:column;
  align-items:center; gap:3px; padding:15px 16px; border-radius:13px; cursor:pointer;
  border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.05);
  color:#dfe7ff; transition:transform .14s, box-shadow .14s, border-color .14s; }
.itc-pay:hover:not(:disabled){ transform:translateY(-3px); }
.itc-pay-t{ font-family:var(--game),sans-serif; font-size:16px; font-weight:800; letter-spacing:1.1px; }
.itc-pay-s{ font-size:11px; opacity:.8; }
.itc-pay-free{ background:linear-gradient(180deg,#a8e6a8,#6cc46c 55%,#3f8f3f);
  border-color:#c8f5c8; color:#0d2410; max-width:320px; }
.itc-pay-free:hover{ box-shadow:0 10px 26px rgba(108,196,108,.45); }
.itc-pay-pa{ background:linear-gradient(180deg,#ffd76a,#f5b400 55%,#c98f00);
  border-color:#ffe9a8; color:#1a1200; }
.itc-pay-pa:hover:not(:disabled){ box-shadow:0 10px 26px rgba(245,180,0,.45); }
.itc-pay-tk{ background:linear-gradient(180deg,#c9a6ff,#9b6ee8 55%,#6f45b8);
  border-color:#e0ccff; color:#150a26; }
.itc-pay-tk:hover:not(:disabled){ box-shadow:0 10px 26px rgba(155,110,232,.45); }
.itc-pay.off, .itc-pay:disabled{ opacity:.34; cursor:default; filter:grayscale(.6); transform:none; }
.itc-pay-x{ margin-top:14px; font-size:12.5px; font-weight:700; letter-spacing:.6px;
  color:#8fa0cc; background:none; border:none; cursor:pointer; padding:6px 14px; }
.itc-pay-x:hover{ color:#fff; }

/* ════════════════════════════════════════════════════════════
   s740 · CAZA LIBRE — tarjetas de TIER.
   Mismo lenguaje visual que los biomas de la exploración:
   variable --bc por tarjeta, halo radial arriba y glow al hover.
   Colores = los de la rareza del encuentro (común → muy raro).
   ════════════════════════════════════════════════════════════ */
.lbt-h{ font-family:var(--game),sans-serif; font-size:12px; font-weight:800;
  letter-spacing:2px; color:#9fd0ff; text-align:center; margin:20px 0 12px; }
.lbt-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px; max-width:1200px; margin:0 auto 22px; }
.lbt-card{ position:relative; overflow:hidden; display:flex; flex-direction:column;
  align-items:center; gap:5px; text-align:center; cursor:pointer;
  padding:18px 16px 16px; border-radius:16px; color:#dfe7ff;
  background:linear-gradient(180deg,rgba(26,34,60,.88),rgba(14,19,36,.94));
  border:2px solid color-mix(in srgb, var(--bc) 38%, transparent);
  box-shadow:0 6px 18px rgba(0,0,0,.45);
  transition:transform .16s, box-shadow .16s, border-color .16s; }
.lbt-card::before{ content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--bc) 26%, transparent), transparent 70%); }
.lbt-card:hover{ transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--bc) 70%, transparent);
  box-shadow:0 0 26px color-mix(in srgb, var(--bc) 45%, transparent), 0 14px 30px rgba(0,0,0,.6); }
.lbt-card.on{ border-color:var(--bc);
  box-shadow:0 0 30px color-mix(in srgb, var(--bc) 62%, transparent), 0 14px 30px rgba(0,0,0,.6);
  animation:lbtPulse 2.2s ease-in-out infinite; }
@keyframes lbtPulse{
  0%,100%{ box-shadow:0 0 20px color-mix(in srgb, var(--bc) 42%, transparent), 0 14px 30px rgba(0,0,0,.6); }
  50%    { box-shadow:0 0 38px color-mix(in srgb, var(--bc) 78%, transparent), 0 14px 30px rgba(0,0,0,.6); } }
.lbt-ico{ font-size:30px; color:var(--bc); line-height:1;
  filter:drop-shadow(0 0 10px color-mix(in srgb, var(--bc) 70%, transparent)); }
.lbt-nom{ font-family:var(--game),sans-serif; font-size:15px; font-weight:800;
  letter-spacing:1.6px; color:var(--bc); }
.lbt-rango{ font-size:10.5px; font-weight:800; letter-spacing:.8px; color:#8fa0cc;
  padding:2px 10px; border-radius:999px; background:rgba(255,255,255,.06); }
.lbt-desc{ font-size:11.5px; color:#a8b6d8; line-height:1.45; margin-top:3px; }
.lbt-n{ margin-top:4px; font-size:10.5px; font-weight:800; color:#7b88ad; letter-spacing:.6px; }
.lbt-on{ position:absolute; top:8px; right:8px; font-family:var(--game),sans-serif;
  font-size:9px; font-weight:800; letter-spacing:1.2px; padding:3px 8px; border-radius:6px;
  background:var(--bc); color:#0b0f1e; }
/* El botón de buscar toma el color del tier elegido. */
.libre-btn{ border-color:color-mix(in srgb, var(--bc,#f5b400) 60%, transparent) !important;
  box-shadow:0 0 22px color-mix(in srgb, var(--bc,#f5b400) 40%, transparent) !important; }
@media (max-width:640px){
  .lbt-grid{ grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
  .lbt-desc{ display:none; }
}

/* ════════════════════════════════════════════════════════════
   s741 · MOCHILA a pantalla completa (PC, no móvil).
   La regla .advc-card (max-width:860px) se declara DESPUÉS de la
   media query de escritorio, así que ganaba y dejaba la mochila
   estrecha. Aquí se corrige con reglas al final del archivo.
   ════════════════════════════════════════════════════════════ */
#adv-mochila-overlay{ padding:2vh 1vw; }
#adv-mochila-overlay .advc-card{
  max-width:1700px !important; width:98vw !important;
  height:96vh !important; max-height:96vh !important;
  display:flex; flex-direction:column; overflow:hidden;
  padding:20px 28px 22px; }
/* Cabecera fija; solo el contenido hace scroll. */
#adv-mochila-overlay .adv-title,
#adv-mochila-overlay .advt-sub,
#adv-mochila-overlay .advt-tabs,
#adv-mochila-overlay .advt-search{ flex:0 0 auto; }
#adv-mochila-overlay .advt-pane{ flex:1 1 auto; min-height:0; overflow-y:auto;
  overflow-x:hidden; padding-right:6px; }
#adv-mochila-overlay .advt-tab{ font-size:14px; letter-spacing:1.2px; padding:12px 20px; }
/* Rejillas anchas: se aprovecha todo el escritorio. */
#adv-mochila-overlay .advm-grid{
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr)) !important; gap:12px; }
#adv-mochila-overlay .advm-grid-mts{
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr)) !important; }
#adv-mochila-overlay .advm-item{ padding:12px 10px; }
#adv-mochila-overlay .advm-nom{ font-size:12.5px; }
#adv-mochila-overlay .advt-disc{ width:46px; height:46px; }

/* ── Megapiedras: se ven TODAS, las equipadas en gris ────────── */
.advm-mega-res{ display:flex; gap:10px; align-items:baseline; flex-wrap:wrap;
  margin:2px 2px 12px; font-size:12px; color:#8fa0cc; }
.advm-mega-res b{ color:#dfe7ff; }
.advm-mega-res-l b{ color:#8ce68c; }
.advm-mega-res-e b{ color:#ffd76a; }
.advm-mega-usada{ opacity:.55; filter:grayscale(.85); }
.advm-mega-usada:hover{ opacity:.9; filter:grayscale(.35); }
.advm-mega-usada img{ filter:grayscale(1) brightness(.85); }
.advm-mega-cero{ font-size:10px !important; font-weight:800; letter-spacing:.8px;
  color:#8fa0cc !important; text-transform:uppercase; }
.advm-mega-tag{ display:block; margin-top:3px; font-size:9.5px; font-weight:800;
  letter-spacing:.4px; color:#0b0f1e; background:#8fa0cc; border-radius:5px;
  padding:2px 6px; max-width:100%; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; }
@media (max-width:860px){
  #adv-mochila-overlay .advc-card{ width:97vw !important; height:94vh !important; padding:14px; }
  #adv-mochila-overlay .advm-grid{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)) !important; }
}

/* ════════════════════════════════════════════════════════════
   s743 · Mochila MTs: filtro de TIPO con rejilla de color
   (igual que el del PC) en lugar del <select> nativo de Chrome.
   ════════════════════════════════════════════════════════════ */
.advm-tipowrap{ position:relative; display:inline-block; }
.advm-tipobtn{ font-family:var(--game),sans-serif; font-weight:800; font-size:12px;
  letter-spacing:1px; text-transform:uppercase; color:#dbe4f5; cursor:pointer;
  padding:9px 16px; border-radius:10px;
  background:linear-gradient(160deg,#2a3d6e,#1e2a52); border:1px solid #3a5090;
  box-shadow:0 2px 0 rgba(0,0,0,.5); transition:.14s; }
.advm-tipobtn:hover{ background:linear-gradient(160deg,#34497f,#25325f); }
.advm-tipobtn.on{ background:var(--tcol,#2a3d6e); border-color:var(--tcol,#3a5090);
  color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.6);
  box-shadow:0 2px 0 rgba(0,0,0,.5), 0 0 14px color-mix(in srgb, var(--tcol,#3a5090) 55%, transparent); }
/* La rejilla reutiliza .pcbox-tipogrid; solo se ajusta el anclaje. */
.advm-tipogrid{ left:0; transform:none; min-width:330px; }
.advm-filtros{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

/* ── Megapiedra equipada: el sprite conserva su COLOR ────────── */
/* Solo se apaga el recuadro para indicar que no se puede elegir. */
.advm-mega-usada{ opacity:1; filter:none;
  background:rgba(255,255,255,.03) !important;
  border-color:rgba(255,255,255,.1) !important;
  box-shadow:none !important; cursor:not-allowed; }
.advm-mega-usada img{ filter:none !important; opacity:1 !important; }
.advm-mega-usada .advm-nom{ color:#8fa0cc; }
.advm-mega-usada:hover{ transform:none; }

/* ════════════════════════════════════════════════════════════
   s745 · MOCHILA: tarjetas grandes de verdad en escritorio.
   Las anteriores eran filas compactas de 30px pensadas para
   móvil. Ahora cada objeto es una tarjeta vertical con sprite
   grande, nombre legible y cantidad destacada.
   ════════════════════════════════════════════════════════════ */
#adv-mochila-overlay .advm-item{
  flex-direction:column; justify-content:center; text-align:center; gap:6px;
  padding:16px 12px 14px; border-radius:14px;
  background:linear-gradient(180deg,rgba(26,34,60,.7),rgba(14,19,36,.75));
  transition:transform .14s, box-shadow .14s, border-color .14s; }
#adv-mochila-overlay .advm-item:hover{ transform:translateY(-3px);
  border-color:rgba(127,178,255,.5); box-shadow:0 10px 24px rgba(0,0,0,.5); }
#adv-mochila-overlay .advm-item img{ width:62px; height:62px; }
#adv-mochila-overlay .advm-nom{ flex:0 0 auto; font-size:14px; white-space:normal;
  line-height:1.25; max-width:100%; }
#adv-mochila-overlay .advm-item b{ font-size:16px; }

/* ── BALLS: solo 5 tipos, así que muy grandes ────────────────── */
#adv-mochila-overlay .advm-grid-balls{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important; gap:18px; }
#adv-mochila-overlay .advm-grid-balls .advm-item{ padding:26px 16px 22px; gap:10px; }
#adv-mochila-overlay .advm-grid-balls .advm-item img{ width:104px; height:104px;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.5)); }
#adv-mochila-overlay .advm-grid-balls .advm-nom{ font-size:17px; letter-spacing:.6px; }
#adv-mochila-overlay .advm-grid-balls .advm-item b{ font-size:22px; }

/* ── MTs: disco grande y nombre legible ──────────────────────── */
#adv-mochila-overlay .advm-grid-mts{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr)) !important; gap:14px; }
#adv-mochila-overlay .advm-grid-mts .advt-disc{ width:60px; height:60px; }
#adv-mochila-overlay .advm-grid-mts .advm-nom{ font-size:14.5px; font-weight:700; }

/* ── Objetos, mentas y megas: tarjetas amplias ───────────────── */
#adv-mochila-overlay .advm-grid{
  grid-template-columns:repeat(auto-fill,minmax(185px,1fr)) !important; gap:14px; }
#adv-mochila-overlay .advm-grid-mega{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr)) !important; }
#adv-mochila-overlay .advm-grid-mega .advm-item img{ width:76px; height:76px; }
#adv-mochila-overlay .advm-enuso-tag,
#adv-mochila-overlay .advm-item-i{ position:absolute; }
#adv-mochila-overlay .advm-item{ position:relative; }
#adv-mochila-overlay .advm-item-i{ top:6px; right:8px; }
#adv-mochila-overlay .advm-enuso-tag{ top:6px; left:8px; }

/* ── Filtro de CLASE con los iconos oficiales ────────────────── */
.advm-catwrap{ display:inline-flex; gap:7px; align-items:center; }
.advm-catbtn{ display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  padding:7px 13px; border-radius:10px; color:#dbe4f5;
  font-family:var(--game),sans-serif; font-weight:800; font-size:11.5px;
  letter-spacing:.8px; text-transform:uppercase;
  background:linear-gradient(160deg,#2a3d6e,#1e2a52); border:1px solid #3a5090;
  box-shadow:0 2px 0 rgba(0,0,0,.5); transition:.14s; }
.advm-catbtn:hover{ background:linear-gradient(160deg,#34497f,#25325f); transform:translateY(-1px); }
.advm-catbtn.on{ border-color:#ffd76a; color:#fff;
  box-shadow:0 2px 0 rgba(0,0,0,.5), 0 0 14px rgba(255,215,106,.5); }
.advm-catico{ display:inline-flex; align-items:center; line-height:0; }
.advm-catico img{ width:38px !important; height:auto !important; display:block; }
.advm-catbtn-todas{ padding:7px 16px; }

@media (max-width:860px){
  #adv-mochila-overlay .advm-grid-balls{ grid-template-columns:repeat(auto-fit,minmax(140px,1fr)) !important; }
  #adv-mochila-overlay .advm-grid-balls .advm-item img{ width:72px; height:72px; }
  .advm-catlbl{ display:none; }
}

/* ════════════════════════════════════════════════════════════
   s746 · Ajustes finos de mochila y tienda.
   ════════════════════════════════════════════════════════════ */
/* ── MTs: se recupera el formato HORIZONTAL (disco a la izquierda,
      nombre a la derecha). El disco vuelve a un tamaño discreto y
      el nombre gana peso; ya no lleva el prefijo "MT". ────────── */
#adv-mochila-overlay .advm-grid-mts{
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important; gap:10px; }
#adv-mochila-overlay .advm-grid-mts .advm-item{
  flex-direction:row !important; align-items:center; text-align:left;
  gap:12px; padding:11px 14px; }
#adv-mochila-overlay .advm-grid-mts .advt-disc{
  width:34px !important; height:34px !important; flex-shrink:0; }
#adv-mochila-overlay .advm-grid-mts .advm-nom{
  flex:1 1 auto; font-size:16px; font-weight:700; letter-spacing:.3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── TIENDA · BALLS: mismo tamaño generoso que en la mochila ─── */
.advt-grid-balls{ grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important; gap:16px; }
.advt-grid-balls .advt-card-item{ align-items:center; text-align:center;
  padding:22px 16px 16px; gap:5px; }
.advt-grid-balls .advt-ballimg{ width:104px !important; height:104px !important;
  margin-bottom:6px; filter:drop-shadow(0 6px 12px rgba(0,0,0,.5)); }
.advt-grid-balls .advt-nom{ font-size:17px; letter-spacing:.6px; flex:0 0 auto; }
.advt-grid-balls .advt-bonus{ font-size:12.5px; }
.advt-grid-balls .advt-tienes{ font-size:12.5px; }
.advt-grid-balls .advt-buy{ font-size:14px; padding:10px 12px; }
@media (max-width:860px){
  .advt-grid-balls{ grid-template-columns:repeat(auto-fit,minmax(140px,1fr)) !important; }
  .advt-grid-balls .advt-ballimg{ width:72px !important; height:72px !important; }
  #adv-mochila-overlay .advm-grid-mts{ grid-template-columns:repeat(auto-fill,minmax(190px,1fr)) !important; }
}

/* ════════════════════════════════════════════════════════════
   s747 · TORNEO · DRAFT RANDOM (tercer modo).
   Cuadrícula de 32 Pokémon con ataques + habilidad al azar.
   Estética de draft (morado) para diferenciarlo de los otros dos.
   ════════════════════════════════════════════════════════════ */
.torneo-modo-tab.tdt-draft.on{ background:linear-gradient(180deg,#9b6ee8,#6f45b8);
  border-color:#c9a6ff; color:#fff; box-shadow:0 0 16px rgba(155,110,232,.5); }
.torneo-intro-draft{ border-color:rgba(155,110,232,.5) !important;
  box-shadow:0 0 0 1px rgba(155,110,232,.3), 0 0 40px rgba(155,110,232,.18) !important; }
.torneo-join-draft{ background:linear-gradient(180deg,#c9a6ff,#9b6ee8 55%,#6f45b8) !important;
  border-color:#e0ccff !important; color:#150a26 !important;
  box-shadow:0 8px 22px rgba(155,110,232,.4) !important; }

.tdr-wrap{ max-width:1500px; margin:0 auto; padding-bottom:26px; }
.tdr-count{ font-family:var(--game),sans-serif; font-weight:800; font-size:16px;
  letter-spacing:1px; color:#c9a6ff; }
.tdr-intro{ text-align:center; font-size:12.5px; color:#a8b6d8; margin:10px 0 16px; }
.tdr-intro b{ color:#c9a6ff; }
.tdr-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:10px; }
@media (max-width:1100px){ .tdr-grid{ grid-template-columns:repeat(5,1fr); } }
@media (max-width:760px){ .tdr-grid{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); } }
.tdr-cell{ position:relative; display:flex; flex-direction:column; align-items:center;
  gap:3px; padding:9px 8px; border-radius:12px; cursor:pointer; text-align:center;
  color:#dfe7ff; background:linear-gradient(180deg,rgba(26,34,60,.85),rgba(14,19,36,.92));
  border:2px solid rgba(255,255,255,.09); transition:transform .14s, border-color .14s, box-shadow .14s; }
.tdr-cell:hover:not(:disabled){ transform:translateY(-3px); border-color:#9b6ee8;
  box-shadow:0 10px 24px rgba(0,0,0,.5), 0 0 18px rgba(155,110,232,.4); }
.tdr-cell.sel{ border-color:#c9a6ff;
  background:linear-gradient(180deg,rgba(60,44,96,.9),rgba(30,20,50,.94));
  box-shadow:0 0 22px rgba(155,110,232,.5); }
.tdr-cell.bloq{ opacity:.4; cursor:default; filter:grayscale(.4); }
.tdr-cell-num{ position:absolute; top:6px; left:8px; width:24px; height:24px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:var(--game),sans-serif;
  font-weight:800; font-size:13px; background:#9b6ee8; color:#fff; box-shadow:0 0 10px rgba(155,110,232,.7); }
.tdr-cell{ cursor:help; }
.tdr-cell-spr img{ width:74px; height:74px; object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)); }
.tdr-cell-nom{ font-family:var(--game),sans-serif; font-weight:800; font-size:12.5px; color:#fff; }
.tdr-cell-tipos{ display:flex; gap:4px; justify-content:center; }
.tdr-cell-hab{ font-size:9.5px; font-weight:700; color:#c9a6ff; letter-spacing:.3px;
  padding:1px 7px; border-radius:999px; background:rgba(155,110,232,.16); }
.tdr-cell-movs{ display:flex; flex-wrap:wrap; gap:4px; justify-content:center; margin-top:2px; }
.tdr-mv{ font-size:8.5px; font-weight:700; color:#dfe7ff; padding:1px 5px; border-radius:5px;
  border:1px solid #888; background:rgba(0,0,0,.25); }
.tdr-actions{ display:flex; gap:12px; justify-content:center; align-items:center;
  flex-wrap:wrap; margin-top:20px; }
.tdr-reroll{ background:linear-gradient(180deg,#3a2a5e,#241640); border:1px solid #6f45b8;
  color:#e0ccff; }
.tdr-reroll:hover{ background:linear-gradient(180deg,#4a366f,#2e1c50); }
.tdr-confirm{ background:linear-gradient(180deg,#c9a6ff,#9b6ee8 55%,#6f45b8) !important;
  border-color:#e0ccff !important; color:#150a26 !important; }
.tdr-confirm:disabled{ opacity:.4; cursor:default; filter:grayscale(.5); }
@media (max-width:640px){
  .tdr-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
  .tdr-cell-movs{ display:none; }
}

/* ════════════════════════════════════════════════════════════
   s748 · Mochila MTs con fondo suavemente teñido por tipo.
   ════════════════════════════════════════════════════════════ */
#adv-mochila-overlay .advm-grid-mts .advm-mt{
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--tc) 16%, rgba(20,26,46,.7)),
    color-mix(in srgb, var(--tc) 8%, rgba(12,17,32,.78))) !important;
  border:1px solid color-mix(in srgb, var(--tc) 42%, transparent) !important; }
#adv-mochila-overlay .advm-grid-mts .advm-mt:hover{
  border-color:color-mix(in srgb, var(--tc) 75%, transparent) !important;
  box-shadow:0 6px 18px color-mix(in srgb, var(--tc) 30%, transparent); }

/* ════════════════════════════════════════════════════════════
   s748 · FRENTE — logro→llave (barra de progreso) y cofre.
   ════════════════════════════════════════════════════════════ */
.frt-logro{ display:flex; align-items:center; gap:8px; padding:8px 12px; }
.frt-logro .frt-sim-ico{ font-size:16px; }
.frt-logro .frt-sim-tx{ font-family:var(--game),sans-serif; font-weight:800;
  font-size:11px; letter-spacing:.6px; color:#dfe7ff; min-width:58px; }
.frt-logro-bar{ flex:1 1 auto; height:8px; border-radius:6px;
  background:rgba(255,255,255,.1); overflow:hidden; min-width:60px; }
.frt-logro-bar i{ display:block; height:100%; border-radius:6px; transition:width .3s; }
.frt-logro .frt-sim-prog{ font-size:11px; font-weight:800; color:#ffd76a; }

.frt-cofre-panel{ max-width:720px !important; }
.frt-cofre-opts{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.frt-cofre-opt{ flex:1 1 200px; max-width:230px; display:flex; flex-direction:column;
  align-items:center; gap:5px; text-align:center; cursor:pointer;
  padding:20px 16px; border-radius:14px; color:#dfe7ff;
  background:linear-gradient(180deg,rgba(28,36,64,.9),rgba(16,22,42,.94));
  border:1px solid rgba(255,255,255,.14); transition:transform .14s, box-shadow .14s, border-color .14s; }
.frt-cofre-opt:hover{ transform:translateY(-4px); border-color:#ffd76a;
  box-shadow:0 12px 28px rgba(0,0,0,.5), 0 0 20px rgba(255,215,106,.35); }
.frt-cofre-opt b{ font-family:var(--game),sans-serif; font-size:15px; letter-spacing:.5px; color:#fff; }
.frt-cofre-opt small{ font-size:11px; color:#8fa0cc; }
.frt-cofre-ico{ font-size:34px; line-height:1; }

/* s749 · Draft: botón CONFIRMAR arriba a la derecha (en la cabecera). */
.tdr-confirm-top{ margin-left:12px; padding:10px 20px; font-size:13px; vertical-align:middle; }
.adv-head .tdr-count{ margin-right:4px; }

/* s749 · Tooltip de ataques: categoría + potencia dentro del chip. */
.tr-tt-mvcat img{ width:26px !important; height:auto !important; }
.tr-tt-mvcat img{ width:24px !important; height:auto !important; vertical-align:middle; border-radius:2px; }
.tr-tt-mvp{ color:#ffd76a; font-weight:800; }
.tr-tt-mvs{ color:#9fb0c8; font-weight:700; font-size:9px; }

/* s750 · Domo: rival OCULTO (3 incógnitas, sin stats/ataques/nombre/orden). */
.frt-rival-hint{ margin-left:auto; font-size:11px; font-weight:800; letter-spacing:.4px;
  color:#c9a6ff; background:rgba(155,110,232,.16); padding:3px 10px; border-radius:999px; }
.frt-rival-oculto{ display:flex; align-items:center; justify-content:center;
  width:88px; height:88px; border-radius:14px; cursor:help;
  background:radial-gradient(circle at 50% 35%, rgba(60,44,96,.7), rgba(16,20,40,.92));
  border:2px dashed rgba(155,110,232,.55); box-shadow:inset 0 0 24px rgba(155,110,232,.2); }
.frt-rival-oculto .frt-rival-q{ font-family:var(--game),sans-serif; font-size:40px;
  font-weight:800; color:#c9a6ff; text-shadow:0 0 14px rgba(155,110,232,.7);
  animation:frtQpulse 2s ease-in-out infinite; }
@keyframes frtQpulse{ 0%,100%{ opacity:.7; transform:scale(1); } 50%{ opacity:1; transform:scale(1.08); } }

/* ════════════════════════════════════════════════════════════
   s752 · DRAFT · asignación de OBJETOS (pool de 10, arrastra/clica).
   ════════════════════════════════════════════════════════════ */
.tdi-wrap{ max-width:1300px; margin:0 auto; padding-bottom:26px; }
.tdi-pend{ text-align:center; font-size:13px; color:#150a26; font-weight:700;
  background:linear-gradient(180deg,#ffe9a8,#ffd76a); border:1px solid #ffe9a8;
  border-radius:10px; padding:9px 14px; margin:8px auto 14px; max-width:560px; }
.tdi-pend b{ color:#7a5a00; }
.tdi-pend-x{ margin-left:8px; background:rgba(0,0,0,.15); border:none; border-radius:6px;
  cursor:pointer; padding:2px 8px; font-weight:800; }
/* Tu equipo: 6 tarjetas (zonas de suelta) */
.tdi-team{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.tdi-mon{ position:relative; display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:12px 10px; border-radius:14px; cursor:pointer; text-align:center;
  background:linear-gradient(180deg,rgba(26,34,60,.85),rgba(14,19,36,.92));
  border:2px solid rgba(255,255,255,.1); transition:transform .14s, border-color .14s, box-shadow .14s; }
.tdi-mon:hover{ transform:translateY(-3px); border-color:#7fb2ff; }
.tdi-mon.has{ border-color:#8ce68c; }
.tdi-mon.tdi-drop{ border-style:dashed; border-color:#ffd76a;
  box-shadow:0 0 18px rgba(255,215,106,.4); }
.tdi-mon-spr img{ width:66px; height:66px; object-fit:contain; }
.tdi-mon-nom{ font-family:var(--game),sans-serif; font-weight:800; font-size:12px; color:#fff; }
.tdi-mon-item{ display:flex; align-items:center; gap:5px; font-size:11px; font-weight:700;
  color:#c8f5c8; background:rgba(140,230,140,.12); border-radius:999px; padding:3px 9px; }
.tdi-mon-item img.tdi-item-spr{ width:20px; height:20px; object-fit:contain; }
.tdi-mon-noitem{ color:#8fa0cc; background:rgba(255,255,255,.05); }
/* Pool de objetos */
.tdi-pooltit{ font-family:var(--game),sans-serif; font-size:12px; font-weight:800;
  letter-spacing:1.4px; color:#9fd0ff; text-align:center; margin:4px 0 12px; }
.tdi-pool{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:20px; }
.tdi-chip{ position:relative; display:flex; flex-direction:column; align-items:center; gap:3px;
  width:104px; padding:11px 8px; border-radius:12px; cursor:grab; color:#dfe7ff;
  background:linear-gradient(180deg,rgba(30,38,66,.9),rgba(16,22,42,.94));
  border:1px solid rgba(255,255,255,.14); transition:transform .12s, border-color .12s, box-shadow .12s; }
.tdi-chip:hover{ transform:translateY(-3px); border-color:#7fb2ff; box-shadow:0 8px 20px rgba(0,0,0,.45); }
.tdi-chip:active{ cursor:grabbing; }
.tdi-chip.cogido{ border-color:#ffd76a; box-shadow:0 0 16px rgba(255,215,106,.5); }
.tdi-chip.usado{ opacity:.5; filter:grayscale(.4); }
.tdi-chip-spr{ width:38px !important; height:38px !important; object-fit:contain; }
.tdi-chip-nom{ font-size:10.5px; font-weight:700; line-height:1.15; }
.tdi-chip-usado{ position:absolute; top:5px; right:5px; font-size:8px; font-weight:800;
  letter-spacing:.4px; background:#5c6890; color:#fff; border-radius:4px; padding:1px 4px; }
.torneo-preacts{ display:flex; gap:12px; justify-content:center; align-items:center; flex-wrap:wrap; }
.tdi-editbtn{ background:linear-gradient(160deg,#2a3d6e,#1e2a52); border:1px solid #3a5090; }

/* ════════════════════════════════════════════════════════════
   s753 · Cofre con 4 opciones, tipos del rival del Domo y
   animación del legendario del cofre.
   ════════════════════════════════════════════════════════════ */
.frt-cofre-panel{ max-width:920px !important; }
.frt-cofre-opt-leg{ background:linear-gradient(180deg,rgba(60,44,96,.92),rgba(30,20,50,.95)) !important;
  border-color:rgba(201,166,255,.5) !important; }
.frt-cofre-opt-leg:hover{ border-color:#c9a6ff !important; box-shadow:0 12px 28px rgba(0,0,0,.5), 0 0 22px rgba(155,110,232,.45) !important; }
.frt-rival-tipos{ display:flex; gap:4px; justify-content:center; margin-top:2px; }

/* Animación del legendario del cofre */
.frt-legov{ position:fixed; inset:0; z-index:9900; display:flex; align-items:center;
  justify-content:center; background:radial-gradient(circle at 50% 45%, rgba(30,20,50,.9), rgba(4,7,16,.96));
  opacity:0; transition:opacity .25s; }
.frt-legov.on{ opacity:1; }
.frt-legstage{ position:relative; text-align:center; }
.frt-legcofre{ font-size:90px; transition:transform .5s, opacity .5s;
  filter:drop-shadow(0 0 20px rgba(255,215,106,.6)); }
.frt-legov.revelado .frt-legcofre{ transform:translateY(-30px) scale(.4); opacity:0; }
.frt-legflash{ position:absolute; inset:0; margin:auto; width:10px; height:10px; border-radius:50%;
  background:#fff; opacity:0; }
.frt-legov.revelado .frt-legflash{ animation:frtLegFlash .5s ease-out; }
@keyframes frtLegFlash{ 0%{ opacity:1; box-shadow:0 0 0 0 rgba(255,255,255,.9);} 100%{ opacity:0; box-shadow:0 0 0 600px rgba(255,255,255,0);} }
.frt-legspr{ opacity:0; transform:scale(.4); transition:opacity .5s .2s, transform .5s .2s; }
.frt-legov.revelado .frt-legspr{ opacity:1; transform:scale(1); }
.frt-legspr img{ width:190px; height:190px; object-fit:contain; filter:drop-shadow(0 8px 26px rgba(155,110,232,.7)); }
.frt-legrays{ position:absolute; top:50%; left:50%; width:340px; height:340px; margin:-170px 0 0 -170px;
  border-radius:50%; opacity:0; pointer-events:none;
  background:conic-gradient(from 0deg, transparent 0 12deg, rgba(255,215,106,.28) 12deg 20deg, transparent 20deg 32deg,
    rgba(255,215,106,.28) 32deg 40deg, transparent 40deg 60deg, rgba(201,166,255,.28) 60deg 68deg, transparent 68deg 90deg,
    rgba(255,215,106,.28) 90deg 98deg, transparent 98deg 120deg, rgba(201,166,255,.28) 120deg 128deg, transparent 128deg 180deg,
    rgba(255,215,106,.28) 180deg 188deg, transparent 188deg 360deg); }
.frt-legov.revelado .frt-legrays{ opacity:1; animation:frtLegSpin 12s linear infinite; }
@keyframes frtLegSpin{ to{ transform:rotate(360deg);} }
.frt-legnom{ font-family:var(--game),sans-serif; font-size:24px; font-weight:800; letter-spacing:1px;
  color:#ffd76a; text-shadow:0 0 16px rgba(255,215,106,.6); margin-top:10px; opacity:0; transition:opacity .4s .5s; }
.frt-legsub{ font-size:13px; color:#c9a6ff; margin-top:4px; opacity:0; transition:opacity .4s .6s; }
.frt-legov.revelado .frt-legnom, .frt-legov.revelado .frt-legsub{ opacity:1; }
.frt-legok{ margin-top:18px; font-family:var(--game),sans-serif; font-weight:800; font-size:14px;
  letter-spacing:.8px; padding:11px 28px; border-radius:11px; cursor:pointer; color:#1a1200;
  background:linear-gradient(180deg,#ffd76a,#f5b400 55%,#c98f00); border:1px solid #ffe9a8;
  opacity:0; transition:opacity .4s .7s, transform .14s; }
.frt-legov.revelado .frt-legok{ opacity:1; }
.frt-legok:hover{ transform:translateY(-2px); }

/* ════════════════════════════════════════════════════════════
   s754 · Draft: bandeja de seleccionados (con ℹ) e info modal.
   ════════════════════════════════════════════════════════════ */
.tdr-seltit{ font-family:var(--game),sans-serif; font-size:12px; font-weight:800;
  letter-spacing:1.4px; color:#c9a6ff; text-align:center; margin:16px 0 8px; }
.tdr-selrow{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:14px; }
.tdr-sel{ position:relative; width:104px; display:flex; flex-direction:column; align-items:center;
  gap:1px; padding:8px 6px 6px; border-radius:12px; cursor:help;
  background:linear-gradient(180deg,rgba(60,44,96,.55),rgba(20,26,46,.85));
  border:1px solid rgba(201,166,255,.4); }
.tdr-sel-num{ position:absolute; top:4px; left:5px; width:19px; height:19px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:var(--game),sans-serif;
  font-weight:800; font-size:11px; background:#9b6ee8; color:#fff; }
.tdr-sel-spr img{ width:52px; height:52px; object-fit:contain; }
.tdr-sel-nom{ font-size:11px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; max-width:96px; }
.tdr-sel-i{ margin-top:3px; width:100%; font-family:var(--game),sans-serif; font-weight:800;
  font-size:11px; border:none; border-radius:6px; cursor:pointer; padding:3px 0;
  background:linear-gradient(180deg,#7fb2ff,#4f7fd9); color:#08122a; }
.tdr-sel-i:hover{ filter:brightness(1.1); }
.tdr-sel-x{ position:absolute; top:4px; right:5px; width:18px; height:18px; border-radius:50%;
  border:none; cursor:pointer; font-size:10px; font-weight:800; background:rgba(232,86,110,.85); color:#fff; }

.tdri-panel{ max-width:760px !important; }
.tdri-body{ display:grid; grid-template-columns:300px 1fr; gap:16px; align-items:start; }
.tdri-left .tr-tt-card{ pointer-events:none; }
.tdri-left{ background:rgba(10,15,30,.6); border:1px solid rgba(120,150,240,.35);
  border-radius:12px; padding:12px; }
.tdri-ab{ background:rgba(155,110,232,.1); border:1px solid rgba(155,110,232,.35);
  border-radius:10px; padding:10px 12px; margin-bottom:12px; }
.tdri-ab-t{ display:block; font-family:var(--game),sans-serif; font-size:10px; font-weight:800;
  letter-spacing:1.4px; color:#c9a6ff; }
.tdri-ab b{ font-size:16px; color:#fff; }
.tdri-ab p{ margin:5px 0 0; font-size:12.5px; color:#c8d4f5; line-height:1.5; }
.tdri-nodesc{ color:#8fa0cc !important; }
.tdri-mvtit{ font-family:var(--game),sans-serif; font-size:11px; font-weight:800;
  letter-spacing:1.4px; color:#9fd0ff; margin:0 0 8px; }
.tdri-mv{ background:rgba(255,255,255,.04); border-left:4px solid #888; border-radius:8px;
  padding:7px 10px; margin-bottom:7px; }
.tdri-mv-h{ display:flex; align-items:center; gap:7px; }
.tdri-mv-cat img{ width:26px !important; height:auto !important; }
.tdri-mv-h b{ font-size:13.5px; color:#fff; }
.tdri-mv-t{ font-size:9px; font-weight:800; color:#fff; padding:1px 7px; border-radius:7px;
  text-transform:uppercase; letter-spacing:.3px; }
.tdri-mv-pw{ margin-left:auto; font-size:11.5px; font-weight:800; color:#ffd76a; }
.tdri-mv-d{ margin-top:4px; font-size:11.5px; color:#a8b6d8; line-height:1.45; }
@media (max-width:720px){ .tdri-body{ grid-template-columns:1fr; } }

/* s755 · Alineación del Draft: badge de objeto abajo-derecha, arrastrable. */
.torneo-al-slot, .torneo-al-card{ position:relative; }
.torneo-al-item{ position:absolute; bottom:5px; right:5px; width:30px; height:30px;
  display:flex; align-items:center; justify-content:center; border-radius:8px; cursor:grab;
  background:rgba(10,15,30,.9); border:1px solid rgba(255,215,106,.5);
  box-shadow:0 2px 6px rgba(0,0,0,.5); z-index:3; }
.torneo-al-item:active{ cursor:grabbing; }
.torneo-al-item img.torneo-al-itemspr{ width:24px !important; height:24px !important; object-fit:contain; }
.torneo-al-itemslot{ position:absolute; bottom:5px; right:5px; width:30px; height:30px;
  border-radius:8px; border:1px dashed rgba(255,255,255,.25); background:rgba(255,255,255,.04); z-index:2; }


/* s756 · Ficha del Draft sin IVs (todos 31): columna y resumen ocultos. */
.tr-tt-noiv .tr-tt-row{ grid-template-columns:48px 1fr 34px; }
.tr-tt-noiv .tr-tt-iv{ display:none; }
/* Ficha ℹ del Draft: más grande y sin duplicar los ataques en la tarjeta izq. */
.tdri-panel{ max-width:1040px !important; width:96vw !important; }
.tdri-body{ grid-template-columns:360px 1fr; gap:20px; }
.tdri-left .tr-tt-moves{ display:none; }
.tdri-left .tr-tt-card{ font-size:14px; }
.tdri-left .tr-tt-spr{ width:82px; height:82px; }
.tdri-left .tr-tt-nom{ font-size:18px; }
.tdri-left .tr-tt-row{ font-size:13px; }
.tdri-left .tr-tt-line{ font-size:13.5px; }
.tdri-ab b{ font-size:18px; }
.tdri-ab p{ font-size:13.5px; }
.tdri-mv-h b{ font-size:15px; }
.tdri-mv-d{ font-size:12.5px; }
@media (max-width:760px){ .tdri-body{ grid-template-columns:1fr; } }

/* ════════════════════════════════════════════════════════════
   s757 · Tooltip: potencia + precisión juntas. Ficha ℹ más grande.
   ════════════════════════════════════════════════════════════ */
.tr-tt-mvstats{ margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; line-height:1; gap:1px; }
.tr-tt-mvp{ color:#ffd76a; font-weight:800; font-size:12.5px; }
.tr-tt-mvac{ color:#9fb0c8; font-weight:700; font-size:9px; }
.tr-tt-mvs{ color:#9fb0c8; font-weight:700; font-size:10px; }

/* Ficha ℹ del Draft: aún más grande, sin comerse letras. */
.tdri-panel{ max-width:1180px !important; width:97vw !important; padding:22px 26px 24px; }
.tdri-body{ grid-template-columns:400px 1fr; gap:24px; }
.tdri-panel .advce-head b{ font-size:20px; letter-spacing:1px; }
.tdri-left{ padding:16px; }
.tdri-left .tr-tt-spr{ width:96px; height:96px; }
.tdri-left .tr-tt-nom{ font-size:21px; }
.tdri-left .tr-tt-type{ font-size:11px; padding:2px 9px; }
.tdri-left .tr-tt-row{ font-size:14px; grid-template-columns:66px 1fr 42px; }
.tdri-left .tr-tt-line{ font-size:15px; }
.tdri-left .tr-tt-lv{ font-size:13px; }
.tdri-ab{ padding:14px 16px; }
.tdri-ab-t{ font-size:11px; }
.tdri-ab b{ font-size:21px; }
.tdri-ab p{ font-size:15px; line-height:1.6; }
.tdri-mvtit{ font-size:13px; margin-bottom:10px; }
.tdri-mv{ padding:9px 13px; margin-bottom:9px; }
.tdri-mv-cat img{ width:30px !important; }
.tdri-mv-h b{ font-size:16.5px; }
.tdri-mv-t{ font-size:10px; padding:2px 9px; }
.tdri-mv-pw{ font-size:13px; }
.tdri-mv-d{ font-size:13.5px; line-height:1.5; margin-top:5px; }

/* 🎒 Editar objetos centrado y junto al botón de luchar. */
.torneo-preacts{ display:flex !important; justify-content:center; align-items:center;
  gap:16px; flex-wrap:wrap; margin:0 auto 18px; }
.torneo-preacts .torneo-fight{ margin:0 !important; }
.tdi-editbtn{ font-size:14px; padding:13px 22px; margin:0 !important; }
@media (max-width:820px){ .tdri-body{ grid-template-columns:1fr; } }

/* s759 · Objeto que lleva el Pokémon en el tooltip rico. */
.tr-tt-item{ display:flex; align-items:center; gap:6px; }
.tr-tt-item img.tr-tt-itemspr{ width:20px !important; height:20px !important; object-fit:contain; }

/* s762 · Draft Random: botón de batalla online contra un amigo. */
.torneo-join-amigo{ margin-top:12px !important;
  background:linear-gradient(180deg,#5ea9ff,#3f7fd9 55%,#2a5fb0) !important;
  border-color:#bcd8ff !important; color:#06122a !important;
  box-shadow:0 8px 22px rgba(94,169,255,.4) !important; }
.torneo-amigo-note{ margin-top:6px; font-size:11.5px; color:#8fa0cc; text-align:center; }

/* s765 · Draft RANDOM dentro del overlay online: que quepan la rejilla y el
   pool de objetos con la estética de la aventura. */
.online-card.draft-wide{ max-width:1300px !important; width:96vw !important; max-height:92vh; overflow-y:auto; }
.online-card .tdr-grid{ grid-template-columns:repeat(7,1fr); }
@media (max-width:1100px){ .online-card .tdr-grid{ grid-template-columns:repeat(5,1fr); } }
@media (max-width:760px){ .online-card .tdr-grid{ grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); } }
.online-card .tdr-actions, .online-card .tdi-wrap{ margin-top:14px; }

/* ════════════════════════════════════════════════════════════
   s768 · Lobby de "Draft Random con un amigo" con estética del
   torneo/aventura (solo cuando se lanza desde la aventura).
   ════════════════════════════════════════════════════════════ */
.online-adv-draft .online-card{
  background:linear-gradient(180deg,rgba(28,22,50,.98),rgba(14,12,28,.99)) !important;
  border:1px solid rgba(155,110,232,.45) !important; border-radius:18px !important;
  box-shadow:0 20px 60px rgba(0,0,0,.7), 0 0 30px rgba(155,110,232,.2) !important; }
.online-adv-draft .online-card h2{
  font-family:var(--game),sans-serif !important; font-weight:800; letter-spacing:1px;
  color:#c9a6ff !important; text-shadow:0 0 16px rgba(155,110,232,.5); }
.online-adv-draft .online-fmt-chip{
  background:rgba(155,110,232,.16) !important; border:1px solid rgba(201,166,255,.4) !important;
  color:#e0ccff !important; border-radius:999px; }
.online-adv-draft .online-fmt-chip-draft span{ color:#e0ccff; font-weight:700; }
.online-adv-draft .online-sub{ color:#a8b6d8 !important; }
.online-adv-draft .online-in{
  background:rgba(10,12,26,.9) !important; border:1px solid rgba(127,178,255,.35) !important;
  color:#eaf0ff !important; border-radius:10px; }
.online-adv-draft .online-btn-retar{
  background:linear-gradient(180deg,#c9a6ff,#9b6ee8 55%,#6f45b8) !important;
  border:1px solid #e0ccff !important; color:#150a26 !important; font-weight:800;
  border-radius:10px; box-shadow:0 6px 16px rgba(155,110,232,.4) !important; }
.online-adv-draft .online-btn-retar:hover{ transform:translateY(-2px); }
.online-adv-draft .online-tab.active{
  color:#c9a6ff !important; border-color:#9b6ee8 !important; }
.online-adv-draft .online-close{ color:#c9a6ff; }

/* s775 · Botón importar cajas de la región anterior. */
.adv-importar-btn{ display:flex; align-items:center; gap:12px; text-align:left; }
.adv-importar-ico{ font-size:28px; flex-shrink:0; filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.adv-importar-btn b{ color:#dfe7ff; }

/* ═══ s791 · APARICIÓN DE LEGENDARIO EN LA CAZA LIBRE ═══════════════════════
   Vibración de pantalla + destello de luces/colores + cartelón con glow. */
.adv-legend-fx{
  position:fixed; inset:0; z-index:400; pointer-events:none;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.adv-legend-fx .adv-legend-flash{
  position:absolute; inset:0;
  background:radial-gradient(circle at 50% 45%, rgba(255,240,190,.9), rgba(197,139,255,.35) 40%, rgba(10,8,20,0) 72%);
  animation:advLegendFlash 2.6s ease-out forwards;
}
.adv-legend-fx .adv-legend-rays{
  position:absolute; left:50%; top:45%; width:200vmax; height:200vmax;
  margin:-100vmax 0 0 -100vmax;
  background:conic-gradient(from 0deg,
    rgba(255,215,100,.0) 0deg, rgba(255,215,100,.16) 12deg, rgba(255,215,100,0) 24deg,
    rgba(197,139,255,0) 24deg, rgba(197,139,255,.16) 36deg, rgba(197,139,255,0) 48deg);
  animation:advLegendSpin 6s linear infinite, advLegendFade 2.6s ease-out forwards;
}
.adv-legend-fx .adv-legend-title{
  position:relative; display:flex; align-items:center; gap:16px;
  transform:scale(.4); opacity:0;
  animation:advLegendPop 2.6s cubic-bezier(.2,1.4,.3,1) forwards;
}
.adv-legend-fx .adv-legend-word{
  font-family:'Rajdhani',sans-serif; font-weight:800; font-size:clamp(38px,9vw,104px);
  letter-spacing:3px; color:#fff5d0;
  text-shadow:0 0 14px rgba(255,215,90,.95), 0 0 34px rgba(255,190,40,.85),
              0 0 60px rgba(197,139,255,.7), 0 3px 0 rgba(120,70,0,.55);
  animation:advLegendGlow 1s ease-in-out infinite alternate;
}
.adv-legend-fx .adv-legend-spark{
  font-size:clamp(26px,5vw,56px); color:#ffe27a;
  text-shadow:0 0 16px rgba(255,215,90,1);
  animation:advLegendSparkPulse .7s ease-in-out infinite alternate;
}
@keyframes advLegendFlash{ 0%{opacity:0} 12%{opacity:1} 100%{opacity:0} }
@keyframes advLegendFade{ 0%{opacity:0} 15%{opacity:1} 100%{opacity:0} }
@keyframes advLegendSpin{ to{ transform:rotate(360deg) } }
@keyframes advLegendPop{
  0%{ transform:scale(.4); opacity:0 }
  16%{ transform:scale(1.12); opacity:1 }
  28%{ transform:scale(1) }
  78%{ transform:scale(1); opacity:1 }
  100%{ transform:scale(1.04); opacity:0 }
}
@keyframes advLegendGlow{
  from{ text-shadow:0 0 12px rgba(255,215,90,.9), 0 0 28px rgba(255,190,40,.75), 0 0 52px rgba(197,139,255,.6), 0 3px 0 rgba(120,70,0,.55) }
  to  { text-shadow:0 0 20px rgba(255,235,140,1), 0 0 46px rgba(255,205,70,.95), 0 0 80px rgba(210,150,255,.9), 0 3px 0 rgba(120,70,0,.55) }
}
@keyframes advLegendSparkPulse{ from{transform:scale(.85);opacity:.7} to{transform:scale(1.25);opacity:1} }

.adv-legend-shake{ animation:advLegendShake .9s cubic-bezier(.36,.07,.19,.97) both; }
@keyframes advLegendShake{
  10%,90%{ transform:translate(-2px,0) }
  20%,80%{ transform:translate(4px,-2px) }
  30%,50%,70%{ transform:translate(-7px,2px) }
  40%,60%{ transform:translate(7px,-1px) }
}

/* ═══ s809 · TABLERO DE ENCARGOS ═══════════════════════════════════════ */
.adv-encargos-btn{position:relative;}
.adv-encargos-ico{font-size:30px;line-height:1;margin-right:4px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));}
.adv-encargos-badge{display:inline-block;min-width:20px;height:20px;line-height:20px;text-align:center;
  background:linear-gradient(160deg,#ff6a6a,#d33);color:#fff;border-radius:11px;font-size:12px;font-weight:800;
  padding:0 6px;margin-left:8px;box-shadow:0 0 10px rgba(255,80,80,.7);vertical-align:middle;}
.enc-ov{position:fixed;inset:0;z-index:340;display:flex;align-items:center;justify-content:center;
  background-color:#0a120c;
  background-image:linear-gradient(rgba(8,14,10,.58),rgba(8,14,10,.72)),url('encargos-bg.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0;transition:opacity .16s;padding:18px;box-sizing:border-box;}
.enc-ov.show{opacity:1;}
.enc-panel{position:relative;width:min(920px,96vw);max-height:92vh;overflow:auto;
  background-color:#0c1119;
  background-image:linear-gradient(rgba(10,17,13,.9),rgba(10,17,13,.93)),url('encargos-bg.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:local;
  border:1px solid #3a5240;border-radius:18px;
  box-shadow:0 0 0 1px rgba(0,0,0,.5),0 24px 60px rgba(0,0,0,.7);padding:20px 20px 24px;}
.enc-head{text-align:center;margin-bottom:14px;}
.enc-head b{display:block;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:24px;letter-spacing:1px;color:#eaf1fb;}
.enc-head small{color:#8ea0bd;font-size:12.5px;}
.enc-sec{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1.2px;font-size:13px;color:#7f8ea8;
  margin:16px 2px 8px;text-transform:uppercase;}
.enc-sec-sem{color:#ffce6a;}
.enc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.enc-grid-sem{grid-template-columns:1fr;}
.enc-card{background:linear-gradient(160deg,#1a2536,#111825);border:1px solid #2b3a55;border-radius:14px;
  padding:13px 14px;display:flex;flex-direction:column;gap:9px;transition:border-color .15s,box-shadow .15s;}
.enc-card-sem{border-color:#6b5a2a;background:linear-gradient(160deg,#241f14,#16130c);}
.enc-ready{border-color:#3fcf8e;box-shadow:0 0 0 1px rgba(63,207,142,.4),0 0 22px rgba(63,207,142,.28);}
.enc-done{opacity:.6;}
.enc-card-top{display:flex;align-items:flex-start;gap:8px;}
.enc-ico{font-size:19px;line-height:1.1;}
.enc-txt{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:16px;color:#eaf1fb;line-height:1.2;}
.enc-bar{position:relative;height:16px;border-radius:9px;background:rgba(0,0,0,.45);overflow:hidden;border:1px solid #2b3a55;}
.enc-bar>i{display:block;height:100%;background:linear-gradient(90deg,#3fa9f0,#7ad6a0);border-radius:9px;transition:width .3s;}
.enc-card-sem .enc-bar>i{background:linear-gradient(90deg,#f5b400,#ffd76a);}
.enc-bar-n{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);letter-spacing:.5px;}
.enc-rec{font-size:12.5px;color:#c6d3e8;}
.enc-claim{margin-top:2px;border:none;border-radius:10px;padding:8px;font-family:'Rajdhani',sans-serif;
  font-weight:800;font-size:14px;letter-spacing:.8px;cursor:default;background:#22304a;color:#7f8ea8;}
.enc-claim-on{background:linear-gradient(160deg,#4fe08a,#1fa050 60%,#13713a);color:#062012;cursor:pointer;
  box-shadow:0 0 16px rgba(63,207,142,.55);animation:encPulse 1.3s ease-in-out infinite;}
.enc-claim-on:hover{filter:brightness(1.08);}
.enc-claimed{background:#1b2740;color:#5f7093;}
@keyframes encPulse{0%,100%{box-shadow:0 0 12px rgba(63,207,142,.45);}50%{box-shadow:0 0 22px rgba(63,207,142,.8);}}

/* s810 · Encargos: icono Smeargle en el botón del hub y en la cabecera. */
.adv-encargos-ico-img{width:54px;height:54px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;}
/* s834 · Fondo del botón de Encargos (imagen de la mudanza Pokémon) */
.adv-encargos-hero{background-color:#1a2417;background-image:url('encargos-bg.png');background-position:center 40%;border-color:rgba(150,200,120,.35);}
.adv-encargos-hero::before{background:linear-gradient(100deg, rgba(10,22,12,.9) 0%, rgba(14,30,16,.72) 48%, rgba(8,18,10,.48) 100%);}
.adv-encargos-hero .adv-libre-hero-tx b{color:#bfe8a0;}
.adv-encargos-hero:hover{border-color:rgba(150,200,120,.75);box-shadow:0 0 22px rgba(150,200,120,.4);}
.enc-head-spr{width:34px;height:34px;vertical-align:middle;image-rendering:pixelated;margin-right:4px;position:relative;top:-2px;}
.adv-encargos-hero .adv-encargos-badge{margin-left:8px;}

/* ═══ s811 · CASINO ════════════════════════════════════════════════════ */
.adv-casino-ico{font-size:46px;line-height:1;flex:0 0 auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));}
.adv-casino-ico-img{width:56px;height:56px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6));}
.cas-ov{position:fixed;inset:0;z-index:345;display:flex;align-items:center;justify-content:center;
  background-color:#080610;
  background-image:linear-gradient(rgba(6,5,12,.55),rgba(6,5,12,.68)),url('casino-bg.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0;transition:opacity .16s;padding:16px;box-sizing:border-box;}
.cas-ov.show{opacity:1;}
/* Fondo propio por pantalla del casino (oscurecido para legibilidad). */
.cas-ov.cas-bg-slots{background-image:linear-gradient(rgba(6,5,12,.6),rgba(6,5,12,.74)),url('bg-slots.png');}
.cas-bg-slots .cas-panel{background-image:linear-gradient(rgba(10,7,16,.85),rgba(10,7,16,.9)),url('bg-slots.png');}
.cas-ov.cas-bg-adivina{background-image:linear-gradient(rgba(6,5,12,.6),rgba(6,5,12,.74)),url('bg-adivina.png');}
.cas-bg-adivina .cas-panel{background-image:linear-gradient(rgba(10,7,16,.85),rgba(10,7,16,.9)),url('bg-adivina.png');}
.cas-ov.cas-bg-ruleta{background-image:linear-gradient(rgba(6,5,12,.6),rgba(6,5,12,.74)),url('bg-premios.png');}
.cas-bg-ruleta .cas-panel{background-image:linear-gradient(rgba(10,7,16,.85),rgba(10,7,16,.9)),url('bg-premios.png');}
.cas-ov.cas-bg-ruleur{background-image:linear-gradient(rgba(6,5,12,.62),rgba(6,5,12,.76)),url('bg-ruleta.png');}
.cas-bg-ruleur .cas-panel{background-image:linear-gradient(rgba(10,7,16,.84),rgba(10,7,16,.9)),url('bg-ruleta.png');}
.cas-ov.cas-bg-blackjack{background-image:linear-gradient(rgba(6,5,12,.62),rgba(6,5,12,.76)),url('bg-blackjack.png');}
.cas-bg-blackjack .cas-panel{background-image:linear-gradient(rgba(10,7,16,.84),rgba(10,7,16,.9)),url('bg-blackjack.png');}
.cas-ov.cas-bg-bjcoop{background-image:linear-gradient(rgba(6,5,12,.62),rgba(6,5,12,.76)),url('bg-mesa.png');}
.cas-bg-bjcoop .cas-panel{background-image:linear-gradient(rgba(10,7,16,.84),rgba(10,7,16,.9)),url('bg-mesa.png');}
.cas-ov.cas-bg-comprar{background-image:linear-gradient(rgba(6,5,12,.6),rgba(6,5,12,.74)),url('bg-cambio.png');}
.cas-bg-comprar .cas-panel{background-image:linear-gradient(rgba(10,7,16,.85),rgba(10,7,16,.9)),url('bg-cambio.png');}
.cas-panel{position:relative;width:min(1160px,96vw);max-height:94vh;overflow:auto;
  background-color:#0e0a16;
  background-image:linear-gradient(rgba(12,8,18,.9),rgba(12,8,18,.93)),url('casino-bg.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:local;
  border:2px solid #6a4aa0;border-radius:20px;
  box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 52px rgba(160,90,255,.35),0 24px 60px rgba(0,0,0,.7);padding:24px;}
.cas-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.cas-head b{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:28px;letter-spacing:1px;color:#f2e9ff;}
.cas-saldo{position:relative;background:rgba(0,0,0,.4);border:1px solid #5a4080;border-radius:22px;padding:7px 18px;font-size:17px;color:#ffe27a;font-weight:800;box-shadow:0 0 14px rgba(255,200,60,.2);}
.cas-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;}
.cas-tile{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-height:190px;justify-content:center;
  background:linear-gradient(160deg,#2a1d42,#160f24);border:2px solid #5a3d84;border-radius:20px;padding:34px 20px;cursor:pointer;
  transition:border-color .15s,transform .1s,box-shadow .15s;box-shadow:0 0 20px rgba(120,70,200,.22);}
.cas-tile:hover{border-color:#b98bff;transform:translateY(-4px);box-shadow:0 0 34px rgba(160,90,255,.55);}
/* Cada tarjeta del menú con su propio fondo oscurecido. */
.cas-tile-slots,.cas-tile-adivina,.cas-tile-ruleta,.cas-tile-ruleur,.cas-tile-blackjack,.cas-tile-bjcoop,.cas-tile-comprar{
  background-size:cover;background-position:center;background-repeat:no-repeat;}
.cas-tile-slots{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-slots.png');}
.cas-tile-adivina{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-adivina.png');}
.cas-tile-ruleta{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-premios.png');}
.cas-tile-ruleur{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-ruleta.png');}
.cas-tile-blackjack{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-blackjack.png');}
.cas-tile-bjcoop{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-mesa.png');}
.cas-tile-comprar{background-image:linear-gradient(rgba(14,9,22,.72),rgba(14,9,22,.82)),url('bg-cambio.png');}
.cas-tile-ico{font-size:88px;line-height:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55));}
.cas-tile-img{width:124px;height:124px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.65));}
.cas-tile b{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:22px;color:#f2e9ff;letter-spacing:.5px;}
.cas-tile small{font-size:14.5px;color:#c4b7e6;line-height:1.3;}
.cas-delta{position:absolute;right:12px;top:-4px;font-weight:900;font-size:18px;pointer-events:none;
  animation:casDelta 1.3s ease-out forwards;}
.cas-delta-pos{color:#7ef0a6;text-shadow:0 0 10px rgba(126,240,166,.9);}
.cas-delta-neg{color:#ff6a6a;text-shadow:0 0 10px rgba(255,90,90,.95);}
@keyframes casDelta{0%{opacity:0;transform:translateY(6px);}20%{opacity:1;}100%{opacity:0;transform:translateY(-26px);}}
.cas-rul-legend{text-align:center;color:#c6b8e6;font-size:13px;margin-bottom:8px;}
.cas-rul-legend b{color:#ffe27a;}
.cas-back{background:none;border:none;color:#b79ce8;font-weight:700;font-size:14px;cursor:pointer;padding:2px 0 10px;}
.cas-sec{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1px;font-size:16px;color:#e9dcff;text-align:center;margin:4px 0 10px;}
.cas-sub{text-align:center;color:#b0a2cc;font-size:13px;margin-bottom:12px;}
.cas-buys,.cas-prizes{display:flex;flex-direction:column;gap:10px;}
.cas-buy{display:flex;align-items:center;gap:12px;background:linear-gradient(160deg,#251a38,#160f24);border:1px solid #43305f;border-radius:12px;padding:12px 16px;cursor:pointer;}
.cas-buy:hover{border-color:#a06bff;}
.cas-buy-f{font-size:20px;font-weight:800;color:#ffe27a;}
.cas-buy small{color:#a99bc4;flex:1;}
.cas-buy-pa{font-weight:800;color:#8fd6ff;}
.cas-prize{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(160deg,#251a38,#160f24);border:1px solid #43305f;border-radius:12px;padding:12px 16px;cursor:pointer;color:#f2e9ff;font-weight:700;}
.cas-prize:hover{border-color:#ffd76a;}
.cas-prize.cas-off{opacity:.45;cursor:not-allowed;}
.cas-prize-f{color:#ffe27a;font-weight:800;white-space:nowrap;}
.cas-machine{position:relative;display:flex;justify-content:center;margin:6px auto 14px;padding:14px;
  background:linear-gradient(160deg,#20142e,#0e0916);border:3px solid #6a4aa0;border-radius:18px;
  box-shadow:inset 0 0 20px rgba(0,0,0,.7),0 0 22px rgba(160,90,255,.25);width:max-content;max-width:100%;}
.cas-reels{display:flex;gap:14px;}
.cas-reel3{display:flex;flex-direction:column;gap:8px;background:radial-gradient(circle,#2a1f3e,#120c1e);
  border:2px solid #5a4080;border-radius:14px;padding:8px;overflow:hidden;box-shadow:inset 0 0 12px rgba(0,0,0,.7);}
.cas-cell{width:112px;height:112px;display:flex;align-items:center;justify-content:center;opacity:.45;}
.cas-cell img{width:92px;height:92px;object-fit:contain;image-rendering:pixelated;}
.cas-cell-mid{opacity:1;background:rgba(255,215,90,.12);border-radius:10px;}
.cas-payline{position:absolute;left:9px;right:9px;top:50%;transform:translateY(-50%);height:122px;
  border:2px solid rgba(255,215,90,.85);border-radius:10px;pointer-events:none;box-shadow:0 0 14px rgba(255,215,90,.4);z-index:2;}
.cas-reel-spin .cas-cell{opacity:.8;animation:casReelBlur .08s linear infinite;}
@keyframes casReelBlur{0%,100%{transform:translateY(-3px);}50%{transform:translateY(3px);}}
.cas-adiv-in{display:flex;gap:8px;flex-direction:column;margin-bottom:10px;}
.cas-adiv-input{width:100%;box-sizing:border-box;height:44px;border-radius:11px;border:1px solid #5a4080;
  background:#160f24;color:#f2e9ff;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:17px;padding:0 14px;text-align:center;}
.cas-adiv-input:focus{outline:none;border-color:#a06bff;box-shadow:0 0 12px rgba(160,107,255,.4);}
.cas-wheel-wrap{position:relative;width:470px;height:470px;margin:14px auto 18px;max-width:94vw;}
.cas-wheel{position:absolute;inset:0;border-radius:50%;
  border:14px solid #6a3a1a;background-clip:padding-box;
  box-shadow:inset 0 0 0 5px #c9a24a, inset 0 0 30px rgba(0,0,0,.75), 0 0 0 4px #3a2410, 0 10px 34px rgba(0,0,0,.6);will-change:transform;}
.cas-wheel::after{content:'';position:absolute;left:50%;top:50%;width:52%;height:52%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#7a4a22,#3a2410);box-shadow:inset 0 0 24px rgba(0,0,0,.7),0 0 0 4px #c9a24a;}
/* Etiquetas radiales: un "palo" desde el centro hasta el borde, rotado a su sector */
.cas-wheel-lbl{position:absolute;left:50%;top:0;width:0;height:50%;transform-origin:bottom center;pointer-events:none;}
.cas-wheel-lbl span{position:absolute;top:7%;left:50%;transform:translateX(-50%);
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:18px;letter-spacing:.3px;color:#fff;
  text-shadow:0 1px 2px #000,0 0 3px #000;white-space:nowrap;}
.cas-wheel-lbl-esp span{font-size:19px;color:#ffe27a;text-shadow:0 1px 2px #000,0 0 6px rgba(255,200,60,.9);}
.cas-rul-legend .cas-esp{color:#ffd76a;}
.cas-wheel-hub{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle,#ffe08a,#c98a00);border:3px solid #4a2f00;z-index:3;box-shadow:0 0 10px rgba(255,200,60,.6);}
.cas-wheel-ptr{position:absolute;left:50%;top:-6px;transform:translateX(-50%);z-index:4;width:0;height:0;
  border-left:12px solid transparent;border-right:12px solid transparent;border-top:20px solid #ffd54a;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));}
.cas-slot-msg{text-align:center;font-weight:700;color:#c9bce6;min-height:22px;margin-bottom:10px;font-size:15px;}
.cas-slot-msg.cas-win{color:#7ef0a6;text-shadow:0 0 12px rgba(126,240,166,.6);}
.cas-bet{text-align:center;color:#b0a2cc;font-size:16px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.cas-bet-lbl{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1px;color:#c9bce6;text-transform:uppercase;font-size:15px;}
.cas-bet-b{margin:0 2px;min-width:54px;padding:11px 16px;border-radius:11px;border:1px solid #43305f;background:#1c1430;color:#e9dcff;font-weight:800;font-size:19px;cursor:pointer;transition:transform .1s,border-color .1s;}
.cas-bet-b:hover{transform:translateY(-2px);}
.cas-bet-b.on{border-color:#ffd76a;background:#3a2d18;color:#ffe27a;box-shadow:0 0 12px rgba(255,215,90,.4);}
.cas-spin{display:block;width:100%;padding:12px;border:none;border-radius:12px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:17px;letter-spacing:1px;color:#1a0e02;
  background:linear-gradient(160deg,#ffe08a,#f5b400 55%,#c98a00);box-shadow:0 0 18px rgba(255,200,60,.5);}
.cas-spin:hover{filter:brightness(1.06);}
.cas-spin:disabled{opacity:.6;cursor:default;filter:grayscale(.3);}
.cas-adiv-sub{text-align:center;color:#b0a2cc;font-size:13px;margin-bottom:10px;}
.cas-adiv-spr{display:flex;justify-content:center;margin:6px 0 14px;}
.cas-adiv-spr .cas-adiv-img{width:150px;height:150px;object-fit:contain;image-rendering:pixelated;filter:brightness(0);transition:filter .4s;}
/* Disco claro detrás de la silueta negra para que resalte sobre el fondo. */
.cas-adiv-spr:not(.revelado) .cas-adiv-img{
  background:radial-gradient(circle at 50% 48%, rgba(255,249,232,.96) 0%, rgba(255,243,214,.9) 40%, rgba(255,238,198,.45) 60%, rgba(255,238,198,0) 73%);
  border-radius:50%;
  filter:brightness(0) drop-shadow(0 0 6px rgba(255,240,200,.5));}
.cas-adiv-spr.revelado .cas-adiv-img{filter:none;background:none;}
.cas-adiv-ops{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.cas-adiv-op{padding:11px;border-radius:11px;border:1px solid #43305f;background:linear-gradient(160deg,#251a38,#160f24);color:#f2e9ff;font-weight:700;font-size:15px;cursor:pointer;}
.cas-adiv-op:hover{border-color:#a06bff;}
.cas-adiv-res{grid-column:1/3;text-align:center;font-weight:800;font-size:15px;padding:10px;border-radius:11px;background:rgba(0,0,0,.35);}
.cas-adiv-res.cas-win{color:#7ef0a6;}
.cas-adiv-res.cas-lose{color:#ff9a9a;}
.cas-rul-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px;margin-bottom:12px;}
.cas-rul-seg{padding:10px 6px;text-align:center;border-radius:10px;border:1px solid #43305f;background:#1c1430;color:#d7ccee;font-weight:700;font-size:13px;transition:all .1s;}
.cas-rul-seg.on{border-color:#ffd76a;background:linear-gradient(160deg,#5a4718,#3a2d10);color:#ffe27a;box-shadow:0 0 14px rgba(255,215,90,.6);transform:scale(1.05);}

/* s814 · Tragaperras: layout con paytable + avances (nudges) */
.cas-slotwrap{display:flex;gap:16px;justify-content:center;align-items:flex-start;flex-wrap:wrap;margin-bottom:6px;}
.cas-machine-col{display:flex;flex-direction:column;align-items:center;}
.cas-reels.cas-nudge-on .cas-reel3{cursor:pointer;border-color:#ffd54a;box-shadow:inset 0 0 12px rgba(0,0,0,.7),0 0 14px rgba(255,213,74,.55);}
.cas-nudge{margin-top:10px;font-size:15px;color:#c6b8e6;font-weight:700;display:flex;align-items:center;gap:8px;justify-content:center;min-height:24px;flex-wrap:wrap;}
.cas-nudge b{color:#ffe27a;}
.cas-nudge-lbl{opacity:.7;}
.cas-nudge-dot{display:inline-block;width:18px;height:18px;border-radius:50%;background:#2a1f3e;border:1px solid #5a4080;}
.cas-nudge-dot.on{background:radial-gradient(circle,#ffe08a,#f5b400);border-color:#ffd54a;box-shadow:0 0 8px rgba(255,213,74,.8);}
.cas-paytable{background:linear-gradient(160deg,#1c1430,#120c1e);border:1px solid #43305f;border-radius:14px;padding:10px 12px;min-width:0;}
.cas-pt-tit{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:13px;letter-spacing:.5px;color:#d6c9f2;text-align:center;margin-bottom:1px;}
.cas-pt-note{text-align:center;font-size:10.5px;color:#8f82b4;margin-bottom:6px;}
.cas-pt-foot{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.07);font-size:10px;color:#9a8cc0;line-height:1.35;text-align:center;}
.cas-pt-foot b{color:#ffd76a;}
.cas-pt-row{display:flex;align-items:center;gap:6px;padding:2.5px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.cas-pt-row:last-child{border-bottom:none;}
.cas-pt-row img{width:26px;height:26px;object-fit:contain;image-rendering:pixelated;}
.cas-pt-x{font-size:11.5px;color:#9a8cc0;font-weight:700;}
.cas-pt-v{margin-left:auto;font-size:13px;font-weight:800;color:#ffe27a;white-space:nowrap;}
.cas-pt-v.cas-pt-jack{color:#7fd4ff;font-size:11px;}

/* s816 · Casino: cambio PA↔fichas + botón plantar avances + más aire en slots */
.cas-xchg{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cas-xcol{display:flex;flex-direction:column;gap:10px;}
.cas-xtit{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;letter-spacing:.5px;color:#e9dcff;text-align:center;margin-bottom:2px;}
.cas-buy.cas-sell{border-color:#3d6a5f;}
.cas-buy.cas-sell:hover{border-color:#4fd9a0;}
.cas-buy.cas-sell .cas-buy-pa{color:#7ef0a6;}
.cas-buy[disabled]{opacity:.4;cursor:not-allowed;}
.cas-nudge{margin-top:16px;padding:10px 12px;background:rgba(0,0,0,.25);border-radius:12px;}
.cas-nudge-ok{margin-left:8px;border:none;border-radius:9px;padding:6px 14px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:13px;letter-spacing:.5px;color:#062012;
  background:linear-gradient(160deg,#4fe08a,#1fa050 60%,#13713a);box-shadow:0 0 12px rgba(63,207,142,.55);}
.cas-nudge-ok:hover{filter:brightness(1.08);}
.cas-slotwrap{margin-bottom:16px;}
.cas-machine-col .cas-slot-msg,#cas-slot-msg{margin-top:6px;}
.cas-bet{margin:16px 0 18px;}

/* s819 · Casino: títulos con estilo, cambio de fichas rediseñado, confirmación, avances más grandes */
.cas-title{text-align:center;margin:2px 0 16px;}
.cas-title-t{display:inline-block;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:30px;letter-spacing:1.5px;text-transform:uppercase;
  background:linear-gradient(90deg,#ffd76a,#ff9ce0 45%,#a98bff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ffd76a;
  filter:drop-shadow(0 2px 8px rgba(180,120,255,.45));position:relative;padding-bottom:8px;}
.cas-title-t::after{content:'';position:absolute;left:12%;right:12%;bottom:0;height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,#ffd76a,#a98bff,transparent);}
.cas-title-sub{margin-top:8px;color:#b6a8d6;font-size:14px;font-weight:600;}
.cas-head b{background:linear-gradient(90deg,#ffd76a,#ff9ce0 50%,#a98bff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 6px rgba(180,120,255,.4));}

/* Cambio de fichas */
.cas-wallet{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 20px;flex-wrap:wrap;}
.cas-wallet-chip{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:150px;padding:12px 22px;border-radius:16px;
  background:linear-gradient(160deg,#251a38,#160f24);border:1px solid #43305f;}
.cas-wallet-chip small{font-size:12px;color:#9a8cc0;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.cas-wallet-chip b{font-size:24px;font-weight:800;color:#8fd6ff;}
.cas-wallet-chip.cas-wallet-fi b{color:#ffe27a;}
.cas-wallet-swap{font-size:26px;color:#b79ce8;filter:drop-shadow(0 0 8px rgba(160,107,255,.5));}
.cas-xchg{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cas-xcard{background:linear-gradient(160deg,#1e1531,#130d20);border:2px solid #43305f;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;}
.cas-xcard-buy{border-color:#5a3d84;box-shadow:0 0 20px rgba(120,70,200,.18);}
.cas-xcard-sell{border-color:#2f5a4d;box-shadow:0 0 20px rgba(40,150,110,.15);}
.cas-xcard-h{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:17px;letter-spacing:.5px;color:#f2e9ff;text-align:center;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);}
.cas-xrow{display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(0,0,0,.28);border:1px solid #43305f;border-radius:13px;padding:14px 12px;cursor:pointer;transition:transform .1s,border-color .1s,box-shadow .1s;}
.cas-xrow:hover:not([disabled]){transform:translateY(-2px);border-color:#a06bff;box-shadow:0 0 16px rgba(160,107,255,.35);}
.cas-xrow-sell:hover:not([disabled]){border-color:#4fd9a0;box-shadow:0 0 16px rgba(79,217,160,.35);}
.cas-xrow[disabled]{opacity:.35;cursor:not-allowed;}
.cas-xrow-a{font-size:17px;font-weight:800;color:#cfc3ec;min-width:90px;text-align:right;}
.cas-xrow-arw{font-size:19px;color:#b79ce8;font-weight:800;}
.cas-xrow-b{font-size:19px;font-weight:800;color:#ffe27a;min-width:90px;text-align:left;}
.cas-xrow-sell .cas-xrow-b{color:#7ef0a6;}
.cas-xrow-all{border-width:2px;border-color:#7a5ad0;background:rgba(120,80,220,.16);font-weight:900;margin-top:2px;}
.cas-xrow-all.cas-xrow-sell{border-color:#3fb98a;background:rgba(63,185,138,.14);}
.cas-xrow-all .cas-xrow-a{color:#fff;}
@media(max-width:560px){.cas-xchg{grid-template-columns:1fr;}}

/* Confirmación Sí/No */
.cas-conf{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;
  background:rgba(6,9,14,.72);backdrop-filter:blur(2px);border-radius:20px;opacity:0;transition:opacity .14s;}
.cas-conf.show{opacity:1;}
.cas-conf-card{background:linear-gradient(160deg,#221839,#130d20);border:2px solid #6a4aa0;border-radius:18px;padding:26px 28px;max-width:380px;width:88%;text-align:center;
  box-shadow:0 0 40px rgba(160,90,255,.4),0 20px 50px rgba(0,0,0,.6);}
.cas-conf-msg{font-size:18px;color:#f2e9ff;line-height:1.5;margin-bottom:22px;}
.cas-conf-msg b{color:#ffe27a;}
.cas-conf-btns{display:flex;gap:14px;justify-content:center;}
.cas-conf-si,.cas-conf-no{flex:1;max-width:150px;padding:14px 10px;border:none;border-radius:13px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:18px;letter-spacing:.5px;transition:filter .1s,transform .1s;}
.cas-conf-si:hover,.cas-conf-no:hover{filter:brightness(1.08);transform:translateY(-2px);}
.cas-conf-si{color:#062012;background:linear-gradient(160deg,#4fe08a,#1fa050 60%,#13713a);box-shadow:0 0 16px rgba(63,207,142,.55);}
.cas-conf-no{color:#2a0808;background:linear-gradient(160deg,#ff8a8a,#e23b3b 60%,#a51f1f);box-shadow:0 0 16px rgba(226,59,59,.5);}

/* Avances (nudges) más grandes */
.cas-nudge{margin-top:0;padding:12px 16px;font-size:15px;min-height:60px;box-sizing:border-box;width:100%;flex-wrap:nowrap;white-space:nowrap;}
.cas-nudge-ok{margin-left:10px;border:none;border-radius:11px;padding:9px 18px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;letter-spacing:.5px;color:#062012;
  background:linear-gradient(160deg,#4fe08a,#1fa050 60%,#13713a);box-shadow:0 0 12px rgba(63,207,142,.55);}
.cas-nudge-ok:hover{filter:brightness(1.08);}
.cas-nudge-ok[disabled]{opacity:.4;cursor:not-allowed;filter:grayscale(.4);}

/* Tarjetas de menú un poco más grandes */
.cas-menu{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;}
.cas-tile{min-height:210px;}
.cas-tile-ico{font-size:70px;}

/* s819 · Tragaperras: layout de rejilla ESTABLE (no reflow al salir avances/bloqueo) */
.cas-slotwrap{display:grid;grid-template-columns:auto 208px;gap:26px;align-items:start;justify-content:center;margin-bottom:18px;}
.cas-machine-col{display:flex;flex-direction:column;align-items:center;width:470px;max-width:100%;}
.cas-machine{margin-bottom:12px;}
.cas-paytable{align-self:stretch;}
@media(max-width:900px){.cas-slotwrap{grid-template-columns:1fr;gap:22px;}.cas-machine-col{width:auto;margin:0 auto;}}

/* s819 · Modo bloqueo: parpadeo de columnas libres y marca de fijado */
.cas-reels.cas-hold-on .cas-reel3{cursor:pointer;}
.cas-reel3{position:relative;}
.cas-reel3.cas-blink{animation:casBlink .62s ease-in-out infinite;}
@keyframes casBlink{0%,100%{border-color:#5a4080;box-shadow:inset 0 0 12px rgba(0,0,0,.7);}50%{border-color:#7fd4ff;box-shadow:inset 0 0 12px rgba(0,0,0,.7),0 0 20px rgba(127,212,255,.85);}}
.cas-reel3.cas-held{border-color:#ffd54a;box-shadow:inset 0 0 12px rgba(0,0,0,.7),0 0 22px rgba(255,213,74,.9);animation:none;}
.cas-reel3.cas-held::before{content:'🔒';position:absolute;top:3px;right:5px;font-size:15px;z-index:6;filter:drop-shadow(0 1px 2px #000);}

/* s830 · Imagen del casino: fondo del botón del hub (colores cálidos de casino) */
.adv-casino-hero{background-color:#2a0d12;background-image:url('casino-bg.png');background-position:center 42%;
  border-color:rgba(255,200,80,.35);}
.adv-casino-hero::before{background:linear-gradient(100deg, rgba(38,6,10,.9) 0%, rgba(58,10,16,.72) 48%, rgba(30,4,8,.5) 100%);}
.adv-casino-hero .adv-libre-hero-tx b{color:#ffd76a;}
.adv-casino-hero .adv-libre-hero-tx small{color:#ffe8b0;}
.adv-casino-hero .adv-libre-hero-tx em{color:#e0b48a;}
.adv-casino-hero:hover{border-color:rgba(255,200,80,.75);box-shadow:0 0 22px rgba(255,200,80,.4);}

/* s832 · RULETA EUROPEA */
.rul-wheelwrap{position:relative;width:270px;height:270px;margin:8px auto 12px;}
.rul-wheel{position:absolute;inset:0;border-radius:50%;border:15px solid #6a3a1a;background-clip:padding-box;
  box-shadow:inset 0 0 0 5px #c9a24a, inset 0 0 34px rgba(0,0,0,.8), 0 0 0 5px #3a2410, 0 12px 38px rgba(0,0,0,.6);will-change:transform;}
/* Carril verde donde cae la bola (justo por dentro de la banda de números) */
.rul-wheel::before{content:'';position:absolute;left:50%;top:50%;width:76%;height:76%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,#0f5c38,#0a4429);box-shadow:inset 0 0 22px rgba(0,0,0,.6),0 0 0 3px #c9a24a;z-index:1;}
/* Centro de madera grande (deja el carril verde en anillo) */
.rul-wheel::after{content:'';position:absolute;left:50%;top:50%;width:56%;height:56%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at 45% 40%,#8a5a2c,#3a2410);box-shadow:inset 0 0 26px rgba(0,0,0,.72),0 0 0 4px #c9a24a,0 0 0 7px rgba(0,0,0,.35);z-index:2;}
/* Separadores metálicos entre pocillos (37 fret, solo en el carril verde) */
.rul-frets{position:absolute;inset:0;border-radius:50%;z-index:2;pointer-events:none;
  background:repeating-conic-gradient(from -0.4deg, #e6ebf0 0deg 0.8deg, rgba(180,190,200,.15) 0.8deg 1.3deg, transparent 1.3deg 9.72973deg);
  -webkit-mask:radial-gradient(circle closest-side, transparent 53%, #000 57%, #000 77%, transparent 81%);
  mask:radial-gradient(circle closest-side, transparent 53%, #000 57%, #000 77%, transparent 81%);}
.rul-wnum{position:absolute;left:50%;top:0;width:0;height:50%;transform-origin:bottom center;pointer-events:none;z-index:3;}
.rul-wnum span{position:absolute;top:3.4%;left:50%;transform:translateX(-50%);font-size:13px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000,0 0 2px #000;}
.rul-track{position:absolute;inset:0;will-change:transform;pointer-events:none;z-index:4;}
.rul-ball{position:absolute;left:50%;top:17%;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#c2c2c2);box-shadow:0 0 9px rgba(255,255,255,.9),0 1px 3px rgba(0,0,0,.7);}
.rul-ball-bounce{animation:rulBounce 1.1s ease-out;}
@keyframes rulBounce{0%{top:6%}25%{top:20%}45%{top:14%}62%{top:19%}80%{top:15.5%}100%{top:17%}}
.rul-wptr{position:absolute;left:50%;top:-5px;transform:translateX(-50%);z-index:6;width:0;height:0;
  border-left:9px solid transparent;border-right:9px solid transparent;border-top:16px solid #ffd54a;filter:drop-shadow(0 1px 2px #000);}
.rul-whub{position:absolute;left:50%;top:50%;width:54px;height:54px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,#d8b24a,#6a4a15);border:3px solid #3a2810;z-index:5;box-shadow:0 0 12px rgba(0,0,0,.5);}
.rul-hist{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin:0 0 12px;}
.rul-hn{min-width:22px;height:22px;line-height:22px;text-align:center;border-radius:5px;font-size:12px;font-weight:800;color:#fff;padding:0 3px;}
.rul-hn-red{background:#9e1b1b;}.rul-hn-black{background:#141414;}.rul-hn-green{background:#1a7a3a;}
.rul-boardwrap{overflow-x:auto;display:flex;justify-content:center;padding-bottom:4px;}
.rul-board{position:relative;margin:0 auto 14px;flex:0 0 auto;}
.rul-cell{position:absolute;box-sizing:border-box;border:1px solid rgba(255,255,255,.22);color:#fff;
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.rul-cell:hover{outline:2px solid #ffd54a;z-index:4;}
.rul-red{background:#9e1b1b;}
.rul-black{background:#161616;}
.rul-zero{background:#1a7a3a;border-radius:9px 0 0 9px;font-size:18px;}
.rul-out{background:linear-gradient(160deg,#243a2a,#16261c);font-size:13px;color:#e2f0e6;}
.rul-obtn-red{background:#9e1b1b;color:#fff;}
.rul-obtn-black{background:#161616;color:#fff;}
.rul-cell .rul-badge{right:1px;bottom:1px;}
.rul-split{position:absolute;box-sizing:border-box;background:transparent;border:none;cursor:pointer;z-index:3;border-radius:3px;padding:0;}
.rul-split:hover{background:rgba(255,213,74,.55);}
.rul-badge{position:absolute;min-width:15px;height:15px;line-height:15px;border-radius:8px;background:#ffd54a;color:#241a02;
  font-size:9.5px;font-weight:800;text-align:center;padding:0 2px;box-shadow:0 0 4px rgba(0,0,0,.7);z-index:5;}
.rul-badge:empty{display:none;}
.rul-split .rul-badge{left:50%;top:50%;transform:translate(-50%,-50%);}
.rul-controls{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;margin:4px 0 12px;}
.rul-chips{display:flex;align-items:center;gap:7px;font-weight:700;color:#c9bce6;font-size:14px;}
.rul-chipbtn{min-width:46px;height:46px;border-radius:50%;border:2px solid #5a4080;background:#1c1430;color:#e9dcff;font-weight:800;font-size:13px;padding:0 3px;cursor:pointer;}
.rul-chipbtn.on{border-color:#ffd54a;background:#3a2d18;color:#ffe27a;box-shadow:0 0 10px rgba(255,213,74,.55);}
.rul-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rul-act{padding:9px 13px;border-radius:10px;border:1px solid #43305f;background:#1c1430;color:#e9dcff;font-weight:700;cursor:pointer;}
.rul-act:hover{border-color:#a06bff;}
.rul-totlbl{color:#c9bce6;font-weight:700;}.rul-totlbl b{color:#ffe27a;}
.rul-res-red{color:#ff6a6a;}.rul-res-black{color:#cfc3ec;}.rul-res-green{color:#7ef0a6;}
/* s833 · apuestas de cuadro/transversal/seisena, resaltado y bloqueo */
.rul-corner{position:absolute;box-sizing:border-box;background:transparent;border:none;cursor:pointer;z-index:4;border-radius:50%;padding:0;}
.rul-corner:hover{background:rgba(255,213,74,.6);}
.rul-street{position:absolute;box-sizing:border-box;background:transparent;border:none;cursor:pointer;z-index:3;border-radius:3px;padding:0;}
.rul-street:hover{background:rgba(255,213,74,.5);}
.rul-corner .rul-badge,.rul-street .rul-badge{left:50%;top:50%;transform:translate(-50%,-50%);}
.rul-cell.rul-win{outline:3px solid #ffd54a!important;box-shadow:0 0 18px rgba(255,213,74,.95);z-index:6;}
.rul-board.rul-locked{pointer-events:none;filter:saturate(.85) brightness(.96);}

/* s835 · RULETA a PANTALLA COMPLETA (pantalla propia) */
.cas-ov-full{padding:0;}
.cas-panel.cas-panel-full{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;padding:10px 24px 16px;display:flex;flex-direction:column;}
.cas-panel-full .cas-body{flex:1;min-height:0;display:flex;flex-direction:column;}
.cas-panel-full .cas-title{margin:2px 0 10px;}
.rul-screen{display:grid;grid-template-columns:340px minmax(520px,780px) minmax(300px,380px);gap:28px;justify-content:center;align-items:start;flex:1;min-height:0;}
/* Panel derecho: tus apuestas en grande */
.rul-bets-panel{align-self:stretch;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;padding:4px;
  scrollbar-width:none;-ms-overflow-style:none;}
.rul-bets-panel::-webkit-scrollbar{width:0;height:0;display:none;}
.rul-bp-tit{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1.5px;color:#f5d97a;font-size:15px;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.6);}
.rul-bp-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start;}
.rul-bp-empty{grid-column:1/-1;color:#9a8fb8;text-align:center;font-size:13px;padding:24px 6px;line-height:1.5;font-style:italic;}
.rul-bp-card{background:linear-gradient(160deg,rgba(30,24,52,.92),rgba(18,14,34,.92));border:1px solid rgba(245,217,122,.28);border-radius:14px;padding:10px 8px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 14px rgba(0,0,0,.4);}
.rul-bp-token{width:66px;height:66px;line-height:66px;text-align:center;border-radius:50%;font-family:'Rajdhani',sans-serif;font-weight:900;font-size:26px;color:#fff;box-shadow:0 0 16px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,255,255,.22);}
.rul-bp-token.rul-bp-red{background:radial-gradient(circle at 40% 32%,#c33,#9e1b1b);}
.rul-bp-token.rul-bp-black{background:radial-gradient(circle at 40% 32%,#333,#151515);}
.rul-bp-token.rul-bp-green{background:radial-gradient(circle at 40% 32%,#28a35a,#1a7a3a);}
.rul-bp-token.rul-bp-gold{background:radial-gradient(circle at 40% 32%,#f7d878,#c99a2e);color:#2a1e00;}
.rul-bp-token.rul-bp-l3{font-size:20px;}.rul-bp-token.rul-bp-l4{font-size:15px;letter-spacing:-.5px;}
.rul-bp-sub{font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.5px;color:#c8bce8;font-size:12px;text-transform:uppercase;}
.rul-bp-bet{color:#e7dcff;font-size:13px;}.rul-bp-bet b{color:#fff;font-size:15px;}
.rul-bp-win{color:#8ff0b0;font-size:13px;}.rul-bp-win b{color:#b6ffcf;font-size:16px;font-weight:900;}
.rul-act-all{grid-column:1/3;background:linear-gradient(160deg,#ff9a4a,#e0521f 60%,#a02f10);box-shadow:0 0 16px rgba(255,120,40,.6);font-size:16px;letter-spacing:1px;}
.rul-side{display:flex;flex-direction:column;gap:14px;align-self:stretch;overflow:auto;padding-right:4px;}
.rul-main{display:flex;flex-direction:column;align-items:center;overflow:auto;min-width:0;}
.rul-stake{background:linear-gradient(160deg,#2a1d42,#160f24);border:2px solid #ffd54a;border-radius:16px;padding:12px 18px;text-align:center;box-shadow:0 0 20px rgba(255,213,74,.3);}
.rul-stake small{display:block;font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1.5px;color:#c9bce6;font-size:13px;margin-bottom:2px;}
.rul-stake b{font-size:42px;font-weight:900;color:#ffe27a;line-height:1;text-shadow:0 0 14px rgba(255,213,74,.5);}
.rul-stake span{color:#c9bce6;font-size:14px;font-weight:700;}
.rul-side-tit{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1.5px;color:#bbaede;font-size:13px;text-align:center;margin-top:2px;}
.rul-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;}
.rul-chipbtn{min-width:48px;height:48px;border-radius:50%;border:2px dashed rgba(255,255,255,.7);color:#fff;font-weight:800;font-size:13px;padding:0 3px;cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,255,255,.18);text-shadow:0 1px 2px rgba(0,0,0,.7);transition:transform .1s,box-shadow .1s;}
.rul-chip-light{color:#241a02!important;text-shadow:none;}
.rul-chipbtn.on{outline:3px solid #ffd54a;outline-offset:1px;transform:scale(1.1);box-shadow:0 0 16px rgba(255,213,74,.85),inset 0 0 0 3px rgba(255,255,255,.25);}
.rul-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.rul-act{border:none;border-radius:11px;padding:12px 10px;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;letter-spacing:.5px;color:#fff;cursor:pointer;transition:filter .1s,transform .1s;}
.rul-act:hover{filter:brightness(1.12);transform:translateY(-1px);}
.rul-act-undo{background:linear-gradient(160deg,#5a78d6,#2f4aa0);box-shadow:0 0 12px rgba(90,120,214,.5);}
.rul-act-rep{background:linear-gradient(160deg,#4fd0e0,#1f8aa0);box-shadow:0 0 12px rgba(79,208,224,.5);}
.rul-act-dbl{background:linear-gradient(160deg,#e0b84f,#a07a1f);box-shadow:0 0 12px rgba(224,184,79,.5);color:#241a02;}
.rul-act-clr{background:linear-gradient(160deg,#e06a6a,#a02f2f);box-shadow:0 0 12px rgba(224,106,106,.5);}
.rul-legend{background:linear-gradient(160deg,#1c1430,#120c1e);border:1px solid #43305f;border-radius:14px;padding:12px 14px;}
.rul-leg-tit{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1px;color:#d6c9f2;text-align:center;margin-bottom:8px;font-size:14px;}
.rul-leg-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px;}
.rul-leg-row:last-child{border-bottom:none;}
.rul-leg-n{flex:1;color:#e9dcff;font-weight:600;}
.rul-leg-c{color:#9a8cc0;font-size:11px;white-space:nowrap;}
.rul-leg-p{color:#ffe27a;font-weight:800;white-space:nowrap;}
.rul-top{display:flex;gap:26px;align-items:center;justify-content:center;width:100%;flex-wrap:wrap;}
.rul-wheelcol{display:flex;flex-direction:column;align-items:center;}
.rul-result{min-width:210px;max-width:270px;align-self:center;background:linear-gradient(160deg,#1c1430,#120c1e);border:2px solid #43305f;border-radius:18px;padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 0 20px rgba(0,0,0,.4);}
.rul-res-empty,.rul-res-spin{color:#b6a8d6;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:19px;line-height:1.45;}
.rul-res-num{width:78px;height:78px;line-height:78px;border-radius:50%;font-size:36px;font-weight:900;color:#fff;box-shadow:0 0 20px rgba(0,0,0,.55);}
.rul-res-num.rul-res-red{background:#9e1b1b;color:#fff;}
.rul-res-num.rul-res-black{background:#161616;color:#fff;}
.rul-res-num.rul-res-green{background:#1a7a3a;color:#fff;}
.rul-res-props{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:15px;color:#cfc3ec;letter-spacing:.3px;line-height:1.55;}
.rul-res-win{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:17px;color:#9a8cc0;line-height:1.2;}
.rul-res-win.on{color:#7ef0a6;}
.rul-res-win.on b{display:block;font-size:46px;color:#ffe27a;text-shadow:0 0 18px rgba(255,213,74,.65);line-height:1.05;margin:2px 0;}
.rul-res-net{display:flex;flex-direction:column;gap:4px;width:100%;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:14px;color:#b6a8d6;border-top:1px solid rgba(255,255,255,.12);padding-top:10px;}
.rul-res-net>span{display:flex;justify-content:space-between;}
.rul-res-net b{color:#eaded9;}
.rul-res-neto{font-size:17px;margin-top:2px;}
.rul-res-neto.pos b{color:#7ef0a6;}
.rul-res-neto.neg b{color:#ff8a8a;}

/* s843 · BLACKJACK — mesa de tapete verde, cartas grandes, reparto carta a carta */
.rul-screen-bj{grid-template-columns:300px minmax(720px,1060px);gap:24px;}
.bj-main{justify-content:flex-start;width:100%;}
.bj-felt{width:100%;max-width:1040px;margin:0 auto;background:radial-gradient(ellipse at 50% 42%,#12784f 0%,#0b5c3b 55%,#063d2b 100%);
  border:14px solid #5a301f;border-radius:32px;box-shadow:inset 0 0 90px rgba(0,0,0,.45),0 10px 30px rgba(0,0,0,.55),inset 0 0 0 3px #87563a;
  padding:30px 36px 36px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:600px;}
.bj-felt-lbl{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:2px;font-size:14px;color:rgba(245,235,212,.4);text-align:center;margin:6px 0;
  border:2px solid rgba(245,235,212,.22);border-radius:40px;padding:6px 22px;}
.bj-dealer,.bj-player{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:200px;}
.bj-player{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:34px;}
.bj-lbl{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:2px;color:#f5ebd4;font-size:18px;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.bj-lbl b{color:#ffe27a;font-size:26px;}
.bj-cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;min-height:186px;align-items:center;}
.bj-card{width:134px;height:186px;perspective:1000px;}
.bj-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(0deg);}
.bj-front,.bj-back2{position:absolute;inset:0;border-radius:9px;box-shadow:0 4px 11px rgba(0,0,0,.55);backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.bj-front{background:#fffdf8;border:1px solid #d8d2c5;color:#151515;display:flex;flex-direction:column;justify-content:space-between;padding:8px 10px;overflow:hidden;}
.bj-card.bj-red .bj-front{color:#c62828;}
.bj-cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:9px;transform:scale(1.62);transform-origin:center;}
.bj-front.bj-imgok{background:transparent;border-color:transparent;}
.bj-front.bj-imgok .bj-cr,.bj-front.bj-imgok .bj-cs{display:none;}
.bj-back2{transform:rotateY(180deg);background:url('cartas-bj/back.png') center/cover, repeating-linear-gradient(45deg,#3a2d6e,#3a2d6e 7px,#2a2050 7px,#2a2050 14px);border:1px solid #6a4aa0;}
.bj-back2::after{content:'';position:absolute;inset:8px;border:2px solid rgba(255,255,255,.18);border-radius:6px;}
.bj-cr{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:40px;line-height:1;}
.bj-cs{font-size:52px;line-height:1;align-self:flex-end;}
/* Reparto: la carta cae con el dorso y se voltea para descubrirse (solo la carta nueva) */
.bj-card.bj-deal-in .bj-inner{animation:bjFlip .6s cubic-bezier(.2,.7,.25,1);}
@keyframes bjFlip{0%{transform:rotateY(180deg) translateY(-40px);}45%{transform:rotateY(180deg) translateY(0);}100%{transform:rotateY(0deg) translateY(0);}}
.bj-hand{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;border:2px solid transparent;}
.bj-hand.bj-active{border-color:#ffd54a;box-shadow:0 0 16px rgba(255,213,74,.45);background:rgba(255,213,74,.08);}
.bj-hand.bj-h-win,.bj-hand.bj-h-bj{border-color:#4fe08a;box-shadow:0 0 14px rgba(79,224,138,.45);}
.bj-hand.bj-h-lose,.bj-hand.bj-h-bust{border-color:#e05a5a;}
.bj-hand.bj-h-push{border-color:#8fb0d6;}
.bj-htot{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:15px;color:#f5ebd4;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.bj-htot b{font-size:21px;color:#ffe27a;}
.bj-empty{color:#eaf1e8;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:22px;text-align:center;line-height:1.5;padding:44px 10px;text-shadow:0 1px 3px rgba(0,0,0,.6);}
.bj-dealer-msg{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1px;font-size:19px;color:#ffe27a;text-align:center;margin-top:16px;text-shadow:0 0 12px rgba(255,213,74,.4);}
.bj-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px;}
.bj-actions .rul-act{min-width:142px;font-size:17px;padding:15px 12px;}
.bj-act-hit{background:linear-gradient(160deg,#4fd07a,#1f9a50);box-shadow:0 0 12px rgba(79,208,122,.5);}
.bj-act-stand{background:linear-gradient(160deg,#e06a6a,#a02f2f);box-shadow:0 0 12px rgba(224,106,106,.5);}
.bj-act-dbl{background:linear-gradient(160deg,#e0b84f,#a07a1f);color:#241a02;box-shadow:0 0 12px rgba(224,184,79,.5);}
.bj-act-split{background:linear-gradient(160deg,#8a6ad6,#4f2fa0);box-shadow:0 0 12px rgba(138,106,214,.5);}
.bj-main .rul-spin-btn{max-width:540px;margin-top:18px;font-size:22px;}
.bj-repeat-btn{margin-top:12px;max-width:540px;width:100%;font-size:22px;background:linear-gradient(160deg,#4fd0e0,#1f8aa0);box-shadow:0 0 16px rgba(79,208,224,.55);color:#04222a;}
.rul-act[disabled]{opacity:.4;cursor:not-allowed;filter:grayscale(.4);}
.rul-main .rul-wheelwrap{width:470px;height:470px;margin:4px auto 12px;}
.rul-main .rul-wnum span{font-size:15px;top:4.5%;font-weight:900;}
.rul-spin-btn{max-width:760px;width:100%;margin-top:14px;font-size:21px;padding:16px;letter-spacing:1px;}
@media(max-width:900px){.rul-screen{grid-template-columns:1fr;}.rul-main .rul-wheelwrap{width:320px;height:320px;}}

/* s821 · Fila GIRAR + AUTO */
.cas-spin-row{display:flex;gap:12px;align-items:stretch;}
.cas-spin-row .cas-spin{flex:1;margin:0;}
.cas-auto{flex:0 0 auto;min-width:120px;border:2px solid #5a3d84;border-radius:12px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:800;font-size:16px;letter-spacing:.5px;color:#e9dcff;
  background:linear-gradient(160deg,#2a1d42,#160f24);transition:filter .1s,transform .1s,border-color .1s,box-shadow .1s;padding:0 18px;}
.cas-auto:hover{filter:brightness(1.1);transform:translateY(-1px);}
.cas-auto.on{color:#062012;border-color:#4fe08a;background:linear-gradient(160deg,#4fe08a,#1fa050 60%,#13713a);box-shadow:0 0 16px rgba(63,207,142,.55);}

/* s855 · INCURSIONES CO-OP (raids) */
.adv-raid-hero{background-color:#2a1414;background-image:url('incursiones-copia.png');background-position:center 32%;border-color:rgba(255,120,90,.35);}
.adv-raid-hero::before{background:linear-gradient(100deg, rgba(20,8,14,.86) 0%, rgba(36,12,22,.64) 48%, rgba(16,6,12,.42) 100%);}
.adv-raid-ico{width:72px;height:72px;filter:drop-shadow(0 2px 7px rgba(0,0,0,.7));}
.adv-raid-hero:hover .adv-raid-ico{transform:scale(1.08) rotate(6deg);transition:transform .18s ease;}
.adv-raid-hero .adv-libre-hero-tx b{color:#ff9a7a;}
.adv-raid-hero:hover{border-color:rgba(255,120,90,.75);box-shadow:0 0 22px rgba(255,120,90,.4);}
.raid-ov{position:fixed;inset:0;z-index:346;display:flex;align-items:center;justify-content:center;
  background-color:#0a0610;background-image:linear-gradient(rgba(8,5,12,.6),rgba(8,5,12,.74)),url('incursiones-copia.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .16s;padding:16px;box-sizing:border-box;}
.raid-ov.show{opacity:1;}
.raid-panel{position:relative;width:min(560px,96vw);max-height:92vh;overflow:auto;
  background-color:#120b12;background-image:linear-gradient(rgba(16,9,14,.9),rgba(16,9,14,.93)),url('incursiones-copia.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:local;
  border:2px solid #a0432f;border-radius:20px;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 52px rgba(200,70,40,.3),0 24px 60px rgba(0,0,0,.7);padding:22px;}
.raid-head{text-align:center;margin-bottom:16px;}
.raid-head b{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:24px;letter-spacing:1px;background:linear-gradient(90deg,#ff9a4a,#ff5a6a 60%,#c86bff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.raid-sec{font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:1px;font-size:15px;color:#e9c9d6;margin:14px 0 8px;display:flex;align-items:center;gap:8px;}
.raid-refr{margin-left:auto;background:#2a1a22;border:1px solid #6a3040;color:#ffcfa0;border-radius:8px;padding:2px 9px;cursor:pointer;font-size:15px;}
.raid-crear{background:linear-gradient(160deg,#2a1620,#1a0f16);border:1px solid #6a3040;border-radius:14px;padding:14px;}
.raid-stars-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#c9b3bf;font-weight:700;font-size:13px;margin-bottom:6px;}
.raid-star{min-width:40px;padding:8px 6px;border-radius:9px;border:1px solid #6a3040;background:#1c1018;color:#e9dcdf;font-weight:800;cursor:pointer;}
.raid-star.on{border-color:#ff9a4a;background:#4a2a18;color:#ffd76a;box-shadow:0 0 10px rgba(255,150,60,.4);}
.raid-crear-sub{font-size:12px;color:#a98c98;margin-bottom:10px;}
.raid-crear-btn{display:block;width:100%;padding:13px;border:none;border-radius:12px;cursor:pointer;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:17px;letter-spacing:.5px;color:#2a0808;background:linear-gradient(160deg,#ff9a4a,#e0521f 60%,#a02f10);box-shadow:0 0 16px rgba(255,120,40,.5);}
.raid-crear-btn:hover{filter:brightness(1.07);}
.raid-lista{display:flex;flex-direction:column;gap:8px;}
.raid-vacio{color:#a98c98;font-size:13px;text-align:center;padding:16px;line-height:1.5;}
.raid-item{display:flex;align-items:center;gap:12px;background:linear-gradient(160deg,#251620,#160d14);border:1px solid #5a2838;border-radius:12px;padding:10px 12px;}
.raid-item-spr{width:52px;height:52px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;}
.raid-item-tx{flex:1;display:flex;flex-direction:column;gap:2px;}
.raid-item-tx b{color:#f2dce6;font-size:15px;font-weight:800;}
.raid-item-tx small{color:#b09aa6;font-size:12px;}
.raid-stars{color:#ffd76a;letter-spacing:1px;}
.raid-join{border:none;border-radius:10px;padding:10px 16px;cursor:pointer;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(160deg,#4fd07a,#1f9a50);box-shadow:0 0 12px rgba(79,208,122,.5);}
.raid-join:hover{filter:brightness(1.08);}
.raid-err{color:#ff9a9a;background:rgba(160,40,40,.2);border:1px solid #6a3030;border-radius:10px;padding:9px 12px;font-size:13px;margin-bottom:10px;}
.raid-sala{display:flex;flex-direction:column;align-items:center;gap:16px;padding:6px;}
.raid-boss{display:flex;flex-direction:column;align-items:center;gap:4px;}
.raid-boss-spr{width:150px;height:150px;object-fit:contain;image-rendering:pixelated;border-radius:50%;
  background:radial-gradient(circle at 50% 47%, rgba(6,5,12,.9) 0%, rgba(6,5,12,.8) 40%, rgba(6,5,12,.35) 60%, rgba(6,5,12,0) 72%);
  filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 0 5px rgba(0,0,0,.85)) drop-shadow(0 6px 14px rgba(0,0,0,.6));}
.raid-boss-nom{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:24px;color:#ff9a7a;letter-spacing:.5px;}
.raid-boss-sub{color:#c9b3bf;font-weight:700;font-size:14px;}
.raid-boss-hp{color:#ffb0b0;font-weight:800;font-size:14px;}
.raid-trainers{display:flex;align-items:center;gap:16px;}
.raid-tr{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:130px;background:linear-gradient(160deg,#251620,#160d14);border:2px solid #5a2838;border-radius:14px;padding:12px;}
.raid-tr-yo{border-color:#ffd76a;box-shadow:0 0 14px rgba(255,213,74,.35);}
.raid-tr-wait{opacity:.6;border-style:dashed;}
.raid-tr-ico{font-size:30px;}
.raid-tr b{color:#f2dce6;font-size:15px;}
.raid-tr small{color:#ffd76a;font-size:12px;}
.raid-vs{font-family:'Rajdhani',sans-serif;font-weight:900;font-size:26px;color:#ff7a5a;}
.raid-estado{text-align:center;color:#c9b3bf;font-size:14px;line-height:1.5;max-width:420px;}
.raid-estado-ok{color:#9fe0a6;}
.raid-salir{border:1px solid #6a3040;background:#2a1620;color:#ffcfc0;border-radius:11px;padding:11px 22px;cursor:pointer;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;}
.raid-salir:hover{border-color:#ff7a5a;}

/* s856 · INCURSIÓN — combate co-op */
.raid-combate{gap:12px;}
.raid-bossbig{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:340px;}
.raid-bossbig-spr{width:132px;height:132px;object-fit:contain;image-rendering:pixelated;border-radius:50%;
  background:radial-gradient(circle at 50% 47%, rgba(6,5,12,.9) 0%, rgba(6,5,12,.8) 40%, rgba(6,5,12,.35) 60%, rgba(6,5,12,0) 72%);
  filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 0 5px rgba(0,0,0,.85)) drop-shadow(0 6px 14px rgba(0,0,0,.6));}
.raid-bossbig-sh .raid-bossbig-spr{filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 0 16px rgba(120,200,255,.95));}
.raid-bossbig-nom{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:22px;color:#ff9a7a;}
.raid-bosshp{width:100%;height:16px;border-radius:9px;background:#2a1016;border:1px solid #6a3040;overflow:hidden;}
.raid-bosshp>i{display:block;height:100%;background:linear-gradient(90deg,#ff4a5a,#ff8a5a);transition:width .4s;}
.raid-hp-n{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12px;color:#e9c9d6;}
.raid-shield{font-weight:800;font-size:13px;color:#8fd4ff;text-shadow:0 0 8px rgba(120,200,255,.6);}
.raid-lados{display:flex;gap:16px;justify-content:center;width:100%;flex-wrap:wrap;}
.raid-lado{flex:1;min-width:150px;max-width:230px;display:flex;flex-direction:column;gap:6px;}
.raid-lado-nom{font-family:'Rajdhani',sans-serif;font-weight:800;color:#e9dcdf;font-size:14px;text-align:center;}
.raid-lado-nom small{color:#b09aa6;font-weight:600;}
.raid-mon{display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(160deg,#231620,#150d13);border:2px solid #5a2838;border-radius:12px;padding:10px;}
.raid-mon-yo{border-color:#ffd76a;box-shadow:0 0 12px rgba(255,213,74,.3);}
.raid-mon-ko{opacity:.45;filter:grayscale(.7);}
.raid-mon-out{justify-content:center;color:#a98c98;min-height:110px;}
.raid-mon-spr{width:74px;height:74px;object-fit:contain;image-rendering:pixelated;}
.raid-mon-nom{font-family:'Rajdhani',sans-serif;font-weight:700;color:#f2dce6;font-size:13px;}
.raid-mon-nom small{color:#b09aa6;}
.raid-hpbar{width:100%;height:10px;border-radius:6px;background:#2a1016;border:1px solid #5a2838;overflow:hidden;}
.raid-hpbar>i{display:block;height:100%;background:linear-gradient(90deg,#4fe08a,#a6e04f);transition:width .4s;}
.raid-log{width:100%;max-width:460px;background:rgba(0,0,0,.3);border:1px solid #4a2430;border-radius:10px;padding:8px 10px;max-height:110px;overflow:auto;}
.raid-log-l{font-size:12.5px;color:#e0cdd6;line-height:1.5;}
.raid-turno{font-family:'Rajdhani',sans-serif;font-weight:800;color:#c9b3bf;font-size:13px;letter-spacing:1px;}
.raid-moves{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;max-width:460px;}
.raid-mv{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:none;border-radius:11px;cursor:pointer;color:#fff;background:linear-gradient(160deg,#4a3050,#2a1830);box-shadow:0 2px 6px rgba(0,0,0,.4);}
.raid-mv:hover{filter:brightness(1.12);transform:translateY(-1px);}
.raid-mv b{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;}
.raid-mv small{font-size:11px;opacity:.85;}
.raid-t-fire{background:linear-gradient(160deg,#e0592f,#a02f10);}
.raid-t-water{background:linear-gradient(160deg,#3a7ad6,#1f4aa0);}
.raid-t-grass{background:linear-gradient(160deg,#4fae4a,#1f7a30);}
.raid-t-electric{background:linear-gradient(160deg,#e0b83a,#a07a10);color:#241a02;}
.raid-t-psychic{background:linear-gradient(160deg,#e04a8a,#a01f5a);}
.raid-t-ice{background:linear-gradient(160deg,#5ac0d0,#2f8aa0);color:#04222a;}
.raid-t-dragon{background:linear-gradient(160deg,#6a4ad6,#3a2fa0);}
.raid-t-dark{background:linear-gradient(160deg,#4a3a4a,#221822);}
.raid-t-fighting{background:linear-gradient(160deg,#c0402f,#802010);}
.raid-t-fairy{background:linear-gradient(160deg,#e07ac0,#a03f8a);}
.raid-t-ground{background:linear-gradient(160deg,#c0904a,#805a1f);}
.raid-t-rock{background:linear-gradient(160deg,#a08a4a,#605010);}
.raid-t-steel{background:linear-gradient(160deg,#7a8a9a,#4a5a6a);}
.raid-t-ghost{background:linear-gradient(160deg,#5a4a8a,#2f2050);}
.raid-t-bug{background:linear-gradient(160deg,#8aae2f,#5a7a10);}
.raid-t-poison{background:linear-gradient(160deg,#9a4ac0,#5f2f8a);}
.raid-t-flying{background:linear-gradient(160deg,#7aa0e0,#4a6ac0);}
.raid-fin{font-family:'Rajdhani',sans-serif;font-weight:800;font-size:22px;text-align:center;line-height:1.4;}
.raid-fin small{display:block;font-size:13px;font-weight:600;color:#c9b3bf;margin-top:4px;}
.raid-fin-win{color:#ffd76a;text-shadow:0 0 16px rgba(255,213,74,.5);}
.raid-fin-lose{color:#ff8a8a;}

/* s857 · Fichas de casino con PNG (selector ruleta/blackjack + mini-ficha tapete) */
.rul-chipbtn{background:transparent!important;border:none!important;box-shadow:none!important;width:76px;height:76px;min-width:76px;padding:2px;border-radius:50%;position:relative;transition:transform .1s;}
.rul-chip-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));}
.rul-chipbtn:hover{transform:translateY(-2px) scale(1.05);}
.rul-chipbtn.on{outline:none!important;transform:scale(1.16);}
.rul-chipbtn.on::after{content:'';position:absolute;inset:-2px;border-radius:50%;border:3px solid #ffd54a;box-shadow:0 0 15px rgba(255,213,74,.85);pointer-events:none;}
.rul-badge{background:transparent!important;box-shadow:none!important;min-width:0!important;width:26px!important;height:26px!important;padding:0!important;display:flex;align-items:center;justify-content:center;}
.rul-badge-chip{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7));}
.rul-badge-n{position:relative;z-index:2;font-size:9px;font-weight:900;color:#1a1206;text-shadow:0 1px 1px rgba(255,255,255,.6);}

/* s858 · Incursión: invitación y botón invitar */
.raid-invit{background:linear-gradient(160deg,#2a1a30,#180f1a);border:2px solid #a06bff;border-radius:14px;padding:12px;margin-bottom:12px;box-shadow:0 0 18px rgba(160,107,255,.3);}
.raid-invit>b{display:block;color:#d0b0ff;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:15px;margin-bottom:8px;}
.raid-invitar-btn{background:linear-gradient(160deg,#8a6ad6,#4f2fa0)!important;box-shadow:0 0 14px rgba(138,106,214,.5)!important;color:#fff!important;margin-bottom:10px;}

/* s860 · Mesa de blackjack con amigo (co-op) */
.bjc-lobby{display:flex;flex-direction:column;gap:14px;max-width:440px;margin:10px auto;}
.bjc-seats{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;width:100%;}
.bjc-seat-nom{font-family:'Rajdhani',sans-serif;font-weight:800;color:#f5ebd4;font-size:14px;margin-bottom:4px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.bjc-seat-nom small{color:#ffd76a;}
.bjc-bet{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;}
