.lesson-prose{max-width:46rem;font-family:var(--font-body);color:var(--lesson-text,var(--color-foreground));overflow-wrap:break-word;line-height:1.7}.lesson-prose h1{font-family:var(--font-display);font-weight:600}.lesson-prose h2,.lesson-prose h3{font-family:var(--font-body);font-weight:600}.lesson-prose h4,.lesson-prose h5,.lesson-prose h6{font-family:var(--font-body);font-weight:500}.lesson-prose h1{margin:0 0 .6em;font-size:2.2em;line-height:1.15}.lesson-prose h2{margin:1.6em 0 .5em;font-size:1.6em}.lesson-prose h3{margin:1.4em 0 .4em;font-size:1.3em}.lesson-prose h4{margin:1.2em 0 .3em;font-size:1.1em}.lesson-prose :is(h1,h2,h3,h4,h5,h6) a,.lesson-prose :is(h1,h2,h3,h4,h5,h6) a:hover{color:inherit;text-decoration:none}.lesson-prose p{margin:0 0 1em}.lesson-prose strong{color:var(--lesson-bold,var(--color-mint));font-weight:600}.lesson-prose em{color:var(--lesson-italic,var(--color-cyan))}.lesson-prose strong em,.lesson-prose em strong{color:var(--lesson-bold-italic,var(--color-blue))}.lesson-prose mark{background:var(--lesson-highlight-bg,color-mix(in srgb, var(--color-mint) 25%, transparent));color:inherit;border-radius:2px;padding:0 .15em}.lesson-prose del{color:var(--lesson-strike,var(--color-foreground-muted))}.lesson-prose a{color:var(--lesson-link,var(--color-accent));text-underline-offset:2px;text-decoration:underline}.lesson-prose a:hover{color:var(--lesson-link-hover,var(--color-accent))}.lesson-prose :not(pre)>code{font-family:var(--font-mono);color:var(--lesson-code-normal,var(--color-foreground-muted));background:var(--lesson-code-bg,var(--color-terminal));border:1px solid var(--lesson-border,var(--color-border));border-radius:4px;padding:.1em .35em;font-size:.875em}.lesson-prose ul,.lesson-prose ol{margin:0 0 1em;padding-left:1.4em}.lesson-prose ul{list-style:outside}.lesson-prose ul ul{list-style:circle}.lesson-prose ul ul ul{list-style:square}.lesson-prose ol{list-style:decimal}.lesson-prose li{margin:.25em 0}.lesson-prose li::marker{color:var(--lesson-list-marker,var(--color-foreground-muted))}.lesson-prose li.task-list-item{list-style:none}.lesson-prose ul.contains-task-list{padding-left:.35em}.lesson-prose input[type=checkbox]{appearance:none;vertical-align:-.15em;border:1px solid var(--lesson-checkbox-border,#324376);background-color:var(--lesson-checkbox-bg,#171f36);cursor:default;border-radius:4px;width:1.05em;height:1.05em;margin-right:.45em}.lesson-prose input[type=checkbox]:checked{border-color:var(--lesson-checkbox,var(--color-primary));background-color:var(--lesson-checkbox,var(--color-primary));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:78%}.lesson-prose li:has(>input[type=checkbox]:checked){color:var(--lesson-checkbox-done,var(--color-primary));text-decoration:line-through}.lesson-prose blockquote{border-left:2px solid var(--lesson-border,var(--color-border));background:var(--lesson-blockquote-bg,var(--color-surface));margin:1em 0;padding:.25em 15px}.lesson-prose table{border-collapse:collapse;width:100%;margin:1.25em 0;font-size:.95em;display:block;overflow-x:auto}.lesson-prose th{text-align:left;border:1px solid var(--lesson-border,var(--color-border));padding:.5em .75em;font-weight:600}.lesson-prose td{border:1px solid var(--lesson-border,var(--color-border));padding:.5em .75em}.lesson-prose .callout{--callout-base:var(--lesson-callout-grey-base);--callout-tint:var(--lesson-callout-grey-tint);--callout-text:var(--lesson-callout-grey-text);background:0 0;border:none;margin:1.25em 0;padding:0}.lesson-prose .callout-title{z-index:1;border:2px solid var(--callout-tint);background:hsl(var(--callout-base));min-height:36px;color:var(--callout-text);font-family:var(--font-body);cursor:default;border-radius:4px;align-items:center;gap:.5em;margin:0;padding:.25em .75em;font-size:.95em;font-weight:600;display:flex;position:relative}.lesson-prose .callout-title:before{content:"";width:1.1em;height:1.1em;-webkit-mask:var(--callout-icon) center / contain no-repeat;-webkit-mask:var(--callout-icon) center / contain no-repeat;mask:var(--callout-icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0}.lesson-prose details.callout>summary{cursor:pointer;list-style:none}.lesson-prose details.callout>summary::-webkit-details-marker{display:none}.lesson-prose details.callout>summary:after{content:"";width:1em;height:1em;-webkit-mask:var(--callout-chevron) center / contain no-repeat;-webkit-mask:var(--callout-chevron) center / contain no-repeat;mask:var(--callout-chevron) center / contain no-repeat;background-color:currentColor;flex-shrink:0;margin-left:auto;transition:transform .15s}.lesson-prose details[open].callout>summary:after{transform:rotate(90deg)}.lesson-prose .callout-content{border:1px solid var(--callout-tint);background:hsla(var(--callout-base), .2);border-top:none;border-radius:0 0 4px 4px;margin-top:-16px;padding:calc(16px + .75em) 1em .75em}.lesson-prose .callout-content>:last-child{margin-bottom:0}.lesson-prose .callout-note,.lesson-prose .callout-quote{--callout-base:var(--lesson-callout-grey-base);--callout-tint:var(--lesson-callout-grey-tint);--callout-text:var(--lesson-callout-grey-text)}.lesson-prose .callout-tip{--callout-base:var(--lesson-callout-mint-base);--callout-tint:var(--lesson-callout-mint-tint);--callout-text:var(--lesson-callout-mint-text)}.lesson-prose .callout-warning{--callout-base:var(--lesson-callout-orange-base);--callout-tint:var(--lesson-callout-orange-tint);--callout-text:var(--lesson-callout-orange-text)}.lesson-prose .callout-danger{--callout-base:var(--lesson-callout-red-base);--callout-tint:var(--lesson-callout-red-tint);--callout-text:var(--lesson-callout-red-text)}.lesson-prose .callout-example{--callout-base:var(--lesson-callout-purple-base);--callout-tint:var(--lesson-callout-purple-tint);--callout-text:var(--lesson-callout-purple-text)}.lesson-prose .callout{--callout-chevron: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--callout-icon: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E")}.lesson-prose .callout-tip{--callout-icon: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E")}.lesson-prose .callout-warning{--callout-icon: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E")}.lesson-prose .callout-danger{--callout-icon: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E")}.lesson-prose .callout-example{--callout-icon: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' x2='21' y1='6' y2='6'/%3E%3Cline x1='8' x2='21' y1='12' y2='12'/%3E%3Cline x1='8' x2='21' y1='18' y2='18'/%3E%3Cline x1='3' x2='3.01' y1='6' y2='6'/%3E%3Cline x1='3' x2='3.01' y1='12' y2='12'/%3E%3Cline x1='3' x2='3.01' y1='18' y2='18'/%3E%3C/svg%3E")}.lesson-prose .callout-quote{--callout-icon: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z'/%3E%3Cpath d='M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z'/%3E%3C/svg%3E")}.lesson-prose figure[data-rehype-pretty-code-figure]{border:1px solid var(--lesson-border,var(--color-border));box-shadow:var(--shadow-l);border-radius:4px;margin:1.25em 0;overflow:hidden}.lesson-prose figure[data-rehype-pretty-code-figure] pre{background:var(--lesson-code-bg,var(--color-terminal));font-family:var(--font-mono);padding:1em 0;font-size:.85em;line-height:1.6;overflow-x:auto}.lesson-prose figure[data-rehype-pretty-code-figure] code{counter-reset:line;display:grid}.lesson-prose figure[data-rehype-pretty-code-figure] [data-line]{padding:0 1.25em}.lesson-prose figure[data-rehype-pretty-code-figure] [data-line]:before{counter-increment:line;content:counter(line);text-align:right;color:#5c678a;width:2ch;margin-right:1.5em;display:inline-block}.lesson-prose [data-highlighted-line]{background:color-mix(in srgb, var(--color-cyan) 12%, transparent)}.lesson-prose .code-block{position:relative}.lesson-prose .code-copy{width:1.75rem;height:1.75rem;color:var(--lesson-text-muted,var(--color-foreground-muted));opacity:0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background-color .12s;display:flex;position:absolute;top:.5em;right:.5em}.lesson-prose .code-copy svg{width:1rem;height:1rem}.lesson-prose .code-block:hover .code-copy,.lesson-prose .code-copy:focus-visible{opacity:1}.lesson-prose .code-copy:hover{color:var(--lesson-text,var(--color-foreground));background:#32437659}.lesson-prose section[data-footnotes]{border-top:1px solid var(--lesson-border,var(--color-border));color:var(--lesson-text-muted,var(--color-foreground-muted));margin-top:2.5em;font-size:.875em}.lesson-prose .mermaid-diagram{max-width:100%;margin:1.25em auto;display:block}
