.lesson-nav{position:relative;margin-bottom:28px;font-size:13px}.lesson-nav-heading{display:flex;align-items:center;justify-content:flex-end;min-height:44px;gap:16px;color:var(--text-secondary)}.lesson-heading-back{order:-2;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;height:44px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-size:20px;text-decoration:none}.lesson-position{margin-right:auto}.lesson-nav:has(.lesson-heading-back) #lesson-menu-toggle{order:0;margin-right:0}.lesson-nav:has(.lesson-heading-back) #lesson-menu{left:auto;right:0}.lesson-heading-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-nav #lesson-menu-toggle{position:relative;order:-1;margin-right:auto;z-index:21;display:inline-flex;align-items:center;gap:8px;border:0;padding:10px 0;background:transparent;color:var(--text-secondary);font-size:13px}#lesson-menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}#lesson-menu-toggle[aria-expanded=true] .contents-direction{transform:rotate(180deg);transform-origin:12px 10px}.lesson-nav #lesson-menu-toggle:hover,.lesson-nav #lesson-menu-toggle[aria-expanded=true]{color:var(--accent);background:var(--accent-surface)}.lesson-nav:has([aria-expanded=false]) #lesson-menu{display:none}#lesson-menu{position:absolute;z-index:20;top:44px;left:0;width:min(280px,calc(100vw - 32px));max-height:min(calc(100dvh - 240px),var(--menu-available-height, 100dvh));overflow-y:auto;overscroll-behavior:contain;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 28px var(--shadow-soft)}.lesson-progress{display:grid;gap:8px;margin-top:14px;padding:12px 6px;border-top:1px solid var(--border);color:var(--text-secondary)}.lesson-progress progress{width:100%;height:6px;accent-color:var(--accent)}#lesson-complete-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lesson-progress button{justify-self:start;min-height:36px;padding:6px 0;border:0;background:transparent;color:var(--text-secondary);font-size:12px;text-decoration:underline}.lesson-group+.lesson-group{margin-top:20px}.lesson-group h2{font-size:12px;margin:0 0 10px;color:var(--text-secondary)}.lesson-nav ol{list-style:none;padding:0;margin:0}.lesson-nav ol a{display:grid;grid-template-columns:16px 1fr auto;gap:6px;align-items:baseline;padding:8px 6px;min-height:44px;border-left:2px solid transparent;border-radius:0 4px 4px 0;color:var(--text-secondary);text-decoration:none;line-height:1.4}.lesson-nav ol a:before{content:attr(data-number);font-size:11px}.lesson-nav ol a[data-complete=true]:after{content:"✓";color:var(--accent);font-weight:700}.lesson-nav a:hover{background:var(--surface-hover)}.lesson-nav a[aria-current=step]{border-left-color:var(--accent);background:var(--accent-surface);color:var(--accent);font-weight:650}.lesson-nav .sandbox-nav-link{display:block;margin-top:20px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-secondary)}.concept-menu{margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}.concept-menu h2{margin:0 0 10px;color:var(--text-secondary);font-size:12px}.concept-menu a{display:block;min-height:40px;padding:8px 6px;color:var(--text-secondary);text-decoration:none}@media(max-width:480px){.lesson-nav-heading:has(.lesson-heading-back){gap:8px}.lesson-nav-heading:has(.lesson-heading-back) .search-open span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
