:root{--bg:#f7f8fb;--panel:#ffffff;--ink:#172033;--muted:#5e6a7d;--line:#d9e0ea;--accent:#247a5b;--accent-strong:#145c43;--code-bg:#111827;--code-ink:#e5edf7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}.site-footer{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);background:#ffffff;color:var(--muted);font-size:13px;padding:16px 18px;text-align:center}.site-footer a{font-weight:700}.footer-links{display:flex;gap:12px}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}.site-shell{display:grid;grid-template-columns:280px minmax(0,1fr)}.lesson-shell{grid-template-columns:280px minmax(0,860px) 230px}.course-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line);background:#ffffff;padding:24px 18px}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);margin-bottom:22px}.brand:hover{text-decoration:none}.brand-logo{display:block;width:42px;height:42px;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:12px}.course-sidebar nav{display:grid;grid-gap:3px;gap:3px}.course-sidebar nav a{border-radius:6px;color:var(--ink);padding:8px 10px;font-size:14px}.course-sidebar nav a:hover{background:#eef4f1;text-decoration:none}.content-panel{width:min(100%,1060px);padding:42px 48px 72px}.reading-panel{background:var(--panel);min-height:100vh}.hero{max-width:850px;padding:28px 0 18px}.hero h1{margin:0 0 16px;font-size:clamp(34px,5vw,58px);line-height:1.05}.reading-panel>h1{max-width:820px;margin:0 0 16px;font-size:clamp(30px,3.2vw,44px);line-height:1.12}.hero p{max-width:720px;color:var(--muted);font-size:18px}.eyebrow{margin:0 0 10px;color:var(--accent-strong);font-size:13px;font-weight:750;letter-spacing:0;text-transform:uppercase}.section-band{border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.track-section{margin-top:18px}.author-section{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start;max-width:760px;border-top:1px solid var(--line);margin-top:52px;padding-top:30px}.author-photo{display:block;width:112px;height:112px;border:3px solid #ffffff;border-radius:50%;box-shadow:0 0 0 1px var(--line);object-fit:cover}.author-section h2{margin:0 0 12px;font-size:26px}.author-section p{color:var(--muted);font-size:16px;margin:0 0 12px}.author-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;font-size:14px;font-weight:700}.track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:0 28px;gap:0 28px;max-width:900px;border-top:1px solid var(--line)}.track-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;grid-gap:14px;gap:14px;border-bottom:1px solid var(--line);color:var(--ink);padding:16px 0}.track-card:hover{color:var(--accent-strong);text-decoration:none}.track-card span{color:var(--muted);font-size:13px;font-weight:800}.track-card-body{display:grid;grid-gap:2px;gap:2px}.track-card .track-card-body{color:var(--ink);font-size:inherit;font-weight:inherit}.course-overlay-panel nav a small,.track-card small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.35}.lesson-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:10px;gap:10px;list-style:none;padding-left:0}.lesson-list a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:72px;border:1px solid var(--line);background:#ffffff;color:var(--ink);line-height:1.35;padding:12px}.lesson-list a span{color:var(--muted);font-size:13px;font-weight:800}.lesson-list a strong{font-weight:700}.lesson-list a:hover{border-color:var(--accent);background:#f3f8f5;color:var(--accent-strong);text-decoration:none}.markdown{max-width:760px}.markdown h2{margin-top:38px;padding-top:8px;font-size:28px;line-height:1.2}.markdown h3{margin-top:28px;font-size:21px}.markdown li,.markdown p{font-size:17px}.track-description{max-width:700px;color:var(--muted);font-size:15px;line-height:1.55;margin:-4px 0 0}.markdown code{border-radius:4px;background:#eef2f7;padding:2px 5px;font-size:.92em}.markdown pre{overflow-x:auto;background:var(--code-bg);color:var(--code-ink);padding:18px}.hljs-built_in,.hljs-keyword,.hljs-literal,.hljs-type{color:#93c5fd}.hljs-bullet,.hljs-string,.hljs-symbol{color:#86efac}.hljs-number,.hljs-template-variable,.hljs-variable{color:#fbbf24}.hljs-attr,.hljs-attribute,.hljs-function,.hljs-title{color:#67e8f9}.hljs-comment,.hljs-quote{color:#94a3b8;font-style:italic}.hljs-meta,.hljs-name,.hljs-tag{color:#fca5a5}.runnable-code{overflow:hidden;border:1px solid #273244;background:var(--code-bg);margin:18px 0}.runnable-code pre{border-radius:0;margin:0}.code-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #273244;background:#182235;color:#b9c6d7;font-size:13px;padding:8px 10px}.code-actions form{margin:0}.code-actions button{min-height:32px;border:1px solid #6ee7b7;border-radius:6px;background:#dffbef;color:#064e3b;cursor:pointer;font:inherit;font-weight:750;padding:0 10px}.code-actions button:hover{background:#bdf4dc}.markdown pre code{background:transparent;color:inherit;padding:0}.practice-section{max-width:800px;border:1px solid #c9ded5;border-left:4px solid var(--accent);background:#eef6f2;margin-top:64px;padding:24px}.practice-section h2{margin:0 0 18px}.practice-card{border:1px solid #cfded8;background:#ffffff;margin:14px 0;padding:0}.practice-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;color:var(--ink);cursor:pointer;font-weight:750;list-style:none;padding:16px 18px}.practice-card>summary::-webkit-details-marker,.solution-card>summary::-webkit-details-marker{display:none}.practice-card>summary:after{content:"+";color:var(--accent-strong);font-size:20px;line-height:1}.practice-card[open]>summary:after{content:"-"}.practice-card>.markdown,.practice-card>.solution-card{margin:0 18px 18px}.solution-card{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.solution-card>summary{color:var(--accent-strong);cursor:pointer;font-weight:750;list-style:none}.page-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;max-width:800px;border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.page-nav a{border:1px solid var(--line);color:var(--ink);padding:14px}.page-nav a:last-child{text-align:right}.page-nav span{display:block;color:var(--muted);font-size:12px;font-weight:750;text-transform:uppercase}.toc{position:-webkit-sticky;position:sticky;top:0;grid-column:1;height:100vh;overflow:auto;padding:22px 14px 34px 18px}.lesson-shell .reading-panel{grid-column:2}.toc a,.toc strong{display:block}.toc strong{display:none}.toc a{border-left:2px solid transparent;color:var(--muted);font-size:12px;line-height:1.35;padding:5px 0 5px 10px}.toc a:hover{border-left-color:var(--accent);color:var(--accent-strong);text-decoration:none}.toc-level-3{padding-left:12px!important}.site-shell{display:block;min-height:100vh}.lesson-shell{display:grid;grid-template-columns:148px minmax(0,860px) minmax(20px,1fr)}.content-panel{margin:0 auto;padding-top:42px}.lesson-shell .content-panel{margin:0}.site-header{grid-column:1/-1;display:flex;align-items:center;gap:12px;height:64px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);padding:0 18px}.course-menu{position:static;margin:0 0 0 auto}.course-menu,.course-menu>summary{border:0;background:transparent;padding:0}.course-menu>summary{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;color:var(--ink);cursor:pointer;list-style:none}.menu-icon{display:grid;grid-gap:4px;gap:4px;width:18px}.menu-icon span{display:block;height:2px;border-radius:999px;background:var(--ink)}.site-logo{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink)}.site-logo:hover{text-decoration:none}.site-logo small{display:block;color:var(--muted);font-size:12px}.course-menu>summary::-webkit-details-marker{display:none}.course-menu>summary:focus{outline:none}.course-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.course-overlay{position:fixed;inset:64px 0 0;z-index:35;overflow:auto;background:rgba(23,32,51,.45);padding:22px}.course-overlay-panel{width:min(100%,980px);border:1px solid var(--line);background:#ffffff;box-shadow:0 24px 80px rgba(23,32,51,.22);margin:0 auto;padding:24px}.course-overlay-panel nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:10px;gap:10px}.course-overlay-panel nav a{display:grid;grid-gap:6px;gap:6px;min-height:112px;border:1px solid var(--line);color:var(--ink);padding:14px}.course-overlay-panel nav a:hover{border-color:var(--accent);background:#eef4f1;text-decoration:none}.course-overlay-panel nav a span{color:var(--accent-strong);font-weight:800}@media (max-width:1020px){.lesson-shell,.site-shell{display:block}.course-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.course-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.content-panel{padding:28px 20px 56px}.toc{display:none}}@media (max-width:560px){.author-section{grid-template-columns:80px minmax(0,1fr);gap:14px}.author-photo{width:80px;height:80px}}