
:root{
  --bg:#0d0a13; --bg2:#150f1f; --panel:#1c1429; --panel2:#241a34;
  --line:#3a2c52; --gold:#e6bb52; --gold2:#8d6f21;
  --purple:#8a5cf0; --purple2:#4a2f8a;
  --red:#e0524a; --green:#4fc07d; --blue:#4aa6ff; --ink:#f0e9f8; --dim:#a294bd;
  /* Cada clase de carta tiene su color, elegidos por Rafa. Tres tonos: el del
     borde, y el claro y el oscuro con los que se pinta el círculo del coste.
     Ojo al verde y al rojo: en el juego ya significan cosas (verde = puedes
     jugarla / puede atacar; rojo = objetivo válido), pero esos son HALOS
     (box-shadow) y esto son BORDES, así que conviven. Aun así, el verde de
     Lugares es un esmeralda profundo, lejos del verde claro de Infectado y del
     verde medio del halo de "jugable". */
  --c-personaje:#3d8ef5; --c-personaje-cl:#8dc2ff; --c-personaje-os:#123f7d;  /* azul */
  --c-hechizo:#9b5cf0;   --c-hechizo-cl:#c9a2fa;   --c-hechizo-os:#43208a;    /* violeta */
  --c-trampa:#e0453c;    --c-trampa-cl:#ff8f86;    --c-trampa-os:#7a1912;     /* rojo */
  --c-objeto:#e8c02f;    --c-objeto-cl:#ffe07d;    --c-objeto-os:#6f5406;     /* amarillo */
  --c-lugar:#10996a;     --c-lugar-cl:#5fd6a8;     --c-lugar-os:#064a32;      /* verde esmeralda */
  --cw:126px; --ch:176px;          /* la carta en mesa */
  --cwm:150px; --chm:210px;        /* en la mano, más grande: es la que vas a jugar */
  /* La tipografía es la mitad del acabado. Serif con versalitas para los
     nombres —da el aire de baraja impresa— y sans sólo para el cuerpo, que a
     tamaño pequeño se lee mejor. Todo son fuentes del sistema: el juego sigue
     siendo un archivo suelto que funciona sin conexión. */
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:"Trebuchet MS",system-ui,sans-serif;
  /* la luz de la sala: cae de arriba y se apaga por los bordes */
  --luz:#3a2a52; --sombra:#07050b;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:
    radial-gradient(ellipse 90% 60% at 50% -8%, rgba(120,86,190,.30), transparent 62%),
    radial-gradient(ellipse 70% 50% at 50% 108%, rgba(90,60,150,.16), transparent 60%),
    linear-gradient(180deg,#150f22 0%,var(--bg) 55%,#080610 100%);
  background-attachment:fixed;
  color:var(--ink);font:14px/1.45 var(--sans);
  overflow:hidden;user-select:none;-webkit-tap-highlight-color:transparent;
}
/* La viñeta. Sin ella el tablero flota en un rectángulo plano; con ella la
   mirada se va al centro, que es donde pasa la partida. */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:5;
  background:radial-gradient(ellipse 78% 70% at 50% 46%, transparent 40%, rgba(4,2,8,.62) 100%);
}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.btn{
  background:linear-gradient(180deg,#2e2244,#1a1228);
  border:1px solid var(--line);border-radius:9px;padding:9px 16px;
  color:var(--ink);letter-spacing:.6px;font-weight:600;
  transition:transform .13s, box-shadow .15s, border-color .13s, background .15s;
  box-shadow:0 3px 0 rgba(0,0,0,.45), 0 5px 14px rgba(0,0,0,.45),
             inset 0 1px 0 rgba(255,255,255,.10);
}
.btn:hover{border-color:var(--gold);background:linear-gradient(180deg,#3b2b58,#251a3a);
  transform:translateY(-1px);
  box-shadow:0 4px 0 rgba(0,0,0,.45), 0 8px 20px rgba(0,0,0,.5),
             inset 0 1px 0 rgba(255,255,255,.14)}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.4)}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn.gold{border-color:var(--gold2);background:linear-gradient(180deg,#6b5320,#3d2f13);
  color:#ffe6a8;font:600 14px/1 var(--serif);font-variant:small-caps;letter-spacing:1px;
  text-shadow:0 1px 3px rgba(0,0,0,.7);
  box-shadow:0 3px 0 #241a08, 0 6px 16px rgba(0,0,0,.5),
             inset 0 1px 0 rgba(255,225,150,.28)}
.btn.gold:hover{background:linear-gradient(180deg,#8a6b28,#54401a);border-color:var(--gold);
  box-shadow:0 4px 0 #241a08, 0 9px 22px rgba(0,0,0,.55),
             inset 0 1px 0 rgba(255,235,175,.36)}
.btn.sm{padding:5px 10px;font-size:12px}
.hidden{display:none!important}

/* ============ PANTALLAS ============ */
/* EL LIENZO
   El tablero se dibuja SIEMPRE al mismo tamaño —un lienzo fijo— y luego se
   escala entero para caber en la ventana. Así una carta guarda exactamente la
   misma proporción respecto al tapete, al mazo y a la mano en cualquier
   pantalla: lo que cambia es el zoom, no el diseño. Antes cada trozo encogía
   por su cuenta con las media queries y las proporciones se desmontaban.
   Sólo hay dos lienzos, uno apaisado y otro de pie, porque una pantalla de
   móvil en vertical no admite el mismo reparto que un monitor. */
#app{position:fixed;inset:0;overflow:hidden;display:grid;place-items:center}
#lienzo{
  position:relative;                 /* las pantallas van con inset:0: sin esto
                                        se anclan a la ventana y se salen */
  width:var(--LW,1600px);height:var(--LH,900px);
  /* zoom, NO transform:scale. Con scale el navegador dibuja el tablero a su
     tamaño y luego estira ese mapa de bits: el texto sale borroso y los bordes
     sucios. zoom rehace el cálculo y vuelve a dibujar las letras al tamaño
     final, así que todo queda nítido por muy pequeña que sea la pantalla. */
  zoom:var(--k,1)}
.screen{position:absolute;inset:0;display:none;flex-direction:column}
/* EL TABLERO Y SU PANEL
   El registro sale del tapete y pasa a su propia columna, fuera del juego: era
   una caja flotando encima de la mesa que tapaba lo que hubiera debajo. Fuera
   cabe entero, se lee de arriba abajo y deja el tablero limpio. */
#mesa{min-width:0;min-height:0;overflow:visible;
  display:grid;grid-template-rows:auto 1fr auto}
/* Por encima de la mano. #handzone lleva z-index para montarse sobre el tapete,
   y el panel no llevaba ninguno: al crecer una carta al pasar por encima se
   metía dentro del Registro y del chat, tapando lo que estabas leyendo. */
#panel{width:274px;display:flex;flex-direction:column;gap:6px;
  padding:12px 14px 14px 8px;min-height:0;position:relative;z-index:12}
.panelttl{font:600 9.5px/1 var(--sans);letter-spacing:2.4px;color:#7a6ba0;
  text-transform:uppercase;padding-left:2px}
.screen.on{display:flex}

/* ---- Menú ---- */
/* ==========================================================================
   LOS MENÚS
   El tablero es morado —es el color del Domo— pero todo lo que hay ANTES de
   entrar a jugar comparte la identidad del logo: oro, brasa y piedra quemada.
   Esa identidad vive en `.portada`, no en `:root`, para que la lleven la
   portada, el selector de Protagonista y las guías sin tocar la mesa.
   Todo el movimiento es CSS. Nada de esto corre en JavaScript salvo repartir
   las cartas del fondo una sola vez al arrancar.
   ========================================================================== */
#fondoMenus,.portada{
  --oro:#f7d488; --oro2:#d9a441; --oro3:#8a5f1e;
  --brasa:#ff7a18; --brasa2:#e8340c; --sangre:#8b1a12;
  --piedra:#2a1c15; --piedra2:#170f0b}
/* El fondo compartido. Se enciende cuando la pantalla visible es un menú y se
   apaga al entrar a la mesa; entre menú, selector y guías NO se toca, que es
   justo lo que hace que no se reinicie. */
#fondoMenus{position:absolute;inset:0;z-index:0;overflow:hidden;display:none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 8%,  rgba(255,122,24,.16), transparent 62%),
    radial-gradient(ellipse 90% 70% at 50% 108%, rgba(232,52,12,.20), transparent 66%),
    linear-gradient(180deg,#120c0a 0%,#1b110c 45%,#0b0706 100%)}
#fondoMenus.on{display:block}
.portada{align-items:center;justify-content:center;gap:0;
  text-align:center;padding:30px 24px;overflow:hidden;background:transparent}
.portada>*{position:relative;z-index:4}
/* EL VELO
   Las cartas del fondo cruzan por detrás de la columna de botones y, por muy
   apagadas que estén, un texto sobre una carta en movimiento se lee peor. Un
   óvalo oscuro entre el fondo y el contenido lo resuelve sin apagar la escena:
   el centro queda legible y los bordes siguen vivos. Las brasas van por
   ENCIMA del velo, que es lo que le da el chispazo delante del texto. */
#fondoMenus::after{content:"";position:absolute;left:50%;top:52%;translate:-50% -50%;
  width:1240px;height:880px;z-index:2;pointer-events:none;border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(9,5,4,.80) 0%, rgba(9,5,4,.62) 42%, rgba(9,5,4,.28) 66%, transparent 78%)}
#fondoMenus>.ambiente{z-index:0}
#fondoMenus>.disco{z-index:1}
#fondoMenus>.barajaFondo{z-index:1}
#fondoMenus>.brasas{z-index:3}
/* el polvo del Domo, aquí en tono brasa en vez de morado */
#fondoMenus .ambiente i{filter:hue-rotate(-42deg) saturate(1.35)}

/* EL DISCO DE RUNAS
   El logo se apoya en un disco de piedra con runas. Repetirlo detrás, girando
   muy despacio, ata la portada al logo sin competir con él: por eso es enorme,
   está muy apagado y tarda dos minutos en dar una vuelta. */
.disco{position:absolute;left:50%;top:500px;
  width:1010px;aspect-ratio:1;translate:-50% -50%;
  z-index:1;pointer-events:none;opacity:.5;
  background:
    repeating-conic-gradient(from 0deg,
      rgba(217,164,65,.16) 0deg 1.1deg, transparent 1.1deg 6deg);
  -webkit-mask:radial-gradient(circle, transparent 60%, #000 61%, #000 66%, transparent 67%);
          mask:radial-gradient(circle, transparent 60%, #000 61%, #000 66%, transparent 67%);
  animation:gira 120s linear infinite}
.disco.dos{width:760px;opacity:.42;animation-duration:86s;
  animation-direction:reverse;
  -webkit-mask:radial-gradient(circle, transparent 72%, #000 73%, #000 76%, transparent 77%);
          mask:radial-gradient(circle, transparent 72%, #000 73%, #000 76%, transparent 77%)}
@keyframes gira{to{rotate:360deg}}

/* LAS CARTAS DEL FONDO
   Suben despacio, giran un poco y se desvanecen. Las de delante son grandes,
   nítidas y rápidas; las del fondo, pequeñas, borrosas y lentas. Esa diferencia
   es lo único que hace que parezca un espacio y no un collage.
   Nunca pasan por encima del texto: viven en z-index 1 y el menú en 3. */
.barajaFondo{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
/* Las que vuelan son CARTAS DE VERDAD, no dorsos genéricos: por ahora las de
   los Protagonistas, que son las únicas con retrato. La caja de fuera es la
   que se mueve y dentro va una `.lcard` a tamaño real, encogida con `scale`:
   así el diseño es exactamente el mismo que ves en el selector y no una
   imitación que haya que mantener en dos sitios. */
.cartaFondo{position:absolute;top:100%;width:var(--w);height:0;
  opacity:0;will-change:transform,opacity;
  animation:sube var(--dur) linear var(--esp) infinite}
/* La vertical, no la apaisada del carrete: `.vscard` es la carta de Líder en
   formato de naipe y ya existe —la usa la cortinilla del VS—, así que el fondo
   enseña exactamente la misma pieza. Sus estilos viven bajo `.vs .vscard`, que
   aquí no aplica, y por eso se repiten los de aspecto (no los de posición ni
   los de la animación del choque, que son de allí). */
.cartaFondo .vscard{position:absolute;left:0;top:0;width:250px;
  transform:scale(var(--k));transform-origin:0 0;
  border:2px solid var(--oro3);border-radius:16px;overflow:hidden;
  background:linear-gradient(178deg,#2c2143,#140e22);
  box-shadow:0 22px 56px rgba(0,0,0,.8);
  pointer-events:none;transition:none}
.cartaFondo .vscard .lface{height:236px;font-size:82px;position:relative}
.cartaFondo .vscard .lname{position:absolute;left:0;right:0;top:204px;z-index:3;
  text-align:center;font:700 21px/1.1 var(--serif);font-variant:small-caps;
  color:#fdf6e6;padding:4px 10px 6px;text-shadow:0 2px 8px #000;
  background:linear-gradient(90deg,transparent,rgba(8,5,14,.94) 16%,rgba(8,5,14,.94) 84%,transparent)}
.cartaFondo .vscard .larch{text-align:center;padding:26px 12px 14px;font-size:10px}
@keyframes sube{
  0%  {opacity:0;   transform:translate3d(0,0,0)                 rotate(var(--gir0)) scale(.98)}
  12% {opacity:var(--op)}
  85% {opacity:var(--op)}
  100%{opacity:0;   transform:translate3d(var(--dx),-1240px,0)    rotate(var(--gir1)) scale(1.04)}}

/* LAS BRASAS
   Suben del borde de abajo, que es de donde viene la luz roja del fondo. */
.brasas{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.brasas i{position:absolute;bottom:-12px;width:var(--b);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#ffd9a0,#ff7a18 42%,rgba(232,52,12,0) 72%);
  opacity:0;will-change:transform,opacity;
  animation:brasa var(--dur) linear var(--esp) infinite}
@keyframes brasa{
  0%  {opacity:0;   transform:translate3d(0,0,0) scale(.6)}
  10% {opacity:.85}
  70% {opacity:.55}
  100%{opacity:0;   transform:translate3d(var(--dx),calc(-1 * var(--alto)),0) scale(1.15)}}

/* EL LOGO */
.marcaWrap{margin-top:0;
  filter:drop-shadow(0 14px 34px rgba(255,122,24,.30)) drop-shadow(0 3px 10px rgba(0,0,0,.7));
  animation:respiraLogo 7s ease-in-out infinite}
/* OJO CON EL max-width EN PORCENTAJE.
   `.marcaWrap` es un elemento flex con align-items:center, así que su ancho lo
   decide su contenido — o sea, la propia imagen. Poner `max-width:86%` cerraba
   el círculo: la caja medía los 680 px del logo, y entonces el 86 % encogía el
   logo a 585 dentro de una caja de 680. Sobraban 95 px a la derecha y la imagen
   quedaba pegada a la izquierda, descentrada respecto de los botones.
   Ahora el ancho es fijo y el centrado explícito. El tope de alto se queda por
   si algún día el archivo viene con otra proporción. */
.marca{display:block;width:470px;max-width:100%;height:auto;aspect-ratio:16/9;
  max-height:300px;object-fit:contain;margin-inline:auto}
/* `display:block` gana a [hidden] y mientras no existe el logo se veía el
   icono de imagen rota junto al título. */
.marca[hidden]{display:none}
.marcaTexto[hidden]{display:none}
@keyframes respiraLogo{
  0%,100%{transform:translateY(0)      scale(1)}
  50%    {transform:translateY(-7px)   scale(1.012)}}
/* Mientras no exista art/logo.webp, el nombre se pinta con la misma identidad
   en vez de dejar un hueco. */
.marcaTexto{font:900 80px/1 var(--serif);font-variant:small-caps;
  letter-spacing:3px;
  background:linear-gradient(180deg,#fff6dd 6%,var(--oro) 32%,var(--oro2) 58%,#6d4410 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 44px rgba(255,122,24,.30)}
.marcaSub{margin-top:10px;font:800 14px/1 var(--sans);letter-spacing:7px;
  color:var(--brasa);text-shadow:0 2px 10px rgba(232,52,12,.45)}

/* el filete de brasa bajo el logo: cierra la cabecera y separa del menú */
.filete{width:560px;max-width:78%;height:2px;margin:22px 0 0;
  background:linear-gradient(90deg,transparent,var(--oro3) 18%,var(--oro) 50%,var(--oro3) 82%,transparent);
  box-shadow:0 0 18px rgba(255,122,24,.5);border-radius:2px}

.sub{color:#c8ab8a;max-width:620px;font-size:15px;line-height:1.6;
  margin-top:16px;text-wrap:balance}

/* LOS BOTONES
   Placas de piedra con el filo dorado. El primero es el que quieres que pulse
   alguien que llega nuevo, así que es el único con el oro relleno. */
.menucol{display:flex;flex-direction:column;gap:9px;width:384px;max-width:88%;
  margin-top:24px}
/* Placas de piedra con filo dorado, en TODAS las pantallas de menú y no sólo
   en la columna de la portada: si el selector y las guías conservaran los
   botones morados, el cambio de identidad se rompería justo al pasar de una
   pantalla a la siguiente. */
.portada .btn{position:relative;overflow:hidden;padding:14px;font-size:15px;
  letter-spacing:.9px;font-weight:800;border-radius:11px;
  color:#f3dfc2;
  background:linear-gradient(180deg,rgba(74,42,22,.92),rgba(30,17,11,.94));
  border:1px solid rgba(217,164,65,.34);
  box-shadow:0 3px 0 rgba(0,0,0,.5), 0 10px 22px rgba(0,0,0,.45),
             inset 0 1px 0 rgba(255,220,170,.10);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
/* el brillo que cruza al pasar por encima */
.portada .btn::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 38%,rgba(255,232,190,.20) 50%,transparent 62%);
  translate:-120% 0;transition:translate .5s ease}
.portada .btn:hover:not(:disabled){transform:translateY(-2px);
  border-color:rgba(247,212,136,.75);
  box-shadow:0 5px 0 rgba(0,0,0,.5), 0 14px 30px rgba(255,122,24,.20),
             inset 0 1px 0 rgba(255,220,170,.16)}
.portada .btn:hover:not(:disabled)::after{translate:120% 0}
.portada .btn:active:not(:disabled){transform:translateY(1px);
  box-shadow:0 1px 0 rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.5)}
/* El botón del Tutorial lleva `btn gold`, y esa clase trae del resto del juego
   una tipografía serif con versalitas —la de los botones dorados de la mesa—.
   Aquí, en una columna de siete botones en sans, era el único distinto y se
   leía como un error de maquetación. Se le devuelve la familia de sus vecinos;
   el oro se queda, que es lo que lo destaca. */
/* Sobre oro, la letra va oscura — pero `.btn.gold` trae del resto del juego una
   `text-shadow` negra pensada para su letra CLARA. Con la letra oscura esa
   sombra la emborrona y parece impresa a presión. Aquí la sombra es un realce
   claro por debajo, que es lo que hace legible un texto oscuro sobre metal. */
.portada .btn.gold,
.menucol .btn:first-child{font-size:16.5px;padding:17px;color:#3a2405;
  font-family:var(--sans);font-variant-caps:normal;font-weight:800;
  text-shadow:0 1px 0 rgba(255,240,205,.55);
  background:linear-gradient(180deg,#ffe9b8,var(--oro) 42%,var(--oro2) 78%,#a06f1c);
  border-color:rgba(255,238,200,.8);
  box-shadow:0 3px 0 #6d4410, 0 12px 28px rgba(255,122,24,.34),
             inset 0 1px 0 rgba(255,255,255,.5)}
.portada .btn.gold:hover,
.menucol .btn:first-child:hover{box-shadow:0 5px 0 #6d4410, 0 18px 40px rgba(255,122,24,.5),
             inset 0 1px 0 rgba(255,255,255,.55)}
.portada .btn.gold{font-size:15px;padding:13px 22px}
.menucol .btn.taller{opacity:.72;font-size:13.5px;padding:11px}
.portada .btn.sm{padding:8px 13px;font-size:12.5px;border-radius:9px}

.foot{color:#8a6f55;font-size:11px;margin-top:20px}

/* Quien haya pedido menos movimiento no ve nada moverse: ni cartas, ni brasas,
   ni disco, ni logo. La portada sigue entera, sólo que quieta. */
@media (prefers-reduced-motion:reduce){
  .cartaFondo,.brasas i{animation:none;opacity:var(--op,.5)}
  .disco,.marcaWrap{animation:none}
  .portada .btn::after{display:none}}
.build{display:block;margin-top:5px;font:600 9.5px/1 var(--sans);letter-spacing:1.4px;
  color:#584b78;text-transform:uppercase}
#buildPanel{text-align:right;margin:0;padding:2px 2px 0}

/* ---- Selector de líder ---- */
#select{padding:20px 18px;gap:10px;align-items:center;justify-content:center}
.h2{font:700 23px/1.1 var(--serif);font-variant:small-caps;letter-spacing:2.4px;
  color:var(--gold);text-shadow:0 2px 12px rgba(230,187,82,.25)}
.leaders{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;max-width:1180px}
.lcard{
  width:214px;position:relative;overflow:hidden;
  background:linear-gradient(178deg,#2c2143 0%,#1b1329 44%,#140e22 100%);
  border:1px solid var(--line);border-radius:14px;padding:0;cursor:pointer;
  text-align:left;display:flex;flex-direction:column;
  transition:transform .2s cubic-bezier(.22,.61,.36,1), box-shadow .2s, border-color .15s;
  box-shadow:0 4px 12px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06)
}
.lcard:hover{transform:translateY(-5px) scale(1.015);border-color:var(--gold2);
  box-shadow:0 16px 34px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.10)}
.lcard.sel{border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(230,187,82,.35), 0 16px 34px rgba(0,0,0,.7),
             inset 0 1px 0 rgba(255,255,255,.12)}
/* la marca del elegido: una cinta en la esquina, no un borde más */
.lcard.sel::after{content:"ELEGIDO";position:absolute;top:11px;right:-30px;z-index:4;
  transform:rotate(38deg);background:linear-gradient(180deg,#6b5320,#3d2f13);
  color:#ffe6a8;font:700 8.5px/1 var(--sans);letter-spacing:1.6px;
  padding:4px 32px;box-shadow:0 2px 8px rgba(0,0,0,.6)}

/* Con ilustración, el retrato lo llena el dibujo y el emoji sobra. El velo de
   abajo (.lface::after) sigue haciendo su trabajo: funde la imagen con la
   tarjeta para que no parezca una foto pegada. */
.lface.conarte{font-size:0;filter:none}
/* .dibujo ya trae sus reglas del bloque del acomodo; aquí sólo se asegura que
   el hueco recorte, para que acercar no desborde. */
.art.conarte,.lface.conarte{position:relative;overflow:hidden}

/* el retrato, a sangre y con su propia luz */
.lface{position:relative;height:124px;flex:0 0 auto;display:grid;place-items:center;
  font-size:56px;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.85));
  background:
    radial-gradient(ellipse 100% 80% at 50% 26%, rgba(138,92,240,.34), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(0,0,0,.38))}
.lface::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;
  background:linear-gradient(180deg,transparent,#1b1329 92%)}
.lname{position:absolute;left:0;right:0;top:96px;z-index:3;
  font:700 17px/1.12 var(--serif);font-variant:small-caps;letter-spacing:.8px;
  color:#fdf6e6;padding:3px 11px 5px;
  text-shadow:0 2px 6px rgba(0,0,0,.95);
  background:linear-gradient(90deg,rgba(8,5,14,.92),rgba(8,5,14,.6) 80%,transparent)}
/* ============ EL CARRETE DE PROTAGONISTAS ============
   Las cinco cartas en abanico: la elegida al frente, recta y a tamaño completo;
   las demás se apartan, se inclinan, encogen y se apagan. La distancia al centro
   la pone el JS en --d, y de ahí salen el desplazamiento, el giro, la escala y
   el brillo — una sola variable para que el movimiento sea coherente. */
/* La pantalla se centra sola; el título sube y el bloque respira igual por
   arriba y por abajo. Antes quedaba pegado al carrete y todo cargado abajo. */
#select{justify-content:center;gap:2px;padding-top:0}
#select .h2{margin-top:-14px}
.carrete{position:relative;display:flex;align-items:center;justify-content:center;
  width:min(1120px,96vw);margin:10px auto 0}
.carrete .pista{position:relative;height:352px;flex:1;
  perspective:1250px;perspective-origin:50% 44%}
.carrete .giro{position:absolute;top:50%;transform:translateY(-50%);z-index:30;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(48,36,74,.95),rgba(24,17,38,.95));
  color:var(--gold);font:400 26px/1 var(--serif);cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.6);transition:.16s}
.carrete .giro:hover{border-color:var(--gold);transform:translateY(-50%) scale(1.08)}
.carrete .giro.izq{left:0} .carrete .giro.der{right:0}

.pista .lcard{position:absolute;left:50%;top:0;width:236px;
  --dist:max(var(--d),calc(var(--d) * -1));            /* |d| sin Math.abs */
  /* Giradas de verdad en el espacio, no inclinadas en el plano: la perspectiva
     la pone .pista y aquí cada carta rota sobre su eje vertical y se aleja según
     lo lejos que esté del frente. Por eso se les ve el canto y el abanico tiene
     fondo, en vez de parecer cinco pegatinas ladeadas.
     No hace falta preserve-3d —basta con perspective en el padre—, y mejor así:
     en este proyecto preserve-3d ya rompió una vez el poder pulsar las cartas. */
  transform:translateX(-50%) translateX(calc(var(--d) * var(--paso, 176px)))
            translateZ(calc(var(--dist) * var(--fondo, -120px)))
            rotateY(calc(var(--d) * -26deg))
            rotate(calc(var(--d) * 2deg))
            translateY(calc(var(--dist) * 12px));
  z-index:calc(10 - var(--dist));
  /* Apagadas, no borradas: a dos de distancia se quedaban casi negras y no se
     veía a quién estabas a punto de girar. */
  filter:brightness(calc(1 - var(--dist) * 0.20)) saturate(calc(1 - var(--dist) * 0.16));
  transition:transform .42s cubic-bezier(.22,.61,.36,1), filter .42s, box-shadow .3s;
  cursor:pointer}
/* la del frente: recta, entera y con su halo */
.pista .lcard.enfrente{
  transform:translateX(-50%) translateZ(60px);
  filter:none;border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(230,187,82,.5), 0 26px 60px rgba(0,0,0,.8),
             0 0 90px rgba(138,92,240,.28)}
.pista .lcard:not(.enfrente):hover{filter:brightness(.9)}
/* en el carrete la carta es retrato: el texto largo vive en la ficha de abajo */
/* El retrato acaba ANTES de que acabe la banda del nombre, no después: con 238
   se salía casi 3 px por debajo y se veía una tira de ilustración asomando bajo
   el título. Ahora la banda tapa el borde del dibujo con holgura, así que el
   corte queda limpio aunque el nombre cambie de tamaño. */
.pista .lcard .lface{height:230px;font-size:78px}
.pista .lcard .lname{top:206px;font-size:19px;text-align:center;padding:3px 10px 5px;
  background:linear-gradient(90deg,transparent,rgba(8,5,14,.92) 18%,rgba(8,5,14,.92) 82%,transparent)}
.pista .lcard .ltxt{display:none}
.pista .lcard .larch{padding:26px 12px 12px;font-size:9.5px;text-align:center}
.pista .lcard .lhab{display:block;padding:0 12px 13px;text-align:center;
  font-size:11.5px;color:#cbbde8;line-height:1.35}
.pista .lcard .lhab b{color:var(--gold)}
/* Sin cinta de ELEGIDO: la carta del frente ya se distingue por estar recta,
   entera, iluminada y con su halo. La cinta era decirlo dos veces. */
.pista .lcard::after{content:none}

.selsub{color:var(--dim);font-size:13px;text-align:center}

/* EL PASO DEL RIVAL SE PONE ROJO.
   No es decoración: el cambio de color dice sin palabras que ya no estás
   eligiendo lo tuyo. La sala entera vira, no sólo un borde. */
/* Sobre la base de brasa el rojo tiene que ser MÁS rojo para leerse como un
   cambio: contra el morado de antes bastaba un tinte, contra el naranja no. */
/* Un degradado NO se puede interpolar: cambiar `background` de naranja a rojo
   es un corte seco por mucho `transition` que se le ponga. Así que el rojo es
   una CAPA encima, y lo que se anima es su opacidad — eso sí funde. */
#fondoMenus::before{content:"";position:absolute;inset:0;z-index:0;
  opacity:0;pointer-events:none;transition:opacity .75s ease;
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(190,26,20,.42), transparent 70%),
    radial-gradient(ellipse 90% 70% at 50% 108%, rgba(139,26,18,.52), transparent 66%),
    linear-gradient(180deg,rgba(21,8,7,.92) 0%,rgba(36,12,9,.88) 45%,rgba(12,6,5,.94) 100%)}
#fondoMenus.rival::before{opacity:1}
/* y lo de dentro vira con el mismo tiempo, no de golpe */
#fondoMenus .disco,#fondoMenus .cartaFondo,#fondoMenus .brasas i{transition:filter .75s ease}
#fondoMenus.rival .disco{filter:hue-rotate(-28deg) saturate(1.5)}
#fondoMenus.rival .cartaFondo{filter:hue-rotate(-26deg) saturate(1.25)}
#fondoMenus.rival .brasas i{filter:hue-rotate(-24deg) saturate(1.4)}
#select.rival .ambiente::before{
  background:
    radial-gradient(ellipse 46% 38% at 50% 30%, rgba(240,120,96,.20), transparent 70%),
    radial-gradient(ellipse 38% 30% at 30% 70%, rgba(200,40,50,.16), transparent 72%),
    radial-gradient(ellipse 34% 28% at 74% 62%, rgba(240,90,70,.12), transparent 74%)}
#select.rival .h2{color:#ff9a8a;text-shadow:0 2px 14px rgba(224,82,74,.4)}
#select.rival .fichaLider{border-color:rgba(224,82,74,.42)}
#select.rival .pista .lcard.enfrente{border-color:#e0524a;
  box-shadow:0 0 0 2px rgba(224,82,74,.5), 0 26px 60px rgba(0,0,0,.8),
             0 0 90px rgba(224,82,74,.3)}
#select.rival .pasos i.on{background:#e0524a;box-shadow:0 0 8px rgba(224,82,74,.6)}
#select.rival .giro{color:#ff9a8a}
#select.rival .btn.gold{background:linear-gradient(180deg,#7a2420,#4a1512);
  border-color:#e0524a;color:#ffd9d2}
/* ==========================================================================
   EL FOGONAZO Y LA ENTRADA
   Dos piezas que trabajan juntas. Al pulsar, el botón se enciende medio
   segundo: es el acuse de recibo, y de paso tapa el instante en que la
   pantalla cambia. Luego la pantalla nueva ENTRA —sube, se enfoca y aparece,
   con sus bloques escalonados— en vez de aparecer de golpe.
   Sólo entra el contenido: el fondo es compartido y no se toca, así que la
   escena de detrás sigue corriendo mientras lo de delante se recompone. Ése es
   justo el efecto que hace que parezca una sola sala y no dos pantallas.
   ========================================================================== */
@keyframes fogonazo{
  0%  {filter:brightness(1)}
  16% {filter:brightness(1.5) saturate(1.15)}
  100%{filter:brightness(1)}}
@keyframes fogonazoHalo{
  0%  {box-shadow:0 0 0 0 rgba(255,214,140,.75), 0 0 0 0 rgba(255,122,24,.55)}
  100%{box-shadow:0 0 0 10px rgba(255,214,140,0), 0 0 44px 16px rgba(255,122,24,0)}}
@keyframes fogonazoBarrido{
  0%  {translate:-120% 0}
  100%{translate:120% 0}}
.portada .btn.fogonazo{animation:fogonazo .5s ease-out}
.portada .btn.fogonazo::before{content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;animation:fogonazoHalo .5s ease-out}
.portada .btn.fogonazo::after{animation:fogonazoBarrido .5s ease-out}

@keyframes entraPantalla{
  from{opacity:0;transform:translateY(16px) scale(.982);filter:blur(7px)}
  to  {opacity:1;transform:none;filter:blur(0)}}
.screen.portada.entra > *{animation:entraPantalla .40s cubic-bezier(.2,.75,.3,1) both}
/* escalonado: lo de arriba primero, y cada bloque un pelín después */
.screen.portada.entra > *:nth-child(2){animation-delay:.045s}
.screen.portada.entra > *:nth-child(3){animation-delay:.09s}
.screen.portada.entra > *:nth-child(4){animation-delay:.13s}
.screen.portada.entra > *:nth-child(5){animation-delay:.17s}
.screen.portada.entra > *:nth-child(n+6){animation-delay:.2s}

/* el destello que cruza al cambiar de pantalla: una sola pasada, muy corta */
#barrido,.campanaBarrido,.barridoModal{position:absolute;inset:0;z-index:80;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,transparent 34%,rgba(255,206,140,.16) 50%,transparent 66%)}
#barrido.va,.campanaBarrido.va,.barridoModal.va{animation:cruza .45s ease-out}
@keyframes cruza{
  0%  {opacity:0;translate:-60% 0}
  30% {opacity:1}
  100%{opacity:0;translate:60% 0}}

@media (prefers-reduced-motion:reduce){
  .portada .btn.fogonazo,.portada .btn.fogonazo::before,.portada .btn.fogonazo::after,
  .screen.portada.entra > *,#barrido.va,.campanaBarrido.va,.barridoModal.va{animation:none}}

/* La que espera turno: detrás de la elegida, invisible y sin poder pulsarse.
   Hereda la misma transición que las demás, así que al girar sale de detrás en
   vez de aparecer de golpe. */
.pista .lcard.guardada{opacity:0;pointer-events:none;z-index:0}

/* LO QUE QUEDABA MORADO EN LOS MENÚS
   El selector y las guías traían la piedra y el violeta del tablero: la ficha
   del Protagonista, las flechas del carrete, las pestañas de las guías. Con el
   fondo ya en brasa, esos tres eran el único sitio donde se notaba que la
   pantalla venía de otro diseño. */
.portada .fichaLider{border-color:rgba(217,164,65,.30);
  background:linear-gradient(180deg,rgba(52,32,18,.72),rgba(24,14,9,.76))}
.portada .fichaLider .fn{color:var(--oro)}
.portada .fichaLider .fa{color:var(--brasa)}
.portada .fichaLider .fl{color:#d8c4ab}
.portada .fichaLider .fl b{color:var(--oro)}
.portada .fichaLider .fm{color:#a58a6c}
.portada .fichaLider .fm b{color:#e5cfa8}
.portada .selsub{color:#b79c7f}
.portada .h2{color:var(--oro);text-shadow:0 2px 16px rgba(255,122,24,.30)}
.portada .carrete .giro{border-color:rgba(217,164,65,.34);color:var(--oro);
  background:linear-gradient(180deg,rgba(74,42,22,.95),rgba(28,16,10,.95))}
.portada .carrete .giro:hover{border-color:var(--oro)}
.portada .pasos i{background:rgba(217,164,65,.26)}
.portada .pasos i.on{background:var(--oro);box-shadow:0 0 10px rgba(255,122,24,.7)}
/* las guías */
.portada .gbar{background:rgba(14,8,6,.86);border-bottom-color:rgba(217,164,65,.24)}
.portada .gtab{background:linear-gradient(180deg,rgba(58,34,18,.9),rgba(26,15,10,.9));
  border-color:rgba(217,164,65,.26);color:#b79c7f}
.portada .gtab:hover{border-color:var(--oro);color:#f3dfc2}
.portada .gtab.on{border-color:var(--oro);color:#2a1a06;
  background:linear-gradient(180deg,#ffe9b8,var(--oro2))}
.portada .ghead h2{color:var(--oro)}
.portada .gsub{color:var(--brasa)}

/* en qué paso estás: primero tu Protagonista, luego el rival */
.pasos{display:flex;gap:7px;justify-content:center;margin-top:10px}
.pasos i{width:7px;height:7px;border-radius:50%;background:var(--line);
  transition:.2s;flex:0 0 auto}
.pasos i.on{background:var(--gold);box-shadow:0 0 8px rgba(230,187,82,.6);transform:scale(1.2)}

/* el reloj del turno: discreto arriba del botón, y rojo cuando aprieta */
#reloj{position:absolute;right:0;bottom:calc(100% + 6px);
  font:800 13px/1 var(--sans);letter-spacing:1px;color:var(--dim);
  background:rgba(14,9,24,.9);border:1px solid var(--line);border-radius:20px;
  padding:5px 12px;pointer-events:none;transition:color .3s,border-color .3s}
#reloj[hidden]{display:none}
#reloj.poco{color:#ff9d94;border-color:var(--red);
  animation:relojLate 1s ease-in-out infinite}
@keyframes relojLate{0%,100%{opacity:1}50%{opacity:.55}}
.controls{position:relative}

/* ---- efectos que siguen en juego (Nube de Dagas y compañía) ---- */
#efectos{display:flex;flex-direction:column;gap:7px;align-items:center}
#efectos[hidden]{display:none}
.efecto{position:relative;width:44px;height:44px;border-radius:11px;cursor:default;
  display:grid;place-items:center;
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(40,28,60,.9),rgba(18,12,30,.9));
  box-shadow:0 4px 14px rgba(0,0,0,.55)}
.efecto.mio{border-color:var(--gold2)}
.efecto .ei{font-size:20px;line-height:1;filter:drop-shadow(0 2px 3px #000)}
.efecto i{position:absolute;right:-4px;bottom:-4px;font-style:normal;
  font:800 10px/1 var(--sans);color:#1a1226;background:var(--gold);
  border-radius:50%;width:16px;height:16px;display:grid;place-items:center}
/* La ficha del efecto y la de tus Trampas se pintan como el cajón de una carta.
   Hay que darles el estilo entero: el del tablero cuelga de `.card.unit .cajon`
   y no existe una regla `.cajon` suelta de la que heredar — sin esto salían sin
   caja y, peor, visibles todas a la vez. */
.efecto .cajon, .trapback.mine .cajon{
  position:absolute;z-index:80;pointer-events:none;
  opacity:0;visibility:hidden;transition:opacity .16s;
  background:linear-gradient(180deg,rgba(24,16,38,.98),rgba(12,8,20,.98));
  border:1px solid var(--line);border-radius:9px;padding:8px 10px;
  font:10.6px/1.42 var(--sans);color:#cfc3e4;
  box-shadow:0 12px 28px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.07)}
.efecto .cajon b, .trapback.mine .cajon b{color:var(--gold)}
.efecto .cajon i, .trapback.mine .cajon i{color:#9c8fbb;font-style:italic;
  position:static;background:none;width:auto;height:auto;display:inline}
.efecto .cajon{top:50%;right:calc(100% + 10px);width:190px;
  transform:translateY(-50%);text-align:left}
.efecto:hover .cajon{opacity:1;visibility:visible}
.trapback.mine{position:relative}
.trapback.mine .cajon{bottom:calc(100% + 10px);left:50%;width:200px;
  transform:translateX(-50%);text-align:left}
.trapback.mine:hover .cajon{opacity:1;visibility:visible}
.cajon.trampa b{color:var(--gold)}

/* la ficha de debajo: todo lo que hay que leer, de la que esté al frente */
/* Alto FIJO, no mínimo: con altura variable el bloque crecía o encogía según lo
   largo que fuera el texto de cada Líder y el carrete daba un salto al girar.
   Cabe el más largo de los cinco y los demás reparten su texto dentro.

   Y en dos partes: el nombre y el arquetipo SIEMPRE en el mismo sitio, y el
   texto repartido en lo que sobra. Centrando el bloque entero, el nombre subía
   o bajaba según lo largo que fuera lo de abajo —con Talesin quedaba 6 px más
   alto que con los demás— y al girar el carrete el título daba un brinco. */
.fichaLider{width:min(820px,94vw);height:186px;margin:8px auto 0;
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:14px;padding:14px 22px;
  background:linear-gradient(180deg,rgba(36,26,52,.72),rgba(20,14,34,.72));
  text-align:center;transition:border-color .35s}
.fichaLider .cabeza{flex:0 0 auto}                 /* clavada arriba */
.fichaLider .cuerpo{flex:1;min-height:0;display:flex;flex-direction:column;
  justify-content:center}                          /* centrado en lo que queda */
.fichaLider .fn{font:700 23px/1.15 var(--serif);font-variant:small-caps;
  letter-spacing:.6px;color:var(--gold)}
.fichaLider .fa{font:700 10.5px/1.4 var(--sans);color:var(--purple);
  text-transform:uppercase;letter-spacing:1.9px;margin:3px 0 0}
.fichaLider .fl{font-size:14px;color:#c2b5da;line-height:1.5}
.fichaLider .fl + .fl{margin-top:6px}
.fichaLider .fl b{color:var(--gold);font-weight:700}
.fichaLider .fm{margin-top:9px;font-size:12.5px;color:var(--dim)}
.fichaLider .fm b{color:#cbbde8}

/* el rival, en pequeño: es una decisión menor y no debe competir con la tuya */
.h2.chico{font-size:13px;margin-top:10px;opacity:.85}
.rivales{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;max-width:900px}
.rivalchip{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 7px;
  border:1px solid var(--line);border-radius:11px;cursor:pointer;
  background:linear-gradient(180deg,rgba(44,33,67,.8),rgba(22,15,38,.8));transition:.15s}
.rivalchip:hover{border-color:var(--gold2);transform:translateY(-2px)}
.rivalchip.sel{border-color:var(--gold);box-shadow:0 0 0 2px rgba(230,187,82,.3)}
.rivalchip .rcara{width:38px;height:38px;border-radius:9px;overflow:hidden;position:relative;
  display:grid;place-items:center;font-size:21px;flex:0 0 auto;
  background:radial-gradient(ellipse at 50% 30%,rgba(138,92,240,.3),transparent 70%)}
.rivalchip .rcara .dibujo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:var(--ex,50%) var(--ey,50%);transform:scale(var(--ez,1));
  transform-origin:var(--ex,50%) var(--ey,50%)}
.rivalchip .rcara.conarte{font-size:0}
.rivalchip .rn{font:700 13px/1.1 var(--serif);font-variant:small-caps;color:#fdf6e6}
.rivalchip .rd{font:700 8px/1.2 var(--sans);color:var(--purple);
  text-transform:uppercase;letter-spacing:1.2px}

.larch{font:700 9px/1.3 var(--sans);color:var(--purple);text-transform:uppercase;
  letter-spacing:1.7px;padding:8px 12px 6px}
.ltxt{font-size:11.4px;color:#b3a6cd;line-height:1.42;padding:0 12px 10px}
.ltxt:last-child{padding-bottom:13px}
.ltxt b{color:var(--gold);font-weight:700}
/* la línea que separa la pasiva de la habilidad */
.ltxt+.ltxt{border-top:1px solid rgba(255,255,255,.07);padding-top:9px;margin-top:2px}

/* AL RIVAL SE LE RECONOCE, NO SE LE ESTUDIA.
   Repetir los cinco retratos enteros dos veces hacía la pantalla el doble de
   larga y dejaba los botones fuera de la vista. Tu protagonista se elige
   leyendo qué hace; el rival, sabiendo quién es. */
#foeList .lcard{width:166px}
#foeList .lface{height:104px;font-size:46px}
#foeList .lname{top:78px;font-size:15px}
#foeList .larch{padding:7px 10px 10px;font-size:8.5px;letter-spacing:1.4px}
#foeList .ltxt{display:none}
/* salvo el de "Al azar", que sí tiene algo que explicar */
#foeList .lcard:last-child .ltxt{display:block;font-size:10.6px;padding:0 10px 11px}

/* ============ MESA ============ */
#guide.on{display:flex;flex-direction:column}
/* Dos columnas: la mesa y, a su derecha, el panel del registro. Las tres filas
   —mano del rival, tablero y tu mano— pasan a ser cosa de la mesa. */
#board{display:none;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:100%;
  height:100%;overflow:hidden}
#board.on{display:grid}
#board>*{min-width:0}

.bar{display:flex;align-items:center;gap:11px;padding:8px 13px;
  background:linear-gradient(180deg,rgba(20,13,32,.92),rgba(10,6,17,.80));
  border-bottom:1px solid var(--line);flex-wrap:wrap}
.who{display:flex;align-items:center;gap:8px}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:19px;
  background:var(--panel2);border:1px solid var(--line)}
.avatar.act{border-color:var(--gold);box-shadow:0 0 10px rgba(230,187,82,.45)}
/* Las chapas de Alma, PD y Llaves. Son lo primero que se mira al valorar la
   partida, así que llevan relieve y cifra grande en serif: se leen de un
   vistazo sin tener que buscarlas. */
.stat{display:flex;align-items:center;gap:6px;
  background:linear-gradient(180deg,#241a34,#160f24);
  border:1px solid var(--line);border-radius:22px;padding:4px 13px;
  font-size:14px;font-weight:700;white-space:nowrap;
  box-shadow:0 2px 7px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08)}
.stat i{font-style:normal;opacity:1;font:800 19px/1 var(--serif);
  font-variant-numeric:tabular-nums;text-shadow:0 2px 4px #000}
.stat.alma{border-color:rgba(224,82,74,.55);
  box-shadow:0 2px 7px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08),
             0 0 14px rgba(224,82,74,.16)}
.stat.pd{border-color:rgba(74,166,255,.5);
  box-shadow:0 2px 7px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08),
             0 0 14px rgba(74,166,255,.14)}
.stat.key{border-color:rgba(230,187,82,.5)}
.stat.alma{color:var(--red)} .stat.pd{color:var(--blue)} .stat.key{color:var(--gold)}
.stat.gr{color:var(--green)}
.spacer{flex:1}
.turnpill{background:var(--panel2);border:1px solid var(--gold2);border-radius:20px;padding:4px 12px;
  color:var(--gold);font-weight:700;font-size:12.5px}

/* zona central */
#field{position:relative;z-index:5;display:flex;flex-direction:row;align-items:stretch;
  gap:8px;padding:6px 14px 6px 8px;overflow:visible;min-height:0}

/* ---- el tapete ---- */
/* EL TAPETE
   La profundidad la pone el FONDO, no el contenido: el tapete se inclina en
   perspectiva con ::before y las cartas se quedan planas encima. Así se gana el
   aire de mesa vista desde el jugador sin deformar ni una carta —que además
   descuadraría los rectángulos con los que las animaciones calculan de dónde a
   dónde vuela cada cosa. */
#mat{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;
  justify-content:space-around;gap:2px;padding:10px 30px;
  transform:perspective(1700px) rotateX(8deg);transform-origin:50% 62%}
/* SIN preserve-3d, A PROPÓSITO.
   Con él las cartas viven dentro del espacio 3D del tapete, y en cuanto una
   recibe su propia transformación —al señalarla o al seleccionarla, que la hacen
   crecer— el navegador deja de acertar dónde está para los clics: sólo respondía
   el cuarto de arriba. Era el fallo que se resistía, y no se veía razonando,
   porque en reposo la carta responde entera; sólo falla en los estados que
   aplican transform. El tapete no necesita profundidad real entre sus hijos: le
   basta con inclinarse él, y aplanado el reparto de clics vuelve a cuadrar. */
#mat::before{
  content:"";position:absolute;inset:0;z-index:-1;
  border-radius:20px;border:1px solid rgba(230,187,82,.30);
  background:
    /* la luz que cae desde arriba */
    radial-gradient(ellipse 60% 45% at 50% 0%, rgba(236,196,110,.13), transparent 68%),
    /* el fieltro */
    repeating-linear-gradient(38deg, rgba(255,255,255,.016) 0 2px, transparent 2px 8px),
    repeating-linear-gradient(-38deg, rgba(0,0,0,.20) 0 2px, transparent 2px 8px),
    linear-gradient(180deg,#241a36 0%,#17102408 35%,#120c1c 72%,#0c0814 100%);
  box-shadow:
    inset 0 0 90px rgba(0,0,0,.80),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 22px 60px rgba(0,0,0,.72);
}
/* ============ LA LUZ Y EL POLVO ============
   El aire del Domo: motas suspendidas y un resplandor que respira. Va DETRÁS de
   las cartas y dentro del tapete, así que hereda su misma inclinación —el polvo
   flota sobre la mesa, no delante de la pantalla, que es lo que lo hace creíble.
   Todo es CSS: ni un nodo por mota, ni un fotograma de JavaScript. */
.ambiente{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#polvo{border-radius:20px}
/* el resplandor que sube y baja, como una lámpara sobre la mesa */
.ambiente::before{content:"";position:absolute;inset:-10%;
  background:
    radial-gradient(ellipse 46% 38% at 50% 30%, rgba(236,196,110,.16), transparent 70%),
    radial-gradient(ellipse 38% 30% at 30% 70%, rgba(138,92,240,.13), transparent 72%),
    radial-gradient(ellipse 34% 28% at 74% 62%, rgba(90,150,240,.10), transparent 74%);
  animation:respira 11s ease-in-out infinite}
@keyframes respira{
  0%,100%{opacity:.72;transform:scale(1)}
  50%    {opacity:1;transform:scale(1.06)}}

/* Tres capas de motas a distinta velocidad y tamaño: las cercanas son más
   grandes y corren más, las lejanas apenas se mueven. Esa diferencia es la que
   da sensación de profundidad; con una sola capa parecería una textura fija. */
.ambiente i{position:absolute;inset:-40% -10%;display:block;
  background-repeat:repeat;will-change:transform}
.ambiente i:nth-child(1){
  background-image:
    radial-gradient(circle,rgba(255,232,190,.55) 1.2px,transparent 1.9px),
    radial-gradient(circle,rgba(214,190,255,.40) 1px,transparent 1.6px);
  background-size:190px 190px, 310px 260px;
  background-position:0 0, 70px 120px;
  animation:flota1 34s linear infinite;opacity:.75}
.ambiente i:nth-child(2){
  background-image:
    radial-gradient(circle,rgba(255,244,214,.34) .9px,transparent 1.5px),
    radial-gradient(circle,rgba(180,210,255,.28) .8px,transparent 1.4px);
  background-size:130px 150px, 230px 200px;
  background-position:40px 0, 150px 60px;
  animation:flota2 52s linear infinite;opacity:.6}
.ambiente i:nth-child(3){
  background-image:radial-gradient(circle,rgba(255,220,160,.85) 1.6px,transparent 2.4px);
  background-size:420px 380px;background-position:120px 40px;
  animation:flota3 22s ease-in-out infinite;opacity:.55}
/* suben en diagonal y vuelven al punto de partida: el ciclo no se nota porque
   el desplazamiento es justo un múltiplo del patrón */
@keyframes flota1{from{transform:translate3d(0,0,0)}   to{transform:translate3d(-190px,-190px,0)}}
@keyframes flota2{from{transform:translate3d(0,0,0)}   to{transform:translate3d(115px,-150px,0)}}
@keyframes flota3{
  0%,100%{transform:translate3d(0,0,0)}
  50%    {transform:translate3d(-30px,-46px,0)}}

/* MOTAS POR DELANTE
   Con el polvo sólo por detrás, las cartas se leían como recortes pegados
   encima de una foto. Unas pocas motas cruzando POR DELANTE —grandes, borrosas
   y muy tenues, como lo que pasa cerca del ojo— cosen las cartas al aire de la
   sala: ya no hay un plano de cartas y otro de fondo, hay una mesa.
   Son muy pocas a propósito: han de notarse sin llegar a distraer. */
.ambiente.delante{z-index:40}
.ambiente.delante i{
  background-image:
    radial-gradient(circle,rgba(255,236,200,.30) 2.6px,transparent 3.6px),
    radial-gradient(circle,rgba(210,190,255,.22) 2px,transparent 3px);
  background-size:560px 480px, 730px 620px;
  background-position:80px 30px, 380px 260px;
  filter:blur(1.6px);
  animation:flota3 26s ease-in-out infinite;opacity:.5}

/* EL VELO
   La misma luz cae sobre el fieltro y sobre las cartas. Sin esto cada carta
   traía su propia iluminación de fábrica y no había forma de creerse que
   estaban todas en la misma mesa. Va en soft-light para teñir sin tapar:
   aclara donde da la luz y oscurece los rincones, respetando los colores de
   cada clase de carta. */
#velo{position:absolute;inset:0;z-index:41;pointer-events:none;border-radius:20px;
  mix-blend-mode:soft-light;opacity:.75;
  background:
    radial-gradient(ellipse 58% 44% at 50% 4%, rgba(255,232,178,.62), transparent 68%),
    radial-gradient(ellipse 80% 70% at 50% 46%, transparent 42%, rgba(10,6,20,.55) 100%)}

/* Quien pide menos movimiento se queda con la luz quieta y sin motas: el polvo
   es ambiente, nunca información. */
@media (prefers-reduced-motion:reduce){
  .ambiente i{display:none}
  .ambiente::before{animation:none}
}

/* el filo dorado interior, también inclinado, que remata el tapete */
#mat::after{content:"";position:absolute;inset:9px 12px;z-index:-1;pointer-events:none;
  border-radius:14px;border:1px dashed rgba(230,187,82,.16)}
.zone{position:relative;display:flex;align-items:center;justify-content:center;min-height:0}
.zone.fz{gap:10px}
.fieldwrap{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center}
/* Sin recorte ni scroll. Con overflow, al crecer la carta al pasar por encima
   el navegador la recortaba y reajustaba el desplazamiento: la carta se apartaba
   de debajo del ratón, se encogía, volvía a entrar… y parpadeaba sin parar. El
   margen negativo, además, corría el área sensible 14px hacia arriba, y por eso
   sólo respondía por la parte de arriba. Las cinco caben de sobra: no hacía
   falta ni el recorte ni el desplazamiento. */
.fieldwrap>.row{min-width:0;max-width:100%;overflow:visible;
  padding:6px;justify-content:center}
.fieldwrap>.row::-webkit-scrollbar{display:none}
/* El jefe final es la excepción visible: seis Pesadillas distintas ocupan seis
   huecos compactos, sin cambiar los cinco de una mesa normal. */
.fieldwrap:not(.seisPesadillas) .slots i:nth-child(6){display:none}
.fieldwrap.seisPesadillas .slots{gap:6px}
.fieldwrap.seisPesadillas .slots i,
#foeField.seisPesadillas>.card.unit{
  width:min(var(--cw),calc((100% - 48px)/6));height:auto;aspect-ratio:5/7;
}
.fieldwrap.seisPesadillas>.row{gap:6px}
.leaderslot{flex:0 0 auto}
.leadercard{width:var(--lw);border-radius:11px;padding:5px 4px 6px;cursor:pointer;position:relative;
  display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;transition:.15s;
  border:2px solid var(--gold2);
  background:linear-gradient(175deg,#33264a,#1a1226 70%);
  box-shadow:inset 0 0 22px rgba(0,0,0,.6),0 4px 14px rgba(0,0,0,.5)}
.leadercard:hover{border-color:var(--gold);transform:translateY(-3px)}
.leadercard .lcName{font-size:10px;font-weight:900;color:var(--gold);line-height:1.05}
.leadercard .lcArt{font-size:26px;line-height:1.1;filter:drop-shadow(0 2px 4px #000)}
/* Con ilustración, el dibujo pasa a ser el fondo del panel y el emoji sobra. El
   velo es fuerte a propósito: encima van el Alma y la habilidad, y ahí se lee
   durante toda la partida. */
.leadercard.conarte{position:relative;overflow:hidden}
/* el velo: encima van el Alma y la habilidad, y ahí hay que leer toda la partida */
.leadercard.conarte::before{content:"";position:absolute;inset:0;z-index:1;
  border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,7,18,.86),rgba(10,7,18,.55) 42%,rgba(10,7,18,.92))}
.leadercard.conarte > *:not(.marcoDibujo){position:relative;z-index:2}
/* El emoji se esconde, pero su hueco se queda: con display:none el panel perdía
   sus 26 px de alto y se volvía cuadrado, distinto al de los Líderes sin
   dibujo. Ahí es además donde se ve la cara de la ilustración. */
.leadercard.conarte .lcArt{visibility:hidden}
.leadercard .lcEp{font-size:7px;color:var(--dim);letter-spacing:.3px;line-height:1.1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.leadercard .lcAlma{margin-top:2px;font-size:15px;font-weight:900;color:#ffc0b8;
  background:rgba(190,35,35,.55);border:1px solid rgba(255,140,130,.4);border-radius:7px;
  padding:1px 7px;font-variant-numeric:tabular-nums;text-shadow:0 2px 4px #000}
.leadercard .lcHab{margin-top:3px;font-size:7.5px;line-height:1.15;color:#a99ac6;
  border-top:1px solid var(--line);padding-top:3px;width:100%}
.leadercard .lcHab span{display:block;font-weight:900;color:var(--blue);font-size:9px}
.leadercard.usable{border-color:var(--green);
  box-shadow:0 0 0 2px rgba(79,192,125,.5),0 0 18px rgba(79,192,125,.45)}
.leadercard.usable .lcHab span{color:var(--green)}
.leadercard.spent{opacity:.6}
.leadercard.tgt{border-color:var(--red);animation:pulse 1s infinite}
:root{--lw:86px}
.zlabel{position:absolute;left:-20px;top:50%;transform:translateY(-50%) rotate(-90deg);
  font-size:8px;letter-spacing:2.5px;color:#584b78;white-space:nowrap;pointer-events:none}
.slots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  gap:10px;pointer-events:none;opacity:.62}
.slots i{width:var(--cw);height:var(--ch);border-radius:11px;position:relative;
  border:1px dashed rgba(230,187,82,.20);
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(0,0,0,.22));
  box-shadow:inset 0 0 22px rgba(0,0,0,.45)}
/* cada hueco dice cuál es, como en una mesa de torneo */
.slots i::before{content:attr(data-l);position:absolute;top:6px;left:8px;
  font:600 9px/1 var(--sans);letter-spacing:1.5px;color:rgba(230,187,82,.30)}
.slots.tr i{width:74px;height:48px;border-radius:8px}

/* ---- raíl lateral: mazo y alcantarillas ---- */
/* EL COSTADO
   Alma, Puntos y Llaves viven aquí, junto al mazo de cada uno. Antes iban en una
   franja horizontal pegada al borde de la pantalla, lejos del tablero y de lo
   que cuentan. Puestas al lado del mazo de su dueño se leen sin apartar la vista
   de la mesa, y cada bando tiene su esquina. */
#rail{width:142px;flex:0 0 auto;display:flex;flex-direction:column;
  justify-content:space-between;gap:6px;padding:2px 0;perspective:800px}
.raillado{display:flex;flex-direction:column;gap:7px;min-height:0}
/* El costado derecho, sólo para las Alcantarillas: una arriba y otra abajo,
   frente al mazo de cada uno. */
#railder{width:112px;flex:0 0 auto;display:flex;flex-direction:column;
  justify-content:space-between;gap:6px;padding:2px 0}
#railder .pile.grave{height:92px}
#railder .pilelbl{top:-13px}
/* En rejilla de dos, no en columna: apilados de uno en uno las dos barras más
   los dos mazos no cabían en el alto del tablero y la de abajo salía cortada. */
#rail .bar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:5px;padding:7px;
  border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,rgba(26,18,40,.92),rgba(12,8,20,.86));
  box-shadow:0 4px 14px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#rail .bar .who{grid-column:1/-1;text-align:center;padding-bottom:3px;
  border-bottom:1px solid rgba(255,255,255,.07)}
#rail .bar .stat{justify-content:center;gap:4px;padding:3px 6px;font-size:11px}
#rail .bar .stat i{font-size:16px}
#rail .bar .stat.key,#rail .bar .stat.corte{grid-column:1/-1}
/* El contador de cartas en mano sobra aquí: los dorsos del rival ya se ven
   arriba y tu mano la tienes delante. Quitarlo es lo que hace que las dos
   columnas quepan sin apretarse. */
#rail .bar .stat:not(.alma):not(.pd):not(.key):not(.gr):not(.relic):not(.corte){display:none}
#rail .bar .spacer{display:none}
#rail .bar .turnpill{grid-column:1/-1;text-align:center;font-size:11px;padding:3px 8px}
#rail .bar .netchip{grid-column:1/-1;font-size:10.5px;justify-content:center}
.pilebox{display:flex;flex-direction:column;gap:18px}
/* EL MAZO
   Un taco de cartas visto en ángulo, no un rectángulo. La inclinación es una
   rotación en 3D; el grosor son capas apiladas en sombra, no nodos —así el
   mazo sigue siendo un solo elemento y el contador no tiene que dibujar nada.
   Se inclina hacia el jugador, igual que el tapete. */
.pile{position:relative;height:82px;border-radius:10px;cursor:default;
  display:grid;place-items:center;transition:transform .18s, box-shadow .16s, border-color .13s;
  border:1px solid var(--line)}
.pile.deck{
  transform:rotateX(30deg) rotateZ(-2deg);
  background:
    linear-gradient(180deg,rgba(255,255,255,.11),transparent 42%),
    repeating-linear-gradient(45deg,#33225580 0 4px,#251841 4px 9px),
    linear-gradient(165deg,#33224f,#1b1230);
  border-color:rgba(150,105,245,.60);
  box-shadow:
    /* el canto del taco: una capa por cada tanda de cartas */
    0 3px 0 #3a2a5e, 0 5px 0 #2c2047, 0 7px 0 #372861,
    0 9px 0 #291d43, 0 11px 0 #34255c, 0 13px 0 #261b3f,
    0 15px 0 #312358, 0 17px 0 #231939, 0 19px 0 #2d2052,
    0 21px 0 #1f1634, 0 23px 0 #291d4c, 0 25px 0 #1a122e,
    0 34px 32px rgba(0,0,0,.75),
    inset 0 0 0 1px rgba(255,255,255,.07)}
.pile.deck:hover{transform:rotateX(30deg) rotateZ(-2deg) translateY(-3px)}
/* el sello del dorso */
.pile.deck::after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(198,158,255,.38);
  box-shadow:inset 0 0 0 5px rgba(198,158,255,.11), 0 0 16px rgba(150,105,245,.25)}
.pile.grave{height:60px;background:linear-gradient(180deg,#251b32,#150f1e);
  border-color:rgba(120,110,140,.42);cursor:pointer;
  box-shadow:inset 0 0 20px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.5)}
.pile.grave:hover{border-color:var(--gold);transform:translateY(-3px);
  box-shadow:inset 0 0 20px rgba(0,0,0,.6), 0 8px 18px rgba(0,0,0,.6)}
.pile.empty{opacity:.32;box-shadow:none}
.pileart{font-size:23px;filter:drop-shadow(0 2px 4px #000);line-height:1;position:relative;z-index:2}
.pilen{position:absolute;right:8px;bottom:-4px;z-index:5;
  font:800 22px/1 var(--serif);color:var(--gold);
  text-shadow:0 2px 6px #000,0 0 12px rgba(0,0,0,.9);font-variant-numeric:tabular-nums}
.pilelbl{position:absolute;left:0;right:0;top:-12px;text-align:center;
  font:600 7.5px/1 var(--sans);letter-spacing:2px;color:#7a6ba0;text-transform:uppercase}
.fxfly{position:absolute;width:44px;height:60px;border-radius:7px;
  background:repeating-linear-gradient(45deg,#3a2a5c,#3a2a5c 4px,#2a1c44 4px,#2a1c44 9px);
  border:1px solid rgba(138,92,240,.7);box-shadow:0 6px 18px #000;transform:translate(-50%,-50%)}

/* LA MESA NO SE MUEVE.
   Cada fila reserva SIEMPRE la altura de su hueco, esté vacía o llena. Sin esto
   la fila de campo medía 7 px vacía y 117 con cartas, y como #mat reparte el
   espacio sobrante entre las zonas (space-around), bajar un Personaje recolocaba
   el tablero entero: el campo rival subía 17 px, la fila del medio 25, y las
   trampas acababan pisando el sitio de las cartas.

   La altura es la del hueco dibujado —.slots i mide var(--ch), .slots.tr i mide
   48 px—, así que la fila ocupa exactamente lo que ocupa su guía y las dos cosas
   quedan siempre alineadas. */
.row{display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:var(--ch);flex-wrap:nowrap;padding:2px;box-sizing:content-box}
.row.traps{min-height:48px;gap:6px}
.midrow{display:flex;align-items:center;justify-content:center;gap:14px;min-height:34px;
  border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:4px 0}
.zonelabel{position:absolute;left:8px;font-size:10px;color:#5c507a;letter-spacing:2px;text-transform:uppercase}

/* ============ CARTAS ============ */
/* LA CARTA
   Estructura de baraja impresa: el arte ocupa la mitad de arriba a sangre, el
   nombre va sobre una banda que lo cruza, y las reglas debajo. El coste manda
   en la esquina y las cifras de combate rematan abajo, cada una en su chapa.
   El hueco del arte está pensado para que quepa una ilustración de verdad
   cuando Rafa las tenga: hoy lleva el emoji, mañana un <img> a sangre. */
.card{
  width:var(--cw);height:var(--ch);border-radius:11px;position:relative;flex:0 0 auto;
  background:linear-gradient(178deg,#2b2040 0%,#1b1329 42%,#150e22 100%);
  border:1px solid var(--line);padding:0;cursor:pointer;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .24s cubic-bezier(.22,.61,.36,1), box-shadow .2s, border-color .15s;
  box-shadow:0 2px 6px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.07);
}
.card:hover{transform:translateY(-7px) scale(1.03);z-index:20;
  box-shadow:0 14px 30px rgba(0,0,0,.7), 0 0 0 1px var(--tipo-cl,var(--gold)),
             inset 0 1px 0 rgba(255,255,255,.12)}

/* --- el arte, a sangre --- */
.card .art{
  position:relative;height:44%;flex:0 0 auto;display:grid;place-items:center;
  font-size:38px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.85));
  background:
    radial-gradient(ellipse 100% 80% at 50% 25%,
      color-mix(in srgb,var(--tipo,#5a4a7a) 42%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.35));
  overflow:hidden;
}
/* el degradado que funde el arte con el cuerpo, para que no haya un corte seco */
.card .art::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;
  background:linear-gradient(180deg,transparent,#1b1329 92%)}
.card .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* --- la banda del nombre, cruzando el arte --- */
.card .top{position:absolute;inset:0;z-index:3;pointer-events:none;display:block}
.card .nm{
  /* Anclado por ABAJO, no por arriba: un nombre de tres líneas —"Risa
     Incontrolable de Tasha"— crecía hacia abajo y se comía la tribu y el texto
     de reglas, que quedaban escritos uno encima del otro. Creciendo hacia
     arriba se mete en el arte, que es donde sobra sitio. */
  position:absolute;left:0;right:0;bottom:56%;z-index:3;
  font:700 11.5px/1.14 var(--serif);font-variant:small-caps;letter-spacing:.5px;
  padding:3px 7px 4px 8px;color:#fdf6e6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  text-shadow:0 2px 5px rgba(0,0,0,.95), 0 0 14px rgba(0,0,0,.7);
  background:linear-gradient(90deg, rgba(8,5,14,.90), rgba(8,5,14,.62) 78%, transparent);
  border-top:1px solid color-mix(in srgb,var(--tipo,#6a5a8a) 60%, transparent);
}
/* --- el coste, en su sello --- */
.card .cost{position:absolute;top:6px;left:6px;z-index:4;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;
  font:800 13px/1 var(--serif);
  background:radial-gradient(circle at 35% 28%,#7fc4ff,#1f5fa8);
  color:#fff;border:1px solid #9fd4ff;
  box-shadow:0 2px 6px rgba(0,0,0,.7), 0 0 9px rgba(74,166,255,.45)}

/* --- el cuerpo --- */
.card .tribe{font:600 7.5px/1.1 var(--sans);color:#9c8fbb;text-align:center;
  letter-spacing:1.4px;text-transform:uppercase;padding:4px 5px 2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .txt{font:9px/1.3 var(--sans);color:#cfc3e4;flex:1;overflow:hidden;
  padding:0 7px;text-align:center}
.card .txt b{color:var(--gold);font-weight:700}

/* --- las cifras de combate, en chapa --- */
.card .stats{display:flex;justify-content:space-between;align-items:flex-end;
  margin-top:auto;padding:0 5px 5px}
.card .atk,.card .hp{font:800 16px/1 var(--serif);
  text-shadow:0 2px 4px #000;min-width:30px;text-align:center;border-radius:7px;
  padding:3px 6px;border:1px solid transparent;
  box-shadow:0 2px 5px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.18)}
.card .atk{color:#ffe0b0;background:linear-gradient(180deg,#a8571a,#6d3510);
  border-color:rgba(255,190,120,.45)}
.card .hp{color:#ffc8c0;background:linear-gradient(180deg,#a82a2a,#6d1414);
  border-color:rgba(255,140,130,.45)}
.big .atk,.big .hp{font:800 21px/1 var(--serif);min-width:44px;text-align:center;
  border-radius:8px;padding:5px 9px;border:1px solid transparent;text-shadow:0 2px 4px #000;
  box-shadow:0 2px 6px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.18)}
.big .atk{color:#ffe0b0;background:linear-gradient(180deg,#a8571a,#6d3510);
  border-color:rgba(255,190,120,.45)}
.big .hp{color:#ffc8c0;background:linear-gradient(180deg,#a82a2a,#6d1414);
  border-color:rgba(255,140,130,.45)}
.card .rar{position:absolute;top:5px;right:6px;z-index:4;font-size:10px;color:var(--gold);
  text-shadow:0 1px 3px #000}
/* El tipo manda en el borde entero y en el coste. Cada carta se reconoce por su
   color antes de leerle el nombre. */
.card.t-personaje{--tipo:var(--c-personaje);--tipo-cl:var(--c-personaje-cl);--tipo-os:var(--c-personaje-os)}
.card.t-hechizo  {--tipo:var(--c-hechizo);  --tipo-cl:var(--c-hechizo-cl);  --tipo-os:var(--c-hechizo-os)}
.card.t-trampa   {--tipo:var(--c-trampa);   --tipo-cl:var(--c-trampa-cl);   --tipo-os:var(--c-trampa-os)}
.card.t-objeto   {--tipo:var(--c-objeto);   --tipo-cl:var(--c-objeto-cl);   --tipo-os:var(--c-objeto-os)}
.card.t-lugar    {--tipo:var(--c-lugar);    --tipo-cl:var(--c-lugar-cl);    --tipo-os:var(--c-lugar-os)}
.card[class*="t-"]{border:1px solid var(--tipo);
  box-shadow:0 2px 6px rgba(0,0,0,.55),
             inset 0 0 0 1px color-mix(in srgb,var(--tipo-cl) 26%, transparent)}
.card[class*="t-"] .cost{
  background:radial-gradient(circle at 35% 30%,var(--tipo-cl),var(--tipo-os));
  border-color:var(--tipo-cl);
  box-shadow:0 0 6px color-mix(in srgb,var(--tipo) 55%,transparent)}
/* Rebajada por una pasiva (los Hechizos de Engaño con Mohamed, por ejemplo).
   Antes se pintaba el círculo entero de verde y se cargaba el color del tipo:
   ahora el círculo sigue siendo del tipo y el descuento se ve en el anillo. */
.card .cost.rebajado{position:relative;
  box-shadow:0 0 0 2px #0d0a13,0 0 0 4px #6cf09a,0 0 10px rgba(108,240,154,.6)}
.card .cost.rebajado::after{content:'▼';position:absolute;bottom:-9px;left:50%;
  transform:translateX(-50%);font-size:8px;color:#6cf09a;text-shadow:0 1px 2px #000}
/* el hover ya no roba el color del tipo: sólo lo ilumina */
.card[class*="t-"]:hover{border-color:var(--tipo-cl)}
/* Jugando no hace falta adorno: las que puedes usar se ven normales y las que
   no, apagadas. El halo verde se queda SÓLO para el tutorial, que es donde se
   explica qué significa. */
.card.playable{}
body.tut-on .card.playable{
  box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--green),0 0 15px rgba(79,192,125,.4)}
/* El editor no es para jugar: va en el menú pero apagado, para que no compita
   con el Tutorial ni con la partida. */
.btn.taller{opacity:.5;font-size:12px;padding:8px 14px}
.btn.taller:hover{opacity:.9}
.puerta{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.puerta input{background:#120f1c;border:1px solid var(--line);border-radius:8px;
  color:var(--ink);padding:10px 12px;font:inherit;font-size:14px;letter-spacing:2px}
.puerta input:focus{outline:none;border-color:var(--purple)}
.puerta .mal{color:var(--red);font-size:12.5px;min-height:16px}
.card.locked{opacity:.3;filter:grayscale(.9);box-shadow:none;cursor:not-allowed}
.card.locked:hover{transform:none;border-color:var(--line)}
.leaderchip.locked{opacity:.3;filter:grayscale(.9);cursor:not-allowed}
.card.unplayable{opacity:.4;filter:grayscale(.72) brightness(.62)}
.card.unplayable:hover{opacity:.62;filter:grayscale(.5) brightness(.78)}
.card.tgt{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--red),0 0 17px rgba(224,82,74,.55);
  animation:pulse 1s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 3px var(--red),0 0 26px rgba(224,82,74,.85)}}
.card.selected{box-shadow:0 0 0 2px var(--gold),0 0 18px rgba(230,187,82,.6);transform:translateY(-7px)}
/* LAS CARTAS DEL TABLERO CRECEN COMO LAS DE LA MANO.
   Antes crecían un 5%, lo justo para notar que las señalabas pero no para
   leerlas: había que fiarse del panel de detalle. Ahora se amplían igual que en
   la mano, hasta el tamaño en que el texto se lee solo.
   Nunca se DESPLAZAN, sólo crecen: moverlas sacaba el cursor de la carta y
   parpadeaban justo al ir a pulsarlas. Y crecen hacia el lado que tienen libre
   —las tuyas hacia arriba, las del rival hacia abajo— para no salirse del
   tapete ni taparse entre filas. */
.card.unit:hover, .card.unit.finge-hov{transform:scale(1.07);z-index:60}
.card.unit.selected{transform:scale(1.07);z-index:40}
.card.unit.selected:hover{transform:scale(1.10);z-index:60}
#myField .card.unit:hover, #myField .card.unit.finge-hov,
#myField .card.unit.selected{transform-origin:50% 100%}
#foeField .card.unit:hover, #foeField .card.unit.finge-hov,
#foeField .card.unit.selected{transform-origin:50% 0%}

/* EL CAJÓN
   Ampliar la carta entera hasta poder leerla tapaba media mesa. Ahora crece sólo
   lo justo para señalar cuál estás mirando, y lo que dice se cuenta aquí: un
   panel más estrecho que la carta, colgado debajo, con sus habilidades y —si es
   tuya y no puede atacar— el motivo. No intercepta el ratón, así que se puede
   pulsar la carta a través de él. */
.card.unit .cajon{
  position:absolute;left:50%;width:88%;min-width:150px;z-index:70;pointer-events:none;
  opacity:0;visibility:hidden;transition:opacity .16s, transform .16s;
  background:linear-gradient(180deg,rgba(24,16,38,.98),rgba(12,8,20,.98));
  border:1px solid var(--tipo,var(--line));border-radius:9px;padding:8px 10px;
  font:10.6px/1.42 var(--sans);color:#cfc3e4;text-align:left;
  box-shadow:0 12px 28px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.07)}
.card.unit .cajon b{color:var(--gold)}
.card.unit .cajon i{color:#9c8fbb}
.card.unit .cajon .mods{margin-top:6px;padding-top:6px;
  border-top:1px solid rgba(255,255,255,.10);color:#a99ac6;font-size:10px;line-height:1.5}
.card.unit .cajon .mods b{color:#fdf6e6}
.card.unit .cajon .porque{margin-top:6px;padding-top:6px;
  border-top:1px solid rgba(255,255,255,.10);color:#ff9d94;font-weight:600}
.card.unit:hover .cajon, .card.unit.finge-hov .cajon{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
/* Siempre POR ENCIMA de la carta, en las dos filas. Colgado debajo, el de tu
   propia fila se cortaba contra el filo del tapete; y teniéndolo arriba en un
   lado y abajo en el otro había que buscarlo en dos sitios distintos. Arriba
   siempre: se sabe dónde mirar. */
/* Separado de la carta: pegado a 9 px se comía las etiquetas de arriba —las
   palabras clave y los nombres de habilidad— justo en la carta que estás
   mirando. */
.card.unit .cajon{top:auto;bottom:calc(100% + 18px);
  transform:translateX(-50%) translateY(4px)}
.card.unit:hover .cajon, .card.unit.finge-hov .cajon{
  transform:translateX(-50%) translateY(0)}

/* ============ LA CORTINILLA DEL VS ============
   Las dos cartas entran desde los lados, chocan en el centro y se apartan. Todo
   el movimiento va por clases que el JS enciende en orden —entra, choque,
   sale—, así que los tiempos del CSS y los del guion se leen en el mismo sitio.
   ======================================================================== */
.vs{position:fixed;inset:0;z-index:400;overflow:hidden;pointer-events:none;
  display:grid;place-items:center;background:rgba(6,4,10,.94)}
.vs .vsfondo{position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 50% at 50% 50%, rgba(120,60,220,.22), transparent 70%),
             radial-gradient(ellipse 40% 60% at 12% 50%, rgba(230,187,82,.10), transparent 72%),
             radial-gradient(ellipse 40% 60% at 88% 50%, rgba(224,82,74,.12), transparent 72%)}

/* las cartas: fuera de plano al empezar, al centro al chocar */
.vs .vscard{position:absolute;top:50%;width:250px;
  border:2px solid var(--gold2);border-radius:16px;overflow:hidden;
  background:linear-gradient(178deg,#2c2143,#140e22);
  box-shadow:0 30px 70px rgba(0,0,0,.85);
  transition:transform .62s cubic-bezier(.16,.84,.3,1.06), opacity .4s}
.vs .vscard .lface{height:236px;font-size:82px;position:relative}
.vs .vscard .lname{position:absolute;left:0;right:0;top:204px;z-index:3;text-align:center;
  font:700 21px/1.1 var(--serif);font-variant:small-caps;color:#fdf6e6;padding:4px 10px 6px;
  text-shadow:0 2px 8px #000;
  background:linear-gradient(90deg,transparent,rgba(8,5,14,.94) 16%,rgba(8,5,14,.94) 84%,transparent)}
.vs .vscard .larch{text-align:center;padding:26px 12px 14px;font-size:10px}
.vs .vscard.izq{left:50%;transform:translate(-160%,-50%) rotate(-16deg)}
.vs .vscard.der{left:50%;transform:translate(60%,-50%) rotate(16deg)}
.vs.entra .vscard.izq{transform:translate(-124%,-50%) rotate(-7deg)}
.vs.entra .vscard.der{transform:translate(24%,-50%) rotate(7deg)}
/* El choque: se acercan y rebotan, pero dejando el centro libre — si se juntan
   del todo tapan el VS, que es lo que hay que leer. */
.vs.choque .vscard.izq{transform:translate(-118%,-50%) rotate(-5deg)}
.vs.choque .vscard.der{transform:translate(18%,-50%) rotate(5deg)}
/* El rebote va en `translate` y `filter`, NO en `transform`: la posición de cada
   carta vive en transform, y una animación que lo tocara la borraría — las
   cartas saltaban al centro en cuanto empezaba la sacudida. */
.vs.choque .vscard{animation:vsSacude .55s cubic-bezier(.36,.07,.19,.97)}
@keyframes vsSacude{
  0%  {filter:brightness(2.8); translate:0 0}
  12% {filter:brightness(1)}
  28% {translate:0 -5px}
  58% {translate:0 3px}
  100%{filter:brightness(1); translate:0 0}}
/* y al final se apartan del todo */
.vs.sale .vscard.izq{transform:translate(-230%,-50%) rotate(-22deg);opacity:0}
.vs.sale .vscard.der{transform:translate(130%,-50%) rotate(22deg);opacity:0}

/* el sello del centro */
.vs .vssello{position:relative;z-index:8;
  font:900 82px/1 var(--serif);letter-spacing:2px;
  color:#fff;text-shadow:0 0 26px rgba(255,190,90,.9), 0 0 70px rgba(224,82,74,.8),
    0 6px 0 #7a2420, 0 8px 24px rgba(0,0,0,.9);
  opacity:0;transform:scale(3) rotate(-12deg);
  transition:opacity .22s, transform .34s cubic-bezier(.2,1.5,.4,1)}
.vs.choque .vssello{opacity:1;transform:scale(1) rotate(-6deg)}
.vs.sale .vssello{opacity:0;transform:scale(1.6) rotate(-6deg);transition:.4s}

/* el destello del impacto y el fuego que sube */
.vs .vschispas{position:absolute;inset:0;opacity:0;z-index:6;mix-blend-mode:screen}
.vs.choque .vschispas{animation:vsFogonazo 1.5s ease-out}
.vs .vschispas::before{content:"";position:absolute;left:50%;top:50%;
  width:34vw;height:34vw;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle, rgba(255,236,190,.95) 0%, rgba(255,150,60,.55) 26%,
             rgba(224,82,74,.28) 46%, transparent 68%)}
.vs .vschispas::after{content:"";position:absolute;left:50%;top:50%;
  width:60vw;height:60vw;transform:translate(-50%,-50%);
  background:
    radial-gradient(circle at 50% 62%, rgba(255,170,60,.5) 0%, transparent 42%),
    radial-gradient(circle at 42% 70%, rgba(255,110,40,.42) 0%, transparent 34%),
    radial-gradient(circle at 58% 68%, rgba(255,200,90,.38) 0%, transparent 30%);
  filter:blur(2px);animation:vsFuego 1.6s ease-out}
@keyframes vsFogonazo{
  0%{opacity:0;transform:scale(.15)}
  6%{opacity:1;transform:scale(1.05)}
  22%{opacity:.85;transform:scale(1.2)}
  55%{opacity:.4;transform:scale(1.4)}
  100%{opacity:0;transform:scale(1.7)}}
@keyframes vsFuego{
  0%{transform:translate(-50%,-40%) scale(.5);opacity:0}
  20%{opacity:.9} 100%{transform:translate(-50%,-88%) scale(1.25);opacity:0}}

/* ============ EL ACOMODO DE LA CARTA ============
   Lo usan TODAS las cartas. El dibujo —una ilustración si la hay, y si no el
   emoji sobre el color de su clase— ocupa la carta entera, y nombre, tribu,
   texto y cifras se agrupan abajo en un pie con su propio velo, que es donde se
   leen. Las tipografías van en em, proporcionales al tamaño de la carta: en
   píxeles fijos el texto se quedaba diminuto al ampliarla.

   Esto viene TAL CUAL de estudio.html, que lo tenía resuelto antes de que el
   juego supiera leer imágenes. Se copia en vez de reescribirlo para que lo que
   se ve al preparar el arte sea exactamente lo que se ve en la mesa. Si se
   toca aquí, hay que tocarlo allí. */

.card.acomodo{ font-size:calc(var(--cw) * 0.092); }
.card.acomodo.conarte .art{ display:none }
/* El dibujo va en un <img>, no de fondo. Con background sólo se puede elegir el
   punto de la imagen que se ve; con la imagen y una transformación se puede
   además acercar, y el navegador lo resuelve igual de bien a cualquier tamaño de
   carta. El encuadre son tres números: x, y —el punto que queda centrado— y z,
   el acercamiento, donde 100 es el mínimo que llena la carta. */
/* LA CAJA DEL DIBUJO. Recorta: la ilustración no puede salirse de la carta por
   grande que sea el archivo ni por mucho que la acerques. Va aparte de la carta
   para no cortar lo que sí sobresale a propósito —el pie, las cintas.

   Las reglas van sobre .dibujo a secas, sin depender de la clase del padre. Al
   colgar de .card, una tarjeta de Líder se quedaba fuera: la imagen entraba en
   el flujo a su tamaño real (750×1050) y estiraba la tarjeta hasta tapar la
   pantalla. Cualquier sitio nuevo donde se ponga un dibujo queda cubierto. */
.marcoDibujo{ position:absolute; inset:0; z-index:0; overflow:hidden;
  border-radius:9px; pointer-events:none }
.dibujo{ position:absolute; inset:0; width:100%; height:100%; max-width:100%;
  max-height:100%; object-fit:cover;
  object-position:var(--ex,50%) var(--ey,50%);
  transform:scale(var(--ez,1)); transform-origin:var(--ex,50%) var(--ey,50%);
  pointer-events:none; display:block }
/* el velo, encima del dibujo y debajo del texto */
.card.acomodo.conarte::before{ content:""; position:absolute; inset:0; z-index:1;
  border-radius:9px; pointer-events:none;
  background:linear-gradient(180deg, rgba(8,6,14,0) 38%, rgba(8,6,14,.55) 66%,
             rgba(8,6,14,.92) 100%) }
.card.acomodo.conarte.sinvelo::before{ display:none }
/* Texto por encima del velo. Los paneles y adornos flotantes conservan su
   posición absoluta: incluir el cajón invisible empujaba el nombre fuera. */
.card.acomodo.conarte > :not(.marcoDibujo,.cajon,.rar,.foil){ position:relative; z-index:2 }
/* la tarjeta de Líder usa el mismo montaje. Ocupa su hueco entero: el dibujo va
   en una caja absoluta y no aporta altura, así que sin esto la tarjeta se
   quedaba en la altura del nombre. */
.lidercard{ width:100%; height:100%; box-sizing:border-box }
.lidercard.conarte{ position:relative; overflow:hidden }
.lidercard.conarte > *:not(.marcoDibujo){ position:relative; z-index:2 }
.lidercard.conarte .em{ display:none }
/* Sin ilustración el emoji hace de dibujo: ocupa la carta entera sobre el
   degradado de su clase, y el pie va igual que en las ilustradas. Así todas las
   cartas se maquetan igual y no conviven dos diseños según cuáles hayas
   dibujado ya. */
.card.acomodo.sinarte .art{ position:absolute; inset:0; z-index:0; height:auto;
  display:grid; place-items:center; font-size:3.1em; padding:0 0 22% 0;
  border-radius:9px; overflow:hidden;
  background:radial-gradient(ellipse 115% 72% at 50% 34%,
    color-mix(in srgb,var(--tipo,#5a4a7a) 40%, transparent), transparent 74%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.42)) }
.card.acomodo.sinarte .art::after{ content:""; position:absolute; inset:auto 0 0 0;
  height:58%; background:linear-gradient(180deg,transparent,rgba(8,6,14,.92)) }
.card.acomodo .top{ position:relative; z-index:2; align-items:center }
.card.acomodo .pieCarta .nm{ position:static; inset:auto; font-size:1.18em;
  line-height:1.06; padding:0 0 .12em; margin:0; background:none; border:none;
  -webkit-line-clamp:2; color:#fdf6e6; text-align:center;
  text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.9) }
/* nombre, tribu y texto comparten caja: el margen lateral lo pone el pie, no
   cada uno por su cuenta. Con paddings distintos no acababan de cuadrar. */
.card.acomodo .pieCarta .tribe,
.card.acomodo .pieCarta .txt{ padding-left:0; padding-right:0; text-align:center }
.card.acomodo .cost{ width:2em; height:2em; font-size:.95em; flex:0 0 auto;
  box-shadow:0 2px 6px rgba(0,0,0,.7) }
.card.acomodo .rar{ font-size:.9em; text-shadow:0 1px 3px #000 }

/* el pie: tribu + texto + números, pegados abajo y con su velo */
.card.acomodo .pieCarta{
  /* El pie se estira 5 px fuera de la carta por abajo y los lados para que su
     velo llegue al borde; el padding tiene que devolver ese margen o el texto
     queda pegado al canto. Con .3em abajo, las cartas sin números —Hechizos,
     Trampas— acababan la última línea contra el filo. */
  margin:auto -5px -5px; padding:1.05em .5em .62em; position:relative; z-index:2;
  display:flex; flex-direction:column; gap:0;
  background:linear-gradient(180deg, rgba(8,6,14,0) 0%, rgba(8,6,14,.72) 30%,
             rgba(8,6,14,.93) 58%, rgba(8,6,14,.97) 100%);
}
.card.acomodo .pieCarta .tribe{ font-size:.68em; margin:0 0 .14em; line-height:1.1;
  text-shadow:0 1px 2px #000 }
/* El texto se acota a cuatro líneas. No es un capricho: con reglas largas el pie
   se comía la carta entera y tapaba la ilustración (Brick y Brock empezaba al
   17 % de la altura). El juego ya recorta así el texto de las cartas pequeñas;
   quien quiera leerlo entero la amplía. */
.card.acomodo .pieCarta .txt{ font-size:.84em; line-height:1.16; flex:none;
  color:#e6dcf5; text-shadow:0 1px 2px #000; display:-webkit-box;
  -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden }
/* en la vista ampliada cabe más, que para eso se amplía */
.card.acomodo.grande .pieCarta .txt{ -webkit-line-clamp:7 }
.card.acomodo .pieCarta .stats{ margin-top:.35em; padding-top:0 }
.card.acomodo .pieCarta .atk,
.card.acomodo .pieCarta .hp{ font-size:1.25em; min-width:2em; padding:.05em .35em;
  box-shadow:0 2px 6px rgba(0,0,0,.6) }

/* unidad en campo */
.unit{width:var(--cw);height:var(--ch);
  /* Sin recorte: la carta lo usaba para que el arte llegara a sangre hasta el
     borde redondeado, pero también se comía el cajón que cuelga debajo. El arte
     tiene su propio recorte, así que aquí sobra. */
  overflow:visible;
  box-shadow:0 3px 6px rgba(0,0,0,.5), 0 12px 20px rgba(0,0,0,.55),
             inset 0 1px 0 rgba(255,255,255,.07)}
.unit.sick{filter:saturate(.55) brightness(.82)}
/* YA GASTADA: tuya, y este turno ya no hace nada más. Se apaga para poder ver
   de un vistazo con cuáles te queda por atacar, en vez de repasarlas una a una.
   Es una atenuación suave: la carta se sigue leyendo, sólo pierde el brillo. */
.card.unit.gastada{filter:saturate(.42) brightness(.66);opacity:.86}
.card.unit.gastada:hover{filter:saturate(.7) brightness(.86);opacity:1}
/* la que ya atacó lleva además su marca, para no depender sólo del color */
.card.unit.gastada::before{content:"✓";position:absolute;top:-8px;right:-6px;z-index:5;
  width:19px;height:19px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,#4a4260,#2a2438);color:#cfc3e4;
  font:700 11px/1 var(--sans);border:1px solid rgba(255,255,255,.18);
  box-shadow:0 2px 6px rgba(0,0,0,.6)}
@keyframes readyGlow{
  0%,100%{box-shadow:0 0 0 2px var(--bg),0 0 0 4px rgba(79,192,125,.55),0 0 14px rgba(79,192,125,.35)}
  50%    {box-shadow:0 0 0 2px var(--bg),0 0 0 4px rgba(79,192,125,.95),0 0 26px rgba(79,192,125,.7)}}
/* el borde NO se pinta de verde: ahí manda el color del tipo. El "puede atacar"
   se ve en el anillo separado, el pulso y el distintivo de espadas. */
.card.unit.ready{animation:readyGlow 1.9s ease-in-out infinite}
.card.unit.ready .art{filter:drop-shadow(0 2px 4px #000) drop-shadow(0 0 8px rgba(79,192,125,.5))}
.unit.ready::after{content:"⚔";position:absolute;top:-9px;right:-7px;width:20px;height:20px;
  border-radius:50%;background:var(--green);color:#06240f;font-size:12px;font-weight:900;
  display:grid;place-items:center;box-shadow:0 2px 8px #000;pointer-events:none;z-index:3}
/* si además es objetivo válido, manda el rojo de objetivo */
.card.unit.tgt{border-color:var(--red);animation:pulse 1s infinite}
.card.unit.tgt::after{display:none}
.unit .keys{display:flex;flex-wrap:wrap;gap:2px;margin-top:1px}
.kw{font-size:7.5px;padding:0 3px;border-radius:3px;background:var(--panel2);
  border:1px solid var(--line);color:var(--dim);letter-spacing:.2px}
.kw.pro{color:#ffcf8a;border-color:#7a5a20}
.kw.vue{color:#9fd4ff;border-color:#2f5f8a}
.kw.sig{color:#c9a6ff;border-color:#5a3f8a}
.kw.bad{color:var(--red);border-color:#7a2a26}
.kw.good{color:var(--green);border-color:#2a7a4a}
/* Las habilidades propias de la carta, con su nombre. Se distinguen de las
   palabras clave del juego (Prisa, Provocar…) por el color y la cursiva: unas
   son reglas generales y otras son lo que hace ESA carta. */
.kw.hab{color:#e8d9a0;border-color:#6b5a2a;background:#2a2213;font-style:italic}

/* ---- el volado del inicio ---- */
.volado{display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 0}
.moneda{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;
  font-size:48px;font-weight:900;transform-style:preserve-3d;
  background:radial-gradient(circle at 34% 28%,#ffe9a8,#b8860b 62%,#6b4d09);
  border:3px solid #ffe9a8;color:#5a4207;
  box-shadow:0 10px 26px rgba(0,0,0,.7),inset 0 -6px 14px rgba(0,0,0,.35)}
.moneda.girando{animation:voltea 1.5s cubic-bezier(.25,.6,.3,1) forwards}
@keyframes voltea{
  0%  {transform:rotateY(0)      translateY(0)     scale(1)}
  35% {transform:rotateY(900deg) translateY(-58px) scale(1.12)}
  70% {transform:rotateY(1800deg)translateY(-20px) scale(1.06)}
  100%{transform:rotateY(2520deg)translateY(0)     scale(1)}}
.volado .lados{display:flex;gap:12px}
.volado .lados .btn{font-size:15px;padding:12px 26px}
.volado .dice{font-size:15px;color:var(--dim);min-height:22px;text-align:center}
.volado .dice b{color:var(--gold)}

/* ---- carta revelada del mazo ---- */
.revela{display:flex;flex-direction:column;align-items:center;gap:12px;padding:4px 0}
.revela .card{cursor:default;transform:scale(1.35);margin:16px 0 24px}
.revela .adonde{font-size:16px;font-weight:800;text-align:center;letter-spacing:.3px}
.revela .adonde.mano{color:var(--green)} .revela .adonde.grave{color:var(--dim)}
.revela .adonde small{display:block;font-size:12.5px;font-weight:400;color:var(--dim);
  margin-top:3px;letter-spacing:0}

/* ---- lo que hace falta y lo que pasa, en el diálogo del d20 ---- */
.dpide{font-size:13px;color:var(--dim);margin:-2px 0 6px;letter-spacing:.3px}
.dpide b{color:var(--gold);font-size:15px}
.defecto{min-height:22px;font-size:14.5px;font-weight:800;margin:6px 0 2px;
  text-align:center;line-height:1.35;max-width:280px}
.defecto.bien{color:var(--green)} .defecto.mal{color:var(--red)}
.dmgbadge{position:absolute;bottom:26px;right:4px;font-size:10px;color:var(--red);font-weight:800}
.eq{position:absolute;top:24px;right:2px;display:flex;flex-direction:column;gap:1px}
.eq span{font-size:12px;filter:drop-shadow(0 1px 2px #000)}

/* trampa boca abajo */
.trapback{width:64px;height:42px;border-radius:7px;border:1px solid var(--c-trampa);
  background:repeating-linear-gradient(45deg,#2a1030,#2a1030 5px,#3a1a44 5px,#3a1a44 10px);
  display:grid;place-items:center;font-size:17px;cursor:pointer;flex:0 0 auto;transition:.13s}
.trapback:hover{border-color:var(--gold);transform:translateY(-2px)}
.trapback.mine{border-style:dashed}

/* lugar */
.placecard{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#2b2a14,#1a1a10);
  border:1px solid #6a6a2a;border-radius:10px;padding:5px 12px;max-width:420px;cursor:pointer}
.placecard .pi{font-size:22px}
.placecard .pn{font-weight:800;color:#d9dd7a;font-size:12px}
.placecard .pt{font-size:10px;color:#b6b892;line-height:1.25}

/* mano */
/* La mano descansa sobre una repisa iluminada, no sobre una franja negra: así
   se separa del tablero sin cortarlo. */
/* ============ LA MANO DEL RIVAL ============
   Espejo de la tuya: mismo abanico, misma luz, mismo polvo, pero boca abajo y
   al otro lado de la mesa. Saber cuántas cartas le quedan cambia cómo juegas
   —si va vacío puedes arriesgar, si acaba de robar tres hay que temer una
   Trampa— y hasta ahora eso vivía en un número pequeño de la barra.
   Los dorsos son algo más chicos que los tuyos: están al fondo de la mesa, y
   esa diferencia de tamaño es lo que coloca a cada uno en su sitio. */
:root{--cwd:112px; --chd:157px}

#foehandzone{position:relative;padding:6px 8px 4px;
  display:flex;flex-direction:column;align-items:stretch;
  background:
    radial-gradient(ellipse 62% 100% at 50% 100%, rgba(236,196,110,.07), transparent 72%),
    radial-gradient(ellipse 50% 90% at 50% 96%, rgba(138,92,240,.08), transparent 70%),
    linear-gradient(0deg, rgba(14,9,22,.55) 0%, rgba(9,6,16,.84) 46%, rgba(5,3,10,.96) 100%)}
/* la juntura, en espejo de la de abajo */
#foehandzone::before{content:"";position:absolute;left:0;right:0;bottom:-26px;height:26px;
  pointer-events:none;z-index:1;
  background:linear-gradient(0deg, transparent, rgba(5,3,10,.5))}
#foehandzone .velo{position:absolute;inset:0;z-index:3;pointer-events:none;
  mix-blend-mode:soft-light;opacity:.5;
  background:radial-gradient(ellipse 60% 78% at 50% 82%, rgba(255,232,178,.34), transparent 72%)}
#polvoFoe{opacity:.4}

#foeHand{--n:0;position:relative;z-index:2;
  /* SIN RECORTE. Antes sólo asomaban por arriba, recortadas a la mitad, y se
     veían mutiladas. Se muestran enteras: es la mano del rival, y una mesa con
     cartas cortadas no parece una mesa. */
  display:flex;justify-content:center;align-items:flex-start;gap:8px;
  min-height:calc(var(--chd) + 16px);overflow:visible;
  /* el punto de fuga arriba: sus cartas se alejan de ti, las tuyas se acercan */
  perspective:1100px;perspective-origin:50% -50%}
.dorso{
  width:var(--cwd);height:var(--chd);flex:0 0 auto;border-radius:9px;position:relative;
  --mitad:calc((var(--n) - 1) / 2);
  --desde:calc(var(--i, 0) - var(--mitad));
  /* Sólo se montan cuando de verdad no caben, igual que en tu mano. Antes se
     solapaban siempre y no se distinguía una de otra. */
  --solape:max(0px, (var(--n) - 7) * 12px);
  margin-inline:calc(-1 * var(--solape));
  transform-origin:50% 140%;
  /* El arco va hacia ABAJO, nunca hacia arriba: subiéndolas se salían por el
     borde de la pantalla y las de los extremos aparecían cortadas. */
  transform:rotateX(-10deg)
            rotate(calc(var(--desde) * -2.6deg))
            translateY(calc(var(--desde) * var(--desde) * 1.6px));
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 42%),
    repeating-linear-gradient(45deg,#33225580 0 4px,#251841 4px 9px),
    linear-gradient(165deg,#33224f,#1b1230);
  border:1px solid rgba(150,105,245,.5);
  box-shadow:0 5px 12px rgba(0,0,0,.62), 0 14px 26px rgba(0,0,0,.5),
             inset 0 1px 0 rgba(255,255,255,.07)}
/* el mismo sello que lleva el mazo, para que se lean como la misma baraja */
.dorso::after{content:"";position:absolute;left:50%;top:50%;
  width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
  border:1px solid rgba(198,158,255,.34);
  box-shadow:inset 0 0 0 4px rgba(198,158,255,.10), 0 0 12px rgba(150,105,245,.20)}
/* la barra del rival cuelga bajo sus cartas, como la tuya cuelga sobre las tuyas */
#foehandzone .bar{position:relative;z-index:4;background:none;border:none;padding:2px 6px}

/* LA MANO, DENTRO DE LA MISMA ESCENA
   Antes había una franja negra con un filo dorado que partía la pantalla en dos:
   arriba la mesa, abajo un cajón aparte. Ahora no hay línea. El suelo sigue
   desde el tapete hacia ti, oscureciéndose como se oscurece lo que queda fuera
   del foco, y la misma luz y el mismo polvo continúan por aquí abajo. */
#handzone{position:relative;z-index:8;padding:6px 8px 8px;
  background:
    /* el reflejo del tapete cayendo hacia el jugador */
    radial-gradient(ellipse 62% 100% at 50% 0%, rgba(236,196,110,.10), transparent 72%),
    radial-gradient(ellipse 50% 90% at 50% 4%, rgba(138,92,240,.10), transparent 70%),
    linear-gradient(180deg, rgba(14,9,22,.55) 0%, rgba(9,6,16,.86) 46%, rgba(5,3,10,.97) 100%)}
/* la juntura: una sombra que difumina el filo en vez de subrayarlo */
#handzone::before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px;
  pointer-events:none;z-index:1;
  background:linear-gradient(180deg, transparent, rgba(5,3,10,.55))}
/* la luz que cae sobre lo que sostienes: sin ella las cartas se hundían en el
   suelo al quitar la franja negra que antes las recortaba */
#handzone::after{content:"";position:absolute;left:50%;transform:translateX(-50%);
  top:2%;width:min(1180px,94%);height:96%;pointer-events:none;z-index:0;
  border-radius:50%/34%;
  background:
    radial-gradient(ellipse 60% 62% at 50% 46%, rgba(238,204,132,.15), transparent 72%),
    radial-gradient(ellipse 74% 76% at 50% 52%, rgba(122,86,200,.13), transparent 76%);
  filter:blur(2px)}
#polvoMano{opacity:.55}
/* la luz continúa sobre las cartas que sostienes, con la misma mezcla */
#handzone .velo{position:absolute;inset:0;z-index:3;pointer-events:none;
  mix-blend-mode:soft-light;opacity:.6;
  background:radial-gradient(ellipse 60% 78% at 50% 18%, rgba(255,232,178,.45), transparent 72%)}
/* EL ABANICO
   Las cartas se abren en arco como se sostienen de verdad: la del medio recta y
   las de los lados giradas y algo más bajas. El giro sale de dos números que
   pone renderHand —qué puesto ocupa (--i) y cuántas hay (--n)—; el dibujo es
   todo CSS, así que la mano se recoloca sola al robar o al jugar.
   El origen del giro está por debajo de la carta: así rotan como un abanico
   sujeto por abajo, y no cada una sobre su propio centro. */
#hand{--n:1;position:relative;z-index:2;
  display:flex;justify-content:center;align-items:flex-start;gap:6px;
  flex-wrap:nowrap;
  /* SIN overflow: con overflow-x:auto el navegador recorta también en vertical
     (aunque pongas overflow-y:visible), y la carta ampliada se cortaba por
     arriba. En su lugar, las cartas se montan más cuantas más tengas —que es
     como se sostiene una mano de verdad— y así siempre caben sin recortar. */
  /* el hueco de abajo es para el arco: las cartas de los extremos caen unos
     30px y sin este margen se metían debajo de los botones */
  padding:12px 8px 34px;min-height:calc(var(--chm) + 46px);
  /* el punto de fuga por debajo y por delante: las cartas se echan hacia atrás
     por arriba, como cuando las tienes en la mano y las miras desde encima */
  perspective:1100px;perspective-origin:50% 150%}
#hand .handSlot{
  width:var(--cwm);height:var(--chm);
  position:relative;flex:0 0 auto;cursor:pointer;
  --mitad:calc((var(--n) - 1) / 2);
  --desde:calc(var(--i, 0) - var(--mitad));       /* cuánto se aparta del centro */
  /* La ranura es la zona estable del ratón. La carta visual puede salirse de
     ella al crecer, pero no roba el cursor de la vecina ni hace oscilar el
     hover en los solapes. */
  --solape:var(--solape-js, max(0px, (var(--n) - 8) * 13px));
  margin-inline:calc(-1 * var(--solape));
}
#hand .handSlot .card{
  width:var(--cwm);height:var(--chm);pointer-events:none;
  transform-origin:50% 240%;
  transform:
            rotateX(10deg)
            rotate(calc(var(--desde) * 2.9deg))
            translateY(calc(var(--desde) * var(--desde) * 2.2px));
  transition:transform .30s cubic-bezier(.22,.61,.36,1), box-shadow .26s, border-color .18s;
  box-shadow:0 6px 14px rgba(0,0,0,.62), 0 16px 30px rgba(0,0,0,.5),
             inset 0 1px 0 rgba(255,255,255,.09);
}
/* Las cartas sólo se montan cuando de verdad no caben. Antes empezaban a
   solaparse a partir de la quinta y con la mano llena se tapaban unas a otras
   hasta no poder leer ninguna: había que adivinar qué tenías. */
/* El solape lo decide render() midiendo el hueco real (--solape-js); la fórmula
   de abajo es sólo el respaldo para cuando no hay medida (mano oculta). Con un
   umbral fijo en 8 cartas, ocho de 150 px ya no cabían y las de los extremos se
   salían de la zona — y el giro del abanico las empuja aún más hacia fuera. */
/* al pasar por encima se endereza, sube y crece: hasta que la sueltas conviene
   verla entera y sin torcer */
/* AL PASAR POR ENCIMA, LA CARTA CRECE
   Antes saltaba un cuadro aparte con el texto y tenías que mirar a otro sitio.
   Ahora la carta se endereza —también la inclinación— y crece 1,7 veces hasta
   el tamaño al que se lee cómoda, sin moverse de su hueco en la mano. Crece
   desde su base, así que sube sobre el tablero y no se hunde por abajo. */
#hand .handSlot.is-hover{z-index:60}
#hand .handSlot.is-hover .card, #hand .handSlot .card.finge-hover{
  transform-origin:50% 100%;
  /* la ampliada se inclina con el cursor: mismas variables que el foil. La
     transición se acorta SÓLO aquí: como la dicta el estado destino, entrar es
     rápido (y el seguimiento del cursor, ágil) y salir conserva los 0,30 s. */
  --tx:calc((var(--mx, .5) - .5) * 16deg);
  --ty:calc((var(--my, .5) - .5) * -12deg);
  transition-duration:.16s;
  transform:rotateX(var(--ty)) rotateY(var(--tx)) rotate(0deg) translateY(-14px) scale(1.7);
  box-shadow:0 34px 64px rgba(0,0,0,.9), 0 0 0 1px var(--tipo-cl,var(--gold)),
             0 0 46px rgba(0,0,0,.6)}
#hand .handSlot.is-hover .card.unplayable, #hand .handSlot .card.unplayable.finge-hover,
#hand .handSlot.is-hover .card.locked, #hand .handSlot .card.locked.finge-hover{
  opacity:1;filter:none}
/* a ese tamaño el texto ya cabe entero: no hace falta recortarlo */
#hand .handSlot.is-hover .card .txt, #hand .handSlot .card.finge-hover .txt{overflow:visible}
#hand .handSlot.is-hover .card .nm, #hand .handSlot .card.finge-hover .nm{-webkit-line-clamp:3}
/* la elegida se queda fuera del abanico para que se vea cuál es */
#hand .card.selected{transform-origin:50% 100%;
  transform:rotateX(0deg) rotate(0deg) translateY(-16px) scale(1.28);z-index:50}
#hand::-webkit-scrollbar{height:6px}

#hand::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.controls{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}

/* leader chip */
.leaderchip{display:flex;align-items:center;gap:7px;background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--gold2);border-radius:10px;padding:4px 9px;cursor:pointer;transition:.15s}
.leaderchip:hover{border-color:var(--gold)}
.leaderchip.dis{opacity:.5;cursor:not-allowed}
.leaderchip .lf{font-size:20px}
.leaderchip .ln{font-size:11px;font-weight:800;color:var(--gold);line-height:1.1}
.leaderchip .la{font-size:9.5px;color:var(--dim)}

/* log */
#log{position:relative;flex:2 1 0;min-height:0;overflow:auto;
  background:linear-gradient(180deg,rgba(14,9,24,.86),rgba(8,5,15,.92));
  border:1px solid var(--line);border-radius:12px;padding:10px 12px;
  font-size:11.6px;line-height:1.52;color:#bdb0d4;scrollbar-width:thin;
  box-shadow:inset 0 0 26px rgba(0,0,0,.55)}
/* ============ CHAT DE LA SALA ============
   Sólo existe en partida online: fuera de ella no hay con quién hablar. Vive
   bajo el registro, en el mismo panel, para no robarle sitio al tablero. */
#chatzona{display:flex;flex-direction:column;gap:6px;flex:1 1 0;min-height:0}
#chatzona[hidden]{display:none}
#chat{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;
  background:linear-gradient(180deg,rgba(14,9,24,.86),rgba(8,5,15,.92));
  border:1px solid var(--line);border-radius:12px;padding:9px 11px;
  font-size:11.6px;line-height:1.5;color:#cabde0;
  box-shadow:inset 0 0 22px rgba(0,0,0,.5)}
#chat .msg{margin-bottom:5px;word-break:break-word}
#chat .msg .de{font-weight:800;letter-spacing:.2px}
#chat .msg.mio .de{color:var(--gold)}
#chat .msg.suyo .de{color:var(--blue)}
#chat .vacio{color:#6a5d8a;font-style:italic}
#chatform{display:flex;gap:6px}
#chatinput{flex:1;min-width:0;background:rgba(8,5,15,.9);border:1px solid var(--line);
  border-radius:9px;padding:8px 10px;color:var(--ink);font:13px var(--sans);outline:none}
#chatinput:focus{border-color:var(--gold2)}
#chatform .btn{padding:8px 12px;white-space:nowrap}
#log::-webkit-scrollbar{width:5px}
#log::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
#log div{margin-bottom:2px;border-bottom:1px solid rgba(255,255,255,.04);padding-bottom:2px}
#log b{color:var(--gold)}
#log .dmg{color:var(--red)} #log .heal{color:var(--green)} #log .roll{color:var(--blue)}
#log .sys{color:#7a6d96;font-style:italic}
#logtoggle{position:absolute;right:8px;top:6px;z-index:31}

/* overlays */
.ov{position:fixed;inset:0;background:rgba(6,4,10,.82);display:none;align-items:center;
  justify-content:center;z-index:200;padding:20px;backdrop-filter:blur(3px)}
.ov.on{display:flex}
.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--gold2);
  border-radius:14px;padding:20px;max-width:min(760px,94vw);max-height:88vh;overflow:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.7)}
.panel h3{color:var(--gold);font-size:19px;margin-bottom:8px}
.panel p{color:var(--dim);margin-bottom:10px}
.opts{display:flex;flex-direction:column;gap:8px;margin-top:12px}

/* la piel de brasa del overlay, sólo cuando se abre desde un menú */
.ov.calido{background:rgba(10,6,4,.84)}
.ov.calido .panel{border-color:rgba(217,164,65,.42);
  background:linear-gradient(180deg,#2a1a10,#170f0b)}
.ov.calido .panel h3{color:#f7d488}
.ov.calido .panel p{color:#b79c7f}
.ov.calido .panel .btn{border-color:rgba(217,164,65,.34);color:#f3dfc2;
  background:linear-gradient(180deg,rgba(74,42,22,.92),rgba(30,17,11,.94))}
.ov.calido .panel .btn:hover:not(:disabled){border-color:rgba(247,212,136,.75)}
.ov.calido .panel .btn.gold{color:#2a1a06;border-color:rgba(255,238,200,.8);
  background:linear-gradient(180deg,#ffe9b8,#d9a441 42%,#a06f1c)}
/* los filtros de la galería son `btn sm`, y el activo lleva `.on` */
.ov.calido .panel .btn.on{border-color:#f7d488;color:#f7d488;
  background:linear-gradient(180deg,rgba(255,122,24,.24),rgba(0,0,0,.24))}

/* PREGUNTA SIN TAPAR LA MESA.
   El overlay normal oscurece y desenfoca todo, que es lo que quieres al elegir
   objetivos. Pero para decidir si cambias la mano hay que VER la mano: se pide
   opinión sobre unas cartas y se tapaban justo esas cartas. Aquí el velo se
   quita, el panel sube y sólo se puede pulsar el panel, así que lo de detrás se
   ve entero y sigue quieto. */
.ov.suave{background:transparent;backdrop-filter:none;align-items:flex-start;
  padding-top:clamp(60px,14vh,150px);pointer-events:none}
.ov.suave .panel{pointer-events:auto;max-width:min(520px,88vw);
  background:linear-gradient(180deg,rgba(38,28,62,.97),rgba(22,15,38,.97));
  box-shadow:0 24px 70px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.5);
  animation:asomaPanel .32s cubic-bezier(.22,.61,.36,1) both}
@keyframes asomaPanel{from{opacity:0;transform:translateY(-14px) scale(.97)}
  to{opacity:1;transform:none}}
/* Mientras se decide sobre la mano, la mano se ve. Las cartas que no puedes
   jugar salen apagadas a propósito, pero en este momento son TODAS y es justo
   cuando hay que mirarlas para decidir. */
#hand.mirando .card.unplayable{opacity:.95;filter:none}
#hand.mirando .card{cursor:default}
.opts .btn{text-align:left}

/* dado */
#dice{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:300;
  background:rgba(6,3,10,.72);backdrop-filter:blur(3px)}
#dice.on{display:flex}
.dicebox{display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:26px 34px 22px;border-radius:20px;border:2px solid var(--gold2);
  background:linear-gradient(180deg,#241a38,#150f22);box-shadow:0 24px 70px #000}
.dtop{font-size:12px;letter-spacing:3px;color:var(--dim);text-transform:uppercase;
  max-width:280px;text-align:center;line-height:1.3}
.d20{width:150px;height:150px;display:grid;place-items:center;font-size:58px;font-weight:900;
  color:#fff;background:radial-gradient(circle at 34% 28%,#8a5cf0,#2a1550);
  border:3px solid var(--gold);border-radius:24px;
  box-shadow:0 0 60px rgba(138,92,240,.7);font-variant-numeric:tabular-nums}
.d20.spin{filter:blur(1px);opacity:.85}
.d20.crit{background:radial-gradient(circle at 34% 28%,#ffd76a,#8a5a12);color:#2a1a00;
  box-shadow:0 0 90px rgba(255,215,106,.95)}
.d20.pifia{background:radial-gradient(circle at 34% 28%,#e0524a,#4a1010);
  box-shadow:0 0 80px rgba(224,82,74,.95)}
.dlabel{font-size:21px;font-weight:900;letter-spacing:4px;color:var(--gold);
  text-shadow:0 2px 10px #000;min-height:24px}
.dlabel.pif{color:var(--red)}
#dice .btn{min-width:190px;text-align:center;font-size:15px;padding:11px 18px}

/* toast */
#toast{position:fixed;left:50%;top:14%;transform:translateX(-50%);z-index:280;
  display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}
.tst{background:rgba(20,12,32,.94);border:1px solid var(--gold2);border-radius:9px;
  padding:8px 18px;font-weight:700;color:var(--gold);animation:tin .25s;box-shadow:0 8px 24px #000}
@keyframes tin{from{transform:translateY(-14px);opacity:0}}

/* tutorial */
#tut{position:fixed;right:10px;left:auto;top:50%;transform:translateY(-50%);
  width:min(330px,40vw);z-index:250;display:none}
body.tut-on #log{display:none}   /* Gero ya narra: el registro estorbaría */
#tut.on{display:block}
.tutbox{background:linear-gradient(180deg,#2a1f42,#1a1229);border:2px solid var(--gold);
  border-radius:13px;padding:13px 15px;box-shadow:0 14px 40px rgba(0,0,0,.75)}
.tuthead{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.tuthead .gm{font-size:24px}
.tuthead .tt{font-weight:900;color:var(--gold);font-size:13.5px;letter-spacing:.6px}
.tuthead .step{margin-left:auto;font-size:11px;color:var(--dim)}
.tutbody{font-size:13.2px;line-height:1.5;color:#e6ddf5}
.tutbody b{color:var(--gold)}
.tutfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}
.tutwait{font-size:11.5px;color:var(--green);margin-right:auto;align-self:center}
body.tutpause #board,body.tutpause #handzone{pointer-events:none}
body.tutpause #tut{pointer-events:auto}
#tut.watch .tutbox{border-color:var(--purple);box-shadow:0 14px 40px rgba(0,0,0,.75),0 0 0 1px rgba(138,92,240,.35)}
#tut.watch .tt{color:#c9a6ff}
#tut.todo .tt{color:var(--green)}
#tut.todo .tutbox{border-color:var(--green)}
.hi{position:relative;z-index:240}
.hi::before{content:"";position:absolute;inset:-6px;border-radius:12px;border:2px solid var(--gold);
  box-shadow:0 0 24px rgba(230,187,82,.75);animation:hip 1.1s infinite;pointer-events:none}
@keyframes hip{50%{box-shadow:0 0 40px rgba(230,187,82,1)}}

/* ============ EFECTOS ============ */
#fx{position:fixed;inset:0;pointer-events:none;z-index:150;overflow:hidden}
.fxnum{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;
  font-weight:900;font-size:36px;line-height:1;letter-spacing:0;
  font-variant-numeric:tabular-nums;
  padding:4px 14px 6px;border-radius:14px;
  background:rgba(6,3,10,.94);border:3px solid currentColor;
  box-shadow:0 0 22px currentColor,0 8px 22px rgba(0,0,0,.95),inset 0 0 12px rgba(0,0,0,.6);
  text-shadow:0 0 14px currentColor,0 2px 0 rgba(0,0,0,.9)}
.fxnum.dmg{color:#ff6b5f} .fxnum.heal{color:#5cf5a4} .fxnum.buff{color:#ffd25c}
/* La infección tiene su propio verde, distinto del rojo del daño normal: al ver
   el número ya sabes que lo que le está pasando es que está Infectado. */
.fxnum.inf{color:#7cf07c;border-color:#7cf07c;
  box-shadow:0 0 16px rgba(124,240,124,.55),0 4px 14px rgba(0,0,0,.6)}
.card.infectado{
  border-color:#5fd45f!important;
  background:linear-gradient(175deg,#1f3a1f,#0f2410);
  box-shadow:0 0 0 1px rgba(95,212,95,.5),0 0 14px rgba(95,212,95,.35)}
.card.infectado .nm{color:#c8f7c8}
.card.infectado::after{content:'☣';position:absolute;bottom:3px;left:4px;font-size:11px;
  color:#7cf07c;text-shadow:0 1px 3px #000;pointer-events:none}
.fxnum.xl{font-size:58px;padding:6px 22px 9px;border-width:4px;border-radius:18px}
.fxnum.plain{background:none;border:none;box-shadow:none;padding:0;font-size:52px}
/* Los números de daño viven fuera del lienzo (se posicionan en coordenadas de
   pantalla), así que no los arrastra el scale: se escalan a mano con la misma
   --k para que sigan pesando lo mismo respecto a las cartas. */
.fxnum{font-size:calc(34px * var(--k,1));padding:calc(4px * var(--k,1)) calc(13px * var(--k,1))}
.fxnum.xl{font-size:calc(52px * var(--k,1))}
.fxburst{position:absolute;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0%,currentColor 42%,transparent 72%)}
/* EL ALMA EN PELIGRO
   Por debajo de 6 de Alma la mesa lo dice sin que haya que leer el número: la
   carta de Líder LATE y una viñeta roja cierra los bordes. Las dos cosas se
   intensifican con --peligro (0..1: 0,17 con 5 de Alma, 0,83 con 1) y el
   latido se acelera a medida que baja.
   El latido va sobre .leaderslot (#leaderMe), que persiste, y no sobre la
   carta de dentro, que render() rehace con innerHTML a cada jugada: una
   animación ahí se reiniciaría a cada repintado, el mismo brinco que tenía la
   mano. La viñeta es un elemento fijo aparte de las viñetas transitorias de
   fxFace, que siguen destellando encima cuando llega un golpe.
   Y lo simétrico: cuando es el RIVAL quien está a 5 o menos, su Líder respira
   en dorado. No es peligro, es «remata». */
:root{--peligro:0; --latido:calc(1.5s - var(--peligro) * .8s)}
/* Ceñida a los BORDES: transparente hasta el 60 % del radio, y el centro un
   poco por encima de la mitad para que la banda de abajo —donde está la mano
   que tienes que leer— quede más ligera que la de arriba y los lados. La
   primera versión arrancaba en el 38 % y a 2 de Alma lavaba de rojo la
   pantalla entera, mano incluida: justo cuando más falta hace leer. */
#vineta{position:fixed;inset:0;pointer-events:none;z-index:148;opacity:0;
  transition:opacity .7s ease;
  background:radial-gradient(ellipse 82% 76% at 50% 46%, transparent 60%, rgba(170,14,22,.30) 82%, rgba(120,6,14,.88) 100%)}
body.peligro #vineta{opacity:calc(.14 + var(--peligro) * .42);
  animation:vinetaRespira var(--latido) ease-in-out infinite}
@keyframes vinetaRespira{
  0%,100%{filter:brightness(1)}
  50%    {filter:brightness(1.35)}}
body.peligro #leaderMe{animation:late var(--latido) ease-in-out infinite;will-change:transform,filter}
@keyframes late{
  0%,100%{transform:scale(1);   filter:drop-shadow(0 0 0 rgba(255,60,60,0))}
  38%    {transform:scale(1.035);filter:drop-shadow(0 0 calc(8px + var(--peligro) * 12px) rgba(255,60,60,calc(.45 + var(--peligro) * .4)))}
  52%    {transform:scale(1.012)}
  66%    {transform:scale(1.03); filter:drop-shadow(0 0 calc(6px + var(--peligro) * 10px) rgba(255,60,60,calc(.35 + var(--peligro) * .35)))}}
body.remate #leaderFoe{animation:remate 1.7s ease-in-out infinite;will-change:filter}
@keyframes remate{
  0%,100%{filter:drop-shadow(0 0 0 rgba(247,212,136,0))}
  50%    {filter:drop-shadow(0 0 16px rgba(247,212,136,.75))}}
@media (prefers-reduced-motion:reduce){
  body.peligro #vineta,body.peligro #leaderMe,body.remate #leaderFoe{animation:none}}

/* EL FOIL DE LAS LEGENDARIAS
   Las cartas con ★ llevan una capa iridiscente encima: una banda de color que
   sigue al cursor, un punteado de destellos, y en reposo una deriva lenta para
   que una legendaria en mesa se note sin tocarla. Es lo que distingue una
   colección de cartas de una lista de cartas.
   --mx/--my (0..1) los pone el JS sólo en la carta bajo el cursor; sin ellos
   la capa cae en el centro. Va con mix-blend-mode para que el color se sume a
   lo que hay debajo —retrato o fondo— en vez de taparlo. pointer-events:none:
   la capa nunca se interpone en un clic. */
.card .foil{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;
  --mx:.5;--my:.5;
  background:
    /* la banda iridiscente, que se desplaza con el cursor */
    /* Una banda FINA: el arcoíris vive en unos 12 puntos de la diagonal y el
       resto es transparente. Con una banda ancha y saturada el foil dejaba de
       ser un brillo y se convertía en un lavado que tapaba la carta entera. */
    linear-gradient(112deg,
      transparent 42%,
      rgba(255,120,160,.26) 46%, rgba(255,232,150,.42) 49%, rgba(255,255,255,.50) 50.5%,
      rgba(150,255,220,.38) 52%, rgba(140,180,255,.26) 55%,
      transparent 59%),
    /* el punteado: dos rejillas de destellos a distinto paso */
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.34) 0 .8px, transparent 1.6px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.24) 0 .7px, transparent 1.5px);
  background-size: 260% 260%, 26px 26px, 41px 41px;
  background-position:
    calc(var(--mx) * 100%) calc(var(--my) * 100%),
    calc(var(--mx) * 12px) calc(var(--my) * 12px),
    calc(var(--mx) * -9px) calc(var(--my) * -9px);
  /* overlay y no color-dodge: dodge sobre el morado medio de la carta lo
     reventaba a blanco y saturado; overlay tiñe respetando el contraste. */
  mix-blend-mode:overlay;opacity:.55;
  transition:opacity .25s ease;
  animation:foilReposo 9s ease-in-out infinite}
/* bajo el cursor el brillo sube y la deriva se detiene: manda la mano */
.card:hover .foil,.card.finge-hover .foil{opacity:.9;animation:none}
@keyframes foilReposo{
  0%,100%{background-position: 30% 30%, 0 0, 0 0}
  50%    {background-position: 70% 70%, 6px 6px, -5px -5px}}
/* en la carta grande de inspección el punteado se ve más fino a ese tamaño */
#inspect .card .foil{background-size:260% 260%, 34px 34px, 55px 55px}
@media (prefers-reduced-motion:reduce){ .card .foil{animation:none} }

/* EL IMPACTO
   Chispas que salen del punto de contacto en la dirección del golpe, un anillo
   que se expande, y polvo. Todo escala con --k porque #fx vive fuera del lienzo
   y no hereda su zoom. Los colores los pone el JS por `color`: blanco-oro para
   un golpe normal, brasa para el Fuego, ceniza para la muerte. */
.fxspark{position:absolute;width:calc(7px * var(--k,1));height:calc(7px * var(--k,1));
  margin:calc(-3.5px * var(--k,1)) 0 0 calc(-3.5px * var(--k,1));border-radius:50%;
  background:radial-gradient(circle,#fff 0%,currentColor 55%,transparent 75%);
  box-shadow:0 0 calc(8px * var(--k,1)) currentColor;will-change:transform,opacity}
.fxspark.larga{width:calc(18px * var(--k,1));height:calc(4px * var(--k,1));
  margin:calc(-2px * var(--k,1)) 0 0 calc(-9px * var(--k,1));border-radius:2px;
  background:linear-gradient(90deg,transparent,currentColor,#fff)}
.fxpuff{position:absolute;width:calc(14px * var(--k,1));height:calc(14px * var(--k,1));
  margin:calc(-7px * var(--k,1)) 0 0 calc(-7px * var(--k,1));border-radius:50%;
  background:radial-gradient(circle,currentColor 0%,transparent 70%);
  filter:blur(calc(1.5px * var(--k,1)));will-change:transform,opacity}
/* el destello blanco del golpe letal: cubre la carta y se apaga */
/* notas de Canción y otros glifos sueltos del estallido */
.fxglifo{position:absolute;transform:translate(-50%,-50%);font-weight:900;
  font-size:calc(26px * var(--k,1));color:currentColor;text-shadow:0 0 calc(12px * var(--k,1)) currentColor;
  will-change:transform,opacity;pointer-events:none}
.fxflash{position:absolute;border-radius:10px;background:#fff;pointer-events:none;
  box-shadow:0 0 calc(40px * var(--k,1)) #fff}
.fxring{position:absolute;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;
  border:3px solid currentColor;box-shadow:0 0 22px currentColor}
.fxslash{position:absolute;width:110px;height:5px;margin:-2px 0 0 -55px;border-radius:3px;
  background:linear-gradient(90deg,transparent,#fff,transparent)}
.fxvig{position:fixed;inset:0;pointer-events:none;z-index:149;
  background:radial-gradient(ellipse at center,transparent 45%,currentColor 100%)}
.fxcard{position:absolute;transform-origin:center;filter:drop-shadow(0 12px 30px #000)}
.fxbanner{position:absolute;left:0;right:0;top:44%;text-align:center;font-weight:900;
  font-size:clamp(26px,5vw,46px);letter-spacing:4px;color:var(--gold);
  text-shadow:0 4px 24px #000,0 0 40px rgba(230,187,82,.6)}
.fxbanner small{display:block;font-size:13px;letter-spacing:6px;color:var(--dim);margin-top:4px}
/* cada aviso en su fila, y se desliza al hueco de arriba cuando el de encima se va */
.fxlabel.apilado{transform:translate(-50%,-50%) translateY(calc(var(--fila,0) * 40px));
  transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.fxlabel{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:15px;
  letter-spacing:1px;padding:6px 14px;border-radius:20px;white-space:nowrap;
  background:rgba(14,8,22,.92);border:2px solid currentColor;box-shadow:0 6px 24px #000}

/* prompt banner */
/* EL CARTEL DE "ELIGE UN OBJETIVO"
   Estaba clavado en el centro exacto de la pantalla, que es justo donde están
   las cartas del campo: se plantaba encima de ellas y se comía los clics. Al
   equipar un Objeto o curar a un aliado, el tercio de arriba de la carta que
   querías elegir no respondía —y elegir es lo único que el cartel te está
   pidiendo que hagas—.
   Ahora no intercepta nada (sólo sus botones lo hacen) y se coloca bajo el
   tablero, donde no tapa ninguna carta. */
/* Medida estable: sin ancho, la caja se ajustaba a cada texto y cambiaba de
   tamaño y de sitio en cada aviso —descartar dos cartas seguidas la hacía dar
   saltos—. Ahora ocupa siempre lo mismo y el texto se acomoda dentro. */
#prompt{position:fixed;left:50%;bottom:23%;transform:translateX(-50%);z-index:210;
  pointer-events:none;
  width:min(560px,88vw);box-sizing:border-box;
  background:rgba(18,10,28,.96);border:2px solid var(--red);border-radius:12px;
  padding:11px 18px;display:none;align-items:center;justify-content:center;gap:12px;
  box-shadow:0 12px 40px #000, 0 0 0 1px rgba(224,82,74,.25)}
#prompt.on{display:flex}
#prompt .pmsg{font-weight:700;color:#ffd9d6;font-size:13.5px;flex:1;text-align:center}
#prompt button,#prompt #pbtns{pointer-events:auto}

/* inspector */
/* La perspectiva va en el PADRE y sin preserve-3d: en este proyecto preserve-3d
   ya rompió una vez el poder pulsar las cartas. Aquí además no hay nada que
   pulsar —el panel no recibe eventos— pero la regla se mantiene por costumbre. */
#inspect{position:fixed;z-index:260;display:none;pointer-events:none;perspective:900px}
#inspect.on{display:block}
/* EL DETALLE
   Una carta en mesa mide 132px: ahí las reglas caben pero no se leen a gusto.
   Este panel es donde de verdad se lee la carta —nombre grande, texto a tamaño
   de prosa, estados y Objetos— y por eso puede permitirse el ancho. Hereda las
   piezas de .card, así que sólo hay que redefinir lo que cambia de tamaño. */
/* LA INCLINACIÓN 3D
   --mx/--my (0..1) son la posición del cursor sobre la carta ORIGEN —el panel
   no recibe eventos—, copiadas aquí por el rastreador. De ellas salen dos
   ángulos pequeños: arriba/abajo inclina en X, izquierda/derecha en Y. Sutil a
   propósito: 12° y 14° de recorrido total; más y la carta parece un cartón
   suelto. Sin cursor, 0°. */
.big{width:286px;font-size:14px;
  --tx:calc((var(--mx, .5) - .5) * 14deg);
  --ty:calc((var(--my, .5) - .5) * -12deg);
  transform:rotateX(var(--ty)) rotateY(var(--tx));transform-origin:50% 50%;
  transition:transform .14s ease-out;will-change:transform;
  background:linear-gradient(178deg,#33254e 0%,#1e1533 42%,#140e22 100%);
  border:1px solid var(--tipo,var(--gold));border-radius:15px;padding:0;overflow:hidden;
  box-shadow:0 26px 64px rgba(0,0,0,.85), 0 0 0 1px rgba(230,187,82,.18),
             inset 0 1px 0 rgba(255,255,255,.10);
  display:flex;flex-direction:column;gap:0}
/* aquí el arte manda: es la mitad del panel y va a sangre */
.big .art{position:relative;height:176px;flex:0 0 auto;font-size:74px;padding:0;
  display:grid;place-items:center}
.big .art.conarte{font-size:0}
.big .art::after{height:40%}
.big .top{position:absolute;inset:0 0 auto 0;height:176px;z-index:3;pointer-events:none}
.big .cost{top:9px;left:9px;width:31px;height:31px;font-size:16px}
.big .nm{position:absolute;left:0;right:0;top:auto;bottom:0;
  font:700 18px/1.15 var(--serif);font-variant:small-caps;letter-spacing:.7px;
  color:#fdf6e6;padding:5px 11px 6px;-webkit-line-clamp:3;
  background:linear-gradient(90deg,rgba(8,5,14,.94),rgba(8,5,14,.66) 82%,transparent);
  border-top:1px solid color-mix(in srgb,var(--tipo,#6a5a8a) 62%,transparent)}
.big .tribe{font:600 9px/1.2 var(--sans);letter-spacing:2px;padding:8px 12px 5px;
  color:#a596c4}
.big .txt{font:13px/1.55 var(--sans);color:#e6dcf5;white-space:normal;
  padding:0 12px 10px;text-align:left;flex:none}
.big .txt b{color:var(--gold);font-weight:700}
.big .stats{padding:0 12px 12px;justify-content:flex-start;gap:8px}
.big .rar{top:9px;right:11px;font-size:13px}
.big .keys{padding:0 12px 9px}
.big .bigsep{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);
  margin:2px 12px 9px}
.big .bigrow{font:700 12.5px/1.3 var(--serif);color:var(--gold);padding:0 12px 3px}
.big .bigbase{font:11px/1.3 var(--sans);color:#9c8fbb;padding:0 12px 9px;font-style:italic}
.big .tribe{font-size:10px;white-space:normal;margin-bottom:5px}
.big .cost{width:30px;height:30px;font-size:17px}
.big .atk,.big .hp{font-size:20px;min-width:32px;padding:2px 8px}
.big .keys{justify-content:center;margin:2px 0 5px}
.big .kw{font-size:9.5px;padding:1px 6px}
.bigsep{height:1px;background:var(--line);margin:7px 0 6px}
.bigrow{font-size:11px;color:var(--dim);display:flex;gap:6px;align-items:baseline}
.bigrow b{color:var(--ink);font-weight:800}
.bigbase{font-size:10.5px;color:#8a7bab;text-align:center;margin-top:3px}

.roomcode{font-size:44px;font-weight:900;letter-spacing:10px;text-align:center;
  color:var(--gold);background:rgba(0,0,0,.45);border:2px dashed var(--gold2);
  border-radius:14px;padding:14px 10px 14px 20px;margin:6px 0 10px;
  text-shadow:0 3px 14px rgba(230,187,82,.5);font-variant-numeric:tabular-nums}
.codeinput{width:100%;font-size:34px;font-weight:900;letter-spacing:10px;text-align:center;
  text-transform:uppercase;color:var(--gold);background:rgba(0,0,0,.45);
  border:2px solid var(--line);border-radius:12px;padding:12px 6px 12px 16px;outline:none}
.codeinput:focus{border-color:var(--gold)}
.netstatus{font-size:12.5px;letter-spacing:.5px;color:var(--dim);text-align:center;margin:4px 0}
.netstatus.ok{color:var(--green)} .netstatus.warn{color:var(--gold)}
.netdiag{font-size:10.5px;color:#5f5480;text-align:center;margin:2px 0 6px;letter-spacing:.3px}
.netchip{display:flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--line);
  border-radius:20px;padding:3px 11px;font-size:12px;color:var(--dim);white-space:nowrap}
.netchip b{color:var(--gold);letter-spacing:2px}
.diariobtn{background:none;border:1px solid var(--line);border-radius:6px;cursor:pointer;
  color:var(--dim);font-size:11px;padding:1px 5px;line-height:1.3}
.diariobtn:hover{border-color:var(--gold2);color:var(--gold)}

/* ---- guías de estrategia ---- */
/* Las guías comparten la identidad de los menús con `.portada`; aquí sólo
   queda lo suyo. El cuerpo tapa casi toda la pantalla, así que del fondo se
   ve poco — pero lo poco que se ve tiene que ser el mismo sitio. */
#guide{padding:0}
.gbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(10,6,18,.8);
  border-bottom:1px solid var(--line);flex-wrap:wrap;flex:0 0 auto}
.gtabs{display:flex;gap:6px;flex-wrap:wrap}
.gtab{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);
  border-radius:20px;padding:5px 13px;font-size:12.5px;font-weight:700;color:var(--dim);transition:.15s}
.gtab span{font-size:16px}
.gtab:hover{border-color:var(--gold);color:var(--ink)}
.gtab.on{border-color:var(--gold);color:var(--gold);background:linear-gradient(180deg,#3a2c12,#241a34)}
.gbody{flex:1;overflow-y:auto;padding:20px 22px 40px;max-width:900px;margin:0 auto;width:100%}
.ghead{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}
.ghead .gart{font-size:62px;line-height:1;filter:drop-shadow(0 4px 10px #000)}
.ghead h2{font-size:25px;color:var(--gold);line-height:1.15;margin-bottom:2px}
.gsub{font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--purple);font-weight:800}
.glema{font-size:14.5px;color:#d9cdee;font-style:italic;margin-top:7px;line-height:1.4}
.gmeta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:11.5px;color:var(--dim)}
.gmeta b{color:var(--ink)}
.gsec{margin-bottom:22px}
.gsec h3{font-size:15px;color:var(--gold);margin-bottom:7px;letter-spacing:.4px}
.gsec p{font-size:13.8px;line-height:1.6;color:#ddd2ef}
.gsec b{color:#fff}
.gsec ul{margin:2px 0 0 18px}
.gsec li{font-size:13.5px;line-height:1.55;color:#ddd2ef;margin-bottom:7px}
.gsec.destacado{background:linear-gradient(180deg,rgba(138,92,240,.14),rgba(0,0,0,.2));
  border:1px solid var(--purple2);border-left:3px solid var(--purple);
  border-radius:12px;padding:14px 16px}
.gcards{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
/* El cuerpo de las guías es el único sitio de los menús donde quedaba violeta
   de verdad: el recuadro de «la jugada» y el texto largo. Las cartas de
   ejemplo NO se tocan — su color dice de qué clase son y eso es información
   del juego, no decoración. */
.portada .gsec p,.portada .gsec li{color:#ddd0bd}
.portada .gsec b{color:#fff4e2}
.portada .gsec.destacado{background:linear-gradient(180deg,rgba(255,122,24,.13),rgba(0,0,0,.24));
  border-color:rgba(217,164,65,.34);border-left-color:var(--brasa)}
.portada .gturno .gt{color:var(--oro);background:rgba(247,212,136,.12);
  border-color:rgba(217,164,65,.5)}
.portada .gvs td{border-bottom-color:rgba(217,164,65,.20);color:#d4c3ad}
.portada .gplan{color:#c3ab8d}
.gcards .card{cursor:default}
.gcount{position:absolute;top:25px;left:3px;font-size:11px;font-weight:900;color:var(--gold);
  background:rgba(8,4,14,.9);border:1px solid var(--gold2);border-radius:6px;padding:0 5px;
  box-shadow:0 2px 6px #000}
.gturnos{display:flex;flex-direction:column;gap:9px}
.gturno{display:flex;gap:12px;align-items:flex-start}
.gturno .gt{flex:0 0 62px;text-align:center;font-weight:900;font-size:12.5px;color:var(--gold);
  background:rgba(230,187,82,.12);border:1px solid var(--gold2);border-radius:8px;padding:5px 0}
.gturno p{flex:1;margin:0}
.gvs{width:100%;border-collapse:collapse;font-size:13px}
.gvs td{border-bottom:1px solid var(--line);padding:7px 8px;vertical-align:top;color:#ccc0e2}
.gvs td:first-child{white-space:nowrap;width:1%}
.gv{font-weight:800;white-space:nowrap;color:var(--dim)}
.gv.bien{color:var(--green)} .gv.mal{color:var(--red)}
.gplan{font-style:italic;color:#b5a8d0}
@media(max-width:620px){
  .gbody{padding:14px 12px 30px} .ghead .gart{font-size:44px} .ghead h2{font-size:20px}
  .gturno{flex-direction:column;gap:3px} .gturno .gt{flex:none;display:inline-block;padding:3px 10px}
  .gvs td{font-size:12px;padding:6px 4px}
}

/* galería */
/* LA GALERÍA
   La carta crece al pasar por encima, igual que en la mano. Antes salía un
   cuadro flotante aparte que además enseñaba el emoji aunque la carta tuviera
   ilustración: dos formas distintas de mirar lo mismo, y una de ellas mentía.
   Crece desde el centro para no salirse por ningún lado de la rejilla. */
.gallery{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.gallery .card{transition:transform .22s cubic-bezier(.22,.61,.36,1), box-shadow .2s}
.gallery .card:hover{transform:scale(1.75);z-index:60;
  box-shadow:0 26px 52px rgba(0,0,0,.9), 0 0 0 1px var(--tipo-cl,var(--gold))}
/* a ese tamaño el texto cabe entero */
.gallery .card:hover .txt{display:block;overflow:visible}
/* Elegir o descartar es una acción, no una vitrina: reservar una cuadrícula
   estable evita que la carta ampliada cambie el alto útil del diálogo. */
.gallery.selectorCartas{display:grid;grid-template-columns:repeat(auto-fit,var(--cw));gap:18px 14px;
  justify-content:center;align-items:start;padding:7px 12px 18px}
.gallery.selectorCartas .card{margin:0 auto}
.gallery.selectorCartas .card:hover{transform:translateY(-4px) scale(1.05);z-index:2;
  box-shadow:0 16px 30px rgba(0,0,0,.75),0 0 0 1px var(--tipo-cl,var(--gold))}
.gallery.selectorCartas .card:hover .txt{display:block;overflow:hidden}
/* cuántas copias lleva el mazo que estás mirando */
.copias{position:absolute;top:5px;right:6px;z-index:6;
  background:linear-gradient(180deg,#6b5320,#3d2f13);color:#ffe6a8;
  font:800 10px/1 var(--sans);padding:3px 6px;border-radius:7px;
  border:1px solid var(--gold2);box-shadow:0 2px 6px rgba(0,0,0,.7)}
.notagal{text-align:center;color:var(--dim);font-size:12.5px;margin:2px 0 10px}
.notagal b{color:var(--gold)}
.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:12px}
.filters .btn.on{border-color:var(--gold);color:var(--gold)}

/* reglas */
.rules{font-size:13px;line-height:1.6;color:#d6cbe8}
.rules h4{color:var(--gold);margin:14px 0 5px;font-size:14.5px}
.rules ul{margin-left:18px} .rules li{margin-bottom:3px}
.rules b{color:var(--ink)}
.rules table{width:100%;border-collapse:collapse;margin:6px 0;font-size:12px}
.rules td,.rules th{border:1px solid var(--line);padding:4px 6px;text-align:left}
.rules th{background:var(--panel2);color:var(--gold)}

/* ---- el lienzo de pie: mismo diseño, reparto distinto ---- */

/* El tutorial y los avisos van FUERA del lienzo (tapan la pantalla entera, no
   el tablero), así que estos sí miran la ventana de verdad. */
@media(max-width:760px){
  #tut{left:50%;right:auto;top:4px;bottom:auto;transform:translateX(-50%);width:94vw}
  .tutbody{font-size:12.2px} .tutbox{padding:9px 11px}
}

/* Tres destinos principales y una puerta discreta al resto del juego. */
#menu .menucol{display:flex;flex-direction:column}
#menu .menucol #mPlay,#menu .menucol #mCampana,#menu .menucol #mOnline{min-height:54px;font:700 19px/1.2 var(--serif);letter-spacing:1px}
#menu .menucol #mCampana,#menu .menucol #mPlay,#menu .menucol #mOnline,#menu .menucol #mExtras{background:linear-gradient(115deg,#421b1aee,#642925ee,#341918ee);border-color:#b38454a0;color:#f4ddbc;text-shadow:none;box-shadow:inset 0 1px 0 #ffedc31c,0 3px 0 #090807,0 6px 14px #0005}
#menu .menucol #mExtras{min-height:42px;padding:9px 16px;margin-top:4px;font-size:14px;letter-spacing:2px}
#mExtras span{position:absolute;right:18px;font-size:21px;line-height:16px;color:#c4a36d}
#extras{align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}
#extras h2{margin:0;color:#f1d298;font:700 38px/1.15 var(--serif);letter-spacing:2px}
.extrasOpciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,480px);margin:8px 0}
.extrasOpciones .btn{min-height:62px;padding:12px;font-size:14px;line-height:1.35}
.extrasOpciones>.btn:last-child:nth-child(odd){grid-column:1/-1}
#audioExtras{display:flex;justify-content:center;width:min(100%,480px);min-height:40px}
#extras #mBorrarProgreso{margin-top:4px;min-height:44px;padding:10px 18px;font-size:13px;color:#eab2a7;border-color:#a2544d80;background:#351918bb}
#extrasBack{margin-top:0;min-height:44px;font-size:14px}
@media(max-width:380px){#extras{gap:12px;padding:18px}.extrasOpciones{gap:9px}.extrasOpciones .btn{font-size:12px;padding:10px}}

/* AAA_CSS real */

/* MENU_TABERNA_INICIO
   Primera adopción de Mesa de taberna: sólo los cuatro botones principales.
   La veta y los remaches son fondos; los pseudos conservan el barrido dorado.
   La fuente va incrustada para mantener el mismo acabado sin conexión. */
/* IM FELL English SC, subconjunto servido por Google Fonts.
Copyright (c) 2010, Igino Marini (mail@iginomarini.com)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/
@font-face{font-family:"Caoz Taberna";font-style:normal;font-weight:400;font-display:swap;src:url(data:font/ttf;base64,AAEAAAANAIAAAwBQR1NVQhuWNmgAAAGAAAAASk9TLzKHV+koAAABzAAAAGBjbWFwBzwHYQAAAiwAAACsZ2FzcP//AAMAAADcAAAACGdseWY0kCAzAAAM4AAAOoJoZWFk+zcftwAAAUgAAAA2aGhlYRqUDm0AAAEkAAAAJGhtdHh9CghuAAAHcAAABXBrZXJugy+SuAAAR2QAAF0SbG9jYWE9VeIAAAS0AAACum1heHACARpcAAAA5AAAACBuYW1lI+5BHAAAAtgAAAHccG9zdP9lAFQAAAEEAAAAIAAAAAH//wACAAEAAAFcGFQAmQIGAAcAAQAAAAAAAAAAAAAAAAAEAAEAAwAAAAAAAP9iAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAHPv0YAAAVgv6h+nYUsgABAAAAAAAAAAAAAAAAAAABXAABAAAAAwAAlNrcI18PPPUACQgAAAAAAMCyHQcAAAAAyBS4yf6h/bQUsgc+AAAAAAAAAAAAAAAAAAEAAAAKACQAMgABbGF0bgAIAAAAAVRSSyAACgAA//8AAQAAAAFsb2NsAAgAAAABAAAAAQAEAAEAAAABAAgAAQAGAP0AAQABAEwAAAACA3YBkAAFAAAFVQVVAAABBAVVBVUAAAPAAGQCAAECAgAAAAAAAAAAAKAAAO8QAEBaAAAAAAAAAAAgICAgAEAAIAD1Be/9gwG6Bz4C6AAAAJMAAAAAA4UFiQAAACAAAgAAAAIAAAADAAAAFAADAAEAAAAUAAQAmAAAACIAIAAEAAIAIABFAEoATwBhAGMAZQBnAGkAcAB1AHgA1QDjAPEA9f//AAAAIABDAEoATwBhAGMAZQBnAGkAbAByAHgA1QDjAPEA9f///+P/4//j/+P/4//j/+P/4//j/+P/4//j/8D/wP/A/8AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAGYAAwABBAkAAACoAM4AAwABBAkAAQAkAKoAAwABBAkAAgAOAJwAAwABBAkAAwA8AGAAAwABBAkABAAkAKoAAwABBAkABQAIAFgAAwABBAkABgAkADQAAwABBAkADgA0AAAAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAEkATQBfAEYARQBMAEwAXwBFAG4AZwBsAGkAcwBoAF8AUwBDADMALgAwADAASQBnAGkAbgBvACAATQBhAHIAaQBuAGkAJwBzACAARgBFAEwATAAgAEUAbgBnAGwAaQBzAGgAIABTAEMAUgBlAGcAdQBsAGEAcgBJAE0AIABGAEUATABMACAARQBuAGcAbABpAHMAaAAgAFMAQwCpACAAMgAwADAANwAgAEkAZwBpAG4AbwAgAE0AYQByAGkAbgBpACAAKAB3AHcAdwAuAGkAZwBpAG4AbwBtAGEAcgBpAG4AaQAuAGMAbwBtACkAIABXAGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABJAE0AIABGAEUATABMACAARQBuAGcAbABpAHMAaAAgAFMAQwAAABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQHPA1wE4QThBOEE4QThBhIGEgYSBhIGEgeIB4gHiAeIB4gHiAeIB4gHiAeIB4gHiAeIB4gHiAeIB4gHiAjoCOgKXwpfDAUMBQ1pDWkOJQ4lDiUPLhE0Er8UUxVCFUIWoRfpGR8aXBpcGlwcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwDHAMcAxwPHA8cDxwPHA8cDxwPHA8cDxwPHA8cDxwPHA8cGhwaHBocGhwaHBocGhwaHBocGhwaHBocGhwaHCUcJRwlHCUcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBwwHDAcMBxdHF0cXRzMHMwczBzMHMwczBzM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ACQAPP/jACQAV//4ACQAWf/rACQAWv/oACQAh//nACQAkv/oACQAk//oACQAlP/oACQAlf/oACQAlv/oACQAmP/oACQAmf+wACQAmv+wACQAnP+wACQAnf/jACQAxv/nACQAyP/nACQA2P/kACQA8v/oACQBBP/KACQBBf/4ACQBBv+wACQBCP+wACQBCv+wACQBDv+lACQBMP/QACQBMQA3ACQBM//JACQBNAA3ACUAJf/wACUAJ//vACUAKf/zACUAK//zACUALf/gACUALv/tACUAMf/yACUANf/wACUAOP/hACUAOf/hACUAOv/hACUAPP/NACUAmf/hACUAmv/hACUAm//hACUAnP/hACUAnf/NACUAnv/xACUAyv/vACUAzP/vACUA7v/yACUA9v/wACUA+v/wACUBBv/hACUBCP/hACUBCv/hACUBDP/hACUBDv/hACYAD//xACYAEf/zACYAHf/zACYAJP/2ACYAV//ZACYAW//3ACYAXf/3ACYAgP/2ACYAgf/2ACYAgv/2ACYAg//2ACYAhP/2ACYAhf/2ACYAwP/2ACYAwv/2ACYAxP/2ACYBBf/ZACYBFv/3ACYBGP/3ACYBMf/xACYBNP/xACcAD//ZACcAEf/cACcAJP/XACcAJf/mACcAJ//nACcAKP/oACcAKf/mACcAK//oACcALP/rACcALf/gACcALv/sACcAL//mACcAMP/vACcAMf/gACcAM//qACcANf/kACcAOP/pACcAOf/nACcAOv/oACcAO//XACcAPP/BACcARP/yACcAVwAVACcAXAASACcAgP/XACcAgf/XACcAgv/XACcAg//XACcAhP/XACcAhf/XACcAhv/oACcAiP/oACcAif/oACcAiv/oACcAi//oACcAjP/rACcAjf/rACcAjv/rACcAj//rACcAkP/nACcAmf/pACcAmv/pACcAm//pACcAnP/pACcAnf/BACcAnv/jACcAoP/yACcAof/yACcAov/yACcApP/yACcApf/yACcApv/kACcAvQASACcAwP/XACcAwv/XACcAw//yACcAxP/XACcAxf/yACcAyv/nACcAzP/nACcAzv/oACcA0P/oACcA0v/oACcA1P/oACcA2v/rACcA4P/sACcA4v/mACcA5v/mACcA6P/mACcA7P/gACcA7v/gACcA9v/kACcA+v/kACcBBv/pACcBCP/pACcBCv/pACcBDP/pACcBDv/oACcBMf/ZACcBNP/ZACgABf/uACgACv/rACgALf/mACgAOP/oACgAOf/xACgAOv/vACgAPP/oACgAV//kACgAWf/2ACgAWv/zACgAXP/3ACgAmf/oACgAmv/oACgAm//oACgAnP/oACgBBv/oACgBCP/oACgBCv/oACgBDv/vACgBMP/uACgBM//vACkADAALACkAD/+oACkAEf+jACkAHf/fACkAHv/aACkAJP/KACkANwAYACkAQAASACkARP/LACkARf/iACkARv/3ACkAR//pACkASP/lACkASf/rACkASv/0ACkAS//zACkATP/0ACkATf/1ACkATv/rACkAT//cACkAUP/uACkAUf/3ACkAUv/zACkAU//xACkAVP/1ACkAVf/yACkAVv/sACkAW//zACkAXf/vACkAgP/KACkAgf/KACkAgv/KACkAg//KACkAhP/KACkAhf/KACkAhv/MACkAof/LACkAov/wACkApf/yACkApv/LACkAqf/lACkAqv/lACkArAA/ACkArf/0ACkAs//zACkAtP/zACkAtv/zACkAuP/zACkAwP/KACkAwv/KACkAw//1ACkAxP/KACkAxf/LACkAyf/3ACkA0f/lACkA1f/zACkA5//cACkA7//3ACkA8//zACkA9//yACkBMf+oACkBNP+oACoAD//kACoAEf/kACoAJP/0ACoAJf/zACoAJ//yACoAKf/1ACoAK//1ACoALf/oACoALv/zACoAL//2ACoAMP/2ACoAMf/0ACoANf/0ACoAN//lACoAOP/xACoAOf/wACoAOv/tACoAO//sACoAPP/WACoAPf/sACoAgP/0ACoAgf/0ACoAgv/0ACoAg//0ACoAhP/0ACoAhf/0ACoAkP/yACoAkf/0ACoAmf/xACoAmv/xACoAnP/xACoAnf/WACoAnv/yACoAwP/0ACoAwv/0ACoAxP/0ACoAzP/yACoA4P/zACoA4v/2ACoA5P/2ACoA5v/2ACoA6P/2ACoA7P/0ACoA7v/0ACoA+v/0ACoBBv/xACoBCP/xACoBCv/xACoBDP/xACoBDv/tACoBFf/sACoBF//sACoBMf/kACoBNP/kACsAJv/vACsAKv/qACsAMv/tACsANP/qACsARv/1ACsASv/4ACsATf/uACsAUv/vACsAVP/zACsAV//sACsAWP/wACsAWf/sACsAWv/jACsAXP/1ACsAh//vACsAkv/tACsAk//tACsAlP/tACsAlf/tACsAlv/tACsAmP/tACsArAA3ACsAsv/2ACsAs//vACsAtP/vACsAtf/1ACsAtv/vACsAuP/vACsAuv/wACsAu//wACsAvP/wACsAvf/1ACsAxv/vACsAx//1ACsAyP/vACsAyf/1ACsA8v/tACsA8//vACsBB//wACsBCf/wACsBC//wACsBD//jACwADAAOACwAJv/uACwAKv/oACwAMv/rACwANP/pACwAQAASACwARv/4ACwATf/vACwAUv/zACwAVP/3ACwAV//mACwAWP/uACwAWf/kACwAWv/aACwAXP/xACwAh//uACwAkv/rACwAk//rACwAlP/rACwAlf/rACwAlv/rACwAmP/rACwAoAAJACwAp//4ACwArABFACwAsv/zACwAs//zACwAtP/zACwAtf/zACwAtv/zACwAuP/zACwAuv/uACwAxv/uACwAx//4ACwAyP/uACwAyf/4ACwA2P/oACwA8v/rAC0ADAAZAC0AD//DAC0AEf/CAC0AHf/VAC0AHv/XAC0AJP/OAC0AJv/kAC0AKv/fAC0AMv/iAC0ANP/eAC0ANv/tAC0APf/2AC0AQAArAC0ARP/LAC0ARf/TAC0ARv/fAC0AR//VAC0ASP/UAC0ASf/TAC0ASv/fAC0AS//TAC0ATP/RAC0ATf/PAC0ATv/TAC0AT//TAC0AUP/QAC0AUf/WAC0AUv/YAC0AU//SAC0AVP/fAC0AVf/TAC0AVv/SAC0AV//aAC0AWP/UAC0AWf/aAC0AWv/IAC0AW//XAC0AXP/fAC0AXf/MAC0AgP/OAC0Agf/OAC0Agv/OAC0Ag//OAC0AhP/OAC0Ahf/OAC0Ahv/WAC0Ah//kAC0Akv/iAC0Ak//iAC0AlP/iAC0Alf/iAC0Alv/iAC0AmP/iAC0Aof/LAC0Aov/LAC0Ao//tAC0ApP/xAC0Apf/lAC0Apv/LAC0Aqf/UAC0Aqv/UAC0ArABZAC0Arf/RAC0Arv/xAC0Asv/sAC0As//YAC0AtP/YAC0Atf/YAC0Atv/YAC0AuP/YAC0Auf/1AC0Auv/UAC0Au//UAC0AvP/UAC0AwP/OAC0Awf/jAC0Awv/OAC0Aw//qAC0AxP/OAC0Axf/LAC0Axv/kAC0AyP/kAC0Ayf/fAC0Az//UAC0A0f/UAC0A0//UAC0A3f/RAC0A8v/iAC0A8//YAC0A/P/tAC0BAP/tAC0BB//UAC0BCf/UAC0BDf/UAC0BE//2AC0BFf/2AC0BF//2AC0BGP/fAC0BMf/DAC0BNP/DAC4ABf/rAC4ACv/kAC4ADwAfAC4AEQAUAC4AHgAdAC4AJv/eAC4AKv/UAC4ALf/uAC4AMv/bAC4ANP/UAC4AN//zAC4AOP/jAC4AOf/0AC4AOv/vAC4APP/1AC4AV//VAC4AWP/2AC4AWf/NAC4AWv/NAC4AXP/qAC4Ah//eAC4Akv/bAC4Ak//bAC4AlP/bAC4Alf/bAC4Alv/bAC4AmP/bAC4Amf/jAC4Amv/jAC4Am//jAC4AnP/jAC4Anf/1AC4Auf/2AC4Auv/2AC4AvP/2AC4Avf/qAC4Axv/eAC4AyP/eAC4A8v/bAC4BBP/zAC4BBv/jAC4BB//2AC4BCP/jAC4BCf/2AC4BCv/jAC4BC//2AC4BDP/jAC4BMP/pAC4BMQAfAC4BM//rAC4BNAAfAC8ABf+CAC8ACv98AC8AKf/1AC8ALf/SAC8ALv/xAC8AMf/wAC8AN/+pAC8AOP/KAC8AOf/HAC8AOv/IAC8APP/IAC8ARgATAC8ASgAYAC8AUgAbAC8AVAAZAC8AV//MAC8AXP/zAC8Ad/7HAC8AhgAPAC8Amf/KAC8Amv/KAC8Am//KAC8AnP/KAC8Anf/IAC8AsgAbAC8AswAbAC8AtAAbAC8AtQAbAC8AtgAbAC8AuAAbAC8Avf/zAC8AyQATAC8A4P/xAC8A7P/wAC8A7v/wAC8A8wAbAC8BBP+pAC8BBv/KAC8BCP/KAC8BCv/KAC8BDP/KAC8BDv/IAC8BKf/IAC8BMP+AAC8BM/+CADAAJv/uADAAKv/pADAALf/zADAAMv/sADAANP/qADAATf/yADAAUv/2ADAAV//pADAAWP/vADAAWf/dADAAWv/YADAAXP/rADAAh//uADAAkv/sADAAk//sADAAlP/sADAAlf/sADAAlv/sADAAmP/sADAAsv/2ADAAs//2ADAAtP/2ADAAtf/2ADAAtv/2ADAAuP/2ADAAuf/vADAAuv/vADAAu//vADAAvP/vADAAvf/rADAAxv/uADAAyP/uADAA8v/sADAA8//2ADABB//vADABCf/vADABC//vADABD//YADABJv/YADEADAAOADEAD//MADEAEf/IADEAHf/bADEAHv/dADEAJP/YADEAJv/qADEAKv/kADEAMv/mADEANP/lADEANv/tADEAPf/2ADEAQAAVADEARP/UADEARf/TADEARv/dADEAR//VADEASP/UADEASf/TADEASv/dADEAS//bADEATP/fADEATf/QADEATv/VADEAT//SADEAUP/aADEAUf/jADEAUv/UADEAU//SADEAVP/dADEAVf/dADEAVv/XADEAV//mADEAWP/gADEAWf/nADEAWv/bADEAW//kADEAXP/uADEAXf/ZADEAgP/YADEAgf/YADEAgv/YADEAg//YADEAhP/YADEAhf/YADEAhv/eADEAh//qADEAkv/mADEAk//mADEAlP/mADEAlf/mADEAlv/mADEAmP/mADEAof/UADEAov/UADEAo//1ADEApP/vADEApf/kADEApv/SADEAqf/UADEAqv/UADEAq//kADEArABDADEArf/fADEArv/xADEAsv/oADEAs//UADEAtP/UADEAtf/UADEAtv/UADEAuP/UADEAuf/2ADEAuv/gADEAu//gADEAvP/gADEAvf/uADEAwP/YADEAwf/vADEAwv/YADEAw//pADEAxP/YADEAxf/UADEAxv/qADEAx//dADEAyP/qADEAz//UADEA0f/UADEA0//UADEA1f/UADEA2P/kADEA8v/mADEA8//UADEA9P/mADEBAP/tADEBB//gADEBCf/gADEBD//bADEBFf/2ADEBF//2ADEBMf/MADEBNP/MADIAD//QADIAEf/TADIAJP/VADIAJf/oADIAJ//qADIAKP/qADIAKf/oADIAK//pADIALP/sADIALf/hADIALv/uADIAL//nADIAMP/vADIAMf/lADIAM//rADIANf/oADIAOP/rADIAOf/qADIAOv/rADIAO//bADIAPP/GADIARP/yADIAVwAXADIAXAAQADIAgP/VADIAgf/VADIAgv/VADIAg//VADIAhP/VADIAhf/VADIAhv/lADIAiP/qADIAif/qADIAiv/qADIAi//qADIAjP/sADIAjf/sADIAjv/sADIAj//sADIAkP/qADIAkf/lADIAmf/rADIAmv/rADIAm//rADIAnP/rADIAnf/GADIAnv/mADIAoP/yADIAof/yADIApP/yADIApf/yADIAwP/VADIAwv/VADIAxP/VADIAyv/qADIAzP/qADIAzv/qADIA0P/qADIA0v/qADIA2v/sADIA3P/sADIA4P/uADIA4v/nADIA5P/nADIA5v/nADIA6P/nADIA6v/lADIA7P/lADIA7v/lADIA+v/oADIBBQAXADIBBv/rADIBCP/rADIBMf/QADIBNP/QADMAD/+oADMAEf+kADMAHf/uADMAHv/rADMAJP/KADMALf/2ADMANwAcADMARP/LADMARv/sADMASv/dADMAUv/aADMAVP/oADMAVwAIADMAXAAiADMAgP/KADMAgf/KADMAgv/KADMAg//KADMAhP/KADMAhf/KADMAhv/LADMAnv/1ADMAof/LADMAov/1ADMApf/tADMApv/MADMAsv/wADMAs//aADMAtP/aADMAtv/pADMAuP/aADMAvQAiADMAwP/KADMAwv/KADMAw//wADMAxP/KADMAxf/LADMAx//sADMAyf/sADMA8//aADMBBAAcADMBMf+oADMBNP+oADQADAXKADQAD//IADQAEf/OADQAJP/QADQAJf/jADQAJ//lADQAKP/jADQAKf/iADQAK//mADQALP/nADQALf/dADQALv/qADQAL//hADQAMP/qADQAMf/cADQAM//mADQANf/jADQAOP/nADQAOf/iADQAOv/lADQAO//MADQAPP+8ADQARP/vADQAVwAZADQAXAARADQAYAViADQAgP/QADQAhP/QADQAif/jADQAi//jADQAjf/nADQAmf/nADQAmv/nADQAm//nADQAnP/nADQApP/vADQA6P/hADQBMf/IADQBNP/IADUABf+/ADUACv++ADUADwAsADUAEQAgADUAHQAVADUAHgAoADUAJv/gADUAKv/cADUALf/bADUAMv/hADUANP/cADUAN//kADUAOP+7ADUAOf+2ADUAOv+1ADUAPP/rADUAV//yADUAWf/mADUAWv/dADUAh//gADUAkv/hADUAk//hADUAlP/hADUAlf/hADUAlv/hADUAmP/hADUAmf+7ADUAmv+7ADUAm/+7ADUAnP+7ADUAnf/rADUAxv/gADUAyP/gADUA2P/cADUA8v/hADUBBP/kADUBBv+7ADUBCP+7ADUBCv+7ADUBDP+7ADUBDv+1ADUBD//dADUBMP+/ADUBMQAsADUBM/+/ADUBNAAsADYAXP/2ADYAvf/2ADcABQATADcADAArADcAD/+1ADcAEf+xADcAHf+vADcAHv+3ADcAJP/KADcAMQAYADcANwAfADcAOAALADcAOQAlADcAOgAaADcAQAAuADcARP/JADcARf9uADcARv9jADcAR/95ADcASP91ADcASf90ADcASv9jADcAS/9zADcATP+ZADcATf9LADcATv91ADcAT/9mADcAUP+7ADcAUf+DADcAUv9YADcAU/+jADcAVP9iADcAVf+OADcAVv+RADcAV/8qADcAWP9QADcAWf9jADcAWv83ADcAW/+SADcAXP9+ADcAXf92ADcAYAASADcAgP/KADcAgf/KADcAgv/KADcAg//KADcAhP/KADcAhf/KADcAhv/OADcAmQALADcAmgALADcAmwALADcAnAALADcAoAAbADcAof/JADcAov/vADcApf/0ADcApv/KADcAp/9jADcAqf+PADcAqv/RADcAq//2ADcArABhADcArf/RADcAsv/1ADcAs/9YADcAtP++ADcAtf/2ADcAtv/TADcAuP9YADcAuv9dADcAu/+vADcAvP/MADcAvf+JADcAwP/KADcAwv/KADcAxP/KADcAxf/JADcAyf/RADcA0f/PADcA0/91ADcA1f/lADcA2wAuADcA3f+ZADcA4//QADcA5/9mADcA6f9mADcA6gAYADcA7AAYADcA7gAYADcA8/++ADcA9/+oADcA+//0ADcBBgALADcBB//VADcBCAALADcBCf/DADcBCgALADcBC/+zADcBDAALADcBDf9QADcBDgAaADcBD/9OADcBKQAaADcBMAAQADcBMf+1ADcBMwATADcBNP+1ADgABQAcADgACgANADgADABPADgAD/+lADgAEf+nADgAHf/MADgAHv/EADgAJP+oADgAJv/xADgAKv/qADgAMv/sADgANP/qADgANv/0ADgANwAXADgAPAAaADgAQABYADgARP+uADgARf/NADgARv/VADgAR//NADgASP/PADgASf/OADgASv/UADgAS//SADgATP/SADgATf/VADgATv/NADgAT//OADgAUP/MADgAUf/eADgAUv/OADgAU//QADgAVP/UADgAVf/OADgAVv/MADgAV//sADgAWP/kADgAWf/uADgAWv/kADgAW//XADgAXP/xADgAXf/OADgAYAAqADgAgP+oADgAgf+oADgAgv+oADgAg/+oADgAhP+oADgAhf+oADgAhv/JADgAh//xADgAkv/sADgAk//sADgAlP/sADgAlf/sADgAlv/sADgAmP/sADgAn//MADgAoAAoADgApf/lADgApv+VADgAqf/PADgAqv/PADgArACKADgArf/cADgArwAOADgAsf/wADgAuP/OADgAuv/kADgAvP/uADgAwP+oADgAwv+oADgAxP+oADgAxv/xADgAx//VADgAyP/xADgAyf/nADgAy//yADgAzf/NADgA2P/qADgA2f/UADgA4f/NADgA5f/OADgA5//OADgA6f/OADgA7//pADgA8v/sADgA/P/0ADgA/f/MADgBAP/0ADgBBAAXADgBBf/2ADgBFP/OADgBFv/aADgBGP/tADgBMAAZADgBMf+lADgBMwAcADgBNP+lADkABQA5ADkACgA4ADkADABxADkAD/+QADkAEf+PADkAHf+5ADkAHv+2ADkAJP+cADkAJv/zADkAKv/oADkAMv/rADkANP/nADkANwAnADkAPAAnADkAQACDADkARP99ADkARf+YADkARv+lADkAR/+6ADkASP+cADkASf/QADkASv+kADkAS//LADkATP/LADkATf/LADkATv/DADkAT/+XADkAUP/MADkAUf/MADkAUv+XADkAU//QADkAVP+qADkAVf/KADkAVv+UADkAV//NADkAWP/OADkAWf/cADkAWv/OADkAW//LADkAXP/jADkAXf/MADkAYABQADkAgP+cADkAgf+cADkAgv+cADkAg/+cADkAhP+cADkAhf+cADkAhv/LADkAkv/rADkAk//rADkAlP/rADkAlf/rADkAlv/rADkAmP/rADkAnQAnADkAoABRADkAof99ADkAov/cADkApf/3ADkApv9sADkAqf+rADkAqv/SADkArAC1ADkArf/LADkAsP/NADkAs/+XADkAtP/IADkAtf/tADkAtv/mADkAuP+jADkAuv/OADkAvP/tADkAvf/jADkAwP+cADkAwv+cADkAxP+cADkAxf99ADkAxv/zADkAyP/zADkAyf/uADkAz//1ADkA0f/RADkA1f/3ADkA3f/LADkA4//OADkA5/+XADkA6f+XADkA7//rADkA8v/rADkA8/+XADkA9//KADkBBAAnADkBBf/4ADkBCf/eADkBGP/1ADkBMAA6ADkBMf+QADkBMwA5ADkBNP+QADoABQA6ADoACgA5ADoADACFADoAD/+QADoAEf+QADoAHf++ADoAHv+6ADoAJP+gADoAJv/1ADoAKv/sADoAMv/vADoANP/rADoANwAmADoAPAAkADoAQACMADoARP97ADoARf+aADoARv+lADoAR//SADoASP+pADoASf/PADoASv+jADoAS//LADoATP/MADoATf/NADoATv/RADoAT/+YADoAUP/MADoAUf/OADoAUv+YADoAU//RADoAVP+pADoAVf/LADoAVv+YADoAV//VADoAWP/VADoAWf/mADoAWv/VADoAW//MADoAXP/rADoAXf/MADoAYABhADoAgP+gADoAgf+gADoAgv+gADoAhP+gADoAhf+gADoAhv/LADoAkv/vADoAk//vADoAlP/vADoAlf/vADoAlv/vADoAmP/vADoAoABVADoAof97ADoAov/kADoApv9tADoAqf+8ADoAqv/SADoArAC4ADoArf/MADoAs/+YADoAtP/QADoAtf/uADoAtv/qADoAuP+jADoAvP/zADoAxP+gADoAxf97ADoAxv/1ADoAx/+lADoAyP/1ADoAyf/zADoA0/+pADoA6f+YADoA/f/KADoBFv/MADoBMAA1ADoBMf+QADoBMwA5ADoBNP+QADsADAALADsAJv/jADsAKv/TADsAMv/aADsANP/TADsATf/0ADsAUv/yADsAV//MADsAWP/lADsAWf/LADsAWv/KADsAXP/XADsAkv/aADsAk//aADsAlP/aADsAlf/aADsAlv/aADsAmP/aADsAoAAOADsArAA4ADsAsv/4ADsAs//yADsAtP/yADsAuf/2ADsAuv/lADsAyP/jADsA8v/aADsBMQAKADwABQBQADwACgA4ADwADABqADwAD//UADwAEf/OADwAHf/NADwAHv/WADwAJP/UADwAJQAlADwAJwAiADwAKAAnADwAKQAmADwAKv/vADwAKwAgADwALAAnADwALQAmADwALgAjADwALwAkADwAMAAkADwAMQAiADwAMv/yADwAMwAmADwANP/uADwANQAjADwANwAyADwAOAAlADwAOgAUADwAOwAnADwAPAAiADwAQACVADwARP/aADwARf/YADwARv+bADwAR//PADwASP/dADwASf/SADwASv+dADwAS//NADwATP/MADwATf/GADwATv/PADwAT//dADwAUP/NADwAUf/MADwAUv+PADwAU//WADwAVP+aADwAVf/MADwAVv/RADwAV//CADwAWP/WADwAWf/QADwAWv/HADwAW//MADwAXP/NADwAXf/QADwAYABFADwAgP/UADwAgf/UADwAgv/UADwAg//UADwAhP/UADwAhf/UADwAhv/sADwAiAAnADwAiQAnADwAiwAnADwAjAAnADwAjQAnADwAjwAnADwAkAAiADwAkQAiADwAkv/yADwAk//yADwAlP/yADwAlv/yADwAmP/yADwAmQAlADwAmgAlADwAmwAlADwAnAAlADwAnQAiADwAngAhADwAoABpADwAof/jADwAqAAqADwAqf/VADwArADHADwAsP/PADwAs/+PADwAtP/NADwAtv/0ADwAuQAPADwAu//OADwAxP/UADwAygAiADwA0gAnADwA5gAkADwA6AAkADwA6gAiADwA7gAiADwA8v/yADwA+gAjADwBBAAyADwBCAAlADwBCgAlADwBKQAUADwBMABJADwBMf/UADwBMwBPADwBNP/UAD0ALf/2AD0ATf/4AD0AV//KAD0AWf/xAD0AWv/sAD0AXP/oAD0Avf/oAD0BBf/KAD4AKQAdAD4ALQFEAD4AMQA1AD4ANwAaAD4AOAAmAD4AOQBMAD4AOgA/AD4AOwAMAD4APAAuAD4ATQEkAD4AmQAmAD4AmgAmAD4AoAAnAD4ArAB8AEQABf/UAEQACv/iAEQADwAfAEQAHgAZAEQAJv/1AEQAKv/1AEQALf/KAEQAMv/4AEQANP/1AEQAN//JAEQAOP+0AEQAOf+OAEQAOv+QAEQAPP/OAEQATf/uAEQAUv/3AEQAV//UAEQAWP/kAEQAWf/RAEQAWv/QAEQAXP/ZAEQAsv/3AEQAs//3AEQAtP/3AEQAtf/3AEQAtv/3AEQAuP/3AEQAuf/kAEQAuv/kAEQAvP/kAEQAvf/ZAEQA8//3AEQBBf/UAEQBB//kAEQBCf/kAEQBC//kAEQBD//QAEQBMP/aAEQBMQAkAEQBM//UAEQBNAAfAEUALf/XAEUALv/xAEUAN/9dAEUAOP/TAEUAOf+pAEUAOv+tAEUAPP/JAEUATf/4AEUAWP/6AEUAWf/4AEUAWv/3AEUAXP/5AEUAuf/6AEUAuv/6AEUAu//6AEUAvP/6AEUAvf/5AEUBB//6AEUBCf/6AEUBC//6AEUBDf/6AEUBD//3AEYABf/2AEYALf/OAEYALv/0AEYAN//IAEYAOP/NAEYAOf/KAEYAOv/KAEYAPP/KAEYBM//2AEcAJf/pAEcAJ//sAEcAKP/0AEcAKf/oAEcAK//wAEcALP/yAEcALf/OAEcALv/hAEcAL//4AEcAMP/qAEcAMf/kAEcAM//zAEcANf/wAEcAN/9HAEcAOP/NAEcAOf+bAEcAOv+hAEcAO//pAEcAPP+AAEcAPf/uAEcARP/1AEcARf/1AEcAR//3AEcASP/1AEcASf/zAEcAS//1AEcATP/0AEcATf/yAEcATv/1AEcAT//0AEcAUP/1AEcAUf/zAEcAU//xAEcAVf/2AEcAWP/3AEcAWf/zAEcAWv/wAEcAW//xAEcAXP/qAEcAoP/1AEcAof/1AEcAov/1AEcAo//1AEcApP/1AEcApf/1AEcApv/qAEcAqP/1AEcAqf/1AEcAqv/1AEcAq//1AEcArP/0AEcArf/0AEcArv/0AEcAr//0AEcAsP/3AEcAuf/3AEcAuv/3AEcAu//3AEcAvP/3AEcAvf/qAEcAvv/0AEcAwf/1AEcAw//1AEcAxf/1AEcAy//3AEcAzf/3AEcAz//1AEcA0f/1AEcA0//1AEcA1f/1AEcA2//0AEcA4f/1AEcA4//0AEcA5//0AEcA6f/0AEcA7f/zAEcA7//zAEcA9//2AEcA+//2AEcBB//3AEcBCf/3AEcBC//3AEcBDf/3AEcBD//wAEgALf/PAEgALv/4AEgAN/+wAEgAOP/MAEgAOf+2AEgAOv/JAEgAPP/KAEkAD//nAEkAEf/pAEkAJP/4AEkAJf/mAEkAJ//mAEkAKP/fAEkAKf/cAEkAK//pAEkALP/lAEkALf/RAEkALv/lAEkAL//mAEkAMP/eAEkAMf/SAEkAM//nAEkANf/pAEkAN/9kAEkAOP/nAEkAOf/OAEkAOv/TAEkAO//LAEkAPP+6AEkARP/kAEkAVwAZAEkAXAAaAEkAoP/kAEkAof/kAEkAov/kAEkAo//kAEkApP/kAEkApf/kAEkApv/WAEkAvQAaAEkAwf/kAEkAw//kAEkAxf/kAEkBMf/nAEkBNP/nAEoALf/RAEoALv/0AEoAN/+pAEoAOP/TAEoAOf/KAEoAOv/KAEoAPP/KAEsALf/OAEsALv/xAEsAN/94AEsAOP/QAEsAOf/NAEsAOv/NAEsAPP/NAEsARv/6AEsASv/5AEsAUv/0AEsAVP/5AEsAXAAJAEsAp//6AEsAsv/0AEsAs//0AEsAtP/0AEsAtf/0AEsAtv/0AEsAuP/0AEsAvQAJAEsAx//6AEsAyf/6AEsA8//0AEwALf/QAEwAN//JAEwAOP/PAEwAOf/LAEwAOv/MAEwAPP/MAEwARv/6AEwAUv/0AEwAVP/5AEwAXAAPAEwAp//6AEwAsv/0AEwAs//0AEwAtP/0AEwAtf/0AEwAtv/0AEwAuP/0AEwAx//6AEwAyf/6AEwA8//0AE0AEf/2AE0AJf/qAE0AJ//qAE0AKP/1AE0AKf/pAE0AK//wAE0ALP/yAE0ALf/KAE0ALv/bAE0AMP/pAE0AMf/gAE0AM//zAE0ANf/vAE0AN/9jAE0AOP/SAE0AOf/PAE0AOv/QAE0AO//zAE0APP+uAE0ARP/2AE0ARv/4AE0ASv/2AE0AT//3AE0AUv/xAE0AVP/2AE0AXAARAE0AoP/2AE0Aof/2AE0Aov/2AE0Ao//2AE0ApP/2AE0Apf/2AE0Apv/2AE0Ap//4AE0Asv/xAE0As//xAE0AtP/xAE0Atf/xAE0Atv/xAE0AuP/xAE0AvQARAE0Awf/2AE0Aw//2AE0Axf/2AE0Ax//4AE0Ayf/4AE0A5//3AE0A6f/3AE0A8//xAE4ADwARAE4ALf/gAE4AN/+9AE4AOP/WAE4AOf/MAE4AOv/MAE4APP/OAE4AUv/yAE4AVP/6AE4AXAAMAE4Asv/yAE4As//yAE4AtP/yAE4Atf/yAE4Atv/yAE4AuP/yAE4AvQAMAE4A8//yAE4BMQAYAE4BNAARAE8ABf+0AE8ACv+6AE8AJAAhAE8AJv/4AE8AKv/2AE8ALf/KAE8AMv/4AE8ANP/3AE8AN/+uAE8AOP+8AE8AOf9GAE8AOv9KAE8APP/LAE8ARAANAE8ATf/tAE8AV//SAE8AWP/xAE8AWf/SAE8AWv/SAE8AXP/VAE8Ad/8wAE8AoAANAE8AoQANAE8AogANAE8AowANAE8ApAANAE8ApQANAE8ApgASAE8Auf/xAE8Auv/xAE8Au//xAE8AvP/xAE8Avf/VAE8AwQANAE8AwwANAE8AxQANAE8BBf/SAE8BB//xAE8BCf/xAE8BC//xAE8BDf/xAE8BD//SAE8BKv/SAE8BMP+0AE8BM/+0AFAADwATAFAAHgAQAFAALf/XAFAAN//LAFAAOP/NAFAAOf/LAFAAOv/LAFAAPP/OAFAAUv/1AFAAVP/6AFAAsv/1AFAAs//1AFAAtP/1AFAAtf/1AFAAtv/1AFAAuP/1AFAA8//1AFABMQAYAFABNAATAFEAJf/yAFEAJ//yAFEAKf/xAFEAK//2AFEALP/2AFEALf/MAFEALv/lAFEAMP/wAFEAMf/qAFEAM//4AFEANf/1AFEAN/90AFEAOP/RAFEAOf/OAFEAOv/PAFEAPP/LAFEARP/6AFEARv/4AFEASv/2AFEAT//6AFEAUv/yAFEAVP/3AFEAXAATAFEAoP/6AFEAof/6AFEAov/6AFEAo//6AFEApP/6AFEApf/6AFEAp//4AFEAsv/yAFEAs//yAFEAtP/yAFEAtf/yAFEAtv/yAFEAuP/yAFEAvQATAFEAwf/6AFEAw//6AFEAxf/6AFEAx//4AFEAyf/4AFEA2f/2AFEA5//6AFEA6f/6AFEA8//yAFEA9f/3AFIAJf/qAFIAJ//sAFIAKP/0AFIAKf/oAFIAK//wAFIALP/zAFIALf/VAFIALv/hAFIAL//3AFIAMP/qAFIAMf/kAFIAM//zAFIANf/wAFIAN/9SAFIAOP/UAFIAOf+mAFIAOv+rAFIAO//rAFIAPP+NAFIAPf/xAFIARP/1AFIARf/2AFIAR//3AFIASP/1AFIASf/1AFIAS//4AFIATP/3AFIATf/2AFIATv/3AFIAT//0AFIAUP/2AFIAUf/3AFIAU//zAFIAVf/4AFIAWP/5AFIAWf/4AFIAWv/2AFIAW//2AFIAXP/2AFIAoP/1AFIAof/1AFIAov/1AFIAo//1AFIApP/1AFIApf/1AFIApv/sAFIAqP/1AFIAqf/1AFIAqv/1AFIAq//1AFIArP/3AFIArf/3AFIArv/3AFIAr//3AFIAsP/3AFIAsf/3AFIAuf/5AFIAuv/5AFIAu//5AFIAvP/5AFIAvf/2AFIAvv/3AFIAwf/1AFIAw//1AFIAxf/1AFIAy//3AFIAzf/3AFIAz//1AFIA0f/1AFIA0//1AFIA2//3AFIA3f/3AFIA4f/3AFIA4//0AFIA5f/0AFIA5//0AFIA6f/0AFIA6//3AFIA7f/3AFIA7//3AFIA+//4AFIBB//5AFIBCf/5AFMAD//AAFMAEf+8AFMAJP/1AFMAJf/fAFMAJ//dAFMAKP/aAFMAKf/UAFMAK//iAFMALP/eAFMALf/FAFMALv/cAFMAL//fAFMAMP/XAFMAMf/OAFMAM//hAFMANf/kAFMAN/8+AFMAOP/fAFMAOf/LAFMAOv/LAFMAO//KAFMAPP9jAFMAPf/qAFMARP/YAFMAT//6AFMAVwAbAFMAoP/YAFMAof/YAFMAov/YAFMAo//YAFMApP/YAFMApf/YAFMApv/TAFMAwf/YAFMAw//YAFMAxf/YAFMA4//6AFMA5f/6AFMA5//6AFMA6f/6AFMBBQAbAFMBMf/AAFMBNP/AAFQADAQrAFQAJf/qAFQAJ//rAFQAKP/0AFQAKf/nAFQAK//wAFQALP/yAFQALf/YAFQALv/jAFQAL//4AFQAMP/qAFQAMf/kAFQAM//yAFQANf/wAFQAN/9XAFQAOP/WAFQAOf+xAFQAOv+0AFQAO//uAFQAPP+SAFQAPf/yAFQARP/2AFQARf/3AFQAR//4AFQASP/2AFQASf/2AFQAS//5AFQATP/4AFQATf/2AFQATv/4AFQAT//3AFQAUP/3AFQAUf/4AFQAU//zAFQAVf/5AFQAWP/6AFQAWf/5AFQAWv/3AFQAW//5AFQAXP/4AFQAYAOZAFQAoP/2AFQApP/2AFQAqf/2AFQAq//2AFQArf/4AFQAuf/6AFQAuv/6AFQAu//6AFQAvP/6AFQA6f/3AFUABf/pAFUACv/zAFUADwAxAFUAEQAiAFUAHQAPAFUAHgAgAFUAKAAOAFUAKwAIAFUALAAJAFUALf/bAFUALwARAFUAMwAIAFUAN//KAFUAOP+zAFUAOf+IAFUAOv+LAFUAOwARAFUAPP/YAFUATf/6AFUAUv/3AFUAV//xAFUAWP/zAFUAWf/gAFUAWv/dAFUAXP/zAFUAsv/3AFUAs//3AFUAtP/3AFUAtf/3AFUAtv/3AFUAuP/3AFUAuf/zAFUAuv/zAFUAu//zAFUAvP/zAFUAvf/zAFUA8//3AFUBBf/xAFUBB//zAFUBCf/zAFUBC//zAFUBDf/zAFUBD//dAFUBMP/sAFUBMQAxAFUBM//pAFUBNAAxAFYALf/TAFYALv/xAFYAMf/3AFYAN/+mAFYAOP/RAFYAOf/KAFYAOv/KAFYAPP/KAFcAD//VAFcAEf/OAFcAJf/jAFcAJ//kAFcAKP/iAFcAKf/cAFcAK//pAFcALP/lAFcALf/GAFcALv/hAFcAL//oAFcAMP/cAFcAMf/PAFcAM//nAFcANf/oAFcAN/9tAFcAOP/iAFcAOf/MAFcAOv/OAFcAO//MAFcAPP+4AFcAPf/3AFcARP/eAFcASv/6AFcAUv/5AFcAVwAXAFcAWAAJAFcAWQAXAFcAWgATAFcAXAAaAFcAoP/eAFcAof/eAFcAov/eAFcAo//eAFcApP/eAFcApf/eAFcApv/WAFcAsv/5AFcAs//5AFcAtP/5AFcAtf/5AFcAtv/5AFcAuP/5AFcAuQAJAFcAugAJAFcAuwAJAFcAvAAJAFcAvQAaAFcAwf/eAFcAw//eAFcAxf/eAFcA2f/6AFcA8//5AFcBBwAJAFcBCQAJAFcBCwAJAFcBDQAJAFcBDwATAFcBKgATAFcBMf/VAFcBNP/VAFgAD//uAFgAEf/wAFgAJf/sAFgAJ//uAFgAKP/sAFgAKf/nAFgAK//xAFgALP/vAFgALf/UAFgALv/qAFgAL//yAFgAMP/lAFgAMf/aAFgAM//xAFgANf/wAFgAN/+rAFgAOP/sAFgAOf/cAFgAOv/hAFgAO//OAFgAPP/KAFgARP/iAFgAUv/5AFgAVwAYAFgAXAAbAFgAoP/iAFgAof/iAFgAov/iAFgAo//iAFgApP/iAFgApf/iAFgApv/ZAFgAsv/5AFgAs//5AFgAtP/5AFgAtf/5AFgAtv/5AFgAuP/5AFgAwf/iAFgAw//iAFgAxf/iAFgA8//5AFgBBQAYAFgBMf/uAFgBNP/uAFkACgAhAFkAD//KAFkAEf/MAFkAJP/lAFkAJf/qAFkAJ//vAFkAKP/bAFkAKf/mAFkAK//rAFkALP/lAFkALf/eAFkALv/vAFkAL//hAFkAMP/ZAFkAMf/QAFkAM//vAFkANf/vAFkAN/+oAFkAOP/1AFkAOf/oAFkAOv/sAFkAO//KAFkAPP/KAFkARP/TAFkASv/4AFkAUv/2AFkAVwAbAFkAXAATAFkAoP/TAFkAof/TAFkAov/TAFkAo//TAFkApP/TAFkApf/TAFkApv/SAFkAsv/2AFkAs//2AFkAtP/2AFkAtf/2AFkAtv/2AFkAuP/2AFkAvQATAFkAwf/TAFkAw//TAFkAxf/TAFkA8//2AFkBBQAbAFkBMf/KAFkBNP/KAFoABQAVAFoACgArAFoAD//IAFoAEf/KAFoAJP/dAFoAJf/qAFoAJgARAFoAJ//xAFoAKP/WAFoAKf/nAFoAKgAQAFoAK//rAFoALP/lAFoALf/jAFoALv/xAFoAL//WAFoAMP/WAFoAMf/QAFoAMgAQAFoAM//uAFoANAARAFoANf/wAFoAN/+1AFoAOP/3AFoAOf/sAFoAOv/wAFoAO/+9AFoAPP/LAFoARP/TAFoASv/5AFoAUv/4AFoAVwAZAFoAXAAMAFoAoP/TAFoAof/TAFoAov/TAFoApP/TAFoApf/TAFoApv/SAFoAsv/4AFoAs//4AFoAtP/4AFoAtf/4AFoAtv/4AFoAuP/4AFoAxf/TAFoBMAAYAFoBMf/IAFoBMwATAFoBNP/IAFsALf/YAFsAN/+4AFsAOP/ZAFsAOf/LAFsAOv/NAFsAPP/MAFsARv/6AFsASv/6AFsAUv/xAFsAVP/5AFsAXAAUAFsAsv/xAFsAs//xAFsAtP/xAFsAtf/xAFsAtv/xAFsAuP/xAFsAvQAUAFsAyf/6AFsA8//xAFwACgAUAFwAD//nAFwAEf/kAFwAJf/sAFwAJ//wAFwAKP/kAFwAKf/rAFwAK//uAFwALP/qAFwALf/VAFwALv/tAFwAL//nAFwAMP/eAFwAMf/VAFwAM//yAFwANAAJAFwANf/yAFwAN/9vAFwAOP/uAFwAOf/bAFwAOv/jAFwAO//RAFwAPP/JAFwAPf/1AFwARP/gAFwARv/5AFwASv/xAFwASwAPAFwATAAPAFwATQATAFwAUQAVAFwAUv/tAFwAVP/4AFwAVQAKAFwAVwAbAFwAWAAYAFwAWQAbAFwAWgAbAFwAWwATAFwAXAAaAFwAoP/gAFwAof/gAFwAov/gAFwAo//gAFwApP/gAFwApf/gAFwApv/bAFwAp//5AFwArAAPAFwArQAPAFwArwAPAFwAsQAVAFwAsv/tAFwAs//tAFwAtP/tAFwAtv/tAFwAuP/tAFwAuQAYAFwAugAYAFwAuwAYAFwAvAAYAFwAvQAaAFwAvgAQAFwAxf/gAFwAx//5AFwAyf/5AFwA6wAVAFwA7wAVAFwA8//tAFwA+wAKAFwBBQAbAFwBCQAYAFwBCwAYAFwBKgAbAFwBMf/nAFwBNP/nAF0ALf/SAF0AN/+oAF0AOP/OAF0AOf/KAF0AOv/LAF0APP/MAF4ALQDmAF4AMQASAF4AOQAuAF4AOgAlAF4APAAYAF4ATQCBAF4AoAAZAF4ArABBAHcAL/+6AIAABf/JAIAACv/YAIAADwA3AIAAEQAuAIAAHQAkAIAAHgA0AIAAJv/nAIAAKv/kAIAALf/XAIAAMv/oAIAANP/kAIAAN//KAIAAOP+wAIAAOf+kAIAAOv+lAIAAPP/jAIAAV//4AIAAWf/rAIAAWv/oAIAAlf/oAIABMP/QAIABMQA3AIABM//JAIABNAA3AIEABf/JAIEACv/YAIEADwA3AIEAEQAuAIEAHQAkAIEAHgA0AIEAJv/nAIEAKv/kAIEALf/XAIEAMv/oAIEANP/kAIEAN//KAIEAOP+wAIEAOf+kAIEAOv+lAIEAPP/jAIEAV//4AIEAWf/rAIEAh//nAIEAk//oAIEAlv/oAIEAmP/oAIEAmv+wAIEAnP+wAIEAnf/jAIEAyP/nAIEA8v/oAIEBBP/KAIEBMP/QAIEBMQA3AIEBM//JAIEBNAA3AIIAJv/nAIIAKv/kAIIALf/XAIIAMv/oAIIANP/kAIIAN//KAIIAOP+wAIIAOf+kAIIAV//4AIIBAv/KAIMAJv/nAIMAKv/kAIMAMv/oAIMAN//KAIMAk//oAIQAJv/nAIQAKv/kAIQALf/XAIQAMv/oAIQANP/kAIQAN//KAIQAOP+wAIQAOf+kAIQAOv+lAIQAPP/jAIQAV//4AIQAWf/rAIQAWv/oAIQAlv/oAIQAyP/nAIQBBP/KAIUAJv/nAIUAKv/kAIUALf/XAIUAMv/oAIUAN//KAIUAOP+wAIUAOf+kAIUAPP/jAIUAV//4AIUAWf/rAIUAlv/oAIUAmP/oAIYALf/sAIYAOP/uAIYAOv/0AIYAPP/vAIYAV//0AIcAJP/2AIcAgP/2AIcAgf/2AIcAgv/2AIcAg//2AIgABf/uAIgACv/rAIgALf/mAIgAOP/oAIgAOf/xAIgAOv/vAIgAPP/oAIgAV//kAIgAWf/2AIgAWv/zAIgAXP/3AIgBMP/uAIgBM//vAIkABf/uAIkACv/rAIkALf/mAIkAOP/oAIkAOf/xAIkAOv/vAIkAPP/oAIkAV//kAIkAWf/2AIkAWv/zAIkAXP/3AIkAmv/oAIkAnP/oAIkBCP/oAIkBMP/uAIkBM//vAIoALf/mAIoAOP/oAIoAOf/xAIoAOv/vAIoAV//kAIsALf/mAIsAOP/oAIsAOf/xAIsAOv/vAIsAPP/oAIwADAAOAIwAJv/uAIwAKv/oAIwAMv/rAIwANP/pAIwAQAASAIwARv/4AIwATf/vAIwAUv/zAIwAVP/3AIwAV//mAIwAWP/uAIwAWf/kAIwAWv/aAIwAXP/xAI0ADAAOAI0AJv/uAI0AKv/oAI0AMv/rAI0ANP/pAI0AQAASAI0ARv/4AI0ATf/vAI0AUv/zAI0AV//mAI0AWf/kAI0Ah//uAI0Ak//rAI0Alv/rAI0AmP/rAI0AyP/uAI0Ayf/4AI4AJv/uAI4AKv/oAI4AMv/rAI4AV//mAI4BA//mAI8AJv/uAI8AKv/oAI8AMv/rAI8ANP/pAI8AUv/zAI8Ak//rAJAAJP/XAJAAJf/mAJAAJ//nAJAAKP/oAJAAKf/mAJAAK//oAJAALP/rAJAALf/gAJAALv/sAJAAL//mAJAAMP/vAJAAMf/gAJAAM//qAJAANf/kAJAAOP/pAJAAOf/nAJAAPP/BAJAARP/yAJAAgf/XAJAAhf/XAJAAhv/oAJAAjf/rAJAAmv/pAJAAnf/BAJAAnv/jAJAApf/yAJEAJP/YAJEAKv/kAJEAMv/mAJEANv/tAJEARP/UAJEASP/UAJEAUv/UAJEAWP/gAJEAgf/YAJEAkv/mAJEAk//mAJEAof/UAJEAuv/gAJIAD//QAJIAEf/TAJIAJP/VAJIAJf/oAJIAJ//qAJIAKP/qAJIAKf/oAJIAK//pAJIALP/sAJIALf/hAJIALv/uAJIAL//nAJIAMP/vAJIAMf/lAJIAM//rAJIANf/oAJIAOP/rAJIAOf/qAJIAOv/rAJIAO//bAJIAPP/GAJIARP/yAJIAVwAXAJIAXAAQAJIBMf/QAJIBNP/QAJMAD//QAJMAEf/TAJMAJP/VAJMAJf/oAJMAJ//qAJMAKP/qAJMAKf/oAJMAK//pAJMALP/sAJMALf/hAJMALv/uAJMAL//nAJMAMP/vAJMAMf/lAJMAM//rAJMANf/oAJMAOP/rAJMAOf/qAJMAOv/rAJMAO//bAJMAPP/GAJMARP/yAJMAVwAXAJMAXAAQAJMAgf/VAJMAhv/lAJMAif/qAJMAjf/sAJMAkP/qAJMAkf/lAJMAmv/rAJMAnP/rAJMAnv/mAJMAof/yAJMApv/kAJMAzP/qAJMA6P/nAJMBCv/rAJMBMf/QAJMBNP/QAJQAJP/VAJQAJf/oAJQAJ//qAJQAKP/qAJQAKf/oAJQAK//pAJQALP/sAJQALf/hAJQALv/uAJQAL//nAJQAMP/vAJQAMf/lAJQAM//rAJQANf/oAJQAOf/qAJQAO//bAJQAPP/GAJQAVwAXAJQA5v/nAJQA7v/lAJUAJP/VAJUAJf/oAJUAJ//qAJUAKP/qAJUAK//pAJUALP/sAJUALf/hAJUALv/uAJUAL//nAJUAMP/vAJUAMf/lAJUAM//rAJUANf/oAJUAOP/rAJUAOf/qAJUAOv/rAJUARP/yAJUAVwAXAJUAjf/sAJYAJP/VAJYAJf/oAJYAJ//qAJYAKP/qAJYAKf/oAJYAK//pAJYALP/sAJYALf/hAJYALv/uAJYAL//nAJYAMP/vAJYAMf/lAJYAM//rAJYANf/oAJYAOP/rAJYAOf/qAJYAOv/rAJYAO//bAJYAPP/GAJYARP/yAJYAVwAXAJYAXAAQAJYAhP/VAJYAhf/VAJYAkP/qAJYAnv/mAJgAJP/VAJgAJf/oAJgAJ//qAJgAKP/qAJgAKf/oAJgAK//pAJgALP/sAJgALf/hAJgALv/uAJgAL//nAJgAMP/vAJgAMf/lAJgAM//rAJgANf/oAJgAOP/rAJgAOf/qAJgAOv/rAJgAO//bAJgAPP/GAJgARP/yAJgAVwAXAJgAXAAQAJgAhf/VAJgAkP/qAJgAzP/qAJkABQAcAJkACgANAJkADABPAJkAD/+lAJkAEf+nAJkAHf/MAJkAHv/EAJkAJP+oAJkAJv/xAJkAKv/qAJkAMv/sAJkANP/qAJkANv/0AJkANwAXAJkAPAAaAJkAQABYAJkARP+uAJkARf/NAJkARv/VAJkAR//NAJkASP/PAJkASf/OAJkASv/UAJkAS//SAJkATP/SAJkATf/VAJkATv/NAJkAT//OAJkAUP/MAJkAUf/eAJkAUv/OAJkAU//QAJkAVP/UAJkAVf/OAJkAVv/MAJkAV//sAJkAWP/kAJkAWf/uAJkAWv/kAJkAW//XAJkAXP/xAJkAXf/OAJkAYAAqAJkBMAAZAJkBMf+lAJkBMwAcAJkBNP+lAJoABQAcAJoACgANAJoADABPAJoAD/+lAJoAEf+nAJoAHf/MAJoAHv/EAJoAJP+oAJoAJv/xAJoAKv/qAJoAMv/sAJoANP/qAJoANv/0AJoANwAXAJoAPAAaAJoAQABYAJoARP+uAJoARf/NAJoARv/VAJoAR//NAJoASP/PAJoASf/OAJoASv/UAJoAS//SAJoATP/SAJoATf/VAJoATv/NAJoAT//OAJoAUP/MAJoAUf/eAJoAU//QAJoAVf/OAJoAVv/MAJoAV//sAJoAWf/uAJoAXf/OAJoAYAAqAJoAgf+oAJoAh//xAJoAk//sAJoAsP/NAJoAvv/XAJoAyP/xAJoAyf/nAJoA5//OAJoBAP/0AJoBBAAXAJoBGP/tAJoBMAAZAJoBMf+lAJoBMwAcAJoBNP+lAJsAJv/xAJsAKv/qAJsANv/0AJsANwAXAJsAPAAaAJwAJP+oAJwAJv/xAJwAKv/qAJwAMv/sAJwANP/qAJwANv/0AJwANwAXAJwAPAAaAJwARf/NAJwARv/VAJwAR//NAJwASP/PAJwASf/OAJwASv/UAJwAS//SAJwATP/SAJwATv/NAJwAT//OAJwAUP/MAJwAUf/eAJwAU//QAJwAVf/OAJwAVv/MAJwAV//sAJwAWf/uAJwAW//XAJwAXf/OAJwAgf+oAJwAhP+oAJwAkv/sAJwAlv/sAJwAn//MAJwAvP/uAJwBAP/0AJ0AJP/UAJ0AJQAlAJ0AJwAiAJ0AKAAnAJ0AKQAmAJ0AKv/vAJ0AKwAgAJ0ALAAnAJ0ALQAmAJ0ALgAjAJ0ALwAkAJ0AMAAkAJ0AMQAiAJ0AMv/yAJ0AMwAmAJ0ANQAjAJ0ANwAyAJ0AOAAlAJ0APAAiAJ0ASf/SAJ0ASv+dAJ0ATf/GAJ0ATv/PAJ0AT//dAJ0AUP/NAJ0AU//WAJ0AVf/MAJ0AVv/RAJ0AV//CAJ0Agf/UAJ0AjQAnAJ0AkAAiAJ0Ak//yAJ0Alv/yAJ0AmgAlAJ0AngAhAJ0AzAAiAJ0A5gAkAJ0A7gAiAJ0A+gAjAJ0BBAAyAJ4AJP/KAJ4AKP/YAJ4ALP/iAJ4ALf/ZAJ4AL//YAJ4AMP/mAJ4ANf/hAJ4AOP/vAJ4AOf/qAJ4APP/KAJ4ARP/hAJ4AWQAdAJ4AXAAjAJ4Agf/KAJ4Ahv/KAJ4Aif/YAJ4Ajf/iAJ4Amv/vAJ4Anf/KAJ4Aof/hAJ4Apv/RAJ4AvQAjAKAABf/UAKAACv/iAKAADwAfAKAAHgAZAKAATf/uAKAAUv/3AKAAV//UAKAAWP/kAKAAWf/RAKAAWv/QAKAAXP/ZAKAAtf/3AKABMP/aAKABMQAkAKABM//UAKABNAAfAKEADwAfAKEAHgAZAKEAQAAKAKEATf/uAKEAUv/3AKEAV//UAKEAWP/kAKEAWf/RAKEAWv/QAKEAXP/ZAKEAs//3AKEAtv/3AKEAuP/3AKEAuv/kAKEAvP/kAKEAvf/ZAKEA8//3AKEBBf/UAKEBMQAkAKEBNAAfAKIACv/iAKIATf/uAKIAUv/3AKIAV//UAKIAWP/kAKIAWf/RAKIBA//UAKMAUv/3AKMAV//UAKMAs//3AKQATf/uAKQAUv/3AKQAV//UAKQAWP/kAKQAWf/RAKQAWv/QAKQAXP/ZAKQAtv/3AKQBBf/UAKUATf/uAKUAUv/3AKUAV//UAKUAWP/kAKUAWf/RAKUAXP/ZAKUAtv/3AKUAuP/3AKkAQAAKAKwARv/6AKwAUv/0AKwAVP/5AKwAXAAPAK0ABQA0AK0ACgApAK0ADABOAK0AQABwAK0ARv/6AK0AUv/0AK0AVP/5AK0AYAAvAK0Ap//6AK0As//0AK0Atv/0AK0AuP/0AK0Ayf/6AK0BMAAzAK0BMwA0AK4ARv/6AK4AUv/0AK8ARv/6AK8AUv/0AK8AVP/5AK8AXAAPAK8As//0ALAARP/1ALAARf/1ALAAR//3ALAASP/1ALAASf/zALAAS//1ALAATP/0ALAATf/yALAATv/1ALAAT//0ALAAUP/1ALAAUf/zALAAU//xALAAVf/2ALAAWP/3ALAAWf/zALAAXP/qALAAof/1ALAApf/1ALAApv/qALAArf/0ALAAuv/3ALAAvf/qALAAvv/0ALEARP/6ALEASv/2ALEAUv/yALEAXAATALEAof/6ALEAsv/yALEAs//yALIARP/1ALIARf/2ALIAR//3ALIASP/1ALIASf/1ALIAS//4ALIATP/3ALIATf/2ALIATv/3ALIAT//0ALIAUP/2ALIAUf/3ALIAU//zALIAVf/4ALIAWP/5ALIAWf/4ALIAWv/2ALIAW//2ALIAXP/2ALMARP/1ALMARf/2ALMAR//3ALMASP/1ALMASf/1ALMAS//4ALMATP/3ALMATf/2ALMATv/3ALMAT//0ALMAUP/2ALMAUf/3ALMAU//zALMAVf/4ALMAWP/5ALMAWf/4ALMAWv/2ALMAW//2ALMAXP/2ALMAof/1ALMApv/sALMAqf/1ALMArf/3ALMAsP/3ALMAsf/3ALMAuv/5ALMAvP/5ALMAvv/3ALMAzf/3ALMA6f/0ALMBC//5ALQARP/1ALQARf/2ALQAR//3ALQASP/1ALQASf/1ALQAS//4ALQATP/3ALQATf/2ALQATv/3ALQAT//0ALQAUP/2ALQAUf/3ALQAU//zALQAVf/4ALQAWf/4ALQAW//2ALQAXP/2ALQA5//0ALQA7//3ALUARP/1ALUARf/2ALUAR//3ALUASP/1ALUAS//4ALUATP/3ALUATf/2ALUATv/3ALUAT//0ALUAUP/2ALUAUf/3ALUAU//zALUAVf/4ALUAWP/5ALUAWf/4ALUAWv/2ALUArf/3ALYARP/1ALYARf/2ALYAR//3ALYASP/1ALYASf/1ALYAS//4ALYATP/3ALYATf/2ALYATv/3ALYAT//0ALYAUP/2ALYAUf/3ALYAU//zALYAVf/4ALYAWP/5ALYAWf/4ALYAWv/2ALYAW//2ALYAXP/2ALYApP/1ALYApf/1ALYAsP/3ALYAvv/3ALgARP/1ALgARf/2ALgAR//3ALgASP/1ALgASf/1ALgAS//4ALgATP/3ALgATf/2ALgATv/3ALgAT//0ALgAUP/2ALgAUf/3ALgAU//zALgAVf/4ALgAWP/5ALgAWf/4ALgAWv/2ALgAW//2ALgAXP/2ALgApf/1ALgAsP/3ALgAzf/3ALkAD//uALkAEf/wALkARP/iALkAUv/5ALkAVwAYALkAXAAbALkBMf/uALkBNP/uALoAD//uALoAEf/wALoARP/iALoAUv/5ALoAVwAYALoAXAAbALoAof/iALoAs//5ALoBBQAYALoBMf/uALoBNP/uALsAVwAYALsAXAAbALwARP/iALwAUv/5ALwAVwAYALwAXAAbALwAof/iALwApP/iALwAsv/5ALwAtv/5AL0ARP/gAL0ARv/5AL0ASv/xAL0ASwAPAL0ATAAPAL0ATQATAL0AUQAVAL0AUv/tAL0AVQAKAL0AVwAbAL0AWAAYAL0AWQAbAL0AXAAaAL0Aof/gAL0ArQAPAL0As//tAL0Atv/tAL0AugAYAL0AvgAQAL0Ayf/5AL0A7wAVAL0A+wAKAL0BBQAbAL4ARP/vAL4ASP/1AL4ATP/yAL4ATf/0AL4AT//1AL4AUP/wAL4AVf/0AL4AWP/5AL4AWf/xAL4AXP/dAL4Aof/vAL4Apv/YAL4Aqf/1AL4Arf/yAL4Auv/5AL4Avf/dAMAAJv/nAMAAKv/kAMAALf/XAMAAMv/oAMAAN//KAMAAOP+wAMAAOf+kAMAAV//4AMAAWf/rAMAAyP/nAMAA2P/kAMABBv+wAMEATf/uAMEAUv/3AMEAV//UAMEAWP/kAMEAWf/RAMEBB//kAMIAJv/nAMIAKv/kAMIALf/XAMIAMv/oAMIAN//KAMIAOP+wAMIAOf+kAMIBAv/KAMMATf/uAMMAUv/3AMMAV//UAMMAWP/kAMMAWf/RAMMBA//UAMQAJv/nAMQAKv/kAMQALf/XAMQAN//KAMQAOf+kAMQAOv+lAMQAxv/nAMUATf/uAMUAV//UAMUAWf/RAMUAWv/QAMYAJP/2AMgAJP/2AMgAV//ZAMgAXf/3AMgAgf/2AMgAwP/2AMoAJP/XAMoAK//oAMoALv/sAMoAMP/vAMoAMf/gAMoANf/kAMoAOP/pAMoAOf/nAMoARP/yAMoAgf/XAMoAmv/pAMoAof/yAMoBCP/pAMsARP/1AMsAS//1AMsATv/1AMsAUP/1AMsAUf/zAMsAVf/2AMsAWP/3AMsAWf/zAMsAof/1AMsAuv/3AMsBCf/3AMwAJP/XAMwAKP/oAMwAKf/mAMwALP/rAMwALf/gAMwALv/sAMwAL//mAMwAMP/vAMwAMf/gAMwAOP/pAMwARP/yAM0ARP/1AM0ASP/1AM0ASf/zAM0ATP/0AM0ATf/yAM0ATv/1AM0AT//0AM0AUP/1AM0AUf/zAM0AWP/3AM4ALf/mAM4AOf/xAM4AV//kAM4AWf/2ANAALf/mANAAOf/xANIALf/mANIAOv/vANQALf/mANQAOf/xANQAOv/vANQAmv/oANgAJP/0ANgAJf/zANgALv/zANgAL//2ANgAMP/2ANgAMf/0ANgAOP/xANgAOf/wANgAPf/sANgAwP/0ANoAJv/uANoAKv/oANoAWf/kANoAyP/uANoA2P/oANsARv/6ANsAyf/6ANwAJv/uANwAKv/oANwARv/4ANwATf/vANwAV//mANwAWf/kANwAyP/uANwAyf/4AN0ARv/6AN0Ayf/6AOAAJv/eAOAAKv/UAOAAMv/bAOAAN//zAOAAOP/jAOAAOf/0AOAAWP/2AOABBv/jAOABB//2AOEAUv/yAOIALv/xAOIAMf/wAOIAN/+pAOIAOP/KAOIA7v/wAOMARAANAOMAV//SAOMAWP/xAOQAKf/1AOQALf/SAOQALv/xAOQAMf/wAOQAN/+pAOQAOP/KAOQAOf/HAOQAUgAbAOQA4P/xAOQA7P/wAOQBBv/KAOUARAANAOUATf/tAOUAV//SAOUAWP/xAOUAWf/SAOUAwQANAOUBB//xAOYAKf/1AOYALf/SAOYALv/xAOYAMf/wAOYAN/+pAOYAOP/KAOYAOf/HAOYAmv/KAOYA7v/wAOYBCP/KAOcARAANAOcASwAWAOcATAATAOcATQA0AOcAUQAxAOcAVQANAOcAVwA2AOcAWABKAOcAWQBiAOcAoQANAOcAugBKAOcA7wAxAOcBCQBKAOgAKf/1AOgALf/SAOgALv/xAOgAMf/wAOgAN/+pAOgAOP/KAOgAOv/IAOgAPP/IAOgASgAYAOgAUgAbAOgAXP/zAOgAswAbAOkARAANAOkATf/tAOkAV//SAOkAWP/xAOkAWv/SAOkAXP/VAOkAxQANAOoAJP/YAOoAJv/qAOoAKv/kAOoAMv/mAOoANv/tAOoAxP/YAOoBFf/2AOsARP/6AOsARv/4AOsASv/2AOsAUv/yAOsAxf/6AOwAJP/YAOwAJv/qAOwAKv/kAOwAMv/mAOwANv/tAOwAPf/2AOwARP/UAOwASP/UAOwATP/fAOwAWP/gAOwAwP/YAOwAyP/qAOwAz//UAOwA2P/kAOwBAP/tAOwBB//gAO0ARP/6AO0ARv/4AO0ASv/2AO0AT//6AO0AUv/yAO0Awf/6AO0Ayf/4AO0A2f/2AO4AJP/YAO4AMv/mAO4ANv/tAO4ARP/UAO4AUv/UAO4AWP/gAO4Agf/YAO4Ak//mAO4Aof/UAO4Auv/gAO4AyP/qAO4BAP/tAO4BF//2AO8ARP/6AO8AUv/yAO8AXAATAO8Aof/6AO8As//yAO8Ayf/4APIAJP/VAPIAJf/oAPIAJ//qAPIAKP/qAPIAKf/oAPIAK//pAPIALP/sAPIALf/hAPIALv/uAPIAL//nAPIAMP/vAPIAMf/lAPIAM//rAPIANf/oAPIAOP/rAPIAOf/qAPIAOv/rAPIARP/yAPIAVwAXAPIAgf/VAPIAif/qAPIAjf/sAPIAmv/rAPIAnP/rAPIAof/yAPMARP/1APMARf/2APMAR//3APMASP/1APMASf/1APMAS//4APMATP/3APMATf/2APMATv/3APMAT//0APMAUP/2APMAUf/3APMAU//zAPMAVf/4APMAWP/5APMAWf/4APMAWv/2APMAof/1APMAqf/1APMArf/3APMAuv/5APMAvP/5APQAOP/sAPYAJv/gAPYAN//kAPYAOf+2APYAyP/gAPcAV//xAPcAWf/gAPoAJv/gAPoAKv/cAPoALf/bAPoAMv/hAPoAN//kAPoAOP+7APoAOf+2APoAOv+1APoAWf/mAPoAmv+7APoAyP/gAPoBCP+7APsATf/6APsAUv/3APsAV//xAPsAWP/zAPsAWf/gAPsAWv/dAPsAuv/zAPsBCf/zAQAAXP/2AQIAgv/KAQIAov/vAQIAwv/KAQMAov/eAQMAw//eAQQAJP/KAQQAMQAYAQQANwAfAQQAOAALAQQAOQAlAQQARP/JAQQAWP9QAQQAgf/KAQQAhP/KAQQAmgALAQQAof/JAQQA7gAYAQQBBAAfAQQBCAALAQUARP/eAQUAUv/5AQUAVwAXAQUAWAAJAQUAWQAXAQUAof/eAQUApP/eAQUAugAJAQUAvQAaAQUBBQAXAQUBCQAJAQYAJP+oAQYAJv/xAQYAKv/qAQYAMv/sAQYANv/0AQYANwAXAQYARf/NAQYAR//NAQYASP/PAQYASv/UAQYATf/VAQYATv/NAQYAT//OAQYAUP/MAQYAUf/eAQYAU//QAQYAVv/MAQYAV//sAQYAWf/uAQYAXf/OAQYAyP/xAQYA2P/qAQYA4f/NAQYBAP/0AQYBGP/tAQcARP/iAQcAUv/5AQcAVwAYAQgAJv/xAQgANv/0AQgANwAXAQgATf/VAQgAyP/xAQgAyf/nAQgBAP/0AQgBBAAXAQkAVwAYAQkBBQAYAQoAJP+oAQoAJv/xAQoAKv/qAQoANv/0AQoANwAXAQoARf/NAQoAVf/OAQoAXf/OAQoAgf+oAQoAlv/sAQsARP/iAQsAVwAYAQsAof/iAQsAtv/5AQwAMv/sAQwANv/0AQ0AUv/5AQ4AJP+gAQ4AJv/1AQ4AKv/sAQ4AMv/vAQ4ANwAmAQ4APAAkAQ4ASP+pAQ4AUf/OAQ4AVf/LAQ4AXP/rAQ8ACgArAQ8ARP/TAQ8ASv/5AQ8AUv/4AQ8AVwAZAQ8AXAAMARUAWv/sARUAXP/oARcALf/2ARcAV//KARcAWf/xARcAXP/oASUAKv/sASYASv/5ASkAMv/vASoAUv/4AS8AJP/GAS8AJf/1AS8AJ//zAS8AK//zAS8ALv/2AS8AL//zAS8ANf/zAS8ARP/XAS8AUQAUAS8AVwAYAS8AWAAeAS8AWQAqAS8AWgAhAS8AXAAxAS8AgP/GAS8Agf/GAS8Aof/XAS8ArAAcAS8AuQAeAS8AugAeATAAJP+yATAANwAaATAAOQAjATAARP/AATAARv/rATAASv/iATAAT//2ATAAUv/iATAAVP/oATAAVv/vATAAgP+yATAAgf+yATAAof/AATAArAA0ATAAsv/0ATAAs//iATIAJP/HATIAJf/yATIAJ//wATIAKP/0ATIAK//vATIALP/0ATIALf/zATIALv/zATIAL//wATIAM//0ATIANf/wATIAO//0ATIARP/ZATIAUQANATIAVwAYATIAWAAdATIAWQAqATIAWgAhATIAXAAwATIAgP/HATIAgf/HATIAiP/0ATIAif/0ATIAjP/0ATIAjf/0ATIAof/ZATIArAAQATIAuQAdATIAugAdAAA=) format("truetype")}

#menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras){
  --madera-clara:#664832;--madera-oscura:#3c291c;
  border:1px solid #a17b43;border-radius:3px;color:#f2dfb5;text-shadow:0 1px 2px #140c0999;
  font-family:'Caoz Taberna',var(--serif);font-weight:400;font-variant:normal;font-synthesis:none;letter-spacing:.4px;
  background:
    radial-gradient(circle at 35% 25%,#efdaa0,#a58142 45%,#493719 75%,transparent 90%) left 8px center / 5px 5px no-repeat,
    radial-gradient(circle at 35% 25%,#efdaa0,#a58142 45%,#493719 75%,transparent 90%) right 8px center / 5px 5px no-repeat,
    repeating-linear-gradient(3deg,transparent 0 4px,#00000010 5px 6px),
    linear-gradient(var(--madera-clara),var(--madera-oscura));
  box-shadow:inset 0 2px 0 #bd99624d,inset 0 -3px 0 #190e0966,0 5px 0 #160f0a,0 7px 11px #0004;
  transform:none;translate:0 0;scale:1;
  transition:translate .18s ease,scale .18s ease,filter .18s ease,box-shadow .18s ease,border-color .18s ease;
}
#menu .menucol > #mCampana.btn{--madera-clara:#713b2b;--madera-oscura:#49261d}
@media(hover:hover){
  #menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras):hover:not(:disabled){
    transform:none;translate:0 -2px;scale:1.015;filter:brightness(1.15);border-color:#cfab67;
    box-shadow:inset 0 2px 0 #d6b46b88,inset 0 -3px 0 #190e0966,0 7px 0 #160f0a,0 12px 18px #0007;
  }
}
#menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras):active:not(:disabled){
  transform:none;translate:0 2px;scale:.99;filter:brightness(1.05);
  box-shadow:inset 0 2px 9px #0006,inset 0 1px 0 #bd996233,0 1px 0 #160f0a;
}
#menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras):focus-visible{outline:2px solid #ffe1a0;outline-offset:4px}
#menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras):disabled{
  opacity:.42;filter:saturate(.25);transform:none;translate:0 0;scale:1;
  box-shadow:inset 0 2px 0 #bd996233,inset 0 -2px 0 #190e0966,0 2px 0 #160f0a;
}
@media(prefers-reduced-motion:reduce){
  #menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras),
  #menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras):hover:not(:disabled),
  #menu .menucol > .btn:is(#mCampana,#mPlay,#mOnline,#mExtras):active:not(:disabled){transition:none;transform:none;translate:0 0;scale:1}
}
/* MENU_TABERNA_FIN */

/* Marco y tres medallones, como la referencia: coste arriba, ATQ/PV abajo.
   Los envoltorios no crean cajas de posición: los círculos se anclan a la carta. */
body.aaa-polish .card.acomodo{
  overflow:visible;
  border:1.5px solid color-mix(in srgb,var(--tipo-cl,var(--gold)) 35%,#b49a53 65%);border-radius:9px;
  background:linear-gradient(150deg,#2b2238,#100e17 75%);
  box-shadow:inset 0 0 0 3px #19151f,inset 0 0 0 4px #706044,0 5px 13px #0008;
}
body.aaa-polish .card.acomodo .marcoDibujo{inset:5px;border-radius:4px}
body.aaa-polish .card.acomodo.sinarte .art{inset:5px;border-radius:4px;padding-bottom:32%}
body.aaa-polish .card.acomodo .top{position:static;z-index:auto}
body.aaa-polish .card.acomodo .pieCarta{
  position:static;z-index:auto;margin:auto 0 .5em;padding:0 .15em .15em;
  background:none;gap:.22em;
}
body.aaa-polish .card.acomodo .pieCarta::before{display:none}
body.aaa-polish .card.acomodo .pieCarta .nm{
  position:relative;z-index:2;padding:.28em .18em;margin:0;
  border:1px solid #7c683b;border-radius:3px;
  background:linear-gradient(#302338,#140f1d);color:#f4e3b5;
  font-size:1.12em;line-height:1.12;font-variant:small-caps;letter-spacing:.035em;
  display:block;-webkit-line-clamp:unset;overflow-wrap:anywhere;text-wrap:balance;flex-shrink:0;
}
body.aaa-polish .card.acomodo .pieCarta .tribe{
  position:relative;z-index:2;font-size:.6em;line-height:1.15;letter-spacing:.035em;
  margin:0;color:#c2b4cb;background:#17111ed9;
}
body.aaa-polish .card.acomodo .pieCarta .txt{
  position:relative;z-index:2;box-sizing:border-box;padding:.4em .5em;
  text-align:left;font-size:.8em;line-height:1.2;color:#ded5e6;
  border:1px solid #615335;border-radius:3px;background:#120e1beb;
}
body.aaa-polish .card.acomodo .pieCarta .stats{display:contents;position:static}
body.aaa-polish .card.acomodo .cost,
body.aaa-polish .card.acomodo .pieCarta .atk,
body.aaa-polish .card.acomodo .pieCarta .hp{
  position:absolute;z-index:7;box-sizing:border-box;display:grid;place-items:center;
  font-size:1.03em;line-height:1;width:1.85em;height:1.85em;min-width:0;
  padding:0;border-radius:50%;border:1.5px solid #d7b957;color:#fff6dc;
  text-shadow:0 2px 3px #000;box-shadow:inset 0 0 0 2px #ffffff18,0 2px 5px #0009;
}
body.aaa-polish .card.acomodo .cost{
  left:-.38em;top:-.38em;
  background:radial-gradient(circle at 35% 25%,#8761d0,#3a2064 58%,#171020);
}
body.aaa-polish .card.acomodo .pieCarta .atk{
  left:-.38em;bottom:-.38em;background:radial-gradient(circle at 35% 25%,#d49232,#895015 58%,#32200f);
}
body.aaa-polish .card.acomodo .pieCarta .hp{
  right:-.38em;bottom:-.38em;background:radial-gradient(circle at 35% 25%,#d85b6f,#822239 58%,#310e1b);
}
body.aaa-polish .card.unit .pieCarta{margin-bottom:1em}
body.aaa-polish.tut-on .card.playable{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--green),0 0 15px rgba(79,192,125,.4)}
/* Una carta que atraviesa el cursor no debe desplegar su ficha sobre la pelea. */
body.aaa-combat .cajon,body.aaa-combat #inspect{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body.aaa-combat .card.unit:hover{filter:none}

/* Alcantarillas: naipes físicos, con la última carta descartada boca arriba.
   La huella es fija: la altura visual del montón no mueve el campo. */
.alcantarillaPila{--escala-pila:.30;position:relative;display:block;flex:0 0 auto;
  width:112px;height:92px;padding:0;border:0;border-radius:10px;background:none;
  color:var(--gold);cursor:pointer;isolation:isolate;touch-action:manipulation}
.alcantarillaPila:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.alcantarillaBase{position:absolute;inset:9px 14px 3px;border-radius:50%;
  background:radial-gradient(ellipse,#0009,transparent 70%);pointer-events:none}
.alcantarillaCartas{position:absolute;left:50%;top:5px;width:190px;height:264px;
  transform:translateX(-50%) scale(var(--escala-pila));transform-origin:top center;pointer-events:none}
.alcantarillaCanto{position:absolute;inset:0;border:3px solid #92806a;border-radius:9px;
  background:linear-gradient(145deg,#463348,#201827);box-shadow:0 3px 0 #d4c4a1,0 7px 9px #0009;
  transform:translate(var(--dx),var(--dy)) rotate(var(--giro))}
body.aaa-polish .alcantarillaCartas .card{--cw:190px;--ch:264px;width:190px;height:264px;
  font-size:14px;position:absolute;inset:0;margin:0;transform:rotate(-4deg);pointer-events:none;
  text-align:center;filter:none;transition:none}
.alcantarillaCartas .foil{display:none}
.alcantarillaVacia{position:absolute;inset:7px 28px 4px;border:1px dashed #6e607080;border-radius:7px;
  display:grid;place-items:center;font:24px/1 var(--serif);color:#817087;background:#120e1b55}
.alcantarillaNumero{position:absolute;right:11px;bottom:0;z-index:2;min-width:24px;padding:3px 5px;
  border:1px solid #9a8050;border-radius:12px;background:linear-gradient(#39283f,#17111f);
  font:800 16px/1 var(--serif);font-variant-numeric:tabular-nums;box-shadow:0 2px 6px #0009}
.alcantarillaNombre{position:absolute;top:-12px;left:0;right:0;font:600 7px/1 var(--sans);
  letter-spacing:1px;color:#aa98b9;text-align:center}
.pilas{align-items:center}
.pilas .alcantarillaPila{--escala-pila:.20;width:56px;height:30px}
.pilas .alcantarillaPila::after{content:'';position:absolute;inset:-7px 0;z-index:3}
.pilas .alcantarillaCartas{top:0;left:44%;transform:translateX(-50%) scale(var(--escala-pila)) rotateX(60deg)}
.pilas .alcantarillaNumero{right:0;bottom:0;min-width:18px;font-size:11px;padding:2px 4px}
.pilas .alcantarillaNombre{display:none}
.pilas .alcantarillaVacia{inset:3px 12px 3px 6px;font-size:17px}
.pilas .alcantarillaBase{inset:6px 3px 0}
@media(hover:hover){.alcantarillaPila:hover .alcantarillaCartas{filter:brightness(1.15)}}

/* ===== Combate ===== */
.aaa-contact{position:fixed;z-index:355;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;pointer-events:none;
  background:#fff;mix-blend-mode:screen;box-shadow:0 0 12px 5px rgba(255,255,255,.9),0 0 42px 20px rgba(255,133,70,.54)}
.aaa-contact::before{content:"";position:absolute;left:50%;top:50%;width:42px;height:2px;translate:-50% -50%;rotate:var(--ang,0deg);
  background:linear-gradient(90deg,transparent,#fff 42%,#ffd29a 52%,transparent);box-shadow:0 0 12px #ff9a54}
.aaa-wave{position:fixed;z-index:354;width:28px;height:28px;margin:-14px 0 0 -14px;border:2px solid rgba(255,219,177,.9);border-radius:50%;pointer-events:none;opacity:0}
.aaa-shard{position:fixed;z-index:356;width:var(--w,15px);height:2px;left:0;top:0;transform-origin:0 50%;pointer-events:none;border-radius:2px;
  background:linear-gradient(90deg,#fff,var(--c,#ffc27d),transparent);box-shadow:0 0 6px var(--c,#ffc27d)}
.aaa-dmg{position:fixed;z-index:360;pointer-events:none;translate:-50% -50%;font:950 clamp(18px,2.5vw,28px)/1 var(--serif,serif);letter-spacing:-.03em;
  color:#fff2ec;text-shadow:0 3px 0 #651e19,0 7px 18px rgba(0,0,0,.88),0 0 14px rgba(255,87,66,.54)}
.aaa-dmg.lethal{font-size:clamp(22px,2.8vw,32px);color:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.7))}
.aaa-hit-vignette{position:fixed;inset:0;z-index:351;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse at center,transparent 46%,rgba(116,19,15,.35) 100%)}
.aaa-counter-tag{position:fixed;z-index:359;translate:-50% -50%;pointer-events:none;color:#d7c6ee;
  font:800 9px/1 var(--sans,sans-serif);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 2px 6px #000}
@media (prefers-reduced-motion:reduce){
  .aaa-contact,.aaa-wave,.aaa-shard,.aaa-hit-vignette,.aaa-counter-tag{display:none!important}
}
