.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%)}.ex{margin:1.8rem 0;border-radius:16px;overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--surface-bright));box-shadow:0 10px 40px rgba(0,0,0,.07)}.ex-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.7rem 1rem;background:hsl(var(--surface-container-low));border-bottom:1px solid hsl(var(--border))}.ex-badge{font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:600;letter-spacing:.03em;color:hsl(var(--primary-foreground));background:hsl(var(--primary));padding:.2rem .5rem;border-radius:6px}.ex-title{font-family:var(--font-manrope),sans-serif;font-weight:700;font-size:.96rem;color:hsl(var(--on-surface))}.ex-file{margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:.72rem;color:hsl(var(--on-surface-variant)/.8)}.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-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-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}.ex-code{position:relative}.ex-code pre{margin:0;padding:1.1rem 1.15rem;overflow-x:auto;background:hsl(0 0% 6%);border:0;border-radius:0;color-scheme:dark}.ex-code code{font-size:.83rem;line-height:1.62;white-space:pre}.ex-code code,.ex-copy{font-family:IBM Plex Mono,monospace}.ex-copy{position:absolute;top:.6rem;right:.6rem;z-index:2;cursor:pointer;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}.ex:hover .ex-copy{opacity:1}.ex-copy:hover{color:hsl(0 0% 98%);border-color:hsl(0 0% 40%)}.ex-copy.copied{color:hsl(0 0% 98%);border-color:hsl(0 0% 60%)}.ex-out{border-top:1px dashed hsl(0 0% 20%);background:hsl(0 0% 4.5%);color-scheme:dark}.ex-out-label{font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:hsl(0 0% 60%);padding:.6rem 1.15rem .1rem;display:flex;align-items:center;gap:.4rem}.ex-out-label:before{content:"";width:7px;height:7px;border-radius:50%;background:hsl(0 0% 85%)}.ex-out pre{margin:0;padding:.4rem 1.15rem 1rem;overflow:auto;max-height:24rem;border:0;border-radius:0;background:transparent;font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.55;color:hsl(0 0% 78%);white-space:pre}.ex-chart{border-top:1px solid hsl(0 0% 15%);padding:1rem;text-align:center;background:hsl(0 0% 5%)}.ex-chart img{max-width:100%;border-radius:8px;border:1px solid hsl(0 0% 18%)}.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.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%)}.hljs-comment .hljs-doctag{color:hsl(0 0% 70%)}@media (max-width:640px){.lesson{font-size:1rem;line-height:1.7}.lesson h2{font-size:1.35rem}.lesson h3{font-size:1.08rem}.ex-code pre,.ex-out pre{font-size:.76rem}.ex-code pre{padding:.9rem}.ex-file{display:none}.ex-head{gap:.5rem;padding:.6rem .75rem}.callout{flex-direction:column;gap:.5rem;padding:.8rem .9rem}.ex-out pre{max-height:18rem}}@media (min-width:641px) and (max-width:1023px){.lesson{font-size:1.02rem}}.ex-code,.ex-out{max-width:100%}