/* UltraPAES · Recorrido del diagnóstico, tanda 1 · app/recorrido.css (la capa de app/recorrido.js; boceto aprobado, pantallas 4 a 6)
   La capa del resultado va oscura en los dos temas: lleva .u-oscuro-fijo (los tokens oscuros de app/ultra.css) y aquí solo se fijan
   el rojo de los avisos, que esa clase no trae (el mismo --bad del tema oscuro), y el rosa de ULTRA MAX y del sello del descuento,
   que no tiene token (el del boceto). El número y los botones principales usan el lima de la marca (--u-lime, el de «Volver a
   Ensayar»). Queda sobre las barras fijas (z-index 60) y bajo los diálogos (.velo, 90: el acceso de la cuenta del Diagnóstico Full
   sale encima) y el aviso (95). Mientras no estén los videos (Task 6b), los fondos son degradados. Con movimiento reducido no
   palpita ni entra nada. */
.rc-capa {
  --bad: #ff9ba0/*tema:fijo*/;
  --rc-rosa: #f08fc0/*tema:fijo*/;
  position: fixed; inset: 0; z-index: 85;
  display: flex; flex-direction: column;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
  padding: max(24px, env(safe-area-inset-top, 0px)) 16px calc(24px + env(safe-area-inset-bottom, 0px));
  background: var(--bg);
  background: radial-gradient(120% 70% at 50% 36%, color-mix(in srgb, var(--u-lime) 14%, transparent), transparent 62%), var(--bg);
  color: var(--ink);
}
.rc-capa:focus { outline: none; }
.rc-pantalla { flex: 1 0 auto; display: flex; flex-direction: column; width: 100%; max-width: 440px; margin: 0 auto; }
.rc-pantalla[hidden] { display: none; }

/* ---------- 4 · El puntaje: solo el número, al centro; abajo, Revisar sobre el Full ---------- */
.rc-cifra { flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; animation: tarjeta-entra .42s var(--ease-out) both; }
.rc-numero { display: block; font-size: clamp(96px, 30vw, 168px); font-weight: 900; line-height: .9; letter-spacing: -.05em; color: var(--u-lime); text-shadow: 0 0 36px color-mix(in srgb, var(--u-lime) 40%, transparent); animation: rc-latir 1.6s ease-in-out infinite; }
/* arriba del número, la prueba y «Tu puntaje PAES estimado» (en el DOM en minúsculas: el lector de pantalla las lee bien) */
.rc-etq { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--u-lime); }
/* la barra de 100 a 1000: el rango probable resaltado y la marca en el puntaje */
.rc-escala-caja { width: 100%; max-width: 360px; margin-top: 4px; }
.rc-escala { position: relative; height: 6px; margin: 14px 6px 8px; border-radius: 6px; background: color-mix(in srgb, var(--ink) 18%, transparent); }
.rc-rango { position: absolute; top: 0; bottom: 0; border-radius: 6px; background: color-mix(in srgb, var(--u-lime) 45%, transparent); }
.rc-marca { position: absolute; top: -5px; width: 4px; height: 16px; margin-left: -2px; border-radius: 3px; background: var(--ink); box-shadow: 0 0 10px color-mix(in srgb, var(--u-lime) 90%, transparent); }
.rc-ejes { display: flex; justify-content: space-between; gap: 8px; margin: 0 6px; font-size: 12px; color: var(--ink-2); }
.rc-acciones { display: grid; gap: 12px; padding-top: 24px; animation: tarjeta-entra .42s .12s var(--ease-out) both; }
.rc-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 0; padding: 12px 20px; border-radius: 999px; font-family: inherit; font-size: 17px; font-weight: 800; line-height: 1.2; text-align: center; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rc-revisar, .rc-secundario { background: transparent; color: var(--ink); border: 1px solid var(--line-strong); }
.rc-full, .rc-principal { background: var(--u-lime); color: var(--accent-ink); border: 1px solid var(--u-lime); }
.rc-full { animation: rc-latir 1.6s ease-in-out infinite; }
/* el foco lima solo sobre el fondo oscuro de la capa; en la página (el Full de la revisión y de la vista Diagnóstico) manda el de ultra.css */
.rc-capa .rc-btn:focus-visible { outline: 2px solid var(--u-lime); outline-offset: 3px; }
@media (hover: hover) { .rc-revisar:hover, .rc-secundario:hover { background: var(--surface-2); } }
/* «Revisar mis respuestas» de vidrio, sobre la foto (Task 6b) */
.rc-vidrio { background: color-mix(in srgb, var(--bg) 50%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid color-mix(in srgb, var(--ink) 28%, transparent); color: var(--ink); }
/* «ULTRA», arriba de Revisar (tanda 2, Task 7): el mismo vidrio con borde y texto lima, para no competir con el Full (lima sólido que
   palpita). Va después de .rc-vidrio, que pone su borde y su color. Sin planes que ofrecer queda escondido: .rc-btn es flex y le gana
   a [hidden], así que se dice aquí. */
.rc-ver-ultra { color: var(--u-lime); border-color: var(--u-lime); }
.rc-ver-ultra[hidden] { display: none; }
@media (hover: hover) { .rc-ver-ultra:hover { background: color-mix(in srgb, var(--u-lime) 14%, color-mix(in srgb, var(--bg) 50%, transparent)); } }
@keyframes rc-latir { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }

/* ---------- 6 · Revisar: el formulario abajo, al alcance del pulgar ---------- */
.rc-form { justify-content: flex-end; gap: 12px; }
.rc-titulo { margin: 0; font-size: 28px; font-weight: 900; line-height: 1.15; letter-spacing: -.02em; }
.rc-bajada { margin: 0 0 8px; font-size: 16px; line-height: 1.45; color: var(--ink-2); }
.rc-campo { display: block; width: 100%; min-height: 52px; margin: 0; padding: 12px 16px; border-radius: 14px; border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); font-family: inherit; font-size: 16px; }
.rc-campo::placeholder { color: var(--ink-2); opacity: 1; }
.rc-campo:focus-visible { outline: 2px solid var(--u-lime); outline-offset: 2px; }
.rc-campo[aria-invalid="true"] { border-color: var(--bad); }
.rc-consiente { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 6px 0; font-size: 14px; line-height: 1.45; color: var(--ink-2); cursor: pointer; }
.rc-consiente input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--u-lime); }
/* bajo la casilla, la línea de Privacidad del bloque del correo de hoy; el enlace se toca en 44 px de alto, como el de la garantía */
.rc-nota { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.rc-nota a { display: inline-block; padding: 12px 0; margin: -12px 0; color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.rc-error { margin: 0; font-size: 15px; font-weight: 700; color: var(--bad); }
/* sobre el laberinto, los campos de vidrio (Task 6b) */
.rc-form .rc-campo { background: color-mix(in srgb, var(--bg) 55%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-color: color-mix(in srgb, var(--ink) 25%, transparent); }

/* ---------- Task 6b · Los fondos: el video (o su primer cuadro) y un velo que oscurece hacia abajo, detrás de la pantalla ---------- */
.rc-fondo-pantalla { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: var(--bg); }
.rc-fondo-pantalla .rc-video, .rc-fondo-pantalla .rc-foto, .rc-fondo .rc-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rc-velo { position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 25%, transparent) 0%, color-mix(in srgb, var(--bg) 55%, transparent) 45%, color-mix(in srgb, var(--bg) 92%, transparent) 100%); }
/* el puntaje va sobre el último cuadro del final, con un desenfoque suave (la escala tapa el borde que deja el desenfoque) */
.rc-resultado .rc-foto { filter: blur(1.5px) brightness(.8); transform: scale(1.04); }
/* en los planes, el texto va sobre el video: un velo más parejo */
.rc-plan .rc-velo { background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 45%, transparent) 0%, color-mix(in srgb, var(--bg) 70%, transparent) 50%, color-mix(in srgb, var(--bg) 94%, transparent) 100%); }

/* ---------- 3 · El final: el video a pantalla completa y la frase abajo; un toque lo salta ---------- */
.rc-pantalla.rc-fin { position: fixed; inset: 0; z-index: 2; max-width: none; margin: 0; justify-content: flex-end; padding: 0 16px calc(40px + env(safe-area-inset-bottom, 0px)); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rc-fin:focus { outline: none; }
.rc-fin-cita { margin: 0 auto; max-width: 440px; text-align: center; color: var(--ink); text-shadow: 0 1px 8px color-mix(in srgb, var(--bg) 85%, transparent); }
.rc-fin-cita blockquote { margin: 0; }
.rc-fin-cita p { margin: 0; font-size: 20px; font-style: italic; font-weight: 700; line-height: 1.35; }
.rc-fin-cita figcaption { margin-top: 8px; font-size: 14px; color: var(--ink-2); }

/* ---------- 5 · Los planes: suben a los 2 s sobre el puntaje (5 s hasta la tanda 2), a pantalla completa ---------- */
/* La × queda fija arriba y las secciones, de alto completo, se recorren con scroll y se detienen una por una */
.rc-planes { position: fixed; inset: 0; z-index: 1; max-width: none; margin: 0; background: var(--bg); animation: tarjeta-entra .42s var(--ease-out) both; }
.rc-x { position: absolute; top: max(10px, env(safe-area-inset-top, 0px)); right: 10px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--ink) 28%, transparent); background: color-mix(in srgb, var(--bg) 60%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--ink); font-family: inherit; font-size: 26px; line-height: 1; cursor: pointer; }
.rc-secciones { position: absolute; inset: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: y mandatory; scroll-behavior: smooth; }
.rc-plan { position: relative; display: flex; flex-direction: column; min-height: 100%; scroll-snap-align: start; }
.rc-plan:focus { outline: none; }
/* El fondo de cada sección: hoy su degradado (el del boceto, con los tokens); la Task 6b pone aquí el video */
.rc-fondo { position: absolute; inset: 0; pointer-events: none; }
.rc-plan-ultra .rc-fondo { background: radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--u-lime) 22%, transparent), transparent 55%), linear-gradient(180deg, color-mix(in srgb, var(--u-lime) 8%, var(--bg)), var(--bg) 70%); }
.rc-plan-max .rc-fondo { background: radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--rc-rosa) 25%, transparent), transparent 55%), linear-gradient(180deg, color-mix(in srgb, var(--rc-rosa) 10%, var(--bg)), var(--bg) 70%); }
.rc-plan-gratis .rc-fondo { background: linear-gradient(180deg, var(--surface), var(--bg) 70%); }
/* El contenido arriba y los botones abajo, al alcance del pulgar; arriba a la derecha queda el lugar de la × */
.rc-plan-in { position: relative; flex: 1 0 auto; display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 440px; margin: 0 auto; padding: max(20px, env(safe-area-inset-top, 0px)) 16px calc(20px + env(safe-area-inset-bottom, 0px)); }
.rc-sello { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: var(--rc-rosa); color: var(--accent-ink); font-size: 14px; font-weight: 800; line-height: 1.3; }
.rc-plan-nombre { margin: 0; font-size: 34px; font-weight: 900; line-height: 1.05; letter-spacing: .04em; }
.rc-precio { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.rc-antes { font-size: 18px; color: var(--ink-2); }
.rc-ahora { font-size: 40px; font-weight: 900; line-height: 1; letter-spacing: -.02em; color: var(--u-lime); }
.rc-plan-max .rc-ahora { color: var(--rc-rosa); }
.rc-plazo { margin: -4px 0 0; font-size: 14px; color: var(--ink-2); }
.rc-garantia { margin: 4px 0 0; padding: 10px 12px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--u-lime) 35%, transparent); background: color-mix(in srgb, var(--u-lime) 12%, transparent); font-size: 14px; line-height: 1.45; }
/* el enlace se toca en 44 px de alto; el margen negativo devuelve los 24 px de más, así la sección no crece */
.rc-garantia a { display: inline-block; padding: 12px 0; margin: -12px 0; color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rc-caso { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.rc-caso b { color: var(--ink); }
.rc-beneficios { display: grid; gap: 6px; margin: 0; padding-left: 20px; font-size: 15px; line-height: 1.4; }
.rc-beneficios li::marker { color: var(--u-lime); }
.rc-plan-max .rc-beneficios li::marker { color: var(--rc-rosa); }
.rc-plan-acciones { display: grid; gap: 10px; margin-top: auto; padding-top: 14px; }
.rc-max { background: var(--rc-rosa); color: var(--accent-ink); border: 1px solid var(--rc-rosa); }
/* Tanda 2 · Task 7: abajo de ULTRA y de ULTRA MAX, el nombre de la sección siguiente sobre un chevron estilo Apple (un trazo con las
   puntas redondas, SVG) que baja y sube despacio; un toque baja a esa sección. Se toca en 44 px; los márgenes negativos le devuelven a
   la sección parte de ese alto (abajo, parte del relleno de la sección), así no empuja los botones, y el chevron queda a 16 px o más del
   borde de abajo, también en lo más bajo de su vaivén (ronda de arreglo 1). En pantallas bajas (680 px o menos, como 375×667 y
   360×640) las secciones van un poco más juntas para que ULTRA quepa entera con su indicador. Sobre el velo oscuro del video, con una
   sombra para el contraste. */
.rc-sigue { align-self: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 96px; min-height: 44px; margin: -6px 0 -6px; padding: 2px 16px; border-radius: 12px; color: var(--ink-2); font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none; text-shadow: 0 1px 6px color-mix(in srgb, var(--bg) 85%, transparent); -webkit-tap-highlight-color: transparent; }
.rc-chevron { display: block; line-height: 0; }
.rc-sigue svg { display: block; width: 26px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; animation: rc-chevron 1.8s ease-in-out infinite; }
@keyframes rc-chevron { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
.rc-capa .rc-sigue:focus-visible { outline: 2px solid var(--u-lime); outline-offset: 2px; }
/* sin el subrayado de a:hover de app/estilos.css: el indicador no es un enlace de texto */
.rc-sigue:hover { text-decoration: none; }
@media (hover: hover) { .rc-sigue:hover { color: var(--ink); } }
@media (max-height: 680px) { .rc-plan-in { gap: 7px; } .rc-plan-acciones { padding-top: 6px; } }

/* Con la capa abierta (html.rc-abierta, app/recorrido.js): la barra del precio (.fund-barra de app/fundador.js, z-index 110) no la
   tapa, y las hojas (.pv-hoja-fondo, z-index 60: Compartir, el correo y la compra de Ultra Max) salen sobre los planes y bajo el
   acceso de la cuenta (.velo, 90) */
.rc-abierta .fund-barra { display: none; }
.rc-abierta .pv-hoja-fondo { z-index: 88; }

/* ---------- Tanda 2 · La entrada (app/recorrido-entrada.js; maquetas celular-1 y celular-2 que aprobó Mario) ----------
   El video a pantalla completa con la frase de Tony abajo y, en el gancho, elegir la prueba sobre su último cuadro. Oscura en los dos
   temas (.u-oscuro-fijo) y a la altura de la capa del resultado: sobre las barras (60) y el aviso de cookies (80), bajo los diálogos
   (.velo, 90) y los avisos (95). Mientras está abierta, html.rc-entrada-abierta esconde la barra del precio (.fund-barra, 110). */
.rc-entrada { position: fixed; inset: 0; z-index: 85; overflow: hidden; background: var(--bg); color: var(--ink); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rc-entrada:focus { outline: none; }
.rc-entrada.rc-entrada-elige { cursor: auto; }
.rc-entrada-abierta .fund-barra { display: none; }
/* detrás, el video (o su primer cuadro); al pasar a elegir la prueba, el último cuadro encima; sobre los dos, el velo */
.rc-entrada-fondo { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.rc-entrada-fondo .rc-video, .rc-entrada-final { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* el iPhone con bajo consumo bloquea la reproducción automática y dibuja su botón de reproducir encima del video: en todos los videos del
   recorrido (los de la capa y los de esta pantalla) queda el póster solo, que pasa igual (revisión final de la tanda 2, Menor 4) */
.rc-video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
.rc-entrada-final { z-index: 1; }
.rc-entrada-velo { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, transparent 0%, transparent 42%, color-mix(in srgb, var(--bg) 55%, transparent) 72%, color-mix(in srgb, var(--bg) 90%, transparent) 100%); }
/* en elegir la prueba, un velo parejo y más oscuro */
.rc-entrada-elige .rc-entrada-velo { background: color-mix(in srgb, var(--bg) 58%, transparent); }
.rc-entrada-intro[hidden], .rc-entrada-elegir[hidden] { display: none; }
/* 1 · la frase abajo, al centro, y bajo ella, chico, «Toca para empezar» */
.rc-entrada-intro { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: 0 24px calc(10px + env(safe-area-inset-bottom, 0px)); text-align: center; }
.rc-entrada-cita { width: 100%; max-width: 440px; margin: 0 auto; text-shadow: 0 1px 8px color-mix(in srgb, var(--bg) 85%, transparent); }
.rc-entrada-cita blockquote { margin: 0; }
.rc-entrada-cita p { margin: 0; font-size: 22px; font-style: italic; font-weight: 700; line-height: 1.32; }
.rc-entrada-cita figcaption { margin-top: 10px; font-size: 14px; color: var(--ink-2); }
/* «Toca para empezar» es un botón (el lector de pantalla lo anuncia) con el aspecto del texto: 44 px de alto para el dedo y el texto en el
   mismo lugar que tenía de párrafo (12 px menos de margen arriba y de relleno abajo, lo que el botón agrega alrededor de la línea) */
.rc-entrada-toca { align-self: center; min-height: 44px; margin: 16px 0 0; padding: 0 16px; border: 0; border-radius: 999px; background: none; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--ink-3); cursor: pointer; }
/* 2 · elegir la prueba: el título, la bajada y los cinco botones de vidrio en una columna; la del enlace, con el borde lima */
/* La promesa del anuncio en la entrada del gancho (4-nov): arriba, con un velo que baja desde el borde, y «Empezar» lima abajo */
.rc-entrada-promesa { position: absolute; top: 0; left: 0; right: 0; z-index: 1; padding: max(40px, calc(env(safe-area-inset-top, 0px) + 24px)) 24px 72px; text-align: center; pointer-events: none; background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, transparent) 0%, color-mix(in srgb, var(--bg) 62%, transparent) 62%, transparent 100%); }
.rc-entrada-promesa > * { max-width: 440px; margin-left: auto; margin-right: auto; }
.rc-promesa-pildora { display: inline-block; margin: 0; padding: 5px 12px; border: 1px solid color-mix(in srgb, var(--u-lime) 55%, transparent); border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .12em; color: var(--u-lime); }
.rc-promesa-titulo { margin: 14px auto 0; font-size: 34px; font-weight: 900; line-height: 1.08; letter-spacing: -.02em; text-shadow: 0 2px 12px color-mix(in srgb, var(--bg) 70%, transparent); }
.rc-promesa-titulo em { font-style: normal; color: var(--u-lime); }
.rc-promesa-bajada { margin: 10px auto 0; font-size: 16px; font-weight: 600; color: var(--ink); text-shadow: 0 1px 8px color-mix(in srgb, var(--bg) 85%, transparent); }
.rc-entrada-toca.rc-entrada-empezar { align-self: stretch; width: 100%; max-width: 440px; margin: 18px auto 0; min-height: 52px; padding: 0 20px; border-radius: 999px; background: var(--u-lime); color: var(--accent-ink); font-size: 18px; font-weight: 900; }
@media (max-height: 680px) { .rc-promesa-titulo { font-size: 28px; } .rc-entrada-promesa { padding-top: 24px; } }
.rc-entrada-elegir { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: max(24px, env(safe-area-inset-top, 0px)) 24px calc(24px + env(safe-area-inset-bottom, 0px)); animation: tarjeta-entra .42s var(--ease-out) both; }
.rc-entrada-elegir:focus { outline: none; }
.rc-entrada-elegir > * { width: 100%; max-width: 440px; margin-left: auto; margin-right: auto; }
/* al centro mientras quepa; en una pantalla baja, se recorre desde el título */
.rc-entrada-elegir > :first-child { margin-top: auto; }
.rc-entrada-elegir > :last-child { margin-bottom: auto; }
.rc-entrada-titulo { margin-bottom: 6px; font-size: 28px; font-weight: 900; line-height: 1.15; letter-spacing: -.02em; }
/* sobre las partes claras del último cuadro (el ballet en el celular, el cielo de la carrera horizontal en el computador), el tono pleno
   (--ink), un halo oscuro y la sombra de la frase: la bajada no baja de 4,5:1 */
.rc-entrada-bajada { margin-top: 0; margin-bottom: 18px; font-size: 15px; color: var(--ink); text-shadow: 0 0 4px color-mix(in srgb, var(--bg) 85%, transparent), 0 1px 8px color-mix(in srgb, var(--bg) 85%, transparent); }
.rc-entrada-pruebas { display: grid; gap: 10px; }
.rc-entrada-prueba { display: flex; align-items: center; width: 100%; min-height: 58px; margin: 0; padding: 12px 18px; border-radius: 16px; font-family: inherit; font-size: 17px; font-weight: 800; line-height: 1.25; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rc-entrada-prueba.marcada { border-color: var(--u-lime); box-shadow: inset 0 0 0 1px var(--u-lime); }
.rc-entrada .rc-entrada-prueba:focus-visible { outline: 2px solid var(--u-lime); outline-offset: 3px; }
@media (hover: hover) { .rc-entrada-prueba:hover { border-color: color-mix(in srgb, var(--ink) 55%, transparent); } .rc-entrada-prueba.marcada:hover { border-color: var(--u-lime); } }

@media (prefers-reduced-motion: reduce) {
  .rc-numero, .rc-full, .rc-cifra, .rc-acciones, .rc-planes, .rc-entrada-elegir, .rc-sigue svg { animation: none; }
  .rc-secciones { scroll-behavior: auto; }
}

/* ---------- En la revisión (la página, clara u oscura): el correo de Revisar no salió y, al final de «Para repasar», el Full ---------- */
.rc-aviso-correo { margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--warn); border-radius: 12px; background: var(--warn-soft); color: var(--ink); font-size: 15px; line-height: 1.45; }
.rc-full-revision { max-width: 440px; margin: 28px auto 8px; }
