/* Cuaderno: la web como carpeta clasificadora. Cada curso es una carpeta con anillas;
   cada asignatura, un separador de cartulina con su pestaña. */
:root{
  --bg:#EDF0F4; --surface:#FFFFFF; --ink:#1A2238; --muted:#55607A; --line:#DCE1E9; --boton:#1A2238; --boton-ink:#FFFFFF;
  --anilla:#EDF0F4;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#121722; --surface:#1A2130; --ink:#E6EAF2; --muted:#A3ADC2; --line:#2B3446; --boton:#E6EAF2; --boton-ink:#121722;
  --anilla:#121722; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#121722; --surface:#1A2130; --ink:#E6EAF2; --muted:#A3ADC2; --line:#2B3446; --boton:#E6EAF2; --boton-ink:#121722;
  --anilla:#121722; color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.5;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:inherit}
a:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
p{margin:0}
.contenedor{max-width:1120px;margin:0 auto}

/* Barra superior */
.barra{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-block:18px}
.marca{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.02em;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.cursos{display:flex;gap:4px;background:var(--surface);border-radius:999px;padding:4px}
.cursos a{min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none}
.cursos a[aria-current="page"]{background:var(--c);color:#FFFFFF}

/* Anillas de carpeta */
.anillas{position:absolute;left:24px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;gap:var(--hueco,56px)}
.anillas i{display:block;width:18px;height:18px;border-radius:50%;background:var(--anilla)}

/* ---------- Portada ---------- */
.saludo{max-width:720px;display:flex;flex-direction:column;gap:14px;padding-block:24px 8px}
.saludo h1{font-weight:800;font-size:clamp(44px,8vw,76px);line-height:.98;letter-spacing:-.035em}
.saludo p{font-size:20px;color:var(--muted);max-width:34ch}
.carpetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:40px 48px;padding-block:44px 64px}
.carpeta{display:flex;align-items:stretch}
.tapa{flex:1 1 auto;min-width:0;min-height:340px;background:var(--c);color:#FFFFFF;border-radius:22px 8px 8px 22px;padding:30px 30px 28px 70px;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;text-decoration:none}
.tapa .etapa{font-size:20px;font-weight:700;color:var(--ct)}
.tapa .num{font-family:var(--display);font-weight:800;font-size:clamp(110px,16vw,168px);line-height:.78;letter-spacing:-.05em}
.tapa .pie{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:17px;color:var(--ct)}
.tapa .pie b{color:#FFFFFF;text-decoration:underline;text-underline-offset:5px}
.pestanas{display:flex;flex-direction:column;gap:8px;padding-block:30px;margin:0;list-style:none;padding-inline:0}
.pestanas a{display:flex;align-items:center;min-height:48px;padding:0 18px 0 14px;background:var(--p);color:var(--pi);border-radius:0 12px 12px 0;font-weight:700;font-size:16px;text-decoration:none}

/* ---------- Página de curso ---------- */
.cubierta{background:var(--c);color:#FFFFFF;border-radius:26px;padding:36px 40px 36px 84px;position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;margin-top:8px}
.cubierta .anillas{left:30px;--hueco:34px}
.cubierta .volver{color:var(--ct);font-size:16px;min-height:36px;display:inline-flex;align-items:center}
.cubierta h1{font-weight:800;font-size:clamp(44px,8vw,72px);line-height:.95;letter-spacing:-.035em}
.cubierta p{font-size:19px;color:var(--ct);max-width:380px}
.separadores{display:flex;flex-direction:column;gap:26px;padding-block:44px 64px}
.sep{--fondo:var(--p);--letra:var(--pi)}
.sep-tab{display:inline-block;margin-left:calc(var(--i,0) * 18%);background:var(--fondo);color:var(--letra);border-radius:14px 14px 0 0;padding:12px 24px 8px;font-family:var(--display);font-weight:700;font-size:22px}
.sep-tab a{text-decoration:none}
.sep-panel{background:var(--fondo);color:var(--letra);border-radius:20px;padding:22px 28px 24px;position:relative;display:flex;flex-direction:column;gap:14px}
.sep:first-child .sep-panel,.sep[style*="--i:0"] .sep-panel{border-top-left-radius:0}
.sep-panel .dibujo{position:absolute;right:20px;top:16px;width:84px;height:auto;color:var(--letra)}
.sep-panel > *:not(.dibujo){max-width:calc(100% - 96px)}
.fichas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.fichas a{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 16px;font-size:16px;text-decoration:none}
.fichas a b{color:var(--ink)}
.pronto{font-size:16px}
.boton{align-self:flex-start;min-height:48px;display:inline-flex;align-items:center;padding:0 24px;border-radius:999px;background:var(--boton);color:var(--boton-ink);font-weight:700;font-size:16px;text-decoration:none}
.tema-juego{font-size:17px;font-weight:700}
.juego{background:var(--surface);color:var(--ink);border-radius:16px;padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.juego > div{display:flex;flex-direction:column;gap:4px;flex:1 1 360px;min-width:0}
.juego h3{font-weight:700;font-size:26px;line-height:1.15}
.juego p{font-size:17px;color:var(--muted)}
.juego .boton{align-self:center;min-height:52px;padding:0 28px}

@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sep{--fondo:var(--po);--letra:var(--pio)} :root:not([data-theme="light"]) .pestanas a{background:var(--po);color:var(--pio)} }
:root[data-theme="dark"] .sep{--fondo:var(--po);--letra:var(--pio)}
:root[data-theme="dark"] .pestanas a{background:var(--po);color:var(--pio)}

.pie-web{padding-block:8px 32px;font-size:15px;color:var(--muted)}

@media (max-width:560px){
  body{font-size:17px}
  .barra{padding-block:12px}
  .marca{font-size:22px}
  .cursos a{padding:0 12px;font-size:15px}
  .carpetas{padding-block:28px 40px;gap:28px}
  .carpeta{flex-direction:column}
  .tapa{min-height:200px;border-radius:22px;padding:22px 22px 20px 58px}
  .tapa .anillas{left:20px;--hueco:36px}
  .tapa .anillas i{width:15px;height:15px}
  .pestanas{flex-direction:row;flex-wrap:wrap;gap:6px;padding:0 16px}
  .pestanas a{min-height:44px;padding:0 14px;border-radius:0 0 12px 12px;font-size:15px}
  .cubierta{border-radius:22px;padding:20px 20px 22px 54px}
  .cubierta .anillas{left:20px;--hueco:22px}
  .cubierta .anillas i{width:14px;height:14px}
  .cubierta p{font-size:16px}
  .separadores{gap:18px;padding-block:28px 40px}
  .sep-tab{margin-left:calc(var(--i,0) * 9%);font-size:19px;padding:10px 18px 6px}
  .sep-panel{padding:16px 18px 18px;border-radius:18px}
  .sep-panel .dibujo{width:56px;right:14px;top:12px}
  .sep-panel > *:not(.dibujo){max-width:calc(100% - 64px)}
  .sep-panel > .fichas,.sep-panel > .boton,.sep-panel > .juego{max-width:100%}
  .juego{padding:16px 18px}
  .juego h3{font-size:22px}
  .juego .boton{width:100%;justify-content:center}
}
