:root{--papel:#fafaf7;--papel-2:#f3f0ea;--linea:#e4ded2;--tinta:#16213b;--tinta-2:#515c74;--guinda:#7a1e38;--guinda-700:#5c1429;--guinda-tint:rgba(122,30,56,.08);--semana:#0f6b6b;--semana-texto:#fafaf7;--blanco:#fff;--max:720px;--radio:10px;--serif:"Cardo",Georgia,"Iowan Old Style","Palatino Linotype",serif;--sans:ui-sans-serif,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color-scheme:light}
:root[data-theme=contraste]{--papel:#fff;--papel-2:#f4f4f4;--linea:#d4d4d4;--tinta:#111;--tinta-2:#3a3a3a;--guinda:#6e1a33;--guinda-700:#511326;--guinda-tint:rgba(110,26,51,.07);--semana:#0a5252;--semana-texto:#fff;--sans:Verdana,Geneva,"DejaVu Sans",Tahoma,sans-serif;--serif:Verdana,Geneva,"DejaVu Sans",Tahoma,sans-serif}
:root[data-theme=noche]{--papel:#0b1220;--papel-2:#161f33;--linea:#2a3650;--tinta:#eef2f8;--tinta-2:#9fabc4;--guinda:#e07a93;--guinda-700:#f0a9b9;--guinda-tint:rgba(224,122,147,.12);--semana:#6fd0cf;--semana-texto:#0b1220;--blanco:#161f33;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:1.06rem;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}
:root[data-theme=contraste] body{font-size:1.12rem;line-height:1.9}
h1,h2,h3{font-family:var(--serif);line-height:1.2;letter-spacing:-.01em;font-weight:700}
h1{font-size:clamp(1.85rem,6vw,2.6rem);margin:.2em 0 .4em}
h2{font-size:clamp(1.4rem,4.5vw,1.8rem);margin:1.8em 0 .5em}
h3{font-size:1.25rem}
a{color:var(--guinda);text-underline-offset:2px}a:hover{color:var(--guinda-700)}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--papel-2);border:1px solid var(--linea);border-radius:5px;padding:.05em .3em}
main{max-width:var(--max);margin:0 auto;padding:1.75rem 1.15rem 4rem;overflow-wrap:break-word}
.site-head{border-bottom:2px solid var(--tinta);padding:.85rem 1.15rem .7rem;max-width:var(--max);margin:0 auto}
.site-head .brand{font-family:var(--serif);font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--tinta)}
.site-head .brand span{color:var(--guinda)}
.site-head small{display:block;font-size:.8rem;color:var(--tinta-2)}
:root[data-theme=noche] .site-head{border-bottom-color:var(--tinta-2)}
.theme-hint{max-width:var(--max);margin:0 auto 1.1rem;font-size:.86rem;font-style:italic;color:var(--tinta-2);line-height:1.5}
.tema-set .theme-hint{display:none}
.hero h1 span{color:var(--guinda)}
.hero p{font-size:1.12rem;max-width:56ch}
.hero .hero-sub{margin:-.2rem 0 .9rem;font-size:1rem;font-weight:600;color:var(--guinda)}
.portada{margin:1.2rem -1.15rem 0;display:block;width:calc(100% + 2.3rem);max-width:none;height:auto;aspect-ratio:1408/560;background:#faf1e1}
@media(min-width:760px){.portada{margin:1.2rem 0 0;width:100%;border-radius:var(--radio)}}
:root[data-theme=noche] .portada{filter:brightness(.92)}
.temas{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
@media(max-width:600px){.temas{grid-template-columns:1fr}}
.temas a{display:flex;flex-direction:column;height:100%;border:1px solid var(--linea);border-top:4px solid var(--guinda);border-radius:var(--radio);background:var(--blanco);text-decoration:none;color:var(--tinta);overflow:hidden}
.temas a:hover{background:var(--guinda-tint);border-color:var(--guinda)}
.temas span{display:block;padding:.7rem .9rem .85rem}
.temas b{display:block;font-family:var(--serif);font-size:1.15rem}
.temas small{color:var(--tinta-2);font-size:.82rem;line-height:1.35;display:block}
.tema{margin-top:2.8rem;scroll-margin-top:1rem}
.tema>h2{display:inline-block;padding-bottom:.15em;border-bottom:3px solid var(--guinda);margin-bottom:.2em}
.tema .dep h2{font-size:1.3rem;border-bottom-width:2px}
.tema .dep:first-of-type{margin-top:1.4rem}
.deps{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
@media(max-width:480px){.deps{grid-template-columns:1fr}}
.deps a{display:block;padding:.8rem 1rem;border:1px solid var(--linea);border-top:4px solid var(--guinda);border-radius:var(--radio);background:var(--blanco);text-decoration:none;color:var(--tinta)}
.deps a:hover{background:var(--guinda-tint);border-color:var(--guinda)}
.deps b{display:block;font-family:var(--serif);font-size:1.15rem}
.deps small{color:var(--tinta-2);font-size:.82rem;line-height:1.35;display:block}
.dep{margin-top:2.6rem;scroll-margin-top:1rem}
.dep h2{display:inline-block;padding-bottom:.15em;border-bottom:3px solid var(--guinda);margin-bottom:.2em}
.dep .dep-sub{margin:.2rem 0 0;color:var(--tinta-2);font-size:.95rem}
.lista-clases{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.55rem}
.lista-clases a{display:flex;flex-direction:column;gap:.45rem;padding:.7rem .95rem;border:1px solid var(--linea);border-left:4px solid var(--linea);border-radius:var(--radio);background:var(--blanco);text-decoration:none;color:var(--tinta);transition:border-color .15s,background .15s}
.lista-clases a:hover{border-color:var(--guinda);border-left-color:var(--guinda);background:var(--guinda-tint)}
.li-pills{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.li-semana{font-size:.72rem;font-weight:700;background:var(--semana);color:var(--semana-texto);padding:.14rem .5rem;border-radius:999px;white-space:nowrap;line-height:1.5;text-decoration:none}
.li-clase{font-size:.72rem;font-weight:700;color:var(--semana);border:1.5px solid var(--semana);padding:.02rem .45rem;border-radius:999px;white-space:nowrap;line-height:1.5}
.li-pronto{font-size:.7rem;font-weight:600;color:var(--tinta-2);border:1px dashed var(--linea);border-radius:999px;padding:.02rem .45rem;white-space:nowrap}
.li-titulo{font-family:var(--serif);font-size:1.05rem;line-height:1.3}
.migas{margin-bottom:1.2rem}
.volver{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--tinta);background:var(--papel-2);border:1px solid var(--linea);border-radius:1.2rem;padding:.45rem .85rem;min-height:38px;text-decoration:none}
.volver:hover{border-color:var(--guinda);color:var(--guinda)}
.clase-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2)}
.clase-meta .dep-link{color:var(--guinda);text-decoration:none}
.objetivo{font-family:var(--serif);font-size:1.1rem;background:var(--guinda-tint);border-left:4px solid var(--guinda);padding:.85rem 1.05rem;border-radius:0 var(--radio) var(--radio) 0;margin-top:.9rem}
.objetivo strong{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--guinda);display:block;margin-bottom:.2rem}
.bloque{border:1px solid var(--linea);border-radius:var(--radio);background:var(--blanco);padding:1.15rem 1.25rem 1.35rem;margin:1.6rem 0}
.bloque-n{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--guinda)}
.bloque h3{margin:.3rem 0 .8rem}
.video-frame{position:relative;padding-top:56.25%;border-radius:var(--radio);overflow:hidden;background:#000;box-shadow:0 10px 28px rgba(22,33,59,.16)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-pendiente{padding:2.2rem 1rem;text-align:center;background:var(--papel-2);border:1px dashed var(--linea);border-radius:var(--radio);color:var(--tinta-2);font-size:.95rem}
.ficha{margin-top:2.4rem}
.ficha section{border-top:1px solid var(--linea);padding-top:1rem;margin-top:1.4rem}
.ficha h2{font-size:1.25rem;margin:.2em 0 .4em}
.ficha ul,.ficha ol{padding-left:1.3em;margin:.4em 0}
.ficha li{margin:.3em 0}
.rap{font-size:.95rem;color:var(--tinta-2)}
.sig{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:2.6rem}
.sig a{flex:1 1 14rem;padding:.75rem 1rem;border:1px solid var(--linea);border-radius:var(--radio);background:var(--blanco);text-decoration:none;color:var(--tinta);font-size:.92rem;line-height:1.35}
.sig a:hover{border-color:var(--guinda)}
.sig a small{display:block;color:var(--guinda);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.sig .sig-next{text-align:right}
.theme-foot{display:flex;flex-direction:column;align-items:center;gap:.55rem;max-width:var(--max);margin:3rem auto 0;padding:1.4rem 1.15rem 0;border-top:1px solid var(--linea)}
.theme-foot p{margin:0;font-size:.85rem;color:var(--tinta-2)}
.theme-toggle{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--tinta);background:var(--papel-2);border:1px solid var(--linea);border-radius:1.2rem;padding:.6rem 1.05rem;min-height:46px;cursor:pointer}
.theme-toggle:hover{border-color:var(--guinda)}
.theme-toggle:focus-visible,.volver:focus-visible,a:focus-visible{outline:2px solid var(--guinda);outline-offset:2px}
.site-foot{border-top:1px solid var(--linea);margin-top:3rem;padding:1.5rem 1.15rem 2.5rem;text-align:center;color:var(--tinta-2);font-size:.9rem}
.site-foot p{max-width:46ch;margin:.3rem auto}
.site-foot .pie-curso{font-weight:600;color:var(--tinta)}
/* botón de tema arriba a la derecha, como CB1 (Mario 16-oct) */
.head-fila{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.site-head .theme-toggle{flex:none;min-height:38px;padding:.4rem .85rem;font-size:.85rem}
.citas{margin:1rem 0}
.citas dt{font-weight:700;color:var(--guinda);margin-top:1.1rem}
.citas dd{margin:.3rem 0 0;padding:.6rem .8rem;border-left:3px solid var(--linea);background:var(--papel-2);font-size:.92rem;line-height:1.5;word-break:break-word}
