#progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));z-index:100;transition:width 80ms linear;pointer-events:none}.sidebar{position:fixed;top:var(--nav-h);left:0;bottom:0;width:var(--sidebar-w);background:#0009;border-right:1px solid var(--border);overflow-y:auto;z-index:20}.sidebar-nav{padding:1.25rem 0 2rem}.track-group{margin-bottom:.5rem}.track-label{padding:.625rem 1.25rem .375rem;display:flex;flex-direction:column}.track-group-name{font-family:Audiowide,Kanit,sans-serif;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dark-grey)}.track-group.is-active .track-group-name{color:var(--accent)}.track-sub-name{font-family:Kanit,sans-serif;font-size:.78rem;font-weight:600;color:var(--light-grey);margin-top:.1rem}.lesson-list{padding:0}.lesson-item{display:flex;align-items:baseline;gap:.625rem;padding:.38rem 1.25rem;font-family:Kanit,sans-serif;font-size:.82rem;color:var(--light-grey);border-left:3px solid transparent;transition:background .1s,color .1s,border-color .1s;line-height:1.45}.lesson-item:hover{background:var(--surface-hover);color:var(--highlight)}.lesson-item.is-active{background:var(--accent-dim);color:var(--accent);border-left-color:var(--accent);font-weight:600}.lesson-num{font-family:Audiowide,Kanit,monospace;font-size:.68rem;letter-spacing:.06em;color:var(--dark-grey);min-width:1.5rem;flex-shrink:0}.lesson-item.is-active .lesson-num{color:var(--accent)}.main{margin-left:var(--sidebar-w);margin-top:var(--nav-h);min-height:calc(100vh - var(--nav-h));display:flex;justify-content:center}.lesson-wrap{width:100%;max-width:var(--content-w);padding:2.5rem 2.5rem 6rem}.lesson-head{margin-bottom:2.75rem}.breadcrumb{font-family:Kanit,sans-serif;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.85rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.bc-sep{color:var(--dark-grey)}.lesson-head h1{font-family:Kanit,sans-serif;font-size:2.125rem;font-weight:700;letter-spacing:-.015em;color:var(--text);line-height:1.15;margin-bottom:1rem}.meta-row{margin-bottom:1rem}.badge-muted{display:inline-flex;align-items:center;padding:.3em .75em;border-radius:var(--r-sm);font-family:Kanit,sans-serif;font-size:.72rem;font-weight:600;background:var(--surface);color:var(--light-grey);border:1px solid var(--border)}.objectives-box{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);overflow:hidden;transition:border-color .2s}.objectives-box.is-complete{border-color:#4dc6ff80;background:#4dc6ff0f}.obj-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid var(--border-subtle)}.obj-title{font-family:Audiowide,Kanit,sans-serif;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dark-grey)}.obj-counter{font-family:Audiowide,Kanit,monospace;font-size:.7rem;letter-spacing:.06em;color:var(--dark-grey);transition:color .2s}.obj-counter.all-done{color:var(--accent)}.obj-list{padding:.4rem 0}.obj-item{padding:0}.obj-label{display:flex;align-items:flex-start;gap:.875rem;padding:.55rem 1rem;cursor:pointer;transition:background .1s}.obj-label:hover{background:var(--surface-hover)}.obj-check{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.obj-checkmark{flex-shrink:0;width:17px;height:17px;border-radius:4px;border:1.5px solid var(--border);background:transparent;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.obj-checkmark:after{content:"";display:block;width:9px;height:5px;border-left:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(-45deg) translateY(-1px);transition:border-color .15s}.obj-check:checked~.obj-checkmark{border-color:var(--accent);background:var(--accent-dim)}.obj-check:checked~.obj-checkmark:after{border-color:var(--accent)}.obj-text{font-family:Kanit,sans-serif;font-size:.88rem;color:var(--light-grey);line-height:1.55;transition:color .15s}.obj-check:checked~.obj-checkmark+.obj-text{color:var(--dark-grey);text-decoration:line-through;text-decoration-color:var(--dark-grey)}.lesson-body{font-family:Kanit,sans-serif}.lesson-body>*+*{margin-top:1.25rem}.lesson-body h2{font-family:Kanit,sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--text);padding-top:2.5rem;margin-top:2.5rem!important;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.lesson-body h2:first-child{padding-top:0;margin-top:0!important}.lesson-body h3{font-family:Kanit,sans-serif;font-size:1.05rem;font-weight:600;color:var(--text);margin-top:2rem!important}.lesson-body h4{font-family:Audiowide,Kanit,sans-serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:1.5rem!important}.lesson-body p{color:var(--light-grey);line-height:1.8}.lesson-body strong{color:var(--text);font-weight:600}.lesson-body em{color:var(--highlight);font-style:italic}.lesson-body a{color:var(--accent);border-bottom:1px solid rgba(77,198,255,.3);transition:border-color .15s,color .15s}.lesson-body a:hover{color:var(--accent-hover);border-bottom-color:var(--accent)}.lesson-body ul,.lesson-body ol{padding-left:1.5rem;color:var(--light-grey)}.lesson-body li{padding:.2rem 0;line-height:1.75;list-style:disc}.lesson-body ol li{list-style:decimal}.lesson-body blockquote{border-left:3px solid var(--accent);padding:.875rem 1.25rem;background:var(--accent-dim);border-radius:0 var(--r-sm) var(--r-sm) 0}.lesson-body blockquote p{color:var(--highlight);font-style:italic;margin:0}.lesson-body pre{border-radius:var(--r);padding:1.125rem 1.375rem;overflow-x:auto;border:1px solid var(--border);background:var(--surface)!important;margin:1.75rem 0;font-size:.86rem;line-height:1.65;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace}.lesson-body code:not(pre>code){font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:.86em;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.15em .45em;color:var(--highlight)}.lesson-foot{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}.kbd-hint{font-family:Kanit,sans-serif;font-size:.72rem;color:var(--dark-grey);margin-bottom:1rem;letter-spacing:.02em}.kbd-hint span{font-family:Audiowide,Kanit,monospace;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.1em .45em;font-size:.82em}.nav-pair{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.nav-card{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.3rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);transition:border-color .18s,background .18s,transform .12s}.nav-card:hover{border-color:var(--accent);background:var(--surface-hover);transform:translateY(-1px)}.nav-card-next{text-align:right}.nav-dir{font-family:Audiowide,Kanit,sans-serif;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-grey);transition:color .15s}.nav-card:hover .nav-dir{color:var(--accent)}.nav-title{font-family:Kanit,sans-serif;font-size:.92rem;font-weight:500;color:var(--text);line-height:1.4}
