/*!
 * Aulaprende · estilos de las lecciones
 * Usa el azul y la Rubik de la web. El cuaderno cuadriculado es el único elemento llamativo.
 */
@font-face {
  font-family: "Aula Rubik";
  src: url("../fonts/rubik-latin-wght-normal.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.aula-leccion,
.aula-impresion {
  --az: #2b76df;
  --az-osc: #1d5cb8;
  --az-claro: #eaf1fc;
  --tinta: #1d2733;
  --tinta2: #4c5969;
  --linea: #cfd8e4;
  --papel: #fcfdff;
  --cuad: #e1e9f6;
  --margen: #eea3b3;
  --subr: #fff1a8;
  --ok: #1b7a50;
  --ok-fondo: #e6f4ec;
  --mal: #b4410c;
  --mal-fondo: #fff7d1;
  --rad: 10px;
  --texto: "Aula Rubik", "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --mate: KaTeX_Main, "Latin Modern Roman", "Cambria Math", "Times New Roman", serif;
}

.aula-leccion [hidden],
.aula-impresion [hidden] { display: none !important; }

/* ---------- Base de la lección ---------- */

.aula-leccion {
  font-family: var(--texto);
  color: var(--tinta);
  font-size: 1.0625rem;
  line-height: 1.65;
  max-width: 46rem;
  margin: 0 auto;
  padding: 0 0 1rem;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}
.aula-leccion *,
.aula-leccion *::before,
.aula-leccion *::after { box-sizing: border-box; }

.aula-leccion p { margin: 0 0 1em; padding: 0; color: inherit; font-size: inherit; line-height: inherit; }
.aula-leccion strong { font-weight: 600; color: inherit; }
.aula-leccion a { color: var(--az); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.aula-leccion a:hover { color: var(--az-osc); text-decoration-thickness: 2px; }
.aula-leccion a:focus-visible,
.aula-leccion summary:focus-visible { outline: 3px solid var(--az); outline-offset: 2px; border-radius: 4px; }

.aula-leccion h2,
.aula-leccion h3 {
  font-family: var(--texto);
  color: var(--tinta);
  padding: 0;
  scroll-margin-top: 110px;
  letter-spacing: 0;
  text-transform: none;
}
.aula-leccion h2 { font-size: 1.5rem; font-weight: 560; line-height: 1.25; margin: 2.4em 0 0.6em; }
.aula-leccion h3 { font-size: 1.2rem; font-weight: 560; line-height: 1.3; margin: 1.8em 0 0.4em; }

.aula-leccion .aula-curso {
  text-align: center;
  color: var(--tinta2);
  font-size: 0.95rem;
  margin: 0.25rem auto 1.25rem;
  max-width: 32rem;
}

/* Fórmulas */
.aula-leccion .katex { font-size: 1.15em; color: var(--tinta); white-space: nowrap; }
.aula-leccion .aula-nw { white-space: nowrap; }
.aula-leccion .katex-display {
  margin: 0.8em 0;
  padding: 0.15em 0;
  overflow-x: auto;
  overflow-y: hidden;
  text-align: center;
}
.aula-leccion .katex-display > .katex { font-size: 1.3em; }
.aula-pot { white-space: nowrap; }
.aula-pot sup {
  font-size: 0.62em;
  vertical-align: baseline;
  position: relative;
  top: -0.78em;
  margin-left: 0.04em;
  line-height: 0;
}

/* ---------- Cuaderno: regla, práctica y correcciones ---------- */

.aula-leccion .aula-regla,
.aula-leccion .aula-hoja {
  position: relative;
  background-color: var(--papel);
  background-image:
    linear-gradient(var(--cuad) 1px, transparent 1px),
    linear-gradient(90deg, var(--cuad) 1px, transparent 1px);
  background-size: 22px 22px;
  background-position: -1px -1px;
  border: 1px solid var(--linea);
  border-radius: var(--rad);
  padding: 1.25rem 1.25rem 1.25rem 2.9rem;
}
.aula-leccion .aula-regla::before,
.aula-leccion .aula-hoja::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.9rem;
  width: 2px;
  background: var(--margen);
}

.aula-leccion .aula-regla { margin: 0.5rem 0 1.75rem; }
.aula-leccion .aula-regla h2 { font-size: 1.3rem; color: var(--az); margin: 0 0 0.5rem; }
.aula-leccion .aula-regla__pasos {
  list-style: none;
  counter-reset: paso;
  margin: 0 0 0.25rem;
  padding: 0;
}
.aula-leccion .aula-regla__pasos li {
  counter-increment: paso;
  position: relative;
  padding: 0 0 0 2.1rem;
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.45;
}
.aula-leccion .aula-regla__pasos li::before {
  content: counter(paso);
  position: absolute;
  left: 0;
  top: 0.05rem;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: var(--az);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.55rem;
  text-align: center;
}
.aula-leccion .aula-regla p:last-child { margin-bottom: 0; }

/* Índice */
.aula-leccion .aula-indice {
  border-top: 1px solid var(--linea);
  border-bottom: 1px solid var(--linea);
  padding: 0.75rem 0;
  margin: 0 0 1.5rem;
}
.aula-leccion .aula-indice__t { font-size: 0.95rem; color: var(--tinta2); margin: 0 0 0.35rem; }
.aula-leccion .aula-indice__lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.1rem;
  line-height: 1.5;
}
.aula-leccion .aula-indice__lista li { margin: 0; padding: 0; }

/* Avisos dentro del texto */
.aula-leccion .aula-ojo {
  background: linear-gradient(180deg, transparent 0.2em, var(--subr) 0.2em);
  padding: 0.6rem 0.85rem;
  border-radius: 4px;
}
.aula-leccion .aula-no { color: var(--mal); }

.aula-leccion .aula-pasos {
  list-style: none;
  counter-reset: p2;
  margin: 0 0 1em;
  padding: 0;
}
.aula-leccion .aula-pasos > li {
  counter-increment: p2;
  position: relative;
  padding: 0 0 0 2.1rem;
  margin: 0 0 0.6rem;
}
.aula-leccion .aula-pasos > li::before {
  content: counter(p2);
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--az);
  border-radius: 50%;
  color: var(--az);
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.25rem;
  text-align: center;
}

.aula-leccion details.aula-plus {
  border-left: 3px solid var(--az);
  background: var(--az-claro);
  border-radius: 0 6px 6px 0;
  padding: 0.6rem 0.9rem;
  margin: 0 0 1em;
}
.aula-leccion details.aula-plus summary { cursor: pointer; font-weight: 500; color: var(--az-osc); }
.aula-leccion details.aula-plus[open] summary { margin-bottom: 0.4rem; }
.aula-leccion details.aula-plus p { margin: 0; }

/* Errores frecuentes */
.aula-leccion .aula-errores { list-style: none; margin: 0 0 1em; padding: 0; }
.aula-leccion .aula-errores > li {
  margin: 0;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--linea);
}
.aula-leccion .aula-errores > li:first-child { border-top: 1px solid var(--linea); }
.aula-leccion .aula-errores__t { font-weight: 600; margin: 0 0 0.3rem; }
.aula-leccion .aula-errores p.aula-mal,
.aula-leccion .aula-errores p.aula-bien { margin: 0.15rem 0; display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; }
.aula-leccion .aula-etq {
  display: inline-block;
  min-width: 3.1rem;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 4px;
  padding: 0.05rem 0.4rem;
}
.aula-leccion .aula-mal .aula-etq { background: var(--mal-fondo); color: var(--mal); border: 1px solid #ecc48d; }
.aula-leccion .aula-bien .aula-etq { background: var(--ok-fondo); color: var(--ok); border: 1px solid #a9d8bf; }

/* Ejercicios resueltos y preguntas */
.aula-leccion .aula-resueltos { list-style: none; counter-reset: r; margin: 0 0 1em; padding: 0; }
.aula-leccion .aula-resueltos > li { counter-increment: r; margin: 0; padding: 0; border-bottom: 1px solid var(--linea); }
.aula-leccion .aula-resueltos > li:first-child { border-top: 1px solid var(--linea); }
.aula-leccion .aula-resueltos summary,
.aula-leccion .aula-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0;
  min-height: 2.75rem;
}
.aula-leccion .aula-resueltos summary::-webkit-details-marker,
.aula-leccion .aula-faq summary::-webkit-details-marker { display: none; }
.aula-leccion .aula-resueltos summary::before {
  content: counter(r) ".";
  color: var(--tinta2);
  font-weight: 500;
  min-width: 1.6rem;
}
.aula-leccion .aula-resueltos summary::after {
  content: "Ver solución";
  margin-left: auto;
  font-size: 0.9rem;
  color: var(--az);
  white-space: nowrap;
}
.aula-leccion .aula-resueltos details[open] summary::after { content: "Ocultar"; }
.aula-leccion .aula-resueltos details > .katex-display { margin: 0 0 0.9rem; text-align: left; padding-left: 2.35rem; }

.aula-leccion .aula-faq details { border-bottom: 1px solid var(--linea); }
.aula-leccion .aula-faq details:first-child { border-top: 1px solid var(--linea); }
.aula-leccion .aula-faq summary { font-weight: 500; justify-content: space-between; }
.aula-leccion .aula-faq summary::after {
  content: "+";
  font-size: 1.4rem;
  line-height: 1;
  color: var(--az);
  flex: none;
}
.aula-leccion .aula-faq details[open] summary::after { content: "\2212"; }
.aula-leccion .aula-faq details p { margin: 0 0 0.9rem; color: var(--tinta2); }

/* Siguiente lección y avisos */
.aula-leccion .aula-siguiente {
  margin: 2.75rem 0 1.5rem;
  padding: 1rem 0 0;
  border-top: 3px solid var(--az);
}
.aula-leccion .aula-siguiente__t { margin: 0; font-size: 0.95rem; color: var(--tinta2); }
.aula-leccion a.aula-siguiente__link {
  display: inline-block;
  font-size: 1.45rem;
  font-weight: 600;
  margin: 0.1rem 0 0.6rem;
  text-decoration: none;
}
.aula-leccion a.aula-siguiente__link:hover { text-decoration: underline; }
.aula-leccion .aula-siguiente__mas { color: var(--tinta2); font-size: 0.98rem; }

.aula-leccion .aula-aviso-error { margin: 1rem 0 0; }
.aula-leccion .aula-aviso__form { margin-top: 0.75rem; display: grid; gap: 0.6rem; }
.aula-leccion .aula-aviso__form label { font-size: 0.95rem; color: var(--tinta2); }
.aula-leccion .aula-aviso__form textarea {
  width: 100%;
  font: inherit;
  color: var(--tinta);
  background: #fff;
  border: 2px solid var(--linea);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
}
.aula-leccion .aula-aviso__form textarea:focus { border-color: var(--az); outline: none; box-shadow: 0 0 0 3px var(--az-claro); }
.aula-leccion .aula-aviso__form .aula-btn { justify-self: start; }
.aula-leccion .aula-aviso__estado { margin: 0; font-size: 0.95rem; }
.aula-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Botones y controles ---------- */

.aula-leccion .aula-btn,
.aula-impresion .aula-btn {
  font-family: var(--texto);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  min-height: 2.75rem;
  padding: 0.55rem 1.1rem;
  border-radius: var(--rad);
  border: 2px solid transparent;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.aula-leccion .aula-btn--pri,
.aula-impresion .aula-btn--pri { background: var(--az); color: #fff; border-color: var(--az); }
.aula-leccion .aula-btn--pri:hover,
.aula-impresion .aula-btn--pri:hover { background: var(--az-osc); border-color: var(--az-osc); }
.aula-leccion .aula-btn--sec,
.aula-impresion .aula-btn--sec { background: #fff; color: var(--az); border-color: var(--az); }
.aula-leccion .aula-btn--sec:hover,
.aula-impresion .aula-btn--sec:hover { background: var(--az-claro); }
.aula-leccion .aula-btn--txt {
  background: transparent;
  color: var(--az);
  border-color: transparent;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.aula-leccion .aula-btn:disabled { opacity: 0.45; cursor: default; }
.aula-leccion .aula-btn:focus-visible,
.aula-impresion .aula-btn:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }

.aula-leccion .aula-sel { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; }
.aula-leccion .aula-sel__op {
  font-family: var(--texto);
  flex: 1 1 8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  text-align: left;
  min-height: 2.75rem;
  padding: 0.5rem 0.85rem;
  background: #fff;
  color: var(--tinta);
  border: 2px solid var(--linea);
  border-radius: var(--rad);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
}
.aula-leccion .aula-sel__op:hover { border-color: var(--az); }
.aula-leccion .aula-sel__op[aria-pressed="true"] { border-color: var(--az); background: var(--az); color: #fff; }
.aula-leccion .aula-sel__op:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }
.aula-leccion .aula-sel__t { font-size: 1rem; font-weight: 600; line-height: 1.2; }
.aula-leccion .aula-sel__d { font-size: 0.82rem; line-height: 1.25; opacity: 0.85; }
.aula-leccion .aula-sel--modo { gap: 0; flex-wrap: nowrap; border-bottom: 2px solid var(--linea); margin-bottom: 1.1rem; }
.aula-leccion .aula-sel--modo .aula-sel__op {
  align-items: center;
  text-align: center;
  flex: 1 1 0;
  background: transparent;
  color: var(--tinta2);
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  margin-bottom: -2px;
}
.aula-leccion .aula-sel--modo .aula-sel__op:hover { color: var(--az); border-color: transparent; border-bottom-color: var(--cuad); }
.aula-leccion .aula-sel--modo .aula-sel__op[aria-pressed="true"] { background: transparent; color: var(--az); border-bottom-color: var(--az); }
.aula-leccion .aula-p__nivel { display: none; margin: 0 0 0.25rem; font-size: 0.9rem; font-weight: 500; color: var(--az-osc); }
.aula-mat { font-family: var(--mate); font-size: 1.1em; white-space: nowrap; }
.aula-leccion .aula-sel--compacto .aula-sel__op { flex: 0 0 4.5rem; align-items: center; }
.aula-leccion .aula-sel__op.es-dominado:not([aria-pressed="true"]) { border-color: var(--ok); }

.aula-leccion .aula-resp,
.aula-leccion .aula-f__cod {
  font-family: var(--mate);
  font-size: 1.5rem;
  color: var(--tinta);
  background: #fff;
  width: 8.5rem;
  max-width: 100%;
  height: 3rem;
  padding: 0 0.6rem;
  text-align: center;
  border: 2px solid var(--linea);
  border-radius: var(--rad);
  box-shadow: none;
  margin: 0;
}
.aula-leccion .aula-resp:focus,
.aula-leccion .aula-f__cod:focus { border-color: var(--az); outline: none; box-shadow: 0 0 0 3px var(--az-claro); }
.aula-leccion .aula-resp:disabled { background: var(--ok-fondo); border-color: var(--ok); color: var(--ok); opacity: 1; }
.aula-leccion .aula-signo {
  font-family: var(--texto);
  width: 3rem;
  height: 3rem;
  font-size: 1.3rem;
  color: var(--az);
  background: #fff;
  border: 2px solid var(--linea);
  border-radius: var(--rad);
  cursor: pointer;
  padding: 0;
}
.aula-leccion .aula-signo:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }

/* ---------- Campo de respuesta ---------- */

.aula-leccion .aula-p__hueco { display: inline-flex; }
.aula-leccion .aula-campo { display: inline-flex; align-items: center; gap: 0.4rem; }
.aula-leccion .aula-campo--potencia,
.aula-leccion .aula-campo--exponente { align-items: flex-start; gap: 0.2rem; }
.aula-leccion .aula-campo--potencia .aula-signo { margin-right: 0.2rem; }
.aula-leccion .aula-resp--base { width: 5.6rem; }
.aula-leccion .aula-resp.aula-resp--exp { width: 3.7rem; height: 2.4rem; font-size: 1.15rem; margin-top: -0.6rem; padding: 0 0.3rem; }
.aula-leccion .aula-resp::placeholder { color: #9aa7b6; font-family: var(--texto); font-size: 0.85rem; opacity: 1; }
.aula-leccion .aula-campo__fijo { font-family: var(--mate); font-size: 1.9rem; line-height: 3rem; color: var(--tinta); padding-right: 0.1rem; }
.aula-leccion .es-compacto .aula-resp { height: 2.6rem; font-size: 1.25rem; }
.aula-leccion .es-compacto.aula-campo--numero .aula-resp { width: 7rem; }
.aula-leccion .es-compacto .aula-resp--base { width: 4.6rem; }
.aula-leccion .es-compacto .aula-resp.aula-resp--exp { width: 3.1rem; height: 2.1rem; font-size: 1rem; margin-top: -0.5rem; }
.aula-leccion .es-compacto .aula-signo { width: 2.6rem; height: 2.6rem; }
.aula-leccion .es-compacto .aula-campo__fijo { font-size: 1.4rem; line-height: 2.6rem; }

/* ---------- Números naturales: columnas y cifras marcadas ---------- */

.aula-leccion .aula-resp--div { width: 6.6rem; }
.aula-leccion .es-compacto .aula-resp--div { width: 5rem; }
.aula-col { display: inline-grid; justify-items: end; font-family: var(--texto); font-variant-numeric: tabular-nums; line-height: 1.35; vertical-align: top; text-align: right; }
.aula-col__f { white-space: nowrap; }
.aula-col__op { margin-right: 0.6em; color: var(--tinta2); }
.aula-col__r { border-top: 2px solid var(--tinta); justify-self: stretch; margin-top: 0.1rem; padding-top: 0.1rem; }
.aula-cifra { color: var(--az); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.14em; }
.aula-decide { background: var(--subr); border-radius: 3px; padding: 0 0.05em; }
.aula-sol-txt { font-family: var(--texto); font-size: 0.8em; color: var(--tinta2); }
.aula-imp__orden { font-family: var(--texto); font-size: 0.78em; color: var(--tinta2); }

/* ---------- Fracciones ---------- */

.aula-frac { display: inline-flex; flex-direction: column; align-items: center; vertical-align: middle; line-height: 1.12; margin: 0 0.1em; font-size: 0.9em; }
.aula-frac__n { border-bottom: 0.08em solid currentColor; padding: 0 0.2em 0.04em; }
.aula-frac__d { padding: 0.04em 0.2em 0; }
.aula-pot .aula-frac { font-size: 0.85em; }
.aula-leccion .aula-campo--fraccion { flex-direction: column; align-items: center; gap: 0.25rem; }
.aula-leccion .aula-campo--fraccion .aula-resp { width: 5.2rem; height: 2.6rem; font-size: 1.3rem; }
.aula-leccion .aula-campo__raya { width: 6rem; height: 3px; background: var(--tinta); border-radius: 2px; }
.aula-leccion .es-compacto.aula-campo--fraccion .aula-resp { width: 4.2rem; height: 2.2rem; font-size: 1.1rem; }
.aula-leccion .es-compacto .aula-campo__raya { width: 4.8rem; }
.aula-leccion .aula-campo--eleccion { gap: 0.5rem; }
.aula-leccion .aula-opcion { min-width: 3.4rem; height: 3rem; padding: 0 0.6rem; font-family: var(--mate); font-size: 1.6rem; color: var(--tinta); background: #fff; border: 2px solid var(--linea); border-radius: var(--rad); cursor: pointer; }
.aula-leccion .aula-opcion:hover { border-color: var(--az); }
.aula-leccion .aula-opcion[aria-pressed="true"] { background: var(--az); border-color: var(--az); color: #fff; }
.aula-leccion .aula-opcion:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }
.aula-leccion .aula-opcion:disabled { opacity: 0.6; cursor: default; }
.aula-leccion .es-compacto .aula-opcion { min-width: 2.6rem; height: 2.4rem; font-size: 1.3rem; }
.aula-leccion .aula-figura { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; justify-content: center; align-items: center; margin: 0.5rem 0 1rem; }
.aula-leccion .aula-figura figure { margin: 0; text-align: center; font-size: 0.95rem; color: var(--tinta2); }
.aula-leccion .aula-figura svg { display: block; margin: 0 auto 0.3rem; }

/* ---------- Tablas, reglas y temas ---------- */

.aula-leccion .aula-tabla-scroll { overflow-x: auto; margin: 0 0 1.2em; }
.aula-leccion table.aula-t { width: 100%; border-collapse: collapse; margin: 0; font-size: 1rem; border: 0; }
.aula-leccion table.aula-t th,
.aula-leccion table.aula-t td { border: 1px solid var(--linea); padding: 0.45rem 0.7rem; text-align: left; vertical-align: middle; color: var(--tinta); }
.aula-leccion table.aula-t th { background: var(--az-claro); font-weight: 560; }
.aula-leccion table.aula-t td:first-child { white-space: nowrap; }
.aula-leccion .aula-reglas { list-style: none; margin: 0 0 1em; padding: 0; display: grid; gap: 0.7rem; }
.aula-leccion .aula-reglas > li { border-left: 3px solid var(--az); padding: 0.3rem 0 0.3rem 0.9rem; margin: 0; }
.aula-leccion .aula-reglas__t { display: block; font-weight: 560; margin: 0 0 0.1rem; }
.aula-leccion .aula-reglas .katex-display { margin: 0.2em 0; text-align: left; }
.aula-leccion .aula-temas { list-style: none; margin: 0 0 1.2em; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.6rem; }
.aula-leccion .aula-temas > li { margin: 0; padding: 0; }
.aula-leccion .aula-temas a { display: block; height: 100%; padding: 0.75rem 0.9rem; border: 1px solid var(--linea); border-radius: var(--rad); text-decoration: none; font-weight: 560; background: #fff; }
.aula-leccion .aula-temas a:hover { border-color: var(--az); background: var(--az-claro); }
.aula-leccion .aula-temas__d { display: block; font-size: 0.92rem; color: var(--tinta2); font-weight: 400; margin-top: 0.15rem; }

/* ---------- Práctica ---------- */

.aula-leccion .aula-p { margin: 1rem 0 1.5rem; }
.aula-leccion .aula-p__hoja,
.aula-leccion .aula-prueba { padding-top: 1rem; padding-bottom: 1.25rem; }
.aula-leccion .aula-p__enun { margin: 0; color: var(--tinta2); font-size: 0.95rem; }
.aula-leccion .aula-p__expr {
  font-family: var(--mate);
  font-size: clamp(2.1rem, 8vw, 2.9rem);
  line-height: 1.35;
  text-align: center;
  margin: 0.35rem 0 1rem;
  color: var(--tinta);
  overflow-wrap: anywhere;
}
.aula-leccion .aula-p__expr.es-larga { font-size: clamp(1.45rem, 6vw, 2.2rem); }
.aula-leccion .aula-p__label {
  display: block;
  text-align: center;
  font-size: 0.9rem;
  color: var(--tinta2);
  margin: 0 0 0.35rem;
}
.aula-leccion .aula-p__fila { display: flex; justify-content: center; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.aula-leccion .aula-p__acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin: 1rem 0 0; }

.aula-leccion .aula-fb:empty { display: none; }
.aula-leccion .aula-fb {
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border-left: 4px solid var(--az);
  background: var(--az-claro);
  line-height: 1.5;
}
.aula-leccion .aula-fb--ok { border-left-color: var(--ok); background: var(--ok-fondo); }
.aula-leccion .aula-fb--mal { border-left-color: var(--mal); background: var(--mal-fondo); }
.aula-leccion .aula-fb strong { font-weight: 600; }

.aula-leccion .aula-p__extra:empty { display: none; }
.aula-leccion .aula-p__extra { margin: 0.9rem 0 0; }
.aula-leccion .aula-p__soltit { font-weight: 600; margin: 0 0 0.3rem; }
.aula-leccion .aula-pista {
  background: #fff;
  border: 1px dashed var(--az);
  border-radius: 8px;
  padding: 0.6rem 0.85rem;
  margin: 0 0 0.5rem;
}
.aula-leccion .aula-atajo { background: var(--az-claro); border-radius: 8px; padding: 0.55rem 0.85rem; margin: 0.5rem 0 0; font-size: 0.98rem; }
.aula-leccion .aula-p__como summary { cursor: pointer; color: var(--az); text-decoration: underline; text-underline-offset: 0.15em; margin: 0.25rem 0; }

.aula-leccion .aula-sol {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--mate);
  font-size: 1.3rem;
  line-height: 1.7;
}
.aula-leccion .aula-sol li { margin: 0; padding: 0 0 0 0.25rem; }
.aula-leccion .aula-sol--compacta { font-size: 1.1rem; }

.aula-leccion .aula-logro {
  background: var(--ok-fondo);
  border: 1px solid #a9d8bf;
  border-radius: var(--rad);
  padding: 0.75rem 1rem;
  margin: 0 0 0.75rem;
  text-align: center;
}
.aula-leccion .aula-logro__t { font-weight: 600; color: var(--ok); margin: 0 0 0.5rem; }

.aula-leccion .aula-racha {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  margin: 0.75rem 0 0;
  font-size: 0.92rem;
  color: var(--tinta2);
  text-align: center;
  flex-wrap: wrap;
}
.aula-leccion .aula-racha__puntos { display: inline-flex; gap: 0.3rem; }
.aula-leccion .aula-racha__p { width: 0.8rem; height: 0.8rem; border-radius: 50%; border: 2px solid var(--az); display: inline-block; }
.aula-leccion .aula-racha__p.es-lleno { background: var(--az); }

/* Ponte a prueba */
.aula-leccion .aula-prueba__t { font-size: 1.2rem; font-weight: 600; margin: 0 0 0.4rem; }
.aula-leccion .aula-prueba__mejor { color: var(--tinta2); }
.aula-leccion .aula-prueba__n { margin: 0 0 0.4rem; font-weight: 500; color: var(--tinta2); }
.aula-leccion .aula-prueba__barra { height: 6px; background: var(--linea); border-radius: 3px; overflow: hidden; margin: 0 0 1rem; }
.aula-leccion .aula-prueba__barra span { display: block; height: 100%; background: var(--az); }
.aula-leccion .aula-prueba__nota { font-size: 3rem; font-weight: 700; color: var(--az); text-align: center; line-height: 1.1; margin: 0.25rem 0; }
.aula-leccion .aula-prueba__ver { text-align: center; font-weight: 500; }
.aula-leccion .aula-revision { list-style: none; margin: 1rem 0 0; padding: 0; }
.aula-leccion .aula-revision li {
  display: grid;
  gap: 0.15rem;
  margin: 0 0 0.5rem;
  padding: 0.55rem 0.75rem;
  background: #fff;
  border: 1px solid var(--linea);
  border-left: 4px solid var(--ok);
  border-radius: 6px;
}
.aula-leccion .aula-revision li.es-mal { border-left-color: var(--mal); }
.aula-leccion .aula-revision__expr { font-family: var(--mate); font-size: 1.2rem; }
.aula-leccion .aula-revision__tu { font-size: 0.92rem; color: var(--tinta2); }
.aula-leccion .aula-revision li.es-bien .aula-revision__tu { color: var(--ok); }
.aula-leccion .aula-revision__nota { font-size: 0.92rem; }

/* ---------- Fichas ---------- */

.aula-leccion .aula-f { margin: 1rem 0 1.5rem; }
.aula-leccion .aula-f__opciones {
  border: 1px solid var(--linea);
  border-radius: var(--rad);
  padding: 1rem 1.1rem 1.1rem;
  background: #fff;
}
.aula-leccion .aula-f__et { font-weight: 600; margin: 0 0 0.4rem; font-size: 0.98rem; }
.aula-leccion .aula-f__grupo .aula-sel { margin-bottom: 0.9rem; }
.aula-leccion .aula-f__chk { display: flex; align-items: center; gap: 0.4rem; margin: 0 0 1rem; }
.aula-leccion .aula-f__chk input { width: 1.2rem; height: 1.2rem; accent-color: var(--az); margin: 0; }
.aula-leccion .aula-f__ultimo { margin: 0.75rem 0 0; font-size: 0.95rem; color: var(--tinta2); }
.aula-leccion .aula-f__ultimo:empty { display: none; }
.aula-leccion details.aula-f__tengo { margin: 1rem 0 0; }
.aula-leccion details.aula-f__tengo summary { cursor: pointer; color: var(--az); font-weight: 500; min-height: 2.75rem; display: flex; align-items: center; }
.aula-leccion details.aula-f__tengo label { display: block; font-size: 0.95rem; color: var(--tinta2); margin: 0.25rem 0 0.4rem; }
.aula-leccion .aula-f__cod { width: 13rem; font-family: var(--texto); font-size: 1.15rem; letter-spacing: 0.06em; text-transform: uppercase; }
.aula-leccion .aula-f__acc { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0 0; }
.aula-leccion .aula-f__aviso { margin: 0.5rem 0 0; color: var(--mal); font-size: 0.95rem; }
.aula-leccion .aula-f__aviso:empty { display: none; }

.aula-leccion .aula-f__corr { margin: 1.25rem 0 0; }
.aula-leccion .aula-corr__t { font-size: 1.15rem; margin: 0 0 0.3rem; }
.aula-leccion .aula-corr { list-style: none; counter-reset: c; margin: 0.75rem 0 0; padding: 0; }
.aula-leccion .aula-corr__fila {
  counter-increment: c;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--cuad);
}
.aula-leccion .aula-corr__fila::before { content: counter(c) "."; color: var(--tinta2); min-width: 1.6rem; }
.aula-leccion .aula-corr__expr { font-family: var(--mate); font-size: 1.3rem; min-width: 9rem; }
.aula-leccion .aula-corr__resp { display: inline-flex; gap: 0.35rem; }

.aula-leccion .aula-corr__marca { font-weight: 600; min-width: 3.5rem; }
.aula-leccion .aula-corr__fila.es-bien .aula-corr__marca { color: var(--ok); }
.aula-leccion .aula-corr__fila.es-mal .aula-corr__marca { color: var(--mal); }
.aula-leccion .aula-corr__fila.es-bien .aula-resp { border-color: var(--ok); }
.aula-leccion .aula-corr__fila.es-mal .aula-resp { border-color: var(--mal); }
.aula-leccion .aula-corr__sol { flex-basis: 100%; padding: 0.25rem 0 0.4rem 2.35rem; }
.aula-leccion .aula-corr__resumen { font-weight: 600; margin: 0.75rem 0 0; text-align: center; }
.aula-leccion .aula-corr__resumen:empty { display: none; }

/* ---------- Vídeo ---------- */

.aula-leccion .aula-video {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 1rem 0 1.5rem;
  border-radius: var(--rad);
  overflow: hidden;
  background: var(--tinta);
}
.aula-leccion .aula-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.aula-leccion .aula-video__play {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: var(--tinta);
  color: #fff;
  font-family: var(--texto);
  font-size: 1.05rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  cursor: pointer;
}
.aula-leccion .aula-video__icono {
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  background: var(--az);
  position: relative;
}
.aula-leccion .aula-video__icono::after {
  content: "";
  position: absolute;
  left: 1.65rem;
  top: 1.25rem;
  border-style: solid;
  border-width: 0.85rem 0 0.85rem 1.35rem;
  border-color: transparent transparent transparent #fff;
}

/* ---------- Móvil ---------- */

@media (max-width: 600px) {
  .aula-leccion { font-size: 1.04rem; }
  .aula-leccion h2 { font-size: 1.35rem; }
  .aula-leccion .aula-regla,
  .aula-leccion .aula-hoja { padding-left: 2.2rem; padding-right: 0.9rem; }
  .aula-leccion .aula-regla::before,
  .aula-leccion .aula-hoja::before { left: 1.35rem; }
  .aula-leccion .aula-sel__op { flex-basis: 100%; }
  .aula-leccion .aula-sel--modo .aula-sel__op,
  .aula-leccion .aula-sel--compacto .aula-sel__op,
  .aula-leccion .aula-sel--niveles .aula-sel__op { flex-basis: 0; }
  .aula-leccion .aula-sel--niveles .aula-sel__op { align-items: center; text-align: center; }
  .aula-leccion .aula-sel--niveles .aula-sel__d { display: none; }
  .aula-leccion .aula-p__nivel { display: block; }
  .aula-leccion .aula-campo--numero .aula-resp { width: 7rem; }
  .aula-leccion .aula-resueltos details > .katex-display { padding-left: 0; }
  .aula-leccion .aula-corr__sol { padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .aula-leccion *,
  .aula-impresion * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Ficha para imprimir ---------- */

.aula-impresion {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  overflow: auto;
  background: #e8edf3;
  padding: 0 0 2rem;
  font-family: var(--texto);
  color: var(--tinta);
  text-align: left;
}
.aula-impresion *,
.aula-impresion *::before,
.aula-impresion *::after { box-sizing: border-box; }
html.aula-imprimiendo,
html.aula-imprimiendo body { overflow: hidden; }

.aula-imp__barra {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  padding: 0.75rem 1rem;
  background: #fff;
  border-bottom: 1px solid var(--linea);
}
.aula-imp__ayuda { margin: 0; font-size: 0.9rem; color: var(--tinta2); }

.aula-imp__papel { padding: 1rem; }
.aula-imp__pag {
  background: #fff;
  max-width: 210mm;
  margin: 0 auto 1rem;
  padding: 14mm 14mm 12mm;
  border: 1px solid var(--linea);
}
.aula-imp__cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; border-bottom: 2px solid var(--az); padding-bottom: 0.5rem; }
.aula-imp__titulo { font-size: 1.45rem; font-weight: 600; margin: 0; color: var(--az); }
.aula-imp__sub { margin: 0.1rem 0 0; font-size: 0.95rem; color: var(--tinta2); }
.aula-imp__cod { margin: 0; text-align: right; font-size: 0.75rem; color: var(--tinta2); display: flex; flex-direction: column; }
.aula-imp__cod strong { font-size: 1rem; color: var(--tinta); letter-spacing: 0.05em; white-space: nowrap; }
.aula-imp__datos { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1rem; margin: 1rem 0 0.75rem; font-size: 0.9rem; color: var(--tinta2); }
.aula-imp__datos span { border-bottom: 1px solid #9aa7b6; padding: 1.1rem 0 0.15rem; }
.aula-imp__instr { margin: 0 0 0.75rem; font-size: 0.95rem; }
.aula-imp__lista {
  list-style: none;
  counter-reset: e;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem 1.25rem;
}
.aula-imp__lista li {
  counter-increment: e;
  break-inside: avoid;
  page-break-inside: avoid;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.3rem 0.5rem;
  align-items: start;
}
.aula-imp__lista li::before { content: counter(e) "."; font-size: 0.9rem; color: var(--tinta2); padding-top: 0.35rem; }
.aula-imp__expr { font-family: var(--mate); font-size: 1.35rem; line-height: 1.6; }
.aula-imp__caja {
  grid-column: 2;
  display: block;
  height: var(--caja, 19mm);
  border: 1px solid #b7c3d1;
  border-radius: 4px;
  background-image:
    linear-gradient(#e7edf6 1px, transparent 1px),
    linear-gradient(90deg, #e7edf6 1px, transparent 1px);
  background-size: 5mm 5mm;
}
.aula-imp__pie { display: flex; align-items: center; gap: 0.9rem; margin: 1rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--linea); font-size: 0.85rem; color: var(--tinta2); }
.aula-imp__pie p { margin: 0; }
.aula-imp__qr { width: 26mm; height: 26mm; flex: none; }
.aula-imp__qr.es-vacio { display: none; }
.aula-imp__qr svg { width: 100%; height: 100%; display: block; }
.aula-imp__url { color: var(--tinta); word-break: break-all; }
.aula-imp__sols { margin: 1rem 0 0; padding: 0 0 0 1.4rem; font-family: var(--mate); font-size: 1.12rem; line-height: 1.55; columns: 1; }
.aula-imp__sols li { margin: 0 0 0.45rem; break-inside: avoid; page-break-inside: avoid; }
.aula-impresion .aula-pot sup { font-size: 0.62em; vertical-align: baseline; position: relative; top: -0.78em; line-height: 0; }

@media (max-width: 600px) {
  .aula-imp__pag { padding: 6mm; }
  .aula-imp__lista { grid-template-columns: 1fr; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  html.aula-imprimiendo,
  html.aula-imprimiendo body { overflow: visible !important; background: #fff !important; }
  html.aula-imprimiendo body > *:not(.aula-impresion) { display: none !important; }
  .aula-impresion { position: static !important; overflow: visible !important; background: #fff !important; padding: 0 !important; }
  .aula-imp__barra { display: none !important; }
  .aula-imp__papel { padding: 0 !important; }
  .aula-imp__pag { border: 0 !important; padding: 0 !important; margin: 0 !important; max-width: none !important; }
  .aula-imp__pag--sol { break-before: page; page-break-before: always; }
  .aula-imp__lista { grid-template-columns: 1fr 1fr !important; }
  .aula-impresion { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
