.lesson-focus-hidden { display: none !important; }
.lesson-focus-back {
  display: block;
  position: sticky;
  top: 0;
  z-index: 10;
  padding: 0.7rem 0;
  background: var(--paper, white);
  font: inherit;
  text-align: left;
  border: 0;
  cursor: pointer;
}
.lesson-focus-current { margin-left: 0 !important; }

.lesson-focus-current > summary {
  cursor: default;
  text-align: left;
}

.lesson-focus-current > summary::before {
  visibility: hidden;
}

.lesson-focus-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 0.5rem 1rem;
  padding: 0.7rem 0;
  background: var(--paper, white);
}
.lesson-focus-nav .lesson-focus-back {
  position: static;
  grid-column: 1 / -1;
  grid-row: 1;
  justify-self: start;
  padding: 0;
}
.lesson-focus-nav > a:not(.lesson-focus-back) {
  grid-row: 2;
  overflow-wrap: anywhere;
}
.lesson-focus-previous { grid-column: 1; }
.lesson-focus-next {
  grid-column: 2;
  justify-self: end;
  text-align: right;
}
.lesson-focus-nav-bottom { margin-top: 1rem; }

.lesson-focus-nav-bottom > a:not(.lesson-focus-back) { grid-row: 1; }

.lesson-focus-label,
.lesson-focus-title { display: block; }
.lesson-focus-label {
  font-size: 0.8em;
  color: var(--muted, #6b7280);
}
@media (max-width: 600px) {
  .lesson-focus-nav { grid-template-columns: minmax(0, 1fr); }
  .lesson-focus-nav > a:not(.lesson-focus-back) {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Collapse all / Expand all at the top and end of a lesson (lesson_fold.js): a quiet text link. */
.topic-content p.lesson-fold { margin: 1.25rem 0 0; }
.topic-content p.lesson-fold-top { margin: -0.25rem 0 0.75rem; }
.lesson-fold-toggle {
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted, #6b7280);
  font: inherit;
  font-size: 0.85em;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.lesson-fold-toggle:hover,
.lesson-fold-toggle:focus-visible { color: var(--text, #111827); }
