/* Curso integrado · 30.09.2026
   Una columna para consigna, respuesta y corrección. Esta capa se carga después
   de lector.css y app-ios.css y solo actúa en el curso con .curso-integrado.
   Por la tarde, el mismo lenguaje que PASS (ESTILO.md, «NORSK con el aspecto de PASS»): acciones en
   cápsula, respuestas y listas en superficies blancas redondeadas y corrección en un recuadro suave,
   sin volver a meter el ejercicio en una tarjeta. */
/* Los tokens --pa-* (sombras y relleno principal) viven en norsk/componentes.css desde el 11.10.2026,
   una sola vez para el curso, Larsito y las dudas. */

/* El avance es un solo tubo. JS actualiza su ancho y el valor ARIA del carril. */
body.curso-integrado .app-lector-avance,
body.curso-integrado .app-segs,
body.curso-integrado .practica-barra{
  display:block;
  height:10px;
  padding:0;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(44,90,114,.18);
  border-radius:999px;
  background:var(--blanco);
  box-shadow:inset 0 1px 3px rgba(14,27,38,.06);
}
body.curso-integrado .app-segs{flex:0 0 100%}

/* El mismo fondo continúa por el Inicio y el cierre; las listas son grupos blancos. */
html.es-app body.curso-integrado :is(.app-hoy,.app-cuaderno),
body.curso-integrado :is(.marcar,.repaso-tarjeta){
  background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--noche);
}
html.es-app body.curso-integrado .app-hoy{margin-top:32px}
html.es-app body.curso-integrado .app-hoy-cuerpo{padding:0}
html.es-app body.curso-integrado .app-hoy-media{background:transparent}
html.es-app body.curso-integrado .app-hoy-media img{mix-blend-mode:multiply}
html.es-app body.curso-integrado .app-hoy-media::after{content:none}
html.es-app body.curso-integrado .app-hoy :is(h2,.app-avance-txt b){color:var(--noche)}
html.es-app body.curso-integrado .app-hoy :is(.app-hoy-eti,.app-hoy-meta,.app-avance-txt){color:var(--fiordo)}
html.es-app body.curso-integrado .app-hoy .app-boton{min-height:54px;border-radius:999px;box-shadow:var(--pa-sombra-boton);background:var(--pa-principal);color:var(--noche)}
html.es-app body.curso-integrado .app-hoy .app-boton::after{content:none}
html.es-app body.curso-integrado .app-cuaderno .app-cuaderno-txt{color:var(--noche)}
html.es-app body.curso-integrado .app-cuaderno .app-cuaderno-t{color:var(--noche)}
html.es-app body.curso-integrado .app-cuaderno :is(.app-cuaderno-k,.app-cuaderno-s){color:var(--fiordo)}
html.es-app body.curso-integrado .app-cuaderno .app-cuaderno-accion{color:var(--fiordo);background:transparent;box-shadow:none}
body.curso-integrado .marcar{padding:20px 0;gap:12px}
body.curso-integrado .marcar p{color:var(--fiordo)}
body.curso-integrado .marcar .btn.ghost{color:var(--noche);border-color:transparent;background:var(--blanco);box-shadow:var(--pa-sombra-sec)}
body.curso-integrado .siguiente-paso{padding:24px 0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--noche)}
body.curso-integrado .siguiente-paso h2{color:var(--noche)}
body.curso-integrado .siguiente-paso :is(p,.detalle,.eti){color:var(--fiordo)}
body.curso-integrado .app-lector-avance{margin:6px auto 0;max-width:620px}
body.curso-integrado .lector-apartados > .app-lector-avance{
  flex:0 0 100%;
  width:100%;
  max-width:none;
  margin:0 0 8px;
}
body.curso-integrado .lector-menu{width:100%;border:0;background:transparent;padding:0}
body.curso-integrado .lector-menu > summary{
  width:fit-content;min-height:44px;padding:10px 0;font-family:var(--sg);font-size:.88rem;color:var(--fiordo);cursor:pointer;
}
body.curso-integrado .lector-menu .lector-elegir{max-width:32rem;margin-top:8px}
body.curso-integrado .lector-menu > summary:focus-visible{outline:2px solid var(--fiordo);outline-offset:3px}
html:not(.es-app) body.curso-integrado .app-lector-dentro .lesson-hero > :not(h1){display:none}
html:not(.es-app) body.curso-integrado .app-lector-dentro .lesson-hero h1{
  font-size:clamp(1.25rem,3vw,1.75rem);margin:0;max-width:none;
}
html:not(.es-app) body.curso-integrado .app-lector-dentro .lesson-hero{max-width:68ch;margin:0 auto 20px;padding:0;border:0}
html:not(.es-app) body.curso-integrado .app-lector-dentro .lesson-bar{max-width:68ch;margin:0 auto 24px}
html:not(.es-app) body.curso-integrado .app-lector-dentro .lector-apartados{margin-top:0}
body.curso-integrado.lector-por-pasos .practica-pieza{margin-top:20px;padding-top:0;border:0}
body.curso-integrado.lector-extra-activa .lector > .lector-seccion,
body.curso-integrado.lector-extra-activa .lector > .lesson-apoyo:not(.practica-extra),
body.curso-integrado.lector-extra-activa .marcar,
body.curso-integrado.app-lector-sesion .marcar{display:none}
body.curso-integrado.lector-extra-activa .practica-extra{margin-top:12px}
body.curso-integrado .practica-barra{margin:18px 0 24px}
body.curso-integrado .avance-relleno{
  display:block;
  width:0;
  max-width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(63,203,148,.14),var(--aurora));
  transition:width .35s var(--ease);
}
body.curso-integrado.lector-por-pasos .practica-barra,
body.curso-integrado.lector-por-pasos .reading-progress{display:none}
body.curso-integrado :is(.app-lector-menu,.app-lector-avance,.practica-barra,.lector-continuar)[hidden]{display:none!important}

/* Acceso a apartados en la cabecera, sin otra cápsula dentro de la barra. */
body.curso-integrado .app-lector-menu{
  flex:none;
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  padding:10px;
  border:0;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
  color:var(--fiordo);
  cursor:pointer;
}
body.curso-integrado .app-lector-menu svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
html.es-app body.curso-integrado .app-lector-atras span{
  border-radius:999px;
  background:transparent;
  box-shadow:none;
}
html.es-app body.curso-integrado.lector-por-pasos .app-lector-kicker{display:none}
html.es-app body.curso-integrado .app-lector-barra .app-lector-lista{display:none}
html.es-app body.curso-integrado .lector-continuar.app-lector-barra{
  border:0;
  background:var(--nieve);
  box-shadow:none;
}
html.es-app body.curso-integrado .lector-continuar.app-lector-barra::before{content:none}
html.es-app body.curso-integrado .app-lector-barra .lector-continuar-interior{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  align-items:center;
  gap:12px;
}
html.es-app body.curso-integrado .app-lector-barra .lector-continuar-interior > button{
  height:54px;
  min-height:44px;
  border-radius:999px;
  box-shadow:none;
}
html.es-app body.curso-integrado .app-lector-barra .lector-continuar-interior > button::after{content:none}
html.es-app body.curso-integrado .app-lector-barra .lector-continuar-interior > button.app-lector-anterior{
  width:50px;
  height:50px;
  background:var(--blanco);
  color:var(--fiordo);
  box-shadow:var(--pa-sombra-sec);
}
html.es-app body.curso-integrado .app-lector-barra .app-lector-seguir{
  width:100%;
  background:var(--pa-principal);
  box-shadow:var(--pa-sombra-boton);
}
html.es-app body.curso-integrado .app-lector-barra .lector-continuar-interior > button:focus-visible{
  outline:2px solid var(--fiordo);
  outline-offset:3px;
  box-shadow:none;
}
html.es-app body.curso-integrado.app-lector-completa .app-lector-barra{display:none}
body.curso-integrado.app-lector-sesion .lector-continuar{display:none}
body.curso-integrado.app-lector-sesion #app,
html.es-app body.curso-integrado.app-lector-sesion #app,
html.es-app body.curso-integrado.app-lector-completa #app{
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 36px);
}
/* :has se mantiene aislado para conservar la reserva en Safari anterior. */
html:where(:has(> body.curso-integrado.app-lector-sesion)){
  scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px);
}
html.es-app:where(:has(> body.curso-integrado.app-lector-completa)){
  scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px);
}

/* Entrada de la lección: metadatos y acceso a practicar como texto seguido. */
body.curso-integrado .lesson-hero .meta-pieza span{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.curso-integrado .lesson-hero .practica-llamada{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:4px;
  min-height:44px;
  margin:14px 0 0;
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
body.curso-integrado .lesson-hero .practica-llamada .eti{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--fiordo);
}
body.curso-integrado .lesson-hero .practica-llamada .txt strong{
  color:var(--fiordo);
  text-decoration:underline;
  text-underline-offset:4px;
}
body.curso-integrado .lesson-hero .practica-llamada::after{content:none}
body.curso-integrado .lesson-hero .practica-llamada .flecha{display:none}
body.curso-integrado .lesson-hero .leccion-ficha{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

/* La configuración queda disponible bajo una sola línea desplegable. */
body.curso-integrado .practica-opciones{
  margin:4px 0 12px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.curso-integrado .practica-opciones > summary{
  display:flex;
  align-items:center;
  gap:9px;
  width:fit-content;
  max-width:100%;
  min-height:44px;
  padding:6px 0;
  list-style:none;
  font-family:var(--sg);
  font-size:.88rem;
  color:var(--fiordo);
  cursor:pointer;
}
body.curso-integrado .practica-opciones > summary::-webkit-details-marker{display:none}
body.curso-integrado .practica-opciones > summary::after{
  content:"";
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
body.curso-integrado .practica-opciones[open] > summary::after{transform:rotate(225deg) translate(-2px,-1px)}
body.curso-integrado .practica-opciones:not([open]) > :not(summary){display:none}
body.curso-integrado .practica-opciones .practica-stats{margin:4px 0 8px}
body.curso-integrado .practica-opciones .practica-filtros{
  margin:4px 0 12px;
  gap:8px;
}
body.curso-integrado .practica-opciones .chip-filtro{
  min-height:44px;
  padding:8px 16px;
  border:0;
  border-radius:999px;
  background:var(--blanco);
  box-shadow:var(--pa-sombra-sec);
  color:var(--fiordo);
  transform:none;
}
body.curso-integrado .practica-opciones .chip-filtro.activo{
  background:rgba(63,203,148,.24);
  box-shadow:none;
  color:var(--noche);
  font-weight:700;
}

/* La página sostiene el ejercicio: no hay tarjeta exterior ni cajas interiores. */
body.curso-integrado .ejercicio,
html.es-app body.curso-integrado .ejercicio{
  min-width:0;
  padding:8px 0 20px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  animation:none;
}
body.curso-integrado .ejercicio-cab{gap:6px 16px;margin-bottom:8px}
body.curso-integrado .ejercicio-cab .eti{letter-spacing:.05em;line-height:1.5}
body.curso-integrado .ejercicio-cab .ejercicio-anterior{
  min-height:44px;
  padding:8px 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:var(--fiordo);
}
body.curso-integrado .ejercicio :is(.origen,.contexto-mc,.modelo-graba,.tarjeta-datos,.ejercicio-instruccion){
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.curso-integrado .ejercicio .ejercicio-instruccion{color:var(--fiordo);margin:14px 0}
body.curso-integrado .ejercicio .origen,
body.curso-integrado .ejercicio .contexto-mc{margin:16px 0 20px}
body.curso-integrado .practica-aviso{
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
}
body.curso-integrado .ejercicio .linea-respuesta{
  min-height:64px;
  padding:12px 0;
  border:0;
  border-bottom:2px solid rgba(44,90,114,.55);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.curso-integrado .ejercicio .linea-respuesta.destino{border-bottom-color:var(--fiordo);background:rgba(63,203,148,.08)}
body.curso-integrado .ejercicio .linea-respuesta::after{content:none}
body.curso-integrado .ejercicio .ficha-hueco{visibility:hidden}
body.curso-integrado .ejercicio-resuelto .banco-fichas{display:none}
body.curso-integrado .ejercicio-resuelto .linea-respuesta{gap:0 6px;min-height:0;border:0}
body.curso-integrado .ejercicio-resuelto .linea-respuesta .ficha{
  min-width:0;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
body.curso-integrado .ejercicio-resuelto .linea-respuesta .ficha::after{content:none}
body.curso-integrado .ejercicio-resuelto .linea-respuesta .ficha.mal{border-bottom:2px solid var(--alerta)}
body.curso-integrado .ejercicio .campo-escribe{
  min-height:54px;
  padding:14px 18px;
  border:1px solid rgba(14,27,38,.3);
  border-radius:16px;
  background-color:var(--blanco);
  box-shadow:none;
  font-size:max(16px,calc(17px * var(--app-t,1)));
}
body.curso-integrado .ejercicio .campo-escribe:focus{outline:none;border-color:var(--fiordo);box-shadow:0 0 0 1px var(--fiordo)}
body.curso-integrado .ejercicio .campo-escribe.bien,
body.curso-integrado .ejercicio .campo-escribe.mal{padding-right:48px}
body.curso-integrado .ejercicio .campo-escribe.bien{border-color:var(--fiordo);background-color:rgba(63,203,148,.1)}
body.curso-integrado .ejercicio .campo-escribe.mal{border-color:var(--alerta);background-color:var(--blanco)}

/* Las respuestas que se eligen son tarjetas blancas redondeadas, como en PASS: la letra va en un
   círculo con tinte fiordo y, al corregir, se cambia por la marca o la cruz. El color nunca va solo. */
body.curso-integrado .ejercicio .opciones-mc{gap:10px}
body.curso-integrado .ejercicio .opcion-mc{
  min-height:58px;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:12px 16px 12px 12px;
  border:0;
  border-radius:18px;
  background:var(--blanco);
  box-shadow:var(--pa-sombra-opcion);
  color:var(--noche);
  transform:none;
}
body.curso-integrado .ejercicio .opcion-mc .letra{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:rgba(44,90,114,.09);box-shadow:none;color:var(--fiordo);
  font-family:var(--sg);font-weight:700;font-size:.8rem;text-transform:uppercase;
}
body.curso-integrado .ejercicio .opcion-mc.bien{background:rgba(63,203,148,.14);box-shadow:inset 0 0 0 2px var(--aurora)}
body.curso-integrado .ejercicio .opcion-mc.mal{background:var(--blanco);box-shadow:inset 0 0 0 2px var(--alerta)}
body.curso-integrado .ejercicio .opcion-mc.bien .letra{color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B26' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat,var(--aurora)}
body.curso-integrado .ejercicio .opcion-mc.mal .letra{color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") center/12px no-repeat,var(--alerta)}
body.curso-integrado .ejercicio-resuelto .opcion-mc:not(.bien):not(.mal){opacity:.55;box-shadow:0 0 0 .5px rgba(14,27,38,.08)}
body.curso-integrado .ejercicio :is(.ficha,.tarjeta){min-height:44px;border-radius:12px;box-shadow:var(--pa-sombra-opcion)}
body.curso-integrado .ejercicio .ficha:not(.bien):not(.mal):not(.usada),
body.curso-integrado .ejercicio .tarjeta:not(.bien):not(.mal):not(.seleccionada){background:var(--blanco)}
body.curso-integrado .ejercicio .tarjeta.seleccionada{box-shadow:inset 0 0 0 2px var(--fiordo)}
body.curso-integrado .ejercicio .hueco{box-shadow:none;border-radius:12px}

/* La corrección se lee inmediatamente después de la respuesta, sin panel fijo. */
body.curso-integrado .feedback,
html.es-app body.curso-integrado .feedback.app-correccion{
  position:static;
  inset:auto;
  z-index:auto;
  display:block;
  width:auto;
  max-width:none;
  max-height:none;
  margin:20px 0 0;
  padding:16px 18px 18px;
  border:0;
  border-radius:20px;
  background:rgba(63,203,148,.12);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none;
  animation:none;
}
body.curso-integrado .feedback.mal,
html.es-app body.curso-integrado .feedback.mal.app-correccion{background:var(--blanco);box-shadow:var(--pa-sombra-grupo)}
html.es-app body.curso-integrado .feedback.app-correccion::before{content:none}
html.es-app body.curso-integrado .app-correccion-cuerpo{
  overflow:visible;
  padding:0;
  -webkit-mask-image:none;
  mask-image:none;
}
html.es-app body.curso-integrado .app-correccion-solucion{
  margin:12px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html.es-app body.curso-integrado .feedback .app-correccion-icono{width:24px;height:24px;background:transparent;box-shadow:none}
body.curso-integrado .correccion-detalle{
  margin:8px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.curso-integrado .correccion-detalle > summary{
  display:flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  min-height:44px;
  padding:6px 0;
  list-style:none;
  font-family:var(--sg);
  font-size:.88rem;
  color:var(--fiordo);
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
body.curso-integrado .correccion-detalle > summary::-webkit-details-marker{display:none}
body.curso-integrado .correccion-detalle[open] > summary{margin-bottom:8px}
body.curso-integrado .correccion-detalle:not([open]) > :not(summary){display:none}
body.curso-integrado .ejercicio .btn{min-height:44px;border-radius:999px;box-shadow:none}
body.curso-integrado .ejercicio .btn.ghost:not(.sonando):not(.grabando){background:rgba(44,90,114,.09);border-color:transparent;color:var(--fiordo)}
body.curso-integrado .ejercicio .audio-fila{gap:8px}
body.curso-integrado .ejercicio .audio-fila .btn{
  width:auto;min-height:44px;padding:8px 16px;border:0;border-radius:999px;box-shadow:none;backdrop-filter:none;
}
body.curso-integrado .ejercicio .audio-fila .btn::after{content:none}
body.curso-integrado .ejercicio-cuerpo > .btn,
body.curso-integrado .zona-ordena > .btn,
body.curso-integrado .feedback > .btn,
html.es-app body.curso-integrado .feedback.app-correccion > .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:54px;
  margin:20px 0 0;
  border:0;
  border-radius:999px;
  background:var(--pa-principal);
  box-shadow:var(--pa-sombra-boton);
  color:var(--noche);
}
body.curso-integrado .ejercicio-resuelto .ejercicio-cuerpo > .btn:disabled,
body.curso-integrado .ejercicio-resuelto .zona-ordena > .btn:disabled,
body.curso-integrado .ejercicio-resuelto .fila-acciones .btn:disabled{display:none}
body.curso-integrado .ejercicio-resuelto .ejercicio-anterior{display:none}
body.curso-integrado .resumen-practica{
  padding:28px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  animation:none;
}

/* Web y app con el lenguaje de PASS (30.09.2026, tarde): las acciones son cápsulas, el temario va en
   grupos blancos con el código en una pastilla y el buscador es un campo redondeado. */
/* Los enlaces de texto con clase .btn (explicación, modelos y «más» de la pronunciación) y los botones
   que suenan o graban conservan su aspecto; :where no sube la especificidad. */
body.curso-integrado .btn:where(:not(.leccion-teoria,.pronunciacion-modelo,.pronunciacion-mas)){border-radius:999px}
body.curso-integrado .btn:where(:not(.ghost,:disabled,.sonando,.grabando,.leccion-teoria,.pronunciacion-modelo,.pronunciacion-mas)){background:var(--pa-principal);box-shadow:var(--pa-sombra-boton);color:var(--noche)}
body.curso-integrado .btn.ghost:where(:not(.sonando,.grabando,.leccion-teoria,.pronunciacion-modelo,.pronunciacion-mas)){background:var(--blanco);border-color:transparent;box-shadow:var(--pa-sombra-sec);color:var(--noche)}
body.curso-integrado .siguiente-paso .btn{min-height:54px}
body.curso-integrado .larsito-franja a{border-radius:999px;padding:13px 22px;background:var(--pa-principal);box-shadow:var(--pa-sombra-boton)}
body.curso-integrado .lista{border:0;border-radius:18px;background:var(--blanco);box-shadow:var(--pa-sombra-grupo);overflow:hidden}
body.curso-integrado .item{gap:14px;padding:16px 18px;border-bottom:0;border-radius:0;transition:background .2s}
body.curso-integrado .item + .item{box-shadow:inset 0 1px 0 rgba(14,27,38,.08)}
body.curso-integrado .item::before{content:none}
body.curso-integrado .item .cod{justify-self:start;padding:5px 10px;border-radius:999px;background:rgba(44,90,114,.09);letter-spacing:.04em}
body.curso-integrado .item:hover,
body.curso-integrado .item:disabled:hover{padding-left:18px}
body.curso-integrado .item:focus-visible{outline-offset:-3px}
body.curso-integrado .teoria-controles{gap:10px;border-bottom:0}
body.curso-integrado .teoria-controles input{min-height:50px;padding:12px 18px;border:1px solid rgba(14,27,38,.3);border-radius:16px;background:var(--blanco)}
body.curso-integrado .teoria-controles select{-webkit-appearance:none;appearance:none;min-height:50px;padding:12px 40px 12px 18px;border:0;border-radius:999px;background:var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C5A72' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/14px no-repeat;box-shadow:var(--pa-sombra-sec)}
body.curso-integrado .teoria-controles input:focus-visible,
body.curso-integrado .teoria-controles select:focus-visible{outline:none;border-color:var(--fiordo);box-shadow:0 0 0 2px var(--fiordo)}
@media (hover:hover) and (pointer:fine){
  body.curso-integrado .item:not(:disabled):hover{background:rgba(14,27,38,.03)}
  body.curso-integrado .btn:not(:disabled):hover{transform:none;filter:brightness(1.04)}
}

/* Foco y áreas pulsables siguen explícitos, también sin el relieve anterior. */
body.curso-integrado .ejercicio :is(button,summary,input,textarea):focus-visible,
body.curso-integrado .practica-opciones :is(button,summary):focus-visible,
body.curso-integrado .app-lector-menu:focus-visible{
  outline:2px solid var(--fiordo);
  outline-offset:3px;
  box-shadow:none;
}
body.curso-integrado .ejercicio .opcion-mc:focus-visible{outline-offset:-2px}
@media (hover:hover) and (pointer:fine){
  body.curso-integrado .ejercicio .opcion-mc:not(:disabled):hover{box-shadow:inset 0 0 0 1.5px var(--aurora),var(--pa-sombra-opcion);transform:none}
  body.curso-integrado .app-lector-menu:hover{background:rgba(44,90,114,.05)}
}
@media (max-width:359px){
  body.curso-integrado .ejercicio .opcion-mc{gap:10px;padding:10px 12px 10px 10px}
  body.curso-integrado .ejercicio .ficha{padding:8px 10px}
  body.curso-integrado .ejercicio .parejas{gap:8px}
  body.curso-integrado .ejercicio .tarjeta{padding:10px 8px}
}
@media (prefers-reduced-motion:reduce){
  body.curso-integrado .avance-relleno{transition:none}
  body.curso-integrado .ejercicio *,
  body.curso-integrado .practica-opciones *{animation:none;transition:none}
  body.curso-integrado .ejercicio button:active{transform:none}
}
@media (prefers-contrast:more){
  body.curso-integrado .app-lector-avance,
  body.curso-integrado .practica-barra{border-color:var(--fiordo)}
  body.curso-integrado .ejercicio .opcion-mc{box-shadow:inset 0 0 0 1px var(--fiordo)}
  body.curso-integrado .feedback{box-shadow:inset 0 0 0 1px var(--fiordo)}
  body.curso-integrado .ejercicio :is(.ficha,.tarjeta){border-color:var(--fiordo)}
  body.curso-integrado .avance-relleno{background:var(--fiordo)}
}
@media (forced-colors:active){
  body.curso-integrado .app-lector-avance,
  body.curso-integrado .practica-barra{border-color:CanvasText;background:Canvas;box-shadow:none}
  body.curso-integrado .avance-relleno{background:Highlight;forced-color-adjust:none}
  body.curso-integrado .ejercicio .opcion-mc{border:1px solid CanvasText}
  body.curso-integrado .ejercicio .opcion-mc.bien{border-left:3px solid Highlight}
  body.curso-integrado .ejercicio .opcion-mc.mal{border-left:3px dashed CanvasText}
  body.curso-integrado .ejercicio .opcion-mc .letra{color:CanvasText;background:Canvas}
  body.curso-integrado .ejercicio :is(button,summary,input,textarea):focus-visible,
  body.curso-integrado .practica-opciones :is(button,summary):focus-visible,
  body.curso-integrado .app-lector-menu:focus-visible{outline-color:Highlight}
}

/* ---------- Hábito diario y ejercicios · 01.10.2026 (ESTILO.md) ----------
   Terminar cuenta: la marca de la lección va arriba del último apartado; los códigos se leen como
   títulos y cada grupo de Lecciones lleva una barra fina de avance, sin cifras en pantalla. */
body.curso-integrado .marcar.marcar-cierre{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:4px 16px;
  max-width:none;
  margin:4px 0 22px;
  padding:14px 0 18px;
  border-bottom:1px solid var(--linea-clara);
}
body.curso-integrado .marcar-cierre .marcar-estado{grid-column:1;margin:0;font-family:var(--sg);font-size:1.02rem;font-weight:700;line-height:1.35;color:var(--noche)}
body.curso-integrado .marcar-cierre .marcar-nota{grid-column:1;margin:0;font-size:.96rem;line-height:1.45;color:var(--tinta-suave)}
body.curso-integrado .marcar-cierre .marcar-nota[hidden]{display:none}
body.curso-integrado .marcar-cierre .btn{grid-column:2;grid-row:1 / span 2;min-width:0}
/* Hecha: la marca va en un círculo aurora con el trazo noche; el texto dice lo mismo sin color. */
body.curso-integrado .marcar-cierre.hecha .marcar-estado{position:relative;padding-left:32px}
body.curso-integrado .marcar-cierre.hecha .marcar-estado::before{content:"";position:absolute;left:0;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--aurora)}
body.curso-integrado .marcar-cierre.hecha .marcar-estado::after{content:"";position:absolute;left:8px;top:50%;width:5px;height:10px;margin-top:-7px;border:solid var(--noche);border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
@media (max-width:560px){
  body.curso-integrado .marcar.marcar-cierre{grid-template-columns:minmax(0,1fr)}
  body.curso-integrado .marcar-cierre .btn{grid-column:1;grid-row:auto;width:100%;margin-top:10px}
}
html.es-app body.curso-integrado .marcar.marcar-cierre{grid-template-columns:minmax(0,1fr);padding:12px 0 18px;border-radius:0}
html.es-app body.curso-integrado .marcar-cierre .btn{grid-column:1;grid-row:auto;width:100%;margin-top:10px}
/* Hecha: «Quitar la marca» es un enlace de texto secundario al lado de «Lección hecha.», no un botón
   a lo ancho que se lleve la vista (corrección del 01.10.2026). Mantiene 44 px de alto para el dedo. */
body.curso-integrado .marcar.marcar-cierre.hecha,
html.es-app body.curso-integrado .marcar.marcar-cierre.hecha{grid-template-columns:minmax(0,1fr) auto}
body.curso-integrado .marcar.marcar-cierre.hecha .btn.ghost,
html.es-app body.curso-integrado .marcar.marcar-cierre.hecha .btn.ghost{
  grid-column:2;grid-row:1;justify-self:end;display:inline-flex;align-items:center;width:auto;min-width:0;min-height:44px;
  margin:0;padding:0 2px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--fiordo);
  font-family:var(--sg);font-size:.95rem;font-weight:600;letter-spacing:0;line-height:1.2;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
}
body.curso-integrado .marcar.marcar-cierre.hecha .marcar-nota{grid-column:1 / span 2}
/* Sin marcar, «Marcar como hecha» va en verde aurora y destacado (13.10.2026, Josep: «en verde y más
   resaltado»). Es la única excepción a «Continuar» como principal y solo aparece en el último apartado. */
body.curso-integrado .marcar.marcar-cierre:not(.hecha) .btn.ghost,
html.es-app body.curso-integrado .marcar.marcar-cierre:not(.hecha) .btn.ghost{background:var(--pa-principal);box-shadow:var(--pa-sombra-boton);color:var(--noche);font-weight:700}
body.curso-integrado .marcar.marcar-cierre.hecha .btn.ghost:focus-visible,
html.es-app body.curso-integrado .marcar.marcar-cierre.hecha .btn.ghost:focus-visible{outline:2px solid var(--fiordo);outline-offset:2px;box-shadow:none}

/* Un código de pieza en el texto se lee como su título; si la pieza está abierta, enlaza a ella. */
body.curso-integrado .seccion-cuerpo a.enlace-pieza{color:var(--fiordo);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.curso-integrado .seccion-cuerpo a.enlace-pieza:focus-visible{outline:2px solid var(--fiordo);outline-offset:2px;border-radius:0}

/* Barra fina por grupo en Lecciones y en el temario de la web. */
body.curso-integrado .grupo-avance{display:block;height:4px;margin:6px 0 14px;overflow:hidden;border-radius:999px;background:rgba(44,90,114,.14)}
body.curso-integrado .grupo-avance-relleno{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--aurora)}
html.es-app body.curso-integrado .app-biblioteca .grupo-avance{margin:-1px 4px 10px}

/* En el repaso, la etiqueta de cada ejercicio es el título de su lección, cortado si no cabe. */
body.curso-integrado .ejercicio-cab .eti-pieza{display:inline-block;max-width:min(100%,26ch);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;margin-left:0;letter-spacing:.02em}
@media (prefers-contrast:more){
  body.curso-integrado .grupo-avance{box-shadow:inset 0 0 0 1px var(--fiordo)}
  body.curso-integrado .grupo-avance-relleno{background:var(--fiordo)}
}
@media (forced-colors:active){
  body.curso-integrado .grupo-avance{border:1px solid CanvasText;background:Canvas}
  body.curso-integrado .grupo-avance-relleno{background:Highlight;forced-color-adjust:none}
  body.curso-integrado .marcar-cierre.hecha .marcar-estado::before{border:1px solid CanvasText;background:Canvas;forced-color-adjust:none}
  body.curso-integrado .marcar-cierre.hecha .marcar-estado::after{border-color:CanvasText}
}

/* Letras noruegas encima de Escribir y Dictado (NexoTeclas, norsk/comun.js). Cada tecla mide
   44 px; tocarla escribe la letra en el campo sin quitarle el foco. Resuelto el ejercicio, se van. */
body.curso-integrado .teclas-nb{display:flex;gap:8px;margin:2px 0 8px}
body.curso-integrado .tecla-nb{min-width:44px;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:var(--blanco);box-shadow:var(--pa-sombra-sec);font-family:var(--sg);font-size:1.15rem;font-weight:500;line-height:1;color:var(--noche);cursor:pointer;-webkit-tap-highlight-color:transparent}
body.curso-integrado .tecla-nb:active{background:rgba(44,90,114,.12)}
body.curso-integrado .tecla-nb:focus-visible{outline:2px solid var(--fiordo);outline-offset:2px}
body.curso-integrado .teclas-nb[hidden],
body.curso-integrado .ejercicio-resuelto .teclas-nb{display:none}
@media (forced-colors:active){
  body.curso-integrado .tecla-nb{border:1px solid CanvasText}
}

/* Ejercicios más justos: el segundo intento tacha la opción fallada; la corrección de un fallo
   llega con la explicación abierta y, junto a la frase correcta, «Escuchar». */
body.curso-integrado .ejercicio .opcion-mc.tachada{opacity:.62;box-shadow:inset 0 0 0 1.5px rgba(143,90,15,.55),var(--pa-sombra-opcion);cursor:default}
body.curso-integrado .ejercicio .opcion-mc.tachada .texto{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:var(--alerta)}
body.curso-integrado .ejercicio .intento-aviso{margin:10px 0 0;font-family:var(--sg);font-size:.95rem;font-weight:700;line-height:1.4;color:var(--alerta)}
body.curso-integrado .ejercicio .intento-aviso:empty{display:none}
body.curso-integrado .ejercicio-resuelto .intento-aviso{display:none}
body.curso-integrado .feedback .solucion-oir{display:inline-flex;margin:6px 0 4px}
/* En la app, si la corrección con la explicación abierta no cabe, su cuerpo se desplaza por dentro
   y «Continuar» sigue a la vista. */
html.es-app body.curso-integrado .feedback.mal.app-correccion .app-correccion-cuerpo{
  max-height:calc(100vh - 300px);
  max-height:calc(100svh - 300px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
@media (forced-colors:active){
  body.curso-integrado .ejercicio .opcion-mc.tachada{border:1px dashed CanvasText}
}

/* «Hoy» y «Esta semana»: tres casillas (repaso, lección y Larsito), la semana de lunes a domingo
   con un punto aurora por día practicado y el recordatorio diario. Sin rachas ni avisos de pérdida. */
body.curso-integrado .hoy-diario{margin:8px 0 28px}
body.curso-integrado .hoy-titulo{margin:0 0 10px;font-family:var(--sg);font-size:.78rem;font-weight:700;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--fiordo)}
body.curso-integrado .hoy-casillas{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}
body.curso-integrado .hoy-casilla{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:96px;padding:12px 12px 12px;border:0;border-radius:18px;background:var(--blanco);box-shadow:var(--pa-sombra-grupo);color:var(--noche);font-family:var(--sg);text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
body.curso-integrado .hoy-casilla-icono{display:grid;place-items:center;width:30px;height:30px;margin-bottom:6px;border-radius:50%;background:rgba(44,90,114,.1);color:var(--fiordo)}
body.curso-integrado .hoy-casilla-icono svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.curso-integrado .hoy-casilla.hecha .hoy-casilla-icono{background:var(--aurora);color:var(--noche)}
body.curso-integrado .hoy-casilla-nombre{font-size:1rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
body.curso-integrado .hoy-casilla-estado{font-size:.86rem;font-weight:500;line-height:1.3;color:var(--tinta-suave)}
body.curso-integrado .hoy-casilla.hecha .hoy-casilla-estado{color:var(--noche)}
body.curso-integrado .hoy-casilla:active{background:rgba(255,255,255,.7)}
body.curso-integrado .hoy-casilla:focus-visible{outline:2px solid var(--fiordo);outline-offset:3px}
body.curso-integrado .hoy-semana{margin-top:18px}
body.curso-integrado .hoy-semana-titulo{margin:0 0 8px;font-family:var(--sg);font-size:.95rem;font-weight:700;color:var(--noche)}
body.curso-integrado .hoy-semana-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:420px}
body.curso-integrado .hoy-dia{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0 8px;border-radius:12px}
body.curso-integrado .hoy-dia-inicial{font-family:var(--sg);font-size:.82rem;font-weight:700;line-height:1;color:var(--fiordo)}
body.curso-integrado .hoy-dia-punto{display:block;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(44,90,114,.45)}
body.curso-integrado .hoy-dia.practicado .hoy-dia-punto{background:var(--aurora);box-shadow:none}
body.curso-integrado .hoy-dia.hoy{box-shadow:inset 0 0 0 1.5px var(--fiordo);background:rgba(255,255,255,.7)}
body.curso-integrado .hoy-dia.futuro{opacity:.45}
body.curso-integrado .hoy-semana-nota{margin:8px 0 0;font-size:.92rem;line-height:1.4;color:var(--tinta-suave)}
body.curso-integrado .hoy-recordatorio{margin-top:16px}
body.curso-integrado .hoy-recordatorio-fila{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 0;border:0;background:transparent;color:var(--noche);font-family:var(--sg);text-align:left;cursor:pointer}
body.curso-integrado .hoy-recordatorio-icono{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:rgba(44,90,114,.1);color:var(--fiordo)}
body.curso-integrado .hoy-recordatorio-icono svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.curso-integrado .hoy-recordatorio-txt{flex:1;min-width:0}
body.curso-integrado .hoy-recordatorio-titulo{display:block;font-size:1rem;font-weight:600}
body.curso-integrado .hoy-recordatorio-sub{display:block;font-size:.88rem;color:var(--tinta-suave)}
body.curso-integrado .hoy-recordatorio-sub[hidden],
body.curso-integrado .hoy-recordatorio-cuerpo[hidden]{display:none}
body.curso-integrado .hoy-chevron{flex:none;width:9px;height:15px;fill:none;stroke:var(--fiordo);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
body.curso-integrado .hoy-recordatorio-fila[aria-expanded="true"] .hoy-chevron{transform:rotate(90deg)}
body.curso-integrado .hoy-recordatorio-fila:focus-visible{outline:2px solid var(--fiordo);outline-offset:3px;border-radius:12px}
body.curso-integrado .hoy-recordatorio-cuerpo{padding:4px 0 8px}
body.curso-integrado .hoy-recordatorio-intro{margin:0 0 12px;font-size:1rem;line-height:1.5;color:var(--noche)}
body.curso-integrado .hoy-recordatorio-hora{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;font-family:var(--sg);font-size:.9rem;font-weight:700;color:var(--fiordo)}
/* WebKit no aplica la altura a un select con el aspecto nativo (medía 27 px): sin ese aspecto mide
   48 px y lleva su propia flecha (corrección del 01.10.2026). */
body.curso-integrado .hoy-recordatorio-hora select{-webkit-appearance:none;appearance:none;max-width:12rem;min-height:48px;padding:0 40px 0 14px;border:1.5px solid rgba(14,27,38,.35);border-radius:14px;background:var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%230E1B26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--noche);font-family:var(--sg);font-size:16px}
body.curso-integrado .hoy-recordatorio-hora select:focus-visible{outline:2px solid var(--fiordo);outline-offset:2px}
body.curso-integrado .hoy-recordatorio-nota{margin:12px 0 0;font-size:.92rem;line-height:1.45;color:var(--tinta-suave)}
body.curso-integrado .hoy-recordatorio-nota:empty{display:none}
html.es-app body.curso-integrado .app-hoy-diario{margin:26px 0 0}
html.es-app body.curso-integrado .app-hoy-diario .hoy-titulo{margin-left:4px;font-size:12px}
html.es-app body.curso-integrado .app-hoy-diario .hoy-semana-titulo{margin-left:4px}
html.es-app body.curso-integrado .app-hoy-diario .hoy-semana-nota{margin-left:4px}
html.es-app body.curso-integrado .app-hoy-diario .hoy-recordatorio{margin-top:18px}
/* Inicio de la app desde el 13.10.2026: «Esta semana» abre la pantalla, sin título grande encima;
   «Hoy» va debajo y la tarjeta del siguiente paso después. El recordatorio vive en la hoja «Más». */
html.es-app body.curso-integrado .app-inicio-limpio > .app-hoy-semana{margin-top:6px}
html.es-app body.curso-integrado .app-hoy-semana .hoy-semana{margin-top:0}
/* «Esta semana» y el botón sol/luna en la misma línea: título a la izquierda, botón a la derecha, los
   dos centrados en vertical; el botón acaba en el mismo borde que las casillas de «Hoy». */
html.es-app body.curso-integrado .app-semana-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
html.es-app body.curso-integrado .app-semana-cab .hoy-semana-titulo{margin:0 0 0 4px}
/* La pastilla PRO o Muestra acaba en el mismo borde que el botón, los días y las casillas: la cabecera
   del curso usa el margen derecho del contenido (12 px) en lugar de los 16 px de la fila de la marca. */
html.es-app body.curso-integrado > header .head-inner{padding-right:max(12px,env(safe-area-inset-right,0px))}
html.es-app body.curso-integrado .app-inicio-limpio > .app-hoy-casillas{margin-bottom:28px}
html.es-app body.curso-integrado .app-mas-hoja .hoy-recordatorio{margin:0 0 18px}
html.es-app body.curso-integrado .app-mas-hoja .hoy-recordatorio-fila{padding:8px 14px 8px 12px;min-height:var(--app-alto-fila)}
html.es-app body.curso-integrado .app-hoja-recordatorio .hoy-recordatorio-cuerpo{padding:0 10px 8px}
html.es-app body.curso-integrado .app-hoja-recordatorio .hoy-recordatorio-hora select{max-width:none;width:100%;min-height:50px;border-radius:16px}
@media (prefers-reduced-motion:reduce){
  body.curso-integrado .hoy-chevron{transition:none}
}
@media (max-width:359px){
  body.curso-integrado .hoy-casillas{gap:8px}
  body.curso-integrado .hoy-casilla{padding:10px}
  body.curso-integrado .hoy-casilla-nombre{font-size:.94rem}
}
@media (prefers-contrast:more){
  body.curso-integrado .hoy-casilla{box-shadow:inset 0 0 0 1px var(--fiordo)}
  body.curso-integrado .hoy-dia-punto{box-shadow:inset 0 0 0 1.5px var(--fiordo)}
  body.curso-integrado .hoy-dia.futuro{opacity:.7}
}
@media (forced-colors:active){
  body.curso-integrado .hoy-casilla{border:1px solid CanvasText}
  body.curso-integrado .hoy-dia-punto{border:1px solid CanvasText;forced-color-adjust:none}
  body.curso-integrado .hoy-dia.practicado .hoy-dia-punto{background:Highlight}
  body.curso-integrado .hoy-dia.hoy{outline:2px solid CanvasText}
}

/* Primer uso en la web: la pregunta «¿Desde dónde empiezas?» ocupa el lugar del siguiente paso. */
body.curso-integrado .inicio-pregunta h2{margin:0 0 14px}
body.curso-integrado .inicio-opciones{display:grid;gap:10px;max-width:560px}
body.curso-integrado .inicio-opcion{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;border:0;border-radius:18px;background:var(--blanco);box-shadow:var(--pa-sombra-grupo);color:var(--noche);font-family:var(--sg);text-align:left;cursor:pointer}
body.curso-integrado .inicio-opcion:focus-visible{outline:2px solid var(--fiordo);outline-offset:3px}
body.curso-integrado .inicio-opcion-txt{flex:1;min-width:0}
body.curso-integrado .inicio-opcion-titulo{display:block;font-size:1.05rem;font-weight:700}
body.curso-integrado .inicio-opcion-sub{display:block;margin-top:2px;font-size:.92rem;font-weight:500;color:var(--tinta-suave)}
body.curso-integrado .inicio-pie{margin:14px 0 0;font-family:var(--sg);font-size:.9rem;color:var(--tinta-suave)}
body.curso-integrado .punto-partida:not(.app-grupo){display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:8px 0 0;padding:12px 16px;border-radius:18px;background:var(--blanco);box-shadow:var(--pa-sombra-grupo)}
body.curso-integrado .punto-partida-abrir{display:flex;align-items:center;gap:12px;flex:1 1 240px;min-height:52px;padding:0;border:0;background:transparent;color:var(--noche);font-family:var(--sg);text-align:left;cursor:pointer}
/* Paso 0 (17.10.2026): la misma fila, como enlace a /norsk/instalar/. */
body.curso-integrado a.punto-partida-abrir{text-decoration:none}
body.curso-integrado .punto-partida:not(.app-grupo) .punto-partida-no{min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--fiordo);font-family:var(--sg);font-size:.95rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
body.curso-integrado :is(.punto-partida-abrir,.punto-partida-no):focus-visible{outline:2px solid var(--fiordo);outline-offset:3px;border-radius:12px}
@media (forced-colors:active){
  body.curso-integrado .inicio-opcion,
  body.curso-integrado .punto-partida{border:1px solid CanvasText}
}

/* «Con Larsito» en la lección: la escena, cómo empieza Larsito en noruego y la duración. «Hablar con
   Larsito» es el único botón relleno; la barra dice «Saltar por hoy» en estilo secundario. */
body.curso-integrado .larsito-escena{margin:6px 0 18px;padding:16px 18px;border-radius:20px;background:var(--blanco);box-shadow:var(--pa-sombra-grupo)}
body.curso-integrado .larsito-escena-titulo{margin:0 0 10px;font-family:var(--sg);font-size:1.12rem;font-weight:700;line-height:1.3;color:var(--noche)}
body.curso-integrado .larsito-escena-k{margin:0;font-family:var(--sg);font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--fiordo)}
body.curso-integrado .larsito-escena-frase{margin:4px 0 0;font-family:var(--sg);font-size:1.15rem;font-weight:500;line-height:1.4;color:var(--noche)}
body.curso-integrado .larsito-escena-duracion{margin:12px 0 0;font-family:var(--sg);font-size:.9rem;color:var(--tinta-suave)}
body.curso-integrado .larsito-escena-hecho{margin:6px 0 0;font-family:var(--sg);font-size:.9rem;font-weight:700;color:var(--fiordo)}
body.curso-integrado .larsito-escena [hidden]{display:none}
html.es-app body.curso-integrado .app-lector-barra .lector-continuar-interior > .app-lector-seguir.secundario{background:var(--blanco);box-shadow:var(--pa-sombra-sec);color:var(--noche)}
@media (forced-colors:active){
  body.curso-integrado .larsito-escena{border:1px solid CanvasText}
}

/* ---------- Progreso sincronizado · 01.10.2026 ----------
   «¿Es tuyo este progreso?» en la web: un diálogo blanco con los botones del curso. «No, apartarlo»
   es el principal y tiene el foco; cerrarlo sin elegir cuenta como «No». En la app es una hoja
   (norsk/app-ios.css). */
body.curso-integrado dialog.sincro-cuenta{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));height:fit-content;max-width:none;max-height:calc(100% - 32px);overflow:auto;padding:26px 24px 22px;border:0;border-radius:20px;background:var(--blanco);color:var(--noche);box-shadow:0 0 0 .5px rgba(14,27,38,.12),0 24px 60px -20px rgba(14,27,38,.45)}
body.curso-integrado dialog.sincro-cuenta::backdrop{background:rgba(14,27,38,.42)}
body.curso-integrado dialog.sincro-cuenta h2{margin:0 0 10px;font:700 1.3rem/1.25 var(--sg);letter-spacing:-.02em;color:var(--noche)}
body.curso-integrado dialog.sincro-cuenta .sincro-cuenta-texto{margin:0 0 18px;color:var(--tinta-suave);line-height:1.55}
body.curso-integrado dialog.sincro-cuenta .sincro-cuenta-botones{display:flex;flex-wrap:wrap;gap:10px}
body.curso-integrado dialog.sincro-cuenta .sincro-cuenta-botones .btn{flex:1 1 160px;margin:0}
@media (forced-colors:active){body.curso-integrado dialog.sincro-cuenta{border:1px solid CanvasText}}

/* Modo oscuro de la app (13.10.2026; ver «Modo oscuro» en app-ios.css). Los tokens ya se
   invierten allí; aquí solo cambia el color de las transparencias escritas a mano en este archivo. */
html.es-app.app-oscuro body.curso-integrado :is(.ejercicio .opcion-mc .letra,.ejercicio .btn.ghost:not(.sonando):not(.grabando),.item .cod,.hoy-casilla-icono,.hoy-recordatorio-icono){background:rgba(141,161,171,.14)}
html.es-app.app-oscuro body.curso-integrado .ejercicio .linea-respuesta{border-bottom-color:rgba(141,161,171,.55)}
html.es-app.app-oscuro body.curso-integrado :is(.ejercicio .campo-escribe,.teoria-controles input,.hoy-recordatorio-hora select){border-color:rgba(243,245,244,.3)}
html.es-app.app-oscuro body.curso-integrado .ejercicio-resuelto .opcion-mc:not(.bien):not(.mal){box-shadow:0 0 0 .5px rgba(243,245,244,.1)}
html.es-app.app-oscuro body.curso-integrado .item + .item{box-shadow:inset 0 1px 0 rgba(243,245,244,.1)}
html.es-app.app-oscuro body.curso-integrado .grupo-avance{background:rgba(141,161,171,.2)}
html.es-app.app-oscuro body.curso-integrado .tecla-nb:active{background:rgba(141,161,171,.2)}
html.es-app.app-oscuro body.curso-integrado .hoy-casilla:active{background:rgba(243,245,244,.1)}
html.es-app.app-oscuro body.curso-integrado .hoy-dia-punto{box-shadow:inset 0 0 0 1.5px rgba(141,161,171,.6)}
html.es-app.app-oscuro body.curso-integrado .hoy-dia.practicado .hoy-dia-punto{box-shadow:none}
html.es-app.app-oscuro body.curso-integrado .hoy-dia.hoy{background:rgba(243,245,244,.08)}
html.es-app.app-oscuro body.curso-integrado dialog.sincro-cuenta::backdrop{background:rgba(0,0,0,.5)}
