/* [S3] Стили рендерера урока intuitor.lesson/v1 (перенос LESSON_CSS ядра на
   классы lv-*; тёмная тема — через prefers-color-scheme токены платформы). */
.lesson-v1 {
  --lv-border: #e6e6e6;
  --lv-muted: #757575;
  max-width: 46rem;
  margin: 0 auto;
}
.lv-section { margin-bottom: 1.6rem; }
.lv-section__name {
  margin: 0 0 0.5rem 0.15rem;
  font-size: 0.78rem;
  font-weight: 550;
  letter-spacing: 0.01em;
  color: var(--lv-muted);
  text-transform: uppercase;
}
.lv-block { margin: 0 0 0.9rem; }
.lv-block--heading h2 { margin: 1rem 0 0.3rem; font-size: 1.15rem; font-weight: 650; }
.lv-block--note .lv-note__body {
  padding: 0.7rem 0.9rem;
  border: 1px solid #f0dfae;
  border-radius: 8px;
  background: #fff8e8;
  color: #663a05;
}
.lv-block img { max-width: 100%; border-radius: 8px; border: 1px solid var(--lv-border); }
.lv-block audio { width: 100%; margin-top: 0.3rem; }
.lv-embed { position: relative; padding-top: 56.25%; border-radius: 8px; overflow: hidden; border: 1px solid var(--lv-border); }
.lv-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lv-block hr { border: 0; border-top: 1px solid var(--lv-border); margin: 1.2rem 0; }
.lv-muted { color: var(--lv-muted); }

.lv-wordlist { margin: 0; padding: 0; list-style: none; border: 1px solid var(--lv-border); border-radius: 8px; overflow: hidden; }
.lv-wordlist li { display: flex; align-items: baseline; gap: 0.5rem; padding: 0.45rem 0.75rem; border-top: 1px solid #efefef; }
.lv-wordlist li:first-child { border-top: 0; }
.lv-w { font-weight: 600; }
.lv-ipa { color: var(--lv-muted); font-size: 0.85rem; }
.lv-tr { margin-left: auto; color: var(--lv-muted); }

.lv-group { padding: 0.9rem 1rem; border: 1px solid var(--lv-border); border-radius: 10px; background: #fcfcfd; }
.lv-group__stimulus { margin-bottom: 0.8rem; padding-bottom: 0.6rem; border-bottom: 1px dashed var(--lv-border); }

.lv-ex { padding: 0.85rem 1rem; border: 1px solid var(--lv-border); border-radius: 8px; background: #fff; }
.lv-ex.is-solved { background: #f3fbf6; border-color: #bfe6cc; }
.lv-ex__prompt { margin: 0 0 0.6rem; }
.lv-options { display: flex; flex-direction: column; gap: 0.35rem; margin: 0 0 0.6rem; }
.lv-option { display: flex; align-items: center; gap: 0.5rem; font-size: 0.92rem; }
.lv-input { width: 14rem; max-width: 100%; padding: 0.35rem 0.5rem; border: 1px solid var(--lv-border); border-radius: 8px; font: inherit; }
.lv-textarea { width: 100%; min-height: 5rem; padding: 0.5rem; border: 1px solid var(--lv-border); border-radius: 8px; font: inherit; resize: vertical; }
.lv-match__row, .lv-cols__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; margin: 0.35rem 0; }
.lv-match__row > span, .lv-cols__row > span { flex: 0 0 auto; min-width: 6rem; max-width: 100%; }
.lv-match__row select, .lv-cols__row select { flex: 1 1 14rem; min-width: 0; padding: 0.3rem 0.4rem; border: 1px solid var(--lv-border); border-radius: 6px; font: inherit; background: #fff; }
.lv-order { margin: 0 0 0.6rem; padding: 0; list-style: none; }
.lv-order li { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.6rem; margin: 0.25rem 0; border: 1px solid var(--lv-border); border-radius: 6px; background: #fff; }
.lv-order li span { flex: 1; }
.lv-order button { padding: 0.1rem 0.5rem; border: 1px solid var(--lv-border); border-radius: 6px; background: #fff; cursor: pointer; }
.lv-ex__foot { display: flex; align-items: center; gap: 0.6rem; }
.lv-btn { padding: 0.35rem 0.9rem; border: 1px solid var(--lv-border); border-radius: 8px; background: #fff; font: inherit; cursor: pointer; }
.lv-btn:disabled { opacity: 0.5; cursor: default; }
.lv-ex__mark { font-size: 0.85rem; }
.lv-ex__mark.ok { color: #0f4426; font-weight: 600; }
.lv-ex__mark.no { color: #6b1d12; }
.lv-explain { margin-top: 0.4rem; font-size: 0.9rem; color: var(--lv-muted); }

/* [класс-сцена] «→ на доску»: кнопка поверх картинки, проявляется по наведению
   (в классе у учителя). Замена скриншоту — отправляет рисунок в общую сцену доски. */
.lv-img-wrap { position: relative; display: inline-block; max-width: 100%; }
.lv-img-wrap > img { display: block; max-width: 100%; height: auto; }
.lv-to-board {
  position: absolute; top: 8px; right: 8px;
  padding: 0.3rem 0.6rem; font-size: 0.8rem; font-weight: 600;
  color: #fff; background: #0f766e; border: 0; border-radius: 8px;
  cursor: pointer; opacity: 0; transition: opacity 0.15s ease-out;
  box-shadow: 0 1px 4px rgba(0,0,0,0.25);
}
.lv-img-wrap:hover .lv-to-board, .lv-to-board:focus-visible { opacity: 1; }
.lv-to-board:hover { background: #115e56; }
.lv-to-board:active { transform: translateY(1px); }
