@font-face{font-family:'PokeFun';font-style:normal;font-weight:400 900;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');}
/* PokeChamp Coach — versión web
   Paleta y tipografía heredadas del APK (PALETTE_DARK / PALETTE_LIGHT). */

:root {
  --bg: #0D0D14;
  --surface: #1A1A28;
  --elevated: #2A2A3E;
  --border: #3E3E5C;
  --accent: #E63946;
  --text: #FFFFFF;
  --text-dim: #C2C8DC;
  --success: #2ECC71;
  --info: #4FC3F7;
  --warning: #FFD166;
  --danger: #E74C3C;
  --purple: #9B59B6;
  --sprite-bg: #1F1F30;
  --sombra: 0 6px 24px rgba(0, 0, 0, .45);
  --zebra: rgba(255, 255, 255, .028);
  --radio: 14px;
  --ancho: 1400px;
}

html[data-tema="claro"] {
  --bg: #EEF1F6;
  --surface: #FFFFFF;
  --elevated: #E4E8F0;
  --border: #BFC5D2;
  --accent: #D62839;
  --text: #12121C;
  --text-dim: #5B6473;
  --success: #1E9E5A;
  --info: #0288D1;
  --warning: #C97A05;
  --danger: #C9302C;
  --purple: #7B3FA0;
  --sprite-bg: #E4E8F0;
  --sombra: 0 6px 20px rgba(18, 18, 28, .12);
  --zebra: rgba(18, 18, 28, .035);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, .fuente-app {
  font-family: "PokeFun", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: .2px;
  margin: 0;
}

a { color: var(--accent); }
button { font-family: inherit; }
img { display: block; }

/* ---------- estructura ---------- */
.cabecera {
  position: sticky;
  top: 0;
  z-index: 40;
  background: linear-gradient(120deg, var(--accent), #7A1220 70%, var(--bg));
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.cabecera-in {
  max-width: var(--ancho);
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.logo-chip {
  width: 42px; height: 42px;
  border-radius: 12px;
  background: #0D0D14;
  padding: 3px;
  flex: 0 0 auto;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}
.logo-chip img { width: 100%; height: 100%; object-fit: contain; }

.titulo-app { color: #fff; font-size: 19px; line-height: 1.1; }
.subtitulo-app {
  color: rgba(255, 255, 255, .82);
  font-size: 11px;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.cabecera-acciones { margin-left: auto; display: flex; gap: 8px; align-items: center; }

/* ---------- navegación ---------- */
.nav {
  position: sticky;
  top: 63px;
  z-index: 39;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.nav-in {
  max-width: var(--ancho);
  margin: 0 auto;
  padding: 8px 12px;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}
.nav-in::-webkit-scrollbar { display: none; }

.nav-btn {
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-dim);
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: background .15s, color .15s;
}
.nav-btn:hover { background: var(--elevated); color: var(--text); }
.nav-btn[aria-current="page"] {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 3px 12px rgba(230, 57, 70, .35);
}

main {
  max-width: var(--ancho);
  margin: 0 auto;
  padding: 18px 16px 90px;
}
main > section:not(.oculto) { animation: aparecer .22s ease-out; }
@keyframes aparecer {
  from { opacity: 0; transform: translateY(6px); }
}

:root :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.scroll-y::-webkit-scrollbar, .modal-cuerpo::-webkit-scrollbar,
.sugerencias::-webkit-scrollbar { width: 8px; }
.scroll-y::-webkit-scrollbar-thumb, .modal-cuerpo::-webkit-scrollbar-thumb,
.sugerencias::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
.scroll-y::-webkit-scrollbar-track, .modal-cuerpo::-webkit-scrollbar-track,
.sugerencias::-webkit-scrollbar-track { background: transparent; }

/* ---------- tarjetas ---------- */
.tarjeta {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radio);
  padding: 16px;
  margin-bottom: 14px;
  box-shadow: var(--sombra);
}
.tarjeta > h2, .tarjeta > h3 {
  font-size: 16px;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tarjeta .ayuda { color: var(--text-dim); font-size: 12.5px; margin: 0 0 12px; }

.rejilla { display: grid; gap: 12px; }
.rejilla-2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.rejilla-3 { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.rejilla-equipos { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

/* ---------- botones ---------- */
.boton {
  background: var(--elevated);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: filter .15s, transform .05s;
}
.boton:hover { filter: brightness(1.14); transform: translateY(-1px); }
.boton:active { transform: scale(.98); }
.boton[disabled] { opacity: .45; cursor: not-allowed; }
.boton-principal {
  background: var(--accent);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 14px rgba(230, 57, 70, .35);
}
.boton-suave { background: transparent; }
.boton-chico { padding: 6px 10px; font-size: 12.5px; border-radius: 8px; }
/* Botón "proximamente": aspecto desactivado y cursor que lo avisa */
.boton-pronto { opacity: .6; cursor: not-allowed; filter: saturate(.72); }
.boton-pronto:hover, .boton-pronto:active { filter: saturate(.72); transform: none; box-shadow: none; }
.boton-icono {
  background: var(--elevated);
  border: 1px solid var(--border);
  color: var(--text);
  width: 38px; height: 38px;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.boton-icono:hover { filter: brightness(1.15); }
.boton-icono[aria-pressed="true"] {
  background: var(--accent);
  border-color: transparent;
  color: #fff;
}
.fila-botones { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- formularios ---------- */
.campo { display: block; margin-bottom: 10px; }
.campo > span {
  display: block;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--text-dim);
  margin-bottom: 4px;
  font-weight: 700;
}
input[type="text"], input[type="number"], input[type="search"], select, textarea {
  width: 100%;
  background: var(--elevated);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 9px 11px;
  font-size: 14px;
  font-family: inherit;
}
input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}
textarea { resize: vertical; min-height: 96px; font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 12.5px; }
input[type="range"] { width: 100%; accent-color: var(--accent); }
.fila-campos { display: flex; gap: 10px; flex-wrap: wrap; }
.fila-campos > .campo { flex: 1 1 120px; margin-bottom: 0; }

.interruptor {
  display: flex; align-items: center; gap: 10px;
  background: var(--elevated); border: 1px solid var(--border);
  border-radius: 10px; padding: 9px 12px; cursor: pointer; font-size: 13.5px;
}
.interruptor input { accent-color: var(--accent); width: 17px; height: 17px; }

/* ---------- chips e insignias ---------- */
.chip {
  display: inline-flex; align-items: center; gap: 5px;
  border-radius: 999px; padding: 3px 10px;
  font-size: 11.5px; font-weight: 700;
  color: #fff; border: 1px solid rgba(255, 255, 255, .18);
}
.chip img {
  height: 15px; width: 15px; object-fit: cover; object-position: left center;
  border-radius: 4px; display: block; flex: none;
}
.tipos { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.tipos .chip { max-width: 100%; }
.miembro .tipos { justify-content: center; }
.miembro .tipos .chip { font-size: 10.5px; padding: 3px 12px; }
.chip-suave {
  background: var(--elevated); color: var(--text-dim);
  border: 1px solid var(--border);
}
.badge {
  font-size: 10.5px; font-weight: 800; letter-spacing: .4px;
  padding: 3px 8px; border-radius: 6px; text-transform: uppercase;
}
.badge-legal { background: rgba(46, 204, 113, .16); color: var(--success); border: 1px solid var(--success); }
.badge-ilegal { background: rgba(231, 76, 60, .16); color: var(--danger); border: 1px solid var(--danger); }
.badge-mega { background: rgba(155, 89, 182, .18); color: var(--purple); border: 1px solid var(--purple); }
.badge-pro { background: rgba(255, 209, 102, .16); color: var(--warning); border: 1px solid var(--warning); }
.badge-pronto { background: var(--elevated); color: var(--text-dim); border: 1px solid var(--border); }

/* ---------- Pokémon: tarjetas y fichas ---------- */
.pkm-carta {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radio);
  padding: 10px;
  cursor: pointer;
  text-align: center;
  transition: transform .14s, border-color .14s, box-shadow .14s;
}
.pkm-carta:hover {
  transform: translateY(-4px); border-color: var(--accent);
  box-shadow: 0 10px 26px rgba(230, 57, 70, .18);
}
.pkm-carta:hover img { transform: scale(1.06); }
.pkm-carta img { transition: transform .16s; }
.pkm-carta img { width: 72px; height: 72px; margin: 0 auto; object-fit: contain; image-rendering: auto; }
.pkm-carta .nom { font-weight: 700; font-size: 13px; margin-top: 2px; }
.pkm-carta .tipos { display: flex; gap: 4px; justify-content: center; margin-top: 5px; flex-wrap: wrap; }

.sprite-marco {
  background: radial-gradient(circle at 50% 40%, var(--sprite-bg), transparent 70%);
  border-radius: 24px;
  padding: 10px;
  display: inline-block;
}
.sprite-marco img { width: 400px; height: 400px; max-width: 100%; object-fit: contain; }
.sprite-tactil { cursor: pointer; }

.stats-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.stats-tabla td { padding: 3px 6px; }
.stats-tabla .etiqueta { color: var(--text-dim); font-weight: 700; width: 46px; }
.stats-tabla .valor { width: 42px; text-align: right; font-variant-numeric: tabular-nums; }
.barra-stat { height: 7px; border-radius: 4px; background: var(--elevated); overflow: hidden; }
.barra-stat > i { display: block; height: 100%; border-radius: 4px; }

.seccion-titulo {
  text-align: center; font-size: 12.5px; font-weight: 800;
  letter-spacing: .6px; text-transform: uppercase; color: var(--text-dim);
  margin: 14px 0 8px;
}
.rejilla-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(134px, 1fr)); gap: 6px; }
.eficacia {
  display: flex; align-items: center; gap: 6px; min-width: 0;
  border-radius: 10px; padding: 5px 8px; height: 34px;
  color: #fff; font-weight: 800; font-size: 12px;
  overflow: hidden; text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}
.eficacia img { height: 20px; width: 20px; flex: 0 0 auto; object-fit: contain; }
.eficacia .eff-nombre { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eficacia .mult {
  flex: 0 0 auto; color: #fff; background: rgba(0, 0, 0, .42);
  border-radius: 6px; padding: 1px 6px; font-size: 11.5px;
}
.eficacia-vacia { visibility: hidden; }

/* ---------- cobertura ---------- */
.rejilla-cobertura { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.tesela {
  background: var(--elevated); border: 1px solid var(--border);
  border-radius: 9px; padding: 6px 2px; text-align: center;
}
.tesela img { height: 15px; margin: 0 auto 3px; width: auto; }
.tesela b { font-size: 11px; display: block; }

/* ---------- listas con sprite ---------- */
.fila-lista {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 9px; border-radius: 10px; cursor: pointer;
  border: 1px solid transparent;
}
.fila-lista:hover { background: var(--elevated); border-color: var(--border); }
.fila-lista img { width: 34px; height: 34px; object-fit: contain; flex: 0 0 auto; }
.fila-lista .texto { min-width: 0; }
.fila-lista .texto b { display: block; font-size: 13.5px; }
.fila-lista .texto small { color: var(--text-dim); font-size: 11.5px; }
.fila-lista .derecha { margin-left: auto; text-align: right; color: var(--text-dim); font-size: 12px; }

.icono-objeto {
  width: 30px; height: 30px; flex: 0 0 auto;
  background-repeat: no-repeat; image-rendering: auto;
}

/* Lista de sugerencias del buscador: menu flotante anclado al contenedor del
   input (.buscador, position:relative) y con z-index 1000 para flotar por
   encima de la barra de filtros (.fila-campos, z-index 50) y de la rejilla.
   El fondo es opaco: nada se transparenta por debajo mientras esta abierto. */
.sugerencias {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  margin-top: 4px;
  max-height: 320px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .6);
  pointer-events: auto;
}
/* Las filas siguen siendo pulsables aunque el menu caiga sobre la barra de
   filtros: son las que abren la ficha del Pokemon. */
.sugerencias .fila-lista { pointer-events: auto; }
.buscador { position: relative; }
.buscador.con-boton { display: flex; gap: 6px; align-items: stretch; }
.buscador.con-boton input { flex: 1; min-width: 0; }
.buscador.con-boton .boton-icono { flex: 0 0 auto; width: 42px; height: auto; }

/* ---------- chips de filtro por tipo ---------- */
.chips-filtro {
  display: flex; gap: 6px; overflow-x: auto; padding: 2px 0 6px;
  scrollbar-width: thin;
}
.chips-filtro::-webkit-scrollbar { height: 5px; }
.chips-filtro::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
.chip-filtro {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px;
  background: var(--elevated); color: var(--text-dim);
  border: 1px solid var(--border); border-radius: 999px;
  padding: 5px 12px; font-size: 12.5px; font-weight: 700;
  cursor: pointer; white-space: nowrap;
  transition: background .15s, color .15s, transform .1s;
}
.chip-filtro img { height: 14px; width: auto; display: block; }
.chip-filtro:hover { transform: translateY(-1px); color: var(--text); }
.chip-filtro.activo { color: #fff; border-color: transparent; box-shadow: 0 2px 10px rgba(0,0,0,.28); }

/* ---------- chips elegibles del set del meta ---------- */
.chip-meta {
  cursor: pointer; font-family: inherit;
  transition: opacity .15s, box-shadow .15s, transform .1s;
}
.chip-meta:hover { transform: translateY(-1px); }
.chip-meta:not(.activo) { opacity: .4; filter: grayscale(.55); }
.chip-meta.activo { box-shadow: 0 0 0 2px var(--accent), 0 2px 10px rgba(0,0,0,.28); }

/* ---------- radar ---------- */
.radar-pie {
  text-align: center; font-size: 11px; font-weight: 700;
  letter-spacing: .4px; text-transform: uppercase;
  color: var(--text-dim); margin-top: -4px;
}

/* ---------- equipo ---------- */
.miembro {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radio); padding: 10px; position: relative;
}
.miembro img.sprite { width: 64px; height: 64px; object-fit: contain; }
.miembro .quitar {
  position: absolute; top: 6px; right: 6px;
  background: var(--elevated); border: 1px solid var(--border);
  color: var(--danger); border-radius: 8px; cursor: pointer;
  width: 26px; height: 26px; font-size: 13px; line-height: 1;
}
.ranura-vacia {
  border: 1.5px dashed var(--border); border-radius: var(--radio);
  min-height: 92px; display: flex; align-items: center; justify-content: center;
  color: var(--text-dim); font-size: 12.5px;
}
.linea-set { font-size: 11.5px; color: var(--text-dim); }
.linea-set b { color: var(--text); font-weight: 600; }

/* ---------- resultado de daño ---------- */
.resultado-dano { text-align: center; }
.dano-grande { font-size: 26px; font-weight: 800; font-family: "PokeFun", sans-serif; }
.barra-ko { height: 14px; border-radius: 7px; background: var(--elevated); position: relative; overflow: hidden; margin: 10px 0 6px; }
.barra-ko i { position: absolute; top: 0; bottom: 0; display: block; }
.chips-ko { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.desglose {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center;
  font-size: 11.5px; color: var(--text-dim); margin-top: 10px;
}
.desglose span {
  background: var(--elevated); border: 1px solid var(--border);
  border-radius: 999px; padding: 2px 9px;
}

/* ---------- meta ---------- */
.uso-barra { height: 6px; background: var(--elevated); border-radius: 3px; overflow: hidden; min-width: 60px; }
.uso-barra > i { display: block; height: 100%; background: var(--accent); border-radius: 3px; }
.tabla-meta { width: 100%; border-collapse: collapse; font-size: 13px; }
.tabla-meta th {
  text-align: left; color: var(--text-dim); font-size: 11px;
  text-transform: uppercase; letter-spacing: .5px; padding: 6px;
  border-bottom: 1px solid var(--border); position: sticky; top: 0;
  background: var(--surface);
}
.tabla-meta td { padding: 6px; border-bottom: 1px solid var(--border); }
.tabla-meta tbody tr:nth-child(even) td { background: var(--zebra); }
.tabla-meta tr:hover td { background: var(--elevated); cursor: pointer; }
.tabla-meta .num { text-align: right; font-variant-numeric: tabular-nums; }
#meta-orden { margin-top: 8px; }

.fuente {
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--elevated); border: 1px solid var(--border);
  border-radius: 12px; padding: 9px 11px; margin-bottom: 7px;
}
.fuente .marca { font-size: 20px; line-height: 1.2; }
.fuente .cuerpo { flex: 1; min-width: 0; }
.fuente .tit { font-weight: 700; font-size: 13.5px; }
.fuente .tit a { color: var(--accent); text-decoration: none; }
.fuente .que { color: var(--text-dim); font-size: 11.5px; margin-top: 2px; }
.fuente .chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.fuente.derivada { opacity: .78; border-style: dashed; }
.veredicto {
  background: linear-gradient(135deg, rgba(230, 57, 70, .12), rgba(69, 123, 242, .10));
  border: 1px solid var(--border); border-left: 3px solid var(--accent);
  border-radius: 12px; padding: 10px 12px; margin-top: 10px;
  font-size: 12.5px; line-height: 1.55; color: var(--text-dim);
}
.pill {
  border-radius: 999px; padding: 1px 8px; font-size: 10.5px; font-weight: 700;
  border: 1px solid var(--border); background: var(--surface); color: var(--text-dim);
  white-space: nowrap;
}
.pill-alto { background: rgba(46, 204, 113, .16); color: var(--success); border-color: var(--success); }
.pill-medio { background: rgba(241, 196, 15, .16); color: var(--warning); border-color: var(--warning); }
.pill-bajo { background: rgba(231, 76, 60, .16); color: var(--danger); border-color: var(--danger); }
.tabla-fuentes { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.tabla-fuentes td, .tabla-fuentes th {
  padding: 6px 7px; border-bottom: 1px solid var(--border); text-align: left;
}
.tabla-fuentes th {
  color: var(--text-dim); font-size: 10.5px; text-transform: uppercase; letter-spacing: .4px;
}
.tabla-fuentes .num { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- portada ---------- */
.hero {
  text-align: center; padding: 34px 18px 26px;
  background: radial-gradient(circle at 50% 0%, rgba(230, 57, 70, .22), transparent 62%);
  border-radius: 20px;
}
.hero img.logo { width: 112px; height: 112px; margin: 0 auto 10px; }
.hero h1 { font-size: clamp(28px, 5vw, 42px); line-height: 1.05; }
.hero p.lead { color: var(--text-dim); font-size: 16px; max-width: 640px; margin: 10px auto 18px; }
.hero .acciones { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

.prestacion {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radio); padding: 14px;
}
.prestacion .emo { font-size: 24px; }
.prestacion h3 { font-size: 15px; margin: 6px 0 4px; }
.prestacion p { color: var(--text-dim); font-size: 13px; margin: 0; }

details.legal {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 10px 14px; margin-bottom: 8px;
}
details.legal summary { cursor: pointer; font-weight: 700; font-size: 14px; }
details.legal p, details.legal li { color: var(--text-dim); font-size: 13.5px; }
details.legal h4 { margin: 12px 0 2px; font-size: 13px; color: var(--text); }
details.legal .actualizada { font-size: 12px; color: var(--text-dim); margin: 6px 0 2px; }

.pie {
  text-align: center; color: var(--text-dim); font-size: 12px;
  padding: 22px 14px 30px; border-top: 1px solid var(--border); margin-top: 18px;
}

/* ---------- diálogos y avisos ---------- */
dialog.modal {
  border: 1px solid var(--border); border-radius: 16px;
  background: var(--surface); color: var(--text);
  padding: 0; max-width: min(680px, 94vw); width: 100%;
  box-shadow: var(--sombra);
}
dialog.modal::backdrop { background: rgba(0, 0, 0, .62); backdrop-filter: blur(2px); }
.modal-cab {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px; border-bottom: 1px solid var(--border);
}
.modal-cab h3 { font-size: 16px; flex: 1; }
.modal-cuerpo { padding: 16px; max-height: min(70vh, 620px); overflow-y: auto; }
.modal-pie {
  padding: 12px 16px; border-top: 1px solid var(--border);
  display: flex; gap: 8px; justify-content: flex-end;
}
/* Modal ancho del editor de set (#ed-*). */
dialog.modal.modal-ancho { width: 95vw; max-width: min(1400px, 95vw); }
dialog.modal.modal-ancho .modal-cuerpo { padding: 22px 28px; max-height: 90vh; }

/* Editor de set: 3 columnas (stats | equipo y movimientos | resumen). */
.ed-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) minmax(0, .95fr);
  gap: 22px; align-items: start; margin-top: 16px;
}
.ed-col { min-width: 0; }
.ed-col .fila-campos { margin: 0; }
.ed-col-resumen { display: flex; flex-direction: column; }
.ed-col-resumen #ed-resumen { width: 100%; }
.ed-col-resumen .radar { height: auto; margin-left: auto; margin-right: auto; }

/* Sliders de EVs: rejilla de 4 columnas con anchos fijos (sin solapes). */
.ev-cabecera, .ev-fila {
  display: grid; grid-template-columns: 62px minmax(0, 1fr) 66px 52px;
  gap: 10px; align-items: center;
}
.ev-cabecera {
  font-size: 10px; letter-spacing: .4px; text-transform: uppercase;
  color: var(--text-dim); font-weight: 800; margin: 2px 0 4px;
}
.ev-cabecera span:nth-child(3), .ev-cabecera span:nth-child(4) { text-align: right; }
.ev-fila { margin: 5px 0; }
.ev-nom { font-size: 12.5px; font-weight: 700; }
.ev-range { width: 100%; min-width: 0; }
.ev-num { width: 100%; text-align: right; padding: 4px 7px; -moz-appearance: textfield; appearance: textfield; }
.ev-num::-webkit-outer-spin-button, .ev-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ev-final {
  text-align: right; font-size: 12.5px; font-variant-numeric: tabular-nums;
  white-space: nowrap; background: var(--elevated); border: 1px solid var(--border);
  border-radius: 6px; padding: 3px 6px;
}

/* Slots de movimiento del editor. */
.mov-bloque { margin-bottom: 12px; }
.mov-slot { display: flex; align-items: center; gap: 8px; }
.mov-num { flex: 0 0 20px; text-align: center; font-size: 11px; font-weight: 800; color: var(--text-dim); }
.mov-btn { flex: 1; min-width: 0; justify-content: flex-start; gap: 8px; }
.mov-nombre { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.mov-accion { flex: 0 0 auto; }
.mov-chip { flex: 0 0 auto; }
.mov-detalle { padding: 6px 2px 2px 28px; }

/* Chips/mini-badges y datos de movimiento. */
.chip-mini { font-size: 10.5px; padding: 2px 8px; gap: 4px; }
.chip-mini img { width: 14px; height: 14px; }
.mov-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 5px 0 6px; }
.mov-meta-mini { margin: 4px 0 3px; gap: 5px; }
.mov-dato {
  font-size: 11.5px; background: var(--elevated); border: 1px solid var(--border);
  border-radius: 6px; padding: 2px 8px; color: var(--text-dim); white-space: nowrap;
}
.mov-dato b { color: var(--text); font-weight: 800; }
.chip-clase {
  font-size: 11.5px; font-weight: 800; border-radius: 6px; padding: 2px 9px;
  color: #fff; letter-spacing: .3px; text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.mov-desc {
  margin: 0; font-size: 12px; line-height: 1.5; color: var(--text-dim);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.mov-desc:hover { -webkit-line-clamp: 12; }
.mov-desc-mini { font-size: 11.5px; line-height: 1.45; }

/* Selector de movimientos: filas con datos del ataque. */
.fila-mov { align-items: flex-start; gap: 10px; padding: 8px 9px; }
.fila-mov .mov-chip { flex: 0 0 88px; justify-content: center; margin-top: 1px; }
.fila-mov .mov-chip img { width: 15px; height: 15px; }
.fila-mov .texto { flex: 1; min-width: 0; }
.fila-mov .mov-fila-meta { display: block; margin-top: 3px; }
.fila-mov:hover .mov-desc-mini, .fila-mov:focus .mov-desc-mini { -webkit-line-clamp: 6; }

@media (max-width: 1180px) {
  .ed-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ed-col-resumen { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .ed-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  dialog.modal.modal-ancho { width: 96%; }
  dialog.modal.modal-ancho .modal-cuerpo { padding: 16px 14px; }
  .ev-cabecera, .ev-fila { grid-template-columns: 54px minmax(0, 1fr) 58px 46px; gap: 8px; }
}

#avisos {
  position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%);
  z-index: 90; display: flex; flex-direction: column; gap: 8px;
  align-items: center; pointer-events: none; width: min(92vw, 520px);
}
.aviso {
  background: var(--elevated); border: 1px solid var(--border);
  color: var(--text); border-radius: 999px; padding: 9px 18px;
  font-size: 13.5px; box-shadow: var(--sombra); animation: subir .18s ease-out;
}
@keyframes subir { from { opacity: 0; transform: translateY(8px); } }

/* ---------- utilidades ---------- */
.dim { color: var(--text-dim); }
.pequeno { font-size: 12px; }
.centrado { text-align: center; }
.derecha { text-align: right; }
.separador { height: 1px; background: var(--border); margin: 12px 0; border: 0; }
.oculto { display: none !important; }
.flex { display: flex; gap: 10px; align-items: center; }
.flex-wrap { flex-wrap: wrap; }
.crece { flex: 1; }
.mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; }
.cargando { color: var(--text-dim); font-size: 13px; font-style: italic; }
.scroll-y { overflow-y: auto; }

.radar { display: block; margin: 0 auto; }

.estado-vacio { text-align: center; padding: 26px 14px; color: var(--text-dim); }
.estado-vacio .emo { font-size: 40px; display: block; margin-bottom: 6px; }

/* ---------- comparador ---------- */
.cmp-rejilla { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: start; }
.cmp-vs { align-self: center; justify-self: center; font-family: "PokeFun", system-ui, sans-serif;
  font-weight: 900; font-size: 20px; color: var(--text-dim); background: var(--elevated);
  border: 1px solid var(--border); border-radius: 999px; padding: 8px 14px; }
.cmp-panel { background: var(--elevated); border: 1px solid var(--border); border-radius: 14px;
  padding: 14px; display: flex; flex-direction: column; gap: 10px;
  border-top: 3px solid var(--cmp, var(--accent)); }
.cmp-cab { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cmp-cab img { max-width: 100%; }
.cmp-nombre { font-weight: 700; font-size: 17px; }
.cmp-tipos { display: flex; gap: 5px; flex-wrap: wrap; justify-content: center; }
.cmp-stats { display: flex; flex-direction: column; gap: 5px; }
.cmp-stat { display: grid; grid-template-columns: 34px 1fr 26px; gap: 8px; align-items: center; font-size: 12px; }
.cmp-stat-nom { color: var(--text-dim); }
.cmp-stat-bar { height: 8px; background: var(--surface); border-radius: 999px; overflow: hidden; }
.cmp-stat-bar span { display: block; height: 100%; border-radius: 999px; transition: width .3s ease; }
.cmp-stat-val { text-align: right; font-weight: 700; }
.cmp-meta { text-align: center; color: var(--text-dim); font-size: 12px; min-height: 1.2em; }
.cmp-cruce { margin-top: 16px; background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 12px 16px; }
.cmp-cruce h3 { font-size: 14px; margin-bottom: 6px; }
.cmp-cruce p { margin: 3px 0; color: var(--text-dim); }

/* ---------- ajustes: switches y grupos ---------- */
.grupo-ajustes { border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px;
  margin-top: 14px; background: var(--surface); }
.grupo-ajustes h3 { font-size: 13px; color: var(--accent); margin-bottom: 6px; }
.fila-ajuste { display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 9px 0; cursor: pointer; }
.fila-ajuste + .fila-ajuste { border-top: 1px solid var(--border); }
.fila-ajuste-texto b { display: block; font-size: 14px; font-weight: 600; }
.fila-ajuste-texto small { display: block; color: var(--text-dim); font-size: 12px; }
.switch { appearance: none; -webkit-appearance: none; width: 46px; height: 26px; flex: 0 0 auto;
  background: var(--elevated); border: 1px solid var(--border); border-radius: 999px; position: relative;
  cursor: pointer; transition: background .18s ease, border-color .18s ease; outline: none; margin: 0; }
.switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px;
  background: var(--text-dim); border-radius: 50%; transition: transform .18s ease, background .18s ease; }
.switch:checked { background: var(--accent); border-color: var(--accent); }
.switch:checked::after { transform: translateX(20px); background: #fff; }
.switch:focus-visible { box-shadow: 0 0 0 3px rgba(230, 57, 70, .35); }

/* ---------- pie: enlaces legales ---------- */
.pie-legal { display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: center; margin-bottom: 8px; }
.pie-legal a { color: var(--accent); text-decoration: none; font-weight: 600; }
.pie-legal a:hover { text-decoration: underline; }

@media (max-width: 820px) {
  .cmp-rejilla { grid-template-columns: 1fr; }
  .cmp-vs { justify-self: center; }
}

/* ---------- móvil ---------- */
@media (max-width: 820px) {
  .nav {
    top: auto; bottom: 0; border-bottom: 0;
    border-top: 1px solid var(--border);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .nav-in { padding: 6px 8px; justify-content: space-between; }
  .nav-btn {
    flex: 1 1 0; padding: 7px 4px; font-size: 11px;
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    border-radius: 12px;
  }
  .nav-btn .ico { font-size: 17px; line-height: 1; }
  main { padding: 14px 12px 96px; }
  .rejilla-cobertura { grid-template-columns: repeat(3, 1fr); }
  .rejilla-chips { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
  .cabecera-in { padding: 8px 12px; }
  .titulo-app { font-size: 16px; }
  #avisos { bottom: 78px; }
  .sprite-marco img { width: 250px; height: 250px; }
}

@media (min-width: 821px) {
  .nav-btn .ico { margin-right: 6px; }
}

@media print {
  .cabecera, .nav, #avisos { display: none; }
}

/* ---------- Desplegable personalizado de tipos (Scouter) ---------- */
.select-oculto { display: none !important; }

.dd { position: relative; }

/* Capa de apilado de los menus flotantes, tanto el desplegable como la
   lista de sugerencias. Los dos son position:absolute, pero la cuadricula se
   pinta DESPUES en el DOM y la tarjeta que los contiene lleva backdrop-filter
   (crea contexto de apilado): sin elevar la tarjeta y la fila de filtros, los
   sprites y las tarjetas tapaban los menus. La tarjeta sube a 10 (por encima
   del grid y por debajo de la cabecera fija, z-index 40); la fila de filtros
   a 50; y los menus a 1000 (.sugerencias y .dd-panel). Ningun contenedor de
   filtros tiene overflow:hidden, asi que los menus nunca se recortan. */
.tarjeta:has(.dd),
.tarjeta:has(.sugerencias) { position: relative; z-index: 10; }

.fila-campos:has(.dd) { position: relative; z-index: 50; }

.dd-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--elevated);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 8px 11px;
  font-size: 14px;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s, box-shadow .15s;
}
.dd-btn:hover { border-color: var(--accent); }
.dd-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.dd-btn.select-activo { border-color: var(--dd-accent, var(--accent)); }

.dd-ico {
  height: 18px; width: 18px; flex: none; display: inline-block;
  object-fit: cover; object-position: left center;
  border-radius: 5px;
}
.dd-ico-todos {
  background: radial-gradient(circle at 30% 30%, #7f8c9b, #3a4149);
  border: 1px solid rgba(255, 255, 255, .25);
}

.dd-nombre {
  flex: 1; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.dd-flecha {
  color: var(--text-dim);
  font-size: 11px;
  line-height: 1;
  transition: transform .18s;
}
.dd-btn[aria-expanded="true"] .dd-flecha { transform: rotate(180deg); }

.dd-panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0; right: 0;
  max-height: 280px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .55);
  padding: 6px;
  z-index: 1000;
}
.dd-panel::-webkit-scrollbar { width: 8px; }
.dd-panel::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
.dd-panel::-webkit-scrollbar-track { background: transparent; }

.dd-op {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  background: transparent;
  color: var(--text);
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 8px 10px;
  margin: 2px 0;
  font-size: 13.5px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  transition: transform .1s, filter .12s, box-shadow .12s;
}
.dd-op:hover { transform: translateX(2px); }
.dd-op.dd-op-tipo { color: #fff; }
.dd-op.dd-op-tipo:hover { filter: brightness(1.08); }
.dd-op.activo { box-shadow: 0 0 0 2px var(--accent), 0 4px 14px rgba(0, 0, 0, .35); }

.dd-check { color: #fff; font-weight: 900; font-size: 13px; flex: none; }

/* ---------- Editor de Pokémon: EVs, naturaleza y habilidad ---------- */
.ayuda-efecto {
  margin: -2px 0 8px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-dim);
  background: var(--elevated);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 7px 10px;
  min-height: 18px;
}
.ev-final { font-variant-numeric: tabular-nums; }
input[type="range"] { cursor: pointer; }

/* ===== Pulido profesional / AdSense ===== */
/* Equipo: cuadrícula de ranuras grandes */
#equipo-slots {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
}
#equipo-slots .ranura-vacia {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 2px dashed var(--border);
  border-radius: var(--radio);
  background:
    radial-gradient(circle at 50% 38%, rgba(230,57,70,.16), transparent 46%),
    var(--surface);
  font-weight: 800;
  color: var(--text-dim);
  font-size: 13px;
  cursor: pointer;
  transition: border-color .15s, transform .12s;
}
#equipo-slots .ranura-vacia::before {
  content: "◯";
  display: block;
  font-size: 42px;
  line-height: 1;
  color: var(--border);
  margin-bottom: 8px;
}
#equipo-slots .ranura-vacia:hover { border-color: var(--accent); transform: translateY(-2px); }
#equipo-slots .miembro { min-height: 150px; }

/* Botón de añadir Pokémon */
[data-add], #btn-add, #btn-add-pkm, .btn-add {
  border-radius: 12px;
  box-shadow: var(--sombra);
}

/* Scouter: insignias de tipo proporcionadas bajo el sprite */
#ficha-pkm .tipos .chip, .ficha-pkm .tipos .chip {
  font-size: 10.5px;
  padding: 2px 9px;
  gap: 4px;
}
#ficha-pkm .tipos .chip img, .ficha-pkm .tipos .chip img { height: 13px; width: 13px; }

/* Accesibilidad: etiquetas y textos secundarios con más contraste */
.campo > span, .cmp-stat-nom, .calc-etiqueta, .ayuda {
  color: var(--text-dim);
}

/* Ajustes: selects y botones homogéneos */
#tab-ajustes select,
#tab-ajustes .boton,
.grupo-ajustes select,
.grupo-ajustes .boton {
  border-radius: 10px;
  box-shadow: var(--sombra);
}
#tab-ajustes select:focus,
.grupo-ajustes select:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

/* Footer legal legible */
footer a, .pie-legal a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
footer, .pie-legal { font-size: 13px; color: var(--text-dim); line-height: 1.6; }


/* ---------- cuenta de Google y nube ---------- */
.boton-google {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  color: #1f1f1f;
  border: 1px solid #dadce0;
  border-radius: 8px;
  min-height: 44px;
  min-width: 44px;
  padding: 7px 14px 7px 10px;
  font-family: Roboto, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: box-shadow .15s, background .15s;
}
.boton-google:hover { background: #f8f9fa; box-shadow: 0 1px 3px rgba(60, 64, 67, .3); }
.boton-google .g-logo { display: inline-flex; }
.boton-google .g-texto { white-space: nowrap; }

.auth-usuario { display: inline-flex; align-items: center; gap: 8px; color: inherit; }
.auth-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.auth-avatar-ini { display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .2); font-weight: 700; }
.auth-nombre { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; }
.cabecera-acciones .auth-usuario { color: #fff; }
.cabecera-acciones .auth-avatar { border: 2px solid rgba(255, 255, 255, .75); }

.nube-indicador { min-height: 20px; margin: 10px 0 2px; font-size: 12.5px; }
.nube-ok { color: var(--success); }
.nube-off { color: var(--warning); }
.nube-lista { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.nube-item { display: flex; align-items: center; gap: 10px; background: var(--elevated); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; }
.nube-item-info { flex: 1; min-width: 0; }
.nube-item-nombre { font-weight: 700; font-size: 14px; }
.nube-item-meta { color: var(--text-dim); font-size: 11.5px; }
.nube-item-acciones { display: flex; gap: 6px; flex: 0 0 auto; }

@media (max-width: 720px) {
  .boton-google .g-texto { display: none; }
  .boton-google { padding: 8px; }
  .auth-nombre { display: none; }
  .nube-item { flex-direction: column; align-items: flex-start; }
  .nube-item-acciones { width: 100%; }
}

/* ===== Multipágina: navegación por enlaces reales ===== */
a.nav-link, a.titulo-app, a.logo-chip, a.boton-icono { text-decoration: none; }

.nav-link {
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-dim);
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background .15s, color .15s;
}
.nav-link:hover { background: var(--elevated); color: var(--text); }
.nav-link[aria-current="page"] {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 3px 12px rgba(230, 57, 70, .35);
}
.nav-link .ico { font-size: 15px; }

@media (max-width: 820px) {
  .nav-link {
    flex: 1 1 0;
    padding: 7px 4px;
    font-size: 11px;
    flex-direction: column;
    gap: 2px;
    border-radius: 12px;
  }
  .nav-link .ico { font-size: 17px; }
}

a.titulo-app { color: #fff; }
.logo-chip { display: inline-flex; }

/* ===== Páginas editoriales (Guías, Meta, legales) ===== */
.layout-articulo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
}
@media (max-width: 980px) { .layout-articulo { grid-template-columns: 1fr; } }

.articulo {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 26px 30px;
}
.articulo h1 { font-size: clamp(24px, 4vw, 34px); line-height: 1.12; margin-bottom: 8px; }
.articulo h2 { font-size: 20px; color: var(--accent); margin: 28px 0 10px; }
.articulo h3 { font-size: 16px; margin: 18px 0 8px; }
.articulo p { color: var(--text-dim); font-size: 15px; line-height: 1.72; margin: 0 0 14px; }
.articulo p strong, .articulo li strong { color: var(--text); }
.articulo ul, .articulo ol { color: var(--text-dim); font-size: 15px; line-height: 1.65; margin: 0 0 16px; padding-left: 22px; }
.articulo li { margin-bottom: 6px; }
.articulo blockquote {
  border-left: 3px solid var(--accent);
  margin: 16px 0;
  padding: 10px 16px;
  background: var(--elevated);
  border-radius: 0 10px 10px 0;
  color: var(--text-dim);
}
.articulo .intro { font-size: 16px; }
.articulo .meta-datos {
  font-size: 12.5px;
  color: var(--text-dim);
  border-top: 1px solid var(--border);
  margin-top: 8px;
  padding-top: 10px;
}

.miga-pan { font-size: 12.5px; color: var(--text-dim); margin: 4px 0 16px; }
.miga-pan a { color: var(--accent); text-decoration: none; }
.miga-pan a:hover { text-decoration: underline; }

.toc {
  background: var(--elevated);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 20px;
}
.toc h2 { font-size: 14px; margin: 0 0 8px; color: var(--text); }
.toc ol { margin: 0; padding-left: 20px; color: var(--text-dim); font-size: 14px; }
.toc a { color: var(--accent); text-decoration: none; }
.toc a:hover { text-decoration: underline; }

.lateral {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 78px;
}
.lateral .tarjeta { margin-bottom: 0; }
.lateral h2, .lateral h3 { font-size: 14px; margin-bottom: 8px; }

.tipo {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 800;
  color: #fff;
  border-radius: 6px;
  padding: 2px 9px;
  text-transform: uppercase;
  letter-spacing: .3px;
}

/* ===== Tablas y datos editoriales ===== */
.tabla-editorial { width: 100%; border-collapse: collapse; font-size: 13px; margin: 12px 0; }
.tabla-editorial th {
  text-align: left; color: var(--text-dim); font-size: 11px;
  text-transform: uppercase; letter-spacing: .5px; padding: 7px 8px;
  border-bottom: 1px solid var(--border);
}
.tabla-editorial td { padding: 7px 8px; border-bottom: 1px solid var(--border); color: var(--text-dim); }
.tabla-editorial td b { color: var(--text); }
.tabla-editorial .num { text-align: right; font-variant-numeric: tabular-nums; }

/* Página legal */
.pagina-legal { max-width: 860px; margin: 0 auto; }
.pagina-legal .articulo h2 { margin-top: 24px; }

/* ===== Portada: tarjetas de características en 3x2 simétrico =====
   Rejilla de 6 pistas: cada tarjeta ocupa 2 (= 3 por fila) y las dos
   ultimas ocupan 3 cada una (= 50%), cerrando la fila inferior sin huecos. */
#prestaciones {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  margin: 18px auto 8px;
  max-width: 1040px;
}
#prestaciones .prestacion {
  grid-column: span 2;
  padding: 18px 16px;
  text-align: center;
}
#prestaciones .prestacion:nth-child(4),
#prestaciones .prestacion:nth-child(5) { grid-column: span 3; }
#prestaciones .prestacion .emo { font-size: 26px; }
@media (max-width: 820px) {
  #prestaciones { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #prestaciones .prestacion,
  #prestaciones .prestacion:nth-child(4),
  #prestaciones .prestacion:nth-child(5) { grid-column: auto; }
  /* Si queda una ultima tarjeta suelta (numero impar), ocupa la fila entera */
  #prestaciones .prestacion:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  #prestaciones { grid-template-columns: 1fr; }
}

/* ===== Scouter · tarjetas y etiquetas de tipo (premium) ===== */
.pkm-carta {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .030), rgba(255, 255, 255, .006)),
    var(--surface);
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 14px;
  padding: 14px 10px 12px;
  transition: transform .18s ease, border-color .18s ease,
              box-shadow .18s ease, background-color .18s ease;
}
.pkm-carta:hover {
  transform: translateY(-3px);
  border-color: rgba(155, 89, 182, .45);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .34);
}
.pkm-carta img { width: 72px; height: 72px; display: block; margin: 0 auto 6px; object-fit: contain; }
.pkm-carta .nom { color: #ffffff; font-weight: 700; font-size: 13.5px; letter-spacing: .2px; margin-top: 0; }
.pkm-carta .tipos { display: flex; gap: 5px; justify-content: center; margin-top: 7px; flex-wrap: wrap; }
.pkm-carta .tipos .chip {
  gap: 4px;
  padding: 2px 8px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid var(--tc, var(--border)) !important;
  color: var(--tc, var(--text-dim)) !important;
}
.pkm-carta .tipos .chip img {
  height: 11px; width: 11px; border-radius: 3px; opacity: .95;
}
html[data-tema="claro"] .pkm-carta { background: var(--surface); border-color: rgba(18, 18, 28, .10); }
html[data-tema="claro"] .pkm-carta .nom { color: var(--text); }
html[data-tema="claro"] .pkm-carta .tipos .chip { color: var(--text) !important; }

/* ===== Guías · Dashboard de aprendizaje ===== */
body[data-pagina="guias"] main { max-width: 1400px; }
.guia-layout { grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); }
.guia-side { position: sticky; top: 78px; }
.guia-side-in {
  background: var(--elevated);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.guia-side-tit {
  font-size: 11.5px; text-transform: uppercase; letter-spacing: 1.3px;
  color: var(--text-dim); margin: 6px 0 0;
}
.guia-nav { display: flex; flex-direction: column; gap: 2px; }
.guia-nav a {
  color: var(--text-dim); text-decoration: none; font-size: 13.5px;
  padding: 8px 11px; border-radius: 9px; border: 1px solid transparent;
  transition: background .15s, color .15s, border-color .15s;
}
.guia-nav a:hover {
  background: rgba(155, 89, 182, .15);
  border-color: rgba(155, 89, 182, .38);
  color: var(--text);
}
.guia-tools, .guia-cta { display: flex; flex-direction: column; gap: 8px; }
.guia-cta { flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: 22px; }
.guia-cta > span { color: var(--text-dim); font-size: 13.5px; margin-right: 4px; }
.guia-cta .guia-boton { width: auto; }
.guia-boton {
  display: inline-block; text-decoration: none; color: #fff; font-weight: 700;
  font-size: 13.5px; padding: 10px 13px; border-radius: 10px; text-align: center;
  background: linear-gradient(180deg, var(--accent), #b32b3a);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 6px 16px rgba(230, 57, 70, .28);
  transition: transform .15s, box-shadow .15s;
}
.guia-boton:hover { transform: translateY(-1px); box-shadow: 0 9px 22px rgba(230, 57, 70, .36); }

.g-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 14px; margin: 14px 0; }
.g-card {
  background: linear-gradient(180deg, rgba(155, 89, 182, .10), rgba(255, 255, 255, .015));
  border: 1px solid var(--border); border-radius: 14px; padding: 15px 17px;
}
.g-card h3 { margin: 0 0 6px; font-size: 15px; }
.g-card p { margin: 0; font-size: 13.5px; }

details.acc {
  background: var(--elevated); border: 1px solid var(--border);
  border-radius: 12px; margin: 10px 0; overflow: hidden;
}
details.acc > summary {
  cursor: pointer; list-style: none; padding: 13px 16px;
  font-weight: 700; font-size: 14.5px; color: var(--text);
  display: flex; align-items: center; gap: 8px;
}
details.acc > summary::-webkit-details-marker { display: none; }
details.acc > summary::after { content: "▾"; margin-left: auto; color: var(--accent); transition: transform .2s; }
details.acc[open] > summary::after { transform: rotate(180deg); }
.acc-cuerpo { padding: 0 16px 14px; }
.acc-cuerpo p { margin: 0; font-size: 14px; }

.g-ej {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 11px 14px; margin: 8px 0;
}
.g-ej .lab { font-weight: 800; min-width: 168px; font-variant-numeric: tabular-nums; font-size: 13.5px; }
.g-ej .val { font-size: 12px; color: var(--text-dim); flex: 1 1 200px; }
.g-barra { flex: 1 1 120px; height: 9px; background: var(--elevated); border-radius: 6px; overflow: hidden; min-width: 90px; }
.g-barra > i { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), #9b59b6); border-radius: 6px; }

.g-tipo { border: 1px solid var(--border); border-radius: 12px; padding: 11px 13px; background: var(--surface); border-left-width: 3px; }
.g-tipo b { font-size: 13px; }
.g-tipo .val { font-size: 12px; color: var(--text-dim); margin-top: 5px; line-height: 1.5; }
.g-tipo.x2 { border-left-color: #e67e22; }
.g-tipo.x4 { border-left-color: #c0392b; }
.g-tipo.res { border-left-color: #2ecc71; }

@media (max-width: 980px) {
  .guia-layout { grid-template-columns: 1fr; }
  .guia-side { position: static; }
}

/* ===== Guías · Anuncio de apps móviles ===== */
.guia-apps { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.app-btn {
  position: relative; display: flex; align-items: center; gap: 10px;
  padding: 12px 13px; border-radius: 12px; text-decoration: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .01)), var(--surface);
  border: 1px solid var(--border); opacity: .6; filter: saturate(.7);
}
.app-btn.pronto { cursor: not-allowed; }
.app-btn .app-ico { font-size: 19px; line-height: 1; }
.app-btn .app-txt { display: flex; flex-direction: column; line-height: 1.15; }
.app-btn .app-txt b { color: var(--text); font-size: 13px; }
.app-btn .app-txt small { color: var(--text-dim); font-size: 11px; }
.app-badge {
  position: absolute; top: -9px; right: 10px;
  background: #e63946; color: #fff; font-size: 9.5px; font-weight: 800;
  letter-spacing: .5px; text-transform: uppercase; padding: 3px 9px; border-radius: 999px;
  box-shadow: 0 3px 10px rgba(230, 57, 70, .45);
}

/* ===== Guias - Panel movil (<768px) =====
   Mantiene el dashboard: navbar superior deslizable, sidebar en fila
   superior compacta y contenido fluido a ancho completo. */
@media (max-width: 768px) {

  /* --- 1. Navbar superior compacta con scroll horizontal --- */
  body[data-pagina="guias"] .nav {
    top: 58px;
    bottom: auto;
    border-top: 0;
    border-bottom: 1px solid var(--border);
    padding-bottom: 0;
  }
  body[data-pagina="guias"] .nav-in {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 6px;
    padding: 6px 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  body[data-pagina="guias"] .nav-in::-webkit-scrollbar { display: none; }
  body[data-pagina="guias"] .nav-link {
    flex: 0 0 auto;
    flex-direction: row;
    gap: 5px;
    font-size: 12.5px;
    padding: 7px 12px;
    border-radius: 999px;
  }
  body[data-pagina="guias"] .nav-link .ico { font-size: 15px; }

  /* --- 2. Dashboard: fila superior (sidebar) + contenido fluido --- */
  body[data-pagina="guias"] main { padding: 12px 10px 44px; }
  body[data-pagina="guias"] .guia-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  body[data-pagina="guias"] .guia-side {
    position: sticky;
    top: 104px;
    z-index: 20;
    width: 100%;
  }
  body[data-pagina="guias"] .guia-side-in {
    padding: 10px;
    gap: 8px;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
  }
  body[data-pagina="guias"] .guia-side-tit { display: none; }

  /* Indice = chips en lista horizontal deslizable */
  body[data-pagina="guias"] .guia-nav {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  body[data-pagina="guias"] .guia-nav::-webkit-scrollbar { display: none; }
  body[data-pagina="guias"] .guia-nav a {
    flex: 0 0 auto;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12.5px;
  }

  /* Herramientas en fila que se adapta */
  body[data-pagina="guias"] .guia-tools {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  body[data-pagina="guias"] .guia-tools .guia-boton {
    flex: 1 1 44%;
    width: auto;
    padding: 9px 10px;
    font-size: 12.5px;
  }

  /* Apps moviles en dos columnas */
  body[data-pagina="guias"] .guia-apps {
    flex-direction: row;
    gap: 10px;
    margin-top: 12px;
  }
  body[data-pagina="guias"] .guia-apps .app-btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 10px 11px;
  }

  /* --- 3. Tarjetas, acordeones y barras fluidas (sin desbordes) --- */
  body[data-pagina="guias"] .guia-contenido { min-width: 0; }
  body[data-pagina="guias"] .articulo {
    padding: 1rem;
    border-radius: 14px;
    overflow-wrap: anywhere;
  }
  body[data-pagina="guias"] .articulo h1 { font-size: 22px; }
  body[data-pagina="guias"] .articulo h2 { font-size: 18px; margin: 22px 0 8px; }
  body[data-pagina="guias"] .articulo h3 { font-size: 15px; }
  body[data-pagina="guias"] .articulo p { font-size: 14.5px; }

  body[data-pagina="guias"] .g-grid { grid-template-columns: 1fr; gap: 10px; }
  body[data-pagina="guias"] .g-grid > *,
  body[data-pagina="guias"] .g-card,
  body[data-pagina="guias"] .g-tipo { min-width: 0; }
  body[data-pagina="guias"] .g-card { padding: 1rem; }
  body[data-pagina="guias"] .g-tipo { padding: 10px 12px; }

  body[data-pagina="guias"] details.acc > summary { padding: 12px 13px; font-size: 14px; }
  body[data-pagina="guias"] .acc-cuerpo { padding: 0 13px 12px; }

  /* Cajas de EVs al 100% del ancho, barra incluida */
  body[data-pagina="guias"] .g-ej { padding: 12px; gap: 8px; }
  body[data-pagina="guias"] .g-ej .lab { min-width: 0; width: 100%; }
  body[data-pagina="guias"] .g-ej .val { flex: 1 1 100%; }
  body[data-pagina="guias"] .g-barra { flex: 1 1 100%; width: 100%; min-width: 0; }

  body[data-pagina="guias"] .articulo blockquote { padding: 10px 13px; }
  body[data-pagina="guias"] .guia-cta { gap: 8px; }
  body[data-pagina="guias"] .guia-cta .guia-boton { flex: 1 1 auto; }
}

/* Anclas del indice: que no queden tapadas por las barras fijas */
@media (max-width: 768px) {
  html:has(body[data-pagina="guias"]) { scroll-padding-top: 168px; }
}

/* =========================================================================
   PokeChamp Coach · CAPA DE FLUIDEZ E INTERACCIÓN
   -------------------------------------------------------------------------
   Se carga AL FINAL (después de estilos.css y editorial.css), por lo que
   solo refina la experiencia: no redefine la paleta ni la estructura.
   Todo es reversible: si se borra este archivo, la web sigue igual.
   ========================================================================= */

/* ---------------------------------------------------------------------
   1. Desplazamiento suave y compensación de la cabecera fija
   --------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}
:target,
[id] {
  scroll-margin-top: 92px;
}

/* ---------------------------------------------------------------------
   2. Entrada suave de página (evita el "flash" al navegar)
   --------------------------------------------------------------------- */
/* SOLO opacidad. Si esta entrada animara "transform", el <body> conservaria la
   matriz identidad para siempre (animation-fill-mode: both) y, como cualquier
   transform crea un containing block, TODAS las capas con position:fixed que
   cuelgan de el (.hero-lienzo y body::before) se desplazarian con el scroll:
   al bajar mas de una pantalla el fondo animado desaparecia y quedaba negro. */
@keyframes pcEntrada {
  from { opacity: 0; }
  to   { opacity: 1; }
}
body {
  animation: pcEntrada .26s ease-out both;
}

/* ---------------------------------------------------------------------
   3. Transición suave al cambiar de tema (oscuro <-> claro)
      La clase .pc-tema-anim la añade fluidez.js solo durante ~260 ms,
      así que no ralentiza el resto de interacciones.
   --------------------------------------------------------------------- */
html.pc-tema-anim,
html.pc-tema-anim *,
html.pc-tema-anim *::before,
html.pc-tema-anim *::after {
  transition-property: background-color, border-color, color, fill, box-shadow !important;
  transition-duration: .22s !important;
  transition-timing-function: ease !important;
}

/* ---------------------------------------------------------------------
   4. Tarjetas y bloques: hover más vivo (elevación sutil)
   --------------------------------------------------------------------- */
.tarjeta,
.prestacion,
.meta-card,
.fila-lista,
.nube-item,
.pkm-carta,
.fuente {
  transition: transform .18s ease, border-color .18s ease,
              box-shadow .18s ease, background-color .18s ease;
}
.prestacion:hover,
.meta-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent);
  box-shadow: var(--sombra);
}
.nube-item:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
}

/* ---------------------------------------------------------------------
   5. Controles: transición uniforme (botones, chips, navegación, campos)
   --------------------------------------------------------------------- */
.boton,
.boton-icono,
.boton-google,
.boton-suave,
.dd-btn,
.nav-btn,
.nav-link,
.chip,
.chip-filtro,
.chip-meta,
.dd-op,
select,
input,
textarea {
  transition: background-color .16s ease, color .16s ease,
              border-color .16s ease, box-shadow .16s ease,
              transform .12s ease, filter .16s ease;
}

/* Realce al pasar por encima de filas y opciones */
.dd-op:hover,
.fila-lista:hover {
  border-color: var(--accent);
}

/* Selección con teclado (↑ ↓) en listas de sugerencias */
.sugerencias .fila-lista.pc-sel,
.dd-panel .dd-op.pc-sel {
  background: var(--elevated);
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
}

/* ---------------------------------------------------------------------
   5-bis. Botón "Volver" de la página de detalle (ficha.html)
   --------------------------------------------------------------------- */
.boton-volver {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 14px;
  padding: 8px 18px 8px 14px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  background: var(--elevated);
  border: 1px solid var(--border);
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
  transition: background-color .16s ease, border-color .16s ease,
              box-shadow .16s ease, transform .12s ease;
}
.boton-volver:hover {
  background: var(--surface);
  border-color: var(--accent);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .28);
  transform: translateX(-2px);
}
.boton-volver:active {
  transform: scale(.97);
}
.boton-volver .flecha {
  font-size: 17px;
  line-height: 1;
  transition: transform .16s ease;
}
.boton-volver:hover .flecha {
  transform: translateX(-3px);
}
@media (max-width: 520px) {
  .boton-volver { font-size: 13px; padding: 7px 14px 7px 12px; }
}

/* La tarjeta del Scouter es un enlace real (abre la ficha en pestaña nueva):
   hay que neutralizar el estilo por defecto de los enlaces. */
a.pkm-carta {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* ---------------------------------------------------------------------
   6. Imágenes: aparición sin salto y sin "pop"
      fluidez.js añade .pc-fade y luego .pc-listo cuando terminan de cargar.
   --------------------------------------------------------------------- */
.pkm-carta img,
.fila-lista img,
.miembro img.sprite,
.sprite-marco img,
.cmp-cab img,
.nube-item img {
  transition: transform .18s ease, opacity .30s ease;
}
img.pc-fade {
  opacity: 0;
}
img.pc-fade.pc-listo {
  opacity: 1;
}

/* ---------------------------------------------------------------------
   7. Barra de desplazamiento discreta y coherente con el tema
   --------------------------------------------------------------------- */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 8px;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--text-dim);
}
*::-webkit-scrollbar-track {
  background: transparent;
}

/* ---------------------------------------------------------------------
   8. Foco visible coherente y accesible (teclado)
   --------------------------------------------------------------------- */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-offset: 1px;
}

/* ---------------------------------------------------------------------
   9. Modal: apertura suave
   --------------------------------------------------------------------- */
dialog.modal[open] {
  animation: pcModalIn .20s ease-out;
}
dialog.modal[open]::backdrop {
  animation: pcBackdropIn .20s ease-out;
}
@keyframes pcModalIn {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to   { opacity: 1; transform: none; }
}
@keyframes pcBackdropIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ---------------------------------------------------------------------
   10. Desplegables y sugerencias: aparición sutil
   --------------------------------------------------------------------- */
.sugerencias:not(.oculto),
.dd-panel:not(.oculto) {
  animation: pcDrop .16s ease-out;
}
@keyframes pcDrop {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------------
   11. Barras de progreso: crecimiento animado al dibujarse
   --------------------------------------------------------------------- */
.uso-barra > i,
.barra-stat > i,
.barra-ko i,
.meta-card .uso-barra > i {
  transition: width .55s cubic-bezier(.2, .7, .3, 1);
}

/* ---------------------------------------------------------------------
   12. Avisos (toasts): entrada y salida suaves
   --------------------------------------------------------------------- */
#avisos .aviso {
  animation: subir .22s ease-out;
  transition: opacity .25s ease, transform .25s ease;
}

/* ---------------------------------------------------------------------
   13. Revelado progresivo al hacer scroll (fluidez.js añade las clases)
      Con salvaguarda: si el JS no corre, nunca se oculta nada.
   --------------------------------------------------------------------- */
.pc-reveal {
  opacity: 0;
  transform: translateY(9px);
}
.pc-reveal.pc-visible {
  opacity: 1;
  transform: none;
  transition: opacity .34s ease, transform .34s ease;
}

/* ---------------------------------------------------------------------
   14. Táctil: sin retardo de 300 ms ni resaltado azul en móvil
   --------------------------------------------------------------------- */
a, button, select, label,
.fila-lista, .pkm-carta, .nube-item, .dd-op, .chip-meta, .chip-filtro {
  touch-action: manipulation;
}
@media (hover: none) {
  * { -webkit-tap-highlight-color: transparent; }
}

/* ---------------------------------------------------------------------
   15. Rendimiento en listas largas (rejilla del Scouter)
      content-visibility evita pintar tarjetas fuera de pantalla.
   --------------------------------------------------------------------- */
#rejilla-pkm .pkm-carta {
  content-visibility: auto;
  contain-intrinsic-size: 0 190px;
}

/* ---------------------------------------------------------------------
   16. Accesibilidad: respetar "reducir movimiento" del sistema
      Debe ir al final para anular animaciones y desplazamiento suave.
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
  .pc-reveal { opacity: 1 !important; transform: none !important; }
  img.pc-fade { opacity: 1 !important; }
}

/* ==========================================================================
   PokeChamp Coach · SISTEMA DE DISENO (Fase A)
   --------------------------------------------------------------------------
   Capa de "skin" que se concatena LA ULTIMA en static/pokechamp.css, despues
   de estilos.css + editorial.css + fluidez.css. Por tanto solo RE-TEMATIZA
   (tokens, superficies, tipografia, microinteracciones) y nunca cambia
   layout ni logica: respeta todos los IDs/clases que usa app.js (tarjeta,
   tarjeta, boton, boton-principal, nav-btn, nav-link, dd-*, chip-*,
   stats-tabla, tabla-*, radar, cmp-*, guia-*, g-*, pkm-carta, miembro...).
   No introduce dependencias ni peticiones externas.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENS · paleta oscura "videojuego competitivo" con acentos neon
   -------------------------------------------------------------------------- */
:root {
  /* Fondo y superficies */
  --bg: #0D0D14;
  --bg-2: #12121E;
  --surface: #17172A;
  --elevated: #22223A;
  --border: #33334F;
  --superficie-cristal: rgba(23, 23, 42, .72);
  --sprite-bg: #1F1F30;
  --zebra: rgba(255, 255, 255, .035);

  /* Cristal (glassmorphism) */
  --cristal: rgba(255, 255, 255, .045);
  --cristal-2: rgba(255, 255, 255, .08);
  --cristal-borde: rgba(255, 255, 255, .10);
  --cristal-luz: inset 0 1px 0 rgba(255, 255, 255, .07);
  --desenfoque: 14px;

  /* Acentos */
  --accent: #E63946;
  --accent-2: #FF3B5C;
  --accent-oscuro: #B3121F;
  --neon-cian: #22D3EE;
  --neon-violeta: #8B5CF6;
  --neon-rojo: #FF2E4D;
  --info: #4FC3F7;

  /* Texto */
  --text: #F4F6FF;
  --text-dim: #A9B2CC;

  /* Formas */
  --radio: 16px;
  --radio-sm: 11px;
  --radio-lg: 22px;
  --toque: 44px;           /* zona tactil minima accesible */

  /* Sombras */
  --sombra: 0 1px 2px rgba(0, 0, 0, .40), 0 10px 30px rgba(0, 0, 0, .45);
  --sombra-alto: 0 18px 50px rgba(0, 0, 0, .55);
  --brillo: 0 0 0 1px rgba(255, 255, 255, .06);

  /* Tipografia */
  --fuente-titulo: "PokeFun", system-ui, sans-serif;
  --fuente-texto: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Colores por tipo de Pokemon (mismos valores que TIPOS_CONFIG en app.js).
     Disponibles como var(--tipo-fuego), var(--tipo-agua), etc. */
  --tipo-normal: #9FA19F;  --tipo-fuego: #E62829;  --tipo-agua: #2980EF;
  --tipo-electrico: #FAC000; --tipo-planta: #3FA129; --tipo-hielo: #3DCEF3;
  --tipo-lucha: #FF8000;   --tipo-veneno: #9141CB; --tipo-tierra: #915121;
  --tipo-volador: #81B9EF; --tipo-psiquico: #EF4179; --tipo-bicho: #91A119;
  --tipo-roca: #AFA981;    --tipo-fantasma: #704170; --tipo-dragon: #5060E1;
  --tipo-siniestro: #624D4E; --tipo-acero: #60A1B8; --tipo-hada: #EF70EF;
}

html[data-tema="claro"] {
  --bg: #F2F4FA;
  --bg-2: #E7EAF5;
  --surface: #FFFFFF;
  --elevated: #EDF0F8;
  --border: #D3D8E6;
  --superficie-cristal: rgba(255, 255, 255, .78);
  --sprite-bg: #E7EAF5;
  --zebra: rgba(16, 19, 34, .035);

  --cristal: rgba(255, 255, 255, .70);
  --cristal-2: rgba(255, 255, 255, .88);
  --cristal-borde: rgba(16, 19, 34, .10);
  --cristal-luz: inset 0 1px 0 rgba(255, 255, 255, .95);

  --accent: #D62839;
  --accent-2: #E63946;
  --accent-oscuro: #9E1421;
  --neon-cian: #0E7490;
  --neon-violeta: #6D28D9;
  --neon-rojo: #D62839;

  --text: #101322;
  --text-dim: #55617A;

  --sombra: 0 1px 2px rgba(16, 19, 34, .06), 0 10px 28px rgba(16, 19, 34, .10);
  --sombra-alto: 0 18px 44px rgba(16, 19, 34, .16);
  --brillo: 0 0 0 1px rgba(16, 19, 34, .05);
}

/* --------------------------------------------------------------------------
   2. BASE · fondo con degradados y tipografia
   -------------------------------------------------------------------------- */
html { background: var(--bg); }

body {
  background: transparent;
  font-family: var(--fuente-texto);
  letter-spacing: .005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Fondo decorativo fijo: tres halos de neon sobre un degradado vertical.
   z-index -2 lo deja siempre por detras del contenido y no captura clics. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(46rem 30rem at 10% -10%, rgba(230, 57, 70, .18), transparent 62%),
    radial-gradient(40rem 26rem at 102% 4%, rgba(34, 211, 238, .10), transparent 58%),
    radial-gradient(50rem 34rem at 50% 120%, rgba(139, 92, 246, .16), transparent 64%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
}

html[data-tema="claro"] body::before {
  background:
    radial-gradient(46rem 30rem at 10% -10%, rgba(214, 40, 57, .10), transparent 62%),
    radial-gradient(40rem 26rem at 102% 4%, rgba(14, 116, 144, .08), transparent 58%),
    radial-gradient(50rem 34rem at 50% 120%, rgba(109, 40, 217, .10), transparent 64%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
}

h1, h2, h3, h4, .fuente-app { font-family: var(--fuente-titulo); }

/* Foco visible unificado y respetuoso con el acento */
:root :focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--accent-2);
  outline-offset: 2px;
  border-radius: 6px;
}

/* Barra de scroll afinada (WebKit + Firefox) */
* { scrollbar-color: var(--border) transparent; scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--border), rgba(0, 0, 0, .0)), var(--border);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background: var(--accent); background-clip: content-box; }

/* --------------------------------------------------------------------------
   3. CABECERA y NAVEGACION · cristal + linea neon
   -------------------------------------------------------------------------- */
.cabecera {
  background: linear-gradient(120deg, rgba(34, 34, 58, .94), rgba(13, 13, 20, .90));
  border-bottom: 1px solid var(--cristal-borde);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .04), 0 10px 30px rgba(0, 0, 0, .40);
}
html[data-tema="claro"] .cabecera {
  background: linear-gradient(120deg, #E63946 0%, #A81828 62%, #7C1020 100%);
}

/* Subrayado neon multicolor bajo la cabecera */
.cabecera::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg,
    transparent, var(--accent) 18%, var(--neon-violeta) 48%,
    var(--neon-cian) 78%, transparent);
  opacity: .6;
}

.logo-chip {
  /* Transparencia real del PNG + halo neon: sin fondo cuadrado */
  background: transparent;
  border: 1px solid transparent;
  box-shadow:
    0 0 16px rgba(230, 57, 70, .55),
    0 0 30px rgba(34, 211, 238, .22),
    0 0 46px rgba(139, 92, 246, .18);
}
.titulo-app { letter-spacing: .3px; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
.subtitulo-app { letter-spacing: .8px; }

.nav {
  background: rgba(13, 13, 20, .78);
  border-bottom: 1px solid var(--cristal-borde);
  box-shadow: 0 8px 26px rgba(0, 0, 0, .35);
}
html[data-tema="claro"] .nav {
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 6px 20px rgba(16, 19, 34, .08);
}

.nav-btn, .nav-link {
  min-height: var(--toque);
  border-radius: 999px;
  font-weight: 700;
  transition: background .16s ease, color .16s ease, box-shadow .2s ease, transform .12s ease;
}
.nav-btn:hover, .nav-link:hover { transform: translateY(-1px); }

.nav-btn[aria-current="page"], .nav-link[aria-current="page"] {
  background: linear-gradient(135deg, var(--accent-2), var(--accent-oscuro));
  color: #fff;
  box-shadow: 0 6px 18px rgba(230, 57, 70, .42), inset 0 1px 0 rgba(255, 255, 255, .22);
}

/* Iconos de seccion (cuando la Fase E los sustituya por SVG, heredan el color) */
.nav-btn .ico, .nav-link .ico { display: inline-flex; align-items: center; }
.nav-btn .ico svg, .nav-link .ico svg { width: 18px; height: 18px; display: block; }

/* --------------------------------------------------------------------------
   4. SUPERFICIES · tarjetas de cristal, bordes con brillo y sombras suaves
   -------------------------------------------------------------------------- */
.tarjeta,
.prestacion,
.grupo-ajustes,
.miembro,
.cmp-panel,
.guia-side-in,
.articulo,
.cmp-cruce {
  background: var(--superficie-cristal);
  border: 1px solid var(--cristal-borde);
  border-radius: var(--radio-lg);
  box-shadow: var(--sombra), var(--cristal-luz);
}

/* Desenfoque real solo en los contenedores grandes (rendimiento en movil) */
@supports ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .tarjeta, .grupo-ajustes, .guia-side-in, .cmp-panel, dialog.modal,
  .cabecera, .nav, .sugerencias, .dd-panel {
    -webkit-backdrop-filter: blur(var(--desenfoque)) saturate(1.25);
    backdrop-filter: blur(var(--desenfoque)) saturate(1.25);
  }
}

/* Filas y tarjetas compactas: translucidas pero SIN desenfoque (hay muchas) */
.pkm-carta, .fila-lista, .fuente, .tesela, .nube-item, .ranura-vacia, .app-btn {
  background: var(--cristal);
  border: 1px solid var(--cristal-borde);
  box-shadow: var(--brillo);
}
.pkm-carta { border-radius: var(--radio); }
.pkm-carta:hover {
  border-color: var(--accent);
  box-shadow: 0 14px 34px rgba(230, 57, 70, .22), inset 0 1px 0 rgba(255, 255, 255, .10);
}

.tarjeta > h2, .tarjeta > h3 { letter-spacing: .2px; }
.tarjeta > h2::before {
  content: "";
  width: 4px; height: 1.05em;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--accent-2), var(--accent-oscuro));
  box-shadow: 0 0 12px rgba(230, 57, 70, .6);
  flex: none;
}

.seccion-titulo {
  color: var(--text-dim);
  letter-spacing: 1px;
}

/* --------------------------------------------------------------------------
   5. BOTONES · degradados neon, brillo y microinteracciones
   -------------------------------------------------------------------------- */
.boton {
  min-height: var(--toque);
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 700;
  border: 1px solid var(--cristal-borde);
  background: linear-gradient(180deg, var(--cristal-2), var(--cristal)), var(--elevated);
  transition: transform .12s ease, box-shadow .2s ease, filter .18s ease;
}
.boton:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .35), 0 0 0 1px var(--cristal-borde);
}
.boton:active { transform: translateY(0) scale(.985); }
.boton[disabled] { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }

.boton-suave { background: transparent; }

.boton-principal {
  background: linear-gradient(135deg, var(--accent-2) 0%, var(--accent) 55%, var(--accent-oscuro) 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 22px rgba(230, 57, 70, .38), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.boton-principal:hover {
  filter: brightness(1.06);
  box-shadow: 0 14px 34px rgba(230, 57, 70, .52), inset 0 1px 0 rgba(255, 255, 255, .32);
}

.boton-chico { min-height: var(--toque); border-radius: 10px; padding: 6px 12px; }

/* "Proximamente": se mantiene el cursor de aviso y el aspecto desactivado */
.boton-pronto { opacity: .55; cursor: not-allowed; filter: saturate(.6); }
.boton-pronto:hover, .boton-pronto:active {
  filter: saturate(.6); transform: none; box-shadow: none;
}

.boton-icono {
  min-width: var(--toque);
  height: var(--toque);
  border-radius: 12px;
  border: 1px solid var(--cristal-borde);
  background: linear-gradient(180deg, var(--cristal-2), var(--cristal)), var(--elevated);
  transition: transform .12s ease, box-shadow .18s ease, background .18s ease;
}
.boton-icono:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0, 0, 0, .35); }
.boton-icono[aria-pressed="true"] {
  background: linear-gradient(135deg, var(--accent-2), var(--accent-oscuro));
  border-color: transparent;
  color: #fff;
}

/* --------------------------------------------------------------------------
   6. FORMULARIOS · entradas legibles y con zona tactil de 44 px
   -------------------------------------------------------------------------- */
input[type="text"], input[type="number"], input[type="search"],
select, textarea, .dd-btn {
  min-height: var(--toque);
  background: var(--elevated);
  border: 1px solid var(--cristal-borde);
  border-radius: 12px;
  padding: 10px 12px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
input:hover, select:hover, textarea:hover, .dd-btn:hover { border-color: var(--accent); }
input:focus, select:focus, textarea:focus, .dd-btn:focus-visible {
  outline: none;
  border-color: var(--accent-2);
  box-shadow: 0 0 0 3px rgba(230, 57, 70, .22);
}
html[data-tema="claro"] input:focus, html[data-tema="claro"] select:focus,
html[data-tema="claro"] textarea:focus {
  box-shadow: 0 0 0 3px rgba(214, 40, 57, .18);
}
textarea { min-height: 110px; }
.campo > span { letter-spacing: .7px; }

.interruptor {
  min-height: var(--toque);
  border-radius: 12px;
  border: 1px solid var(--cristal-borde);
  background: var(--cristal);
}
.interruptor input { width: 18px; height: 18px; }

.switch:focus-visible { box-shadow: 0 0 0 3px rgba(230, 57, 70, .30); }

/* --------------------------------------------------------------------------
   7. CHIPS, INSIGNIAS Y BARRAS · etiquetas de tipo consistentes
   -------------------------------------------------------------------------- */
.chip {
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .20);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 2px 6px rgba(0, 0, 0, .22);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.chip-suave {
  background: var(--cristal);
  border-color: var(--cristal-borde);
  box-shadow: var(--brillo);
  text-shadow: none;
}
.badge { border-radius: 8px; letter-spacing: .6px; }
.badge-pronto { background: var(--cristal); color: var(--text-dim); border-color: var(--cristal-borde); }

.chip-filtro { min-height: 40px; border-radius: 999px; }
.chip-filtro.activo { box-shadow: 0 6px 16px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .18); }

.eficacia, .tesela { border-radius: 10px; }
.barra-stat, .uso-barra, .barra-ko, .g-barra { background: rgba(0, 0, 0, .35); }
html[data-tema="claro"] .barra-stat,
html[data-tema="claro"] .uso-barra,
html[data-tema="claro"] .barra-ko,
html[data-tema="claro"] .g-barra { background: var(--elevated); }
.barra-stat > i, .uso-barra > i {
  box-shadow: 0 0 10px rgba(230, 57, 70, .45);
}

/* --------------------------------------------------------------------------
   8. PORTADA · hero con halo neon y jerarquia clara
   -------------------------------------------------------------------------- */
.hero {
  background: radial-gradient(circle at 50% 0%, rgba(230, 57, 70, .26), transparent 62%);
  border-radius: var(--radio-lg);
}
html[data-tema="claro"] .hero {
  background: radial-gradient(circle at 50% 0%, rgba(214, 40, 57, .12), transparent 62%);
}
.hero h1 { font-family: var(--fuente-titulo); letter-spacing: .4px; }
.hero p.lead { font-size: clamp(15px, 1.6vw, 17px); }

.prestacion .emo, .estado-vacio .emo { font-size: 26px; }
.prestacion:nth-child(1) { border-top-color: var(--accent); }
.prestacion h3 { letter-spacing: .2px; }

/* --------------------------------------------------------------------------
   9. TABLAS, MODALES Y AVISOS
   -------------------------------------------------------------------------- */
.tabla-meta th, .tabla-fuentes th, .tabla-editorial th { letter-spacing: .6px; }
.tabla-meta th { background: var(--cristal); }
.tabla-meta tbody tr:hover td, .tabla-editorial tbody tr:hover td { background: var(--cristal); }
.stats-tabla .etiqueta { letter-spacing: .4px; }

dialog.modal {
  border-radius: var(--radio-lg);
  border: 1px solid var(--cristal-borde);
  background: var(--superficie-cristal);
  box-shadow: var(--sombra-alto);
}
dialog.modal::backdrop { background: rgba(6, 6, 12, .68); backdrop-filter: blur(4px); }
.modal-cab { background: var(--cristal); }

.aviso {
  border-radius: 14px;
  border: 1px solid var(--cristal-borde);
  background: linear-gradient(180deg, var(--cristal-2), var(--cristal)), var(--elevated);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .45);
  font-weight: 600;
}

.pie { border-top: 1px solid var(--cristal-borde); }
.pie-legal a { color: var(--accent); }

/* ==========================================================================
   FASE B · LAYOUT Y NAVEGACION RESPONSIVE (mobile-first)
   ========================================================================== */

/* --- Sin scroll horizontal en ninguna pagina (clip NO rompe position:sticky,
       a diferencia de overflow:hidden) --- */
html, body { overflow-x: clip; }
img, table { max-width: 100%; }

/* --- Tablas anchas: scroll INTERNO, pero solo en tarjetas que no contienen
       desplegables. Asi nunca se recortan los menus del Scouter (.dd-panel y
       .sugerencias son position:absolute y se recortarian con cualquier
       overflow). Los navegadores sin :has() simplemente ignoran la regla. --- */
.tarjeta:has(> table):not(:has(.dd, .sugerencias, .buscador, .dd-panel)) {
  overflow-x: auto;
}
.tabla-editorial, .tabla-meta, .tabla-fuentes, .stats-tabla { width: 100%; }

/* --- Barra INFERIOR en movil (B1: tambien en Guias), con cristal, zona
       tactil de 44 px y respeto de las safe areas del dispositivo --- */
@media (max-width: 820px) {
  .nav {
    background: rgba(13, 13, 20, .94);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    backdrop-filter: blur(16px) saturate(1.3);
    box-shadow: 0 -8px 26px rgba(0, 0, 0, .45);
    padding-bottom: calc(env(safe-area-inset-bottom) + 2px);
  }
  html[data-tema="claro"] .nav {
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 -6px 20px rgba(16, 19, 34, .10);
  }
  .nav-in { gap: 4px; padding: 5px 6px; }
  .nav-btn, .nav-link { min-height: 46px; border-radius: 14px; }
  main { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  #avisos { bottom: calc(86px + env(safe-area-inset-bottom)); }
}

/* --- B1: anula el override de editorial.css que subia la nav de Guias arriba.
       Misma especificidad, pero esta capa se carga despues -> gana. --- */
@media (max-width: 768px) {
  body[data-pagina="guias"] .nav {
    top: auto;
    bottom: 0;
    border-top: 1px solid var(--cristal-borde);
    border-bottom: 0;
    padding-bottom: calc(env(safe-area-inset-bottom) + 2px);
  }
  body[data-pagina="guias"] .nav-in {
    justify-content: space-between;
    flex-wrap: nowrap;
    padding: 5px 6px;
  }
  body[data-pagina="guias"] .nav-link {
    flex: 1 1 0;
    flex-direction: column;
    gap: 2px;
    padding: 7px 4px;
    font-size: 11px;
    border-radius: 14px;
  }
  body[data-pagina="guias"] .nav-link .ico { font-size: 17px; }
  /* La cabecera queda como unica barra fija superior: el indice se pega ahi */
  body[data-pagina="guias"] .guia-side { top: 68px; }
}
@media (max-width: 768px) {
  html:has(body[data-pagina="guias"]) { scroll-padding-top: 74px; }
}

/* --- Moviles estrechos (360-390 px): cero desbordes y paddings contenidos --- */
@media (max-width: 400px) {
  main { padding-left: 10px; padding-right: 10px; }
  .cabecera-in { padding: 7px 10px; gap: 9px; }
  .logo-chip { width: 38px; height: 38px; }
  .titulo-app { font-size: 15.5px; }
  .subtitulo-app { font-size: 10px; letter-spacing: .5px; }
  .tarjeta { padding: 13px; }
  .rejilla-2, .rejilla-3, .rejilla-equipos { grid-template-columns: 1fr; }
  .fila-campos > .campo { flex: 1 1 100%; }
  .hero { padding: 24px 12px 20px; }
  .hero img.logo { width: 92px; height: 92px; }
  .guia-boton, .app-btn { min-width: 0; }
}

/* --- Tabletas (401-768 px): rejillas a 2 columnas, tarjetas legibles --- */
@media (min-width: 401px) and (max-width: 768px) {
  .rejilla-3 { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
  #prestaciones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #prestaciones .prestacion,
  #prestaciones .prestacion:nth-child(4),
  #prestaciones .prestacion:nth-child(5) { grid-column: auto; }
  #prestaciones .prestacion:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* --------------------------------------------------------------------------
   10. ACCESIBILIDAD · movimiento reducido (ultima palabra, va al final)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .boton:hover, .boton-icono:hover, .nav-btn:hover, .nav-link:hover,
  .pkm-carta:hover, .chip-filtro:hover { transform: none !important; }
  dialog.modal::backdrop { backdrop-filter: none; }
}

/* --------------------------------------------------------------------------
   11. SIN SOPORTE de backdrop-filter: superficies opacas (contraste garantizado)
   -------------------------------------------------------------------------- */
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .tarjeta, .prestacion, .grupo-ajustes, .miembro, .cmp-panel, .guia-side-in,
  .articulo, dialog.modal { background: var(--surface); }
  .cabecera { background: linear-gradient(120deg, #2A2A3E, #0D0D14); }
  .nav { background: var(--surface); }
}

/* ============================================================================
   componentes.css  ·  capa de COMPONENTES del rediseno (BLOQUE 1)
   Se carga DESPUES de diseno.css y ANTES de hero3d.css. Aqui viven el
   desplegable accesible, los iconos SVG propios, el estado activo del menu,
   la rejilla de la portada y los remates del hero. No toca datos ni logica.
   ========================================================================== */

/* ---------- 1. Iconos SVG del set propio (trazo uniforme) ---------- */
.ico-svg { width: 1.06em; height: 1.06em; display: inline-block; vertical-align: -0.16em; flex: none; }
.ico-i { display: inline-flex; align-items: center; justify-content: center; }
.ico-i + .ico-i { margin-left: .18em; }
.dd-nombre .ico-svg, .ico .ico-svg { color: inherit; }
.dd-ico { height: 20px; width: 20px; border-radius: 6px; flex: none; display: block; }
.dd-ico-todos { display: none; }

/* ---------- 2. Desplegable accesible (tipo + Orden) ---------- */
.dd { position: relative; }
.dd-panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 1000;
  max-height: min(320px, 52vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: #191A28;                 /* OPACO: nada se ve a traves */
  background-image: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
  border: 1px solid var(--border, #33334F);
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .62), 0 0 0 1px rgba(255, 255, 255, .03);
  padding: 7px;
  backdrop-filter: none;
}
[data-tema="claro"] .dd-panel { background: #FFFFFF; background-image: none; }
.dd-panel::-webkit-scrollbar { width: 9px; }
.dd-panel::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); border-radius: 5px; }
[data-tema="claro"] .dd-panel::-webkit-scrollbar-thumb { background: rgba(0,0,0,.22); }
.dd-op {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  margin: 2px 0;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 13.5px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: background .12s, box-shadow .12s;
}
.dd-op:hover { transform: none; }
.dd-op:not([style]):hover { background: rgba(255, 255, 255, .08); }
.dd-op.pc-foco { outline: 2px solid var(--accent, #E63946); outline-offset: -2px; }
.dd-op.activo { box-shadow: 0 0 0 2px var(--accent, #E63946); }
.dd-op.dd-op-tipo { color: #fff; }
.dd-flecha { display: inline-flex; color: var(--text-dim); transition: transform .18s; }
.dd-check { margin-left: auto; display: inline-flex; }

/* Bottom sheet a pantalla casi completa en movil */
@media (max-width: 640px) {
  .dd-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    max-height: 88vh;
    border-radius: 20px 20px 0 0;
    padding: 12px 10px calc(14px + env(safe-area-inset-bottom, 0px));
    z-index: 1200;
  }
  .dd-panel::before {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin: 0 auto 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .28);
  }
  body.dd-abierto { overflow: hidden; }
  .dd-op { padding: 11px 12px; font-size: 14.5px; }
}

/* ---------- 3. Menu: estado activo claro ---------- */
.nav-link[aria-current="page"], .nav-btn[aria-current="page"] {
  color: #FFFFFF;
  background: linear-gradient(180deg, rgba(230, 57, 70, .28), rgba(230, 57, 70, .14));
  border-color: rgba(230, 57, 70, .55);
  box-shadow: 0 0 0 1px rgba(230, 57, 70, .35), 0 6px 18px rgba(230, 57, 70, .28);
}
.nav-link[aria-current="page"] .ico, .nav-btn[aria-current="page"] .ico { color: var(--accent, #E63946); }
.nav-link:hover, .nav-btn:hover { background: rgba(255, 255, 255, .07); color: #FFFFFF; }
.nav-link:focus-visible, .nav-btn:focus-visible { outline: 2px solid var(--accent, #E63946); outline-offset: 2px; }

/* ---------- 4. Portada: rejilla de tarjetas consistente y clicable ---------- */
#prestaciones { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 620px) { #prestaciones { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { #prestaciones { grid-template-columns: repeat(3, 1fr); } }
.prestacion {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 172px;
  cursor: pointer;
  text-align: left;
  border-radius: var(--radio-lg, 22px);
  /* Son enlaces (<a>): sin esto el navegador subraya todo el texto en rojo. */
  text-decoration: none;
  color: inherit;
}
.prestacion .emo { display: inline-flex; align-items: center; justify-content: center; }
.prestacion .emo .ico-svg { width: 26px; height: 26px; color: var(--accent, #E63946); }
.prestacion:focus-visible { outline: 2px solid var(--accent, #E63946); outline-offset: 2px; }

/* ---------- 5. Hero: quitar arco/sombra suelta bajo los botones ---------- */
.hero .acciones::after, .hero .acciones::before { content: none !important; display: none !important; }
.hero .acciones { position: relative; }
.hero .acciones .boton { position: relative; z-index: 1; }

/* ---------- 6. Aviso de uso en el meta (tooltip + leyenda) ---------- */
.badge-pro[title] { cursor: help; }
.leyenda-meta {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-dim, #A9B2CC);
}
.leyenda-meta b { color: var(--text, #F4F6FF); }

@media (prefers-reduced-motion: reduce) {
  .dd-op, .dd-flecha { transition: none; }
}

/* === Boton de idioma del navbar (ES / EN) ==================================
   Mismo aspecto que el boton de tema, un poco mas ancho para que quepa la
   sigla del idioma activo junto al globo. */
.boton-idioma {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: auto;
  min-width: 54px;
  padding: 0 10px;
  font-weight: 800;
  font-size: 12.5px;
  letter-spacing: .04em;
}
.boton-idioma .ico-globo { width: 15px; height: 15px; opacity: .85; }
/* Ancho FIJO para la sigla: "EN" y "ES" miden distinto (18px vs 15px) y el
   boton no debe cambiar de tamano ni desalinearse al alternar el idioma. */
.boton-idioma .idioma-sigla {
  display: inline-block;
  min-width: 20px;
  text-align: center;
  line-height: 1;
}
/* El boton de idioma NUNCA debe heredar el estado "activo" de los botones de
   icono (aria-pressed="true" los pinta con fondo solido rojo) ni mostrar el
   borde/texto en color de acento: mantiene SIEMPRE el mismo aspecto
   transparente/bordeado del resto del navbar, tanto en ES como en EN. */
.boton-idioma,
.boton-idioma[aria-pressed="false"],
.boton-idioma[aria-pressed="true"] {
  background: linear-gradient(180deg, var(--cristal-2), var(--cristal)), var(--elevated);
  border: 1px solid var(--cristal-borde);
  color: var(--text);
}
.boton-idioma:hover { filter: brightness(1.15); }
.boton-idioma:active { transform: none; }
.boton-idioma .ico-globo { stroke: currentColor; }
@media (max-width: 520px) {
  .boton-idioma { min-width: 46px; padding: 0 7px; }
  .boton-idioma .ico-globo { display: none; }
}

/* ==========================================================================
   PokeChamp Coach — ESCENA 3D DEL HERO (Fase C)
   --------------------------------------------------------------------------
   Capa de presentacion de la escena WebGL de la portada. Se concatena LA
   ULTIMA en static/pokechamp.css (despues de diseno.css), asi que no altera
   ninguna hoja verificada: solo anade.

   Como funciona:
   - .hero-escena es una capa decorativa que cubre el hero: aria-hidden,
     pointer-events:none y z-index 0, siempre POR DETRAS del contenido, que
     sube a z-index 1. El 3D decora, nunca estorba ni roba clics.
   - .hero-escena-halo y .hero-escena-bola son el FALLBACK 2D (solo CSS, sin
     imagenes): se ven siempre y son lo unico que hay si no hay WebGL, si el
     dispositivo es flojo, si falla la carga o con prefers-reduced-motion.
   - Cuando la escena 3D arranca, hero3d.js marca el contenedor como .activo:
     el lienzo aparece con un fundido y el balon CSS se atenua (no se duplican).
   - ::after es un velo de legibilidad por encima de la escena: oscurece la
     zona izquierda (donde va el texto) y deja limpio el lado del balon, asi el
     contraste AA del titular, el parrafo y los botones no depende del canvas.
   - Ningun elemento cambia de tamano al cargar la escena: no hay CLS.
   ========================================================================== */

/* --- 1. Contenedor de la escena ------------------------------------------ */
.hero { position: relative; isolation: isolate; }
.hero > *:not(.hero-escena) { position: relative; z-index: 1; }

.hero-escena {
  position: absolute; inset: 0; z-index: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;   /* los botones del hero siguen siendo clicables */
  contain: paint;
}

/* --- 2. Halo de neon (fallback 2D permanente) ---------------------------- */
.hero-escena-halo {
  position: absolute; inset: -12% -5%;
  background:
    radial-gradient(closest-side at 78% 28%, rgba(230, 57, 70, .32), transparent 70%),
    radial-gradient(closest-side at 20% 76%, rgba(34, 211, 238, .18), transparent 72%),
    radial-gradient(closest-side at 52% 118%, rgba(139, 92, 246, .20), transparent 74%);
  animation: heroDeriva 17s ease-in-out infinite alternate;
}
@keyframes heroDeriva {
  from { transform: translate3d(-1.4%, 0, 0) scale(1); }
  to   { transform: translate3d(1.4%, -1.6%, 0) scale(1.05); }
}

/* --- 3. Balon estilizado en CSS (geometria propia: 2 hemisferios, banda y boton).
       Se coloca al 86 % del ancho, igual que la Poke Ball de la escena 3D. --- */
.hero-escena-bola {
  position: absolute; left: 80%; top: 50%;
  width: min(38vmin, 250px);
  height: min(38vmin, 250px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  /* Geometria propia: hemisferio rojo, banda negra, hemisferio blanco.
     Encima, tres luces puntuales (clave, relleno y contraluz) = luz de tres puntos. */
  background:
    radial-gradient(circle at 31% 27%, rgba(255, 255, 255, .88), rgba(255, 255, 255, 0) 21%),
    radial-gradient(circle at 69% 31%, rgba(255, 255, 255, .34), rgba(255, 255, 255, 0) 17%),
    radial-gradient(circle at 58% 80%, rgba(34, 211, 238, .30), rgba(34, 211, 238, 0) 26%),
    linear-gradient(#E63946 0 46%, #16161F 46% 54%, #EEF2FF 54% 100%);
  box-shadow:
    0 0 70px rgba(230, 57, 70, .30),
    inset -16px -20px 40px rgba(0, 0, 0, .45),
    0 0 0 2px rgba(255, 255, 255, .08);
  opacity: .22;
  transition: opacity .9s ease;
  animation: heroFlota 9s ease-in-out infinite alternate;
}
.hero-escena-bola::after { /* boton central */
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 21%; height: 21%; transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 32%, #FFFFFF, #C6D2E8 62%, #7C8AA8);
  box-shadow: 0 0 0 6px #16161F, 0 0 22px rgba(34, 211, 238, .45);
}
@keyframes heroFlota {
  from { transform: translate(-50%, -52%) rotate(-2deg); }
  to   { transform: translate(-50%, -48%) rotate(2deg); }
}

/* --- 4. Lienzo WebGL (lo inyecta hero3d.js) ------------------------------ */
.hero-lienzo {
  position: fixed; inset: 0;
  width: 100vw; height: 100vh;
  display: block;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  transition: opacity .9s ease;
}
.hero-lienzo.activo { opacity: .94; }
.hero-escena.activo .hero-escena-bola { opacity: .10; }

/* --- 5. Velo de legibilidad (por encima de la escena) -------------------- */
.hero-escena::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg,
      rgba(13, 13, 20, .88) 0%,
      rgba(13, 13, 20, .74) 28%,
      rgba(13, 13, 20, .58) 52%,
      rgba(13, 13, 20, .32) 72%,
      rgba(13, 13, 20, .10) 88%,
      rgba(13, 13, 20, 0) 100%),
    linear-gradient(0deg, rgba(13, 13, 20, .5), rgba(13, 13, 20, 0) 42%);
}
html[data-tema="claro"] .hero-escena-bola { opacity: .16; }
html[data-tema="claro"] .hero-lienzo.activo { opacity: .55; }
html[data-tema="claro"] .hero-escena.activo .hero-escena-bola { opacity: .08; }
html[data-tema="claro"] .hero-escena::after {
  background:
    linear-gradient(90deg,
      rgba(255, 255, 255, .92) 0%,
      rgba(255, 255, 255, .80) 28%,
      rgba(255, 255, 255, .62) 52%,
      rgba(255, 255, 255, .34) 72%,
      rgba(255, 255, 255, .10) 88%,
      rgba(255, 255, 255, 0) 100%),
    linear-gradient(0deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 42%);
}

/* --- 6. Movil: el balon asoma por la esquina superior derecha ------------ */
@media (max-width: 820px) {
  .hero-escena-bola {
    left: 80%; top: 34%;
    width: min(40vmin, 170px); height: min(40vmin, 170px);
    opacity: .16;
  }
  .hero-escena.activo .hero-lienzo { opacity: .8; }
}
@media (max-width: 400px) {
  .hero-escena-bola { width: min(40vmin, 140px); height: min(40vmin, 140px); opacity: .13; }
}

/* --- 7. Movimiento reducido: escena calmada (y sin animaciones CSS) ------ */
@media (prefers-reduced-motion: reduce) {
  .hero-escena-halo, .hero-escena-bola { animation: none !important; }
  .hero-escena-bola { transform: translate(-50%, -50%); }
  .hero-lienzo { transition: none; }
}

/* ============================================================================
   interacciones3d.css · capa de INTERACCIONES 3D (BLOQUE 2)
   Se concatena DESPUES de hero3d.css. Solo presentación: tilt, flotación,
   contador, barras, flip, coverflow y revelado por scroll.
   ========================================================================== */

/* --- Punto 3: tilt de tarjetas del Scouter (solo escritorio con ratón) --- */
@media (hover: hover) and (pointer: fine) {
  #rejilla-pkm { perspective: 1100px; }
  .pkm-carta {
    transform-style: preserve-3d;
    transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease;
    will-change: transform;
  }
}

/* --- Punto 4: ficha flotante y radar de stats animado -------------------- */
#ficha-sprite {
  animation: flotaSuave 5s ease-in-out infinite alternate;
}
@keyframes flotaSuave {
  from { transform: translateY(0); }
  to   { transform: translateY(-8px); }
}
.radar .radar-forma {
  transform-box: fill-box;
  transform-origin: center;
  animation: radarRevela .9s ease both;
}
@keyframes radarRevela {
  from { opacity: 0; transform: scale(.25); }
  to   { opacity: 1; transform: scale(1); }
}
.stats-tabla .barra-stat > i,
.uso-barra > i {
  transform-origin: left center;
  animation: barraRellena .8s ease both;
}
@keyframes barraRellena {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* --- Punto 5: calculadora — barras de KO y entrada con flip -------------- */
.barra-ko > i {
  transform-origin: left center;
  animation: barraRellena .7s ease both;
}
#calc-resultado { transform-origin: center top; }
#calc-resultado:not(.oculto) {
  animation: flipEntra .55s ease both;
}
@keyframes flipEntra {
  from { opacity: 0; transform: perspective(1200px) rotateX(-12deg) translateY(10px); }
  to   { opacity: 1; transform: perspective(1200px) rotateX(0deg) translateY(0); }
}

/* --- Punto 6: comparador — dos tarjetas enfrentadas ---------------------- */
@media (hover: hover) and (pointer: fine) {
  #tab-comparador { perspective: 1300px; }
  .cmp-panel {
    transform-style: preserve-3d;
    transition: transform .16s ease, box-shadow .2s ease;
  }
}
/* fill-mode "backwards" (no "both"): la animacion de entrada solo controla el
   transform MIENTRAS se reproduce. Con "both" el ultimo fotograma
   (transform: translateX(0)) se quedaba aplicado para siempre y, como las
   animaciones tienen prioridad sobre los estilos en linea, ANULABA el tilt 3D
   del comparador (la tarjeta quedaba estatica). */
#tab-comparador .cmp-panel:nth-of-type(1) {
  animation: entrarIzq .55s ease backwards;
}
#tab-comparador .cmp-panel:nth-of-type(2) {
  animation: entrarDer .55s ease backwards;
}
@keyframes entrarIzq {
  from { opacity: 0; transform: translateX(-26px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes entrarDer {
  from { opacity: 0; transform: translateX(26px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* --- Punto 7: equipo — tilt en rejilla + coverflow ligero en móvil ------- */
@media (hover: hover) and (pointer: fine) {
  #equipo-slots { perspective: 1200px; }
  .miembro { transform-style: preserve-3d; transition: transform .16s ease; }
}
@media (max-width: 640px) {
  #equipo-slots {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  #equipo-slots > * {
    flex: 0 0 82%;
    scroll-snap-align: center;
  }
}

/* --- Punto 8: revelado por scroll (sin dependencias) --------------------- */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.reveal-activo {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .pkm-carta { transition: none !important; will-change: auto; }
  #ficha-sprite,
  .radar .radar-forma,
  .stats-tabla .barra-stat > i,
  .uso-barra > i,
  .barra-ko > i,
  #calc-resultado,
  #tab-comparador .cmp-panel { animation: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   PULIDO DE PRODUCCION · tarjetas de herramientas (glassmorphism), pie de
   pagina y ajustes responsive del hero.
   --------------------------------------------------------------------------
   Capa SOLO de presentacion, se carga LA ULTIMA para tener la ultima palabra
   sobre el resto de hojas. No toca la logica ni los datos: la rejilla
   #prestaciones la sigue pintando src/app.js y el pie lo genera el build.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TARJETAS DE HERRAMIENTAS · cristal (glassmorphism) + CTA con resplandor
   -------------------------------------------------------------------------- */
/* FONDO ANIMADO FIJO (guardas anti-regresion).
   El lienzo WebGL (.hero-lienzo) y los halos (body::before) solo se quedan
   pegados a la ventana si NINGUN ancestro crea un containing block. El <body>
   lo creaba por la animacion de entrada (transform + fill-mode: both), asi que
   al hacer scroll el fondo se iba con el documento y quedaba un fondo plano.
   Aqui se neutraliza cualquier transform/filter de html y body, y se fijan
   explicitamente las dos capas de fondo. */
html,
body {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  will-change: auto !important;
  contain: none !important;
}
.hero-lienzo {
  position: fixed !important;
  inset: 0;
  z-index: -1 !important;
  pointer-events: none !important;
}
.hero-lienzo,
body::before {
  position: fixed !important;
  inset: 0;
}
body::before {
  z-index: -2 !important;
  pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   REJILLA UNICA Y COHERENTE PARA TODAS LAS TARJETAS.
   Las cinco comparten padre (#prestaciones), pista y ancho: ninguna queda mas
   estrecha ni mas ancha. Anula los "grid-column: span" que editorial.css y
   diseno.css heredaban (3 primeras con span 2 sobre una rejilla de 3 columnas y
   las 2 ultimas con span 3 / fila entera), causa del corte asimetrico. */
#prestaciones {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* la fila incompleta queda centrada, sin hueco */
  align-items: stretch;      /* las tarjetas de una fila, a la misma altura */
  align-content: flex-start;
  gap: 16px;
  max-width: 1080px;
  margin: 18px auto 8px;
}
/* Las cinco tarjetas comparten exactamente el mismo ancho: la medida la fija el
   contenedor (1 columna -> 2 -> 3) y ninguna crece de mas, asi que las dos
   ultimas quedan centradas bajo las tres primeras. */
#prestaciones .prestacion,
#prestaciones .prestacion:nth-child(4),
#prestaciones .prestacion:nth-child(5),
#prestaciones .prestacion:last-child:nth-child(odd) {
  flex: 0 1 100%;
  width: auto;
  max-width: none;
  min-width: 0;
  height: auto;          /* sin height:100%: el flex estira todas por igual */
  grid-column: auto;
  grid-row: auto;
}

/* Altura identica en las cinco tarjetas: el bloque de texto reserva siempre tres
   lineas, asi ninguna crece mas que las demas segun lo larga que sea su
   descripcion (antes "Scouter completo" media 21 px mas que el resto). */
#prestaciones .prestacion p { min-height: 4.65em; }

@media (min-width: 620px) {
  #prestaciones .prestacion,
  #prestaciones .prestacion:nth-child(4),
  #prestaciones .prestacion:nth-child(5),
  #prestaciones .prestacion:last-child:nth-child(odd) {
    flex: 0 1 calc((100% - 16px) / 2);   /* dos por fila */
  }
}
@media (min-width: 960px) {
  #prestaciones .prestacion,
  #prestaciones .prestacion:nth-child(4),
  #prestaciones .prestacion:nth-child(5),
  #prestaciones .prestacion:last-child:nth-child(odd) {
    flex: 0 1 calc((100% - 32px) / 3);   /* tres por fila; la 4.a y 5.a centradas */
  }
}

/* Cabecera de la seccion de herramientas (jerarquia de la portada). */
.portada-cab {
  max-width: 660px;
  margin: 32px auto 18px;
  text-align: center;
}
.portada-titulo {
  margin: 0;
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 800;
  letter-spacing: .4px;
  color: var(--text);
}
.portada-sub {
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-dim);
}

#prestaciones .prestacion {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 20px 18px 18px;
  border-radius: 22px;
  /* Cristal: fondo oscuro semitransparente + borde tenue blanco/10. */
  background:
    linear-gradient(158deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .022) 44%, rgba(255, 255, 255, 0) 100%),
    rgba(17, 17, 26, .58);
  border: 1px solid rgba(255, 255, 255, .10);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .07);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
  backdrop-filter: blur(14px) saturate(1.35);
  transition: transform .24s ease, border-color .24s ease,
              box-shadow .24s ease, background-color .24s ease;
}

/* Resplandor tenue en la esquina del icono (decorativo). */
#prestaciones .prestacion::before {
  content: "";
  position: absolute;
  inset: -40% 40% 55% -20%;
  z-index: -1;
  background: radial-gradient(closest-side, rgba(230, 57, 70, .30), transparent 72%);
  opacity: .75;
  pointer-events: none;
}

#prestaciones .prestacion:hover,
#prestaciones .prestacion:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(230, 57, 70, .55);
  box-shadow: 0 28px 56px rgba(0, 0, 0, .50),
              0 0 0 1px rgba(230, 57, 70, .35),
              0 0 44px rgba(230, 57, 70, .22);
}

/* --- Icono: placa con jerarquia clara --- */
#prestaciones .prestacion .emo {
  align-self: flex-start;
  width: 54px;
  height: 54px;
  margin-bottom: 15px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  line-height: 1;
  color: #fff;
  background: linear-gradient(150deg, rgba(230, 57, 70, .30), rgba(230, 57, 70, .07));
  border: 1px solid rgba(255, 255, 255, .13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 10px 22px rgba(230, 57, 70, .18);
}
#prestaciones .prestacion .emo .ico-svg { width: 27px; height: 27px; }

/* --- Titulo y descripcion --- */
#prestaciones .prestacion h3 {
  margin: 0 0 7px;
  font-size: 17.5px;
  font-weight: 800;
  letter-spacing: .2px;
  line-height: 1.25;
  color: var(--text);
}
#prestaciones .prestacion p {
  margin: 0 0 18px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-dim);
}

/* --- CTA "Abrir herramienta" (pastilla con flecha) --- */
#prestaciones .prestacion .prestacion-cta {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .2px;
  color: #fff;
  background: linear-gradient(135deg, var(--accent-2, #E63946), var(--accent-oscuro, #A81D2C));
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 9px 22px rgba(230, 57, 70, .30), inset 0 1px 0 rgba(255, 255, 255, .24);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
#prestaciones .prestacion .prestacion-cta .ico-svg {
  width: 16px;
  height: 16px;
  transition: transform .2s ease;
}
#prestaciones .prestacion:hover .prestacion-cta,
#prestaciones .prestacion:focus-visible .prestacion-cta {
  transform: translateY(-1px);
  filter: brightness(1.07);
  box-shadow: 0 12px 28px rgba(230, 57, 70, .46), inset 0 1px 0 rgba(255, 255, 255, .28);
}
#prestaciones .prestacion:hover .prestacion-cta .ico-svg {
  transform: translateX(3px);
}

/* --- Tema claro --- */
html[data-tema="claro"] #prestaciones .prestacion {
  background:
    linear-gradient(158deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .62) 60%, rgba(255, 255, 255, .45) 100%);
  border-color: rgba(16, 19, 34, .10);
  box-shadow: 0 16px 36px rgba(16, 19, 34, .14), inset 0 1px 0 rgba(255, 255, 255, .8);
}
html[data-tema="claro"] #prestaciones .prestacion::before { opacity: .55; }
html[data-tema="claro"] #prestaciones .prestacion .emo {
  background: linear-gradient(150deg, rgba(230, 57, 70, .18), rgba(230, 57, 70, .05));
  border-color: rgba(16, 19, 34, .10);
}

/* --- Sin soporte de backdrop-filter: superficies opacas y contraste AA --- */
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  #prestaciones .prestacion { background: linear-gradient(158deg, #1C1C29, #14141F); }
  html[data-tema="claro"] #prestaciones .prestacion { background: linear-gradient(158deg, #FFFFFF, #F1F2F7); }
}

/* --------------------------------------------------------------------------
   2. PIE DE PAGINA · limpio y minimalista (marca + enlaces + aviso + creditos)
   -------------------------------------------------------------------------- */
.pie {
  text-align: left;
  margin-top: 30px;
  padding: 34px 18px 34px;
  background: linear-gradient(180deg, rgba(17, 17, 26, .35), rgba(9, 9, 15, .78));
  border-top: 1px solid rgba(255, 255, 255, .09);
}

.pie-in {
  max-width: var(--ancho);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px 48px;
  align-items: start;
}

/* --- Marca --- */
.pie-marca { display: flex; align-items: center; gap: 13px; }
.pie-logo {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .12);
}
.pie-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pie-nombre { display: block; font-size: 15.5px; font-weight: 800; letter-spacing: .3px; color: var(--text); }
.pie-lema { display: block; margin-top: 3px; font-size: 12px; color: var(--text-dim); }

/* --- Columnas de enlaces --- */
.pie-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, auto));
  gap: 22px 34px;
}
.pie-col { display: flex; flex-direction: column; gap: 8px; }
.pie-col-titulo {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.pie-col a {
  color: var(--text);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  width: fit-content;
}
.pie-col a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.pie-col a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

/* --- Aviso legal --- */
.pie-aviso {
  max-width: var(--ancho);
  margin: 28px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .07);
  font-size: 12px;
  line-height: 1.65;
  color: var(--text-dim);
}
.pie-aviso b { color: var(--text); font-weight: 700; }

/* --- Creditos / version --- */
.pie-creditos {
  max-width: var(--ancho);
  margin: 16px auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  font-size: 12.5px;
  color: var(--text-dim);
}
.pie-creditos b { color: var(--text); font-weight: 700; }
.pie-creditos a { color: var(--text-dim); text-decoration: none; font-weight: 600; }
.pie-creditos a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.pie-sep { opacity: .5; }

/* --- Tema claro --- */
html[data-tema="claro"] .pie {
  background: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(243, 244, 249, .96));
  border-top-color: rgba(16, 19, 34, .10);
}
html[data-tema="claro"] .pie-logo { background: rgba(16, 19, 34, .04); border-color: rgba(16, 19, 34, .12); }
html[data-tema="claro"] .pie-aviso { border-top-color: rgba(16, 19, 34, .10); }

/* --------------------------------------------------------------------------
   3. RESPONSIVE · hero y pie en pantallas estrechas
   -------------------------------------------------------------------------- */

/* Tablet: el pie pasa a una columna y las columnas de enlaces siguen en fila. */
@media (max-width: 860px) {
  .pie-in { grid-template-columns: 1fr; gap: 24px; }
}

/* Moviles: CTAs del hero a lo ancho (sin desbordes) y enlaces apilados. */
@media (max-width: 560px) {
  .hero .acciones { flex-direction: column; align-items: stretch; gap: 10px; }
  .hero .acciones .boton { width: 100%; justify-content: center; text-align: center; }
  .hero p.lead { font-size: 14.5px; }

  .pie { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
  .pie-nav { grid-template-columns: 1fr 1fr; gap: 20px 24px; }
  .pie-col a { width: auto; }
  .pie-col a:hover { text-decoration: none; }
}

@media (max-width: 380px) {
  .pie-nav { grid-template-columns: 1fr; }
}

/* Moviles estrechos: la Poke Ball se reduce y se aparta para priorizar el
   contenido y los botones de accion. */
@media (max-width: 430px) {
  .hero { padding: 26px 14px 22px; }
  .hero h1 { font-size: clamp(26px, 8vw, 34px); }
  .hero-escena-bola {
    width: min(32vmin, 104px);
    height: min(32vmin, 104px);
    left: 76%;
    top: 22%;
    opacity: .10;
  }
  .hero-escena-halo { opacity: .75; }
}

/* --------------------------------------------------------------------------
   4. Movimiento reducido: sin elevaciones ni desplazamientos
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  #prestaciones .prestacion:hover,
  #prestaciones .prestacion:focus-visible { transform: none; }
  #prestaciones .prestacion:hover .prestacion-cta,
  #prestaciones .prestacion:focus-visible .prestacion-cta { transform: none; }
  #prestaciones .prestacion:hover .prestacion-cta .ico-svg { transform: none; }
}

/* --------------------------------------------------------------------------
   5. ARMADURA DE PAGINA: PIE PEGADO ABAJO (sticky footer).
   La columna flex de <body> empuja el pie al borde inferior aunque haya poco
   contenido (antes quedaba "flotando" a media altura y sobraba un hueco
   enorme debajo). #main crece (flex: 1 0 auto) para ocupar el espacio libre y
   centra su contenido en vertical cuando sobra sitio. El pie lleva
   margin-top: auto, que en una columna flex lo ancla al final.
   -------------------------------------------------------------------------- */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#main {
  flex: 1 0 auto;
  width: 100%;            /* mantiene el ancho completo pese al margen auto */
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pie { margin-top: auto; }

/* --------------------------------------------------------------------------
   6. COMPARADOR: buscadores enfrentados con separador "VS", subtitulo legible
   y previsualizacion (estado vacio) de las dos tarjetas antes de comparar.
   -------------------------------------------------------------------------- */
#tab-comparador .ayuda-cmp { color: var(--cmp-sub); }

/* --- Controles: Pokemon 1 | VS | Pokemon 2 --- */
#tab-comparador .cmp-controles {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  gap: 12px 14px;
  margin: 4px 0 2px;
}
#tab-comparador .cmp-buscador { min-width: 0; }
#tab-comparador .cmp-etiqueta {
  display: block;
  margin: 0 0 6px 2px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--text-dim);
}
#tab-comparador .cmp-vs-sep {
  align-self: center;
  margin-top: 20px;       /* alinea el circulo con los campos, no con las etiquetas */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: var(--elevated);
  border: 1px solid var(--border);
  color: var(--text-dim);
  font-family: "PokeFun", system-ui, sans-serif;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .04em;
}
#tab-comparador .cmp-accion { justify-content: center; margin-top: 14px; }

/* --- Tarjetas de previsualizacion (estado vacio) --- */
#tab-comparador .cmp-preview {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: stretch;
  margin-top: 18px;
}
#tab-comparador .cmp-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  min-height: 156px;
  padding: 20px 14px;
  border-radius: 14px;
  border: 1px dashed var(--border);
  background: var(--surface);
}
#tab-comparador .cmp-slot-svg { width: 38px; height: 38px; color: var(--text-dim); opacity: .85; }
#tab-comparador .cmp-slot-nom { font-weight: 700; font-size: 15px; color: var(--text); }
#tab-comparador .cmp-slot-estado { font-size: 12.5px; color: var(--text-dim); }
#tab-comparador .cmp-preview-vs {
  align-self: center;
  justify-self: center;
  font-family: "PokeFun", system-ui, sans-serif;
  font-weight: 900;
  font-size: 15px;
  color: var(--text-dim);
  background: var(--elevated);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 13px;
}
/* Cuando ya hay resultado, la previsualizacion deja de tener sentido. */
#tab-comparador:has(#cmp-resultado:not(.oculto)) .cmp-preview { display: none; }

@media (max-width: 620px) {
  #tab-comparador .cmp-controles { grid-template-columns: 1fr; }
  #tab-comparador .cmp-vs-sep { justify-self: center; margin-top: 0; }
  #tab-comparador .cmp-preview { grid-template-columns: 1fr; }
  #tab-comparador .cmp-preview-vs { justify-self: center; }
}

/* --------------------------------------------------------------------------
   7. PIE: contraste de enlaces y aviso legal (WCAG).
   En tema oscuro se usan tonos slate claros (#CBD5E1 / #94A3B8); en tema claro
   se cambian por equivalentes oscuros para no perder contraste sobre el fondo
   claro. Todo el texto del pie supera el 7:1 (AAA) en su fondo real.
   -------------------------------------------------------------------------- */
:root { --cmp-sub: #CBD5E1; --pie-link: #CBD5E1; --pie-dim: #94A3B8; }
html[data-tema="claro"] { --cmp-sub: #475569; --pie-link: #334155; --pie-dim: #475569; }
.pie-col a { color: var(--pie-link); }
.pie-creditos { color: var(--pie-dim); }
.pie-creditos a { color: var(--pie-link); }
.pie-aviso { color: var(--pie-dim); }
.pie-col-titulo { color: var(--pie-dim); }

/* --- Cabecera compacta en móviles: el subtítulo partía la marca en 5 líneas
       y la cabecera ocupaba ~120 px de pantalla. --- */
@media (max-width: 480px) {
  .subtitulo-app { display: none; }
  .titulo-app { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .titulo-app, .subtitulo-app { min-width: 0; }
  /* El bloque del título es el que cede espacio; los botones no se encogen. */
  .cabecera-in > :nth-child(2) { flex: 1 1 auto; min-width: 0; }
  .cabecera-acciones { flex-shrink: 0; }
}
@media (max-width: 400px) {
  .cabecera-acciones { gap: 5px; }
  .cabecera-acciones .boton-icono,
  .cabecera-acciones > div:first-child { width: 40px; min-width: 40px; height: 40px; }
}

/* ===== Insignia de tipo oficial (Escarlata/Púrpura · HOME · Champions) =====
   Píldora del color del tipo con brillo superior, símbolo en un círculo
   blanco a la izquierda y el nombre en blanco con sombra. Gana a los estilos
   anteriores de las tarjetas del Scouter y de la ficha. */
.chip.chip-tipo,
.pkm-carta .tipos .chip.chip-tipo,
#ficha-pkm .tipos .chip.chip-tipo, .ficha-pkm .tipos .chip.chip-tipo {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 2px 12px 2px 2px;
  min-height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 55%, rgba(0,0,0,.12)), var(--tc) !important;
  border: 1px solid rgba(0, 0, 0, .25) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 6px rgba(0,0,0,.30);
  color: #fff !important;
  font-size: 12px; font-weight: 800; letter-spacing: .3px; text-transform: none;
  text-shadow: 0 1px 1px rgba(0,0,0,.55), 0 0 2px rgba(0,0,0,.35);
  line-height: 1;
}
.chip-tipo .chip-tipo-ico {
  display: inline-grid; place-items: center; flex: none;
  width: 20px; height: 20px; border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.chip.chip-tipo .chip-tipo-ico img,
.pkm-carta .tipos .chip.chip-tipo img,
#ficha-pkm .tipos .chip.chip-tipo img, .ficha-pkm .tipos .chip.chip-tipo img {
  width: 14px; height: 14px; border-radius: 0; opacity: 1; object-fit: contain;
}
.chip-tipo:not(:has(.chip-tipo-ico)) { padding-left: 12px; }
.pkm-carta .tipos .chip.chip-tipo, .miembro .tipos .chip.chip-tipo { font-size: 10.5px; min-height: 20px; gap: 4px; padding-right: 9px; }
.pkm-carta .chip-tipo .chip-tipo-ico, .miembro .chip-tipo .chip-tipo-ico { width: 16px; height: 16px; }
.pkm-carta .tipos .chip.chip-tipo img, .miembro .chip-tipo img { width: 11px !important; height: 11px !important; }
#ficha-pkm .tipos .chip.chip-tipo, .ficha-pkm .tipos .chip.chip-tipo { font-size: 13px; min-height: 28px; padding-right: 14px; }
#ficha-pkm .chip-tipo .chip-tipo-ico, .ficha-pkm .chip-tipo .chip-tipo-ico { width: 24px; height: 24px; }
#ficha-pkm .tipos .chip.chip-tipo img, .ficha-pkm .tipos .chip.chip-tipo img { width: 16px; height: 16px; }
html[data-tema="claro"] .pkm-carta .tipos .chip.chip-tipo { color: #fff !important; }

/* Tabla de stats: la etiqueta («Ataque», «Def. Esp.») en una sola línea. */
.stats-tabla .etiqueta { width: 1%; white-space: nowrap; padding-right: 10px; }
.stats-tabla .etiqueta svg, .stats-tabla .etiqueta .ico { vertical-align: -2px; margin-right: 3px; }

/* Radar: animación también para el nuevo grupo de la forma. */
.radar { overflow: visible; }
