/* Мнемо-режим читалки. Палитра — общая портальная (--course-*): режим живёт
   внутри статьи и не должен выглядеть чужим виджетом.

   Всё видимое включается только под .mnemo-mode-enabled: разметка остаётся в
   DOM после выключения (перестраивать дерево на каждый клик дороже, чем
   спрятать), но не оставляет следов на странице. */

.mnemo-panel {
  display: none;
}

.mnemo-mode-enabled .mnemo-panel {
  display: block;
  border: 1px solid var(--course-border, rgba(127, 127, 127, 0.3));
  border-left: 3px solid var(--course-accent, #b487ff);
  border-radius: 12px;
  margin: 0 0 28px;
  padding: 18px 20px;
}

.mnemo-panel__kicker {
  color: var(--course-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 2px;
  text-transform: uppercase;
}

.mnemo-panel h2 {
  border: 0;
  font-size: 20px;
  margin: 0 0 8px;
  padding: 0;
}

.mnemo-panel__lead {
  color: var(--course-muted);
  margin: 0 0 14px;
  max-width: 62ch;
}

.mnemo-panel__block {
  border-top: 1px solid var(--course-border, rgba(127, 127, 127, 0.22));
  margin-top: 14px;
  padding-top: 12px;
}

.mnemo-panel h3 {
  border: 0;
  font-size: 15px;
  margin: 0 0 4px;
  padding: 0;
}

.mnemo-panel__hint {
  color: var(--course-muted);
  font-size: 13px;
  margin: 0 0 10px;
  max-width: 62ch;
}

.mnemo-panel ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mnemo-panel ul li {
  background: var(--course-accent-soft, rgba(127, 127, 127, 0.12));
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 6px 10px;
}

.mnemo-panel ul li b {
  font-size: 15px;
}

.mnemo-panel ul li span {
  color: var(--course-muted);
  font-size: 12px;
  letter-spacing: 0.02em;
}

.mnemo-panel ol {
  margin: 0;
  padding-left: 20px;
}

.mnemo-panel ol li {
  margin: 2px 0;
}

.mnemo-panel__foot {
  color: var(--course-muted);
  font-size: 13px;
  margin: 14px 0 0;
}

/* Числа в тексте. Вне режима — обычный текст, никаких следов обёртки. */
.mnemo-number {
  cursor: pointer;
}

.mnemo-mode-enabled .mnemo-number {
  background: var(--course-accent-soft, rgba(180, 135, 255, 0.18));
  border-bottom: 1px dashed var(--course-accent, #b487ff);
  border-radius: 4px;
  padding: 0 2px;
}

.mnemo-mode-enabled .mnemo-number:focus-visible {
  outline: 2px solid var(--course-accent, #b487ff);
  outline-offset: 2px;
}

/* Код разворачивается после клика — на тачскринах title недоступен. */
.mnemo-mode-enabled .mnemo-number.is-open::after {
  color: var(--course-muted);
  content: " [" attr(data-mnemo-code) "]";
  font-size: 0.85em;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.mnemo-mode-enabled .mnemo-term {
  box-shadow: inset 0 -0.55em 0 var(--course-accent-soft, rgba(180, 135, 255, 0.22));
}

@media print {
  .mnemo-panel {
    display: none !important;
  }
}
