/* Shared navigation for the cover, exercise and stage summary. */
.lesson-menu { position: relative; flex: none; z-index: 90; }
.lesson-menu > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 12px;
  list-style: none;
  border: 2px solid var(--ink);
  border-radius: 10px;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  font: 600 15px var(--display);
}
.lesson-menu > summary::-webkit-details-marker { display: none; }
.lesson-menu[open] > summary { background: var(--c); }
.lesson-menu-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(370px, calc(100vw - 40px));
  max-height: min(75dvh, 640px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 14px;
  border: 2px solid var(--ink);
  border-radius: 14px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 12px 35px #16302c30;
}
.lesson-menu-panel a { display: flex; gap: 8px; align-items: center; min-height: 44px; padding: 10px; border-radius: 8px; text-decoration: none; }
.lesson-menu-panel a:hover { background: #e9eee5; }
.lesson-menu-panel a[aria-current] { background: #e4edd2; font-weight: 700; }
.lesson-menu-home { font-size: 14px; }
.lesson-menu-topic { font-weight: 700; border-bottom: 1px solid #c2ccc0; }
.lesson-menu-stages, .lesson-menu-steps { list-style: none; padding: 0; margin: 8px 0 0; }
.lesson-menu-stages > li > a { justify-content: space-between; }
.lesson-menu-stages small { font: 13px var(--body); }
.lesson-menu-locked { display: block; padding: 10px; color: #4e5d55; }
.lesson-menu-locked small { display: block; margin-top: 3px; }
.lesson-menu-steps { margin: 0 0 10px 12px; border-left: 2px solid #c2ccc0; padding-left: 6px; font-size: 14px; }
/* O'qituvchida beshala bosqich ochiq — ro'yxat uzun, qatorlar zichroq. */
.lesson-menu--all .lesson-menu-panel { width: min(420px, calc(100vw - 40px)); }
.lesson-menu--all .lesson-menu-steps a { min-height: 38px; padding: 7px 10px; }
.lesson-menu-note { display: flex; gap: 8px; align-items: center; margin: 8px 0 0; padding: 8px 10px; border-radius: 8px; background: #edf4e3; color: #3f6637; font: 700 13px var(--body); }
.lesson-menu-note svg { flex: none; }
/* Dars rejimi (o'qituvchi): sirni ochmasdan keyingisiga o'tish. */
.lab .secret .secret-skip { display: flex; width: max-content; margin: 14px 0 0 auto; }
.secret.is-open .secret-skip,
.lab.is-review .secret-skip { display: none; }
.task-nav { flex-wrap: wrap; }
.task-nav > .task-hint { flex-basis: 180px; }
.task-nav > .task-skip { flex: 0 1 auto; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin: 0; text-align: center; white-space: normal; }
.js .exp:not(.is-final):not(.is-open) .task-nav button[type="submit"],
.js .exp:not(.is-final):not(.is-open) .task-nav .task-hint { display: none; }
.card-progress { font: 14px var(--body); color: var(--soft); }
@media (max-width: 1100px) {
  .stage-bar .rail { order: 3; flex-basis: 100%; max-width: none; }
  .stage-bar .stage-who { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 620px) {
  .stage-bar .stage-who { display: none; }
  .stage-bar .stage-chip { margin-left: auto; }
  .stage-bar > .back { display: none; } /* The named topic link stays in Dars yo'li. */
  .task-nav > .task-hint { flex-basis: auto; }
  .task-nav > .task-skip { width: 100%; }
  .lesson-menu-panel { width: min(370px, calc(100vw - 28px)); }
  .rail-link { min-height: 44px; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
