:root{--bg-color:#0d1117;--primary-text-color:#c9d1d9;--secondary-text-color:#8b949e;--border-color:rgba(255,255,255,.1);--accent-color:#58a6ff;--accent-glow:0 0 15px rgba(88,166,255,.5);--code-bg:#161b22;--font-main:"Inter",sans-serif;--font-code:"Fira Code","Courier New",monospace}body{background-color:var(--bg-color);color:var(--primary-text-color);font-family:var(--font-main);cursor:default;box-sizing:border-box;margin:0;padding:0}*,:before,:after{box-sizing:inherit}.tutorial-wrapper{grid-template-columns:1fr 240px;gap:3rem;max-width:1100px;margin:120px auto 40px;padding:0 2rem;display:grid}.tutorial-container{min-width:0;max-width:800px}.tutorial-header{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:2rem}.back-link{color:var(--secondary-text-color);margin-bottom:1.5rem;font-weight:500;text-decoration:none;transition:color .3s;display:inline-block}.back-link:hover{color:var(--accent-color)}#module-title{letter-spacing:-1px;margin:0 0 .5rem;font-size:2.8rem;font-weight:700;line-height:1.2}#module-description{color:var(--secondary-text-color);margin:0;font-size:1.2rem}.toc-sidebar{padding-top:1rem}.toc-nav{max-height:calc(100vh - 140px);position:-webkit-sticky;position:sticky;top:120px;overflow-y:auto}.toc-nav h3{text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text-color);border-bottom:1px solid var(--border-color);margin:0 0 1rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}#toc-links a{color:var(--secondary-text-color);border-left:2px solid transparent;border-radius:0 4px 4px 0;padding:.5rem .75rem;font-size:.9rem;text-decoration:none;transition:all .2s ease-in-out;display:block}#toc-links a:hover{color:var(--primary-text-color);background-color:rgba(255,255,255,.03)}#toc-links a.active{color:var(--accent-color);border-left-color:var(--accent-color);background-color:rgba(88,166,255,.08);font-weight:600}#module-content{padding-top:1rem;font-size:1.05rem;line-height:1.8}#module-content h2{border-bottom:1px solid var(--border-color);margin-top:3.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;scroll-margin-top:120px;font-size:2rem;font-weight:600}#module-content h3{margin-top:2.5rem;margin-bottom:1rem;scroll-margin-top:120px;font-size:1.5rem;font-weight:600}#module-content p{margin-bottom:1.25rem}#module-content ul,#module-content ol{margin-bottom:1.25rem;padding-left:1.5rem}#module-content li{margin-bottom:.6rem}#module-content a{color:var(--accent-color);font-weight:500;text-decoration:none;transition:all .2s}#module-content a:hover{text-shadow:var(--accent-glow);text-decoration:underline}#module-content code{background-color:var(--code-bg);border:1px solid var(--border-color);font-family:var(--font-code);color:var(--primary-text-color);border-radius:6px;padding:.2em .4em;font-size:.9em}#module-content pre{background-color:var(--code-bg);border:1px solid var(--border-color);border-radius:8px;margin:1.5rem 0;padding:1.25rem;overflow-x:auto;box-shadow:0 4px 15px rgba(0,0,0,.3)}#module-content pre code{background:0 0;border:none;padding:0;font-size:.95em;line-height:1.6}@media (max-width:900px){.tutorial-wrapper{grid-template-columns:1fr}.toc-sidebar{display:none}}@media (max-width:600px){.tutorial-wrapper{margin-top:100px;padding:0 1rem}#module-title{font-size:2.2rem}#module-content{font-size:1rem}}
