/* Monedaris · hoja de estilos del juego. Identidad: Marca final (oro, negro, marfil, pizarra; Bahnschrift + Segoe UI). Sin descargas remotas. */

:root {
  --cz-version: "1.51.0"; /* la sube herramientas/sellar_version.mjs; Ajustes la compara con la del JavaScript */
  --cz-gold: #D5B77A; --cz-gold-2: #E2C992; --cz-ink: #080B0D; --cz-ivory: #F5F1E8; --cz-slate: #242B30; --cz-silver: #BAC3C9; --cz-copper: #B87955;
  --cz-font-display: Bahnschrift, "Segoe UI", Arial, sans-serif; --cz-font-body: "Segoe UI", Arial, sans-serif;
  --cz-radius: 12px;

  /* tema oscuro por defecto (identidad principal: oro sobre negro) */
  --bg: var(--cz-ink); --bg-2: #111518; --panel: #181C1F; --panel-2: var(--cz-slate); --ink: var(--cz-ivory); --muted: #BAC3C9; --line: #354047;
  --acc: var(--cz-gold); --acc-ink: var(--cz-ink); --acc-hover: var(--cz-gold-2);
  --ok: #8fd19a; --ok-bg: #1f3325; --bad: #f09a9a; --bad-bg: #3b2222; --warn: #e0b568; --warn-bg: #3a2f1c; --neutro: #c8c8c8; --neutro-bg: #2d2d2d;
  --block: #aeb8ee; --block-bg: #262b45; --focus: #E2C992; --shadow: 0 6px 24px rgba(0,0,0,.35);
  --hueco: #1a2024; --hueco-ink: #A7B1B8;
  color-scheme: dark;
}
:root[data-tema="claro"] {
  --bg: var(--cz-ivory); --bg-2: #ece7db; --panel: #ffffff; --panel-2: #f3efe6; --ink: var(--cz-ink); --muted: #5d6870; --line: #d9d3c6;
  --acc: #856627; --acc-ink: #ffffff; --acc-hover: #9a7731; /* 1.41.2 (P1-1): el oro de las estáticas, 4,74:1 sobre marfil */
  --ok: #2f6f3e; --ok-bg: #e6f2e8; --bad: #9b2c2c; --bad-bg: #f8e5e5; --warn: #8a5a14; --warn-bg: #f6ead6; --neutro: #5b5b5b; --neutro-bg: #ececec;
  --block: #3c4a8a; --block-bg: #e5e8f6; --focus: #2b5fb3; --shadow: 0 6px 24px rgba(0,0,0,.12);
  --hueco: #f1ede4; --hueco-ink: #606A70;
  color-scheme: light;
}
/* 1.41.2 (auditoría de diseño 3-oct, P0-2): contenedores con fondo oscuro fijo. En tema claro llevan los tokens oscuros
   para que sus textos no hereden la tinta del tema claro (p. ej. «Jugar con guía →» a 1,11:1). Lista cerrada de 23 selectores
   (tabla A de la auditoría): si aparece un fondo oscuro nuevo, se pregunta a Diseño. :where() deja la especificidad a 0,
   así que cada contenedor conserva su color propio; en tema oscuro no cambia nada. */
:where(:root[data-tema="claro"]) :where(.portada, .duelo-arena.mazos-mesa, .diario-portada, .duelo-marcador.marcador-victoria, .online-estado,
  .entrada-tutorial, .guia-duelo, .mision-diaria, .rival-mesa, .circuito-balance, .mision-principal,
  .duelo-marcador, .duelo-tablero, .duelo-arena-decision.mazos-mesa, .duelo-panel-decision,
  .gabinete-inicio, .inicio-acciones>section, .reliquia-inicio, .academia-rejilla>a,
  .bandeja-inicio, .reto-inicio-compacto, .inicio-santuario .cifras-inicio, .actividad-inicio) {
  --ink:#F5F1E8; --muted:#BAC3C9; --line:#4A5258; --panel:#181C1F; --panel-2:#242B30; --bg-2:#111518;
  --acc:#D5B77A; --acc-ink:#080B0D; --acc-hover:#E2C992; --focus:#E2C992;
  color: var(--ink);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.5 var(--cz-font-body); min-height: 100dvh; }
h1, h2, h3, h4 { font-family: var(--cz-font-display); font-weight: 600; line-height: 1.15; margin: 0 0 .4em; letter-spacing: .01em; }
h1 { font-size: 1.7rem; } h2 { font-size: 1.3rem; } h3 { font-size: 1.05rem; } h4 { font-size: .95rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
p { margin: 0 0 .8em; } a { color: var(--acc); }
small, .peq { font-size: .85rem; } .muted { color: var(--muted); }
button { font: inherit; }
img { max-width: 100%; display: block; }
code, .mono { font-family: Consolas, "Cascadia Mono", monospace; font-size: .85em; overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
[hidden] { display: none !important; }

/* ── Estructura ── */
.cabecera { position: sticky; top: 0; z-index: 20; background: var(--cz-ink); color: var(--cz-ivory); border-bottom: 1px solid #1f262b; }
.cabecera .fila { max-width: 1080px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 20px; }
.cabecera .logo { height: auto; width: 220px; }
.cabecera .firma-nav { flex: 0 0 220px; padding: 6px 0; }
.cabecera .logo-simbolo { height: 32px; width: 32px; display: none; }
.cabecera nav { margin-left: auto; display: flex; gap: 4px; flex-wrap: wrap; }
.cabecera nav a { color: var(--cz-silver); text-decoration: none; padding: 7px 8px; border-radius: 5px; font-size: .85rem; display: inline-flex; align-items: center; gap: 6px; }
.cabecera nav a svg { width: 18px; height: 18px; }
.cabecera nav a.activa, .cabecera nav a:hover { background: #1b2227; color: var(--cz-gold); }
.cinta { background: var(--bg-2); color: var(--muted); font-size: .8rem; text-align: center; padding: 4px 12px; }
main { max-width: 1080px; margin: 0 auto; padding: 32px 20px 72px; }
.pie { max-width: 1080px; margin: 0 auto; padding: 12px 16px 100px; color: var(--muted); font-size: .8rem; border-top: 1px solid var(--line); }
.cabecera .titulo-movil { display: none; }

@media (max-width: 720px) {
  .cabecera .titulo-movil { display: none; }
  .cabecera nav { display: none; }
  .cabecera .logo { display: block; width: 196px; }
  .cabecera .firma-nav { flex-basis:196px; max-width:100%; }
  .cabecera .fila { justify-content: center; padding: 5px 16px; }
  .cabecera .titulo-movil { font-family: var(--cz-font-display); font-weight: 600; color: var(--cz-gold); letter-spacing: .04em; }
  main { padding-bottom: 100px; }
  /* En móvil la decisión tiene que caber en la primera pantalla: cabecera y marcador más compactos. */
  h1 { font-size: 1.3rem; }
  .marcador { margin: 4px 0 10px; }
  .marcador .puntos { font-size: 1.7rem; }
  .marcador .nombre { font-size: .9rem; }
  .cinta { display: none; }
  /* Tarjeta de puesto compacta: el motivo largo en una línea, menos relleno, para que ataque, defensa y «Jugar» queden a la vista. */
  .puesto { padding: 10px; }
  .puesto .elegida { margin-bottom: 4px; }
  .puesto .elegida > div { min-width: 0; flex: 1 1 auto; } /* la columna de texto encoge con el viewport: nunca ensancha el documento */
  .puesto .elegida .peq.muted { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .puesto .elegida .chip { white-space: normal; line-height: 1.3; }
  .puesto h3 { margin-bottom: 4px; }
  #demo-turno h3 { font-size: 1rem; }
  /* «Jugar el turno» siempre a mano en móvil: fila fija justo encima de la barra de navegación. */
  .demo-acciones { position: fixed; left: 0; right: 0; bottom: calc(62px + env(safe-area-inset-bottom)); z-index: 15; margin: 0 !important; padding: 8px 12px; background: var(--bg); border-top: 1px solid var(--line); justify-content: center; }
  .demo-acciones .btn { flex: 1; justify-content: center; }
  #demo-turno { padding-bottom: 70px; }
}

/* ── Componentes ── */
.tarjeta { background: var(--panel); border: 1px solid var(--line); border-radius: var(--cz-radius); padding: 16px; margin-bottom: 14px; }
.tarjeta.suave { background: var(--bg-2); }
.tarjeta h2:first-child, .tarjeta h3:first-child { margin-top: 0; }
h1 svg, h2 svg, h3 svg { width: 22px; height: 22px; vertical-align: -4px; margin-right: 4px; color: var(--acc); }
.rejilla { display: grid; gap: 14px; }
.rejilla.dos { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.rejilla.tres { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.fila { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.fila.entre { justify-content: space-between; }
.apilado { display: flex; flex-direction: column; gap: 8px; }

.btn { background: var(--acc); color: var(--acc-ink); border: 0; border-radius: 8px; padding: 10px 18px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; line-height: 1.2; }
.btn:hover { background: var(--acc-hover); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn.sec { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.btn.sec:hover { background: var(--panel-2); }
.btn.peq { padding: 6px 12px; font-size: .88rem; }
.btn.peligro { background: transparent; color: var(--bad); border: 1px solid var(--bad); }
.btn.ancho { width: 100%; justify-content: center; }
.btn svg { width: 18px; height: 18px; }

label { display: block; font-size: .9rem; color: var(--muted); margin-bottom: 4px; }
input[type=password], input[type=text], input[type=search], input[type=number], select, textarea { width: 100%; background: var(--bg-2); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; font: inherit; }
/* Selectores de archivo (copias, fotos): nunca más anchos que su tarjeta; el nombre largo se recorta dentro del control, sin barra horizontal. */
input[type=file] { display: block; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; font: inherit; font-size: .95rem; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
textarea { min-height: 120px; font-family: Consolas, "Cascadia Mono", monospace; font-size: .85rem; }
.campo { margin-bottom: 12px; }
.radios { display: flex; gap: 8px; flex-wrap: wrap; }
.radios label { display: inline-flex; align-items: center; gap: 6px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; color: var(--ink); cursor: pointer; margin: 0; }
.radios input { margin: 0; }
.radios label:has(input:checked) { border-color: var(--acc); color: var(--acc); }
.check { display: flex; gap: 10px; align-items: flex-start; color: var(--ink); font-size: .95rem; }
.check input { margin-top: 4px; }

.chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: .78rem; background: var(--bg-2); border: 1px solid var(--line); color: var(--muted); white-space: nowrap; }
.chip.oro { color: var(--acc); border-color: var(--acc); }
.chip.ok { color: var(--ok); background: var(--ok-bg); border-color: transparent; }
.chip.bad { color: var(--bad); background: var(--bad-bg); border-color: transparent; }
.chip.warn { color: var(--warn); background: var(--warn-bg); border-color: transparent; }
.chip.block { color: var(--block); background: var(--block-bg); border-color: transparent; }
.chip.neutro { color: var(--neutro); background: var(--neutro-bg); border-color: transparent; }
.chip.plata { color: var(--cz-silver); border-color: var(--cz-silver); }
/* Los chips explicativos de los puestos pueden ser largos: se parten en varias líneas en vez de cortarse. */
.puesto .chip.ok, .puesto .chip.bad, .puesto .chip.warn, .puesto .chip.block, .decl ~ .fila .chip { white-space: normal; line-height: 1.3; }
.chip.cobre { color: var(--cz-copper); border-color: var(--cz-copper); }

.aviso { border-radius: 8px; padding: 10px 12px; font-size: .92rem; margin-bottom: 12px; border: 1px solid transparent; }
.aviso.ok { background: var(--ok-bg); color: var(--ok); } .aviso.bad { background: var(--bad-bg); color: var(--bad); } .aviso.warn { background: var(--warn-bg); color: var(--warn); }
.aviso.info { background: var(--block-bg); color: var(--block); }

.tabla-envoltorio { overflow-x: auto; max-width: 100%; }
table { border-collapse: collapse; width: 100%; font-size: .9rem; }
th, td { text-align: left; padding: 7px 9px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--muted); font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; cursor: pointer; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
tr.clic { cursor: pointer; } tr.clic:hover td { background: var(--panel-2); }
/* Hoja pública accesible: cabeceras ordenables como botones y enlace a la ficha en cada fila */
th button.orden { background: none; border: 0; padding: 0; margin: 0; color: inherit; font: inherit; cursor: pointer; text-align: inherit; }
th button.orden:focus-visible, .fila-enlace:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
.fila-enlace { color: inherit; text-decoration: none; } .fila-enlace:hover { text-decoration: underline; }
.oculto-visual { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── Ejes (barras) ── */
.ejes { display: grid; gap: 6px; }
.eje { display: grid; grid-template-columns: 96px 1fr 44px; align-items: center; gap: 8px; font-size: .85rem; }
.eje .nombre { color: var(--muted); }
.eje .barra { height: 8px; background: var(--bg-2); border-radius: 4px; overflow: hidden; border: 1px solid var(--line); }
.eje .barra i { display: block; height: 100%; background: var(--acc); }
.eje.cero .barra i { background: var(--line); }
.eje .valor { text-align: right; font-variant-numeric: tabular-nums; }
.eje.mediana .valor { color: var(--acc); font-weight: 600; }

/* ── Monedas ── */
.cuadricula { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: 10px; }
.moneda { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 10px; text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 6px; min-height: 120px; }
.moneda:hover { border-color: var(--acc); }
.moneda .foto { aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--hueco); display: grid; place-items: center; width: 72px; align-self: center; border: 2px solid var(--line); }
.moneda .foto img { width: 100%; height: 100%; object-fit: cover; }
.moneda .foto svg { width: 34px; height: 34px; color: var(--hueco-ink); }
.moneda.pagina .foto { border-color: var(--acc); }
.moneda.completa .foto { border-color: var(--acc); box-shadow: 0 0 0 2px var(--acc); }
.moneda.hueco { background: var(--hueco); color: var(--hueco-ink); }
.moneda.hueco:hover { color: var(--ink); }
.moneda .pais { font-size: .78rem; color: var(--muted); }
.moneda .motivo { font-size: .85rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.moneda .marcas { display: flex; gap: 4px; flex-wrap: wrap; margin-top: auto; }

.emblema { width: 100%; height: 100%; display: block; }
.emblema-grande { width: min(100%, 300px); margin: 0 auto; }
.moneda .foto svg.emblema { width: 100%; height: 100%; }
.moneda.declarada .foto { border-style: dashed; border-color: var(--muted); }
/* Monedario con fotografías oficiales (1.32.0): la foto llena el aro; los huecos se ven apagados para no confundirse con páginas. */
.moneda .foto.foto-oficial { background: #fff; }
.moneda.hueco .foto.foto-oficial img, .moneda.tuviste .foto.foto-oficial img { filter: grayscale(1) opacity(.45); }
.moneda .credito-foto { display:block; text-align:center; font-size:.68rem; line-height:1.2; margin-bottom:4px; }
/* Vista rápida (1.33.0): al pasar el ratón por la foto, la moneda ampliada y sin el gris del hueco, creciendo desde el aro. Solo con puntero. */
.moneda .foto.foto-oficial { position:relative; }
.moneda .foto.foto-oficial > img:first-child { border-radius:50%; }
.moneda .zoom-foto { visibility:hidden; position:absolute; left:50%; top:50%; width:230px; height:230px; transform:translate(-50%,-50%) scale(.4); border-radius:50%; object-fit:cover; background:#fff; border:3px solid var(--acc); box-shadow:0 12px 40px #000a; z-index:30; pointer-events:none; opacity:0; filter:none !important; }
@media (hover:hover) {
  .moneda .foto.foto-oficial:hover { overflow:visible; cursor:zoom-in; }
  .moneda .foto.foto-oficial:hover .zoom-foto { visibility:visible; opacity:1; transform:translate(-50%,-50%) scale(1); transition:opacity .15s, transform .15s; }
}
}
.foto-prueba { width: 160px; height: 160px; border-radius: 12px; object-fit: cover; border: 2px solid var(--line); background: var(--hueco); }
.foto-prueba.canto { width: 240px; height: 80px; }
.portada .foto-portada { display: block; width: 110px; height: 110px; float: right; margin: 0 0 10px 14px; }
.puesto .elegida .foto { width: 56px; height: 56px; flex: none; display: block; }
.selector-monedas button .foto-mini { width: 36px; height: 36px; flex: none; display: block; }
.hueco-grande { width: min(100%, 360px); aspect-ratio: 1; border-radius: 50%; margin: 0 auto; background: var(--hueco); display: grid; place-items: center; color: var(--hueco-ink); border: 3px dashed var(--line); text-align: center; padding: 20px; }
.hueco-grande svg { width: 64px; height: 64px; }

.progreso { height: 10px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.progreso i { display: block; height: 100%; background: var(--acc); }
.cifra { font-family: var(--cz-font-display); font-size: 2.4rem; font-weight: 600; color: var(--acc); line-height: 1; }
.cifra small { font-size: 1rem; color: var(--muted); font-family: var(--cz-font-body); }

/* ── Combate ── */
.puestos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 12px; }
.puesto { background: var(--panel); border: 1px solid var(--line); border-radius: var(--cz-radius); padding: 12px; }
.puesto h3 { display: flex; justify-content: space-between; align-items: center; }
.puesto .elegida { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.puesto .elegida .foto { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--acc); background: var(--hueco); flex: none; }
.puesto .decl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.selector-monedas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(120px, 100%), 1fr)); gap: 8px; max-height: 320px; overflow: auto; padding: 4px; border: 1px solid var(--line); border-radius: 8px; }
.selector-monedas button { background: var(--bg-2); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; padding: 6px; text-align: left; cursor: pointer; display: flex; gap: 6px; align-items: center; font-size: .8rem; }
.selector-monedas button img, .selector-monedas button .foto-mini { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none; background: var(--hueco); }
.selector-monedas button:hover, .selector-monedas button.activa { border-color: var(--acc); }
.selector-monedas button:disabled { opacity: .4; cursor: not-allowed; }
/* El contenido de cada opción se parte en líneas (chip «en el puesto N · intercambiar», motivo) en vez de desbordar la rejilla. */
.selector-monedas button { min-width: 0; }
.selector-monedas button > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.selector-monedas button .chip { display: inline; white-space: normal; line-height: 1.4; padding: 1px 7px; }
@media (max-width: 720px) { .selector-monedas { grid-template-columns: 1fr; } }

.marcador { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; text-align: center; margin: 10px 0 16px; }
.marcador .nombre { font-family: var(--cz-font-display); font-size: 1.05rem; }
.marcador .puntos { font-family: var(--cz-font-display); font-size: 2.6rem; font-weight: 600; color: var(--acc); }
.marcador .vs { color: var(--muted); font-size: .85rem; }
.turno { background: var(--panel); border: 1px solid var(--line); border-radius: var(--cz-radius); padding: 12px; margin-bottom: 10px; animation: aparecer .4s both; animation-delay: var(--d, 0s); }
@keyframes aparecer { from { opacity: .35; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.turno .cara { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.turno .lado { font-size: .88rem; }
.turno .lado b { display: block; }
.golpe { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: .8rem; margin-top: 4px; }
.golpe.punto { background: var(--ok-bg); color: var(--ok); } .golpe.contra { background: var(--bad-bg); color: var(--bad); } .golpe.bloq { background: var(--block-bg); color: var(--block); } .golpe.nada { background: var(--neutro-bg); color: var(--neutro); }
.turno-jugado { background: var(--panel); border: 1px solid var(--line); border-radius: var(--cz-radius); padding: 10px 12px; margin-bottom: 10px; }
.turno-jugado summary { color: var(--ink); font-weight: 400; font-size: .92rem; }
.turno-jugado summary b { color: var(--acc); }
.turno-jugado:focus { outline: 3px solid var(--focus); }
.resultado-final { text-align: center; padding: 18px; border-radius: var(--cz-radius); margin: 14px 0; border: 1px solid var(--line); }
.resultado-final.victoria { border-color: var(--acc); background: linear-gradient(180deg, rgba(213,183,122,.12), transparent); }
.resultado-final h2 { font-size: 1.8rem; }

/* ── Varios ── */
.pestanas { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 14px; overflow-x: auto; }
.pestanas button { background: none; border: 0; border-bottom: 3px solid transparent; color: var(--muted); padding: 8px 12px; cursor: pointer; white-space: nowrap; }
.pestanas button.activa { color: var(--acc); border-bottom-color: var(--acc); }
details { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; }
summary { cursor: pointer; color: var(--acc); font-weight: 600; }
details.aviso { border: 1px solid transparent; padding: 10px 12px; }
details.aviso summary { color: inherit; font-weight: 400; }
details.aviso summary u { text-decoration-style: dotted; }
.lista-limpia { list-style: none; padding: 0; margin: 0; } .lista-limpia li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.lista-limpia li:last-child { border-bottom: 0; }
.frases { counter-reset: f; padding-left: 0; list-style: none; }
.frases li { counter-increment: f; position: relative; padding-left: 44px; margin-bottom: 12px; }
.frases li::before { content: counter(f); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--acc); color: var(--acc-ink); display: grid; place-items: center; font-family: var(--cz-font-display); font-weight: 600; }

.toast { position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%); background: var(--panel); color: var(--ink); border: 1px solid var(--acc); border-radius: 10px; padding: 10px 16px; box-shadow: var(--shadow); z-index: 50; max-width: min(92vw, 480px); font-size: .92rem; }
dialog { background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: var(--cz-radius); padding: 20px; max-width: min(92vw, 520px); box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(0,0,0,.55); }

.portada { position: relative; overflow: hidden; border-radius: var(--cz-radius); border: 1px solid #514733; background: var(--cz-ink); color: var(--cz-ivory); padding: 28px; margin-bottom: 22px; }
.portada h1 { color: var(--cz-gold); }
.portada .foto-portada { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; border: 3px solid var(--cz-gold); float: right; margin: 0 0 10px 14px; background: #111; }
.portada .muted { color: var(--cz-silver); }

.vacio { text-align: center; padding: 30px 12px; color: var(--muted); }
.vacio svg { width: 56px; height: 56px; color: var(--acc); margin: 0 auto 10px; }

@media (prefers-reduced-motion: reduce) { .turno { animation: none; } }
/* Pantallas muy estrechas: un desplegable por fila para que la declaración elegida se lea entera. */
@media (max-width: 420px) { .puesto .decl { grid-template-columns: 1fr; } }

/* Firma metálica aprobada: protagonista de Inicio; firma plana en navegación compacta. */
.bienvenida { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr); gap:48px; align-items:start; margin:24px 0; }
.presentacion-marca { min-width:0; padding:28px 0; }
.sobrelinea { font:600 .73rem/1.6 var(--cz-font-display); letter-spacing:.12em; text-transform:uppercase; color:var(--acc); margin-bottom:18px; }
.presentacion-marca h1 { font-size:clamp(2rem,3.4vw,3rem); line-height:1.08; letter-spacing:-.025em; margin-bottom:22px; }
.presentacion-marca h1 span { color:var(--ink); }
.entrada-marca { font-size:1.08rem; line-height:1.65; color:var(--muted); max-width:44ch; }
.primer-combate { margin-top:30px; border-top:1px solid var(--line); padding-top:25px; }
.primer-combate h2 { font-size:1.12rem; max-width:32ch; line-height:1.35; }
.primer-combate p { font-size:.94rem; line-height:1.6; }
.primer-combate .btn { margin-top:8px; min-height:46px; }
.alta-monedario { padding:26px; border-top:3px solid var(--acc); }
.alta-monedario h2 { font-size:1.6rem; margin-bottom:16px; }
.alta-monedario > p { font-size:.94rem; line-height:1.6; color:var(--muted); }
.alta-monedario .campo { margin-bottom:18px; }
.alta-monedario .check { font-size:.84rem; line-height:1.5; }
.portada { --acc:var(--cz-gold); --muted:var(--cz-silver); --bg-2:#101519; --line:#354047; }
.portada h1 { color:var(--cz-ivory); font-size:clamp(1.6rem,3vw,2.3rem); }
.portada .cifra { margin-top:16px; }
.portada .foto-portada { width:96px; height:96px; border-width:1px; }
.accesos-inicio { margin-bottom:8px; }
.accesos-inicio > .tarjeta { padding:22px; border-top:2px solid var(--acc); }
.accesos-inicio > .tarjeta:hover { border-color:var(--acc); background:var(--panel-2); }
.accesos-inicio h3 { line-height:1.4; margin-bottom:12px; }
.accesos-inicio p { margin-bottom:0; }
.moneda.hueco .motivo { color:var(--hueco-ink); }
input[type=password], input[type=text], input[type=search], select { min-height:44px; }
.btn { box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.btn.sec, .btn.peligro { box-shadow:none; }
@media (max-width:1000px) and (min-width:721px) {
  .cabecera .fila { flex-wrap:wrap; justify-content:center; gap:0; }
  .cabecera nav { margin:0; justify-content:center; width:100%; padding-bottom:6px; }
}
@media (max-width:800px) {
  .bienvenida { grid-template-columns:1fr; max-width:600px; margin:0 auto; gap:24px; }
  .presentacion-marca { padding:20px 0 0; }
  .presentacion-marca h1 { font-size:clamp(1.9rem,6.8vw,2.8rem); }
  .primer-combate { margin-top:22px; padding-top:20px; }
  .alta-monedario { padding:22px; }
}
@media (max-width:420px) {
  main { padding-left:16px; padding-right:16px; }
  .sobrelinea { letter-spacing:.06em; font-size:.67rem; }
  .portada { padding:20px; }
  .portada .foto-portada { width:68px; height:68px; }
  .alta-monedario { padding:18px; }
}
.entrada-jugar { min-height:46px; margin-top:8px; }

/* Duelo de mazos (prototipo): tres decisiones grandes, a mano en móvil; mesa a dos columnas. */
.mazos-ejes { display: grid; gap: 8px; }
.mazos-ejes .btn { justify-content: space-between; min-height: 48px; width: 100%; text-align: left; }
.mazos-ejes .btn .peq { opacity: .85; font-weight: 400; white-space: nowrap; margin-left: 8px; }
.mazos-ejes .btn > span:first-child { flex: 1 1 auto; }
.mazos-mesa { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
.mazos-mesa > .puesto { min-width: 0; }
.mazos-carta .elegida > div { min-width: 0; flex: 1 1 auto; }
.mazos-carta .elegida .peq.muted { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.mazos-ejes .btn { white-space: normal; }
.mazos-carta .elegida .foto svg { width: 100%; height: 100%; }
@media (max-width: 720px) { .mazos-mesa { grid-template-columns: 1fr; } }

/* Racha del reto del día: los últimos 14 días como celdas (perfecto en oro, jugado en tinta, recuperado a trazos, hoy con borde). */
.racha-dias { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 8px; }
.racha-dias .dia { width: 14px; height: 14px; border-radius: 4px; background: var(--hueco); border: 1px solid var(--line); box-sizing: border-box; }
.racha-dias .dia.jugado { background: var(--ink); border-color: var(--ink); }
.racha-dias .dia.perfecto { background: var(--acc); border-color: var(--acc); }
.racha-dias .dia.recuperado { background: transparent; border: 2px dashed var(--acc); }
.racha-dias .dia.hoy { border: 2px solid var(--acc); }

/* Dirección 0.88 · mesa de colección: jerarquía por escala y luz, un acento de marca. */
:root {
  --panel:#14181b; --panel-2:#20262a; --line:#303639; --cz-radius:8px;
  --ok:#c5d0c4; --ok-bg:#252d27; --block:#bac3c9; --block-bg:#252b30;
}
:root[data-tema="claro"] {
  --panel:#fff; --panel-2:#f3efe6; --line:#d9d3c6;
  --ok:#34583b; --ok-bg:#e6eee6; --block:#455560; --block-bg:#e9edef;
}
main { max-width:1200px; padding-top:28px; }
.cabecera .fila, .pie { max-width:1200px; }
.cabecera nav a { border-radius:0; border-bottom:2px solid transparent; padding:12px 9px; }
.cabecera nav a.activa { background:transparent; border-bottom-color:var(--cz-gold); }
.cinta { padding:6px 12px; font-size:.72rem; }
.bienvenida { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:48px 56px; margin:0; align-items:center; }
.presentacion-marca { padding:44px 0 28px; }
.presentacion-marca h1 { font-size:clamp(2.7rem,4.5vw,4rem); line-height:1.04; letter-spacing:-.045em; font-weight:700; margin-bottom:24px; }
.presentacion-marca h1 span { color:var(--muted); }
.entrada-marca { max-width:39ch; font-size:1.08rem; }
.entrada-jugar { padding:16px 24px; margin-top:22px; border-radius:4px; min-height:54px; }
.nota-entrada { font-size:.78rem; color:var(--muted); margin:12px 0 0; }
.vitrina { align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-height:400px; position:relative; }
.vitrina-piezas { position:relative; height:320px; background:radial-gradient(ellipse at 50% 58%,rgba(213,183,122,.09),transparent 65%); }
.pieza-expuesta { position:absolute; width:47%; top:18%; text-decoration:none; text-align:center; transition:transform .25s ease; }
.pieza-expuesta .emblema { filter:drop-shadow(0 20px 18px #0008); }
.pieza-expuesta > span { display:block; margin-top:14px; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.pieza-0 { left:0; top:28%; transform:rotate(-14deg) scale(.78); --acc:var(--cz-silver); }
.pieza-1 { left:27%; z-index:2; }
.pieza-2 { right:-1%; top:28%; transform:rotate(14deg) scale(.78); --acc:var(--cz-silver); }
.pieza-expuesta:hover, .pieza-expuesta:focus-visible { transform:translateY(-8px); z-index:3; }
.vitrina-leyenda { text-align:center; margin-top:14px; font-size:.92rem; }
.vitrina-leyenda small { display:block; margin-top:5px; color:var(--muted); font-size:.72rem; }
.rutas-juego { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ruta-juego { display:flex; align-items:center; gap:14px; padding:25px 20px; text-decoration:none; color:var(--ink); transition:background .2s; }
.ruta-juego + .ruta-juego { border-left:1px solid var(--line); }
.ruta-juego > svg { width:25px; height:25px; flex:none; color:var(--acc); }
.ruta-juego > span:nth-child(2) { flex:1; }
.ruta-juego b { display:block; font-family:var(--cz-font-display); font-size:1.05rem; }
.ruta-juego small { display:block; color:var(--muted); font-size:.78rem; margin-top:6px; }
.ruta-juego:hover { background:var(--panel); }
.camino-coleccion { align-self:start; padding:22px 0; }
.camino-coleccion h2 { font-size:clamp(2rem,3vw,2.9rem); letter-spacing:-.03em; }
.camino-coleccion > p { max-width:41ch; }
.pasos-coleccion { counter-reset:paso; list-style:none; padding:0; margin:30px 0; }
.pasos-coleccion li { position:relative; padding:0 0 24px 46px; counter-increment:paso; }
.pasos-coleccion li::before { content:counter(paso,decimal-leading-zero); position:absolute; left:0; top:2px; color:var(--acc); font: .78rem Consolas,monospace; }
.pasos-coleccion b, .pasos-coleccion span { display:block; }
.pasos-coleccion span { color:var(--muted); font-size:.9rem; max-width:40ch; margin-top:5px; }
.alta-monedario { border-top:1px solid var(--line); padding:30px; margin:20px 0; }
.alta-monedario .btn { min-height:48px; }
.portada { padding:36px; border-color:#454135; background:radial-gradient(ellipse at 100% 0,rgba(213,183,122,.09),transparent 65%),var(--cz-ink); }
.portada .foto-portada { width:140px; height:140px; }
.accesos-inicio > .tarjeta { border-top:1px solid var(--line); }
.moneda { padding:16px 12px; gap:9px; transition:border-color .2s,transform .2s; }
.moneda .foto { width:94px; border-width:1px; }
.moneda:hover { transform:translateY(-3px); }
@media (max-width:800px) {
  .bienvenida { max-width:none; grid-template-columns:1fr; gap:24px; }
  .presentacion-marca { padding:24px 0 0; }
  .presentacion-marca h1 { font-size:clamp(2.3rem,7.8vw,3.6rem); }
  .vitrina { min-height:0; width:min(100%,440px); margin:0 auto; }
  .vitrina-piezas { height:270px; }
  .rutas-juego { grid-template-columns:1fr; margin-top:10px; }
  .ruta-juego:nth-child(n+2) { border-left:0; border-top:1px solid var(--line); }
  .ruta-juego { padding:19px 8px; }
  .ruta-juego + .ruta-juego { border-left:0; border-top:1px solid var(--line); }
  .camino-coleccion { padding-top:20px; }
  .alta-monedario { margin:0; padding:22px; }
  .portada { padding:24px; }
  .portada .foto-portada { width:80px; height:80px; }
}
@media (max-width:380px) {
  .vitrina-piezas { height:225px; }
  .vitrina-leyenda { font-size:.85rem; }
}
@media (prefers-reduced-motion:reduce) {
  .pieza-expuesta, .ruta-juego, .moneda { transition:none; }
  .pieza-expuesta:hover, .pieza-expuesta:focus-visible, .moneda:hover { transform:none; }
}
.nav-mas { position:relative; border:0; padding:0; margin:0; }
.nav-mas summary { padding:12px; color:var(--cz-silver); font-size:.85rem; }
.nav-mas > div { position:absolute; top:100%; right:0; width:190px; max-height:calc(100dvh - 140px); overflow-y:auto; padding:8px; background:var(--cz-ink); border:1px solid var(--line); box-shadow:var(--shadow); }
.cabecera .nav-mas a { display:block; }
@media (min-width:801px) {
  .cabecera .fila { flex-wrap:nowrap; justify-content:space-between; gap:20px; }
  .cabecera nav { width:auto; margin-left:auto; padding-bottom:0; flex-wrap:nowrap; }
}
@media (max-width:720px) {
  .cabecera .fila { flex-wrap:nowrap; justify-content:space-between; }
  .cabecera nav { display:flex; width:auto; margin-left:auto; }
  .cabecera nav > a { display:none; }
}
@media (max-width:800px) { .pieza-0 > span, .pieza-2 > span { visibility:hidden; } }
.pieza-1 { --acc:var(--cz-gold); }

/* 0.89 · Interiores: álbum, exposición, mesa de combate y objetivos. */
.cabecera-seccion { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:26px 0 34px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.cabecera-seccion .sobrelinea { margin-bottom:12px; }
.cabecera-seccion h1 { font-size:clamp(2.3rem,4vw,3.6rem); letter-spacing:-.045em; line-height:1.05; }
.cabecera-seccion p.muted { max-width:56ch; margin:16px 0 0; }
.cabecera-dato { flex:none; text-align:right; }
.cabecera-dato .cifra { display:block; font-size:3.2rem; }
.dato-leyenda { display:block; font-size:.76rem; color:var(--muted); margin:8px 0 16px; }
#app[data-vista]:not([data-vista="bienvenida"]):not([data-vista="inicio"]) > h1 { font-size:clamp(2rem,3.4vw,3rem); letter-spacing:-.035em; margin:16px 0 18px; }
#app[data-vista]:not([data-vista="bienvenida"]) > p.muted { max-width:76ch; line-height:1.7; }
#app[data-vista="monedario"] .pestanas { margin-bottom:24px; gap:20px; }
#app[data-vista="monedario"] .pestanas button { padding:12px 2px; font-weight:600; }
#f-filtros, #f-hoja, #f-buscar { padding:18px; border:1px solid var(--line); background:var(--panel); border-radius:8px; gap:12px; }
.pais-album { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:0; margin:0; }
.pais-album > summary { display:flex; align-items:center; gap:16px; padding:23px 4px; color:var(--ink); font:600 1.15rem var(--cz-font-display); }
.pais-album > summary::before { content:'+'; color:var(--acc); font:400 1.35rem var(--cz-font-body); width:20px; }
.pais-album[open] > summary::before { content:'−'; }
.pais-album > summary::marker { content:''; }
.pais-album > summary > span:first-child { flex:1; }
.progreso-pais { display:block; width:90px; height:3px; background:var(--line); }
.progreso-pais i { display:block; height:100%; background:var(--acc); }
.pais-album > .cuadricula { margin-bottom:28px; }
#app[data-vista="monedario"] .cuadricula, #app[data-vista="ficha"] .cuadricula, #app[data-vista="registrar"] .cuadricula { grid-template-columns:repeat(auto-fill,minmax(min(175px,100%),1fr)); gap:14px; }
#app[data-vista="monedario"] .moneda, #app[data-vista="ficha"] .moneda { min-height:242px; padding:22px 16px 16px; }
#app[data-vista="monedario"] .moneda .foto, #app[data-vista="ficha"] .moneda .foto { width:108px; margin-bottom:10px; }
.moneda.hueco { background:transparent; border-style:dashed; }
.moneda .motivo { font-size:.9rem; line-height:1.4; }
.moneda .pais { font-family:var(--cz-font-display); }
.ficha-exposicion { gap:36px; align-items:start; margin:28px 0 42px; }
.ficha-pieza { padding:30px; background:radial-gradient(ellipse at 50% 35%,rgba(213,183,122,.075),transparent 65%),var(--bg-2); }
.ficha-pieza .emblema-grande { width:min(100%,310px); padding:14px; margin:18px auto 24px; filter:drop-shadow(0 16px 16px #0003); }
.ficha-datos.tarjeta { border:0; padding:10px 0; background:transparent; }
.ficha-datos h1 { font-size:clamp(1.7rem,2.7vw,2.5rem); line-height:1.16; letter-spacing:-.025em; margin-bottom:24px; }
.ficha-datos .ejes { margin-top:28px; gap:17px; }
.ficha-datos .eje { grid-template-columns:120px 1fr 46px; gap:12px; }
.ficha-datos .eje .barra { height:5px; border:0; border-radius:0; background:var(--line); }
.ficha-datos .eje .valor { font-family:var(--cz-font-display); font-size:1rem; }
.combate-destacado { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:36px; padding:36px; background:var(--panel); border:1px solid var(--line); border-radius:8px; margin-bottom:40px; }
.combate-destacado h2 { font-size:clamp(1.8rem,2.6vw,2.7rem); letter-spacing:-.03em; }
.combate-destacado p:not(.sobrelinea) { color:var(--muted); max-width:42ch; margin:20px 0; }
.combate-destacado .btn { min-height:50px; margin-top:6px; }
.mesa-tres { display:flex; align-items:center; justify-content:center; gap:12px; }
.mesa-tres > div { width:31%; aspect-ratio: .68; background:var(--bg); border:1px solid var(--line); border-radius:6px; padding:18px 8px; display:flex; flex-direction:column; justify-content:space-between; align-items:center; text-align:center; }
.mesa-tres > div:nth-child(2) { transform:translateY(-12px); border-color:var(--acc); }
.mesa-tres span { color:var(--muted); font-size:.72rem; }
.mesa-tres svg { width:60%; height:auto; color:var(--acc); }
.mesa-tres small { font-size:.65rem; color:var(--muted); }
.titulo-bloque { font-size:1.3rem; margin-bottom:22px; }
.modos-combate { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.modo-combate { position:relative; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:8px; color:var(--ink); text-decoration:none; transition:border-color .2s,background .2s; }
.modo-combate > svg { width:30px; height:30px; color:var(--acc); margin-bottom:30px; }
.modo-tipo { color:var(--muted); font-size:.69rem; margin-bottom:9px; }
.modo-combate h3 { font-size:1.4rem; }
.modo-combate p { color:var(--muted); font-size:.9rem; line-height:1.6; margin:12px 0 26px; }
.modo-accion { display:flex; justify-content:space-between; color:var(--acc); font-size:.85rem; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }
.modo-combate:hover { border-color:var(--acc); background:var(--panel); }
.nota-coleccion { padding:24px 0; color:var(--muted); }
.mesa-alineacion.tarjeta { background:transparent; border:0; padding:0; margin-top:32px; }
.mesa-alineacion > h3 { padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.mesa-alineacion .puestos { gap:18px; }
.mesa-alineacion .puesto { padding:22px; background:var(--panel); }
.mesa-alineacion .puesto > h3 { padding-bottom:14px; border-bottom:1px solid var(--line); }
.mesa-alineacion .puesto .elegida { min-height:96px; margin:12px 0 18px; }
.mesa-alineacion .puesto .elegida .foto { width:72px; height:72px; border-width:1px; }
.mesa-alineacion .decl { gap:12px; margin-bottom:18px; }
.mesa-alineacion .decl label { font-size:.75rem; }
.mesa-alineacion .decl select { font-size:.88rem; }
.mesa-alineacion > .fila:last-child { padding:20px 0; border-top:1px solid var(--line); margin-top:24px; }
.mesa-alineacion #btn-resolver { min-height:50px; min-width:160px; justify-content:center; }
#app:is([data-vista="combate"],[data-vista="demo"],[data-vista="desafio"],[data-vista="duelo"]) .marcador { padding:22px; margin:22px 0; border-block:1px solid var(--line); background:var(--bg-2); }
#app:is([data-vista="combate"],[data-vista="demo"],[data-vista="desafio"],[data-vista="duelo"]) .marcador .puntos { font-size:3rem; }
#demo-turno > h3 { font-size:1.65rem; max-width:42ch; margin:12px 0 20px; }
.resultado-final { padding:36px 22px; }
.resultado-final h2 { font-size:2.5rem; letter-spacing:-.03em; }
.tablero-retos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:28px 0; }
.tablero-retos .reto-tarjeta { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:26px; position:relative; border:1px solid var(--line); padding:28px; border-radius:8px; min-width:0; background:var(--panel); }
.tablero-retos .reto-tarjeta:last-child { border-bottom:1px solid var(--line); }
.reto-tarjeta b { display:block; font:600 1.25rem/1.3 var(--cz-font-display); margin-bottom:14px; }
.reto-tarjeta .muted { line-height:1.7; }
.reto-tarjeta .chip { white-space:normal; }
.tablero-retos .reto-tarjeta.logrado { background:var(--bg-2); border-left:3px solid var(--acc); }
.reto-tarjeta.logrado > .chip { color:var(--acc); background:transparent; padding-left:0; }
#app[data-vista="hoja"] .tabla-envoltorio { border:1px solid var(--line); border-radius:8px; margin-top:20px; }
#app[data-vista="hoja"] table { font-size:.85rem; }
#app[data-vista="hoja"] th { background:var(--panel-2); padding:16px 12px; }
#app[data-vista="hoja"] td { padding:16px 12px; }
#app[data-vista="hoja"] tbody tr:nth-child(even) { background:var(--bg-2); }
#app:is([data-vista="reglas"],[data-vista="privacidad"],[data-vista="huella"],[data-vista="ajustes"],[data-vista="piloto"]) { max-width:960px; }
#app:is([data-vista="reglas"],[data-vista="privacidad"],[data-vista="huella"],[data-vista="ajustes"],[data-vista="piloto"]) > .tarjeta { padding:28px; margin:22px 0; }
#app[data-vista="reglas"] .frases { margin:30px 0; }
#app[data-vista="reglas"] .frases li { padding:0 0 22px 58px; line-height:1.75; border-bottom:1px solid var(--line); }
#app[data-vista="reglas"] .frases li::before { border-radius:0; background:transparent; border:1px solid var(--line); color:var(--acc); top:3px; }
#app[data-vista="registrar"] > .rejilla { gap:28px; }
#app[data-vista="registrar"] .tarjeta { padding:26px; }
#app[data-vista="registrar"] .campo { margin-bottom:20px; }
#app[data-vista="objetivos"] > .tarjeta { padding:26px; }
@media (max-width:950px) { .modos-combate { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:801px) and (max-width:1000px) { .rutas-juego { grid-template-columns:repeat(2,minmax(0,1fr)); } .ruta-juego:nth-child(3) { border-left:0; } .ruta-juego:nth-child(n+3) { border-top:1px solid var(--line); } }
@media (max-width:720px) {
  .cabecera-seccion { align-items:flex-start; flex-direction:column; gap:22px; padding:16px 0 24px; }
  .cabecera-dato { text-align:left; }
  .cabecera-dato .cifra { font-size:2.5rem; }
  .cabecera-seccion h1 { font-size:2.4rem; }
  .cabecera-seccion p.muted { margin-top:12px; font-size:.94rem; }
  .progreso-pais { width:42px; }
  .pais-album > summary { gap:10px; font-size:1rem; }
  .ficha-exposicion { gap:22px; margin-top:14px; }
  .ficha-pieza { padding:22px; }
  .ficha-pieza .emblema-grande { width:220px; }
  .ficha-datos .eje { grid-template-columns:100px 1fr 42px; gap:8px; }
  .combate-destacado { grid-template-columns:1fr; padding:24px; gap:36px; }
  .mesa-tres { max-width:330px; width:100%; margin:0 auto; }
  .modos-combate, .tablero-retos { grid-template-columns:1fr; }
  .modo-combate { padding:24px; }
  .modo-combate > svg { margin-bottom:20px; }
  .mesa-alineacion .puesto { padding:14px; }
  .mesa-alineacion .puesto .elegida { min-height:76px; }
  .mesa-alineacion .puesto .elegida .foto { width:56px; height:56px; }
  #app:is([data-vista="combate"],[data-vista="demo"],[data-vista="desafio"],[data-vista="duelo"]) .marcador { padding:12px; margin:12px 0; }
  #app:is([data-vista="combate"],[data-vista="demo"],[data-vista="desafio"],[data-vista="duelo"]) .marcador .puntos { font-size:2rem; }
  #demo-turno > h3 { font-size:1.2rem; margin:10px 0; }
  #app:is([data-vista="reglas"],[data-vista="privacidad"],[data-vista="huella"],[data-vista="ajustes"],[data-vista="piloto"]) > .tarjeta { padding:20px; }
  #app[data-vista="monedario"] .cuadricula, #app[data-vista="ficha"] .cuadricula { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #app[data-vista="monedario"] .moneda, #app[data-vista="ficha"] .moneda { padding:16px 10px; }
  #app[data-vista="monedario"] .moneda .foto, #app[data-vista="ficha"] .moneda .foto { width:86px; }
  .moneda .marcas .chip { white-space:normal; font-size:.7rem; }
}
@media (prefers-reduced-motion:reduce) { .modo-combate { transition:none; } }
.configurar-rival > .fila { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:18px 0; }
.configurar-rival > .fila > div { min-width:0; }
.detalle-rival { border:0; border-top:1px solid var(--line); padding:12px 0 0; margin-bottom:0; font-size:.85rem; }
.detalle-rival[open] summary { margin-bottom:16px; }
@media (max-width:720px) { .configurar-rival > .fila { grid-template-columns:1fr; gap:12px; } }

/* Las decisiones caben dentro de la tarjeta incluso en pantallas estrechas. */
.mazos-ejes .btn { min-width: 0; flex-wrap: wrap; gap: 4px; }
.mazos-ejes .btn .peq { margin-left: 0; }
/* Mesa de duelo: paño, metal y fichas protagonistas. Colores propios para ambos temas. */
.duelo-marcador { margin: 20px 0 8px; padding: 12px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.duelo-marcador .puntos { font-size: 2.1rem; line-height: 1.2; }
.duelo-marcador .nombre { font-size: .9rem; }
.duelo-reserva { display: flex; justify-content: center; margin-top: 7px; padding-left: 6px; }
.duelo-reserva i { width: 14px; height: 14px; border-radius: 50%; margin-left: -6px; border: 1px solid #e7c987; background: linear-gradient(135deg,#f3d993,#9c6b29); box-shadow: 0 2px 3px #0008; }
.duelo-progreso { display: flex; gap: 5px; margin: 12px 0 20px; }
.duelo-progreso span { height: 4px; flex: 1; border-radius: 2px; background: var(--line); }
.duelo-progreso .completa { background: var(--acc); }
.duelo-progreso .actual { background: var(--ink); box-shadow: 0 0 8px #e2c99255; }
.duelo-consigna { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.duelo-consigna h2 { font-size: 1.2rem; margin: 0 0 4px; }
.duelo-consigna p { color: var(--muted); font-size: .85rem; margin: 0; }
.duelo-turno-icono { padding: 10px; background: var(--panel); color: var(--acc); border-radius: 50%; display: flex; }
.duelo-turno-icono svg { width: 24px; height: 24px; }
.duelo-arena.mazos-mesa { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr); align-items: center; gap: 0; padding: 26px 22px; overflow: hidden; border: 1px solid #7d714c; border-radius: 22px; color: #f5f1e8; background: radial-gradient(ellipse at 26% 42%,#427c6755,transparent 48%),radial-gradient(ellipse at 78% 48%,#344c6680,transparent 50%),repeating-linear-gradient(30deg,#ffffff03 0 1px,transparent 1px 4px),#102e29; box-shadow: inset 0 0 80px #0009, inset 0 0 0 7px #080f1140,0 14px 32px #0003; }
.duelo-arena::before { content: ''; position: absolute; z-index: -1; inset: 15px; border: 1px solid #d5b77a30; border-radius: 50%; pointer-events: none; }
.duelo-arena::after { content: ''; position: absolute; z-index: -1; width: 320px; height: 320px; border: 1px solid #d5b77a18; border-radius: 50%; left: calc(50% - 160px); top: calc(50% - 160px); box-shadow: 0 0 0 25px #d5b77a05,0 0 0 65px #d5b77a03; pointer-events: none; }
.duelo-arena .mazos-carta { min-width: 0; text-align: center; background: none; border: 0; padding: 0 14px; }
.duelo-arena h3 { font-size: .8rem; color: #ddcba7; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 12px; }
.duelo-moneda { width: min(100%,218px); aspect-ratio: 1; border-radius: 50%; margin: 0 auto 18px; background: conic-gradient(from 25deg,#936124,#ffe6a6,#b58037,#f1d088,#7a501d,#ffe6a6,#936124); box-shadow: 0 5px 0 #745327,0 8px 0 #302718,0 22px 22px #0008,0 0 40px #e5c57b15; transform: rotate(-8deg); transition: transform .25s; }
.duelo-moneda svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 1px 0 #fff8); }
:is(.duelo-moneda, .emblema) .bisel { fill: none; stroke: #fff0bd; stroke-width: 2; }
:is(.duelo-moneda, .emblema) .grabado { fill: none; stroke: #715025; stroke-width: 1; }
:is(.duelo-moneda, .emblema) .estrellas { fill: #6c4a20; }
:is(.duelo-moneda, .emblema) .nucleo { fill: #ddd2b7; stroke: #77572f; stroke-width: 3; }
:is(.duelo-moneda, .emblema) .pais { fill: #494338; font: 600 46px Bahnschrift,'Segoe UI',sans-serif; }
:is(.duelo-moneda, .emblema) .fecha { fill: #575044; font: 20px Bahnschrift,'Segoe UI',sans-serif; letter-spacing: 3px; }
:is(.duelo-moneda, .emblema) .laurel { fill: none; stroke: #867c62; stroke-width: 3; stroke-linecap: round; }
.duelo-moneda.oculta { transform: rotate(8deg); background: conic-gradient(#778d96,#d2dedc,#59717b,#bacbc9,#48616c,#c4d6d5,#778d96); box-shadow: 0 5px 0 #3a525a,0 8px 0 #172a30,0 22px 22px #0008; }
.duelo-moneda.oculta .nucleo { fill: #183940; stroke: #8ba8ae; }
.duelo-moneda.oculta .bisel { stroke: #c3d8d9; }
.duelo-moneda.oculta .grabado { stroke: #54747e; }
.duelo-moneda.oculta .estrellas { fill: #244751; }
:is(.duelo-moneda, .emblema) .sello-monedaris { fill: #e2c992; filter: drop-shadow(0 2px 1px #0009); }
.duelo-pais { display: block; font-family: var(--cz-font-display); font-size: 1.25rem; }
.duelo-motivo { font-size: .8rem; color: #c4d0ca; max-width: 290px; min-height: 38px; margin: 6px auto 10px; }
.duelo-rareza { color: #dfc58d; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.duelo-vs { font: italic 600 26px Georgia,serif; color: #e2c992; text-align: center; text-shadow: 0 2px 12px #000; }
.mazos-ejes.duelo-controles { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 18px 0 14px; }
.mazos-ejes .duelo-accion { position: relative; overflow: hidden; display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; min-height: 82px; padding: 13px 12px 19px; background: var(--panel); border: 1px solid var(--acc); color: var(--ink); border-radius: 10px; transition: transform .18s,background .18s,box-shadow .18s; }
.duelo-accion::after { content: ''; position: absolute; bottom: 0; left: 0; width: var(--valor); height: 4px; background: var(--acc); }
.mazos-ejes .duelo-accion > span:first-child { flex: 0 0 auto; font-size: 1.6rem; color: var(--acc); }
.duelo-accion > span:nth-child(2) { flex: 1; }
.duelo-accion small { display: block; font-size: .7rem; font-weight: 400; color: var(--muted); }
.duelo-accion strong { color: var(--acc); font-size: 1.2rem; text-align: right; }
.duelo-accion:hover { transform: translateY(-3px); background: var(--panel-2); box-shadow: 0 7px 20px #0003; }
.duelo-accion:active { transform: translateY(1px); }
.duelo-ayuda { font-size: .8rem; margin: 12px 0 20px; }
.duelo-ayuda p { margin: 10px 0 0; color: var(--muted); }
.duelo-veredicto { animation: duelo-entrada .35s ease-out; }
.duelo-revelada .duelo-moneda { animation: duelo-revelar .6s ease-out both; }
/* Revelado con ritmo (1.15.0): 1) solo se voltea la moneda del rival; 2) la comparación entra después del volteo;
   3) la moneda capturada se desliza hacia el ganador. Un toque (.saltada) o reduced-motion llevan al estado final. */
.duelo-arena.resuelta .duelo-mia .duelo-moneda { animation: none; }
.duelo-arena.resuelta .duelo-suya .duelo-moneda { animation: duelo-revelar .6s ease-out both; }
.duelo-comparacion { animation: duelo-entrada .4s ease-out .55s both; }
.duelo-arena.resuelta .duelo-ganadora .chip.oro { animation: duelo-entrada .3s ease-out 1.15s both; }
.duelo-arena.resuelta .duelo-capturada .duelo-moneda { animation: duelo-capturar .7s ease-in 1.1s both; }
.duelo-arena.resuelta .duelo-capturada.duelo-suya .duelo-moneda { animation: duelo-revelar .6s ease-out both, duelo-capturar .7s ease-in 1.1s both; }
.duelo-arena.resuelta .duelo-capturada.hacia-izquierda { --dir: -1; } .duelo-arena.resuelta .duelo-capturada.hacia-derecha { --dir: 1; }
@keyframes duelo-capturar { to { opacity: .3; transform: perspective(700px) rotateY(0) rotate(-8deg) translateX(calc(var(--dir,1) * 55%)) scale(.72); } }
.saltada .duelo-moneda, .saltada.duelo-comparacion, .saltada .chip.oro { animation-duration: 0s !important; animation-delay: 0s !important; }
.duelo-ganadora .duelo-moneda { box-shadow: 0 5px 0 #745327,0 8px 0 #302718,0 22px 22px #0008,0 0 55px #e5c57b66; }
.duelo-arena .ejes { text-align: left; margin-top: 14px; }
.duelo-arena .muted { color: #c4d0ca; }
@keyframes duelo-revelar { from { opacity: 0; transform: perspective(700px) rotateY(85deg) translateY(-12px); } to { opacity: 1; transform: perspective(700px) rotateY(0) rotate(-8deg); } }
@keyframes duelo-entrada { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width: 720px) {
 .duelo-arena.mazos-mesa { grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr); padding: 22px 8px; border-radius: 16px; }
 .duelo-arena .mazos-carta { padding: 0 3px; }
 .duelo-moneda { width: min(100%,170px); margin-bottom: 15px; }
 .duelo-pais { font-size: 1rem; }
 .duelo-vs { font-size: 20px; }
 .duelo-motivo { font-size: .75rem; }
 .duelo-arena h3 { font-size: .65rem; letter-spacing: .04em; }
 .mazos-ejes.duelo-controles { grid-template-columns: 1fr; gap: 7px; }
 .mazos-ejes .duelo-accion { min-height: 58px; padding: 8px 14px 12px; }
 .duelo-accion small { display: inline; margin-right: 5px; }
 .duelo-marcador { padding: 10px 8px; }
 .duelo-marcador .vs { font-size: .75rem; }
 .duelo-consigna h2 { font-size: 1rem; }
 .duelo-consigna p { font-size: .75rem; }
 .duelo-arena.resuelta .ejes { font-size: .7rem; }
}
@media(prefers-reduced-motion: reduce) {
 .duelo-revelada .duelo-moneda,.duelo-veredicto,.duelo-comparacion,.duelo-arena.resuelta .duelo-suya .duelo-moneda,.duelo-arena.resuelta .duelo-ganadora .chip.oro { animation: none; }
 .duelo-arena.resuelta .duelo-capturada .duelo-moneda,.duelo-arena.resuelta .duelo-capturada.duelo-suya .duelo-moneda { animation: none; opacity: .3; transform: perspective(700px) rotate(-8deg) translateX(calc(var(--dir,1) * 55%)) scale(.72); }
 .duelo-moneda,.mazos-ejes .duelo-accion { transition: none; }
}
.duelo-arena .eje .nombre { color: #c4d0ca; }
.duelo-arena .eje .valor { color: #e2c992; }
@media(max-width:720px) {
 .duelo-arena .eje { grid-template-columns: minmax(0,1fr) auto; gap: 3px; font-size: .7rem; }
 .duelo-arena .eje .barra { grid-column: 1 / -1; grid-row: 2; height: 4px; }
 .duelo-arena .eje .valor { grid-column: 2; grid-row: 1; }
}

/* Todas las fichas comparten la misma acuñación que las monedas del duelo. */
.emblema { border-radius:50%; background:conic-gradient(from 25deg,#936124,#ffe6a6,#b58037,#f1d088,#7a501d,#ffe6a6,#936124); box-shadow:0 2px 0 #745327,0 4px 8px #0004; }
.emblema.hueco { background:conic-gradient(#778d96,#d2dedc,#59717b,#bacbc9,#48616c,#c4d6d5,#778d96); box-shadow:0 2px 0 #3a525a; }
.emblema.hueco .nucleo { fill:#c5cfcc; stroke:#54747e; }
.emblema.hueco .bisel { stroke:#e0e8e3; }
.emblema.hueco .estrellas,.emblema.hueco .pais,.emblema.hueco .fecha { fill:#30464d; }
.emblema.hueco .grabado,.emblema.hueco .laurel { stroke:#647b80; }
.emblema.completa { box-shadow:0 2px 0 #745327,0 0 10px #e2c99255; }
.mesa-tres .duelo-moneda { width:85%; flex:none; margin:8px auto; }
.mesa-tres .duelo-moneda svg { width:100%; height:100%; }
/* Lectura inmediata de la ronda: forma, texto y color, además del sonido. */
.duelo-cab-sonido { float:right; margin-bottom:8px; }
.duelo-impacto { display:flex; align-items:center; justify-content:center; gap:20px; padding:20px; border:1px solid currentColor; border-radius:16px; margin:12px 0; animation:duelo-entrada .25s ease-out; }
.duelo-impacto.victoria { color:var(--ok); background:var(--ok-bg); }
.duelo-impacto.derrota { color:var(--bad); background:var(--bad-bg); }
.duelo-impacto.bloqueo { color:var(--block); background:var(--block-bg); }
.duelo-impacto.empate { color:var(--muted); background:var(--panel); }
.duelo-impacto-simbolo { font-size:3rem; font-weight:700; line-height:1; flex:none; }
.duelo-impacto strong { display:block; font:600 clamp(1rem,3vw,1.65rem) var(--cz-font-display); }
.duelo-impacto p { margin:5px 0 0; font-size:.85rem; }
.duelo-explicacion { font-size:.85rem; margin:10px 0; }
.duelo-final-simbolo { display:block; font-size:4rem; margin-bottom:16px; }
@media(max-width:540px) { .duelo-cab-sonido { float:none; display:flex; justify-content:flex-end; } .duelo-impacto { gap:12px; padding:15px 12px; } .duelo-impacto-simbolo { font-size:2.5rem; } }
@media(prefers-reduced-motion:reduce) { .duelo-impacto { animation:none; } }
.duelo-impacto { scroll-margin-top:100px; }
.insignias-grupo { margin:30px 0; }
.insignias-tablero { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:14px; }
.insignia { display:flex; align-items:flex-start; gap:16px; padding:20px; background:var(--panel); border:1px solid var(--line); border-radius:16px; }
.insignia > div { min-width:0; flex:1; }
.insignia-medalla { display:grid; place-items:center; width:58px; height:66px; flex:none; clip-path:polygon(50% 0,95% 22%,90% 75%,50% 100%,10% 75%,5% 22%); background:linear-gradient(140deg,#a7bbb9,#405961); color:#13292f; font-size:28px; }
.insignia.ganada { border-color:var(--acc); }
.insignia.ganada .insignia-medalla { background:linear-gradient(130deg,#ffe6a6,#ac792c); color:#4b3412; }
.insignia h3 { font-size:1.05rem; margin-bottom:8px; }
.insignia p { font-size:.85rem; color:var(--muted); }
.insignia small { color:var(--muted); font-size:.72rem; }
.insignia progress { display:block; width:100%; height:7px; margin:12px 0 4px; accent-color:var(--acc); }
.insignia-estado { font-size:.8rem; margin-top:12px; }
/* Insignias acuñadas: metal facetado, esmalte, laureles y motivo vectorial propio. */
.insignias-tablero > .insignia { padding:22px 18px; gap:16px; }
.insignia .insignia-medalla { display:block; width:100px; height:auto; flex:0 0 100px; clip-path:none; background:none; overflow:visible; filter:drop-shadow(0 5px 2px #0007) drop-shadow(0 10px 15px #0005); }
.insignia.ganada .insignia-medalla { background:none; filter:drop-shadow(0 5px 2px #0008) drop-shadow(0 0 14px #d8aa4f28); }
.insignia { background:radial-gradient(ellipse at 10% 15%,#8ba5aa10,transparent 65%),var(--panel); }
.insignia.ganada { background:radial-gradient(ellipse at 10% 15%,#d8aa4f18,transparent 65%),var(--panel); }
@media(max-width:480px) { .insignia .insignia-medalla { width:82px; flex-basis:82px; } .insignias-tablero > .insignia { gap:12px; padding:18px 12px; } }
/* La decisión cabe sin desplazarse en un móvil de 360 × 800. */
.duelo-atributo svg { width:24px; height:24px; }
.duelo-accion::before { content:''; position:absolute; bottom:0; left:50%; height:7px; width:2px; background:var(--ink); z-index:1; }
.duelo-accion.destacada { border-width:2px; }
:focus-visible { outline:3px solid var(--focus); box-shadow:0 0 0 5px var(--bg),0 0 0 7px var(--ink); }
@media(max-width:720px) {
 main:has(#mazos-turno) { padding-top:8px; }
 main:has(#mazos-turno) > p:has(a[href="#/combate"]) { display:none; }
 main:has(#mazos-turno) h1 { font-size:1rem; }
 main:has(#mazos-turno) .duelo-cab-sonido { float:right; margin:0; }
 .duelo-composicion { margin:4px 0; font-size:.7rem; }
 .duelo-marcador { margin:4px 0; padding:4px 8px; }
 .duelo-marcador .puntos { font-size:1.4rem; }
 .duelo-marcador .duelo-reserva { display:none; }
 .duelo-progreso { margin:5px 0 8px; }
 .duelo-consigna { margin-bottom:8px; }
 .duelo-consigna p,.duelo-turno-icono { display:none; }
 #mazos-turno .duelo-arena { grid-template-columns:minmax(0,1fr); padding:10px; }
 #mazos-turno .mazos-carta:not(.duelo-rival) { display:grid; grid-template-columns:76px minmax(0,1fr); column-gap:12px; text-align:left; align-items:center; }
 #mazos-turno .duelo-moneda { width:70px; grid-row:1 / 5; grid-column:1; margin:4px; }
 #mazos-turno .mazos-carta h3 { grid-column:2; margin:0; font-size:.65rem; }
 #mazos-turno .duelo-pais { grid-column:2; font-size:.95rem; }
 #mazos-turno .duelo-motivo { grid-column:2; min-height:0; margin:2px 0; font-size:.7rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
 #mazos-turno .duelo-rareza { display:none; }
 #mazos-turno .duelo-vs { display:none; }
 #mazos-turno .duelo-rival { display:flex; gap:7px; align-items:center; justify-content:center; margin-top:8px; }
 #mazos-turno .duelo-rival .duelo-moneda { width:24px; margin:0; }
 #mazos-turno .duelo-rival .duelo-pais,#mazos-turno .duelo-rival .duelo-motivo { display:none; }
 #mazos-turno .duelo-rival h3 { font-size:.65rem; }
 .mazos-ejes.duelo-controles { margin:10px 0; }
 .duelo-accion > span:nth-child(2) small:last-child { display:block; font-size:.66rem; }
 .mazos-ejes .duelo-accion { min-height:60px; }
}

/* Inicio: escaparate de juego y desafío diario, con la misma acuñación del duelo. */
.portales-inicio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0;grid-column:1/-1}
.portal-juego{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);text-decoration:none;transition:transform .2s,border-color .2s;min-width:0}
.portal-juego:hover{transform:translateY(-4px);border-color:var(--acc)}
.portal-juego>div:last-child{padding:22px}.portal-juego h2{font-size:1.5rem;margin:6px 0 10px}.portal-juego p{color:var(--muted);min-height:3em}.portal-entrar{color:var(--acc);display:flex;justify-content:space-between;font-weight:700;margin-top:20px}
.portal-arte{height:200px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 50% 85%,#315347,#0d201d 70%);isolation:isolate;border-bottom:1px solid #4a5144}
.portal-arte:after{content:"";position:absolute;inset:18px;border:1px solid #d5b77a40;border-radius:50%;z-index:-1}
.portal-arte .duelo-moneda{width:132px!important;height:132px!important;margin:0 -15px!important;filter:drop-shadow(0 14px 10px #0009);transform:rotate(-16deg)}
.portal-arte .duelo-moneda+ .duelo-moneda{transform:translateY(12px) rotate(18deg)}
.portal-arte.album{background:repeating-linear-gradient(90deg,#26333b 0 70px,#34414b 71px 72px)}
.portal-arte.insignias{background:radial-gradient(ellipse at center,#654a2a,#1b1612 75%)}
.portal-arte.insignias svg{width:160px;height:180px;filter:drop-shadow(0 10px 10px #0009)}
.diario-portada{grid-column:1/-1;display:grid;grid-template-columns:minmax(160px,.7fr) 1.5fr;gap:36px;align-items:center;padding:32px;border:1px solid #a88a52;border-radius:20px;background:radial-gradient(ellipse at 15% 50%,#384e41,transparent 60%),#121e1c;color:#f5f1e8;margin:24px 0;overflow:hidden}
.diario-portada h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;margin:8px 0 16px}.diario-portada p{max-width:58ch}.diario-trofeo{position:relative;text-align:center}.diario-trofeo .duelo-moneda{width:min(100%,250px);margin:auto;filter:drop-shadow(0 22px 16px #0009)}.diario-trofeo>span{display:block;color:#e2c992;font-size:50px;margin-top:-30px;position:relative;text-shadow:0 4px 10px #000}
.sellos-diarios{display:flex;gap:12px;margin:22px 0}.sellos-diarios>span{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;font-size:.85rem}.sellos-diarios b{display:grid;place-items:center;width:48px;height:54px;clip-path:polygon(50% 0,96% 22%,90% 78%,50% 100%,10% 78%,4% 22%);background:linear-gradient(120deg,#8d9c9f,#35474c);color:#101a1d;font-size:24px}.sellos-diarios .ganado b{background:linear-gradient(120deg,#fff1b6,#cb9440,#f8dc89)}.sellos-diarios small{font-size:.7rem;opacity:.8}.diario-contexto{color:var(--acc);font-size:.85rem}.diario-balance{max-width:470px;margin:18px auto}
@media(max-width:720px){.portales-inicio{grid-template-columns:1fr;gap:12px}.portal-juego{flex-direction:row}.portal-arte{width:110px;height:auto;flex-shrink:0;border-bottom:0}.portal-arte .duelo-moneda{width:83px!important;height:83px!important;margin:0 -30px!important}.portal-arte.insignias svg{width:98px;height:125px}.portal-juego>div:last-child{padding:16px}.portal-juego h2{font-size:1.15rem}.portal-juego p{font-size:.85rem;min-height:0}.portal-entrar{margin-top:10px}.diario-portada{grid-template-columns:1fr;padding:22px;gap:8px}.diario-trofeo .duelo-moneda{width:120px}.diario-trofeo>span{font-size:32px;margin-top:-24px}.diario-portada h2{font-size:1.8rem}.diario-portada p{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.portal-juego{transition:none}.portal-juego:hover{transform:none}}

/* Mesa compacta: decisión y resolución visibles; las explicaciones se despliegan a petición. */
main:has(.duelo-marcador){padding-top:10px;padding-bottom:12px}
body:has(.duelo-marcador) .pie,body:has(.duelo-marcador) .cinta{display:none}
main:has(.duelo-marcador)>p:has(a[href="#/combate"]){display:none}
main:has(.duelo-marcador) h1{font-size:1.15rem}
main:has(.duelo-marcador) .duelo-cab-sonido{float:right;margin:0}
main:has(.duelo-marcador) .diario-contexto{margin:0 0 4px;font-size:.75rem}
.duelo-composicion{margin:4px 0;font-size:.72rem}
.duelo-marcador{margin:5px 0;padding:5px 12px}
.duelo-marcador .puntos{font-size:1.55rem}.duelo-marcador .duelo-reserva{display:none}
.duelo-progreso{margin:6px 0 9px}.duelo-consigna{margin-bottom:9px}
.duelo-consigna p{display:none}.duelo-turno-icono{padding:5px}.duelo-consigna h2{font-size:1.05rem}
main:has(.duelo-marcador) .duelo-arena{padding:12px;border-radius:15px}
main:has(.duelo-marcador) .duelo-moneda{width:clamp(80px,18dvh,145px);margin-bottom:10px}
main:has(.duelo-marcador) .duelo-arena h3{margin-bottom:6px}
main:has(.duelo-marcador) .duelo-pais{font-size:1rem}
main:has(.duelo-marcador) .duelo-motivo{min-height:0;font-size:.75rem;margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
main:has(.duelo-marcador) .duelo-rareza{display:none}
.mazos-ejes.duelo-controles{margin:9px 0;gap:7px}.mazos-ejes .duelo-accion{min-height:66px;padding:8px 10px 12px}
.duelo-ayuda{margin:5px 0;font-size:.75rem}
main:has(.duelo-marcador)>details{margin:6px 0;padding:6px 10px}
.duelo-arena.resuelta .ejes{display:none}
main:has(.duelo-marcador) .duelo-impacto{padding:10px;margin:6px 0;min-height:0}
main:has(.duelo-marcador) .duelo-impacto-simbolo{font-size:2rem}
@media(max-width:720px){
 main:has(.duelo-marcador){padding-bottom:76px}
 #mazos-turno .duelo-moneda{width:64px;margin:2px}
 #mazos-turno .duelo-rival .duelo-moneda{width:24px;margin:0}
 #mazos-turno .duelo-arena{padding:7px}
 #mazos-turno .mazos-carta:not(.duelo-rival){grid-template-columns:68px minmax(0,1fr)}
 .mazos-ejes .duelo-accion{min-height:52px;padding:6px 9px 9px}
 .duelo-arena.resuelta .duelo-moneda{width:72px}
 main:has(.duelo-marcador) .duelo-impacto strong{font-size:1rem}
}
@media(max-height:650px) and (min-width:721px){
 #mazos-turno{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,1fr);gap:8px 14px}
 #mazos-turno .duelo-consigna,#mazos-turno .duelo-ayuda{grid-column:1/-1}
 #mazos-turno .duelo-controles{grid-template-columns:1fr;margin:0}
 main:has(.duelo-marcador) .duelo-moneda{width:95px}
}

/* Resultado integrado en el marcador: color, símbolo y texto, sin cartel adicional. */
.duelo-marcador.marcador-victoria{background:#173526;border-color:#82c99a;color:#e4f9e9}
.duelo-marcador.marcador-derrota{background:#412226;border-color:#ef9299;color:#ffe8e9}
.duelo-marcador:is(.marcador-bloqueo,.marcador-empate){background:#303438;border-color:#aab1b7;color:#f0f1f2}
.duelo-marcador[class*="marcador-"] .puntos,.duelo-marcador[class*="marcador-"] .muted,.duelo-marcador[class*="marcador-"] .vs{color:inherit}
.marcador-veredicto{display:block;font-size:.95rem;line-height:1.2;margin-bottom:4px}
.marcador-veredicto span{margin-right:3px}
@media(max-width:720px){.marcador-veredicto{font-size:.75rem}.duelo-marcador .vs{max-width:150px}}

/* Salas de duelo: entrada clara y tablero compartido. */
.online-entrada input{display:block;width:100%;max-width:360px;margin:8px 0 18px}.online-entrada .rejilla{gap:28px}.online-espera{text-align:center}.online-sello{max-width:150px;margin:auto}.online-codigo{display:block;font-size:clamp(24px,5vw,40px);letter-spacing:.16em;color:var(--oro,#d6ba76);margin:16px}.online-estado{padding:14px;border:1px solid #466558;border-radius:12px;background:#13251e;color:#f8f3e7}.online-espera .btn{margin:8px}

/* Invitación compacta: dos monedas, sin las proporciones de la antigua mesa de cartas. */
.duelo-invitacion{grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:24px 30px;margin-bottom:24px;background:radial-gradient(ellipse at 85% 50%,#19403966,transparent 55%),var(--panel)}
.duelo-invitacion h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:8px 0;line-height:1.15}
.duelo-invitacion p:not(.sobrelinea){max-width:49ch;margin:10px 0 14px}
.duelo-invitacion .sobrelinea{margin:0}
.duelo-invitacion .btn{min-height:44px;margin:0}
.monedas-enfrentadas{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;padding:12px 0}
.monedas-enfrentadas .duelo-moneda{width:130px;height:130px;flex:0 0 130px;margin:0;transform:perspective(500px) rotateY(20deg) rotate(-10deg)}
.monedas-enfrentadas .duelo-moneda.oculta{transform:perspective(500px) rotateY(-20deg) rotate(10deg)}
.monedas-enfrentadas>span{font:italic 700 22px Georgia,serif;color:var(--acc)}
@media(max-width:700px){.duelo-invitacion{grid-template-columns:minmax(0,1fr) 180px;padding:20px;gap:14px}.monedas-enfrentadas{gap:6px}.monedas-enfrentadas .duelo-moneda{width:74px;height:74px;flex-basis:74px}.monedas-enfrentadas>span{font-size:16px}}
@media(max-width:460px){.duelo-invitacion{grid-template-columns:1fr;gap:8px}.monedas-enfrentadas{grid-row:1;padding:0 0 10px}.duelo-invitacion h2{font-size:1.4rem}}

.monedas-enfrentadas .duelo-moneda:not(.oculta) .sello-monedaris{fill:#79531e}

/* Álbum: acciones fuera del enlace, utilizables también con teclado. */
.entrada-album{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.entrada-album>.moneda{flex:1;border:0;border-radius:0}
.cantidad-album{padding:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:.8rem}
.cantidad-album>div{display:flex;gap:8px}.cantidad-album button{min-height:44px;flex:1}

.ruta-monedas{display:flex;justify-content:center;gap:10px;padding:18px 0}.ruta-monedas svg{width:84px;height:84px}.ruta-monedas svg:nth-child(2){transform:translateY(-10px)}
#objetivo-personal{display:flex;flex-wrap:wrap;align-items:center;gap:12px}#objetivo-elegido{max-width:100%;flex:1 1 260px}
.ruta-descubrimiento{border-top:2px solid var(--acc)}

.imagen-catalogo { display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%; }
.imagen-catalogo img {width:100%;height:100%;object-fit:contain;filter:none!important;border-radius:0!important;}
.imagen-catalogo.grande {width:min(100%,320px);height:320px;}
.imagen-catalogo.foto-encapsulada {border-radius:50%;overflow:hidden;background:var(--fondo-foto,#fff);box-shadow:inset 0 0 0 1px #0000001f,0 0 0 1px #ffffff1a;}
/* El marco de la ficha es más alto que ancho: sin esto el «círculo» sería una elipse y la
   moneda no llegaría a los lados. */
.imagen-catalogo.grande.foto-encapsulada {height:auto;aspect-ratio:1;}
.imagen-catalogo.foto-encapsulada img {transform:translate(var(--dx-foto,0),var(--dy-foto,0)) scale(var(--zoom-foto,1));}
/* En la ventana de ampliar se declara «imagen completa, sin recorte»: ahí se muestra entera. */
.zoom-moneda .imagen-catalogo.foto-encapsulada {border-radius:0;background:none;box-shadow:none;}
.imagen-catalogo [hidden] {display:none;}
.fallo-imagen {font-size:12px;color:var(--muted);}
.zoom-moneda {max-width:min(92vw,640px);text-align:center;}
.zoom-moneda .imagen-catalogo.grande {width:min(75vw,460px);height:min(75vw,460px);}
.zoom-moneda::backdrop {background:#000c;}
.historia-moneda p {max-width:85ch;line-height:1.7;}

.sync-ui {max-width:860px;}
.sync-ui .btn {margin:6px 8px 6px 0;}
.sync-ui fieldset {margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:12px;}
.sync-ui label {display:block;margin:12px 0;}
.sync-ui label input:not([type=checkbox]) {display:block;width:100%;margin-top:6px;}
.sync-ui code {user-select:all;font-size:14px;}
.ruta-monedas a {width:84px;display:block;}
/* Ayudas breves y misión táctica: comparten los materiales de la mesa. */
.entrada-tutorial,.guia-duelo,.mision-diaria{display:flex;align-items:center;gap:16px;border:1px solid #665431;border-radius:12px;background:linear-gradient(120deg,#252218,#11191b);padding:14px 18px;margin:14px 0;color:#f6f0df}
.entrada-tutorial{justify-content:space-between}.entrada-tutorial p,.guia-duelo p,.mision-diaria p{margin:4px 0;font-size:.9rem;line-height:1.5}.entrada-tutorial .btn,.guia-duelo .btn{flex-shrink:0}
.guia-duelo{border-left:3px solid #d7bb78}.guia-duelo>div{flex:1}.mision-diaria small{color:#c6c6b8}.mision-emblema{display:grid;place-items:center;flex:0 0 48px;height:56px;color:#f1d58f;font-size:1.9rem;background:radial-gradient(ellipse at 30% 20%,#6e582b,#28241b);border:1px solid #c2a664;border-radius:24px 24px 18px 18px;box-shadow:inset 0 0 0 3px #29281d,0 3px 12px #0006}.mision-diaria.conseguida{border-color:#8baf80}
@media(max-width:600px){.entrada-tutorial,.guia-duelo{align-items:stretch;flex-direction:column;gap:8px;padding:12px}.entrada-tutorial .btn,.guia-duelo .btn{align-self:flex-start}.mision-diaria{padding:10px;gap:10px}.mision-diaria p,.guia-duelo p{font-size:.83rem}.mision-diaria small{font-size:.72rem}}

/* Circuito: tres medallones acuñados en los metales de sus mesas. */
.circuito-progreso{padding:12px 0;border-bottom:1px solid #74613d}.circuito-mesas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.rival-mesa{--metal:#c89561;--oscuro:#493124;display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--metal);border-radius:18px;background:radial-gradient(ellipse at 50% 0%,var(--oscuro),transparent 65%),#10191b}.rival-mesa.plata,.rival-medallon.plata{--metal:#b3c7cd;--oscuro:#2e444c}.rival-mesa.oro,.rival-medallon.oro{--metal:#edc96f;--oscuro:#574623}.rival-mesa.cerrada{border-color:#465255}.rival-mesa.cerrada .rival-medallon{opacity:.6}.rival-mesa h2{font-size:1.7rem;margin:3px 0}.rival-mesa p{font-size:.9rem;line-height:1.55}.rival-mesa .sobrelinea{color:var(--metal);margin-bottom:0}.rival-lema{font-style:italic;color:var(--metal)}.rival-estado{margin-top:auto;padding-top:16px;font-weight:700}.rival-mesa .btn{width:100%;text-align:center}.rival-medallon{--metal:#c89561;--oscuro:#493124;width:110px;height:110px;align-self:center;filter:drop-shadow(0 8px 9px #0008);margin:0 auto 12px}.rival-bisel{fill:var(--metal);stroke:#f6edce;stroke-width:1.5}.rival-anillo{fill:none;stroke:var(--oscuro);stroke-width:3;stroke-dasharray:2 2}.rival-centro{fill:var(--oscuro);stroke:var(--metal);stroke-width:2}.rival-grabado{fill:none;stroke:var(--metal);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.circuito-balance{margin:20px auto;padding:20px;border:1px solid #8e7950;border-radius:16px;max-width:620px;background:#131e1f}.circuito-balance .rival-medallon{width:76px;height:76px}.circuito-balance .btn{margin:6px}.rival-mesa .btn:focus-visible{outline:3px solid #f6edce;outline-offset:4px}
@media(max-width:760px){.circuito-mesas{grid-template-columns:1fr;gap:14px}.rival-mesa{padding:20px;display:block}.rival-mesa .rival-medallon{float:right;width:76px;height:76px;margin:0 0 12px 12px}.rival-mesa .btn{display:block;clear:both}.rival-mesa h2{font-size:1.45rem}.rival-estado{padding-top:6px}}

main[data-vista="circuito"] .cabecera-seccion{padding:8px 0 14px;margin-bottom:8px}main[data-vista="circuito"] .cabecera-seccion h1{font-size:clamp(2rem,3vw,2.7rem)}main[data-vista="circuito"] .cabecera-seccion p.muted{max-width:85ch;margin-top:10px}.circuito-mesas{margin-top:16px}.circuito-mesas .rival-medallon{width:86px;height:86px;margin-bottom:4px}.rival-mesa{padding:18px}.rival-mesa p{margin:8px 0}.rival-mesa .rival-estado{margin-top:auto}

/* Galería: caras completas y créditos legibles, con mayor espacio que el álbum. */
#app[data-vista="galeria"] .cuadricula { grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr)); gap:20px; margin-bottom:24px; }
#app[data-vista="galeria"] .moneda {padding:20px;gap:10px;}
#app[data-vista="galeria"] .moneda .foto {width:min(100%,180px);height:180px;border:0;border-radius:0;overflow:visible;background:transparent;}
#app[data-vista="galeria"] .moneda > small {font-size:.72rem;line-height:1.4;order:4;}
#app[data-vista="galeria"] .moneda .pais {font-size:.9rem;color:var(--acc);}
#app[data-vista="galeria"] .moneda .motivo {font-size:1rem;}

.imagen-catalogo > svg {width:100%;height:100%;display:block;}
.filtros-galeria {align-items:end;gap:12px;flex-wrap:wrap;}
.filtros-galeria label {display:grid;gap:6px;flex:1 1 180px;}
.filtros-galeria input,.filtros-galeria select {width:100%;min-width:0;}
#app[data-vista="galeria"] .moneda .foto svg {width:100%;height:100%;}

.galeria-busqueda {margin:16px 0;}
.galeria-busqueda summary {cursor:pointer;color:var(--acc);padding:12px 0;}
@media(max-width:600px){#app[data-vista="galeria"] .cabecera-seccion{padding:12px 0 16px;margin-bottom:12px;}#app[data-vista="galeria"] .cabecera-seccion h1{font-size:2rem;}}

.duelo-comparacion {padding:10px 16px;margin:10px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:center;}
.duelo-comparacion-valores {display:flex;align-items:center;justify-content:center;gap:24px;margin:4px 0;}
.duelo-comparacion-valores span {display:grid;min-width:0;}
.duelo-comparacion-valores strong {font-size:1.8rem;line-height:1.15;color:var(--acc);font-variant-numeric:tabular-nums;}
.duelo-comparacion-valores small {font-size:.75rem;overflow-wrap:anywhere;}
.duelo-comparacion p {margin:3px 0;font-size:.85rem;}
@media(max-width:600px){.duelo-comparacion{padding:8px}.duelo-comparacion-valores{gap:14px}.duelo-comparacion-valores strong{font-size:1.5rem}}

/* Aprende (1.13.0) */
.quiz-opciones{display:grid;gap:10px;margin:14px 0}
.quiz-opcion{text-align:left;white-space:normal;line-height:1.3}
.quiz-opcion.acierto{border-color:var(--ok);color:var(--ok);background:var(--ok-bg);font-weight:700}
.quiz-opcion.fallo{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
.quiz-opcion.acierto::before{content:"✓ "}.quiz-opcion.fallo::before{content:"✗ "}
.quiz-opcion[disabled]{opacity:1;cursor:default}
.quiz-opcion[disabled]:not(.acierto):not(.fallo){opacity:.55}

/* 1.27 · una misión visible antes que el catálogo de posibilidades. */
.mision-principal{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;align-items:center;margin:22px 0;padding:26px 30px;border:1px solid #745f33;border-radius:16px;background:radial-gradient(circle at 6% 50%,rgba(213,183,122,.18),transparent 34%),linear-gradient(120deg,#1f1c15,#11191b);color:#f6f0df;overflow:hidden}
.mision-principal h2{font-size:clamp(1.45rem,3vw,2.15rem);max-width:25ch;margin-bottom:8px}.mision-principal p:not(.sobrelinea){max-width:68ch;color:#d2d7d9}.mision-principal .fila{margin-top:16px}
.mision-numero{font-family:var(--cz-font-display);font-size:3.2rem;font-weight:700;line-height:1;color:var(--cz-gold);text-align:center;text-shadow:0 0 28px rgba(213,183,122,.2)}
.inicio-sin-coleccion{margin:24px 0}.inicio-atajos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inicio-atajos a{display:flex;flex-direction:column;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none}.inicio-atajos a:hover{border-color:var(--acc)}.inicio-atajos span{font-size:.85rem;color:var(--muted)}
.inicio-explorar{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.inicio-explorar>summary{cursor:pointer;font-weight:700;color:var(--acc);padding:6px 0}.inicio-explorar .portales-inicio{margin-bottom:10px}
.monedario-acciones-principales{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.monedario-piezas{margin-left:auto;color:var(--muted);font-size:.9rem}.monedario-herramientas>details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.monedario-herramientas>details>summary{cursor:pointer;font-weight:600;color:var(--acc)}.monedario-acciones-secundarias{margin-top:12px}
@media(max-width:600px){.mision-principal{grid-template-columns:54px minmax(0,1fr);gap:14px;padding:20px 16px}.mision-numero{font-size:2.15rem}.mision-principal .fila{align-items:stretch;flex-direction:column}.mision-principal .btn{width:100%;text-align:center}.inicio-atajos{grid-template-columns:1fr}.monedario-piezas{width:100%;margin-left:0}.monedario-acciones-principales .btn{flex:1 1 140px;text-align:center}}
.quiz-ficha .fila{align-items:flex-start;flex-wrap:nowrap}
.quiz-ficha .emblema,.quiz-ficha svg{width:72px;height:72px;flex-shrink:0}
.quiz-repaso{padding-left:0;list-style:none;margin:12px 0}
.quiz-repaso li{display:flex;gap:8px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)}
.quiz-repaso li>span{font-weight:700;flex-shrink:0}
.quiz-repaso li.acierto>span{color:var(--ok)}.quiz-repaso li.fallo>span{color:var(--bad)}
.quiz-final h2{font-size:2.4rem;margin:0 0 6px}
@media(max-width:720px){.quiz-ficha .fila{flex-wrap:wrap}}
.quiz-racha .cifra,.quiz-marca .cifra{font-size:2.6rem;line-height:1}
.quiz-racha,.quiz-marca{text-align:right;flex-shrink:0}
.quiz-cabecera-racha{align-items:flex-start;margin-bottom:6px}
.quiz-racha-fin h2{font-size:2rem}

/* Caza rápida (1.16.0) */
.rapido-paises{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rapido-anios{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:8px}
.rapido-lista li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rapido-lista li>div{flex:1;min-width:0}
.rapido-moneda .emblema,.rapido-moneda svg{width:56px;height:56px;flex-shrink:0}
.rapido-moneda .btn{min-width:84px}
.rapido-hecho{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Comunidad · cifras y ranking (1.17.0) */
.cifras-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:14px 0}
.cifra-tarjeta{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px}
.cifra-tarjeta .cifra{font-size:1.9rem;line-height:1}
.ranking-lista{list-style:none;padding:0;margin:8px 0 0}
.ranking-lista li{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)}
.ranking-lista li b{flex:1}
.ranking-lista li.propio b{color:var(--acc)}
.ranking-lista .puesto{width:2ch;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.cifras-inicio{grid-column:1/-1;margin:-8px 0 6px}

/* La comparación forma parte del marcador; la mesa conserva su sitio. */
#app .duelo-marcador:has(.duelo-comparacion) {
  grid-template-columns:minmax(64px,1fr) minmax(0,340px) minmax(64px,1fr);
  gap:12px; padding:10px 16px; margin:6px 0;
  background-image:radial-gradient(ellipse at 50% 100%,#d6b97818,transparent 70%);
  box-shadow:inset 0 1px 0 #d6b97844;
}
#app .duelo-marcador:has(.duelo-comparacion) .vs {max-width:none;min-width:0;font-size:.7rem;}
#app .duelo-marcador:has(.duelo-comparacion) .puntos {font-size:clamp(2rem,4vw,3rem);line-height:1.1;}
.duelo-marcador .duelo-comparacion {border:0;border-radius:0;border-top:1px solid #d6b97840;background:none;padding:4px 0 0;margin:5px 0 0;}
.duelo-marcador .duelo-comparacion>b {font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--acc);}
.duelo-marcador .duelo-comparacion-valores {gap:12px;margin:2px 0;}
.duelo-marcador .duelo-comparacion-valores>span:not(.comparacion-signo) {flex:1;}
.duelo-marcador .duelo-comparacion-valores strong {font-family:var(--cz-font-display);font-size:1.65rem;}
.duelo-marcador .comparacion-signo {border:1px solid #d6b97866;border-radius:50%;width:24px;height:24px;place-content:center;color:var(--acc);}
.duelo-marcador .duelo-comparacion-valores small {font-size:.65rem;line-height:1.2;}
.duelo-marcador .duelo-comparacion p {font-size:.7rem;line-height:1.25;margin:2px 0 0;}
@media(max-width:600px) {
  #app .duelo-marcador:has(.duelo-comparacion) {grid-template-columns:minmax(48px,1fr) minmax(0,190px) minmax(48px,1fr);gap:6px;padding:8px 6px;}
  #app .duelo-marcador:has(.duelo-comparacion) .nombre,.duelo-marcador:has(.duelo-comparacion)>div>b {font-size:.7rem;overflow-wrap:anywhere;}
  .duelo-marcador .duelo-comparacion-valores {gap:5px;}
  .duelo-marcador .duelo-comparacion-valores strong {font-size:1.4rem;}
  .duelo-marcador .duelo-comparacion-valores small {font-size:.6rem;}
}

.online-mazos-guardados{margin:10px 0;padding:8px 12px;border:1px dashed var(--line);border-radius:12px}.online-mazos-guardados summary{cursor:pointer;font-weight:600}.online-mazos-guardados li{padding:6px 0;border-bottom:1px solid var(--line);gap:8px}.online-mazos-guardados li:last-child{border-bottom:0}.online-mazos-guardados #online-nombre-mazo{flex:1 1 160px;min-width:0}
.online-mazo-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:440px;overflow:auto;margin:12px 0;padding:3px;}
.online-moneda{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;cursor:pointer;background:var(--bg);}
.online-moneda[hidden]{display:none;}
.online-moneda:has(:checked){border-color:var(--acc);background:#d6b97814;box-shadow:inset 3px 0 var(--acc);}
.online-moneda:has(:focus-visible){outline:2px solid var(--acc);outline-offset:2px;}
.online-moneda input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--acc);}
.online-moneda small{display:block;font-size:.7rem;line-height:1.4;margin-top:3px;}
.online-miniatura{width:48px;flex:0 0 48px;}.online-miniatura svg{width:48px;height:48px;}
.online-moneda>span:last-child{min-width:0;overflow-wrap:anywhere;}
.online-bloqueado{border-color:var(--acc);}.online-bloqueado .btn{margin:4px;}
@media(max-width:600px){.online-mazo-lista{grid-template-columns:1fr;max-height:380px;}.online-preparacion{padding:12px}.online-miniatura{width:40px;flex-basis:40px}.online-miniatura svg{width:40px;height:40px}}

/* ── Tienda (1.19.0): equipo con enlaces de afiliación. Pictogramas propios; sin imágenes ni precios de Amazon. ── */
.tienda-filtros{margin:0 0 22px}
.tienda-filtros .chip{text-decoration:none;padding:6px 12px;font-size:.84rem;color:var(--ink)}
.tienda-filtros .chip:hover{border-color:var(--acc)}
.tienda-filtros .chip.oro{color:var(--acc);background:#d5b77a14}
.tienda-categoria{margin:26px 0 14px}
.tienda-categoria>.fila{align-items:flex-start;gap:14px;margin-bottom:14px}
.tienda-categoria>.fila>.tienda-picto{width:44px;height:44px;flex:0 0 44px;color:var(--acc);margin-top:2px}
.tienda-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:14px}
.tienda-producto{display:flex;flex-direction:column;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--cz-radius);padding:18px 18px 16px;min-width:0;transition:border-color .2s,transform .2s}
.tienda-producto:hover{border-color:var(--acc);transform:translateY(-2px)}
.tienda-producto.destacado{background:linear-gradient(160deg,var(--panel),var(--panel-2));border-color:#d5b77a66}
.tienda-producto>.tienda-picto{width:56px;height:56px;color:var(--acc);background:var(--bg-2);border-radius:50%;padding:11px;border:1px solid var(--line)}
.tienda-producto .sobrelinea{margin-bottom:4px;font-size:.66rem}
.tienda-producto h3{font-size:1.08rem;margin:0 0 6px}
.tienda-producto>div{flex:1}
.tienda-producto>div p{margin:0 0 .5em}
.tienda-detalle{border-left:2px solid var(--line);padding-left:10px}
.tienda-producto .btn{align-self:flex-start}
.tienda-recomendacion{margin:0 0 10px;border-color:var(--acc)}
.tienda-recomendacion .tienda-rejilla{margin-top:12px}
.tienda-aviso{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);max-width:80ch}
:root[data-tema="claro"] .tienda-filtros .chip.oro{background:#85662714}
:root[data-tema="claro"] .tienda-producto.destacado{border-color:#85662780}
@media(max-width:600px){.tienda-categoria{margin-top:18px}.tienda-producto{padding:14px}.tienda-producto>.tienda-picto{width:48px;height:48px;padding:9px}.tienda-filtros{gap:6px}.tienda-filtros .chip{padding:5px 10px;font-size:.8rem}}

/* Álbum: hojas de colección con tres monedas como identificador del país. */
.album-paises{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.album-pais{display:block;padding:22px;border:1px solid var(--line);border-top:3px solid var(--acc);border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none}
.album-pais:hover{border-color:var(--acc)}
.album-muestras{display:flex;align-items:center;gap:8px;margin-bottom:20px;pointer-events:none}
.album-muestras>span{width:72px;height:72px;display:block}.album-muestras svg{width:100%;height:100%}
.album-pais>span{color:var(--acc)}.album-pais progress,.album-portada progress{width:100%;accent-color:var(--acc);margin:8px 0 18px}
.album-portada{padding:24px;border:1px solid var(--acc);border-radius:12px;background:var(--panel);margin-bottom:20px}
.album-filtros{margin-bottom:18px}.pistas-moneda{padding:18px;border-left:3px solid var(--acc);background:var(--panel-2);margin:18px 0}.pistas-moneda ul{padding-left:20px}.pistas-moneda li+li{margin-top:8px}

/* Lupa de inspección: original completo y detalle separado a escala triple. */
.lupa-detalle{position:fixed;z-index:1000;overflow:hidden;pointer-events:none;border:2px solid var(--acc);border-radius:50%;background:var(--bg);box-shadow:0 8px 32px #0008}
.lupa-detalle img{position:absolute;max-width:none!important;max-height:none!important;object-fit:fill!important;margin:0!important;border-radius:0!important}
.lupa-detalle>span{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);padding:2px 10px;border-radius:20px;background:var(--bg);color:var(--ink);font-size:12px;white-space:nowrap}
.lupa-zona{position:fixed;z-index:999;pointer-events:none;border:1px solid var(--acc);border-radius:50%;background:#d5b77a18}
@media(hover:hover) and (min-width:900px){.lupa-disponible>img{cursor:crosshair}}
@media(hover:none),(max-width:899px){.ayuda-lupa,.lupa-detalle,.lupa-zona{display:none}}
/* Contexto de la ficha (1.22.0) */
.contexto-moneda li{margin:6px 0}.tabla-contexto{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:8px}.tabla-contexto th,.tabla-contexto td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.tabla-contexto td:nth-child(3){white-space:normal;min-width:160px}.tabla-contexto tr.esta td{background:#d6b97822;font-weight:600}
/* Prestigio (1.23.0) */
.chip.prestigio{background:#d6b97833;border-color:#d6b978;font-weight:700}.duelo-canto{margin:8px 0;padding:10px 14px;border-radius:12px;background:#d6b97822;border:1px solid #d6b978;font-weight:700;letter-spacing:.02em;text-align:center}.duelo-canto.gran{background:#d6b97844;box-shadow:0 0 0 3px #d6b97833}.duelo-pista-canto{margin:8px 0;padding:8px 12px;border-left:3px solid #d6b978;background:#d6b97814;font-size:.9rem}.duelo-robo .mazos-mesa{flex-wrap:wrap;justify-content:center}
/* Mis mazos (1.25.0) */
.mazo-guardado h3{font-size:1.05rem}.analisis-mazo{margin:10px 0}.constructor-mazo .online-mazo-lista{max-height:520px}#constructor-nombre{flex:1 1 200px;min-width:0}
/* El reloj no modifica las reglas: siempre confirma los vencimientos el servidor. */
.online-reloj { font-variant-numeric: tabular-nums; padding: .7rem 1rem; border: 2px solid currentColor; border-radius: .6rem; }
.online-reloj.urgente { color: var(--bad, #a32c25); font-weight: 700; }

/* Combate 1.28: jerarquía de retransmisión, mesa protagonista y decisión legible. */
.duelo-marcador{position:relative;overflow:hidden;border-color:#d6b97855;border-radius:14px;background:linear-gradient(180deg,#171b1d,#101416);box-shadow:inset 0 1px #fff1,0 8px 24px #0002;color:#f5f1e8}
.duelo-marcador::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--acc),transparent)}
.duelo-marcador .nombre,.duelo-marcador>b,.duelo-marcador>div>b{color:#f5f1e8;text-transform:uppercase;letter-spacing:.08em}.duelo-marcador .muted,.duelo-marcador .vs{color:#bec8c5}
.duelo-progreso span{height:5px;background:#384043}.duelo-progreso .actual{background:#f3d27b;box-shadow:0 0 10px #e2c99299}
.duelo-tablero{padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#111719,#0d1214)}
.duelo-tablero .duelo-consigna{padding:10px 12px;margin:0 0 12px;border:1px solid #d6b97833;border-left:3px solid var(--acc);border-radius:10px;background:#d6b9780b}
.duelo-tablero .duelo-consigna p{display:block}
.duelo-fase{display:block;margin-bottom:2px;color:var(--acc);font-size:.65rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.duelo-arena-decision.mazos-mesa{padding:22px;background:radial-gradient(ellipse at 24% 48%,#31584880,transparent 48%),radial-gradient(ellipse at 80% 48%,#162f3655,transparent 50%),repeating-linear-gradient(45deg,#ffffff03 0 1px,transparent 1px 5px),#10231f}
.duelo-arena-decision .duelo-jugador .duelo-moneda{filter:drop-shadow(0 18px 16px #0008)}
.duelo-arena-decision .duelo-rival .duelo-moneda{filter:drop-shadow(0 18px 16px #0008) grayscale(.15)}
.duelo-panel-decision{margin-top:12px;padding:12px;border:1px solid #d6b9783d;border-radius:14px;background:#090d0f}
.duelo-panel-titulo{display:flex;gap:8px;align-items:center;margin:0 0 8px;color:#f5f1e8;font-size:.86rem;font-weight:750}
.duelo-panel-titulo span{color:var(--acc)}
.duelo-panel-decision .duelo-controles{margin:0}
.duelo-panel-decision .duelo-accion{border-color:#535a57;background:linear-gradient(180deg,#191f20,#111617);box-shadow:inset 0 1px #fff1;color:#f5f1e8}
.duelo-panel-decision .duelo-accion:hover,.duelo-panel-decision .duelo-accion:focus-visible{border-color:var(--acc);background:linear-gradient(180deg,#242719,#151914)}
.duelo-panel-decision .duelo-accion.destacada{border-color:var(--acc);box-shadow:inset 0 0 0 1px #d6b97855,0 7px 20px #0004}
.duelo-accion-copia{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;text-align:left}
.duelo-accion-copia b{font-family:var(--cz-font-display);font-size:1rem}
.duelo-accion-copia small{line-height:1.25}
.duelo-percentil{display:block;margin-top:4px;color:#cdbd97;font-size:.62rem;font-weight:500}
.duelo-recomendada{position:absolute;top:5px;right:7px;padding:2px 6px;border-radius:20px;background:var(--acc);color:#17130b;font-size:.55rem;font-style:normal;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.duelo-un-toque{margin:8px 0 0;color:var(--muted);font-size:.65rem;text-align:right}
@media(min-width:721px){
 main:has(.duelo-marcador) .duelo-moneda{width:clamp(130px,19vw,190px)}
 .duelo-tablero .duelo-consigna h2{font-size:1.15rem}
 .duelo-panel-decision .duelo-accion{min-height:92px}
}
@media(max-width:720px){
 main:has(#mazos-turno.duelo-tablero){padding-bottom:16px}
 .duelo-tablero{margin-inline:-8px;padding:8px;border-radius:14px}
 .duelo-tablero .duelo-consigna{padding:8px 10px;margin-bottom:8px}
 .duelo-tablero .duelo-consigna h2{font-size:.96rem}.duelo-tablero .duelo-consigna p{display:none}
 #mazos-turno.duelo-tablero .duelo-arena-decision{display:flex;flex-direction:column;padding:10px 12px;gap:5px}
 #mazos-turno.duelo-tablero .duelo-rival{order:1;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px;width:100%;margin:0;padding:6px 10px;text-align:left;border-bottom:1px solid #d6b97833}
 #mazos-turno.duelo-tablero .duelo-rival .duelo-moneda{display:block;grid-column:1;grid-row:1 / 4;width:54px;margin:0}
 #mazos-turno.duelo-tablero .duelo-rival h3,#mazos-turno.duelo-tablero .duelo-rival .duelo-pais,#mazos-turno.duelo-tablero .duelo-rival .duelo-motivo{display:block;grid-column:2;margin:0}
 #mazos-turno.duelo-tablero .duelo-rival .duelo-pais{font-size:.86rem}#mazos-turno.duelo-tablero .duelo-rival .duelo-motivo{font-size:.65rem;-webkit-line-clamp:1}
 #mazos-turno.duelo-tablero .duelo-vs{order:2;display:grid;place-items:center;width:28px;height:28px;margin:-2px auto;border:1px solid #d6b97866;border-radius:50%;background:#111719;font-size:.65rem;z-index:2}
 #mazos-turno.duelo-tablero .duelo-jugador{order:3;display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:12px;width:100%;padding:4px 8px;text-align:left;align-items:center}
 #mazos-turno.duelo-tablero .duelo-jugador .duelo-moneda{grid-column:1;grid-row:1 / 5;width:88px;margin:0}
 #mazos-turno.duelo-tablero .duelo-jugador h3,#mazos-turno.duelo-tablero .duelo-jugador .duelo-pais,#mazos-turno.duelo-tablero .duelo-jugador .duelo-motivo,#mazos-turno.duelo-tablero .duelo-jugador .duelo-rareza,#mazos-turno.duelo-tablero .duelo-jugador>.fila{grid-column:2;margin:0}
 #mazos-turno.duelo-tablero .duelo-jugador .duelo-motivo{font-size:.68rem;-webkit-line-clamp:2}#mazos-turno.duelo-tablero .duelo-jugador .duelo-rareza{display:block;font-size:.58rem}
 .duelo-panel-decision{padding:9px;margin-top:8px}.duelo-panel-titulo{font-size:.75rem}
 .duelo-panel-decision .duelo-controles{grid-template-columns:1fr;gap:6px}
 .duelo-panel-decision .duelo-accion{min-height:57px;padding:7px 9px 10px;gap:8px}
 .duelo-panel-decision .duelo-atributo{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d6b97855;border-radius:50%}.duelo-panel-decision .duelo-atributo svg{width:17px;height:17px}
 .duelo-accion-copia b{font-size:.9rem}.duelo-accion-copia small{font-size:.58rem}.duelo-percentil{font-size:.56rem}
 .duelo-panel-decision .duelo-accion strong{padding-top:10px;font-size:1.22rem}.duelo-recomendada{top:3px}
.duelo-un-toque{display:none}
}

/* Inicio 1.29 · santuario editorial */
.inicio-santuario{display:grid;gap:34px;margin-top:4px}.inicio-superior{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:16px}.gabinete-inicio,.inicio-acciones>section,.reliquia-inicio,.academia-rejilla>a{border:1px solid #303638;background:#15191b;color:#f4f0e5;box-shadow:0 12px 30px #0002}.gabinete-inicio{min-height:340px;padding:30px;border-radius:14px;background:radial-gradient(circle at 78% 18%,rgba(198,161,78,.14),transparent 34%),linear-gradient(135deg,#1c1d1a,#101517)}.gabinete-inicio h1{max-width:18ch;margin:6px 0 10px;font-size:clamp(2rem,4vw,3.35rem);line-height:1.02}.gabinete-inicio>p:not(.sobrelinea){max-width:65ch;color:#c7ccca}.gabinete-inicio>.fila{margin-top:18px}.bandeja-inicio{margin-top:24px;padding:15px;border:1px solid #343b3d;border-radius:10px;background:#0d1113}.bandeja-inicio>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.78rem}.bandeja-inicio>div:first-child span{color:#d8bd72;font-family:var(--cz-font-mono);text-transform:uppercase;letter-spacing:.05em}.bandeja-huecos{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:12px 0}.bandeja-huecos span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#151a1c;color:#3f4749;border:1px solid #202729;font:700 .7rem var(--cz-font-mono)}.bandeja-huecos .ocupado{color:#d9bd6c;border-color:#7e672f;background:radial-gradient(circle,#5b4820,#211e16)}.bandeja-huecos .siguiente{color:#f1ce6b;border-color:#a68639;font-size:1.2rem}.inicio-acciones{display:grid;grid-template-rows:1fr 1fr;gap:16px}.inicio-acciones>section{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border-radius:12px}.inicio-acciones h2{font-size:1.25rem;margin:4px 0 7px}.inicio-acciones p{font-size:.84rem;color:#bdc4c2;margin:0 0 16px}.inicio-acciones .btn{margin-top:auto}.reto-inicio-compacto{background:radial-gradient(circle at 100% 0,rgba(197,153,57,.16),transparent 45%),#171b1d!important}.reto-inicio-compacto>.fila{width:100%}.inicio-seccion-cab{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.inicio-seccion-cab h2{font-size:clamp(1.55rem,3vw,2.25rem);margin:2px 0}.inicio-seccion-cab>a,.inicio-seccion-cab>span{font-size:.77rem;color:var(--acc);text-align:right}.reliquias-rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reliquia-inicio{display:flex;flex-direction:column;border-radius:12px;overflow:hidden}.reliquia-imagen{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;padding:32px 18px 16px;background:radial-gradient(circle,#202a2c,#0c1113 68%)}.reliquia-imagen>.chip{position:absolute;top:12px;left:12px}
.reliquia-credito{display:block;max-width:34ch;margin-top:8px;font-size:.68rem;line-height:1.25;color:#b9b2a0;text-align:center}.reliquia-imagen>.chip:nth-child(2){left:auto;right:12px}.reliquia-imagen .imagen-catalogo,.reliquia-imagen .emblema,.reliquia-imagen svg{width:132px;height:132px;filter:drop-shadow(0 13px 11px #000b)}.reliquia-cuerpo{display:flex;flex:1;flex-direction:column;padding:18px}.reliquia-cuerpo h3{font-size:1.05rem;line-height:1.2;margin:3px 0 7px}.reliquia-cuerpo>p:not(.sobrelinea){min-height:3.8em;margin:0;color:#c0c6c4;font-size:.78rem;line-height:1.45}.reliquia-cuerpo dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0}.reliquia-cuerpo dl div{padding:8px 5px;border-radius:6px;background:#1c2123;text-align:center}.reliquia-cuerpo dt{font-size:.61rem;color:#9ca5a3}.reliquia-cuerpo dd{margin:2px 0 0;color:#eed27f;font:700 .86rem var(--cz-font-mono)}.reliquia-cuerpo .btn{width:100%;margin-top:auto;text-align:center}.academia-inicio{margin-top:-4px}.academia-rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.academia-rejilla>a{position:relative;display:block;min-height:170px;padding:18px;border-radius:10px;text-decoration:none}.academia-rejilla>a:hover{border-color:#b18f43;transform:translateY(-2px)}.academia-rejilla i{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#243437;color:#8bd0c6;font-style:normal}.academia-rejilla .chip{position:absolute;top:18px;right:18px}.academia-rejilla h3{margin:19px 0 6px;font-size:.98rem;color:#fff}.academia-rejilla p{font-size:.76rem;color:#b6bfbc;line-height:1.45}.academia-rejilla b{display:block;margin-top:15px;color:#e5c86d;font-size:.72rem}.academia-pista{margin:10px 0 0;color:var(--muted);font-size:.75rem}.inicio-santuario>.tarjeta.suave{margin:0}.inicio-santuario .cifras-inicio{display:block!important;margin:0;padding:8px 12px;border:1px solid #313638;border-radius:8px;background:#101416;font-family:var(--cz-font-mono);text-transform:uppercase;letter-spacing:.04em}.inicio-santuario .cifras-inicio[hidden]{display:none!important}.inicio-santuario .cifras-inicio a{color:#d6bd76;text-decoration:none}.inicio-santuario .inicio-explorar{margin:0}
@media(max-width:850px){.inicio-superior{grid-template-columns:1fr}.inicio-acciones{grid-template-columns:1fr 1fr;grid-template-rows:auto}.reliquias-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}.reliquia-inicio:last-child{grid-column:1/-1}.academia-rejilla{grid-template-columns:1fr}}
@media(max-width:600px){.inicio-santuario{gap:26px}.inicio-superior{gap:10px}.gabinete-inicio{min-height:0;padding:22px 17px}.gabinete-inicio h1{font-size:2rem}.gabinete-inicio>.fila{align-items:stretch;flex-direction:column}.gabinete-inicio .btn{text-align:center}.bandeja-inicio{padding:12px}.bandeja-inicio>div:first-child{font-size:.67rem}.bandeja-huecos{gap:4px}.bandeja-huecos span{font-size:.55rem}.inicio-acciones{grid-template-columns:1fr;gap:10px}.inicio-acciones>section{padding:17px}.inicio-seccion-cab{align-items:flex-start;flex-direction:column;gap:3px}.inicio-seccion-cab>a,.inicio-seccion-cab>span{text-align:left}.reliquias-rejilla{grid-template-columns:1fr;gap:10px}.reliquia-inicio:last-child{grid-column:auto}.reliquia-imagen{min-height:155px}.reliquia-imagen .imagen-catalogo,.reliquia-imagen .emblema,.reliquia-imagen svg{width:108px;height:108px}.academia-rejilla{gap:9px}.academia-rejilla>a{min-height:0}.inicio-santuario .cifras-inicio{font-size:.63rem}}
.actividad-inicio{padding:20px;border:1px solid #252b2d;border-radius:12px;background:#0f1315}.actividad-inicio .inicio-seccion-cab{margin-bottom:10px}.actividad-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actividad-rejilla>div{padding:14px;border-radius:8px;background:#171b1d}.actividad-rejilla h3{margin:0 0 8px;font-size:.9rem}.actividad-rejilla ul{margin:0;padding:0;list-style:none}.actividad-rejilla li{padding:7px 0;border-top:1px solid #2a3032;font-size:.75rem}.actividad-rejilla li:first-child{border-top:0}.actividad-rejilla li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none}.actividad-rejilla li span,.actividad-rejilla p{color:#aeb7b4;font-size:.72rem}.actividad-rejilla p{margin:0}
@media(max-width:600px){.actividad-inicio{padding:14px}.actividad-rejilla{grid-template-columns:1fr}}

/* Inicio 1.30 · vista previa interactiva del Monedario */
.inicio-santuario,.inicio-superior,.gabinete-inicio,.bandeja-inicio{min-width:0}
.bandeja-moneda{display:grid;min-width:0;gap:5px;color:#ddd2b6;text-align:center;text-decoration:none}.bandeja-huecos .bandeja-moneda span{aspect-ratio:auto;border:0;border-radius:0;background:none;color:inherit;font:inherit}.bandeja-huecos .bandeja-moneda-arte{display:grid;place-items:center;aspect-ratio:1;border:1px solid #66552d;border-radius:50%;background:radial-gradient(circle at 35% 28%,#302b1e,#111719 68%);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.bandeja-huecos .bandeja-moneda-arte .imagen-catalogo{display:grid;width:100%;height:100%;padding:5px;place-items:center}.bandeja-moneda-arte img,.bandeja-moneda-arte svg{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px #0009)}.bandeja-moneda small{display:block;min-width:0;color:#aeb5b2;font:650 .56rem var(--cz-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bandeja-moneda:hover .bandeja-moneda-arte,.bandeja-moneda:focus-visible .bandeja-moneda-arte{border-color:#edc962;box-shadow:0 0 0 2px #d6b97833,0 8px 18px #0008;transform:translateY(-3px)}.bandeja-moneda:focus-visible{outline:0}.bandeja-huecos>.bandeja-vacio{display:grid;place-items:center;aspect-ratio:1;border:1px solid #202729;border-radius:50%;background:#151a1c;color:#3f4749;font:700 .7rem var(--cz-font-mono)}.bandeja-anadir,.bandeja-ver-todas{align-content:start}.bandeja-anadir>b,.bandeja-ver-todas>b{display:grid;place-items:center;aspect-ratio:1;border:1px solid #9f8137;border-radius:50%;background:#151a1c;color:#e7c767;font:700 1.2rem var(--cz-font-display)}.bandeja-ver-todas>b{background:radial-gradient(circle,#53431f,#171815);font-size:.9rem}.bandeja-ayuda{margin:0 0 9px;color:#89928f;font-size:.64rem}
@media(max-width:600px){.bandeja-huecos{width:100%;max-width:100%;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68px;gap:8px;padding:3px 2px 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}.bandeja-huecos>*{scroll-snap-align:start}.bandeja-huecos>.bandeja-vacio{font-size:.55rem}.bandeja-moneda small{font-size:.5rem}}

/* ── Ranking a ciegas (1.35.0): una moneda cada vez, ocho puestos, podio oro/plata/cobre ── */
.academia-rejilla{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.academia-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.academia-rejilla{grid-template-columns:1fr}}
.rk-modos{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 18px}
.rk-mesa{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start;margin-bottom:18px}
.rk-revela{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:560px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--cz-radius);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--acc) 10%,transparent),transparent 62%),var(--panel);overflow:hidden;text-align:center}
.rk-revela::before{content:"";position:absolute;left:50%;top:44%;width:min(88%,420px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid color-mix(in srgb,var(--acc) 22%,transparent);box-shadow:0 0 0 26px color-mix(in srgb,var(--acc) 4%,transparent);pointer-events:none}
.rk-revela>*{position:relative}
.rk-arriba{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px}
.rk-rotulo{font:700 .82rem var(--cz-font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.rk-sello{padding:4px 10px;border-radius:4px;background:var(--acc);color:var(--acc-ink);font:700 .74rem var(--cz-font-display);letter-spacing:.1em;text-transform:uppercase}
.rk-foto.rk-grande{width:min(100%,330px);height:auto;aspect-ratio:1;margin:12px 0 6px;filter:drop-shadow(0 18px 20px #0009)}
.rk-foto.rk-grande img{animation:rk-aparece .4s cubic-bezier(.2,.9,.3,1.2)}
@keyframes rk-aparece{from{transform:scale(.84);opacity:0}}
.rk-nombre{margin:6px 0 0;font-size:clamp(1.35rem,2.4vw,1.9rem);text-transform:uppercase;letter-spacing:.01em;line-height:1.08}
.rk-meta{margin:0;font:700 1rem var(--cz-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.rk-credito{margin:2px 0 0;max-width:46ch;font-size:.68rem;color:var(--muted)}
.rk-abajo{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);text-align:left}
.rk-abajo small{display:block;font:700 .7rem var(--cz-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.rk-abajo b{font-family:var(--cz-font-display);font-size:1.05rem}
.rk-ocultas{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.rk-ocultas span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--panel-2);color:var(--muted);font:700 1.2rem var(--cz-font-display)}
.rk-ocultas.peq{gap:5px;justify-content:flex-end}.rk-ocultas.peq span{width:30px;height:30px;font-size:.85rem}
.rk-inicio{justify-content:center;gap:18px}
.rk-lema{margin:0;max-width:24ch;font:600 1.3rem/1.2 var(--cz-font-display)}
.rk-inicio .muted{max-width:40ch;margin:0}
.rk-empezar{font-size:1.2rem;padding:14px 38px;text-transform:uppercase;letter-spacing:.06em}
.rk-final .rk-lema{margin-top:10px;font-size:1.05rem;max-width:none}
.rk-final>.fila{margin-top:auto;justify-content:center}
.rk-tablero{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rk-puesto{width:100%;min-height:62px;display:flex;align-items:center;gap:14px;padding:0 16px 0 0;border:2px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);text-align:left;font:inherit;overflow:hidden}
.rk-num{flex:none;align-self:stretch;display:grid;place-items:center;width:74px;font:700 2rem/1 var(--cz-font-display);color:var(--acc)}
.rk-libre{cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
.rk-libre:not(:disabled):hover,.rk-libre:not(:disabled):focus-visible{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,var(--panel));transform:translateX(-4px)}
.rk-libre:disabled{cursor:default;opacity:1}
.rk-vacio{flex:1;font:600 .9rem var(--cz-font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rk-pista{flex:none;font:700 .78rem var(--cz-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);opacity:.45;transition:opacity .15s}
.rk-libre:hover .rk-pista,.rk-libre:focus-visible .rk-pista{opacity:1}
.rk-lleno{border-color:color-mix(in srgb,var(--acc) 38%,var(--line))}
.rk-foto.rk-mini{flex:none;width:48px;height:48px}
.rk-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.rk-info b{font:700 1rem/1.15 var(--cz-font-display);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-info small{font:600 .76rem var(--cz-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.rk-etiqueta{flex:none;padding:3px 8px;border-radius:4px;background:var(--acc);color:var(--acc-ink);font:700 .64rem var(--cz-font-display);letter-spacing:.12em;text-transform:uppercase}
.rk-candado{flex:none;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rk-reciente{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 25%,transparent)}
.rk-podio{min-height:80px}
.rk-podio .rk-num{width:88px;font-size:2.6rem;color:var(--medalla);background:color-mix(in srgb,var(--medalla) 10%,transparent)}
.rk-podio.rk-lleno{border-color:color-mix(in srgb,var(--medalla) 55%,var(--line))}
.rk-podio.rk-lleno .rk-num{background:var(--medalla);color:#0b0d0e}
.rk-podio .rk-info small{color:var(--medalla)}
.rk-podio .rk-foto.rk-mini{width:62px;height:62px}
.rk-p1{--medalla:var(--cz-gold)}.rk-p2{--medalla:var(--cz-silver)}.rk-p3{--medalla:var(--cz-copper)}
:root[data-tema="claro"] .rk-p1{--medalla:#9a7427}:root[data-tema="claro"] .rk-p2{--medalla:#6c7780}:root[data-tema="claro"] .rk-p3{--medalla:#9a5a36}
:root[data-tema="claro"] .rk-podio.rk-lleno .rk-num{color:#fff}
.rk-publico .rk-lista-publico{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}
.rk-lista-publico li{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px}
.rk-lista-publico li.rk-coincide{border-color:var(--acc)}
.rk-num-peq{flex:none;width:22px;font:700 1.1rem var(--cz-font-display);color:var(--acc);text-align:center}
.rk-foto.rk-micro{flex:none;width:36px;height:36px}
.rk-tuyo{flex:none;font:600 .72rem var(--cz-font-display);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.rk-coincide .rk-tuyo{color:var(--acc)}
.rk-creditos ul{margin:8px 0;padding-left:18px;font-size:.78rem}
.rk-nota{margin-top:6px}
@media(max-width:900px){
  .rk-mesa{grid-template-columns:1fr;gap:14px}
  .rk-revela{min-height:0;padding:18px 16px}
  .rk-foto.rk-grande{width:min(70vw,260px)}
  .rk-publico .rk-lista-publico{grid-template-columns:1fr}
}
@media(max-width:600px){
  .rk-puesto{min-height:54px;gap:10px;padding-right:10px}.rk-num{width:52px;font-size:1.5rem}
  .rk-podio{min-height:62px}.rk-podio .rk-num{width:60px;font-size:1.9rem}.rk-podio .rk-foto.rk-mini{width:46px;height:46px}
  .rk-foto.rk-mini{width:40px;height:40px}.rk-info b{font-size:.88rem}.rk-pista{display:none}.rk-etiqueta{display:none}
  .rk-lema{font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){.rk-foto.rk-grande img{animation:none}.rk-libre{transition:none}}
.rk-tablero{grid-template-columns:minmax(0,1fr)}.rk-tablero>li,.rk-lista-publico>li{min-width:0}


/* ── Catálogo de consulta (1.37.0): portada buscador y ficha «¿Es rara?» (especificación de diseño v4 §3–§5) ──
   Escala de rareza propia, de gris frío a cobre: nunca el oro de marca (#D5B77A), que es de marca y acciones. */
:root { --r0: #6b7780; --r1: #8a969e; --r2: #a3968a; --r3: #b98c6c; --r4: #c77a55; --r5: #d8683f; }
:root[data-tema="claro"] { --r0: #8c969d; --r1: #6f7a82; --r2: #857565; --r3: #9a6a45; --r4: #a3552f; --r5: #a8401f; }
.rz-x { --rz: var(--line); } .rz-0 { --rz: var(--r0); } .rz-1 { --rz: var(--r1); } .rz-2 { --rz: var(--r2); } .rz-3 { --rz: var(--r3); } .rz-4 { --rz: var(--r4); } .rz-5 { --rz: var(--r5); }
.sello { display: inline-flex; align-items: center; gap: 6px; padding: 1px 9px 1px 7px; border-radius: 999px; font-size: .8rem; font-weight: 700; border: 2px solid var(--rz); color: var(--ink); background: transparent; white-space: nowrap; }
.sello.rz-x { border-style: dashed; color: var(--muted); font-weight: 600; }
.sello i { display: inline-flex; gap: 2px; }
.sello i b { width: 5px; height: 5px; border-radius: 50%; background: var(--rz); opacity: .3; }
.sello i b.on { opacity: 1; }

.consulta section { margin: 0 0 34px; }
.consulta-hero { padding: 4px 0 0; }
.consulta-hero h1 { font-size: 2rem; max-width: 18ch; margin-bottom: 6px; }
.consulta-hero .entradilla { color: var(--muted); max-width: 46ch; font-size: 1.05rem; }
.buscador { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 14px; box-shadow: var(--shadow); }
.buscador label.principal { display: block; font-weight: 600; margin-bottom: 6px; }
.buscador .caja { position: relative; }
.buscador .caja > svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; color: var(--muted); pointer-events: none; fill: none; }
.buscador .caja input { width: 100%; min-height: 56px; padding: 0 48px 0 46px; border-radius: 12px; border: 2px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: 1.1rem; }
.buscador .caja input:disabled { opacity: .7; }
.buscador input[type=search]::-webkit-search-cancel-button, .buscador input[type=search]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }
.buscador .caja input:focus { border-color: var(--acc); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 45%, transparent); }
.buscador .limpiar { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; background: none; color: var(--muted); cursor: pointer; font-size: 1.5rem; border-radius: 8px; }
.buscador .filtros { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 10px; }
.buscador .filtros label { font-size: .85rem; color: var(--muted); display: grid; gap: 4px; min-width: 0; }
.buscador .filtros select { min-height: 48px; border-radius: 10px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); padding: 0 10px; width: 100%; font: inherit; }
.sugerencias { margin-top: 12px; }
.sugerencias p { margin: 0 0 6px; font-size: .85rem; color: var(--muted); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.chip-btn { min-height: 44px; padding: 0 14px; border-radius: 22px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: .95rem; }
.chip-btn:hover { border-color: var(--acc); color: var(--acc); }
.chip-btn small { color: var(--muted); }
.consulta .resultados { margin-top: 18px; }
.estado-busqueda { font-weight: 600; margin: 0 0 10px; }
.lista-monedas { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); }
.tarjeta-consulta { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 12px; min-height: 76px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--ink); }
.tarjeta-consulta:hover { border-color: var(--acc); }
.tarjeta-consulta .mini { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; background: var(--bg-2); display: block; }
.tarjeta-consulta .mini img, .tarjeta-consulta .mini svg { width: 56px; height: 56px; object-fit: contain; display: block; }
.tarjeta-consulta .quien { font-size: .8rem; color: var(--muted); display: block; }
.tarjeta-consulta .que { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; line-height: 1.3; }
.tarjeta-consulta .datos { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 4px; font-size: .85rem; color: var(--muted); }
.mas-resultados { margin-top: 12px; }
.consulta .vacio { background: var(--panel); border: 1px dashed var(--line); border-radius: 12px; padding: 18px; text-align: left; color: var(--ink); }
.cab-seccion { display: flex; justify-content: space-between; align-items: baseline; gap: 4px 12px; flex-wrap: wrap; margin-bottom: 12px; }
.cab-seccion h2 { margin: 0; }
.cab-seccion a { font-size: .9rem; min-height: 44px; display: inline-flex; align-items: center; }
.accesos { display: grid; gap: 10px; }
.acceso { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px; min-height: 72px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.acceso:hover { border-color: var(--acc); }
.acceso .ico { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--panel-2); color: var(--acc); font-family: var(--cz-font-display); font-weight: 700; }
.acceso b { display: block; } .acceso span span { color: var(--muted); font-size: .88rem; }
.acceso .flecha { color: var(--acc); font-size: 1.2rem; }
.espana { background: linear-gradient(180deg, var(--panel), var(--bg-2)); border: 1px solid var(--line); border-radius: 16px; padding: 16px; }
.pestanas-rareza { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.pestanas-rareza button { min-height: 44px; padding: 6px 8px; background: none; border: 0; border-bottom: 3px solid transparent; color: var(--muted); cursor: pointer; font: inherit; font-weight: 600; line-height: 1.2; }
.pestanas-rareza button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--acc); }
ol.ranking-consulta { counter-reset: r; list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
ol.ranking-consulta > li { counter-increment: r; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: center; }
ol.ranking-consulta > li::before { content: counter(r); font-family: var(--cz-font-display); font-size: 1.2rem; color: var(--muted); text-align: right; }
.rejilla-paises { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; list-style: none; padding: 0; margin: 0; }
.rejilla-paises a { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 48px; padding: 0 12px; border-radius: 10px; background: var(--panel); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.rejilla-paises a:hover { border-color: var(--acc); }
.rejilla-paises small { color: var(--muted); }
.videos-canal { display: grid; gap: 10px; }
.video-canal { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); color: var(--ink); text-decoration: none; min-height: 72px; }
.video-canal:hover { border-color: var(--acc); }
.video-canal .play { width: 88px; aspect-ratio: 16/9; border-radius: 8px; background: var(--cz-slate); display: grid; place-items: center; color: var(--cz-gold); font-size: 1.3rem; }
.video-canal b { display: block; line-height: 1.25; } .video-canal span span, .video-canal .peq { color: var(--muted); display: block; }
.juego-consulta { border-top: 1px solid var(--line); padding-top: 24px; }
.juego-lista { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 8px; }
.juego-lista a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px 14px; min-height: 56px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.juego-lista a:hover { border-color: var(--acc); }
.juego-lista span { color: var(--muted); font-size: .85rem; grid-column: 1; }
.juego-lista em { grid-row: 1 / span 2; grid-column: 2; align-self: center; font-style: normal; color: var(--acc); }
.juego-monedario { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.juego-combate { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.pie-enlaces a, .pie a { display: inline-flex; min-height: 44px; align-items: center; }

/* ficha */
.vuelta-ficha { margin: 0 0 4px; }
.migas { font-size: .88rem; margin: 0 0 6px; }
.migas ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0 6px; }
.migas li + li::before { content: "›"; color: var(--muted); margin-right: 6px; }
.migas a, .migas span { display: inline-flex; min-height: 44px; align-items: center; }
.ficha-h1 { font-size: 1.6rem; overflow-wrap: anywhere; }
.ficha-consulta { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
.ficha-consulta > * { min-width: 0; }
.veredicto { border-radius: 16px; padding: 16px; background: var(--panel); border: 2px solid var(--rz); }
.veredicto .pregunta { font-family: var(--cz-font-body); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 4px; font-weight: 600; }
.veredicto .respuesta { font-family: var(--cz-font-display); font-size: 1.5rem; line-height: 1.15; margin: 0 0 8px; }
.veredicto .porque { margin: 0 0 10px; }
.escala { margin: 4px 0 6px; }
.escala ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 3px; }
.escala li { height: 12px; border-radius: 3px; background: var(--rz); opacity: .35; }
:root[data-tema="claro"] .escala li { opacity: .5; }
.escala li.esta { opacity: 1; height: 18px; margin-top: -3px; outline: 2px solid var(--ink); outline-offset: 1px; }
.escala .extremos { display: flex; justify-content: space-between; font-size: .78rem; color: var(--muted); margin-top: 6px; }
.veredicto .marca { font-size: .85rem; font-weight: 700; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.veredicto .marca a { display: inline-flex; min-height: 44px; align-items: center; }
.veredicto .aclaracion { font-size: .85rem; color: var(--muted); margin: 10px 0 0; }
.figura-ficha { margin: 0; text-align: center; }
.figura-ficha .marco-ficha { width: min(240px, 70vw); margin: 0 auto; }
.figura-ficha .marco-ficha .imagen-catalogo.grande { width: 100%; height: auto; aspect-ratio: 1; }
.figura-ficha figcaption { font-size: .8rem; color: var(--muted); margin: 8px auto; max-width: 42ch; }
.datos-clave { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; margin: 0; }
.datos-clave dt { color: var(--muted); } .datos-clave dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.datos-clave .fuente-tirada { font-weight: 400; }
.col-izq > * + *, .col-dcha > * + * { margin-top: 14px; }
.detalle-rareza { margin: 0 0 12px; padding-left: 18px; font-size: .92rem; }
.detalle-rareza li + li { margin-top: 4px; }
.lista-enlaces { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 2px; }
.lista-enlaces li { padding: 6px 0; border-bottom: 1px solid var(--line); font-size: .92rem; }
.comparada details summary, .ficha-juego > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.comparada h3 { margin-top: 14px; font-size: .95rem; }
.tabla-scroll { overflow-x: auto; max-width: 100%; }
td.num, th.num { text-align: right; white-space: nowrap; }
.cta-suave { background: var(--bg-2); border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.cta-suave h2 { font-size: 1.1rem; }
.cta-suave .botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0 14px; }
.ficha-juego { margin: 0; }
.vecinas { display: grid; gap: 0; }
.vecinas a { min-height: 44px; display: inline-flex; align-items: center; }
.consulta-sin-js h2 { font-size: 1.1rem; margin-top: 18px; }

/* 1.43.0: la navegación de 4 entradas + «Más» va al final (A «Cuaderno»: una sola nav, fija abajo por debajo de 860 px) */
@media (max-width: 720px) {
  .consulta-hero h1 { font-size: 1.7rem; }
}
@media (min-width: 760px) {
  .consulta-hero h1 { font-size: 2.8rem; }
  .buscador { padding: 20px; }
  .buscador .filtros { max-width: 520px; }
  .accesos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rejilla-paises { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .videos-canal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .juego-lista { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .lista-monedas.doble { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ficha-h1 { font-size: 2rem; }
  .ficha-consulta { grid-template-columns: 300px minmax(0, 1fr); column-gap: 36px; align-items: start; }
  .ficha-consulta > .veredicto { grid-column: 1 / -1; }
  .ficha-consulta .col-izq { position: sticky; top: 90px; }
  .veredicto .respuesta { font-size: 2rem; }
}

/* 1.39.0 · seis mejoras de consulta (Diseño r3). Tokens de siempre; el oro solo en acciones; los tipos de bulo y las
   pastillas se distinguen por el signo y el borde, no solo por el color. */
.nav-grupo { margin: 8px 9px 2px; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: #8a969e; }
.nav-grupo:first-child { margin-top: 2px; }
.nav-mas > div { width: 230px; }
.acceso-destacado { border: 2px solid var(--ink); }
.popular { border: 2px solid var(--ink); border-radius: 14px; padding: 14px; margin: 0 0 16px; background: var(--panel); }
.popular .etq { display: inline-block; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--muted); margin: 0 0 4px; }
.popular .popular-h { font-size: 1.15rem; margin: 0 0 6px; }
.popular .alias-de { margin: 0 0 8px; }
.popular .destino { display: grid; gap: 2px; text-decoration: none; color: var(--ink); min-height: 44px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--bg); }
.popular a.destino:hover { border-color: var(--acc); }
.popular .destino b { font-family: var(--cz-font-display); font-size: 1.1rem; }
.popular .destino .oficial { font-size: .85rem; color: var(--muted); }
.popular .destino .datos { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: .85rem; }
.popular .destino .ir { color: var(--acc); font-weight: 700; font-size: .9rem; }
.popular .externo { margin: 0 0 8px; }
.popular .botones { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0; }
.lista-desamb { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.titulo-resto { font-family: inherit; margin: 8px 0; }
.tarjeta-consulta mark { background: none; color: inherit; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 2px; }
.tarjeta-consulta .por-alias { display: block; font-size: .8rem; color: var(--muted); }
.alias { margin: -4px 0 12px; color: var(--muted); }
.valor { border-radius: 16px; padding: 16px; background: var(--panel); border: 1px solid var(--line); }
.valor h2 { font-size: 1.25rem; }
.orientaciones { list-style: none; padding: 0; margin: 4px 0 8px; display: grid; }
.orientaciones li { padding: 10px 0; border-bottom: 1px solid var(--line); display: grid; gap: 2px; }
.orientaciones li:last-child { border-bottom: 0; }
.orientaciones .cuando { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.linea-valor { display: block; }
.linea-valor .sello { margin-right: 4px; vertical-align: middle; }
.valor .aclaracion { font-size: .85rem; color: var(--muted); margin: 8px 0 0; }
.valor .botones { display: flex; flex-wrap: wrap; gap: 8px; }
.tipo-bulo { display: inline-flex; align-items: center; gap: 5px; padding: 1px 9px; border-radius: 999px; border: 2px solid var(--ink); font-size: .8rem; font-weight: 700; white-space: nowrap; margin-left: 4px; }
.t-bulo { border-style: dashed; } .t-bulo::before { content: "✕"; } .t-confusion::before { content: "≈"; }
.t-error-real::before, .t-variante-real::before { content: "!"; } .t-guia::before { content: "✓"; }
.emision h3 { margin-top: 14px; }
.emision dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; margin: 10px 0 0; }
.emision dt { font-weight: 600; color: var(--muted); }
.emision dd { margin: 0; overflow-wrap: anywhere; }
.pastilla-canal { display: inline-block; padding: 2px 10px; border-radius: 10px; border: 1px solid var(--ink); font-weight: 700; font-size: .85rem; }
.col-valor > * + * { margin-top: 14px; }
@media (max-width: 759px) { .emision dl { grid-template-columns: minmax(0, 1fr); gap: 2px; } .emision dt { margin-top: 10px; } }
@media (min-width: 760px) {
  .accesos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accesos > .acceso-destacado { grid-column: 1 / -1; }
  /* 1.40.0 · alternativa A: a la derecha, «¿Cuánto vale?» → «¿Es rara?» → resto; la izquierda fija */
  .ficha-consulta { grid-template-rows: auto auto 1fr; }
  .ficha-consulta > .col-valor { grid-column: 2; grid-row: 1; }
  .ficha-consulta > .veredicto { grid-column: 2; grid-row: 2; }
  .ficha-consulta > .col-izq { grid-column: 1; grid-row: 1 / span 3; }
  .ficha-consulta > .col-dcha { grid-column: 2; grid-row: 3; }
}

/* ─────────── 1.40.0 · referencia de valor (Diseño r2.1 §3–§6, de propuestas/referencia-valor/assets/valor.css, sin proto.css
   ni la marca «ficticia»). La cifra en tinta, nunca en oro; cada tipo se distingue por su insignia (forma + texto). ─────────── */
/* línea de resumen bajo el H1 (alternativa A) */
.resumen-ficha { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin: -4px 0 10px; font-size: .9rem; color: var(--muted); }
.resumen-ficha a { min-height: 44px; display: inline-flex; align-items: center; }
.resumen-ficha .sello { color: var(--ink); }
/* bloque «¿Cuánto vale?» por estados */
.valor.v2 { border: 2px solid var(--line); padding: 14px 14px 12px; }
.valor.v2 h2 { margin-bottom: 8px; }
.destacado { padding: 12px 14px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line); }
.estado-et { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0 0 4px; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: var(--muted); }
.cifra { font-family: Bahnschrift, "Segoe UI", Arial, sans-serif; font-weight: 700; font-size: 2.5rem; line-height: 1.05; margin: 2px 0 6px; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.cifra-media { font-family: Bahnschrift, "Segoe UI", Arial, sans-serif; font-weight: 600; font-size: 1.45rem; line-height: 1.15; margin: 2px 0 6px; }
.cifra-media small { font-size: .95rem; font-weight: 400; color: var(--muted); }
.destacado .detalle { font-size: .92rem; margin: 0 0 4px; }
.destacado .cotejo { font-size: .85rem; color: var(--muted); margin: 0; }
.destacado .cotejo a, .destacado .detalle a { display: inline-flex; min-height: 32px; align-items: center; }
.insignia { display: inline-flex; align-items: center; gap: 6px; padding: 1px 9px; border-radius: 999px; border: 1.5px solid var(--ink); color: var(--ink); font-size: .72rem; letter-spacing: .02em; text-transform: none; font-weight: 700; white-space: nowrap; }
.insignia::before { content: ""; flex: none; }
.t-mediana .insignia::before { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.t-amplio .insignia, .t-estimado .insignia { border-style: dashed; } /* 1.44.0: rango orientativo (5–9 ventas y estimación del nivel 2) */
.t-amplio .insignia::before { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid currentColor; }
.t-estimado .insignia::before { content: "≈"; font-size: .9rem; line-height: 1; }
.destacado .cifra small { display: block; font-size: .95rem; font-weight: 400; color: var(--muted); font-family: inherit; }
.t-facial .insignia::before, .t-dinero .insignia::before { content: "="; font-size: .9rem; line-height: 1; }
.t-emision .insignia::before { width: 8px; height: 8px; border: 1.5px solid currentColor; border-radius: 2px; }
.t-caducado .insignia { border-style: dotted; }
.t-caducado .insignia::before { content: "↻"; font-size: .85rem; line-height: 1; }
.t-sin .insignia, .t-no-emitida .insignia { border-color: var(--line); color: var(--muted); }
.t-sin .insignia::before, .t-no-emitida .insignia::before { content: "—"; }
.t-facial .cifra-media, .t-dinero .cifra-media { font-weight: 400; }
.aviso-valor { margin: 10px 0 2px; padding: 2px 0 2px 10px; border-left: 3px solid var(--line); font-size: .84rem; color: var(--muted); }
.aviso-valor b { color: var(--ink); font-weight: 600; }
.estados { list-style: none; padding: 0; margin: 6px 0 0; }
.estados > li { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.estados .cuando { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.estados .res { display: grid; gap: 2px; }
.estados .res-linea { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-weight: 700; margin: 0; }
.estados .res-linea .num { font-family: Bahnschrift, "Segoe UI", Arial, sans-serif; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.estados .t-facial .res-linea .num { font-weight: 400; }
.estados .sub { font-size: .88rem; color: var(--muted); margin: 0; }
.estados .t-sin .res-linea, .estados .t-no-emitida .res-linea { font-weight: 400; color: var(--muted); }
.estados .sub a { display: inline; min-height: 0; }
.estados .linea-valor a { display: inline-flex; min-height: 44px; align-items: center; }
.proof-linea { margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--line); }
.nota-envio { font-size: .86rem; margin: 4px 0 0; padding: 6px 10px; border-radius: 8px; border: 1px dashed var(--line); }
.ebay { margin: 10px 0 0; }
.ebay .botones { margin: 0 0 4px; }
.ebay .btn.sec::after { content: " ↗"; }
.afiliacion { font-size: .8rem; color: var(--muted); margin: 0; }
.metodo { margin: 6px 0 0; font-size: .9rem; }
.metodo a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 600; }
/* 1.42.0 · Cuaderno del cazador: enlace de la ficha (como .metodo) y la «PDF» del acceso de la portada */
.cdn { margin: 2px 0 0; font-size: .9rem; }
.cdn a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 600; }
.acceso .ico.ico-txt { font-size: .72rem; letter-spacing: .02em; }
/* contraste AA: dentro del destacado los enlaces van en tinta y subrayados (el oro claro sobre ese fondo daba 4,08:1) */
.destacado a { color: var(--ink); text-decoration: underline; }
.nw { white-space: nowrap; }
.destacado .detalle .nw a, .linea-valor .nw a { display: inline; min-height: 0; }
/* índice «por encima de su facial» */
.lista-valor { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); counter-reset: puesto; }
.lista-valor > li { counter-increment: puesto; }
.tarjeta-valor { display: grid; grid-template-columns: 2.2em minmax(0, 1fr) auto; gap: 2px 10px; align-items: center; padding: 10px 12px; min-height: 76px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.tarjeta-valor:hover { border-color: var(--acc); }
.tarjeta-valor::before { content: counter(puesto); grid-row: 1 / span 3; font-family: Bahnschrift, "Segoe UI", sans-serif; font-weight: 700; color: var(--muted); }
.tarjeta-valor .que-pais { font-size: .8rem; color: var(--muted); grid-column: 2; }
.tarjeta-valor .que { font-weight: 700; grid-column: 2; }
.tarjeta-valor .datos { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; font-size: .85rem; color: var(--muted); }
.tarjeta-valor .importe { grid-column: 3; grid-row: 1 / span 2; text-align: right; font-family: Bahnschrift, "Segoe UI", sans-serif; font-weight: 700; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.tarjeta-valor .importe small { display: block; font-family: "Segoe UI", sans-serif; font-weight: 400; font-size: .75rem; color: var(--muted); }
.vacio-valor { padding: 14px; border-radius: 12px; border: 1px dashed var(--line); background: var(--panel); margin: 0 0 16px; }
.vacio-valor p:last-child { margin: 0; }
.vacio-valor a { display: inline-flex; min-height: 44px; align-items: center; }
@media (min-width: 760px) { .lista-valor { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* bulo 1 y asistente */
.ventas-bulo table td.num data { font-weight: 700; }
.resultado-valor { margin: 0 0 12px; }
.resultado-valor .destacado { background: var(--panel); }
/* tipo de bulo «Engañoso» (A6): forma propia, no solo color */
.t-enganoso { border-style: double; border-width: 3px; }
.t-enganoso::before { content: "◐"; }
.veredicto-bulo.t-v-enganoso { border-style: double; border-width: 4px; }
/* bulo 1 · «Lo que dicen las ventas»: por debajo de 560 px cada fila es una tarjeta (la tabla sigue siendo <table>) */
@media (max-width: 559px) {
  .tabla-tarjetas { overflow: visible; }
  .tabla-tarjetas thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabla-tarjetas table, .tabla-tarjetas tbody, .tabla-tarjetas tr, .tabla-tarjetas td { display: block; width: 100%; }
  .tabla-tarjetas tr { padding: 8px 0 10px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 10px; }
  .tabla-tarjetas td { border: 0; padding: 0; text-align: left; vertical-align: top; }
  .tabla-tarjetas td[data-et="Moneda"], .tabla-tarjetas td[data-et="Estado"] { grid-column: 1 / -1; }
  .tabla-tarjetas td[data-et="Estado"] { color: var(--muted); font-size: .85rem; }
  .tabla-tarjetas td.num::before { content: attr(data-et); display: block; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
}

/* 1.41.0 · fila que lleva a «Dónde verla y comprarla» de la ficha estática; desde la 1.41.1, solo si no se pueden cargar las
   consultas de la app (/assets/donde-<hash8>.json) */
.donde-app { margin: 10px 0 0; }
.donde-app a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
/* 1.41.1 · «Dónde verla y comprarla» en la ficha de la app: las mismas reglas que css/estaticas-consulta.css (--bg2 → --bg-2) */
.donde { margin: 12px 0 2px; padding: 12px 0 0; border-top: 1px solid var(--line); }
.donde .pub { margin: 0 0 2px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--muted); }
.donde h3 { margin: 0 0 4px; font-size: 1.1rem; }
.donde .lead { margin: 0 0 4px; font-size: .92rem; }
.donde .grupo { margin: 10px 0 0; padding: 0 0 2px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: var(--muted); border-bottom: 1px solid var(--line); }
.donde .fuentes { list-style: none; margin: 0; padding: 0; }
.donde .fuentes > li { border-bottom: 1px solid var(--line); }
.donde .fuente { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 12px; min-height: 56px; padding: 7px 2px; color: var(--ink); text-decoration: none; }
.donde .fuente .que { grid-column: 1; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.donde .fuente:hover .que, .donde .fuente:focus-visible .que { text-decoration-thickness: 2px; }
.donde .fuente .sub { grid-column: 1; font-size: .84rem; color: var(--muted); overflow-wrap: anywhere; }
.donde .fuente .flecha { grid-column: 2; grid-row: 1 / span 2; }
.donde .flecha { color: var(--acc); font-size: 1.1rem; font-weight: 700; line-height: 1; }
.donde .etq-af { display: inline-flex; align-items: center; padding: 0 8px; border: 1.5px dashed var(--muted); border-radius: 999px; font-size: .72rem; font-weight: 700; color: var(--muted); white-space: nowrap; line-height: 1.5; vertical-align: 1px; }
.donde .notas { margin: 8px 0 0; font-size: .8rem; color: var(--muted); }
.donde.principal { margin: 10px 0 4px; padding: 10px 14px 12px; border: 2px solid var(--line); border-radius: 12px; background: var(--bg-2); }
.donde .principal-btn { margin: 6px 0 4px; display: grid; gap: 4px; }
.donde .principal-btn .btn { display: block; min-height: 52px; padding: 14px 12px; font-size: 1rem; line-height: 1.5; text-align: center; }
.donde .principal-btn .btn .flecha { margin-left: 6px; color: inherit; }
.donde .principal-btn .sub { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; font-size: .84rem; color: var(--muted); }
@media (min-width: 760px) {
  .donde .principal-btn { grid-template-columns: auto 1fr; align-items: center; column-gap: 14px; }
  .donde .principal-btn .btn { padding: 0 20px; }
}
.donde .fuente:hover { color: var(--ink); }


/* ═══════════ 1.43.0 · A «Cuaderno» (Diseño 4-oct-2026 §2–§3 y anexo A.3): los mismos tokens, la misma fuente y la MISMA
   cabecera que las páginas estáticas (css/estaticas-cuaderno.css). Claro: papel; oscuro: cuaderno de noche en pizarra. El juego
   conserva su mesa con los contenedores oscuros fijos de la 1.41.2 (la lista :where() de arriba no cambia). ═══════════ */
@font-face { font-family: "Monedaris"; src: url(/assets/fuentes/noto-sans-semicond-400-89af02dd.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Monedaris"; src: url(/assets/fuentes/noto-sans-semicond-700-1a1eeba6.woff2) format("woff2"); font-weight: 700; font-display: swap; }
:root {
  --cz-font-display: "Monedaris", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif; --cz-font-body: "Monedaris", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  --fondo: oklch(0.255 0.014 240); --fondo-2: oklch(0.295 0.015 240); --pauta: oklch(0.420 0.014 240); --tinta: oklch(0.959 0.013 86.8); --tinta-2: oklch(0.840 0.012 240);
  --enlace: oklch(0.900 0.045 86); --cabecera: #080B0D; --marfil: #F5F1E8; --cab: 56px; --cuadricula: .6;
  --bg: var(--fondo); --bg-2: var(--fondo-2); --panel: oklch(0.285 0.015 240); --panel-2: oklch(0.33 0.015 240); --ink: var(--tinta); --muted: var(--tinta-2); --line: var(--pauta);
  --hueco: oklch(0.30 0.015 240);
  --r0: #9aa5ad; --r1: #b3bdc3; --r2: #c4b4a4; --r3: #d4a888; --r4: #e0966f; --r5: #ee8a63;
}
:root[data-tema="claro"] {
  --fondo: oklch(0.985 0.002 250); --fondo-2: oklch(0.955 0.004 250); --pauta: oklch(0.870 0.008 250); --tinta: oklch(0.210 0.010 250); --tinta-2: oklch(0.450 0.014 250);
  --enlace: oklch(0.470 0.090 75); --cuadricula: .45;
  --bg: var(--fondo); --bg-2: var(--fondo-2); --panel: #ffffff; --panel-2: var(--fondo-2); --ink: var(--tinta); --muted: var(--tinta-2); --line: var(--pauta);
  --acc: var(--enlace); --acc-ink: #ffffff; --acc-hover: oklch(0.42 0.09 75); --focus: var(--enlace); --hueco: var(--fondo-2);
  --r0: #7a848b; --r1: #6f7a82; --r2: #857565; --r3: #9a6a45; --r4: #a3552f; --r5: #a8401f;
}
body { font-variant-numeric: tabular-nums lining-nums; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: 0; }
.sobrelinea { font: 400 .8125rem/1.5 var(--cz-font-body); letter-spacing: 0; text-transform: none; color: var(--muted); }
.saltar { position: absolute; left: 8px; top: -60px; z-index: 40; padding: 10px 14px; background: var(--fondo-2); color: var(--tinta); border-radius: 6px; }
.saltar:focus { top: 8px; }

/* cabecera única: banda negra con la firma y UNA navegación (por debajo de 860 px, fija abajo en 5 huecos) */
.cabecera { background: var(--cabecera); border-bottom: 0; }
.cabecera .fila { max-width: 1120px; height: var(--cab); padding: 0 16px; gap: 16px; flex-wrap: nowrap; justify-content: flex-start; }
.cabecera .firma-nav { flex: none; padding: 0; min-height: 44px; display: flex; align-items: center; }
.cabecera .logo { display: block; width: 150px; max-width: none; }
#nav-principal { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; width: auto; padding: 0 0 env(safe-area-inset-bottom); background: var(--cabecera); border-top: 1px solid rgb(245 241 232 / .12); flex-wrap: nowrap; }
#nav-principal > a, #nav-principal .nav-mas > summary { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 58px; padding: 0; border: 0; border-radius: 0; background: none; color: #c9d0d5; text-decoration: none; font-size: .75rem; font-weight: 700; text-align: center; list-style: none; cursor: pointer; }
#nav-principal > a svg { width: 22px; height: 22px; }
#nav-principal > a.activa, #nav-principal > a:hover, #nav-principal .nav-mas[open] > summary { background: none; color: var(--marfil); box-shadow: inset 0 -3px var(--marfil); }
#nav-principal .nav-mas { position: static; }
#nav-principal .nav-mas > summary::-webkit-details-marker { display: none; }
#nav-principal .nav-mas > summary::before { content: ""; width: 22px; height: 22px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat; }
#nav-principal .nav-mas > div { position: absolute; top: auto; right: 8px; bottom: calc(100% + 6px); width: min(86vw, 300px); max-height: 70vh; overflow: auto; padding: 8px; border-radius: 8px; background: #15191c; border: 1px solid #2c3338; box-shadow: none; }
#nav-principal .nav-mas > div a { display: flex; align-items: center; min-height: 44px; padding: 0 10px; color: var(--marfil); text-decoration: none; border-radius: 4px; }
#nav-principal .nav-mas > div a:hover, #nav-principal .nav-mas > div a.activa { background: #22282c; color: var(--marfil); }
#nav-principal .nav-grupo { font-size: .8125rem; letter-spacing: 0; text-transform: none; color: #aab3b9; margin: 8px 10px 2px; }
main { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
.pie { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
@media (min-width: 860px) {
  :root { --cab: 64px; }
  .cabecera .logo { width: 176px; }
  #nav-principal { position: static; display: flex; margin-left: auto; padding: 0; background: none; border: 0; }
  #nav-principal > a, #nav-principal .nav-mas > summary { flex-direction: row; gap: 6px; min-height: 44px; padding: 0 10px; font-size: .9375rem; color: var(--marfil); }
  #nav-principal > a svg, #nav-principal .nav-mas > summary::before { width: 18px; height: 18px; }
  #nav-principal > a.activa { box-shadow: inset 0 -2px var(--marfil); }
  #nav-principal .nav-mas { position: relative; }
  #nav-principal .nav-mas > div { bottom: auto; top: calc(100% + 6px); right: 0; }
  main { padding-bottom: 72px; }
  .pie { padding-bottom: 32px; }
}

/* portada (Diseño A §3.9): cuadrícula en la cabeza; el buscador en un recuadro de 2 px con el campo como renglón subrayado */
.consulta-hero { position: relative; padding: 24px 0; isolation: isolate; }
.consulta-hero::before { content: ""; position: absolute; inset: -32px -16px 0; z-index: -1; background-image: linear-gradient(var(--pauta) 1px, transparent 1px), linear-gradient(90deg, var(--pauta) 1px, transparent 1px); background-size: 24px 24px; opacity: var(--cuadricula); -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
.consulta-hero h1 { font-size: 2.25rem; max-width: 16ch; }
.consulta-hero .entradilla { color: var(--ink); }
.buscador { background: var(--bg); border: 2px solid var(--ink); border-radius: 4px; box-shadow: none; padding: 16px; }
.buscador label.principal { font-weight: 700; }
.buscador .caja > svg { left: 4px; width: 18px; height: 18px; }
.buscador .caja input { border: 0; border-bottom: 2px solid var(--line); border-radius: 0; background: transparent; padding: 0 48px 0 32px; font-size: 1.0625rem; }
.buscador .caja input:focus { border-color: var(--focus); box-shadow: none; }
.buscador .filtros select { border-radius: 4px; background: var(--bg); }
.chip-btn { background: transparent; }
.vacio { padding: 16px; border: 1px dashed var(--muted); border-radius: 4px; }
@media (min-width: 960px) { .consulta-hero h1 { font-size: 3.25rem; } }
@media (max-width: 720px) { .consulta-hero h1 { font-size: 2.25rem; } }
