@layer components{.lesson-root{--l-paper:var(--paper,var(--background));--l-raised:var(--paper-raised,var(--card));--l-ink:var(--ink,var(--foreground));--l-muted:var(--ink-muted,var(--muted-foreground));--l-rule:var(--rule,var(--border));--l-pressure:var(--pressure,#b83000);--l-healthy:var(--healthy,#1f7a6d);--l-highlight:var(--highlighter,#ffe45c);--l-cta:var(--cta,var(--foreground));--l-cta-fg:var(--cta-foreground,var(--background));--l-focus:var(--focus-ring,var(--ring));--l-display:var(--font-display,ui-serif,Georgia,"Times New Roman",serif);--l-mono:var(--font-mono,ui-monospace,monospace);--l-measure:var(--measure,70ch);color:var(--l-ink);background:var(--l-paper)}.dark .lesson-root{--l-pressure:var(--pressure,#ff6a33);--l-healthy:var(--healthy,#5cc2b1)}.lesson-shell{display:grid;grid-template-columns:minmax(0,1fr);max-width:80rem;margin:0 auto;padding:0 1rem 6rem}@media (min-width:1024px){.lesson-shell{grid-template-columns:14rem minmax(0,1fr);column-gap:3rem;padding:0 2rem 8rem}.lesson-shell[data-toc=collapsed]{grid-template-columns:2.5rem minmax(0,1fr)}}.lesson-article{max-width:var(--l-measure);width:100%;counter-reset:lesson-beat lesson-concept}@media (min-width:1280px){.lesson-article{margin-right:18rem}}.lesson-article ol,.lesson-article p,.lesson-article ul{font-size:1.0625rem;line-height:1.7;margin:0 0 1em}.lesson-article ul{list-style:disc;padding-left:1.25rem}.lesson-article ol{list-style:decimal;padding-left:1.25rem}.lesson-article li+li{margin-top:.35em}.lesson-article a{text-decoration:underline;text-underline-offset:3px}.lesson-article strong{font-weight:600}.lesson-article code{font-family:var(--l-mono);font-size:.9em;padding:.05em .3em;background:var(--l-raised);border:1px solid var(--l-rule)}.lesson-article table{width:100%;border-collapse:collapse;margin:0 0 1.25em;font-size:.95rem}.lesson-article td,.lesson-article th{border-bottom:1px solid var(--l-rule);padding:.5rem .5rem .5rem 0;text-align:left;vertical-align:top}.lesson-article th{font-weight:600}.lesson-mark{background:color-mix(in srgb,var(--l-highlight) 60%,transparent);padding:0 .15em}.lesson-section{margin-top:4rem;scroll-margin-top:5rem}.lesson-kicker{font-family:var(--l-mono);font-size:.75rem;letter-spacing:.02em;color:var(--l-muted);margin:0 0 .5rem}.lesson-h1{font-size:clamp(2rem,5vw,2.75rem);line-height:1.12;letter-spacing:-.01em}.lesson-h1,.lesson-h2{font-family:var(--l-display);font-weight:600}.lesson-h2{font-size:clamp(1.5rem,3.6vw,1.875rem);line-height:1.2;margin:0 0 1rem}.lesson-h3{font-family:var(--l-display);font-weight:600;font-size:1.25rem;line-height:1.3;margin:0 0 .5rem}.lesson-beat .lesson-kicker:before{counter-increment:lesson-beat;content:"Beat " counter(lesson-beat)}.lesson-concept-card .lesson-concept-number:before{counter-increment:lesson-concept;content:counter(lesson-concept)}.lesson-panel{border:1px solid var(--l-rule);background:var(--l-raised);padding:1.25rem}@media (min-width:640px){.lesson-panel{padding:1.5rem}}.lesson-pressure-rule{border-left:3px solid var(--l-pressure);padding-left:.875rem}.lesson-healthy-rule{border-left:3px solid var(--l-healthy);padding-left:.875rem}.lesson-muted-rule{border-left:3px solid var(--l-rule);padding-left:.875rem}.lesson-figure{margin:1.5rem 0}@media (min-width:1024px){.lesson-figure[data-bleed=true]{margin-left:-3rem;margin-right:-3rem}}.lesson-figure img{border:1px solid var(--l-rule);background:var(--figure-ground,var(--l-raised))}.lesson-figure img,.lesson-figure-inline svg{display:block;width:100%;height:auto}.lesson-figure figcaption{font-size:.875rem;color:var(--l-muted);margin-top:.5rem}.lesson-margin-note{display:block;font-size:.875rem;line-height:1.55;color:var(--l-muted);border-left:2px solid var(--l-rule);padding-left:.75rem;margin:0 0 1em}@media (min-width:1280px){.lesson-margin-note{float:right;clear:right;width:15rem;margin-right:-18rem;margin-top:.25rem}}.lesson-button{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1.125rem;font-weight:500;font-size:.9375rem;background:var(--l-cta);color:var(--l-cta-fg);border:1px solid var(--l-cta);cursor:pointer}.lesson-button:disabled{opacity:.45;cursor:not-allowed}.lesson-button[data-variant=quiet]{background:transparent;color:var(--l-ink);border-color:var(--l-rule)}.lesson-link-button{font-size:.9375rem;text-decoration:underline;text-underline-offset:3px;color:var(--l-ink);background:none;border:0;padding:0;cursor:pointer}.lesson-root :where(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--l-focus);outline-offset:2px}.lesson-choice{display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem;padding:.625rem .875rem;border:1px solid var(--l-rule);background:var(--l-paper);cursor:pointer;font-size:1rem;line-height:1.45}.lesson-choice:has(input:checked){border-color:var(--l-ink);box-shadow:inset 3px 0 0 var(--l-ink)}.lesson-choice input{margin-top:.3rem;accent-color:var(--l-ink)}.lesson-textarea{width:100%;min-height:5.5rem;padding:.75rem;font-size:1rem;line-height:1.5;border:1px solid var(--l-rule);background:var(--l-paper);color:var(--l-ink);resize:vertical}.lesson-mono,.lesson-tag{font-family:var(--l-mono)}.lesson-tag{font-size:.75rem;color:var(--l-muted)}.lesson-screen{border:1px solid var(--l-rule);background:var(--l-raised)}.lesson-screen-bar{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--l-rule);padding:.5rem 1rem;font-size:.8125rem;color:var(--l-muted)}.lesson-avatar,.lesson-screen-bar{align-items:center;font-family:var(--l-mono)}.lesson-avatar{flex:none;display:inline-flex;justify-content:center;width:2.25rem;height:2.25rem;font-size:.75rem;font-weight:700;border:1px solid var(--l-ink);background:var(--l-paper)}.lesson-term{display:inline;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit;text-decoration:underline dotted;text-decoration-thickness:1.5px;text-underline-offset:4px;cursor:pointer}.lesson-term[aria-expanded=true]{background:color-mix(in srgb,var(--l-highlight) 45%,transparent)}.lesson-term-def{display:block;margin:.5rem 0 .75rem;padding:.625rem .75rem;border-left:3px solid var(--l-ink);background:var(--l-raised);font-size:.9375rem;line-height:1.55}.lesson-toc a[aria-current=true]{color:var(--l-ink);font-weight:600;box-shadow:inset 2px 0 0 var(--l-ink)}@media (prefers-reduced-motion:no-preference){.lesson-reveal{animation:lesson-fade .18s ease-out}}@keyframes lesson-fade{0%{opacity:0}to{opacity:1}}}