.lesson-layout { display: flex; gap: 0; min-height: calc(100vh - 60px); }
.sidebar {
  width: 150px; flex-shrink: 0; position: sticky; top: 60px; left: 0; align-self: flex-start;
  padding: 1.6rem 0; background: var(--paper-2);
  border-right: 2px solid var(--ink);
  height: calc(100vh - 60px); overflow-y: auto;
  display: flex; flex-direction: column; align-items: stretch;
}
.sidebar-lesson { text-align: center; padding: 0 0.5rem 1.2rem; margin-bottom: 0.8rem; border-bottom: 1px dashed var(--border); }
.sidebar-lesson .ls-num { font-family: var(--font-display); font-size: 2.4rem; font-weight: 800; color: var(--accent); line-height: 1; }
.sidebar-lesson .ls-label { font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-family: var(--font-sans); font-weight: 700; }
.sidebar-nav { list-style: none; padding: 0; margin: 0; }
.sidebar-nav li { position: relative; }
.sidebar-nav a {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.7rem 1.1rem 0.7rem 1.3rem;
  font-size: 0.85rem; font-weight: 700; font-family: var(--font-sans);
  color: var(--text-secondary); text-decoration: none;
  transition: all 0.12s ease; position: relative;
}
.sidebar-nav a:hover { color: var(--ink); background: rgba(40,32,28,0.04); }
.sidebar-nav a.active { color: var(--accent); background: var(--accent-soft); }
.sidebar-nav a.active::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--accent); border-radius: 0 3px 3px 0; }
.sidebar-nav .nav-icon { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; width: 1.3rem; text-align: center; color: var(--accent); }
