:root{color-scheme:light dark;--text:#202124;--muted:#667085;--border:#d0d5dd;--surface:#f7f7f5;--accent:#175cd3}@media(prefers-color-scheme:dark){:root{--text:#ececec;--muted:#b3b3b3;--border:#444;--surface:#262626;--accent:#84adff}}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--text);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}@media(prefers-color-scheme:dark){body{background:#191919}}main{width:min(100% - 2rem,760px);margin:2.5rem auto 5rem}h1,h2,h3,h4{line-height:1.25;margin:1.8em 0 .5em}h1{font-size:2.2rem;margin-top:0}h2{font-size:1.65rem}h3{font-size:1.3rem}h4{font-size:1.1rem}a{color:var(--accent);text-underline-offset:.15em}.meta,.external,.placeholder,figcaption{color:var(--muted);font-size:.85rem}.meta{border-bottom:1px solid var(--border);padding-bottom:1.5rem;margin-bottom:2rem}.lesson-list{list-style:none;padding:0}.lesson-list li{border-bottom:1px solid var(--border)}.lesson-list a{display:block;padding:1rem 0;font-size:1.15rem}pre{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1rem;font-size:.88rem;line-height:1.5}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}p code,li code{background:var(--surface);border-radius:3px;padding:.1em .3em}.code figcaption{margin-bottom:.3rem}blockquote{border-left:4px solid var(--border);margin-left:0;padding-left:1rem}.callout{background:var(--surface);border-radius:6px;padding:1rem;display:flex;gap:.75rem}.callout-icon{flex:none}details{border:1px solid var(--border);border-radius:6px;padding:.6rem .8rem}summary{cursor:pointer;font-weight:600}img{display:block;max-width:100%;height:auto;margin:1rem auto}figure{margin:1.5rem 0}.placeholder{border:1px dashed var(--border);padding:.65rem .8rem;margin:.8rem 0;color:var(--text)}table{border-collapse:collapse;display:block;max-width:100%;overflow:auto;margin:1rem 0}th,td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left;vertical-align:top}th{background:var(--surface)}hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.todo{display:flex;gap:.55rem;align-items:flex-start}.todo input{margin-top:.45rem}.file-link{display:inline-block;margin:.5rem 0}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--surface);padding:.5rem}@media(max-width:600px){body{font-size:16px}main{margin-top:1.5rem}h1{font-size:1.8rem}}
