.lesson{max-width:50rem;font-size:1.05rem;line-height:1.78;color:hsl(var(--on-surface))}.lesson>p{margin:1em 0}.lesson h2{font-size:1.6rem;margin:2.4rem 0 .7rem;padding-top:.4rem}.lesson h2,.lesson h3{color:hsl(var(--on-surface));scroll-margin-top:6rem}.lesson h3{font-size:1.18rem;margin:1.9rem 0 .5rem}.lesson strong{font-weight:700}.lesson a,.lesson strong{color:hsl(var(--on-surface))}.lesson a{text-decoration:underline;text-underline-offset:3px}.lesson a:hover{color:hsl(var(--on-surface-variant))}.lesson ol,.lesson ul{margin:.8em 0;padding-left:1.4em}.lesson li{margin:.35em 0}.lesson li::marker{color:hsl(var(--on-surface-variant)/.8)}.lesson blockquote{margin:1.3em 0;padding:.3em 1.1em;border-left:3px solid hsl(var(--on-surface));color:hsl(var(--on-surface-variant))}.lesson :not(pre)>code{background:hsl(var(--surface-container));color:hsl(var(--on-surface));font-family:IBM Plex Mono,monospace;font-size:.85em;padding:.12em .42em;border-radius:6px;border:1px solid hsl(var(--border))}.lesson table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.4em 0;font-size:.92rem}.lesson td,.lesson th{border:1px solid hsl(var(--border));padding:.55rem .8rem;text-align:left}.lesson th{background:hsl(var(--surface-container-low));color:hsl(var(--on-surface));font-family:var(--font-manrope),sans-serif;font-weight:700;font-size:.82rem}.lesson tr:nth-child(2n) td{background:hsl(0 0% 0%/.02)}.lesson pre{background:hsl(0 0% 6%);border:1px solid hsl(0 0% 15%);border-radius:14px;padding:1rem 1.1rem;overflow-x:auto;margin:1.3em 0;font-size:.86rem;line-height:1.6;color-scheme:dark}.lesson pre code{font-family:IBM Plex Mono,monospace;background:none;border:0;padding:0;color:hsl(0 0% 88%)}.code-wrap{position:relative}.code-wrap pre{margin:1.3em 0}.code-wrap .ex-copy{position:absolute;top:1.6rem;right:.6rem;z-index:2;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.68rem;color:hsl(0 0% 65%);background:hsl(0 0% 11%);border:1px solid hsl(0 0% 22%);border-radius:6px;padding:.25rem .55rem;opacity:0;transition:opacity .15s,color .15s,border-color .15s}.code-wrap:hover .ex-copy{opacity:1}.code-wrap .ex-copy:hover{color:hsl(0 0% 98%);border-color:hsl(0 0% 40%)}.code-wrap .ex-copy.copied{color:hsl(0 0% 98%);border-color:hsl(0 0% 60%)}.ex-tag{font-family:IBM Plex Mono,monospace;font-size:.64rem;font-weight:600;letter-spacing:.03em;padding:.15rem .45rem;border-radius:5px;border:1px solid hsl(var(--border))}.ex-tag,.tag-afl,.tag-idx,.tag-live,.tag-mcx,.tag-nfo,.tag-nse,.tag-py,.tag-us{color:hsl(var(--on-surface-variant));background:hsl(var(--surface-container-low))}.tag-afl,.tag-idx,.tag-live,.tag-mcx,.tag-nfo,.tag-nse,.tag-py,.tag-us{border-color:hsl(var(--border))}.tag-live{color:hsl(var(--on-surface));border-color:hsl(var(--outline-variant));font-weight:700}.lesson-shot{margin:1.8rem 0;text-align:center}.lesson-shot img{max-width:100%;border-radius:10px;border:1px solid hsl(var(--border));box-shadow:0 10px 40px rgba(0,0,0,.1)}.shot-cap{margin-top:.7rem;font-size:.82rem;color:hsl(var(--on-surface-variant));line-height:1.5;display:flex;gap:.5rem;align-items:baseline;justify-content:center;flex-wrap:wrap}.shot-kind{font-family:IBM Plex Mono,monospace;font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--on-surface));background:hsl(var(--surface-container));border:1px solid hsl(var(--border));border-radius:5px;padding:.15rem .45rem;white-space:nowrap}.lesson-shot.placeholder .shot-ph{display:flex;flex-direction:column;align-items:center;gap:.6rem;justify-content:center;min-height:9rem;padding:2rem 1.25rem;border:1px dashed hsl(var(--outline-variant));border-radius:12px;background:repeating-linear-gradient(45deg,hsl(0 0% 0%/.015),hsl(0 0% 0%/.015) 10px,transparent 0,transparent 20px)}.shot-ph .shot-kind{color:hsl(var(--on-surface-variant));background:hsl(var(--surface-container-low));border-color:hsl(var(--border))}.shot-ph-cap{font-size:.92rem;color:hsl(var(--on-surface));max-width:34rem}.shot-ph-path{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:hsl(var(--on-surface-variant));background:hsl(var(--surface-container));border:1px solid hsl(var(--border));border-radius:6px;padding:.25rem .6rem}.callout{display:flex;gap:.85rem;margin:1.5rem 0;padding:.9rem 1.1rem;border-radius:12px;border:1px solid hsl(var(--border));background:hsl(var(--surface-container-low))}.callout>div>:first-child{margin-top:0}.callout>div>:last-child{margin-bottom:0}.callout-tag{flex-shrink:0;height:fit-content;font-family:IBM Plex Mono,monospace;font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:6px;white-space:nowrap}.callout-tag,.callout.example .callout-tag,.callout.fact .callout-tag,.callout.info .callout-tag,.callout.tip .callout-tag{color:hsl(var(--on-surface-variant));background:hsl(var(--surface-container))}.callout.key{border-color:hsl(var(--outline-variant))}.callout.key .callout-tag{color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.callout.warn{border-color:hsl(var(--on-surface)/.35)}.callout.warn .callout-tag{color:hsl(var(--on-surface));background:hsl(var(--surface-container-high));font-weight:700}.toc-link{display:block;padding:.25rem 0 .25rem .8rem;border-left:2px solid transparent;color:hsl(var(--on-surface-variant));font-size:.84rem;line-height:1.45;transition:color .15s,border-color .15s}.toc-link:hover{color:hsl(var(--on-surface))}.toc-link.lvl-3{padding-left:1.6rem;font-size:.8rem}.toc-link.active{color:hsl(var(--on-surface));border-left-color:hsl(var(--on-surface))}.syllabus-link{display:flex;gap:.6rem;align-items:baseline;padding:.4rem .7rem;border-radius:8px;color:hsl(var(--on-surface-variant));font-size:.875rem;line-height:1.35;transition:background .15s,color .15s}.syllabus-link:hover{background:hsl(var(--surface-container-low));color:hsl(var(--on-surface))}.syllabus-link .num{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:hsl(var(--on-surface-variant)/.6);min-width:1.3rem}.syllabus-link.active{background:linear-gradient(90deg,hsl(var(--on-surface)/.07),transparent);box-shadow:inset 2px 0 0 hsl(var(--on-surface))}.syllabus-link.active,.syllabus-link.active .num{color:hsl(var(--on-surface))}.hljs{color:hsl(0 0% 88%);background:transparent}.hljs-comment,.hljs-quote{color:hsl(0 0% 48%);font-style:italic}.hljs-keyword,.hljs-literal,.hljs-section,.hljs-selector-tag{color:hsl(0 0% 100%);font-weight:600}.hljs-built_in,.hljs-class .hljs-title,.hljs-type{color:hsl(0 0% 92%)}.hljs-addition,.hljs-regexp,.hljs-string{color:hsl(0 0% 72%)}.hljs-meta,.hljs-number{color:hsl(0 0% 80%)}.hljs-name,.hljs-title,.hljs-title.function_{color:hsl(0 0% 96%);font-weight:600}.hljs-params{color:hsl(0 0% 85%)}.hljs-attr,.hljs-attribute,.hljs-variable{color:hsl(0 0% 78%)}.hljs-operator,.hljs-punctuation{color:hsl(0 0% 60%)}@media (max-width:640px){.lesson{font-size:1rem;line-height:1.7}.lesson h2{font-size:1.35rem}.lesson h3{font-size:1.08rem}.lesson pre{font-size:.76rem;padding:.9rem}.callout{flex-direction:column;gap:.5rem;padding:.8rem .9rem}.lesson-shot.placeholder .shot-ph{min-height:7rem;padding:1.5rem 1rem}}@media (min-width:641px) and (max-width:1023px){.lesson{font-size:1.02rem}}