/* Repasito · hoja de estilos única. Marca: KIT y ALTAS (Mi unidad/Canales/Estudios).
   Idea: un cuaderno de repaso. Papel con cuadrícula suave, tinta azul, subrayador amarillo
   solo para lo que hay que recordar, y etiquetas en letra de máquina (IBM Plex Mono). */
@font-face{font-family:"Bricolage";src:url(/fonts/bricolage-var-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}
:root{
  --tinta:#14213D; --tinta-2:#3B4763; --tinta-3:#5E6780;
  --papel:#F6F3EC; --papel-2:#FFFDF8; --cuadro:#E6E1D4; --linea:#D9D3C4;
  --subrayador:#FFD23F; --subrayador-suave:#FFF0B8;
  --daw:#3A86FF; --daw-osc:#1F5FC7; --ade:#2A9D8F; --ade-osc:#1E7166;
  --bien:#2E7D32; --mal:#B42318;
  --titulos:"Bricolage","Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --texto:"Bricolage","Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Plex Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:12px; --ancho:1120px; --prosa:68ch;
  --lp-cookie-bg:var(--tinta); --lp-cookie-text:var(--papel); --lp-cookie-muted:#C9CEDA;
  --lp-cookie-border:#3B4763; --lp-cookie-accent:var(--daw-osc); --lp-cookie-surface:var(--papel-2);
  --lp-cookie-ink:var(--tinta); --lp-cookie-line:var(--linea); --lp-cookie-stone:var(--tinta-3);
  --lp-cookie-radius:var(--r); --lp-cookie-font:var(--texto);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 1.0625rem/1.65 var(--texto);font-variation-settings:"opsz" 14;
  background-image:linear-gradient(var(--cuadro) 1px,transparent 1px),linear-gradient(90deg,var(--cuadro) 1px,transparent 1px);
  background-size:28px 28px;background-attachment:fixed}
img,svg,video,iframe{max-width:100%}
a{color:var(--daw-osc);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--tinta)}
:focus-visible{outline:3px solid var(--daw);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--titulos);line-height:1.12;letter-spacing:-.015em;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,5.2vw,3.4rem);font-weight:800;font-variation-settings:"opsz" 96}
h2{font-size:clamp(1.45rem,3vw,2rem);font-weight:750;font-variation-settings:"opsz" 60}
h3{font-size:1.2rem;font-weight:700}
p{margin:0}
.wrap{max-width:var(--ancho);margin-inline:auto;padding-inline:20px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--tinta);color:var(--papel);padding:10px 14px;border-radius:8px;z-index:300}
.saltar:focus{left:12px}
.eti{font:500 .74rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3)}
.marca-sub{background:linear-gradient(transparent 58%,var(--subrayador) 58%,var(--subrayador) 92%,transparent 92%);padding:0 .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:999px;border:2px solid var(--tinta);
  font:700 1rem/1 var(--texto);text-decoration:none;cursor:pointer;background:var(--papel-2);color:var(--tinta);transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px);color:var(--tinta)}
.btn--prim{background:var(--subrayador);border-color:var(--tinta);box-shadow:3px 3px 0 var(--tinta)}
.btn--prim:hover{box-shadow:4px 4px 0 var(--tinta)}
.btn--osc{background:var(--tinta);color:var(--papel)}
.btn--osc:hover{color:var(--papel)}
.btn[disabled]{opacity:.55;cursor:default;transform:none}

/* Cabecera */
.cab{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--papel) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.cab__in{display:flex;align-items:center;gap:20px;min-height:66px}
.cab__logo{display:block;width:132px;flex-shrink:0;line-height:0}
.cab__logo svg{width:100%;height:auto}
.cab__nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.cab__nav a{font:500 .8rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tinta);text-decoration:none;padding:10px 12px;border-radius:8px}
.cab__nav a:hover,.cab__nav a[aria-current]{background:var(--subrayador-suave)}
@media (max-width:640px){.cab__in{flex-wrap:wrap;gap:0 12px;padding-block:8px}.cab__nav{margin-left:-12px;width:calc(100% + 12px)}.cab__nav a{padding:8px 10px;font-size:.74rem}}

/* Portada */
.hero{padding-block:clamp(40px,8vw,96px) clamp(32px,6vw,72px)}
.hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1.02}
.hero h1 .marca-sub{background-size:0 100%;background-repeat:no-repeat;background-image:linear-gradient(transparent 60%,var(--subrayador) 60%,var(--subrayador) 92%,transparent 92%);animation:subraya 1s .35s cubic-bezier(.6,0,.2,1) forwards}
@keyframes subraya{to{background-size:100% 100%}}
@media (prefers-reduced-motion:reduce){.hero h1 .marca-sub{animation:none;background-size:100% 100%}}
.hero__lead{font-size:clamp(1.1rem,2vw,1.3rem);color:var(--tinta-2);margin-top:20px;max-width:46ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ficha{background:var(--papel-2);border:1.5px solid var(--tinta);border-radius:var(--r);padding:22px;box-shadow:6px 6px 0 var(--tinta);transform:rotate(1.2deg)}
.ficha__q{font-weight:700;font-size:1.08rem;margin:10px 0 14px}
.ficha ol{list-style:upper-alpha;margin:0;padding-left:1.4em;display:grid;gap:6px}
.ficha li.ok{background:linear-gradient(transparent 55%,var(--subrayador) 55%,var(--subrayador) 92%,transparent 92%);width:fit-content;font-weight:600}
.ficha__pie{margin-top:14px;font-size:.92rem;color:var(--tinta-3)}
@media (max-width:820px){.hero__grid{grid-template-columns:1fr}.ficha{transform:none;max-width:460px}}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;margin:0;list-style:none;counter-reset:p}
.pasos li{background:var(--papel-2);border:1px solid var(--linea);border-radius:var(--r);padding:20px;counter-increment:p}
.pasos li::before{content:counter(p);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tinta);color:var(--papel);font:700 .95rem var(--mono);margin-bottom:10px}
.pasos p{color:var(--tinta-2);margin-top:6px}
@media (max-width:760px){.pasos{grid-template-columns:1fr}}
.bloque{padding-block:clamp(32px,6vw,64px)}
.bloque__head{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.bloque__head p{color:var(--tinta-2);max-width:60ch}
.etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.etapas li{border:1px dashed var(--tinta-3);border-radius:var(--r);padding:18px;background:color-mix(in srgb,var(--papel-2) 60%,transparent)}
.etapas li.on{border:1.5px solid var(--tinta);background:var(--papel-2)}
.etapas h3{font-size:1.1rem}
.etapas p{color:var(--tinta-2);font-size:.96rem;margin-top:6px}
.etapas .eti{display:block;margin-bottom:8px}
.etapas a{color:inherit;text-decoration:none;display:block}
.etapas--grandes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.etapas--grandes h3{font-size:1.35rem}
.etapas--grandes li.on{box-shadow:4px 4px 0 var(--tinta)}
.etapas--grandes li.on:hover{box-shadow:6px 6px 0 var(--tinta);transform:translate(-1px,-1px)}
.etapas li.on .eti{color:var(--daw-osc)}
.etapas li.on:hover{box-shadow:4px 4px 0 var(--tinta)}

/* Tarjetas de tema */
.temas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.tema{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--papel-2);border:1.5px solid var(--tinta);border-radius:var(--r);padding:20px 20px 18px;transition:box-shadow .15s,transform .15s}
.tema:hover{box-shadow:5px 5px 0 var(--tinta);transform:translate(-1px,-1px)}
.tema h3 a{color:var(--tinta);text-decoration:none}
.tema h3 a::after{content:"";position:absolute;inset:0}
.tema p{color:var(--tinta-2);font-size:.96rem}
.tema__pie{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
.chip{display:inline-flex;align-items:center;gap:5px;font:500 .72rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px;border-radius:6px;background:var(--papel);border:1px solid var(--linea);color:var(--tinta-2)}
.chip--daw{background:var(--daw);color:#fff;border-color:var(--daw)}
.chip--ade{background:var(--ade);color:#fff;border-color:var(--ade)}
.chip--pronto{border-style:dashed}

/* Páginas interiores */
.doc__head{padding-block:clamp(28px,5vw,56px) 8px}
.migas{font:500 .76rem/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-3);display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:16px}
.migas a{color:var(--tinta-3);text-decoration:none}
.migas a:hover{color:var(--tinta);text-decoration:underline}
.migas .sep{opacity:.5}
.doc__entradilla{font-size:clamp(1.08rem,1.8vw,1.25rem);color:var(--tinta-2);margin-top:16px;max-width:62ch}
.doc__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.doc__cuerpo{padding-block:24px 64px;display:grid;gap:40px}
.prosa{max-width:var(--prosa);min-width:0}
.prosa>*+*{margin-top:1em}
.prosa h2{margin-top:1.9em;padding-top:.2em}
.prosa h3{margin-top:1.5em}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa li+li{margin-top:.35em}
.prosa strong{font-weight:700}
.prosa mark,.prosa .clave{background:linear-gradient(transparent 58%,var(--subrayador) 58%,var(--subrayador) 92%,transparent 92%);color:inherit;padding:0 .08em}
.prosa code{font:.92em var(--mono);background:var(--papel-2);border:1px solid var(--linea);border-radius:5px;padding:.05em .35em}
.prosa blockquote{margin:1.4em 0;padding:14px 18px;background:var(--subrayador-suave);border-radius:var(--r);border-left:4px solid var(--subrayador)}
.prosa blockquote p+p{margin-top:.6em}
.prosa hr{border:0;border-top:1px dashed var(--tinta-3);margin:2em 0}
.tabla{overflow-x:auto;border:1px solid var(--linea);border-radius:var(--r);background:var(--papel-2);margin-top:1.2em}
.tabla table{border-collapse:collapse;width:100%;min-width:520px;font-size:.95rem}
.tabla th,.tabla td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}
.tabla th{font:500 .74rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3);background:var(--papel)}
.tabla tr:last-child td{border-bottom:0}
.trampa{display:block;margin:1.2em 0;padding:14px 16px 14px 48px;position:relative;border:1.5px solid var(--tinta);border-radius:var(--r);background:var(--papel-2)}
.trampa::before{content:"!";position:absolute;left:14px;top:13px;width:24px;height:24px;border-radius:50%;background:var(--subrayador);border:1.5px solid var(--tinta);display:grid;place-items:center;font:700 .85rem var(--mono)}
.aviso-oficial{font-size:.9rem;color:var(--tinta-3);border-top:1px dashed var(--tinta-3);padding-top:14px;max-width:var(--prosa)}

/* Reproductor del episodio (se carga al pulsar) */
.pod{display:grid;gap:12px;background:var(--tinta);color:var(--papel);border-radius:16px;padding:18px;max-width:var(--prosa)}
.pod__player{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.pod__player--on{display:block}
.pod__portada{width:120px;height:120px;border-radius:10px;object-fit:cover;display:block}
.pod__info{display:grid;gap:8px;min-width:0}
.pod__eti{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--subrayador)}
.pod__tit{font-weight:700;font-size:1.05rem;line-height:1.3}
.pod__nota{font-size:.8rem;color:#C9CEDA}
.pod__play{justify-self:start}
.pod__iframe{width:100%;height:232px;border:0;border-radius:12px;display:block}
.pod__apps{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.9rem;align-items:center;color:#C9CEDA}
.pod__apps a{color:var(--papel)}
@media (max-width:520px){.pod__player{grid-template-columns:84px 1fr}.pod__portada{width:84px;height:84px}}

/* Llamada al test */
.alt{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;background:var(--subrayador);border:1.5px solid var(--tinta);border-radius:16px;padding:22px 24px;box-shadow:5px 5px 0 var(--tinta);max-width:var(--prosa)}
.alt h2{font-size:1.4rem;margin:0}
.alt p{color:var(--tinta);margin-top:4px}

/* Test */
.test{max-width:var(--prosa)}
.prosa .test__lista,.prosa .temas{padding-left:0}
.prosa .temas li+li{margin-top:0}
.prosa .tema h3{margin-top:0}
.prosa .test__lista li+li{margin-top:0}
.test__lista{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.test__q fieldset{margin:0;border:1.5px solid var(--tinta);border-radius:var(--r);background:var(--papel-2);padding:18px}
.test__q legend{display:flex;gap:10px;font-weight:700;font-size:1.05rem;line-height:1.35;padding:0;float:left;width:100%;margin-bottom:12px}
.test__n{flex-shrink:0;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tinta);color:var(--papel);font:600 .85rem var(--mono)}
.test__ops{clear:both;display:grid;gap:8px}
.test__op{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--linea);border-radius:10px;cursor:pointer;background:var(--papel)}
.test__op:hover{border-color:var(--tinta-3)}
.test__op input{margin-top:.3em;accent-color:var(--tinta);width:18px;height:18px;flex-shrink:0}
.test__op:has(input:checked){border-color:var(--tinta);background:var(--subrayador-suave)}
.test__pie{margin-top:20px}
.test__correo{margin-top:20px;display:grid;gap:12px;background:var(--papel-2);border:1.5px solid var(--tinta);border-radius:16px;padding:20px}
.test__tit{font-weight:800;font-size:1.25rem}
.test__faltan{color:var(--mal);font-weight:600}
.test__campo{display:grid;gap:6px;font-weight:600}
.test__campo input{min-height:50px;border:1.5px solid var(--tinta);border-radius:10px;padding:0 14px;font:inherit;background:#fff;color:var(--tinta)}
.test__check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.test__check input{margin-top:.25em;width:18px;height:18px;accent-color:var(--tinta);flex-shrink:0}
.test__aviso{font-weight:600}
.test__aviso--bien{color:var(--bien)}
.test__aviso--mal{color:var(--mal)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* Relacionadas y preguntas frecuentes */
.faq{max-width:var(--prosa)}
.faq details{border-bottom:1px solid var(--linea);padding:14px 0}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font:600 1.2rem/1 var(--mono)}
.faq details[open] summary::after{content:"–"}
.faq summary::-webkit-details-marker{display:none}
.faq__r{color:var(--tinta-2);margin-top:8px}
.faq__r p+p{margin-top:.6em}

/* Pie */
.pie{background:var(--tinta);color:#C9CEDA;padding-block:48px 28px;margin-top:40px;font-size:.95rem}
.pie a{color:var(--papel)}
.pie__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.pie__logo{width:150px;line-height:0;margin-bottom:14px}
.pie__h{font:500 .76rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--subrayador);margin-bottom:12px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie p+p{margin-top:10px}
.pie__bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid #2C3A5A;margin-top:32px;padding-top:18px;font-size:.85rem}
.lapera-credit{color:#C9CEDA;display:inline-flex}
@media (max-width:760px){.pie__grid{grid-template-columns:1fr}}

/* ---------- banner de cookies de LaPera (plantilla-tracking.html) ---------- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--lp-cookie-bg);color:var(--lp-cookie-text);box-shadow:0 -4px 24px rgba(0,0,0,.18);font-family:var(--lp-cookie-font)}
.cookie-banner-inner{max-width:1248px;margin:0 auto;padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.cookie-banner-text{flex:1 1 420px;font-size:14px;line-height:1.5;color:var(--lp-cookie-muted);margin:0}
.cookie-banner-text a{color:var(--lp-cookie-text);text-decoration:underline}
.cookie-banner-btns{display:flex;flex-wrap:wrap;gap:10px}
.cookie-banner .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}
.cookie-banner .btn-dark{background:var(--lp-cookie-accent);color:var(--lp-cookie-text);border-color:var(--lp-cookie-accent)}
.cookie-banner .btn-line{background:transparent;border-color:var(--lp-cookie-border);color:var(--lp-cookie-text)}
.cookie-banner .btn-line:hover{background:var(--lp-cookie-text);color:var(--lp-cookie-bg)}

.cookie-settings{position:fixed;inset:0;z-index:210;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:24px}
.cookie-settings-inner{background:var(--lp-cookie-surface);color:var(--lp-cookie-ink);border-radius:var(--lp-cookie-radius);max-width:480px;width:100%;padding:32px;max-height:88vh;overflow:auto;font-family:var(--lp-cookie-font)}
.cookie-settings-inner h2{font-size:22px;margin:0 0 20px}
.cookie-settings-inner .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;border:1.5px solid transparent;font-family:inherit}
.cookie-settings-inner .btn-dark{background:var(--lp-cookie-accent);color:#fff}
.cookie-settings-inner .btn-line{background:transparent;border-color:var(--lp-cookie-ink);color:var(--lp-cookie-ink)}
.cookie-cat{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0;border-top:1px solid var(--lp-cookie-line)}
.cookie-cat p{font-size:14px;color:var(--lp-cookie-stone);margin:4px 0 0}
.cookie-toggle-fixed{font-size:13px;color:var(--lp-cookie-stone);white-space:nowrap;padding-top:2px}
.cookie-switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}
.cookie-switch input{opacity:0;width:0;height:0}
.cookie-switch span{position:absolute;inset:0;background:var(--lp-cookie-line);border-radius:999px;transition:background .15s;cursor:pointer}
.cookie-switch span::before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.cookie-switch input:checked + span{background:var(--lp-cookie-accent)}
.cookie-switch input:checked + span::before{transform:translateX(18px)}
.cookie-settings-link{margin:8px 0 20px;font-size:14px}
.cookie-tab{position:fixed;left:20px;bottom:20px;z-index:190;width:44px;height:44px;border-radius:50%;border:1px solid var(--lp-cookie-line);background:var(--lp-cookie-surface);color:var(--lp-cookie-ink);font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.15);padding:0}
.cookie-tab:hover{transform:translateY(-2px)}
/* Móvil: banner compacto (una franja baja, ~150px): texto 13px y los tres
   botones en UNA fila. No apilar botones ni dejar que ocupe media pantalla. */
@media (max-width:640px){
  .cookie-banner-inner{padding:12px 16px;gap:10px;flex-direction:column;align-items:stretch}
  .cookie-banner-text{font-size:13px;line-height:1.4;flex-basis:auto}
  .cookie-banner-btns{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px}
  .cookie-banner .btn{min-height:40px;padding:0 8px;font-size:13px;width:100%;white-space:nowrap}
  .cookie-settings-inner{padding:20px}
  .cookie-tab{width:40px;height:40px;font-size:18px}
}

/* ---------- «¿Qué estudias?»: libreta de anillas (portada) ----------
   Sin JavaScript o con «reducir movimiento»: tarjetas de papel rayado en rejilla.
   Con JavaScript (.viva): la sección se queda fija y, al bajar, las hojas se pasan una a una. */
:root{--raya:#D3E1F2;--margen:#F2A7A7;--pest-medio:#9CC8FF;--pest-cursos:#F6B3B3}
.libreta__tapa,.libreta__anillas,.libreta__pestanas{display:none}
.libreta__hojas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.hoja{position:relative}
.hoja__cara{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;padding:24px 24px 22px 68px;color:var(--tinta);text-decoration:none;
  border:1.5px solid var(--tinta);border-radius:6px 14px 14px 6px;box-shadow:4px 4px 0 var(--tinta);
  background:linear-gradient(90deg,transparent 52px,var(--margen) 52px,var(--margen) 54px,transparent 54px),
    repeating-linear-gradient(var(--papel-2) 0 31px,var(--raya) 31px 32px);background-color:var(--papel-2)}
.hoja__cara:hover{color:var(--tinta)}
.hoja__cara h3{font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.1}
.hoja__cara p{color:var(--tinta-2)}
.hoja__cara ul{margin:0;padding-left:1.1em;color:var(--tinta-2);font-size:.96rem;display:grid;gap:2px}
.hoja__cara .eti{color:var(--daw-osc)}
.hoja__ir{margin-top:auto;align-self:flex-start;display:inline-flex;gap:.4em;font-weight:700;padding:10px 18px;border:2px solid var(--tinta);border-radius:999px;background:var(--subrayador)}
.hoja__num{position:absolute;right:18px;bottom:14px;font:500 .74rem var(--mono);color:var(--tinta-3)}
.hoja__dorso{display:none}

.viva .libreta-fija{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);height:var(--alto-libreta);perspective:2200px}
.viva .libreta{position:relative;height:100%;max-width:1000px;margin-inline:auto;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.viva .libreta__hojas{display:block;position:absolute;inset:0 0 0 50%;transform-style:preserve-3d}
.viva .hoja{position:absolute;inset:0;transform-origin:left center;transform:rotateY(var(--giro,0deg));transform-style:preserve-3d;will-change:transform}
.viva .hoja__cara{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:0 14px 14px 0;box-shadow:none;border-left:0;padding:34px 30px 28px 72px}
.viva .hoja__dorso{display:block;position:absolute;inset:0;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border:1.5px solid var(--tinta);border-right:0;border-radius:14px 0 0 14px;
  background:repeating-linear-gradient(var(--papel) 0 31px,var(--raya) 31px 32px);background-color:var(--papel)}
.viva .hoja::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(20,33,61,var(--sombra,0)),transparent 60%);border-radius:0 14px 14px 0}
.viva .libreta__tapa{display:flex;flex-direction:column;justify-content:space-between;position:absolute;inset:0 50% 0 0;background:var(--tinta);color:var(--papel);
  border-radius:14px 0 0 14px;padding:34px 40px 30px 34px;box-shadow:-6px 8px 0 rgba(20,33,61,.18)}
.viva .libreta__hojas::before{content:"";position:absolute;inset:6px 0 -7px 0;background:var(--papel-2);border:1.5px solid var(--tinta);border-left:0;border-radius:0 16px 16px 0;box-shadow:6px 8px 0 rgba(20,33,61,.18);transform:translateZ(-2px)}
.libreta__marca{font:800 2.2rem/1 var(--titulos);background:linear-gradient(transparent 62%,var(--subrayador) 62%,var(--subrayador) 92%,transparent 92%);align-self:flex-start}
.libreta__pista{font:500 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#C9CEDA}
.libreta__pista::after{content:" ↓";display:inline-block;animation:baja 1.6s ease-in-out infinite}
@keyframes baja{50%{transform:translateY(4px)}}
.viva .libreta__anillas{display:block;position:absolute;top:22px;bottom:22px;left:50%;width:34px;margin-left:-17px;transform:translateZ(40px);pointer-events:none;
  background:radial-gradient(circle at 50% 50%,transparent 5px,var(--tinta-3) 5px,var(--tinta-3) 7.5px,transparent 8px) 0 0/34px 30px repeat-y}
.viva .libreta__pestanas{display:flex;flex-direction:column;gap:5px;position:absolute;top:18px;bottom:18px;right:-30px;width:30px;transform:translateZ(1px)}
.pestana{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font:600 .68rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tinta);border:1.5px solid var(--tinta);border-left:0;
  border-radius:0 8px 8px 0;padding:6px 0;width:28px;cursor:pointer;background:var(--subrayador);transition:width .15s;overflow:hidden;white-space:nowrap}
.pestana:hover,.pestana[aria-current="true"]{width:34px}
.pestana[aria-current="true"]{box-shadow:inset 0 0 0 2px var(--tinta)}
.pestana--carrera{background:var(--ade);color:#fff}
.pestana--superior{background:var(--daw);color:#fff}
.pestana--medio{background:var(--pest-medio)}
.pestana--bach{background:var(--subrayador)}
.pestana--cursos{background:var(--pest-cursos)}

.pestana__c{display:none}
@media (max-width:860px){
  .viva .pestana__l{display:none}
  .viva .pestana__c{display:inline}
  .viva .libreta-fija{overflow:hidden;padding-bottom:52px}
  .viva .libreta{height:calc(100% - 52px)}
  .viva .libreta__tapa{display:none}
  .viva .libreta__hojas{inset:0 0 0 14px}
  .viva .libreta__anillas{left:14px;top:14px;bottom:14px}
  .viva .hoja__cara{padding:28px 22px 24px 62px}
  .viva .libreta__pestanas{flex-direction:row;flex-wrap:nowrap;gap:4px;top:auto;bottom:-46px;right:0;left:14px;width:auto;transform:none}
  .viva .pestana{writing-mode:horizontal-tb;flex:1 1 0;min-width:0;width:auto;font-size:.64rem;letter-spacing:.02em;border:1.5px solid var(--tinta);border-top:0;border-radius:0 0 8px 8px;padding:9px 2px;white-space:nowrap}
  .viva .pestana:hover,.viva .pestana[aria-current="true"]{width:auto;padding-bottom:13px}
}
