/* Оформление тела вопроса — общее для студента и предпросмотра у преподавателя */
.lt-qtext { font-size: 1.12rem; line-height: 1.45; overflow-wrap: anywhere; }
.lt-qtext pre, .lt-otext pre {
  background: var(--code-bg, #f1f3f7); padding: 10px 12px; border-radius: 8px; overflow-x: auto;
  font-size: .92rem; line-height: 1.35; margin: 8px 0;
}
.lt-qtext code, .lt-otext code {
  background: var(--code-bg, #f1f3f7); padding: 1px 5px; border-radius: 4px; font-size: .95em;
}
.ovl { text-decoration: overline; }
.lt-img {
  display: block; position: relative; width: 100%; margin: 12px 0 4px; padding: 6px; border: 1px solid var(--line, #dde1e8);
  border-radius: 10px; background: #fff; cursor: zoom-in;
}
.lt-img img { display: block; max-width: 100%; max-height: 45vh; margin: 0 auto; object-fit: contain; }
.lt-oimg { margin: 6px 0 0; }
.lt-oimg img { max-height: 22vh; }
.lt-zoom-hint {
  position: absolute; right: 6px; bottom: 6px; width: 28px; height: 28px; border-radius: 50%;
  background: rgba(0, 0, 0, .55); color: #fff; font-size: 16px; line-height: 28px; text-align: center;
}
.lt-hint { color: var(--muted, #667); font-size: .85rem; margin: 14px 0 8px; }
.lt-options { display: flex; flex-direction: column; gap: 10px; }
.lt-opt {
  display: flex; align-items: flex-start; gap: 10px; width: 100%; text-align: left; font: inherit; color: inherit;
  padding: 12px 12px; min-height: 52px; border: 2px solid var(--line, #dde1e8); border-radius: 12px;
  background: var(--card, #fff); cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.lt-opt:disabled { cursor: default; opacity: .75; }
.lt-opt.on { border-color: var(--accent, #2563eb); background: var(--accent-soft, #e8f0ff); }
.lt-mark {
  flex: none; width: 22px; height: 22px; margin-top: 1px; border: 2px solid var(--line-strong, #a9b1bf);
  display: grid; place-items: center; font-size: 13px; color: transparent; background: #fff;
}
.lt-options.single .lt-mark { border-radius: 50%; }
.lt-options.multiple .lt-mark { border-radius: 5px; }
.lt-opt.on .lt-mark { border-color: var(--accent, #2563eb); background: var(--accent, #2563eb); color: #fff; }
.lt-options.single .lt-opt.on .lt-mark { box-shadow: inset 0 0 0 4px #fff; }
.lt-letter { flex: none; font-weight: 700; color: var(--muted, #667); min-width: 1.1em; }
.lt-otext { flex: 1; min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
.lt-text-answer {
  width: 100%; font: inherit; font-size: 1.1rem; padding: 14px; border: 2px solid var(--line, #dde1e8);
  border-radius: 12px; background: var(--card, #fff); color: inherit;
}
.lt-text-answer:focus { outline: none; border-color: var(--accent, #2563eb); }

.lt-zoom {
  position: fixed; inset: 0; z-index: 1000; background: #0b0e13; display: grid; place-items: center;
  touch-action: none; overflow: hidden; outline: none;
}
.lt-zoom img { max-width: 100vw; max-height: 100vh; background: #fff; transform-origin: center; user-select: none; }
.lt-zoom-close {
  position: absolute; top: max(12px, env(safe-area-inset-top)); right: 12px; width: 44px; height: 44px; border: 0;
  border-radius: 50%; background: rgba(255, 255, 255, .15); color: #fff; font-size: 20px; cursor: pointer;
}
.lt-zoom-tip { position: absolute; bottom: max(16px, env(safe-area-inset-bottom)); color: #aab; font-size: .85rem; pointer-events: none; }
