/* PAUM25 · hoja de estilos única
   Idea: cuaderno de estudio. Un solo gesto llamativo: el trazo de rotulador amarillo. */
[hidden]{display:none!important}
:root{
  --papel:#F6F7F4; --hoja:#FFFFFF; --tinta:#1B2430; --gris:#5E6B78; --linea:#D9DED8;
  --atlantico:#0F5E73; --atlantico-2:#0B4A5B; --atlantico-claro:#E3EEF0;
  --retama:#E8B321; --retama-suave:rgba(232,179,33,.42);
  --ok:#2E7D4F; --ok-bg:#E5F2EA; --old:#8A5A00; --old-bg:#FBF0D9; --none:#5E6B78; --none-bg:#ECEEEB;
  --mal:#B23B2E; --mal-bg:#FBE9E6;
  --serif:Charter,"Bitstream Charter","Sitka Text",Cambria,"Iowan Old Style",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ancho:72rem; --lectura:42rem; --radio:6px;
}
@media (prefers-color-scheme:dark){
  :root{--papel:#11171D;--hoja:#182129;--tinta:#E7ECEF;--gris:#A3B0BB;--linea:#2C3842;
    --atlantico:#5FB4C9;--atlantico-2:#8CCBDA;--atlantico-claro:#1C3139;--retama-suave:rgba(232,179,33,.32);
    --ok:#7CC79A;--ok-bg:#1A3024;--old:#E9B95A;--old-bg:#33280F;--none:#A3B0BB;--none-bg:#222B33;--mal:#F08A7C;--mal-bg:#3A1D19}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:7rem}
body{margin:0;background:var(--papel);color:var(--tinta);font:1.0625rem/1.6 var(--sans)}
a{color:var(--atlantico)} a:hover{color:var(--atlantico-2)}
:focus-visible{outline:3px solid var(--retama);outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;font-weight:700;letter-spacing:-.005em}
h1{font-size:clamp(1.85rem,4vw,2.6rem);margin:.2em 0 .3em}
h2{font-size:1.5rem;margin:0 0 .5em}
h3{font-size:1.18rem;margin:1.4em 0 .4em}
h4{font-size:1.02rem;margin:0 0 .5em}
mark{background:linear-gradient(transparent 52%,var(--retama-suave) 52%,var(--retama-suave) 92%,transparent 92%);color:inherit;padding:0 .08em}
code{font-size:.92em;background:var(--atlantico-claro);padding:.05em .3em;border-radius:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:.5rem;z-index:99;background:var(--hoja);padding:.5rem 1rem}

/* --- cabecera fija ------------------------------------------------------ */
.site-head{position:sticky;top:0;z-index:20;background:var(--hoja);border-bottom:1px solid var(--linea)}
.head-in{max-width:var(--ancho);margin:auto;padding:.55rem 1rem;display:flex;align-items:center;gap:1.25rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--tinta);flex:none}
.logo-mark{width:42px;height:42px}
.logo-text{display:flex;flex-direction:column;line-height:1.15}
.logo-text b{font-family:var(--serif);font-size:1.2rem;letter-spacing:.01em}
.logo-text small{font-size:.74rem;color:var(--gris)}
.nav{display:flex;align-items:center;gap:.25rem 1rem;flex:1;justify-content:flex-end;flex-wrap:wrap}
.nav-group{display:flex;align-items:center;gap:.1rem}
.nav-label{font-size:.72rem;color:var(--gris);margin-right:.35rem}
.nav-item{display:inline-block;padding:.35rem .5rem;color:var(--tinta);text-decoration:none;font-weight:500;font-size:.95rem;border-radius:4px;cursor:pointer;white-space:nowrap}
.nav-item:hover{background:var(--atlantico-claro);color:var(--tinta)}
/* el gesto: subrayado de rotulador en la asignatura activa */
.nav-item[aria-current="page"],.nav-more.is-current>summary{background:linear-gradient(transparent 55%,var(--retama) 55%,var(--retama) 90%,transparent 90%);font-weight:700}
@media (prefers-color-scheme:dark){.nav-item[aria-current="page"],.nav-more.is-current>summary{background:linear-gradient(transparent 60%,rgba(232,179,33,.55) 60%,rgba(232,179,33,.55) 92%,transparent 92%)}}
.nav-more{position:relative}
.nav-more>summary{list-style:none}.nav-more>summary::-webkit-details-marker{display:none}
.nav-more>summary::after{content:"";display:inline-block;margin-left:.35rem;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.nav-more ul{position:absolute;right:0;top:calc(100% + .4rem);margin:0;padding:.4rem;list-style:none;background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 12px 30px rgba(15,40,55,.14);min-width:16rem}
.nav-more li a{display:block;padding:.45rem .6rem;text-decoration:none;color:var(--tinta);border-radius:4px}
.nav-more li a:hover{background:var(--atlantico-claro)}
.nav-more li a[aria-current="page"]{font-weight:700;background:var(--retama-suave)}
.nav-search{display:inline-flex;align-items:center}
@media (max-width:900px){
  .head-in{flex-direction:column;align-items:stretch;gap:.35rem;padding:.5rem .75rem .35rem}
  .nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:.2rem}
  .nav::-webkit-scrollbar{display:none}
  .nav-group{flex:none}
  .nav-more ul{position:fixed;left:.75rem;right:.75rem;top:auto;min-width:0}
  .logo-mark{width:36px;height:36px}
}

/* --- estructura --------------------------------------------------------- */
.main{min-height:60vh}
.cols,.asig-head{max-width:var(--ancho);margin:0 auto;padding:0 1rem}
.asig-head{padding-top:1.6rem;padding-bottom:.4rem}
.migas{font-size:.88rem;color:var(--gris);margin:0}
.migas a{color:var(--gris)}
.asig-rama{color:var(--gris);margin:.1rem 0 1rem}
.subnav{display:flex;gap:.25rem 1.25rem;border-bottom:1px solid var(--linea);overflow-x:auto;scrollbar-width:none}
.subnav a{padding:.5rem 0;text-decoration:none;color:var(--tinta);font-weight:600;font-size:.95rem;white-space:nowrap;border-bottom:3px solid transparent}
.subnav a:hover{border-bottom-color:var(--retama)}
.subnav-wrap{flex-wrap:wrap}
.bloque{padding:2rem 0;border-bottom:1px solid var(--linea)}
.bloque:last-child{border-bottom:0}
.lead,.lead-s{font-size:1.15rem;max-width:var(--lectura)}
.lead-s{font-size:1.06rem;margin:.6rem 0 1rem}
.nota{color:var(--gris);font-size:.92rem}
.intro-sec{max-width:var(--lectura);color:var(--gris)}

/* --- portada ------------------------------------------------------------ */
.hero{background:var(--hoja);border-bottom:1px solid var(--linea)}
.hero-in{max-width:var(--ancho);margin:auto;padding:3rem 1rem 2.4rem}
.hero h1{max-width:20ch;font-size:clamp(2.1rem,5.2vw,3.4rem);margin-top:0}
.aviso{max-width:var(--lectura);font-size:.98rem;border-left:4px solid var(--retama);padding:.2rem 0 .2rem 1rem;margin-top:1.5rem}
.home .cols,.main>.bloque{max-width:var(--ancho);margin:0 auto;padding-left:1rem;padding-right:1rem}
.formula{display:flex;align-items:stretch;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.f-term{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:1rem 1.2rem;flex:1 1 12rem;display:flex;flex-direction:column}
.f-res{border-color:var(--atlantico);box-shadow:inset 0 0 0 1px var(--atlantico)}
.f-name{font-family:var(--serif);font-weight:700;font-size:1.2rem}
.f-sub{color:var(--gris);font-size:.92rem}
.f-min{font-family:var(--serif);font-size:1.7rem;margin-top:.4rem}
.f-op{align-self:center;font-family:var(--serif);font-size:1.6rem;color:var(--gris)}
.comunes{list-style:none;margin:0;padding:0;display:grid;gap:0}
.comun{padding:1.2rem 0;border-top:1px solid var(--linea)}
.comun:first-child{border-top:0}
.comun-head{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline}
.comun h3{margin:0;font-size:1.35rem}
.comun h3 a{color:var(--tinta);text-decoration:none}
.comun h3 a:hover{text-decoration:underline;text-decoration-color:var(--retama);text-decoration-thickness:3px}
.comun p{max-width:var(--lectura)}
.acciones{display:flex;gap:.6rem;flex-wrap:wrap}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media (max-width:760px){.dos{grid-template-columns:1fr}.f-op{display:none}}
.pasos{padding-left:1.3rem}.pasos li{margin:.35rem 0}

/* --- barra de puntos ----------------------------------------------------- */
.barra{display:flex;height:2.2rem;margin:.8rem 0 1rem;max-width:var(--lectura);border-radius:var(--radio);overflow:hidden;border:1px solid var(--linea)}
.barra span{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:.85rem;color:var(--hoja);background:var(--atlantico);border-right:2px solid var(--hoja);min-width:2.2rem;white-space:nowrap}
.barra span:nth-child(2n){background:var(--atlantico-2)}
.barra span:last-child{border-right:0}
.barra b{font-weight:700;opacity:.85}

/* --- estados ------------------------------------------------------------- */
.estado{display:inline-block;font-size:.8rem;font-weight:600;padding:.12rem .55rem;border-radius:999px;vertical-align:middle}
.estado-ok{background:var(--ok-bg);color:var(--ok)}
.estado-old{background:var(--old-bg);color:var(--old)}
.estado-none{background:var(--none-bg);color:var(--none)}
.lock{font-size:.72rem;margin-left:.45rem;padding:.05rem .4rem;border:1px solid var(--linea);border-radius:999px;color:var(--gris)}

/* --- tablas -------------------------------------------------------------- */
.tabla-scroll{overflow-x:auto;margin:1rem 0}
.tabla{border-collapse:collapse;width:100%;font-size:.96rem;background:var(--hoja)}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--linea)}
.tabla thead th{font-size:.82rem;color:var(--gris);font-weight:600;border-bottom:2px solid var(--linea)}
.tabla tbody th{font-weight:600}
.tabla .pts{font-family:var(--serif);font-weight:700;font-size:1.1rem;white-space:nowrap}
.tabla tr.destacada th,.tabla tr.destacada td{background:var(--atlantico-claro)}
.compacta{font-size:.9rem}.compacta td,.compacta th{padding:.4rem .6rem}

/* --- asignatura ---------------------------------------------------------- */
.notas{max-width:var(--lectura);padding-left:1.2rem}.notas li{margin:.3rem 0}
.temario{padding-left:0;list-style:none;counter-reset:t;max-width:56rem}
.temario li{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.7rem 0;border-bottom:1px dashed var(--linea)}
.t-tit{font-weight:600}
.t-nota{grid-column:1;color:var(--gris);font-size:.88rem}
.refs{grid-column:2;grid-row:1/span 2;display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;align-items:flex-start;max-width:22rem}
@media (max-width:640px){.temario li{grid-template-columns:1fr}.refs{grid-column:1;grid-row:auto;justify-content:flex-start}}
.ref{display:inline-block;font-size:.8rem;font-weight:600;padding:.12rem .45rem;border:1px solid var(--linea);border-radius:4px;text-decoration:none;color:var(--atlantico);background:var(--hoja)}
.ref:hover{border-color:var(--atlantico)}
.ref.hecha{background:var(--ok-bg);border-color:var(--ok-bg);color:var(--ok)}
.ref-ent{color:var(--tinta);background:var(--retama-suave);border-color:transparent}
.ref-falta{font-size:.8rem;color:var(--mal)}
.lecciones{columns:2 22rem;padding-left:0;list-style:none}
.lecciones li{break-inside:avoid;padding:.25rem 0}
.lecciones a{text-decoration:none;color:var(--tinta)}.lecciones a:hover{color:var(--atlantico)}
.lecciones a.hecha::after{content:" ✓";color:var(--ok);font-weight:700}
.lid{font-family:var(--serif);font-weight:700;color:var(--atlantico);margin-right:.2rem}
.complementarias{margin-top:1rem}.complementarias summary{cursor:pointer;font-weight:600}
.practica{list-style:none;padding:0;margin:0}
.practica li{display:flex;gap:1rem;align-items:center;padding:.55rem 0;flex-wrap:wrap}
.practica li span{color:var(--gris);font-size:.94rem;flex:1 1 18rem}
.fuentes{padding-left:1.2rem}.fuentes li{margin:.35rem 0}

/* --- botones y campos --------------------------------------------------- */
.btn{display:inline-block;font:600 .95rem var(--sans);padding:.55rem 1rem;border-radius:var(--radio);border:1px solid var(--atlantico);background:var(--atlantico);color:#fff;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--atlantico-2);color:#fff}
.btn-sec{background:transparent;color:var(--atlantico)}
.btn-sec:hover{background:var(--atlantico-claro);color:var(--atlantico-2)}
@media (prefers-color-scheme:dark){.btn{color:#0E1A20}.btn:hover{color:#0E1A20}.btn-sec,.btn-sec:hover{color:var(--atlantico-2)}}
.campo,textarea,input[type=number]{font:inherit;color:var(--tinta);background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:.6rem .75rem}
.campo{width:100%;max-width:36rem;margin:.4rem 0 1rem}
textarea{width:100%;max-width:var(--lectura);display:block}

/* --- lección ------------------------------------------------------------- */
.leccion{max-width:var(--lectura);margin:0 auto;padding:1.6rem 1rem 3rem}
.leccion h1{font-size:clamp(1.7rem,3.6vw,2.3rem)}
.meta{color:var(--gris);margin-top:0}
.prosa{font-family:var(--serif);font-size:1.12rem;line-height:1.7;max-width:var(--lectura)}
.prosa h2{font-size:1.3rem;margin:1.8em 0 .4em;font-family:var(--serif)}
.prosa h3{font-size:1.1rem}
.prosa ul,.prosa ol{padding-left:1.3rem}
.prosa li{margin:.25rem 0}
.prosa table{border-collapse:collapse;font-family:var(--sans);font-size:.95rem;margin:1rem 0}
.prosa th,.prosa td{border:1px solid var(--linea);padding:.35rem .6rem}
.prosa details{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:.6rem .9rem;font-family:var(--sans);font-size:1rem}
.prosa summary{cursor:pointer;font-weight:600;color:var(--atlantico)}
.prosa .modelo{background:var(--hoja);border-left:4px solid var(--retama);padding:.6rem .9rem;font-family:var(--sans);font-size:1rem}
.prosa .nota{font-family:var(--sans)}
.autoeval{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid var(--tinta)}
.origen{margin-top:2rem}
.lec-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--linea);font-size:.92rem}

/* --- preguntas y ejercicios ---------------------------------------------- */
.pregunta{padding:.9rem 0;border-bottom:1px solid var(--linea)}
.pregunta:last-child{border-bottom:0}
.pregunta>p{margin:.1rem 0 .5rem;font-weight:600}
.opciones{display:flex;flex-direction:column;gap:.35rem}
.opciones.fila{flex-direction:row;flex-wrap:wrap}
.opcion{font:inherit;font-size:.98rem;text-align:left;padding:.5rem .75rem;border:1px solid var(--linea);border-radius:var(--radio);background:var(--hoja);color:var(--tinta);cursor:pointer}
.opcion:hover:not(:disabled){border-color:var(--atlantico)}
.opcion.bien{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);font-weight:600}
.opcion.mal{background:var(--mal-bg);border-color:var(--mal);color:var(--mal)}
.opcion:disabled{cursor:default}
.fb{font-size:.94rem;margin:.45rem 0 0;min-height:1.2em}
.fb.bien{color:var(--ok)}.fb.mal{color:var(--mal)}
.ejercicio{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:1.1rem 1.2rem;margin:1.2rem 0;max-width:52rem}
.ej-marcador{font-weight:600;margin-top:.8rem}
.texto-base{background:var(--hoja);border:1px solid var(--linea);border-left:4px solid var(--atlantico);padding:.8rem 1.1rem;margin:1rem 0;max-width:52rem;font-family:var(--serif)}
.texto-ej{font-family:var(--serif);background:var(--papel);padding:.7rem .9rem;border-radius:var(--radio);margin:0 0 .6rem}
.pts-badge{font-family:var(--sans);font-size:.78rem;font-weight:700;background:var(--retama-suave);padding:.12rem .45rem;border-radius:4px;vertical-align:middle;color:var(--tinta)}
.emparejar label{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.6rem;align-items:center;padding:.35rem 0}
.emparejar select,.ordenar select{font:inherit;padding:.4rem;border-radius:var(--radio);border:1px solid var(--linea);background:var(--hoja);color:var(--tinta);max-width:100%}
@media (max-width:640px){.emparejar label{grid-template-columns:1fr}}
.ordenar ol{padding-left:0;list-style:none}.ordenar li{display:flex;gap:.6rem;align-items:flex-start;padding:.35rem 0}
.check{list-style:none;padding:0}.check label{display:flex;gap:.5rem;align-items:flex-start;padding:.2rem 0}
.plan{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:1.1rem 1.3rem;margin:1rem 0 0;max-width:52rem}
.plan-l{list-style:none;padding:0;margin:0}
.plan-l li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--linea)}
.entreno .prosa{font-size:1.05rem}
.test-rapido{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:1rem 1.2rem;margin-top:1rem;max-width:52rem}
.marcador{font-weight:700;margin-top:.8rem}

/* --- simulacro ------------------------------------------------------------ */
.crono{display:flex;align-items:center;gap:1rem;margin:.8rem 0}
.crono-t{font-family:var(--serif);font-size:1.4rem;font-variant-numeric:tabular-nums}
.texto-examen .prosa p{text-align:left}
.cuestion{padding:1rem 0 1.4rem;border-bottom:1px solid var(--linea)}
.cuestion h3{margin-top:0;font-size:1.08rem;font-family:var(--sans);font-weight:600;line-height:1.45}
.contador{font-size:.85rem;color:var(--gris);margin:.2rem 0}
.modelo>summary{cursor:pointer;font-weight:600;color:var(--atlantico);margin:.5rem 0}
.rubrica{margin-top:1rem;padding-top:.6rem;border-top:1px dashed var(--linea)}
.rubrica label{display:flex;gap:.5rem;align-items:baseline;padding:.2rem 0}
.nota-sim{font-family:var(--serif);font-size:1.5rem;margin:1.2rem 0}

/* --- utilidades: glosario, buscador, tabla periódica ---------------------- */
.glos{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.4rem 2rem;margin:0}
.glos div{padding:.5rem 0;border-bottom:1px dashed var(--linea)}
.glos dt{font-weight:700}.glos dd{margin:0;color:var(--gris)}
.resultados{list-style:none;padding:0}
.resultados li{padding:.7rem 0;border-bottom:1px solid var(--linea)}
.resultados a{font-weight:600;text-decoration:none}
.resultados small{color:var(--gris);display:block}
.periodic-scroll{overflow-x:auto;padding:1rem 0}
.periodic{display:grid;grid-template-columns:repeat(18,minmax(2.6rem,1fr));gap:3px;min-width:52rem}
.el{font:inherit;font-size:.7rem;line-height:1.1;padding:.25rem .1rem;border:1px solid var(--linea);background:var(--hoja);color:var(--tinta);border-radius:3px;cursor:pointer;text-align:center}
.el b{display:block;font-family:var(--serif);font-size:1rem}
.el:hover,.el.sel{border-color:var(--atlantico);background:var(--atlantico-claro)}
.elemento{font-size:1.05rem;min-height:1.6em}
.calc{display:flex;gap:1rem;flex-wrap:wrap}.calc label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem}
.calc input{width:7rem}

/* --- pie ------------------------------------------------------------------ */
.site-foot{border-top:1px solid var(--linea);background:var(--hoja);margin-top:3rem}
.foot-in{max-width:var(--ancho);margin:auto;padding:1.5rem 1rem 2rem;font-size:.9rem;color:var(--gris)}
.foot-in a{color:var(--gris)}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-head,.site-foot,.subnav,.lec-nav,.autoeval,.crono{display:none}body{background:#fff}}
.ej-pie{display:flex;gap:.6rem;margin-top:.6rem}.ej-progreso{font-size:.85rem;color:var(--gris);margin:0 0 .2rem}
.ejercicio .pregunta{border-bottom:0;padding-top:.2rem}
.hero-in{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(16rem,1fr);gap:3rem;align-items:end}
.hero-aside{border-top:3px solid var(--tinta);padding-top:.8rem}
.hero-aside h2{font-size:1.1rem;margin-bottom:.3rem}
.hero-aside ul{list-style:none;padding:0;margin:0}
.hero-aside li{border-bottom:1px solid var(--linea)}
.hero-aside a{display:block;padding:.6rem 0;text-decoration:none;color:var(--tinta);font-weight:500}
.hero-aside a:hover{color:var(--atlantico);background:linear-gradient(transparent 70%,var(--retama-suave) 70%)}
@media (max-width:860px){.hero-in{grid-template-columns:1fr;gap:1.5rem}}
.num-fila{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.campo-num{font:inherit;width:9rem;padding:.45rem .6rem;border:1px solid var(--linea);border-radius:var(--radio);background:var(--hoja);color:var(--tinta)}.unidad{color:var(--gris);min-width:2rem}.solucion{background:var(--papel);border-left:4px solid var(--retama);padding:.5rem .8rem;margin-top:.4rem;font-family:var(--serif)}
/* --- diagramas explicativos --------------------------------------------- */
.diagrama{margin:1.6rem 0;max-width:44rem;background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:1rem 1rem .6rem}
.diagrama svg{display:block;width:100%;height:auto;color:var(--tinta);font-family:var(--sans)}
.diagrama figcaption{font-family:var(--sans);font-size:.92rem;color:var(--gris);margin-top:.6rem;line-height:1.45}
.d-l{stroke:currentColor;fill:none;stroke-width:1.5}
.d-l2{stroke:var(--retama);fill:none;stroke-width:2.5}
.d-a{stroke:var(--atlantico);fill:none;stroke-width:2.5}
.d-gruesa{stroke-width:5}
.d-dash{stroke-dasharray:6 5}
.d-grid{stroke:var(--linea);stroke-width:1}
.d-t{fill:currentColor;font-size:14px}
.d-ts{fill:var(--gris);font-size:12.5px}
.d-ta{fill:var(--atlantico);font-size:14px;font-weight:700}
.d-af{fill:var(--atlantico);stroke:none}
.d-hueco{fill:var(--hoja);stroke:var(--atlantico);stroke-width:2.5}
.d-fl{fill:currentColor}.d-fla{fill:var(--atlantico)}
.d-caja{fill:var(--papel);stroke:var(--linea);stroke-width:1.5}
.d-caja-a{fill:var(--retama-suave);stroke:var(--retama);stroke-width:1.5}
.d-barra{fill:var(--atlantico)}.d-barra2{fill:var(--retama)}
.d-relleno{fill:var(--retama-suave);stroke:none}
.d-marca-l{stroke:var(--retama);stroke-width:7;stroke-linecap:round;opacity:.8}
.d-ph-a{fill:var(--retama-suave);stroke:var(--hoja)}.d-ph-b{fill:var(--atlantico-claro);stroke:var(--hoja)}
.d-halo{paint-order:stroke;stroke:var(--hoja);stroke-width:5px;stroke-linejoin:round}
@media (max-width:1380px) and (min-width:901px){.nav-label{display:none}.nav{gap:.25rem .5rem}.nav-item{padding:.35rem .4rem}}
.subnav-wrap{overflow:visible}.subnav-wrap a{white-space:normal}
@media (max-width:640px){.subnav-wrap{flex-direction:column;gap:0}.subnav-wrap a{padding:.35rem 0;border-bottom:1px dashed var(--linea)}}

/* --- galería de esquemas -------------------------------------------------- */
.galeria{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}
.esq{display:flex;flex-direction:column;height:100%;background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:.8rem;text-decoration:none;color:var(--tinta);transition:border-color .15s,box-shadow .15s}
.esq:hover{border-color:var(--atlantico);box-shadow:0 6px 18px rgba(15,40,55,.10);color:var(--tinta)}
.esq-img{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.esq-img svg{display:block;width:100%;height:100%;color:var(--tinta);font-family:var(--sans)}
.esq-pie{font-size:.86rem;color:var(--gris);line-height:1.4;margin-top:.6rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* --- preguntas frecuentes ---------------------------------------------- */
.faq-item{border-bottom:1px solid var(--linea);max-width:var(--lectura)}
.faq-item summary{cursor:pointer;padding:.8rem 0;font-weight:600;list-style-position:inside}
.faq-resp{padding:0 0 .9rem;color:var(--tinta)}
.faq-resp p,.faq-resp ul,.faq-resp ol{margin:.3rem 0}

/* --- horario de clases ---------------------------------------------------- */
:root{--g1:#D9614C;--g1-bg:#FBE8E4;--g2:#3F7FCB;--g2-bg:#E3EDF9;--g3:#D9B60F;--g3-bg:#FBF4CF;--g3-tx:#6B5900}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--g1:#E7836F;--g1-bg:#3A2420;--g2:#6EA3E0;--g2-bg:#1D2C40;--g3:#E8C93A;--g3-bg:#363013;--g3-tx:#F0D873}}
:root[data-theme="dark"]{--g1:#E7836F;--g1-bg:#3A2420;--g2:#6EA3E0;--g2-bg:#1D2C40;--g3:#E8C93A;--g3-bg:#363013;--g3-tx:#F0D873}
.asig-clases{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .5rem;font-size:.92rem;color:var(--gris);margin:.2rem 0 .8rem}
.g-dots{display:inline-flex;gap:3px;flex:none}
.g-dots i{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}
i.g1,.h-leyenda .g1 i,.hv-pill.g1 i{background:var(--g1)} i.g2,.h-leyenda .g2 i,.hv-pill.g2 i{background:var(--g2)} i.g3,.h-leyenda .g3 i,.hv-pill.g3 i{background:var(--g3)}
.h-leyenda{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.35rem;font-size:.95rem}
.h-leyenda li{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.h-leyenda i{width:1.6rem;height:.85rem;border-radius:3px;flex:none;align-self:center}
.h-leyenda span{color:var(--gris)}
.h-leyenda .compartida i{background:repeating-linear-gradient(135deg,var(--g1) 0 6px,var(--g3) 6px 12px)}
.hv{position:absolute;opacity:0;pointer-events:none}
.hv-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.hv-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .9rem;border:1px solid var(--linea);border-radius:999px;background:var(--hoja);cursor:pointer;font-weight:600;font-size:.92rem}
.hv-pill i{width:.75rem;height:.75rem;border-radius:50%}
#hv-todos:checked~.hv-pills label[for=hv-todos],#hv-1:checked~.hv-pills label[for=hv-1],#hv-2:checked~.hv-pills label[for=hv-2],#hv-3:checked~.hv-pills label[for=hv-3]{background:var(--atlantico);border-color:var(--atlantico);color:#fff}
.hv:focus-visible~.hv-pills{outline:3px solid var(--retama);outline-offset:4px;border-radius:999px}
.hgrid{display:none;grid-template-columns:3.6rem repeat(calc(4 * var(--calles)),minmax(4.9rem,1fr));overflow-x:auto;grid-auto-rows:minmax(1.7rem,auto);gap:3px;background:var(--hoja);border:1px solid var(--linea);border-radius:var(--radio);padding:.6rem .6rem 1.2rem;margin:.5rem 0 1rem}
#hv-todos:checked~#hg-todos,#hv-1:checked~#hg-1,#hv-2:checked~#hg-2,#hv-3:checked~#hg-3{display:grid}
.hg-dia{grid-row:1;text-align:center;font-weight:700;padding:.45rem 0;border-bottom:2px solid var(--linea)}
.hg-dia.hoy{border-bottom-color:var(--retama)} .hg-dia.hoy::after{content:" · hoy";font-weight:500;color:var(--gris)}
.hg-calle{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;border-radius:3px;padding:.1rem 0}
.hg-calle.g1{color:var(--g1);background:var(--g1-bg)} .hg-calle.g2{color:var(--g2);background:var(--g2-bg)} .hg-calle.g3{color:var(--g3-tx);background:var(--g3-bg)}
.hg-hora{grid-column:1;position:relative;border-top:1px dashed var(--linea);font-size:.78rem;color:var(--gris)}
.hg-hora span{position:absolute;top:-.6em;left:0;background:var(--hoja);padding-right:.25rem}
.hg-hora span.fin{top:auto;bottom:-.6em}
.hg-libre{background:repeating-linear-gradient(45deg,transparent 0 6px,var(--papel) 6px 8px);border-radius:4px;opacity:.8}
.hg-celda{display:flex;min-width:0}
.hclase{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.5rem .5rem .5rem .65rem;border-radius:5px;text-decoration:none;color:var(--tinta);border-left:5px solid;font-size:.82rem;line-height:1.3;overflow-wrap:normal;transition:transform .12s,box-shadow .12s}
.hclase:hover{color:var(--tinta);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,40,55,.15)}
.hclase b{font-size:.82rem}
#hg-todos .hclase{padding:.45rem .35rem .45rem .45rem;border-left-width:4px}#hg-todos .hclase.compartida{padding-left:.45rem}
.hclase .nc{display:none}
.hclase.g1{background:var(--g1-bg);border-color:var(--g1)} .hclase.g2{background:var(--g2-bg);border-color:var(--g2)} .hclase.g3{background:var(--g3-bg);border-color:var(--g3)}
.hclase.compartida{border-left:0;padding-left:.5rem;border-top:6px solid transparent;border-image:repeating-linear-gradient(90deg,var(--g1) 0 10px,var(--g3) 10px 20px) 6;background:linear-gradient(90deg,var(--g1-bg),var(--g3-bg))}
.hc-aula{color:var(--gris)} .hc-comp{font-size:.74rem;font-weight:600;color:var(--gris)} .hc-prof{font-size:.78rem;color:var(--gris)}
#hg-1 .hclase,#hg-2 .hclase,#hg-3 .hclase{font-size:.92rem;padding:.7rem .8rem} #hg-1 .hclase b,#hg-2 .hclase b,#hg-3 .hclase b{font-size:1rem;white-space:normal}
.hlista{display:none}
.hl-dia h3{margin:1.2rem 0 .4rem;font-size:1.05rem}
.hl-dia.hoy h3::after{content:" · hoy";color:var(--gris);font-weight:500}
.hl-dia ul{list-style:none;margin:0;padding:0}
.hl-dia li{display:grid;grid-template-columns:5.6rem auto 1fr;gap:.5rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid var(--linea)}
.hl-hora{font-size:.85rem;color:var(--gris);font-variant-numeric:tabular-nums}
.hl-txt small{display:block;color:var(--gris);font-size:.82rem}
#hv-1:checked~.hlista li:not(.g1),#hv-2:checked~.hlista li:not(.g2),#hv-3:checked~.hlista li:not(.g3){display:none}
@media (max-width:760px){#hg-todos{display:none!important}.hlista{display:block}
  #hv-1:checked~.hlista,#hv-2:checked~.hlista,#hv-3:checked~.hlista{display:none}
  .hgrid{grid-template-columns:2.6rem repeat(4,minmax(0,1fr));overflow:visible;padding:.4rem .3rem 1.2rem}
  #hg-1 .hclase,#hg-2 .hclase,#hg-3 .hclase{font-size:.74rem;padding:.45rem .35rem .45rem .45rem;border-left-width:4px}
  #hg-1 .hclase b,#hg-2 .hclase b,#hg-3 .hclase b{font-size:.76rem;white-space:normal;overflow:visible}
  .hg-dia{font-size:.82rem}
  .h-leyenda li{display:block}
  .hclase .nl,.hclase .hc-prof{display:none}.hclase .nc{display:inline}}
@media print{.hv-pills,.site-head,.site-foot{display:none}.hgrid{display:none!important}#hg-todos{display:grid!important}}

/* --- teclas y pantallas de la calculadora -------------------------------- */
kbd.tecla{display:inline-flex;align-items:center;justify-content:center;gap:.25em;min-width:1.9em;height:1.75em;padding:0 .45em;margin:0 .08em;border:1px solid #9AA6B2;border-bottom-width:3px;border-radius:.55em;background:linear-gradient(#fff,#EEF1F4);color:#1B2430;font:600 .82em/1 var(--sans);vertical-align:.08em;white-space:nowrap;box-shadow:0 1px 0 rgba(0,0,0,.05)}
kbd.tecla sup,kbd.tecla sub{font-size:.7em;line-height:0}
kbd.tecla i{font-family:Georgia,serif;font-size:1.1em}
kbd.t-ico span{font-size:.78em;font-weight:600;letter-spacing:.02em}
kbd.t-ico span:empty{display:none}
kbd.t-ico svg{flex:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) kbd.tecla{background:linear-gradient(#2A3540,#1E2830);color:#E7ECEF;border-color:#55636F}}
:root[data-theme="dark"] kbd.tecla{background:linear-gradient(#2A3540,#1E2830);color:#E7ECEF;border-color:#55636F}
.prosa table kbd.tecla{font-size:.8em}
.pantalla-fig{margin:1.2rem 0;max-width:22rem}
.pantalla{display:block;width:100%;height:auto}
.pantalla .lcd{fill:#DCE3D5;stroke:#4B5560;stroke-width:2}
.pantalla .lcd-sel{fill:#1E2620}
.pantalla .lcd-tx{fill:#1E2620;font:600 14px ui-monospace,Consolas,"DejaVu Sans Mono",monospace}
.pantalla .lcd-tx-inv{fill:#DCE3D5;font:600 14px ui-monospace,Consolas,"DejaVu Sans Mono",monospace}
.pantalla .lcd-pq{font-size:10px;font-family:var(--sans)}
.pantalla .lcd-gr{font-size:20px}
.pantalla .lcd-ind{fill:#1E2620;font:600 9px var(--sans)}
.pantalla .lcd-tx-ico{fill:#1E2620}.pantalla .lcd-tx-inv-ico{fill:#DCE3D5}
.pantalla-fig figcaption{font-size:.9rem;color:var(--gris);margin-top:.4rem;line-height:1.45}

/* --- recuadros de las lecciones --------------------------------------------- */
:root{--c-concepto:#0F5E73;--c-pasos:#4F55B8;--c-ejemplo:#2E7D4F;--c-error:#B23B2E;--c-tu:#B07D00;--c-sol:#2E7D4F;
  --bg-concepto:#EAF3F5;--bg-pasos:#EEEFFA;--bg-ejemplo:#EAF5EE;--bg-error:#FBECE9;--bg-tu:#FFF7DD;--bg-sol:#F1F8F3;--bg-chuleta:#FFF9DB}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c-concepto:#6FC0D4;--c-pasos:#A3A8F0;--c-ejemplo:#7CCB98;--c-error:#F08A7C;--c-tu:#F0C44E;--c-sol:#7CCB98;
  --bg-concepto:#16282E;--bg-pasos:#1D1F33;--bg-ejemplo:#16261C;--bg-error:#311B18;--bg-tu:#2E2711;--bg-sol:#17241B;--bg-chuleta:#2B2814}}
:root[data-theme="dark"]{--c-concepto:#6FC0D4;--c-pasos:#A3A8F0;--c-ejemplo:#7CCB98;--c-error:#F08A7C;--c-tu:#F0C44E;--c-sol:#7CCB98;
  --bg-concepto:#16282E;--bg-pasos:#1D1F33;--bg-ejemplo:#16261C;--bg-error:#311B18;--bg-tu:#2E2711;--bg-sol:#17241B;--bg-chuleta:#2B2814}
.leccion{max-width:46rem}
.prosa-cajas{max-width:none}
.caja{--c:var(--atlantico);--bg:var(--hoja);position:relative;margin:1.3rem 0;padding:1rem 1.25rem 1.05rem;background:var(--bg);border:1px solid var(--linea);border-left:5px solid var(--c);border-radius:10px}
.caja>h2{margin:.1rem 0 .55rem;font-size:1.22rem}
.caja>:last-child{margin-bottom:0}
.caja-etq{display:flex;align-items:center;gap:.4rem;margin:0 0 .15rem;font:700 .74rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--c)}
.caja-concepto{--c:var(--c-concepto);--bg:var(--bg-concepto)}
.caja-pasos{--c:var(--c-pasos);--bg:var(--bg-pasos)}
.caja-ejemplo{--c:var(--c-ejemplo);--bg:var(--bg-ejemplo)}
.caja-error{--c:var(--c-error);--bg:var(--bg-error)}
.caja-tu{--c:var(--c-tu);--bg:var(--bg-tu);border:2px solid var(--c);border-left-width:6px;box-shadow:0 6px 18px rgba(176,125,0,.12)}
.caja-tu>p:not(.caja-etq){font-size:1.2rem;line-height:1.55;font-weight:600}
.caja-solucion{--c:var(--c-sol);--bg:var(--bg-sol);margin-top:-.4rem}
.caja-solucion details{background:transparent;border:0;padding:0}
.caja-chuleta{--c:var(--c-tu);--bg:var(--bg-chuleta);border:1px dashed var(--c);border-left:5px solid var(--c);font-family:var(--sans);font-size:1rem}
.caja-neutra{border-left-color:var(--linea)}
.caja .diagrama{background:var(--hoja)}
/* pasos numerados con círculos */
.caja-pasos ol{list-style:none;counter-reset:paso;padding-left:0}
.caja-pasos ol>li{counter-increment:paso;position:relative;padding-left:2.4rem;margin:.55rem 0}
.caja-pasos ol>li::before{content:counter(paso);position:absolute;left:0;top:.05rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--c);color:var(--hoja);font:700 .9rem/1.7rem var(--sans);text-align:center}
.caja-error ul{padding-left:1.1rem}
.leccion h1 .lid{display:inline-block;font:700 .55em/1 var(--sans);vertical-align:.35em;padding:.35em .55em;border-radius:6px;background:var(--atlantico);color:#fff;margin-right:.25em}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .leccion h1 .lid{color:#0E1A20}}
@media (max-width:640px){.caja{padding:.85rem .9rem;margin-left:-.25rem;margin-right:-.25rem}.caja-tu>p:not(.caja-etq){font-size:1.08rem}}

/* --- imagen de cabecera de cada asignatura ------------------------------- */
.asig-top{display:flex;align-items:center;gap:1.5rem 2rem;justify-content:space-between}
.asig-top-txt{min-width:0;flex:1}
.asig-banner{flex:none;width:min(360px,38%);}
.asig-banner img,.comun-img img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 10px 26px rgba(15,40,55,.18)}
@media (max-width:720px){.asig-top{flex-direction:column-reverse;align-items:stretch}.asig-banner{width:100%}}
/* portada: miniaturas en las tarjetas de asignatura */
.comun.con-img{display:grid;grid-template-columns:200px 1fr;column-gap:1.4rem;align-items:start}
.comun.con-img>a{grid-row:1/span 4}
.comun-img img{box-shadow:0 6px 16px rgba(15,40,55,.15)}
@media (max-width:640px){.comun.con-img{grid-template-columns:1fr}.comun.con-img>a{grid-row:auto;margin-bottom:.6rem}}

/* --- entrenadores: enunciados destacados ---------------------------------- */
.entreno>.prosa{background:var(--bg-concepto);border-left:5px solid var(--c-concepto);border-radius:10px;padding:.9rem 1.2rem;max-width:52rem}
.ejercicio{border:2px solid var(--c-tu);border-left-width:6px;background:var(--hoja);border-radius:10px}
.ejercicio>h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .8rem;font-size:1.12rem}
.ejercicio>h4::before{content:"Ejercicio";font:700 .72rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;background:var(--c-tu);color:var(--hoja);padding:.35em .55em;border-radius:5px}
.numeros{counter-reset:item}
.numeros>div{counter-increment:item;position:relative;padding:.8rem 0 .9rem 2.4rem;border-top:1px dashed var(--linea)}
.numeros>div:first-child{border-top:0}
.numeros>div::before{content:counter(item);position:absolute;left:0;top:.85rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--bg-tu);color:var(--c-tu);border:2px solid var(--c-tu);font:700 .85rem/1.55rem var(--sans);text-align:center}
.numeros label{font-weight:650;font-size:1.06rem}
.leccion .autoeval{background:var(--hoja);border:1px solid var(--linea);border-top:5px solid var(--c-pasos);border-radius:10px;padding:1rem 1.25rem;margin-top:2rem}
.leccion .autoeval h2{margin-top:.2rem}

/* ===== Diseño según el boceto: menú de botones, selector, índice plegable ===== */
.nav-item{padding:.42rem .75rem;border-radius:999px;border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}
.nav-item:hover,.nav-item:focus-visible{background:var(--atlantico-claro);border-color:var(--atlantico);color:var(--atlantico);box-shadow:0 0 0 3px rgba(15,94,115,.12)}
.nav-item[aria-current="page"],.nav-more.is-current>summary{background:var(--atlantico);color:#fff;border-color:var(--atlantico);font-weight:700}
@media (prefers-color-scheme:dark){.nav-item[aria-current="page"],.nav-more.is-current>summary{background:var(--atlantico);color:#0E1A20}}
.asig-app{max-width:84rem;margin:0 auto;padding:1.2rem 1rem 2rem;display:grid;grid-template-columns:272px minmax(0,1fr);gap:1.6rem;align-items:start}
.asig-lado{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;display:flex;flex-direction:column;gap:1rem;scrollbar-width:thin}
.lado-caja{background:var(--hoja);border:1px solid var(--linea);border-radius:14px;padding:.85rem .85rem .9rem}
.lado-tit{margin:0 0 .55rem;font:700 .72rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.lado-cab{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.lado-cab .lado-tit{margin:0}
.plegar{border:1px solid var(--linea);background:var(--papel);color:var(--tinta);border-radius:8px;width:2rem;height:2rem;cursor:pointer;font-size:1rem}
.plegar:hover{border-color:var(--atlantico);color:var(--atlantico)}
.selector{display:flex;flex-direction:column;gap:.3rem}
.sel-op{display:block;padding:.5rem .7rem;border-radius:9px;text-decoration:none;color:var(--tinta);font-weight:600;font-size:.95rem;border:1px solid transparent;transition:background .15s,border-color .15s}
.sel-op:hover{background:var(--atlantico-claro);border-color:var(--atlantico);color:var(--atlantico)}
.sel-op.activa{background:var(--atlantico);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sel-op.activa{color:#0E1A20}}
.sel-ent{margin-top:.3rem;border:1px dashed var(--c-tu);color:var(--c-tu)}
.sel-ent:hover{background:var(--bg-tu);border-color:var(--c-tu);color:var(--c-tu)}
.ind-movil>summary{display:none}
.indice{list-style:none;margin:.6rem 0 0;padding:0;font-size:.9rem}
.ind-punto{border-top:1px solid var(--linea);padding:.35rem 0}
.ind-punto:first-child{border-top:0}
.ind-punto summary{cursor:pointer;font-weight:600;line-height:1.35;padding:.15rem 0;color:var(--tinta)}
.ind-punto ul{list-style:none;margin:.25rem 0 .2rem;padding:0 0 0 .4rem}
.indice a{display:block;padding:.28rem .45rem;border-radius:6px;text-decoration:none;color:var(--tinta);line-height:1.3}
.indice a:hover{background:var(--atlantico-claro)}
.indice a[aria-current="page"]{background:var(--retama-suave);font-weight:700;box-shadow:inset 3px 0 0 var(--retama)}
.indice .lid{font:700 .72rem var(--sans);color:var(--atlantico);margin-right:.2rem}
.ind-vacio span{color:var(--gris);font-size:.85rem}
.indice-plano li{border-top:1px solid var(--linea)}
.desplegar{position:fixed;left:.6rem;top:50%;z-index:15;background:var(--atlantico);color:#fff;border:0;border-radius:999px;padding:.6rem .9rem;font:700 .85rem var(--sans);box-shadow:0 6px 18px rgba(15,40,55,.25);cursor:pointer}
.asig-app.plegado{grid-template-columns:minmax(0,1fr)}
.asig-app.plegado .asig-lado{display:none}
.asig-main{min-width:0}
.asig-main .leccion{max-width:48rem;margin:0;padding:0 0 2rem}
.asig-main .cols{padding:0}
.asig-main .bloque{padding-left:0;padding-right:0}
/* cabecera grande: imagen OG + aviso */
.hero-asig{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;background:var(--hoja);border:1px solid var(--linea);border-radius:16px;padding:1.2rem 1.4rem;margin-bottom:1.2rem}
.hero-asig-txt{min-width:0;flex:1}
.hero-asig h1{margin:.2rem 0 .3rem}
.hero-asig .asig-banner{width:min(340px,42%)}
.aviso-est{display:inline-block;margin:.4rem 0 0;padding:.35rem .7rem;border-radius:8px;background:var(--bg-tu);color:var(--tinta);font-size:.88rem;border-left:4px solid var(--c-tu)}
/* cabecera pequeña en lecciones y entrenadores */
.hero-mini{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.mini-img img{display:block;width:96px;height:auto;border-radius:10px;box-shadow:0 4px 12px rgba(15,40,55,.15)}
.hero-mini .migas{margin:0}
.hero-mini-nom{margin:.1rem 0 0;font:700 1.05rem var(--sans)}
.hero-mini-nom a{color:var(--tinta);text-decoration:none}
.ent-cab h1{margin-top:0}
/* pestañas */
.pestanas>.oculta{display:none}
.pestanas>.bloque{border-bottom:0;padding-top:.4rem}
.beta{font:700 .7rem var(--sans);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-tu);color:var(--c-tu);padding:.25em .5em;border-radius:5px;vertical-align:middle}
/* tarjetas */
.tarjetas{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.9rem}
.tarjeta{width:100%;min-height:8.5rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;border-radius:14px;border:2px solid var(--c-pasos);background:var(--bg-pasos);color:var(--tinta);font:600 1rem/1.4 var(--sans);cursor:pointer;transition:transform .2s,background .2s}
.tarjeta:hover{transform:translateY(-2px)}
.tarjeta .t-dorso{display:none;font-weight:500}
.tarjeta[aria-pressed="true"]{background:var(--bg-ejemplo);border-color:var(--c-ejemplo)}
.tarjeta[aria-pressed="true"] .t-frente{display:none}
.tarjeta[aria-pressed="true"] .t-dorso{display:block}
/* pie */
.foot-marca{font-size:1rem}
.foot-links{font-size:.9rem}
@media (max-width:900px){
  .asig-app{grid-template-columns:minmax(0,1fr);gap:1rem;padding-top:.8rem}
  .asig-lado{position:static;max-height:none;overflow:visible}
  .selector{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:.4rem}
  .sel-op{white-space:nowrap;border-color:var(--linea);padding:.4rem .7rem}
  .sel-ent{margin-top:0}
  .plegar,.desplegar{display:none!important}
  .ind-movil>summary{display:block;cursor:pointer;font-weight:600;color:var(--atlantico);margin-top:.4rem}
  .lado-caja{padding:.7rem}
  .asig-app.plegado .asig-lado{display:flex}
  .hero-asig{flex-direction:column-reverse;align-items:stretch;padding:1rem}
  .hero-asig .asig-banner{width:100%}
}
.nav{gap:.2rem .35rem}.nav-group{gap:.15rem}
.nav-item{padding:.36rem .62rem;font-size:.93rem}
@media (max-width:1380px) and (min-width:901px){.nav-item{padding:.34rem .5rem;font-size:.9rem}.nav{gap:.15rem .25rem}.logo-text small{display:none}}
@media (min-width:901px){.nav-label{display:none}}
.desplegar{position:static;justify-self:start;margin:0 0 -.4rem;top:auto;left:auto}
.asig-app.plegado .asig-main .leccion{margin:0 auto}
.sel-grupo{margin:.35rem 0 .1rem;font:700 .68rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.sel-grupo:first-child{margin-top:0}
.sel-n{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;margin-right:.5rem;border-radius:50%;background:var(--atlantico-claro);color:var(--atlantico);font-size:.75rem;font-weight:700}
.sel-op.activa .sel-n{background:rgba(255,255,255,.25);color:inherit}
.head-in{max-width:84rem}
.asig-app.plegado .hero-mini{max-width:48rem;margin-left:auto;margin-right:auto}
@media (max-width:900px){.sel-grupo{display:none}}
/* ruta de estudio */
.ruta{list-style:none;margin:1rem 0 0;padding:0;counter-reset:tema}
.ruta-tema{position:relative;margin:0 0 1rem;padding:1rem 1.2rem;background:var(--hoja);border:1px solid var(--linea);border-left:5px solid var(--c-pasos);border-radius:12px}
.ruta-tema h3{margin:0 0 .5rem;font-size:1.08rem}
.ruta-lecs{margin:0;padding-left:1.4rem}
.ruta-lecs li{padding:.22rem 0}
.ruta-lecs a{text-decoration:none;color:var(--tinta);font-weight:500}
.ruta-lecs a:hover{color:var(--atlantico);text-decoration:underline}
.ruta-lecs .lid{font:700 .75rem var(--sans);color:var(--atlantico);margin-right:.25rem}
.nivel{margin-left:.5rem;font:600 .7rem var(--sans);padding:.12em .5em;border-radius:999px;background:var(--bg-concepto);color:var(--c-concepto);white-space:nowrap}
.nivel.n-nive{background:var(--bg-pasos);color:var(--c-pasos)}
.nivel.n-exam{background:var(--bg-tu);color:var(--c-tu)}
.lec-tema{margin:0 0 .2rem;font:600 .85rem var(--sans);color:var(--gris)}
.mapa-examen{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--linea)}
.mapa-examen h3{font-size:1.15rem}
.visor-tarjeta{max-width:34rem;margin:1rem 0}
.tarjeta-grande{min-height:14rem;font-size:1.25rem;flex-direction:column;gap:.8rem;position:relative}
.tarjeta-grande .t-pista{font:500 .78rem var(--sans);color:var(--gris)}
.tarjeta-grande[aria-pressed="true"] .t-pista{display:none}
.tarjeta-acciones{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
/* tarjetas de 3 en 3 */
.linea-sabidas{background:var(--hoja);border:1px solid var(--linea);border-radius:12px;padding:.7rem .9rem;margin:1rem 0}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.2rem 0 .5rem}
.chip-sab{border:1px solid var(--c-ejemplo);background:var(--bg-ejemplo);color:var(--tinta);border-radius:999px;padding:.25rem .7rem;font:600 .82rem var(--sans);cursor:pointer;max-width:100%;text-align:left}
.chip-sab.abierta{border-radius:10px;font-weight:500}
.visor-tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem;margin:1rem 0}
.tarjeta-caja .tarjeta{min-height:10rem}
.btn-peq{padding:.4rem .75rem;font-size:.88rem}
/* generador de ejercicios */
.generador,.test-caja{background:var(--hoja);border:2px solid var(--c-tu);border-left-width:6px;border-radius:12px;padding:1rem 1.2rem;margin:1rem 0}
.test-caja{border-color:var(--c-pasos)}
.generador h3,.test-caja h3{margin-top:0}
.gen-barra{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.6rem 0}
.gen-barra select{font:inherit;padding:.4rem .5rem;border:1px solid var(--linea);border-radius:8px;background:var(--hoja);color:var(--tinta);max-width:100%}
.gen-tipo{margin:.6rem 0 .2rem;font:700 .74rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--c-tu)}
.gen-enunciado{font-size:1.12rem;font-weight:600;margin:.2rem 0 .7rem}
.gen-pasos{background:var(--bg-ejemplo);border-left:4px solid var(--c-ejemplo);border-radius:8px;padding:.6rem .8rem .6rem 2rem;margin-top:.6rem}
.fb.ok{color:var(--ok)}.fb.mal{color:var(--mal)}
.sub-bloque{margin-top:1.8rem;padding-top:1rem;border-top:1px solid var(--linea)}

/* Mejora accesibilidad: foco visible al navegar con teclado */
:where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #efb84c; outline-offset: 3px; }
@media(prefers-reduced-motion:reduce){ *,*::before,*::after { scroll-behavior:auto !important; animation-duration:0.01ms !important; transition-duration:0.01ms !important; } }

/* Dirección de proyecto 2026-10-16: cabecera no flotante, comunes y ramas */
.site-head.head-static{position:relative;top:auto;z-index:30}
.head-static .head-in{max-width:1600px;width:100%;}
.nav-programa{flex-wrap:nowrap;gap:.5rem;justify-content:flex-end}
.nav-comunes,.nav-ramas{display:flex;align-items:center;gap:.12rem}
.nav-divider{width:1px;height:1.7rem;background:var(--linea);flex:none;margin:0 .3rem}
.nav-rama{position:relative}
.nav-rama>summary{list-style:none;cursor:pointer;display:flex;gap:.22rem;align-items:center}
.nav-rama>summary::-webkit-details-marker{display:none}
.nav-arrow{font-size:.8rem;opacity:.7}
.nav-rama[open]>summary{background:var(--atlantico-claro)}
.nav-rama ul{list-style:none;position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:225px;max-width:300px;background:var(--hoja);padding:.4rem;margin:0;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 12px 30px rgba(15,40,55,.18)}
.nav-rama li a{display:block;padding:.55rem .65rem;text-decoration:none;color:var(--tinta);border-radius:5px;white-space:normal}
.nav-rama li a:hover,.nav-rama li a:focus-visible{background:var(--atlantico-claro)}
.nav-rama li a[aria-current=page]{font-weight:700;background:var(--retama-suave)}
.ramas-info,.recursos-informativos{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:1rem}
.ramas-info>div,.recursos-informativos>div{border:1px solid var(--linea);border-radius:var(--radio);padding:1rem;background:var(--hoja)}
.ramas-info h3,.recursos-informativos h3{font-size:1rem;margin:0 0 .4rem}
.ramas-info p,.recursos-informativos p{margin:0 0 .6rem}
.info-hero .hero-in{grid-template-columns:1fr}
@media(min-width:901px){.nav-programa .nav-item{font-size:clamp(.78rem,.88vw,.95rem);padding:.35rem .38rem}}
@media(max-width:1000px){.head-static .head-in{flex-direction:column;align-items:stretch}.nav-programa{overflow:visible;flex-wrap:wrap;justify-content:flex-start}.nav-comunes,.nav-ramas{flex-wrap:wrap}.nav-rama ul{position:absolute;left:auto;right:auto}}
@media(max-width:600px){.nav-programa{display:block}.nav-comunes,.nav-ramas{display:flex;gap:.2rem;flex-wrap:wrap}.nav-divider{display:block;width:100%;height:1px;margin:.35rem 0}.nav-rama{position:static}.nav-rama ul{position:relative;top:auto;width:100%;min-width:0;max-width:none;box-shadow:none}.nav-rama[open]{width:100%}.nav-search{margin-top:.4rem}}

/* Acceso directo a los manuales institucionales. */
.libros-online{padding-left:1.3rem}
.libros-online a{display:inline-block;min-height:44px;padding:.55rem 0;overflow-wrap:anywhere}

/* Libros agrupados por itinerario, compactos en pantallas amplias. */
.libros-ramas{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
.libros-grupo{min-width:0;padding:.65rem;border:1px solid var(--linea);border-radius:6px}
.libros-grupo h3{margin-top:0;font-size:1rem;line-height:1.35;overflow-wrap:anywhere}
.libros-grupo .libros-online{margin-bottom:0;font-size:.95rem;line-height:1.4}
.libros-grupo .nota{font-size:.95rem;line-height:1.4;overflow-wrap:anywhere}
.libros-fuente{margin-top:1rem}
@media(min-width:760px){.libros-ramas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.libros-ramas{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Tablas didacticas de la segunda tanda: conservar letra y semantica en movil. */
@media(max-width:600px){.tabla-lectura{table-layout:fixed;width:100%}.tabla-lectura th,.tabla-lectura td{overflow-wrap:anywhere;hyphens:auto;padding:6px}}

.referencias-relieve dd{margin-inline-start:0;margin-bottom:1em}
