/* ═══════════════════════════════════════════════════
   D&D 2024 Official Character Sheet — v8
   Geometría EXACTA extraída del HTML oficial de referencia
   (páginas de 804×1032: % = x/804, y/1032).
   BLINDADO RESPONSIVE: todo es proporcional a la página.
   - Posiciones y tamaños en % de .dnd2024-page (aspect-ratio
     1207/1549 fijo): cada campo ocupa siempre su hueco.
   - Fuentes en min(Xcqw, MAXpx) SIN suelo en px: el texto encoge
     con la ficha y nunca se corta (la proporción fuente/caja es
     constante a cualquier tamaño de ventana).
   - Checks, bordes, letter-spacing, gaps y paddings en cqw con
     box-sizing: border-box: ni los checks crecen de más ni las
     filas se desplazan en móvil/tablet.
   ═══════════════════════════════════════════════════ */

:root {
  --dnd-font: 'Inter', 'Segoe UI', Arial, sans-serif;
  --dnd-font-serif: 'Georgia', 'Times New Roman', serif;
}

/* Contenedor: ocupa todo el ancho disponible. */
.dnd2024-wrapper {
    margin: 0 auto;
    padding: 4px;
    max-width: none;
    width: 100%;
    box-sizing: border-box;
}

.dnd2024-page {
  position: relative;
  width: 100%;
  aspect-ratio: 1207 / 1549;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: top left;
  margin: 0 auto 16px auto;
  overflow: hidden;
  container-type: inline-size;
}
.dnd2024-page1 {
  background-image: url('/images/dnd2024_page1.png');
}
.dnd2024-page2 {
  background-image: url('/images/dnd2024_page2.png');
}

/* ─── Inputs superpuestos ─── */
.dnd2024-field {
  position: absolute;
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--dnd-font);
  font-size: min(1.6cqw, 24px);
  color: #1a1a1a;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  line-height: 1.2;
}
.dnd2024-field:focus {
  background: rgba(255, 255, 200, 0.4);
  outline: 0.12cqw solid #333;
}
.dnd2024-field-center {
  text-align: center;
}

/* ─── Etiquetas ─── */
.dnd2024-desc {
  position: absolute;
  font-family: var(--dnd-font);
  font-size: min(0.95cqw, 14px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #444;
  pointer-events: none;
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.dnd2024-desc-center {
  text-align: center;
}

/* ═══════════ PÁGINA 1 — CABECERA ═══════════ */

/* Nombre: ref (33.33, 21.33, 298.67×18.67). Etiqueta en (33.22, 37.54). */
.dnd2024-name {
  left: 4.15%;
  top: 2.07%;
  width: 37.15%;
  height: 1.81%;
  font-size: min(2.1cqw, 28px);
  font-weight: 700;
  font-family: var(--dnd-font-serif);
}
.dnd2024-desc-name {
  left: 4.13%;
  top: 3.64%;
  width: 37.15%;
  height: 1.1%;
}

/* Trasfondo / Clase: fila ref y=50.67 h=17.33. Etiquetas en y=66.26. */
.dnd2024-background  { left: 4.15%; top: 4.91%; width: 18.24%; height: 1.68%; }
.dnd2024-desc-background { left: 4.13%; top: 6.42%; width: 18.24%; height: 0.9%; }

.dnd2024-class       { left: 22.39%; top: 4.91%; width: 18.91%; height: 1.68%; }
.dnd2024-desc-class  { left: 24.67%; top: 6.42%; width: 16.6%; height: 0.9%; }

/* Especie / Subclase: fila ref y=80 h=18.67. Etiquetas en y=94.98. */
.dnd2024-species     { left: 3.98%;  top: 7.75%; width: 18.24%; height: 1.81%; }
.dnd2024-desc-species { left: 4.11%;  top: 9.2%; width: 18.24%; height: 0.9%; }

.dnd2024-subclass    { left: 22.39%; top: 7.75%; width: 18.75%; height: 1.81%; }
.dnd2024-desc-subclass { left: 24.65%; top: 9.2%; width: 16.6%; height: 0.9%; }

/* Nivel: ref (349.33, 38.67, 37.33×22.67). Etiqueta en (354.71, 59.59). */
.dnd2024-level       { left: 43.45%; top: 3.75%; width: 4.64%; height: 2.2%; }
.dnd2024-desc-level  { left: 42.5%; top: 5.77%; width: 6.5%; height: 0.9%; }

/* XP: ref (340, 70.67, 57.33×20). Etiqueta en (363.35, 88.31). */
.dnd2024-xp          { left: 42.29%; top: 6.85%; width: 7.13%; height: 1.94%; }
.dnd2024-desc-xp     { left: 42.6%; top: 8.56%; width: 6.5%; height: 0.9%; }

.dnd2024-alignment   { left: 68%; top:36%; width: 29.5%; height: 3%; }

/* CA: ref (433.33, 41.33, 37.33×22.67). Rótulos ARMOR (433.6, 20.78) y CLASS (437.01, 31.45). */
.dnd2024-ac-input     { left: 53.9%; top: 4%; width: 4.64%; height: 2.2%; font-size: min(2.4cqw, 30px); font-weight: 800; text-align: center; }
.dnd2024-desc-ac      { left: 52.5%; top: 2.2%; width: 7%; height: 1.6%; }

/* Escudo: ref (433.33, 62.67). Rótulo en (434.6, 81.6). Rombo ref en (445.33, 93.33). */
.dnd2024-shield-input { left: 54.2%; top: 8.8%; width: 4.2%; height: 1.9%; text-align: center; font-size: min(1.4cqw, 18px); }
.dnd2024-desc-shield  { left: 53%; top: 7.91%; width: 6.6%; height: 1%; }

/* PG: actual ref (506.67, 72, 58.67×22.67), temp ref (585.33, 42.67, 49.33×21.33),
   máx ref (585.33, 74.67, 49.33×20). Rótulos: current (505.54, 92.56),
   temp (584.36, 63.83), max (584.36, 92.56). */
.dnd2024-hp-current   { left: 63.02%; top: 6.98%;   width: 7.3%; height: 2.2%; font-size: min(2.1cqw, 26px); font-weight: 800; text-align: center; }
.dnd2024-desc-hp-cur  { left: 62.88%; top: 8.97%; width: 7.5%; height: 0.9%; }

.dnd2024-hp-temp      { left: 72.8%; top: 4.14%;   width: 6.14%; height: 2.07%; font-size: min(2.1cqw, 26px); font-weight: 800; text-align: center; }
.dnd2024-desc-hp-temp { left: 72.68%; top: 6.19%; width: 6.3%; height: 0.9%; }

.dnd2024-hp-max       { left: 72.8%; top: 7.24%;   width: 6.14%; height: 1.94%; font-size: min(2.1cqw, 26px); font-weight: 800; text-align: center; }
.dnd2024-desc-hp-max  { left: 72.68%; top: 8.97%; width: 6.3%; height: 0.9%; }

/* Dados de golpe: sup ref (656, 42.67, 49.33×22.67), inf ref (654.67, 76, 49.33×20).
   Rótulos: spent (656.36, 63.83), max (656.36, 92.56). */
.dnd2024-hd-spent     { left: 81.59%; top: 4.14%;   width: 6.14%; height: 2.2%; text-align: center; }
.dnd2024-desc-hd-spent { left: 81.5%; top: 6.19%; width: 6.3%; height: 0.9%; }

.dnd2024-hd-total     { left: 81.43%; top: 7.36%;   width: 6.14%; height: 1.94%; text-align: center; }
.dnd2024-desc-hd-tot  { left: 81.5%; top: 8.97%; width: 6.3%; height: 0.9%; }

/* Salvaciones contra muerte: rombos ref de 14.67px en
   (720/736/752, 50.67) y (720/736/750.67, 80).
   Rótulos: successes (722.64, 63.83), failures (722.64, 92.56). */
.dnd2024-death-cb {
  position: absolute;
  height: 0.6%;
  aspect-ratio: 1 / 1;
  width: auto;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border: 0.2cqw solid #333;
  transform: rotate(45deg);
  background: transparent;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
.dnd2024-death-cb:checked { background: #333; }
.dnd2024-death-succ1 { left: 90.07%;  top: 5.42%; }
.dnd2024-death-succ2 { left: 91.9%;  top: 5.42%; }
.dnd2024-death-succ3 { left: 93.7%;  top: 5.42%; }
.dnd2024-death-fail1 { left: 90.07%;  top: 8.3%; }
.dnd2024-death-fail2 { left: 91.9%;  top: 8.3%; }
.dnd2024-death-fail3 { left: 93.7%;  top: 8.3%; }
.dnd2024-desc-death-su { left: 89.88%; top: 6.19%; width: 8%; height: 0.9%; }
.dnd2024-desc-death-fa { left: 89.88%; top: 8.97%; width: 8%; height: 0.9%; }

/* ═══════════ CARACTERÍSTICAS ═══════════
   Modificadores ref 32×28 (3.98% × 2.71%), puntuaciones ref
   25.33×22.67 (3.15% × 2.2%), valores ref 22.67×17.33 (2.82% × 1.68%).
   Checks ref 14.67px; círculos DEGEL centrados en cada check. */

/* Modificadores */
.dnd2024-str-mod   { left: 5.14%; top: 27.52%; width: 3.98%; height: 2.71%; font-size: min(3.4cqw, 40px); font-weight: 800; text-align: center; }
.dnd2024-dex-mod   { left: 5.14%; top: 42.76%; width: 3.98%; height: 2.71%; font-size: min(3.4cqw, 40px); font-weight: 800; text-align: center; }
.dnd2024-con-mod   { left: 5.14%; top: 61.76%; width: 3.98%; height: 2.71%; font-size: min(3.4cqw, 40px); font-weight: 800; text-align: center; }
.dnd2024-int-mod   { left: 22.72%; top: 17.44%; width: 3.98%; height: 2.71%; font-size: min(3.4cqw, 40px); font-weight: 800; text-align: center; }
.dnd2024-wis-mod   { left: 22.89%; top: 40.05%; width: 3.98%; height: 2.71%; font-size: min(3.4cqw, 40px); font-weight: 800; text-align: center; }
.dnd2024-cha-mod   { left: 22.72%; top: 62.4%; width: 3.98%; height: 2.71%; font-size: min(3.4cqw, 40px); font-weight: 800; text-align: center; }

/* Puntuaciones */
.dnd2024-str-score { left: 10.61%; top: 28.29%; width: 3.15%; height: 2.2%; font-size: min(2.4cqw, 26px); font-weight: 700; text-align: center; }
.dnd2024-dex-score { left: 10.61%; top: 43.54%; width: 3.15%; height: 2.2%; font-size: min(2.4cqw, 26px); font-weight: 700; text-align: center; }
.dnd2024-con-score { left: 10.61%; top: 62.4%; width: 3.15%; height: 2.2%; font-size: min(2.4cqw, 26px); font-weight: 700; text-align: center; }
.dnd2024-int-score { left: 28.19%; top: 18.35%; width: 3.15%; height: 2.2%; font-size: min(2.4cqw, 26px); font-weight: 700; text-align: center; }
.dnd2024-wis-score { left: 28.19%; top: 40.7%; width: 3.15%; height: 2.2%; font-size: min(2.4cqw, 26px); font-weight: 700; text-align: center; }
.dnd2024-cha-score { left: 28.36%; top: 63.18%; width: 3.15%; height: 2.2%; font-size: min(2.4cqw, 26px); font-weight: 700; text-align: center; }

/* Valores de salvación */
.dnd2024-str-save  { left: 4.64%; top: 33.2%; width: 2.82%; height: 1.68%; font-size: min(1.5cqw, 18px); font-weight: 600; text-align: center; }
.dnd2024-dex-save  { left: 4.64%; top: 48.45%; width: 2.82%; height: 1.68%; font-size: min(1.5cqw, 18px); font-weight: 600; text-align: center; }
.dnd2024-con-save  { left: 4.81%; top: 67.18%; width: 2.82%; height: 1.68%; font-size: min(1.5cqw, 18px); font-weight: 600; text-align: center; }
.dnd2024-int-save  { left: 22.39%; top: 23.13%; width: 2.82%; height: 1.68%; font-size: min(1.5cqw, 18px); font-weight: 600; text-align: center; }
.dnd2024-wis-save  { left: 22.22%; top: 45.61%; width: 2.82%; height: 1.68%; font-size: min(1.5cqw, 18px); font-weight: 600; text-align: center; }
.dnd2024-cha-save  { left: 22.22%; top: 68.09%; width: 2.82%; height: 1.68%; font-size: min(1.5cqw, 18px); font-weight: 600; text-align: center; }

/* ─── Nombres de característica (posiciones de rótulos ref) ─── */
.dnd2024-desc-ab-name { font-size: min(1.15cqw, 18px); font-weight: 800; letter-spacing: 0.06em; }

.dnd2024-desc-name-str { left: 6.09%; top: 24.88%; width: 11%; height: 1.8%; }
.dnd2024-desc-name-dex { left: 6.13%; top: 40.1%; width: 11%; height: 1.8%; }
.dnd2024-desc-name-con { left: 4.61%; top: 58.95%; width: 11%; height: 1.8%; }
.dnd2024-desc-name-int { left: 22.56%; top: 14.89%; width: 11%; height: 1.8%; }
.dnd2024-desc-name-wis { left: 24.34%; top: 37.36%; width: 11%; height: 1.8%; }
.dnd2024-desc-name-cha { left: 23.77%; top: 59.84%; width: 11%; height: 1.8%; }

/* ─── Etiquetas Modificador / Puntuación / Salvación (posiciones ref) ─── */
.dnd2024-desc-str-mod  { left: 4.68%; top: 31.27%; width: 5.5%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-str-score { left: 10.61%; top: 30.62%; width: 4.8%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-str-save { left: 7.95%; top: 33.72%; width: 11.5%; height: 1.68%; font-size: min(1.25cqw, 15px); font-weight: 800; }

.dnd2024-desc-dex-mod  { left: 4.66%; top: 46.49%; width: 5.5%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-dex-score { left: 10.61%; top: 45.83%; width: 4.8%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-dex-save { left: 7.94%; top: 48.94%; width: 11.5%; height: 1.68%; font-size: min(1.25cqw, 15px); font-weight: 800; }

.dnd2024-desc-con-mod  { left: 4.68%; top: 65.33%; width: 5.5%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-con-score { left: 10.61%; top: 64.68%; width: 4.8%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-con-save { left: 7.95%; top: 67.79%; width: 11.5%; height: 1.68%; font-size: min(1.25cqw, 15px); font-weight: 800; }

.dnd2024-desc-int-mod  { left: 22.29%; top: 21.28%; width: 5.5%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-int-score { left: 28.22%; top: 20.63%; width: 4.8%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-int-save { left: 25.56%; top: 23.73%; width: 10.9%; height: 1.68%; font-size: min(1.25cqw, 15px); font-weight: 800; }

.dnd2024-desc-wis-mod  { left: 22.29%; top: 43.75%; width: 5.5%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-wis-score { left: 28.22%; top: 43.09%; width: 4.8%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-wis-save { left: 25.56%; top: 46.2%; width: 10.9%; height: 1.68%; font-size: min(1.25cqw, 15px); font-weight: 800; }

.dnd2024-desc-cha-mod  { left: 22.29%; top: 66.22%; width: 5.5%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-cha-score { left: 28.22%; top: 65.57%; width: 4.8%; height: 1.2%; font-size: min(0.85cqw, 12px); }
.dnd2024-desc-cha-save { left: 25.56%; top: 68.67%; width: 10.9%; height: 1.68%; font-size: min(1.25cqw, 15px); font-weight: 800; }

/* ─── Checks de habilidades y salvaciones ───
   Círculos DEGEL de 1.25cqw centrados en cada check ref. */
.dnd2024-skill-cb {
  position: absolute;
  height: 0.95%;
  aspect-ratio: 1 / 1;
  width: auto;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border: 0.2cqw solid #333;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
.dnd2024-skill-cb:checked { background: #333; }
.dnd2024-skill-val {
  position: absolute;
  width: 2.82%;
  height: 1.68%;
  text-align: center;
  font-size: min(1.5cqw, 18px);
  font-weight: 600;
}

/* FUE: Atletismo check ref (21.33, 372) */
.dnd2024-sk-athletics-cb  { left: 2.94%; top: 36.27%; }
.dnd2024-sk-athletics-val { left: 4.64%; top: 35.66%; }

/* DES: checks ref x=21.33 (Acro 529.33, Manos 546.67, Sigilo 566.67) */
.dnd2024-sk-acrobatics-cb    { left: 2.94%; top: 51.51%; }
.dnd2024-sk-acrobatics-val   { left: 4.81%;  top: 50.9%; }
.dnd2024-sk-sleight-cb       { left: 2.94%; top: 53.2%; }
.dnd2024-sk-sleight-val      { left: 4.64%;  top: 52.71%; }
.dnd2024-sk-stealth-cb       { left: 2.94%; top: 55.14%; }
.dnd2024-sk-stealth-val      { left: 4.64%;  top: 54.52%; }

/* INT: checks ref x≈162 (Arcano 268, Historia 286.67, Invest 306.67, Nat 325.33, Rel 344) */
.dnd2024-sk-arcana-cb        { left: 20.35%; top: 26.19%; }
.dnd2024-sk-arcana-val       { left: 22.39%;  top: 25.71%; }
.dnd2024-sk-history-cb       { left: 20.52%; top: 28%; }
.dnd2024-sk-history-val      { left: 22.22%;  top: 27.52%; }
.dnd2024-sk-investigation-cb { left: 20.52%; top: 29.94%; }
.dnd2024-sk-investigation-val{ left: 22.22%;  top: 29.33%; }
.dnd2024-sk-nature-cb        { left: 20.52%; top: 31.75%; }
.dnd2024-sk-nature-val       { left: 22.39%;  top: 31.14%; }
.dnd2024-sk-religion-cb      { left: 20.68%; top: 33.56%; }
.dnd2024-sk-religion-val     { left: 22.22%;  top: 32.95%; }

/* SAB: checks ref (Animales 500, Perspicacia 520, Medicina 537.33, Percepción 556, Supervivencia 576) */
.dnd2024-sk-animals-cb       { left: 20.35%; top: 48.67%; }
.dnd2024-sk-animals-val      { left: 22.22%;  top: 48.19%; }
.dnd2024-sk-insight-cb       { left: 20.52%; top: 50.61%; }
.dnd2024-sk-insight-val      { left: 22.39%;  top: 50%; }
.dnd2024-sk-medicine-cb      { left: 20.52%; top: 52.29%; }
.dnd2024-sk-medicine-val     { left: 22.22%;  top: 51.94%; }
.dnd2024-sk-perception-cb    { left: 20.52%; top: 54.1%; }
.dnd2024-sk-perception-val   { left: 22.22%;  top: 53.62%; }
.dnd2024-sk-survival-cb      { left: 20.52%; top: 56.04%; }
.dnd2024-sk-survival-val     { left: 22.22%;  top: 55.43%; }

/* CAR: checks ref (Engaño 732, Intimidación 752, Interpretación 772, Persuasión 789.33) */
.dnd2024-sk-deception-cb     { left: 20.52%; top: 71.15%; }
.dnd2024-sk-deception-val    { left: 22.39%;  top: 70.67%; }
.dnd2024-sk-intimidation-cb  { left: 20.52%; top: 73.09%; }
.dnd2024-sk-intimidation-val { left: 22.39%;  top: 72.48%; }
.dnd2024-sk-performance-cb   { left: 20.52%; top: 75.03%; }
.dnd2024-sk-performance-val  { left: 22.22%;  top: 74.42%; }
.dnd2024-sk-persuasion-cb    { left: 20.52%; top: 76.71%; }
.dnd2024-sk-persuasion-val   { left: 22.22%;  top: 76.1%; }

/* ─── Nombres de habilidad (posiciones de rótulos ref: col1 x=62.5, col2 x=204.16) ─── */
.dnd2024-desc-skills { position: absolute; font-family: var(--dnd-font); font-size: min(1.15cqw, 17px); font-weight: 700; text-transform: none; letter-spacing: 0; color: #333; pointer-events: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; line-height: 1.3; }
.dnd2024-desc-skills-col1 { left: 7.79%; width: 11.5%; }
.dnd2024-desc-skills-col2 { left: 25.39%; width: 10.9%; }
.dnd2024-desc-skills-col3 { left: 25.39%; width: 10.9%; }

.dnd2024-desc-sk-athletics    { top: 36.31%; }

.dnd2024-desc-sk-acrobatics   { top: 51.52%; }
.dnd2024-desc-sk-sleight      { top: 53.33%; }
.dnd2024-desc-sk-stealth      { top: 55.15%; }

.dnd2024-desc-sk-arcana       { top: 26.32%; }
.dnd2024-desc-sk-history      { top: 28.13%; }
.dnd2024-desc-sk-investigation { top: 29.93%; }
.dnd2024-desc-sk-nature       { top: 31.74%; }
.dnd2024-desc-sk-religion     { top: 33.55%; }

.dnd2024-desc-sk-animals      { top: 48.78%; }
.dnd2024-desc-sk-insight      { top: 50.59%; }
.dnd2024-desc-sk-medicine     { top: 52.4%; }
.dnd2024-desc-sk-perception   { top: 54.2%; }
.dnd2024-desc-sk-survival     { top: 56.01%; }

.dnd2024-desc-sk-deception    { top: 71.25%; }
.dnd2024-desc-sk-intimidation  { top: 73.07%; }
.dnd2024-desc-sk-performance  { top: 74.87%; }
.dnd2024-desc-sk-persuasion   { top: 76.67%; }

/* ─── Competencia en salvaciones (checks ref) ─── */
.dnd2024-save-cb {
  position: absolute;
  height: 0.95%;
  aspect-ratio: 1 / 1;
  width: auto;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border: 0.2cqw solid #333;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
.dnd2024-save-cb:checked { background: #333; }
.dnd2024-str-save-cb { left: 2.77%; top: 33.69%; }
.dnd2024-dex-save-cb { left: 2.94%; top: 48.93%; }
.dnd2024-con-save-cb { left: 2.77%; top: 67.79%; }
.dnd2024-int-save-cb { left: 20.52%; top: 23.73%; }
.dnd2024-wis-save-cb { left: 20.52%; top: 46.22%; }
.dnd2024-cha-save-cb { left: 20.52%; top: 68.57%; }

/* ═══════════ FILA 2: INICIATIVA / VELOCIDAD / TAMAÑO / PASIVA ═══════════
   Inputs ref 49.33×22.67 en y=170.67/169.33. Rótulos en y=153.66. */
.dnd2024-init-input   { left: 40.47%; top: 16.54%; width: 6.14%;  height: 2.2%; font-size: min(2.2cqw, 26px); font-weight: 800; text-align: center; }
.dnd2024-desc-init    { left: 39.5%; top: 14.89%; width: 8%; height: 1.3%; font-size: min(1.05cqw, 14px); font-weight: 800; }

.dnd2024-speed-input  { left: 56.22%; top: 16.54%; width: 6.14%;  height: 2.2%; font-size: min(2.2cqw, 26px); font-weight: 800; text-align: center; }
.dnd2024-desc-speed   { left: 55.5%; top: 14.89%; width: 8%; height: 1.3%; font-size: min(1.05cqw, 14px); font-weight: 800; }

.dnd2024-size-input   { left: 71.81%; top: 16.41%; width: 6.14%;  height: 2.2%; text-align: center; }
.dnd2024-desc-size    { left: 71%; top: 14.89%; width: 7%; height: 1.3%; font-size: min(1.05cqw, 14px); font-weight: 800; }

.dnd2024-passive-perc { left: 87.56%; top: 16.41%; width: 6.14%; height: 2.2%; text-align: center; font-size: min(2cqw, 24px); font-weight: 700; }
.dnd2024-desc-passive { left: 85.6%; top: 14.89%; width: 10%; height: 1.3%; font-size: min(1.05cqw, 14px); font-weight: 800; }

/* ═══════════ BONO COMPETENCIA / INSPIRACIÓN ═══════════
   Bono ref (60, 181.33, 32×41.33). Rótulo en (23.2, 156.2). */
.dnd2024-prof-bonus   { left: 7.46%; top: 17.57%; width: 3.98%; height: 4%; text-align: center; font-size: min(2.4cqw, 28px); font-weight: 800; }
.dnd2024-desc-prof    { left: 2.5%; top: 15.13%; width: 13.5%; height: 1.3%; font-size: min(1.5cqw, 18px); font-weight: 800; }

.dnd2024-inspiration  { left: 68%; top: 10.5%; width: 2.5%; height: 2%; }

/* Inspiración heroica: check ref (69.33, 781.33, 14.67).
   Rótulos HEROIC (57.29, 741.87) e INSPIRATION (43.95, 752.53). */
.dnd2024-heroic-cb    { left: 8.62%; top: 75.71%; height: 1.4%; aspect-ratio: 1 / 1; width: auto; box-sizing: border-box; position: absolute; cursor: pointer; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; border: 0.2cqw solid #333; border-radius: 0.25cqw; }
.dnd2024-heroic-cb:checked { background: #333; }
.dnd2024-desc-heroic  { left: 3%; top: 72.2%; width: 14%; height: 1.6%; font-size: min(1.15cqw, 14px); font-weight: 800; }

/* ═══════════ ARMAS Y TRUCOS DE DAÑO ═══════════
   Columnas ref: Nombre 297.33-445.33, Atk 449.33-506.66,
   Daño 512-610.67, Notas 616-785.33. Filas ref y=260-389.33.
   Rótulos en y=250.63, título en y=225.13. */
.dnd2024-desc-weapons-title {
  position: absolute;
  left: 36.99%;
  top: 21.6%;
  width: 60.7%;
  height: 1.4%;
  font-size: min(1.4cqw, 17px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #333;
  text-align: center;
  font-family: var(--dnd-font);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.dnd2024-weapons-area {
  position: absolute;
  left: 36.99%;
  top: 24.29%;
  width: 60.7%;
  height: 15.63%;
  display: flex;
  flex-direction: column;
}
.dnd2024-weapons-header {
  display: flex;
  width: 100%;
  flex: 0 0 5.76%;
  min-height: 0;
  align-items: flex-end;
}
.dnd2024-weapons-header span {
  font-size: min(0.85cqw, 11px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #333;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-family: var(--dnd-font);
  padding-bottom: 0.25cqw;
  box-sizing: border-box;
}
.dnd2024-wh-name { flex: 30.33; text-align: left !important; }
.dnd2024-wh-bonus { flex: 11.75; }
.dnd2024-wh-dmg { flex: 20.22; }
.dnd2024-wh-notes { flex: 34.7; }
.dnd2024-weapon-row {
  display: flex;
  align-items: center;
  width: 100%;
  flex: 1;
  min-height: 0;
}
.dnd2024-weapon-row input {
  background: transparent;
  border: none;
  outline: none;
  font-size: min(1.25cqw, 16px);
  font-family: var(--dnd-font);
  padding: 0 0.37cqw;
  text-align: center;
  min-width: 0;
  color: #1a1a1a;
  height: 82%;
  box-sizing: border-box;
}
.dnd2024-weapon-row input:first-child {
  text-align: left;
  flex: 30.33;
}
.dnd2024-weapon-row input:nth-child(2) { flex: 11.75; }
.dnd2024-weapon-row input:nth-child(3) { flex: 20.22; }
.dnd2024-weapon-row input:nth-child(4) { flex: 34.7; }
.dnd2024-weapon-row input:focus { background: rgba(255,255,200,0.5); }

/* ═══════════ RASGOS DE CLASE ═══════════
   Cajas ref (297.33, 462.67, 245.33×281.33) y (542.67, 462.67, ...).
   Título ref en y=444.78. */
.dnd2024-desc-classf { left: 36.99%; top: 42.9%; width: 61.02%; height: 1.6%; text-align: center; font-size: min(1.4cqw, 17px); font-weight: 800; }
.dnd2024-class-features {
  position: absolute;
  left: 36.99%;
  top: 44.83%;
  width: 61.02%;
  height: 27.26%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}
.dnd2024-class-features:focus { background: rgba(255,255,200,0.3); }

/* ═══════════ RASGOS DE ESPECIE / DOTES ═══════════
   Especie ref (297.33, 784, 230.67×232), Dotes ref (544, 784, 245.33×232).
   Títulos ref en y=766.41. */
.dnd2024-desc-traits { left: 36.99%; top: 74.1%; width: 28.69%; height: 1.5%; text-align: center; font-size: min(1.35cqw, 17px); font-weight: 800; }
.dnd2024-species-traits {
  position: absolute;
  left: 36.99%;
  top: 75.97%;
  width: 28.69%;
  height: 22.48%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}
.dnd2024-desc-feats { left: 67.66%; top: 74.1%; width: 30.51%; height: 1.5%; text-align: center; font-size: min(1.35cqw, 17px); font-weight: 800; }
.dnd2024-feats-text {
  position: absolute;
  left: 67.66%;
  top: 75.97%;
  width: 30.51%;
  height: 22.48%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}

/* ═══════════ ENTRENAMIENTO Y COMPETENCIAS ═══════════
   Título ref en y=832.65. Rombos ref 13.33px en y≈857:
   x=77.33/122.67/181.33/232. Rótulos Light (91.93, 858.92),
   Medium (137.37), Heavy (196.36), Shields (246.03).
   Captions: armor (21.36, 852.87), weapons (21.36, 876.87), tools (21.36, 956.55).
   Áreas: armas ref (16, 888, 265.33×69.33), herramientas ref (17.33, 966.67, 264×50.67). */
.dnd2024-desc-equip-train { left: 2%; top: 80.6%; width: 32%; height: 1.3%; text-align: center; font-size: min(1.05cqw, 15px); font-weight: 800; }
.dnd2024-train-box {
  position: absolute;
  left: 2.3%;
  top: 81.8%;
  width: 32.3%;
  height: 16.7%;
}
.dnd2024-desc-armor { left: 0; top: 0; width: 100%; height: 4%; font-size: min(1cqw, 13px); }
.dnd2024-arm-cb {
  position: absolute;
  top: 8%;
  height: 12%;
  font-family: var(--dnd-font);
  font-size: min(1.05cqw, 13px);
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: flex-start;
  gap: 0.37cqw;
  white-space: nowrap;
}
.dnd2024-arm-cb1 { left: 23.9%; width: 17%; }
.dnd2024-arm-cb2 { left: 41.2%; width: 20%; }
.dnd2024-arm-cb3 { left: 64%; width: 17%; }
.dnd2024-arm-cb4 { left: 83.2%; width: 16%; }
.dnd2024-arm-cb input {
  appearance: none;
  -webkit-appearance: none;
  height: 35%;
  aspect-ratio: 1 / 1;
  width: auto;
  box-sizing: border-box;
  border: 0.18cqw solid #333;
  transform: rotate(45deg);
  background: transparent;
  margin: 0.35cqw 0 0 0;
  padding: 0;
  cursor: pointer;
  flex: 0 0 auto;
}
.dnd2024-arm-cb input:checked { background: #333; }
.dnd2024-desc-weapon { left: 0; top: 19%; width: 100%; height: 4%; font-size: min(1cqw, 13px); }
.dnd2024-weapon-training {
  position: absolute;
  left: 0;
  top: 25.5%;
  width: 100%;
  height: 40%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.3cqw, 15px);
  font-family: var(--dnd-font);
  color: #1a1a1a;
  padding: 0 0.5cqw;
  box-sizing: border-box;
}
.dnd2024-desc-tool { left: 0; top: 65%; width: 100%; height: 4%; font-size: min(1cqw, 13px); }
.dnd2024-tool-training {
  position: absolute;
  left: 0;
  top: 71%;
  width: 100%;
  height: 29%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.3cqw, 15px);
  font-family: var(--dnd-font);
  color: #1a1a1a;
  padding: 0 0.5cqw;
  box-sizing: border-box;
}

/* ─── Monedas (compartido) ─── */
.dnd2024-coin-input {
  background: transparent;
  border: none;
  outline: none;
  text-align: center;
  font-size: min(1.3cqw, 16px);
  font-family: var(--dnd-font);
  min-width: 0;
  color: #1a1a1a;
}

/* ═══════════════════════════════════════════════════
   PÁGINA 2
   ═══════════════════════════════════════════════════ */

/* ─── Aptitud de conjuro: rótulo en (33.22, 41.54).
       Números ref (22.67, 66.67/104/140, 37.33×22.67).
       Rótulos en x=75.13 (MODIFIER y=66.73, DC y=109.05, ATTACK y=140.68). ─── */
.dnd2024-page2-spell-ability { left: 3.5%; top: 2.65%; width: 14.5%; height: 1.81%; text-align: center; font-size: min(1.4cqw, 18px); }
.dnd2024-desc-spell-ab { left: 4.13%; top: 4.03%; width: 14.5%; height: 0.9%; text-align: center; }
.dnd2024-spell-stat-row {
  position: absolute;
  left: 2%;
  width: 17%;
  height: 3.61%;
  display: flex;
  align-items: center;
  gap: 0.5cqw;
}
.dnd2024-spell-stat-mod { top: 5.7%; }
.dnd2024-spell-stat-dc { top: 9.32%; }
.dnd2024-spell-stat-atk { top: 12.81%; }
.dnd2024-spell-stat-num {
  flex: 0 0 30%;
  min-width: 0;
  background: transparent;
  border: none;
  border-bottom: 0.12cqw solid #999;
  outline: none;
  text-align: center;
  font-weight: 700;
  font-size: min(1.4cqw, 18px);
  font-family: var(--dnd-font);
  color: #1a1a1a;
  padding: 0;
  height: 70%;
  box-sizing: border-box;
}
.dnd2024-spell-stat-num:focus { background: rgba(255,255,200,0.4); }
.dnd2024-spell-stat-lab {
  flex: 1;
  min-width: 0;
  font-family: var(--dnd-font);
  font-size: min(0.95cqw, 12px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #444;
  line-height: 1.25;
  overflow: hidden;
}

/* ═══════════ ESPACIOS DE CONJURO ═══════════
   Grupos ref: G1 x 206-316, G2 x 380-421.33, G3 x 484-510.67.
   Filas de rombos ref y=113.33/132/150.67. Niveles ref en y=115.27/133.94/152.61.
   Título ref en y=79.73. */
.dnd2024-desc-slots-title { left: 25.6%; top: 7.5%; width: 37.9%; height: 1.3%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-slots-grid {
  position: absolute;
  left: 25.6%;
  top: 10.9%;
  width: 37.9%;
  height: 5.42%;
  display: grid;
  grid-template-columns: 37.75fr 34.47fr 27.78fr;
  grid-template-rows: 1fr 1fr 1fr;
  grid-auto-flow: column;
  gap: 0;
}
.dnd2024-slot-cell {
  display: flex;
  align-items: flex-start;
  gap: 0.25cqw;
  min-height: 0;
  min-width: 0;
}
.dnd2024-slot-level { flex: 0 0 33%; font-size: min(0.95cqw, 12px); font-weight: 700; text-transform: uppercase; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--dnd-font); padding-top: 0.35cqw; }
.dnd2024-slot-total {
  flex: 0 0 15%;
  min-width: 0;
  background: transparent;
  border: none;
  border-bottom: 0.12cqw solid #999;
  outline: none;
  text-align: center;
  font-size: min(1.2cqw, 15px);
  font-family: var(--dnd-font);
  color: #1a1a1a;
  padding: 0;
  height: 65%;
  box-sizing: border-box;
}
.dnd2024-slot-diamonds { flex: 1; display: flex; gap: 0.50cqw; align-items: flex-start; justify-content: flex-start; min-width: 0; height: 100%;}
.dnd2024-slot-1 .dnd2024-slot-diamonds,
.dnd2024-slot-2 .dnd2024-slot-diamonds,
.dnd2024-slot-3 .dnd2024-slot-diamonds { padding-left: 0.08cqw; padding-top:0.3cqw; }
.dnd2024-slot-4 .dnd2024-slot-diamonds,
.dnd2024-slot-5 .dnd2024-slot-diamonds,
.dnd2024-slot-6 .dnd2024-slot-diamonds { padding-left: 0.95cqw; padding-top:0.3cqw; }
.dnd2024-slot-7 .dnd2024-slot-diamonds,
.dnd2024-slot-8 .dnd2024-slot-diamonds,
.dnd2024-slot-9 .dnd2024-slot-diamonds { padding-left: 2.1cqw; padding-top:0.3cqw; }
.dnd2024-slot-diamond {
  appearance: none;
  -webkit-appearance: none;
  height: 43%;
  aspect-ratio: 1 / 1;
  width: auto;
  box-sizing: border-box;
  border: 0.18cqw solid #333;
  transform: rotate(45deg);
  background: transparent;
  margin: 0.12cqw;
  padding: 0;
  cursor: pointer;
  flex: 0 0 auto;
}
.dnd2024-slot-diamond:checked { background: #333; }

/* ─── Apariencia: área ref (545.33, 41.33, 242.67×100). Título en y=22.8. ─── */
.dnd2024-desc-appear { left: 67.83%; top: 2%; width: 30.18%; height: 1.5%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-page2-appearance {
  position: absolute;
  left: 67.83%;
  top: 4%;
  width: 30.18%;
  height: 9.69%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}

/* ═══════════ TRUCOS Y CONJUROS PREPARADOS ═══════════
   Columnas ref: Nivel 22.67-50.67, Nombre 54.67-201.33, Tiempo 206.67-248,
   Alcance 252-306.67, C-R-M x=317/346.67/376, Notas 404-526.67.
   Rótulos en y=224.4, 30 filas ref y=236-989.33. */
.dnd2024-desc-cantrips { left: 2.82%; top: 18.4%; width: 62.56%; height: 1.4%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-spells-area {
  position: absolute;
  left: 2.82%;
  top: 20.9%;
  width: 62.56%;
  height: 76.93%;
  display: flex;
  flex-direction: column;
}
.dnd2024-spells-header {
  display: flex;
  width: 100%;
  flex: 0 0 2.57%;
  min-height: 0;
}
.dnd2024-spells-header span {
  font-size: min(0.8cqw, 11px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #333;
  text-align: center;
  border-bottom: 0.12cqw solid #999;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-family: var(--dnd-font);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 0.25cqw;
  box-sizing: border-box;
}
.dnd2024-sp-h-niv { flex: 0 0 5.69%; }
.dnd2024-sp-h-nom { flex: 0 0 29.81%; }
.dnd2024-sp-h-tiempo { flex: 0 0 8.4%; }
.dnd2024-sp-h-alc { flex: 0 0 11.1%; }
.dnd2024-sp-h-crm { flex: 0 0 19.78%; }
.dnd2024-sp-h-notas { flex: 1; }
.dnd2024-spell-row {
  display: flex;
  width: 100%;
  flex: 1;
  min-height: 0;
  border-bottom: 0.12cqw dotted #ccc;
  align-items: center;
}
.dnd2024-spell-row input[type="text"], .dnd2024-spell-row input:not([type]) {
  background: transparent;
  border: none;
  outline: none;
  font-size: min(1.1cqw, 14px);
  font-family: var(--dnd-font);
  padding: 0 0.25cqw;
  min-width: 0;
  text-align: center;
  color: #1a1a1a;
  height: 82%;
  box-sizing: border-box;
}
.dnd2024-spell-row input:focus { background: rgba(255,255,200,0.5); }
.dnd2024-sp-niv { flex: 0 0 5.69%; }
.dnd2024-sp-nom { flex: 0 0 29.81%; text-align: left !important; }
.dnd2024-sp-tiempo { flex: 0 0 9.8%; }
.dnd2024-sp-alc { flex: 0 0 12%; }
.dnd2024-sp-crm {
  flex: 0 0 19.3%;
  height: 50%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  font-size: min(1cqw, 12px);
  font-weight: 700;
  color: #333;
  font-family: var(--dnd-font);
}
.dnd2024-sp-crm input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  height: 63%;
  aspect-ratio: 1 / 1;
  width: auto;
  box-sizing: border-box;
  border: 0.18cqw solid #333;
  transform: rotate(45deg);
  background: transparent;
  margin: 0.12cqw;
  padding: 0;
  cursor: pointer;
  flex: 0 0 auto;
}
.dnd2024-sp-crm input[type="checkbox"]:checked { background: #333; }
.dnd2024-sp-notas { flex: 1; text-align: left !important; }

/* ─── Historia y personalidad: área ref (545.33, 181.33, 242.67×192). Título en y=163.4.
       Alineamiento: rótulo en (550.32, 371.77), campo ref (550.67, 381.33, 232×22.67). ─── */
.dnd2024-desc-backstory { left: 67.83%; top: 15.6%; width: 30.18%; height: 1.5%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-page2-backstory {
  position: absolute;
  left: 67.83%;
  top: 17.57%;
  width: 30.18%;
  height: 18.6%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}
.dnd2024-desc-align { left: 68.45%; top: 36.03%; width: 28.86%; height: 1.2%; text-align: center; }
.dnd2024-page2-alignment {
  position: absolute;
  left: 68.5%;
  top: 36.95%;
  width: 28.86%;
  height: 2.2%;
  background: transparent;
  border: none;
  outline: none;
  text-align: center;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  color: #1a1a1a;
  box-sizing: border-box;
}

/* ─── Idiomas: área ref (545.33, 452, 245.33×50.67). Título en y=434.79. ─── */
.dnd2024-desc-lang { left: 67.83%; top: 41.9%; width: 30.51%; height: 1.5%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-page2-languages {
  position: absolute;
  left: 67.83%;
  top: 43.8%;
  width: 30.51%;
  height: 4.91%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}

/* ─── Equipo: área ref (542.67, 542.67, 245.33×241.33). Título en y=525.4.
       Sintonía: rótulo en (550.32, 782.78). Checks ref (556-557.33, 796/822.67/849.33).
       Campos ref x=572 w=210.67 en y=792/818.67/846.67 h=22.67. ─── */
.dnd2024-desc-equip2 { left: 67.5%; top: 50.7%; width: 30.51%; height: 1.5%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-page2-equipment {
  position: absolute;
  left: 67.5%;
  top: 52.58%;
  width: 30.51%;
  height: 23.39%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  overflow: auto;
  font-size: min(1.35cqw, 17px);
  font-family: var(--dnd-font);
  line-height: 1.4;
  color: #1a1a1a;
  padding: 0.25cqw 0.75cqw;
  box-sizing: border-box;
}
.dnd2024-desc-attune2 { left: 68.45%; top: 75.8%; width: 29%; height: 1.2%; text-align: center; font-size: min(1cqw, 13px); }
.dnd2024-attune-rows {
  position: absolute;
  left: 69.16%;
  top: 76.74%;
  width: 27.04%;
  height: 7.52%;
  display: flex;
  flex-direction: column;
}
.dnd2024-attune-row { display: flex; flex: 1; min-height: 0; align-items: flex-start; gap: 0.4cqw; }
    .dnd2024-attune-row input[type="checkbox"] {
        appearance: none;
        -webkit-appearance: none;
        height: 32%;
        aspect-ratio: 1 / 1;
        width: auto;
        box-sizing: border-box;
        border: 0.2cqw solid #333;
        transform: rotate(45deg);
        background: transparent;
        margin: 1cqw 0.12cqw 0 0.40cqw;
        padding: 0;
        cursor: pointer;
        flex: 0 0 auto;
    }
.dnd2024-attune-row input[type="checkbox"]:checked { background: #333; }
.dnd2024-attune-row input:not([type="checkbox"]) {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  font-size: min(1.3cqw, 15px);
  font-family: var(--dnd-font);
  color: #1a1a1a;
  height: 87%;
  align-self: flex-start;
  margin: 0;
  box-sizing: border-box;
}
.dnd2024-attune-row input:not([type="checkbox"]):focus { background: rgba(255,255,200,0.5); }

/* ═══════════ MONEDAS ═══════════
   Rótulos ref en y=921.48: CP x=565.79, SP x=613.84, EP x=661.11, GP x=707.19, PP x=754.73.
   Campos ref y=940 h=22.67: x=552/600/648/694.67/741.33 w=37.33.
   Título ref en y=897.8. */
.dnd2024-desc-coins2 { left: 68.66%; top: 86.8%; width: 28.2%; height: 1.5%; text-align: center; font-size: min(1.3cqw, 16px); font-weight: 800; }
.dnd2024-coins2-row {
  position: absolute;
  left: 68.66%;
  top: 89.1%;
  width: 28.2%;
  height: 4.4%;
  display: block;
}
.dnd2024-coin-box {
  position: absolute;
  top: 0;
  width: 16.47%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  font-size: min(0.95cqw, 12px);
  font-weight: 700;
  color: #333;
  font-family: var(--dnd-font);
  gap: 0.25cqw;
  overflow: hidden;
}
.dnd2024-coin-cp { left: 0; }
.dnd2024-coin-sp { left: 21.18%; }
.dnd2024-coin-ep { left: 42.35%; }
.dnd2024-coin-gp { left: 62.94%; }
.dnd2024-coin-pp { left: 83.53%; }
.dnd2024-coins2-row .dnd2024-coin-input {
  width: 100%;
  min-width: 0;
  border: none;
  outline: none;
  border-radius: 0.25cqw;
  padding: 0.37cqw 0;
  font-weight: 700;
  margin-top: auto;
  height: 50%;
  box-sizing: border-box;
}

/* ─── Botón guardar ─── */
.dnd2024-save-btn {
  text-align: center;
  padding: 8px 0;
}

/* ─── Impresión ─── */
@media print {
  .dnd2024-wrapper { max-width: 100%; padding: 0; }
  .dnd2024-page { max-width: 100%; }
  .dnd2024-save-btn { display: none; }
  .dnd2024-field:focus { background: transparent; outline: none; }
}
