.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}@media (min-width: 1100px){.lesson-layout{grid-template-columns:minmax(0,1fr) 260px}.lesson-aside{position:sticky;top:88px}}.lesson{max-width:760px;min-width:0}.lesson__head{margin-bottom:var(--space-3)}.lesson__kicker{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-ink);margin:0 0 10px}.lesson__head h1{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:.25em}.lesson__lede{font-size:1.2rem;line-height:1.5;color:var(--color-ink-soft);margin:0 0 14px}.lesson__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0}.lesson__meta span{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray);border:1px solid var(--color-hairline);border-radius:999px;padding:3px 10px}.prose{font-size:1.0625rem;line-height:1.7;color:var(--color-ink-soft)}.prose>*+*{margin-top:1em}.prose p{margin-bottom:0}.prose h2{font-size:clamp(1.35rem,2.4vw,1.65rem);color:var(--color-ink);margin:2em 0 .2em}.prose h3{font-size:var(--fs-lg);color:var(--color-ink);margin:1.6em 0 .2em}.prose strong{color:var(--color-ink)}.prose dfn{font-style:normal;font-weight:700;color:var(--color-ink);background:linear-gradient(transparent 62%,var(--color-accent-dim) 62%);padding:0 1px}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.35em}.prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose code,.prose kbd{font-size:.85em}.prose .w{margin:1.4em 0}.prose .reto{position:relative;margin:1.8em 0;padding:16px 18px 16px 52px;border-radius:var(--radius-media);border:1px solid var(--color-accent);background:var(--color-accent-dim);color:var(--color-ink)}.prose .reto:before{content:"";position:absolute;left:16px;top:17px;width:22px;height:22px;background:var(--color-accent-ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='black'/%3E%3C/svg%3E") center / contain no-repeat}.prose .reto strong{display:block;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-ink);margin-bottom:4px}.prose .reto p{margin:0}.prose .clave{margin-top:2.2em;padding:18px 20px;border-radius:var(--radius-media);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.prose .clave h2{font-size:var(--fs-xs);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-gray);margin:0 0 8px}.prose .clave ul{margin:0;padding-left:1.1em}.prose .clave li{color:var(--color-ink)}.lesson__foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-hairline);display:grid;gap:var(--space-3)}.lesson__done{justify-self:start}.lesson__done[aria-pressed=true]{color:var(--color-accent-ink);border-color:var(--color-accent)}.lesson__pager{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pager{display:grid;gap:2px;padding:14px 16px;border-radius:var(--radius-media);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-card);transition:border-color .15s ease,transform .15s var(--ease)}.pager:hover{border-color:var(--color-accent);color:var(--color-ink);transform:translateY(-1px)}.pager span{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gray)}.pager strong{font-family:var(--font-heading);font-size:1.1rem;line-height:1.25}.pager--next{text-align:right;grid-column:2}.lesson__tools-title{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gray);margin:0 0 8px}.lesson.is-celebrate .lesson__done{animation:lesson-pop .5s var(--ease)}@keyframes lesson-pop{0%{transform:scale(1)}40%{transform:scale(1.08);box-shadow:0 0 0 10px var(--color-accent-dim)}to{transform:scale(1)}}.read-bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--color-accent);transform-origin:left;transform:scaleX(0);z-index:40;pointer-events:none}.toc{padding:16px;border-radius:var(--radius-media);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card)}.toc__title{margin:0;font-family:var(--font-heading);font-weight:700;font-size:1.15rem}.toc__title a{color:var(--color-ink)}.toc__progress{margin:2px 0 0;font-size:var(--fs-xs);color:var(--color-accent-ink);font-weight:700;min-height:1.2em}.toc__list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.toc__mod-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gray)}.toc__mod-title em{font-style:normal;font-weight:700;color:var(--color-warn);letter-spacing:.06em}.toc__n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--color-surface-3);color:var(--color-ink);font-size:var(--fs-xs);letter-spacing:0}.toc__mod ol{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}.toc__mod a{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius);color:var(--color-ink-soft);font-size:var(--fs-base);line-height:1.3}.toc__mod a:hover{background:var(--color-surface-2);color:var(--color-ink)}.toc__mod a[aria-current=page]{background:var(--color-accent-dim);color:var(--color-ink);font-weight:700}.toc__check{flex:0 0 auto;width:16px;height:16px;border-radius:50%;border:2px solid var(--color-hairline)}a.is-done .toc__check{background:var(--color-accent);border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-surface)}.toc__mod.is-soon{opacity:.6}@media (max-width: 1099px){.lesson-aside{max-width:760px}}.school-hero{max-width:760px;margin:0 0 var(--space-4)}.school-hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);margin-bottom:.25em}.school-hero p{font-size:1.15rem;color:var(--color-ink-soft);margin:0 0 var(--space-3)}.school-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.school-hero__progress{font-size:var(--fs-sm);font-weight:700;color:var(--color-accent-ink)}.smod{margin-bottom:var(--space-4)}.smod__head{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--color-hairline);margin-bottom:12px}.smod__n{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--color-accent-dim);color:var(--color-accent-ink);font-family:var(--font-heading);font-weight:700;font-size:1.4rem}.smod__head h2{margin:0;font-size:clamp(1.35rem,2.6vw,1.8rem)}.smod__head p{margin:2px 0 0;color:var(--color-gray);font-size:var(--fs-base)}.smod__soon{font-family:var(--font-body);font-style:normal;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-warn);vertical-align:middle;margin-left:6px}.smod__count{font-size:var(--fs-sm);font-weight:700;color:var(--color-gray);font-variant-numeric:tabular-nums}.smod.is-soon{opacity:.55}.smod__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.slesson{display:grid;grid-template-columns:34px 1fr auto 22px;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--radius-media);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-card);transition:border-color .15s ease,transform .15s var(--ease)}.slesson:hover{border-color:var(--color-accent);color:var(--color-ink);transform:translateY(-1px)}.slesson__n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-surface-3);font-weight:700;font-size:var(--fs-sm)}.slesson__text{display:grid;gap:2px;min-width:0}.slesson__text strong{font-family:var(--font-heading);font-size:1.2rem;line-height:1.2}.slesson__text span{font-size:var(--fs-base);color:var(--color-gray)}.slesson__min{font-size:var(--fs-xs);font-weight:700;color:var(--color-gray);white-space:nowrap}.slesson__check{width:22px;height:22px;border-radius:50%;border:2px solid var(--color-hairline)}.slesson.is-done .slesson__check{background:var(--color-accent);border-color:var(--color-accent);box-shadow:inset 0 0 0 3px var(--color-surface)}.slesson.is-done .slesson__n{background:var(--color-accent-dim);color:var(--color-accent-ink)}@media (max-width: 600px){.lesson__head h1{font-size:1.75rem}.lesson__lede{font-size:1.05rem}.prose{font-size:1rem;line-height:1.65}.lesson__pager{grid-template-columns:1fr}.pager--next{grid-column:auto}.school .breadcrumb{display:none}.school-hero h1{font-size:2rem}.school-hero p{font-size:1rem}.slesson{grid-template-columns:30px 1fr 20px;gap:12px;padding:12px}.slesson__min{display:none}.slesson__n{width:30px;height:30px}.slesson__text strong{font-size:1.05rem}.slesson__text span{font-size:var(--fs-sm)}}:root[data-theme=light] .prose .reto strong{color:#00563f}.school .breadcrumb{margin-bottom:18px}.school .breadcrumb li:nth-child(3) a{color:var(--g-ink);font-weight:700}.lesson__head{margin-bottom:36px;padding-bottom:24px;border-bottom:2px solid var(--g)}.lesson__kicker{display:inline-flex;align-items:center;gap:8px;color:var(--g-ink);margin-bottom:14px}.lesson__kicker:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--g)}.lesson__head h1{font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.05;letter-spacing:-1px;margin-bottom:.3em}.lesson__lede{font-size:1.25rem;color:var(--color-ink-soft)}.lesson__meta span{border-color:transparent;background:var(--g-dim);color:var(--color-ink)}.prose h2{position:relative;font-size:clamp(1.45rem,2.6vw,1.85rem);margin:2.2em 0 .5em;padding-left:18px}.prose h2:before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;border-radius:3px;background:var(--g)}.prose h3{font-size:1.25rem;margin:1.6em 0 .4em;padding-left:18px}.prose>p,.prose>ul,.prose>ol,.prose>.try,.prose>.next-step,.prose>figure.diagram{margin-left:18px}.prose>p:first-child{margin-left:0;font-size:1.12rem;color:var(--color-ink)}.prose strong{color:var(--color-ink);font-weight:700}.prose dfn{background:linear-gradient(transparent 60%,var(--g-dim) 60%)}.prose .try{position:relative;padding:12px 16px 12px 46px;border-radius:14px;background:var(--g-dim);color:var(--color-ink)}.prose .try:before,.prose .next-step:before,.prose .clave h2:before{content:"";position:absolute;width:20px;height:20px;background:var(--g-ink);-webkit-mask:var(--ico) center / contain no-repeat;mask:var(--ico) center / contain no-repeat}.prose .try:before{left:16px;top:14px;--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11V5a2 2 0 0 1 4 0v5'/%3E%3Cpath d='M13 10V8a2 2 0 0 1 4 0v4'/%3E%3Cpath d='M17 11a2 2 0 0 1 4 0v3a7 7 0 0 1-7 7h-1a7 7 0 0 1-6-3.4L4.5 14a2 2 0 0 1 3.3-2.2L9 13.5'/%3E%3C/svg%3E")}.prose .try strong:first-child{color:var(--g-ink)}.prose .next-step{position:relative;padding-left:30px;font-weight:700;color:var(--color-ink)}.prose .next-step:before{left:0;top:.2em;--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}.prose .reto{border:0;background:var(--plum-dim);border-radius:16px}.prose .reto:before{background:var(--plum-ink)}.prose .reto strong{color:var(--plum-ink)}:root[data-theme=light] .prose .reto strong{color:var(--plum-ink)}.prose .clave{position:relative;border-radius:20px;box-shadow:var(--shadow-card)}.prose .clave h2{padding-left:28px;margin:0 0 10px;font-size:var(--fs-xs)}.prose .clave h2:before{left:0;top:-2px;width:18px;height:18px;border-radius:0;bottom:auto;--ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}.prose .clave li::marker{color:var(--g)}.prose figure.diagram{margin-top:1.4em;margin-bottom:1.4em;padding:18px;border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow-card)}.diagram svg{display:block;width:100%;height:auto;max-height:360px;overflow:visible}.diagram figcaption{margin-top:10px;font-size:var(--fs-sm);color:var(--color-gray)}.diagram text{font-family:var(--font-body);font-size:14px;fill:var(--color-ink);stroke:none}.diagram .d-label{font-size:13px;font-weight:700;fill:var(--color-ink-soft)}.diagram text.d-ink{fill:var(--color-ink)}.diagram text.d-soft{fill:var(--color-gray)}.diagram :not(text).d-ink{stroke:var(--color-ink)}.diagram :not(text).d-soft{stroke:var(--color-gray)}.diagram .d-line{stroke:var(--color-hairline)}.diagram :is(rect,circle,ellipse,polygon).d-g{fill:var(--g)}.diagram :is(path,line,polyline).d-g{stroke:var(--g)}.diagram :is(rect,circle,ellipse,polygon).d-orange{fill:var(--orange)}.diagram :is(path,line,polyline).d-orange{stroke:var(--orange)}.diagram :is(rect,circle,ellipse,polygon).d-blue{fill:var(--blue)}.diagram :is(path,line,polyline).d-blue{stroke:var(--blue)}.diagram :is(rect,circle,ellipse,polygon).d-plum{fill:var(--plum-fill)}.diagram :is(path,line,polyline).d-plum{stroke:var(--plum-fill)}.diagram :is(rect,circle,ellipse,polygon).d-green{fill:var(--green)}.diagram :is(path,line,polyline).d-green{stroke:var(--green)}.diagram text.d-g{fill:var(--g-ink)}.diagram text.d-orange{fill:var(--orange-ink)}.diagram text.d-blue{fill:var(--blue-ink)}.diagram text.d-plum{fill:var(--plum-ink)}.diagram text.d-green{fill:var(--green-ink)}.diagram .d-fill-dim{fill:var(--g-dim)}.lesson__foot{gap:28px}.lesson__pager{gap:14px}.pager{position:relative;padding:20px 22px;gap:6px;border-radius:20px}.pager strong{font-size:1.3rem}.pager span{display:inline-flex;align-items:center;gap:8px}.pager--next{background:var(--color-ink);color:var(--color-bg)}.pager--next span{color:var(--color-bg);opacity:.75;justify-content:flex-end}.pager--next:hover{color:var(--color-bg);outline:3px solid var(--g);outline-offset:2px;transform:none}.pager--prev:hover{outline:2px solid var(--color-ink);outline-offset:-2px;transform:none}.pager--next span:after{content:"\2192";font-size:1.1rem}.pager--prev span:before{content:"\2190";font-size:1.1rem}.toc{padding:0;overflow:hidden}.toc__summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;font-weight:700}.toc__summary::-webkit-details-marker{display:none}.toc__summary:after{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;margin-top:-4px}.toc[open] .toc__summary:after{transform:rotate(225deg);margin-top:4px}.toc__summary .toc__title{font-family:var(--font-heading);font-size:1.15rem}.toc__summary .toc__progress{margin:0 0 0 auto}.toc__list{margin:0;padding:0 16px 6px;gap:8px}.toc__mod:not(.is-current) ol{display:none}.toc__mod.is-current .toc__mod-title{color:var(--g-ink)}.toc__n{background:var(--g-dim);color:var(--color-ink)}.toc__mod a[aria-current=page]{background:var(--g-dim)}a.is-done .toc__check{background:var(--g);border-color:var(--g)}.toc__home{margin:0;padding:10px 16px 16px;font-size:var(--fs-sm);font-weight:700}.smod__n{background:var(--g-dim);color:var(--g-ink)}.smod__head{border-bottom:2px solid var(--g)}.slesson:hover{outline:2px solid var(--g);outline-offset:-2px;transform:none}.slesson.is-done .slesson__check{background:var(--g);border-color:var(--g)}.slesson.is-done .slesson__n{background:var(--g-dim);color:var(--g-ink)}.progress-chip{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 16px 0 14px;border:0;border-radius:999px;background:var(--color-surface);color:var(--color-ink);font-weight:700;font-size:var(--fs-sm);box-shadow:var(--shadow-md)}.progress-chip svg{width:18px;height:18px;color:var(--color-accent-ink)}.progress-chip strong{background:var(--color-accent);color:var(--color-on-accent);border-radius:999px;padding:2px 9px;font-size:var(--fs-xs)}.progress-chip:hover{outline:2px solid var(--color-accent)}.progress-dlg{width:min(560px,calc(100vw - 24px))}.progress{display:grid;gap:16px;padding:16px 18px 20px}.progress__total{display:flex;align-items:baseline;gap:12px}.progress__big{font-family:var(--font-heading);font-weight:700;font-size:2.6rem;line-height:1}.progress__big small{font-size:1.2rem;color:var(--color-gray)}.progress__label{font-weight:700;color:var(--color-ink-soft)}.progress__bar{position:relative;height:10px;border-radius:999px;background:var(--color-surface-3);overflow:hidden}.progress__bar span{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--g, var(--color-accent))}.progress__bar--sm{height:6px;grid-column:1 / -1}.progress__mods{list-style:none;margin:0;padding:0;display:grid;gap:10px}.progress__mods li{display:grid;grid-template-columns:1fr auto;gap:4px 8px;font-size:var(--fs-sm)}.progress__mod{font-weight:700}.progress__count{color:var(--color-gray);font-variant-numeric:tabular-nums}.progress__privacy{padding:14px 16px;border-radius:16px;background:var(--color-surface-2)}.progress__privacy h3{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:var(--fs-base);margin:0 0 8px}.progress__privacy h3 svg{width:18px;height:18px;color:var(--color-accent-ink)}.progress__privacy ul{margin:0 0 12px;padding-left:1.1em;font-size:var(--fs-sm);color:var(--color-ink-soft);display:grid;gap:6px}.progress__warn{color:var(--color-ink)}.progress__actions{display:flex;flex-wrap:wrap;gap:8px}.progress__done{margin:0;font-weight:700}@media (max-width: 600px){.prose>p,.prose>ul,.prose>ol,.prose>.try,.prose>.next-step,.prose>figure.diagram{margin-left:10px}.prose h2,.prose h3{padding-left:14px}.prose figure.diagram{padding:12px}.lesson__head{margin-bottom:24px;padding-bottom:16px}.lesson__head h1{font-size:2rem}.pager strong{font-size:1.1rem}.progress-chip span{display:none}.progress-chip{padding:0 12px}}@media (min-width: 960px){.smod__list{grid-template-columns:repeat(2,minmax(0,1fr))}.smod{margin-bottom:32px}}.diagram text.d-on{fill:#fff}.diagram :is(rect,circle).d-ink{fill:var(--color-ink)}@media (max-width: 600px){.prose figure.diagram{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px;margin-left:0}.diagram svg{min-width:400px}}
